diff options
Diffstat (limited to 'battle/effect_commands.asm')
-rw-r--r-- | battle/effect_commands.asm | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index 54af56a10..221570d76 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -971,7 +971,7 @@ BattleCommand_CheckObedience: ; 343db .EndDisobedience: xor a ld [LastPlayerMove], a - ld [LastEnemyCounterMove], a + ld [LastPlayerCounterMove], a ; Break Encore too. ld hl, PlayerSubStatus5 @@ -1542,6 +1542,12 @@ BattleCheckTypeMatchup: ; 347c8 jr z, CheckTypeMatchup ld hl, BattleMonType1 CheckTypeMatchup: ; 347d3 +; There is an incorrect assumption about this function made in the AI related code: when +; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing the +; offensive type in a will make this function do the right thing. Since a is overwritten, +; this assumption is incorrect. A simple fix would be to load the move type for the +; current move into a in BattleCheckTypeMatchup, before falling through, which is +; consistent with how the rest of the code assumes this code works like. push hl push de push bc |