ref: 8fd66c080f201c401419674229f2714853de008f
dir: /engine/battle/move_effects/metronome.asm/
BattleCommand_Metronome: call ClearLastMove call CheckUserIsCharging jr nz, .charging ld a, [wBattleAnimParam] push af call BattleCommand_LowerSub pop af ld [wBattleAnimParam], a .charging 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 INCLUDE "data/moves/metronome_exception_moves.asm"