diff options
Diffstat (limited to 'battle/effect_commands.asm')
-rw-r--r-- | battle/effect_commands.asm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index a74dea632..221570d76 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -113,7 +113,7 @@ DoMove: ; 3402c jr .ReadMoveEffectCommand .DoMoveEffectCommand: - jp [hl] + jp hl ; 34084 @@ -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 |