aboutsummaryrefslogtreecommitdiffstats
path: root/audio/play_battle_music.asm
diff options
context:
space:
mode:
Diffstat (limited to 'audio/play_battle_music.asm')
-rw-r--r--audio/play_battle_music.asm34
1 files changed, 34 insertions, 0 deletions
diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm
new file mode 100644
index 00000000..35dd19ad
--- /dev/null
+++ b/audio/play_battle_music.asm
@@ -0,0 +1,34 @@
+PlayBattleMusic::
+ xor a
+ ld [wAudioFadeOutControl], a
+ ld [wLowHealthAlarm], a
+ dec a
+ ld [wNewSoundID], a
+ call PlaySound ; stop music
+ call DelayFrame
+ ld c, BANK(Music_GymLeaderBattle)
+ ld a, [wGymLeaderNo]
+ and a
+ jr z, .notGymLeaderBattle
+ ld a, MUSIC_GYM_LEADER_BATTLE
+ jr .playSong
+.notGymLeaderBattle
+ ld a, [wCurOpponent]
+ cp OPP_ID_OFFSET
+ jr c, .wildBattle
+ cp OPP_SONY3
+ jr z, .finalBattle
+ cp OPP_LANCE
+ jr nz, .normalTrainerBattle
+ ld a, MUSIC_GYM_LEADER_BATTLE ; lance also plays gym leader theme
+ jr .playSong
+.normalTrainerBattle
+ ld a, MUSIC_TRAINER_BATTLE
+ jr .playSong
+.finalBattle
+ ld a, MUSIC_FINAL_BATTLE
+ jr .playSong
+.wildBattle
+ ld a, MUSIC_WILD_BATTLE
+.playSong
+ jp PlayMusic