kep-hack/audio/play_battle_music.asm
Llinos Evans 41e7439496 Fix Mewtwo theme play issues
Mewtwo's theme wasn't playing properly because I am silly and forgot to add a `jr .playSong` so it doesn't fall through. Also, it needed to be before the wild check. Now it works as expected.

This also has the latest version of the Mewtwo theme by LuciShrimp, which is reaching a pretty amazing state.
2023-06-25 20:09:52 +01:00

56 lines
1.2 KiB
NASM

PlayBattleMusic::
xor a
ld [wMusicFade], a
ld [wLowHealthAlarm], a
dec a ; SFX_STOP_ALL_MUSIC
; ld [wNewSoundID], a
call PlaySound
call DelayFrame
ld c, 0 ; BANK(Music_GymLeaderBattle)
ld a, [wGymLeaderNo]
and a
jr z, .notGymLeaderBattle
ld a, MUSIC_GYM_LEADER_BATTLE
jr .playSong
.notGymLeaderBattle
ld a, [wCurOpponent]
cp MEWTWO ; Needs to be before OPP_ID_OFFSET to skip the wild check.
jr z, .mewtwoBattle
cp OPP_ID_OFFSET
jr c, .wildBattle
cp OPP_YUJIROU
jr z, .Elite4Battle
cp OPP_LORELEI ; elite four now play the gym leader battle theme
jr z, .Elite4Battle
cp OPP_BRUNO
jr z, .Elite4Battle
cp OPP_AGATHA
jr z, .Elite4Battle
cp OPP_LANCE
jr z, .Elite4Battle
cp OPP_RIVAL3
jr z, .finalBattle
cp OPP_PROF_OAK ; may as well, right?
jr z, .finalBattle
cp OPP_CHIEF
jr z, .finalBattle
jr nz, .normalTrainerBattle
ld a, MUSIC_FINAL_BATTLE
jr .playSong
.Elite4Battle
ld a, MUSIC_GYM_LEADER_BATTLE
jr .playSong
.normalTrainerBattle
ld a, MUSIC_TRAINER_BATTLE
jr .playSong
.finalBattle
ld a, MUSIC_FINAL_BATTLE
jr .playSong
.mewtwoBattle
ld a, MUSIC_MEWTWO01
jr .playSong
.wildBattle
ld a, MUSIC_WILD_BATTLE
.playSong
jp PlayMusic