diff options
author | yenatch <yenatch@gmail.com> | 2013-12-01 14:19:57 -0500 |
---|---|---|
committer | yenatch <yenatch@gmail.com> | 2013-12-01 14:19:57 -0500 |
commit | d7cdd0ac7383fd120a2b8114af08541058cb691c (patch) | |
tree | 54ab2531a047f3275dbe66a0f28dca1a3e5eddeb /battle/effects/metronome.asm | |
parent | d7bf70f3c902ce9380e05ccd6828b5e8973d4ae1 (diff) |
split out some more move effects
Diffstat (limited to 'battle/effects/metronome.asm')
-rw-r--r-- | battle/effects/metronome.asm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/battle/effects/metronome.asm b/battle/effects/metronome.asm new file mode 100644 index 000000000..fd3d151f0 --- /dev/null +++ b/battle/effects/metronome.asm @@ -0,0 +1,62 @@ +BattleCommand34: ; 37418 +; metronome + + call Function0x372d8 + call Function0x34548 + jr nz, .asm_3742b + + ld a, [$c689] + push af + call BattleCommand0a + pop af + ld [$c689], a + +.asm_3742b + call Function0x37e36 + +.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 _GetBattleVar + 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 + |