pokecrystal-board/engine/battle/move_effects/metronome.asm

44 lines
671 B
NASM
Raw Normal View History

2018-06-24 07:09:41 -07:00
BattleCommand_Metronome:
2013-12-01 11:19:57 -08:00
; metronome
2015-11-09 13:41:09 -08:00
call ClearLastMove
call CheckUserIsCharging
2020-10-04 16:43:28 -07:00
jr nz, .charging
2013-12-01 11:19:57 -08:00
ld a, [wBattleAnimParam]
2013-12-01 11:19:57 -08:00
push af
2015-11-06 13:42:38 -08:00
call BattleCommand_LowerSub
2013-12-01 11:19:57 -08:00
pop af
ld [wBattleAnimParam], a
2013-12-01 11:19:57 -08:00
2020-10-04 16:43:28 -07:00
.charging
2015-11-09 13:41:09 -08:00
call LoadMoveAnim
2013-12-01 11:19:57 -08:00
.GetMove:
2013-12-01 11:19:57 -08:00
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
2013-12-01 11:19:57 -08:00
ld [hl], b
call UpdateMoveData
jp ResetTurn
2018-07-03 23:42:11 -07:00
INCLUDE "data/moves/metronome_exception_moves.asm"