diff options
author | yenatch <yenatch@gmail.com> | 2017-12-28 01:30:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-28 01:30:36 -0500 |
commit | da28d1a84b0499bead314e17ae2ff0d13eb03196 (patch) | |
tree | c212adfc53d1996c06f2e4be1d6e480e687a2ad8 /engine/battle/effect_commands/metronome.asm | |
parent | bad9e33530af8cdc29ce5629df682fc7915bfff0 (diff) | |
parent | 2c4777f3363cd64d05fb00084fd83dff8ac31674 (diff) |
Merge pull request #437 from roukaour/master
Reorganize battle/; rename most "header" misnomers; gfx/pics → gfx/pokemon
Diffstat (limited to 'engine/battle/effect_commands/metronome.asm')
-rw-r--r-- | engine/battle/effect_commands/metronome.asm | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/engine/battle/effect_commands/metronome.asm b/engine/battle/effect_commands/metronome.asm new file mode 100644 index 000000000..1908df84d --- /dev/null +++ b/engine/battle/effect_commands/metronome.asm @@ -0,0 +1,61 @@ +BattleCommand_Metronome: ; 37418 +; metronome + + call ClearLastMove + call CheckUserIsCharging + jr nz, .asm_3742b + + ld a, [wKickCounter] + push af + call BattleCommand_LowerSub + pop af + ld [wKickCounter], a + +.asm_3742b + call LoadMoveAnim + +.GetMove: + call BattleRandom + +; No invalid moves. + cp NUM_ATTACKS + 1 + jr nc, .GetMove + +; None of the moves in MetronomeExcepts. + push af + ld de, 1 + ld hl, MetronomeExcepts + call IsInArray + pop bc + jr c, .GetMove + +; No moves the user already has. + ld a, b + call CheckUserMove + jr z, .GetMove + + + ld a, BATTLE_VARS_MOVE + call GetBattleVarAddr + ld [hl], b + call UpdateMoveData + jp ResetTurn +; 37454 + + +MetronomeExcepts: ; 37454 + db NO_MOVE + db METRONOME + db STRUGGLE + db SKETCH + db MIMIC + db COUNTER + db MIRROR_COAT + db PROTECT + db DETECT + db ENDURE + db DESTINY_BOND + db SLEEP_TALK + db THIEF + db -1 +; 37462 |