pokerogue icon indicating copy to clipboard operation
pokerogue copied to clipboard

[Bug] Moves copied by Dancer should not consume PP

Open DayKev opened this issue 6 months ago • 1 comments

What are the changes the user will see?

Dancer will no longer use PP when triggered.

Why am I making these changes?

Dancer is not supposed to consume PP.

What are the changes from a developer perspective?

The ignorePP parameter is passed as true to the MovePhase created by the Dancer ability, and the ignorePP parameter is made to actually function in MovePhase:start().domove().

How to test the changes?

Override the battle type to doubles, have a team of Oricorio + another Pokémon and add Swords Dance via the moves override. Use Swords Dance with the non-Oricorio Pokémon and have Oricorio use a different move. Example:

const overrides = {
  MOVESET_OVERRIDE: [Moves.SPLASH, Moves.SWORDS_DANCE],
  OPP_SPECIES_OVERRIDE: Species.MAGIKARP,
  OPP_MOVESET_OVERRIDE: Array(4).fill(Moves.SPLASH),
  BATTLE_TYPE_OVERRIDE: "double"
} satisfies Partial<InstanceType<typeof DefaultOverrides>>;

Screenshots/Videos

Before fix:

https://github.com/user-attachments/assets/50062eb6-ac79-44de-ad89-a115acb5f710

After fix:

https://github.com/user-attachments/assets/3fcf807a-9590-406b-94f9-48053b28d3c3

Checklist

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

DayKev avatar Aug 18 '24 10:08 DayKev