Document fix for StatUpHit effects when opponent is KO'd

This commit is contained in:
Neil Basu 2020-12-14 20:17:21 -08:00
parent 3550a87360
commit 5dc8c92d83

View File

@ -37,6 +37,7 @@ Fixes in the [multi-player battle engine](#multi-player-battle-engine) category
- [Dragon Scale, not Dragon Fang, boosts Dragon-type moves](#dragon-scale-not-dragon-fang-boosts-dragon-type-moves)
- [HP bar animation is slow for high HP](#hp-bar-animation-is-slow-for-high-hp)
- [HP bar animation off-by-one error for low HP](#hp-bar-animation-off-by-one-error-for-low-hp)
- [Moves that do damage and increase your stats do not increase stats after a KO](#moves-that-do-damage-and-increase-your-stats-do-not-increase-stats-after-a-ko)
- [Single-player battle engine](#single-player-battle-engine)
- [A Transformed Pokémon can use Sketch and learn otherwise unobtainable moves](#a-transformed-pokémon-can-use-sketch-and-learn-otherwise-unobtainable-moves)
- [Catching a Transformed Pokémon always catches a Ditto](#catching-a-transformed-pokémon-always-catches-a-ditto)
@ -764,6 +765,82 @@ This bug existed for all battles in Gold and Silver, and was only fixed for sing
jr .loop
```
### Moves that do damage and increase your stats do not increase stats after a KO
The `checkfaint` routine skips the stats increasing effects if the opponent is KO'd, unlike in modern pokemon games. Note that this can lead to stats being increased at the end of battle, but will not have any negative effects.
**Fix:** Make the following changes in [data/moves/effects.asm](https://github.com/pret/pokecrystal/blob/master/data/moves/effects.asm)
```diff
DefenseUpHit:
checkobedience
usedmovetext
doturn
critical
damagestats
damagecalc
stab
damagevariation
checkhit
effectchance
moveanim
failuretext
applydamage
criticaltext
supereffectivetext
+ defenseup
checkfaint
buildopponentrage
- defenseup
statupmessage
endmove
AttackUpHit:
checkobedience
usedmovetext
doturn
critical
damagestats
damagecalc
stab
damagevariation
checkhit
effectchance
moveanim
failuretext
applydamage
criticaltext
supereffectivetext
+ attackup
checkfaint
buildopponentrage
- attackup
statupmessage
endmove
AllUpHit:
checkobedience
usedmovetext
doturn
critical
damagestats
damagecalc
stab
damagevariation
checkhit
effectchance
moveanim
failuretext
applydamage
criticaltext
supereffectivetext
+ allstatsup
checkfaint
buildopponentrage
- allstatsup
endmove
```
## Single-player battle engine