jojobear13 / shinpokered

Mostly-vanilla hack of Pokémon Red/Blue focused on bugfixes and trainer ai
210 stars 42 forks source link

Request: Multi hit move QOLs #226

Closed Mord5 closed 1 year ago

Mord5 commented 1 year ago

Describe the feature you would like Multi-hit moves work just fine, but they can be very slow to resolve. There are a few ways this could be improved without meaningfully reducing the information given to the player. These are my suggestions:

1) Moves that hit a fixed two times (e.g. doublekick) shouldn't display the "Hit 2 times!" text.

2) Multi hit moves that are super effective should only display the "It's super effective!" text after the last hit, not after each hit. (Same for not very effective.)

3) Current state: when a Pokemon behind a Substitute uses a multi-hit move, the Substitute and Pokemon trade places for every hit of the move even when battle animations are turned off. (See attached video; the video shows this behavior for an enemy Pokemon, but it's the same for player Pokemon.)

https://user-images.githubusercontent.com/52078365/197669678-a9ffd431-cfb0-420f-84b0-c450bc695878.mp4

How I would like this to work instead: when the attack begins, the Substitute slides off screen, then the Pokemon sprite appears on screen and remains there for the entire duration of all hits. After the last hit resolves, then the Pokemon sprite slides offscreen and the Substitute sprite appears on screen once again.

Mord5 commented 1 year ago

Oh, one more related to substitutes:

4) "The SUBSTITUTE took damage for [mon]!" text should only be displayed after either the last hit of a multi-hit move, or the hit that breaks the substitute.

jojobear13 commented 1 year ago

1, 2, and 3 will go into version 1.24. Twineedle will be unaffected because it's a strange move that hot-swaps its own effect.

4 will not make it in since there are...complications. Substitutes taking damage and breaking is done right as damage is applied with every attack, and the messiness of that means sliding-in the correct checks is going to take some more thought.