diff options
| author | dannye <33dannye@gmail.com> | 2026-01-17 22:38:33 -0600 |
|---|---|---|
| committer | dannye <33dannye@gmail.com> | 2026-01-17 22:38:33 -0600 |
| commit | bc2354dd6626ce28bb9561547ed2107cfa56c18e (patch) | |
| tree | 5902d4c3389253c76b7c3351e0d7dfecb551c28d /data | |
| parent | Identify characters in `_OakSpeechText2B` and `Printer_GetMonStats.IDNo` (#144) (diff) | |
| parent | Use macros for `WildMonEncounterSlotChances` (#562) (diff) | |
| download | pokeyellow-bc2354dd6626ce28bb9561547ed2107cfa56c18e.tar.gz pokeyellow-bc2354dd6626ce28bb9561547ed2107cfa56c18e.tar.xz pokeyellow-bc2354dd6626ce28bb9561547ed2107cfa56c18e.zip | |
Merge branch 'master' of https://github.com/pret/pokered
Diffstat (limited to 'data')
| -rw-r--r-- | data/battle/stat_mod_names.asm | 2 | ||||
| -rw-r--r-- | data/battle/stat_names.asm | 2 | ||||
| -rw-r--r-- | data/events/hidden_events.asm | 570 | ||||
| -rw-r--r-- | data/events/hidden_objects.asm | 560 | ||||
| -rw-r--r-- | data/items/names.asm | 2 | ||||
| -rw-r--r-- | data/maps/hide_show_data.asm | 582 | ||||
| -rw-r--r-- | data/maps/objects/SaffronCity.asm | 2 | ||||
| -rw-r--r-- | data/maps/objects/SilphCo7F.asm | 2 | ||||
| -rw-r--r-- | data/maps/toggleable_objects.asm | 438 | ||||
| -rw-r--r-- | data/maps/town_map_entries.asm | 206 | ||||
| -rw-r--r-- | data/moves/grammar.asm | 16 | ||||
| -rw-r--r-- | data/moves/names.asm | 3 | ||||
| -rw-r--r-- | data/player/names.asm | 15 | ||||
| -rw-r--r-- | data/player/names_list.asm | 17 | ||||
| -rw-r--r-- | data/player_names.asm | 13 | ||||
| -rw-r--r-- | data/player_names_list.asm | 11 | ||||
| -rw-r--r-- | data/predef_pointers.asm | 6 | ||||
| -rw-r--r-- | data/text/text_2.asm | 18 | ||||
| -rw-r--r-- | data/trainers/move_choices.asm | 8 | ||||
| -rw-r--r-- | data/trainers/names.asm | 2 | ||||
| -rw-r--r-- | data/wild/probabilities.asm | 41 |
21 files changed, 1207 insertions, 1309 deletions
diff --git a/data/battle/stat_mod_names.asm b/data/battle/stat_mod_names.asm index 63c956d7..6c68db4e 100644 --- a/data/battle/stat_mod_names.asm +++ b/data/battle/stat_mod_names.asm @@ -2,7 +2,7 @@ ; The relevant move effect IDs correspond to the stats StatModTextStrings: - list_start + list_start STAT_NAME_LENGTH - 1 li "ATTACK" li "DEFENSE" li "SPEED" diff --git a/data/battle/stat_names.asm b/data/battle/stat_names.asm index 30401a99..08685e83 100644 --- a/data/battle/stat_names.asm +++ b/data/battle/stat_names.asm @@ -1,7 +1,7 @@ ; Stats that vitamins can raise or lower VitaminStats: - list_start + list_start STAT_NAME_LENGTH - 1 li "HEALTH" li "ATTACK" li "DEFENSE" diff --git a/data/events/hidden_events.asm b/data/events/hidden_events.asm new file mode 100644 index 00000000..ce43118f --- /dev/null +++ b/data/events/hidden_events.asm @@ -0,0 +1,570 @@ +MACRO hidden_event_map + db \1 ; map id + dw HiddenEventsFor_\1 +ENDM + +HiddenEventMaps: + hidden_event_map SILPH_CO_11F + hidden_event_map SILPH_CO_5F + hidden_event_map SILPH_CO_9F + hidden_event_map POKEMON_MANSION_2F + hidden_event_map POKEMON_MANSION_3F + hidden_event_map POKEMON_MANSION_B1F + hidden_event_map SAFARI_ZONE_WEST + hidden_event_map CERULEAN_CAVE_2F + hidden_event_map CERULEAN_CAVE_B1F + hidden_event_map UNUSED_MAP_6F + hidden_event_map SEAFOAM_ISLANDS_B2F + hidden_event_map SEAFOAM_ISLANDS_B3F + hidden_event_map SEAFOAM_ISLANDS_B4F + hidden_event_map VIRIDIAN_FOREST + hidden_event_map MT_MOON_B2F + hidden_event_map SS_ANNE_B1F_ROOMS + hidden_event_map SS_ANNE_KITCHEN + hidden_event_map UNDERGROUND_PATH_NORTH_SOUTH + hidden_event_map UNDERGROUND_PATH_WEST_EAST + hidden_event_map ROCKET_HIDEOUT_B1F + hidden_event_map ROCKET_HIDEOUT_B3F + hidden_event_map ROCKET_HIDEOUT_B4F + hidden_event_map ROUTE_10 + hidden_event_map ROCK_TUNNEL_POKECENTER + hidden_event_map POWER_PLANT + hidden_event_map ROUTE_11 + hidden_event_map ROUTE_12 + hidden_event_map ROUTE_13 + hidden_event_map ROUTE_15_GATE_2F + hidden_event_map ROUTE_17 + hidden_event_map ROUTE_23 + hidden_event_map VICTORY_ROAD_2F + hidden_event_map ROUTE_25 + hidden_event_map BILLS_HOUSE + hidden_event_map ROUTE_4 + hidden_event_map MT_MOON_POKECENTER + hidden_event_map ROUTE_9 + hidden_event_map TRADE_CENTER + hidden_event_map COLOSSEUM + hidden_event_map INDIGO_PLATEAU + hidden_event_map INDIGO_PLATEAU_LOBBY + hidden_event_map COPYCATS_HOUSE_2F + hidden_event_map FIGHTING_DOJO + hidden_event_map SAFFRON_GYM + hidden_event_map SAFFRON_POKECENTER + hidden_event_map REDS_HOUSE_2F + hidden_event_map BLUES_HOUSE + hidden_event_map OAKS_LAB + hidden_event_map VIRIDIAN_CITY + hidden_event_map VIRIDIAN_POKECENTER + hidden_event_map VIRIDIAN_SCHOOL_HOUSE + hidden_event_map VIRIDIAN_GYM + hidden_event_map MUSEUM_1F + hidden_event_map PEWTER_GYM + hidden_event_map PEWTER_POKECENTER + hidden_event_map CERULEAN_CITY + hidden_event_map CERULEAN_POKECENTER + hidden_event_map CERULEAN_GYM + hidden_event_map BIKE_SHOP + hidden_event_map CERULEAN_CAVE_1F + hidden_event_map LAVENDER_POKECENTER + hidden_event_map POKEMON_TOWER_5F + hidden_event_map MR_FUJIS_HOUSE + hidden_event_map VERMILION_CITY + hidden_event_map VERMILION_POKECENTER + hidden_event_map POKEMON_FAN_CLUB + hidden_event_map VERMILION_GYM + hidden_event_map CELADON_CITY + hidden_event_map CELADON_HOTEL + hidden_event_map CELADON_MANSION_2F + hidden_event_map CELADON_MANSION_ROOF_HOUSE + hidden_event_map CELADON_POKECENTER + hidden_event_map CELADON_GYM + hidden_event_map GAME_CORNER + hidden_event_map FUCHSIA_POKECENTER + hidden_event_map SAFARI_ZONE_GATE + hidden_event_map FUCHSIA_GYM + hidden_event_map POKEMON_MANSION_1F + hidden_event_map CINNABAR_GYM + hidden_event_map CINNABAR_LAB_FOSSIL_ROOM + hidden_event_map CINNABAR_POKECENTER + db -1 ; end + +MACRO hidden_events_for + HiddenEventsFor_\1: +ENDM + +MACRO hidden_event + db \2 ; y coord + db \1 ; x coord + db \4 ; function argument + dba \3 ; event function +ENDM + +MACRO hidden_text_predef + db \2 ; y coord + db \1 ; x coord + db_tx_pre \4 ; text id + dba \3 ; event function +ENDM + +; Some hidden events use SPRITE_FACING_* values, +; but these do not actually prevent the player +; from interacting with them in any direction. +DEF ANY_FACING EQU $d0 + + hidden_events_for SILPH_CO_11F + hidden_event 10, 12, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for SILPH_CO_5F + hidden_event 12, 3, HiddenItems, ELIXER + db -1 ; end + + hidden_events_for SILPH_CO_9F + hidden_event 2, 15, HiddenItems, MAX_POTION + db -1 ; end + + hidden_events_for POKEMON_MANSION_2F + hidden_event 2, 11, Mansion2Script_Switches, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for POKEMON_MANSION_3F + hidden_event 1, 9, HiddenItems, MAX_REVIVE + hidden_event 10, 5, Mansion3Script_Switches, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for POKEMON_MANSION_B1F + hidden_event 1, 9, HiddenItems, RARE_CANDY + hidden_event 20, 3, Mansion4Script_Switches, SPRITE_FACING_UP + hidden_event 18, 25, Mansion4Script_Switches, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for SAFARI_ZONE_WEST + hidden_event 6, 5, HiddenItems, REVIVE + db -1 ; end + + hidden_events_for CERULEAN_CAVE_2F + hidden_event 16, 13, HiddenItems, PP_UP + db -1 ; end + + hidden_events_for CERULEAN_CAVE_B1F + hidden_event 8, 14, HiddenItems, PP_UP + db -1 ; end + + hidden_events_for UNUSED_MAP_6F + hidden_event 14, 11, HiddenItems, MAX_ELIXER + db -1 ; end + + hidden_events_for SEAFOAM_ISLANDS_B2F + hidden_event 15, 15, HiddenItems, NUGGET + db -1 ; end + + hidden_events_for SEAFOAM_ISLANDS_B3F + hidden_event 9, 16, HiddenItems, MAX_ELIXER + db -1 ; end + + hidden_events_for SEAFOAM_ISLANDS_B4F + hidden_event 25, 17, HiddenItems, ULTRA_BALL + db -1 ; end + + hidden_events_for VIRIDIAN_FOREST + hidden_event 1, 18, HiddenItems, POTION + hidden_event 16, 42, HiddenItems, ANTIDOTE + db -1 ; end + + hidden_events_for MT_MOON_B2F + hidden_event 18, 12, HiddenItems, MOON_STONE + hidden_event 33, 9, HiddenItems, ETHER + db -1 ; end + + hidden_events_for SS_ANNE_B1F_ROOMS + hidden_event 3, 1, HiddenItems, HYPER_POTION + db -1 ; end + + hidden_events_for SS_ANNE_KITCHEN + hidden_event 13, 5, PrintTrashText, SPRITE_FACING_DOWN + hidden_event 13, 7, PrintTrashText, SPRITE_FACING_DOWN + hidden_event 13, 9, HiddenItems, GREAT_BALL + db -1 ; end + + hidden_events_for UNDERGROUND_PATH_NORTH_SOUTH + hidden_event 3, 4, HiddenItems, FULL_RESTORE + hidden_event 4, 34, HiddenItems, X_SPECIAL + db -1 ; end + + hidden_events_for UNDERGROUND_PATH_WEST_EAST + hidden_event 12, 2, HiddenItems, NUGGET + hidden_event 21, 5, HiddenItems, ELIXER + db -1 ; end + + hidden_events_for ROCKET_HIDEOUT_B1F + hidden_event 21, 15, HiddenItems, PP_UP + db -1 ; end + + hidden_events_for ROCKET_HIDEOUT_B3F + hidden_event 27, 17, HiddenItems, NUGGET + db -1 ; end + + hidden_events_for ROCKET_HIDEOUT_B4F + hidden_event 25, 1, HiddenItems, SUPER_POTION + db -1 ; end + + hidden_events_for ROUTE_10 + hidden_event 9, 17, HiddenItems, SUPER_POTION + hidden_event 16, 53, HiddenItems, MAX_ETHER + db -1 ; end + + hidden_events_for ROCK_TUNNEL_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for POWER_PLANT + hidden_event 17, 16, HiddenItems, MAX_ELIXER + hidden_event 12, 1, HiddenItems, PP_UP + db -1 ; end + + hidden_events_for ROUTE_11 + hidden_event 48, 5, HiddenItems, ESCAPE_ROPE + db -1 ; end + + hidden_events_for ROUTE_12 + hidden_event 2, 63, HiddenItems, HYPER_POTION + db -1 ; end + + hidden_events_for ROUTE_13 + hidden_event 1, 14, HiddenItems, PP_UP + hidden_event 16, 13, HiddenItems, CALCIUM + db -1 ; end + + hidden_events_for ROUTE_15_GATE_2F + hidden_event 1, 2, Route15GateLeftBinoculars, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for ROUTE_17 + hidden_event 15, 14, HiddenItems, RARE_CANDY + hidden_event 8, 45, HiddenItems, FULL_RESTORE + hidden_event 17, 72, HiddenItems, PP_UP + hidden_event 4, 91, HiddenItems, MAX_REVIVE + hidden_event 8, 121, HiddenItems, MAX_ELIXER + db -1 ; end + + hidden_events_for ROUTE_23 + hidden_event 9, 44, HiddenItems, FULL_RESTORE + hidden_event 19, 70, HiddenItems, ULTRA_BALL + hidden_event 8, 90, HiddenItems, MAX_ETHER + db -1 ; end + + hidden_events_for VICTORY_ROAD_2F + hidden_event 5, 2, HiddenItems, ULTRA_BALL + hidden_event 26, 7, HiddenItems, FULL_RESTORE + db -1 ; end + + hidden_events_for ROUTE_25 + hidden_event 38, 3, HiddenItems, ETHER + hidden_event 10, 1, HiddenItems, ELIXER + db -1 ; end + + hidden_events_for BILLS_HOUSE + hidden_event 1, 4, BillsHousePC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for ROUTE_4 + hidden_event 40, 3, HiddenItems, GREAT_BALL + db -1 ; end + + hidden_events_for MT_MOON_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for ROUTE_9 + hidden_event 14, 7, HiddenItems, ETHER + db -1 ; end + + hidden_events_for TRADE_CENTER + hidden_event 5, 4, CableClubRightGameboy, ANY_FACING + hidden_event 4, 4, CableClubLeftGameboy, ANY_FACING + db -1 ; end + + hidden_events_for COLOSSEUM + hidden_event 5, 4, CableClubRightGameboy, ANY_FACING + hidden_event 4, 4, CableClubLeftGameboy, ANY_FACING + db -1 ; end + + hidden_events_for INDIGO_PLATEAU + hidden_event 8, 13, PrintIndigoPlateauHQText, $ff ; inaccessible + hidden_event 11, 13, PrintIndigoPlateauHQText, SPRITE_FACING_DOWN ; inaccessible + db -1 ; end + + hidden_events_for INDIGO_PLATEAU_LOBBY + hidden_event 15, 7, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for COPYCATS_HOUSE_2F + hidden_event 1, 1, HiddenItems, NUGGET + db -1 ; end + + hidden_events_for FIGHTING_DOJO + hidden_event 3, 9, PrintFightingDojoText, SPRITE_FACING_UP + hidden_event 6, 9, PrintFightingDojoText, SPRITE_FACING_UP + hidden_event 4, 0, PrintFightingDojoText2, SPRITE_FACING_UP + hidden_event 5, 0, PrintFightingDojoText3, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for SAFFRON_GYM + hidden_event 9, 15, GymStatues, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for SAFFRON_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_UP + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for REDS_HOUSE_2F + hidden_event 0, 1, OpenRedsPC, SPRITE_FACING_UP + hidden_event 3, 5, PrintRedSNESText, ANY_FACING + db -1 ; end + + hidden_events_for BLUES_HOUSE + hidden_event 0, 1, PrintBookcaseText, SPRITE_FACING_UP + hidden_event 1, 1, PrintBookcaseText, SPRITE_FACING_UP + hidden_event 7, 1, PrintBookcaseText, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for OAKS_LAB + hidden_event 4, 0, DisplayOakLabLeftPoster, SPRITE_FACING_UP + hidden_event 5, 0, DisplayOakLabRightPoster, SPRITE_FACING_UP + hidden_event 0, 1, DisplayOakLabEmailText, SPRITE_FACING_UP + hidden_event 1, 1, DisplayOakLabEmailText, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for VIRIDIAN_CITY + hidden_event 14, 4, HiddenItems, POTION + db -1 ; end + + hidden_events_for VIRIDIAN_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for VIRIDIAN_SCHOOL_HOUSE + hidden_text_predef 3, 4, PrintNotebookText, ViridianSchoolNotebook + hidden_text_predef 3, 0, PrintBlackboardLinkCableText, ViridianSchoolBlackboard + db -1 ; end + + hidden_events_for VIRIDIAN_GYM + hidden_event 15, 15, GymStatues, SPRITE_FACING_UP + hidden_event 18, 15, GymStatues, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for MUSEUM_1F + hidden_event 2, 3, AerodactylFossil, SPRITE_FACING_UP + hidden_event 2, 6, KabutopsFossil, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for PEWTER_GYM + hidden_event 3, 10, GymStatues, SPRITE_FACING_UP + hidden_event 6, 10, GymStatues, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for PEWTER_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for CERULEAN_CITY + hidden_event 15, 8, HiddenItems, RARE_CANDY + db -1 ; end + + hidden_events_for CERULEAN_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for CERULEAN_GYM + hidden_event 3, 11, GymStatues, SPRITE_FACING_UP + hidden_event 6, 11, GymStatues, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for BIKE_SHOP + hidden_event 1, 0, PrintNewBikeText, ANY_FACING + hidden_event 2, 1, PrintNewBikeText, ANY_FACING + hidden_event 1, 2, PrintNewBikeText, ANY_FACING + hidden_event 3, 2, PrintNewBikeText, ANY_FACING + hidden_event 0, 4, PrintNewBikeText, ANY_FACING + hidden_event 1, 5, PrintNewBikeText, ANY_FACING + db -1 ; end + + hidden_events_for CERULEAN_CAVE_1F + hidden_event 18, 7, HiddenItems, PP_UP + db -1 ; end + + hidden_events_for LAVENDER_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for POKEMON_TOWER_5F + hidden_event 4, 12, HiddenItems, ELIXER + db -1 ; end + + hidden_events_for MR_FUJIS_HOUSE + hidden_event 0, 1, PrintMagazinesText, SPRITE_FACING_DOWN + hidden_event 1, 1, PrintMagazinesText, SPRITE_FACING_DOWN + hidden_event 7, 1, PrintMagazinesText, SPRITE_FACING_DOWN + db -1 ; end + + hidden_events_for VERMILION_CITY + hidden_event 14, 11, HiddenItems, MAX_ETHER + db -1 ; end + + hidden_events_for VERMILION_POKECENTER + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for POKEMON_FAN_CLUB + hidden_event 1, 0, FanClubPicture1, SPRITE_FACING_UP + hidden_event 6, 0, FanClubPicture2, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for VERMILION_GYM + hidden_event 3, 14, GymStatues, SPRITE_FACING_UP + hidden_event 6, 14, GymStatues, SPRITE_FACING_UP + hidden_event 6, 1, PrintTrashText, SPRITE_FACING_DOWN + ; GymTrashScript argument: [wGymTrashCanIndex] + hidden_event 1, 7, GymTrashScript, 0 + hidden_event 1, 9, GymTrashScript, 1 + hidden_event 1, 11, GymTrashScript, 2 + hidden_event 3, 7, GymTrashScript, 3 + hidden_event 3, 9, GymTrashScript, 4 + hidden_event 3, 11, GymTrashScript, 5 + hidden_event 5, 7, GymTrashScript, 6 + hidden_event 5, 9, GymTrashScript, 7 + hidden_event 5, 11, GymTrashScript, 8 + hidden_event 7, 7, GymTrashScript, 9 + hidden_event 7, 9, GymTrashScript, 10 + hidden_event 7, 11, GymTrashScript, 11 + hidden_event 9, 7, GymTrashScript, 12 + hidden_event 9, 9, GymTrashScript, 13 + hidden_event 9, 11, GymTrashScript, 14 + db -1 ; end + + hidden_events_for CELADON_CITY + hidden_event 48, 15, HiddenItems, PP_UP + db -1 ; end + + hidden_events_for CELADON_HOTEL + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + db -1 ; end + + hidden_events_for CELADON_MANSION_2F + hidden_event 0, 5, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for CELADON_MANSION_ROOF_HOUSE + hidden_text_predef 3, 0, PrintBlackboardLinkCableText, LinkCableHelp + hidden_text_predef 4, 0, PrintBlackboardLinkCableText, LinkCableHelp + hidden_text_predef 3, 4, PrintNotebookText, TMNotebook + db -1 ; end + + hidden_events_for CELADON_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_LEFT + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for CELADON_GYM + hidden_event 3, 15, GymStatues, SPRITE_FACING_UP + hidden_event 6, 15, GymStatues, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for GAME_CORNER + hidden_event 18, 15, StartSlotMachine, ANY_FACING + hidden_event 18, 14, StartSlotMachine, ANY_FACING + hidden_event 18, 13, StartSlotMachine, ANY_FACING + hidden_event 18, 12, StartSlotMachine, ANY_FACING + hidden_event 18, 11, StartSlotMachine, ANY_FACING + hidden_event 18, 10, StartSlotMachine, SLOTS_SOMEONESKEYS + hidden_event 13, 10, StartSlotMachine, ANY_FACING + hidden_event 13, 11, StartSlotMachine, ANY_FACING + hidden_event 13, 12, StartSlotMachine, SLOTS_OUTTOLUNCH + hidden_event 13, 13, StartSlotMachine, ANY_FACING + hidden_event 13, 14, StartSlotMachine, ANY_FACING + hidden_event 13, 15, StartSlotMachine, ANY_FACING + hidden_event 12, 15, StartSlotMachine, ANY_FACING + hidden_event 12, 14, StartSlotMachine, ANY_FACING + hidden_event 12, 13, StartSlotMachine, ANY_FACING + hidden_event 12, 12, StartSlotMachine, ANY_FACING + hidden_event 12, 11, StartSlotMachine, ANY_FACING + hidden_event 12, 10, StartSlotMachine, ANY_FACING + hidden_event 7, 10, StartSlotMachine, ANY_FACING + hidden_event 7, 11, StartSlotMachine, ANY_FACING + hidden_event 7, 12, StartSlotMachine, ANY_FACING + hidden_event 7, 13, StartSlotMachine, ANY_FACING + hidden_event 7, 14, StartSlotMachine, ANY_FACING + hidden_event 7, 15, StartSlotMachine, ANY_FACING + hidden_event 6, 15, StartSlotMachine, ANY_FACING + hidden_event 6, 14, StartSlotMachine, ANY_FACING + hidden_event 6, 13, StartSlotMachine, ANY_FACING + hidden_event 6, 12, StartSlotMachine, SLOTS_OUTOFORDER + hidden_event 6, 11, StartSlotMachine, ANY_FACING + hidden_event 6, 10, StartSlotMachine, ANY_FACING + hidden_event 1, 10, StartSlotMachine, ANY_FACING + hidden_event 1, 11, StartSlotMachine, ANY_FACING + hidden_event 1, 12, StartSlotMachine, ANY_FACING + hidden_event 1, 13, StartSlotMachine, ANY_FACING + hidden_event 1, 14, StartSlotMachine, ANY_FACING + hidden_event 1, 15, StartSlotMachine, ANY_FACING + ; HiddenCoins argument: COIN + <number of coins> + hidden_event 0, 8, HiddenCoins, COIN+10 + hidden_event 1, 16, HiddenCoins, COIN+10 + hidden_event 3, 11, HiddenCoins, COIN+20 + hidden_event 3, 14, HiddenCoins, COIN+10 + hidden_event 4, 12, HiddenCoins, COIN+10 + hidden_event 9, 12, HiddenCoins, COIN+20 + hidden_event 9, 15, HiddenCoins, COIN+10 + hidden_event 16, 14, HiddenCoins, COIN+10 + hidden_event 10, 16, HiddenCoins, COIN+10 + hidden_event 11, 7, HiddenCoins, COIN+40 + hidden_event 15, 8, HiddenCoins, COIN+100 + hidden_event 12, 15, HiddenCoins, COIN+10 + db -1 ; end + + hidden_events_for FUCHSIA_POKECENTER + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for SAFARI_ZONE_GATE + hidden_event 10, 1, HiddenItems, NUGGET ; inaccessible + db -1 ; end + + hidden_events_for FUCHSIA_GYM + hidden_event 3, 15, GymStatues, SPRITE_FACING_UP + hidden_event 6, 15, GymStatues, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for POKEMON_MANSION_1F + hidden_event 8, 16, HiddenItems, MOON_STONE + hidden_event 2, 5, Mansion1Script_Switches, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for CINNABAR_GYM + hidden_event 17, 13, GymStatues, SPRITE_FACING_UP + ; PrintCinnabarQuiz argument: ([hGymGateAnswer] << 4) | [hGymGateIndex] + hidden_event 15, 7, PrintCinnabarQuiz, (FALSE << 4) | 1 + hidden_event 10, 1, PrintCinnabarQuiz, (TRUE << 4) | 2 + hidden_event 9, 7, PrintCinnabarQuiz, (TRUE << 4) | 3 + hidden_event 9, 13, PrintCinnabarQuiz, (TRUE << 4) | 4 + hidden_event 1, 13, PrintCinnabarQuiz, (FALSE << 4) | 5 + hidden_event 1, 7, PrintCinnabarQuiz, (TRUE << 4) | 6 + db -1 ; end + + hidden_events_for CINNABAR_LAB_FOSSIL_ROOM + hidden_event 0, 4, OpenPokemonCenterPC, SPRITE_FACING_UP + hidden_event 2, 4, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end + + hidden_events_for CINNABAR_POKECENTER + hidden_event 0, 4, PrintBenchGuyText, SPRITE_FACING_UP + hidden_event 13, 3, OpenPokemonCenterPC, SPRITE_FACING_UP + db -1 ; end diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm deleted file mode 100644 index 3e8ea745..00000000 --- a/data/events/hidden_objects.asm +++ /dev/null @@ -1,560 +0,0 @@ -HiddenObjectMaps: - dbw SILPH_CO_11F, SilphCo11FHiddenObjects - dbw SILPH_CO_5F, SilphCo5FHiddenObjects - dbw SILPH_CO_9F, SilphCo9FHiddenObjects - dbw POKEMON_MANSION_2F, Mansion2HiddenObjects - dbw POKEMON_MANSION_3F, Mansion3HiddenObjects - dbw POKEMON_MANSION_B1F, Mansion4HiddenObjects - dbw SAFARI_ZONE_WEST, SafariZoneWestHiddenObjects - dbw CERULEAN_CAVE_2F, CeruleanCave2HiddenObjects - dbw CERULEAN_CAVE_B1F, CeruleanCave3HiddenObjects - dbw UNUSED_MAP_6F, UnusedMap6FHiddenObjects - dbw SEAFOAM_ISLANDS_B2F, SeafoamIslands3HiddenObjects - dbw SEAFOAM_ISLANDS_B3F, SeafoamIslands4HiddenObjects - dbw SEAFOAM_ISLANDS_B4F, SeafoamIslands5HiddenObjects - dbw VIRIDIAN_FOREST, ViridianForestHiddenObjects - dbw MT_MOON_B2F, MtMoon3HiddenObjects - dbw SS_ANNE_B1F_ROOMS, SSAnne10HiddenObjects - dbw SS_ANNE_KITCHEN, SSAnne6HiddenObjects - dbw UNDERGROUND_PATH_NORTH_SOUTH, UndergroundPathNsHiddenObjects - dbw UNDERGROUND_PATH_WEST_EAST, UndergroundPathWeHiddenObjects - dbw ROCKET_HIDEOUT_B1F, RocketHideout1HiddenObjects - dbw ROCKET_HIDEOUT_B3F, RocketHideout3HiddenObjects - dbw ROCKET_HIDEOUT_B4F, RocketHideout4HiddenObjects - dbw ROUTE_10, Route10HiddenObjects - dbw ROCK_TUNNEL_POKECENTER, RockTunnelPokecenterHiddenObjects - dbw POWER_PLANT, PowerPlantHiddenObjects - dbw ROUTE_11, Route11HiddenObjects - dbw ROUTE_12, Route12HiddenObjects - dbw ROUTE_13, Route13HiddenObjects - dbw ROUTE_15_GATE_2F, Route15Gate2FHiddenObjects - dbw ROUTE_17, Route17HiddenObjects - dbw ROUTE_23, Route23HiddenObjects - dbw VICTORY_ROAD_2F, VictoryRoad2HiddenObjects - dbw ROUTE_25, Route25HiddenObjects - dbw BILLS_HOUSE, BillsHouseHiddenObjects - dbw ROUTE_4, Route4HiddenObjects - dbw MT_MOON_POKECENTER, MtMoonPokecenterHiddenObjects - dbw ROUTE_9, Route9HiddenObjects - dbw TRADE_CENTER, TradeCenterHiddenObjects - dbw COLOSSEUM, ColosseumHiddenObjects - dbw INDIGO_PLATEAU, IndigoPlateauHiddenObjects - dbw INDIGO_PLATEAU_LOBBY, IndigoPlateauLobbyHiddenObjects - dbw COPYCATS_HOUSE_2F, CopycatsHouse2FHiddenObjects - dbw FIGHTING_DOJO, FightingDojoHiddenObjects - dbw SAFFRON_GYM, SaffronGymHiddenObjects - dbw SAFFRON_POKECENTER, SaffronPokecenterHiddenObjects - dbw REDS_HOUSE_2F, RedsHouse2FHiddenObjects - dbw BLUES_HOUSE, BluesHouseHiddenObjects - dbw OAKS_LAB, OaksLabHiddenObjects - dbw VIRIDIAN_CITY, ViridianCityHiddenObjects - dbw VIRIDIAN_POKECENTER, ViridianPokecenterHiddenObjects - dbw VIRIDIAN_SCHOOL_HOUSE, ViridianSchoolHiddenObjects - dbw VIRIDIAN_GYM, ViridianGymHiddenObjects - dbw MUSEUM_1F, Museum1FHiddenObjects - dbw PEWTER_GYM, PewterGymHiddenObjects - dbw PEWTER_POKECENTER, PewterPokecenterHiddenObjects - dbw CERULEAN_CITY, CeruleanCityHiddenObjects - dbw CERULEAN_POKECENTER, CeruleanPokecenterHiddenObjects - dbw CERULEAN_GYM, CeruleanGymHiddenObjects - dbw BIKE_SHOP, BikeShopHiddenObjects - dbw CERULEAN_CAVE_1F, CeruleanCave1HiddenObjects - dbw LAVENDER_POKECENTER, LavenderPokecenterHiddenObjects - dbw POKEMON_TOWER_5F, Pokemontower5HiddenObjects - dbw MR_FUJIS_HOUSE, LavenderHouse1HiddenObjects - dbw VERMILION_CITY, VermilionCityHiddenObjects - dbw VERMILION_POKECENTER, VermilionPokecenterHiddenObjects - dbw POKEMON_FAN_CLUB, PokemonFanClubHiddenObjects - dbw VERMILION_GYM, VermilionGymHiddenObjects - dbw CELADON_CITY, CeladonCityHiddenObjects - dbw CELADON_HOTEL, CeladonHotelHiddenObjects - dbw CELADON_MANSION_2F, CeladonMansion2HiddenObjects - dbw CELADON_MANSION_ROOF_HOUSE, CeladonMansion5HiddenObjects - dbw CELADON_POKECENTER, CeladonPokecenterHiddenObjects - dbw CELADON_GYM, CeladonGymHiddenObjects - dbw GAME_CORNER, GameCornerHiddenObjects - dbw FUCHSIA_POKECENTER, FuchsiaPokecenterHiddenObjects - dbw SAFARI_ZONE_GATE, SafariZoneEntranceHiddenObjects - dbw FUCHSIA_GYM, FuchsiaGymHiddenObjects - dbw POKEMON_MANSION_1F, Mansion1HiddenObjects - dbw CINNABAR_GYM, CinnabarGymHiddenObjects - dbw CINNABAR_LAB_FOSSIL_ROOM, CinnabarLab4HiddenObjects - dbw CINNABAR_POKECENTER, CinnabarPokecenterHiddenObjects - db -1 ; end - -MACRO hidden_object - db \2 ; y coord - db \1 ; x coord - db \3 ; item id - dba \4 ; object routine -ENDM - -MACRO hidden_text_predef - db \2 ; y coord - db \1 ; x coord - db_tx_pre \3 ; text id - dba \4 ; object routine -ENDM - -; Some hidden objects use SPRITE_FACING_* values, -; but these do not actually prevent the player -; from interacting with them in any direction. -DEF ANY_FACING EQU $d0 - -SilphCo11FHiddenObjects: - hidden_object 10, 12, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -SilphCo5FHiddenObjects: - hidden_object 12, 3, ELIXER, HiddenItems - db -1 ; end - -SilphCo9FHiddenObjects: - hidden_object 2, 15, MAX_POTION, HiddenItems - db -1 ; end - -Mansion2HiddenObjects: - hidden_object 2, 11, SPRITE_FACING_UP, Mansion2Script_Switches - db -1 ; end - -Mansion3HiddenObjects: - hidden_object 1, 9, MAX_REVIVE, HiddenItems - hidden_object 10, 5, SPRITE_FACING_UP, Mansion3Script_Switches - db -1 ; end - -Mansion4HiddenObjects: - hidden_object 1, 9, RARE_CANDY, HiddenItems - hidden_object 20, 3, SPRITE_FACING_UP, Mansion4Script_Switches - hidden_object 18, 25, SPRITE_FACING_UP, Mansion4Script_Switches - db -1 ; end - -SafariZoneWestHiddenObjects: - hidden_object 6, 5, REVIVE, HiddenItems - db -1 ; end - -CeruleanCave2HiddenObjects: - hidden_object 16, 13, PP_UP, HiddenItems - db -1 ; end - -CeruleanCave3HiddenObjects: - hidden_object 8, 14, PP_UP, HiddenItems - db -1 ; end - -UnusedMap6FHiddenObjects: - hidden_object 14, 11, MAX_ELIXER, HiddenItems - db -1 ; end - -SeafoamIslands3HiddenObjects: - hidden_object 15, 15, NUGGET, HiddenItems - db -1 ; end - -SeafoamIslands4HiddenObjects: - hidden_object 9, 16, MAX_ELIXER, HiddenItems - db -1 ; end - -SeafoamIslands5HiddenObjects: - hidden_object 25, 17, ULTRA_BALL, HiddenItems - db -1 ; end - -ViridianForestHiddenObjects: - hidden_object 1, 18, POTION, HiddenItems - hidden_object 16, 42, ANTIDOTE, HiddenItems - db -1 ; end - -MtMoon3HiddenObjects: - hidden_object 18, 12, MOON_STONE, HiddenItems - hidden_object 33, 9, ETHER, HiddenItems - db -1 ; end - -SSAnne10HiddenObjects: - hidden_object 3, 1, HYPER_POTION, HiddenItems - db -1 ; end - -SSAnne6HiddenObjects: - hidden_object 13, 5, SPRITE_FACING_DOWN, PrintTrashText - hidden_object 13, 7, SPRITE_FACING_DOWN, PrintTrashText - hidden_object 13, 9, GREAT_BALL, HiddenItems - db -1 ; end - -UndergroundPathNsHiddenObjects: - hidden_object 3, 4, FULL_RESTORE, HiddenItems - hidden_object 4, 34, X_SPECIAL, HiddenItems - db -1 ; end - -UndergroundPathWeHiddenObjects: - hidden_object 12, 2, NUGGET, HiddenItems - hidden_object 21, 5, ELIXER, HiddenItems - db -1 ; end - -RocketHideout1HiddenObjects: - hidden_object 21, 15, PP_UP, HiddenItems - db -1 ; end - -RocketHideout3HiddenObjects: - hidden_object 27, 17, NUGGET, HiddenItems - db -1 ; end - -RocketHideout4HiddenObjects: - hidden_object 25, 1, SUPER_POTION, HiddenItems - db -1 ; end - -Route10HiddenObjects: - hidden_object 9, 17, SUPER_POTION, HiddenItems - hidden_object 16, 53, MAX_ETHER, HiddenItems - db -1 ; end - -RockTunnelPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -PowerPlantHiddenObjects: - hidden_object 17, 16, MAX_ELIXER, HiddenItems - hidden_object 12, 1, PP_UP, HiddenItems - db -1 ; end - -Route11HiddenObjects: - hidden_object 48, 5, ESCAPE_ROPE, HiddenItems - db -1 ; end - -Route12HiddenObjects: - hidden_object 2, 63, HYPER_POTION, HiddenItems - db -1 ; end - -Route13HiddenObjects: - hidden_object 1, 14, PP_UP, HiddenItems - hidden_object 16, 13, CALCIUM, HiddenItems - db -1 ; end - -Route15Gate2FHiddenObjects: - hidden_object 1, 2, SPRITE_FACING_UP, Route15GateLeftBinoculars - db -1 ; end - -Route17HiddenObjects: - hidden_object 15, 14, RARE_CANDY, HiddenItems - hidden_object 8, 45, FULL_RESTORE, HiddenItems - hidden_object 17, 72, PP_UP, HiddenItems - hidden_object 4, 91, MAX_REVIVE, HiddenItems - hidden_object 8, 121, MAX_ELIXER, HiddenItems - db -1 ; end - -Route23HiddenObjects: - hidden_object 9, 44, FULL_RESTORE, HiddenItems - hidden_object 19, 70, ULTRA_BALL, HiddenItems - hidden_object 8, 90, MAX_ETHER, HiddenItems - db -1 ; end - -VictoryRoad2HiddenObjects: - hidden_object 5, 2, ULTRA_BALL, HiddenItems - hidden_object 26, 7, FULL_RESTORE, HiddenItems - db -1 ; end - -Route25HiddenObjects: - hidden_object 38, 3, ETHER, HiddenItems - hidden_object 10, 1, ELIXER, HiddenItems - db -1 ; end - -BillsHouseHiddenObjects: - hidden_object 1, 4, SPRITE_FACING_UP, BillsHousePC - db -1 ; end - -Route4HiddenObjects: - hidden_object 40, 3, GREAT_BALL, HiddenItems - db -1 ; end - -MtMoonPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -Route9HiddenObjects: - hidden_object 14, 7, ETHER, HiddenItems - db -1 ; end - -TradeCenterHiddenObjects: - hidden_object 5, 4, ANY_FACING, CableClubRightGameboy - hidden_object 4, 4, ANY_FACING, CableClubLeftGameboy - db -1 ; end - -ColosseumHiddenObjects: - hidden_object 5, 4, ANY_FACING, CableClubRightGameboy - hidden_object 4, 4, ANY_FACING, CableClubLeftGameboy - db -1 ; end - -IndigoPlateauHiddenObjects: - hidden_object 8, 13, $ff, PrintIndigoPlateauHQText ; inaccessible - hidden_object 11, 13, SPRITE_FACING_DOWN, PrintIndigoPlateauHQText ; inaccessible - db -1 ; end - -IndigoPlateauLobbyHiddenObjects: - hidden_object 15, 7, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -CopycatsHouse2FHiddenObjects: - hidden_object 1, 1, NUGGET, HiddenItems - db -1 ; end - -FightingDojoHiddenObjects: - hidden_object 3, 9, SPRITE_FACING_UP, PrintFightingDojoText - hidden_object 6, 9, SPRITE_FACING_UP, PrintFightingDojoText - hidden_object 4, 0, SPRITE_FACING_UP, PrintFightingDojoText2 - hidden_object 5, 0, SPRITE_FACING_UP, PrintFightingDojoText3 - db -1 ; end - -SaffronGymHiddenObjects: - hidden_object 9, 15, SPRITE_FACING_UP, GymStatues - db -1 ; end - -SaffronPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -RedsHouse2FHiddenObjects: - hidden_object 0, 1, SPRITE_FACING_UP, OpenRedsPC - hidden_object 3, 5, ANY_FACING, PrintRedSNESText - db -1 ; end - -BluesHouseHiddenObjects: - hidden_object 0, 1, SPRITE_FACING_UP, PrintBookcaseText - hidden_object 1, 1, SPRITE_FACING_UP, PrintBookcaseText - hidden_object 7, 1, SPRITE_FACING_UP, PrintBookcaseText - db -1 ; end - -OaksLabHiddenObjects: - hidden_object 4, 0, SPRITE_FACING_UP, DisplayOakLabLeftPoster - hidden_object 5, 0, SPRITE_FACING_UP, DisplayOakLabRightPoster - hidden_object 0, 1, SPRITE_FACING_UP, DisplayOakLabEmailText - hidden_object 1, 1, SPRITE_FACING_UP, DisplayOakLabEmailText - db -1 ; end - -ViridianCityHiddenObjects: - hidden_object 14, 4, POTION, HiddenItems - db -1 ; end - -ViridianPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -ViridianSchoolHiddenObjects: - hidden_text_predef 3, 4, ViridianSchoolNotebook, PrintNotebookText - hidden_text_predef 3, 0, ViridianSchoolBlackboard, PrintBlackboardLinkCableText - db -1 ; end - -ViridianGymHiddenObjects: - hidden_object 15, 15, SPRITE_FACING_UP, GymStatues - hidden_object 18, 15, SPRITE_FACING_UP, GymStatues - db -1 ; end - -Museum1FHiddenObjects: - hidden_object 2, 3, SPRITE_FACING_UP, AerodactylFossil - hidden_object 2, 6, SPRITE_FACING_UP, KabutopsFossil - db -1 ; end - -PewterGymHiddenObjects: - hidden_object 3, 10, SPRITE_FACING_UP, GymStatues - hidden_object 6, 10, SPRITE_FACING_UP, GymStatues - db -1 ; end - -PewterPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -CeruleanCityHiddenObjects: - hidden_object 15, 8, RARE_CANDY, HiddenItems - db -1 ; end - -CeruleanPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -CeruleanGymHiddenObjects: - hidden_object 3, 11, SPRITE_FACING_UP, GymStatues - hidden_object 6, 11, SPRITE_FACING_UP, GymStatues - db -1 ; end - -BikeShopHiddenObjects: - hidden_object 1, 0, ANY_FACING, PrintNewBikeText - hidden_object 2, 1, ANY_FACING, PrintNewBikeText - hidden_object 1, 2, ANY_FACING, PrintNewBikeText - hidden_object 3, 2, ANY_FACING, PrintNewBikeText - hidden_object 0, 4, ANY_FACING, PrintNewBikeText - hidden_object 1, 5, ANY_FACING, PrintNewBikeText - db -1 ; end - -CeruleanCave1HiddenObjects: - hidden_object 18, 7, PP_UP, HiddenItems - db -1 ; end - -LavenderPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -Pokemontower5HiddenObjects: - hidden_object 4, 12, ELIXER, HiddenItems - db -1 ; end - -LavenderHouse1HiddenObjects: - hidden_object 0, 1, SPRITE_FACING_DOWN, PrintMagazinesText - hidden_object 1, 1, SPRITE_FACING_DOWN, PrintMagazinesText - hidden_object 7, 1, SPRITE_FACING_DOWN, PrintMagazinesText - db -1 ; end - -VermilionCityHiddenObjects: - hidden_object 14, 11, MAX_ETHER, HiddenItems - db -1 ; end - -VermilionPokecenterHiddenObjects: - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText - db -1 ; end - -PokemonFanClubHiddenObjects: - hidden_object 1, 0, SPRITE_FACING_UP, FanClubPicture1 - hidden_object 6, 0, SPRITE_FACING_UP, FanClubPicture2 - db -1 ; end - -VermilionGymHiddenObjects: - hidden_object 3, 14, SPRITE_FACING_UP, GymStatues - hidden_object 6, 14, SPRITE_FACING_UP, GymStatues - hidden_object 6, 1, SPRITE_FACING_DOWN, PrintTrashText - ; third param: [wGymTrashCanIndex] - hidden_object 1, 7, 0, GymTrashScript - hidden_object 1, 9, 1, GymTrashScript - hidden_object 1, 11, 2, GymTrashScript - hidden_object 3, 7, 3, GymTrashScript - hidden_object 3, 9, 4, GymTrashScript - hidden_object 3, 11, 5, GymTrashScript - hidden_object 5, 7, 6, GymTrashScript - hidden_object 5, 9, 7, GymTrashScript - hidden_object 5, 11, 8, GymTrashScript - hidden_object 7, 7, 9, GymTrashScript - hidden_object 7, 9, 10, GymTrashScript - hidden_object 7, 11, 11, GymTrashScript - hidden_object 9, 7, 12, GymTrashScript - hidden_object 9, 9, 13, GymTrashScript - hidden_object 9, 11, 14, GymTrashScript - db -1 ; end - -CeladonCityHiddenObjects: - hidden_object 48, 15, PP_UP, HiddenItems - db -1 ; end - -CeladonHotelHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - db -1 ; end - -CeladonMansion2HiddenObjects: - hidden_object 0, 5, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -CeladonMansion5HiddenObjects: - hidden_text_predef 3, 0, LinkCableHelp, PrintBlackboardLinkCableText - hidden_text_predef 4, 0, LinkCableHelp, PrintBlackboardLinkCableText - hidden_text_predef 3, 4, TMNotebook, PrintNotebookText - db -1 ; end - -CeladonPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -CeladonGymHiddenObjects: - hidden_object 3, 15, SPRITE_FACING_UP, GymStatues - hidden_object 6, 15, SPRITE_FACING_UP, GymStatues - db -1 ; end - -GameCornerHiddenObjects: - hidden_object 18, 15, ANY_FACING, StartSlotMachine - hidden_object 18, 14, ANY_FACING, StartSlotMachine - hidden_object 18, 13, ANY_FACING, StartSlotMachine - hidden_object 18, 12, ANY_FACING, StartSlotMachine - hidden_object 18, 11, ANY_FACING, StartSlotMachine - hidden_object 18, 10, SLOTS_SOMEONESKEYS, StartSlotMachine - hidden_object 13, 10, ANY_FACING, StartSlotMachine - hidden_object 13, 11, ANY_FACING, StartSlotMachine - hidden_object 13, 12, SLOTS_OUTTOLUNCH, StartSlotMachine - hidden_object 13, 13, ANY_FACING, StartSlotMachine - hidden_object 13, 14, ANY_FACING, StartSlotMachine - hidden_object 13, 15, ANY_FACING, StartSlotMachine - hidden_object 12, 15, ANY_FACING, StartSlotMachine - hidden_object 12, 14, ANY_FACING, StartSlotMachine - hidden_object 12, 13, ANY_FACING, StartSlotMachine - hidden_object 12, 12, ANY_FACING, StartSlotMachine - hidden_object 12, 11, ANY_FACING, StartSlotMachine - hidden_object 12, 10, ANY_FACING, StartSlotMachine - hidden_object 7, 10, ANY_FACING, StartSlotMachine - hidden_object 7, 11, ANY_FACING, StartSlotMachine - hidden_object 7, 12, ANY_FACING, StartSlotMachine - hidden_object 7, 13, ANY_FACING, StartSlotMachine - hidden_object 7, 14, ANY_FACING, StartSlotMachine - hidden_object 7, 15, ANY_FACING, StartSlotMachine - hidden_object 6, 15, ANY_FACING, StartSlotMachine - hidden_object 6, 14, ANY_FACING, StartSlotMachine - hidden_object 6, 13, ANY_FACING, StartSlotMachine - hidden_object 6, 12, SLOTS_OUTOFORDER, StartSlotMachine - hidden_object 6, 11, ANY_FACING, StartSlotMachine - hidden_object 6, 10, ANY_FACING, StartSlotMachine - hidden_object 1, 10, ANY_FACING, StartSlotMachine - hidden_object 1, 11, ANY_FACING, StartSlotMachine - hidden_object 1, 12, ANY_FACING, StartSlotMachine - hidden_object 1, 13, ANY_FACING, StartSlotMachine - hidden_object 1, 14, ANY_FACING, StartSlotMachine - hidden_object 1, 15, ANY_FACING, StartSlotMachine - hidden_object 0, 8, COIN+10, HiddenCoins - hidden_object 1, 16, COIN+10, HiddenCoins - hidden_object 3, 11, COIN+20, HiddenCoins - hidden_object 3, 14, COIN+10, HiddenCoins - hidden_object 4, 12, COIN+10, HiddenCoins - hidden_object 9, 12, COIN+20, HiddenCoins - hidden_object 9, 15, COIN+10, HiddenCoins - hidden_object 16, 14, COIN+10, HiddenCoins - hidden_object 10, 16, COIN+10, HiddenCoins - hidden_object 11, 7, COIN+40, HiddenCoins - hidden_object 15, 8, COIN+100, HiddenCoins - hidden_object 12, 15, COIN+10, HiddenCoins - db -1 ; end - -FuchsiaPokecenterHiddenObjects: - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText - db -1 ; end - -SafariZoneEntranceHiddenObjects: - hidden_object 10, 1, NUGGET, HiddenItems ; inaccessible - db -1 ; end - -FuchsiaGymHiddenObjects: - hidden_object 3, 15, SPRITE_FACING_UP, GymStatues - hidden_object 6, 15, SPRITE_FACING_UP, GymStatues - db -1 ; end - -Mansion1HiddenObjects: - hidden_object 8, 16, MOON_STONE, HiddenItems - hidden_object 2, 5, SPRITE_FACING_UP, Mansion1Script_Switches - db -1 ; end - -CinnabarGymHiddenObjects: - hidden_object 17, 13, SPRITE_FACING_UP, GymStatues - ; third param: ([hGymGateAnswer] << 4) | [hGymGateIndex] - hidden_object 15, 7, (FALSE << 4) | 1, PrintCinnabarQuiz - hidden_object 10, 1, (TRUE << 4) | 2, PrintCinnabarQuiz - hidden_object 9, 7, (TRUE << 4) | 3, PrintCinnabarQuiz - hidden_object 9, 13, (TRUE << 4) | 4, PrintCinnabarQuiz - hidden_object 1, 13, (FALSE << 4) | 5, PrintCinnabarQuiz - hidden_object 1, 7, (TRUE << 4) | 6, PrintCinnabarQuiz - db -1 ; end - -CinnabarLab4HiddenObjects: - hidden_object 0, 4, SPRITE_FACING_UP, OpenPokemonCenterPC - hidden_object 2, 4, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end - -CinnabarPokecenterHiddenObjects: - hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText - hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC - db -1 ; end diff --git a/data/items/names.asm b/data/items/names.asm index bab26efc..f5c0f27e 100644 --- a/data/items/names.asm +++ b/data/items/names.asm @@ -1,5 +1,5 @@ ItemNames:: - list_start + list_start ITEM_NAME_LENGTH - 1 li "MASTER BALL" li "ULTRA BALL" li "GREAT BALL" diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm deleted file mode 100644 index de9eb979..00000000 --- a/data/maps/hide_show_data.asm +++ /dev/null @@ -1,582 +0,0 @@ -; default hidden/shown objects for each map - -MapHSPointers: -; entries correspond to map ids - table_width 2 - dw PalletTownHS - dw ViridianCityHS - dw PewterCityHS - dw CeruleanCityHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw SaffronCityHS - dw NoHS - dw NoHS - dw Route2HS - dw NoHS - dw Route4HS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw Route9HS - dw NoHS - dw NoHS - dw Route12HS - dw NoHS - dw NoHS - dw Route15HS - dw Route16HS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw Route22HS - dw NoHS - dw Route24HS - dw Route25HS - dw NoHS - dw NoHS - dw BluesHouseHS - dw OaksLabHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw ViridianGymHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw ViridianForestHS - dw Museum1FHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw MtMoon1FHS - dw NoHS - dw MtMoonB2FHS - dw NoHS - dw CeruleanMelaniesHouseHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw PowerPlantHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw BillsHouseHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw SSAnne2FHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw SSAnne1FRoomsHS - dw SSAnne2FRoomsHS - dw SSAnneB1FRoomsHS - dw NoHS - dw NoHS - dw NoHS - dw VictoryRoad1FHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw ChampionsRoomHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw CeladonMansionRoofHouseHS - dw NoHS - dw NoHS - dw GameCornerHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw PokemonTower2FHS - dw PokemonTower3FHS - dw PokemonTower4FHS - dw PokemonTower5FHS - dw PokemonTower6FHS - dw PokemonTower7FHS - dw MrFujisHouseHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw WardensHouseHS - dw NoHS - dw NoHS - dw NoHS - dw SeafoamIslandsB1FHS - dw SeafoamIslandsB2FHS - dw SeafoamIslandsB3FHS - dw SeafoamIslandsB4FHS - dw NoHS - dw NoHS - dw PokemonMansion1FHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw FightingDojoHS - dw NoHS - dw NoHS - dw NoHS - dw SilphCo1FHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw SeafoamIslands1FHS - dw NoHS - dw VictoryRoad2FHS - dw NoHS - dw NoHS - dw NoHS - dw VictoryRoad3FHS - dw RocketHideoutB1FHS - dw RocketHideoutB2FHS - dw RocketHideoutB3FHS - dw RocketHideoutB4FHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw SilphCo2FHS - dw SilphCo3FHS - dw SilphCo4FHS - dw SilphCo5FHS - dw SilphCo6FHS - dw SilphCo7FHS - dw SilphCo8FHS - dw PokemonMansion2FHS - dw PokemonMansion3FHS - dw PokemonMansionB1FHS - dw SafariZoneEastHS - dw SafariZoneNorthHS - dw SafariZoneWestHS - dw SafariZoneCenterHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw CeruleanCave2FHS - dw CeruleanCaveB1FHS - dw CeruleanCaveHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw SilphCo9FHS - dw SilphCo10FHS - dw SilphCo11FHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - dw UnusedMapF4HS - dw NoHS - dw NoHS - dw NoHS - dw NoHS - assert_table_length NUM_MAPS - dw -1 ; end - -NoHS: - db -1, -1, -1 ; end - -MissableObjects: -; entries correspond to HS_* constants (see constants/hide_show_constants) - table_width 3 -; format: map id, object id, HIDE/SHOW - -PalletTownHS: - db PALLET_TOWN, PALLETTOWN_OAK, HIDE -ViridianCityHS: - db VIRIDIAN_CITY, VIRIDIANCITY_OLD_MAN_SLEEPY, SHOW - db VIRIDIAN_CITY, VIRIDIANCITY_OLD_MAN, HIDE - db VIRIDIAN_CITY, VIRIDIANCITY_OLD_MAN2, HIDE -PewterCityHS: - db PEWTER_CITY, PEWTERCITY_SUPER_NERD1, SHOW - db PEWTER_CITY, PEWTERCITY_YOUNGSTER, SHOW -CeruleanCityHS: - db CERULEAN_CITY, CERULEANCITY_RIVAL, HIDE - db CERULEAN_CITY, CERULEANCITY_ROCKET, SHOW - db CERULEAN_CITY, CERULEANCITY_GUARD1, HIDE - db CERULEAN_CITY, CERULEANCITY_SUPER_NERD3, SHOW - db CERULEAN_CITY, CERULEANCITY_GUARD2, SHOW -SaffronCityHS: - db SAFFRON_CITY, SAFFRONCITY_ROCKET1, SHOW - db SAFFRON_CITY, SAFFRONCITY_ROCKET2, SHOW - db SAFFRON_CITY, SAFFRONCITY_ROCKET3, SHOW - db SAFFRON_CITY, SAFFRONCITY_ROCKET4, SHOW - db SAFFRON_CITY, SAFFRONCITY_ROCKET5, SHOW - db SAFFRON_CITY, SAFFRONCITY_ROCKET6, SHOW - db SAFFRON_CITY, SAFFRONCITY_ROCKET7, SHOW - db SAFFRON_CITY, SAFFRONCITY_SCIENTIST, HIDE - db SAFFRON_CITY, SAFFRONCITY_SILPH_WORKER_M, HIDE - db SAFFRON_CITY, SAFFRONCITY_SILPH_WORKER_F, HIDE - db SAFFRON_CITY, SAFFRONCITY_GENTLEMAN, HIDE - db SAFFRON_CITY, SAFFRONCITY_PIDGEOT, HIDE - db SAFFRON_CITY, SAFFRONCITY_ROCKER, HIDE - db SAFFRON_CITY, SAFFRONCITY_ROCKET8, SHOW - db SAFFRON_CITY, SAFFRONCITY_ROCKET9, HIDE ; removed in yellow -Route2HS: - db ROUTE_2, ROUTE2_MOON_STONE, SHOW - db ROUTE_2, ROUTE2_HP_UP, SHOW -Route4HS: - db ROUTE_4, ROUTE4_TM_WHIRLWIND, SHOW -Route9HS: - db ROUTE_9, ROUTE9_TM_TELEPORT, SHOW -Route12HS: - db ROUTE_12, ROUTE12_SNORLAX, SHOW - db ROUTE_12, ROUTE12_TM_PAY_DAY, SHOW - db ROUTE_12, ROUTE12_IRON, SHOW -Route15HS: - db ROUTE_15, ROUTE15_TM_RAGE, SHOW -Route16HS: - db ROUTE_16, ROUTE16_SNORLAX, SHOW -Route22HS: - db ROUTE_22, ROUTE22_RIVAL1, HIDE - db ROUTE_22, ROUTE22_RIVAL2, HIDE -Route24HS: - db ROUTE_24, ROUTE24_COOLTRAINER_M1, SHOW - db ROUTE_24, ROUTE24_TM_THUNDER_WAVE, SHOW -Route25HS: - db ROUTE_25, ROUTE25_TM_SEISMIC_TOSS, SHOW -BluesHouseHS: - db BLUES_HOUSE, BLUESHOUSE_DAISY1, SHOW - db BLUES_HOUSE, BLUESHOUSE_DAISY2, HIDE - db BLUES_HOUSE, BLUESHOUSE_TOWN_MAP, SHOW -OaksLabHS: - db OAKS_LAB, OAKSLAB_RIVAL, SHOW - db OAKS_LAB, OAKSLAB_EEVEE_POKE_BALL, SHOW - db OAKS_LAB, OAKSLAB_OAK1, HIDE - db OAKS_LAB, OAKSLAB_POKEDEX1, SHOW - db OAKS_LAB, OAKSLAB_POKEDEX2, SHOW - db OAKS_LAB, OAKSLAB_OAK2, HIDE -ViridianGymHS: - db VIRIDIAN_GYM, VIRIDIANGYM_GIOVANNI, SHOW - db VIRIDIAN_GYM, VIRIDIANGYM_REVIVE, SHOW -Museum1FHS: - db MUSEUM_1F, MUSEUM1F_OLD_AMBER, SHOW -CeruleanMelaniesHouseHS: - db CERULEAN_MELANIES_HOUSE, CERULEANMELANIESHOUSE_BULBASAUR, SHOW -CeruleanCaveHS: - db CERULEAN_CAVE_1F, CERULEANCAVE1F_RARE_CANDY, SHOW - db CERULEAN_CAVE_1F, CERULEANCAVE1F_MAX_ELIXER, SHOW - db CERULEAN_CAVE_1F, CERULEANCAVE1F_MAX_REVIVE, SHOW - db CERULEAN_CAVE_1F, CERULEANCAVE1F_ULTRA_BALL, SHOW -PokemonTower2FHS: - db POKEMON_TOWER_2F, POKEMONTOWER2F_RIVAL, SHOW -PokemonTower3FHS: - db POKEMON_TOWER_3F, POKEMONTOWER3F_ESCAPE_ROPE, SHOW -PokemonTower4FHS: - db POKEMON_TOWER_4F, POKEMONTOWER4F_ELIXER, SHOW - db POKEMON_TOWER_4F, POKEMONTOWER4F_AWAKENING, SHOW - db POKEMON_TOWER_4F, POKEMONTOWER4F_HP_UP, SHOW -PokemonTower5FHS: - db POKEMON_TOWER_5F, POKEMONTOWER5F_NUGGET, SHOW -PokemonTower6FHS: - db POKEMON_TOWER_6F, POKEMONTOWER6F_RARE_CANDY, SHOW - db POKEMON_TOWER_6F, POKEMONTOWER6F_X_ACCURACY, SHOW -PokemonTower7FHS: - db POKEMON_TOWER_7F, POKEMONTOWER7F_JESSIE, HIDE - db POKEMON_TOWER_7F, POKEMONTOWER7F_JAMES, HIDE - db POKEMON_TOWER_7F, POKEMONTOWER7F_MR_FUJI, SHOW -MrFujisHouseHS: - db MR_FUJIS_HOUSE, MRFUJISHOUSE_MR_FUJI, HIDE -CeladonMansionRoofHouseHS: - db CELADON_MANSION_ROOF_HOUSE, CELADONMANSION_ROOF_HOUSE_EEVEE_POKEBALL, SHOW -GameCornerHS: - db GAME_CORNER, GAMECORNER_ROCKET, SHOW -WardensHouseHS: - db WARDENS_HOUSE, WARDENSHOUSE_RARE_CANDY, SHOW -PokemonMansion1FHS: - db POKEMON_MANSION_1F, POKEMONMANSION1F_ESCAPE_ROPE, SHOW - db POKEMON_MANSION_1F, POKEMONMANSION1F_CARBOS, SHOW -FightingDojoHS: - db FIGHTING_DOJO, FIGHTINGDOJO_HITMONLEE_POKE_BALL, SHOW - db FIGHTING_DOJO, FIGHTINGDOJO_HITMONCHAN_POKE_BALL, SHOW -SilphCo1FHS: - db SILPH_CO_1F, SILPHCO1F_LINK_RECEPTIONIST, HIDE -PowerPlantHS: - db POWER_PLANT, POWERPLANT_VOLTORB1, SHOW - db POWER_PLANT, POWERPLANT_VOLTORB2, SHOW - db POWER_PLANT, POWERPLANT_VOLTORB3, SHOW - db POWER_PLANT, POWERPLANT_ELECTRODE1, SHOW - db POWER_PLANT, POWERPLANT_VOLTORB4, SHOW - db POWER_PLANT, POWERPLANT_VOLTORB5, SHOW - db POWER_PLANT, POWERPLANT_ELECTRODE2, SHOW - db POWER_PLANT, POWERPLANT_VOLTORB6, SHOW - db POWER_PLANT, POWERPLANT_ZAPDOS, SHOW - db POWER_PLANT, POWERPLANT_CARBOS, SHOW - db POWER_PLANT, POWERPLANT_HP_UP, SHOW - db POWER_PLANT, POWERPLANT_RARE_CANDY, SHOW - db POWER_PLANT, POWERPLANT_TM_THUNDER, SHOW - db POWER_PLANT, POWERPLANT_TM_REFLECT, SHOW -VictoryRoad2FHS: - db VICTORY_ROAD_2F, VICTORYROAD2F_MOLTRES, SHOW - db VICTORY_ROAD_2F, VICTORYROAD2F_TM_SUBMISSION, SHOW - db VICTORY_ROAD_2F, VICTORYROAD2F_FULL_HEAL, SHOW - db VICTORY_ROAD_2F, VICTORYROAD2F_TM_MEGA_KICK, SHOW - db VICTORY_ROAD_2F, VICTORYROAD2F_GUARD_SPEC, SHOW - db VICTORY_ROAD_2F, VICTORYROAD2F_BOULDER3, SHOW -BillsHouseHS: - db BILLS_HOUSE, BILLSHOUSE_BILL_POKEMON, SHOW - db BILLS_HOUSE, BILLSHOUSE_BILL1, HIDE - db BILLS_HOUSE, BILLSHOUSE_BILL2, HIDE -ViridianForestHS: - db VIRIDIAN_FOREST, VIRIDIANFOREST_POTION1, SHOW - db VIRIDIAN_FOREST, VIRIDIANFOREST_POTION2, SHOW - db VIRIDIAN_FOREST, VIRIDIANFOREST_POKE_BALL, SHOW -MtMoon1FHS: - db MT_MOON_1F, MTMOON1F_POTION1, SHOW - db MT_MOON_1F, MTMOON1F_MOON_STONE, SHOW - db MT_MOON_1F, MTMOON1F_RARE_CANDY, SHOW - db MT_MOON_1F, MTMOON1F_ESCAPE_ROPE, SHOW - db MT_MOON_1F, MTMOON1F_POTION2, SHOW - db MT_MOON_1F, MTMOON1F_TM_WATER_GUN, SHOW -MtMoonB2FHS: - db MT_MOON_B2F, MTMOONB2F_JESSIE, HIDE - db MT_MOON_B2F, MTMOONB2F_JAMES, HIDE - db MT_MOON_B2F, MTMOONB2F_DOME_FOSSIL, SHOW - db MT_MOON_B2F, MTMOONB2F_HELIX_FOSSIL, SHOW - db MT_MOON_B2F, MTMOONB2F_HP_UP, SHOW - db MT_MOON_B2F, MTMOONB2F_TM_MEGA_PUNCH, SHOW -SSAnne2FHS: - db SS_ANNE_2F, SSANNE2F_RIVAL, HIDE -SSAnne1FRoomsHS: - db SS_ANNE_1F_ROOMS, SSANNE1FROOMS_TM_BODY_SLAM, SHOW -SSAnne2FRoomsHS: - db SS_ANNE_2F_ROOMS, SSANNE2FROOMS_MAX_ETHER, SHOW - db SS_ANNE_2F_ROOMS, SSANNE2FROOMS_RARE_CANDY, SHOW -SSAnneB1FRoomsHS: - db SS_ANNE_B1F_ROOMS, SSANNEB1FROOMS_ETHER, SHOW - db SS_ANNE_B1F_ROOMS, SSANNEB1FROOMS_TM_REST, SHOW - db SS_ANNE_B1F_ROOMS, SSANNEB1FROOMS_MAX_POTION, SHOW -VictoryRoad3FHS: - db VICTORY_ROAD_3F, VICTORYROAD3F_MAX_REVIVE, SHOW - db VICTORY_ROAD_3F, VICTORYROAD3F_TM_EXPLOSION, SHOW - db VICTORY_ROAD_3F, VICTORYROAD3F_BOULDER4, SHOW -RocketHideoutB1FHS: - db ROCKET_HIDEOUT_B1F, ROCKETHIDEOUTB1F_ESCAPE_ROPE, SHOW - db ROCKET_HIDEOUT_B1F, ROCKETHIDEOUTB1F_HYPER_POTION, SHOW -RocketHideoutB2FHS: - db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_MOON_STONE, SHOW - db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_NUGGET, SHOW - db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_TM_HORN_DRILL, SHOW - db ROCKET_HIDEOUT_B2F, ROCKETHIDEOUTB2F_SUPER_POTION, SHOW -RocketHideoutB3FHS: - db ROCKET_HIDEOUT_B3F, ROCKETHIDEOUTB3F_TM_DOUBLE_EDGE, SHOW - db ROCKET_HIDEOUT_B3F, ROCKETHIDEOUTB3F_RARE_CANDY, SHOW -RocketHideoutB4FHS: - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_GIOVANNI, SHOW - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_JAMES, HIDE - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_JESSIE, HIDE - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_HP_UP, SHOW - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_TM_RAZOR_WIND, SHOW - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_IRON, SHOW - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_SILPH_SCOPE, HIDE - db ROCKET_HIDEOUT_B4F, ROCKETHIDEOUTB4F_LIFT_KEY, HIDE -SilphCo2FHS: - db SILPH_CO_2F, SILPHCO2F_SILPH_WORKER_F, SHOW - db SILPH_CO_2F, SILPHCO2F_SCIENTIST1, SHOW - db SILPH_CO_2F, SILPHCO2F_SCIENTIST2, SHOW - db SILPH_CO_2F, SILPHCO2F_ROCKET1, SHOW - db SILPH_CO_2F, SILPHCO2F_ROCKET2, SHOW -SilphCo3FHS: - db SILPH_CO_3F, SILPHCO3F_ROCKET, SHOW - db SILPH_CO_3F, SILPHCO3F_SCIENTIST, SHOW - db SILPH_CO_3F, SILPHCO3F_HYPER_POTION, SHOW -SilphCo4FHS: - db SILPH_CO_4F, SILPHCO4F_ROCKET1, SHOW - db SILPH_CO_4F, SILPHCO4F_SCIENTIST, SHOW - db SILPH_CO_4F, SILPHCO4F_ROCKET2, SHOW - db SILPH_CO_4F, SILPHCO4F_FULL_HEAL, SHOW - db SILPH_CO_4F, SILPHCO4F_MAX_REVIVE, SHOW - db SILPH_CO_4F, SILPHCO4F_ESCAPE_ROPE, SHOW -SilphCo5FHS: - db SILPH_CO_5F, SILPHCO5F_ROCKET1, SHOW - db SILPH_CO_5F, SILPHCO5F_SCIENTIST, SHOW - db SILPH_CO_5F, SILPHCO5F_ROCKER, SHOW - db SILPH_CO_5F, SILPHCO5F_ROCKET2, SHOW - db SILPH_CO_5F, SILPHCO5F_TM_TAKE_DOWN, SHOW - db SILPH_CO_5F, SILPHCO5F_PROTEIN, SHOW - db SILPH_CO_5F, SILPHCO5F_CARD_KEY, SHOW -SilphCo6FHS: - db SILPH_CO_6F, SILPHCO6F_ROCKET1, SHOW - db SILPH_CO_6F, SILPHCO6F_SCIENTIST, SHOW - db SILPH_CO_6F, SILPHCO6F_ROCKET2, SHOW - db SILPH_CO_6F, SILPHCO6F_HP_UP, SHOW - db SILPH_CO_6F, SILPHCO6F_X_ACCURACY, SHOW -SilphCo7FHS: - db SILPH_CO_7F, SILPHCO7F_ROCKET1, SHOW - db SILPH_CO_7F, SILPHCO7F_SCIENTIST, SHOW - db SILPH_CO_7F, SILPHCO7F_ROCKET2, SHOW - db SILPH_CO_7F, SILPHCO7F_ROCKET3, SHOW - db SILPH_CO_7F, SILPHCO7F_RIVAL, SHOW - db SILPH_CO_7F, SILPHCO7F_CALCIUM, SHOW - db SILPH_CO_7F, SILPHCO7F_TM_SWORDS_DANCE, SHOW - db SILPH_CO_7F, SILPHCO7F_UNUSED, SHOW -SilphCo8FHS: - db SILPH_CO_8F, SILPHCO8F_ROCKET1, SHOW - db SILPH_CO_8F, SILPHCO8F_SCIENTIST, SHOW - db SILPH_CO_8F, SILPHCO8F_ROCKET2, SHOW -SilphCo9FHS: - db SILPH_CO_9F, SILPHCO9F_ROCKET1, SHOW - db SILPH_CO_9F, SILPHCO9F_SCIENTIST, SHOW - db SILPH_CO_9F, SILPHCO9F_ROCKET2, SHOW -SilphCo10FHS: - db SILPH_CO_10F, SILPHCO10F_ROCKET, SHOW - db SILPH_CO_10F, SILPHCO10F_SCIENTIST, SHOW - db SILPH_CO_10F, SILPHCO10F_SILPH_WORKER_F, SHOW - db SILPH_CO_10F, SILPHCO10F_TM_EARTHQUAKE, SHOW - db SILPH_CO_10F, SILPHCO10F_RARE_CANDY, SHOW - db SILPH_CO_10F, SILPHCO10F_CARBOS, SHOW -SilphCo11FHS: - db SILPH_CO_11F, SILPHCO11F_GIOVANNI, SHOW - db SILPH_CO_11F, SILPHCO11F_JAMES, SHOW - db SILPH_CO_11F, SILPHCO11F_ROCKET, SHOW - db SILPH_CO_11F, SILPHCO11F_JESSIE, SHOW -UnusedMapF4HS: - db UNUSED_MAP_F4, $02, SHOW ; unused -PokemonMansion2FHS: - db POKEMON_MANSION_2F, POKEMONMANSION2F_CALCIUM, SHOW -PokemonMansion3FHS: - db POKEMON_MANSION_3F, POKEMONMANSION3F_MAX_POTION, SHOW - db POKEMON_MANSION_3F, POKEMONMANSION3F_IRON, SHOW -PokemonMansionB1FHS: - db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_RARE_CANDY, SHOW - db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_FULL_RESTORE, SHOW - db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_TM_BLIZZARD, SHOW - db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_TM_SOLARBEAM, SHOW - db POKEMON_MANSION_B1F, POKEMONMANSIONB1F_SECRET_KEY, SHOW -SafariZoneEastHS: - db SAFARI_ZONE_EAST, SAFARIZONEEAST_FULL_RESTORE, SHOW - db SAFARI_ZONE_EAST, SAFARIZONEEAST_MAX_RESTORE, SHOW - db SAFARI_ZONE_EAST, SAFARIZONEEAST_CARBOS, SHOW - db SAFARI_ZONE_EAST, SAFARIZONEEAST_TM_EGG_BOMB, SHOW -SafariZoneNorthHS: - db SAFARI_ZONE_NORTH, SAFARIZONENORTH_PROTEIN, SHOW - db SAFARI_ZONE_NORTH, SAFARIZONENORTH_TM_SKULL_BASH, SHOW -SafariZoneWestHS: - db SAFARI_ZONE_WEST, SAFARIZONEWEST_MAX_POTION, SHOW - db SAFARI_ZONE_WEST, SAFARIZONEWEST_TM_DOUBLE_TEAM, SHOW - db SAFARI_ZONE_WEST, SAFARIZONEWEST_MAX_REVIVE, SHOW - db SAFARI_ZONE_WEST, SAFARIZONEWEST_GOLD_TEETH, SHOW -SafariZoneCenterHS: - db SAFARI_ZONE_CENTER, SAFARIZONECENTER_NUGGET, SHOW -CeruleanCave2FHS: - db CERULEAN_CAVE_2F, CERULEANCAVE2F_RARE_CANDY, SHOW - db CERULEAN_CAVE_2F, CERULEANCAVE2F_ULTRA_BALL, SHOW - db CERULEAN_CAVE_2F, CERULEANCAVE2F_MAX_REVIVE, SHOW - db CERULEAN_CAVE_2F, CERULEANCAVE2F_FULL_RESTORE, SHOW -CeruleanCaveB1FHS: - db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_MEWTWO, SHOW - db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_ULTRA_BALL1, SHOW - db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_ULTRA_BALL2, SHOW - db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_MAX_REVIVE, SHOW - db CERULEAN_CAVE_B1F, CERULEANCAVEB1F_MAX_ELIXER, SHOW -VictoryRoad1FHS: - db VICTORY_ROAD_1F, VICTORYROAD1F_TM_SKY_ATTACK, SHOW - db VICTORY_ROAD_1F, VICTORYROAD1F_RARE_CANDY, SHOW -ChampionsRoomHS: - db CHAMPIONS_ROOM, CHAMPIONSROOM_OAK, HIDE -SeafoamIslands1FHS: - db SEAFOAM_ISLANDS_1F, SEAFOAMISLANDS1F_BOULDER1, SHOW - db SEAFOAM_ISLANDS_1F, SEAFOAMISLANDS1F_BOULDER2, SHOW -SeafoamIslandsB1FHS: - db SEAFOAM_ISLANDS_B1F, SEAFOAMISLANDSB1F_BOULDER1, HIDE - db SEAFOAM_ISLANDS_B1F, SEAFOAMISLANDSB1F_BOULDER2, HIDE -SeafoamIslandsB2FHS: - db SEAFOAM_ISLANDS_B2F, SEAFOAMISLANDSB2F_BOULDER1, HIDE - db SEAFOAM_ISLANDS_B2F, SEAFOAMISLANDSB2F_BOULDER2, HIDE -SeafoamIslandsB3FHS: - db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER2, SHOW - db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER3, SHOW - db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER5, HIDE - db SEAFOAM_ISLANDS_B3F, SEAFOAMISLANDSB3F_BOULDER6, HIDE -SeafoamIslandsB4FHS: - db SEAFOAM_ISLANDS_B4F, SEAFOAMISLANDSB4F_BOULDER1, HIDE - db SEAFOAM_ISLANDS_B4F, SEAFOAMISLANDSB4F_BOULDER2, HIDE - db SEAFOAM_ISLANDS_B4F, SEAFOAMISLANDSB4F_ARTICUNO, SHOW -BluesHouseHSCopy: ; unreferenced - db BLUES_HOUSE, BLUESHOUSE_DAISY1, SHOW - db BLUES_HOUSE, BLUESHOUSE_DAISY2, HIDE - db BLUES_HOUSE, BLUESHOUSE_TOWN_MAP, SHOW - assert_table_length NUM_HS_OBJECTS - db -1, 1, SHOW ; end diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index 6b09c84a..26715480 100644 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -13,7 +13,7 @@ const_export SAFFRONCITY_PIDGEOT const_export SAFFRONCITY_ROCKER const_export SAFFRONCITY_ROCKET8 - const_export SAFFRONCITY_ROCKET9 ; removed in yellow, but still referenced in data/maps/hide_show_data.asm + const_export SAFFRONCITY_ROCKET9 ; removed in yellow, but still referenced in data/maps/toggleable_objects.asm SaffronCity_Object: db $f ; border block diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 6f2ca90d..0dbe2c7f 100644 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -10,7 +10,7 @@ const_export SILPHCO7F_RIVAL const_export SILPHCO7F_CALCIUM const_export SILPHCO7F_TM_SWORDS_DANCE - const_export SILPHCO7F_UNUSED ; referenced in data/maps/hide_show_data.asm, no corresponding object_event + const_export SILPHCO7F_UNUSED ; referenced in data/maps/toggleable_objects.asm, no corresponding object_event SilphCo7F_Object: db $2e ; border block diff --git a/data/maps/toggleable_objects.asm b/data/maps/toggleable_objects.asm new file mode 100644 index 00000000..c628bd88 --- /dev/null +++ b/data/maps/toggleable_objects.asm @@ -0,0 +1,438 @@ +; toggleable objects for each map + +ToggleableObjectMapPointers: +; entries correspond to map ids + table_width 2 +FOR n, NUM_MAPS + IF DEF(TOGGLEMAP{n}_NAME) ; defined by `toggle_consts_for` + dw ToggleData_{TOGGLEMAP{n}_NAME} + ELSE + dw NoToggleData + ENDC +ENDR + assert_table_length NUM_MAPS + dw -1 ; end + +NoToggleData: + db -1, -1, -1 ; end + +DEF toggles_ok = 1 + +MACRO? toggleable_objects_for + DEF toggle_map_id = \1 ; map id + ToggleData_\1: + IF toggles_ok + ASSERT DEF(TOGGLEMAP{toggle_map_id}_ID), \ + "`toggleable_objects_for \1` is not defined" + DEF toggles_ok &= DEF(TOGGLEMAP{toggle_map_id}_ID) + IF toggles_ok + assert_table_length TOGGLEMAP{toggle_map_id}_ID + DEF toggles_ok &= TOGGLEMAP{toggle_map_id}_ID * 3 == @ - ToggleableObjectStates + ENDC + ENDC +ENDM + +MACRO toggle_object_state + db toggle_map_id ; from previous `toggleable_objects_for` + db \1 ; object id + db \2 ; OFF/ON +ENDM + +ToggleableObjectStates: +; entries correspond to TOGGLE_* constants (see constants/toggle_constants.asm) + table_width 3 + + toggleable_objects_for PALLET_TOWN + toggle_object_state PALLETTOWN_OAK, OFF + + toggleable_objects_for VIRIDIAN_CITY + toggle_object_state VIRIDIANCITY_OLD_MAN_SLEEPY, ON + toggle_object_state VIRIDIANCITY_OLD_MAN, OFF + toggle_object_state VIRIDIANCITY_OLD_MAN2, OFF + + toggleable_objects_for PEWTER_CITY + toggle_object_state PEWTERCITY_SUPER_NERD1, ON + toggle_object_state PEWTERCITY_YOUNGSTER, ON + + toggleable_objects_for CERULEAN_CITY + toggle_object_state CERULEANCITY_RIVAL, OFF + toggle_object_state CERULEANCITY_ROCKET, ON + toggle_object_state CERULEANCITY_GUARD1, OFF + toggle_object_state CERULEANCITY_SUPER_NERD3, ON + toggle_object_state CERULEANCITY_GUARD2, ON + + toggleable_objects_for SAFFRON_CITY + toggle_object_state SAFFRONCITY_ROCKET1, ON + toggle_object_state SAFFRONCITY_ROCKET2, ON + toggle_object_state SAFFRONCITY_ROCKET3, ON + toggle_object_state SAFFRONCITY_ROCKET4, ON + toggle_object_state SAFFRONCITY_ROCKET5, ON + toggle_object_state SAFFRONCITY_ROCKET6, ON + toggle_object_state SAFFRONCITY_ROCKET7, ON + toggle_object_state SAFFRONCITY_SCIENTIST, OFF + toggle_object_state SAFFRONCITY_SILPH_WORKER_M, OFF + toggle_object_state SAFFRONCITY_SILPH_WORKER_F, OFF + toggle_object_state SAFFRONCITY_GENTLEMAN, OFF + toggle_object_state SAFFRONCITY_PIDGEOT, OFF + toggle_object_state SAFFRONCITY_ROCKER, OFF + toggle_object_state SAFFRONCITY_ROCKET8, ON + toggle_object_state SAFFRONCITY_ROCKET9, OFF ; removed in yellow + + toggleable_objects_for ROUTE_2 + toggle_object_state ROUTE2_MOON_STONE, ON + toggle_object_state ROUTE2_HP_UP, ON + + toggleable_objects_for ROUTE_4 + toggle_object_state ROUTE4_TM_WHIRLWIND, ON + + toggleable_objects_for ROUTE_9 + toggle_object_state ROUTE9_TM_TELEPORT, ON + + toggleable_objects_for ROUTE_12 + toggle_object_state ROUTE12_SNORLAX, ON + toggle_object_state ROUTE12_TM_PAY_DAY, ON + toggle_object_state ROUTE12_IRON, ON + + toggleable_objects_for ROUTE_15 + toggle_object_state ROUTE15_TM_RAGE, ON + + toggleable_objects_for ROUTE_16 + toggle_object_state ROUTE16_SNORLAX, ON + + toggleable_objects_for ROUTE_22 + toggle_object_state ROUTE22_RIVAL1, OFF + toggle_object_state ROUTE22_RIVAL2, OFF + + toggleable_objects_for ROUTE_24 + toggle_object_state ROUTE24_COOLTRAINER_M1, ON + toggle_object_state ROUTE24_TM_THUNDER_WAVE, ON + + toggleable_objects_for ROUTE_25 + toggle_object_state ROUTE25_TM_SEISMIC_TOSS, ON + + toggleable_objects_for BLUES_HOUSE + toggle_object_state BLUESHOUSE_DAISY1, ON + toggle_object_state BLUESHOUSE_DAISY2, OFF + toggle_object_state BLUESHOUSE_TOWN_MAP, ON + + toggleable_objects_for OAKS_LAB + toggle_object_state OAKSLAB_RIVAL, ON + toggle_object_state OAKSLAB_EEVEE_POKE_BALL, ON + toggle_object_state OAKSLAB_OAK1, OFF + toggle_object_state OAKSLAB_POKEDEX1, ON + toggle_object_state OAKSLAB_POKEDEX2, ON + toggle_object_state OAKSLAB_OAK2, OFF + + toggleable_objects_for VIRIDIAN_GYM + toggle_object_state VIRIDIANGYM_GIOVANNI, ON + toggle_object_state VIRIDIANGYM_REVIVE, ON + + toggleable_objects_for MUSEUM_1F + toggle_object_state MUSEUM1F_OLD_AMBER, ON + + toggleable_objects_for CERULEAN_MELANIES_HOUSE + toggle_object_state CERULEANMELANIESHOUSE_BULBASAUR, ON + + toggleable_objects_for CERULEAN_CAVE_1F + toggle_object_state CERULEANCAVE1F_RARE_CANDY, ON + toggle_object_state CERULEANCAVE1F_MAX_ELIXER, ON + toggle_object_state CERULEANCAVE1F_MAX_REVIVE, ON + toggle_object_state CERULEANCAVE1F_ULTRA_BALL, ON + + toggleable_objects_for POKEMON_TOWER_2F + toggle_object_state POKEMONTOWER2F_RIVAL, ON + + toggleable_objects_for POKEMON_TOWER_3F + toggle_object_state POKEMONTOWER3F_ESCAPE_ROPE, ON + + toggleable_objects_for POKEMON_TOWER_4F + toggle_object_state POKEMONTOWER4F_ELIXER, ON + toggle_object_state POKEMONTOWER4F_AWAKENING, ON + toggle_object_state POKEMONTOWER4F_HP_UP, ON + + toggleable_objects_for POKEMON_TOWER_5F + toggle_object_state POKEMONTOWER5F_NUGGET, ON + + toggleable_objects_for POKEMON_TOWER_6F + toggle_object_state POKEMONTOWER6F_RARE_CANDY, ON + toggle_object_state POKEMONTOWER6F_X_ACCURACY, ON + + toggleable_objects_for POKEMON_TOWER_7F + toggle_object_state POKEMONTOWER7F_JESSIE, OFF + toggle_object_state POKEMONTOWER7F_JAMES, OFF + toggle_object_state POKEMONTOWER7F_MR_FUJI, ON + + toggleable_objects_for MR_FUJIS_HOUSE + toggle_object_state MRFUJISHOUSE_MR_FUJI, OFF + + toggleable_objects_for CELADON_MANSION_ROOF_HOUSE + toggle_object_state CELADONMANSION_ROOF_HOUSE_EEVEE_POKEBALL, ON + + toggleable_objects_for GAME_CORNER + toggle_object_state GAMECORNER_ROCKET, ON + + toggleable_objects_for WARDENS_HOUSE + toggle_object_state WARDENSHOUSE_RARE_CANDY, ON + + toggleable_objects_for POKEMON_MANSION_1F + toggle_object_state POKEMONMANSION1F_ESCAPE_ROPE, ON + toggle_object_state POKEMONMANSION1F_CARBOS, ON + + toggleable_objects_for FIGHTING_DOJO + toggle_object_state FIGHTINGDOJO_HITMONLEE_POKE_BALL, ON + toggle_object_state FIGHTINGDOJO_HITMONCHAN_POKE_BALL, ON + + toggleable_objects_for SILPH_CO_1F + toggle_object_state SILPHCO1F_LINK_RECEPTIONIST, OFF + + toggleable_objects_for POWER_PLANT + toggle_object_state POWERPLANT_VOLTORB1, ON + toggle_object_state POWERPLANT_VOLTORB2, ON + toggle_object_state POWERPLANT_VOLTORB3, ON + toggle_object_state POWERPLANT_ELECTRODE1, ON + toggle_object_state POWERPLANT_VOLTORB4, ON + toggle_object_state POWERPLANT_VOLTORB5, ON + toggle_object_state POWERPLANT_ELECTRODE2, ON + toggle_object_state POWERPLANT_VOLTORB6, ON + toggle_object_state POWERPLANT_ZAPDOS, ON + toggle_object_state POWERPLANT_CARBOS, ON + toggle_object_state POWERPLANT_HP_UP, ON + toggle_object_state POWERPLANT_RARE_CANDY, ON + toggle_object_state POWERPLANT_TM_THUNDER, ON + toggle_object_state POWERPLANT_TM_REFLECT, ON + + toggleable_objects_for VICTORY_ROAD_2F + toggle_object_state VICTORYROAD2F_MOLTRES, ON + toggle_object_state VICTORYROAD2F_TM_SUBMISSION, ON + toggle_object_state VICTORYROAD2F_FULL_HEAL, ON + toggle_object_state VICTORYROAD2F_TM_MEGA_KICK, ON + toggle_object_state VICTORYROAD2F_GUARD_SPEC, ON + toggle_object_state VICTORYROAD2F_BOULDER3, ON + + toggleable_objects_for BILLS_HOUSE + toggle_object_state BILLSHOUSE_BILL_POKEMON, ON + toggle_object_state BILLSHOUSE_BILL1, OFF + toggle_object_state BILLSHOUSE_BILL2, OFF + + toggleable_objects_for VIRIDIAN_FOREST + toggle_object_state VIRIDIANFOREST_POTION1, ON + toggle_object_state VIRIDIANFOREST_POTION2, ON + toggle_object_state VIRIDIANFOREST_POKE_BALL, ON + + toggleable_objects_for MT_MOON_1F + toggle_object_state MTMOON1F_POTION1, ON + toggle_object_state MTMOON1F_MOON_STONE, ON + toggle_object_state MTMOON1F_RARE_CANDY, ON + toggle_object_state MTMOON1F_ESCAPE_ROPE, ON + toggle_object_state MTMOON1F_POTION2, ON + toggle_object_state MTMOON1F_TM_WATER_GUN, ON + + toggleable_objects_for MT_MOON_B2F + toggle_object_state MTMOONB2F_JESSIE, OFF + toggle_object_state MTMOONB2F_JAMES, OFF + toggle_object_state MTMOONB2F_DOME_FOSSIL, ON + toggle_object_state MTMOONB2F_HELIX_FOSSIL, ON + toggle_object_state MTMOONB2F_HP_UP, ON + toggle_object_state MTMOONB2F_TM_MEGA_PUNCH, ON + + toggleable_objects_for SS_ANNE_2F + toggle_object_state SSANNE2F_RIVAL, OFF + + toggleable_objects_for SS_ANNE_1F_ROOMS + toggle_object_state SSANNE1FROOMS_TM_BODY_SLAM, ON + + toggleable_objects_for SS_ANNE_2F_ROOMS + toggle_object_state SSANNE2FROOMS_MAX_ETHER, ON + toggle_object_state SSANNE2FROOMS_RARE_CANDY, ON + + toggleable_objects_for SS_ANNE_B1F_ROOMS + toggle_object_state SSANNEB1FROOMS_ETHER, ON + toggle_object_state SSANNEB1FROOMS_TM_REST, ON + toggle_object_state SSANNEB1FROOMS_MAX_POTION, ON + + toggleable_objects_for VICTORY_ROAD_3F + toggle_object_state VICTORYROAD3F_MAX_REVIVE, ON + toggle_object_state VICTORYROAD3F_TM_EXPLOSION, ON + toggle_object_state VICTORYROAD3F_BOULDER4, ON + + toggleable_objects_for ROCKET_HIDEOUT_B1F + toggle_object_state ROCKETHIDEOUTB1F_ESCAPE_ROPE, ON + toggle_object_state ROCKETHIDEOUTB1F_HYPER_POTION, ON + + toggleable_objects_for ROCKET_HIDEOUT_B2F + toggle_object_state ROCKETHIDEOUTB2F_MOON_STONE, ON + toggle_object_state ROCKETHIDEOUTB2F_NUGGET, ON + toggle_object_state ROCKETHIDEOUTB2F_TM_HORN_DRILL, ON + toggle_object_state ROCKETHIDEOUTB2F_SUPER_POTION, ON + + toggleable_objects_for ROCKET_HIDEOUT_B3F + toggle_object_state ROCKETHIDEOUTB3F_TM_DOUBLE_EDGE, ON + toggle_object_state ROCKETHIDEOUTB3F_RARE_CANDY, ON + + toggleable_objects_for ROCKET_HIDEOUT_B4F + toggle_object_state ROCKETHIDEOUTB4F_GIOVANNI, ON + toggle_object_state ROCKETHIDEOUTB4F_JAMES, OFF + toggle_object_state ROCKETHIDEOUTB4F_JESSIE, OFF + toggle_object_state ROCKETHIDEOUTB4F_HP_UP, ON + toggle_object_state ROCKETHIDEOUTB4F_TM_RAZOR_WIND, ON + toggle_object_state ROCKETHIDEOUTB4F_IRON, ON + toggle_object_state ROCKETHIDEOUTB4F_SILPH_SCOPE, OFF + toggle_object_state ROCKETHIDEOUTB4F_LIFT_KEY, OFF + + toggleable_objects_for SILPH_CO_2F + toggle_object_state SILPHCO2F_SILPH_WORKER_F, ON + toggle_object_state SILPHCO2F_SCIENTIST1, ON + toggle_object_state SILPHCO2F_SCIENTIST2, ON + toggle_object_state SILPHCO2F_ROCKET1, ON + toggle_object_state SILPHCO2F_ROCKET2, ON + + toggleable_objects_for SILPH_CO_3F + toggle_object_state SILPHCO3F_ROCKET, ON + toggle_object_state SILPHCO3F_SCIENTIST, ON + toggle_object_state SILPHCO3F_HYPER_POTION, ON + + toggleable_objects_for SILPH_CO_4F + toggle_object_state SILPHCO4F_ROCKET1, ON + toggle_object_state SILPHCO4F_SCIENTIST, ON + toggle_object_state SILPHCO4F_ROCKET2, ON + toggle_object_state SILPHCO4F_FULL_HEAL, ON + toggle_object_state SILPHCO4F_MAX_REVIVE, ON + toggle_object_state SILPHCO4F_ESCAPE_ROPE, ON + + toggleable_objects_for SILPH_CO_5F + toggle_object_state SILPHCO5F_ROCKET1, ON + toggle_object_state SILPHCO5F_SCIENTIST, ON + toggle_object_state SILPHCO5F_ROCKER, ON + toggle_object_state SILPHCO5F_ROCKET2, ON + toggle_object_state SILPHCO5F_TM_TAKE_DOWN, ON + toggle_object_state SILPHCO5F_PROTEIN, ON + toggle_object_state SILPHCO5F_CARD_KEY, ON + + toggleable_objects_for SILPH_CO_6F + toggle_object_state SILPHCO6F_ROCKET1, ON + toggle_object_state SILPHCO6F_SCIENTIST, ON + toggle_object_state SILPHCO6F_ROCKET2, ON + toggle_object_state SILPHCO6F_HP_UP, ON + toggle_object_state SILPHCO6F_X_ACCURACY, ON + + toggleable_objects_for SILPH_CO_7F + toggle_object_state SILPHCO7F_ROCKET1, ON + toggle_object_state SILPHCO7F_SCIENTIST, ON + toggle_object_state SILPHCO7F_ROCKET2, ON + toggle_object_state SILPHCO7F_ROCKET3, ON + toggle_object_state SILPHCO7F_RIVAL, ON + toggle_object_state SILPHCO7F_CALCIUM, ON + toggle_object_state SILPHCO7F_TM_SWORDS_DANCE, ON + toggle_object_state SILPHCO7F_UNUSED, ON + + toggleable_objects_for SILPH_CO_8F + toggle_object_state SILPHCO8F_ROCKET1, ON + toggle_object_state SILPHCO8F_SCIENTIST, ON + toggle_object_state SILPHCO8F_ROCKET2, ON + + toggleable_objects_for SILPH_CO_9F + toggle_object_state SILPHCO9F_ROCKET1, ON + toggle_object_state SILPHCO9F_SCIENTIST, ON + toggle_object_state SILPHCO9F_ROCKET2, ON + + toggleable_objects_for SILPH_CO_10F + toggle_object_state SILPHCO10F_ROCKET, ON + toggle_object_state SILPHCO10F_SCIENTIST, ON + toggle_object_state SILPHCO10F_SILPH_WORKER_F, ON + toggle_object_state SILPHCO10F_TM_EARTHQUAKE, ON + toggle_object_state SILPHCO10F_RARE_CANDY, ON + toggle_object_state SILPHCO10F_CARBOS, ON + + toggleable_objects_for SILPH_CO_11F + toggle_object_state SILPHCO11F_GIOVANNI, ON + toggle_object_state SILPHCO11F_JAMES, ON + toggle_object_state SILPHCO11F_ROCKET, ON + toggle_object_state SILPHCO11F_JESSIE, ON + + toggleable_objects_for UNUSED_MAP_F4 + toggle_object_state $02, ON ; unused + + toggleable_objects_for POKEMON_MANSION_2F + toggle_object_state POKEMONMANSION2F_CALCIUM, ON + + toggleable_objects_for POKEMON_MANSION_3F + toggle_object_state POKEMONMANSION3F_MAX_POTION, ON + toggle_object_state POKEMONMANSION3F_IRON, ON + + toggleable_objects_for POKEMON_MANSION_B1F + toggle_object_state POKEMONMANSIONB1F_RARE_CANDY, ON + toggle_object_state POKEMONMANSIONB1F_FULL_RESTORE, ON + toggle_object_state POKEMONMANSIONB1F_TM_BLIZZARD, ON + toggle_object_state POKEMONMANSIONB1F_TM_SOLARBEAM, ON + toggle_object_state POKEMONMANSIONB1F_SECRET_KEY, ON + + toggleable_objects_for SAFARI_ZONE_EAST + toggle_object_state SAFARIZONEEAST_FULL_RESTORE, ON + toggle_object_state SAFARIZONEEAST_MAX_RESTORE, ON + toggle_object_state SAFARIZONEEAST_CARBOS, ON + toggle_object_state SAFARIZONEEAST_TM_EGG_BOMB, ON + + toggleable_objects_for SAFARI_ZONE_NORTH + toggle_object_state SAFARIZONENORTH_PROTEIN, ON + toggle_object_state SAFARIZONENORTH_TM_SKULL_BASH, ON + + toggleable_objects_for SAFARI_ZONE_WEST + toggle_object_state SAFARIZONEWEST_MAX_POTION, ON + toggle_object_state SAFARIZONEWEST_TM_DOUBLE_TEAM, ON + toggle_object_state SAFARIZONEWEST_MAX_REVIVE, ON + toggle_object_state SAFARIZONEWEST_GOLD_TEETH, ON + + toggleable_objects_for SAFARI_ZONE_CENTER + toggle_object_state SAFARIZONECENTER_NUGGET, ON + + toggleable_objects_for CERULEAN_CAVE_2F + toggle_object_state CERULEANCAVE2F_RARE_CANDY, ON + toggle_object_state CERULEANCAVE2F_ULTRA_BALL, ON + toggle_object_state CERULEANCAVE2F_MAX_REVIVE, ON + toggle_object_state CERULEANCAVE2F_FULL_RESTORE, ON + + toggleable_objects_for CERULEAN_CAVE_B1F + toggle_object_state CERULEANCAVEB1F_MEWTWO, ON + toggle_object_state CERULEANCAVEB1F_ULTRA_BALL1, ON + toggle_object_state CERULEANCAVEB1F_ULTRA_BALL2, ON + toggle_object_state CERULEANCAVEB1F_MAX_REVIVE, ON + toggle_object_state CERULEANCAVEB1F_MAX_ELIXER, ON + + toggleable_objects_for VICTORY_ROAD_1F + toggle_object_state VICTORYROAD1F_TM_SKY_ATTACK, ON + toggle_object_state VICTORYROAD1F_RARE_CANDY, ON + + toggleable_objects_for CHAMPIONS_ROOM + toggle_object_state CHAMPIONSROOM_OAK, OFF + + toggleable_objects_for SEAFOAM_ISLANDS_1F + toggle_object_state SEAFOAMISLANDS1F_BOULDER1, ON + toggle_object_state SEAFOAMISLANDS1F_BOULDER2, ON + + toggleable_objects_for SEAFOAM_ISLANDS_B1F + toggle_object_state SEAFOAMISLANDSB1F_BOULDER1, OFF + toggle_object_state SEAFOAMISLANDSB1F_BOULDER2, OFF + + toggleable_objects_for SEAFOAM_ISLANDS_B2F + toggle_object_state SEAFOAMISLANDSB2F_BOULDER1, OFF + toggle_object_state SEAFOAMISLANDSB2F_BOULDER2, OFF + + toggleable_objects_for SEAFOAM_ISLANDS_B3F + toggle_object_state SEAFOAMISLANDSB3F_BOULDER2, ON + toggle_object_state SEAFOAMISLANDSB3F_BOULDER3, ON + toggle_object_state SEAFOAMISLANDSB3F_BOULDER5, OFF + toggle_object_state SEAFOAMISLANDSB3F_BOULDER6, OFF + + toggleable_objects_for SEAFOAM_ISLANDS_B4F + toggle_object_state SEAFOAMISLANDSB4F_BOULDER1, OFF + toggle_object_state SEAFOAMISLANDSB4F_BOULDER2, OFF + toggle_object_state SEAFOAMISLANDSB4F_ARTICUNO, ON + +; unreferenced + db BLUES_HOUSE, BLUESHOUSE_DAISY1, ON + db BLUES_HOUSE, BLUESHOUSE_DAISY2, OFF + db BLUES_HOUSE, BLUESHOUSE_TOWN_MAP, ON + + assert_table_length NUM_TOGGLEABLE_OBJECTS + + db -1, 1, ON ; end diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index 0f6976ae..d67f6f97 100644 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -1,4 +1,4 @@ -MACRO external_map +MACRO outdoor_map dn \2, \1 dw \3 ENDM @@ -7,114 +7,116 @@ ENDM ExternalMapEntries: table_width 3 ; x, y, name - external_map 2, 11, PalletTownName - external_map 2, 8, ViridianCityName - external_map 2, 3, PewterCityName - external_map 10, 2, CeruleanCityName - external_map 14, 5, LavenderTownName - external_map 10, 9, VermilionCityName - external_map 7, 5, CeladonCityName - external_map 8, 13, FuchsiaCityName - external_map 2, 15, CinnabarIslandName - external_map 0, 2, IndigoPlateauName - external_map 10, 5, SaffronCityName - external_map 0, 0, PalletTownName ; unused - external_map 2, 10, Route1Name - external_map 2, 6, Route2Name - external_map 4, 3, Route3Name - external_map 8, 2, Route4Name - external_map 10, 3, Route5Name - external_map 10, 8, Route6Name - external_map 8, 5, Route7Name - external_map 13, 5, Route8Name - external_map 13, 2, Route9Name - external_map 14, 4, Route10Name - external_map 12, 9, Route11Name - external_map 14, 9, Route12Name - external_map 13, 11, Route13Name - external_map 11, 12, Route14Name - external_map 10, 13, Route15Name - external_map 5, 5, Route16Name - external_map 4, 8, Route17Name - external_map 6, 13, Route18Name - external_map 6, 15, Route19Name - external_map 4, 15, Route20Name - external_map 2, 13, Route21Name - external_map 0, 8, Route22Name - external_map 0, 6, Route23Name - external_map 10, 1, Route24Name - external_map 11, 0, Route25Name + outdoor_map 2, 11, PalletTownName + outdoor_map 2, 8, ViridianCityName + outdoor_map 2, 3, PewterCityName + outdoor_map 10, 2, CeruleanCityName + outdoor_map 14, 5, LavenderTownName + outdoor_map 10, 9, VermilionCityName + outdoor_map 7, 5, CeladonCityName + outdoor_map 8, 13, FuchsiaCityName + outdoor_map 2, 15, CinnabarIslandName + outdoor_map 0, 2, IndigoPlateauName + outdoor_map 10, 5, SaffronCityName + outdoor_map 0, 0, PalletTownName ; unused + outdoor_map 2, 10, Route1Name + outdoor_map 2, 6, Route2Name + outdoor_map 4, 3, Route3Name + outdoor_map 8, 2, Route4Name + outdoor_map 10, 3, Route5Name + outdoor_map 10, 8, Route6Name + outdoor_map 8, 5, Route7Name + outdoor_map 13, 5, Route8Name + outdoor_map 13, 2, Route9Name + outdoor_map 14, 4, Route10Name + outdoor_map 12, 9, Route11Name + outdoor_map 14, 9, Route12Name + outdoor_map 13, 11, Route13Name + outdoor_map 11, 12, Route14Name + outdoor_map 10, 13, Route15Name + outdoor_map 5, 5, Route16Name + outdoor_map 4, 8, Route17Name + outdoor_map 6, 13, Route18Name + outdoor_map 6, 15, Route19Name + outdoor_map 4, 15, Route20Name + outdoor_map 2, 13, Route21Name + outdoor_map 0, 8, Route22Name + outdoor_map 0, 6, Route23Name + outdoor_map 10, 1, Route24Name + outdoor_map 11, 0, Route25Name assert_table_length FIRST_INDOOR_MAP -MACRO internal_map - db \1 + 1 +MACRO indoor_map + db INDOORGROUP_\1 dn \3, \2 dw \4 ENDM ; the appearance of buildings and dungeons in the town map InternalMapEntries: - ; maximum map id subject to this rule, x, y, name - internal_map OAKS_LAB, 2, 11, PalletTownName - internal_map VIRIDIAN_GYM, 2, 8, ViridianCityName - internal_map VIRIDIAN_FOREST_SOUTH_GATE, 2, 6, Route2Name - internal_map VIRIDIAN_FOREST, 2, 4, ViridianForestName - internal_map PEWTER_POKECENTER, 2, 3, PewterCityName - internal_map MT_MOON_B2F, 6, 2, MountMoonName - internal_map CERULEAN_MART, 10, 2, CeruleanCityName - internal_map MT_MOON_POKECENTER, 5, 2, Route4Name - internal_map CERULEAN_TRASHED_HOUSE_COPY, 10, 2, CeruleanCityName - internal_map DAYCARE, 10, 4, Route5Name - internal_map UNDERGROUND_PATH_ROUTE_6_COPY, 10, 6, Route6Name - internal_map UNDERGROUND_PATH_ROUTE_7_COPY, 9, 5, Route7Name - internal_map UNDERGROUND_PATH_ROUTE_8, 11, 5, Route8Name - internal_map ROCK_TUNNEL_1F, 14, 3, RockTunnelName - internal_map POWER_PLANT, 15, 4, PowerPlantName - internal_map ROUTE_11_GATE_2F, 13, 9, Route11Name - internal_map ROUTE_12_GATE_1F, 14, 7, Route12Name - internal_map BILLS_HOUSE, 12, 0, SeaCottageName - internal_map VERMILION_DOCK, 10, 9, VermilionCityName - internal_map SS_ANNE_B1F_ROOMS, 9, 10, SSAnneName - internal_map VICTORY_ROAD_1F, 0, 4, VictoryRoadName - internal_map HALL_OF_FAME, 0, 2, PokemonLeagueName - internal_map UNDERGROUND_PATH_NORTH_SOUTH, 10, 5, UndergroundPathName - internal_map CHAMPIONS_ROOM, 0, 2, PokemonLeagueName - internal_map UNDERGROUND_PATH_WEST_EAST, 10, 5, UndergroundPathName - internal_map CELADON_HOTEL, 7, 5, CeladonCityName - internal_map LAVENDER_POKECENTER, 14, 5, LavenderTownName - internal_map POKEMON_TOWER_7F, 15, 5, PokemonTowerName - internal_map LAVENDER_CUBONE_HOUSE, 14, 5, LavenderTownName - internal_map WARDENS_HOUSE, 8, 13, FuchsiaCityName - internal_map SAFARI_ZONE_GATE, 8, 12, SafariZoneName - internal_map FUCHSIA_MEETING_ROOM, 8, 13, FuchsiaCityName - internal_map SEAFOAM_ISLANDS_B4F, 5, 15, SeafoamIslandsName - internal_map VERMILION_OLD_ROD_HOUSE, 10, 9, VermilionCityName - internal_map FUCHSIA_GOOD_ROD_HOUSE, 8, 13, FuchsiaCityName - internal_map POKEMON_MANSION_1F, 2, 15, PokemonMansionName - internal_map CINNABAR_MART_COPY, 2, 15, CinnabarIslandName - internal_map INDIGO_PLATEAU_LOBBY, 0, 2, IndigoPlateauName - internal_map MR_PSYCHICS_HOUSE, 10, 5, SaffronCityName - internal_map ROUTE_15_GATE_2F, 9, 13, Route15Name - internal_map ROUTE_16_FLY_HOUSE, 4, 5, Route16Name - internal_map ROUTE_12_SUPER_ROD_HOUSE, 14, 10, Route12Name - internal_map ROUTE_18_GATE_2F, 7, 13, Route18Name - internal_map SEAFOAM_ISLANDS_1F, 5, 15, SeafoamIslandsName - internal_map ROUTE_22_GATE, 0, 7, Route22Name - internal_map VICTORY_ROAD_2F, 0, 4, VictoryRoadName - internal_map ROUTE_12_GATE_2F, 14, 7, Route12Name - internal_map VERMILION_TRADE_HOUSE, 10, 9, VermilionCityName - internal_map DIGLETTS_CAVE, 3, 4, DiglettsCaveName - internal_map VICTORY_ROAD_3F, 0, 4, VictoryRoadName - internal_map UNUSED_MAP_CE, 7, 5, RocketHQName - internal_map SILPH_CO_8F, 10, 5, SilphCoName - internal_map POKEMON_MANSION_B1F, 2, 15, PokemonMansionName - internal_map SAFARI_ZONE_NORTH_REST_HOUSE, 8, 12, SafariZoneName - internal_map CERULEAN_CAVE_1F, 9, 1, CeruleanCaveName - internal_map NAME_RATERS_HOUSE, 14, 5, LavenderTownName - internal_map CERULEAN_BADGE_HOUSE, 10, 2, CeruleanCityName - internal_map ROCK_TUNNEL_B1F, 14, 3, RockTunnelName - internal_map SILPH_CO_ELEVATOR, 10, 5, SilphCoName - internal_map AGATHAS_ROOM, 0, 2, PokemonLeagueName - internal_map SUMMER_BEACH_HOUSE, 6, 15, Route19Name + table_width 4 + ; indoor map group, x, y, name + indoor_map PALLET_TOWN, 2, 11, PalletTownName + indoor_map VIRIDIAN_CITY, 2, 8, ViridianCityName + indoor_map ROUTE_2, 2, 6, Route2Name + indoor_map VIRIDIAN_FOREST, 2, 4, ViridianForestName + indoor_map PEWTER_CITY, 2, 3, PewterCityName + indoor_map MT_MOON, 6, 2, MountMoonName + indoor_map CERULEAN_CITY, 10, 2, CeruleanCityName + indoor_map ROUTE_4, 5, 2, Route4Name + indoor_map CERULEAN_CITY_2, 10, 2, CeruleanCityName + indoor_map ROUTE_5, 10, 4, Route5Name + indoor_map ROUTE_6, 10, 6, Route6Name + indoor_map ROUTE_7, 9, 5, Route7Name + indoor_map ROUTE_8, 11, 5, Route8Name + indoor_map ROCK_TUNNEL, 14, 3, RockTunnelName + indoor_map POWER_PLANT, 15, 4, PowerPlantName + indoor_map ROUTE_11, 13, 9, Route11Name + indoor_map ROUTE_12, 14, 7, Route12Name + indoor_map SEA_COTTAGE, 12, 0, SeaCottageName + indoor_map VERMILION_CITY, 10, 9, VermilionCityName + indoor_map SS_ANNE, 9, 10, SSAnneName + indoor_map VICTORY_ROAD, 0, 4, VictoryRoadName + indoor_map POKEMON_LEAGUE, 0, 2, PokemonLeagueName + indoor_map UNDERGROUND_PATH, 10, 5, UndergroundPathName + indoor_map POKEMON_LEAGUE_2, 0, 2, PokemonLeagueName + indoor_map UNDERGROUND_PATH_2, 10, 5, UndergroundPathName + indoor_map CELADON_CITY, 7, 5, CeladonCityName + indoor_map LAVENDER_TOWN, 14, 5, LavenderTownName + indoor_map POKEMON_TOWER, 15, 5, PokemonTowerName + indoor_map LAVENDER_TOWN_2, 14, 5, LavenderTownName + indoor_map FUCHSIA_CITY, 8, 13, FuchsiaCityName + indoor_map SAFARI_ZONE, 8, 12, SafariZoneName + indoor_map FUCHSIA_CITY_2, 8, 13, FuchsiaCityName + indoor_map SEAFOAM_ISLANDS, 5, 15, SeafoamIslandsName + indoor_map VERMILION_CITY_2, 10, 9, VermilionCityName + indoor_map FUCHSIA_CITY_3, 8, 13, FuchsiaCityName + indoor_map POKEMON_MANSION, 2, 15, PokemonMansionName + indoor_map CINNABAR_ISLAND, 2, 15, CinnabarIslandName + indoor_map INDIGO_PLATEAU, 0, 2, IndigoPlateauName + indoor_map SAFFRON_CITY, 10, 5, SaffronCityName + indoor_map ROUTE_15, 9, 13, Route15Name + indoor_map ROUTE_16, 4, 5, Route16Name + indoor_map ROUTE_12_2, 14, 10, Route12Name + indoor_map ROUTE_18, 7, 13, Route18Name + indoor_map SEAFOAM_ISLANDS_2, 5, 15, SeafoamIslandsName + indoor_map ROUTE_22, 0, 7, Route22Name + indoor_map VICTORY_ROAD_2, 0, 4, VictoryRoadName + indoor_map ROUTE_12_3, 14, 7, Route12Name + indoor_map VERMILION_CITY_3, 10, 9, VermilionCityName + indoor_map DIGLETTS_CAVE, 3, 4, DiglettsCaveName + indoor_map VICTORY_ROAD_3, 0, 4, VictoryRoadName + indoor_map ROCKET_HQ, 7, 5, RocketHQName + indoor_map SILPH_CO, 10, 5, SilphCoName + indoor_map POKEMON_MANSION_2, 2, 15, PokemonMansionName + indoor_map SAFARI_ZONE_2, 8, 12, SafariZoneName + indoor_map CERULEAN_CAVE, 9, 1, CeruleanCaveName + indoor_map LAVENDER_TOWN_3, 14, 5, LavenderTownName + indoor_map CERULEAN_CITY_3, 10, 2, CeruleanCityName + indoor_map ROCK_TUNNEL_2, 14, 3, RockTunnelName + indoor_map SILPH_CO_2, 10, 5, SilphCoName + indoor_map POKEMON_LEAGUE_3, 0, 2, PokemonLeagueName + indoor_map ROUTE_19, 6, 15, Route19Name + assert_table_length NUM_INDOOR_MAP_GROUPS db -1 ; end diff --git a/data/moves/grammar.asm b/data/moves/grammar.asm index e44b1abc..884b4f2f 100644 --- a/data/moves/grammar.asm +++ b/data/moves/grammar.asm @@ -1,16 +1,20 @@ -ExclamationPointMoveSets: -; set 0 +; Used by GetMoveGrammar (see engine/battle/core.asm) +; Each move is given an identifier for what usedmovetext to use (0-4). +; Made redundant in English localization, where all are just "[mon]<LINE>used [move]!" + +MoveGrammar: +; 0: originally "[mon]は<LINE>[move]を つかった!" ("[mon]<LINE>used [move]!") db SWORDS_DANCE db GROWTH db 0 ; end set -; set 1 +; 1: originally "[mon]は<LINE>[move]を した!" ("[mon]<LINE>did [move]!") db RECOVER db SELFDESTRUCT db AMNESIA db 0 ; end set -; set 2 +; 2: originally "[mon]は<LINE>[move]した!" ("[mon]<LINE>did [move]!") db MEDITATE db AGILITY db TELEPORT @@ -20,7 +24,7 @@ ExclamationPointMoveSets: db BARRAGE db 0 ; end set -; set 3 +; 3: originally "[mon]の<LINE>[move] こうげき!" ("[mon]'s<LINE>[move] attack!") db POUND db SCRATCH db VICEGRIP @@ -69,4 +73,6 @@ ExclamationPointMoveSets: db SUBSTITUTE db 0 ; end set +; 4: originally "[mon]の<LINE>[move]!" ("[mon]'s<LINE>[move]!") +; Any move not listed above uses this grammar. db -1 ; end diff --git a/data/moves/names.asm b/data/moves/names.asm index 025172d5..caecc06c 100644 --- a/data/moves/names.asm +++ b/data/moves/names.asm @@ -1,5 +1,6 @@ MoveNames:: - list_start + ; in-battle "used <move name>!" text can only fit 12 (MOVE_NAME_LENGTH - 2) characters + list_start MOVE_NAME_LENGTH - 2 li "POUND" li "KARATE CHOP" li "DOUBLESLAP" diff --git a/data/player/names.asm b/data/player/names.asm new file mode 100644 index 00000000..67f2df36 --- /dev/null +++ b/data/player/names.asm @@ -0,0 +1,15 @@ +; see constants/player_constants.asm + +DefaultNamesPlayer: + db "NEW NAME" +FOR n, 1, NUM_PLAYER_NAMES + 1 + next #PLAYERNAME{d:n} +ENDR + db "@" + +DefaultNamesRival: + db "NEW NAME" +FOR n, 1, NUM_PLAYER_NAMES + 1 + next #RIVALNAME{d:n} +ENDR + db "@" diff --git a/data/player/names_list.asm b/data/player/names_list.asm new file mode 100644 index 00000000..44f3c7f1 --- /dev/null +++ b/data/player/names_list.asm @@ -0,0 +1,17 @@ +; see constants/player_constants.asm + +DefaultNamesPlayerList: + db "NEW NAME@" + list_start PLAYER_NAME_LENGTH - 1 +FOR n, 1, NUM_PLAYER_NAMES + 1 + li #PLAYERNAME{d:n} +ENDR + assert_list_length NUM_PLAYER_NAMES + +DefaultNamesRivalList: + db "NEW NAME@" + list_start PLAYER_NAME_LENGTH - 1 +FOR n, 1, NUM_PLAYER_NAMES + 1 + li #RIVALNAME{d:n} +ENDR + assert_list_length NUM_PLAYER_NAMES diff --git a/data/player_names.asm b/data/player_names.asm deleted file mode 100644 index cf461a7a..00000000 --- a/data/player_names.asm +++ /dev/null @@ -1,13 +0,0 @@ -DefaultNamesPlayer: - db "NEW NAME" - next "YELLOW" - next "ASH" - next "JACK" - db "@" - -DefaultNamesRival: - db "NEW NAME" - next "BLUE" - next "GARY" - next "JOHN" - db "@" diff --git a/data/player_names_list.asm b/data/player_names_list.asm deleted file mode 100644 index a5f38919..00000000 --- a/data/player_names_list.asm +++ /dev/null @@ -1,11 +0,0 @@ -DefaultNamesPlayerList: - db "NEW NAME@" - db "YELLOW@" - db "ASH@" - db "JACK@" - -DefaultNamesRivalList: - db "NEW NAME@" - db "BLUE@" - db "GARY@" - db "JOHN@" diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index e6968c46..b3bb1643 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -32,14 +32,14 @@ PredefPointers:: add_predef ApplyOutOfBattlePoisonDamage add_predef AnyPartyAlive add_predef ShowObject - add_predef ShowObject2 + add_predef ShowObject2 ; identical to ShowObject add_predef ReplaceTileBlock add_predef InitPlayerData2 add_predef LoadTilesetHeader add_predef LearnMoveFromLevelUp add_predef LearnMove add_predef GetQuantityOfItemInBag - add_predef CheckForHiddenObjectOrBookshelfOrCardKeyDoor, $03 ; home bank + add_predef CheckForHiddenEventOrBookshelfOrCardKeyDoor, $03 ; home bank add_predef GiveItem, $03 ; home bank add_predef ChangeBGPalColor0_4Frames add_predef FindPathToPlayer @@ -75,7 +75,7 @@ PredefPointers:: add_predef WriteMonMoves add_predef SaveMenu add_predef LoadSGB - add_predef MarkTownVisitedAndLoadMissableObjects + add_predef MarkTownVisitedAndLoadToggleableObjects add_predef SetPartyMonTypes add_predef CanLearnTM add_predef TMToMove diff --git a/data/text/text_2.asm b/data/text/text_2.asm index 31f0edb8..fbf0b236 100644 --- a/data/text/text_2.asm +++ b/data/text/text_2.asm @@ -1124,21 +1124,21 @@ _MoveIsDisabledText:: cont "disabled!" prompt -_MonName1Text:: +_ActorNameText:: text "<USER>@" text_end -_Used1Text:: +_UsedMove1Text:: text_start line "used @" text_end -_Used2Text:: +_UsedMove2Text:: text_start line "used @" text_end -_InsteadText:: +_UsedInsteadText:: text "instead," cont "@" text_end @@ -1147,23 +1147,23 @@ _MoveNameText:: text_ram wStringBuffer text "@" -_ExclamationPoint1Text:: +_EndUsedMove1Text:: text "!" done -_ExclamationPoint2Text:: +_EndUsedMove2Text:: text "!" done -_ExclamationPoint3Text:: +_EndUsedMove3Text:: text "!" done -_ExclamationPoint4Text:: +_EndUsedMove4Text:: text "!" done -_ExclamationPoint5Text:: +_EndUsedMove5Text:: text "!" done diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index eef0579d..118e73cd 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -1,14 +1,15 @@ +DEF __move_choices__ = 0 + MACRO move_choices IF _NARG db \# ; all args ENDC db 0 ; end - DEF list_index += 1 + DEF __move_choices__ += 1 ENDM ; move choice modification methods that are applied for each trainer class TrainerClassMoveChoiceModifications: - list_start move_choices ; YOUNGSTER move_choices 1 ; BUG CATCHER move_choices 1 ; LASS @@ -56,4 +57,5 @@ TrainerClassMoveChoiceModifications: move_choices 1 ; CHANNELER move_choices 1 ; AGATHA move_choices 1, 3 ; LANCE - assert_list_length NUM_TRAINERS + assert __move_choices__ == NUM_TRAINERS, \ + "TrainerClassMoveChoiceModifications: expected {d:NUM_TRAINERS} entries, got {d:__move_choices__}" diff --git a/data/trainers/names.asm b/data/trainers/names.asm index d7c5677c..1b6f2382 100644 --- a/data/trainers/names.asm +++ b/data/trainers/names.asm @@ -1,5 +1,5 @@ TrainerNames:: - list_start + list_start TRAINER_NAME_LENGTH - 1 li "YOUNGSTER" li "BUG CATCHER" li "LASS" diff --git a/data/wild/probabilities.asm b/data/wild/probabilities.asm index 2c56c6b9..6896d937 100644 --- a/data/wild/probabilities.asm +++ b/data/wild/probabilities.asm @@ -1,15 +1,28 @@ +DEF wild_chance_slot = 0 +DEF wild_chance_total = 0 + +MACRO wild_chance + DEF wild_chance_total += \1 + db wild_chance_total - 1 + db wild_chance_slot * 2 + DEF wild_chance_slot += 1 +ENDM + WildMonEncounterSlotChances: -; There are 10 slots for wild pokemon, and this is the table that defines how common each of -; those 10 slots is. A random number is generated and then the first byte of each pair in this -; table is compared against that random number. If the random number is less than or equal -; to the first byte, then that slot is chosen. The second byte is double the slot number. - db 50, $00 ; 51/256 = 19.9% chance of slot 0 - db 101, $02 ; 51/256 = 19.9% chance of slot 1 - db 140, $04 ; 39/256 = 15.2% chance of slot 2 - db 165, $06 ; 25/256 = 9.8% chance of slot 3 - db 190, $08 ; 25/256 = 9.8% chance of slot 4 - db 215, $0A ; 25/256 = 9.8% chance of slot 5 - db 228, $0C ; 13/256 = 5.1% chance of slot 6 - db 241, $0E ; 13/256 = 5.1% chance of slot 7 - db 252, $10 ; 11/256 = 4.3% chance of slot 8 - db 255, $12 ; 3/256 = 1.2% chance of slot 9 +; There are 10 slots for wild pokemon, and this is the list that defines how common each of +; those 10 slots is. A random number is generated and then the cumulative chance value up to the current +; slot (included) is compared against that random number. If the random number is less than or equal +; to said cumulative value, then that slot is chosen. + table_width 2 + wild_chance 51 ; 51/256 = 19.9% chance of slot 0 + wild_chance 51 ; 51/256 = 19.9% chance of slot 1 + wild_chance 39 ; 39/256 = 15.2% chance of slot 2 + wild_chance 25 ; 25/256 = 9.8% chance of slot 3 + wild_chance 25 ; 25/256 = 9.8% chance of slot 4 + wild_chance 25 ; 25/256 = 9.8% chance of slot 5 + wild_chance 13 ; 13/256 = 5.1% chance of slot 6 + wild_chance 13 ; 13/256 = 5.1% chance of slot 7 + wild_chance 11 ; 11/256 = 4.3% chance of slot 8 + wild_chance 3 ; 3/256 = 1.2% chance of slot 9 + assert_table_length NUM_WILDMONS + ASSERT wild_chance_total == 256, "WildMonEncounterSlotChances sum to {d:wild_chance_total}, not 256!" |
