diff options
Diffstat (limited to 'engine/battle/effect_commands/mirror_move.asm')
-rw-r--r-- | engine/battle/effect_commands/mirror_move.asm | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/engine/battle/effect_commands/mirror_move.asm b/engine/battle/effect_commands/mirror_move.asm new file mode 100644 index 000000000..c4f208d77 --- /dev/null +++ b/engine/battle/effect_commands/mirror_move.asm @@ -0,0 +1,52 @@ +BattleCommand_MirrorMove: ; 373c9 +; mirrormove + + call ClearLastMove + + ld a, BATTLE_VARS_MOVE + call GetBattleVarAddr + + ld a, BATTLE_VARS_LAST_COUNTER_MOVE_OPP + call GetBattleVar + and a + jr z, .failed + + call CheckUserMove + jr nz, .use + +.failed + call AnimateFailedMove + + ld hl, MirrorMoveFailedText + call StdBattleTextBox + jp EndMoveEffect + +.use + ld a, b + ld [hl], a + ld [wd265], a + + push af + ld a, BATTLE_VARS_MOVE_ANIM + call GetBattleVarAddr + ld d, h + ld e, l + pop af + + dec a + call GetMoveData + call GetMoveName + call CopyName1 + call CheckUserIsCharging + jr nz, .done + + ld a, [wKickCounter] + push af + call BattleCommand_LowerSub + pop af + ld [wKickCounter], a + +.done + call BattleCommand_MoveDelay + jp ResetTurn +; 37418 |