From 86f6151a17d53e28fc66750ee03677a95710e0e9 Mon Sep 17 00:00:00 2001 From: May Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Fri, 24 Feb 2023 00:05:16 +0000 Subject: [PATCH] A few cool changes - Pokemon Mansion has a Guard NPC now - Professor Oak now plays the Champion theme when you fight him. --- README.md | 7 ++++--- audio.asm | 2 +- audio/play_battle_music.asm | 15 +++++++-------- constants/hide_show_constants.asm | 1 + data/maps/hide_show_data.asm | 1 + data/maps/objects/PokemonMansionB1F.asm | 1 + scripts/HallOfFame.asm | 3 +++ scripts/PokemonMansionB1F.asm | 5 +++++ text/PokemonMansionB1F.asm | 8 ++++++++ 9 files changed, 31 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 43e2494b..e3d7cc38 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ New Pokemon: - Evolutions or Pre-evolutions of a Kanto Pokemon found in the SpaceWorld '97 demo are included; eg. Madaamu, Pudi - Some Pokemon will also use their SW97 designs! -Johto baby Pokemon and regional pre-evolutions were omitted due to memory constraints. +Johto baby Pokemon and regional pre-evolutions were omitted due to memory constraints. This just barely works. New Types: ==== @@ -63,12 +63,13 @@ Improved areas - Route 25 has been given a facelift, adding Bill's Lighthouse! - The Route 5-6 underground path contains a shortcut to Celadon City. - This allows you to skip Route 9 and Rock Tunnel, making them optional areas and opening up central Kanto. -- Cinnabar Island is a lot bigger, and has a new location added to it. +- Cinnabar Island is a lot bigger, and has a new location added to it. The mansion seems different too... - Pokemon Tower was shortened, being less intensive and adding room for more maps. - Silph Co's pathing was completely overhauled to make navigating it less tedious. - Viridian Gym now has a new area once you make Giovanni leave. - The S.S. Anne now returns after getting your fourth badge! -- Once you've entered the Hall of Fame, try visiting Route 1... +- Mt. Moon has a new location accessible after beating the game. +- After entering the Hall of Fame, try visiting Route 1... QoL Enhancements ==== diff --git a/audio.asm b/audio.asm index e934c440..b02c9685 100644 --- a/audio.asm +++ b/audio.asm @@ -357,7 +357,6 @@ INCLUDE "audio/sfx/cry22_3.asm" SECTION "Audio Engine 1", ROMX -INCLUDE "audio/play_battle_music.asm" INCLUDE "audio/engine_1.asm" INCLUDE "audio/alternate_tempo.asm" @@ -365,6 +364,7 @@ INCLUDE "audio/alternate_tempo.asm" SECTION "Low Health Alarm (Audio Engine 2)", ROMX INCLUDE "audio/low_health_alarm.asm" +INCLUDE "audio/play_battle_music.asm" ; This is usually in engine 1, but with the changes to the elite four and oak, it overflows. Testing showed swapping was fine. ~ PvK SECTION "Audio Engine 2", ROMX diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index 8f026fdc..246f57dd 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -25,22 +25,21 @@ PlayBattleMusic:: cp OPP_LANCE jr z, .Elite4Battle cp OPP_RIVAL3 - ;jr z, .finalBattle unnecessary code - ;cp OPP_LANCE - ;jr nz, .normalTrainerBattle - ;ld a, MUSIC_GYM_LEADER_BATTLE + jr z, .finalBattle + cp OPP_PROF_OAK ; may as well, right? + jr z, .finalBattle jr nz, .normalTrainerBattle ld a, MUSIC_FINAL_BATTLE jr .playSong - .Elite4Battle +.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 +.finalBattle + ld a, MUSIC_FINAL_BATTLE + jr .playSong .wildBattle ld a, MUSIC_WILD_BATTLE .playSong diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 1eba1421..c4ad7659 100644 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -246,4 +246,5 @@ DEF SHOW EQU $15 const HS_POKEMON_MANSION_B2F_ITEM_2 ; EA const HS_ROUTE_1_OAK ; EB const HS_MT_MOON_CRATER_GUARD ; EC + const HS_MANSION_GUARD ; ED DEF NUM_HS_OBJECTS EQU const_value diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index d21465dc..018878fc 100644 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -522,6 +522,7 @@ PokemonMansionB1FHS: db POKEMON_MANSION_B1F, $05, SHOW db POKEMON_MANSION_B1F, $06, SHOW db POKEMON_MANSION_B1F, $08, SHOW + db POKEMON_MANSION_B1F, $09, SHOW ; guard npc SafariZoneEastHS: db SAFARI_ZONE_EAST, $01, SHOW db SAFARI_ZONE_EAST, $02, SHOW diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index f969cf40..82bb275d 100644 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -16,5 +16,6 @@ PokemonMansionB1F_Object: object_event 5, 4, SPRITE_POKE_BALL, STAY, NONE, 6, TM_SOLARBEAM object_event 16, 20, SPRITE_POKEDEX, STAY, NONE, 7 ; person object_event 5, 13, SPRITE_POKE_BALL, STAY, NONE, 8, SECRET_KEY + object_event 2, 1, SPRITE_GUARD, STAY, NONE, 9 ; person def_warps_to POKEMON_MANSION_B1F diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index 12886bf4..718fb415 100644 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -103,6 +103,9 @@ HallofFameRoomScript1: ld a, HS_ROUTE_1_OAK ld [wMissableObjectIndex], a predef ShowObject + ld a, HS_MANSION_GUARD + ld [wMissableObjectIndex], a + predef HideObject ld a, $2 ld [wHallOfFameCurScript], a ret diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm index 4ca84624..b0db24fe 100644 --- a/scripts/PokemonMansionB1F.asm +++ b/scripts/PokemonMansionB1F.asm @@ -68,6 +68,7 @@ PokemonMansionB1F_TextPointers: dw Mansion4Text7 dw PickUpItemText dw Mansion3Text6 + dw MansionGuardText Mansion4TrainerHeaders: def_trainers @@ -116,3 +117,7 @@ Mansion4AfterBattleText2: Mansion4Text7: text_far _Mansion4Text7 text_end + +MansionGuardText: + text_far _MansionGuardText + text_end \ No newline at end of file diff --git a/text/PokemonMansionB1F.asm b/text/PokemonMansionB1F.asm index d0ade080..ef0882f7 100644 --- a/text/PokemonMansionB1F.asm +++ b/text/PokemonMansionB1F.asm @@ -39,3 +39,11 @@ _Mansion4Text7:: line "it!" done + +_MansionGuardText:: + text "This room is" + line "off-limits." + + para "Beat it, kid!" + + done \ No newline at end of file