From 58f5de27fbfdda54bed7bff78ca0ab652f80e376 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sat, 26 Oct 2024 14:41:39 +0100 Subject: [PATCH 1/6] New dex entries using DP myth docs Piloswine and Lapras pending; seem weak. Octillery story seems to lewd even for a game that has decensored much of the original content. Rapidash and Tauros entries give credence to featuring them around Ruddy Town with Coatl and Xatu. Typhlosion entry allows for connections to the mujina (even if not wholly intentional, seemingly), which I quite enjoy. However, the dex entry is unsatisfactory. --- data/pokemon/dex_entries/rapidash.asm | 17 +++++++++++------ data/pokemon/dex_entries/tauros.asm | 17 +++++++++++------ data/pokemon/dex_entries/typhlosion.asm | 21 +++++++++++++++------ 3 files changed, 37 insertions(+), 18 deletions(-) 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 From 20519d700f7ea304341c121789beca16feb3a9ab Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sat, 26 Oct 2024 15:27:08 +0100 Subject: [PATCH 2/6] Buffs to Kiwooked, Eucala, and Barreau Thanks to Molk for the solid advice on handling these previously very underpowered Pokemon! --- data/pokemon/base_stats/barreau.asm | 2 +- data/pokemon/base_stats/eucala.asm | 2 +- data/pokemon/base_stats/kiwooked.asm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 From 9ee78dbf5a5f80ead76e30e716e83190f4072beb Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sat, 26 Oct 2024 15:33:02 +0100 Subject: [PATCH 3/6] Avalop update This turns Mimear into Avalop, but doesn't refactor the internal reference (so you see Mimear everywhere except in the names). --- data/pokemon/base_stats/mimear.asm | 2 +- data/pokemon/dex_entries/mimear.asm | 14 +++++++------- data/pokemon/names.asm | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/data/pokemon/base_stats/mimear.asm b/data/pokemon/base_stats/mimear.asm index 90481a0..b5fe6b8 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 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/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@@@" From 94599c63e349b300d8adfd529c47b19ee522f8fb Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sat, 26 Oct 2024 15:36:08 +0100 Subject: [PATCH 4/6] I promise I'm smart I did not update the moves --- data/pokemon/base_stats/mimear.asm | 2 +- data/pokemon/egg_moves_johto.asm | 1 + data/pokemon/evos_attacks_johto.asm | 13 ++++++++----- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/data/pokemon/base_stats/mimear.asm b/data/pokemon/base_stats/mimear.asm index b5fe6b8..ee2aa4f 100644 --- a/data/pokemon/base_stats/mimear.asm +++ b/data/pokemon/base_stats/mimear.asm @@ -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/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: From 94436d0ef670751ec10cf0a5a372ca964983972c Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sat, 26 Oct 2024 23:09:40 +0100 Subject: [PATCH 5/6] Fixed build issue, flypoints for coral/savoy, populate savoy Savoy City is now full of savvy younglings ready to bombard people with old slang. I wanted it to be a capitalistic hellscape where all the young ones trying to keep up with the trends. A few older people, as well as those entering, do not appreciate the babel. --- audio.asm | 1 - audio/music_pointers.asm | 1 - constants/engine_flags.asm | 2 + constants/map_data_constants.asm | 4 + constants/music_constants.asm | 1 - data/events/engine_flags.asm | 2 + data/maps/flypoints.asm | 2 + data/maps/maps.asm | 8 +- data/maps/outdoor_sprites.asm | 57 ++++++++- data/maps/spawn_points.asm | 2 + maps/CoralCity.asm | 5 + maps/Route50SavoyCityGate.asm | 42 +++++++ maps/SavoyCity.asm | 193 +++++++++++++++++++++++++++++++ 13 files changed, 310 insertions(+), 10 deletions(-) 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 From 5d9cf1aac2319f3127ee4638d85c4b3ef6f13ce7 Mon Sep 17 00:00:00 2001 From: Llinos Evans <36418502+PlagueVonKarma@users.noreply.github.com> Date: Sun, 27 Oct 2024 10:59:35 +0000 Subject: [PATCH 6/6] Populate Coral City Added various NPCs and signs to Coral City, giving some lore and such. Very basic and barebones. I also added some extensive notes on what the city is meant to be, it's very misunderstood. --- maps/CoralCity.asm | 167 ++++++++++++++++++++++++++++++++++ maps/Route50SavoyCityGate.asm | 2 - maps/SavoyCity.asm | 5 +- 3 files changed, 169 insertions(+), 5 deletions(-) diff --git a/maps/CoralCity.asm b/maps/CoralCity.asm index 5720e5c..453bf50 100644 --- a/maps/CoralCity.asm +++ b/maps/CoralCity.asm @@ -1,3 +1,14 @@ +; 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: @@ -10,6 +21,147 @@ 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 @@ -20,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 d681913..1aa6250 100644 --- a/maps/Route50SavoyCityGate.asm +++ b/maps/Route50SavoyCityGate.asm @@ -39,8 +39,6 @@ Route50SavoyCityGateSuperNerdText: para "So MAWTLE is a" line "Dark #MON…" - para "…" - para "Hey! Quit peeking!" done diff --git a/maps/SavoyCity.asm b/maps/SavoyCity.asm index af6a144..92f8a3b 100644 --- a/maps/SavoyCity.asm +++ b/maps/SavoyCity.asm @@ -127,9 +127,8 @@ SavoyCitySailorText: text "These townies" line "are so annoying!" - para "Me? I'm from" - line "SUNGLOW! Can't" - cont "handle these" + para "Me? I'm from CORAL!" + line "Can't handle these" cont "jobbers!" ; He's a hypocrite. done