Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Balance] Rework Multi-Lens #4831

Merged
merged 12 commits into from
Nov 11, 2024

Conversation

innerthunder
Copy link
Collaborator

@innerthunder innerthunder commented Nov 9, 2024

Important

This PR requires changes to Multi-Lens' description and therefore requires Senior Translator approval

What are the changes the user will see?

Multi-Lens has been reworked to improve game balance:

  • It now adheres to the same restrictions as Parental Bond when boosting attacks, meaning it no longer boosts multi-hit moves, charge moves, self-sacrificial moves, or multi-target moves (unless they only hit 1 target).
  • Its maximum stack count has been reduced from 3 to 2.
  • It now stacks additively with Parental Bond instead of multiplicatively, meaning that the highest achievable hit count for any non-multi-strike move is now 4 (2 Multi-Lenses + Parental Bond)
  • It's power reduction of 60/75% has been changed to a damage multiplier. The first hit of an attack boosted by Multi-Lens deals $1 - 0.25m$ times the base attack damage, where $m$ is the number of held Multi-Lenses. Subsequent strikes deal 25% of the base attack damage. For example:
    • A move boosted by 1 Multi-Lens will deal 75% damage on the first strike, then 25% damage on the second strike
    • 2 Multi-Lens will yield 50% + 25% + 25% damage
    • 2 Multi-Lens with Parental Bond will yield 50% + 25% + 25% + 25%, or 125% combined damage.

Why am I making these changes?

Requested by Balance Team. Multi-Lens' current iteration is extremely polarizing -- in the worst case, it's a net negative due to the overall power reduction, and in the best case, it enables uninteractive strategies where the enemy has virtually no chance to move. Its current form also poses many problems with respect to game design and development. Any new item idea that introduces a new chance-based on-hit effect has to be heavily scrutinized because the combination of multi-hit moves and stacked Multi-Lenses virtually guarantees the effect triggering at least once, if not multiple times.

These changes to Multi-Lens seek to improve the item's power level in the worst case while placing restrictions on some of the more overpowered use cases for the item.

What are the changes from a developer perspective?

  • data/move:
    • Moved Parental Bond's canApply conditions to a method in Move to more easily share conditions with Multi-Lens
    • Multi-Lens now applies its multiplier to damage in Pokemon.getAttackDamage instead of in Move.calculateBattlePower
  • modifier/modifier: Rewrote Multi-Lens' modifier code:
    • Now enforces Parental Bond's application restrictions
    • Now boosts attacks' hit count additively
    • No longer restricts the boost on fixed-damage moves
  • Cleaned up Parental Bond and Multi-Lens to use null in place of magic NumberHolder(0) args, among other small changes.
  • Removed the restriction against fixed damage moves when applying Multi-Lens in MoveEffectPhase
  • test/abilities/parental_bond.test: 2 tests edited and 2 tests removed reflecting changes to the interaction between Parental Bond and Multi-Lens

Screenshots/Videos

How to test the changes?

npm run test parental_bond (some test edits)
npm run test multi_lens (WIP)

Checklist

  • I'm using beta as my base branch
  • There is no overlap with another PR?
  • The PR is self-contained and cannot be split into smaller PRs?
  • Have I provided a clear explanation of the changes?
  • Have I considered writing automated tests for the issue?
  • If I have text, did I make it translatable and add a key in the English locale file(s)?
  • Have I tested the changes (manually)?
    • Are all unit tests still passing? (npm run test)
  • [?] Are the changes visual?
    • [?] Have I provided screenshots/videos of the changes?

@innerthunder innerthunder added Game Balance Changes focused on game balance Balance Team Specifically a balance team change Refactor Rewriting existing code related Awaiting Locales This PR makes changes to existing locales and requires further review labels Nov 9, 2024
Copy link
Collaborator

@DayKev DayKev left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the few tests that need to be reworked it seems good to me.

src/data/ability.ts Outdated Show resolved Hide resolved
src/data/ability.ts Outdated Show resolved Hide resolved
@innerthunder innerthunder marked this pull request as ready for review November 9, 2024 19:30
@innerthunder innerthunder requested a review from a team as a code owner November 9, 2024 19:30
damocleas
damocleas previously approved these changes Nov 9, 2024
frutescens
frutescens previously approved these changes Nov 10, 2024
Copy link
Collaborator

@frutescens frutescens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reference to spaghetti

src/modifier/modifier.ts Outdated Show resolved Hide resolved
DayKev
DayKev previously approved these changes Nov 10, 2024
damocleas
damocleas previously approved these changes Nov 10, 2024
@Snailman11
Copy link
Collaborator

Paves over (Parental Bond + Multi Lens - extra hits are getting the PB modifier after one opposing mon is killed)
https://discord.com/channels/1125469663833370665/1259979182725664788

And might sidestep an existing issue with Dancer and Multilens copying
(Dancer is Buggy with Multi Lens)
https://discord.com/channels/1125469663833370665/1293467324141273088

DayKev
DayKev previously approved these changes Nov 10, 2024
damocleas
damocleas previously approved these changes Nov 10, 2024
frutescens
frutescens previously approved these changes Nov 10, 2024
damocleas
damocleas previously approved these changes Nov 11, 2024
@innerthunder
Copy link
Collaborator Author

Locale has been updated:

image

Copy link
Collaborator

@damocleas damocleas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is the third time asking for the approval smh

Copy link
Contributor

@SangaraSorama SangaraSorama left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving as Head of Translation, the locales PR is merged. Not a dev review.

@innerthunder innerthunder merged commit cebedd2 into pagefaultgames:beta Nov 11, 2024
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Awaiting Locales This PR makes changes to existing locales and requires further review Balance Team Specifically a balance team change Game Balance Changes focused on game balance Refactor Rewriting existing code related
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants