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/data/pokemon/base_stats/barreau.asm b/data/pokemon/base_stats/barreau.asm index 7265a35..62a8a52 100644 --- a/data/pokemon/base_stats/barreau.asm +++ b/data/pokemon/base_stats/barreau.asm @@ -1,6 +1,6 @@ db 0 ; species ID placeholder - db 60, 35, 60, 80, 75, 85 + db 60, 45, 60, 80, 100, 80 ; hp atk def spd sat sdf db BUG, PSYCHIC_TYPE ; type diff --git a/data/pokemon/base_stats/eucala.asm b/data/pokemon/base_stats/eucala.asm index 7f56f20..c2836fe 100644 --- a/data/pokemon/base_stats/eucala.asm +++ b/data/pokemon/base_stats/eucala.asm @@ -1,6 +1,6 @@ db 0 ; species ID placeholder - db 100, 100, 100, 100, 100, 100 + db 79, 104, 64, 44, 79, 89 ; hp atk def spd sat sdf db NORMAL, NORMAL ; type diff --git a/data/pokemon/base_stats/kiwooked.asm b/data/pokemon/base_stats/kiwooked.asm index 7ebdc50..957f8af 100644 --- a/data/pokemon/base_stats/kiwooked.asm +++ b/data/pokemon/base_stats/kiwooked.asm @@ -1,6 +1,6 @@ db 0 ; species ID placeholder - db 50, 95, 40, 105, 45, 60 + db 71, 101, 83, 107, 43, 53 ; hp atk def spd sat sdf db GROUND, FLYING ; type diff --git a/data/pokemon/base_stats/mimear.asm b/data/pokemon/base_stats/mimear.asm index 90481a0..ee2aa4f 100644 --- a/data/pokemon/base_stats/mimear.asm +++ b/data/pokemon/base_stats/mimear.asm @@ -3,7 +3,7 @@ db 65, 70, 75, 100, 95, 80 ; hp atk def spd sat sdf - db FAIRY, FAIRY ; type + db FAIRY, GRASS ; type db 45 ; catch rate ; PLACEHOLDER db 64 ; base exp ; PLACEHOLDER db NO_ITEM, NO_ITEM ; items @@ -17,5 +17,5 @@ dn EGG_NONE, EGG_NONE ; egg groups ; tm/hm learnset - tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC_M, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, FLASH, THUNDERBOLT + tmhm HEADBUTT, CURSE, TOXIC, ZAP_CANNON, PSYCH_UP, HIDDEN_POWER, SUNNY_DAY, SWEET_SCENT, SNORE, HYPER_BEAM, PROTECT, ENDURE, FRUSTRATION, THUNDER, RETURN, PSYCHIC_M, SHADOW_BALL, DOUBLE_TEAM, SWAGGER, SLEEP_TALK, SWIFT, DREAM_EATER, REST, ATTRACT, FLASH, THUNDERBOLT, SOLARBEAM, GIGA_DRAIN ; end diff --git a/data/pokemon/dex_entries/mimear.asm b/data/pokemon/dex_entries/mimear.asm index c6cc9f8..c608f38 100644 --- a/data/pokemon/dex_entries/mimear.asm +++ b/data/pokemon/dex_entries/mimear.asm @@ -1,10 +1,10 @@ - db "HEARING@" ; species name + db "APPLE@" ; species name dw 311, 191 ; height, weight - placeholder - db "Flies using its" - next "ears. Its hearing" - next "is impeccable," + db "It glides across" + next "fields, leaving" + next "apple seeds as it" - page "so it's popular" - next "with detectives." - next "Loves sweets.@" + page "goes. The groves" + next "are considered" + next "sacred by many.@" diff --git a/data/pokemon/dex_entries/rapidash.asm b/data/pokemon/dex_entries/rapidash.asm index 051e557..ae1274f 100644 --- a/data/pokemon/dex_entries/rapidash.asm +++ b/data/pokemon/dex_entries/rapidash.asm @@ -1,10 +1,15 @@ db "FIRE HORSE@" ; species name dw 507, 2090 ; height, weight - db "It just loves to" - next "gallop. The faster" - next "it goes, the long-" + db "Native American" + next "myth tells of a" + next "greedy hunter wea-" - page "er the swaying" - next "flames of its mane" - next "will become.@" + page "ring the mane of" + next "RAPIDASH, and bei-" + next "ng shot by mistake.@" +; Lore taken from the Pokemon DP design documents. +; It doesn't seem to be based on any particular myth, but general philosophy. +; TLDR a man of the east respects the Rapidash, a man of the west does not, and wears their pelt, only to end up being mistaken for one, and hunted down. + +; https://tcrf.net/Development:Pok%C3%A9mon_Diamond_and_Pearl/Documents diff --git a/data/pokemon/dex_entries/tauros.asm b/data/pokemon/dex_entries/tauros.asm index 04a4b5c..dd6ad6d 100644 --- a/data/pokemon/dex_entries/tauros.asm +++ b/data/pokemon/dex_entries/tauros.asm @@ -1,10 +1,15 @@ db "WILD BULL@" ; species name dw 407, 1950 ; height, weight - db "These violent" - next "#MON fight" - next "with other mem-" + db "Hunting tradition" + next "states that one" + next "must cut off the" - page "bers of their herd" - next "in order to prove" - next "their strength.@" + page "horns of killed" + next "TAUROS and pray," + next "or be punished.@" +; Could be better-written. +; Based on the DP development documents discussing hunting traditions towards Tauros. +; Fits very well into a Pokedex entry! + +; https://tcrf.net/Development:Pok%C3%A9mon_Diamond_and_Pearl/Documents diff --git a/data/pokemon/dex_entries/typhlosion.asm b/data/pokemon/dex_entries/typhlosion.asm index 52961be..a8ab62d 100644 --- a/data/pokemon/dex_entries/typhlosion.asm +++ b/data/pokemon/dex_entries/typhlosion.asm @@ -1,10 +1,19 @@ db "VOLCANO@" ; species name dw 507, 1750 ; height, weight - db "When heat from its" - next "body causes the" - next "air around it to" + db "Folklore tells of" + next "a shapeshifting" + next "TYPHLOSION that" - page "shimmer, this is a" - next "sign that it is" - next "ready to battle.@" + page "offered a young" + next "girl berries and" + next "taught her a song.@" + +; Extremely abridged version of the infamous Typhlosion story from the DP development docs. +; Based on the Bear Mother story from Canadian First Nations mythology. I chose to blend it with the mythology of the very similar Mujina (貉). +; I chose Typhlosion over Hisuian Typhlosion to be consistent with the time period in which the lore was devised. +; However, as a dex entry, it's quite poor. I think this could be modified and tweaked. + +; https://en.wikipedia.org/wiki/Mujina +; https://nativecanadianarts.com/gallery/the-bear-mother/ +; https://tcrf.net/Development:Pok%C3%A9mon_Diamond_and_Pearl/Documents diff --git a/data/pokemon/egg_moves_johto.asm b/data/pokemon/egg_moves_johto.asm index 10eb571..79b5cfd 100644 --- a/data/pokemon/egg_moves_johto.asm +++ b/data/pokemon/egg_moves_johto.asm @@ -761,6 +761,7 @@ MimearEggMoves: dw LOVELY_KISS dw PRESENT dw SWEET_KISS + dw BITE dw -1 ;end InoshikaEggMoves: diff --git a/data/pokemon/evos_attacks_johto.asm b/data/pokemon/evos_attacks_johto.asm index 21a560f..55b321c 100644 --- a/data/pokemon/evos_attacks_johto.asm +++ b/data/pokemon/evos_attacks_johto.asm @@ -2734,16 +2734,19 @@ MimearEvosAttacks: db 0 ; no more evolutions dbw 1, DISARMING_VOICE dbw 1, GROWL + dbw 1, ABSORB dbw 8, FAIRY_WIND dbw 13, CHARM - dbw 19, QUICK_ATTACK - dbw 25, FORESIGHT - dbw 31, DRAINING_KISS - dbw 37, AMNESIA + dbw 18, LEECH_SEED + dbw 23, RAZOR_LEAF + dbw 28, UPROOT + dbw 32, DRAINING_KISS + dbw 37, SUNNY_DAY dbw 43, MIRROR_COAT dbw 49, SAFEGUARD dbw 55, DAZZLING_GLEAM - dbw 60, MOONBLAST + dbw 61, SOLARBEAM + dbw 65, MOONBLAST db 0 ; no more level-up moves InoshikaEvosAttacks: diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm index 4e165d5..2aac6fb 100644 --- a/data/pokemon/names.asm +++ b/data/pokemon/names.asm @@ -375,7 +375,7 @@ PokemonNames:: db "KITSEN@@@@" db "WISPIRIT@@" db "COATL@@@@@" - db "MIMEAR@@@@" + db "AVALOP@@@@" db "INOSHIKA@@" db "RUDDERNAUT" db "XYLODON@@@" diff --git a/maps/CoralCity.asm b/maps/CoralCity.asm index bf12419..453bf50 100644 --- a/maps/CoralCity.asm +++ b/maps/CoralCity.asm @@ -1,9 +1,166 @@ +; The High-Tech name is a misnomer; the name comes from Kochi 高知, or "high knowledge", a city on the island of Shikoku. This is why it's off the mainland. +; In other words, the name of the city is completely irrelevant. +; Kochi is famous for its traditional landscape, markets, original castle, and a beautiful river. +; "High-Tech" seems to be based on the Urado Bay area, which is known for having major port industry. +; The aquarium may come from Kochi being named Japan's first Marine Park in 1970. +; From all this, we decided on the name "Coral", also being a shade of pink. + +; Info from the spriteset: +; Male and female swimmers +; Rival encounter planned + object_const_def CoralCity_MapScripts: def_scene_scripts def_callbacks + callback MAPCALLBACK_NEWMAP, CoralCityFlypointCallback + +CoralCityFlypointCallback: + setflag ENGINE_FLYPOINT_CORAL + endcallback + +CoralCitySignScript: + jumptext CoralCitySignText + +CoralCitySignText: + text "CORAL CITY" + line "True knowledge" ; A hare-brained attempt at referencing the original + cont "flows like water." ; Vaguely alluding to 水に流す + done + +CoralCityPokecenterSign: + jumpstd PokecenterSignScript + +CoralCityMartSign: + jumpstd MartSignScript + +CoralHarborSignScript1: + jumptext CoralHarborSignText1 + +CoralHarborSignText1: + text "CORAL HARBOR" ; Matching spelling from RGBY - yes, despite largely being written in British English, it's...not spelled with a u. + line "SAVOY berth" ; I believe this is the correct term, but it could also be "sea route" or "shipping lane". + done + +CoralHarborSignScript2: + jumptext CoralHarborSignText2 + +CoralHarborSignText2: + text "CORAL HARBOR" + line "OCHRE berth" + done + +CoralCityFishingGuruSignScript: + jumptext CoralCityFishingGuruSignText + +CoralCityFishingGuruSignText: + text "FISHING MASTER's" ; He's gonna be the best Fishing Guru ever. Just you wait! + line "House" ; We want him to have a fishing rod with guaranteed encounters and repeatability, I'd say. + done + +; This house is new in the May98 maps, so we can kind of go crazy with it. +CoralCityUnknownHouseSignScript: + jumptext CoralCityUnknownHouseSignText + +CoralCityUnknownHouseSignText: + text "Comment to be" + line "written" + done + +; Alexa play Sonic.exe Hill +; You don't actually fight Oak yet. He'll be in a house in High Tech with a woman. +; Who is this woman? No clue. Oak has no family outside of Daisy and Blue. +; Thus, this woman must actually be a member of the impostor's family. +; Let's say it's played off as a scandalous love affair that he tells you to keep secret. +; I think it'd be good to battle this guy after a certain point; otherwise, pacing is off, you've just finished Savoy... +CoralCityGymSignScript: + jumptext CoralCityGymSignText + +CoralCityGymSignText: + text "CORAL CITY" + line "#MON GYM" + + para "LEADER: OAK" + + para "The trailblazing" + line "academic!" + done + +; Seems to be a new version of the Pewter Museum of Science. +; There's a woman right in front, two floors, and random NPCs, with little purpose. +CoralCityAquariumSignScript: + jumptext CoralCityAquariumSignText + +CoralCityAquariumSignText: + text "CORAL CITY" + line "AQUARIUM" + done + +CoralCitySailorScript1: + jumptextfaceplayer CoralCitySailorText1 + +CoralCitySailorText1: + text "Ever since the" + line "HARBOUR for" + cont "SAVOY opened," + cont "work has been" + cont "so busy!" + done + +CoralCitySailorScript2: + jumptextfaceplayer CoralCitySailorText2 + +CoralCitySailorText2: + text "OAK has returned" + line "to us! The GYM" + cont "CHALLENGE is" + cont "saved!" + done + +CoralCityTwinScript: + jumptextfaceplayer CoralCityTwinText + +CoralCityTwinText: + text "Dad, I want to go" + line "to the aquarium!" + done + +CoralCityManScript: + jumptextfaceplayer CoralCityManText + +CoralCityManText: + text "Soon, sweetie!" + line "I promise!" + done + +CoralCityFisherScript: + jumptextfaceplayer CoralCityFisherText + +CoralCityFisherText: + text "I just keep" + line "reeling in big" + cont "ones!" + + para "The PERFECT" + line "ROD is like no-" + cont "thing else!" + done + +CoralCityCroconawScript: + faceplayer + opentext + writetext CoralCityCroconawText + cry CROCONAW + waitbutton + closetext + end + +CoralCityCroconawText: + text "CROCONAW: Grah!" + line "Roar!" + done CoralCity_MapEvents: db 0, 0 ; filler @@ -15,6 +172,21 @@ CoralCity_MapEvents: def_coord_events def_bg_events + bg_event 30, 21, BGEVENT_READ, CoralCitySignScript + bg_event 24, 24, BGEVENT_READ, CoralHarborSignScript1 + bg_event 32, 14, BGEVENT_READ, CoralCityMartSign + bg_event 12, 12, BGEVENT_READ, CoralCityGymSignScript + bg_event 32, 10, BGEVENT_READ, CoralCityPokecenterSign + bg_event 10, 15, BGEVENT_READ, CoralCityFishingGuruSignScript + bg_event 20, 12, BGEVENT_READ, CoralCityUnknownHouseSignScript + bg_event 24, 9, BGEVENT_READ, CoralHarborSignScript2 + bg_event 10, 25, BGEVENT_READ, CoralCityAquariumSignScript def_object_events + object_event 15, 23, SPRITE_TWIN, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CoralCityTwinScript, -1 + object_event 27, 11, SPRITE_SAILOR, SPRITEMOVEDATA_WALK_UP_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CoralCitySailorScript1, -1 + object_event 24, 20, SPRITE_SAILOR, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CoralCitySailorScript2, -1 + object_event 15, 22, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_DOWN, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CoralCityManScript, -1 + object_event 23, 2, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 2, 2, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, CoralCityFisherScript, -1 + object_event 22, 2, SPRITE_MONSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 2, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, CoralCityCroconawScript, -1 diff --git a/maps/Route50SavoyCityGate.asm b/maps/Route50SavoyCityGate.asm index af6d266..1aa6250 100644 --- a/maps/Route50SavoyCityGate.asm +++ b/maps/Route50SavoyCityGate.asm @@ -1,10 +1,47 @@ 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 "Hey! Quit peeking!" + done + Route50SavoyCityGate_MapEvents: db 0, 0 ; filler @@ -19,3 +56,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..92f8a3b 100644 --- a/maps/SavoyCity.asm +++ b/maps/SavoyCity.asm @@ -1,9 +1,186 @@ +; 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 CORAL!" + line "Can't 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 +195,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