shithub: pokecrystal

Download patch

ref: 5dc8c92d83a2025831e94815d4298212aa5502ac
parent: 3550a87360308167d2751f17daa88c8ccd545e73
author: Neil Basu <nbasu02@gmail.com>
date: Mon Dec 14 15:17:21 EST 2020

Document fix for StatUpHit effects when opponent is KO'd

--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -37,6 +37,7 @@
   - [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 @@
  	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