diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index 6f88547a..ab37b5c3 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -30,6 +30,8 @@ PlayBattleMusic:: 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 diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 57da1b20..9993fee0 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -719,7 +719,7 @@ const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 const EVENT_BEAT_OMEGA ; must be here const EVENT_SILPH_CO_11_UNLOCKED_DOOR - const_skip 2 + const EVENT_GOT_CANDY_JAR const EVENT_BEAT_CHIEF const EVENT_GOT_MASTER_BALL const_skip diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 9cf3b47b..fe311ff5 100644 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -489,7 +489,7 @@ BirdKeeperData: ChiefData: ; New - this will be used in the Silph Gauntlet - db $FF, 73, MAGNEZONE, 72, LAPRAS, 73, SCIZOR, 73, PORYGON2, 75, PORYGONZ, 77, OMEGA, 0 + db $FF, 73, PORYGON2, 72, LAPRAS, 73, SCIZOR, 73, MAGNEZONE, 75, PORYGONZ, 77, OMEGA, 0 ScientistData: ; Unused - this will be used in the Silph Gauntlet diff --git a/engine/battle/core.asm b/engine/battle/core.asm index ed00c289..89aee908 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6965,7 +6965,7 @@ _LoadTrainerPic: and a jr nz, .useRed ld a, [wTrainerClass] - cp YUJIROU ; first trainer class in "Pics 10" - Rangi's code to load more trainer pics + cp LANCE ; first trainer class in "Pics 10" - Rangi's code to load more trainer pics ld a, Bank("Pics 10") jr nc, .loadSprite ld a, Bank("Pics 6") diff --git a/gfx/pics.asm b/gfx/pics.asm index 5384650d..591ee650 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -346,7 +346,7 @@ BirdKeeperPic:: INCBIN "gfx/trainers/birdkeeper.pic" BlackbeltPic:: INCBIN "gfx/trainers/blackbelt.pic" Rival1Pic:: INCBIN "gfx/trainers/rival1.pic" ProfOakPic:: INCBIN "gfx/trainers/prof.oak.pic" -ChiefPic:: +ChiefPic:: INCBIN "gfx/trainers/chief.pic" ScientistPic:: INCBIN "gfx/trainers/scientist.pic" GiovanniPic:: INCBIN "gfx/trainers/giovanni.pic" RocketPic:: INCBIN "gfx/trainers/rocket.pic" @@ -366,7 +366,6 @@ Rival3Pic:: INCBIN "gfx/trainers/rival3.pic" LoreleiPic:: INCBIN "gfx/trainers/lorelei.pic" ChannelerPic:: INCBIN "gfx/trainers/channeler.pic" AgathaPic:: INCBIN "gfx/trainers/agatha.pic" -LancePic:: INCBIN "gfx/trainers/lance.pic" SECTION "Pics 7", ROMX @@ -588,6 +587,7 @@ TaurosPAPicBack:: INCBIN "gfx/pokemon/back/taurospaquab.pic" TaurosPBPicFront:: INCBIN "gfx/pokemon/front/taurospblaze.pic" TaurosPBPicBack:: INCBIN "gfx/pokemon/back/taurospblazeb.pic" +LancePic:: INCBIN "gfx/trainers/lance.pic" YujirouPic:: INCBIN "gfx/trainers/yujirou.pic" StudentPic:: INCBIN "gfx/trainers/student.pic" FirefighterPic:: INCBIN "gfx/trainers/firefighter.pic" diff --git a/scripts/SilphGauntlet7F.asm b/scripts/SilphGauntlet7F.asm index f2150196..16f89dfb 100644 --- a/scripts/SilphGauntlet7F.asm +++ b/scripts/SilphGauntlet7F.asm @@ -17,8 +17,9 @@ SilphGauntlet7F_ScriptPointers: dw ChiefScript1 dw ChiefScript2 dw ChiefScript3 + dw ChiefScript10 -ChiefScript0: +ChiefScript0: ; this is used in the champion script but it doesn't seem to be needed here. ret ChiefScript1: @@ -47,28 +48,12 @@ ChiefScript2: ld [wJoyIgnore], a ld hl, wOptions res 7, [hl] ; Turn on battle animations like with Blue - ld a, $1 - ldh [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, ChiefDefeatedText - ld de, ChiefVictoryText - call SaveEndBattleTextPointers + ;ld a, $1 + ;ldh [hSpriteIndexOrTextID], a + ;call DisplayTextID - ld a, OPP_CHIEF - ld [wCurOpponent], a - ld a, 1 - ld [wTrainerNo], a - ld [wIsTrainerBattle], a - ld a, $1 - - xor a - ldh [hJoyHeld], a - ld a, $3 - ld [wSilphGauntlet7FCurScript], a + ld hl, ChiefText1 + call PrintText ret ChiefScript3: @@ -83,16 +68,64 @@ ChiefScript3: ld [wJoyIgnore], a ld a, $1 ldh [hSpriteIndexOrTextID], a - call GaryScript_760c8 + call ChiefScript_That_Seems_Needed ld a, $1 ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, $4 ld [wSilphGauntlet7FCurScript], a + jp TextScriptEnd + +ChiefScript10: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + xor a + ld [wJoyIgnore], a + ld a, $0 + ld [wChampionsRoomCurScript], a + ret + +ChiefScript_That_Seems_Needed: + ld a, $f0 + ld [wJoyIgnore], a + call DisplayTextID + ld a, $ff + ld [wJoyIgnore], a ret SilphGauntlet7F_TextPointers: - dw ChiefMonologue + dw ChiefText1 + dw ChiefText2 + +ChiefText1: + text_asm + CheckEvent EVENT_BEAT_CHIEF + ld hl, ChiefAfterBattleText + jr z, .printText + ld hl, ChiefMonologue +.printText + call PrintText + + ld c, BANK(Music_MeetEvilTrainer) + ld a, MUSIC_MEET_EVIL_TRAINER + call PlayMusic + + call Delay3 + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld a, OPP_CHIEF + ld [wCurOpponent], a + ld a, 1 + ld [wTrainerNo], a + ld [wIsTrainerBattle], a + ld a, $1 + ld [wSilphGauntlet7FCurScript], a + ld hl, ChiefDefeatedText + ld de, ChiefVictoryText + call SaveEndBattleTextPointers + jp TextScriptEnd ChiefMonologue: text_far _ChiefMonologue @@ -110,4 +143,44 @@ ChiefAfterBattleText: text_far _ChiefAfterBattleText text_end +ChiefText2: + text_asm + CheckEvent EVENT_GOT_CANDY_JAR + jr nz, .got_item + ld hl, CandyJarPreReceiveText + call PrintText + lb bc, CANDY_JAR, 1 + call GiveItem + jr nc, .bag_full + ld hl, ReceivedCandyJarText + call PrintText + SetEvent EVENT_GOT_CANDY_JAR + jr .done +.bag_full + ld hl, CandyJarNoRoomText + call PrintText + jr .done +.got_item + ld hl, CandyJarExplanationText + call PrintText +.done + jp TextScriptEnd + +CandyJarPreReceiveText: + text_far _CandyJarPreReceiveText + text_end + +ReceivedCandyJarText: + text_far _ReceivedCandyJarText + sound_get_item_1 + text_end + +CandyJarExplanationText: + text_far _CandyJarExplanationText + text_end + +CandyJarNoRoomText: + text_far _CandyJarNoRoomText + text_end + text_end \ No newline at end of file diff --git a/text/SilphGauntlet7F.asm b/text/SilphGauntlet7F.asm index 0bcb118c..7c69f653 100644 --- a/text/SilphGauntlet7F.asm +++ b/text/SilphGauntlet7F.asm @@ -47,14 +47,16 @@ _ChiefAfterBattleText:: cont "down GIOVANNI has" cont "to be stronger" cont "than me. There is" - cont "no product of mine" - cont "can trounce you." + cont "no product I have" + cont "that can trounce" + cont "you." - para "I wanted to make the" - line "ultimate BALL for a" - cont "perfect POKèMON." + para "I wanted to make" + line "an ultimate BALL" + cont "for a perfect" + cont "#MON." - para "Something we could" + para "Something we can" line "mass produce." para "Perhaps it wasn't" @@ -63,7 +65,46 @@ _ChiefAfterBattleText:: para "Go." para "Otherwise..." - line "MEWTWO's hatred will" - cont "crush this world." + line "MEWTWO's hatred" + cont "will crush this" + cont "world." done + +_CandyJarPreReceiveText:: + text "I want you to" + line "have this." + + done + +_ReceivedCandyJarText:: + text " received" + line "@" + text_ram wStringBuffer + text "!@" + text_end + +_CandyJarExplanationText:: + text "When researching" + line "MEW, GIOVANNI" + cont "discovered one" + cont "more mythical" + cont "#MON." + + para "Its name is" + line "MELTAN. It loves" + cont "a certain kind" + cont "of CANDY." + + para "Give it this" + line "JAR. It will" + cont "become extremely" + cont "powerful." + done + +_CandyJarNoRoomText:: + text "Ah, your BAG" + line "is full. I'll" + cont "hold onto this" + cont "for you, then." + done