diff --git a/audio.asm b/audio.asm index aa23e62..43c55e0 100644 --- a/audio.asm +++ b/audio.asm @@ -164,7 +164,6 @@ INCLUDE "audio/music/route30.asm" ; u broke the bamk INCLUDE "audio/music/NihonTrainerBattle.asm" INCLUDE "audio/music/NorthCity.asm" INCLUDE "audio/music/Tanoby01.asm" -INCLUDE "audio/music/silenthills.asm" INCLUDE "audio/music/mart.asm" diff --git a/audio/music_pointers.asm b/audio/music_pointers.asm index ee3d8ea..3a7adf0 100644 --- a/audio/music_pointers.asm +++ b/audio/music_pointers.asm @@ -119,6 +119,5 @@ Music: dba Music_NihonTrainerBattle dba Music_NorthCity dba Music_Tanoby01 - dba Music_SilentHills dba Music_Mart assert_table_length NUM_MUSIC_SONGS diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm index c112f73..4c837d3 100644 --- a/constants/engine_flags.asm +++ b/constants/engine_flags.asm @@ -107,6 +107,8 @@ const ENGINE_FLYPOINT_SEVEN_ISLAND const ENGINE_FLYPOINT_SILENT_HILLS const ENGINE_FLYPOINT_OLD + const ENGINE_FLYPOINT_SAVOY + const ENGINE_FLYPOINT_CORAL const ENGINE_FLYPOINT_UNUSED ; wLuckyNumberShowFlag const ENGINE_LUCKY_NUMBER_SHOW diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index c681f45..29678c8 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -115,6 +115,8 @@ DEF NUM_FISHGROUPS EQU const_value - 1 ; nihon const SPAWN_SILENT_HILLS const SPAWN_OLD_CITY + const SPAWN_SAVOY_CITY + const SPAWN_CORAL_CITY DEF NUM_SPAWNS EQU const_value DEF SPAWN_N_A EQU -1 @@ -161,6 +163,8 @@ DEF SEVII_FLYPOINT_2 EQU const_value ; 6-7 DEF NIHON_FLYPOINT EQU const_value const FLY_SILENT_HILLS const FLY_OLD_CITY + const FLY_SAVOY_CITY + const FLY_CORAL_CITY DEF NUM_FLYPOINTS EQU const_value DEF MAX_OUTDOOR_SPRITES EQU 23 ; see engine/overworld/overworld.asm diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 92b527e..58890a5 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -117,7 +117,6 @@ const MUSIC_NIHONTRAINERBATTLE ; 70 const MUSIC_NORTHCITY ; 71 const MUSIC_TANOBY01 ; 72 - const MUSIC_SILENTHILLS ; 73 const MUSIC_MART ; 74 DEF NUM_MUSIC_SONGS EQU const_value diff --git a/data/events/engine_flags.asm b/data/events/engine_flags.asm index 4e3e0a7..82a8311 100644 --- a/data/events/engine_flags.asm +++ b/data/events/engine_flags.asm @@ -117,6 +117,8 @@ EngineFlags: engine_flag wVisitedSpawns, SPAWN_SEVEN_ISLAND engine_flag wVisitedSpawns, SPAWN_SILENT_HILLS engine_flag wVisitedSpawns, SPAWN_OLD_CITY + engine_flag wVisitedSpawns, SPAWN_SAVOY_CITY + engine_flag wVisitedSpawns, SPAWN_CORAL_CITY engine_flag wVisitedSpawns, NUM_SPAWNS ; unused engine_flag wLuckyNumberShowFlag, LUCKYNUMBERSHOW_GAME_OVER_F diff --git a/data/maps/flypoints.asm b/data/maps/flypoints.asm index 1400a2c..c7f3db4 100644 --- a/data/maps/flypoints.asm +++ b/data/maps/flypoints.asm @@ -39,4 +39,6 @@ Flypoints: ; Nihon db LANDMARK_SILENT_HILLS, SPAWN_SILENT_HILLS db LANDMARK_OLD_CITY, SPAWN_OLD_CITY + db LANDMARK_SAVOY_CITY, SPAWN_SAVOY_CITY + db LANDMARK_CORAL_CITY, SPAWN_CORAL_CITY db -1 ; end diff --git a/data/maps/maps.asm b/data/maps/maps.asm index ba369c5..bb13b9f 100644 --- a/data/maps/maps.asm +++ b/data/maps/maps.asm @@ -694,15 +694,15 @@ MapGroup_SilentHills: map WinnersPath, TILESET_CAVE, CAVE, LANDMARK_WINNERS_PATH, MUSIC_VICTORY_ROAD, FALSE, PALETTE_NITE, FISHGROUP_DRATINI ; Sounds like a funny fishgroup map WinnersPathOutside, TILESET_NIHON_01, ROUTE, LANDMARK_WINNERS_PATH, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_NONE map Route66, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_66, MUSIC_NIHONTIME, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN - map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_SILENTHILLS, TRUE, PALETTE_AUTO, FISHGROUP_NONE + map SilentHills, TILESET_NIHON_01, TOWN, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, TRUE, PALETTE_AUTO, FISHGROUP_NONE map DebugRoom, TILESET_NIHON_01, TOWN, LANDMARK_DEBUG_ROOM, MUSIC_SINJOH_RUINS, TRUE, PALETTE_AUTO, FISHGROUP_SHORE map Route49, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND map QuietCave, TILESET_LUSHCAVE, FOREST, LANDMARK_QUIET_CAVE, MUSIC_NIHONTIME, TRUE, PALETTE_NITE, FISHGROUP_POND map Route49_2, TILESET_NIHON_01, ROUTE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, TRUE, PALETTE_AUTO, FISHGROUP_POND map SilentHillsPokecenter1F, TILESET_POKECENTER, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_NONE - map SilversHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_SILENTHILLS, FALSE, PALETTE_DAY, FISHGROUP_NONE - map CalsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_SILENTHILLS, FALSE, PALETTE_DAY, FISHGROUP_NONE - map CalsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_SILENTHILLS, FALSE, PALETTE_DAY, FISHGROUP_NONE + map SilversHouse, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE + map CalsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE + map CalsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, LANDMARK_SILENT_HILLS, MUSIC_NIHON_TOWN_01, FALSE, PALETTE_DAY, FISHGROUP_NONE map SinjohRuinsExterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE map SinjohRuinsInterior, TILESET_CAVE, CAVE, LANDMARK_SILENT_HILLS, MUSIC_SINJOH_RUINS, TRUE, PALETTE_DAY, FISHGROUP_NONE map Route49OldCityGate1F, TILESET_NIHON_GATE, GATE, LANDMARK_ROUTE_49, MUSIC_NIHONTIME, FALSE, PALETTE_DAY, FISHGROUP_NONE diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm index 9305994..0c67aa6 100644 --- a/data/maps/outdoor_sprites.asm +++ b/data/maps/outdoor_sprites.asm @@ -331,9 +331,7 @@ IndigoGroupSprites: db SPRITE_POKE_BALL db SPRITE_BOULDER -SavoyCityGroupSprites: ; Will have its own thing eventually -CoralCityGroupSprites: ; Ditto -BlueForestGroupSprites: ; Ditto +BlueForestGroupSprites: ; Will have its own thing eventually WhiteCityGroupSprites: ; Ditto NewBarkGroupSprites: db SPRITE_SUICUNE @@ -753,3 +751,56 @@ OldCityGroupSprites: db SPRITE_POKE_BALL db SPRITE_FRUIT_TREE +SavoyCityGroupSprites: + ; 12 non-walking filler sprites + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_ROCKER + db SPRITE_NURSE + db SPRITE_FISHER + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_RIVAL + ; 9 walking sprites + db SPRITE_LASS + db SPRITE_COOLTRAINER_F + db SPRITE_ROCKER + db SPRITE_SAILOR + db SPRITE_GENTLEMAN + db SPRITE_ROCKET + db SPRITE_FISHER + db SPRITE_FAIRY + ; 2 non-walking sprites + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE + +CoralCityGroupSprites: + ; 12 non-walking filler sprites + db SPRITE_SUICUNE + db SPRITE_SILVER_TROPHY + db SPRITE_FAMICOM + db SPRITE_POKEDEX + db SPRITE_WILL + db SPRITE_ROCKER + db SPRITE_NURSE + db SPRITE_FISHER + db SPRITE_BIG_LAPRAS + db SPRITE_BIG_ONIX + db SPRITE_SUDOWOODO + db SPRITE_RIVAL + ; 9 walking sprites + db SPRITE_RIVAL + db SPRITE_TWIN + db SPRITE_SAILOR + db SPRITE_POKEFAN_M + db SPRITE_SWIMMER_GUY + db SPRITE_SWIMMER_GIRL + db SPRITE_FISHER + db SPRITE_MONSTER + ; 2 non-walking sprites + db SPRITE_POKE_BALL + db SPRITE_FRUIT_TREE diff --git a/data/maps/spawn_points.asm b/data/maps/spawn_points.asm index a52bea3..b7de071 100644 --- a/data/maps/spawn_points.asm +++ b/data/maps/spawn_points.asm @@ -49,6 +49,8 @@ SpawnPoints: spawn SILENT_HILLS, 13, 5 spawn OLD_CITY, 27, 29 + spawn SAVOY_CITY, 25, 15 + spawn CORAL_CITY, 31, 11 spawn N_A, -1, -1 diff --git a/maps/CoralCity.asm b/maps/CoralCity.asm index bf12419..5720e5c 100644 --- a/maps/CoralCity.asm +++ b/maps/CoralCity.asm @@ -4,6 +4,11 @@ CoralCity_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, CoralCityFlypointCallback + +CoralCityFlypointCallback: + setflag ENGINE_FLYPOINT_CORAL + endcallback CoralCity_MapEvents: db 0, 0 ; filler diff --git a/maps/Route50SavoyCityGate.asm b/maps/Route50SavoyCityGate.asm index af6d266..d681913 100644 --- a/maps/Route50SavoyCityGate.asm +++ b/maps/Route50SavoyCityGate.asm @@ -1,10 +1,49 @@ object_const_def + const ROUTE50_SAVOYCITYGATE_OFFICER + const ROUTE50_SAVOYCITYGATE_SPACEWORLD_GIRL + const ROUTE50_SAVOYCITYGATE_SUPER_NERD Route50SavoyCityGate_MapScripts: def_scene_scripts def_callbacks +Route50SavoyCityGateOfficerScript: + jumptextfaceplayer Route50SavoyCityGateOfficerText + +Route50SavoyCityGateOfficerText: + text "You're heading to" + line "SAVOY CITY?" + + para "It's a great place!" + line "The people, on the" + cont "other hand…" ; Story of anyone visiting Paris (allegedly) + done + +Route50SavoyCityGateSpaceworldGirlScript: + jumptextfaceplayer Route50SavoyCityGateSpaceworldGirlText + +Route50SavoyCityGateSpaceworldGirlText: + text "Huh? You're bother-" + line "ing me! Step off!" + done + +Route50SavoyCityGateSuperNerdScript: + jumptextfaceplayer Route50SavoyCityGateSuperNerdText + +Route50SavoyCityGateSuperNerdText: + text "Oh, this issue of" + line "#MON HANDBOOK" + cont "is great!" + + para "So MAWTLE is a" + line "Dark #MON…" + + para "…" + + para "Hey! Quit peeking!" + done + Route50SavoyCityGate_MapEvents: db 0, 0 ; filler @@ -19,3 +58,6 @@ Route50SavoyCityGate_MapEvents: def_bg_events def_object_events + object_event 5, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route50SavoyCityGateOfficerScript, -1 + object_event 7, 4, SPRITE_SPACEWORLD_GIRL, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route50SavoyCityGateSpaceworldGirlScript, -1 + object_event 1, 2, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Route50SavoyCityGateSuperNerdScript, -1 diff --git a/maps/SavoyCity.asm b/maps/SavoyCity.asm index 82aa3a4..af6a144 100644 --- a/maps/SavoyCity.asm +++ b/maps/SavoyCity.asm @@ -1,9 +1,187 @@ +; Theme: A city filled with slang-slinging younglings of the 90s. +; A few older residents and migrants do not like the younglings. +; Player finds out Kuye is actually a Gym Leader, if they have noticed her at all. +; Hoping to have Impostor Oak taken to Braz-- I mean, Coral City, during this arc. + +; In one of the houses or Pokemon Centers, have someone talk about Jacky. +; I want him to be native to Savoy City! + object_const_def + const SAVOYCITY_LASS + const SAVOYCITY_COOLTRAINER_F + const SAVOYCITY_ROCKETM + const SAVOYCITY_SAILOR + const SAVOYCITY_GENTLEMAN + const SAVOYCITY_ROCKER + const SAVOYCITY_FISHER + const SAVOYCITY_PIXYTOP SavoyCity_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, SavoyCityFlypointCallback + +SavoyCityFlypointCallback: + setflag ENGINE_FLYPOINT_SAVOY + endcallback + +SavoyCitySignScript: + jumptext SavoyCitySignText + +SavoyCitySignText: + text "SAVOY CITY" + line "Hip 'n' savvy!" + done + +SavoyCityTrainSignScript: + jumptext SavoyCityTrainSignText + +SavoyCityTrainSignText: + text "SAVOY RAIL" + + para "Bringing the" + line "future to you!" + done + +SavoyDockSignScript: + jumptext SavoyDockSignText + +SavoyDockSignText: + text "SAVOY DOCK" + line "idk figure it" + cont "out bozo" + done + +SavoyCityDeptStoreSignScript: + jumptext SavoyCityDeptStoreSignText + +SavoyCityDeptStoreSignText: + text "SAVOY CITY" + line "DEPT STORE" + + para "Gotta buy 'em" + line "all!" + done + +SavoyCityJOPMSignScript: + jumptext SavoyCityJOPMSignText + +SavoyCityJOPMSignText: + text "JOPM RADIO" + + para "The Voice of" + line "NIHON!" + done + +SavoyCityGymSignScript: + jumptext SavoyCityGymSignText + +SavoyCityGymSignText: + text "SAVOY GYM" + line "#MON GYM" + + para "LEADER: KUYE" + + para "She's one mean" ; this feels 90s enough to work right + line "girl!" + done + +SavoyCityLassScript: + jumptextfaceplayer SavoyCityLassText + +SavoyCityLassText: + text "Wassup? This is" + line "SAVOY CITY!" + + para "Life's ace here!" + line "Livin' large!" + done + +SavoyCityCoolTrainerFScript: + jumptextfaceplayer SavoyCityCoolTrainerFText + +SavoyCityCoolTrainerFText: + text "JOPM puts on" + line "some wicked trax!" + + para "Huh? You daft?" + line "Like, cool! C'mon!" + done + +SavoyCityRockerScript: + jumptextfaceplayer SavoyCityRockerText + +SavoyCityRockerText: + text "You seen KUYE's" + line "latest expose?" + + para "It's killer! Dot" + line "com." + done + +SavoyCitySailorScript: + jumptextfaceplayer SavoyCitySailorText + +SavoyCitySailorText: + text "These townies" + line "are so annoying!" + + para "Me? I'm from" + line "SUNGLOW! Can't" + cont "handle these" + cont "jobbers!" ; He's a hypocrite. + done + +SavoyCityGentlemanScript: + jumptextfaceplayer SavoyCityGentlemanText + +SavoyCityGentlemanText: + text "I can't keep up" + line "with the kids in" + cont "this city." + + para "It's all babel!" ; Tower of Babel reference GO! + done + +; This jobber is gonna block the port to send imposter oak over or something +SavoyCityRocketMScript: + jumptextfaceplayer SavoyCityRocketMText + +SavoyCityRocketMText: + text "Comment to be" + line "written." + done + +SavoyCityFisherScript: + jumptextfaceplayer SavoyCityFisherText + +SavoyCityFisherText: + text "PIXYTOP? Oh, it's" + line "a Fairy #MON." + + para "Super hip right" + line "now!" + done + +SavoyCityPixytopScript: + faceplayer + opentext + writetext SavoyCityPixytopText + cry CLEFAIRY ; TODO: Implement Pixytop and add the cry here + waitbutton + closetext + end + +SavoyCityPixytopText: + text "PIXYTOP: Spin!" + line "Bam!" + done + +; Some guy is gonna say this is so profound like in spite of language change it's still got normality in it +; Actually I can't be bothered to write another sign +SavoyCityPokecenterSign: + jumpstd PokecenterSignScript SavoyCity_MapEvents: db 0, 0 ; filler @@ -18,6 +196,21 @@ SavoyCity_MapEvents: def_coord_events def_bg_events + bg_event 30, 16, BGEVENT_READ, SavoyCitySignScript + bg_event 12, 10, BGEVENT_READ, SavoyDockSignScript + bg_event 16, 7, BGEVENT_READ, SavoyCityDeptStoreSignScript + bg_event 29, 21, BGEVENT_READ, SavoyCityTrainSignScript + bg_event 28, 9, BGEVENT_READ, SavoyCityJOPMSignScript + bg_event 18, 24, BGEVENT_READ, SavoyCityGymSignScript + bg_event 26, 14, BGEVENT_READ, SavoyCityPokecenterSign def_object_events + object_event 19, 27, SPRITE_LASS, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SavoyCityLassScript, -1 + object_event 31, 13, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SavoyCityCoolTrainerFScript, -1 + object_event 6, 8, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SavoyCityRocketMScript, -1 + object_event 13, 9, SPRITE_SAILOR, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SavoyCitySailorScript, -1 + object_event 29, 22, SPRITE_GENTLEMAN, SPRITEMOVEDATA_WANDER, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SavoyCityGentlemanScript, -1 + object_event 22, 15, SPRITE_ROCKER, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 2, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, SavoyCityRockerScript, -1 + object_event 17, 8, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SavoyCityFisherScript, -1 + object_event 18, 8, SPRITE_FAIRY, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SavoyCityPixytopScript, -1