summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/battle/accuracy_multipliers.asm17
-rw-r--r--data/battle/battle_text.asm1293
-rw-r--r--data/battle/critical_hits.asm18
-rw-r--r--data/battle/effect_command_pointers.asm (renamed from data/battle_command_pointers.asm)2
-rw-r--r--data/battle/stat_multipliers.asm17
-rw-r--r--data/battle/stat_names.asm10
-rw-r--r--data/battle/type_boost_items.asm20
-rw-r--r--data/battle/type_matchups.asm (renamed from data/type_matchups.asm)10
-rwxr-xr-xdata/battle_anims/objects.asm186
-rw-r--r--data/battle_tower/classes.asm76
-rw-r--r--data/battle_tower/parties.asm (renamed from data/battle_tower.asm)80
-rw-r--r--data/battle_tower/trainer_text.asm743
-rwxr-xr-xdata/battle_tower/unknown.asm (renamed from data/battle_tower_2.asm)0
-rw-r--r--data/battle_tower/unknown_levels.asm35
-rw-r--r--data/bug_contest_flags.asm13
-rw-r--r--data/bug_contest_winners.asm9
-rw-r--r--data/common_text/common_text.asm16
-rw-r--r--data/common_text/common_text_1.asm1848
-rw-r--r--data/common_text/common_text_2.asm1540
-rw-r--r--data/common_text/common_text_3.asm1508
-rw-r--r--data/credits_strings.asm154
-rw-r--r--data/decorations/mystery_gift_decos.asm (renamed from data/mystery_gift_decos.asm)0
-rw-r--r--data/default_options.asm3
-rw-r--r--data/elevator_floors.asm35
-rw-r--r--data/field_move_blocks.asm76
-rw-r--r--data/items/apricorn_balls.asm11
-rw-r--r--data/items/attributes.asm310
-rw-r--r--data/items/catch_rate_items.asm (renamed from data/time_capsule/catch_rate_items.asm)0
-rw-r--r--data/items/descriptions.asm33
-rw-r--r--data/items/heal_hp.asm18
-rw-r--r--data/items/heal_status.asm18
-rw-r--r--data/items/marts.asm71
-rw-r--r--data/items/mystery_gift_items.asm (renamed from data/mystery_gift_items.asm)0
-rw-r--r--data/items/x_stats.asm7
-rw-r--r--data/mail_input_chars.asm2
-rw-r--r--data/maps/blocks.asm1047
-rw-r--r--data/maps/data.asm685
-rw-r--r--data/maps/definitions.asm485
-rw-r--r--data/maps/maps.asm12
-rw-r--r--data/maps/outdoor_sprites.asm1
-rw-r--r--data/maps/roofs.asm3
-rw-r--r--data/maps/scenes.asm4
-rw-r--r--data/maps/scripts.asm486
-rw-r--r--data/maps/sgb_roof_pal_inds.asm32
-rw-r--r--data/moves/animations.asm744
-rw-r--r--data/moves/effects_priorities.asm9
-rw-r--r--data/moves/grammar.asm102
-rw-r--r--data/npc_trades.asm18
-rw-r--r--data/palettes/battle_objects.pal30
-rw-r--r--data/palettes/blk_packets.asm40
-rw-r--r--data/palettes/card_flip.pal44
-rw-r--r--data/palettes/credits.pal19
-rw-r--r--data/palettes/crystal_intro/fade.pal41
-rw-r--r--data/palettes/crystal_intro/gamefreak_logo.pal23
-rw-r--r--data/palettes/crystal_intro/intro_1.pal79
-rw-r--r--data/palettes/crystal_intro/intro_2.pal79
-rw-r--r--data/palettes/crystal_intro/intro_3.pal79
-rw-r--r--data/palettes/crystal_intro/intro_4.pal79
-rw-r--r--data/palettes/crystal_intro/intro_5.pal79
-rw-r--r--data/palettes/debug/bg.pal43
-rw-r--r--data/palettes/debug/ob.pal42
-rw-r--r--data/palettes/diploma.pal39
-rw-r--r--data/palettes/exp_bar.pal3
-rw-r--r--data/palettes/hp_bar.pal9
-rw-r--r--data/palettes/mail.pal49
-rw-r--r--data/palettes/mg_mobile.pal24
-rw-r--r--data/palettes/overworld/bg_text.pal4
-rw-r--r--data/palettes/overworld/map_objects.pal39
-rw-r--r--data/palettes/overworld/roofs.pal161
-rw-r--r--data/palettes/overworld/tileset_bg.pal61
-rw-r--r--data/palettes/pack.pal29
-rw-r--r--data/palettes/pack_f.pal29
-rw-r--r--data/palettes/pal_packets.asm113
-rw-r--r--data/palettes/party_menu.pal69
-rw-r--r--data/palettes/pokegear.pal29
-rw-r--r--data/palettes/pokegear_f.pal29
-rw-r--r--data/palettes/predef.pal395
-rw-r--r--data/palettes/sgb_border.pal79
-rw-r--r--data/palettes/slot_machine.pal79
-rw-r--r--data/palettes/tilesets/battle_tower.pal40
-rw-r--r--data/palettes/tilesets/house_1.pal40
-rw-r--r--data/palettes/tilesets/ice_path.pal40
-rw-r--r--data/palettes/tilesets/pokecom_center.pal40
-rw-r--r--data/palettes/tilesets/radio_tower.pal39
-rw-r--r--data/palettes/title.pal81
-rw-r--r--data/palettes/town_map.asm34
-rw-r--r--data/palettes/trade_room.pal29
-rw-r--r--data/palettes/unknown/49757.pal39
-rw-r--r--data/palettes/unknown/4985a.asm15
-rw-r--r--data/palettes/unknown/b6f1.pal24
-rw-r--r--data/palettes/unknown/b719.pal9
-rw-r--r--data/palettes/unknown/b789.pal19
-rw-r--r--data/palettes/unused_title/bg.pal39
-rw-r--r--data/palettes/unused_title/ob.pal319
-rw-r--r--data/party_menu_qualities.asm41
-rw-r--r--data/phone/permanent_numbers.asm5
-rw-r--r--data/phone/phone_contacts.asm51
-rw-r--r--data/phone/special_calls.asm (renamed from data/phone_special.asm)0
-rw-r--r--data/phone/text/alan_overworld.asm71
-rw-r--r--data/phone/text/anthony_overworld.asm52
-rw-r--r--data/phone/text/arnie_overworld.asm59
-rw-r--r--data/phone/text/beth_overworld.asm56
-rw-r--r--data/phone/text/beverly_overworld.asm60
-rw-r--r--data/phone/text/bill.asm101
-rw-r--r--data/phone/text/brent_overworld.asm62
-rw-r--r--data/phone/text/buena.asm550
-rw-r--r--data/phone/text/chad_overworld.asm56
-rw-r--r--data/phone/text/dana_overworld.asm72
-rw-r--r--data/phone/text/derek_overworld.asm61
-rw-r--r--data/phone/text/elm.asm211
-rw-r--r--data/phone/text/erin_overworld.asm63
-rw-r--r--data/phone/text/extra.asm1880
-rw-r--r--data/phone/text/extra2.asm1927
-rw-r--r--data/phone/text/gaven_overworld.asm63
-rw-r--r--data/phone/text/gina_overworld.asm67
-rw-r--r--data/phone/text/huey_overworld.asm80
-rw-r--r--data/phone/text/irwin_overworld.asm53
-rw-r--r--data/phone/text/jack_overworld.asm55
-rw-r--r--data/phone/text/joey_overworld.asm71
-rw-r--r--data/phone/text/jose_overworld.asm73
-rw-r--r--data/phone/text/kenji_overworld.asm67
-rw-r--r--data/phone/text/liz_overworld.asm44
-rw-r--r--data/phone/text/mom.asm165
-rw-r--r--data/phone/text/parry_overworld.asm73
-rw-r--r--data/phone/text/ralph_overworld.asm58
-rw-r--r--data/phone/text/reena_overworld.asm45
-rw-r--r--data/phone/text/tiffany_overworld.asm62
-rw-r--r--data/phone/text/todd_overworld.asm68
-rw-r--r--data/phone/text/trainers1.asm1991
-rw-r--r--data/phone/text/tully_overworld.asm73
-rw-r--r--data/phone/text/vance_overworld.asm73
-rw-r--r--data/phone/text/wade_overworld.asm70
-rw-r--r--data/phone/text/wilton_overworld.asm61
-rw-r--r--data/phone_contacts.asm51
-rw-r--r--data/player_names.asm (renamed from data/default_names.asm)18
-rw-r--r--data/pokemon/base_stats.asm33
-rw-r--r--data/pokemon/dex_entries.asm2
-rw-r--r--data/pokemon/egg_moves.asm216
-rw-r--r--data/pokemon/evos_attacks.asm2
-rw-r--r--data/pokemon/ezchat_order.asm96
-rw-r--r--data/pokemon/palettes.asm8
-rw-r--r--data/pokemon/pic_pointers.asm2
-rw-r--r--data/pokemon/rby_base_special.asm (renamed from data/time_capsule/special_stats.asm)0
-rw-r--r--data/pokemon/rby_order.asm (renamed from data/time_capsule/mon_order.asm)0
-rw-r--r--data/predef_pointers.asm85
-rw-r--r--data/radio/buenas_passwords.asm26
-rw-r--r--data/radio/channel_music.asm13
-rw-r--r--data/radio/oaks_pkmn_talk_routes.asm19
-rw-r--r--data/radio/pnp_hidden_people.asm26
-rw-r--r--data/radio/pnp_hidden_places.asm13
-rw-r--r--data/sgb_border_map.asm29
-rw-r--r--data/sgb_ctrl_packets.asm135
-rw-r--r--data/special_pointers.asm185
-rwxr-xr-xdata/sprite_anims/framesets.asm178
-rw-r--r--data/sprite_anims/oam.asm1104
-rw-r--r--data/sprite_anims/sequences.asm90
-rw-r--r--data/sprites/emotes.asm (renamed from data/emotes.asm)0
-rw-r--r--data/sprites/facings.asm (renamed from data/facings.asm)0
-rwxr-xr-xdata/sprites/map_objects.asm (renamed from data/map_objects.asm)0
-rw-r--r--data/sprites/sprite_mons.asm (renamed from data/sprite_mons.asm)0
-rw-r--r--data/sprites/sprites.asm (renamed from data/sprites.asm)0
-rw-r--r--data/std_text.asm388
-rw-r--r--data/tilesets.asm52
-rw-r--r--data/tilesets/aerodactyl_word_room_collision.asm64
-rw-r--r--data/tilesets/aerodactyl_word_room_metatiles.bin17
-rw-r--r--data/tilesets/battle_tower_collision.asm64
-rw-r--r--data/tilesets/battle_tower_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/battle_tower_outside_collision.asm128
-rw-r--r--data/tilesets/battle_tower_outside_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/beta_word_room_collision.asm64
-rw-r--r--data/tilesets/beta_word_room_metatiles.bin17
-rw-r--r--data/tilesets/cave_collision.asm64
-rw-r--r--data/tilesets/cave_metatiles.bin6
-rw-r--r--data/tilesets/champions_room_collision.asm64
-rw-r--r--data/tilesets/champions_room_metatiles.bin15
-rw-r--r--data/tilesets/dark_cave_collision.asm64
-rw-r--r--data/tilesets/dark_cave_metatiles.bin6
-rw-r--r--data/tilesets/elite_four_room_collision.asm64
-rw-r--r--data/tilesets/elite_four_room_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/facility_collision.asm64
-rw-r--r--data/tilesets/facility_metatiles.bin8
-rw-r--r--data/tilesets/forest_collision.asm64
-rw-r--r--data/tilesets/forest_metatiles.bin1
-rw-r--r--data/tilesets/game_corner_collision.asm64
-rw-r--r--data/tilesets/game_corner_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/gate_collision.asm64
-rw-r--r--data/tilesets/gate_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/ho_oh_word_room_collision.asm64
-rw-r--r--data/tilesets/ho_oh_word_room_metatiles.bin17
-rw-r--r--data/tilesets/house_collision.asm64
-rw-r--r--data/tilesets/house_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/ice_path_collision.asm64
-rw-r--r--data/tilesets/ice_path_metatiles.bin3
-rw-r--r--data/tilesets/johto_collision.asm128
-rw-r--r--data/tilesets/johto_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/johto_modern_collision.asm128
-rw-r--r--data/tilesets/johto_modern_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/kabuto_word_room_collision.asm64
-rw-r--r--data/tilesets/kabuto_word_room_metatiles.bin17
-rw-r--r--data/tilesets/kanto_collision.asm128
-rw-r--r--data/tilesets/kanto_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/tilesets/lab_collision.asm64
-rw-r--r--data/tilesets/lab_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/lighthouse_collision.asm64
-rw-r--r--data/tilesets/lighthouse_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/mansion_collision.asm64
-rw-r--r--data/tilesets/mansion_metatiles.bin5
-rw-r--r--data/tilesets/mart_collision.asm64
-rw-r--r--data/tilesets/mart_metatiles.bin3
-rw-r--r--data/tilesets/omanyte_word_room_collision.asm64
-rw-r--r--data/tilesets/omanyte_word_room_metatiles.bin17
-rw-r--r--data/tilesets/park_collision.asm64
-rw-r--r--data/tilesets/park_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/players_house_collision.asm64
-rw-r--r--data/tilesets/players_house_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/players_room_collision.asm64
-rw-r--r--data/tilesets/players_room_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/pokecenter_collision.asm64
-rw-r--r--data/tilesets/pokecenter_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/pokecom_center_collision.asm64
-rw-r--r--data/tilesets/pokecom_center_metatiles.bin2
-rw-r--r--data/tilesets/port_collision.asm64
-rw-r--r--data/tilesets/port_metatiles.bin65
-rw-r--r--data/tilesets/radio_tower_collision.asm64
-rw-r--r--data/tilesets/radio_tower_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/ruins_of_alph_collision.asm64
-rw-r--r--data/tilesets/ruins_of_alph_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/tower_collision.asm64
-rw-r--r--data/tilesets/tower_metatiles.bin2
-rw-r--r--data/tilesets/traditional_house_collision.asm64
-rw-r--r--data/tilesets/traditional_house_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/train_station_collision.asm64
-rw-r--r--data/tilesets/train_station_metatiles.binbin0 -> 1024 bytes
-rw-r--r--data/tilesets/underground_collision.asm64
-rw-r--r--data/tilesets/underground_metatiles.bin2
-rw-r--r--data/tilesets/unused_dark_cave_collision.asm128
-rw-r--r--data/tilesets/unused_dark_cave_metatiles.binbin0 -> 2048 bytes
-rw-r--r--data/trainers/encounter_music.asm142
-rw-r--r--data/trainers/gendered_trainers.asm2
-rw-r--r--data/trainers/genders.asm71
-rw-r--r--data/trainers/leaders.asm32
-rw-r--r--data/trainers/palettes.asm6
-rw-r--r--data/trainers/parties.asm1082
-rw-r--r--data/trainers/party_pointers.asm3
-rw-r--r--data/trainers/pic_pointers.asm2
-rw-r--r--data/trainers/sprites.asm68
-rw-r--r--data/types/names.asm (renamed from data/type_names.asm)2
-rw-r--r--data/types/search_strings.asm21
-rw-r--r--data/types/search_types.asm20
-rw-r--r--data/unown_walls.asm54
-rw-r--r--data/unused/dakutens.asm15
-rw-r--r--data/unused/gen_1_trainer_names.asm71
-rw-r--r--data/unused/sweet_honey_text.asm68
-rwxr-xr-xdata/unused/unknown_53d84.asm13
-rw-r--r--data/wild/fish.asm50
-rw-r--r--data/wild/probabilities.asm25
-rw-r--r--data/wild/roammon_maps.asm1
-rw-r--r--data/wild/treemon_maps.asm76
-rw-r--r--data/wild/treemons.asm34
-rw-r--r--data/wild/treemons_asleep.asm31
260 files changed, 25543 insertions, 5229 deletions
diff --git a/data/battle/accuracy_multipliers.asm b/data/battle/accuracy_multipliers.asm
new file mode 100644
index 000000000..a5a309bbd
--- /dev/null
+++ b/data/battle/accuracy_multipliers.asm
@@ -0,0 +1,17 @@
+; Multiplier ratios for accuracy from modifier -6 to +6
+; (for other stats, see data/battle/stat_multipliers.asm)
+
+AccuracyLevelMultipliers:
+ db 33, 100 ; -6 = 33%
+ db 36, 100 ; -5 = 36%
+ db 43, 100 ; -4 = 43%
+ db 50, 100 ; -3 = 50%
+ db 60, 100 ; -2 = 60%
+ db 75, 100 ; -1 = 75%
+ db 1, 1 ; 0 = 100%
+ db 133, 100 ; +1 = 133%
+ db 166, 100 ; +2 = 166%
+ db 2, 1 ; +3 = 200%
+ db 233, 100 ; +4 = 233%
+ db 133, 50 ; +5 = 266%
+ db 3, 1 ; +6 = 300%
diff --git a/data/battle/battle_text.asm b/data/battle/battle_text.asm
new file mode 100644
index 000000000..eaff02017
--- /dev/null
+++ b/data/battle/battle_text.asm
@@ -0,0 +1,1293 @@
+BattleText::
+
+BattleText_PlayerPickedUpPayDayMoney: ; 0x80730
+ text "<PLAYER> picked up"
+ line "¥@"
+ deciram wPayDayMoney, 3, 6
+ text "!"
+ prompt
+; 0x80746
+
+WildPokemonAppearedText: ; 0x80746
+ text "Wild @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "appeared!"
+ prompt
+; 0x8075c
+
+HookedPokemonAttackedText: ; 0x8075c
+ text "The hooked"
+ line "@"
+ text_from_ram EnemyMonNick
+ text_start
+ cont "attacked!"
+ prompt
+; 0x80778
+
+PokemonFellFromTreeText: ; 0x80778
+ text_from_ram EnemyMonNick
+ text " fell"
+ line "out of the tree!"
+ prompt
+; 0x80793
+
+WildCelebiAppearedText: ; 0x80793
+ text "Wild @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "appeared!"
+ prompt
+; 0x807a9
+
+WantsToBattleText:: ; 0x807a9
+ text "<ENEMY>"
+ line "wants to battle!"
+ prompt
+; 0x807bd
+
+BattleText_WildFled: ; 0x807bd
+ text "Wild @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "fled!"
+ prompt
+; 0x807cf
+
+BattleText_EnemyFled: ; 0x807cf
+ text "Enemy @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "fled!"
+ prompt
+; 0x807e2
+
+HurtByPoisonText: ; 0x807e2
+ text "<USER>"
+ line "is hurt by poison!"
+ prompt
+; 0x807f8
+
+HurtByBurnText: ; 0x807f8
+ text "<USER>'s"
+ line "hurt by its burn!"
+ prompt
+; 0x8080e
+
+LeechSeedSapsText: ; 0x8080e
+ text "LEECH SEED saps"
+ line "<USER>!"
+ prompt
+; 0x80822
+
+HasANightmareText: ; 0x80822
+ text "<USER>"
+ line "has a NIGHTMARE!"
+ prompt
+; 0x80836
+
+HurtByCurseText: ; 0x80836
+ text "<USER>'s"
+ line "hurt by the CURSE!"
+ prompt
+; 0x8084d
+
+SandstormHitsText: ; 0x8084d
+ text "The SANDSTORM hits"
+ line "<USER>!"
+ prompt
+; 0x80864
+
+PerishCountText: ; 0x80864
+ text "<USER>'s"
+ line "PERISH count is @"
+ deciram wd265, 1, 1
+ text "!"
+ prompt
+; 0x80880
+
+BattleText_TargetRecoveredWithItem: ; 0x80880
+ text "<TARGET>"
+ line "recovered with"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+; 0x80899
+
+BattleText_UserRecoveredPPUsing: ; 0x80899
+ text "<USER>"
+ line "recovered PP using"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+; 0x808b6
+
+BattleText_TargetWasHitByFutureSight: ; 0x808b6
+ text "<TARGET>"
+ line "was hit by FUTURE"
+ cont "SIGHT!"
+ prompt
+; 0x808d2
+
+BattleText_SafeguardFaded: ; 0x808d2
+ text "<USER>'s"
+ line "SAFEGUARD faded!"
+ prompt
+; 0x808e7
+
+BattleText_PkmnLightScreenFell: ; 0x808e7
+ text_from_ram StringBuffer1
+ text " #MON's"
+ line "LIGHT SCREEN fell!"
+ prompt
+; 0x80905
+
+BattleText_PkmnReflectFaded: ; 0x80905
+ text_from_ram StringBuffer1
+ text " #MON's"
+ line "REFLECT faded!"
+ prompt
+; 0x8091f
+
+BattleText_RainContinuesToFall: ; 0x8091f
+ text "Rain continues to"
+ line "fall."
+ prompt
+; 0x80938
+
+BattleText_TheSunlightIsStrong: ; 0x80938
+ text "The sunlight is"
+ line "strong."
+ prompt
+; 0x80951
+
+BattleText_TheSandstormRages: ; 0x80951
+ text "The SANDSTORM"
+ line "rages."
+ prompt
+; 0x80967
+
+BattleText_TheRainStopped: ; 0x80967
+ text "The rain stopped."
+ prompt
+; 0x8097a
+
+BattleText_TheSunlightFaded: ; 0x8097a
+ text "The sunlight"
+ line "faded."
+ prompt
+; 0x8098f
+
+BattleText_TheSandstormSubsided: ; 0x8098f
+ text "The SANDSTORM"
+ line "subsided."
+ prompt
+; 0x809a8
+
+BattleText_EnemyPkmnFainted: ; 0x809a8
+ text "Enemy @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "fainted!"
+ prompt
+; 0x809be
+
+GotMoneyForWinningText:
+ text "<PLAYER> got ¥@"
+ deciram wBattleReward, 3, 6
+ text_start
+ line "for winning!"
+ prompt
+
+BattleText_EnemyWasDefeated: ; 0x809da
+ text "<ENEMY>"
+ line "was defeated!"
+ prompt
+; 0x809eb
+
+TiedAgainstText: ; 0x809eb
+ text "Tied against"
+ line "<ENEMY>!"
+ prompt
+; 0x809fc
+
+SentSomeToMomText:
+ text "<PLAYER> got ¥@"
+ deciram wBattleReward, 3, 6
+ text_start
+ line "for winning!"
+ cont "Sent some to MOM!"
+ prompt
+
+SentHalfToMomText:
+ text "Sent half to MOM!"
+ prompt
+
+SentAllToMomText:
+ text "Sent all to MOM!"
+ prompt
+
+BattleText_0x80a4f: ; 0x80a4f
+ text "<RIVAL>: Huh? I"
+ line "should've chosen"
+ cont "your #MON!"
+ prompt
+; 0x80a75
+
+BattleText_PkmnFainted: ; 0x80a75
+ text_from_ram BattleMonNick
+ text_start
+ line "fainted!"
+ prompt
+; 0x80a83
+
+BattleText_UseNextMon: ; 0x80a83
+ text "Use next #MON?"
+ done
+; 0x80a93
+
+BattleText_0x80a93: ; 0x80a93
+ text "<RIVAL>: Yes!"
+ line "I guess I chose a"
+ cont "good #MON!"
+ prompt
+; 0x80ab9
+
+LostAgainstText: ; 0x80ab9
+ text "Lost against"
+ line "<ENEMY>!"
+ prompt
+; 0x80aca
+
+BattleText_EnemyIsAboutToUseWillPlayerChangePkmn: ; 0x80aca
+ text "<ENEMY>"
+ line "is about to use"
+ cont "@"
+ text_from_ram EnemyMonNick
+ text "."
+
+ para "Will <PLAYER>"
+ line "change #MON?"
+ done
+; 0x80af8
+
+BattleText_EnemySentOut: ; 0x80af8
+ text "<ENEMY>"
+ line "sent out"
+ cont "@"
+ text_from_ram EnemyMonNick
+ text "!"
+ done
+; 0x80b0b
+
+BattleText_TheresNoWillToBattle: ; 0x80b0b
+ text "There's no will to"
+ line "battle!"
+ prompt
+; 0x80b26
+
+BattleText_AnEGGCantBattle: ; 0x80b26
+ text "An EGG can't"
+ line "battle!"
+ prompt
+; 0x80b3b
+
+BattleText_CantEscape2: ; 0x80b3b
+ text "Can't escape!"
+ prompt
+; 0x80b49
+
+BattleText_TheresNoEscapeFromTrainerBattle: ; 0x80b49
+ text "No! There's no"
+ line "running from a"
+ cont "trainer battle!"
+ prompt
+
+BattleText_GotAwaySafely: ; 0x80b77
+ text "Got away safely!"
+ prompt
+
+BattleText_UserFledUsingAStringBuffer1: ; 0x80b89
+ text "<USER>"
+ line "fled using a"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x80ba0
+
+BattleText_CantEscape: ; 0x80ba0
+ text "Can't escape!"
+ prompt
+; 0x80bae
+
+BattleText_UserHurtBySpikes: ; 0x80bae
+ text "<USER>'s"
+ line "hurt by SPIKES!"
+ prompt
+; 0x80bc2
+
+RecoveredUsingText: ; 0x80bc2
+ text "<TARGET>"
+ line "recovered using a"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x80bde
+
+BattleText_UsersStringBuffer1Activated: ; 0x80bde
+ text "<USER>'s"
+ line "@"
+ text_from_ram StringBuffer1
+ text_start
+ cont "activated!"
+ prompt
+; 0x80bf3
+
+BattleText_ItemsCantBeUsedHere: ; 0x80bf3
+ text "Items can't be"
+ line "used here."
+ prompt
+; 0x80c0d
+
+BattleText_PkmnIsAlreadyOut: ; 0x80c0d
+ text_from_ram BattleMonNick
+ text_start
+ line "is already out."
+ prompt
+; 0x80c22
+
+BattleText_PkmnCantBeRecalled: ; 0x80c22
+ text_from_ram BattleMonNick
+ text_start
+ line "can't be recalled!"
+ prompt
+; 0x80c39
+
+BattleText_TheresNoPPLeftForThisMove: ; 0x80c39
+ text "There's no PP left"
+ line "for this move!"
+ prompt
+; 0x80c5b
+
+BattleText_TheMoveIsDisabled: ; 0x80c5b
+ text "The move is"
+ line "DISABLED!"
+ prompt
+; 0x80c72
+
+BattleText_PkmnHasNoMovesLeft: ; 0x80c72
+ text_from_ram BattleMonNick
+ text_start
+ line "has no moves left!"
+ done
+; 0x80c8a
+
+BattleText_TargetsEncoreEnded: ; 0x80c8a
+ text "<TARGET>'s"
+ line "ENCORE ended!"
+ prompt
+; 0x80c9c
+
+BattleText_StringBuffer1GrewToLevel: ; 0x80c9c
+ text_from_ram StringBuffer1
+ text " grew to"
+ line "level @"
+ deciram CurPartyLevel, 1, 3
+ text "!@"
+ sound_dex_fanfare_50_79
+ db "@@"
+; 0x80cb9
+
+BattleText_WildPkmnIsEating: ; 0x80cba
+ text "Wild @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "is eating!"
+ prompt
+; 0x80cd1
+
+BattleText_WildPkmnIsAngry: ; 0x80cd1
+ text "Wild @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "is angry!"
+ prompt
+; 0x80ce7
+
+FastAsleepText: ; 0x80ce7
+ text "<USER>"
+ line "is fast asleep!"
+ prompt
+; 0x80cfa
+
+WokeUpText: ; 0x80cfa
+ text "<USER>"
+ line "woke up!"
+ prompt
+; 0x80d06
+
+FrozenSolidText: ; 0x80d06
+ text "<USER>"
+ line "is frozen solid!"
+ prompt
+; 0x80d1a
+
+FlinchedText: ; 0x80d1a
+ text "<USER>"
+ line "flinched!"
+ prompt
+; 0x80d27
+
+MustRechargeText: ; 0x80d27
+ text "<USER>"
+ line "must recharge!"
+ prompt
+; 0x80d39
+
+DisabledNoMoreText: ; 0x80d39
+ text "<USER>'s"
+ line "disabled no more!"
+ prompt
+; 0x80d4f
+
+IsConfusedText: ; 0x80d4f
+ text "<USER>"
+ line "is confused!"
+ prompt
+; 0x80d5f
+
+HurtItselfText: ; 0x80d5f
+ text "It hurt itself in"
+ line "its confusion!"
+ prompt
+; 0x80d81
+
+ConfusedNoMoreText: ; 0x80d81
+ text "<USER>'s"
+ line "confused no more!"
+ prompt
+; 0x80d97
+
+BecameConfusedText: ; 0x80d97
+ text "<TARGET>"
+ line "became confused!"
+ prompt
+; ItemHealedConfusion
+
+BattleText_ItemHealedConfusion: ; ItemHealedConfusion
+ text "A @"
+ text_from_ram StringBuffer1
+ text " rid"
+ line "<TARGET>"
+ cont "of its confusion."
+ prompt
+; 0x80dcc
+
+AlreadyConfusedText: ; 0x80dcc
+ text "<TARGET>'s"
+ line "already confused!"
+ prompt
+; 0x80de2
+
+BattleText_UsersHurtByStringBuffer1: ; 0x80de2
+ text "<USER>'s"
+ line "hurt by"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x80df5
+
+BattleText_UserWasReleasedFromStringBuffer1: ; 0x80df5
+ text "<USER>"
+ line "was released from"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x80e11
+
+UsedBindText: ; 0x80e11
+ text "<USER>"
+ line "used BIND on"
+ cont "<TARGET>!"
+ prompt
+; 0x80e24
+
+WhirlpoolTrapText: ; 0x80e24
+ text "<TARGET>"
+ line "was trapped!"
+ prompt
+; 0x80e34
+
+FireSpinTrapText: ; 0x80e34
+ text "<TARGET>"
+ line "was trapped!"
+ prompt
+; 0x80e44
+
+WrappedByText: ; 0x80e44
+ text "<TARGET>"
+ line "was WRAPPED by"
+ cont "<USER>!"
+ prompt
+; 0x80e59
+
+ClampedByText: ; 0x80e59
+ text "<TARGET>"
+ line "was CLAMPED by"
+ cont "<USER>!"
+ prompt
+; 0x80e6e
+
+StoringEnergyText: ; 0x80e6e
+ text "<USER>"
+ line "is storing energy!"
+ prompt
+; 0x80e84
+
+UnleashedEnergyText: ; 0x80e84
+ text "<USER>"
+ line "unleashed energy!"
+ prompt
+; 0x80e99
+
+HungOnText: ; 0x80e99
+ text "<TARGET>"
+ line "hung on with"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x80eb0
+
+EnduredText: ; 0x80eb0
+ text "<TARGET>"
+ line "ENDURED the hit!"
+ prompt
+; 0x80ec4
+
+InLoveWithText: ; 0x80ec4
+ text "<USER>"
+ line "is in love with"
+ cont "<TARGET>!"
+ prompt
+; 0x80eda
+
+InfatuationText: ; 0x80eda
+ text "<USER>'s"
+ line "infatuation kept"
+ cont "it from attacking!"
+ prompt
+; 0x80f02
+
+DisabledMoveText: ; 0x80f02
+ text "<USER>'s"
+ line "@"
+ text_from_ram StringBuffer1
+ text " is"
+ cont "DISABLED!"
+ prompt
+; 0x80f19
+
+LoafingAroundText: ; 0x80f19
+ text_from_ram BattleMonNick
+ text " is"
+ line "loafing around."
+ prompt
+; 0x80f31
+
+BeganToNapText: ; 0x80f31
+ text_from_ram BattleMonNick
+ text " began"
+ line "to nap!"
+ prompt
+; 0x80f44
+
+WontObeyText: ; 0x80f44
+ text_from_ram BattleMonNick
+ text " won't"
+ line "obey!"
+ prompt
+; 0x80f54
+
+TurnedAwayText: ; 0x80f54
+ text_from_ram BattleMonNick
+ text " turned"
+ line "away!"
+ prompt
+; 0x80f66
+
+IgnoredOrdersText: ; 0x80f66
+ text_from_ram BattleMonNick
+ text " ignored"
+ line "orders!"
+ prompt
+; 0x80f7b
+
+IgnoredSleepingText: ; 0x80f7b
+ text_from_ram BattleMonNick
+ text " ignored"
+ line "orders…sleeping!"
+ prompt
+; 0x80f99
+
+NoPPLeftText: ; 0x80f99
+ text "But no PP is left"
+ line "for the move!"
+ prompt
+; 0x80fba
+
+HasNoPPLeftText: ; 0x80fba
+ text "<USER>"
+ line "has no PP left for"
+ cont "@"
+ text_from_ram StringBuffer2
+ text "!"
+ prompt
+; 0x80fd7
+
+WentToSleepText: ; 0x80fd7
+ text "<USER>"
+ line "went to sleep!"
+ done
+; 0x80fe9
+
+RestedText: ; 0x80fe9
+ text "<USER>"
+ line "fell asleep and"
+ cont "became healthy!"
+ done
+; 0x8100c
+
+RegainedHealthText: ; 0x8100c
+ text "<USER>"
+ line "regained health!"
+ prompt
+; 0x81020
+
+AttackMissedText: ; 0x81020
+ text "<USER>'s"
+ line "attack missed!"
+ prompt
+; 0x81033
+
+AttackMissed2Text: ; 0x81033
+ text "<USER>'s"
+ line "attack missed!"
+ prompt
+; 0x81046
+
+CrashedText: ; 0x81046
+ text "<USER>"
+ line "kept going and"
+ cont "crashed!"
+ prompt
+; 0x81061
+
+UnaffectedText: ; 0x81061
+ text "<TARGET>'s"
+ line "unaffected!"
+ prompt
+; 0x81071
+
+DoesntAffectText: ; 0x81071
+ text "It doesn't affect"
+ line "<TARGET>!"
+ prompt
+; 0x81086
+
+CriticalHitText: ; 0x81086
+ text "A critical hit!"
+ prompt
+; 0x81097
+
+OneHitKOText: ; 0x81097
+ text "It's a one-hit KO!"
+ prompt
+; 0x810aa
+
+SuperEffectiveText: ; 0x810aa
+ text "It's super-"
+ line "effective!"
+ prompt
+; 0x810c1
+
+NotVeryEffectiveText: ; 0x810c1
+ text "It's not very"
+ line "effective…"
+ prompt
+; 0x810da
+
+TookDownWithItText: ; 0x810da
+ text "<TARGET>"
+ line "took down with it,"
+ cont "<USER>!"
+ prompt
+; 0x810f3
+
+RageBuildingText: ; 0x810f3
+ text "<USER>'s"
+ line "RAGE is building!"
+ prompt
+; 0x81109
+
+GotAnEncoreText: ; 0x81109
+ text "<TARGET>"
+ line "got an ENCORE!"
+ prompt
+; 0x8111b
+
+SharedPainText: ; 0x8111b
+ text "The battlers"
+ line "shared pain!"
+ prompt
+; 0x81136
+
+TookAimText: ; 0x81136
+ text "<USER>"
+ line "took aim!"
+ prompt
+; 0x81143
+
+SketchedText: ; 0x81143
+ text "<USER>"
+ line "SKETCHED"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x81156
+
+DestinyBondEffectText: ; 0x81156
+ text "<USER>'s"
+ line "trying to take its"
+ cont "opponent with it!"
+ prompt
+; 0x8117f
+
+SpiteEffectText: ; 0x8117f
+ text "<TARGET>'s"
+ line "@"
+ text_from_ram StringBuffer1
+ text " was"
+ cont "reduced by @"
+ deciram wd265, 1, 1
+ text "!"
+ prompt
+; 0x811a0
+
+BellChimedText: ; 0x811a0
+ text "A bell chimed!"
+ line ""
+ prompt
+; 0x811b1
+
+FellAsleepText: ; 0x811b1
+ text "<TARGET>"
+ line "fell asleep!"
+ prompt
+; 0x811c1
+
+AlreadyAsleepText: ; 0x811c1
+ text "<TARGET>'s"
+ line "already asleep!"
+ prompt
+; 0x811d5
+
+WasPoisonedText: ; 0x811d5
+ text "<TARGET>"
+ line "was poisoned!"
+ prompt
+; 0x811e6
+
+BadlyPoisonedText: ; 0x811e6
+ text "<TARGET>'s"
+ line "badly poisoned!"
+ prompt
+; 0x811fa
+
+AlreadyPoisonedText: ; 0x811fa
+ text "<TARGET>'s"
+ line "already poisoned!"
+ prompt
+; 0x81210
+
+SuckedHealthText: ; 0x81210
+ text "Sucked health from"
+ line "<TARGET>!"
+ prompt
+; 0x81227
+
+DreamEatenText: ; 0x81227
+ text "<TARGET>'s"
+ line "dream was eaten!"
+ prompt
+; 0x8123c
+
+WasBurnedText: ; 0x8123c
+ text "<TARGET>"
+ line "was burned!"
+ prompt
+; 0x8124b
+
+DefrostedOpponentText: ; 0x8124b
+ text "<TARGET>"
+ line "was defrosted!"
+ prompt
+; 0x8125d
+
+WasFrozenText: ; 0x8125d
+ text "<TARGET>"
+ line "was frozen solid!"
+ prompt
+; 0x81272
+
+WontRiseAnymoreText: ; 0x81272
+ text "<USER>'s"
+ line "@"
+ text_from_ram StringBuffer2
+ text " won't"
+ cont "rise anymore!"
+ prompt
+; 0x8128f
+
+WontDropAnymoreText: ; 0x8128f
+ text "<TARGET>'s"
+ line "@"
+ text_from_ram StringBuffer2
+ text " won't"
+ cont "drop anymore!"
+ prompt
+; 0x812ac
+
+FledFromBattleText:: ; 0x812ac
+ text "<USER>"
+ line "fled from battle!"
+ prompt
+; 0x812c1
+
+FledInFearText: ; 0x812c1
+ text "<TARGET>"
+ line "fled in fear!"
+ prompt
+; 0x812d2
+
+BlownAwayText: ; 0x812d2
+ text "<TARGET>"
+ line "was blown away!"
+ prompt
+; 0x812e5
+
+PlayerHitTimesText: ; 0x812e5
+ text "Hit @"
+ deciram PlayerDamageTaken, 1, 1
+ text " times!"
+ prompt
+; 0x812f8
+
+EnemyHitTimesText: ; 0x812f8
+ text "Hit @"
+ deciram EnemyDamageTaken, 1, 1
+ text " times!"
+ prompt
+; 0x8130b
+
+MistText: ; 0x8130b
+ text "<USER>'s"
+ line "shrouded in MIST!"
+ prompt
+; 0x81321
+
+ProtectedByMistText: ; 0x81321
+ text "<TARGET>'s"
+ line "protected by MIST."
+ prompt
+; 0x81338
+
+GettingPumpedText: ; 0x81338
+ interpret_data
+ text "<USER>'s"
+ line "getting pumped!"
+ prompt
+; 0x8134d
+
+RecoilText: ; 0x8134d
+ text "<USER>'s"
+ line "hit with recoil!"
+ prompt
+; 0x81362
+
+MadeSubstituteText: ; 0x81362
+ text "<USER>"
+ line "made a SUBSTITUTE!"
+ prompt
+; 0x81378
+
+HasSubstituteText: ; 0x81378
+ text "<USER>"
+ line "has a SUBSTITUTE!"
+ prompt
+; 0x8138d
+
+TooWeakSubText: ; 0x8138d
+ text "Too weak to make"
+ line "a SUBSTITUTE!"
+ prompt
+; 0x813ad
+
+SubTookDamageText: ; 0x813ad
+ text "The SUBSTITUTE"
+ line "took damage for"
+ cont "<TARGET>!"
+ prompt
+; 0x813d0
+
+SubFadedText: ; 0x813d0
+ text "<TARGET>'s"
+ line "SUBSTITUTE faded!"
+ prompt
+; 0x813e6
+
+LearnedMoveText: ; 0x813e6
+ text "<USER>"
+ line "learned"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x813f8
+
+WasSeededText: ; 0x813f8
+ text "<TARGET>"
+ line "was seeded!"
+ prompt
+; 0x81407
+
+EvadedText: ; 0x81407
+ text "<TARGET>"
+ line "evaded the attack!"
+ prompt
+; 0x8141d
+
+WasDisabledText: ; 0x8141d
+ text "<TARGET>'s"
+ line "@"
+ text_from_ram StringBuffer1
+ text " was"
+ cont "DISABLED!"
+ prompt
+; 0x81435
+
+CoinsScatteredText: ; 0x81435
+ text "Coins scattered"
+ line "everywhere!"
+ prompt
+; 0x81452
+
+TransformedTypeText: ; 0x81452
+ text "<USER>"
+ line "transformed into"
+ cont "the @"
+ text_from_ram StringBuffer1
+ text "-type!"
+ prompt
+; 0x81476
+
+EliminatedStatsText: ; 0x81476
+ text "All stat changes"
+ line "were eliminated!"
+ prompt
+; 0x81499
+
+TransformedText: ; 0x81499
+ text "<USER>"
+ line "TRANSFORMED into"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x814b4
+
+LightScreenEffectText: ; 0x814b4
+ text "<USER>'s"
+ line "SPCL.DEF rose!"
+ prompt
+; 0x814c7
+
+ReflectEffectText: ; 0x814c7
+ text "<USER>'s"
+ line "DEFENSE rose!"
+ prompt
+; 0x814d9
+
+NothingHappenedText: ; 0x814d9
+ text "But nothing"
+ line "happened."
+ prompt
+; 0x814f0
+
+ButItFailedText: ; 0x814f0
+ text "But it failed!"
+ prompt
+; 0x81500
+
+ItFailedText: ; 0x81500
+ text "It failed!"
+ prompt
+; 0x8150c
+
+DidntAffect1Text: ; 0x8150c
+ text "It didn't affect"
+ line "<TARGET>!"
+ prompt
+; 0x81520
+
+DidntAffect2Text: ; 0x81520
+ text "It didn't affect"
+ line "<TARGET>!"
+ prompt
+; 0x81534
+
+HPIsFullText: ; 0x81534
+ text "<USER>'s"
+ line "HP is full!"
+ prompt
+; 0x81544
+
+DraggedOutText: ; 0x81544
+ text "<USER>"
+ line "was dragged out!"
+ prompt
+; 0x81558
+
+ParalyzedText: ; 0x81558
+ text "<TARGET>'s"
+ line "paralyzed! Maybe"
+ cont "it can't attack!"
+ prompt
+; 0x8157d
+
+FullyParalyzedText: ; 0x8157d
+ text "<USER>'s"
+ line "fully paralyzed!"
+ prompt
+; 0x81592
+
+AlreadyParalyzedText: ; 0x81592
+ text "<TARGET>'s"
+ line "already paralyzed!"
+ prompt
+; 0x815a9
+
+ProtectedByText: ; 0x815a9
+ text "<TARGET>'s"
+ line "protected by"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+; 0x815c1
+
+MirrorMoveFailedText: ; 0x815c1
+ text "The MIRROR MOVE"
+ next "failed!"
+ prompt
+; 0x815da
+
+StoleText: ; 0x815da
+ text "<USER>"
+ line "stole @"
+ text_from_ram StringBuffer1
+ text_start
+ cont "from its foe!"
+ prompt
+; 0x815f7
+
+CantEscapeNowText: ; 0x815f7
+ text "<TARGET>"
+ line "can't escape now!"
+ prompt
+; 0x8160b
+
+StartedNightmareText: ; 0x8160b
+ text "<TARGET>"
+ line "started to have a"
+ cont "NIGHTMARE!"
+ prompt
+; 0x8162b
+
+WasDefrostedText: ; 0x8162b
+ text "<USER>"
+ line "was defrosted!"
+ prompt
+; 0x8163d
+
+PutACurseText: ; 0x8163d
+ text "<USER>"
+ line "cut its own HP and"
+
+ para "put a CURSE on"
+ line "<TARGET>!"
+ prompt
+; 0x81665
+
+ProtectedItselfText: ; 0x81665
+ text "<USER>"
+ line "PROTECTED itself!"
+ prompt
+; 0x8167a
+
+ProtectingItselfText: ; 0x8167a
+ text "<TARGET>'s"
+ line "PROTECTING itself!"
+ done
+; 0x81691
+
+SpikesText: ; 0x81691
+ text "SPIKES scattered"
+ line "all around"
+ cont "<TARGET>!"
+ prompt
+; 0x816b1
+
+IdentifiedText: ; 0x816b1
+ text "<USER>"
+ line "identified"
+ cont "<TARGET>!"
+ prompt
+; 0x816c2
+
+StartPerishText: ; 0x816c2
+ text "Both #MON will"
+ line "faint in 3 turns!"
+ prompt
+; 0x816e4
+
+SandstormBrewedText: ; 0x816e4
+ text "A SANDSTORM"
+ line "brewed!"
+ prompt
+; 0x816f9
+
+BracedItselfText: ; 0x816f9
+ text "<USER>"
+ line "braced itself!"
+ prompt
+; 0x8170b
+
+FellInLoveText: ; 0x8170b
+ text "<TARGET>"
+ line "fell in love!"
+ prompt
+; 0x8171c
+
+CoveredByVeilText: ; 0x8171c
+ text "<USER>'s"
+ line "covered by a veil!"
+ prompt
+; 0x81733
+
+SafeguardProtectText: ; 0x81733
+ text "<TARGET>"
+ line "is protected by"
+ cont "SAFEGUARD!"
+ prompt
+; 0x81751
+
+MagnitudeText: ; 0x81751
+ text "Magnitude @"
+ deciram wd265, 1, 1
+ text "!"
+ prompt
+; 0x81764
+
+ReleasedByText: ; 0x81764
+ text "<USER>"
+ line "was released by"
+ cont "<TARGET>!"
+ prompt
+; 0x8177a
+
+ShedLeechSeedText: ; 0x8177a
+ text "<USER>"
+ line "shed LEECH SEED!"
+ prompt
+; 0x8178e
+
+BlewSpikesText: ; 0x8178e
+ text "<USER>"
+ line "blew away SPIKES!"
+ prompt
+; 0x817a3
+
+DownpourText: ; 0x817a3
+ text "A downpour"
+ line "started!"
+ prompt
+; 0x817b8
+
+SunGotBrightText: ; 0x817b8
+ text "The sunlight got"
+ line "bright!"
+ prompt
+; 0x817d2
+
+BellyDrumText: ; 0x817d2
+ text "<USER>"
+ line "cut its HP and"
+ cont "maximized ATTACK!"
+ prompt
+; 0x817f6
+
+CopiedStatsText: ; 0x817f6
+ text "<USER>"
+ line "copied the stat"
+
+ para "changes of"
+ line "<TARGET>!"
+ prompt
+; 0x81817
+
+ForesawAttackText: ; 0x81817
+ text "<USER>"
+ line "foresaw an attack!"
+ prompt
+; 0x8182d
+
+BeatUpAttackText: ; 0x8182d
+ text_from_ram StringBuffer1
+ text "'s"
+ line "attack!"
+ done
+; 0x8183b
+
+RefusedGiftText: ; 0x8183b
+ text "<TARGET>"
+ line "refused the gift!"
+ prompt
+; 0x81850
+
+IgnoredOrders2Text: ; 0x81850
+ text "<USER>"
+ line "ignored orders!"
+ prompt
+; 0x81863
+
+BattleText_LinkErrorBattleCanceled: ; 0x81863
+ text "Link error…"
+
+ para "The battle has"
+ line "been canceled…"
+ prompt
+; 0x8188e
+
+BattleText_0x8188e: ; 0x8188e
+ text "There is no time"
+ line "left today!"
+ done
+; 0x818ac
diff --git a/data/battle/critical_hits.asm b/data/battle/critical_hits.asm
new file mode 100644
index 000000000..5800d57f4
--- /dev/null
+++ b/data/battle/critical_hits.asm
@@ -0,0 +1,18 @@
+CriticalHitMoves:
+ db KARATE_CHOP
+ db RAZOR_WIND
+ db RAZOR_LEAF
+ db CRABHAMMER
+ db SLASH
+ db AEROBLAST
+ db CROSS_CHOP
+ db -1
+
+CriticalHitChances:
+ db 7 percent ; 0
+ db 12 percent + 2 ; +1
+ db 25 percent + 1 ; +2
+ db 33 percent + 1 ; +3
+ db 50 percent + 1 ; +4
+ db 50 percent + 1 ; +5
+ db 50 percent + 1 ; +6
diff --git a/data/battle_command_pointers.asm b/data/battle/effect_command_pointers.asm
index 38a3c1eb8..b3eeea273 100644
--- a/data/battle_command_pointers.asm
+++ b/data/battle/effect_command_pointers.asm
@@ -1,3 +1,5 @@
+; battle commands are defined in engine/battle/effect_commands.asm
+
dw 0 ; padding
BattleCommandPointers: ; 3fd28
diff --git a/data/battle/stat_multipliers.asm b/data/battle/stat_multipliers.asm
new file mode 100644
index 000000000..e7cf8e472
--- /dev/null
+++ b/data/battle/stat_multipliers.asm
@@ -0,0 +1,17 @@
+; Multiplier ratios for all stats from modifier -6 to +6
+; (except accuracy, see data/battle/accuracy_multipliers.asm)
+
+StatLevelMultipliers:
+ db 25, 100 ; -6 = 25%
+ db 28, 100 ; -5 = 28%
+ db 33, 100 ; -4 = 33%
+ db 40, 100 ; -3 = 40%
+ db 50, 100 ; -2 = 50%
+ db 66, 100 ; -1 = 66%
+ db 1, 1 ; 0 = 100%
+ db 15, 10 ; +1 = 150%
+ db 2, 1 ; +2 = 200%
+ db 25, 10 ; +3 = 250%
+ db 3, 1 ; +4 = 300%
+ db 35, 10 ; +5 = 350%
+ db 4, 1 ; +6 = 400%
diff --git a/data/battle/stat_names.asm b/data/battle/stat_names.asm
new file mode 100644
index 000000000..a144a225f
--- /dev/null
+++ b/data/battle/stat_names.asm
@@ -0,0 +1,10 @@
+StatNames:
+; entries correspond to stat ids
+ db "ATTACK@"
+ db "DEFENSE@"
+ db "SPEED@"
+ db "SPCL.ATK@"
+ db "SPCL.DEF@"
+ db "ACCURACY@"
+ db "EVASION@"
+ db "ABILITY@" ; used for BattleCommand_Curse
diff --git a/data/battle/type_boost_items.asm b/data/battle/type_boost_items.asm
new file mode 100644
index 000000000..3b7231a59
--- /dev/null
+++ b/data/battle/type_boost_items.asm
@@ -0,0 +1,20 @@
+TypeBoostItems: ; 35703
+ db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW
+ db HELD_FIGHTING_BOOST, FIGHTING ; BLACKBELT
+ db HELD_FLYING_BOOST, FLYING ; SHARP_BEAK
+ db HELD_POISON_BOOST, POISON ; POISON BARB
+ db HELD_GROUND_BOOST, GROUND ; SOFT_SAND
+ db HELD_ROCK_BOOST, ROCK ; HARD_STONE
+ db HELD_BUG_BOOST, BUG ; SILVERPOWDER
+ db HELD_GHOST_BOOST, GHOST ; SPELL_TAG
+ db HELD_FIRE_BOOST, FIRE ; CHARCOAL
+ db HELD_WATER_BOOST, WATER ; MYSTIC WATER
+ db HELD_GRASS_BOOST, GRASS ; MIRACLE_SEED
+ db HELD_ELECTRIC_BOOST, ELECTRIC ; MAGNET
+ db HELD_PSYCHIC_BOOST, PSYCHIC ; TWISTEDSPOON
+ db HELD_ICE_BOOST, ICE ; NEVERMELTICE
+ db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE
+ db HELD_DARK_BOOST, DARK ; BLACKGLASSES
+ db HELD_STEEL_BOOST, STEEL ; METAL_COAT
+ db -1
+; 35726
diff --git a/data/type_matchups.asm b/data/battle/type_matchups.asm
index 61fd19078..90e38ae2c 100644
--- a/data/type_matchups.asm
+++ b/data/battle/type_matchups.asm
@@ -1,9 +1,3 @@
-; The multiplier is divided by 10, so we can use values like 0.5.
-; All other cases are neutral (1x).
-SUPER_EFFECTIVE EQU 20
-NOT_VERY_EFFECTIVE EQU 05
-NO_EFFECT EQU 00
-
TypeMatchups: ; 34bb1
; attacker, defender, *=
db NORMAL, ROCK, NOT_VERY_EFFECTIVE
@@ -115,11 +109,11 @@ TypeMatchups: ; 34bb1
db STEEL, ROCK, SUPER_EFFECTIVE
db STEEL, STEEL, NOT_VERY_EFFECTIVE
- db $fe ; end
+ db -2 ; end
; Foresight removes Ghost's immunities.
db NORMAL, GHOST, NO_EFFECT
db FIGHTING, GHOST, NO_EFFECT
- db $ff ; end (with Foresight)
+ db -1 ; end (with Foresight)
; 34cfd
diff --git a/data/battle_anims/objects.asm b/data/battle_anims/objects.asm
index 62ec0140e..3d46ae2d7 100755
--- a/data/battle_anims/objects.asm
+++ b/data/battle_anims/objects.asm
@@ -27,13 +27,13 @@ BattleAnimObjects: ; ccb56
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_FANG
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A
- battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F
+ battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_EMBER
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_DRAGON_RAGE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FLAMETHROWER
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FIRE_SPIN
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FIRE_BLAST
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12
@@ -47,32 +47,32 @@ BattleAnimObjects: ; ccb56
battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B
battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_BIG_ROCK
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_SMALL_ROCK
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_STRENGTH
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_SEISMIC_TOSS
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24
- battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25
- battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_SURF
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_SING
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_WATER_GUN
+ battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_HYDRO_PUMP
+ battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_POWDER
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_RECOVER
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_THUNDER_WAVE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_CLAMP
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_BITE
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39
@@ -85,125 +85,125 @@ BattleAnimObjects: ; ccb56
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42
- battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43
+ battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_SONICBOOM_JP
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_EGG
battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_WAVE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_CONFUSE_RAY
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_SCREEN
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_HARDEN
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_AMNESIA
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_ASLEEP
battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_STRING_SHOT
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60
- battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63
+ battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_PETAL_DANCE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_SLUDGE_BOMB
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_PAY_DAY
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65
- battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_MIMIC
+ battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_ATTRACT
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_BONEMERANG
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_BONE_CLUB
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_BONE_RUSH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_SWIFT
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_KINESIS
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_FLASH
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_SHINY
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_GROWTH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_CONVERSION2
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOKE
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_SMOKESCREEN
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_SWORDS_DANCE
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_SPEED_LINE
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_SHARPEN
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_DEFENSE_CURL
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C
- battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_DISABLE
+ battleanimobj RELATIVE_X | X_FLIP | PRIORITY, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_AGILITY
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART
- battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80
+ battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FLAME_WHEEL
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_SACRED_FIRE
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_MILK_DRINK
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_ANGER
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84
battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_BATON_PASS
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_LOCK_ON
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_MIND_READER
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SAFEGUARD
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_PROTECT
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_THIEF
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_OCTAZOOKA
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_PRESENT
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_POWDER_SNOW
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_DRAGONBREATH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_CONVERSION
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_SPIDER_WEB
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_NIGHTMARE
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_IN_NIGHTMARE
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_LOVELY_KISS
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_SWEET_KISS
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_SKETCH
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A
- battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F
+ battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_DESTINY_BOND
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_MORNING_SUN
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_GLIMMER
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_MOONLIGHT
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_HIDDEN_POWER
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_SANDSTORM
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_ZAP_CANNON
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_SPITE
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_CURSE
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7
- battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_FORESIGHT
+ battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_RAPID_SPIN
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_SWAGGER
battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_MEAN_LOOK
battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_RAIN
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_PSYCH_UP
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_ANCIENTPOWER
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_AEROBLAST
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_SHADOW_BALL
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_ROCK_SMASH
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERHEADFOLLOW
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYHEADFOLLOW
; ccfbe
diff --git a/data/battle_tower/classes.asm b/data/battle_tower/classes.asm
new file mode 100644
index 000000000..5a148e6ec
--- /dev/null
+++ b/data/battle_tower/classes.asm
@@ -0,0 +1,76 @@
+BattleTowerTrainers: ; 1f814e
+; The trainer class is not used in Crystal 1.0 due to a bug.
+; Instead, the sixth character in the trainer's name is used.
+; See BattleTowerText in engine/events/battle_tower/trainer_text.asm.
+ db "HANSON@@@@", FISHER
+ db "SAWYER@@@@", POKEMANIAC
+ db "MASUDA@@@@", GUITARIST
+ db "NICKEL@@@@", SCIENTIST
+ db "OLSON@@@@@", POKEFANM
+ db "ZABOROWSKI", LASS
+ db "WRIGHT@@@@", YOUNGSTER
+ db "ALEXANDER@", HIKER
+ db "KAWAKAMI@@", TEACHER
+ db "BICKETT@@@", POKEFANM
+ db "SAITO@@@@@", KIMONO_GIRL
+ db "CRAWFORD@@", BOARDER
+ db "DIAZ@@@@@@", PICNICKER
+ db "ERICKSON@@", BIKER
+ db "FAIRFIELD@", JUGGLER
+ db "HUNTER@@@@", POKEFANF
+ db "HILL@@@@@@", FIREBREATHER
+ db "JAVIER@@@@", SWIMMERF
+ db "KAUFMAN@@@", SWIMMERM
+ db "LANCASTER@", SKIER
+ db "McMAHILL@@", CAMPER
+; The following can only be sampled in Crystal 1.1.
+ db "OBRIEN@@@@", GENTLEMAN
+ db "FROST@@@@@", BEAUTY
+ db "MORSE@@@@@", SUPER_NERD
+ db "YUFUNE@@@@", BLACKBELT_T
+ db "RAJAN@@@@@", COOLTRAINERF
+ db "RODRIGUEZ@", OFFICER
+ db "SANTIAGO@@", PSYCHIC_T
+ db "STOCK@@@@@", POKEFANM
+ db "THURMAN@@@", SCIENTIST
+ db "VALENTINO@", BEAUTY
+ db "WAGNER@@@@", CAMPER
+ db "YATES@@@@@", BIRD_KEEPER
+ db "ANDREWS@@@", PICNICKER
+ db "BAHN@@@@@@", POKEMANIAC
+ db "MORI@@@@@@", SCIENTIST
+ db "BUCKMAN@@@", SAGE
+ db "COBB@@@@@@", SCHOOLBOY
+ db "HUGHES@@@@", FISHER
+ db "ARITA@@@@@", KIMONO_GIRL
+ db "EASTON@@@@", PSYCHIC_T
+ db "FREEMAN@@@", CAMPER
+ db "GIESE@@@@@", LASS
+ db "HATCHER@@@", GENTLEMAN
+ db "JACKSON@@@", POKEFANF
+ db "KAHN@@@@@@", POKEMANIAC
+ db "LEONG@@@@@", YOUNGSTER
+ db "MARINO@@@@", TEACHER
+ db "NEWMAN@@@@", SAILOR
+ db "NGUYEN@@@@", BLACKBELT_T
+ db "OGDEN@@@@@", SUPER_NERD
+ db "PARK@@@@@@", COOLTRAINERF
+ db "RAINE@@@@@", SWIMMERM
+ db "SELLS@@@@@", BIRD_KEEPER
+ db "ROCKWELL@@", BOARDER
+ db "THORNTON@@", LASS
+ db "TURNER@@@@", OFFICER
+ db "VAN DYKE@@", SKIER
+ db "WALKER@@@@", SCHOOLBOY
+ db "MEYER@@@@@", SWIMMERF
+ db "JOHNSON@@@", YOUNGSTER
+ db "ADAMS@@@@@", GUITARIST
+ db "SMITH@@@@@", BUG_CATCHER
+ db "TAJIRI@@@@", BUG_CATCHER
+ db "BAKER@@@@@", POKEMANIAC
+ db "COLLINS@@@", SCIENTIST
+ db "SMART@@@@@", SUPER_NERD
+ db "DYKSTRA@@@", SWIMMERF
+ db "EATON@@@@@", BIKER
+ db "WONG@@@@@@", FIREBREATHER
+; 1f8450
diff --git a/data/battle_tower.asm b/data/battle_tower/parties.asm
index d2e07fac3..c7008a247 100644
--- a/data/battle_tower.asm
+++ b/data/battle_tower/parties.asm
@@ -1,83 +1,7 @@
-BattleTowerTrainers: ; 1f814e
-; The trainer class is not used in Crystal 1.0 due to a bug.
-; Instead, the sixth character in the trainer's name is used.
-; See mobile/battle_tower_47.asm
- db "HANSON@@@@", FISHER
- db "SAWYER@@@@", POKEMANIAC
- db "MASUDA@@@@", GUITARIST
- db "NICKEL@@@@", SCIENTIST
- db "OLSON@@@@@", POKEFANM
- db "ZABOROWSKI", LASS
- db "WRIGHT@@@@", YOUNGSTER
- db "ALEXANDER@", HIKER
- db "KAWAKAMI@@", TEACHER
- db "BICKETT@@@", POKEFANM
- db "SAITO@@@@@", KIMONO_GIRL
- db "CRAWFORD@@", BOARDER
- db "DIAZ@@@@@@", PICNICKER
- db "ERICKSON@@", BIKER
- db "FAIRFIELD@", JUGGLER
- db "HUNTER@@@@", POKEFANF
- db "HILL@@@@@@", FIREBREATHER
- db "JAVIER@@@@", SWIMMERF
- db "KAUFMAN@@@", SWIMMERM
- db "LANCASTER@", SKIER
- db "McMAHILL@@", CAMPER
-; The following can only be sampled in Crystal 1.1.
- db "OBRIEN@@@@", GENTLEMAN
- db "FROST@@@@@", BEAUTY
- db "MORSE@@@@@", SUPER_NERD
- db "YUFUNE@@@@", BLACKBELT_T
- db "RAJAN@@@@@", COOLTRAINERF
- db "RODRIGUEZ@", OFFICER
- db "SANTIAGO@@", PSYCHIC_T
- db "STOCK@@@@@", POKEFANM
- db "THURMAN@@@", SCIENTIST
- db "VALENTINO@", BEAUTY
- db "WAGNER@@@@", CAMPER
- db "YATES@@@@@", BIRD_KEEPER
- db "ANDREWS@@@", PICNICKER
- db "BAHN@@@@@@", POKEMANIAC
- db "MORI@@@@@@", SCIENTIST
- db "BUCKMAN@@@", SAGE
- db "COBB@@@@@@", SCHOOLBOY
- db "HUGHES@@@@", FISHER
- db "ARITA@@@@@", KIMONO_GIRL
- db "EASTON@@@@", PSYCHIC_T
- db "FREEMAN@@@", CAMPER
- db "GIESE@@@@@", LASS
- db "HATCHER@@@", GENTLEMAN
- db "JACKSON@@@", POKEFANF
- db "KAHN@@@@@@", POKEMANIAC
- db "LEONG@@@@@", YOUNGSTER
- db "MARINO@@@@", TEACHER
- db "NEWMAN@@@@", SAILOR
- db "NGUYEN@@@@", BLACKBELT_T
- db "OGDEN@@@@@", SUPER_NERD
- db "PARK@@@@@@", COOLTRAINERF
- db "RAINE@@@@@", SWIMMERM
- db "SELLS@@@@@", BIRD_KEEPER
- db "ROCKWELL@@", BOARDER
- db "THORNTON@@", LASS
- db "TURNER@@@@", OFFICER
- db "VAN DYKE@@", SKIER
- db "WALKER@@@@", SCHOOLBOY
- db "MEYER@@@@@", SWIMMERF
- db "JOHNSON@@@", YOUNGSTER
- db "ADAMS@@@@@", GUITARIST
- db "SMITH@@@@@", BUG_CATCHER
- db "TAJIRI@@@@", BUG_CATCHER
- db "BAKER@@@@@", POKEMANIAC
- db "COLLINS@@@", SCIENTIST
- db "SMART@@@@@", SUPER_NERD
- db "DYKSTRA@@@", SWIMMERF
- db "EATON@@@@@", BIKER
- db "WONG@@@@@@", FIREBREATHER
-; 1f8450
-
-
BattleTowerMons: ; 1f8450
; 10 groups of 21 mons.
+
+
BattleTowerMons1:
db JOLTEON
diff --git a/data/battle_tower/trainer_text.asm b/data/battle_tower/trainer_text.asm
new file mode 100644
index 000000000..1601028a6
--- /dev/null
+++ b/data/battle_tower/trainer_text.asm
@@ -0,0 +1,743 @@
+BattleTowerText_0x1ec000: ; 0x1ec000
+ text "Hello, glad to"
+ line "meet you!"
+
+ para "I do hope we have"
+ line "a good battle."
+ done
+; 0x1ec03b
+
+BattleTowerText_0x1ec03b: ; 0x1ec03b
+ text "Thank you! A most"
+ line "enjoyable battle!"
+ done
+; 0x1ec060
+
+UnknownText_0x1ec060: ; 0x1ec060
+ text "Thank you. You are"
+ line "formidable."
+ done
+; 0x1ec080
+
+BattleTowerText_0x1ec080: ; 0x1ec080
+ text "Work, work, work…"
+ line "I'm always busy!"
+ done
+; 0x1ec0a3
+
+UnknownText_0x1ec0a3: ; 0x1ec0a3
+ text "But, I work hard"
+ line "in battle too!"
+ done
+; 0x1ec0c4
+
+UnknownText_0x1ec0c4: ; 0x1ec0c4
+ text "I'm too busy to be"
+ line "battling!"
+ done
+; 0x1ec0e1
+
+UnknownText_0x1ec0e1: ; 0x1ec0e1
+ text "Brace yourself for"
+ line "my all-out attack!"
+ done
+; 0x1ec108
+
+UnknownText_0x1ec108: ; 0x1ec108
+ text "What a cakewalk!"
+ line "You're too easy!"
+ done
+; 0x1ec12a
+
+UnknownText_0x1ec12a: ; 0x1ec12a
+ text "I won't lose next"
+ line "time, all right?"
+ done
+; 0x1ec14d
+
+UnknownText_0x1ec14d: ; 0x1ec14d
+ text "Heh, your #MON"
+ line "look pretty cool."
+ done
+; 0x1ec16f
+
+UnknownText_0x1ec16f: ; 0x1ec16f
+ text "Hey, hey, no way!"
+ line "You won't win!"
+ done
+; 0x1ec190
+
+UnknownText_0x1ec190: ; 0x1ec190
+ text "You serious?"
+ line "This is brutal!"
+ done
+; 0x1ec1ae
+
+UnknownText_0x1ec1ae: ; 0x1ec1ae
+ text "#MON every day!"
+ line "I love battling!"
+ done
+; 0x1ec1d0
+
+UnknownText_0x1ec1d0: ; 0x1ec1d0
+ text "I'm on top of my"
+ line "game, but not you!"
+ done
+; 0x1ec1f4
+
+UnknownText_0x1ec1f4: ; 0x1ec1f4
+ text "I don't care that"
+ line "I lost, really!"
+ done
+; 0x1ec216
+
+UnknownText_0x1ec216: ; 0x1ec216
+ text "Hi, there! Let's"
+ line "keep this clean!"
+ done
+; 0x1ec238
+
+UnknownText_0x1ec238: ; 0x1ec238
+ text "Whoops, sorry for"
+ line "that wipeout!"
+ done
+; 0x1ec259
+
+UnknownText_0x1ec259: ; 0x1ec259
+ text "Whoops! Come on,"
+ line "let me win one!"
+ done
+; 0x1ec27b
+
+UnknownText_0x1ec27b: ; 0x1ec27b
+ text "Do you want to see"
+ line "my battle level?"
+ done
+; 0x1ec2a0
+
+UnknownText_0x1ec2a0: ; 0x1ec2a0
+ text "Hehehe, I know"
+ line "your level now!"
+ done
+; 0x1ec2c0
+
+UnknownText_0x1ec2c0: ; 0x1ec2c0
+ text "Ouch… I'm just too"
+ line "weak…"
+ done
+; 0x1ec2d9
+
+UnknownText_0x1ec2d9: ; 0x1ec2d9
+ text "Hey, let's battle."
+ line "I'm your opponent."
+ done
+; 0x1ec2fe
+
+UnknownText_0x1ec2fe: ; 0x1ec2fe
+ text "Wow, you're not"
+ line "serious about it!"
+ done
+; 0x1ec320
+
+UnknownText_0x1ec320: ; 0x1ec320
+ text "…Urgh… Nothing"
+ line "positive here…"
+ done
+; 0x1ec33f
+
+UnknownText_0x1ec33f: ; 0x1ec33f
+ text "I'm your"
+ line "opponent."
+
+ para "Get ready to be"
+ line "hammered."
+ done
+; 0x1ec36c
+
+UnknownText_0x1ec36c: ; 0x1ec36c
+ text "Hahah! That was a"
+ line "pushover!"
+ done
+; 0x1ec389
+
+UnknownText_0x1ec389: ; 0x1ec389
+ text "No way! There has"
+ line "to be a mistake!"
+ done
+; 0x1ec3ad
+
+UnknownText_0x1ec3ad: ; 0x1ec3ad
+ text "Hah!"
+ line "Let's get rolling!"
+ done
+; 0x1ec3c5
+
+UnknownText_0x1ec3c5: ; 0x1ec3c5
+ text "Wahahaha! Didn't"
+ line "break a sweat!"
+ done
+; 0x1ec3e5
+
+UnknownText_0x1ec3e5: ; 0x1ec3e5
+ text "Tough! I'm no"
+ line "match for you!"
+ done
+; 0x1ec402
+
+UnknownText_0x1ec402: ; 0x1ec402
+ text "<……><……><……>"
+ line "<……><……>Battle?"
+ done
+; 0x1ec411
+
+UnknownText_0x1ec411: ; 0x1ec411
+ text "<……><……><……>"
+ line "<……><……>I won?"
+ done
+; 0x1ec41f
+
+UnknownText_0x1ec41f: ; 0x1ec41f
+ text "<……><……><……>"
+ line "<……><……>I lost?"
+ done
+; 0x1ec42e
+
+UnknownText_0x1ec42e: ; 0x1ec42e
+ text "You want to be a"
+ line "leader?"
+
+ para "Let me battle you,"
+ line "then!"
+ done
+; 0x1ec461
+
+UnknownText_0x1ec461: ; 0x1ec461
+ text "You need another"
+ line "ten years of"
+
+ para "training to get"
+ line "better, I'd say."
+ done
+; 0x1ec4a0
+
+UnknownText_0x1ec4a0: ; 0x1ec4a0
+ text "You're incredibly"
+ line "talented."
+
+ para "No one can touch"
+ line "you now!"
+ done
+; 0x1ec4d6
+
+UnknownText_0x1ec4d6: ; 0x1ec4d6
+ text "Today, I'm going"
+ line "to whomp you."
+ done
+; 0x1ec4f5
+
+UnknownText_0x1ec4f5: ; 0x1ec4f5
+ text "I knew I'd win."
+ line "I'm so great!"
+ done
+; 0x1ec512
+
+UnknownText_0x1ec512: ; 0x1ec512
+ text "Uh? My plans are"
+ line "out of whack…"
+ done
+; 0x1ec532
+
+UnknownText_0x1ec532: ; 0x1ec532
+ text "I bet you can't"
+ line "beat me!"
+ done
+; 0x1ec54b
+
+UnknownText_0x1ec54b: ; 0x1ec54b
+ text "Those #MON"
+ line "aren't enough!"
+ done
+; 0x1ec565
+
+UnknownText_0x1ec565: ; 0x1ec565
+ text "I want your"
+ line "#MON. Please?"
+ done
+; 0x1ec580
+
+UnknownText_0x1ec580: ; 0x1ec580
+ text "I'll show you a"
+ line "real battle!"
+ done
+; 0x1ec59d
+
+UnknownText_0x1ec59d: ; 0x1ec59d
+ text "This battle…"
+ line "I'm bored!"
+ done
+; 0x1ec5b5
+
+UnknownText_0x1ec5b5: ; 0x1ec5b5
+ text "…I won't turn tail"
+ line "in battle!"
+ done
+; 0x1ec5d3
+
+UnknownText_0x1ec5d3: ; 0x1ec5d3
+ text "Let's go!"
+ line "No holds barred!"
+ done
+; 0x1ec5ee
+
+UnknownText_0x1ec5ee: ; 0x1ec5ee
+ text "Sorry! I wanted"
+ line "the win more!"
+ done
+; 0x1ec60d
+
+UnknownText_0x1ec60d: ; 0x1ec60d
+ text "Wahah! Congrats!"
+ line "I can't do better!"
+ done
+; 0x1ec631
+
+UnknownText_0x1ec631: ; 0x1ec631
+ text "My #MON skills"
+ line "are phenomenal!"
+ done
+; 0x1ec651
+
+UnknownText_0x1ec651: ; 0x1ec651
+ text "You've got a long"
+ line "way to go."
+
+ para "Well, keep trying!"
+ line "Best of luck!"
+ done
+; 0x1ec68f
+
+UnknownText_0x1ec68f: ; 0x1ec68f
+ text "Aww… Don't lose"
+ line "after beating me."
+ done
+; 0x1ec6b1
+
+UnknownText_0x1ec6b1: ; 0x1ec6b1
+ text "Who are you?"
+ line "I don't know you…"
+ done
+; 0x1ec6d0
+
+UnknownText_0x1ec6d0: ; 0x1ec6d0
+ text "I must've imagined"
+ line "that."
+
+ para "There seems to be"
+ line "no one here…"
+ done
+; 0x1ec708
+
+UnknownText_0x1ec708: ; 0x1ec708
+ text "Who am I?"
+ line "I don't know…"
+ done
+; 0x1ec720
+
+UnknownText_0x1ec720: ; 0x1ec720
+ text "Um… Are you that…"
+ line "um…person?"
+ done
+; 0x1ec73e
+
+UnknownText_0x1ec73e: ; 0x1ec73e
+ text "It doesn't appear"
+ line "to be you…"
+ done
+; 0x1ec75b
+
+UnknownText_0x1ec75b: ; 0x1ec75b
+ text "Then you really"
+ line "are the legendary…"
+ done
+; 0x1ec77f
+
+UnknownText_0x1ec77f: ; 0x1ec77f
+ text "I heard that"
+ line "you're hot!"
+ done
+; 0x1ec798
+
+UnknownText_0x1ec798: ; 0x1ec798
+ text "Not bad. I was"
+ line "just a bit better."
+ done
+; 0x1ec7bb
+
+UnknownText_0x1ec7bb: ; 0x1ec7bb
+ text "Eh, you're not"
+ line "that special."
+ done
+; 0x1ec7d8
+
+UnknownText_0x1ec7d8: ; 0x1ec7d8
+ text "I'm scared about"
+ line "what might happen."
+
+ para "My #MON are way"
+ line "too strong."
+ done
+; 0x1ec818
+
+UnknownText_0x1ec818: ; 0x1ec818
+ text "See? My #MON"
+ line "were too strong."
+ done
+; 0x1ec837
+
+UnknownText_0x1ec837: ; 0x1ec837
+ text "Graa! My #MON"
+ line "were total wimps!"
+ done
+; 0x1ec858
+
+UnknownText_0x1ec858: ; 0x1ec858
+ text "Hey, there!"
+ line "I'll take you on!"
+ done
+; 0x1ec876
+
+UnknownText_0x1ec876: ; 0x1ec876
+ text "Don't you have a"
+ line "better strategy?"
+ done
+; 0x1ec898
+
+UnknownText_0x1ec898: ; 0x1ec898
+ text "You've got decent"
+ line "style!"
+ done
+; 0x1ec8b1
+
+UnknownText_0x1ec8b1: ; 0x1ec8b1
+ text "I wonder if I can"
+ line "battle properly…"
+ done
+; 0x1ec8d5
+
+UnknownText_0x1ec8d5: ; 0x1ec8d5
+ text "Um… Sorry…"
+ line "I think I won."
+ done
+; 0x1ec8f0
+
+UnknownText_0x1ec8f0: ; 0x1ec8f0
+ text "I guess I'm not"
+ line "good enough yet…"
+ done
+; 0x1ec911
+
+UnknownText_0x1ec911: ; 0x1ec911
+ text "Wrrooar!"
+ line "I won't lose!"
+ done
+; 0x1ec928
+
+UnknownText_0x1ec928: ; 0x1ec928
+ text "Wrrooar! I knew"
+ line "I was a genius!"
+ done
+; 0x1ec949
+
+UnknownText_0x1ec949: ; 0x1ec949
+ text "Arrooh! I hate it"
+ line "when I lose!"
+ done
+; 0x1ec969
+
+UnknownText_0x1ec969: ; 0x1ec969
+ text "Sorry, but I'm"
+ line "going to win."
+ done
+; 0x1ec986
+
+UnknownText_0x1ec986: ; 0x1ec986
+ text "Yeah! My #MON"
+ line "rule!"
+ done
+; 0x1ec99b
+
+UnknownText_0x1ec99b: ; 0x1ec99b
+ text "Oh, close! I lost"
+ line "by just a bit!"
+ done
+; 0x1ec9bd
+
+UnknownText_0x1ec9bd: ; 0x1ec9bd
+ text "OK, I'm not"
+ line "fooling around!"
+ done
+; 0x1ec9d9
+
+UnknownText_0x1ec9d9: ; 0x1ec9d9
+ text "Yay! Too easy!"
+ line "Like, no way!"
+ done
+; 0x1ec9f7
+
+UnknownText_0x1ec9f7: ; 0x1ec9f7
+ text "No!"
+ line "Like, no way!"
+ done
+; 0x1eca0a
+
+UnknownText_0x1eca0a: ; 0x1eca0a
+ text "Look! My #MON"
+ line "are really cute!"
+ done
+; 0x1eca2a
+
+UnknownText_0x1eca2a: ; 0x1eca2a
+ text "Aren't they really"
+ line "adorable?"
+ done
+; 0x1eca47
+
+UnknownText_0x1eca47: ; 0x1eca47
+ text "I'm sorry, it's"
+ line "all my fault!"
+ done
+; 0x1eca64
+
+UnknownText_0x1eca64: ; 0x1eca64
+ text "Let's get our"
+ line "battle started!"
+ done
+; 0x1eca82
+
+UnknownText_0x1eca82: ; 0x1eca82
+ text "Was I too strong"
+ line "for you?"
+ done
+; 0x1eca9d
+
+UnknownText_0x1eca9d: ; 0x1eca9d
+ text "Ooh, you're in a"
+ line "different class."
+ done
+; 0x1ecabf
+
+UnknownText_0x1ecabf: ; 0x1ecabf
+ text "Are we going to"
+ line "battle? Let's!"
+ done
+; 0x1ecade
+
+UnknownText_0x1ecade: ; 0x1ecade
+ text "Oh, you're too"
+ line "weak. Shame."
+ done
+; 0x1ecafa
+
+UnknownText_0x1ecafa: ; 0x1ecafa
+ text "Wow! Are you quite"
+ line "satisfied?"
+ done
+; 0x1ecb19
+
+UnknownText_0x1ecb19: ; 0x1ecb19
+ text "Oh, you have some"
+ line "rare #MON."
+ done
+; 0x1ecb37
+
+UnknownText_0x1ecb37: ; 0x1ecb37
+ text "May I have one of"
+ line "your #MON?"
+ done
+; 0x1ecb55
+
+UnknownText_0x1ecb55: ; 0x1ecb55
+ text "…I want one of"
+ line "your #MON."
+ done
+; 0x1ecb70
+
+UnknownText_0x1ecb70: ; 0x1ecb70
+ text "Want to hear about"
+ line "my cute #MON?"
+ done
+; 0x1ecb92
+
+UnknownText_0x1ecb92: ; 0x1ecb92
+ text "What do you think"
+ line "about my cuties?"
+ done
+; 0x1ecbb6
+
+UnknownText_0x1ecbb6: ; 0x1ecbb6
+ text "Oh! My! You're a"
+ line "dreadful trainer!"
+ done
+; 0x1ecbd9
+
+UnknownText_0x1ecbd9: ; 0x1ecbd9
+ text "Battle? Sure!"
+ line "Right now!"
+ done
+; 0x1ecbf3
+
+UnknownText_0x1ecbf3: ; 0x1ecbf3
+ text "Oh, I love it!"
+ line "Battling is wild!"
+ done
+; 0x1ecc15
+
+UnknownText_0x1ecc15: ; 0x1ecc15
+ text "Oh, how rude! Wait"
+ line "till next time!"
+ done
+; 0x1ecc39
+
+UnknownText_0x1ecc39: ; 0x1ecc39
+ text "Please let me win!"
+ line "Please?"
+ done
+; 0x1ecc55
+
+UnknownText_0x1ecc55: ; 0x1ecc55
+ text "Wow, thank you!"
+ line "You're so nice!"
+ done
+; 0x1ecc75
+
+UnknownText_0x1ecc75: ; 0x1ecc75
+ text "You're mean!"
+ line "I hate meanies!"
+ done
+; 0x1ecc92
+
+UnknownText_0x1ecc92: ; 0x1ecc92
+ text "Well, can we"
+ line "begin?"
+ done
+; 0x1ecca7
+
+UnknownText_0x1ecca7: ; 0x1ecca7
+ text "Well, I beg your"
+ line "pardon…"
+ done
+; 0x1eccc1
+
+UnknownText_0x1eccc1: ; 0x1eccc1
+ text "Sob… That's not"
+ line "fair!"
+ done
+; 0x1eccd7
+
+UnknownText_0x1eccd7: ; 0x1eccd7
+ text "I'm good!"
+ line "You can't win."
+ done
+; 0x1eccef
+
+UnknownText_0x1eccef: ; 0x1eccef
+ text "Giving up? You're"
+ line "pretty weak!"
+ done
+; 0x1ecd0e
+
+UnknownText_0x1ecd0e: ; 0x1ecd0e
+ text "I won't accept"
+ line "this… No way!"
+ done
+; 0x1ecd2b
+
+UnknownText_0x1ecd2b: ; 0x1ecd2b
+ text "Are you treating"
+ line "this seriously?"
+ done
+; 0x1ecd4d
+
+UnknownText_0x1ecd4d: ; 0x1ecd4d
+ text "Oh, sorry! Looks"
+ line "like I won!"
+ done
+; 0x1ecd6b
+
+UnknownText_0x1ecd6b: ; 0x1ecd6b
+ text "Oh, how nasty!"
+ line "You were serious!"
+ done
+; 0x1ecd8d
+
+UnknownText_0x1ecd8d: ; 0x1ecd8d
+ text "Ahahah! I'll take"
+ line "it easy on you!"
+ done
+; 0x1ecdaf
+
+UnknownText_0x1ecdaf: ; 0x1ecdaf
+ text "Oops, sorry! But"
+ line "I'm happy too!"
+ done
+; 0x1ecdcf
+
+UnknownText_0x1ecdcf: ; 0x1ecdcf
+ text "Oh, oh, I lost!"
+ line "Thanks. Bye!"
+ done
+; 0x1ecded
+
+UnknownText_0x1ecded: ; 0x1ecded
+ text "BATTLE TOWER is a"
+ line "tough place!"
+ done
+; 0x1ece0d
+
+UnknownText_0x1ece0d: ; 0x1ece0d
+ text "You might have a"
+ line "hard time."
+ done
+; 0x1ece2a
+
+UnknownText_0x1ece2a: ; 0x1ece2a
+ text "Ooh, you might"
+ line "make a run here!"
+ done
+; 0x1ece4b
+
+UnknownText_0x1ece4b: ; 0x1ece4b
+ text "I want to see your"
+ line "style in action!"
+ done
+; 0x1ece70
+
+UnknownText_0x1ece70: ; 0x1ece70
+ text "Every battle is a"
+ line "drama!"
+ done
+; 0x1ece8a
+
+UnknownText_0x1ece8a: ; 0x1ece8a
+ text "Oh… Want to trade"
+ line "something?"
+ done
+; 0x1ecea8
+
+UnknownText_0x1ecea8: ; 0x1ecea8
+ text "OK, here goes!"
+ line "I have momentum!"
+ done
+; 0x1ecec9
+
+UnknownText_0x1ecec9: ; 0x1ecec9
+ text "See, I rolled"
+ line "right over you!"
+ done
+; 0x1ecee8
+
+UnknownText_0x1ecee8: ; 0x1ecee8
+ text "No! This did not"
+ line "happen!"
+ done
+; 0x1ecf02
diff --git a/data/battle_tower_2.asm b/data/battle_tower/unknown.asm
index 81c9515fb..81c9515fb 100755
--- a/data/battle_tower_2.asm
+++ b/data/battle_tower/unknown.asm
diff --git a/data/battle_tower/unknown_levels.asm b/data/battle_tower/unknown_levels.asm
new file mode 100644
index 000000000..ca2b20cef
--- /dev/null
+++ b/data/battle_tower/unknown_levels.asm
@@ -0,0 +1,35 @@
+Unknown_170470:
+ db $12
+ db $24
+ db $45
+ db $45
+ db $42
+ db $42
+ db $45
+ db $42
+ db $27
+ db $27
+ db $45
+ db $27
+ db $42
+ db $24
+
+Unknown_17047e:
+ db $03, 4
+ db $05, 8
+ db $03, 5
+ db $0e, 6
+ db $03, 2
+ db $00, 0
+ db $39, 7
+ db $07, 4
+ db $00, 5
+ db $04, 7
+ db $01, 5
+ db $00, 0
+ db $0f, 5
+ db $14, 7
+ db $05, 5
+ db $11, 12
+ db $0c, 6
+ db $06, 4
diff --git a/data/bug_contest_flags.asm b/data/bug_contest_flags.asm
new file mode 100644
index 000000000..04d748270
--- /dev/null
+++ b/data/bug_contest_flags.asm
@@ -0,0 +1,13 @@
+BugCatchingContestantEventFlagTable: ; 139fe
+; there are NUM_BUG_CONTESTANTS entries
+ dw EVENT_BUG_CATCHING_CONTESTANT_1A
+ dw EVENT_BUG_CATCHING_CONTESTANT_2A
+ dw EVENT_BUG_CATCHING_CONTESTANT_3A
+ dw EVENT_BUG_CATCHING_CONTESTANT_4A
+ dw EVENT_BUG_CATCHING_CONTESTANT_5A
+ dw EVENT_BUG_CATCHING_CONTESTANT_6A
+ dw EVENT_BUG_CATCHING_CONTESTANT_7A
+ dw EVENT_BUG_CATCHING_CONTESTANT_8A
+ dw EVENT_BUG_CATCHING_CONTESTANT_9A
+ dw EVENT_BUG_CATCHING_CONTESTANT_10A
+; 13a12
diff --git a/data/bug_contest_winners.asm b/data/bug_contest_winners.asm
index 8529ed0f0..7a465edf5 100644
--- a/data/bug_contest_winners.asm
+++ b/data/bug_contest_winners.asm
@@ -1,5 +1,6 @@
BugContestantPointers: ; 13783
- dw BugContestant_BugCatcherDon ; This reverts back to the player
+; there are NUM_BUG_CONTESTANTS + 1 entries
+ dw BugContestant_BugCatcherDon ; this reverts back to the player
dw BugContestant_BugCatcherDon
dw BugContestant_BugCatcherEd
dw BugContestant_CooltrainerMNick
@@ -12,6 +13,12 @@ BugContestantPointers: ; 13783
dw BugContestant_SchoolboyKipp
; 13799
+; contestant format:
+; db class, id
+; dbw 1st-place mon, score
+; dbw 2nd-place mon, score
+; dbw 3rd-place mon, score
+
BugContestant_BugCatcherDon:
db BUG_CATCHER, DON
dbw KAKUNA, 300
diff --git a/data/common_text/common_text.asm b/data/common_text/common_text.asm
new file mode 100644
index 000000000..2f88b4e9d
--- /dev/null
+++ b/data/common_text/common_text.asm
@@ -0,0 +1,16 @@
+INCLUDE "constants.asm"
+
+
+SECTION "Text 1", ROMX
+
+INCLUDE "data/common_text/common_text_1.asm"
+
+
+SECTION "Text 2", ROMX
+
+INCLUDE "data/common_text/common_text_2.asm"
+
+
+SECTION "Text 3", ROMX
+
+INCLUDE "data/common_text/common_text_3.asm"
diff --git a/data/common_text/common_text_1.asm b/data/common_text/common_text_1.asm
new file mode 100644
index 000000000..38007bc43
--- /dev/null
+++ b/data/common_text/common_text_1.asm
@@ -0,0 +1,1848 @@
+_FruitBearingTreeText::
+ text "It's a fruit-"
+ line "bearing tree."
+ done
+
+_HeyItsFruitText::
+ text "Hey! It's"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+_ObtainedFruitText::
+ text "Obtained"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+_FruitPackIsFullText::
+ text "But the PACK is"
+ line "full…"
+ done
+
+_NothingHereText::
+ text "There's nothing"
+ line "here…"
+ done
+
+UnknownText_0x1bc06b::
+ text "Which APRICORN"
+ line "should I use?"
+ done
+
+UnknownText_0x1bc089::
+ text "How many should I"
+ line "make?"
+ done
+
+UnknownText_0x1bc0a2::
+ text_from_ram StringBuffer1
+ text_start
+ line "recovered @"
+ deciram wd1f3, 2, 3
+ text "HP!"
+ done
+
+UnknownText_0x1bc0bb::
+ text_from_ram StringBuffer1
+ text "'s"
+ line "cured of poison."
+ done
+
+UnknownText_0x1bc0d2::
+ text_from_ram StringBuffer1
+ text "'s"
+ line "rid of paralysis."
+ done
+
+UnknownText_0x1bc0ea::
+ text_from_ram StringBuffer1
+ text "'s"
+ line "burn was healed."
+ done
+
+UnknownText_0x1bc101::
+ text_from_ram StringBuffer1
+ text_start
+ line "was defrosted."
+ done
+
+UnknownText_0x1bc115::
+ text_from_ram StringBuffer1
+ text_start
+ line "woke up."
+ done
+
+UnknownText_0x1bc123::
+ text_from_ram StringBuffer1
+ text "'s"
+ line "health returned."
+ done
+
+UnknownText_0x1bc13a::
+ text_from_ram StringBuffer1
+ text_start
+ line "is revitalized."
+ done
+
+UnknownText_0x1bc14f::
+ text_from_ram StringBuffer1
+ text " grew to"
+ line "level @"
+ deciram CurPartyLevel, 1, 3
+ text "!@"
+ sound_dex_fanfare_50_79
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1bc16e::
+ text_from_ram StringBuffer1
+ text " came"
+ line "to its senses."
+ done
+
+UnknownText_0x1bc187::
+ text "Please enter any"
+ line "four-digit number."
+ done
+
+UnknownText_0x1bc1ac::
+ text "Enter the same"
+ line "number to confirm."
+ done
+
+UnknownText_0x1bc1cf::
+ text "That's not the"
+ line "same number."
+ done
+
+UnknownText_0x1bc1eb::
+ text "Your PASSCODE has"
+ line "been set."
+
+ para "Enter this number"
+ line "next time to open"
+ cont "the CARD FOLDER."
+
+ para ""
+ done
+
+UnknownText_0x1bc23e::
+ text "0000 is invalid!"
+
+ para ""
+ done
+
+UnknownText_0x1bc251::
+ text "Enter the CARD"
+ next "FOLDER PASSCODE."
+ done
+
+UnknownText_0x1bc272::
+ text "Incorrect"
+ line "PASSCODE!"
+
+ para ""
+ done
+
+UnknownText_0x1bc288::
+ text "CARD FOLDER open.@@"
+
+UnknownText_0x1bc29c::
+ text "<……><……><……><……><……><……>"
+ line "<……><……><……><……><……><……>"
+
+ para "Zzz… Hm? Wha…?"
+ line "You woke me up!"
+
+ para "Will you check the"
+ line "clock for me?"
+ prompt
+
+UnknownText_0x1bc2eb::
+ text "What time is it?"
+ done
+
+UnknownText_0x1bc2fd::
+ text "What?@@"
+
+UnknownText_0x1bc305::
+ text "?"
+ done
+
+UnknownText_0x1bc308::
+ text "How many minutes?"
+ done
+
+UnknownText_0x1bc31b::
+ text "Whoa!@@"
+
+UnknownText_0x1bc323::
+ text "?"
+ done
+
+UnknownText_0x1bc326::
+ text "!"
+ line "I overslept!"
+ done
+
+UnknownText_0x1bc336::
+ text "!"
+ line "Yikes! I over-"
+ cont "slept!"
+ done
+
+UnknownText_0x1bc34f::
+ text "!"
+ line "No wonder it's so"
+ cont "dark!"
+ done
+
+UnknownText_0x1bc369::
+ text "What day is it?"
+ done
+
+UnknownText_0x1bc37a::
+ text ", is it?"
+ done
+
+UnknownText_0x1bc384::
+ text "There is nothing"
+ line "connected."
+ done
+
+UnknownText_0x1bc3a1::
+ text "Check cell phone"
+ line "adapter."
+ done
+
+UnknownText_0x1bc3bc::
+ text "Check CDMA"
+ line "adapter."
+ done
+
+UnknownText_0x1bc3d1::
+ text "Check DOCOMO PHS"
+ line "adapter."
+ done
+
+UnknownText_0x1bc3ec::
+ text "Check DDI PHS"
+ line "adapter."
+ done
+
+UnknownText_0x1bc404::
+ text "Check unlimited"
+ line "battle mobile"
+ cont "adapter."
+ done
+
+UnknownText_0x1bc42c::
+ text "The password is:"
+ line ""
+ done
+
+UnknownText_0x1bc43f::
+ text "Is this OK?"
+ done
+
+UnknownText_0x1bc44c::
+ text "Enter the"
+ line "ID no."
+ done
+
+UnknownText_0x1bc45e::
+ text "Enter the"
+ line "amount."
+ done
+
+UnknownText_0x1bc471::
+ text "There's nothing to"
+ line "choose."
+ prompt
+
+UnknownText_0x1bc48c::
+ text "Which side do you"
+ line "want to put it on?"
+ done
+
+UnknownText_0x1bc4b2::
+ text "Which side do you"
+ line "want to put away?"
+ done
+
+UnknownText_0x1bc4d7::
+ text "Put away the"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ prompt
+
+UnknownText_0x1bc4ec::
+ text "There's nothing to"
+ line "put away."
+ prompt
+
+UnknownText_0x1bc509::
+ text "Set up the"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ prompt
+
+UnknownText_0x1bc51c::
+ text "Put away the"
+ line "@"
+ text_from_ram StringBuffer3
+ text_start
+
+ para "and set up the"
+ line "@"
+ text_from_ram StringBuffer4
+ text "."
+ prompt
+
+UnknownText_0x1bc546::
+ text "That's already set"
+ line "up."
+ prompt
+
+UnknownText_0x1bc55d::
+ text "It's the TOWN MAP."
+ done
+
+UnknownText_0x1bc570::
+ text "It's a poster of a"
+ line "cute PIKACHU."
+ done
+
+UnknownText_0x1bc591::
+ text "It's a poster of a"
+ line "cute CLEFAIRY."
+ done
+
+UnknownText_0x1bc5b3::
+ text "It's a poster of a"
+ line "cute JIGGLYPUFF."
+ done
+
+UnknownText_0x1bc5d7::
+ text "It's an adorable"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1bc5ef::
+ text "A giant doll! It's"
+ line "fluffy and cuddly."
+ done
+
+UnknownText_0x1bc615::
+ text "Hi, <PLAYER>!"
+ line "How are you?"
+ prompt
+
+UnknownText_0x1bc62a::
+ text "I found a useful"
+ line "item shopping, so"
+ prompt
+
+UnknownText_0x1bc64e::
+ text "I bought it with"
+ line "your money. Sorry!"
+ prompt
+
+UnknownText_0x1bc673::
+ text "It's in your PC."
+ line "You'll like it!"
+ done
+
+UnknownText_0x1bc693::
+ text "While shopping"
+ line "today, I saw this"
+ cont "adorable doll, so"
+ prompt
+
+UnknownText_0x1bc6c7::
+ text "It's in your room."
+ line "You'll love it!"
+ done
+
+UnknownText_0x1bc6e9::
+ text_from_ram wPlayerTrademonSpeciesName
+ text " was"
+ line "sent to @"
+ text_from_ram wOTTrademonSenderName
+ text "."
+ done
+
+UnknownText_0x1bc701::
+ text_start
+ done
+
+UnknownText_0x1bc703::
+ text_from_ram wOTTrademonSenderName
+ text " bids"
+ line "farewell to"
+ done
+
+UnknownText_0x1bc719::
+ text_from_ram wOTTrademonSpeciesName
+ text "."
+ done
+
+UnknownText_0x1bc71f::
+ text "Take good care of"
+ line "@"
+ text_from_ram wOTTrademonSpeciesName
+ text "."
+ done
+
+UnknownText_0x1bc739::
+ text "For @"
+ text_from_ram wPlayerTrademonSenderName
+ text "'s"
+ line "@"
+ text_from_ram wPlayerTrademonSpeciesName
+ text ","
+ done
+
+UnknownText_0x1bc74c::
+ text_from_ram wOTTrademonSenderName
+ text " sends"
+ line "@"
+ text_from_ram wOTTrademonSpeciesName
+ text "."
+ done
+
+UnknownText_0x1bc75e::
+ text_from_ram wOTTrademonSenderName
+ text " will"
+ line "trade @"
+ text_from_ram wOTTrademonSpeciesName
+ db "@@"
+
+UnknownText_0x1bc774::
+ text "for @"
+ text_from_ram wPlayerTrademonSenderName
+ text "'s"
+ line "@"
+ text_from_ram wPlayerTrademonSpeciesName
+ text "."
+ done
+
+UnknownText_0x1bc787::
+ text_from_ram wPlayerTrademonSenderName
+ text " will"
+ line "trade @"
+ text_from_ram wPlayerTrademonSpeciesName
+ db "@@"
+
+UnknownText_0x1bc79d::
+ text "for @"
+ text_from_ram wOTTrademonSenderName
+ text "'s"
+ line "@"
+ text_from_ram wOTTrademonSpeciesName
+ text "."
+ done
+
+UnknownText_0x1bc7b0::
+ text_from_ram wPlayerTrademonSenderName
+ text "'s"
+ line "@"
+ text_from_ram wPlayerTrademonSpeciesName
+ text " trade…"
+ done
+
+UnknownText_0x1bc7c3::
+ text "Take good care of"
+ line "@"
+ text_from_ram wOTTrademonSpeciesName
+ text "."
+ done
+
+UnknownText_0x1bc7dd::
+ text_from_ram wPlayerTrademonSenderName
+ text "'s"
+ line "@"
+ text_from_ram wPlayerTrademonSpeciesName
+ text " trade…"
+ done
+
+UnknownText_0x1bc7f0::
+ text "Take good care of"
+ line "@"
+ text_from_ram wOTTrademonSpeciesName
+ text "."
+ done
+
+UnknownText_0x1bc80a::
+ text_from_ram wOTTrademonSpeciesName
+ text " came"
+ line "back!"
+ done
+
+; Oak's Pokémon Talk
+
+_OPT_IntroText1::
+ text_start
+ line "MARY: PROF.OAK'S"
+ done
+
+_OPT_IntroText2::
+ text_start
+ line "#MON TALK!"
+ done
+
+_OPT_IntroText3::
+ text_start
+ line "With me, MARY!"
+ done
+
+_OPT_OakText1::
+ text_start
+ line "OAK: @"
+ text_from_ram wMonOrItemNameBuffer
+ db "@@"
+
+_OPT_OakText2::
+ text_start
+ line "may be seen around"
+ done
+
+_OPT_OakText3::
+ text_start
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ done
+
+_OPT_MaryText1::
+ text_start
+ line "MARY: @"
+ text_from_ram StringBuffer1
+ text "'s"
+ done
+
+OPT_SweetAdorably::
+ text_start
+ line "sweet and adorably"
+ done
+
+OPT_WigglySlickly::
+ text_start
+ line "wiggly and slickly"
+ done
+
+OPT_AptlyNamed::
+ text_start
+ line "aptly named and"
+ done
+
+OPT_UndeniablyKindOf::
+ text_start
+ line "undeniably kind of"
+ done
+
+OPT_Unbearably::
+ text_start
+ line "so, so unbearably"
+ done
+
+OPT_WowImpressively::
+ text_start
+ line "wow, impressively"
+ done
+
+OPT_AlmostPoisonously::
+ text_start
+ line "almost poisonously"
+ done
+
+OPT_Sensually::
+ text_start
+ line "ooh, so sensually"
+ done
+
+OPT_Mischievously::
+ text_start
+ line "so mischievously"
+ done
+
+OPT_Topically::
+ text_start
+ line "so very topically"
+ done
+
+OPT_Addictively::
+ text_start
+ line "sure addictively"
+ done
+
+OPT_LooksInWater::
+ text_start
+ line "looks in water is"
+ done
+
+OPT_EvolutionMustBe::
+ text_start
+ line "evolution must be"
+ done
+
+OPT_Provocatively::
+ text_start
+ line "provocatively"
+ done
+
+OPT_FlippedOut::
+ text_start
+ line "so flipped out and"
+ done
+
+OPT_HeartMeltingly::
+ text_start
+ line "heart-meltingly"
+ done
+
+OPT_Cute::
+ text_start
+ line "cute."
+ done
+
+OPT_Weird::
+ text_start
+ line "weird."
+ done
+
+OPT_Pleasant::
+ text_start
+ line "pleasant."
+ done
+
+OPT_BoldSortOf::
+ text_start
+ line "bold, sort of."
+ done
+
+OPT_Frightening::
+ text_start
+ line "frightening."
+ done
+
+OPT_SuaveDebonair::
+ text_start
+ line "suave & debonair!"
+ done
+
+OPT_Powerful::
+ text_start
+ line "powerful."
+ done
+
+OPT_Exciting::
+ text_start
+ line "exciting."
+ done
+
+OPT_Groovy::
+ text_start
+ line "groovy!"
+ done
+
+OPT_Inspiring::
+ text_start
+ line "inspiring."
+ done
+
+OPT_Friendly::
+ text_start
+ line "friendly."
+ done
+
+OPT_HotHotHot::
+ text_start
+ line "hot, hot, hot!"
+ done
+
+OPT_Stimulating::
+ text_start
+ line "stimulating."
+ done
+
+OPT_Guarded::
+ text_start
+ line "guarded."
+ done
+
+OPT_Lovely::
+ text_start
+ line "lovely."
+ done
+
+OPT_Speedy::
+ text_start
+ line "speedy."
+ done
+
+_OPT_PokemonChannelText::
+ text "#MON"
+ done
+
+_PokedexShowText::
+ text_start
+ line "@"
+ text_from_ram StringBuffer1
+ db "@@"
+
+; Pokémon Music Channel / Pokémusic
+
+_BenIntroText1::
+ text_start
+ line "BEN: #MON MUSIC"
+ done
+
+_BenIntroText2::
+ text_start
+ line "CHANNEL!"
+ done
+
+_BenIntroText3::
+ text_start
+ line "It's me, DJ BEN!"
+ done
+
+_FernIntroText1::
+ text_start
+ line "FERN: #MUSIC!"
+ done
+
+_FernIntroText2::
+ text_start
+ line "With DJ FERN!"
+ done
+
+_BenFernText1::
+ text_start
+ line "Today's @"
+ current_day
+ text ","
+ done
+
+_BenFernText2A::
+ text_start
+ line "so let us jam to"
+ done
+
+_BenFernText2B::
+ text_start
+ line "so chill out to"
+ done
+
+_BenFernText3A::
+ text_start
+ line "#MON March!"
+ done
+
+_BenFernText3B::
+ text_start
+ line "#MON Lullaby!"
+ done
+
+; Lucky Channel
+
+_LC_Text1::
+ text_start
+ line "REED: Yeehaw! How"
+ done
+
+_LC_Text2::
+ text_start
+ line "y'all doin' now?"
+ done
+
+_LC_Text3::
+ text_start
+ line "Whether you're up"
+ done
+
+_LC_Text4::
+ text_start
+ line "or way down low,"
+ done
+
+_LC_Text5::
+ text_start
+ line "don't you miss the"
+ done
+
+_LC_Text6::
+ text_start
+ line "LUCKY NUMBER SHOW!"
+ done
+
+_LC_Text7::
+ text_start
+ line "This week's Lucky"
+ done
+
+_LC_Text8::
+ text_start
+ line "Number is @"
+ interpret_data
+ text_from_ram StringBuffer1
+ text "!"
+ done
+
+_LC_Text9::
+ text_start
+ line "I'll repeat that!"
+ done
+
+_LC_Text10::
+ text_start
+ line "Match it and go to"
+ done
+
+_LC_Text11::
+ text_start
+ line "the RADIO TOWER!"
+ done
+
+_LC_DragText1::
+ text_start
+ line "…Repeating myself"
+ done
+
+_LC_DragText2::
+ text_start
+ line "gets to be a drag…"
+ done
+
+; Places and People
+
+_PnP_Text1::
+ text_start
+ line "PLACES AND PEOPLE!"
+ done
+
+_PnP_Text2::
+ text_start
+ line "Brought to you by"
+ done
+
+_PnP_Text3::
+ text_start
+ line "me, DJ LILY!"
+ done
+
+_PnP_Text4::
+ text_start
+ line "@"
+ text_from_ram StringBuffer2
+ text " @"
+ text_from_ram StringBuffer1
+ db "@@"
+
+_PnP_cute::
+ text_start
+ line "is cute."
+ done
+
+_PnP_lazy::
+ text_start
+ line "is sort of lazy."
+ done
+
+_PnP_happy::
+ text_start
+ line "is always happy."
+ done
+
+_PnP_noisy::
+ text_start
+ line "is quite noisy."
+ done
+
+_PnP_precocious::
+ text_start
+ line "is precocious."
+ done
+
+_PnP_bold::
+ text_start
+ line "is somewhat bold."
+ done
+
+_PnP_picky::
+ text_start
+ line "is too picky!"
+ done
+
+_PnP_sortofok::
+ text_start
+ line "is sort of OK."
+ done
+
+_PnP_soso::
+ text_start
+ line "is just so-so."
+ done
+
+_PnP_great::
+ text_start
+ line "is actually great."
+ done
+
+_PnP_mytype::
+ text_start
+ line "is just my type."
+ done
+
+_PnP_cool::
+ text_start
+ line "is so cool, no?"
+ done
+
+_PnP_inspiring::
+ text_start
+ line "is inspiring!"
+ done
+
+_PnP_weird::
+ text_start
+ line "is kind of weird."
+ done
+
+_PnP_rightforme::
+ text_start
+ line "is right for me?"
+ done
+
+_PnP_odd::
+ text_start
+ line "is definitely odd!"
+ done
+
+_PnP_Text5::
+ text_start
+ line "@"
+ text_from_ram StringBuffer1
+ db "@@"
+
+_RocketRadioText1::
+ text_start
+ line "… …Ahem, we are"
+ done
+
+_RocketRadioText2::
+ text_start
+ line "TEAM ROCKET!"
+ done
+
+_RocketRadioText3::
+ text_start
+ line "After three years"
+ done
+
+_RocketRadioText4::
+ text_start
+ line "of preparation, we"
+ done
+
+_RocketRadioText5::
+ text_start
+ line "have risen again"
+ done
+
+_RocketRadioText6::
+ text_start
+ line "from the ashes!"
+ done
+
+_RocketRadioText7::
+ text_start
+ line "GIOVANNI! @"
+ interpret_data
+ text "Can you"
+ done
+
+_RocketRadioText8::
+ text_start
+ line "hear?@"
+ interpret_data
+ text " We did it!"
+ done
+
+_RocketRadioText9::
+ text_start
+ line "@"
+ interpret_data
+ text "Where is our boss?"
+ done
+
+_RocketRadioText10::
+ text_start
+ line "@"
+ interpret_data
+ text "Is he listening?"
+ done
+
+_BuenaRadioText1::
+ text_start
+ line "BUENA: BUENA here!"
+ done
+
+_BuenaRadioText2::
+ text_start
+ line "Today's password!"
+ done
+
+_BuenaRadioText3::
+ text_start
+ line "Let me think… It's"
+ done
+
+_BuenaRadioText4::
+ text_start
+ line "@"
+ text_from_ram StringBuffer1
+ text "!"
+ done
+
+_BuenaRadioText5::
+ text_start
+ line "Don't forget it!"
+ done
+
+_BuenaRadioText6::
+ text_start
+ line "I'm in GOLDENROD's"
+ done
+
+_BuenaRadioText7::
+ text_start
+ line "RADIO TOWER!"
+ done
+
+_BuenaRadioMidnightText1::
+ text_start
+ line "BUENA: Oh my…"
+ done
+
+_BuenaRadioMidnightText2::
+ text_start
+ line "It's midnight! I"
+ done
+
+_BuenaRadioMidnightText3::
+ text_start
+ line "have to shut down!"
+ done
+
+_BuenaRadioMidnightText4::
+ text_start
+ line "Thanks for tuning"
+ done
+
+_BuenaRadioMidnightText5::
+ text_start
+ line "in to the end! But"
+ done
+
+_BuenaRadioMidnightText6::
+ text_start
+ line "don't stay up too"
+ done
+
+_BuenaRadioMidnightText7::
+ text_start
+ line "late! Presented to"
+ done
+
+_BuenaRadioMidnightText8::
+ text_start
+ line "you by DJ BUENA!"
+ done
+
+_BuenaRadioMidnightText9::
+ text "I'm outta here!"
+ done
+
+_BuenaRadioMidnightText10::
+ text "…"
+ done
+
+_BuenaOffTheAirText::
+ text_start
+ line ""
+ done
+
+Text_EnemyWithdrew::
+ text "<ENEMY>"
+ line "withdrew"
+ cont "@"
+ text_from_ram EnemyMonNick
+ text "!"
+ prompt
+
+Text_EnemyUsedOn::
+ text "<ENEMY>"
+ line "used @"
+ text_from_ram wMonOrItemNameBuffer
+ text_start
+ cont "on @"
+ text_from_ram EnemyMonNick
+ text "!"
+ prompt
+
+Text_ThatCantBeUsedRightNow::
+ text "That can't be used"
+ line "right now."
+ prompt
+
+Text_ThatItemCantBePutInThePack::
+ text "That item can't be"
+ line "put in the PACK."
+ done
+
+Text_TheItemWasPutInThePack::
+ text "The @"
+ text_from_ram StringBuffer1
+ text_start
+ line "was put in the"
+ cont "PACK."
+ done
+
+Text_RemainingTime::
+ text "Remaining Time"
+ done
+
+Text_YourPkmnsHPWasHealed::
+ text "Your #MON's HP"
+ line "was healed."
+ prompt
+
+Text_Warping::
+ text "Warping…"
+ done
+
+UnknownText_0x1bd05e::
+ text "Which number"
+ line "should be changed?"
+ done
+
+UnknownText_0x1bd07f::
+ text "Will you play with"
+ line "@"
+ text_from_ram StringBuffer2
+ text "?"
+ done
+
+UnknownText_0x1bd09a::
+ text "You need two #-"
+ line "MON for breeding."
+ prompt
+
+Text_BreedingIsNotPossible::
+ text "Breeding is not"
+ line "possible."
+ prompt
+
+UnknownText_0x1bd0d8::
+ text "The compatibility"
+ line "is @"
+ deciram wd265, 1, 3
+ text "."
+ cont "Should they breed?"
+ done
+
+UnknownText_0x1bd109::
+ text "There is no EGG."
+ line ""
+ prompt
+
+UnknownText_0x1bd11c::
+ text "It's going to"
+ line "hatch!"
+ prompt
+
+UnknownText_0x1bd131::
+ text "Test event"
+ line "@"
+ deciram StringBuffer2, 1, 2
+ text "?"
+ done
+
+UnknownText_0x1bd145::
+ text "Start!"
+ done
+
+UnknownText_0x1bd14d::
+ text "End!"
+ done
+
+UnknownText_0x1bd153::
+ text "For a boy!"
+ done
+
+UnknownText_0x1bd15f::
+ text "For a girl!"
+ done
+
+UnknownText_0x1bd16c::
+ text "This doesn't"
+ line "concern a boy!"
+ done
+
+UnknownText_0x1bd188::
+ text "The BOX is full!"
+ done
+
+UnknownText_0x1bd19a::
+ text "A new CARD arrived"
+ line "from @"
+ text_from_ram StringBuffer2
+ text "."
+ done
+
+UnknownText_0x1bd1ba::
+ text "Put this CARD in"
+ line "the CARD FOLDER?"
+ done
+
+UnknownText_0x1bd1dd::
+ text_from_ram StringBuffer2
+ text "'s CARD was"
+ line "listed as no.@"
+ deciram StringBuffer1, 1, 2
+ text "."
+ prompt
+
+UnknownText_0x1bd201::
+ text "Starting link."
+ done
+
+UnknownText_0x1bd211::
+ text "Link terminated."
+ done
+
+UnknownText_0x1bd223::
+ text "Closing link."
+ done
+
+UnknownText_0x1bd232::
+ text "Clear the time"
+ line "limit?"
+ done
+
+UnknownText_0x1bd249::
+ text "The time limit was"
+ line "cleared."
+ done
+
+UnknownText_0x1bd266::
+ text "Pick which packet"
+ line "as an error?"
+ done
+
+UnknownText_0x1bd286::
+ text "Trading @"
+ text_from_ram StringBuffer2
+ text_start
+ line "for @"
+ text_from_ram StringBuffer1
+ text "…"
+ done
+
+UnknownText_0x1bd2a0::
+ text "Obtained the"
+ line "VOLTORBBADGE!"
+ done
+
+UnknownText_0x1bd2bc::
+ text "Which floor?"
+ done
+
+UnknownText_0x1bd2ca::
+ text "ANNOUNCER: BEEEP!"
+
+ para "Time's up!"
+ done
+
+UnknownText_0x1bd2e7::
+ text "ANNOUNCER: The"
+ line "Contest is over!"
+ done
+
+UnknownText_0x1bd308::
+ text "REPEL's effect"
+ line "wore off."
+ done
+
+UnknownText_0x1bd321::
+ text "<PLAYER> found"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1bd331::
+ text "But <PLAYER> has"
+ line "no space left…"
+ done
+
+UnknownText_0x1bd34b::
+ text "I just saw some"
+ line "rare @"
+ text_from_ram StringBuffer1
+ text " in"
+ cont "@"
+ text_from_ram StringBuffer2
+ text "."
+
+ para "I'll call you if I"
+ line "see another rare"
+ cont "#MON, OK?"
+ prompt
+
+UnknownText_0x1bd39e::
+ text "SAVING RECORD…"
+ line "DON'T TURN OFF!"
+ done
+
+UnknownText_0x1bd3be::
+ text_from_ram PlayerName
+ text " received"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!@"
+ sound_item
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1bd3d7::
+ text "You have no coins."
+ prompt
+
+UnknownText_0x1bd3eb::
+ text "You don't have a"
+ line "COIN CASE."
+ prompt
+
+UnknownText_0x1bd407::
+ text "OK, connect the"
+ line "Game Link Cable."
+ prompt
+
+UnknownText_0x1bd429::
+ text "<PLAYER> traded"
+ line "@"
+ text_from_ram wMonOrItemNameBuffer
+ text " for"
+ cont "@"
+ text_from_ram StringBuffer2
+ text ".@@"
+
+UnknownText_0x1bd445::
+ sound_dex_fanfare_80_109
+ interpret_data
+ db "@@"
+
+UnknownText_0x1bd449::
+ text "I collect #MON."
+ line "Do you have"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "?"
+
+ para "Want to trade it"
+ line "for my @"
+ text_from_ram StringBuffer2
+ text "?"
+ done
+
+UnknownText_0x1bd48c::
+ text "You don't want to"
+ line "trade? Aww…"
+ done
+
+UnknownText_0x1bd4aa::
+ text "Huh? That's not"
+ line "@"
+ text_from_ram StringBuffer1
+ text ". "
+ cont "What a letdown…"
+ done
+
+UnknownText_0x1bd4d2::
+ text "Yay! I got myself"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!"
+ cont "Thanks!"
+ done
+
+UnknownText_0x1bd4f4::
+ text "Hi, how's my old"
+ line "@"
+ text_from_ram StringBuffer2
+ text " doing?"
+ done
+
+UnknownText_0x1bd512::
+ text "Hi, I'm looking"
+ line "for this #MON."
+
+ para "If you have"
+ line "@"
+ text_from_ram StringBuffer1
+ text ", would"
+
+ para "you trade it for"
+ line "my @"
+ text_from_ram StringBuffer2
+ text "?"
+ done
+
+UnknownText_0x1bd565::
+ text "You don't have"
+ line "one either?"
+
+ para "Gee, that's really"
+ line "disappointing…"
+ done
+
+UnknownText_0x1bd5a1::
+ text "You don't have"
+ line "@"
+ text_from_ram StringBuffer1
+ text "? That's"
+ cont "too bad, then."
+ done
+
+UnknownText_0x1bd5cc::
+ text "Great! Thank you!"
+
+ para "I finally got"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ done
+
+UnknownText_0x1bd5f4::
+ text "Hi! The @"
+ text_from_ram wMonOrItemNameBuffer
+ text_start
+ line "you traded me is"
+ cont "doing great!"
+ done
+
+UnknownText_0x1bd621::
+ text_from_ram wMonOrItemNameBuffer
+ text "'s cute,"
+ line "but I don't have"
+
+ para "it. Do you have"
+ line "@"
+ text_from_ram StringBuffer1
+ text "?"
+
+ para "Want to trade it"
+ line "for my @"
+ text_from_ram StringBuffer2
+ text "?"
+ done
+
+UnknownText_0x1bd673::
+ text "You don't want to"
+ line "trade? Oh, darn…"
+ done
+
+UnknownText_0x1bd696::
+ text "That's not"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+
+ para "Please trade with"
+ line "me if you get one."
+ done
+
+UnknownText_0x1bd6cd::
+ text "Wow! Thank you!"
+ line "I always wanted"
+ cont "@"
+ text_from_ram wMonOrItemNameBuffer
+ text "!"
+ done
+
+UnknownText_0x1bd6f5::
+ text "How is that"
+ line "@"
+ text_from_ram StringBuffer2
+ text " I"
+ cont "traded you doing?"
+
+ para "Your @"
+ text_from_ram wMonOrItemNameBuffer
+ text "'s"
+ line "so cute!"
+ done
+
+UnknownText_0x1bd731::
+ text "Uh? What happened?"
+ done
+
+UnknownText_0x1bd745::
+ text "Trading is so odd…"
+
+ para "I still have a lot"
+ line "to learn about it."
+ done
+
+UnknownText_0x1bd77f::
+ text "Wow, that's a cute"
+ line "#MON."
+
+ para "Where did you get"
+ line "it?"
+
+ para "…"
+
+ para "So, you're leaving"
+ line "on an adventure…"
+
+ para "OK!"
+ line "I'll help too."
+
+ para "But what can I do"
+ line "for you?"
+
+ para "I know! I'll save"
+ line "money for you."
+
+ para "On a long journey,"
+ line "money's important."
+
+ para "Do you want me to"
+ line "save your money?"
+ done
+
+UnknownText_0x1bd868::
+ text "OK, I'll take care"
+ line "of your money."
+
+ para "<……><……><……>"
+ prompt
+
+UnknownText_0x1bd88e::
+ text "Be careful."
+
+ para "#MON are your"
+ line "friends. You need"
+ cont "to work as a team."
+
+ para "Now, go on!"
+ done
+
+UnknownText_0x1bd8da::
+ text "Hi! Welcome home!"
+ line "You're trying very"
+ cont "hard, I see."
+
+ para "I've kept your"
+ line "room tidy."
+
+ para "Or is this about"
+ line "your money?"
+ done
+
+UnknownText_0x1bd942::
+ text "What do you want"
+ line "to do?"
+ done
+
+UnknownText_0x1bd95b::
+ text "How much do you"
+ line "want to save?"
+ done
+
+UnknownText_0x1bd97a::
+ text "How much do you"
+ line "want to take?"
+ done
+
+UnknownText_0x1bd999::
+ text "Do you want to"
+ line "save some money?"
+ done
+
+UnknownText_0x1bd9ba::
+ text "You haven't saved"
+ line "that much."
+ prompt
+
+UnknownText_0x1bd9d7::
+ text "You can't take"
+ line "that much."
+ prompt
+
+UnknownText_0x1bd9f1::
+ text "You don't have"
+ line "that much."
+ prompt
+
+UnknownText_0x1bda0b::
+ text "You can't save"
+ line "that much."
+ prompt
+
+UnknownText_0x1bda25::
+ text "OK, I'll save your"
+ line "money. Trust me!"
+
+ para "<PLAYER>, stick"
+ line "with it!"
+ done
+
+UnknownText_0x1bda5b::
+ text "Your money's safe"
+ line "here! Get going!"
+ done
+
+UnknownText_0x1bda7e::
+ text "<PLAYER>, don't"
+ line "give up!"
+ done
+
+UnknownText_0x1bda90::
+ text "Just do what"
+ line "you can."
+ done
+
+UnknownText_0x1bdaa7::
+ text_start
+ done
+
+UnknownText_0x1bdaa9::
+ text "I'm the DAY-CARE"
+ line "MAN. Want me to"
+ cont "raise a #MON?"
+ done
+
+UnknownText_0x1bdad8::
+ text "I'm the DAY-CARE"
+ line "MAN. Do you know"
+ cont "about EGGS?"
+
+ para "I was raising"
+ line "#MON with my"
+ cont "wife, you see."
+
+ para "We were shocked to"
+ line "find an EGG!"
+
+ para "How incredible is"
+ line "that?"
+
+ para "So, want me to"
+ line "raise a #MON?"
+ done
+
+UnknownText_0x1bdb85::
+ text "I'm the DAY-CARE"
+ line "LADY."
+
+ para "Should I raise a"
+ line "#MON for you?"
+ done
+
+UnknownText_0x1bdbbb::
+ text "I'm the DAY-CARE"
+ line "LADY. Do you know"
+ cont "about EGGS?"
+
+ para "My husband and I"
+ line "were raising some"
+ cont "#MON, you see."
+
+ para "We were shocked to"
+ line "find an EGG!"
+
+ para "How incredible"
+ line "could that be?"
+
+ para "Should I raise a"
+ line "#MON for you?"
+ done
+
+UnknownText_0x1bdc79::
+ text "What should I"
+ line "raise for you?"
+ prompt
+
+UnknownText_0x1bdc97::
+ text "Oh? But you have"
+ line "just one #MON."
+ prompt
+
+UnknownText_0x1bdcb8::
+ text "Sorry, but I can't"
+ line "accept an EGG."
+ prompt
+
+UnknownText_0x1bdcda::
+ text "Remove MAIL before"
+ line "you come see me."
+ prompt
+
+UnknownText_0x1bdcff::
+ text "If you give me"
+ line "that, what will"
+ cont "you battle with?"
+ prompt
+
+UnknownText_0x1bdd30::
+ text "OK. I'll raise"
+ line "your @"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1bdd4b::
+ text "Come back for it"
+ line "later."
+ done
+
+UnknownText_0x1bdd64::
+ text "Are we geniuses or"
+ line "what? Want to see"
+ cont "your @"
+ text_from_ram StringBuffer1
+ text "?"
+ done
+
+UnknownText_0x1bdd96::
+ text "Your @"
+ text_from_ram StringBuffer1
+ text_start
+ line "has grown a lot."
+
+ para "By level, it's"
+ line "grown by @"
+ deciram StringBuffer2 + 1, 1, 3
+ text "."
+
+ para "If you want your"
+ line "#MON back, it"
+ cont "will cost ¥@"
+ deciram StringBuffer2 + 2, 3, 4
+ text "."
+ done
+
+UnknownText_0x1bde04::
+ text "Perfect! Here's"
+ line "your #MON."
+ prompt
+
+UnknownText_0x1bde1f::
+ text "<PLAYER> got back"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1bde32::
+ text "Huh? Back already?"
+ line "Your @"
+ text_from_ram StringBuffer1
+ text_start
+ para "needs a little"
+ line "more time with us."
+
+ para "If you want your"
+ line "#MON back, it"
+ cont "will cost ¥100."
+ done
+
+UnknownText_0x1bdea2::
+ text "You have no room"
+ line "for it."
+ prompt
+
+UnknownText_0x1bdebc::
+ text "You don't have"
+ line "enough money."
+ prompt
+
+UnknownText_0x1bded9::
+ text "Oh, fine then."
+ prompt
+
+UnknownText_0x1bdee9::
+ text "Come again."
+ done
+
+UnknownText_0x1bdef6::
+ text "Not yet…"
+ done
+
+UnknownText_0x1bdf00::
+ text "Ah, it's you!"
+
+ para "We were raising"
+ line "your #MON, and"
+
+ para "my goodness, were"
+ line "we surprised!"
+
+ para "Your #MON had"
+ line "an EGG!"
+
+ para "We don't know how"
+ line "it got there, but"
+
+ para "your #MON had"
+ line "it. You want it?"
+ done
+
+UnknownText_0x1bdfa5::
+ text "<PLAYER> received"
+ line "the EGG!"
+ done
+
+UnknownText_0x1bdfba::
+ text "Take good care of"
+ line "it."
+ done
+
+UnknownText_0x1bdfd1::
+ text "Well then, I'll"
+ line "keep it. Thanks!"
+ done
+
+UnknownText_0x1bdff2::
+ text "You have no room"
+ line "in your party."
+ cont "Come back later."
+ done
+
+UnknownText_0x1be024::
+ text "Which #MON"
+ line "should I photo-"
+ cont "graph?"
+ prompt
+
+UnknownText_0x1be047::
+ text "All righty. Hold"
+ line "still for a bit."
+ prompt
+
+UnknownText_0x1be06a::
+ text "Presto! All done."
+ line "Come again, OK?"
+ done
diff --git a/data/common_text/common_text_2.asm b/data/common_text/common_text_2.asm
new file mode 100644
index 000000000..bddd0d470
--- /dev/null
+++ b/data/common_text/common_text_2.asm
@@ -0,0 +1,1540 @@
+UnknownText_0x1c0000::
+ text "Oh, no picture?"
+ line "Come again, OK?"
+ done
+
+UnknownText_0x1c0021::
+ text "An EGG? My talent"
+ line "is worth more…"
+ done
+
+UnknownText_0x1c0043::
+ text "Hello, hello! I'm"
+ line "the NAME RATER."
+
+ para "I rate the names"
+ line "of #MON."
+
+ para "Would you like me"
+ line "to rate names?"
+ done
+
+UnknownText_0x1c00a0::
+ text "Which #MON's"
+ line "nickname should I"
+ cont "rate for you?"
+ prompt
+
+UnknownText_0x1c00cd::
+ text "Hm… @"
+ text_from_ram StringBuffer1
+ text "…"
+ line "That's a fairly"
+ cont "decent name."
+
+ para "But, how about a"
+ line "slightly better"
+ cont "nickname?"
+
+ para "Want me to give it"
+ line "a better name?"
+ done
+
+UnknownText_0x1c0142::
+ text "All right. What"
+ line "name should we"
+ cont "give it, then?"
+ prompt
+
+UnknownText_0x1c0171::
+ text "That's a better"
+ line "name than before!"
+
+ para "Well done!"
+ done
+
+UnknownText_0x1c019e::
+ text "OK, then. Come"
+ line "again sometime."
+ done
+
+UnknownText_0x1c01be::
+ text "Hm… @"
+ text_from_ram StringBuffer1
+ text "?"
+ line "What a great name!"
+ cont "It's perfect."
+
+ para "Treat @"
+ text_from_ram StringBuffer1
+ text_start
+ line "with loving care."
+ done
+
+UnknownText_0x1c0208::
+ text "Whoa… That's just"
+ line "an EGG."
+ done
+
+UnknownText_0x1c0222::
+ text "It might look the"
+ line "same as before,"
+
+ para "but this new name"
+ line "is much better!"
+
+ para "Well done!"
+ done
+
+UnknownText_0x1c0272::
+ text "All right. This"
+ line "#MON is now"
+ cont "named @"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+Text_Gained::
+ text_from_ram StringBuffer1
+ text " gained@@"
+
+Text_ABoostedStringBuffer2ExpPoints::
+ text_start
+ line "a boosted"
+ cont "@"
+ deciram StringBuffer2, 2, 4
+ text " EXP. Points!"
+ prompt
+
+Text_StringBuffer2ExpPoints::
+ text_start
+ line "@"
+ deciram StringBuffer2, 2, 4
+ text " EXP. Points!"
+ prompt
+
+Text_GoPkmn::
+ text "Go! @@"
+
+Text_DoItPkmn::
+ text "Do it! @@"
+
+Text_GoForItPkmn::
+ text "Go for it,"
+ line "@@"
+
+Text_YourFoesWeakGetmPkmn::
+ text "Your foe's weak!"
+ line "Get'm, @@"
+
+Text_BattleMonNick01::
+ text_from_ram BattleMonNick
+ text "!"
+ done
+
+Text_BattleMonNickComma::
+ text_from_ram BattleMonNick
+ text ",@@"
+
+Text_ThatsEnoughComeBack::
+ text " that's"
+ line "enough! Come back!@@"
+
+Text_OKComeBack::
+ text " OK!"
+ line "Come back!@@"
+
+Text_GoodComeBack::
+ text " good!"
+ line "Come back!@@"
+
+Text_ComeBack::
+ text " come"
+ line "back!"
+ done
+
+UnknownText_0x1c0373::
+ text "Booted up a TM."
+ prompt
+
+UnknownText_0x1c0384::
+ text "Booted up an HM."
+ prompt
+
+UnknownText_0x1c0396::
+ text "It contained"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+
+ para "Teach @"
+ text_from_ram StringBuffer2
+ text_start
+ line "to a #MON?"
+ done
+
+UnknownText_0x1c03c2::
+ text_from_ram StringBuffer2
+ text " is"
+ line "not compatible"
+ cont "with @"
+ text_from_ram StringBuffer1
+ text "."
+
+ para "It can't learn"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c03fa::
+ text "You have no room"
+ line "for any more"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "S."
+ prompt
+
+UnknownText_0x1c0421::
+ text "You received"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+
+UnknownText_0x1c0436::
+ text "The link has been"
+ line "cancelled."
+ prompt
+
+UnknownText_0x1c0454::
+ text "Communication"
+ line "error."
+ prompt
+
+UnknownText_0x1c046a::
+ text "Must retrieve GIFT"
+ line "at #MON CENTER."
+ prompt
+
+UnknownText_0x1c048e::
+ text "Your friend isn't"
+ line "ready."
+ prompt
+
+UnknownText_0x1c04a7::
+ text "Sorry--only five"
+ line "GIFTS a day."
+ prompt
+
+UnknownText_0x1c04c6::
+ text "Sorry. One GIFT"
+ line "a day per person."
+ prompt
+
+UnknownText_0x1c04e9::
+ text_from_ram wMysteryGiftPartnerName
+ text " sent"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1c04fa::
+ text_from_ram wMysteryGiftPartnerName
+ text " sent"
+ line "@"
+ text_from_ram StringBuffer1
+ text_start
+ cont "to @"
+ text_from_ram wMysteryGiftPlayerName
+ text "'s home."
+ prompt
+
+UnknownText_0x1c051a::
+ text "Received"
+ line "@"
+ text_from_ram wc850
+ text "'s CARD."
+ prompt
+
+UnknownText_0x1c0531::
+ text_from_ram wc850
+ text "'s CARD was"
+ line "listed as no.@"
+ deciram wd265, 1, 2
+ text "."
+ prompt
+
+UnknownText_0x1c0555::
+ text "The CARD was not"
+ line "registered."
+ prompt
+
+UnknownText_0x1c0573::
+ text "The link has been"
+ line "cancelled."
+ prompt
+
+UnknownText_0x1c0591::
+ text "Communication"
+ line "error."
+ prompt
+
+_BadgeRequiredText::
+ text "Sorry! A new BADGE"
+ line "is required."
+ prompt
+
+UnknownText_0x1c05c8::
+ text "Can't use that"
+ line "here."
+ prompt
+
+UnknownText_0x1c05dd::
+ text_from_ram StringBuffer2
+ text " used"
+ line "CUT!"
+ prompt
+
+UnknownText_0x1c05ec::
+ text "There's nothing to"
+ line "CUT here."
+ prompt
+
+UnknownText_0x1c0609::
+ text "A blinding FLASH"
+ line "lights the area!@"
+ text_waitbutton
+ db "@@"
+
+_UsedSurfText::
+ text_from_ram StringBuffer2
+ text " used"
+ line "SURF!"
+ done
+
+_CantSurfText::
+ text "You can't SURF"
+ line "here."
+ prompt
+
+_AlreadySurfingText::
+ text "You're already"
+ line "SURFING."
+ prompt
+
+_AskSurfText::
+ text "The water is calm."
+ line "Want to SURF?"
+ done
+
+UnknownText_0x1c068e::
+ text_from_ram StringBuffer2
+ text " used"
+ line "WATERFALL!"
+ done
+
+UnknownText_0x1c06a3::
+ text "Wow, it's a huge"
+ line "waterfall."
+ done
+
+UnknownText_0x1c06bf::
+ text "Do you want to use"
+ line "WATERFALL?"
+ done
+
+UnknownText_0x1c06de::
+ text_from_ram StringBuffer2
+ text " used"
+ line "DIG!"
+ done
+
+UnknownText_0x1c06ed::
+ text "<PLAYER> used an"
+ line "ESCAPE ROPE."
+ done
+
+UnknownText_0x1c0705::
+ text "Can't use that"
+ line "here."
+ done
+
+UnknownText_0x1c071a::
+ text "Return to the last"
+ line "#MON CENTER."
+ done
+
+UnknownText_0x1c073b::
+ text "Can't use that"
+ line "here."
+
+ para ""
+ done
+
+UnknownText_0x1c0751::
+ text "A #MON is using"
+ line "STRENGTH already."
+ prompt
+
+UnknownText_0x1c0774::
+ text_from_ram StringBuffer2
+ text " used"
+ line "STRENGTH!"
+ done
+
+UnknownText_0x1c0788::
+ text_from_ram StringBuffer1
+ text " can"
+ line "move boulders."
+ prompt
+
+UnknownText_0x1c07a0::
+ text "A #MON may be"
+ line "able to move this."
+
+ para "Want to use"
+ line "STRENGTH?"
+ done
+
+UnknownText_0x1c07d8::
+ text "Boulders may now"
+ line "be moved!"
+ done
+
+UnknownText_0x1c07f4::
+ text "A #MON may be"
+ line "able to move this."
+ done
+
+UnknownText_0x1c0816::
+ text_from_ram StringBuffer2
+ text " used"
+ line "WHIRLPOOL!"
+ prompt
+
+UnknownText_0x1c082b::
+ text "It's a vicious"
+ line "whirlpool!"
+
+ para "A #MON may be"
+ line "able to pass it."
+ done
+
+UnknownText_0x1c0864::
+ text "A whirlpool is in"
+ line "the way."
+
+ para "Want to use"
+ line "WHIRLPOOL?"
+ done
+
+UnknownText_0x1c0897::
+ text_from_ram StringBuffer2
+ text " did a"
+ line "HEADBUTT!"
+ prompt
+
+UnknownText_0x1c08ac::
+ text "Nope. Nothing…"
+ done
+
+UnknownText_0x1c08bc::
+ text "A #MON could be"
+ line "in this tree."
+
+ para "Want to HEADBUTT"
+ line "it?"
+ done
+
+UnknownText_0x1c08f0::
+ text_from_ram StringBuffer2
+ text " used"
+ line "ROCK SMASH!"
+ prompt
+
+UnknownText_0x1c0906::
+ text "Maybe a #MON"
+ line "can break this."
+ done
+
+UnknownText_0x1c0924::
+ text "This rock looks"
+ line "breakable."
+
+ para "Want to use ROCK"
+ line "SMASH?"
+ done
+
+UnknownText_0x1c0958::
+ text "Oh!"
+ line "A bite!"
+ prompt
+
+UnknownText_0x1c0965::
+ text "Not even a nibble!"
+ prompt
+
+UnknownText_0x1c0979::
+ text "Looks like there's"
+ line "nothing here."
+ prompt
+
+UnknownText_0x1c099a::
+ text "You can't get off"
+ line "here!"
+ done
+
+UnknownText_0x1c09b2::
+ text "<PLAYER> got on the"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+ done
+
+UnknownText_0x1c09c7::
+ text "<PLAYER> got off"
+ line "the @"
+ text_from_ram StringBuffer2
+ text "."
+ done
+
+UnknownText_0x1c09dd::
+ text "This tree can be"
+ line "CUT!"
+
+ para "Want to use CUT?"
+ done
+
+UnknownText_0x1c0a05::
+ text "This tree can be"
+ line "CUT!"
+ done
+
+UnknownText_0x1c0a1c::
+ text "<PLAYER> found"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1c0a2c::
+ text "But <PLAYER> can't"
+ line "carry any more"
+ cont "items."
+ done
+
+UnknownText_0x1c0a4e::
+ text "<PLAYER> is out of"
+ line "useable #MON!"
+
+ para "<PLAYER> whited"
+ line "out!"
+ done
+
+UnknownText_0x1c0a77::
+ text "Yes! ITEMFINDER"
+ line "indicates there's"
+ cont "an item nearby."
+ prompt
+
+UnknownText_0x1c0aa9::
+ text "Nope! ITEMFINDER"
+ line "isn't responding."
+ prompt
+
+UnknownText_0x1c0acc::
+ text_from_ram StringBuffer3
+ text_start
+ line "fainted!"
+ prompt
+
+UnknownText_0x1c0ada::
+ text "<PLAYER> is out of"
+ line "useable #MON!"
+
+ para "<PLAYER> whited"
+ line "out!"
+ prompt
+
+UnknownText_0x1c0b03::
+ text_from_ram StringBuffer3
+ text " used"
+ line "SWEET SCENT!"
+ done
+
+UnknownText_0x1c0b1a::
+ text "Looks like there's"
+ line "nothing here…"
+ done
+
+UnknownText_0x1c0b3b::
+ text "<PLAYER> sprinkled"
+ line "water."
+
+ para "But nothing"
+ line "happened…"
+ done
+
+UnknownText_0x1c0b65::
+ text "<PLAYER>'s #MON"
+ line "were all healed!"
+ done
+
+Text_AnEGGCantHoldAnItem::
+ text "An EGG can't hold"
+ line "an item."
+ prompt
+
+UnknownText_0x1c0b9a::
+ text "No items."
+ done
+
+UnknownText_0x1c0ba5::
+ text "Throw away how"
+ line "many?"
+ done
+
+UnknownText_0x1c0bbb::
+ text "Throw away @"
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text_start
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)?"
+ done
+
+UnknownText_0x1c0bd8::
+ text "Threw away"
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)."
+ prompt
+
+UnknownText_0x1c0bee::
+ text "OAK: <PLAYER>!"
+ line "This isn't the"
+ cont "time to use that!"
+ prompt
+
+Text_YouDontHaveAPkmn::
+ text "You don't have a"
+ line "#MON!"
+ prompt
+
+UnknownText_0x1c0c2e::
+ text "Registered the"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c0c45::
+ text "You can't register"
+ line "that item."
+ prompt
+
+UnknownText_0x1c0c63::
+ text "Where should this"
+ line "be moved to?"
+ done
+
+UnknownText_0x1c0c83::
+ text_start
+ done
+
+Text_YouCantUseItInABattle::
+ text "You can't use it"
+ line "in a battle."
+ prompt
+
+Text_AreYouABoyOrAreYouAGirl::
+ text "Are you a boy?"
+ line "Or are you a girl?"
+ done
+
+UnknownText_0x1c0cc6::
+ text "<USER>'s"
+ line "@"
+ text_from_ram StringBuffer2
+ db "@@"
+
+UnknownText_0x1c0cd0::
+ interpret_data
+ text "<SCROLL>went way up!"
+ prompt
+
+UnknownText_0x1c0ce0::
+ text " went up!"
+ prompt
+
+UnknownText_0x1c0ceb::
+ text "<TARGET>'s"
+ line "@"
+ text_from_ram StringBuffer2
+ db "@@"
+
+UnknownText_0x1c0cf5::
+ interpret_data
+ text "<SCROLL>sharply fell!"
+ prompt
+
+UnknownText_0x1c0d06::
+ text " fell!"
+ prompt
+
+UnknownText_0x1c0d0e::
+ text "<USER>@@"
+
+UnknownText_0x1c0d12::
+ text_start
+ line "made a whirlwind!"
+ prompt
+
+UnknownText_0x1c0d26::
+ text_start
+ line "took in sunlight!"
+ prompt
+
+UnknownText_0x1c0d3a::
+ text_start
+ line "lowered its head!"
+ prompt
+
+UnknownText_0x1c0d4e::
+ text_start
+ line "is glowing!"
+ prompt
+
+UnknownText_0x1c0d5c::
+ text_start
+ line "flew up high!"
+ prompt
+
+UnknownText_0x1c0d6c::
+ text_start
+ line "dug a hole!"
+ prompt
+
+_ActorNameText::
+ text "<USER>@@"
+
+_UsedMove1Text::
+ text_start
+ line "used @@"
+
+_UsedMove2Text::
+ text_start
+ line "used @@"
+
+_UsedInsteadText::
+ text "instead,"
+ cont "@@"
+
+_MoveNameText::
+ text_from_ram StringBuffer2
+ db "@@"
+
+_EndUsedMove1Text::
+ text "!"
+ done
+
+_EndUsedMove2Text::
+ text "!"
+ done
+
+_EndUsedMove3Text::
+ text "!"
+ done
+
+_EndUsedMove4Text::
+ text "!"
+ done
+
+_EndUsedMove5Text::
+ text "!"
+ done
+
+UnknownText_0x1c0db0::
+ text "Huh?"
+
+ para "@@"
+
+UnknownText_0x1c0db8::
+ text_start
+ done
+
+UnknownText_0x1c0dba::
+ text_from_ram StringBuffer1
+ text " came"
+ line "out of its EGG!@"
+ sound_caught_mon
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1c0dd8::
+ text "Give a nickname to"
+ line "@"
+ text_from_ram StringBuffer1
+ text "?"
+ done
+
+UnknownText_0x1c0df3::
+ text "It's @"
+ text_from_ram wBreedMon2Nick
+ text_start
+ line "that was left with"
+ cont "the DAY-CARE LADY."
+ done
+
+UnknownText_0x1c0e24::
+ text "It's @"
+ text_from_ram wBreedMon1
+ text_start
+ line "that was left with"
+ cont "the DAY-CARE MAN."
+ done
+
+UnknownText_0x1c0e54::
+ text "It's brimming with"
+ line "energy."
+ prompt
+
+UnknownText_0x1c0e6f::
+ text "It has no interest"
+ line "in @"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1c0e8d::
+ text "It appears to care"
+ line "for @"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1c0eac::
+ text "It's friendly with"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1c0ec6::
+ text "It shows interest"
+ line "in @"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+_EmptyMailboxText::
+ text "There's no MAIL"
+ line "here."
+ prompt
+
+ClearedMailPutAwayText::
+ text "The cleared MAIL"
+ line "was put away."
+ prompt
+
+MailPackFullText::
+ text "The PACK is full."
+ prompt
+
+MailMessageLostText::
+ text "The MAIL's message"
+ line "will be lost. OK?"
+ done
+
+MailAlreadyHoldingItemText::
+ text "It's already hold-"
+ line "ing an item."
+ prompt
+
+MailEggText::
+ text "An EGG can't hold"
+ line "any MAIL."
+ prompt
+
+MailMovedFromBoxText::
+ text "The MAIL was moved"
+ line "from the MAILBOX."
+ prompt
+
+UnknownText_0x1c0fb3::
+ text "Yes"
+ prompt
+
+UnknownText_0x1c0fb8::
+ text "No"
+ prompt
+
+UnknownText_0x1c0fbc::
+ deciram wcf64, 1, 3
+ text " @"
+ text_from_ram StringBuffer1
+ text_start
+ line "Animation type @"
+ text_from_ram StringBuffer2
+ db "@@"
+
+UnknownText_0x1c0fdd::
+ text "#MON number?"
+ done
+
+Text_WasSentToBillsPC::
+ text_from_ram StringBuffer1
+ text " was"
+ line "sent to BILL's PC."
+ prompt
+
+UnknownText_0x1c1006::
+ text "You gotta have"
+ line "#MON to call!"
+ prompt
+
+UnknownText_0x1c1024::
+ text "What?"
+ done
+
+UnknownText_0x1c102b::
+ text "There is a #MON"
+ line "holding MAIL."
+
+ para "Please remove the"
+ line "MAIL."
+ prompt
+
+UnknownText_0x1c1062::
+ text "You don't have a"
+ line "single #MON!"
+ prompt
+
+UnknownText_0x1c1080::
+ text "You can't deposit"
+ line "your last #MON!"
+ prompt
+
+UnknownText_0x1c10a2::
+ text "You can't take any"
+ line "more #MON."
+ prompt
+
+UnknownText_0x1c10c0::
+ text "Caught @"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+
+UnknownText_0x1c10cf::
+ text "Switch #MON?"
+ done
+
+UnknownText_0x1c10dd::
+ text "You already caught"
+ line "a @"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+ContestJudging_FirstPlaceText::
+ text "This Bug-Catching"
+ line "Contest winner is@"
+ interpret_data
+ text "…"
+
+ para "@"
+ text_from_ram wBugContestWinnerName
+ text ","
+ line "who caught a"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "!@@"
+
+ContestJudging_FirstPlaceScoreText::
+ text_start
+
+ para "The winning score"
+ line "was @"
+ deciram wBugContestFirstPlaceScore, 2, 3
+ text " points!"
+ prompt
+
+ContestJudging_SecondPlaceText::
+ text "Placing second was"
+ line "@"
+ text_from_ram wBugContestWinnerName
+ text ","
+
+ para "who caught a"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!@@"
+
+ContestJudging_SecondPlaceScoreText::
+ text_start
+
+ para "The score was"
+ line "@"
+ deciram wBugContestSecondPlaceScore, 2, 3
+ text " points!"
+ prompt
+
+ContestJudging_ThirdPlaceText::
+ text "Placing third was"
+ line "@"
+ text_from_ram wBugContestWinnerName
+ text ","
+
+ para "who caught a"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!@@"
+
+ContestJudging_ThirdPlaceScoreText::
+ text_start
+
+ para "The score was"
+ line "@"
+ deciram wBugContestThirdPlaceScore, 2, 3
+ text " points!"
+ prompt
+
+UnknownText_0x1c1203::
+ text "Let me measure"
+ line "that MAGIKARP."
+
+ para "…Hm, it measures"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1c123a::
+ text "CURRENT RECORD"
+
+ para "@"
+ text_from_ram StringBuffer1
+ text " caught by"
+ line "@"
+ text_from_ram wMagikarpRecordHoldersName
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1c1261::
+ text "Congratulations!"
+
+ para "We have a match"
+ line "with the ID number"
+
+ para "of @"
+ text_from_ram StringBuffer1
+ text " in"
+ line "your party."
+ prompt
+
+UnknownText_0x1c12ae::
+ text "Congratulations!"
+
+ para "We have a match"
+ line "with the ID number"
+
+ para "of @"
+ text_from_ram StringBuffer1
+ text " in"
+ line "your PC BOX."
+ prompt
+
+UnknownText_0x1c12fc::
+ text "Give a nickname to"
+ line "the @"
+ text_from_ram StringBuffer1
+ text " you"
+ cont "received?"
+ done
+
+UnknownText_0x1c1328::
+ text "Bzzzzt! You must"
+ line "have a #MON to"
+ cont "use this!"
+ prompt
+
+UnknownText_0x1c1353::
+ text "<PLAYER> turned on"
+ line "the PC."
+ prompt
+
+UnknownText_0x1c1368::
+ text "What do you want"
+ line "to do?"
+ done
+
+_KrissPCHowManyWithdrawText::
+ text "How many do you"
+ line "want to withdraw?"
+ done
+
+_KrissPCWithdrewItemsText::
+ text "Withdrew @"
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text_start
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)."
+ prompt
+
+_KrissPCNoRoomWithdrawText::
+ text "There's no room"
+ line "for more items."
+ prompt
+
+UnknownText_0x1c13df::
+ text "No items here!"
+ prompt
+
+_KrissPCHowManyDepositText::
+ text "How many do you"
+ line "want to deposit?"
+ done
+
+_KrissPCDepositItemsText::
+ text "Deposited @"
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text_start
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)."
+ prompt
+
+_KrissPCNoRoomDepositText::
+ text "There's no room to"
+ line "store items."
+ prompt
+
+UnknownText_0x1c144d::
+ text "<PLAYER> turned on"
+ line "the PC."
+ prompt
+
+UnknownText_0x1c1462::
+ text "Access whose PC?"
+ done
+
+UnknownText_0x1c1474::
+ text "BILL's PC"
+ line "accessed."
+
+ para "#MON Storage"
+ line "System opened."
+ prompt
+
+UnknownText_0x1c14a4::
+ text "Accessed own PC."
+
+ para "Item Storage"
+ line "System opened."
+ prompt
+
+UnknownText_0x1c14d2::
+ text "PROF.OAK's PC"
+ line "accessed."
+
+ para "#DEX Rating"
+ line "System opened."
+ prompt
+
+UnknownText_0x1c1505::
+ text "…"
+ line "Link closed…"
+ done
+
+_OakPCText1::
+ text "Want to get your"
+ line "#DEX rated?"
+ done
+
+_OakPCText2::
+ text "Current #DEX"
+ line "completion level:"
+ prompt
+
+_OakPCText3::
+ text_from_ram StringBuffer3
+ text " #MON seen"
+ line "@"
+ text_from_ram StringBuffer4
+ text " #MON owned"
+
+ para "PROF.OAK's"
+ line "Rating:"
+ done
+
+_OakRating01::
+ text "Look for #MON"
+ line "in grassy areas!"
+ done
+
+_OakRating02::
+ text "Good. I see you"
+ line "understand how to"
+ cont "use # BALLS."
+ done
+
+_OakRating03::
+ text "You're getting"
+ line "good at this."
+
+ para "But you have a"
+ line "long way to go."
+ done
+
+_OakRating04::
+ text "You need to fill"
+ line "up the #DEX."
+
+ para "Catch different"
+ line "kinds of #MON!"
+ done
+
+_OakRating05::
+ text "You're trying--I"
+ line "can see that."
+
+ para "Your #DEX is"
+ line "coming together."
+ done
+
+_OakRating06::
+ text "To evolve, some"
+ line "#MON grow,"
+
+ para "others use the"
+ line "effects of STONES."
+ done
+
+_OakRating07::
+ text "Have you gotten a"
+ line "fishing ROD? You"
+
+ para "can catch #MON"
+ line "by fishing."
+ done
+
+_OakRating08::
+ text "Excellent! You"
+ line "seem to like col-"
+ cont "lecting things!"
+ done
+
+_OakRating09::
+ text "Some #MON only"
+ line "appear during"
+
+ para "certain times of"
+ line "the day."
+ done
+
+_OakRating10::
+ text "Your #DEX is"
+ line "filling up. Keep"
+ cont "up the good work!"
+ done
+
+_OakRating11::
+ text "I'm impressed."
+ line "You're evolving"
+
+ para "#MON, not just"
+ line "catching them."
+ done
+
+_OakRating12::
+ text "Have you met KURT?"
+ line "His custom BALLS"
+ cont "should help."
+ done
+
+_OakRating13::
+ text "Wow. You've found"
+ line "more #MON than"
+
+ para "the last #DEX"
+ line "research project."
+ done
+
+_OakRating14::
+ text "Are you trading"
+ line "your #MON?"
+
+ para "It's tough to do"
+ line "this alone!"
+ done
+
+_OakRating15::
+ text "Wow! You've hit"
+ line "200! Your #DEX"
+ cont "is looking great!"
+ done
+
+_OakRating16::
+ text "You've found so"
+ line "many #MON!"
+
+ para "You've really"
+ line "helped my studies!"
+ done
+
+_OakRating17::
+ text "Magnificent! You"
+ line "could become a"
+
+ para "#MON professor"
+ line "right now!"
+ done
+
+_OakRating18::
+ text "Your #DEX is"
+ line "amazing! You're"
+
+ para "ready to turn"
+ line "professional!"
+ done
+
+_OakRating19::
+ text "Whoa! A perfect"
+ line "#DEX! I've"
+
+ para "dreamt about this!"
+ line "Congratulations!"
+ done
+
+_OakPCText4::
+ text "The link to PROF."
+ line "OAK's PC closed."
+ done
+
+UnknownText_0x1c19cd::
+ text "Triple-theme"
+ line "trainer ranking!"
+
+ para "The SAVE file you"
+ line "just sent might"
+ cont "make the rankings!"
+
+ para ""
+ done
+
+UnknownText_0x1c1a22::
+ text "There is no"
+ line "ranking data."
+
+ para "Link to obtain"
+ line "ranking data."
+
+ para ""
+ done
+
+UnknownText_0x1c1a5b::
+ text " , yeah!"
+ done
+
+UnknownText_0x1c1a65::
+ text "Darn…"
+ done
+
+UnknownText_0x1c1a6c::
+ text "Would you like to"
+ line "end the Contest?"
+ done
+
+UnknownText_0x1c1a90::
+ text "Toss out how many"
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)?"
+ done
+
+UnknownText_0x1c1aad::
+ text "Throw away @"
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text_start
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)?"
+ done
+
+UnknownText_0x1c1aca::
+ text "Discarded"
+ line "@"
+ text_from_ram StringBuffer1
+ text "(S)."
+ prompt
+
+UnknownText_0x1c1adf::
+ text "That's too impor-"
+ line "tant to toss out!"
+ prompt
+
+UnknownText_0x1c1b03::
+ text "OAK: <PLAYER>!"
+ line "This isn't the"
+ cont "time to use that!"
+ done
+
+UnknownText_0x1c1b2c::
+ text "Took @"
+ text_from_ram wMonOrItemNameBuffer
+ text "'s"
+ line "@"
+ text_from_ram StringBuffer1
+ text " and"
+
+ para "made it hold"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c1b57::
+ text "Made @"
+ text_from_ram wMonOrItemNameBuffer
+ text_start
+ line "hold @"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c1b6f::
+ text "Please remove the"
+ line "MAIL first."
+ prompt
+
+UnknownText_0x1c1b8e::
+ text_from_ram wMonOrItemNameBuffer
+ text " isn't"
+ line "holding anything."
+ prompt
+
+UnknownText_0x1c1baa::
+ text "Item storage space"
+ line "full."
+ prompt
+
+UnknownText_0x1c1bc4::
+ text "Took @"
+ text_from_ram StringBuffer1
+ text_start
+ line "from @"
+ text_from_ram wMonOrItemNameBuffer
+ text "."
+ prompt
+
+UnknownText_0x1c1bdc::
+ text_from_ram wMonOrItemNameBuffer
+ text " is"
+ line "already holding"
+
+ para "@"
+ text_from_ram StringBuffer1
+ text "."
+ line "Switch items?"
+ done
+
+UnknownText_0x1c1c09::
+ text "This item can't be"
+ line "held."
+ prompt
+
+UnknownText_0x1c1c22::
+ text "The MAIL will lose"
+ line "its message. OK?"
+ done
+
+UnknownText_0x1c1c47::
+ text "MAIL detached from"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1c1c62::
+ text "There's no space"
+ line "for removing MAIL."
+ prompt
+
+UnknownText_0x1c1c86::
+ text "Send the removed"
+ line "MAIL to your PC?"
+ done
+
+UnknownText_0x1c1ca9::
+ text "Your PC's MAILBOX"
+ line "is full."
+ prompt
+
+UnknownText_0x1c1cc4::
+ text "The MAIL was sent"
+ line "to your PC."
+ prompt
+
+UnknownText_0x1c1ce3::
+ text "Not enough HP!"
+ prompt
+
+UnknownText_0x1c1cf3::
+ text "An item in your"
+ line "PACK may be"
+
+ para "registered for use"
+ line "on SELECT Button."
+ done
+
+_OakText1::
+ text "Hello! Sorry to"
+ line "keep you waiting!"
+
+ para "Welcome to the"
+ line "world of #MON!"
+
+ para "My name is OAK."
+
+ para "People call me the"
+ line "#MON PROF."
+ prompt
+
+_OakText2::
+ text "This world is in-"
+ line "habited by crea-"
+ cont "tures that we call"
+ cont "#MON.@@"
+
+_OakText3::
+ text_waitbutton
+ db "@@"
+
+_OakText4::
+ text "People and #MON"
+ line "live together by"
+
+ para "supporting each"
+ line "other."
+
+ para "Some people play"
+ line "with #MON, some"
+ cont "battle with them."
+ prompt
+
+_OakText5::
+ text "But we don't know"
+ line "everything about"
+ cont "#MON yet."
+
+ para "There are still"
+ line "many mysteries to"
+ cont "solve."
+
+ para "That's why I study"
+ line "#MON every day."
+ prompt
diff --git a/data/common_text/common_text_3.asm b/data/common_text/common_text_3.asm
new file mode 100644
index 000000000..a04432637
--- /dev/null
+++ b/data/common_text/common_text_3.asm
@@ -0,0 +1,1508 @@
+_OakText6::
+ text "Now, what did you"
+ line "say your name was?"
+ prompt
+
+_OakText7::
+ text "<PLAYER>, are you"
+ line "ready?"
+
+ para "Your very own"
+ line "#MON story is"
+ cont "about to unfold."
+
+ para "You'll face fun"
+ line "times and tough"
+ cont "challenges."
+
+ para "A world of dreams"
+ line "and adventures"
+
+ para "with #MON"
+ line "awaits! Let's go!"
+
+ para "I'll be seeing you"
+ line "later!"
+ done
+
+UnknownText_0x1c40e6::
+ text "The clock's time"
+ line "may be wrong."
+
+ para "Please reset the"
+ line "time."
+ prompt
+
+UnknownText_0x1c411c::
+ text "Set with the"
+ line "Control Pad."
+
+ para "Confirm: A Button"
+ line "Cancel: B Button"
+ done
+
+UnknownText_0x1c415b::
+ text "Is this OK?"
+ done
+
+UnknownText_0x1c4168::
+ text "The clock has been"
+ line "reset."
+ done
+
+UnknownText_0x1c4183::
+ text "Too much time has"
+ line "elapsed. Please"
+ cont "try again."
+ prompt
+
+UnknownText_0x1c41b1::
+ text "If you trade that"
+ line "#MON, you won't"
+ cont "be able to battle."
+ prompt
+
+UnknownText_0x1c41e6::
+ text "Your friend's"
+ line "@"
+ text_from_ram StringBuffer1
+ text " appears"
+ cont "to be abnormal!"
+ prompt
+
+UnknownText_0x1c4212::
+ text "Trade @"
+ text_from_ram wd004
+ text_start
+ line "for @"
+ text_from_ram StringBuffer1
+ text "?"
+ done
+
+UnknownText_0x1c422a::
+ text "To enter a mobile"
+ line "battle, you must"
+
+ para "pick a team of"
+ line "three #MON."
+
+ para "Is that OK?"
+ done
+
+UnknownText_0x1c4275::
+ text "Need more info on"
+ line "mobile battles?"
+ done
+
+UnknownText_0x1c4298::
+ text "For a mobile"
+ line "battle, choose"
+ cont "three #MON."
+
+ para "The maximum daily"
+ line "play time is ten"
+
+ para "minutes for each"
+ line "linked player."
+
+ para "If a battle isn't"
+ line "finished within"
+
+ para "the time limit,"
+ line "the player with"
+
+ para "the fewest fainted"
+ line "#MON wins."
+
+ para "If tied, the team"
+ line "that lost the"
+
+ para "least amount of HP"
+ line "wins."
+ done
+
+UnknownText_0x1c439c::
+ text "Today's remaining"
+ line "time is @"
+ deciram StringBuffer2, 1, 2
+ text " min."
+
+ para "Would you like to"
+ line "battle?"
+ done
+
+UnknownText_0x1c43dc::
+ text "There are only @"
+ deciram StringBuffer2, 1, 2
+ text_start
+ line "min. left today."
+
+ para "Want a quick"
+ line "battle?"
+ done
+
+UnknownText_0x1c4419::
+ text "There is only"
+ line "1 min. left today!"
+
+ para "Want to rush"
+ line "through a battle?"
+ done
+
+UnknownText_0x1c445a::
+ text "There is less than"
+ line "1 min. left today!"
+
+ para "Please try again"
+ line "tomorrow."
+ done
+
+UnknownText_0x1c449c::
+ text "Try again using"
+ line "the same settings?"
+ done
+
+UnknownText_0x1c44c0::
+ text "There is less than"
+ line "1 min. left today!"
+ done
+
+UnknownText_0x1c44e7::
+ text "No time left for"
+ line "linking today."
+ done
+
+UnknownText_0x1c4508::
+ text "Pick three #MON"
+ line "for battle."
+ done
+
+UnknownText_0x1c4525::
+ text "Today's remaining"
+ line "time is @"
+ deciram StringBuffer2, 1, 2
+ text " min."
+ done
+
+UnknownText_0x1c454b::
+ text "Would you like to"
+ line "save the game?"
+ done
+
+UnknownText_0x1c456d::
+ text "SAVING… DON'T TURN"
+ line "OFF THE POWER."
+ done
+
+UnknownText_0x1c4590::
+ text "<PLAYER> saved"
+ line "the game."
+ done
+
+UnknownText_0x1c45a3::
+ text "There is already a"
+ line "save file. Is it"
+ cont "OK to overwrite?"
+ done
+
+UnknownText_0x1c45d9::
+ text "There is another"
+ line "save file. Is it"
+ cont "OK to overwrite?"
+ done
+
+UnknownText_0x1c460d::
+ text "The save file is"
+ line "corrupted!"
+ prompt
+
+UnknownText_0x1c462a::
+ text "When you change a"
+ line "#MON BOX, data"
+ cont "will be saved. OK?"
+ done
+
+UnknownText_0x1c465f::
+ text "Each time you move"
+ line "a #MON, data"
+ cont "will be saved. OK?"
+ done
+
+UnknownText_0x1c4693::
+ text "The window save"
+ line "area was exceeded."
+ done
+
+UnknownText_0x1c46b7::
+ text "No windows avail-"
+ line "able for popping."
+ done
+
+UnknownText_0x1c46dc::
+ text "Corrupted event!"
+ prompt
+
+_ObjectEventText::
+ text "Object event"
+ done
+
+UnknownText_0x1c46fc::
+ text "BG event"
+ done
+
+UnknownText_0x1c4706::
+ text "Coordinates event"
+ done
+
+UnknownText_0x1c4719::
+ text "<PLAYER> received"
+ line "@"
+ text_from_ram StringBuffer4
+ text "."
+ done
+
+UnknownText_0x1c472c::
+ text "<PLAYER> put the"
+ line "@"
+ text_from_ram StringBuffer1
+ text " in"
+ cont "the @"
+ text_from_ram StringBuffer3
+ text "."
+ prompt
+
+UnknownText_0x1c474b::
+ text "The @"
+ text_from_ram StringBuffer3
+ text_start
+ line "is full…"
+ prompt
+
+UnknownText_0x1c475f::
+ text "I see all."
+ line "I know all…"
+
+ para "Certainly, I know"
+ line "of your #MON!"
+ done
+
+UnknownText_0x1c4797::
+ text "Whaaaat? I can't"
+ line "tell a thing!"
+
+ para "How could I not"
+ line "know of this?"
+ done
+
+UnknownText_0x1c47d4::
+ text "Hm… I see you met"
+ line "@"
+ text_from_ram wSeerNickname
+ text " here:"
+ cont "@"
+ text_from_ram wSeerCaughtLocation
+ text "!"
+ prompt
+
+UnknownText_0x1c47fa::
+ text "The time was"
+ line "@"
+ text_from_ram wSeerTimeOfDay
+ text "!"
+
+ para "Its level was @"
+ text_from_ram wSeerCaughtLevelString
+ text "!"
+
+ para "Am I good or what?"
+ prompt
+
+UnknownText_0x1c4837::
+ text "Hm… @"
+ text_from_ram wSeerNickname
+ text_start
+ line "came from @"
+ text_from_ram wSeerOTName
+ text_start
+ cont "in a trade?"
+
+ para "@"
+ text_from_ram wSeerCaughtLocation
+ text_start
+ line "was where @"
+ text_from_ram wSeerOTName
+ text_start
+ cont "met @"
+ text_from_ram wSeerNickname
+ text "!"
+ prompt
+
+UnknownText_0x1c487f::
+ text "What!? Incredible!"
+
+ para "I don't understand"
+ line "how, but it is"
+
+ para "incredible!"
+ line "You are special."
+
+ para "I can't tell where"
+ line "you met it, but it"
+ cont "was at level @"
+ text_from_ram wSeerCaughtLevelString
+ text "."
+
+ para "Am I good or what?"
+ prompt
+
+UnknownText_0x1c491d::
+ text "Hey!"
+
+ para "That's an EGG!"
+
+ para "You can't say that"
+ line "you've met it yet…"
+ done
+
+UnknownText_0x1c4955::
+ text "Fufufu! I saw that"
+ line "you'd do nothing!"
+ done
+
+UnknownText_0x1c497a::
+ text "Incidentally…"
+
+ para "It would be wise"
+ line "to raise your"
+
+ para "#MON with a"
+ line "little more care."
+ done
+
+UnknownText_0x1c49c6::
+ text "Incidentally…"
+
+ para "It seems to have"
+ line "grown a little."
+
+ para "@"
+ text_from_ram wSeerNickname
+ text " seems"
+ line "to be becoming"
+ cont "more confident."
+ done
+
+UnknownText_0x1c4a21::
+ text "Incidentally…"
+
+ para "@"
+ text_from_ram wSeerNickname
+ text " has"
+ line "grown. It's gained"
+ cont "much strength."
+ done
+
+UnknownText_0x1c4a5b::
+ text "Incidentally…"
+
+ para "It certainly has"
+ line "grown mighty!"
+
+ para "This @"
+ text_from_ram wSeerNickname
+ text_start
+ line "must have come"
+
+ para "through numerous"
+ line "#MON battles."
+
+ para "It looks brimming"
+ line "with confidence."
+ done
+
+UnknownText_0x1c4ae5::
+ text "Incidentally…"
+
+ para "I'm impressed by"
+ line "your dedication."
+
+ para "It's been a long"
+ line "time since I've"
+
+ para "seen a #MON as"
+ line "mighty as this"
+ cont "@"
+ text_from_ram wSeerNickname
+ text "."
+
+ para "I'm sure that"
+ line "seeing @"
+ text_from_ram wSeerNickname
+ text_start
+
+ para "in battle would"
+ line "excite anyone."
+ done
+
+UnknownText_0x1c4b92::
+ text "Congratulations!"
+ line "Your @"
+ text_from_ram StringBuffer2
+ db "@@"
+
+UnknownText_0x1c4baf::
+ text_start
+
+ para "evolved into"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!"
+ done
+
+UnknownText_0x1c4bc5::
+ text "Huh? @"
+ text_from_ram StringBuffer2
+ text_start
+ line "stopped evolving!"
+ prompt
+
+UnknownText_0x1c4be3::
+ text "What? @"
+ text_from_ram StringBuffer2
+ text_start
+ line "is evolving!"
+ done
+
+UnknownText_0x1c4bfd::
+ text "How many?"
+ done
+
+UnknownText_0x1c4c08::
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text " @"
+ text_from_ram StringBuffer2
+ text "(S)"
+ line "will be ¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+ done
+
+UnknownText_0x1c4c28::
+ text "Hello, dear."
+
+ para "I sell inexpensive"
+ line "herbal medicine."
+
+ para "They're good, but"
+ line "a trifle bitter."
+
+ para "Your #MON may"
+ line "not like them."
+
+ para "Hehehehe…"
+ done
+
+UnknownText_0x1c4ca3::
+ text "How many?"
+ done
+
+UnknownText_0x1c4cae::
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text " @"
+ text_from_ram StringBuffer2
+ text "(S)"
+ line "will be ¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+ done
+
+UnknownText_0x1c4cce::
+ text "Thank you, dear."
+ line "Hehehehe…"
+ done
+
+UnknownText_0x1c4cea::
+ text "Oh? Your PACK is"
+ line "full, dear."
+ done
+
+UnknownText_0x1c4d08::
+ text "Hehehe… You don't"
+ line "have the money."
+ done
+
+UnknownText_0x1c4d2a::
+ text "Come again, dear."
+ line "Hehehehe…"
+ done
+
+UnknownText_0x1c4d47::
+ text "Hiya! Care to see"
+ line "some bargains?"
+
+ para "I sell rare items"
+ line "that nobody else"
+
+ para "carries--but only"
+ line "one of each item."
+ done
+
+UnknownText_0x1c4db0::
+ text_from_ram StringBuffer2
+ text " costs"
+ line "¥@"
+ deciram hMoneyTemp, 3, 6
+ text ". Want it?"
+ done
+
+UnknownText_0x1c4dcd::
+ text "Thanks."
+ done
+
+UnknownText_0x1c4dd6::
+ text "Uh-oh, your PACK"
+ line "is chock-full."
+ done
+
+UnknownText_0x1c4df7::
+ text "You bought that"
+ line "already. I'm all"
+ cont "sold out of it."
+ done
+
+UnknownText_0x1c4e28::
+ text "Uh-oh, you're"
+ line "short on funds."
+ done
+
+UnknownText_0x1c4e46::
+ text "Come by again"
+ line "sometime."
+ done
+
+UnknownText_0x1c4e5f::
+ text "What's up? Need"
+ line "some medicine?"
+ done
+
+UnknownText_0x1c4e7e::
+ text "How many?"
+ done
+
+UnknownText_0x1c4e89::
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text " @"
+ text_from_ram StringBuffer2
+ text "(S)"
+ line "will cost ¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+ done
+
+UnknownText_0x1c4eab::
+ text "Thanks much!"
+ done
+
+UnknownText_0x1c4eb9::
+ text "You don't have any"
+ line "more space."
+ done
+
+UnknownText_0x1c4ed8::
+ text "Huh? That's not"
+ line "enough money."
+ done
+
+UnknownText_0x1c4ef6::
+ text "All right."
+ line "See you around."
+ done
+
+UnknownText_0x1c4f12::
+ text "You don't have"
+ line "anything to sell."
+ prompt
+
+UnknownText_0x1c4f33::
+ text "How many?"
+ done
+
+UnknownText_0x1c4f3e::
+ text "I can pay you"
+ line "¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+
+ para "Is that OK?"
+ done
+
+UnknownText_0x1c4f62::
+ text "Welcome! How may I"
+ line "help you?"
+ done
+
+UnknownText_0x1c4f80::
+ text "Here you are."
+ line "Thank you!"
+ done
+
+UnknownText_0x1c4f9a::
+ text "You don't have"
+ line "enough money."
+ done
+
+UnknownText_0x1c4fb7::
+ text "You can't carry"
+ line "any more items."
+ done
+
+UnknownText_0x1c4fd7::
+ text "Sorry, I can't buy"
+ line "that from you."
+ prompt
+
+UnknownText_0x1c4ff9::
+ text "Please come again!"
+ done
+
+UnknownText_0x1c500d::
+ text "Can I do anything"
+ line "else for you?"
+ done
+
+UnknownText_0x1c502e::
+ text "Got ¥@"
+ deciram hMoneyTemp, 3, 6
+ text " for"
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)."
+ done
+
+UnknownText_0x1c5049::
+ text "Bet how many"
+ line "coins?"
+ done
+
+UnknownText_0x1c505e::
+ text "Start!"
+ done
+
+UnknownText_0x1c5066::
+ text "Not enough"
+ line "coins."
+ prompt
+
+UnknownText_0x1c5079::
+ text "Darn… Ran out of"
+ line "coins…"
+ done
+
+UnknownText_0x1c5092::
+ text "Play again?"
+ done
+
+UnknownText_0x1c509f::
+ text "lined up!"
+ line "Won @"
+ text_from_ram StringBuffer2
+ text " coins!"
+ done
+
+UnknownText_0x1c50bb::
+ text "Darn!"
+ done
+
+_MobileStadiumEntryText::
+ text "Data for use in"
+ line "the MOBILE STADIUM"
+
+ para "of the N64 #MON"
+ line "STADIUM 2 can be"
+ cont "read here."
+
+ para "Read the data?"
+ done
+
+_MobileStadiumSuccessText::
+ text "Data transfer is"
+ line "complete."
+
+ para "We hope you enjoy"
+ line "MOBILE STADIUM"
+
+ para "battles in the N64"
+ line "#MON STADIUM 2."
+
+ para ""
+ done
+
+UnknownText_0x1c5182::
+ text "Clock time unknown"
+ done
+
+UnknownText_0x1c5196::
+ text "Delete the saved"
+ line "LOG-IN PASSWORD?"
+ done
+
+UnknownText_0x1c51b9::
+ text "Deleted the LOG-IN"
+ line "PASSWORD."
+ done
+
+UnknownText_0x1c51d7::
+ text "Pick three #MON"
+ line "for battle."
+ prompt
+
+UnknownText_0x1c51f4::
+ text_from_ram wMobileParticipant1Nickname
+ text ","
+ line "@"
+ text_from_ram wMobileParticipant2Nickname
+ text " and"
+ cont "@"
+ text_from_ram wMobileParticipant3Nickname
+ text "."
+
+ para "Use these three?"
+ done
+
+UnknownText_0x1c521c::
+ text "Only three #MON"
+ line "may enter."
+ prompt
+
+UnknownText_0x1c5238::
+ text "The CARD FOLDER"
+ line "stores your and"
+
+ para "your friends'"
+ line "CARDS."
+
+ para "A CARD contains"
+ line "information like"
+
+ para "the person's name,"
+ line "phone number and"
+ cont "profile."
+
+ para ""
+ done
+
+UnknownText_0x1c52bc::
+ text "This is your CARD."
+
+ para "Once you've"
+ line "entered your phone"
+
+ para "number, you can"
+ line "trade CARDS with"
+ cont "your friends."
+
+ para ""
+ done
+
+UnknownText_0x1c531e::
+ text "If you have your"
+ line "friend's CARD, you"
+
+ para "can use it to make"
+ line "a call from a"
+
+ para "mobile phone on"
+ line "the 2nd floor of a"
+ cont "#MON CENTER."
+
+ para ""
+ done
+
+UnknownText_0x1c5394::
+ text "To safely store"
+ line "your collection of"
+
+ para "CARDS, you must"
+ line "set a PASSCODE for"
+ cont "your CARD FOLDER."
+
+ para ""
+ done
+
+UnknownText_0x1c53ee::
+ text "If the CARD FOLDER"
+ line "is deleted, all"
+
+ para "its CARDS and the"
+ line "PASSCODE will also"
+ cont "be deleted."
+
+ para "Beware--a deleted"
+ line "CARD FOLDER can't"
+ cont "be restored."
+
+ para "Want to delete"
+ line "your CARD FOLDER?"
+ done
+
+UnknownText_0x1c5494::
+ text "Are you sure you"
+ line "want to delete it?"
+ done
+
+UnknownText_0x1c54b9::
+ text "The CARD FOLDER"
+ line "has been deleted."
+
+ para ""
+ done
+
+UnknownText_0x1c54dd::
+ text "There is an older"
+ line "CARD FOLDER from a"
+ cont "previous journey."
+
+ para "Do you want to"
+ line "open it?"
+ done
+
+UnknownText_0x1c552d::
+ text "Delete the old"
+ line "CARD FOLDER?"
+ done
+
+UnknownText_0x1c554a::
+ text "Finish registering"
+ line "CARDS?"
+ done
+
+UnknownText_0x1c5565::
+ text "Huh? Sorry, wrong"
+ line "number!"
+ done
+
+UnknownText_0x1c5580::
+ text "Click!"
+ done
+
+UnknownText_0x1c5588::
+ text "<……>"
+ done
+
+UnknownText_0x1c558b::
+ text "That number is out"
+ line "of the area."
+ done
+
+UnknownText_0x1c55ac::
+ text "Just go talk to"
+ line "that person!"
+ done
+
+UnknownText_0x1c55ca::
+ text "Thank you!"
+ done
+
+UnknownText_0x1c55d6::
+ text " :"
+ done
+
+UnknownText_0x1c55db::
+ text "Password OK."
+ line "Select CONTINUE &"
+ cont "reset settings."
+ prompt
+
+UnknownText_0x1c560b::
+ text "Wrong password!"
+ prompt
+
+UnknownText_0x1c561c::
+ text "Reset the clock?"
+ done
+
+UnknownText_0x1c562e::
+ text "Please enter the"
+ line "password."
+ done
+
+UnknownText_0x1c564a::
+ text "Clear all save"
+ line "data?"
+ done
+
+UnknownText_0x1c5660::
+ text_from_ram wMonOrItemNameBuffer
+ text " learned"
+ line "@"
+ text_from_ram StringBuffer2
+ text "!@"
+ sound_dex_fanfare_50_79
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1c5678::
+ text "Which move should"
+ next "be forgotten?"
+ done
+
+UnknownText_0x1c5699::
+ text "Stop learning"
+ line "@"
+ text_from_ram StringBuffer2
+ text "?"
+ done
+
+UnknownText_0x1c56af::
+ text_from_ram wMonOrItemNameBuffer
+ text_start
+ line "did not learn"
+ cont "@"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c56c9::
+ text_from_ram wMonOrItemNameBuffer
+ text " is"
+ line "trying to learn"
+ cont "@"
+ text_from_ram StringBuffer2
+ text "."
+
+ para "But @"
+ text_from_ram wMonOrItemNameBuffer
+ text_start
+ line "can't learn more"
+ cont "than four moves."
+
+ para "Delete an older"
+ line "move to make room"
+ cont "for @"
+ text_from_ram StringBuffer2
+ text "?"
+ done
+
+UnknownText_0x1c5740::
+ text "1, 2 and…@"
+ interpret_data
+ db "@@"
+
+UnknownText_0x1c574e::
+ text " Poof!@"
+ interpret_data
+ text_start
+
+ para "@"
+ text_from_ram wMonOrItemNameBuffer
+ text " forgot"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+
+ para "And…"
+ prompt
+
+UnknownText_0x1c5772::
+ text "HM moves can't be"
+ line "forgotten now."
+ prompt
+
+UnknownText_0x1c5793::
+ text "Play with three"
+ line "coins?"
+ done
+
+UnknownText_0x1c57ab::
+ text "Not enough coins…"
+ prompt
+
+UnknownText_0x1c57be::
+ text "Choose a card."
+ done
+
+UnknownText_0x1c57ce::
+ text "Place your bet."
+ done
+
+UnknownText_0x1c57df::
+ text "Want to play"
+ line "again?"
+ done
+
+UnknownText_0x1c57f4::
+ text "The cards have"
+ line "been shuffled."
+ prompt
+
+UnknownText_0x1c5813::
+ text "Yeah!"
+ done
+
+UnknownText_0x1c581a::
+ text "Darn…"
+ done
+
+UnknownText_0x1c5821::
+ current_day
+ db "@@"
+
+UnknownText_0x1c5824::
+ text "<……>"
+ done
+
+UnknownText_0x1c5827::
+ text "You're out of the"
+ line "service area."
+ prompt
+
+UnknownText_0x1c5847::
+ text "Whom do you want"
+ line "to call?"
+ done
+
+UnknownText_0x1c5862::
+ text "Press any button"
+ line "to exit."
+ done
+
+UnknownText_0x1c587d::
+ text "Delete this stored"
+ line "phone number?"
+ done
+
+UnknownText_0x1c589f::
+ text "Which prize would"
+ line "you like?"
+ done
+
+UnknownText_0x1c58bc::
+ text_from_ram StringBuffer1
+ text "?"
+ line "Is that right?"
+ done
+
+UnknownText_0x1c58d1::
+ text "Here you go!"
+
+ para ""
+ done
+
+UnknownText_0x1c58e0::
+ text "You don't have"
+ line "enough points."
+
+ para ""
+ done
+
+UnknownText_0x1c58ff::
+ text "You have no room"
+ line "for it."
+
+ para ""
+ done
+
+UnknownText_0x1c591a::
+ text "Oh. Please come"
+ line "back again!"
+ done
+
+UnknownText_0x1c5937::
+ text "Excuse me!"
+
+ para ""
+ done
+
+Text_ExcuseMeYoureNotReady::
+ text "Excuse me."
+ line "You're not ready."
+
+ para ""
+ done
+
+UnknownText_0x1c5962::
+ text "Please return when"
+ line "you're ready."
+ done
+
+UnknownText_0x1c5983::
+ text "You need at least"
+ line "three #MON."
+
+ para ""
+ done
+
+UnknownText_0x1c59a3::
+ text "Sorry, an EGG"
+ line "doesn't qualify."
+
+ para ""
+ done
+
+Text_OnlyThreePkmnMayBeEntered::
+ text "Only three #MON"
+ line "may be entered."
+
+ para ""
+ done
+
+Text_ThePkmnMustAllBeDifferentKinds::
+ text "The @"
+ text_from_ram StringBuffer2
+ text " #MON"
+ line "must all be"
+ cont "different kinds."
+
+ para ""
+ done
+
+Text_ThePkmnMustNotHoldTheSameItems::
+ text "The @"
+ text_from_ram StringBuffer2
+ text " #MON"
+ line "must not hold the"
+ cont "same items."
+
+ para ""
+ done
+
+Text_YouCantTakeAnEgg::
+ text "You can't take an"
+ line "EGG!"
+
+ para ""
+ done
+
+UnknownText_0x1c5a5a::
+ text "It dodged the"
+ line "thrown BALL!"
+
+ para "This #MON"
+ line "can't be caught!"
+ prompt
+
+UnknownText_0x1c5a90::
+ text "You missed the"
+ line "#MON!"
+ prompt
+
+UnknownText_0x1c5aa6::
+ text "Oh no! The #MON"
+ line "broke free!"
+ prompt
+
+UnknownText_0x1c5ac3::
+ text "Aww! It appeared"
+ line "to be caught!"
+ prompt
+
+UnknownText_0x1c5ae3::
+ text "Aargh!"
+ line "Almost had it!"
+ prompt
+
+UnknownText_0x1c5afa::
+ text "Shoot! It was so"
+ line "close too!"
+ prompt
+
+UnknownText_0x1c5b17::
+ text "Gotcha! @"
+ text_from_ram EnemyMonNick
+ text_start
+ line "was caught!@"
+ sound_caught_mon
+ db "@@"
+
+Text_Waitbutton_2::
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1c5b38::
+ text_from_ram wMonOrItemNameBuffer
+ text " was"
+ line "sent to BILL's PC."
+ prompt
+
+UnknownText_0x1c5b53::
+ text_from_ram EnemyMonNick
+ text "'s data"
+ line "was newly added to"
+ cont "the #DEX.@"
+ sound_slot_machine_start
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1c5b7f::
+ text "Give a nickname to"
+ line "@"
+ text_from_ram StringBuffer1
+ text "?"
+ done
+
+UnknownText_0x1c5b9a::
+ text_from_ram StringBuffer1
+ text "'s"
+ line "@"
+ text_from_ram StringBuffer2
+ text " rose."
+ prompt
+
+UnknownText_0x1c5bac::
+ text "That can't be used"
+ line "on this #MON."
+ prompt
+
+Text_RepelUsedEarlierIsStillInEffect::
+ text "The REPEL used"
+ line "earlier is still"
+ cont "in effect."
+ prompt
+
+UnknownText_0x1c5bf9::
+ text "Played the #"
+ line "FLUTE."
+
+ para "Now, that's a"
+ line "catchy tune!"
+ prompt
+
+UnknownText_0x1c5c28::
+ text "All sleeping"
+ line "#MON woke up."
+ prompt
+
+UnknownText_0x1c5c44::
+ text "<PLAYER> played the"
+ line "# FLUTE.@"
+ text_waitbutton
+ db "@@"
+
+UnknownText_0x1c5c5e::
+ text "You now have"
+ line "@"
+ deciram wBlueCardBalance, 1, 2
+ text " points."
+ done
+
+UnknownText_0x1c5c7b::
+ text "Coins:"
+ line "@"
+ deciram Coins, 2, 4
+ db "@@"
+
+Text_RaiseThePPOfWhichMove::
+ text "Raise the PP of"
+ line "which move?"
+ done
+
+Text_RestoreThePPOfWhichMove::
+ text "Restore the PP of"
+ line "which move?"
+ done
+
+Text_PPIsMaxedOut::
+ text_from_ram StringBuffer2
+ text "'s PP"
+ line "is maxed out."
+ prompt
+
+Text_PPsIncreased::
+ text_from_ram StringBuffer2
+ text "'s PP"
+ line "increased."
+ prompt
+
+UnknownText_0x1c5cf1::
+ text "PP was restored."
+ prompt
+
+UnknownText_0x1c5d03::
+ text "There was a trophy"
+ line "inside!@"
+ sound_dex_fanfare_50_79
+ text_start
+
+ para "@"
+ text_from_ram PlayerName
+ text " sent the"
+ line "trophy home."
+ prompt
+
+UnknownText_0x1c5d3e::
+ text "It looks bitter…"
+ prompt
+
+UnknownText_0x1c5d50::
+ text "That can't be used"
+ line "on an EGG."
+ prompt
+
+UnknownText_0x1c5d6e::
+ text "OAK: <PLAYER>!"
+ line "This isn't the"
+ cont "time to use that!"
+ prompt
+
+UnknownText_0x1c5d97::
+ text "That belongs to"
+ line "someone else!"
+ prompt
+
+UnknownText_0x1c5db6::
+ text "It won't have any"
+ line "effect."
+ prompt
+
+UnknownText_0x1c5dd0::
+ text "The trainer"
+ line "blocked the BALL!"
+ prompt
+
+UnknownText_0x1c5def::
+ text "Don't be a thief!"
+ prompt
+
+UnknownText_0x1c5e01::
+ text "Cycling isn't"
+ line "allowed here."
+ prompt
+
+UnknownText_0x1c5e1d::
+ text "Can't get on your"
+ line "@"
+ text_from_ram StringBuffer1
+ text " now."
+ prompt
+
+UnknownText_0x1c5e3a::
+ text "The #MON BOX"
+ line "is full. That"
+ cont "can't be used now."
+ prompt
+
+UnknownText_0x1c5e68::
+ text "<PLAYER> used the@"
+ text_low
+ text_from_ram StringBuffer2
+ text "."
+ done
+
+UnknownText_0x1c5e7b::
+ text "<PLAYER> got on the@"
+ text_low
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c5e90::
+ text "<PLAYER> got off@"
+ text_low
+ text "the @"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c5ea8::
+ text_from_ram StringBuffer1
+ text " knows"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c5eba::
+ text "That #MON knows"
+ line "only one move."
+ done
+
+UnknownText_0x1c5eda::
+ text "Oh, make it forget"
+ line "@"
+ text_from_ram StringBuffer1
+ text "?"
+ done
+
+UnknownText_0x1c5ef5::
+ text "Done! Your #MON"
+ line "forgot the move."
+ done
+
+UnknownText_0x1c5f17::
+ text "An EGG doesn't"
+ line "know any moves!"
+ done
+
+UnknownText_0x1c5f36::
+ text "No? Come visit me"
+ line "again."
+ done
+
+UnknownText_0x1c5f50::
+ text "Which move should"
+ line "it forget, then?"
+ prompt
+
+UnknownText_0x1c5f74::
+ text "Um… Oh, yes, I'm"
+ line "the MOVE DELETER."
+
+ para "I can make #MON"
+ line "forget moves."
+
+ para "Shall I make a"
+ line "#MON forget?"
+ done
+
+UnknownText_0x1c5fd1::
+ text "Which #MON?"
+ prompt
+
+Text_DSTIsThatOK::
+ text " DST,"
+ line "is that OK?"
+ done
+
+UnknownText_0x1c5ff1::
+ text ","
+ line "is that OK?"
+ done
+
+UnknownText_0x1c6000::
+ text "Do you want to"
+ line "switch to Daylight"
+ cont "Saving Time?"
+ done
+
+UnknownText_0x1c6030::
+ text "I set the clock"
+ line "forward by one"
+ cont "hour."
+ prompt
+
+UnknownText_0x1c6056::
+ text "Is Daylight Saving"
+ line "Time over?"
+ done
+
+UnknownText_0x1c6075::
+ text "I put the clock"
+ line "back one hour."
+ prompt
+
+UnknownText_0x1c6095::
+ text "Do you want to"
+ line "adjust your clock"
+
+ para "for Daylight"
+ line "Saving Time?"
+ done
+
+UnknownText_0x1c60d1::
+ text "I lost the in-"
+ line "struction booklet"
+ cont "for the #GEAR."
+
+ para "Come back again in"
+ line "a while."
+ prompt
diff --git a/data/credits_strings.asm b/data/credits_strings.asm
index f885e2152..f23fe3723 100644
--- a/data/credits_strings.asm
+++ b/data/credits_strings.asm
@@ -104,69 +104,69 @@ CreditsStrings:
dw .TextTranslation
dw .PaadTesting
-.SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@"
-.JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@"
-.TetsuyaWatanabe: db " TETSUYA WATANABE@" ; "わたなべ てつや@"
-.ShigekiMorimoto: db " SHIGEKI MORIMOTO@" ; "もりもと しげき@"
-.SousukeTamada: db " SOUSUKE TAMADA@" ; "たまだ そうすけ@"
-.TakenoriOota: db " TAKENORI OOTA@" ; "おおた たけのり@"
-.KenSugimori: db " KEN SUGIMORI@" ; "すぎもり けん@"
-.MotofumiFujiwara: db " MOTOFUMI FUJIWARA@" ; "ふじわら もとふみ@"
-.AtsukoNishida: db " ATSUKO NISHIDA@" ; "にしだ あつこ@"
-.MuneoSaito: db " MUNEO SAITO@" ; "さいとう むねお@"
-.SatoshiOota: db " SATOSHI OOTA@" ; "おおた さとし@"
-.RenaYoshikawa: db " RENA YOSHIKAWA@" ; "よしかわ れな@"
-.JunOkutani: db " JUN OKUTANI@" ; "おくたに じゅん@"
-.HironobuYoshida: db " HIRONOBU YOSHIDA@" ; "よしだ ひろのぶ@"
-.AsukaIwashita: db " ASUKA IWASHITA@" ; "いわした あすか@"
-.GoIchinose: db " GO ICHINOSE@" ; "いちのせ ごう@"
-.MorikazuAoki: db " MORIKAZU AOKI@" ; "あおき もりかず@"
-.KohjiNishino: db " KOHJI NISHINO@" ; "にしの こうじ@"
-.KenjiMatsushima: db " KENJI MATSUSHIMA@" ; "まつしま けんじ@"
-.ToshinobuMatsumiya: db "TOSHINOBU MATSUMIYA@" ; "まつみや としのぶ@"
-.SatoruIwata: db " SATORU IWATA@" ; "いわた さとる@"
-.NobuhiroSeya: db " NOBUHIRO SEYA@" ; "せや のぶひろ@"
-.KazuhitoSekine: db " KAZUHITO SEKINE@" ; "せきね かずひと@"
-.TetsujiOota: db " TETSUJI OOTA@" ; "おおた てつじ@"
-.NclSuperMarioClub: db "NCL SUPER MARIO CLUB@" ; "スーパーマりォクラブ@"
+.SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@"
+.JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@"
+.TetsuyaWatanabe: db " TETSUYA WATANABE@" ; "わたなべ てつや@"
+.ShigekiMorimoto: db " SHIGEKI MORIMOTO@" ; "もりもと しげき@"
+.SousukeTamada: db " SOUSUKE TAMADA@" ; "たまだ そうすけ@"
+.TakenoriOota: db " TAKENORI OOTA@" ; "おおた たけのり@"
+.KenSugimori: db " KEN SUGIMORI@" ; "すぎもり けん@"
+.MotofumiFujiwara: db " MOTOFUMI FUJIWARA@" ; "ふじわら もとふみ@"
+.AtsukoNishida: db " ATSUKO NISHIDA@" ; "にしだ あつこ@"
+.MuneoSaito: db " MUNEO SAITO@" ; "さいとう むねお@"
+.SatoshiOota: db " SATOSHI OOTA@" ; "おおた さとし@"
+.RenaYoshikawa: db " RENA YOSHIKAWA@" ; "よしかわ れな@"
+.JunOkutani: db " JUN OKUTANI@" ; "おくたに じゅん@"
+.HironobuYoshida: db " HIRONOBU YOSHIDA@" ; "よしだ ひろのぶ@"
+.AsukaIwashita: db " ASUKA IWASHITA@" ; "いわした あすか@"
+.GoIchinose: db " GO ICHINOSE@" ; "いちのせ ごう@"
+.MorikazuAoki: db " MORIKAZU AOKI@" ; "あおき もりかず@"
+.KohjiNishino: db " KOHJI NISHINO@" ; "にしの こうじ@"
+.KenjiMatsushima: db " KENJI MATSUSHIMA@" ; "まつしま けんじ@"
+.ToshinobuMatsumiya: db "TOSHINOBU MATSUMIYA@" ; "まつみや としのぶ@"
+.SatoruIwata: db " SATORU IWATA@" ; "いわた さとる@"
+.NobuhiroSeya: db " NOBUHIRO SEYA@" ; "せや のぶひろ@"
+.KazuhitoSekine: db " KAZUHITO SEKINE@" ; "せきね かずひと@"
+.TetsujiOota: db " TETSUJI OOTA@" ; "おおた てつじ@"
+.NclSuperMarioClub: db "NCL SUPER MARIO CLUB@" ; "スーパーマりオクラブ@"
.Sarugakucho: db " SARUGAKUCHO@" ; "さるがくちょう@"
-.AkitoMori: db " AKITO MORI@" ; "もり あきと@"
-.TakahiroHarada: db " TAKAHIRO HARADA@" ; "はらだ たかひろ@"
-.TohruHashimoto: db " TOHRU HASHIMOTO@" ; "はしもと とおる@"
-.NoboruMatsumoto: db " NOBORU MATSUMOTO@" ; "まつもと のぼる@"
-.TakehiroIzushi: db " TAKEHIRO IZUSHI@" ; "いずし たけひろ@"
-.TakashiKawaguchi: db " TAKASHI KAWAGUCHI@" ; "かわぐち たかし@"
-.TsunekazuIshihara: db " TSUNEKAZU ISHIHARA@" ; "いしはら つねかず@"
-.HiroshiYamauchi: db " HIROSHI YAMAUCHI@" ; "やまうち ひろし@"
-.KenjiSaiki: db " KENJI SAIKI@" ; "さいき けんじ@"
-.AtsushiTada: db " ATSUSHI TADA@" ; "ただ あつし@"
-.NaokoKawakami: db " NAOKO KAWAKAMI@" ; "かわかみ なおこ@"
-.HiroyukiZinnai: db " HIROYUKI ZINNAI@" ; "じんない ひろゆき@"
-.KunimiKawamura: db " KUNIMI KAWAMURA@" ; "かわむら くにみ@"
-.HisashiSogabe: db " HISASHI SOGABE@" ; "そがべ ひさし@"
-.KeitaKagaya: db " KEITA KAGAYA@" ; "かがや けいた@"
-.YoshinoriMatsuda: db " YOSHINORI MATSUDA@" ; "まつだ よしのり@"
-.HitomiSato: db " HITOMI SATO@" ; "さとう ひとみ@"
-.ToruOsawa: db " TORU OSAWA@" ; "おおさわ とおる@"
-.TakaoOhara: db " TAKAO OHARA@" ; "おおはら たかお@"
-.YuichiroIto: db " YUICHIRO ITO@" ; "いとう ゆういちろう@"
-.TakaoShimizu: db " TAKAO SHIMIZU@" ; "しみず たかお@"
+.AkitoMori: db " AKITO MORI@" ; "もり あきと@"
+.TakahiroHarada: db " TAKAHIRO HARADA@" ; "はらだ たかひろ@"
+.TohruHashimoto: db " TOHRU HASHIMOTO@" ; "はしもと とおる@"
+.NoboruMatsumoto: db " NOBORU MATSUMOTO@" ; "まつもと のぼる@"
+.TakehiroIzushi: db " TAKEHIRO IZUSHI@" ; "いずし たけひろ@"
+.TakashiKawaguchi: db " TAKASHI KAWAGUCHI@" ; "かわぐち たかし@"
+.TsunekazuIshihara: db " TSUNEKAZU ISHIHARA@" ; "いしはら つねかず@"
+.HiroshiYamauchi: db " HIROSHI YAMAUCHI@" ; "やまうち ひろし@"
+.KenjiSaiki: db " KENJI SAIKI@" ; "さいき けんじ@"
+.AtsushiTada: db " ATSUSHI TADA@" ; "ただ あつし@"
+.NaokoKawakami: db " NAOKO KAWAKAMI@" ; "かわかみ なおこ@"
+.HiroyukiZinnai: db " HIROYUKI ZINNAI@" ; "じんない ひろゆき@"
+.KunimiKawamura: db " KUNIMI KAWAMURA@" ; "かわむら くにみ@"
+.HisashiSogabe: db " HISASHI SOGABE@" ; "そがべ ひさし@"
+.KeitaKagaya: db " KEITA KAGAYA@" ; "かがや けいた@"
+.YoshinoriMatsuda: db " YOSHINORI MATSUDA@" ; "まつだ よしのり@"
+.HitomiSato: db " HITOMI SATO@" ; "さとう ひとみ@"
+.ToruOsawa: db " TORU OSAWA@" ; "おおさわ とおる@"
+.TakaoOhara: db " TAKAO OHARA@" ; "おおはら たかお@"
+.YuichiroIto: db " YUICHIRO ITO@" ; "いとう ゆういちろう@"
+.TakaoShimizu: db " TAKAO SHIMIZU@" ; "しみず たかお@"
.Planning: db " SPECIAL PRODUCTION"
next " PLANNING" ; "きかくかいはつぶ@"
next " & DEVELOPMENT DEPT.@"
-.KeitaNakamura: db " KEITA NAKAMURA@" ; "なかむら けいた@"
-.HirotakaUemura: db " HIROTAKA UEMURA@" ; "うえむら ひろたか@"
-.HiroakiTamura: db " HIROAKI TAMURA@" ; "たむら ひろあき@"
-.NoriakiSakaguchi: db " NORIAKI SAKAGUCHI@" ; "さかぐち のりあき@"
-.MiyukiSato: db " MIYUKI SATO@" ; "さとう みゆき@"
-.GakuziNomoto: db " GAKUZI NOMOTO@" ; "のもと がくじ@"
-.AiMashima: db " AI MASHIMA@" ; "ましま あい@"
-.MikihiroIshikawa: db " MIKIHIRO ISHIKAWA@" ; "いしかわ みきひろ@"
-.HideyukiHashimoto: db " HIDEYUKI HASHIMOTO@" ; "はしもと ひでゆき@"
-.SatoshiYamato: db " SATOSHI YAMATO@" ; "やまと さとし@"
-.ShigeruMiyamoto: db " SHIGERU MIYAMOTO@" ; "みやもと しげる@"
+.KeitaNakamura: db " KEITA NAKAMURA@" ; "なかむら けいた@"
+.HirotakaUemura: db " HIROTAKA UEMURA@" ; "うえむら ひろたか@"
+.HiroakiTamura: db " HIROAKI TAMURA@" ; "たむら ひろあき@"
+.NoriakiSakaguchi: db " NORIAKI SAKAGUCHI@" ; "さかぐち のりあき@"
+.MiyukiSato: db " MIYUKI SATO@" ; "さとう みゆき@"
+.GakuziNomoto: db " GAKUZI NOMOTO@" ; "のもと がくじ@"
+.AiMashima: db " AI MASHIMA@" ; "ましま あい@"
+.MikihiroIshikawa: db " MIKIHIRO ISHIKAWA@" ; "いしかわ みきひろ@"
+.HideyukiHashimoto: db " HIDEYUKI HASHIMOTO@" ; "はしもと ひでゆき@"
+.SatoshiYamato: db " SATOSHI YAMATO@" ; "やまと さとし@"
+.ShigeruMiyamoto: db " SHIGERU MIYAMOTO@" ; "みやもと しげる@"
.End: db " END@" ; "おしまい@"
-.Unknown: db " ????????@" ; "????????@"
+.Unknown: db " ????????@" ; "????????@"
.GailTilden: db " GAIL TILDEN@"
.NobOgasawara: db " NOB OGASAWARA@"
.SethMcMahill: db " SETH McMAHILL@"
@@ -179,32 +179,32 @@ CreditsStrings:
.KazuyoshiOsawa: db " KAZUYOSHI OSAWA@"
.KimikoNakamichi: db " KIMIKO NAKAMICHI@"
.Staff: db " #MON" ; "ポケットモンスター"
- next " CRYSTAL VERSION" ; " クりスタル バージョン"
- next " STAFF@" ; " スタッフ@"
-.Director: db " DIRECTOR@" ; "エグゼクティブ ディレクター@"
+ next " CRYSTAL VERSION" ; "  クりスタル バージョン"
+ next " STAFF@" ; "    スタッフ@"
+.Director: db " DIRECTOR@" ; "エグゼクティブ ディレクター@"
.CoDirector: db " CO-DIRECTOR@" ; "ディレクター@"
.Programmers: db " PROGRAMMERS@" ; "プログラム@"
-.GraphicsDirector: db " GRAPHICS DIRECTOR@" ; "グラフィック ディレクター@"
-.MonsterDesign: db " MONSTER DESIGN@" ; "# デザイン@"
-.GraphicsDesign: db " GRAPHICS DESIGN@" ; "グラフィック デザイン@"
+.GraphicsDirector: db " GRAPHICS DIRECTOR@" ; "グラフィック ディレクター@"
+.MonsterDesign: db " MONSTER DESIGN@" ; "# デザイン@"
+.GraphicsDesign: db " GRAPHICS DESIGN@" ; "グラフィック デザイン@"
.Music: db " MUSIC@" ; "おんがく@"
-.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフ→クト@"
+.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフ→クト@"
.GameDesign: db " GAME DESIGN@" ; "ゲームデザイン@"
-.GameScenario: db " GAME SCENARIO@" ; "シナりォ@"
-.ToolProgramming: db " TOOL PROGRAMMING@" ; "ツール プログラム@"
-.ParametricDesign: db " PARAMETRIC DESIGN@" ; "パラメーター せってい@"
-.ScriptDesign: db " SCRIPT DESIGN@" ; "スクりプト せってい@"
-.MapDataDesign: db " MAP DATA DESIGN@" ; "マップデータ せってい@"
-.MapDesign: db " MAP DESIGN@" ; "マップ デザイン@"
+.GameScenario: db " GAME SCENARIO@" ; "シナりオ@"
+.ToolProgramming: db " TOOL PROGRAMMING@" ; "ツール プログラム@"
+.ParametricDesign: db " PARAMETRIC DESIGN@" ; "パラメーター せってい@"
+.ScriptDesign: db " SCRIPT DESIGN@" ; "スクりプト せってい@"
+.MapDataDesign: db " MAP DATA DESIGN@" ; "マップデータ せってい@"
+.MapDesign: db " MAP DESIGN@" ; "マップ デザイン@"
.ProductTesting: db " PRODUCT TESTING@" ; "デバッグプレイ@"
.SpecialThanks: db " SPECIAL THANKS@" ; "スぺシャルサンクス@"
.Producers: db " PRODUCERS@" ; "プロデューサー@"
-.ExecutiveProducer: db " EXECUTIVE PRODUCER@" ; "エグゼクティブ プロデューサー@"
-.PokemonAnimation: db " #MON ANIMATION@" ; "# アニメーション@"
-.PokedexText: db " #DEX TEXT@" ; "ずかん テキスト@"
-.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジ→クト りーダー@"
-.MobileSystemAd: db " MOBILE SYSTEM AD.@" ; "モバイル システムアドバイザー@"
-.MobileStadiumDir: db "MOBILE STADIUM DIR.@" ; "モバイルスタジアム ディレクター@"
+.ExecutiveProducer: db " EXECUTIVE PRODUCER@" ; "エグゼクティブ プロデューサー@"
+.PokemonAnimation: db " #MON ANIMATION@" ; "# アニメーション@"
+.PokedexText: db " #DEX TEXT@" ; "ずかん テキスト@"
+.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジ→クト りーダー@"
+.MobileSystemAd: db " MOBILE SYSTEM AD.@" ; "モバイル システムアドバイザー@"
+.MobileStadiumDir: db "MOBILE STADIUM DIR.@" ; "モバイルスタジアム ディレクター@"
.Coordination: db " COORDINATION@" ; "コーディネーター@"
.UsVersionStaff: db " US VERSION STAFF@"
.UsCoordination: db " US COORDINATION@"
diff --git a/data/mystery_gift_decos.asm b/data/decorations/mystery_gift_decos.asm
index bdd4694c6..bdd4694c6 100644
--- a/data/mystery_gift_decos.asm
+++ b/data/decorations/mystery_gift_decos.asm
diff --git a/data/default_options.asm b/data/default_options.asm
index 8787b00c7..4717dc2f0 100644
--- a/data/default_options.asm
+++ b/data/default_options.asm
@@ -11,8 +11,7 @@ DefaultOptions: ; 14f7c
db GBPRINTER_NORMAL
; Options2: menu account on
db 1 << MENU_ACCOUNT
-; $cfd2: ??
+
db $00
-; $cfd3: ??
db $00
; 14f84
diff --git a/data/elevator_floors.asm b/data/elevator_floors.asm
new file mode 100644
index 000000000..abc793cf2
--- /dev/null
+++ b/data/elevator_floors.asm
@@ -0,0 +1,35 @@
+ElevatorFloorNames:
+; entries correspond to FLOOR_* constants
+ dw .B4F
+ dw .B3F
+ dw .B2F
+ dw .B1F
+ dw ._1F
+ dw ._2F
+ dw ._3F
+ dw ._4F
+ dw ._5F
+ dw ._6F
+ dw ._7F
+ dw ._8F
+ dw ._9F
+ dw ._10F
+ dw ._11F
+ dw .ROOF
+
+.B4F: db "B4F@"
+.B3F: db "B3F@"
+.B2F: db "B2F@"
+.B1F: db "B1F@"
+._1F: db "1F@"
+._2F: db "2F@"
+._3F: db "3F@"
+._4F: db "4F@"
+._5F: db "5F@"
+._6F: db "6F@"
+._7F: db "7F@"
+._8F: db "8F@"
+._9F: db "9F@"
+._10F: db "10F@"
+._11F: db "11F@"
+.ROOF: db "ROOF@"
diff --git a/data/field_move_blocks.asm b/data/field_move_blocks.asm
index 5e9bbc1f4..d97fdc995 100644
--- a/data/field_move_blocks.asm
+++ b/data/field_move_blocks.asm
@@ -1,53 +1,53 @@
CutTreeBlockPointers: ; c862
; tileset, block list pointer
- dbw TILESET_JOHTO_1, .johto1
- dbw TILESET_JOHTO_2, .johto2
- dbw TILESET_KANTO, .kanto
- dbw TILESET_PARK, .park
- dbw TILESET_ILEX_FOREST, .ilex
- db -1
-
-.johto1 ; Johto OW
+ dbw TILESET_JOHTO, .johto
+ dbw TILESET_JOHTO_MODERN, .johto_modern
+ dbw TILESET_KANTO, .kanto
+ dbw TILESET_PARK, .park
+ dbw TILESET_FOREST, .forest
+ db -1 ; end
+
+.johto:
; facing block, replacement block, animation
- db $03, $02, $01 ; grass
- db $5b, $3c, $00 ; tree
- db $5f, $3d, $00 ; tree
- db $63, $3f, $00 ; tree
- db $67, $3e, $00 ; tree
- db -1
-
-.johto2 ; Goldenrod area
+ db $03, $02, 1 ; grass
+ db $5b, $3c, 0 ; tree
+ db $5f, $3d, 0 ; tree
+ db $63, $3f, 0 ; tree
+ db $67, $3e, 0 ; tree
+ db -1 ; end
+
+.johto_modern:
; facing block, replacement block, animation
db $03, $02, $01 ; grass
- db -1
+ db -1 ; end
-.kanto ; Kanto OW
+.kanto:
; facing block, replacement block, animation
- db $0b, $0a, $01 ; grass
- db $32, $6d, $00 ; tree
- db $33, $6c, $00 ; tree
- db $34, $6f, $00 ; tree
- db $35, $4c, $00 ; tree
- db $60, $6e, $00 ; tree
- db -1
-
-.park ; National Park
+ db $0b, $0a, 1 ; grass
+ db $32, $6d, 0 ; tree
+ db $33, $6c, 0 ; tree
+ db $34, $6f, 0 ; tree
+ db $35, $4c, 0 ; tree
+ db $60, $6e, 0 ; tree
+ db -1 ; end
+
+.park:
; facing block, replacement block, animation
- db $13, $03, $01 ; grass
- db $03, $04, $01 ; grass
- db -1
+ db $13, $03, 1 ; grass
+ db $03, $04, 1 ; grass
+ db -1 ; end
-.ilex ; Ilex Forest
+.forest:
; facing block, replacement block, animation
- db $0f, $17, $00
- db -1
+ db $0f, $17, 0
+ db -1 ; end
WhirlpoolBlockPointers: ; c8a4
- dbw TILESET_JOHTO_1, .johto
- db -1
+ dbw TILESET_JOHTO, .johto
+ db -1 ; end
-.johto ; c8a8
+.johto:
; facing block, replacement block, animation
- db $07, $36, $00
- db -1
+ db $07, $36, 0
+ db -1 ; end
diff --git a/data/items/apricorn_balls.asm b/data/items/apricorn_balls.asm
new file mode 100644
index 000000000..57e7d04bb
--- /dev/null
+++ b/data/items/apricorn_balls.asm
@@ -0,0 +1,11 @@
+ApricornBalls: ; 24ca0
+ ; apricorn, ball
+ db RED_APRICORN, LEVEL_BALL
+ db BLU_APRICORN, LURE_BALL
+ db YLW_APRICORN, MOON_BALL
+ db GRN_APRICORN, FRIEND_BALL
+ db WHT_APRICORN, FAST_BALL
+ db BLK_APRICORN, HEAVY_BALL
+ db PNK_APRICORN, LOVE_BALL
+ db -1
+; 24caf
diff --git a/data/items/attributes.asm b/data/items/attributes.asm
index dc2842760..5212be6d2 100644
--- a/data/items/attributes.asm
+++ b/data/items/attributes.asm
@@ -7,57 +7,57 @@ ENDM
ItemAttributes: ; 67c1
; entries correspond to constants/item_constants.asm
-; MASTER BALL
+; MASTER_BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; ULTRA BALL
+; ULTRA_BALL
item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; BRIGHTPOWDER
item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GREAT BALL
+; GREAT_BALL
item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; # BALL
+; POKE_BALL
item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; TOWN_MAP
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BICYCLE
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MOON STONE
+; MOON_STONE
item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ANTIDOTE
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURN HEAL
+; BURN_HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE HEAL
+; ICE_HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; AWAKENING
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; PARLYZ HEAL
+; PARLYZ_HEAL
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FULL RESTORE
+; FULL_RESTORE
item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX POTION
+; MAX_POTION
item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HYPER POTION
+; HYPER_POTION
item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SUPER POTION
+; SUPER_POTION
item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; POTION
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ESCAPE ROPE
+; ESCAPE_ROPE
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; REPEL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX ELIXER
+; MAX_ELIXER
item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FIRE STONE
+; FIRE_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; THUNDERSTONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; WATER STONE
+; WATER_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_19
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; HP UP
+; HP_UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; PROTEIN
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -65,159 +65,159 @@ ItemAttributes: ; 67c1
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; CARBOS
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; LUCKY PUNCH
+; LUCKY_PUNCH
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CALCIUM
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; RARE CANDY
+; RARE_CANDY
item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; X ACCURACY
+; X_ACCURACY
item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LEAF STONE
+; LEAF_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; METAL POWDER
+; METAL_POWDER
item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NUGGET
item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; # DOLL
+; POKE_DOLL
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FULL HEAL
+; FULL_HEAL
item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; REVIVE
item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX REVIVE
+; MAX_REVIVE
item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GUARD SPEC.
+; GUARD_SPEC
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; SUPER REPEL
+; SUPER_REPEL
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX REPEL
+; MAX_REPEL
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; DIRE HIT
+; DIRE_HIT
item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_2D
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRESH WATER
+; FRESH_WATER
item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SODA POP
+; SODA_POP
item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; LEMONADE
item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; X ATTACK
+; X_ATTACK
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_32
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; X DEFEND
+; X_DEFEND
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPEED
+; X_SPEED
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPECIAL
+; X_SPECIAL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; COIN CASE
+; COIN_CASE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; ITEMFINDER
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; POKE_FLUTE
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EXP.SHARE
+; EXP_SHARE
item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; OLD ROD
+; OLD_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; GOOD ROD
+; GOOD_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; SILVER LEAF
+; SILVER_LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SUPER ROD
+; SUPER_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; PP UP
+; PP_UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ETHER
item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX ETHER
+; MAX_ETHER
item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ELIXER
item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED SCALE
+; RED_SCALE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SECRETPOTION
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; S.S.TICKET
+; S_S_TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTERY EGG
+; MYSTERY_EGG
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEAR BELL
+; CLEAR_BELL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SILVER WING
+; SILVER_WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MOOMOO MILK
+; MOOMOO_MILK
item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; QUICK CLAW
+; QUICK_CLAW
item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PSNCUREBERRY
item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD LEAF
+; GOLD_LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SOFT SAND
+; SOFT_SAND
item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SHARP BEAK
+; SHARP_BEAK
item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PRZCUREBERRY
item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURNT BERRY
+; BURNT_BERRY
item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE BERRY
+; ICE_BERRY
item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; POISON BARB
+; POISON_BARB
item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; KING'S ROCK
+; KINGS_ROCK
item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BITTER BERRY
+; BITTER_BERRY
item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
-; MINT BERRY
+; MINT_BERRY
item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED APRICORN
+; RED_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TINYMUSHROOM
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG MUSHROOM
+; BIG_MUSHROOM
item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SILVERPOWDER
item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLU APRICORN
+; BLU_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_5A
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; AMULET COIN
+; AMULET_COIN
item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; YLW APRICORN
+; YLW_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GRN APRICORN
+; GRN_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEANSE TAG
+; CLEANSE_TAG
item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTIC WATER
+; MYSTIC_WATER
item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TWISTEDSPOON
item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; WHT APRICORN
+; WHT_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKBELT
item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLK APRICORN
+; BLK_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_64
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PNK APRICORN
+; PNK_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKGLASSES
item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SLOWPOKETAIL
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PINK BOW
+; PINK_BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STICK
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SMOKE BALL
+; SMOKE_BALL
item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NEVERMELTICE
item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
@@ -227,165 +227,165 @@ ItemAttributes: ; 67c1
item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; PEARL
item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG PEARL
+; BIG_PEARL
item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; EVERSTONE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SPELL TAG
+; SPELL_TAG
item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; RAGECANDYBAR
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GS BALL
+; GS_BALL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUE CARD
+; BLUE_CARD
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MIRACLE SEED
+; MIRACLE_SEED
item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; THICK CLUB
+; THICK_CLUB
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FOCUS BAND
+; FOCUS_BAND
item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_78
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; ENERGYPOWDER
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ENERGY ROOT
+; ENERGY_ROOT
item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HEAL POWDER
+; HEAL_POWDER
item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; REVIVAL HERB
+; REVIVAL_HERB
item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HARD STONE
+; HARD_STONE
item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LUCKY EGG
+; LUCKY_EGG
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CARD KEY
+; CARD_KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MACHINE PART
+; MACHINE_PART
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EGG TICKET
+; EGG_TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOST ITEM
+; LOST_ITEM
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STARDUST
item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STAR PIECE
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BASEMENT KEY
+; BASEMENT_KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; PASS
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_87
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_88
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_89
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CHARCOAL
item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERRY JUICE
+; BERRY_JUICE
item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SCOPE LENS
+; SCOPE_LENS
item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_8D
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_8E
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; METAL COAT
+; METAL_COAT
item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; DRAGON FANG
+; DRAGON_FANG
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_91
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LEFTOVERS
item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_93
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_94
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_95
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MYSTERYBERRY
item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; DRAGON SCALE
+; DRAGON_SCALE
item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERSERK GENE
+; BERSERK_GENE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_99
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_9A
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_9B
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SACRED ASH
+; SACRED_ASH
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; HEAVY BALL
+; HEAVY_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FLOWER MAIL
+; FLOWER_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LEVEL BALL
+; LEVEL_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LURE BALL
+; LURE_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FAST BALL
+; FAST_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_A2
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LIGHT BALL
+; LIGHT_BALL
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRIEND BALL
+; FRIEND_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; MOON BALL
+; MOON_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LOVE BALL
+; LOVE_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; NORMAL BOX
+; NORMAL_BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; GORGEOUS BOX
+; GORGEOUS_BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; SUN STONE
+; SUN_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; POLKADOT BOW
+; POLKADOT_BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_AB
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; UP-GRADE
+; UP_GRADE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BERRY
item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD BERRY
+; GOLD_BERRY
item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; SQUIRTBOTTLE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_B0
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PARK BALL
+; PARK_BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; RAINBOW WING
+; RAINBOW_WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_B3
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BRICK PIECE
+; BRICK_PIECE
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SURF MAIL
+; SURF_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LITEBLUEMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PORTRAITMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOVELY MAIL
+; LOVELY_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EON MAIL
+; EON_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MORPH MAIL
+; MORPH_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUESKY MAIL
+; BLUESKY_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MUSIC MAIL
+; MUSIC_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MIRAGE MAIL
+; MIRAGE_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_BE
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM01
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -395,7 +395,7 @@ ItemAttributes: ; 67c1
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM04
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_C3
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM05
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -445,7 +445,7 @@ ItemAttributes: ; 67c1
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM28
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_DC
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM29
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -505,17 +505,17 @@ ItemAttributes: ; 67c1
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM07
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_FA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fb
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fc
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fd
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fe
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $ff
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; ?
+; $00
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
diff --git a/data/time_capsule/catch_rate_items.asm b/data/items/catch_rate_items.asm
index fbab7d434..fbab7d434 100644
--- a/data/time_capsule/catch_rate_items.asm
+++ b/data/items/catch_rate_items.asm
diff --git a/data/items/descriptions.asm b/data/items/descriptions.asm
index e5b01e8fd..20542b9e0 100644
--- a/data/items/descriptions.asm
+++ b/data/items/descriptions.asm
@@ -1,36 +1,3 @@
-PrintItemDescription: ; 0x1c8955
-; Print the description for item [CurSpecies] at de.
-
- ld a, [CurSpecies]
- cp TM01
- jr c, .not_a_tm
-
- ld [CurItem], a
- push de
- farcall GetTMHMItemMove
- pop hl
- ld a, [wd265]
- ld [CurSpecies], a
- predef PrintMoveDesc
- ret
-
-.not_a_tm
- push de
- ld hl, ItemDescriptions
- ld a, [CurSpecies]
- dec a
- ld c, a
- ld b, 0
- add hl, bc
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- pop hl
- jp PlaceString
-; 0x1c8987
-
-
ItemDescriptions:
dw MasterBallDesc
dw UltraBallDesc
diff --git a/data/items/heal_hp.asm b/data/items/heal_hp.asm
new file mode 100644
index 000000000..a84670450
--- /dev/null
+++ b/data/items/heal_hp.asm
@@ -0,0 +1,18 @@
+HealingHPAmounts: ; f3af
+ dbw FRESH_WATER, 50
+ dbw SODA_POP, 60
+ dbw LEMONADE, 80
+ dbw HYPER_POTION, 200
+ dbw SUPER_POTION, 50
+ dbw POTION, 20
+ dbw MAX_POTION, MAX_STAT_VALUE
+ dbw FULL_RESTORE, MAX_STAT_VALUE
+ dbw MOOMOO_MILK, 100
+ dbw BERRY, 10
+ dbw GOLD_BERRY, 30
+ dbw ENERGYPOWDER, 50
+ dbw ENERGY_ROOT, 200
+ dbw RAGECANDYBAR, 20
+ dbw BERRY_JUICE, 20
+ dbw -1, 0 ; end
+; f3df
diff --git a/data/items/heal_status.asm b/data/items/heal_status.asm
new file mode 100644
index 000000000..f0b0148bb
--- /dev/null
+++ b/data/items/heal_status.asm
@@ -0,0 +1,18 @@
+StatusHealingActions: ; f071
+ ; item, party menu action text, status
+ db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+ db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+ db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+ db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP
+ db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+ db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+ db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+ db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+ db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+ db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP
+ db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db -1, 0, 0 ; end
+; f09e
diff --git a/data/items/marts.asm b/data/items/marts.asm
index cd17ca36b..fd156225d 100644
--- a/data/items/marts.asm
+++ b/data/items/marts.asm
@@ -1,4 +1,5 @@
Marts: ; 160a9
+; entries correspond to MART_* constants
dw MartCherrygrove
dw MartCherrygroveDex
dw MartViolet
@@ -43,7 +44,7 @@ MartCherrygrove: ; 160ed
db ANTIDOTE
db PARLYZ_HEAL
db AWAKENING
- db $ff
+ db -1 ; end
; 160f3
MartCherrygroveDex: ; 160f3
@@ -53,7 +54,7 @@ MartCherrygroveDex: ; 160f3
db ANTIDOTE
db PARLYZ_HEAL
db AWAKENING
- db $ff
+ db -1 ; end
; 160fa
MartViolet: ; 160fa
@@ -68,7 +69,7 @@ MartViolet: ; 160fa
db X_ATTACK
db X_SPEED
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 16106
MartAzalea: ; 16106
@@ -82,7 +83,7 @@ MartAzalea: ; 16106
db ANTIDOTE
db PARLYZ_HEAL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 16111
MartCianwood: ; 16111
@@ -92,7 +93,7 @@ MartCianwood: ; 16111
db HYPER_POTION
db FULL_HEAL
db REVIVE
- db $ff
+ db -1 ; end
; 16118
MartGoldenrod2F1: ; 16118
@@ -104,7 +105,7 @@ MartGoldenrod2F1: ; 16118
db AWAKENING
db BURN_HEAL
db ICE_HEAL
- db $ff
+ db -1 ; end
; 16121
MartGoldenrod2F2: ; 16121
@@ -117,7 +118,7 @@ MartGoldenrod2F2: ; 16121
db FULL_HEAL
db POKE_DOLL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 1612b
MartGoldenrod3F: ; 1612b
@@ -129,7 +130,7 @@ MartGoldenrod3F: ; 1612b
db DIRE_HIT
db GUARD_SPEC
db X_ACCURACY
- db $ff
+ db -1 ; end
; 16134
MartGoldenrod4F: ; 16134
@@ -139,7 +140,7 @@ MartGoldenrod4F: ; 16134
db CARBOS
db CALCIUM
db HP_UP
- db $ff
+ db -1 ; end
; 1613b
MartGoldenrod5F1: ; 1613b
@@ -147,7 +148,7 @@ MartGoldenrod5F1: ; 1613b
db TM_THUNDERPUNCH
db TM_FIRE_PUNCH
db TM_ICE_PUNCH
- db $ff
+ db -1 ; end
; 16140
MartGoldenrod5F2: ; 16140
@@ -156,7 +157,7 @@ MartGoldenrod5F2: ; 16140
db TM_FIRE_PUNCH
db TM_ICE_PUNCH
db TM_HEADBUTT
- db $ff
+ db -1 ; end
; 16146
MartGoldenrod5F3: ; 16146
@@ -165,7 +166,7 @@ MartGoldenrod5F3: ; 16146
db TM_FIRE_PUNCH
db TM_ICE_PUNCH
db TM_ROCK_SMASH
- db $ff
+ db -1 ; end
; 1614c
MartGoldenrod5F4: ; 1614c
@@ -175,7 +176,7 @@ MartGoldenrod5F4: ; 1614c
db TM_ICE_PUNCH
db TM_HEADBUTT
db TM_ROCK_SMASH
- db $ff
+ db -1 ; end
; 16153
MartOlivine: ; 16153
@@ -189,7 +190,7 @@ MartOlivine: ; 16153
db ICE_HEAL
db SUPER_REPEL
db SURF_MAIL
- db $ff
+ db -1 ; end
; 1615e
MartEcruteak: ; 1615e
@@ -204,7 +205,7 @@ MartEcruteak: ; 1615e
db BURN_HEAL
db ICE_HEAL
db REVIVE
- db $ff
+ db -1 ; end
; 1616a
MartMahogany1: ; 1616a
@@ -213,7 +214,7 @@ MartMahogany1: ; 1616a
db SLOWPOKETAIL
db POKE_BALL
db POTION
- db $ff
+ db -1 ; end
; 16170
MartMahogany2: ; 16170
@@ -227,7 +228,7 @@ MartMahogany2: ; 16170
db SUPER_REPEL
db REVIVE
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 1617b
MartBlackthorn: ; 1617b
@@ -241,7 +242,7 @@ MartBlackthorn: ; 1617b
db MAX_REPEL
db X_DEFEND
db X_ATTACK
- db $ff
+ db -1 ; end
; 16186
MartViridian: ; 16186
@@ -255,7 +256,7 @@ MartViridian: ; 16186
db AWAKENING
db BURN_HEAL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 16191
MartPewter: ; 16191
@@ -267,7 +268,7 @@ MartPewter: ; 16191
db PARLYZ_HEAL
db AWAKENING
db BURN_HEAL
- db $ff
+ db -1 ; end
; 1619a
MartCerulean: ; 1619a
@@ -281,7 +282,7 @@ MartCerulean: ; 1619a
db X_ATTACK
db DIRE_HIT
db SURF_MAIL
- db $ff
+ db -1 ; end
; 161a5
MartLavender: ; 161a5
@@ -294,7 +295,7 @@ MartLavender: ; 161a5
db PARLYZ_HEAL
db AWAKENING
db BURN_HEAL
- db $ff
+ db -1 ; end
; 161af
MartVermilion: ; 161af
@@ -307,7 +308,7 @@ MartVermilion: ; 161af
db AWAKENING
db BURN_HEAL
db LITEBLUEMAIL
- db $ff
+ db -1 ; end
; 161b9
MartCeladon2F1: ; 161b9
@@ -319,7 +320,7 @@ MartCeladon2F1: ; 161b9
db REVIVE
db SUPER_REPEL
db MAX_REPEL
- db $ff
+ db -1 ; end
; 161c2
MartCeladon2F2: ; 161c2
@@ -334,7 +335,7 @@ MartCeladon2F2: ; 161c2
db ICE_HEAL
db AWAKENING
db PARLYZ_HEAL
- db $ff
+ db -1 ; end
; 161ce
MartCeladon3F: ; 161ce
@@ -344,7 +345,7 @@ MartCeladon3F: ; 161ce
db TM_PROTECT
db TM_RAIN_DANCE
db TM_SANDSTORM
- db $ff
+ db -1 ; end
; 161d5
MartCeladon4F: ; 161d5
@@ -352,7 +353,7 @@ MartCeladon4F: ; 161d5
db POKE_DOLL
db LOVELY_MAIL
db SURF_MAIL
- db $ff
+ db -1 ; end
; 161da
MartCeladon5F1: ; 161da
@@ -362,7 +363,7 @@ MartCeladon5F1: ; 161da
db IRON
db CARBOS
db CALCIUM
- db $ff
+ db -1 ; end
; 161e1
MartCeladon5F2: ; 161e1
@@ -374,7 +375,7 @@ MartCeladon5F2: ; 161e1
db X_DEFEND
db X_SPEED
db X_SPECIAL
- db $ff
+ db -1 ; end
; 161ea
MartFuchsia: ; 161ea
@@ -386,7 +387,7 @@ MartFuchsia: ; 161ea
db FULL_HEAL
db MAX_REPEL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 161f3
MartSaffron: ; 161f3
@@ -399,7 +400,7 @@ MartSaffron: ; 161f3
db X_ATTACK
db X_DEFEND
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 161fd
MartMtMoon: ; 161fd
@@ -410,7 +411,7 @@ MartMtMoon: ; 161fd
db LEMONADE
db REPEL
db PORTRAITMAIL
- db $ff
+ db -1 ; end
; 16205
MartIndigoPlateau: ; 16205
@@ -422,7 +423,7 @@ MartIndigoPlateau: ; 16205
db FULL_RESTORE
db REVIVE
db FULL_HEAL
- db $ff
+ db -1 ; end
; 1620e
MartUnderground: ; 1620e
@@ -431,12 +432,12 @@ MartUnderground: ; 1620e
db ENERGY_ROOT
db HEAL_POWDER
db REVIVAL_HERB
- db $ff
+ db -1 ; end
; 16214
DefaultMart: ; 16214
db 2 ; # items
db POKE_BALL
db POTION
- db $ff
+ db -1 ; end
; 16218
diff --git a/data/mystery_gift_items.asm b/data/items/mystery_gift_items.asm
index b2379071e..b2379071e 100644
--- a/data/mystery_gift_items.asm
+++ b/data/items/mystery_gift_items.asm
diff --git a/data/items/x_stats.asm b/data/items/x_stats.asm
new file mode 100644
index 000000000..ac2d0ad27
--- /dev/null
+++ b/data/items/x_stats.asm
@@ -0,0 +1,7 @@
+XItemStats: ; f504
+ ; item, stat
+ db X_ATTACK, ATTACK
+ db X_DEFEND, DEFENSE
+ db X_SPEED, SPEED
+ db X_SPECIAL, SP_ATTACK
+; f50c
diff --git a/data/mail_input_chars.asm b/data/mail_input_chars.asm
index befdc0cf7..ca3833529 100644
--- a/data/mail_input_chars.asm
+++ b/data/mail_input_chars.asm
@@ -14,6 +14,6 @@ MailEntry_Lowercase: ; 1224f
db "k l m n o p q r s t"
db "u v w x y z . - /"
db "'d 'l 'm 'r 's 't 'v & ( )"
- db "<``> <''> [ ] ' : ; "
+ db "“ ” [ ] ' : ; "
db "UPPER DEL END "
; 122c1
diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm
new file mode 100644
index 000000000..7f008b5b2
--- /dev/null
+++ b/data/maps/blocks.asm
@@ -0,0 +1,1047 @@
+SECTION "Map Blocks 1", ROMX
+
+Route32_Blocks:
+ INCBIN "maps/Route32.blk"
+
+Route40_Blocks:
+ INCBIN "maps/Route40.blk"
+
+Route36_Blocks:
+ INCBIN "maps/Route36.blk"
+
+Route44_Blocks:
+ INCBIN "maps/Route44.blk"
+
+Route28_Blocks:
+ INCBIN "maps/Route28.blk"
+
+BetaHerosHouse_Blocks:
+ INCBIN "maps/unused/BetaHerosHouse.blk"
+
+CeladonCity_Blocks:
+ INCBIN "maps/CeladonCity.blk"
+
+SaffronCity_Blocks:
+ INCBIN "maps/SaffronCity.blk"
+
+Route2_Blocks:
+ INCBIN "maps/Route2.blk"
+
+ElmsHouse_Blocks:
+ INCBIN "maps/ElmsHouse.blk"
+
+BetaSproutTower1_Blocks:
+ INCBIN "maps/unused/BetaSproutTower1.blk"
+
+Route11_Blocks:
+ INCBIN "maps/Route11.blk"
+
+BetaSproutTower5_Blocks:
+ INCBIN "maps/unused/BetaSproutTower5.blk"
+
+Route15_Blocks:
+ INCBIN "maps/Route15.blk"
+
+BetaSproutTower9_Blocks:
+ INCBIN "maps/unused/BetaSproutTower9.blk"
+
+Route19_Blocks:
+ INCBIN "maps/Route19.blk"
+
+BetaBlackthornCity_Blocks:
+ INCBIN "maps/unused/BetaBlackthornCity.blk"
+
+Route10South_Blocks:
+ INCBIN "maps/Route10South.blk"
+
+Pokecenter2F_Blocks:
+CinnabarPokecenter2FBeta_Blocks:
+CeruleanPokecenter2FBeta_Blocks:
+Route10Pokecenter2FBeta_Blocks:
+VermilionPokecenter2FBeta_Blocks:
+PewterPokecenter2FBeta_Blocks:
+FuchsiaPokecenter2FBeta_Blocks:
+LavenderPokecenter2FBeta_Blocks:
+CeladonPokecenter2FBeta_Blocks:
+ViridianPokecenter2FBeta_Blocks:
+SaffronPokecenter2FBeta_Blocks:
+ INCBIN "maps/Pokecenter2F.blk"
+
+Route41_Blocks:
+ INCBIN "maps/Route41.blk"
+
+Route33_Blocks:
+ INCBIN "maps/Route33.blk"
+
+Route45_Blocks:
+ INCBIN "maps/Route45.blk"
+
+Route29_Blocks:
+ INCBIN "maps/Route29.blk"
+
+Route37_Blocks:
+ INCBIN "maps/Route37.blk"
+
+LavenderTown_Blocks:
+ INCBIN "maps/LavenderTown.blk"
+
+PalletTown_Blocks:
+ INCBIN "maps/PalletTown.blk"
+
+Route25_Blocks:
+ INCBIN "maps/Route25.blk"
+
+Route24_Blocks:
+ INCBIN "maps/Route24.blk"
+
+BetaVioletCity_Blocks:
+ INCBIN "maps/unused/BetaVioletCity.blk"
+
+Route3_Blocks:
+ INCBIN "maps/Route3.blk"
+
+PewterCity_Blocks:
+ INCBIN "maps/PewterCity.blk"
+
+BetaIlexForest_Blocks:
+ INCBIN "maps/unused/BetaIlexForest.blk"
+
+BetaSproutTower2_Blocks:
+ INCBIN "maps/unused/BetaSproutTower2.blk"
+
+Route12_Blocks:
+ INCBIN "maps/Route12.blk"
+
+BetaGoldenrodCity_Blocks:
+ INCBIN "maps/unused/BetaGoldenrodCity.blk"
+
+Route20_Blocks:
+ INCBIN "maps/Route20.blk"
+
+BetaSproutTower6_Blocks:
+ INCBIN "maps/unused/BetaSproutTower6.blk"
+
+BetaPokecenterMainHouse_Blocks:
+ INCBIN "maps/unused/BetaPokecenterMainHouse.blk"
+
+Route30_Blocks:
+ INCBIN "maps/Route30.blk"
+
+Route26_Blocks:
+ INCBIN "maps/Route26.blk"
+
+Route42_Blocks:
+ INCBIN "maps/Route42.blk"
+
+Route34_Blocks:
+ INCBIN "maps/Route34.blk"
+
+Route46_Blocks:
+ INCBIN "maps/Route46.blk"
+
+FuchsiaCity_Blocks:
+ INCBIN "maps/FuchsiaCity.blk"
+
+Route38_Blocks:
+ INCBIN "maps/Route38.blk"
+
+BetaCianwoodCity_Blocks:
+ INCBIN "maps/unused/BetaCianwoodCity.blk"
+
+OlivineTimsHouse_Blocks:
+OlivineHouseBeta_Blocks:
+OlivinePunishmentSpeechHouse_Blocks:
+OlivineGoodRodHouse_Blocks:
+Route39Farmhouse_Blocks:
+MahoganyRedGyaradosSpeechHouse_Blocks:
+BlackthornDragonSpeechHouse_Blocks:
+BlackthornEmysHouse_Blocks:
+MoveDeletersHouse_Blocks:
+CeruleanGymBadgeSpeechHouse_Blocks:
+CeruleanPoliceStation_Blocks:
+CeruleanTradeSpeechHouse_Blocks:
+BillsHouse_Blocks:
+CharcoalKiln_Blocks:
+LakeOfRageHiddenPowerHouse_Blocks:
+LakeOfRageMagikarpHouse_Blocks:
+GoldenrodHappinessRater_Blocks:
+GoldenrodBillsHouse_Blocks:
+GoldenrodPPSpeechHouse_Blocks:
+GoldenrodNameRater_Blocks:
+VermilionHouseFishingSpeechHouse_Blocks:
+VermilionMagnetTrainSpeechHouse_Blocks:
+VermilionHouseDiglettsCaveSpeechHouse_Blocks:
+BluesHouse_Blocks:
+PewterNidoranSpeechHouse_Blocks:
+PewterSnoozeSpeechHouse_Blocks:
+FuchsiaBillSpeechHouse_Blocks:
+LavenderSpeechHouse_Blocks:
+LavenderNameRater_Blocks:
+Route12SuperRodHouse_Blocks:
+Route28FamousSpeechHouse_Blocks:
+CeladonMansionRoofHouse_Blocks:
+Route16FuchsiaSpeechHouse_Blocks:
+ManiasHouse_Blocks:
+CianwoodPharmacy_Blocks:
+CianwoodPhotoStudio_Blocks:
+CianwoodLugiaSpeechHouse_Blocks:
+PokeSeersHouse_Blocks:
+ViridianNicknameSpeechHouse_Blocks:
+Route2NuggetSpeechHouse_Blocks:
+KrissNeighborsHouse_Blocks:
+Route26HealSpeechHouse_Blocks:
+Route26DayofWeekSiblingsHouse_Blocks:
+Route27SandstormHouse_Blocks:
+MrPsychicsHouse_Blocks:
+Route5CleanseTagSpeechHouse_Blocks:
+CherrygroveGymSpeechHouse_Blocks:
+GuideGentsHouse_Blocks:
+CherrygroveEvolutionSpeechHouse_Blocks:
+Route30BerrySpeechHouse_Blocks:
+ INCBIN "maps/House1.blk"
+
+SafariZoneFuchsiaGateBeta_Blocks:
+Route19FuchsiaGate_Blocks:
+Route43MahoganyGate_Blocks:
+Route43Gate_Blocks:
+Route35GoldenrodGate_Blocks:
+Route36RuinsOfAlphGate_Blocks:
+Route34IlexForestGate_Blocks:
+Route6SaffronGate_Blocks:
+Route40BattleTowerGate_Blocks:
+Route2Gate_Blocks:
+Route29Route46Gate_Blocks:
+Route5SaffronGate_Blocks:
+ INCBIN "maps/NorthSouthGate.blk"
+
+BetaEcruteakCity_Blocks:
+ INCBIN "maps/unused/BetaEcruteakCity.blk"
+
+BetaCherrygroveCity_Blocks:
+ INCBIN "maps/unused/BetaCherrygroveCity.blk"
+
+CinnabarIsland_Blocks:
+ INCBIN "maps/CinnabarIsland.blk"
+
+Route4_Blocks:
+ INCBIN "maps/Route4.blk"
+
+Route8_Blocks:
+ INCBIN "maps/Route8.blk"
+
+BetaSproutTower3_Blocks:
+ INCBIN "maps/unused/BetaSproutTower3.blk"
+
+ViridianCity_Blocks:
+ INCBIN "maps/ViridianCity.blk"
+
+Route13_Blocks:
+ INCBIN "maps/Route13.blk"
+
+Route21_Blocks:
+ INCBIN "maps/Route21.blk"
+
+BetaSproutTower7_Blocks:
+ INCBIN "maps/unused/BetaSproutTower7.blk"
+
+Route17_Blocks:
+ INCBIN "maps/Route17.blk"
+
+BetaMahoganyTown_Blocks:
+ INCBIN "maps/unused/BetaMahoganyTown.blk"
+
+Route31_Blocks:
+ INCBIN "maps/Route31.blk"
+
+Route27_Blocks:
+ INCBIN "maps/Route27.blk"
+
+Route35_Blocks:
+ INCBIN "maps/Route35.blk"
+
+Route43_Blocks:
+ INCBIN "maps/Route43.blk"
+
+Route39_Blocks:
+ INCBIN "maps/Route39.blk"
+
+KrissHouse1F_Blocks:
+ INCBIN "maps/KrissHouse1F.blk"
+
+Route38EcruteakGate_Blocks:
+Route42EcruteakGate_Blocks:
+Route32RuinsOfAlphGate_Blocks:
+IlexForestAzaleaGate_Blocks:
+Route15FuchsiaGate_Blocks:
+Route8SaffronGate_Blocks:
+Route16Gate_Blocks:
+Route7SaffronGate_Blocks:
+Route17Route18Gate_Blocks:
+Route31VioletGate_Blocks:
+ INCBIN "maps/EastWestGate.blk"
+
+BetaAzaleaTown_Blocks:
+ INCBIN "maps/unused/BetaAzaleaTown.blk"
+
+VermilionCity_Blocks:
+ INCBIN "maps/VermilionCity.blk"
+
+BetaOlivineCity_Blocks:
+ INCBIN "maps/unused/BetaOlivineCity.blk"
+
+BetaNewBarkTown_Blocks:
+ INCBIN "maps/unused/BetaNewBarkTown.blk"
+
+ElmsLab_Blocks:
+ INCBIN "maps/ElmsLab.blk"
+
+CeruleanCity_Blocks:
+ INCBIN "maps/CeruleanCity.blk"
+
+Route1_Blocks:
+ INCBIN "maps/Route1.blk"
+
+Route5_Blocks:
+ INCBIN "maps/Route5.blk"
+
+Route9_Blocks:
+ INCBIN "maps/Route9.blk"
+
+Route22_Blocks:
+ INCBIN "maps/Route22.blk"
+
+
+SECTION "Map Blocks 2", ROMX
+
+Route14_Blocks:
+ INCBIN "maps/Route14.blk"
+
+BetaSproutTower8_Blocks:
+ INCBIN "maps/unused/BetaSproutTower8.blk"
+
+OlivineMart_Blocks:
+EcruteakMart_Blocks:
+BlackthornMart_Blocks:
+CeruleanMart_Blocks:
+AzaleaMart_Blocks:
+VioletMart_Blocks:
+VermilionMart_Blocks:
+PewterMart_Blocks:
+FuchsiaMart_Blocks:
+LavenderMart_Blocks:
+ViridianMart_Blocks:
+SaffronMart_Blocks:
+CherrygroveMart_Blocks:
+ INCBIN "maps/Mart.blk"
+
+Route10North_Blocks:
+ INCBIN "maps/Route10North.blk"
+
+BetaLakeOfRage_Blocks:
+ INCBIN "maps/unused/BetaLakeOfRage.blk"
+
+OlivinePokecenter1F_Blocks:
+MahoganyPokecenter1F_Blocks:
+EcruteakPokecenter1F_Blocks:
+BlackthornPokecenter1F_Blocks:
+CinnabarPokecenter1F_Blocks:
+CeruleanPokecenter1F_Blocks:
+Route10Pokecenter1F_Blocks:
+AzaleaPokecenter1F_Blocks:
+VioletPokecenter1F_Blocks:
+Route32Pokecenter1F_Blocks:
+GoldenrodPokecenter1F_Blocks:
+VermilionPokecenter1F_Blocks:
+PewterPokecenter1F_Blocks:
+FuchsiaPokecenter1F_Blocks:
+LavenderPokecenter1F_Blocks:
+SilverCavePokecenter1F_Blocks:
+CeladonPokecenter1F_Blocks:
+CianwoodPokecenter1F_Blocks:
+ViridianPokecenter1F_Blocks:
+SaffronPokecenter1F_Blocks:
+CherrygrovePokecenter1F_Blocks:
+ INCBIN "maps/Pokecenter1F.blk"
+
+BetaPewterMuseumOfScience1F_Blocks:
+ INCBIN "maps/unused/BetaPewterMuseumOfScience1F.blk"
+
+BetaPewterMuseumOfScience2F_Blocks:
+ INCBIN "maps/unused/BetaPewterMuseumOfScience2F.blk"
+
+EarlsPokemonAcademy_Blocks:
+ INCBIN "maps/EarlsPokemonAcademy.blk"
+
+BetaCinnabarPokemonLabHallway_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabHallway.blk"
+
+BetaCinnabarPokemonLabRoom1_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabRoom1.blk"
+
+BetaCinnabarPokemonLabRoom2_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabRoom2.blk"
+
+BetaCinnabarPokemonLabRoom3_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabRoom3.blk"
+
+GoldenrodDeptStore1F_Blocks:
+CeladonDeptStore1F_Blocks:
+ INCBIN "maps/DeptStore1F.blk"
+
+GoldenrodDeptStore2F_Blocks:
+CeladonDeptStore2F_Blocks:
+ INCBIN "maps/DeptStore2F.blk"
+
+GoldenrodDeptStore3F_Blocks:
+CeladonDeptStore3F_Blocks:
+ INCBIN "maps/DeptStore3F.blk"
+
+GoldenrodDeptStore4F_Blocks:
+CeladonDeptStore4F_Blocks:
+ INCBIN "maps/DeptStore4F.blk"
+
+GoldenrodDeptStore5F_Blocks:
+CeladonDeptStore5F_Blocks:
+ INCBIN "maps/DeptStore5F.blk"
+
+GoldenrodDeptStore6F_Blocks:
+CeladonDeptStore6F_Blocks:
+ INCBIN "maps/DeptStore6F.blk"
+
+GoldenrodDeptStoreElevator_Blocks:
+CeladonDeptStoreElevator_Blocks:
+ INCBIN "maps/DeptStoreElevator.blk"
+
+CeladonMansion1F_Blocks:
+ INCBIN "maps/CeladonMansion1F.blk"
+
+CeladonMansion2F_Blocks:
+ INCBIN "maps/CeladonMansion2F.blk"
+
+CeladonMansion3F_Blocks:
+ INCBIN "maps/CeladonMansion3F.blk"
+
+CeladonMansionRoof_Blocks:
+ INCBIN "maps/CeladonMansionRoof.blk"
+
+BetaHouse_Blocks:
+ INCBIN "maps/unused/BetaHouse.blk"
+
+CeladonGameCorner_Blocks:
+ INCBIN "maps/CeladonGameCorner.blk"
+
+CeladonGameCornerPrizeRoom_Blocks:
+ INCBIN "maps/CeladonGameCornerPrizeRoom.blk"
+
+Colosseum_Blocks:
+ INCBIN "maps/Colosseum.blk"
+
+TradeCenter_Blocks:
+TimeCapsule_Blocks:
+ INCBIN "maps/TradeCenter.blk"
+
+EcruteakLugiaSpeechHouse_Blocks:
+EcruteakItemfinderHouse_Blocks:
+VioletNicknameSpeechHouse_Blocks:
+VioletKylesHouse_Blocks:
+ INCBIN "maps/House2.blk"
+
+BetaCave_Blocks:
+ INCBIN "maps/unused/BetaCave.blk"
+
+UnionCaveB1F_Blocks:
+ INCBIN "maps/UnionCaveB1F.blk"
+
+UnionCaveB2F_Blocks:
+ INCBIN "maps/UnionCaveB2F.blk"
+
+UnionCave1F_Blocks:
+ INCBIN "maps/UnionCave1F.blk"
+
+NationalPark_Blocks:
+NationalParkBugContest_Blocks:
+ INCBIN "maps/NationalPark.blk"
+
+Route5UndergroundPathEntrance_Blocks:
+Route6UndergroundPathEntrance_Blocks:
+ INCBIN "maps/UndergroundPathEntrance.blk"
+
+BetaPokecenterTradeStation_Blocks:
+ INCBIN "maps/unused/BetaPokecenterTradeStation.blk"
+
+KurtsHouse_Blocks:
+ INCBIN "maps/KurtsHouse.blk"
+
+GoldenrodMagnetTrainStation_Blocks:
+ INCBIN "maps/GoldenrodMagnetTrainStation.blk"
+
+RuinsOfAlphOutside_Blocks:
+ INCBIN "maps/RuinsOfAlphOutside.blk"
+
+BetaRuinsOfAlphUnsolvedPuzzleRoom_Blocks:
+ INCBIN "maps/unused/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk"
+
+RuinsOfAlphInnerChamber_Blocks:
+ INCBIN "maps/RuinsOfAlphInnerChamber.blk"
+
+RuinsOfAlphHoOhChamber_Blocks:
+RuinsOfAlphKabutoChamber_Blocks:
+RuinsOfAlphOmanyteChamber_Blocks:
+RuinsOfAlphAerodactylChamber_Blocks:
+ INCBIN "maps/RuinsOfAlphPuzzleChamber.blk"
+
+SproutTower1F_Blocks:
+ INCBIN "maps/SproutTower1F.blk"
+
+BetaSproutTowerCutOut1_Blocks:
+ INCBIN "maps/unused/BetaSproutTowerCutOut1.blk"
+
+SproutTower2F_Blocks:
+ INCBIN "maps/SproutTower2F.blk"
+
+BetaSproutTowerCutOut2_Blocks:
+ INCBIN "maps/unused/BetaSproutTowerCutOut2.blk"
+
+SproutTower3F_Blocks:
+ INCBIN "maps/SproutTower3F.blk"
+
+BetaSproutTowerCutOut3_Blocks:
+ INCBIN "maps/unused/BetaSproutTowerCutOut3.blk"
+
+RadioTower1F_Blocks:
+ INCBIN "maps/RadioTower1F.blk"
+
+RadioTower2F_Blocks:
+ INCBIN "maps/RadioTower2F.blk"
+
+RadioTower3F_Blocks:
+ INCBIN "maps/RadioTower3F.blk"
+
+RadioTower4F_Blocks:
+ INCBIN "maps/RadioTower4F.blk"
+
+RadioTower5F_Blocks:
+ INCBIN "maps/RadioTower5F.blk"
+
+NewBarkTown_Blocks:
+ INCBIN "maps/NewBarkTown.blk"
+
+CherrygroveCity_Blocks:
+ INCBIN "maps/CherrygroveCity.blk"
+
+VioletCity_Blocks:
+ INCBIN "maps/VioletCity.blk"
+
+AzaleaTown_Blocks:
+ INCBIN "maps/AzaleaTown.blk"
+
+CianwoodCity_Blocks:
+ INCBIN "maps/CianwoodCity.blk"
+
+GoldenrodCity_Blocks:
+ INCBIN "maps/GoldenrodCity.blk"
+
+OlivineCity_Blocks:
+ INCBIN "maps/OlivineCity.blk"
+
+EcruteakCity_Blocks:
+ INCBIN "maps/EcruteakCity.blk"
+
+MahoganyTown_Blocks:
+ INCBIN "maps/MahoganyTown.blk"
+
+LakeOfRage_Blocks:
+ INCBIN "maps/LakeOfRage.blk"
+
+BlackthornCity_Blocks:
+ INCBIN "maps/BlackthornCity.blk"
+
+SilverCaveOutside_Blocks:
+ INCBIN "maps/SilverCaveOutside.blk"
+
+Route6_Blocks:
+ INCBIN "maps/Route6.blk"
+
+Route7_Blocks:
+ INCBIN "maps/Route7.blk"
+
+Route16_Blocks:
+ INCBIN "maps/Route16.blk"
+
+Route18_Blocks:
+ INCBIN "maps/Route18.blk"
+
+GoldenrodUnderground_Blocks:
+ INCBIN "maps/GoldenrodUnderground.blk"
+
+GoldenrodUndergroundSwitchRoomEntrances_Blocks:
+ INCBIN "maps/GoldenrodUndergroundSwitchRoomEntrances.blk"
+
+GoldenrodDeptStoreB1F_Blocks:
+ INCBIN "maps/GoldenrodDeptStoreB1F.blk"
+
+GoldenrodUndergroundWarehouse_Blocks:
+ INCBIN "maps/GoldenrodUndergroundWarehouse.blk"
+
+BetaElevator_Blocks:
+ INCBIN "maps/unused/BetaElevator.blk"
+
+TinTower1F_Blocks:
+ INCBIN "maps/TinTower1F.blk"
+
+TinTower2F_Blocks:
+ INCBIN "maps/TinTower2F.blk"
+
+TinTower3F_Blocks:
+ INCBIN "maps/TinTower3F.blk"
+
+TinTower4F_Blocks:
+ INCBIN "maps/TinTower4F.blk"
+
+TinTower5F_Blocks:
+ INCBIN "maps/TinTower5F.blk"
+
+TinTower6F_Blocks:
+ INCBIN "maps/TinTower6F.blk"
+
+TinTower7F_Blocks:
+ INCBIN "maps/TinTower7F.blk"
+
+TinTower8F_Blocks:
+ INCBIN "maps/TinTower8F.blk"
+
+TinTower9F_Blocks:
+ INCBIN "maps/TinTower9F.blk"
+
+TinTowerRoof_Blocks:
+ INCBIN "maps/TinTowerRoof.blk"
+
+BurnedTower1F_Blocks:
+ INCBIN "maps/BurnedTower1F.blk"
+
+BurnedTowerB1F_Blocks:
+ INCBIN "maps/BurnedTowerB1F.blk"
+
+BetaCaveTestMap_Blocks:
+ INCBIN "maps/unused/BetaCaveTestMap.blk"
+
+MountMortar1FOutside_Blocks:
+ INCBIN "maps/MountMortar1FOutside.blk"
+
+MountMortar1FInside_Blocks:
+ INCBIN "maps/MountMortar1FInside.blk"
+
+MountMortar2FInside_Blocks:
+ INCBIN "maps/MountMortar2FInside.blk"
+
+MountMortarB1F_Blocks:
+ INCBIN "maps/MountMortarB1F.blk"
+
+IcePath1F_Blocks:
+ INCBIN "maps/IcePath1F.blk"
+
+IcePathB1F_Blocks:
+ INCBIN "maps/IcePathB1F.blk"
+
+IcePathB2FMahoganySide_Blocks:
+ INCBIN "maps/IcePathB2FMahoganySide.blk"
+
+IcePathB2FBlackthornSide_Blocks:
+ INCBIN "maps/IcePathB2FBlackthornSide.blk"
+
+IcePathB3F_Blocks:
+ INCBIN "maps/IcePathB3F.blk"
+
+WhirlIslandNW_Blocks:
+ INCBIN "maps/WhirlIslandNW.blk"
+
+WhirlIslandNE_Blocks:
+ INCBIN "maps/WhirlIslandNE.blk"
+
+WhirlIslandSW_Blocks:
+ INCBIN "maps/WhirlIslandSW.blk"
+
+WhirlIslandCave_Blocks:
+ INCBIN "maps/WhirlIslandCave.blk"
+
+WhirlIslandSE_Blocks:
+ INCBIN "maps/WhirlIslandSE.blk"
+
+WhirlIslandB1F_Blocks:
+ INCBIN "maps/WhirlIslandB1F.blk"
+
+WhirlIslandB2F_Blocks:
+ INCBIN "maps/WhirlIslandB2F.blk"
+
+WhirlIslandLugiaChamber_Blocks:
+ INCBIN "maps/WhirlIslandLugiaChamber.blk"
+
+SilverCaveRoom1_Blocks:
+ INCBIN "maps/SilverCaveRoom1.blk"
+
+SilverCaveRoom2_Blocks:
+ INCBIN "maps/SilverCaveRoom2.blk"
+
+SilverCaveRoom3_Blocks:
+ INCBIN "maps/SilverCaveRoom3.blk"
+
+BetaRocketHideout1_Blocks:
+ INCBIN "maps/unused/BetaRocketHideout1.blk"
+
+BetaRocketHideout2_Blocks:
+ INCBIN "maps/unused/BetaRocketHideout2.blk"
+
+BetaEmptyHouse_Blocks:
+ INCBIN "maps/unused/BetaEmptyHouse.blk"
+
+BetaRocketHideout3_Blocks:
+ INCBIN "maps/unused/BetaRocketHideout3.blk"
+
+MahoganyMart1F_Blocks:
+MountMoonGiftShop_Blocks:
+ INCBIN "maps/GiftShop.blk"
+
+TeamRocketBaseB1F_Blocks:
+ INCBIN "maps/TeamRocketBaseB1F.blk"
+
+TeamRocketBaseB2F_Blocks:
+ INCBIN "maps/TeamRocketBaseB2F.blk"
+
+TeamRocketBaseB3F_Blocks:
+ INCBIN "maps/TeamRocketBaseB3F.blk"
+
+BetaRoute23EarlyVersion_Blocks:
+ INCBIN "maps/unused/BetaRoute23EarlyVersion.blk"
+
+IndigoPlateauPokecenter1F_Blocks:
+ INCBIN "maps/IndigoPlateauPokecenter1F.blk"
+
+WillsRoom_Blocks:
+ INCBIN "maps/WillsRoom.blk"
+
+KogasRoom_Blocks:
+ INCBIN "maps/KogasRoom.blk"
+
+BrunosRoom_Blocks:
+ INCBIN "maps/BrunosRoom.blk"
+
+KarensRoom_Blocks:
+ INCBIN "maps/KarensRoom.blk"
+
+AzaleaGym_Blocks:
+ INCBIN "maps/AzaleaGym.blk"
+
+VioletGym_Blocks:
+ INCBIN "maps/VioletGym.blk"
+
+GoldenrodGym_Blocks:
+ INCBIN "maps/GoldenrodGym.blk"
+
+EcruteakGym_Blocks:
+ INCBIN "maps/EcruteakGym.blk"
+
+MahoganyGym_Blocks:
+ INCBIN "maps/MahoganyGym.blk"
+
+OlivineGym_Blocks:
+ INCBIN "maps/OlivineGym.blk"
+
+BetaUnknown_Blocks:
+ INCBIN "maps/unused/BetaUnknown.blk"
+
+CianwoodGym_Blocks:
+ INCBIN "maps/CianwoodGym.blk"
+
+BlackthornGym1F_Blocks:
+ INCBIN "maps/BlackthornGym1F.blk"
+
+BlackthornGym2F_Blocks:
+ INCBIN "maps/BlackthornGym2F.blk"
+
+OlivineLighthouse1F_Blocks:
+ INCBIN "maps/OlivineLighthouse1F.blk"
+
+OlivineLighthouse2F_Blocks:
+ INCBIN "maps/OlivineLighthouse2F.blk"
+
+OlivineLighthouse3F_Blocks:
+ INCBIN "maps/OlivineLighthouse3F.blk"
+
+OlivineLighthouse4F_Blocks:
+ INCBIN "maps/OlivineLighthouse4F.blk"
+
+OlivineLighthouse5F_Blocks:
+ INCBIN "maps/OlivineLighthouse5F.blk"
+
+OlivineLighthouse6F_Blocks:
+ INCBIN "maps/OlivineLighthouse6F.blk"
+
+
+SECTION "Map Blocks 3", ROMX
+
+BetaCave2_Blocks:
+ INCBIN "maps/unused/BetaCave2.blk"
+
+SlowpokeWellB1F_Blocks:
+ INCBIN "maps/SlowpokeWellB1F.blk"
+
+SlowpokeWellB2F_Blocks:
+ INCBIN "maps/SlowpokeWellB2F.blk"
+
+IlexForest_Blocks:
+ INCBIN "maps/IlexForest.blk"
+
+DarkCaveVioletEntrance_Blocks:
+ INCBIN "maps/DarkCaveVioletEntrance.blk"
+
+DarkCaveBlackthornEntrance_Blocks:
+ INCBIN "maps/DarkCaveBlackthornEntrance.blk"
+
+RuinsOfAlphResearchCenter_Blocks:
+ INCBIN "maps/RuinsOfAlphResearchCenter.blk"
+
+GoldenrodBikeShop_Blocks:
+ INCBIN "maps/GoldenrodBikeShop.blk"
+
+DanceTheatre_Blocks:
+ INCBIN "maps/DanceTheatre.blk"
+
+EcruteakHouse_Blocks:
+ INCBIN "maps/EcruteakHouse.blk"
+
+GoldenrodGameCorner_Blocks:
+ INCBIN "maps/GoldenrodGameCorner.blk"
+
+Route35NationalParkGate_Blocks:
+ INCBIN "maps/Route35NationalParkGate.blk"
+
+Route36NationalParkGate_Blocks:
+ INCBIN "maps/Route36NationalParkGate.blk"
+
+FastShip1F_Blocks:
+ INCBIN "maps/FastShip1F.blk"
+
+FastShipB1F_Blocks:
+ INCBIN "maps/FastShipB1F.blk"
+
+BetaFastShipInsideCutOut_Blocks:
+ INCBIN "maps/unused/BetaFastShipInsideCutOut.blk"
+
+FastShipCabins_NNW_NNE_NE_Blocks:
+ INCBIN "maps/FastShipCabins_NNW_NNE_NE.blk"
+
+FastShipCabins_SW_SSW_NW_Blocks:
+ INCBIN "maps/FastShipCabins_SW_SSW_NW.blk"
+
+FastShipCabins_SE_SSE_CaptainsCabin_Blocks:
+ INCBIN "maps/FastShipCabins_SE_SSE_CaptainsCabin.blk"
+
+OlivinePort_Blocks:
+ INCBIN "maps/OlivinePort.blk"
+
+VermilionPort_Blocks:
+ INCBIN "maps/VermilionPort.blk"
+
+OlivineCafe_Blocks:
+SafariZoneMainOffice_Blocks:
+ INCBIN "maps/OlivineCafe.blk"
+
+KrissHouse2F_Blocks:
+ INCBIN "maps/KrissHouse2F.blk"
+
+SaffronMagnetTrainStation_Blocks:
+ INCBIN "maps/SaffronMagnetTrainStation.blk"
+
+CeruleanGym_Blocks:
+ INCBIN "maps/CeruleanGym.blk"
+
+VermilionGym_Blocks:
+ INCBIN "maps/VermilionGym.blk"
+
+SaffronGym_Blocks:
+ INCBIN "maps/SaffronGym.blk"
+
+PowerPlant_Blocks:
+ INCBIN "maps/PowerPlant.blk"
+
+PokemonFanClub_Blocks:
+SafariZoneWardensHome_Blocks:
+ INCBIN "maps/PokemonFanClub.blk"
+
+FightingDojo_Blocks:
+ INCBIN "maps/FightingDojo.blk"
+
+SilphCo1F_Blocks:
+ INCBIN "maps/SilphCo1F.blk"
+
+ViridianGym_Blocks:
+ INCBIN "maps/ViridianGym.blk"
+
+TrainerHouse1F_Blocks:
+ INCBIN "maps/TrainerHouse1F.blk"
+
+TrainerHouseB1F_Blocks:
+ INCBIN "maps/TrainerHouseB1F.blk"
+
+RedsHouse1F_Blocks:
+ INCBIN "maps/RedsHouse1F.blk"
+
+RedsHouse2F_Blocks:
+ INCBIN "maps/RedsHouse2F.blk"
+
+OaksLab_Blocks:
+ INCBIN "maps/OaksLab.blk"
+
+MrFujisHouse_Blocks:
+ INCBIN "maps/MrFujisHouse.blk"
+
+LavRadioTower1F_Blocks:
+ INCBIN "maps/LavRadioTower1F.blk"
+
+SilverCaveItemRooms_Blocks:
+ INCBIN "maps/SilverCaveItemRooms.blk"
+
+DayCare_Blocks:
+ INCBIN "maps/DayCare.blk"
+
+SoulHouse_Blocks:
+ INCBIN "maps/SoulHouse.blk"
+
+PewterGym_Blocks:
+ INCBIN "maps/PewterGym.blk"
+
+CeladonGym_Blocks:
+ INCBIN "maps/CeladonGym.blk"
+
+BetaHouse2_Blocks:
+ INCBIN "maps/unused/BetaHouse2.blk"
+
+CeladonCafe_Blocks:
+ INCBIN "maps/CeladonCafe.blk"
+
+BetaCeladonMansion_Blocks:
+ INCBIN "maps/unused/BetaCeladonMansion.blk"
+
+RockTunnel1F_Blocks:
+ INCBIN "maps/RockTunnel1F.blk"
+
+RockTunnelB1F_Blocks:
+ INCBIN "maps/RockTunnelB1F.blk"
+
+DiglettsCave_Blocks:
+ INCBIN "maps/DiglettsCave.blk"
+
+MountMoon_Blocks:
+ INCBIN "maps/MountMoon.blk"
+
+SeafoamGym_Blocks:
+ INCBIN "maps/SeafoamGym.blk"
+
+MrPokemonsHouse_Blocks:
+ INCBIN "maps/MrPokemonsHouse.blk"
+
+VictoryRoadGate_Blocks:
+ INCBIN "maps/VictoryRoadGate.blk"
+
+OlivinePortPassage_Blocks:
+VermilionPortPassage_Blocks:
+ INCBIN "maps/PortPassage.blk"
+
+FuchsiaGym_Blocks:
+ INCBIN "maps/FuchsiaGym.blk"
+
+SafariZoneBeta_Blocks:
+ INCBIN "maps/SafariZoneBeta.blk"
+
+UndergroundPath_Blocks:
+ INCBIN "maps/UndergroundPath.blk"
+
+Route39Barn_Blocks:
+ INCBIN "maps/Route39Barn.blk"
+
+VictoryRoad_Blocks:
+ INCBIN "maps/VictoryRoad.blk"
+
+Route23_Blocks:
+ INCBIN "maps/Route23.blk"
+
+LancesRoom_Blocks:
+ INCBIN "maps/LancesRoom.blk"
+
+HallOfFame_Blocks:
+ INCBIN "maps/HallOfFame.blk"
+
+CopycatsHouse1F_Blocks:
+ INCBIN "maps/CopycatsHouse1F.blk"
+
+CopycatsHouse2F_Blocks:
+ INCBIN "maps/CopycatsHouse2F.blk"
+
+GoldenrodFlowerShop_Blocks:
+ INCBIN "maps/GoldenrodFlowerShop.blk"
+
+MountMoonSquare_Blocks:
+ INCBIN "maps/MountMoonSquare.blk"
+
+WiseTriosRoom_Blocks:
+ INCBIN "maps/WiseTriosRoom.blk"
+
+DragonsDen1F_Blocks:
+ INCBIN "maps/DragonsDen1F.blk"
+
+DragonsDenB1F_Blocks:
+ INCBIN "maps/DragonsDenB1F.blk"
+
+TohjoFalls_Blocks:
+ INCBIN "maps/TohjoFalls.blk"
+
+RuinsOfAlphHoOhItemRoom_Blocks:
+RuinsOfAlphKabutoItemRoom_Blocks:
+RuinsOfAlphOmanyteItemRoom_Blocks:
+RuinsOfAlphAerodactylItemRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphItemRoom.blk"
+
+RuinsOfAlphHoOhWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphHoOhWordRoom.blk"
+
+RuinsOfAlphKabutoWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphKabutoWordRoom.blk"
+
+RuinsOfAlphOmanyteWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphOmanyteWordRoom.blk"
+
+RuinsOfAlphAerodactylWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphAerodactylWordRoom.blk"
+
+DragonShrine_Blocks:
+ INCBIN "maps/DragonShrine.blk"
+
+BattleTower1F_Blocks:
+ INCBIN "maps/BattleTower1F.blk"
+
+BattleTowerBattleRoom_Blocks:
+ INCBIN "maps/BattleTowerBattleRoom.blk"
+
+GoldenrodPokeComCenter2FMobile_Blocks:
+ INCBIN "maps/GoldenrodPokeComCenter2FMobile.blk"
+
+MobileTradeRoomMobile_Blocks:
+ INCBIN "maps/MobileTradeRoomMobile.blk"
+
+MobileBattleRoom_Blocks:
+ INCBIN "maps/MobileBattleRoom.blk"
+
+BattleTowerHallway_Blocks:
+ INCBIN "maps/BattleTowerHallway.blk"
+
+BattleTowerElevator_Blocks:
+ INCBIN "maps/BattleTowerElevator.blk"
+
+BattleTowerOutside_Blocks:
+ INCBIN "maps/BattleTowerOutside.blk"
+
+BetaBlank_Blocks:
+ INCBIN "maps/unused/BetaBlank.blk"
+
+GoldenrodDeptStoreRoof_Blocks:
+ INCBIN "maps/GoldenrodDeptStoreRoof.blk"
diff --git a/data/maps/data.asm b/data/maps/data.asm
new file mode 100644
index 000000000..0cdfb0826
--- /dev/null
+++ b/data/maps/data.asm
@@ -0,0 +1,685 @@
+map_data: MACRO
+;\1: map name
+;\2: map id
+;\3: border block
+;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
+\1_MapData::
+ db \3
+ db \2_HEIGHT, \2_WIDTH
+ db BANK(\1_Blocks)
+ dw \1_Blocks
+ db BANK(\1_MapScripts)
+ dw \1_MapScripts
+ dw \1_MapEvents
+ db \4
+ENDM
+
+connection: MACRO
+if "\1" == "north"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: x
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + \2_WIDTH * (\2_HEIGHT - 3) + \5
+ dw OverworldMap + \4 + 3
+ db \6
+ db \2_WIDTH
+ db \2_HEIGHT * 2 - 1
+ db (\4 - \5) * -2
+ dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1
+endc
+
+if "\1" == "south"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: x
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + \5
+ dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3
+ db \6
+ db \2_WIDTH
+ db 0
+ db (\4 - \5) * -2
+ dw OverworldMap + \2_WIDTH + 7
+endc
+
+if "\1" == "west"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: y
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + (\2_WIDTH * \5) + \2_WIDTH - 3
+ dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3)
+ db \6
+ db \2_WIDTH
+ db (\4 - \5) * -2
+ db \2_WIDTH * 2 - 1
+ dw OverworldMap + \2_WIDTH * 2 + 6
+endc
+
+if "\1" == "east"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: y
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + (\2_WIDTH * \5)
+ dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3
+ db \6
+ db \2_WIDTH
+ db (\4 - \5) * -2
+ db 0
+ dw OverworldMap + \2_WIDTH + 7
+endc
+ENDM
+
+
+ map_data NewBarkTown, NEW_BARK_TOWN, $05, WEST | EAST
+ connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN
+ connection east, ROUTE_27, Route27, 0, 0, 9, NEW_BARK_TOWN
+
+ map_data CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST
+ connection north, ROUTE_30, Route30, 5, 0, 10, CHERRYGROVE_CITY
+ connection east, ROUTE_29, Route29, 0, 0, 9, CHERRYGROVE_CITY
+
+ map_data VioletCity, VIOLET_CITY, $05, SOUTH | WEST | EAST
+ connection south, ROUTE_32, Route32, 0, 0, 10, VIOLET_CITY
+ connection west, ROUTE_36, Route36, 0, 0, 9, VIOLET_CITY
+ connection east, ROUTE_31, Route31, 9, 0, 9, VIOLET_CITY
+
+ map_data AzaleaTown, AZALEA_TOWN, $05, WEST | EAST
+ connection west, ROUTE_34, Route34, -3, 15, 12, AZALEA_TOWN
+ connection east, ROUTE_33, Route33, 0, 0, 9, AZALEA_TOWN
+
+ map_data CianwoodCity, CIANWOOD_CITY, $35, EAST
+ connection east, ROUTE_41, Route41, 0, 0, 27, CIANWOOD_CITY
+
+ map_data GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH
+ connection north, ROUTE_35, Route35, 5, 0, 10, GOLDENROD_CITY
+ connection south, ROUTE_34, Route34, 5, 0, 10, GOLDENROD_CITY
+
+ map_data OlivineCity, OLIVINE_CITY, $35, NORTH | WEST
+ connection north, ROUTE_39, Route39, 5, 0, 10, OLIVINE_CITY
+ connection west, ROUTE_40, Route40, 9, 0, 12, OLIVINE_CITY
+
+ map_data EcruteakCity, ECRUTEAK_CITY, $05, SOUTH | WEST | EAST
+ connection south, ROUTE_37, Route37, 5, 0, 10, ECRUTEAK_CITY
+ connection west, ROUTE_38, Route38, 5, 0, 9, ECRUTEAK_CITY
+ connection east, ROUTE_42, Route42, 9, 0, 9, ECRUTEAK_CITY
+
+ map_data MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST
+ connection north, ROUTE_43, Route43, 0, 0, 10, MAHOGANY_TOWN
+ connection west, ROUTE_42, Route42, 0, 0, 9, MAHOGANY_TOWN
+ connection east, ROUTE_44, Route44, 0, 0, 9, MAHOGANY_TOWN
+
+ map_data LakeOfRage, LAKE_OF_RAGE, $05, SOUTH
+ connection south, ROUTE_43, Route43, 5, 0, 10, LAKE_OF_RAGE
+
+ map_data BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST
+ connection south, ROUTE_45, Route45, 0, 0, 10, BLACKTHORN_CITY
+ connection west, ROUTE_44, Route44, 9, 0, 9, BLACKTHORN_CITY
+
+ map_data SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST
+ connection east, ROUTE_28, Route28, 9, 0, 9, SILVER_CAVE_OUTSIDE
+
+ map_data Route26, ROUTE_26, $05, WEST
+ connection west, ROUTE_27, Route27, 45, 0, 9, ROUTE_26
+
+ map_data Route27, ROUTE_27, $35, WEST | EAST
+ connection west, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_27
+ connection east, ROUTE_26, Route26, -3, 42, 12, ROUTE_27
+
+ map_data Route28, ROUTE_28, $2c, WEST
+ connection west, SILVER_CAVE_OUTSIDE, SilverCaveOutside, -3, 6, 12, ROUTE_28
+
+ map_data Route29, ROUTE_29, $05, NORTH | WEST | EAST
+ connection north, ROUTE_46, Route46, 10, 0, 10, ROUTE_29
+ connection west, CHERRYGROVE_CITY, CherrygroveCity, 0, 0, 9, ROUTE_29
+ connection east, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_29
+
+ map_data Route30, ROUTE_30, $05, NORTH | SOUTH
+ connection north, ROUTE_31, Route31, -3, 7, 13, ROUTE_30
+ connection south, CHERRYGROVE_CITY, CherrygroveCity, -3, 2, 16, ROUTE_30
+
+ map_data Route31, ROUTE_31, $05, SOUTH | WEST
+ connection south, ROUTE_30, Route30, 10, 0, 10, ROUTE_31
+ connection west, VIOLET_CITY, VioletCity, -3, 6, 12, ROUTE_31
+
+ map_data Route32, ROUTE_32, $05, NORTH | SOUTH
+ connection north, VIOLET_CITY, VioletCity, 0, 0, 13, ROUTE_32
+ connection south, ROUTE_33, Route33, 0, 0, 10, ROUTE_32
+
+ map_data Route33, ROUTE_33, $05, NORTH | WEST
+ connection north, ROUTE_32, Route32, 0, 0, 10, ROUTE_33
+ connection west, AZALEA_TOWN, AzaleaTown, 0, 0, 9, ROUTE_33
+
+ map_data Route34, ROUTE_34, $05, NORTH | EAST
+ connection north, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_34
+ connection east, AZALEA_TOWN, AzaleaTown, 18, 0, 9, ROUTE_34
+
+ map_data Route35, ROUTE_35, $05, NORTH | SOUTH
+ connection north, ROUTE_36, Route36, 0, 0, 13, ROUTE_35
+ connection south, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_35
+
+ map_data Route36, ROUTE_36, $05, NORTH | SOUTH | EAST
+ connection north, ROUTE_37, Route37, 10, 0, 10, ROUTE_36
+ connection south, ROUTE_35, Route35, 0, 0, 10, ROUTE_36
+ connection east, VIOLET_CITY, VioletCity, 0, 0, 12, ROUTE_36
+
+ map_data Route37, ROUTE_37, $05, NORTH | SOUTH
+ connection north, ECRUTEAK_CITY, EcruteakCity, -3, 2, 16, ROUTE_37
+ connection south, ROUTE_36, Route36, -3, 7, 16, ROUTE_37
+
+ map_data Route38, ROUTE_38, $05, WEST | EAST
+ connection west, ROUTE_39, Route39, 0, 0, 12, ROUTE_38
+ connection east, ECRUTEAK_CITY, EcruteakCity, -3, 2, 15, ROUTE_38
+
+ map_data Route39, ROUTE_39, $05, SOUTH | EAST
+ connection south, OLIVINE_CITY, OlivineCity, -3, 2, 16, ROUTE_39
+ connection east, ROUTE_38, Route38, 0, 0, 9, ROUTE_39
+
+ map_data Route40, ROUTE_40, $35, SOUTH | EAST
+ connection south, ROUTE_41, Route41, -3, 12, 13, ROUTE_40
+ connection east, OLIVINE_CITY, OlivineCity, -3, 6, 12, ROUTE_40
+
+ map_data Route41, ROUTE_41, $35, NORTH | WEST
+ connection north, ROUTE_40, Route40, 15, 0, 10, ROUTE_41
+ connection west, CIANWOOD_CITY, CianwoodCity, 0, 0, 27, ROUTE_41
+
+ map_data Route42, ROUTE_42, $05, WEST | EAST
+ connection west, ECRUTEAK_CITY, EcruteakCity, -3, 6, 12, ROUTE_42
+ connection east, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_42
+
+ map_data Route43, ROUTE_43, $05, NORTH | SOUTH
+ connection north, LAKE_OF_RAGE, LakeOfRage, -3, 2, 16, ROUTE_43
+ connection south, MAHOGANY_TOWN, MahoganyTown, 0, 0, 10, ROUTE_43
+
+ map_data Route44, ROUTE_44, $71, WEST | EAST
+ connection west, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_44
+ connection east, BLACKTHORN_CITY, BlackthornCity, -3, 6, 12, ROUTE_44
+
+ map_data Route45, ROUTE_45, $71, NORTH | WEST
+ connection north, BLACKTHORN_CITY, BlackthornCity, 0, 0, 13, ROUTE_45
+ connection west, ROUTE_46, Route46, 36, 0, 12, ROUTE_45
+
+ map_data Route46, ROUTE_46, $05, SOUTH | EAST
+ connection south, ROUTE_29, Route29, -3, 7, 16, ROUTE_46
+ connection east, ROUTE_45, Route45, -3, 33, 12, ROUTE_46
+
+ map_data PewterCity, PEWTER_CITY, $0f, SOUTH | EAST
+ connection south, ROUTE_2, Route2, 5, 0, 10, PEWTER_CITY
+ connection east, ROUTE_3, Route3, 5, 0, 9, PEWTER_CITY
+
+ map_data Route2, ROUTE_2, $0f, NORTH | SOUTH
+ connection north, PEWTER_CITY, PewterCity, -3, 2, 16, ROUTE_2
+ connection south, VIRIDIAN_CITY, ViridianCity, -3, 2, 16, ROUTE_2
+
+ map_data ViridianCity, VIRIDIAN_CITY, $0f, NORTH | SOUTH | WEST
+ connection north, ROUTE_2, Route2, 5, 0, 10, VIRIDIAN_CITY
+ connection south, ROUTE_1, Route1, 10, 0, 10, VIRIDIAN_CITY
+ connection west, ROUTE_22, Route22, 4, 0, 9, VIRIDIAN_CITY
+
+ map_data Route22, ROUTE_22, $2c, EAST
+ connection east, VIRIDIAN_CITY, ViridianCity, -3, 1, 15, ROUTE_22
+
+ map_data Route1, ROUTE_1, $0f, NORTH | SOUTH
+ connection north, VIRIDIAN_CITY, ViridianCity, -3, 7, 13, ROUTE_1
+ connection south, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_1
+
+ map_data PalletTown, PALLET_TOWN, $0f, NORTH | SOUTH
+ connection north, ROUTE_1, Route1, 0, 0, 10, PALLET_TOWN
+ connection south, ROUTE_21, Route21, 0, 0, 10, PALLET_TOWN
+
+ map_data Route21, ROUTE_21, $43, NORTH | SOUTH
+ connection north, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_21
+ connection south, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 10, ROUTE_21
+
+ map_data CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST
+ connection north, ROUTE_21, Route21, 0, 0, 10, CINNABAR_ISLAND
+ connection east, ROUTE_20, Route20, 0, 0, 9, CINNABAR_ISLAND
+
+ map_data Route20, ROUTE_20, $43, WEST | EAST
+ connection west, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 9, ROUTE_20
+ connection east, ROUTE_19, Route19, -3, 6, 12, ROUTE_20
+
+ map_data Route19, ROUTE_19, $43, NORTH | WEST
+ connection north, FUCHSIA_CITY, FuchsiaCity, 0, 0, 13, ROUTE_19
+ connection west, ROUTE_20, Route20, 9, 0, 9, ROUTE_19
+
+ map_data FuchsiaCity, FUCHSIA_CITY, $0f, SOUTH | WEST | EAST
+ connection south, ROUTE_19, Route19, 0, 0, 10, FUCHSIA_CITY
+ connection west, ROUTE_18, Route18, 7, 0, 9, FUCHSIA_CITY
+ connection east, ROUTE_15, Route15, 9, 0, 9, FUCHSIA_CITY
+
+ map_data Route18, ROUTE_18, $43, WEST | EAST
+ connection west, ROUTE_17, Route17, -3, 35, 10, ROUTE_18
+ connection east, FUCHSIA_CITY, FuchsiaCity, -3, 4, 14, ROUTE_18
+
+ map_data Route17, ROUTE_17, $43, NORTH | EAST
+ connection north, ROUTE_16, Route16, 0, 0, 10, ROUTE_17
+ connection east, ROUTE_18, Route18, 38, 0, 9, ROUTE_17
+
+ map_data Route16, ROUTE_16, $0f, SOUTH | EAST
+ connection south, ROUTE_17, Route17, 0, 0, 10, ROUTE_16
+ connection east, CELADON_CITY, CeladonCity, -3, 6, 12, ROUTE_16
+
+ map_data CeladonCity, CELADON_CITY, $0f, WEST | EAST
+ connection west, ROUTE_16, Route16, 9, 0, 9, CELADON_CITY
+ connection east, ROUTE_7, Route7, 5, 0, 9, CELADON_CITY
+
+ map_data Route7, ROUTE_7, $0f, WEST | EAST
+ connection west, CELADON_CITY, CeladonCity, -3, 2, 15, ROUTE_7
+ connection east, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_7
+
+ map_data Route15, ROUTE_15, $0f, WEST | EAST
+ connection west, FUCHSIA_CITY, FuchsiaCity, -3, 6, 12, ROUTE_15
+ connection east, ROUTE_14, Route14, -3, 6, 12, ROUTE_15
+
+ map_data Route14, ROUTE_14, $43, NORTH | WEST
+ connection north, ROUTE_13, Route13, 0, 0, 13, ROUTE_14
+ connection west, ROUTE_15, Route15, 9, 0, 9, ROUTE_14
+
+ map_data Route13, ROUTE_13, $43, NORTH | SOUTH
+ connection north, ROUTE_12, Route12, 20, 0, 10, ROUTE_13
+ connection south, ROUTE_14, Route14, 0, 0, 10, ROUTE_13
+
+ map_data Route12, ROUTE_12, $43, NORTH | SOUTH | WEST
+ connection north, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_12
+ connection south, ROUTE_13, Route13, -3, 17, 13, ROUTE_12
+ connection west, ROUTE_11, Route11, 9, 0, 9, ROUTE_12
+
+ map_data Route11, ROUTE_11, $0f, WEST | EAST
+ connection west, VERMILION_CITY, VermilionCity, 0, 0, 12, ROUTE_11
+ connection east, ROUTE_12, Route12, -3, 6, 15, ROUTE_11
+
+ map_data LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST
+ connection north, ROUTE_10_SOUTH, Route10South, 0, 0, 10, LAVENDER_TOWN
+ connection south, ROUTE_12, Route12, 0, 0, 10, LAVENDER_TOWN
+ connection west, ROUTE_8, Route8, 0, 0, 9, LAVENDER_TOWN
+
+ map_data VermilionCity, VERMILION_CITY, $43, NORTH | EAST
+ connection north, ROUTE_6, Route6, 5, 0, 10, VERMILION_CITY
+ connection east, ROUTE_11, Route11, 0, 0, 9, VERMILION_CITY
+
+ map_data Route6, ROUTE_6, $0f, NORTH | SOUTH
+ connection north, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_6
+ connection south, VERMILION_CITY, VermilionCity, -3, 2, 16, ROUTE_6
+
+ map_data SaffronCity, SAFFRON_CITY, $0f, NORTH | SOUTH | WEST | EAST
+ connection north, ROUTE_5, Route5, 5, 0, 10, SAFFRON_CITY
+ connection south, ROUTE_6, Route6, 5, 0, 10, SAFFRON_CITY
+ connection west, ROUTE_7, Route7, 9, 0, 9, SAFFRON_CITY
+ connection east, ROUTE_8, Route8, 9, 0, 9, SAFFRON_CITY
+
+ map_data Route5, ROUTE_5, $0f, NORTH | SOUTH
+ connection north, CERULEAN_CITY, CeruleanCity, -3, 2, 16, ROUTE_5
+ connection south, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_5
+
+ map_data CeruleanCity, CERULEAN_CITY, $0f, NORTH | SOUTH | WEST | EAST
+ connection north, ROUTE_24, Route24, 6, 0, 10, CERULEAN_CITY
+ connection south, ROUTE_5, Route5, 5, 0, 10, CERULEAN_CITY
+ connection west, ROUTE_4, Route4, 5, 0, 9, CERULEAN_CITY
+ connection east, ROUTE_9, Route9, 9, 0, 9, CERULEAN_CITY
+
+ map_data Route9, ROUTE_9, $2c, SOUTH | WEST
+ connection south, ROUTE_10_NORTH, Route10North, 20, 0, 10, ROUTE_9
+ connection west, CERULEAN_CITY, CeruleanCity, -3, 6, 12, ROUTE_9
+
+ map_data Route24, ROUTE_24, $2c, NORTH | SOUTH
+ connection north, ROUTE_25, Route25, 0, 0, 13, ROUTE_24
+ connection south, CERULEAN_CITY, CeruleanCity, -3, 3, 16, ROUTE_24
+
+ map_data Route25, ROUTE_25, $2c, SOUTH
+ connection south, ROUTE_24, Route24, 0, 0, 10, ROUTE_25
+
+ map_data Route3, ROUTE_3, $2c, WEST | EAST
+ connection west, PEWTER_CITY, PewterCity, -3, 2, 15, ROUTE_3
+ connection east, ROUTE_4, Route4, 0, 0, 9, ROUTE_3
+
+ map_data Route4, ROUTE_4, $2c, WEST | EAST
+ connection west, ROUTE_3, Route3, 0, 0, 9, ROUTE_4
+ connection east, CERULEAN_CITY, CeruleanCity, -3, 2, 15, ROUTE_4
+
+ map_data Route8, ROUTE_8, $2c, WEST | EAST
+ connection west, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_8
+ connection east, LAVENDER_TOWN, LavenderTown, 0, 0, 9, ROUTE_8
+
+ map_data Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH
+ connection north, ROUTE_9, Route9, -3, 17, 13, ROUTE_10_NORTH
+ connection south, ROUTE_10_SOUTH, Route10South, 0, 0, 10, ROUTE_10_NORTH
+
+ map_data Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH
+ connection north, ROUTE_10_NORTH, Route10North, 0, 0, 10, ROUTE_10_SOUTH
+ connection south, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_10_SOUTH
+
+ map_data Route23, ROUTE_23, $0f, 0
+ map_data SproutTower1F, SPROUT_TOWER_1F, $00, 0
+ map_data SproutTower2F, SPROUT_TOWER_2F, $00, 0
+ map_data SproutTower3F, SPROUT_TOWER_3F, $00, 0
+ map_data TinTower1F, TIN_TOWER_1F, $00, 0
+ map_data TinTower2F, TIN_TOWER_2F, $00, 0
+ map_data TinTower3F, TIN_TOWER_3F, $00, 0
+ map_data TinTower4F, TIN_TOWER_4F, $00, 0
+ map_data TinTower5F, TIN_TOWER_5F, $00, 0
+ map_data TinTower6F, TIN_TOWER_6F, $00, 0
+ map_data TinTower7F, TIN_TOWER_7F, $00, 0
+ map_data TinTower8F, TIN_TOWER_8F, $00, 0
+ map_data TinTower9F, TIN_TOWER_9F, $00, 0
+ map_data BurnedTower1F, BURNED_TOWER_1F, $00, 0
+ map_data BurnedTowerB1F, BURNED_TOWER_B1F, $09, 0
+ map_data NationalPark, NATIONAL_PARK, $00, 0
+ map_data NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $00, 0
+ map_data RadioTower1F, RADIO_TOWER_1F, $00, 0
+ map_data RadioTower2F, RADIO_TOWER_2F, $00, 0
+ map_data RadioTower3F, RADIO_TOWER_3F, $00, 0
+ map_data RadioTower4F, RADIO_TOWER_4F, $00, 0
+ map_data RadioTower5F, RADIO_TOWER_5F, $00, 0
+ map_data RuinsOfAlphOutside, RUINS_OF_ALPH_OUTSIDE, $05, 0
+ map_data RuinsOfAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $00, 0
+ map_data RuinsOfAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $00, 0
+ map_data RuinsOfAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $00, 0
+ map_data RuinsOfAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $00, 0
+ map_data RuinsOfAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $00, 0
+ map_data RuinsOfAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $00, 0
+ map_data RuinsOfAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $00, 0
+ map_data RuinsOfAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $00, 0
+ map_data RuinsOfAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $00, 0
+ map_data RuinsOfAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $00, 0
+ map_data UnionCave1F, UNION_CAVE_1F, $09, 0
+ map_data UnionCaveB1F, UNION_CAVE_B1F, $09, 0
+ map_data UnionCaveB2F, UNION_CAVE_B2F, $09, 0
+ map_data SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $09, 0
+ map_data SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $09, 0
+ map_data OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $00, 0
+ map_data OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $00, 0
+ map_data OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $00, 0
+ map_data OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $00, 0
+ map_data OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $00, 0
+ map_data OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $00, 0
+ map_data MahoganyMart1F, MAHOGANY_MART_1F, $00, 0
+ map_data TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $00, 0
+ map_data TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $00, 0
+ map_data TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $00, 0
+ map_data IlexForest, ILEX_FOREST, $05, 0
+ map_data GoldenrodUnderground, GOLDENROD_UNDERGROUND, $00, 0
+ map_data GoldenrodUndergroundSwitchRoomEntrances, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, $00, 0
+ map_data GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $00, 0
+ map_data GoldenrodUndergroundWarehouse, GOLDENROD_UNDERGROUND_WAREHOUSE, $00, 0
+ map_data MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $09, 0
+ map_data MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $09, 0
+ map_data MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $09, 0
+ map_data MountMortarB1F, MOUNT_MORTAR_B1F, $09, 0
+ map_data IcePath1F, ICE_PATH_1F, $09, 0
+ map_data IcePathB1F, ICE_PATH_B1F, $19, 0
+ map_data IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, 0
+ map_data IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, 0
+ map_data IcePathB3F, ICE_PATH_B3F, $19, 0
+ map_data WhirlIslandNW, WHIRL_ISLAND_NW, $09, 0
+ map_data WhirlIslandNE, WHIRL_ISLAND_NE, $09, 0
+ map_data WhirlIslandSW, WHIRL_ISLAND_SW, $09, 0
+ map_data WhirlIslandCave, WHIRL_ISLAND_CAVE, $09, 0
+ map_data WhirlIslandSE, WHIRL_ISLAND_SE, $0f, 0
+ map_data WhirlIslandB1F, WHIRL_ISLAND_B1F, $09, 0
+ map_data WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, 0
+ map_data WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $0f, 0
+ map_data SilverCaveRoom1, SILVER_CAVE_ROOM_1, $09, 0
+ map_data SilverCaveRoom2, SILVER_CAVE_ROOM_2, $09, 0
+ map_data SilverCaveRoom3, SILVER_CAVE_ROOM_3, $09, 0
+ map_data SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $09, 0
+ map_data DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $09, 0
+ map_data DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $09, 0
+ map_data DragonsDen1F, DRAGONS_DEN_1F, $09, 0
+ map_data DragonsDenB1F, DRAGONS_DEN_B1F, $71, 0
+ map_data DragonShrine, DRAGON_SHRINE, $00, 0
+ map_data TohjoFalls, TOHJO_FALLS, $09, 0
+ map_data OlivinePokecenter1F, OLIVINE_POKECENTER_1F, $00, 0
+ map_data OlivineGym, OLIVINE_GYM, $00, 0
+ map_data OlivineTimsHouse, OLIVINE_TIMS_HOUSE, $00, 0
+ map_data OlivineHouseBeta, OLIVINE_HOUSE_BETA, $00, 0
+ map_data OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $00, 0
+ map_data OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $00, 0
+ map_data OlivineCafe, OLIVINE_CAFE, $00, 0
+ map_data OlivineMart, OLIVINE_MART, $00, 0
+ map_data Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $00, 0
+ map_data Route39Barn, ROUTE_39_BARN, $00, 0
+ map_data Route39Farmhouse, ROUTE_39_FARMHOUSE, $00, 0
+ map_data MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $00, 0
+ map_data MahoganyGym, MAHOGANY_GYM, $00, 0
+ map_data MahoganyPokecenter1F, MAHOGANY_POKECENTER_1F, $00, 0
+ map_data Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $00, 0
+ map_data DiglettsCave, DIGLETTS_CAVE, $09, 0
+ map_data MountMoon, MOUNT_MOON, $09, 0
+ map_data UndergroundPath, UNDERGROUND_PATH, $00, 0
+ map_data RockTunnel1F, ROCK_TUNNEL_1F, $09, 0
+ map_data RockTunnelB1F, ROCK_TUNNEL_B1F, $09, 0
+ map_data SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $00, 0
+ map_data SafariZoneBeta, SAFARI_ZONE_BETA, $13, 0
+ map_data VictoryRoad, VICTORY_ROAD, $1d, 0
+ map_data EcruteakHouse, ECRUTEAK_HOUSE, $00, 0
+ map_data WiseTriosRoom, WISE_TRIOS_ROOM, $00, 0
+ map_data EcruteakPokecenter1F, ECRUTEAK_POKECENTER_1F, $00, 0
+ map_data EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $00, 0
+ map_data DanceTheatre, DANCE_THEATRE, $00, 0
+ map_data EcruteakMart, ECRUTEAK_MART, $00, 0
+ map_data EcruteakGym, ECRUTEAK_GYM, $00, 0
+ map_data EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $00, 0
+ map_data BlackthornGym1F, BLACKTHORN_GYM_1F, $00, 0
+ map_data BlackthornGym2F, BLACKTHORN_GYM_2F, $00, 0
+ map_data BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $00, 0
+ map_data BlackthornEmysHouse, BLACKTHORN_EMYS_HOUSE, $00, 0
+ map_data BlackthornMart, BLACKTHORN_MART, $00, 0
+ map_data BlackthornPokecenter1F, BLACKTHORN_POKECENTER_1F, $00, 0
+ map_data MoveDeletersHouse, MOVE_DELETERS_HOUSE, $00, 0
+ map_data CinnabarPokecenter1F, CINNABAR_POKECENTER_1F, $00, 0
+ map_data CinnabarPokecenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $00, 0
+ map_data Route19FuchsiaGate, ROUTE_19_FUCHSIA_GATE, $00, 0
+ map_data SeafoamGym, SEAFOAM_GYM, $09, 0
+ map_data CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $00, 0
+ map_data CeruleanPoliceStation, CERULEAN_POLICE_STATION, $00, 0
+ map_data CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $00, 0
+ map_data CeruleanPokecenter1F, CERULEAN_POKECENTER_1F, $00, 0
+ map_data CeruleanPokecenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $00, 0
+ map_data CeruleanGym, CERULEAN_GYM, $00, 0
+ map_data CeruleanMart, CERULEAN_MART, $00, 0
+ map_data Route10Pokecenter1F, ROUTE_10_POKECENTER_1F, $00, 0
+ map_data Route10Pokecenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $00, 0
+ map_data PowerPlant, POWER_PLANT, $00, 0
+ map_data BillsHouse, BILLS_HOUSE, $00, 0
+ map_data AzaleaPokecenter1F, AZALEA_POKECENTER_1F, $00, 0
+ map_data CharcoalKiln, CHARCOAL_KILN, $00, 0
+ map_data AzaleaMart, AZALEA_MART, $00, 0
+ map_data KurtsHouse, KURTS_HOUSE, $00, 0
+ map_data AzaleaGym, AZALEA_GYM, $00, 0
+ map_data LakeOfRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $00, 0
+ map_data LakeOfRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $00, 0
+ map_data Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $00, 0
+ map_data Route43Gate, ROUTE_43_GATE, $00, 0
+ map_data VioletMart, VIOLET_MART, $00, 0
+ map_data VioletGym, VIOLET_GYM, $00, 0
+ map_data EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $00, 0
+ map_data VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $00, 0
+ map_data VioletPokecenter1F, VIOLET_POKECENTER_1F, $00, 0
+ map_data VioletKylesHouse, VIOLET_KYLES_HOUSE, $00, 0
+ map_data Route32RuinsOfAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $00, 0
+ map_data Route32Pokecenter1F, ROUTE_32_POKECENTER_1F, $00, 0
+ map_data Route35GoldenrodGate, ROUTE_35_GOLDENROD_GATE, $00, 0
+ map_data Route35NationalParkGate, ROUTE_35_NATIONAL_PARK_GATE, $00, 0
+ map_data Route36RuinsOfAlphGate, ROUTE_36_RUINS_OF_ALPH_GATE, $00, 0
+ map_data Route36NationalParkGate, ROUTE_36_NATIONAL_PARK_GATE, $00, 0
+ map_data GoldenrodGym, GOLDENROD_GYM, $00, 0
+ map_data GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $00, 0
+ map_data GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $00, 0
+ map_data GoldenrodBillsHouse, GOLDENROD_BILLS_HOUSE, $00, 0
+ map_data GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $00, 0
+ map_data GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $00, 0
+ map_data GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $00, 0
+ map_data GoldenrodNameRater, GOLDENROD_NAME_RATER, $00, 0
+ map_data GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $00, 0
+ map_data GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $00, 0
+ map_data GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $00, 0
+ map_data GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $00, 0
+ map_data GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $00, 0
+ map_data GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $00, 0
+ map_data GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $00, 0
+ map_data GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, 0
+ map_data GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $00, 0
+ map_data GoldenrodPokecenter1F, GOLDENROD_POKECENTER_1F, $00, 0
+ map_data GoldenrodPokeComCenter2FMobile, GOLDENROD_POKECOM_CENTER_2F_MOBILE, $00, 0
+ map_data IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $00, 0
+ map_data Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $00, 0
+ map_data DayCare, DAY_CARE, $00, 0
+ map_data VermilionHouseFishingSpeechHouse, VERMILION_HOUSE_FISHING_SPEECH_HOUSE, $00, 0
+ map_data VermilionPokecenter1F, VERMILION_POKECENTER_1F, $00, 0
+ map_data VermilionPokecenter2FBeta, VERMILION_POKECENTER_2F_BETA, $00, 0
+ map_data PokemonFanClub, POKEMON_FAN_CLUB, $00, 0
+ map_data VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $00, 0
+ map_data VermilionMart, VERMILION_MART, $00, 0
+ map_data VermilionHouseDiglettsCaveSpeechHouse, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, $00, 0
+ map_data VermilionGym, VERMILION_GYM, $00, 0
+ map_data Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $00, 0
+ map_data Route6UndergroundPathEntrance, ROUTE_6_UNDERGROUND_PATH_ENTRANCE, $00, 0
+ map_data RedsHouse1F, REDS_HOUSE_1F, $00, 0
+ map_data RedsHouse2F, REDS_HOUSE_2F, $00, 0
+ map_data BluesHouse, BLUES_HOUSE, $00, 0
+ map_data OaksLab, OAKS_LAB, $00, 0
+ map_data PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $00, 0
+ map_data PewterGym, PEWTER_GYM, $00, 0
+ map_data PewterMart, PEWTER_MART, $00, 0
+ map_data PewterPokecenter1F, PEWTER_POKECENTER_1F, $00, 0
+ map_data PewterPokecenter2FBeta, PEWTER_POKECENTER_2F_BETA, $00, 0
+ map_data PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $00, 0
+ map_data OlivinePort, OLIVINE_PORT, $0a, 0
+ map_data VermilionPort, VERMILION_PORT, $0a, 0
+ map_data FastShip1F, FAST_SHIP_1F, $00, 0
+ map_data FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $00, 0
+ map_data FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $00, 0
+ map_data FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $00, 0
+ map_data FastShipB1F, FAST_SHIP_B1F, $00, 0
+ map_data OlivinePortPassage, OLIVINE_PORT_PASSAGE, $00, 0
+ map_data VermilionPortPassage, VERMILION_PORT_PASSAGE, $00, 0
+ map_data MountMoonSquare, MOUNT_MOON_SQUARE, $2d, 0
+ map_data MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $00, 0
+ map_data TinTowerRoof, TIN_TOWER_ROOF, $00, 0
+ map_data IndigoPlateauPokecenter1F, INDIGO_PLATEAU_POKECENTER_1F, $00, 0
+ map_data WillsRoom, WILLS_ROOM, $00, 0
+ map_data KogasRoom, KOGAS_ROOM, $00, 0
+ map_data BrunosRoom, BRUNOS_ROOM, $00, 0
+ map_data KarensRoom, KARENS_ROOM, $00, 0
+ map_data LancesRoom, LANCES_ROOM, $00, 0
+ map_data HallOfFame, HALL_OF_FAME, $00, 0
+ map_data FuchsiaMart, FUCHSIA_MART, $00, 0
+ map_data SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $00, 0
+ map_data FuchsiaGym, FUCHSIA_GYM, $00, 0
+ map_data FuchsiaBillSpeechHouse, FUCHSIA_BILL_SPEECH_HOUSE, $00, 0
+ map_data FuchsiaPokecenter1F, FUCHSIA_POKECENTER_1F, $00, 0
+ map_data FuchsiaPokecenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $00, 0
+ map_data SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $00, 0
+ map_data Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $00, 0
+ map_data LavenderPokecenter1F, LAVENDER_POKECENTER_1F, $00, 0
+ map_data LavenderPokecenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $00, 0
+ map_data MrFujisHouse, MR_FUJIS_HOUSE, $00, 0
+ map_data LavenderSpeechHouse, LAVENDER_SPEECH_HOUSE, $00, 0
+ map_data LavenderNameRater, LAVENDER_NAME_RATER, $00, 0
+ map_data LavenderMart, LAVENDER_MART, $00, 0
+ map_data SoulHouse, SOUL_HOUSE, $00, 0
+ map_data LavRadioTower1F, LAV_RADIO_TOWER_1F, $00, 0
+ map_data Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $00, 0
+ map_data Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $00, 0
+ map_data SilverCavePokecenter1F, SILVER_CAVE_POKECENTER_1F, $00, 0
+ map_data Route28FamousSpeechHouse, ROUTE_28_FAMOUS_SPEECH_HOUSE, $00, 0
+ map_data Pokecenter2F, POKECENTER_2F, $00, 0
+ map_data TradeCenter, TRADE_CENTER, $00, 0
+ map_data Colosseum, COLOSSEUM, $00, 0
+ map_data TimeCapsule, TIME_CAPSULE, $00, 0
+ map_data MobileTradeRoomMobile, MOBILE_TRADE_ROOM_MOBILE, $00, 0
+ map_data MobileBattleRoom, MOBILE_BATTLE_ROOM, $00, 0
+ map_data CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $00, 0
+ map_data CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $00, 0
+ map_data CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $00, 0
+ map_data CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $00, 0
+ map_data CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $00, 0
+ map_data CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $00, 0
+ map_data CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $00, 0
+ map_data CeladonMansion1F, CELADON_MANSION_1F, $00, 0
+ map_data CeladonMansion2F, CELADON_MANSION_2F, $00, 0
+ map_data CeladonMansion3F, CELADON_MANSION_3F, $00, 0
+ map_data CeladonMansionRoof, CELADON_MANSION_ROOF, $01, 0
+ map_data CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $00, 0
+ map_data CeladonPokecenter1F, CELADON_POKECENTER_1F, $00, 0
+ map_data CeladonPokecenter2FBeta, CELADON_POKECENTER_2F_BETA, $00, 0
+ map_data CeladonGameCorner, CELADON_GAME_CORNER, $00, 0
+ map_data CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $00, 0
+ map_data CeladonGym, CELADON_GYM, $00, 0
+ map_data CeladonCafe, CELADON_CAFE, $00, 0
+ map_data Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $00, 0
+ map_data Route16Gate, ROUTE_16_GATE, $00, 0
+ map_data Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $00, 0
+ map_data Route17Route18Gate, ROUTE_17_ROUTE_18_GATE, $00, 0
+ map_data ManiasHouse, MANIAS_HOUSE, $00, 0
+ map_data CianwoodGym, CIANWOOD_GYM, $00, 0
+ map_data CianwoodPokecenter1F, CIANWOOD_POKECENTER_1F, $00, 0
+ map_data CianwoodPharmacy, CIANWOOD_PHARMACY, $00, 0
+ map_data CianwoodPhotoStudio, CIANWOOD_PHOTO_STUDIO, $00, 0
+ map_data CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $00, 0
+ map_data PokeSeersHouse, POKE_SEERS_HOUSE, $00, 0
+ map_data BattleTower1F, BATTLE_TOWER_1F, $00, 0
+ map_data BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $00, 0
+ map_data BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $00, 0
+ map_data BattleTowerHallway, BATTLE_TOWER_HALLWAY, $00, 0
+ map_data Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $00, 0
+ map_data BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $05, 0
+ map_data ViridianGym, VIRIDIAN_GYM, $00, 0
+ map_data ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $00, 0
+ map_data TrainerHouse1F, TRAINER_HOUSE_1F, $00, 0
+ map_data TrainerHouseB1F, TRAINER_HOUSE_B1F, $00, 0
+ map_data ViridianMart, VIRIDIAN_MART, $00, 0
+ map_data ViridianPokecenter1F, VIRIDIAN_POKECENTER_1F, $00, 0
+ map_data ViridianPokecenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $00, 0
+ map_data Route2NuggetSpeechHouse, ROUTE_2_NUGGET_SPEECH_HOUSE, $00, 0
+ map_data Route2Gate, ROUTE_2_GATE, $00, 0
+ map_data VictoryRoadGate, VICTORY_ROAD_GATE, $00, 0
+ map_data ElmsLab, ELMS_LAB, $00, 0
+ map_data KrissHouse1F, KRISS_HOUSE_1F, $00, 0
+ map_data KrissHouse2F, KRISS_HOUSE_2F, $00, 0
+ map_data KrissNeighborsHouse, KRISS_NEIGHBORS_HOUSE, $00, 0
+ map_data ElmsHouse, ELMS_HOUSE, $00, 0
+ map_data Route26HealSpeechHouse, ROUTE_26_HEAL_SPEECH_HOUSE, $00, 0
+ map_data Route26DayofWeekSiblingsHouse, ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, $00, 0
+ map_data Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $00, 0
+ map_data Route29Route46Gate, ROUTE_29_ROUTE_46_GATE, $00, 0
+ map_data FightingDojo, FIGHTING_DOJO, $00, 0
+ map_data SaffronGym, SAFFRON_GYM, $00, 0
+ map_data SaffronMart, SAFFRON_MART, $00, 0
+ map_data SaffronPokecenter1F, SAFFRON_POKECENTER_1F, $00, 0
+ map_data SaffronPokecenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $00, 0
+ map_data MrPsychicsHouse, MR_PSYCHICS_HOUSE, $00, 0
+ map_data SaffronMagnetTrainStation, SAFFRON_MAGNET_TRAIN_STATION, $00, 0
+ map_data SilphCo1F, SILPH_CO_1F, $00, 0
+ map_data CopycatsHouse1F, COPYCATS_HOUSE_1F, $00, 0
+ map_data CopycatsHouse2F, COPYCATS_HOUSE_2F, $00, 0
+ map_data Route5UndergroundPathEntrance, ROUTE_5_UNDERGROUND_PATH_ENTRANCE, $00, 0
+ map_data Route5SaffronGate, ROUTE_5_SAFFRON_GATE, $00, 0
+ map_data Route5CleanseTagSpeechHouse, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, $00, 0
+ map_data CherrygroveMart, CHERRYGROVE_MART, $00, 0
+ map_data CherrygrovePokecenter1F, CHERRYGROVE_POKECENTER_1F, $00, 0
+ map_data CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $00, 0
+ map_data GuideGentsHouse, GUIDE_GENTS_HOUSE, $00, 0
+ map_data CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $00, 0
+ map_data Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $00, 0
+ map_data MrPokemonsHouse, MR_POKEMONS_HOUSE, $00, 0
+ map_data Route31VioletGate, ROUTE_31_VIOLET_GATE, $00, 0
diff --git a/data/maps/definitions.asm b/data/maps/definitions.asm
new file mode 100644
index 000000000..44cb85ac6
--- /dev/null
+++ b/data/maps/definitions.asm
@@ -0,0 +1,485 @@
+map_def: MACRO
+;\1: map name: for the MapData pointer (see data/maps/data.asm)
+;\2: tileset: a TILESET_* constant
+;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON
+;\4: location: from constants/landmark_constants.asm
+;\5: music: a MUSIC_* constant
+;\6: phone service flag: TRUE to prevent phone calls
+;\7: time of day: a PALETTE_* constant
+;\8: fishing group: a FISHGROUP_* constant
+ db BANK(\1_MapData), \2, \3
+ dw \1_MapData
+ db \4, \5
+ dn \6, \7
+ db \8
+ENDM
+
+MapGroupPointers::
+; pointers to the first map header of each map group
+ dw MapGroup_Olivine ; 1
+ dw MapGroup_Mahogany ; 2
+ dw MapGroup_Dungeons ; 3
+ dw MapGroup_Ecruteak ; 4
+ dw MapGroup_Blackthorn ; 5
+ dw MapGroup_Cinnabar ; 6
+ dw MapGroup_Cerulean ; 7
+ dw MapGroup_Azalea ; 8
+ dw MapGroup_LakeOfRage ; 9
+ dw MapGroup_Violet ; 10
+ dw MapGroup_Goldenrod ; 11
+ dw MapGroup_Vermilion ; 12
+ dw MapGroup_Pallet ; 13
+ dw MapGroup_Pewter ; 14
+ dw MapGroup_FastShip ; 15
+ dw MapGroup_Indigo ; 16
+ dw MapGroup_Fuchsia ; 17
+ dw MapGroup_Lavender ; 18
+ dw MapGroup_Silver ; 19
+ dw MapGroup_CableClub ; 20
+ dw MapGroup_Celadon ; 21
+ dw MapGroup_Cianwood ; 22
+ dw MapGroup_Viridian ; 23
+ dw MapGroup_NewBark ; 24
+ dw MapGroup_Saffron ; 25
+ dw MapGroup_Cherrygrove ; 26
+
+
+MapGroup_Olivine:
+ map_def OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineTimsHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineHouseBeta, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route39Farmhouse, TILESET_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route38, TILESET_JOHTO, ROUTE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route39, TILESET_JOHTO, ROUTE, ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def OlivineCity, TILESET_JOHTO, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Mahogany:
+ map_def MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route42, TILESET_JOHTO, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route44, TILESET_JOHTO, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def MahoganyTown, TILESET_JOHTO, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Dungeons:
+ map_def SproutTower1F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SproutTower2F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SproutTower3F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower1F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower2F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower3F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower4F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower5F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower6F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower7F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower8F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower9F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BurnedTower1F, TILESET_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphHoOhItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphKabutoItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOmanyteItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphAerodactylItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphHoOhWordRoom, TILESET_HO_OH_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphKabutoWordRoom, TILESET_KABUTO_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOmanyteWordRoom, TILESET_OMANYTE_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphAerodactylWordRoom, TILESET_AERODACTYL_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def IlexForest, TILESET_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND
+ map_def GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def MountMortar1FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def MountMortar2FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def MountMortarB1F, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def WhirlIslandNW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandNE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandSW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandCave, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandSE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+ map_def SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE
+ map_def SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+ map_def DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+ map_def DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def DragonsDenB1F, TILESET_JOHTO, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def DragonShrine, TILESET_LAB, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def RockTunnel1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
+ map_def RockTunnelB1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
+ map_def SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+
+MapGroup_Ecruteak:
+ map_def EcruteakHouse, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakGym, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakCity, TILESET_JOHTO, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+
+MapGroup_Blackthorn:
+ map_def BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornEmysHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MoveDeletersHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route45, TILESET_JOHTO, ROUTE, ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2
+ map_def Route46, TILESET_JOHTO, ROUTE, ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def BlackthornCity, TILESET_JOHTO, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND
+
+MapGroup_Cinnabar:
+ map_def CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route19, TILESET_KANTO, ROUTE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route20, TILESET_KANTO, ROUTE, ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def Route21, TILESET_KANTO, ROUTE, ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def CinnabarIsland, TILESET_KANTO, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+
+MapGroup_Cerulean:
+ map_def CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanPoliceStation, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_NONE
+ map_def CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PowerPlant, TILESET_FACILITY, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BillsHouse, TILESET_HOUSE, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route4, TILESET_KANTO, ROUTE, ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+ map_def Route9, TILESET_KANTO, ROUTE, ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route10North, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route24, TILESET_KANTO, ROUTE, ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route25, TILESET_KANTO, ROUTE, ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def CeruleanCity, TILESET_KANTO, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+
+MapGroup_Azalea:
+ map_def AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CharcoalKiln, TILESET_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route33, TILESET_JOHTO_MODERN, ROUTE, ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def AzaleaTown, TILESET_JOHTO_MODERN, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_LakeOfRage:
+ map_def LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route43, TILESET_JOHTO, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def LakeOfRage, TILESET_JOHTO, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
+
+MapGroup_Violet:
+ map_def Route32, TILESET_JOHTO, ROUTE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH
+ map_def Route35, TILESET_JOHTO, ROUTE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def Route36, TILESET_JOHTO, ROUTE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route37, TILESET_JOHTO, ROUTE, ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def VioletCity, TILESET_JOHTO, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route35NationalParkGate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route36RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route36NationalParkGate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Goldenrod:
+ map_def Route34, TILESET_JOHTO_MODERN, ROUTE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodBillsHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodNameRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStoreRoof, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodPokeComCenter2FMobile, TILESET_POKECOM_CENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def DayCare, TILESET_HOUSE, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Vermilion:
+ map_def Route6, TILESET_KANTO, ROUTE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def Route11, TILESET_KANTO, ROUTE, ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def VermilionCity, TILESET_KANTO, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def VermilionHouseFishingSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PokemonFanClub, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionHouseDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Pallet:
+ map_def Route1, TILESET_KANTO, ROUTE, ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def PalletTown, TILESET_KANTO, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BluesHouse, TILESET_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Pewter:
+ map_def Route3, TILESET_KANTO, ROUTE, ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def PewterCity, TILESET_KANTO, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterGym, TILESET_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterPokecenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_FastShip:
+ map_def OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MountMoonSquare, TILESET_KANTO, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTowerRoof, TILESET_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Indigo:
+ map_def Route23, TILESET_KANTO, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Fuchsia:
+ map_def Route13, TILESET_KANTO, ROUTE, ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
+ map_def Route14, TILESET_KANTO, ROUTE, ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route15, TILESET_KANTO, ROUTE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route18, TILESET_KANTO, ROUTE, ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def FuchsiaCity, TILESET_KANTO, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
+ map_def FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaBillSpeechHouse, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SafariZoneWardensHome, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Lavender:
+ map_def Route8, TILESET_KANTO, ROUTE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route12, TILESET_KANTO, ROUTE, ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
+ map_def Route10South, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def LavenderTown, TILESET_KANTO, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MrFujisHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderNameRater, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SoulHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route12SuperRodHouse, TILESET_HOUSE, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Silver:
+ map_def Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route28FamousSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_CableClub:
+ map_def Pokecenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MobileTradeRoomMobile, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MobileBattleRoom, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Celadon:
+ map_def Route7, TILESET_KANTO, ROUTE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route16, TILESET_KANTO, ROUTE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route17, TILESET_KANTO, ROUTE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+ map_def CeladonCity, TILESET_KANTO, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+ map_def CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansion1F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansion2F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansion3F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansionRoof, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route17Route18Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Cianwood:
+ map_def Route40, TILESET_JOHTO, ROUTE, ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route41, TILESET_JOHTO, ROUTE, ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def CianwoodCity, TILESET_JOHTO, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def ManiasHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodGym, TILESET_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodPharmacy, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PokeSeersHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTower1F, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerBattleRoom, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerElevator, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_NONE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerHallway, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route40BattleTowerGate, TILESET_GATE, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerOutside, TILESET_BATTLE_TOWER_OUTSIDE, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Viridian:
+ map_def Route2, TILESET_KANTO, ROUTE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route22, TILESET_KANTO, ROUTE, ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def ViridianCity, TILESET_KANTO, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TrainerHouse1F, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TrainerHouseB1F, TILESET_FACILITY, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route2NuggetSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_NewBark:
+ map_def Route26, TILESET_JOHTO, ROUTE, ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def Route27, TILESET_JOHTO, ROUTE, ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def Route29, TILESET_JOHTO, ROUTE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def NewBarkTown, TILESET_JOHTO, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KrissHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KrissHouse2F, TILESET_PLAYERS_ROOM, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KrissNeighborsHouse, TILESET_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route26HealSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route26DayofWeekSiblingsHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route27SandstormHouse, TILESET_HOUSE, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route29Route46Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Saffron:
+ map_def Route5, TILESET_KANTO, ROUTE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def SaffronCity, TILESET_KANTO, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MrPsychicsHouse, TILESET_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SilphCo1F, TILESET_FACILITY, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route5SaffronGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route5CleanseTagSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Cherrygrove:
+ map_def Route30, TILESET_JOHTO, ROUTE, ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def Route31, TILESET_JOHTO, ROUTE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def CherrygroveCity, TILESET_JOHTO, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GuideGentsHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route30BerrySpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MrPokemonsHouse, TILESET_FACILITY, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
diff --git a/data/maps/maps.asm b/data/maps/maps.asm
new file mode 100644
index 000000000..56958ccfc
--- /dev/null
+++ b/data/maps/maps.asm
@@ -0,0 +1,12 @@
+INCLUDE "constants.asm"
+
+
+SECTION "Maps", ROMX
+
+INCLUDE "data/maps/definitions.asm"
+INCLUDE "data/maps/data.asm"
+
+
+INCLUDE "data/maps/blocks.asm"
+
+INCLUDE "data/maps/scripts.asm"
diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm
index 8064a63e9..c7e30114a 100644
--- a/data/maps/outdoor_sprites.asm
+++ b/data/maps/outdoor_sprites.asm
@@ -2,6 +2,7 @@
; Maps with environment ROUTE or TOWN can only use these sprites.
OutdoorSprites: ; 144b8
+; entries correspond to map groups
dw OlivineGroupSprites
dw MahoganyGroupSprites
dw DungeonsGroupSprites
diff --git a/data/maps/roofs.asm b/data/maps/roofs.asm
index 8c79e6f82..2a1b8d3eb 100644
--- a/data/maps/roofs.asm
+++ b/data/maps/roofs.asm
@@ -1,5 +1,6 @@
MapGroupRoofs: ; 1c021i
-; entries correspond to Roofs (see below)
+; entries correspond to map groups
+; values are indexes for Roofs (see below)
db -1 ; group 0 (unused)
db 3 ; group 1 (Olivine)
db 2 ; group 2 (Mahogany)
diff --git a/data/maps/scenes.asm b/data/maps/scenes.asm
index 3d9600407..a835d4895 100644
--- a/data/maps/scenes.asm
+++ b/data/maps/scenes.asm
@@ -15,9 +15,9 @@ MapScenes:: ; 4d01e
scene_def ROUTE_25, wRoute25SceneID
scene_def TRAINER_HOUSE_B1F, wTrainerHouseB1FSceneID
scene_def VICTORY_ROAD_GATE, wVictoryRoadGateSceneID
- scene_def SAFFRON_TRAIN_STATION, wSaffronTrainStationSceneID
+ scene_def SAFFRON_MAGNET_TRAIN_STATION, wSaffronMagnetTrainStationSceneID
scene_def ROUTE_16_GATE, wRoute16GateSceneID
- scene_def ROUTE_17_18_GATE, wRoute1718GateSceneID
+ scene_def ROUTE_17_ROUTE_18_GATE, wRoute17Route18GateSceneID
scene_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FSceneID
scene_def WILLS_ROOM, wWillsRoomSceneID
scene_def KOGAS_ROOM, wKogasRoomSceneID
diff --git a/data/maps/scripts.asm b/data/maps/scripts.asm
new file mode 100644
index 000000000..51725fb4f
--- /dev/null
+++ b/data/maps/scripts.asm
@@ -0,0 +1,486 @@
+SECTION "Map Scripts 1", ROMX
+
+INCLUDE "maps/GoldenrodGym.asm"
+INCLUDE "maps/GoldenrodBikeShop.asm"
+INCLUDE "maps/GoldenrodHappinessRater.asm"
+INCLUDE "maps/GoldenrodBillsHouse.asm"
+INCLUDE "maps/GoldenrodMagnetTrainStation.asm"
+INCLUDE "maps/GoldenrodFlowerShop.asm"
+INCLUDE "maps/GoldenrodPPSpeechHouse.asm"
+INCLUDE "maps/GoldenrodNameRater.asm"
+INCLUDE "maps/GoldenrodDeptStore1F.asm"
+INCLUDE "maps/GoldenrodDeptStore2F.asm"
+INCLUDE "maps/GoldenrodDeptStore3F.asm"
+INCLUDE "maps/GoldenrodDeptStore4F.asm"
+INCLUDE "maps/GoldenrodDeptStore5F.asm"
+INCLUDE "maps/GoldenrodDeptStore6F.asm"
+INCLUDE "maps/GoldenrodDeptStoreElevator.asm"
+INCLUDE "maps/GoldenrodDeptStoreRoof.asm"
+INCLUDE "maps/GoldenrodGameCorner.asm"
+
+
+SECTION "Map Scripts 2", ROMX
+
+INCLUDE "maps/RuinsOfAlphOutside.asm"
+INCLUDE "maps/RuinsOfAlphHoOhChamber.asm"
+INCLUDE "maps/RuinsOfAlphKabutoChamber.asm"
+INCLUDE "maps/RuinsOfAlphOmanyteChamber.asm"
+INCLUDE "maps/RuinsOfAlphAerodactylChamber.asm"
+INCLUDE "maps/RuinsOfAlphInnerChamber.asm"
+INCLUDE "maps/RuinsOfAlphResearchCenter.asm"
+INCLUDE "maps/RuinsOfAlphHoOhItemRoom.asm"
+INCLUDE "maps/RuinsOfAlphKabutoItemRoom.asm"
+INCLUDE "maps/RuinsOfAlphOmanyteItemRoom.asm"
+INCLUDE "maps/RuinsOfAlphAerodactylItemRoom.asm"
+INCLUDE "maps/RuinsOfAlphHoOhWordRoom.asm"
+INCLUDE "maps/RuinsOfAlphKabutoWordRoom.asm"
+INCLUDE "maps/RuinsOfAlphOmanyteWordRoom.asm"
+INCLUDE "maps/RuinsOfAlphAerodactylWordRoom.asm"
+INCLUDE "maps/UnionCave1F.asm"
+INCLUDE "maps/UnionCaveB1F.asm"
+INCLUDE "maps/UnionCaveB2F.asm"
+INCLUDE "maps/SlowpokeWellB1F.asm"
+INCLUDE "maps/SlowpokeWellB2F.asm"
+INCLUDE "maps/OlivineLighthouse1F.asm"
+INCLUDE "maps/OlivineLighthouse2F.asm"
+INCLUDE "maps/OlivineLighthouse3F.asm"
+INCLUDE "maps/OlivineLighthouse4F.asm"
+
+
+SECTION "Map Scripts 3", ROMX
+
+INCLUDE "maps/NationalPark.asm"
+INCLUDE "maps/NationalParkBugContest.asm"
+INCLUDE "maps/RadioTower1F.asm"
+INCLUDE "maps/RadioTower2F.asm"
+INCLUDE "maps/RadioTower3F.asm"
+INCLUDE "maps/RadioTower4F.asm"
+
+
+SECTION "Map Scripts 4", ROMX
+
+INCLUDE "maps/RadioTower5F.asm"
+INCLUDE "maps/OlivineLighthouse5F.asm"
+INCLUDE "maps/OlivineLighthouse6F.asm"
+INCLUDE "maps/GoldenrodPokecenter1F.asm"
+INCLUDE "maps/GoldenrodPokeComCenter2FMobile.asm"
+INCLUDE "maps/IlexForestAzaleaGate.asm"
+INCLUDE "maps/Route34IlexForestGate.asm"
+INCLUDE "maps/DayCare.asm"
+
+
+SECTION "Map Scripts 5", ROMX
+
+INCLUDE "maps/Route11.asm"
+INCLUDE "maps/VioletMart.asm"
+INCLUDE "maps/VioletGym.asm"
+INCLUDE "maps/EarlsPokemonAcademy.asm"
+INCLUDE "maps/VioletNicknameSpeechHouse.asm"
+INCLUDE "maps/VioletPokecenter1F.asm"
+INCLUDE "maps/VioletKylesHouse.asm"
+INCLUDE "maps/Route32RuinsOfAlphGate.asm"
+INCLUDE "maps/Route32Pokecenter1F.asm"
+INCLUDE "maps/Route35GoldenrodGate.asm"
+INCLUDE "maps/Route35NationalParkGate.asm"
+INCLUDE "maps/Route36RuinsOfAlphGate.asm"
+INCLUDE "maps/Route36NationalParkGate.asm"
+
+
+SECTION "Map Scripts 6", ROMX
+
+INCLUDE "maps/Route8.asm"
+INCLUDE "maps/MahoganyMart1F.asm"
+INCLUDE "maps/TeamRocketBaseB1F.asm"
+INCLUDE "maps/TeamRocketBaseB2F.asm"
+INCLUDE "maps/TeamRocketBaseB3F.asm"
+INCLUDE "maps/IlexForest.asm"
+
+
+SECTION "Map Scripts 7", ROMX
+
+INCLUDE "maps/LakeOfRage.asm"
+INCLUDE "maps/CeladonDeptStore1F.asm"
+INCLUDE "maps/CeladonDeptStore2F.asm"
+INCLUDE "maps/CeladonDeptStore3F.asm"
+INCLUDE "maps/CeladonDeptStore4F.asm"
+INCLUDE "maps/CeladonDeptStore5F.asm"
+INCLUDE "maps/CeladonDeptStore6F.asm"
+INCLUDE "maps/CeladonDeptStoreElevator.asm"
+INCLUDE "maps/CeladonMansion1F.asm"
+INCLUDE "maps/CeladonMansion2F.asm"
+INCLUDE "maps/CeladonMansion3F.asm"
+INCLUDE "maps/CeladonMansionRoof.asm"
+INCLUDE "maps/CeladonMansionRoofHouse.asm"
+INCLUDE "maps/CeladonPokecenter1F.asm"
+INCLUDE "maps/CeladonPokecenter2FBeta.asm"
+INCLUDE "maps/CeladonGameCorner.asm"
+INCLUDE "maps/CeladonGameCornerPrizeRoom.asm"
+INCLUDE "maps/CeladonGym.asm"
+INCLUDE "maps/CeladonCafe.asm"
+INCLUDE "maps/Route16FuchsiaSpeechHouse.asm"
+INCLUDE "maps/Route16Gate.asm"
+INCLUDE "maps/Route7SaffronGate.asm"
+INCLUDE "maps/Route17Route18Gate.asm"
+
+
+SECTION "Map Scripts 8", ROMX
+
+INCLUDE "maps/DiglettsCave.asm"
+INCLUDE "maps/MountMoon.asm"
+INCLUDE "maps/UndergroundPath.asm"
+INCLUDE "maps/RockTunnel1F.asm"
+INCLUDE "maps/RockTunnelB1F.asm"
+INCLUDE "maps/SafariZoneFuchsiaGateBeta.asm"
+INCLUDE "maps/SafariZoneBeta.asm"
+INCLUDE "maps/VictoryRoad.asm"
+INCLUDE "maps/OlivinePort.asm"
+INCLUDE "maps/VermilionPort.asm"
+INCLUDE "maps/FastShip1F.asm"
+INCLUDE "maps/FastShipCabins_NNW_NNE_NE.asm"
+INCLUDE "maps/FastShipCabins_SW_SSW_NW.asm"
+INCLUDE "maps/FastShipCabins_SE_SSE_CaptainsCabin.asm"
+INCLUDE "maps/FastShipB1F.asm"
+INCLUDE "maps/OlivinePortPassage.asm"
+INCLUDE "maps/VermilionPortPassage.asm"
+INCLUDE "maps/MountMoonSquare.asm"
+INCLUDE "maps/MountMoonGiftShop.asm"
+INCLUDE "maps/TinTowerRoof.asm"
+
+
+SECTION "Map Scripts 9", ROMX
+
+INCLUDE "maps/Route34.asm"
+INCLUDE "maps/ElmsLab.asm"
+INCLUDE "maps/KrissHouse1F.asm"
+INCLUDE "maps/KrissHouse2F.asm"
+INCLUDE "maps/KrissNeighborsHouse.asm"
+INCLUDE "maps/ElmsHouse.asm"
+INCLUDE "maps/Route26HealSpeechHouse.asm"
+INCLUDE "maps/Route26DayofWeekSiblingsHouse.asm"
+INCLUDE "maps/Route27SandstormHouse.asm"
+INCLUDE "maps/Route29Route46Gate.asm"
+
+
+SECTION "Map Scripts 10", ROMX
+
+INCLUDE "maps/Route22.asm"
+INCLUDE "maps/GoldenrodUnderground.asm"
+INCLUDE "maps/GoldenrodUndergroundSwitchRoomEntrances.asm"
+INCLUDE "maps/GoldenrodDeptStoreB1F.asm"
+INCLUDE "maps/GoldenrodUndergroundWarehouse.asm"
+INCLUDE "maps/MountMortar1FOutside.asm"
+INCLUDE "maps/MountMortar1FInside.asm"
+INCLUDE "maps/MountMortar2FInside.asm"
+INCLUDE "maps/MountMortarB1F.asm"
+INCLUDE "maps/IcePath1F.asm"
+INCLUDE "maps/IcePathB1F.asm"
+INCLUDE "maps/IcePathB2FMahoganySide.asm"
+INCLUDE "maps/IcePathB2FBlackthornSide.asm"
+INCLUDE "maps/IcePathB3F.asm"
+INCLUDE "maps/LavenderPokecenter1F.asm"
+INCLUDE "maps/LavenderPokecenter2FBeta.asm"
+INCLUDE "maps/MrFujisHouse.asm"
+INCLUDE "maps/LavenderSpeechHouse.asm"
+INCLUDE "maps/LavenderNameRater.asm"
+INCLUDE "maps/LavenderMart.asm"
+INCLUDE "maps/SoulHouse.asm"
+INCLUDE "maps/LavRadioTower1F.asm"
+INCLUDE "maps/Route8SaffronGate.asm"
+INCLUDE "maps/Route12SuperRodHouse.asm"
+
+
+SECTION "Map Scripts 11", ROMX
+
+INCLUDE "maps/EcruteakHouse.asm"
+INCLUDE "maps/WiseTriosRoom.asm"
+INCLUDE "maps/EcruteakPokecenter1F.asm"
+INCLUDE "maps/EcruteakLugiaSpeechHouse.asm"
+INCLUDE "maps/DanceTheatre.asm"
+INCLUDE "maps/EcruteakMart.asm"
+INCLUDE "maps/EcruteakGym.asm"
+INCLUDE "maps/EcruteakItemfinderHouse.asm"
+INCLUDE "maps/ViridianGym.asm"
+INCLUDE "maps/ViridianNicknameSpeechHouse.asm"
+INCLUDE "maps/TrainerHouse1F.asm"
+INCLUDE "maps/TrainerHouseB1F.asm"
+INCLUDE "maps/ViridianMart.asm"
+INCLUDE "maps/ViridianPokecenter1F.asm"
+INCLUDE "maps/ViridianPokecenter2FBeta.asm"
+INCLUDE "maps/Route2NuggetSpeechHouse.asm"
+INCLUDE "maps/Route2Gate.asm"
+INCLUDE "maps/VictoryRoadGate.asm"
+
+
+SECTION "Map Scripts 12", ROMX
+
+INCLUDE "maps/OlivinePokecenter1F.asm"
+INCLUDE "maps/OlivineGym.asm"
+INCLUDE "maps/OlivineTimsHouse.asm"
+INCLUDE "maps/OlivineHouseBeta.asm"
+INCLUDE "maps/OlivinePunishmentSpeechHouse.asm"
+INCLUDE "maps/OlivineGoodRodHouse.asm"
+INCLUDE "maps/OlivineCafe.asm"
+INCLUDE "maps/OlivineMart.asm"
+INCLUDE "maps/Route38EcruteakGate.asm"
+INCLUDE "maps/Route39Barn.asm"
+INCLUDE "maps/Route39Farmhouse.asm"
+INCLUDE "maps/ManiasHouse.asm"
+INCLUDE "maps/CianwoodGym.asm"
+INCLUDE "maps/CianwoodPokecenter1F.asm"
+INCLUDE "maps/CianwoodPharmacy.asm"
+INCLUDE "maps/CianwoodPhotoStudio.asm"
+INCLUDE "maps/CianwoodLugiaSpeechHouse.asm"
+INCLUDE "maps/PokeSeersHouse.asm"
+INCLUDE "maps/BattleTower1F.asm"
+INCLUDE "maps/BattleTowerBattleRoom.asm"
+INCLUDE "maps/BattleTowerElevator.asm"
+INCLUDE "maps/BattleTowerHallway.asm"
+INCLUDE "maps/Route40BattleTowerGate.asm"
+INCLUDE "maps/BattleTowerOutside.asm"
+
+
+SECTION "Map Scripts 13", ROMX
+
+INCLUDE "maps/IndigoPlateauPokecenter1F.asm"
+INCLUDE "maps/WillsRoom.asm"
+INCLUDE "maps/KogasRoom.asm"
+INCLUDE "maps/BrunosRoom.asm"
+INCLUDE "maps/KarensRoom.asm"
+INCLUDE "maps/LancesRoom.asm"
+INCLUDE "maps/HallOfFame.asm"
+
+
+SECTION "Map Scripts 14", ROMX
+
+INCLUDE "maps/CeruleanCity.asm"
+INCLUDE "maps/SproutTower1F.asm"
+INCLUDE "maps/SproutTower2F.asm"
+INCLUDE "maps/SproutTower3F.asm"
+INCLUDE "maps/TinTower1F.asm"
+INCLUDE "maps/TinTower2F.asm"
+INCLUDE "maps/TinTower3F.asm"
+INCLUDE "maps/TinTower4F.asm"
+INCLUDE "maps/TinTower5F.asm"
+INCLUDE "maps/TinTower6F.asm"
+INCLUDE "maps/TinTower7F.asm"
+INCLUDE "maps/TinTower8F.asm"
+INCLUDE "maps/TinTower9F.asm"
+INCLUDE "maps/BurnedTower1F.asm"
+INCLUDE "maps/BurnedTowerB1F.asm"
+
+
+SECTION "Map Scripts 15", ROMX
+
+INCLUDE "maps/CeruleanGymBadgeSpeechHouse.asm"
+INCLUDE "maps/CeruleanPoliceStation.asm"
+INCLUDE "maps/CeruleanTradeSpeechHouse.asm"
+INCLUDE "maps/CeruleanPokecenter1F.asm"
+INCLUDE "maps/CeruleanPokecenter2FBeta.asm"
+INCLUDE "maps/CeruleanGym.asm"
+INCLUDE "maps/CeruleanMart.asm"
+INCLUDE "maps/Route10Pokecenter1F.asm"
+INCLUDE "maps/Route10Pokecenter2FBeta.asm"
+INCLUDE "maps/PowerPlant.asm"
+INCLUDE "maps/BillsHouse.asm"
+INCLUDE "maps/FightingDojo.asm"
+INCLUDE "maps/SaffronGym.asm"
+INCLUDE "maps/SaffronMart.asm"
+INCLUDE "maps/SaffronPokecenter1F.asm"
+INCLUDE "maps/SaffronPokecenter2FBeta.asm"
+INCLUDE "maps/MrPsychicsHouse.asm"
+INCLUDE "maps/SaffronMagnetTrainStation.asm"
+INCLUDE "maps/SilphCo1F.asm"
+INCLUDE "maps/CopycatsHouse1F.asm"
+INCLUDE "maps/CopycatsHouse2F.asm"
+INCLUDE "maps/Route5UndergroundPathEntrance.asm"
+INCLUDE "maps/Route5SaffronGate.asm"
+INCLUDE "maps/Route5CleanseTagSpeechHouse.asm"
+
+
+SECTION "Map Scripts 16", ROMX
+
+INCLUDE "maps/PewterCity.asm"
+INCLUDE "maps/WhirlIslandNW.asm"
+INCLUDE "maps/WhirlIslandNE.asm"
+INCLUDE "maps/WhirlIslandSW.asm"
+INCLUDE "maps/WhirlIslandCave.asm"
+INCLUDE "maps/WhirlIslandSE.asm"
+INCLUDE "maps/WhirlIslandB1F.asm"
+INCLUDE "maps/WhirlIslandB2F.asm"
+INCLUDE "maps/WhirlIslandLugiaChamber.asm"
+INCLUDE "maps/SilverCaveRoom1.asm"
+INCLUDE "maps/SilverCaveRoom2.asm"
+INCLUDE "maps/SilverCaveRoom3.asm"
+INCLUDE "maps/SilverCaveItemRooms.asm"
+INCLUDE "maps/DarkCaveVioletEntrance.asm"
+INCLUDE "maps/DarkCaveBlackthornEntrance.asm"
+INCLUDE "maps/DragonsDen1F.asm"
+INCLUDE "maps/DragonsDenB1F.asm"
+INCLUDE "maps/DragonShrine.asm"
+INCLUDE "maps/TohjoFalls.asm"
+INCLUDE "maps/AzaleaPokecenter1F.asm"
+INCLUDE "maps/CharcoalKiln.asm"
+INCLUDE "maps/AzaleaMart.asm"
+INCLUDE "maps/KurtsHouse.asm"
+INCLUDE "maps/AzaleaGym.asm"
+
+
+SECTION "Map Scripts 17", ROMX
+
+INCLUDE "maps/MahoganyTown.asm"
+INCLUDE "maps/Route32.asm"
+INCLUDE "maps/VermilionHouseFishingSpeechHouse.asm"
+INCLUDE "maps/VermilionPokecenter1F.asm"
+INCLUDE "maps/VermilionPokecenter2FBeta.asm"
+INCLUDE "maps/PokemonFanClub.asm"
+INCLUDE "maps/VermilionMagnetTrainSpeechHouse.asm"
+INCLUDE "maps/VermilionMart.asm"
+INCLUDE "maps/VermilionHouseDiglettsCaveSpeechHouse.asm"
+INCLUDE "maps/VermilionGym.asm"
+INCLUDE "maps/Route6SaffronGate.asm"
+INCLUDE "maps/Route6UndergroundPathEntrance.asm"
+INCLUDE "maps/Pokecenter2F.asm"
+INCLUDE "maps/TradeCenter.asm"
+INCLUDE "maps/Colosseum.asm"
+INCLUDE "maps/TimeCapsule.asm"
+INCLUDE "maps/MobileTradeRoomMobile.asm"
+INCLUDE "maps/MobileBattleRoom.asm"
+
+
+SECTION "Map Scripts 18", ROMX
+
+INCLUDE "maps/Route36.asm"
+INCLUDE "maps/FuchsiaCity.asm"
+INCLUDE "maps/BlackthornGym1F.asm"
+INCLUDE "maps/BlackthornGym2F.asm"
+INCLUDE "maps/BlackthornDragonSpeechHouse.asm"
+INCLUDE "maps/BlackthornEmysHouse.asm"
+INCLUDE "maps/BlackthornMart.asm"
+INCLUDE "maps/BlackthornPokecenter1F.asm"
+INCLUDE "maps/MoveDeletersHouse.asm"
+INCLUDE "maps/FuchsiaMart.asm"
+INCLUDE "maps/SafariZoneMainOffice.asm"
+INCLUDE "maps/FuchsiaGym.asm"
+INCLUDE "maps/FuchsiaBillSpeechHouse.asm"
+INCLUDE "maps/FuchsiaPokecenter1F.asm"
+INCLUDE "maps/FuchsiaPokecenter2FBeta.asm"
+INCLUDE "maps/SafariZoneWardensHome.asm"
+INCLUDE "maps/Route15FuchsiaGate.asm"
+INCLUDE "maps/CherrygroveMart.asm"
+INCLUDE "maps/CherrygrovePokecenter1F.asm"
+INCLUDE "maps/CherrygroveGymSpeechHouse.asm"
+INCLUDE "maps/GuideGentsHouse.asm"
+INCLUDE "maps/CherrygroveEvolutionSpeechHouse.asm"
+INCLUDE "maps/Route30BerrySpeechHouse.asm"
+INCLUDE "maps/MrPokemonsHouse.asm"
+INCLUDE "maps/Route31VioletGate.asm"
+
+
+SECTION "Map Scripts 19", ROMX
+
+INCLUDE "maps/AzaleaTown.asm"
+INCLUDE "maps/GoldenrodCity.asm"
+INCLUDE "maps/SaffronCity.asm"
+INCLUDE "maps/MahoganyRedGyaradosSpeechHouse.asm"
+INCLUDE "maps/MahoganyGym.asm"
+INCLUDE "maps/MahoganyPokecenter1F.asm"
+INCLUDE "maps/Route42EcruteakGate.asm"
+INCLUDE "maps/LakeOfRageHiddenPowerHouse.asm"
+INCLUDE "maps/LakeOfRageMagikarpHouse.asm"
+INCLUDE "maps/Route43MahoganyGate.asm"
+INCLUDE "maps/Route43Gate.asm"
+INCLUDE "maps/RedsHouse1F.asm"
+INCLUDE "maps/RedsHouse2F.asm"
+INCLUDE "maps/BluesHouse.asm"
+INCLUDE "maps/OaksLab.asm"
+
+
+SECTION "Map Scripts 20", ROMX
+
+INCLUDE "maps/CherrygroveCity.asm"
+INCLUDE "maps/Route35.asm"
+INCLUDE "maps/Route43.asm"
+INCLUDE "maps/Route44.asm"
+INCLUDE "maps/Route45.asm"
+INCLUDE "maps/Route19.asm"
+INCLUDE "maps/Route25.asm"
+
+
+SECTION "Map Scripts 21", ROMX
+
+INCLUDE "maps/CianwoodCity.asm"
+INCLUDE "maps/Route27.asm"
+INCLUDE "maps/Route29.asm"
+INCLUDE "maps/Route30.asm"
+INCLUDE "maps/Route38.asm"
+INCLUDE "maps/Route13.asm"
+INCLUDE "maps/PewterNidoranSpeechHouse.asm"
+INCLUDE "maps/PewterGym.asm"
+INCLUDE "maps/PewterMart.asm"
+INCLUDE "maps/PewterPokecenter1F.asm"
+INCLUDE "maps/PewterPokecenter2FBeta.asm"
+INCLUDE "maps/PewterSnoozeSpeechHouse.asm"
+
+
+SECTION "Map Scripts 22", ROMX
+
+INCLUDE "maps/EcruteakCity.asm"
+INCLUDE "maps/BlackthornCity.asm"
+INCLUDE "maps/Route26.asm"
+INCLUDE "maps/Route28.asm"
+INCLUDE "maps/Route31.asm"
+INCLUDE "maps/Route39.asm"
+INCLUDE "maps/Route40.asm"
+INCLUDE "maps/Route41.asm"
+INCLUDE "maps/Route12.asm"
+
+
+SECTION "Map Scripts 23", ROMX
+
+INCLUDE "maps/NewBarkTown.asm"
+INCLUDE "maps/VioletCity.asm"
+INCLUDE "maps/OlivineCity.asm"
+INCLUDE "maps/Route37.asm"
+INCLUDE "maps/Route42.asm"
+INCLUDE "maps/Route46.asm"
+INCLUDE "maps/ViridianCity.asm"
+INCLUDE "maps/CeladonCity.asm"
+INCLUDE "maps/Route15.asm"
+INCLUDE "maps/VermilionCity.asm"
+INCLUDE "maps/Route9.asm"
+INCLUDE "maps/CinnabarPokecenter1F.asm"
+INCLUDE "maps/CinnabarPokecenter2FBeta.asm"
+INCLUDE "maps/Route19FuchsiaGate.asm"
+INCLUDE "maps/SeafoamGym.asm"
+
+
+SECTION "Map Scripts 24", ROMX
+
+INCLUDE "maps/Route33.asm"
+INCLUDE "maps/Route2.asm"
+INCLUDE "maps/Route1.asm"
+INCLUDE "maps/PalletTown.asm"
+INCLUDE "maps/Route21.asm"
+INCLUDE "maps/CinnabarIsland.asm"
+INCLUDE "maps/Route20.asm"
+INCLUDE "maps/Route18.asm"
+INCLUDE "maps/Route17.asm"
+INCLUDE "maps/Route16.asm"
+INCLUDE "maps/Route7.asm"
+INCLUDE "maps/Route14.asm"
+INCLUDE "maps/LavenderTown.asm"
+INCLUDE "maps/Route6.asm"
+INCLUDE "maps/Route5.asm"
+INCLUDE "maps/Route24.asm"
+INCLUDE "maps/Route3.asm"
+INCLUDE "maps/Route4.asm"
+INCLUDE "maps/Route10South.asm"
+INCLUDE "maps/Route23.asm"
+INCLUDE "maps/SilverCavePokecenter1F.asm"
+INCLUDE "maps/Route28FamousSpeechHouse.asm"
+
+
+SECTION "Map Scripts 25", ROMX
+
+INCLUDE "maps/SilverCaveOutside.asm"
+INCLUDE "maps/Route10North.asm"
diff --git a/data/maps/sgb_roof_pal_inds.asm b/data/maps/sgb_roof_pal_inds.asm
new file mode 100644
index 000000000..c56ddaf7d
--- /dev/null
+++ b/data/maps/sgb_roof_pal_inds.asm
@@ -0,0 +1,32 @@
+; Crystal does not support SGB, so this is unused.
+
+MapGroupRoofSGBPalInds: ; 8a45
+; entries correspond to map groups
+ db PREDEFPAL_00
+ db PREDEFPAL_OLIVINE
+ db PREDEFPAL_MAHOGANY
+ db PREDEFPAL_DUNGEONS
+ db PREDEFPAL_ECRUTEAK
+ db PREDEFPAL_BLACKTHORN
+ db PREDEFPAL_CINNABAR
+ db PREDEFPAL_CERULEAN
+ db PREDEFPAL_AZALEA
+ db PREDEFPAL_LAKE_OF_RAGE
+ db PREDEFPAL_VIOLET
+ db PREDEFPAL_GOLDENROD
+ db PREDEFPAL_VERMILION
+ db PREDEFPAL_PALLET
+ db PREDEFPAL_PEWTER
+ db PREDEFPAL_VERMILION
+ db PREDEFPAL_INDIGO
+ db PREDEFPAL_FUCHSIA
+ db PREDEFPAL_LAVENDER
+ db PREDEFPAL_SILVER_CAVE
+ db PREDEFPAL_FUCHSIA
+ db PREDEFPAL_CELADON
+ db PREDEFPAL_CIANWOOD
+ db PREDEFPAL_VIRIDIAN
+ db PREDEFPAL_NEW_BARK
+ db PREDEFPAL_SAFFRON
+ db PREDEFPAL_CHERRYGROVE
+; 8a60
diff --git a/data/moves/animations.asm b/data/moves/animations.asm
index 1bc7f596a..030aa2fa3 100644
--- a/data/moves/animations.asm
+++ b/data/moves/animations.asm
@@ -401,7 +401,7 @@ BattleAnim_ThrowPokeBall
anim_if_var_equal $1, .Click
anim_if_var_equal $2, .BreakFree
anim_incobj 1
- anim_sound 0, 1, SFX_BALL_WIGGLE
+ anim_sound 0, 1, SFX_BALL_WOBBLE
anim_jump .Loop
; c93bc
@@ -455,28 +455,28 @@ BattleAnim_SendOutMon: ; c93d1
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $0
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $0
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $8
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $8
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $10
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $10
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $18
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $18
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $20
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $20
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $28
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $28
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $30
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $30
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $38
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $38
anim_wait 32
anim_ret
@@ -512,7 +512,7 @@ BattleAnim_Slp: ; c94a3
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 0, SFX_TAIL_WHIP
.loop
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 40
anim_loop 3, .loop
anim_wait 32
@@ -588,11 +588,11 @@ BattleAnim_InLove: ; c951e
BattleAnim_InSandstorm: ; c9533
anim_1gfx ANIM_GFX_POWDER
- anim_obj ANIM_OBJ_A2, 88, 0, $0
+ anim_obj ANIM_OBJ_SANDSTORM, 88, 0, $0
anim_wait 8
- anim_obj ANIM_OBJ_A2, 72, 0, $1
+ anim_obj ANIM_OBJ_SANDSTORM, 72, 0, $1
anim_wait 8
- anim_obj ANIM_OBJ_A2, 56, 0, $2
+ anim_obj ANIM_OBJ_SANDSTORM, 56, 0, $2
.loop
anim_sound 0, 1, SFX_MENU
anim_wait 8
@@ -604,7 +604,7 @@ BattleAnim_InSandstorm: ; c9533
BattleAnim_InNightmare: ; c9550
anim_1gfx ANIM_GFX_ANGELS
anim_sound 0, 0, SFX_BUBBLEBEAM
- anim_obj ANIM_OBJ_95, 68, 80, $0
+ anim_obj ANIM_OBJ_IN_NIGHTMARE, 68, 80, $0
anim_wait 40
anim_ret
; c955c
@@ -884,7 +884,7 @@ BattleAnim_HyperFang: ; c9764
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_1F, $20, $1, $0
anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_09, 136, 56, $0
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
anim_wait 6
anim_obj ANIM_OBJ_01, 136, 56, $0
anim_wait 16
@@ -898,10 +898,10 @@ BattleAnim_SuperFang: ; c977b
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
.loop
anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_09, 136, 56, $0
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
anim_obj ANIM_OBJ_00, 136, 56, $0
anim_wait 6
- anim_obj ANIM_OBJ_09, 136, 56, $0
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
anim_wait 6
anim_loop 3, .loop
anim_ret
@@ -910,21 +910,21 @@ BattleAnim_SuperFang: ; c977b
BattleAnim_Ember: ; c97a1
anim_1gfx ANIM_GFX_FIRE
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 64, 96, $12
+ anim_obj ANIM_OBJ_EMBER, 64, 96, $12
anim_wait 4
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 64, 100, $14
+ anim_obj ANIM_OBJ_EMBER, 64, 100, $14
anim_wait 4
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 64, 84, $13
+ anim_obj ANIM_OBJ_EMBER, 64, 84, $13
anim_wait 16
anim_incobj 1
anim_incobj 2
anim_incobj 3
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 120, 68, $30
- anim_obj ANIM_OBJ_0B, 132, 68, $30
- anim_obj ANIM_OBJ_0B, 144, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 120, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 132, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 144, 68, $30
anim_wait 32
anim_ret
; c97d8
@@ -941,16 +941,16 @@ BattleAnim_FireSpin: ; c97e5
anim_1gfx ANIM_GFX_FIRE
.loop
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 88, $4
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 88, $4
anim_wait 2
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 96, $3
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 96, $3
anim_wait 2
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 88, $3
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 88, $3
anim_wait 2
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 96, $4
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 96, $4
anim_wait 2
anim_loop 2, .loop
anim_wait 96
@@ -961,7 +961,7 @@ BattleAnim_DragonRage: ; c9811
anim_1gfx ANIM_GFX_FIRE
.loop
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0C, 64, 92, $0
+ anim_obj ANIM_OBJ_DRAGON_RAGE, 64, 92, $0
anim_wait 3
anim_loop 16, .loop
anim_wait 64
@@ -971,21 +971,21 @@ BattleAnim_DragonRage: ; c9811
BattleAnim_Flamethrower: ; c9822
anim_1gfx ANIM_GFX_FIRE
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0D, 64, 92, $3
+ anim_obj ANIM_OBJ_FLAMETHROWER, 64, 92, $3
anim_wait 2
- anim_obj ANIM_OBJ_0D, 75, 86, $5
+ anim_obj ANIM_OBJ_FLAMETHROWER, 75, 86, $5
anim_wait 2
- anim_obj ANIM_OBJ_0D, 85, 81, $7
+ anim_obj ANIM_OBJ_FLAMETHROWER, 85, 81, $7
anim_wait 2
- anim_obj ANIM_OBJ_0D, 96, 76, $9
+ anim_obj ANIM_OBJ_FLAMETHROWER, 96, 76, $9
anim_wait 2
- anim_obj ANIM_OBJ_0D, 106, 71, $b
+ anim_obj ANIM_OBJ_FLAMETHROWER, 106, 71, $b
anim_wait 2
- anim_obj ANIM_OBJ_0D, 116, 66, $c
+ anim_obj ANIM_OBJ_FLAMETHROWER, 116, 66, $c
anim_wait 2
- anim_obj ANIM_OBJ_0D, 126, 61, $a
+ anim_obj ANIM_OBJ_FLAMETHROWER, 126, 61, $a
anim_wait 2
- anim_obj ANIM_OBJ_0D, 136, 56, $8
+ anim_obj ANIM_OBJ_FLAMETHROWER, 136, 56, $8
anim_wait 16
.loop
anim_sound 0, 1, SFX_EMBER
@@ -999,7 +999,7 @@ BattleAnim_FireBlast: ; c9861
anim_1gfx ANIM_GFX_FIRE
.loop1
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 64, 92, $7
+ anim_obj ANIM_OBJ_FIRE_BLAST, 64, 92, $7
anim_wait 6
anim_loop 10, .loop1
.loop2
@@ -1019,11 +1019,11 @@ BattleAnim_FireBlast: ; c9861
anim_wait 2
.loop3
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 136, 56, $1
- anim_obj ANIM_OBJ_0F, 136, 56, $2
- anim_obj ANIM_OBJ_0F, 136, 56, $3
- anim_obj ANIM_OBJ_0F, 136, 56, $4
- anim_obj ANIM_OBJ_0F, 136, 56, $5
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $2
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $3
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $5
anim_wait 16
anim_loop 2, .loop3
anim_wait 32
@@ -1129,11 +1129,11 @@ BattleAnim_WaterGun: ; c9979
anim_1gfx ANIM_GFX_WATER
anim_call BattleAnim_FollowPlayerHead_1
anim_sound 16, 2, SFX_WATER_GUN
- anim_obj ANIM_OBJ_24, 64, 88, $0
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 88, $0
anim_wait 8
- anim_obj ANIM_OBJ_24, 64, 76, $0
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 76, $0
anim_wait 8
- anim_obj ANIM_OBJ_24, 64, 82, $0
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 82, $0
anim_wait 24
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
@@ -1152,31 +1152,31 @@ BattleAnim_HydroPump: ; c99b4
anim_1gfx ANIM_GFX_WATER
anim_call BattleAnim_FollowPlayerHead_1
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 108, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 108, 72, $0
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 116, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 116, 72, $0
anim_bgeffect ANIM_BG_31, $8, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 124, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 124, 72, $0
anim_bgeffect ANIM_BG_31, $30, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 132, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 132, 72, $0
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 140, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 140, 72, $0
anim_bgeffect ANIM_BG_31, $8, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 148, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 148, 72, $0
anim_bgeffect ANIM_BG_31, $30, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 156, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 156, 72, $0
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 32
anim_call BattleAnim_ShowMon_1
@@ -1188,7 +1188,7 @@ BattleAnim_HydroPump: ; c99b4
BattleAnim_Surf: ; c9a2a
anim_1gfx ANIM_GFX_BUBBLE
anim_bgeffect ANIM_BG_SURF, $0, $0, $0
- anim_obj ANIM_OBJ_22, 88, 104, $8
+ anim_obj ANIM_OBJ_SURF, 88, 104, $8
.loop
anim_sound 0, 1, SFX_SURF
anim_wait 32
@@ -1340,7 +1340,7 @@ BattleAnim_ThunderWave: ; c9b84
anim_1gfx ANIM_GFX_LIGHTNING
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
anim_sound 0, 1, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_30, 136, 56, $0
+ anim_obj ANIM_OBJ_THUNDER_WAVE, 136, 56, $0
anim_wait 20
anim_bgp $1b
anim_incobj 1
@@ -1393,13 +1393,13 @@ BattleAnim_Sonicboom_JP: ; c9c00
anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT
.loop
anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 64, 80, $3
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 80, $3
anim_wait 8
anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 64, 88, $2
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 88, $2
anim_wait 8
anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 64, 96, $4
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 96, $4
anim_wait 8
anim_loop 2, .loop
anim_wait 32
@@ -1477,19 +1477,19 @@ BattleAnim_RockThrow: ; c9c9d
anim_1gfx ANIM_GFX_ROCKS
anim_bgeffect ANIM_BG_1F, $60, $1, $0
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 128, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 120, 68, $30
+ anim_obj ANIM_OBJ_BIG_ROCK, 120, 68, $30
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 152, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 144, 64, $40
+ anim_obj ANIM_OBJ_BIG_ROCK, 144, 64, $40
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 136, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
anim_wait 96
anim_ret
; c9cd2
@@ -1499,19 +1499,19 @@ BattleAnim_RockSlide: ; c9cd2
anim_bgeffect ANIM_BG_1F, $c0, $1, $0
.loop
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 128, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 120, 68, $30
+ anim_obj ANIM_OBJ_BIG_ROCK, 120, 68, $30
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 152, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 144, 64, $40
+ anim_obj ANIM_OBJ_BIG_ROCK, 144, 64, $40
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 136, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
anim_wait 16
anim_loop 4, .loop
anim_wait 96
@@ -1522,15 +1522,15 @@ BattleAnim_Sing: ; c9d0c
anim_1gfx ANIM_GFX_NOISE
anim_sound 16, 2, SFX_SING
.loop
- anim_obj ANIM_OBJ_23, 64, 92, $0
+ anim_obj ANIM_OBJ_SING, 64, 92, $0
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $1
+ anim_obj ANIM_OBJ_SING, 64, 92, $1
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $2
+ anim_obj ANIM_OBJ_SING, 64, 92, $2
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $0
+ anim_obj ANIM_OBJ_SING, 64, 92, $0
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $2
+ anim_obj ANIM_OBJ_SING, 64, 92, $2
anim_wait 8
anim_loop 4, .loop
anim_wait 64
@@ -1544,19 +1544,19 @@ BattleAnim_StunSpore: ; c9d35
anim_1gfx ANIM_GFX_POWDER
.loop
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 104, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 104, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 136, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 136, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 112, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 112, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 128, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 128, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 120, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 120, 16, $0
anim_wait 4
anim_loop 2, .loop
anim_wait 96
@@ -1645,8 +1645,8 @@ BattleAnim_Slash: ; c9dfc
BattleAnim_Clamp: ; c9e0d
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_35, 136, 56, $a0
- anim_obj ANIM_OBJ_35, 136, 56, $20
+ anim_obj ANIM_OBJ_CLAMP, 136, 56, $a0
+ anim_obj ANIM_OBJ_CLAMP, 136, 56, $20
anim_wait 16
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_01, 144, 48, $18
@@ -1659,8 +1659,8 @@ BattleAnim_Clamp: ; c9e0d
BattleAnim_Bite: ; c9e2e
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_36, 136, 56, $98
- anim_obj ANIM_OBJ_36, 136, 56, $18
+ anim_obj ANIM_OBJ_BITE, 136, 56, $98
+ anim_obj ANIM_OBJ_BITE, 136, 56, $18
anim_wait 8
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_01, 144, 48, $18
@@ -1725,14 +1725,14 @@ BattleAnim_Recover: ; c9eaf
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_FULL_HEAL
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_2C, 44, 88, $30
- anim_obj ANIM_OBJ_2C, 44, 88, $31
- anim_obj ANIM_OBJ_2C, 44, 88, $32
- anim_obj ANIM_OBJ_2C, 44, 88, $33
- anim_obj ANIM_OBJ_2C, 44, 88, $34
- anim_obj ANIM_OBJ_2C, 44, 88, $35
- anim_obj ANIM_OBJ_2C, 44, 88, $36
- anim_obj ANIM_OBJ_2C, 44, 88, $37
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $30
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $31
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $32
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $33
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $34
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $35
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $36
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $37
anim_wait 64
anim_incbgeffect ANIM_BG_18
anim_call BattleAnim_ShowMon_0
@@ -1793,7 +1793,7 @@ BattleAnim_MegaDrain: ; c9f13
BattleAnim_EggBomb: ; c9f55
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
anim_sound 0, 0, SFX_SWITCH_POKEMON
- anim_obj ANIM_OBJ_46, 44, 104, $1
+ anim_obj ANIM_OBJ_EGG, 44, 104, $1
anim_wait 128
anim_wait 96
anim_incobj 1
@@ -1814,15 +1814,15 @@ BattleAnim_Softboiled: ; c9f85
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_SWITCH_POKEMON
- anim_obj ANIM_OBJ_46, 44, 104, $6
+ anim_obj ANIM_OBJ_EGG, 44, 104, $6
anim_wait 128
anim_incobj 2
- anim_obj ANIM_OBJ_46, 76, 104, $b
+ anim_obj ANIM_OBJ_EGG, 76, 104, $b
anim_wait 16
anim_bgeffect ANIM_BG_18, $0, $1, $40
anim_sound 0, 0, SFX_METRONOME
.loop
- anim_obj ANIM_OBJ_2C, 44, 88, $20
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $20
anim_wait 8
anim_loop 8, .loop
anim_wait 128
@@ -1995,7 +1995,7 @@ BattleAnim_Supersonic: ; ca0f4
anim_1gfx ANIM_GFX_PSYCHIC
.loop
anim_sound 6, 2, SFX_SUPERSONIC
- anim_obj ANIM_OBJ_4C, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
anim_wait 4
anim_loop 10, .loop
anim_wait 64
@@ -2007,7 +2007,7 @@ BattleAnim_Screech: ; ca105
anim_bgeffect ANIM_BG_1F, $8, $1, $20
anim_sound 6, 2, SFX_SCREECH
.loop
- anim_obj ANIM_OBJ_4C, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
anim_wait 2
anim_loop 2, .loop
anim_wait 64
@@ -2018,15 +2018,15 @@ BattleAnim_ConfuseRay: ; ca11b
anim_1gfx ANIM_GFX_SPEED
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_08, $0, $4, $0
- anim_obj ANIM_OBJ_4D, 64, 88, $0
- anim_obj ANIM_OBJ_4D, 64, 88, $80
- anim_obj ANIM_OBJ_4D, 64, 88, $88
- anim_obj ANIM_OBJ_4D, 64, 88, $90
- anim_obj ANIM_OBJ_4D, 64, 88, $98
- anim_obj ANIM_OBJ_4D, 64, 88, $a0
- anim_obj ANIM_OBJ_4D, 64, 88, $a8
- anim_obj ANIM_OBJ_4D, 64, 88, $b0
- anim_obj ANIM_OBJ_4D, 64, 88, $b8
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $80
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $88
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $90
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $98
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $a0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $a8
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $b0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $b8
.loop
anim_sound 6, 2, SFX_WHIRLWIND
anim_wait 16
@@ -2048,11 +2048,11 @@ BattleAnim_Reflect: ; ca16a
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 24
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 64
anim_ret
; ca18e
@@ -2061,24 +2061,24 @@ BattleAnim_LightScreen: ; ca18e
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_sound 0, 0, SFX_FLASH
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $0
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $0
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $8
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $8
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $10
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $10
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $18
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $18
anim_wait 4
- anim_obj ANIM_OBJ_50, 72, 80, $0
- anim_obj ANIM_OBJ_6D, 72, 80, $20
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $20
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $28
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $28
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $30
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $30
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $38
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $38
anim_wait 64
anim_ret
; ca1d5
@@ -2086,11 +2086,11 @@ BattleAnim_LightScreen: ; ca18e
BattleAnim_Amnesia: ; ca1d5
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 0, SFX_LICK
- anim_obj ANIM_OBJ_53, 64, 80, $2
+ anim_obj ANIM_OBJ_AMNESIA, 64, 80, $2
anim_wait 16
- anim_obj ANIM_OBJ_53, 68, 80, $1
+ anim_obj ANIM_OBJ_AMNESIA, 68, 80, $1
anim_wait 16
- anim_obj ANIM_OBJ_53, 72, 80, $0
+ anim_obj ANIM_OBJ_AMNESIA, 72, 80, $0
anim_wait 64
anim_ret
; ca1ed
@@ -2113,7 +2113,7 @@ BattleAnim_Rest: ; ca212
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 0, SFX_TAIL_WHIP
.loop
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 40
anim_loop 3, .loop
anim_wait 32
@@ -2181,22 +2181,22 @@ BattleAnim_StringShot: ; ca293
anim_1gfx ANIM_GFX_WEB
anim_bgeffect ANIM_BG_07, $0, $2, $0
anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 64, 80, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 80, $0
anim_wait 4
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, 132, 48, $1
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 48, $1
anim_wait 4
anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 64, 88, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 88, $0
anim_wait 4
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, 132, 64, $1
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 64, $1
anim_wait 4
anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 64, 84, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 84, $0
anim_wait 4
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, 132, 56, $2
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 56, $2
anim_wait 64
anim_ret
; ca2d1
@@ -2325,8 +2325,8 @@ BattleAnim_Hypnosis: ; ca3d8
anim_1gfx ANIM_GFX_PSYCHIC
.loop
anim_sound 6, 2, SFX_SUPERSONIC
- anim_obj ANIM_OBJ_4C, 64, 88, $2
- anim_obj ANIM_OBJ_4C, 56, 80, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 56, 80, $2
anim_wait 8
anim_loop 3, .loop
anim_wait 56
@@ -2512,7 +2512,7 @@ BattleAnim_PetalDance: ; ca564
anim_sound 0, 0, SFX_MENU
anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT
.loop
- anim_obj ANIM_OBJ_61, 48, 56, $0
+ anim_obj ANIM_OBJ_PETAL_DANCE, 48, 56, $0
anim_wait 11
anim_loop 8, .loop
anim_wait 128
@@ -2526,7 +2526,7 @@ BattleAnim_PetalDance: ; ca564
BattleAnim_Barrage: ; ca580
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_62, 64, 92, $10
+ anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10
anim_wait 36
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_18, 136, 56, $0
@@ -2540,7 +2540,7 @@ BattleAnim_PayDay: ; ca596
anim_obj ANIM_OBJ_01, 128, 56, $0
anim_wait 16
anim_sound 0, 1, SFX_PAY_DAY
- anim_obj ANIM_OBJ_63, 120, 76, $1
+ anim_obj ANIM_OBJ_PAY_DAY, 120, 76, $1
anim_wait 64
anim_ret
; ca5ac
@@ -2549,14 +2549,14 @@ BattleAnim_Mimic: ; ca5ac
anim_1gfx ANIM_GFX_SPEED
anim_obp0 $fc
anim_sound 63, 3, SFX_LICK
- anim_obj ANIM_OBJ_65, 132, 44, $0
- anim_obj ANIM_OBJ_65, 132, 44, $8
- anim_obj ANIM_OBJ_65, 132, 44, $10
- anim_obj ANIM_OBJ_65, 132, 44, $18
- anim_obj ANIM_OBJ_65, 132, 44, $20
- anim_obj ANIM_OBJ_65, 132, 44, $28
- anim_obj ANIM_OBJ_65, 132, 44, $30
- anim_obj ANIM_OBJ_65, 132, 44, $38
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $0
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $8
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $10
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $18
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $20
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $28
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $30
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $38
anim_wait 128
anim_wait 48
anim_ret
@@ -2565,7 +2565,7 @@ BattleAnim_Mimic: ; ca5ac
BattleAnim_LovelyKiss: ; ca5de
anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_96, 152, 40, $0
+ anim_obj ANIM_OBJ_LOVELY_KISS, 152, 40, $0
anim_wait 32
anim_sound 0, 1, SFX_LICK
anim_obj ANIM_OBJ_HEART, 128, 40, $0
@@ -2576,7 +2576,7 @@ BattleAnim_LovelyKiss: ; ca5de
BattleAnim_Bonemerang: ; ca5f6
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT
anim_sound 6, 2, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_67, 88, 56, $1c
+ anim_obj ANIM_OBJ_BONEMERANG, 88, 56, $1c
anim_wait 24
anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
anim_obj ANIM_OBJ_01, 136, 56, $0
@@ -2587,11 +2587,11 @@ BattleAnim_Bonemerang: ; ca5f6
BattleAnim_Swift: ; ca60c
anim_1gfx ANIM_GFX_OBJECTS
anim_sound 6, 2, SFX_METRONOME
- anim_obj ANIM_OBJ_6A, 64, 88, $4
+ anim_obj ANIM_OBJ_SWIFT, 64, 88, $4
anim_wait 4
- anim_obj ANIM_OBJ_6A, 64, 72, $4
+ anim_obj ANIM_OBJ_SWIFT, 64, 72, $4
anim_wait 4
- anim_obj ANIM_OBJ_6A, 64, 76, $4
+ anim_obj ANIM_OBJ_SWIFT, 64, 76, $4
anim_wait 64
anim_ret
; ca624
@@ -2630,7 +2630,7 @@ BattleAnim_SkullBash: ; ca63f
BattleAnim_Kinesis: ; ca66a
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_6B, 80, 76, $0
+ anim_obj ANIM_OBJ_KINESIS, 80, 76, $0
anim_wait 32
.loop
anim_sound 0, 0, SFX_KINESIS
@@ -2695,21 +2695,21 @@ BattleAnim_Flash: ; ca700
anim_sound 0, 1, SFX_FLASH
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $0
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $0
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $8
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $8
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $10
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $10
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $18
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $18
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $20
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $20
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $28
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $28
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $30
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $30
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $38
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $38
anim_wait 32
anim_ret
; ca73c
@@ -2776,7 +2776,7 @@ BattleAnim_SkyAttack: ; ca7a1
anim_bgeffect ANIM_BG_27, $0, $1, $0
anim_wait 32
anim_sound 0, 0, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 48, 88, $40
+ anim_obj ANIM_OBJ_SKY_ATTACK, 48, 88, $40
anim_wait 64
anim_incobj 1
anim_wait 21
@@ -2846,7 +2846,7 @@ BattleAnim_Psybeam: ; ca829
anim_bgeffect ANIM_BG_08, $0, $4, $0
.loop
anim_sound 6, 2, SFX_PSYBEAM
- anim_obj ANIM_OBJ_4C, 64, 88, $4
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $4
anim_wait 4
anim_loop 10, .loop
anim_wait 48
@@ -2887,13 +2887,13 @@ BattleAnim_Psywave: ; ca86c
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
.loop
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 80, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 80, $2
anim_wait 8
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 88, $3
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $3
anim_wait 8
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 96, $4
+ anim_obj ANIM_OBJ_WAVE, 64, 96, $4
anim_wait 8
anim_loop 3, .loop
anim_wait 32
@@ -2932,14 +2932,14 @@ BattleAnim_Growth: ; ca8d5
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
anim_1gfx ANIM_GFX_CHARGE
anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_72, 48, 108, $0
- anim_obj ANIM_OBJ_72, 48, 108, $8
- anim_obj ANIM_OBJ_72, 48, 108, $10
- anim_obj ANIM_OBJ_72, 48, 108, $18
- anim_obj ANIM_OBJ_72, 48, 108, $20
- anim_obj ANIM_OBJ_72, 48, 108, $28
- anim_obj ANIM_OBJ_72, 48, 108, $30
- anim_obj ANIM_OBJ_72, 48, 108, $38
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $0
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $8
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $10
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $18
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $20
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $28
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $30
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $38
anim_wait 64
anim_ret
; ca909
@@ -2947,14 +2947,14 @@ BattleAnim_Growth: ; ca8d5
BattleAnim_Conversion2: ; ca909
anim_1gfx ANIM_GFX_EXPLOSION
anim_sound 63, 3, SFX_SHARPEN
- anim_obj ANIM_OBJ_73, 132, 44, $0
- anim_obj ANIM_OBJ_73, 132, 44, $8
- anim_obj ANIM_OBJ_73, 132, 44, $10
- anim_obj ANIM_OBJ_73, 132, 44, $18
- anim_obj ANIM_OBJ_73, 132, 44, $20
- anim_obj ANIM_OBJ_73, 132, 44, $28
- anim_obj ANIM_OBJ_73, 132, 44, $30
- anim_obj ANIM_OBJ_73, 132, 44, $38
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $0
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $8
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $10
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $18
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $20
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $28
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $30
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $38
anim_wait 128
anim_wait 48
anim_ret
@@ -2963,7 +2963,7 @@ BattleAnim_Conversion2: ; ca909
BattleAnim_Smokescreen: ; ca939
anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_75, 64, 92, $6c
+ anim_obj ANIM_OBJ_SMOKESCREEN, 64, 92, $6c
anim_wait 24
anim_incobj 1
anim_sound 0, 1, SFX_BALL_POOF
@@ -2971,7 +2971,7 @@ BattleAnim_Smokescreen: ; ca939
anim_wait 8
.loop
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_74, 132, 60, $20
+ anim_obj ANIM_OBJ_SMOKE, 132, 60, $20
anim_wait 8
anim_loop 5, .loop
anim_wait 128
@@ -2982,7 +2982,7 @@ BattleAnim_Strength: ; ca960
anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_20, $10, $1, $20
anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_1F, 64, 104, $1
+ anim_obj ANIM_OBJ_STRENGTH, 64, 104, $1
anim_wait 128
anim_incobj 1
anim_wait 20
@@ -2995,11 +2995,11 @@ BattleAnim_Strength: ; ca960
BattleAnim_SwordsDance: ; ca97e
anim_1gfx ANIM_GFX_WHIP
anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_76, 48, 108, $0
- anim_obj ANIM_OBJ_76, 48, 108, $d
- anim_obj ANIM_OBJ_76, 48, 108, $1a
- anim_obj ANIM_OBJ_76, 48, 108, $27
- anim_obj ANIM_OBJ_76, 48, 108, $34
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $0
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $d
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $1a
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $27
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $34
anim_wait 56
anim_ret
; ca99e
@@ -3008,12 +3008,12 @@ BattleAnim_QuickAttack: ; ca99e
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
anim_sound 0, 0, SFX_MENU
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_obj ANIM_OBJ_77, 24, 88, $2
- anim_obj ANIM_OBJ_77, 32, 88, $1
- anim_obj ANIM_OBJ_77, 40, 88, $0
- anim_obj ANIM_OBJ_77, 48, 88, $80
- anim_obj ANIM_OBJ_77, 56, 88, $81
- anim_obj ANIM_OBJ_77, 64, 88, $82
+ anim_obj ANIM_OBJ_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
anim_wait 12
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_01, 136, 56, $0
@@ -3041,7 +3041,7 @@ BattleAnim_Sharpen: ; ca9ed
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_SHARPEN
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_78, 48, 88, $0
+ anim_obj ANIM_OBJ_SHARPEN, 48, 88, $0
anim_wait 96
anim_incobj 2
anim_incbgeffect ANIM_BG_18
@@ -3055,7 +3055,7 @@ BattleAnim_DefenseCurl: ; caa0a
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_SHARPEN
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_79, 48, 88, $0
+ anim_obj ANIM_OBJ_DEFENSE_CURL, 48, 88, $0
anim_wait 96
anim_incobj 2
anim_incbgeffect ANIM_BG_18
@@ -3067,7 +3067,7 @@ BattleAnim_SeismicToss: ; caa27
anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_20, $10, $1, $20
anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_20, 64, 104, $1
+ anim_obj ANIM_OBJ_SEISMIC_TOSS, 64, 104, $1
anim_wait 128
anim_incobj 1
anim_wait 20
@@ -3102,14 +3102,14 @@ BattleAnim_Agility: ; caa74
anim_obp0 $fc
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_7D, 8, 24, $10
- anim_obj ANIM_OBJ_7D, 8, 48, $2
- anim_obj ANIM_OBJ_7D, 8, 88, $8
+ anim_obj ANIM_OBJ_AGILITY, 8, 24, $10
+ anim_obj ANIM_OBJ_AGILITY, 8, 48, $2
+ anim_obj ANIM_OBJ_AGILITY, 8, 88, $8
anim_wait 4
- anim_obj ANIM_OBJ_7D, 8, 32, $6
- anim_obj ANIM_OBJ_7D, 8, 56, $c
- anim_obj ANIM_OBJ_7D, 8, 80, $4
- anim_obj ANIM_OBJ_7D, 8, 104, $e
+ anim_obj ANIM_OBJ_AGILITY, 8, 32, $6
+ anim_obj ANIM_OBJ_AGILITY, 8, 56, $c
+ anim_obj ANIM_OBJ_AGILITY, 8, 80, $4
+ anim_obj ANIM_OBJ_AGILITY, 8, 104, $e
.loop
anim_sound 0, 0, SFX_RAZOR_WIND
anim_wait 4
@@ -3121,7 +3121,7 @@ BattleAnim_Agility: ; caa74
BattleAnim_BoneClub: ; caab2
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
- anim_obj ANIM_OBJ_68, 64, 88, $2
+ anim_obj ANIM_OBJ_BONE_CLUB, 64, 88, $2
anim_wait 32
anim_sound 0, 1, SFX_BONE_CLUB
anim_obj ANIM_OBJ_01, 136, 56, $0
@@ -3135,10 +3135,10 @@ BattleAnim_Barrier: ; caac5
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_wait 8
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 32
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 32
anim_ret
; caae1
@@ -3173,7 +3173,7 @@ BattleAnim_PsychicM: ; cab1d
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
.loop
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
anim_wait 8
anim_loop 8, .loop
anim_wait 96
@@ -3283,7 +3283,7 @@ BattleAnim_Slam: ; cac13
BattleAnim_Disable: ; cac24
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_7C, 132, 56, $0
+ anim_obj ANIM_OBJ_DISABLE, 132, 56, $0
anim_wait 16
anim_sound 0, 1, SFX_BIND
anim_obj ANIM_OBJ_PARALYZED, 104, 56, $42
@@ -3316,7 +3316,7 @@ BattleAnim_Sketch: ; cac61
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_1A, $0, $1, $20
anim_sound 0, 0, SFX_SKETCH
- anim_obj ANIM_OBJ_98, 72, 80, $0
+ anim_obj ANIM_OBJ_SKETCH, 72, 80, $0
anim_wait 80
anim_incbgeffect ANIM_BG_1A
anim_call BattleAnim_ShowMon_0
@@ -3366,7 +3366,7 @@ BattleAnim_Thief: ; cacb5
anim_wait 1
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 1, SFX_THIEF_2
- anim_obj ANIM_OBJ_8B, 120, 76, $1
+ anim_obj ANIM_OBJ_THIEF, 120, 76, $1
anim_wait 64
anim_ret
; cacd9
@@ -3374,13 +3374,13 @@ BattleAnim_Thief: ; cacb5
BattleAnim_SpiderWeb: ; cacd9
anim_1gfx ANIM_GFX_WEB
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_92, 132, 48, $0
+ anim_obj ANIM_OBJ_SPIDER_WEB, 132, 48, $0
anim_sound 6, 2, SFX_SPIDER_WEB
- anim_obj ANIM_OBJ_5A, 64, 80, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 80, $0
anim_wait 4
- anim_obj ANIM_OBJ_5A, 64, 88, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 88, $0
anim_wait 4
- anim_obj ANIM_OBJ_5A, 64, 84, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 84, $0
anim_wait 64
anim_ret
; cacfb
@@ -3389,10 +3389,10 @@ BattleAnim_MindReader: ; cacfb
anim_1gfx ANIM_GFX_MISC
anim_sound 0, 1, SFX_MIND_READER
.loop
- anim_obj ANIM_OBJ_88, 132, 48, $3
- anim_obj ANIM_OBJ_88, 132, 48, $12
- anim_obj ANIM_OBJ_88, 132, 48, $20
- anim_obj ANIM_OBJ_88, 132, 48, $31
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $3
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $12
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $20
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $31
anim_wait 16
anim_loop 2, .loop
anim_wait 32
@@ -3403,8 +3403,8 @@ BattleAnim_Nightmare: ; cad1b
anim_1gfx ANIM_GFX_ANGELS
anim_bgp $1b
anim_obp0 $f
- anim_obj ANIM_OBJ_94, 132, 40, $0
- anim_obj ANIM_OBJ_94, 132, 40, $a0
+ anim_obj ANIM_OBJ_NIGHTMARE, 132, 40, $0
+ anim_obj ANIM_OBJ_NIGHTMARE, 132, 40, $a0
anim_sound 0, 1, SFX_NIGHTMARE
anim_wait 96
anim_ret
@@ -3414,7 +3414,7 @@ BattleAnim_FlameWheel: ; cad30
anim_1gfx ANIM_GFX_FIRE
.loop
anim_sound 0, 0, SFX_EMBER
- anim_obj ANIM_OBJ_7F, 48, 96, $0
+ anim_obj ANIM_OBJ_FLAME_WHEEL, 48, 96, $0
anim_wait 6
anim_loop 8, .loop
anim_wait 96
@@ -3423,9 +3423,9 @@ BattleAnim_FlameWheel: ; cad30
anim_wait 4
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 136, 48, $1
- anim_obj ANIM_OBJ_0F, 136, 48, $4
- anim_obj ANIM_OBJ_0F, 136, 48, $5
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $5
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
@@ -3436,7 +3436,7 @@ BattleAnim_FlameWheel: ; cad30
BattleAnim_Snore: ; cad6b
anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 32
anim_bgeffect ANIM_BG_1F, $60, $2, $0
anim_sound 0, 0, SFX_SNORE
@@ -3451,7 +3451,7 @@ BattleAnim_Snore: ; cad6b
BattleAnim_Curse: ; cad86
anim_if_param_equal $1, .NotGhost
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
- anim_obj ANIM_OBJ_A5, 68, 72, $0
+ anim_obj ANIM_OBJ_CURSE, 68, 72, $0
anim_sound 0, 0, SFX_CURSE
anim_wait 32
anim_incobj 1
@@ -3515,14 +3515,14 @@ BattleAnim_Conversion: ; cae17
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_sound 63, 3, SFX_SHARPEN
- anim_obj ANIM_OBJ_91, 48, 88, $0
- anim_obj ANIM_OBJ_91, 48, 88, $8
- anim_obj ANIM_OBJ_91, 48, 88, $10
- anim_obj ANIM_OBJ_91, 48, 88, $18
- anim_obj ANIM_OBJ_91, 48, 88, $20
- anim_obj ANIM_OBJ_91, 48, 88, $28
- anim_obj ANIM_OBJ_91, 48, 88, $30
- anim_obj ANIM_OBJ_91, 48, 88, $38
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $0
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $8
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $10
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $18
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $20
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $28
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $30
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $38
anim_wait 128
anim_ret
; cae4b
@@ -3533,7 +3533,7 @@ BattleAnim_Aeroblast: ; cae4b
anim_bgeffect ANIM_BG_1F, $50, $4, $10
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_sound 0, 0, SFX_AEROBLAST
- anim_obj ANIM_OBJ_B3, 72, 88, $0
+ anim_obj ANIM_OBJ_AEROBLAST, 72, 88, $0
anim_wait 32
anim_sound 0, 0, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_27, 80, 84, $0
@@ -3567,26 +3567,26 @@ BattleAnim_Reversal: ; cae97
anim_obj ANIM_OBJ_04, 112, 64, $0
anim_wait 2
anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, 120, 56, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 120, 56, $0
anim_wait 2
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_04, 128, 56, $0
anim_wait 2
anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, 136, 48, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 136, 48, $0
anim_wait 2
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_04, 144, 48, $0
anim_wait 2
anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, 152, 40, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 152, 40, $0
anim_wait 24
anim_ret
; caed6
BattleAnim_Spite: ; caed6
anim_1gfx ANIM_GFX_ANGELS
- anim_obj ANIM_OBJ_A4, 132, 16, $0
+ anim_obj ANIM_OBJ_SPITE, 132, 16, $0
anim_sound 0, 1, SFX_SPITE
anim_wait 96
anim_ret
@@ -3596,13 +3596,13 @@ BattleAnim_PowderSnow: ; caee2
anim_1gfx ANIM_GFX_ICE
.loop ; caee4
anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 64, 88, $23
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 88, $23
anim_wait 2
anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 64, 80, $24
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 80, $24
anim_wait 2
anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 64, 96, $23
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 96, $23
anim_wait 2
anim_loop 2, .loop
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
@@ -3615,11 +3615,11 @@ BattleAnim_PowderSnow: ; caee2
BattleAnim_Protect: ; caf0e
anim_1gfx ANIM_GFX_OBJECTS
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_8A, 80, 80, $0
- anim_obj ANIM_OBJ_8A, 80, 80, $d
- anim_obj ANIM_OBJ_8A, 80, 80, $1a
- anim_obj ANIM_OBJ_8A, 80, 80, $27
- anim_obj ANIM_OBJ_8A, 80, 80, $34
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $0
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $d
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $1a
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $27
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $34
anim_sound 0, 0, SFX_PROTECT
anim_wait 96
anim_ret
@@ -3629,12 +3629,12 @@ BattleAnim_MachPunch: ; caf33
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_77, 24, 88, $2
- anim_obj ANIM_OBJ_77, 32, 88, $1
- anim_obj ANIM_OBJ_77, 40, 88, $0
- anim_obj ANIM_OBJ_77, 48, 88, $80
- anim_obj ANIM_OBJ_77, 56, 88, $81
- anim_obj ANIM_OBJ_77, 64, 88, $82
+ anim_obj ANIM_OBJ_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
anim_wait 12
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_06, 136, 56, $0
@@ -3679,7 +3679,7 @@ BattleAnim_FaintAttack: ; caf84
BattleAnim_SweetKiss: ; cafb4
anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_97, 96, 40, $0
+ anim_obj ANIM_OBJ_SWEET_KISS, 96, 40, $0
anim_sound 0, 1, SFX_SWEET_KISS
anim_wait 32
anim_sound 0, 1, SFX_SWEET_KISS_2
@@ -3733,7 +3733,7 @@ BattleAnim_SludgeBomb: ; cb051
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON
anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_62, 64, 92, $10
+ anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10
anim_wait 36
anim_call BattleAnim_SludgeBomb_branch_cbc15
anim_wait 64
@@ -3750,13 +3750,13 @@ BattleAnim_MudSlap: ; cb067
BattleAnim_Octazooka: ; cb06f
anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_8C, 64, 92, $4
+ anim_obj ANIM_OBJ_OCTAZOOKA, 64, 92, $4
anim_wait 16
anim_obj ANIM_OBJ_BALL_POOF, 132, 56, $10
anim_wait 8
anim_if_param_equal $0, .done
.loop
- anim_obj ANIM_OBJ_74, 132, 60, $20
+ anim_obj ANIM_OBJ_SMOKE, 132, 60, $20
anim_wait 8
anim_loop 5, .loop
anim_wait 128
@@ -3783,7 +3783,7 @@ BattleAnim_ZapCannon: ; cb0b0
anim_bgp $1b
anim_obp0 $30
anim_sound 6, 2, SFX_ZAP_CANNON
- anim_obj ANIM_OBJ_A3, 64, 92, $2
+ anim_obj ANIM_OBJ_ZAP_CANNON, 64, 92, $2
anim_wait 40
anim_sound 0, 1, SFX_THUNDERSHOCK
anim_obj ANIM_OBJ_LIGHTNING_BOLT, 136, 56, $2
@@ -3798,7 +3798,7 @@ BattleAnim_Foresight: ; cb0d0
anim_call BattleAnim_FollowEnemyFeet_1
anim_bgeffect ANIM_BG_07, $0, $0, $0
anim_sound 0, 1, SFX_FORESIGHT
- anim_obj ANIM_OBJ_A7, 132, 40, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 132, 40, $0
anim_wait 24
anim_bgeffect ANIM_BG_19, $0, $0, $40
anim_wait 64
@@ -3814,13 +3814,13 @@ BattleAnim_DestinyBond: ; cb0f0
anim_obp0 $0
anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104
anim_sound 6, 2, SFX_WHIRLWIND
- anim_obj ANIM_OBJ_9B, 44, 120, $2
+ anim_obj ANIM_OBJ_DESTINY_BOND, 44, 120, $2
anim_wait 128
anim_ret
; cb104
BattleAnim_DestinyBond_branch_cb104: ; cb104
- anim_obj ANIM_OBJ_9B, 132, 76, $0
+ anim_obj ANIM_OBJ_DESTINY_BOND, 132, 76, $0
anim_sound 0, 1, SFX_KINESIS
anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
anim_wait 32
@@ -3876,7 +3876,7 @@ BattleAnim_Detect: ; cb18c
anim_1gfx ANIM_GFX_SHINE
anim_bgeffect ANIM_BG_07, $0, $0, $0
anim_sound 0, 0, SFX_FORESIGHT
- anim_obj ANIM_OBJ_A7, 64, 88, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 64, 88, $0
anim_wait 24
anim_ret
; cb19d
@@ -3884,7 +3884,7 @@ BattleAnim_Detect: ; cb18c
BattleAnim_BoneRush: ; cb19d
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
anim_sound 0, 1, SFX_BONE_CLUB
- anim_obj ANIM_OBJ_69, 132, 56, $2
+ anim_obj ANIM_OBJ_BONE_RUSH, 132, 56, $2
anim_wait 16
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_01, 120, 48, $0
@@ -3899,10 +3899,10 @@ BattleAnim_LockOn: ; cb1bc
anim_1gfx ANIM_GFX_MISC
anim_sound 0, 1, SFX_MIND_READER
.loop
- anim_obj ANIM_OBJ_87, 132, 48, $3
- anim_obj ANIM_OBJ_87, 132, 48, $12
- anim_obj ANIM_OBJ_87, 132, 48, $20
- anim_obj ANIM_OBJ_87, 132, 48, $31
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $3
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $12
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $20
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $31
anim_wait 16
anim_loop 2, .loop
anim_wait 32
@@ -3932,11 +3932,11 @@ BattleAnim_Outrage: ; cb1dc
BattleAnim_Sandstorm: ; cb210
anim_1gfx ANIM_GFX_POWDER
- anim_obj ANIM_OBJ_A2, 88, 0, $0
+ anim_obj ANIM_OBJ_SANDSTORM, 88, 0, $0
anim_wait 8
- anim_obj ANIM_OBJ_A2, 72, 0, $1
+ anim_obj ANIM_OBJ_SANDSTORM, 72, 0, $1
anim_wait 8
- anim_obj ANIM_OBJ_A2, 56, 0, $2
+ anim_obj ANIM_OBJ_SANDSTORM, 56, 0, $2
.loop
anim_sound 0, 1, SFX_MENU
anim_wait 8
@@ -3960,15 +3960,15 @@ BattleAnim_GigaDrain: ; cb22d
anim_bgeffect ANIM_BG_07, $0, $0, $0
.loop
anim_sound 0, 0, SFX_METRONOME
- anim_obj ANIM_OBJ_9D, 24, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 24, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 40, 84, $0
+ anim_obj ANIM_OBJ_GLIMMER, 40, 84, $0
anim_wait 5
anim_loop 2, .loop
anim_wait 32
@@ -4036,7 +4036,7 @@ BattleAnim_FalseSwipe: ; cb2f5
anim_sound 0, 1, SFX_CUT
anim_obj ANIM_OBJ_3A, 152, 40, $0
anim_wait 4
- anim_obj ANIM_OBJ_9D, 136, 40, $0
+ anim_obj ANIM_OBJ_GLIMMER, 136, 40, $0
anim_wait 32
anim_ret
; cb30d
@@ -4045,12 +4045,12 @@ BattleAnim_Swagger: ; cb30d
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND
.loop
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_A9, 72, 88, $44
+ anim_obj ANIM_OBJ_SWAGGER, 72, 88, $44
anim_wait 32
anim_loop 2, .loop
anim_wait 32
anim_sound 0, 1, SFX_KINESIS_2
- anim_obj ANIM_OBJ_83, 104, 40, $0
+ anim_obj ANIM_OBJ_ANGER, 104, 40, $0
anim_wait 40
anim_ret
; cb328
@@ -4058,12 +4058,12 @@ BattleAnim_Swagger: ; cb30d
BattleAnim_MilkDrink: ; cb328
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE
anim_call BattleAnim_FollowEnemyFeet_0
- anim_obj ANIM_OBJ_82, 74, 104, $0
+ anim_obj ANIM_OBJ_MILK_DRINK, 74, 104, $0
anim_wait 16
anim_bgeffect ANIM_BG_18, $0, $1, $40
anim_sound 0, 0, SFX_MILK_DRINK
.loop
- anim_obj ANIM_OBJ_2C, 44, 88, $20
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $20
anim_wait 8
anim_loop 8, .loop
anim_wait 128
@@ -4076,7 +4076,7 @@ BattleAnim_Spark: ; cb34d
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
anim_sound 0, 0, SFX_ZAP_CANNON
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_obj ANIM_OBJ_30, 48, 92, $0
+ anim_obj ANIM_OBJ_THUNDER_WAVE, 48, 92, $0
anim_wait 24
anim_setobj $1, $3
anim_wait 1
@@ -4139,15 +4139,15 @@ BattleAnim_MeanLook: ; cb3df
anim_1gfx ANIM_GFX_PSYCHIC
anim_obp0 $e0
anim_sound 0, 1, SFX_MEAN_LOOK
- anim_obj ANIM_OBJ_AC, 148, 32, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 148, 32, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 116, 64, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 116, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 148, 64, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 148, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 116, 32, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 116, 32, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 132, 48, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 132, 48, $0
anim_wait 128
anim_ret
; cb405
@@ -4156,7 +4156,7 @@ BattleAnim_Attract: ; cb405
anim_1gfx ANIM_GFX_OBJECTS
.loop
anim_sound 0, 0, SFX_ATTRACT
- anim_obj ANIM_OBJ_66, 44, 80, $2
+ anim_obj ANIM_OBJ_ATTRACT, 44, 80, $2
anim_wait 8
anim_loop 5, .loop
anim_wait 128
@@ -4168,7 +4168,7 @@ BattleAnim_SleepTalk: ; cb417
anim_1gfx ANIM_GFX_STATUS
.loop
anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 40
anim_loop 2, .loop
anim_wait 32
@@ -4220,9 +4220,9 @@ BattleAnim_Return: ; cb464
BattleAnim_Present: ; cb488
anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE
anim_sound 0, 1, SFX_PRESENT
- anim_obj ANIM_OBJ_8D, 64, 88, $6c
+ anim_obj ANIM_OBJ_PRESENT, 64, 88, $6c
anim_wait 56
- anim_obj ANIM_OBJ_53, 104, 48, $0
+ anim_obj ANIM_OBJ_AMNESIA, 104, 48, $0
anim_wait 48
anim_incobj 2
anim_if_param_equal $3, .heal
@@ -4239,7 +4239,7 @@ BattleAnim_Present: ; cb488
.heal
anim_sound 0, 1, SFX_METRONOME
.loop2
- anim_obj ANIM_OBJ_2C, 132, 48, $24
+ anim_obj ANIM_OBJ_RECOVER, 132, 48, $24
anim_wait 8
anim_loop 8, .loop2
anim_wait 128
@@ -4249,7 +4249,7 @@ BattleAnim_Present: ; cb488
BattleAnim_Frustration: ; cb4c1
anim_1gfx ANIM_GFX_MISC
anim_sound 0, 0, SFX_KINESIS_2
- anim_obj ANIM_OBJ_83, 72, 80, $0
+ anim_obj ANIM_OBJ_ANGER, 72, 80, $0
anim_wait 40
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_FollowEnemyFeet_0
@@ -4273,11 +4273,11 @@ BattleAnim_Frustration: ; cb4c1
BattleAnim_Safeguard: ; cb4f9
anim_1gfx ANIM_GFX_MISC
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_89, 80, 80, $0
- anim_obj ANIM_OBJ_89, 80, 80, $d
- anim_obj ANIM_OBJ_89, 80, 80, $1a
- anim_obj ANIM_OBJ_89, 80, 80, $27
- anim_obj ANIM_OBJ_89, 80, 80, $34
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $0
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $d
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $1a
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $27
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $34
anim_sound 0, 0, SFX_PROTECT
anim_wait 96
anim_ret
@@ -4303,7 +4303,7 @@ BattleAnim_SacredFire: ; cb53d
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
.loop
anim_sound 0, 0, SFX_EMBER
- anim_obj ANIM_OBJ_80, 48, 104, $0
+ anim_obj ANIM_OBJ_SACRED_FIRE, 48, 104, $0
anim_wait 8
anim_loop 8, .loop
anim_wait 96
@@ -4311,9 +4311,9 @@ BattleAnim_SacredFire: ; cb53d
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 136, 48, $1
- anim_obj ANIM_OBJ_0F, 136, 48, $4
- anim_obj ANIM_OBJ_0F, 136, 48, $5
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $5
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
@@ -4327,15 +4327,15 @@ BattleAnim_Magnitude: ; cb57d
.loop
anim_bgeffect ANIM_BG_1F, $e, $4, $0
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 128, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
anim_wait 2
- anim_obj ANIM_OBJ_1E, 120, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 120, 68, $30
anim_wait 2
- anim_obj ANIM_OBJ_1E, 152, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
anim_wait 2
- anim_obj ANIM_OBJ_1E, 144, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 144, 64, $40
anim_wait 2
- anim_obj ANIM_OBJ_1E, 136, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
anim_wait 2
anim_jumpuntil .loop
anim_wait 96
@@ -4370,7 +4370,7 @@ BattleAnim_Dragonbreath: ; cb5de
anim_1gfx ANIM_GFX_FIRE
anim_sound 6, 2, SFX_EMBER
.loop
- anim_obj ANIM_OBJ_90, 64, 92, $4
+ anim_obj ANIM_OBJ_DRAGONBREATH, 64, 92, $4
anim_wait 4
anim_loop 10, .loop
anim_wait 64
@@ -4379,7 +4379,7 @@ BattleAnim_Dragonbreath: ; cb5de
BattleAnim_BatonPass: ; cb5ef
anim_1gfx ANIM_GFX_MISC
- anim_obj ANIM_OBJ_86, 44, 104, $20
+ anim_obj ANIM_OBJ_BATON_PASS, 44, 104, $20
anim_sound 0, 0, SFX_BATON_PASS
anim_call BattleAnim_BatonPass_branch_c9486
anim_wait 64
@@ -4434,7 +4434,7 @@ BattleAnim_RapidSpin: ; cb65e
anim_obp0 $e4
.loop
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_A8, 44, 112, $0
+ anim_obj ANIM_OBJ_RAPID_SPIN, 44, 112, $0
anim_wait 2
anim_loop 5, .loop
anim_wait 24
@@ -4532,7 +4532,7 @@ BattleAnim_MorningSun: ; cb739
anim_bgeffect ANIM_BG_07, $0, $0, $0
anim_sound 0, 0, SFX_MORNING_SUN
.loop
- anim_obj ANIM_OBJ_9C, 16, 48, $88
+ anim_obj ANIM_OBJ_MORNING_SUN, 16, 48, $88
anim_wait 6
anim_loop 5, .loop
anim_wait 32
@@ -4570,8 +4570,8 @@ BattleAnim_Crunch: ; cb77e
anim_bgp $1b
anim_obp0 $c0
anim_bgeffect ANIM_BG_1F, $20, $2, $0
- anim_obj ANIM_OBJ_36, 136, 56, $a8
- anim_obj ANIM_OBJ_36, 136, 56, $28
+ anim_obj ANIM_OBJ_BITE, 136, 56, $a8
+ anim_obj ANIM_OBJ_BITE, 136, 56, $28
anim_wait 8
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_00, 144, 48, $18
@@ -4586,11 +4586,11 @@ BattleAnim_Moonlight: ; cb7a8
anim_1gfx ANIM_GFX_SHINE
anim_bgp $1b
anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_obj ANIM_OBJ_9E, 0, 40, $0
- anim_obj ANIM_OBJ_9E, 16, 56, $0
- anim_obj ANIM_OBJ_9E, 32, 72, $0
- anim_obj ANIM_OBJ_9E, 48, 88, $0
- anim_obj ANIM_OBJ_9E, 64, 104, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 0, 40, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 16, 56, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 32, 72, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 48, 88, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 64, 104, $0
anim_wait 1
anim_sound 0, 0, SFX_MOONLIGHT
anim_wait 63
@@ -4608,14 +4608,14 @@ BattleAnim_HiddenPower: ; cb7db
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_1A, $0, $1, $20
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_9F, 44, 88, $0
- anim_obj ANIM_OBJ_9F, 44, 88, $8
- anim_obj ANIM_OBJ_9F, 44, 88, $10
- anim_obj ANIM_OBJ_9F, 44, 88, $18
- anim_obj ANIM_OBJ_9F, 44, 88, $20
- anim_obj ANIM_OBJ_9F, 44, 88, $28
- anim_obj ANIM_OBJ_9F, 44, 88, $30
- anim_obj ANIM_OBJ_9F, 44, 88, $38
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $0
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $8
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $10
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $18
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $20
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $28
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $30
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $38
.loop
anim_sound 0, 0, SFX_SWORDS_DANCE
anim_wait 8
@@ -4701,11 +4701,11 @@ BattleAnim_RainDance: ; cb8b3
anim_bgp $f8
anim_obp0 $7c
anim_sound 0, 1, SFX_RAIN_DANCE
- anim_obj ANIM_OBJ_AF, 88, 0, $0
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $0
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $1
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $1
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 128
anim_ret
; cb8cf
@@ -4714,11 +4714,11 @@ BattleAnim_SunnyDay: ; cb8cf
anim_1gfx ANIM_GFX_WATER
anim_bgp $90
anim_sound 0, 1, SFX_MORNING_SUN
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 128
anim_ret
; cb8e9
@@ -4728,7 +4728,7 @@ BattleAnim_MirrorCoat: ; cb8e9
anim_bgeffect ANIM_BG_06, $0, $2, $0
.loop
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_obj ANIM_OBJ_AE, 64, 72, $4
anim_wait 8
anim_obj ANIM_OBJ_AE, 64, 88, $4
@@ -4747,10 +4747,10 @@ BattleAnim_PsychUp: ; cb917
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_1A, $0, $1, $20
anim_sound 0, 0, SFX_PSYBEAM
- anim_obj ANIM_OBJ_B1, 44, 88, $0
- anim_obj ANIM_OBJ_B1, 44, 88, $10
- anim_obj ANIM_OBJ_B1, 44, 88, $20
- anim_obj ANIM_OBJ_B1, 44, 88, $30
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $0
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $10
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $20
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $30
anim_wait 64
anim_incbgeffect ANIM_BG_1A
anim_call BattleAnim_ShowMon_0
@@ -4762,12 +4762,12 @@ BattleAnim_Extremespeed: ; cb940
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_77, 24, 88, $2
- anim_obj ANIM_OBJ_77, 32, 88, $1
- anim_obj ANIM_OBJ_77, 40, 88, $0
- anim_obj ANIM_OBJ_77, 48, 88, $80
- anim_obj ANIM_OBJ_77, 56, 88, $81
- anim_obj ANIM_OBJ_77, 64, 88, $82
+ anim_obj ANIM_OBJ_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
anim_wait 12
anim_sound 0, 1, SFX_CUT
anim_obj ANIM_OBJ_3A, 152, 40, $0
@@ -4780,25 +4780,25 @@ BattleAnim_Extremespeed: ; cb940
BattleAnim_Ancientpower: ; cb97a
anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 64, 108, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 64, 108, $20
anim_wait 8
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 75, 102, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 75, 102, $20
anim_wait 8
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 85, 97, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 85, 97, $20
anim_wait 8
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 96, 92, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 96, 92, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 106, 87, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 106, 87, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 116, 82, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 116, 82, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 126, 77, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 126, 77, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
anim_obj ANIM_OBJ_00, 136, 56, $0
@@ -4810,7 +4810,7 @@ BattleAnim_ShadowBall: ; cb9c6
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE
anim_bgp $1b
anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_B4, 64, 92, $2
+ anim_obj ANIM_OBJ_SHADOW_BALL, 64, 92, $2
anim_wait 32
anim_obj ANIM_OBJ_BALL_POOF, 132, 56, $10
anim_wait 24
@@ -4822,14 +4822,14 @@ BattleAnim_FutureSight: ; cb9db
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
- anim_obj ANIM_OBJ_7D, 8, 24, $10
- anim_obj ANIM_OBJ_7D, 8, 48, $2
- anim_obj ANIM_OBJ_7D, 8, 88, $8
+ anim_obj ANIM_OBJ_AGILITY, 8, 24, $10
+ anim_obj ANIM_OBJ_AGILITY, 8, 48, $2
+ anim_obj ANIM_OBJ_AGILITY, 8, 88, $8
anim_wait 4
- anim_obj ANIM_OBJ_7D, 8, 32, $6
- anim_obj ANIM_OBJ_7D, 8, 56, $c
- anim_obj ANIM_OBJ_7D, 8, 80, $4
- anim_obj ANIM_OBJ_7D, 8, 104, $e
+ anim_obj ANIM_OBJ_AGILITY, 8, 32, $6
+ anim_obj ANIM_OBJ_AGILITY, 8, 56, $c
+ anim_obj ANIM_OBJ_AGILITY, 8, 80, $4
+ anim_obj ANIM_OBJ_AGILITY, 8, 104, $e
.loop
anim_sound 0, 0, SFX_THROW_BALL
anim_wait 16
@@ -4843,21 +4843,21 @@ BattleAnim_RockSmash: ; cba1b
anim_sound 0, 1, SFX_SPARK
anim_obj ANIM_OBJ_01, 128, 56, $0
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $28
- anim_obj ANIM_OBJ_B5, 128, 64, $5c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $28
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $5c
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $10
- anim_obj ANIM_OBJ_B5, 128, 64, $e8
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $10
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $e8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $9c
- anim_obj ANIM_OBJ_B5, 128, 64, $d0
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $9c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $d0
anim_wait 6
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $1c
- anim_obj ANIM_OBJ_B5, 128, 64, $50
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $1c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $50
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $dc
- anim_obj ANIM_OBJ_B5, 128, 64, $90
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $dc
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $90
anim_wait 32
anim_ret
; cba6a
@@ -5077,9 +5077,9 @@ BattleAnim_SteelWing_branch_cbc43: ; cbc43
anim_sound 0, 0, SFX_SHINE
anim_bgeffect ANIM_BG_17, $0, $1, $40
anim_wait 8
- anim_obj ANIM_OBJ_51, 48, 84, $0
+ anim_obj ANIM_OBJ_HARDEN, 48, 84, $0
anim_wait 32
- anim_obj ANIM_OBJ_51, 48, 84, $0
+ anim_obj ANIM_OBJ_HARDEN, 48, 84, $0
anim_wait 64
anim_incbgeffect ANIM_BG_17
anim_ret
@@ -5100,11 +5100,11 @@ BattleAnim_Moonlight_branch_cbc6a: ; cbc6a
BattleAnim_MorningSun_branch_cbc6a: ; cbc6a
BattleAnim_Synthesis_branch_cbc6a: ; cbc6a
anim_sound 0, 0, SFX_METRONOME
- anim_obj ANIM_OBJ_9D, 44, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 44, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 24, 96, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 96, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
anim_wait 21
anim_ret
; cbc80
@@ -5114,15 +5114,15 @@ BattleAnim_MorningSun_branch_cbc80: ; cbc80
BattleAnim_Synthesis_branch_cbc80: ; cbc80
anim_sound 0, 0, SFX_METRONOME
.loop
- anim_obj ANIM_OBJ_9D, 24, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 24, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 40, 84, $0
+ anim_obj ANIM_OBJ_GLIMMER, 40, 84, $0
anim_wait 5
anim_loop 2, .loop
anim_wait 16
diff --git a/data/moves/effects_priorities.asm b/data/moves/effects_priorities.asm
new file mode 100644
index 000000000..6faa6d032
--- /dev/null
+++ b/data/moves/effects_priorities.asm
@@ -0,0 +1,9 @@
+MoveEffectPriorities: ; 3c5df
+ db EFFECT_PROTECT, 3
+ db EFFECT_ENDURE, 3
+ db EFFECT_PRIORITY_HIT, 2
+ db EFFECT_FORCE_SWITCH, 0
+ db EFFECT_COUNTER, 0
+ db EFFECT_MIRROR_COAT, 0
+ db -1
+; 3c5ec
diff --git a/data/moves/grammar.asm b/data/moves/grammar.asm
new file mode 100644
index 000000000..fe637180c
--- /dev/null
+++ b/data/moves/grammar.asm
@@ -0,0 +1,102 @@
+; Used by GetMoveGrammar (see engine/battle/used_move_text.asm)
+; Each move is given an identifier for what usedmovetext to use (0-4).
+; Made redundant in English localization, where all are just "[mon]¯used [move]!"
+
+MoveGrammar: ; 105e7a
+; 0: originally "[mon]の¯[move]¯つかった!" ("[mon]¯used¯[move]!")
+ db SWORDS_DANCE
+ db GROWTH
+ db STRENGTH
+ db HARDEN
+ db MINIMIZE
+ db SMOKESCREEN
+ db WITHDRAW
+ db DEFENSE_CURL
+ db EGG_BOMB
+ db SMOG
+ db BONE_CLUB
+ db FLASH
+ db SPLASH
+ db ACID_ARMOR
+ db BONEMERANG
+ db REST
+ db SHARPEN
+ db SUBSTITUTE
+ db MIND_READER
+ db SNORE
+ db PROTECT
+ db SPIKES
+ db ENDURE
+ db ROLLOUT
+ db SWAGGER
+ db SLEEP_TALK
+ db HIDDEN_POWER
+ db PSYCH_UP
+ db EXTREMESPEED
+ db 0 ; end set
+
+; 1: originally "[mon]の¯[move]した!" ("[mon]¯did [move]!")
+ db RECOVER
+ db TELEPORT
+ db BIDE
+ db SELFDESTRUCT
+ db AMNESIA
+ db FLAIL
+ db 0 ; end set
+
+; 2: originally "[mon]の¯[move]¯した!" ("[mon]¯did¯[move]!")
+ db MEDITATE
+ db AGILITY
+ db MIMIC
+ db DOUBLE_TEAM
+ db BARRAGE
+ db TRANSFORM
+ db STRUGGLE
+ db SCARY_FACE
+ db 0 ; end set
+
+; 3: originally "[mon]の¯[move] こうげき!" ("[mon]'s¯[move] attack!")
+ db POUND
+ db SCRATCH
+ db VICEGRIP
+ db WING_ATTACK
+ db FLY
+ db BIND
+ db SLAM
+ db HORN_ATTACK
+ db WRAP
+ db THRASH
+ db TAIL_WHIP
+ db LEER
+ db BITE
+ db GROWL
+ db ROAR
+ db SING
+ db PECK
+ db ABSORB
+ db STRING_SHOT
+ db EARTHQUAKE
+ db FISSURE
+ db DIG
+ db TOXIC
+ db SCREECH
+ db METRONOME
+ db LICK
+ db CLAMP
+ db CONSTRICT
+ db POISON_GAS
+ db BUBBLE
+ db SLASH
+ db SPIDER_WEB
+ db NIGHTMARE
+ db CURSE
+ db FORESIGHT
+ db CHARM
+ db ATTRACT
+ db ROCK_SMASH
+ db 0 ; end set
+
+; 4: originally "[mon]の¯[move]!" ("[mon]'s¯[move]!")
+; Any move not listed above uses this grammar.
+ db -1 ; end
+; 105ed0
diff --git a/data/npc_trades.asm b/data/npc_trades.asm
index 57b2411d3..d16670984 100644
--- a/data/npc_trades.asm
+++ b/data/npc_trades.asm
@@ -1,7 +1,3 @@
-TRADE_EITHER_GENDER EQU 0
-TRADE_MALE_ONLY EQU 1
-TRADE_FEMALE_ONLY EQU 2
-
npctrade: MACRO
; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested
db \1, \2, \3, \4, \5, \6, \7
@@ -12,11 +8,11 @@ ENDM
NPCTrades: ; fce58
; entries correspond to NPCTRADE_* constants
- npctrade 0, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
- npctrade 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
- npctrade 1, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade 3, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
- npctrade 2, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
- npctrade 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_GIRL, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
+ npctrade TRADE_DIALOG_NEWBIE, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_GIRL, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
; fcf38
diff --git a/data/palettes/battle_objects.pal b/data/palettes/battle_objects.pal
deleted file mode 100644
index d2ebb6cef..000000000
--- a/data/palettes/battle_objects.pal
+++ /dev/null
@@ -1,30 +0,0 @@
-; gray
- RGB 31, 31, 31
- RGB 25, 25, 25
- RGB 13, 13, 13
- RGB 00, 00, 00
-; yellow
- RGB 31, 31, 31
- RGB 31, 31, 07
- RGB 31, 16, 01
- RGB 00, 00, 00
-; red
- RGB 31, 31, 31
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 00, 00, 00
-; green
- RGB 31, 31, 31
- RGB 12, 25, 01
- RGB 05, 14, 00
- RGB 00, 00, 00
-; blue
- RGB 31, 31, 31
- RGB 08, 12, 31
- RGB 01, 04, 31
- RGB 00, 00, 00
-; brown
- RGB 31, 31, 31
- RGB 24, 18, 07
- RGB 20, 15, 03
- RGB 00, 00, 00
diff --git a/data/palettes/blk_packets.asm b/data/palettes/blk_packets.asm
deleted file mode 100644
index 38f68ad1d..000000000
--- a/data/palettes/blk_packets.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-BlkPacket_9a86:
- db $21, $01, $03, $00, $00, $00, $13, $11, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9a96:
- db $21, $01, $07, $05, $00, $0a, $13, $0d, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9aa6:
- db $22, $05, $07, $0a, $00, $0c, $13, $11, $03, $05, $01, $00, $0a, $03, $03, $00
- db $0a, $08, $13, $0a, $03, $0a, $00, $04, $08, $0b, $03, $0f, $0b, $00, $13, $07
-
-BlkPacket_9ac6:
- db $21, $01, $07, $05, $00, $01, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9ad6:
- db $21, $01, $07, $05, $0b, $01, $13, $02, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9ae6:
- db $21, $01, $07, $05, $01, $01, $08, $08, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9af6:
- db $21, $01, $07, $05, $07, $05, $0d, $0b, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9b06:
- db $22, $05, $03, $05, $00, $00, $13, $0b, $03, $0a, $00, $04, $13, $09, $02, $0f
- db $00, $06, $13, $07, $03, $00, $04, $04, $0f, $09, $03, $00, $00, $0c, $13, $11
-
-BlkPacket_9b26:
- db $23, $07, $07, $10, $00, $00, $02, $0c, $02, $00, $0c, $00, $12, $01, $02, $00
- db $0c, $02, $12, $03, $02, $00, $0c, $04, $12, $05, $02, $00, $0c, $06, $12, $07
- db $02, $00, $0c, $08, $12, $09, $02, $00, $0c, $0a, $12, $0b, $00, $00, $00, $00
-
-BlkPacket_9b56:
- db $22, $03, $07, $20, $00, $00, $13, $04, $03, $0f, $00, $06, $13, $11, $03, $05
- db $0f, $01, $12, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9b76:
- db $21, $01, $07, $10, $00, $00, $13, $05, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9b86:
- db $21, $02, $07, $0a, $00, $04, $13, $0d, $03, $05, $00, $06, $13, $0b, $00, $00
diff --git a/data/palettes/card_flip.pal b/data/palettes/card_flip.pal
deleted file mode 100644
index 24c5566f8..000000000
--- a/data/palettes/card_flip.pal
+++ /dev/null
@@ -1,44 +0,0 @@
- RGB 31, 31, 31
- RGB 17, 07, 31
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 29, 25, 00
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 13, 30
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 08, 17, 30
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 08, 31, 08
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 17, 07, 31
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 17, 07, 31
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 17, 07, 31
- RGB 06, 19, 08
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 00, 00
- RGB 31, 00, 00
diff --git a/data/palettes/credits.pal b/data/palettes/credits.pal
deleted file mode 100644
index c473f0414..000000000
--- a/data/palettes/credits.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-; pichu
- RGB 31,00,31, 31,25,00, 11,14,31, 07,07,07
- RGB 31,05,05, 11,14,31, 11,14,31, 31,31,31
- RGB 31,05,05, 00,00,00, 31,31,31, 31,31,31
-
-; smoochum
- RGB 31,31,31, 31,27,00, 26,06,31, 07,07,07
- RGB 03,13,31, 20,00,24, 26,06,31, 31,31,31
- RGB 03,13,31, 00,00,00, 31,31,31, 31,31,31
-
-; ditto
- RGB 31,31,31, 23,12,28, 31,22,00, 07,07,07
- RGB 03,20,00, 31,22,00, 31,22,00, 31,31,31
- RGB 03,20,00, 00,00,00, 31,31,31, 31,31,31
-
-; igglybuff
- RGB 31,31,31, 31,10,31, 31,00,09, 07,07,07
- RGB 31,14,00, 31,00,09, 31,00,09, 31,31,31
- RGB 31,14,00, 31,31,31, 31,31,31, 31,31,31
diff --git a/data/palettes/crystal_intro/fade.pal b/data/palettes/crystal_intro/fade.pal
deleted file mode 100644
index 8e03cbc43..000000000
--- a/data/palettes/crystal_intro/fade.pal
+++ /dev/null
@@ -1,41 +0,0 @@
-; Fade to white.
-
- RGB 24, 12, 09
- RGB 31, 31, 31
- RGB 12, 00, 31
- RGB 00, 00, 00
-
- RGB 31, 19, 05
- RGB 31, 31, 31
- RGB 15, 05, 31
- RGB 07, 07, 07
-
- RGB 31, 21, 09
- RGB 31, 31, 31
- RGB 18, 09, 31
- RGB 11, 11, 11
-
- RGB 31, 23, 13
- RGB 31, 31, 31
- RGB 21, 13, 31
- RGB 15, 15, 15
-
- RGB 31, 25, 17
- RGB 31, 31, 31
- RGB 25, 17, 31
- RGB 19, 19, 19
-
- RGB 31, 27, 21
- RGB 31, 31, 31
- RGB 27, 21, 31
- RGB 23, 23, 23
-
- RGB 31, 29, 25
- RGB 31, 31, 31
- RGB 29, 26, 31
- RGB 27, 27, 27
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
diff --git a/data/palettes/crystal_intro/gamefreak_logo.pal b/data/palettes/crystal_intro/gamefreak_logo.pal
deleted file mode 100644
index c3a526b82..000000000
--- a/data/palettes/crystal_intro/gamefreak_logo.pal
+++ /dev/null
@@ -1,23 +0,0 @@
-; Ditto's color as it turns into the Game Freak logo.
-; Fade from pink to orange.
-; One color per step.
-
- RGB 23, 12, 28
- RGB 23, 12, 27
- RGB 23, 13, 26
- RGB 23, 13, 24
-
- RGB 24, 14, 22
- RGB 24, 14, 20
- RGB 24, 15, 18
- RGB 24, 15, 16
-
- RGB 25, 16, 14
- RGB 25, 16, 12
- RGB 25, 17, 10
- RGB 25, 17, 08
-
- RGB 26, 18, 06
- RGB 26, 18, 04
- RGB 26, 19, 02
- RGB 26, 19, 00
diff --git a/data/palettes/crystal_intro/intro_1.pal b/data/palettes/crystal_intro/intro_1.pal
deleted file mode 100644
index ae0faadac..000000000
--- a/data/palettes/crystal_intro/intro_1.pal
+++ /dev/null
@@ -1,79 +0,0 @@
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 0, 4, 5
- RGB 1, 8, 5
- RGB 4, 12, 9
- RGB 24, 12, 9
-
- RGB 0, 4, 5
- RGB 9, 6, 8
- RGB 8, 16, 5
- RGB 5, 10, 4
-
- RGB 31, 31, 31
- RGB 9, 6, 8
- RGB 18, 9, 9
- RGB 13, 8, 9
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 2, 5, 22
- RGB 1, 5, 12
-
- RGB 31, 31, 31
- RGB 31, 10, 25
- RGB 31, 21, 0
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 21, 31
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
diff --git a/data/palettes/crystal_intro/intro_2.pal b/data/palettes/crystal_intro/intro_2.pal
deleted file mode 100644
index 5f83df020..000000000
--- a/data/palettes/crystal_intro/intro_2.pal
+++ /dev/null
@@ -1,79 +0,0 @@
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 10, 0, 10
- RGB 19, 0, 19
- RGB 31, 0, 31
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
diff --git a/data/palettes/crystal_intro/intro_3.pal b/data/palettes/crystal_intro/intro_3.pal
deleted file mode 100644
index 95f3e052a..000000000
--- a/data/palettes/crystal_intro/intro_3.pal
+++ /dev/null
@@ -1,79 +0,0 @@
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
diff --git a/data/palettes/crystal_intro/intro_4.pal b/data/palettes/crystal_intro/intro_4.pal
deleted file mode 100644
index fdcf058de..000000000
--- a/data/palettes/crystal_intro/intro_4.pal
+++ /dev/null
@@ -1,79 +0,0 @@
- RGB 24, 12, 9
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 24, 12, 9
- RGB 31, 31, 31
- RGB 8, 9, 31
- RGB 0, 0, 0
-
- RGB 24, 12, 9
- RGB 12, 20, 31
- RGB 19, 8, 31
- RGB 0, 0, 0
-
- RGB 12, 20, 31
- RGB 8, 9, 31
- RGB 19, 8, 31
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 12, 20, 31
- RGB 8, 9, 31
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
diff --git a/data/palettes/crystal_intro/intro_5.pal b/data/palettes/crystal_intro/intro_5.pal
deleted file mode 100644
index 5b1be1a5f..000000000
--- a/data/palettes/crystal_intro/intro_5.pal
+++ /dev/null
@@ -1,79 +0,0 @@
- RGB 24, 12, 9
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 24, 12, 9
- RGB 31, 31, 31
- RGB 8, 9, 31
- RGB 0, 0, 0
-
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
-
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
-
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
-
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
-
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
-
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
- RGB 24, 12, 9
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 12, 0, 31
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 21, 9, 0
- RGB 21, 9, 0
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
-
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 11, 11, 11
- RGB 0, 0, 0
diff --git a/data/palettes/debug/bg.pal b/data/palettes/debug/bg.pal
deleted file mode 100644
index d0b573598..000000000
--- a/data/palettes/debug/bg.pal
+++ /dev/null
@@ -1,43 +0,0 @@
- ; white
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- ; red
- RGB 31, 00, 00
- RGB 31, 00, 00
- RGB 31, 00, 00
- RGB 00, 00, 00
-
- ; green
- RGB 00, 31, 00
- RGB 00, 31, 00
- RGB 00, 31, 00
- RGB 00, 00, 00
-
- ; blue
- RGB 00, 00, 31
- RGB 00, 00, 31
- RGB 00, 00, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
diff --git a/data/palettes/debug/ob.pal b/data/palettes/debug/ob.pal
deleted file mode 100644
index 2a03f4e8f..000000000
--- a/data/palettes/debug/ob.pal
+++ /dev/null
@@ -1,42 +0,0 @@
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
-
- ; red
- RGB 31, 31, 31
- RGB 31, 00, 00
- RGB 31, 00, 00
- RGB 00, 00, 00
-
- ; green
- RGB 31, 31, 31
- RGB 00, 31, 00
- RGB 00, 31, 00
- RGB 00, 00, 00
-
- ; blue
- RGB 31, 31, 31
- RGB 00, 00, 31
- RGB 00, 00, 31
- RGB 00, 00, 00
diff --git a/data/palettes/diploma.pal b/data/palettes/diploma.pal
deleted file mode 100644
index 2c9ec6453..000000000
--- a/data/palettes/diploma.pal
+++ /dev/null
@@ -1,39 +0,0 @@
- RGB 27, 31, 27
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 07, 06
- RGB 20, 02, 03
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 10, 31, 09
- RGB 04, 14, 01
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 08, 12, 31
- RGB 01, 04, 31
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 31, 07
- RGB 31, 16, 01
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 22, 16, 08
- RGB 13, 07, 01
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 15, 31, 31
- RGB 05, 17, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 11, 11, 19
- RGB 07, 07, 12
- RGB 00, 00, 00
diff --git a/data/palettes/exp_bar.pal b/data/palettes/exp_bar.pal
deleted file mode 100644
index 831bbda95..000000000
--- a/data/palettes/exp_bar.pal
+++ /dev/null
@@ -1,3 +0,0 @@
-; blue
- RGB 30, 26, 15
- RGB 04, 17, 31
diff --git a/data/palettes/hp_bar.pal b/data/palettes/hp_bar.pal
deleted file mode 100644
index 909be8efd..000000000
--- a/data/palettes/hp_bar.pal
+++ /dev/null
@@ -1,9 +0,0 @@
-; green
- RGB 30, 26, 15
- RGB 00, 23, 00
-; yellow
- RGB 30, 26, 15
- RGB 31, 21, 00
-; red
- RGB 30, 26, 15
- RGB 31, 00, 00
diff --git a/data/palettes/mail.pal b/data/palettes/mail.pal
deleted file mode 100644
index 4096ffae1..000000000
--- a/data/palettes/mail.pal
+++ /dev/null
@@ -1,49 +0,0 @@
- RGB 20, 31, 11
- RGB 31, 19, 00
- RGB 31, 10, 09
- RGB 00, 00, 00
-
- RGB 15, 20, 31
- RGB 30, 26, 00
- RGB 31, 12, 00
- RGB 00, 00, 00
-
- RGB 24, 17, 31
- RGB 30, 26, 00
- RGB 08, 11, 31
- RGB 00, 00, 00
-
- RGB 31, 25, 17
- RGB 31, 18, 04
- RGB 28, 12, 05
- RGB 00, 00, 00
-
- RGB 19, 26, 31
- RGB 31, 05, 08
- RGB 31, 09, 31
- RGB 00, 00, 00
-
- RGB 31, 19, 28
- RGB 31, 21, 00
- RGB 12, 22, 00
- RGB 00, 00, 00
-
- RGB 19, 17, 23
- RGB 30, 26, 00
- RGB 31, 12, 00
- RGB 00, 00, 00
-
- RGB 07, 26, 31
- RGB 26, 26, 27
- RGB 31, 11, 11
- RGB 00, 00, 00
-
- RGB 21, 31, 21
- RGB 30, 26, 00
- RGB 31, 12, 00
- RGB 00, 00, 00
-
- RGB 07, 26, 31
- RGB 31, 31, 00
- RGB 00, 21, 00
- RGB 00, 00, 00
diff --git a/data/palettes/mg_mobile.pal b/data/palettes/mg_mobile.pal
deleted file mode 100644
index c77e8c63f..000000000
--- a/data/palettes/mg_mobile.pal
+++ /dev/null
@@ -1,24 +0,0 @@
- RGB 03, 07, 09
- RGB 26, 31, 00
- RGB 20, 16, 03
- RGB 31, 31, 31
-
- RGB 13, 24, 29
- RGB 11, 16, 30
- RGB 07, 11, 22
- RGB 05, 06, 18
-
- RGB 31, 31, 31
- RGB 20, 26, 31
- RGB 13, 24, 29
- RGB 11, 16, 30
-
- RGB 31, 31, 31
- RGB 20, 26, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 20, 16, 08
- RGB 31, 00, 00
- RGB 00, 00, 00
diff --git a/data/palettes/overworld/bg_text.pal b/data/palettes/overworld/bg_text.pal
deleted file mode 100644
index 39a4a194c..000000000
--- a/data/palettes/overworld/bg_text.pal
+++ /dev/null
@@ -1,4 +0,0 @@
- RGB 31, 31, 31
- RGB 08, 19, 28
- RGB 05, 05, 16
- RGB 00, 00, 00
diff --git a/data/palettes/overworld/map_objects.pal b/data/palettes/overworld/map_objects.pal
deleted file mode 100644
index b0f33479a..000000000
--- a/data/palettes/overworld/map_objects.pal
+++ /dev/null
@@ -1,39 +0,0 @@
-; morn
- RGB 28,31,16, 31,19,10, 31,07,01, 00,00,00 ; red
- RGB 28,31,16, 31,19,10, 10,09,31, 00,00,00 ; blue
- RGB 28,31,16, 31,19,10, 07,23,03, 00,00,00 ; green
- RGB 28,31,16, 31,19,10, 15,10,03, 00,00,00 ; brown
- RGB 28,31,16, 31,19,10, 30,10,06, 00,00,00 ; pink
- RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver
- RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree
- RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; rock
-
-; day
- RGB 27,31,27, 31,19,10, 31,07,01, 00,00,00 ; red
- RGB 27,31,27, 31,19,10, 10,09,31, 00,00,00 ; blue
- RGB 27,31,27, 31,19,10, 07,23,03, 00,00,00 ; green
- RGB 27,31,27, 31,19,10, 15,10,03, 00,00,00 ; brown
- RGB 27,31,27, 31,19,10, 30,10,06, 00,00,00 ; pink
- RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver
- RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; tree
- RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; rock
-
-; nite
- RGB 15,14,24, 31,19,10, 31,07,01, 00,00,00 ; red
- RGB 15,14,24, 31,19,10, 10,09,31, 00,00,00 ; blue
- RGB 15,14,24, 31,19,10, 07,23,03, 00,00,00 ; green
- RGB 15,14,24, 31,19,10, 15,10,03, 00,00,00 ; brown
- RGB 15,14,24, 31,19,10, 30,10,06, 00,00,00 ; pink
- RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver
- RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; tree
- RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; rock
-
-; dark
- RGB 01,01,02, 31,19,10, 31,07,01, 00,00,00 ; red
- RGB 01,01,02, 31,19,10, 10,09,31, 00,00,00 ; blue
- RGB 01,01,02, 31,19,10, 07,23,03, 00,00,00 ; green
- RGB 01,01,02, 31,19,10, 15,10,03, 00,00,00 ; brown
- RGB 01,01,02, 31,19,10, 30,10,06, 00,00,00 ; pink
- RGB 31,31,31, 31,31,31, 13,13,13, 00,00,00 ; silver
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; tree
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; rock
diff --git a/data/palettes/overworld/roofs.pal b/data/palettes/overworld/roofs.pal
deleted file mode 100644
index ba65fc7d2..000000000
--- a/data/palettes/overworld/roofs.pal
+++ /dev/null
@@ -1,161 +0,0 @@
-; group 0 (unused)
- RGB 21, 21, 21
- RGB 11, 11, 11
- RGB 21, 21, 21
- RGB 11, 11, 11
-
-; group 1 (Olivine)
- RGB 14, 17, 31
- RGB 07, 11, 15
- RGB 09, 09, 17
- RGB 05, 07, 13
-
-; group 2 (Mahogany)
- RGB 12, 19, 00
- RGB 06, 10, 00
- RGB 06, 09, 07
- RGB 04, 05, 06
-
-; group 3
- RGB 21, 21, 21
- RGB 11, 11, 11
- RGB 21, 21, 21
- RGB 17, 08, 07
-
-; group 4 (Ecruteak)
- RGB 31, 19, 00
- RGB 27, 10, 05
- RGB 15, 07, 02
- RGB 11, 04, 02
-
-; group 5 (Blackthorn)
- RGB 11, 10, 16
- RGB 05, 06, 07
- RGB 03, 04, 08
- RGB 00, 00, 00
-
-; group 6 (Cinnabar)
- RGB 31, 10, 00
- RGB 18, 06, 00
- RGB 18, 05, 09
- RGB 17, 08, 07
-
-; group 7 (Cerulean)
- RGB 17, 27, 31
- RGB 05, 15, 31
- RGB 07, 08, 22
- RGB 07, 07, 16
-
-; group 8 (Azalea)
- RGB 22, 20, 10
- RGB 17, 14, 03
- RGB 11, 11, 05
- RGB 10, 09, 07
-
-; group 9 (Lake of Rage)
- RGB 31, 08, 04
- RGB 09, 09, 08
- RGB 18, 05, 09
- RGB 09, 09, 08
-
-; group 10 (Violet)
- RGB 24, 14, 31
- RGB 13, 07, 21
- RGB 12, 03, 18
- RGB 09, 03, 15
-
-; group 11 (Goldenrod)
- RGB 25, 25, 00
- RGB 20, 17, 08
- RGB 12, 12, 00
- RGB 10, 09, 05
-
-; group 12 (Vermilion)
- RGB 27, 23, 01
- RGB 23, 11, 00
- RGB 15, 11, 01
- RGB 11, 10, 01
-
-; group 13 (Pallet)
- RGB 27, 28, 31
- RGB 17, 19, 22
- RGB 14, 14, 18
- RGB 10, 09, 13
-
-; group 14 (Pewter)
- RGB 19, 19, 16
- RGB 10, 12, 15
- RGB 09, 09, 11
- RGB 04, 05, 07
-
-; group 15 (Mount Moon Square)
- RGB 14, 17, 31
- RGB 07, 11, 15
- RGB 09, 13, 19
- RGB 07, 07, 16
-
-; group 16 (Route 23)
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 11, 11, 19
- RGB 07, 07, 12
-
-; group 17 (Fuchsia)
- RGB 31, 18, 29
- RGB 17, 13, 20
- RGB 14, 06, 12
- RGB 11, 03, 10
-
-; group 18 (Lavender)
- RGB 23, 15, 31
- RGB 16, 05, 31
- RGB 12, 07, 17
- RGB 08, 06, 10
-
-; group 19 (Route 28)
- RGB 21, 21, 25
- RGB 16, 16, 16
- RGB 13, 13, 13
- RGB 07, 07, 07
-
-; group 20
- RGB 21, 21, 21
- RGB 11, 11, 11
- RGB 21, 21, 21
- RGB 11, 11, 11
-
-; group 21 (Celadon)
- RGB 19, 31, 15
- RGB 31, 22, 02
- RGB 12, 13, 09
- RGB 09, 12, 03
-
-; group 22 (Cianwood)
- RGB 15, 10, 31
- RGB 07, 05, 15
- RGB 06, 05, 17
- RGB 02, 02, 08
-
-; group 23 (Viridian)
- RGB 21, 31, 07
- RGB 13, 25, 04
- RGB 09, 14, 08
- RGB 06, 10, 04
-
-; group 24 (New Bark)
- RGB 20, 31, 14
- RGB 11, 23, 05
- RGB 09, 13, 08
- RGB 06, 09, 04
-
-; group 25 (Saffron)
- RGB 31, 26, 00
- RGB 31, 15, 00
- RGB 13, 13, 01
- RGB 08, 08, 01
-
-; group 26 (Cherrygrove)
- RGB 31, 14, 28
- RGB 31, 05, 21
- RGB 14, 07, 17
- RGB 13, 00, 08
diff --git a/data/palettes/overworld/tileset_bg.pal b/data/palettes/overworld/tileset_bg.pal
deleted file mode 100644
index e56746536..000000000
--- a/data/palettes/overworld/tileset_bg.pal
+++ /dev/null
@@ -1,61 +0,0 @@
-; morn
- RGB 28,31,16, 21,21,21, 13,13,13, 07,07,07 ; gray
- RGB 28,31,16, 31,19,24, 30,10,06, 07,07,07 ; red
- RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; green
- RGB 31,31,31, 08,12,31, 01,04,31, 07,07,07 ; water
- RGB 28,31,16, 31,31,07, 31,16,01, 07,07,07 ; yellow
- RGB 28,31,16, 24,18,07, 20,15,03, 07,07,07 ; brown
- RGB 28,31,16, 15,31,31, 05,17,31, 07,07,07 ; roof
- RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
-
-; day
- RGB 27,31,27, 21,21,21, 13,13,13, 07,07,07 ; gray
- RGB 27,31,27, 31,19,24, 30,10,06, 07,07,07 ; red
- RGB 22,31,10, 12,25,01, 05,14,00, 07,07,07 ; green
- RGB 31,31,31, 08,12,31, 01,04,31, 07,07,07 ; water
- RGB 27,31,27, 31,31,07, 31,16,01, 07,07,07 ; yellow
- RGB 27,31,27, 24,18,07, 20,15,03, 07,07,07 ; brown
- RGB 27,31,27, 15,31,31, 05,17,31, 07,07,07 ; roof
- RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
-
-; nite
- RGB 15,14,24, 11,11,19, 07,07,12, 00,00,00 ; gray
- RGB 15,14,24, 14,07,17, 13,00,08, 00,00,00 ; red
- RGB 15,14,24, 08,13,19, 00,11,13, 00,00,00 ; green
- RGB 15,14,24, 05,05,17, 03,03,10, 00,00,00 ; water
- RGB 30,30,11, 16,14,18, 16,14,10, 00,00,00 ; yellow
- RGB 15,14,24, 12,09,15, 08,04,05, 00,00,00 ; brown
- RGB 15,14,24, 13,12,23, 11,09,20, 00,00,00 ; roof
- RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
-
-; dark
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; gray
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; red
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; green
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; water
- RGB 30,30,11, 00,00,00, 00,00,00, 00,00,00 ; yellow
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; brown
- RGB 01,01,02, 00,00,00, 00,00,00, 00,00,00 ; roof
- RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
-
-; indoor
- RGB 30,28,26, 19,19,19, 13,13,13, 07,07,07 ; gray
- RGB 30,28,26, 31,19,24, 30,10,06, 07,07,07 ; red
- RGB 18,24,09, 15,20,01, 09,13,00, 07,07,07 ; green
- RGB 30,28,26, 15,16,31, 09,09,31, 07,07,07 ; water
- RGB 30,28,26, 31,31,07, 31,16,01, 07,07,07 ; yellow
- RGB 26,24,17, 21,17,07, 16,13,03, 07,07,07 ; brown
- RGB 30,28,26, 17,19,31, 14,16,31, 07,07,07 ; roof
- RGB 31,31,16, 31,31,16, 14,09,00, 00,00,00 ; text
-
-; overworld water
-; morn/day
- RGB 23, 23, 31
- RGB 18, 19, 31
- RGB 13, 12, 31
- RGB 07, 07, 07
-; nite
- RGB 15, 13, 27
- RGB 10, 09, 20
- RGB 04, 03, 18
- RGB 00, 00, 00 \ No newline at end of file
diff --git a/data/palettes/pack.pal b/data/palettes/pack.pal
deleted file mode 100644
index e8b4979bb..000000000
--- a/data/palettes/pack.pal
+++ /dev/null
@@ -1,29 +0,0 @@
- RGB 31, 31, 31
- RGB 15, 15, 31
- RGB 00, 00, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 15, 15, 31
- RGB 00, 00, 31
- RGB 00, 00, 00
-
- RGB 31, 11, 31
- RGB 15, 15, 31
- RGB 00, 00, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 15, 15, 31
- RGB 00, 00, 31
- RGB 31, 00, 00
-
- RGB 31, 31, 31
- RGB 15, 15, 31
- RGB 31, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 07, 19, 07
- RGB 07, 19, 07
- RGB 00, 00, 00
diff --git a/data/palettes/pack_f.pal b/data/palettes/pack_f.pal
deleted file mode 100644
index a962d97d1..000000000
--- a/data/palettes/pack_f.pal
+++ /dev/null
@@ -1,29 +0,0 @@
- RGB 31, 31, 31
- RGB 31, 14, 31
- RGB 31, 07, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 14, 31
- RGB 31, 07, 31
- RGB 00, 00, 00
-
- RGB 15, 15, 31
- RGB 31, 14, 31
- RGB 31, 07, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 14, 31
- RGB 31, 07, 31
- RGB 31, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 14, 31
- RGB 31, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 07, 19, 07
- RGB 07, 19, 07
- RGB 00, 00, 00
diff --git a/data/palettes/pal_packets.asm b/data/palettes/pal_packets.asm
deleted file mode 100644
index 57cd9e492..000000000
--- a/data/palettes/pal_packets.asm
+++ /dev/null
@@ -1,113 +0,0 @@
-PalPacket_9b96:
- db $51, $48, $00, $49, $00, $4a, $00, $4b, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9ba6:
- db $51, $2b, $00, $24, $00, $20, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bb6:
- db $51, $41, $00, $42, $00, $43, $00, $44, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bc6:
- db $51, $4c, $00, $4c, $00, $4c, $00, $4c, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bd6:
- db $51, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9be6:
- db $51, $36, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bf6:
- db $51, $37, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c06:
- db $51, $38, $00, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c16:
- db $51, $3a, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c26:
- db $51, $3b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c36:
- db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c46:
- db $51, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c56:
- db $51, $2e, $00, $2f, $00, $30, $00, $31, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c66:
- db $51, $1a, $00, $1a, $00, $1a, $00, $1a, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c76:
- db $51, $32, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c86:
- db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c96:
- db $51, $3d, $00, $3e, $00, $3f, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9ca6:
- db $51, $33, $00, $34, $00, $1b, $00, $1f, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cb6:
- db $51, $1b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cc6:
- db $51, $1c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cd6:
- db $51, $35, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9ce6:
- db $01, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cf6:
- db $09, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d06:
- db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d16:
- db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d26:
- db $89, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d36:
- db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d46:
- db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d56:
- db $b9, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d66:
- db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d76:
- db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d86:
- db $79, $52, $08, $00, $0b, $a9, $e7, $9f, $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0
-
-PalPacket_9d96:
- db $79, $47, $08, $00, $0b, $c4, $d0, $16, $a5, $cb, $c9, $05, $d0, $10, $a2, $28
-
-PalPacket_9da6:
- db $79, $3c, $08, $00, $0b, $f0, $12, $a5, $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9
-
-PalPacket_9db6:
- db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e
-
-PalPacket_9dc6:
- db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0
-
-PalPacket_9dd6:
- db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0
-
-PalPacket_9de6:
- db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea
diff --git a/data/palettes/party_menu.pal b/data/palettes/party_menu.pal
deleted file mode 100644
index 70af517be..000000000
--- a/data/palettes/party_menu.pal
+++ /dev/null
@@ -1,69 +0,0 @@
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 31, 07, 04
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 10, 14, 20
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 31, 07, 04
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 31, 07, 04
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 31, 07, 04
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 31, 07, 04
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 31, 07, 04
- RGB 00, 00, 00
-
- RGB 27, 31, 27
- RGB 31, 19, 10
- RGB 31, 07, 04
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 07, 07, 07
-
- RGB 31, 31, 31
- RGB 31, 31, 07
- RGB 31, 16, 01
- RGB 07, 07, 07
-
- RGB 31, 31, 31
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 07, 07, 07
-
- RGB 31, 31, 31
- RGB 12, 25, 01
- RGB 05, 14, 00
- RGB 07, 07, 07
-
- RGB 31, 31, 31
- RGB 08, 12, 31
- RGB 01, 04, 31
- RGB 07, 07, 07
-
- RGB 31, 31, 31
- RGB 24, 18, 07
- RGB 20, 15, 03
- RGB 07, 07, 07
diff --git a/data/palettes/pokegear.pal b/data/palettes/pokegear.pal
deleted file mode 100644
index 397986dec..000000000
--- a/data/palettes/pokegear.pal
+++ /dev/null
@@ -1,29 +0,0 @@
- RGB 28, 31, 20
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 00, 00, 31
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 15, 07, 00
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 31, 15, 00
- RGB 15, 07, 00
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 00, 00, 31
- RGB 31, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 15, 07, 00
- RGB 31, 00, 00
diff --git a/data/palettes/pokegear_f.pal b/data/palettes/pokegear_f.pal
deleted file mode 100644
index 3f797c866..000000000
--- a/data/palettes/pokegear_f.pal
+++ /dev/null
@@ -1,29 +0,0 @@
- RGB 28, 31, 20
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 00, 00, 31
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 15, 07, 00
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 10, 18, 31
- RGB 13, 06, 31
- RGB 00, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 00, 00, 31
- RGB 31, 00, 00
-
- RGB 28, 31, 20
- RGB 00, 31, 00
- RGB 15, 07, 00
- RGB 31, 00, 00
diff --git a/data/palettes/predef.pal b/data/palettes/predef.pal
deleted file mode 100644
index 15d9000fb..000000000
--- a/data/palettes/predef.pal
+++ /dev/null
@@ -1,395 +0,0 @@
-; $00
- RGB 31, 31, 31
- RGB 22, 25, 19
- RGB 16, 21, 30
- RGB 00, 00, 00
-; $01
- RGB 31, 31, 31
- RGB 27, 28, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $02
- RGB 31, 31, 31
- RGB 24, 28, 19
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $03
- RGB 31, 31, 31
- RGB 24, 24, 24
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $04
- RGB 31, 31, 31
- RGB 21, 23, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $05
- RGB 31, 31, 31
- RGB 24, 21, 27
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $06
- RGB 31, 31, 31
- RGB 31, 24, 16
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $07
- RGB 31, 31, 31
- RGB 25, 30, 26
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $08
- RGB 31, 31, 31
- RGB 31, 25, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $09
- RGB 31, 31, 31
- RGB 31, 20, 19
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0a
- RGB 31, 31, 31
- RGB 31, 26, 19
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0b
- RGB 31, 31, 31
- RGB 27, 28, 27
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0c
- RGB 31, 31, 31
- RGB 24, 30, 23
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0d
- RGB 31, 31, 31
- RGB 29, 24, 29
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0e
- RGB 31, 31, 31
- RGB 26, 23, 29
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0f
- RGB 31, 31, 31
- RGB 25, 23, 20
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $10
- RGB 31, 31, 31
- RGB 29, 26, 18
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $11
- RGB 31, 31, 31
- RGB 31, 21, 18
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $12
- RGB 31, 31, 31
- RGB 26, 25, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $13
- RGB 31, 31, 31
- RGB 22, 21, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $14
- RGB 31, 31, 31
- RGB 22, 25, 21
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $15
- RGB 31, 31, 31
- RGB 21, 21, 22
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $16
- RGB 31, 31, 31
- RGB 31, 20, 20
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $17
- RGB 31, 31, 31
- RGB 26, 26, 26
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $18
- RGB 31, 31, 31
- RGB 21, 14, 09
- RGB 15, 20, 20
- RGB 00, 00, 00
-; $19
- RGB 31, 31, 31
- RGB 12, 28, 22
- RGB 15, 20, 20
- RGB 00, 00, 00
-; $1a
- RGB 31, 31, 31
- RGB 07, 07, 07
- RGB 02, 03, 03
- RGB 00, 00, 00
-; $1b
- RGB 31, 31, 31
- RGB 30, 22, 17
- RGB 16, 14, 19
- RGB 00, 00, 00
-; $1c
- RGB 31, 31, 31
- RGB 18, 20, 27
- RGB 11, 15, 23
- RGB 00, 00, 00
-; $1d
- RGB 31, 31, 31
- RGB 31, 20, 10
- RGB 26, 10, 06
- RGB 00, 00, 00
-; $1e
- RGB 31, 31, 31
- RGB 21, 25, 29
- RGB 14, 19, 25
- RGB 00, 00, 00
-; $1f
- RGB 31, 31, 31
- RGB 27, 22, 24
- RGB 21, 15, 23
- RGB 00, 00, 00
-; $20
- RGB 31, 31, 31
- RGB 28, 20, 15
- RGB 21, 14, 09
- RGB 00, 00, 00
-; $21
- RGB 31, 31, 31
- RGB 20, 26, 16
- RGB 09, 20, 11
- RGB 00, 00, 00
-; $22
- RGB 31, 31, 31
- RGB 30, 22, 24
- RGB 28, 15, 21
- RGB 00, 00, 00
-; $23
- RGB 31, 31, 31
- RGB 31, 28, 14
- RGB 26, 20, 00
- RGB 00, 00, 00
-; $24
- RGB 31, 31, 31
- RGB 26, 21, 22
- RGB 15, 15, 18
- RGB 00, 00, 00
-; $25
- RGB 31, 31, 31
- RGB 23, 19, 13
- RGB 14, 12, 17
- RGB 00, 00, 00
-; $26
- RGB 31, 31, 31
- RGB 16, 18, 21
- RGB 10, 12, 18
- RGB 00, 00, 00
-; $27
- RGB 31, 31, 31
- RGB 22, 15, 16
- RGB 17, 02, 05
- RGB 00, 00, 00
-; $28
- RGB 31, 31, 31
- RGB 15, 20, 20
- RGB 05, 16, 16
- RGB 00, 00, 00
-; $29
- RGB 31, 31, 31
- RGB 23, 15, 19
- RGB 14, 04, 12
- RGB 00, 00, 00
-; $2a
- RGB 31, 31, 31
- RGB 20, 17, 18
- RGB 18, 13, 11
- RGB 00, 00, 00
-; $2b
- RGB 31, 31, 31
- RGB 23, 21, 16
- RGB 12, 12, 10
- RGB 00, 00, 00
-; $2c
- RGB 31, 31, 31
- RGB 21, 25, 29
- RGB 30, 22, 24
- RGB 00, 00, 00
-; $2d
- RGB 31, 31, 31
- RGB 26, 23, 16
- RGB 29, 14, 09
- RGB 00, 00, 00
-; $2e
- RGB 31, 31, 31
- RGB 18, 18, 18
- RGB 10, 10, 10
- RGB 00, 00, 00
-; $2f
- RGB 31, 31, 31
- RGB 30, 26, 15
- RGB 00, 23, 00
- RGB 00, 00, 00
-; $30
- RGB 31, 31, 31
- RGB 30, 26, 15
- RGB 31, 23, 00
- RGB 00, 00, 00
-; $31
- RGB 31, 31, 31
- RGB 30, 26, 15
- RGB 31, 00, 00
- RGB 00, 00, 00
-; $32
- RGB 31, 31, 31
- RGB 29, 26, 19
- RGB 27, 20, 14
- RGB 00, 00, 00
-; $33
- RGB 31, 31, 31
- RGB 24, 20, 10
- RGB 21, 00, 04
- RGB 00, 00, 00
-; $34
- RGB 31, 31, 31
- RGB 31, 20, 10
- RGB 21, 00, 04
- RGB 00, 00, 00
-; $35
- RGB 31, 31, 31
- RGB 30, 26, 16
- RGB 16, 12, 09
- RGB 00, 00, 00
-; $36
- RGB 31, 31, 31
- RGB 15, 28, 26
- RGB 12, 22, 26
- RGB 03, 16, 14
-; $37
- RGB 31, 31, 31
- RGB 15, 28, 26
- RGB 23, 24, 24
- RGB 00, 00, 00
-; $38
- RGB 31, 31, 24
- RGB 07, 27, 19
- RGB 26, 20, 10
- RGB 19, 12, 08
-; $39
- RGB 31, 31, 31
- RGB 31, 28, 14
- RGB 31, 13, 31
- RGB 00, 00, 00
-; $3a
- RGB 31, 31, 31
- RGB 16, 18, 21
- RGB 10, 12, 18
- RGB 00, 00, 00
-; $3b
- RGB 31, 31, 31
- RGB 23, 21, 16
- RGB 12, 12, 10
- RGB 00, 00, 00
-; $3c
- RGB 31, 31, 31
- RGB 31, 14, 00
- RGB 07, 11, 15
- RGB 00, 00, 00
-; $3d
- RGB 31, 31, 31
- RGB 26, 21, 22
- RGB 26, 10, 06
- RGB 00, 00, 00
-; $3e
- RGB 31, 31, 31
- RGB 30, 27, 04
- RGB 24, 20, 11
- RGB 00, 00, 00
-; $3f
- RGB 31, 31, 31
- RGB 31, 13, 25
- RGB 24, 20, 11
- RGB 00, 00, 00
-; $40
- RGB 31, 31, 31
- RGB 16, 19, 29
- RGB 24, 20, 11
- RGB 00, 00, 00
-; $41
- RGB 31, 31, 31
- RGB 30, 22, 24
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $42
- RGB 31, 31, 31
- RGB 21, 25, 29
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $43
- RGB 31, 31, 31
- RGB 20, 26, 16
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $44
- RGB 31, 31, 31
- RGB 31, 28, 14
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $45
- RGB 31, 31, 31
- RGB 18, 18, 18
- RGB 26, 10, 06
- RGB 00, 00, 00
-; $46
- RGB 31, 31, 31
- RGB 30, 22, 24
- RGB 28, 15, 21
- RGB 00, 00, 00
-; $47
- RGB 31, 31, 31
- RGB 26, 20, 00
- RGB 16, 19, 29
- RGB 00, 00, 00
-; $48
- RGB 31, 31, 31
- RGB 16, 02, 30
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $49
- RGB 31, 31, 31
- RGB 16, 13, 04
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $4a
- RGB 31, 31, 31
- RGB 28, 04, 02
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $4b
- RGB 31, 31, 31
- RGB 18, 23, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $4c
- RGB 31, 31, 31
- RGB 24, 20, 11
- RGB 18, 13, 11
- RGB 00, 00, 00
-; $4d
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 25, 30, 00
- RGB 25, 30, 00
-; $4e
- RGB 00, 00, 00
- RGB 08, 11, 11
- RGB 21, 21, 21
- RGB 31, 31, 31
diff --git a/data/palettes/sgb_border.pal b/data/palettes/sgb_border.pal
deleted file mode 100644
index fd5aec402..000000000
--- a/data/palettes/sgb_border.pal
+++ /dev/null
@@ -1,79 +0,0 @@
- RGB 24, 06, 06
- RGB 24, 24, 26
- RGB 14, 15, 20
- RGB 04, 07, 10
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 18, 24, 18
- RGB 31, 26, 15
- RGB 26, 19, 10
- RGB 12, 07, 05
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 18, 06, 31
- RGB 31, 31, 29
- RGB 31, 12, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 12, 31, 06
- RGB 22, 26, 30
- RGB 16, 17, 21
- RGB 00, 03, 00
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
-
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
- RGB 31, 31, 25
diff --git a/data/palettes/slot_machine.pal b/data/palettes/slot_machine.pal
deleted file mode 100644
index 0eec479f2..000000000
--- a/data/palettes/slot_machine.pal
+++ /dev/null
@@ -1,79 +0,0 @@
- RGB 31, 31, 31
- RGB 24, 25, 28
- RGB 24, 24, 09
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 30, 10, 06
- RGB 24, 24, 09
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 15, 31, 00
- RGB 24, 24, 09
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 15, 31
- RGB 24, 24, 09
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 15, 21, 31
- RGB 24, 24, 09
- RGB 00, 00, 00
-
- RGB 31, 31, 11
- RGB 31, 31, 06
- RGB 24, 24, 09
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 16, 19, 29
- RGB 25, 22, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 30, 10, 06
- RGB 31, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 12, 25, 01
- RGB 05, 14, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 12, 25, 01
- RGB 30, 10, 06
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 06
- RGB 20, 15, 03
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 06
- RGB 15, 21, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 06
- RGB 20, 15, 03
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 24, 21
- RGB 31, 13, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
diff --git a/data/palettes/tilesets/battle_tower.pal b/data/palettes/tilesets/battle_tower.pal
deleted file mode 100644
index 4e71a5575..000000000
--- a/data/palettes/tilesets/battle_tower.pal
+++ /dev/null
@@ -1,40 +0,0 @@
-; gray
- RGB 30, 28, 26
- RGB 19, 19, 19
- RGB 13, 13, 13
- RGB 07, 07, 07
-; red
- RGB 30, 28, 26
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 07, 07, 07
-; green
- RGB 18, 24, 09
- RGB 15, 20, 01
- RGB 09, 13, 00
- RGB 07, 07, 07
-; water (blue)
- RGB 30, 28, 26
- RGB 15, 16, 31
- RGB 09, 09, 31
- RGB 07, 07, 07
-; yellow
- RGB 30, 28, 26
- RGB 31, 31, 07
- RGB 31, 16, 01
- RGB 07, 07, 07
-; brown
- RGB 26, 24, 17
- RGB 21, 17, 07
- RGB 16, 13, 03
- RGB 07, 07, 07
-; roof
- RGB 05, 05, 16
- RGB 08, 19, 28
- RGB 00, 00, 00
- RGB 31, 31, 31
-; text
- RGB 31, 31, 16
- RGB 31, 31, 16
- RGB 14, 09, 00
- RGB 00, 00, 00
diff --git a/data/palettes/tilesets/house_1.pal b/data/palettes/tilesets/house_1.pal
deleted file mode 100644
index a9f8b74b6..000000000
--- a/data/palettes/tilesets/house_1.pal
+++ /dev/null
@@ -1,40 +0,0 @@
-; gray
- RGB 30, 28, 26
- RGB 19, 19, 19
- RGB 13, 13, 13
- RGB 07, 07, 07
-; red
- RGB 30, 28, 26
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 07, 07, 07
-; green
- RGB 30, 28, 26
- RGB 15, 20, 01
- RGB 09, 13, 00
- RGB 07, 07, 07
-; water (blue)
- RGB 30, 28, 26
- RGB 15, 16, 31
- RGB 09, 09, 31
- RGB 07, 07, 07
-; yellow
- RGB 30, 28, 26
- RGB 31, 31, 07
- RGB 31, 16, 01
- RGB 07, 07, 07
-; brown
- RGB 26, 24, 17
- RGB 21, 17, 07
- RGB 16, 13, 03
- RGB 07, 07, 07
-; roof (glass)
- RGB 30, 28, 26
- RGB 31, 19, 24
- RGB 16, 13, 03
- RGB 07, 07, 07
-; text
- RGB 31, 31, 16
- RGB 31, 31, 16
- RGB 14, 09, 00
- RGB 00, 00, 00
diff --git a/data/palettes/tilesets/ice_path.pal b/data/palettes/tilesets/ice_path.pal
deleted file mode 100644
index cb7659f50..000000000
--- a/data/palettes/tilesets/ice_path.pal
+++ /dev/null
@@ -1,40 +0,0 @@
-; gray
- RGB 15, 14, 24
- RGB 11, 11, 19
- RGB 07, 07, 12
- RGB 00, 00, 00
-; red
- RGB 15, 14, 24
- RGB 14, 07, 17
- RGB 13, 00, 08
- RGB 00, 00, 00
-; green (ice)
- RGB 22, 29, 31
- RGB 10, 27, 31
- RGB 31, 31, 31
- RGB 05, 00, 09
-; water
- RGB 15, 14, 24
- RGB 05, 05, 17
- RGB 03, 03, 10
- RGB 00, 00, 00
-; yellow
- RGB 30, 30, 11
- RGB 16, 14, 18
- RGB 16, 14, 10
- RGB 00, 00, 00
-; brown
- RGB 15, 14, 24
- RGB 12, 09, 15
- RGB 08, 04, 05
- RGB 00, 00, 00
-; roof (snow)
- RGB 25, 31, 31
- RGB 09, 28, 31
- RGB 16, 11, 31
- RGB 05, 00, 09
-; text
- RGB 31, 31, 16
- RGB 31, 31, 16
- RGB 14, 09, 00
- RGB 00, 00, 00
diff --git a/data/palettes/tilesets/pokecom_center.pal b/data/palettes/tilesets/pokecom_center.pal
deleted file mode 100644
index 9fe7b765a..000000000
--- a/data/palettes/tilesets/pokecom_center.pal
+++ /dev/null
@@ -1,40 +0,0 @@
-; gray
- RGB 30, 28, 26
- RGB 19, 19, 19
- RGB 13, 13, 13
- RGB 07, 07, 07
-; red
- RGB 30, 28, 26
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 07, 07, 07
-; green
- RGB 18, 24, 09
- RGB 15, 20, 01
- RGB 09, 13, 00
- RGB 07, 07, 07
-; water (blue)
- RGB 30, 28, 26
- RGB 17, 19, 31
- RGB 14, 16, 31
- RGB 07, 07, 07
-; yellow
- RGB 31, 26, 21
- RGB 31, 20, 01
- RGB 14, 16, 31
- RGB 07, 07, 07
-; brown
- RGB 21, 17, 07
- RGB 17, 19, 31
- RGB 16, 13, 03
- RGB 07, 07, 07
-; roof
- RGB 05, 05, 16
- RGB 08, 19, 28
- RGB 00, 00, 00
- RGB 31, 31, 31
-; text
- RGB 31, 31, 16
- RGB 31, 31, 16
- RGB 14, 09, 00
- RGB 00, 00, 00
diff --git a/data/palettes/tilesets/radio_tower.pal b/data/palettes/tilesets/radio_tower.pal
deleted file mode 100644
index 5799b6f77..000000000
--- a/data/palettes/tilesets/radio_tower.pal
+++ /dev/null
@@ -1,39 +0,0 @@
- RGB 27, 31, 27
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 07, 07, 07
-
- RGB 27, 31, 27
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 07, 07, 07
-
- RGB 08, 12, 31
- RGB 12, 25, 01
- RGB 05, 14, 00
- RGB 07, 07, 07
-
- RGB 31, 31, 31
- RGB 08, 12, 31
- RGB 01, 04, 31
- RGB 07, 07, 07
-
- RGB 27, 31, 27
- RGB 12, 25, 01
- RGB 05, 14, 00
- RGB 07, 07, 07
-
- RGB 27, 31, 27
- RGB 24, 18, 07
- RGB 20, 15, 03
- RGB 07, 07, 07
-
- RGB 27, 31, 27
- RGB 15, 31, 31
- RGB 05, 17, 31
- RGB 07, 07, 07
-
- RGB 31, 31, 16
- RGB 31, 31, 16
- RGB 14, 09, 00
- RGB 00, 00, 00
diff --git a/data/palettes/title.pal b/data/palettes/title.pal
deleted file mode 100644
index 95bc2a394..000000000
--- a/data/palettes/title.pal
+++ /dev/null
@@ -1,81 +0,0 @@
-; BG
- RGB 00, 00, 00
- RGB 19, 00, 00
- RGB 15, 08, 31
- RGB 15, 08, 31
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 15, 16, 31
- RGB 31, 01, 13
-
- RGB 00, 00, 00
- RGB 07, 07, 07
- RGB 31, 31, 31
- RGB 02, 03, 30
-
- RGB 00, 00, 00
- RGB 13, 13, 13
- RGB 31, 31, 18
- RGB 02, 03, 30
-
- RGB 00, 00, 00
- RGB 19, 19, 19
- RGB 29, 28, 12
- RGB 02, 03, 30
-
- RGB 00, 00, 00
- RGB 25, 25, 25
- RGB 28, 25, 06
- RGB 02, 03, 30
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 26, 21, 00
- RGB 02, 03, 30
-
- RGB 00, 00, 00
- RGB 11, 11, 19
- RGB 31, 31, 31
- RGB 00, 00, 00
-
-; OBJ
- RGB 00, 00, 00
- RGB 10, 00, 15
- RGB 17, 05, 22
- RGB 19, 09, 31
-
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
diff --git a/data/palettes/town_map.asm b/data/palettes/town_map.asm
deleted file mode 100644
index 696863e85..000000000
--- a/data/palettes/town_map.asm
+++ /dev/null
@@ -1,34 +0,0 @@
- const_def
- const PAL_TOWNMAP_BORDER ; 0
- const PAL_TOWNMAP_EARTH ; 1
- const PAL_TOWNMAP_MOUNTAIN ; 2
- const PAL_TOWNMAP_CITY ; 3
- const PAL_TOWNMAP_POI ; 4
- const PAL_TOWNMAP_POI_MTN ; 5
-
-townmappals: MACRO
-rept _NARG / 2
- dn PAL_TOWNMAP_\2, PAL_TOWNMAP_\1
- shift
- shift
-endr
-ENDM
-
-; gfx/pokegear/town_map.png
- townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN
- townmappals BORDER, BORDER, EARTH, EARTH, CITY, EARTH
- townmappals POI, POI_MTN, POI, POI_MTN, EARTH, EARTH
- townmappals EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER
- townmappals EARTH, EARTH, BORDER, EARTH, EARTH, BORDER
- townmappals BORDER, BORDER, EARTH, EARTH, EARTH, MOUNTAIN
- townmappals MOUNTAIN, MOUNTAIN, BORDER, BORDER, BORDER, BORDER
- townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER
-; gfx/pokegear/pokegear.png
- townmappals BORDER, BORDER, BORDER, BORDER, POI, POI
- townmappals POI, BORDER, BORDER, BORDER, BORDER, BORDER
- townmappals BORDER, BORDER, BORDER, BORDER, CITY, CITY
- townmappals CITY, CITY, CITY, CITY, CITY, CITY
- townmappals CITY, CITY, CITY, CITY, CITY, CITY
- townmappals CITY, BORDER, CITY, CITY, CITY, CITY
- townmappals CITY, CITY, CITY, CITY, BORDER, BORDER
- townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER
diff --git a/data/palettes/trade_room.pal b/data/palettes/trade_room.pal
deleted file mode 100644
index b5615248e..000000000
--- a/data/palettes/trade_room.pal
+++ /dev/null
@@ -1,29 +0,0 @@
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 31, 00, 00
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 15, 23, 30
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 16, 16, 16
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 25, 07, 04
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 03, 22, 08
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 07, 09, 31
- RGB 29, 28, 09
- RGB 31, 31, 31
diff --git a/data/palettes/unknown/49757.pal b/data/palettes/unknown/49757.pal
deleted file mode 100644
index 93e884046..000000000
--- a/data/palettes/unknown/49757.pal
+++ /dev/null
@@ -1,39 +0,0 @@
- RGB 31, 31, 63
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 31, 31, 63
- RGB 00, 00, 00
- RGB 00, 00, 00
- RGB 00, 00, 00
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 31, 00, 00
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 30, 16, 26
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 16, 16, 16
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 31, 12, 12
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 07, 08, 31
- RGB 31, 31, 31
-
- RGB 04, 02, 15
- RGB 21, 00, 21
- RGB 29, 28, 09
- RGB 31, 31, 31
diff --git a/data/palettes/unknown/4985a.asm b/data/palettes/unknown/4985a.asm
deleted file mode 100644
index 35f272227..000000000
--- a/data/palettes/unknown/4985a.asm
+++ /dev/null
@@ -1,15 +0,0 @@
- db $ab, $03, $57, $24, $ac, $0e, $13, $32
-
- db $be, $30, $5b, $4c, $47, $60, $ed, $f2
-
- db $ab, $03, $55, $26, $aa, $0a, $13, $3a
-
- db $be, $28, $33, $24, $6e, $71, $df, $b0
-
- db $a8, $00, $e5, $e0, $9a, $fc, $f4, $2c
-
- db $fe, $4c, $a3, $5e, $c6, $3a, $ab, $4d
-
- db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c
-
- db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd
diff --git a/data/palettes/unknown/b6f1.pal b/data/palettes/unknown/b6f1.pal
deleted file mode 100644
index 1dd56f50f..000000000
--- a/data/palettes/unknown/b6f1.pal
+++ /dev/null
@@ -1,24 +0,0 @@
- RGB 31, 31, 31
- RGB 18, 23, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 22, 00, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 31, 00, 00
- RGB 15, 20, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 25, 22, 00
- RGB 15, 20, 31
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 23, 26, 31
- RGB 18, 23, 31
- RGB 00, 00, 00
diff --git a/data/palettes/unknown/b719.pal b/data/palettes/unknown/b719.pal
deleted file mode 100644
index 09dd9a364..000000000
--- a/data/palettes/unknown/b719.pal
+++ /dev/null
@@ -1,9 +0,0 @@
- RGB 31, 31, 31
- RGB 07, 06, 03
- RGB 07, 06, 03
- RGB 07, 06, 03
-
- RGB 31, 31, 31
- RGB 31, 31, 00
- RGB 26, 22, 00
- RGB 00, 00, 00
diff --git a/data/palettes/unknown/b789.pal b/data/palettes/unknown/b789.pal
deleted file mode 100644
index cce760662..000000000
--- a/data/palettes/unknown/b789.pal
+++ /dev/null
@@ -1,19 +0,0 @@
- RGB 31, 31, 31
- RGB 30, 22, 24
- RGB 18, 18, 18
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 10, 11, 31
- RGB 18, 18, 18
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 12, 31, 11
- RGB 18, 18, 18
- RGB 00, 00, 00
-
- RGB 31, 31, 31
- RGB 29, 26, 05
- RGB 18, 18, 18
- RGB 00, 00, 00
diff --git a/data/palettes/unused_title/bg.pal b/data/palettes/unused_title/bg.pal
deleted file mode 100644
index f0604a261..000000000
--- a/data/palettes/unused_title/bg.pal
+++ /dev/null
@@ -1,39 +0,0 @@
- RGB 00, 00, 00
- RGB 25, 15, 28
- RGB 22, 11, 28
- RGB 19, 08, 26
-
- RGB 00, 00, 00
- RGB 17, 07, 22
- RGB 13, 07, 16
- RGB 19, 08, 26
-
- RGB 25, 15, 28
- RGB 22, 11, 28
- RGB 19, 08, 26
- RGB 17, 07, 22
-
- RGB 22, 11, 28
- RGB 19, 08, 26
- RGB 17, 07, 22
- RGB 13, 07, 16
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 12, 12, 12
-
- RGB 00, 00, 00
- RGB 01, 11, 23
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 00, 00, 00
- RGB 22, 10, 31
- RGB 19, 08, 26
- RGB 17, 07, 22
diff --git a/data/palettes/unused_title/ob.pal b/data/palettes/unused_title/ob.pal
deleted file mode 100644
index 80e7d9896..000000000
--- a/data/palettes/unused_title/ob.pal
+++ /dev/null
@@ -1,319 +0,0 @@
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 12, 12, 12
-
- RGB 00, 00, 00
- RGB 01, 11, 23
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 00, 00, 00
- RGB 31, 22, 00
- RGB 31, 27, 00
- RGB 31, 31, 00
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 12, 12, 12
-
- RGB 00, 00, 00
- RGB 01, 11, 23
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 16, 31, 00
- RGB 22, 31, 00
- RGB 27, 31, 00
- RGB 31, 31, 00
-
- RGB 31, 00, 18
- RGB 31, 31, 31
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 00, 00, 00
- RGB 31, 31, 31
- RGB 20, 20, 20
- RGB 12, 12, 12
-
- RGB 00, 00, 00
- RGB 01, 11, 23
- RGB 16, 16, 24
- RGB 02, 13, 21
-
- RGB 16, 31, 00
- RGB 22, 31, 00
- RGB 27, 31, 00
- RGB 31, 31, 00
-
- RGB 24, 18, 31
- RGB 31, 31, 00
- RGB 31, 31, 01
- RGB 31, 31, 03
-
- RGB 31, 31, 05
- RGB 31, 31, 08
- RGB 31, 31, 10
- RGB 31, 31, 12
-
- RGB 31, 31, 14
- RGB 31, 31, 16
- RGB 31, 31, 18
- RGB 31, 31, 20
-
- RGB 31, 31, 22
- RGB 31, 31, 25
- RGB 31, 31, 27
- RGB 31, 31, 29
-
- RGB 24, 06, 06
- RGB 01, 01, 01
- RGB 03, 03, 03
- RGB 05, 05, 05
-
- RGB 08, 08, 08
- RGB 10, 10, 10
- RGB 12, 12, 12
- RGB 14, 14, 14
-
- RGB 16, 16, 16
- RGB 18, 18, 18
- RGB 20, 20, 20
- RGB 22, 22, 22
-
- RGB 25, 25, 25
- RGB 27, 27, 27
- RGB 29, 29, 29
- RGB 31, 31, 31
-
- RGB 18, 24, 18
- RGB 31, 29, 01
- RGB 31, 27, 03
- RGB 31, 25, 05
-
- RGB 31, 22, 08
- RGB 31, 20, 10
- RGB 31, 18, 12
- RGB 31, 16, 14
-
- RGB 31, 14, 16
- RGB 31, 12, 18
- RGB 31, 10, 20
- RGB 31, 08, 22
-
- RGB 31, 05, 25
- RGB 31, 03, 27
- RGB 31, 01, 29
- RGB 31, 00, 31
-
- RGB 18, 06, 31
- RGB 00, 31, 31
- RGB 00, 31, 29
- RGB 00, 31, 27
-
- RGB 00, 31, 25
- RGB 00, 31, 22
- RGB 00, 31, 20
- RGB 00, 31, 18
-
- RGB 00, 31, 16
- RGB 00, 31, 14
- RGB 00, 31, 12
- RGB 00, 31, 10
-
- RGB 00, 31, 08
- RGB 00, 31, 05
- RGB 00, 31, 03
- RGB 00, 31, 01
-
- RGB 12, 31, 06
- RGB 00, 00, 31
- RGB 00, 01, 31
- RGB 00, 03, 31
-
- RGB 00, 05, 31
- RGB 00, 08, 31
- RGB 00, 10, 31
- RGB 00, 12, 31
-
- RGB 00, 14, 31
- RGB 00, 16, 31
- RGB 00, 18, 31
- RGB 00, 20, 31
-
- RGB 00, 22, 31
- RGB 00, 25, 31
- RGB 00, 27, 31
- RGB 00, 29, 31
-
- RGB 00, 00, 00
- RGB 06, 00, 04
- RGB 19, 02, 09
- RGB 28, 04, 11
-
- RGB 31, 07, 16
- RGB 31, 17, 23
- RGB 31, 26, 30
- RGB 07, 05, 10
-
- RGB 14, 10, 18
- RGB 20, 20, 25
- RGB 25, 27, 31
- RGB 09, 05, 06
-
- RGB 23, 16, 13
- RGB 30, 23, 22
- RGB 31, 28, 28
- RGB 31, 31, 31
-
- RGB 06, 31, 31
- RGB 04, 00, 04
- RGB 11, 02, 04
- RGB 17, 02, 04
-
- RGB 24, 05, 04
- RGB 28, 07, 04
- RGB 31, 11, 04
- RGB 02, 01, 15
-
- RGB 04, 11, 22
- RGB 12, 25, 25
- RGB 20, 31, 31
- RGB 09, 04, 03
-
- RGB 22, 11, 08
- RGB 27, 19, 16
- RGB 30, 28, 26
- RGB 31, 31, 31
-
- RGB 06, 18, 06
- RGB 04, 04, 02
- RGB 07, 07, 02
- RGB 18, 18, 04
-
- RGB 24, 24, 06
- RGB 27, 27, 11
- RGB 31, 31, 20
- RGB 02, 03, 10
-
- RGB 04, 05, 13
- RGB 06, 10, 25
- RGB 08, 15, 31
- RGB 04, 00, 06
-
- RGB 11, 07, 14
- RGB 21, 16, 23
- RGB 29, 26, 31
- RGB 31, 31, 31
-
- RGB 06, 00, 18
- RGB 00, 04, 03
- RGB 02, 09, 05
- RGB 11, 19, 07
-
- RGB 16, 24, 08
- RGB 22, 31, 09
- RGB 24, 31, 18
- RGB 03, 01, 03
-
- RGB 10, 04, 10
- RGB 20, 08, 20
- RGB 31, 17, 31
- RGB 01, 03, 06
-
- RGB 05, 09, 10
- RGB 15, 21, 21
- RGB 23, 25, 25
- RGB 31, 31, 31
-
- RGB 00, 18, 31
- RGB 00, 05, 07
- RGB 00, 08, 13
- RGB 00, 12, 17
-
- RGB 01, 20, 24
- RGB 04, 27, 31
- RGB 14, 31, 31
- RGB 04, 02, 02
-
- RGB 15, 01, 03
- RGB 26, 04, 07
- RGB 31, 13, 16
- RGB 00, 05, 02
-
- RGB 01, 11, 03
- RGB 06, 21, 06
- RGB 13, 31, 16
- RGB 31, 31, 31
-
- RGB 00, 06, 06
- RGB 00, 01, 08
- RGB 00, 05, 14
- RGB 00, 08, 19
-
- RGB 02, 14, 26
- RGB 04, 21, 31
- RGB 06, 26, 31
- RGB 13, 00, 00
-
- RGB 27, 07, 00
- RGB 31, 17, 05
- RGB 31, 25, 16
- RGB 02, 04, 00
-
- RGB 07, 11, 03
- RGB 17, 19, 05
- RGB 27, 31, 16
- RGB 31, 31, 31
-
- RGB 02, 00, 00
- RGB 04, 01, 06
- RGB 11, 03, 14
- RGB 16, 04, 19
-
- RGB 20, 07, 22
- RGB 26, 12, 27
- RGB 26, 20, 31
- RGB 04, 07, 00
-
- RGB 16, 20, 07
- RGB 24, 28, 15
- RGB 29, 31, 24
- RGB 05, 02, 02
-
- RGB 15, 04, 02
- RGB 24, 11, 10
- RGB 31, 22, 20
- RGB 31, 31, 31
-
- RGB 00, 00, 14
- RGB 12, 00, 00
- RGB 27, 05, 00
- RGB 31, 15, 05
-
- RGB 31, 26, 13
- RGB 31, 30, 21
- RGB 05, 07, 16
- RGB 04, 16, 20
-
- RGB 04, 24, 26
- RGB 08, 31, 31
- RGB 23, 31, 31
- RGB 00, 00, 00
-
- RGB 05, 05, 05
- RGB 17, 17, 15
- RGB 28, 28, 24
- RGB 31, 31, 31
diff --git a/data/party_menu_qualities.asm b/data/party_menu_qualities.asm
new file mode 100644
index 000000000..9ccc9745d
--- /dev/null
+++ b/data/party_menu_qualities.asm
@@ -0,0 +1,41 @@
+; WritePartyMenuTilemap.Jumptable indexes (see engine/party_menu.asm)
+ const_def
+ const PARTYMENUQUALITY_NICKNAMES
+ const PARTYMENUQUALITY_HP_BAR
+ const PARTYMENUQUALITY_HP_DIGITS
+ const PARTYMENUQUALITY_LEVEL
+ const PARTYMENUQUALITY_STATUS
+ const PARTYMENUQUALITY_TMHM_COMPAT
+ const PARTYMENUQUALITY_EVO_STONE_COMPAT
+ const PARTYMENUQUALITY_GENDER
+ const PARTYMENUQUALITY_MOBILE_SELECTION
+
+partymenuqualities: MACRO
+rept _NARG
+ db PARTYMENUQUALITY_\1
+shift
+endr
+ db -1 ; end
+ENDM
+
+
+PartyMenuQualityPointers: ; 503b2
+; entries correspond to PARTYMENUACTION_* constants
+ dw .Default ; PARTYMENUACTION_CHOOSE_POKEMON
+ dw .Default ; PARTYMENUACTION_HEALING_ITEM
+ dw .Default ; PARTYMENUACTION_SWITCH
+ dw .TMHM ; PARTYMENUACTION_TEACH_TMHM
+ dw .Default ; PARTYMENUACTION_MOVE
+ dw .EvoStone ; PARTYMENUACTION_EVO_STONE
+ dw .Gender ; PARTYMENUACTION_GIVE_MON
+ dw .Gender ; PARTYMENUACTION_GIVE_MON_FEMALE
+ dw .Default ; PARTYMENUACTION_GIVE_ITEM
+ dw .Mobile ; PARTYMENUACTION_MOBILE
+; 503c6
+
+.Default: partymenuqualities NICKNAMES, HP_BAR, HP_DIGITS, LEVEL, STATUS
+.TMHM: partymenuqualities NICKNAMES, TMHM_COMPAT, LEVEL, STATUS
+.EvoStone: partymenuqualities NICKNAMES, EVO_STONE_COMPAT, LEVEL, STATUS
+.Gender: partymenuqualities NICKNAMES, GENDER, LEVEL, STATUS
+.Mobile: partymenuqualities NICKNAMES, MOBILE_SELECTION, LEVEL, STATUS
+; 503e0
diff --git a/data/phone/permanent_numbers.asm b/data/phone/permanent_numbers.asm
new file mode 100644
index 000000000..a5101f2b6
--- /dev/null
+++ b/data/phone/permanent_numbers.asm
@@ -0,0 +1,5 @@
+PermanentNumbers: ; 90066
+ db PHONECONTACT_MOM
+ db PHONECONTACT_ELM
+ db -1 ; end
+; 90069
diff --git a/data/phone/phone_contacts.asm b/data/phone/phone_contacts.asm
new file mode 100644
index 000000000..bec40a12a
--- /dev/null
+++ b/data/phone/phone_contacts.asm
@@ -0,0 +1,51 @@
+phone: MACRO
+; trainer class, trainer id, map, time 1, script 1, time 2, script 2
+ db \1, \2
+ map \3
+ db \4
+ dba \5
+ db \6
+ dba \7
+ENDM
+
+PhoneContacts: ; 9045f
+; entries correspond to PHONE_* constants
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, ANYTIME, MomPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_BILL, N_A, ANYTIME, BillPhoneScript1, 0, BillPhoneScript2
+ phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, ANYTIME, ElmPhoneScript1, 0, ElmPhoneScript2
+ phone SCHOOLBOY, JACK1, NATIONAL_PARK, ANYTIME, JackPhoneScript1, ANYTIME, JackPhoneScript2
+ phone POKEFANF, BEVERLY1, NATIONAL_PARK, ANYTIME, BeverlyPhoneScript1, ANYTIME, BeverlyPhoneScript2
+ phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, ANYTIME, HueyPhoneScript1, ANYTIME, HueyPhoneScript2
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone COOLTRAINERM, GAVEN3, ROUTE_26, ANYTIME, GavenPhoneScript1, ANYTIME, GavenPhoneScript2
+ phone COOLTRAINERF, BETH1, ROUTE_26, ANYTIME, BethPhoneScript1, ANYTIME, BethPhoneScript2
+ phone BIRD_KEEPER, JOSE2, ROUTE_27, ANYTIME, JosePhoneScript1, ANYTIME, JosePhoneScript2
+ phone COOLTRAINERF, REENA1, ROUTE_27, ANYTIME, ReenaPhoneScript1, ANYTIME, ReenaPhoneScript2
+ phone YOUNGSTER, JOEY1, ROUTE_30, ANYTIME, JoeyPhoneScript1, ANYTIME, JoeyPhoneScript2
+ phone BUG_CATCHER, WADE1, ROUTE_31, ANYTIME, WadePhoneScript1, ANYTIME, WadePhoneScript2
+ phone FISHER, RALPH1, ROUTE_32, ANYTIME, RalphPhoneScript1, ANYTIME, RalphPhoneScript2
+ phone PICNICKER, LIZ1, ROUTE_32, ANYTIME, LizPhoneScript1, ANYTIME, LizPhoneScript2
+ phone HIKER, ANTHONY2, ROUTE_33, ANYTIME, AnthonyPhoneScript1, ANYTIME, AnthonyPhoneScript2
+ phone CAMPER, TODD1, ROUTE_34, ANYTIME, ToddPhoneScript1, ANYTIME, ToddPhoneScript2
+ phone PICNICKER, GINA1, ROUTE_34, ANYTIME, GinaPhoneScript1, ANYTIME, GinaPhoneScript2
+ phone JUGGLER, IRWIN1, ROUTE_35, ANYTIME, IrwinPhoneScript1, ANYTIME, IrwinPhoneScript2
+ phone BUG_CATCHER, ARNIE1, ROUTE_35, ANYTIME, ArniePhoneScript1, ANYTIME, ArniePhoneScript2
+ phone SCHOOLBOY, ALAN1, ROUTE_36, ANYTIME, AlanPhoneScript1, ANYTIME, AlanPhoneScript2
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone LASS, DANA1, ROUTE_38, ANYTIME, DanaPhoneScript1, ANYTIME, DanaPhoneScript2
+ phone SCHOOLBOY, CHAD1, ROUTE_38, ANYTIME, ChadPhoneScript1, ANYTIME, ChadPhoneScript2
+ phone POKEFANM, DEREK1, ROUTE_39, ANYTIME, DerekPhoneScript1, ANYTIME, DerekPhoneScript2
+ phone FISHER, TULLY1, ROUTE_42, ANYTIME, TullyPhoneScript1, ANYTIME, TullyPhoneScript2
+ phone POKEMANIAC, BRENT1, ROUTE_43, ANYTIME, BrentPhoneScript1, ANYTIME, BrentPhoneScript2
+ phone PICNICKER, TIFFANY3, ROUTE_43, ANYTIME, TiffanyPhoneScript1, ANYTIME, TiffanyPhoneScript2
+ phone BIRD_KEEPER, VANCE1, ROUTE_44, ANYTIME, VancePhoneScript1, ANYTIME, VancePhoneScript2
+ phone FISHER, WILTON1, ROUTE_44, ANYTIME, WiltonPhoneScript1, ANYTIME, WiltonPhoneScript2
+ phone BLACKBELT_T, KENJI3, ROUTE_45, ANYTIME, KenjiPhoneScript1, ANYTIME, KenjiPhoneScript2
+ phone HIKER, PARRY1, ROUTE_45, ANYTIME, ParryPhoneScript1, ANYTIME, ParryPhoneScript2
+ phone PICNICKER, ERIN1, ROUTE_46, ANYTIME, ErinPhoneScript1, ANYTIME, ErinPhoneScript2
+ phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, ANYTIME, BuenaPhoneScript1, ANYTIME, BuenaPhoneScript2
+; 90627
diff --git a/data/phone_special.asm b/data/phone/special_calls.asm
index 03c27743a..03c27743a 100644
--- a/data/phone_special.asm
+++ b/data/phone/special_calls.asm
diff --git a/data/phone/text/alan_overworld.asm b/data/phone/text/alan_overworld.asm
new file mode 100644
index 000000000..e1246037a
--- /dev/null
+++ b/data/phone/text/alan_overworld.asm
@@ -0,0 +1,71 @@
+AlanAskNumber1Text:
+ text "Reading textbooks"
+ line "is worthwhile"
+ cont "every so often."
+
+ para "When I'm reading"
+ line "and walking, I"
+ cont "have to look down."
+
+ para "So I notice items"
+ line "on the ground."
+
+ para "Next time I find"
+ line "something, I'll"
+ cont "give it to you."
+
+ para "May I have your"
+ line "phone number?"
+ done
+
+AlanAskNumber2Text:
+ text "If I find some-"
+ line "thing, it's yours."
+
+ para "So may I have your"
+ line "phone number?"
+ done
+
+AlanNumberAcceptedText:
+ text "I'll call you as"
+ line "soon as I find"
+
+ para "something. You can"
+ line "count on it!"
+ done
+
+AlanNumberDeclinedText:
+ text "Oh… I thought it"
+ line "would be a good"
+
+ para "break to call you"
+ line "when I'm studying…"
+ done
+
+AlanPhoneFullText:
+ text "There's no room"
+ line "for my number."
+ done
+
+AlanRematchText:
+ text "I waited around"
+ line "for you!"
+
+ para "I'm thoroughly"
+ line "prepared today!"
+ done
+
+AlanGiftText:
+ text "This, this! This"
+ line "is yours! Ta-da!"
+ done
+
+AlanPackFullText:
+ text "Whoops!"
+
+ para "You can't carry"
+ line "any more items!"
+
+ para "I'll hold it until"
+ line "next time."
+ done
diff --git a/data/phone/text/anthony_overworld.asm b/data/phone/text/anthony_overworld.asm
new file mode 100644
index 000000000..71e419c42
--- /dev/null
+++ b/data/phone/text/anthony_overworld.asm
@@ -0,0 +1,52 @@
+AnthonyAskNumber1Text:
+ text "By the way, I'm a"
+ line "HIKER, so I often"
+
+ para "go to mountains"
+ line "and caves."
+
+ para "I occasionally see"
+ line "rare #MON."
+
+ para "I could call you"
+ line "the next time I"
+ cont "see one."
+
+ para "Feel like swapping"
+ line "phone numbers?"
+ done
+
+AnthonyAskNumber2Text:
+ text "I could call you"
+ line "when I see some"
+ cont "rare #MON."
+
+ para "Feel like swapping"
+ line "phone numbers?"
+ done
+
+AnthonyNumberAcceptedText:
+ text "Be patient. I'll"
+ line "find some rare"
+ cont "#MON for you!"
+ done
+
+AnthonyNumberDeclinedText:
+ text "You're cold. I may"
+ line "as well head to"
+ cont "the mountains…"
+ done
+
+AnthonyPhoneFullText:
+ text "Your phone's full."
+
+ para "It can't register"
+ line "my phone number."
+ done
+
+AnthonyRematchText:
+ text "All righty, then!"
+
+ para "My #MON and I"
+ line "are raring to go!"
+ done
diff --git a/data/phone/text/arnie_overworld.asm b/data/phone/text/arnie_overworld.asm
new file mode 100644
index 000000000..4b12bd976
--- /dev/null
+++ b/data/phone/text/arnie_overworld.asm
@@ -0,0 +1,59 @@
+ArnieAskNumber1Text:
+ text "Do you get the"
+ line "feeling that there"
+
+ para "are more rare"
+ line "#MON around?"
+
+ para "I'm positive there"
+ line "are, so I look all"
+ cont "the time."
+
+ para "If I find one, I"
+ line "want to share the"
+
+ para "good news with"
+ line "everyone I know."
+
+ para "I know! Give me"
+ line "your phone number."
+ done
+
+ArnieAskNumber2Text:
+ text "I want to let"
+ line "people know if I"
+ cont "see rare #MON."
+
+ para "Please give me"
+ line "your phone number!"
+ done
+
+ArnieNumberAcceptedText:
+ text "If I spot any"
+ line "awesome #MON,"
+
+ para "I'll be sure to"
+ line "give you a call!"
+ done
+
+ArnieNumberDeclinedText:
+ text "Aww! I want to"
+ line "tell someone about"
+ cont "my discoveries!"
+ done
+
+ArniePhoneFullText:
+ text "There's no space"
+ line "for my number."
+
+ para "If you make room,"
+ line "register me!"
+ done
+
+ArnieRematchText:
+ text "It's my turn to"
+ line "win now!"
+
+ para "I've turned over a"
+ line "new leaf!"
+ done
diff --git a/data/phone/text/beth_overworld.asm b/data/phone/text/beth_overworld.asm
new file mode 100644
index 000000000..5c23a7ab6
--- /dev/null
+++ b/data/phone/text/beth_overworld.asm
@@ -0,0 +1,56 @@
+BethAskNumber1Text:
+ text "It's been a while"
+ line "since I lost…"
+
+ para "You're very good"
+ line "at battling."
+
+ para "We should battle"
+ line "again sometime."
+
+ para "By challenging a"
+ line "tough trainer like"
+
+ para "you, I think I can"
+ line "get better too."
+
+ para "So how about it?"
+
+ para "Would you give me"
+ line "your phone number?"
+ done
+
+BethAskNumber2Text:
+ text "By challenging a"
+ line "tough trainer like"
+
+ para "you, I think I can"
+ line "get better too."
+
+ para "So how about it?"
+
+ para "Would you give me"
+ line "your phone number?"
+ done
+
+BethNumberAcceptedText:
+ text "Let's battle again"
+ line "sometime!"
+ done
+
+BethNumberDeclinedText:
+ text "That's too bad…"
+
+ para "Let me know if you"
+ line "change your mind."
+ done
+
+BethPhoneFullText:
+ text "Oh no. Your phone"
+ line "is out of memory."
+ done
+
+BethRematchText:
+ text "You sure kept me"
+ line "waiting! Let's go!"
+ done
diff --git a/data/phone/text/beverly_overworld.asm b/data/phone/text/beverly_overworld.asm
new file mode 100644
index 000000000..cd4b5b4d3
--- /dev/null
+++ b/data/phone/text/beverly_overworld.asm
@@ -0,0 +1,60 @@
+BeverlyAskNumber1Text:
+ text "Your MARILL is so"
+ line "cute and adorable!"
+
+ para "You love #MON"
+ line "just like I do!"
+
+ para "Want to trade"
+ line "phone numbers?"
+
+ para "Let's chat! It'll"
+ line "be so much fun!"
+ done
+
+BeverlyAskNumber2Text:
+ text "Your MARILL is so"
+ line "cute and adorable!"
+
+ para "We should chat, it"
+ line "will be fun."
+
+ para "Can I have your"
+ line "phone number?"
+ done
+
+BeverlyNumberAcceptedText:
+ text "To be honest, I"
+ line "want a MARILL."
+
+ para "But I make do with"
+ line "my cute SNUBBULL."
+ done
+
+BeverlyNumberDeclinedText:
+ text "Oh… That's"
+ line "disappointing…"
+
+ para "Goodbye, MARILL…"
+ done
+
+BeverlyPhoneFullText:
+ text "Oh? Your phone's"
+ line "memory is full."
+ done
+
+BeverlyGiftText:
+ text "Oh? <PLAYER>? "
+ line "I waited here for"
+
+ para "you. I brought you"
+ line "a little gift."
+ done
+
+BeverlyPackFullText:
+ text "Oh?"
+ line "You have no room."
+
+ para "Please come back"
+ line "for it later."
+ done
diff --git a/data/phone/text/bill.asm b/data/phone/text/bill.asm
new file mode 100644
index 000000000..2defde944
--- /dev/null
+++ b/data/phone/text/bill.asm
@@ -0,0 +1,101 @@
+BillPhoneMornGreetingText: ; 0x1b4427
+ text "Good morning!"
+
+ para "This is the #-"
+ line "MON STORAGE SYSTEM"
+
+ para "ADMINISTRATION"
+ line "SERVICE."
+ done
+
+BillPhoneDayGreetingText: ; 0x1b4470
+ text "Good day!"
+
+ para "This is the #-"
+ line "MON STORAGE SYSTEM"
+
+ para "ADMINISTRATION"
+ line "SERVICE."
+ done
+
+BillPhoneNiteGreetingText: ; 0x1b44b5
+ text "Good evening!"
+
+ para "This is the #-"
+ line "MON STORAGE SYSTEM"
+
+ para "ADMINISTRATION"
+ line "SERVICE."
+ done
+
+BillPhoneGeneriText: ; 0x1b44fe
+ text "Who's calling?"
+
+ para "<PLAY_G>, is it?"
+ line "Hang on a sec…"
+
+ para $56
+ line $56
+ done
+
+BillPhoneNotFullText: ; 0x1b452a
+ text "Thanks for"
+ line "waiting!"
+
+ para "<PLAY_G>, your BOX"
+ line "has room for @"
+ text_from_ram StringBuffer3
+ text_start
+ cont "more #MON."
+
+ para "Get out there and"
+ line "fill it up!"
+ done
+
+BillPhoneNearlyFullText: ; 0x1b4587
+ text "Thanks for"
+ line "waiting!"
+
+ para "<PLAY_G>, your BOX"
+ line "has room for only"
+ cont "@"
+ text_from_ram StringBuffer3
+ text " more #MON."
+
+ para "Maybe you should"
+ line "switch your BOX."
+ done
+
+BillPhoneFullText: ; 0x1b45ed
+ text "Thanks for"
+ line "waiting!"
+
+ para "<PLAY_G>, your BOX"
+ line "is full!"
+
+ para "You'll have to"
+ line "switch BOXES if"
+
+ para "you want to catch"
+ line "more #MON."
+ done
+
+BillPhoneNewlyFullText: ; 0x1b4652
+ text "Hi, <PLAY_G>?"
+ line "It's me, BILL!"
+
+ para "Thanks for using"
+ line "my STORAGE SYSTEM."
+
+ para "That last #MON"
+ line "you sent filled"
+ cont "your BOX up."
+
+ para "You'll have to"
+ line "switch BOXES if"
+
+ para "you want to catch"
+ line "more #MON."
+
+ para "Bye now!"
+ done
diff --git a/data/phone/text/brent_overworld.asm b/data/phone/text/brent_overworld.asm
new file mode 100644
index 000000000..0ece72091
--- /dev/null
+++ b/data/phone/text/brent_overworld.asm
@@ -0,0 +1,62 @@
+BrentAskNumber1Text:
+ text "By the way, you're"
+ line "a #MANIAC…"
+
+ para "I can tell."
+ line "Yes, you are."
+
+ para "But your knowledge"
+ line "is shallow still!"
+
+ para "Do you know BILL?"
+ line "He's an incredible"
+
+ para "#MANIAC."
+ line "I revere him."
+
+ para "I'll teach you all"
+ line "I know about BILL,"
+
+ para "so leave me your"
+ line "phone number."
+ done
+
+BrentAskNumber2Text:
+ text "I'll teach you all"
+ line "I know about BILL,"
+
+ para "so leave me your"
+ line "phone number."
+ done
+
+BrentNumberAcceptedText:
+ text "BILL--he's more"
+ line "than amazing!"
+
+ para "To be a #MANIAC"
+ line "like him someday…"
+
+ para "That's my dream."
+ done
+
+BrentNumberDeclinedText:
+ text "You're going to"
+ line "regret it…"
+
+ para "And I won't care…"
+ done
+
+BrentPhoneFullText:
+ text "Huh? Your phone"
+ line "list's full."
+
+ para "A #MANIAC has"
+ line "to be more tidy!"
+ done
+
+BrentRematchText:
+ text "I've been waiting."
+
+ para "Look, check out my"
+ line "#MON!"
+ done
diff --git a/data/phone/text/buena.asm b/data/phone/text/buena.asm
new file mode 100644
index 000000000..d3df60110
--- /dev/null
+++ b/data/phone/text/buena.asm
@@ -0,0 +1,550 @@
+UnknownText_0xa0c28: ; 0xa0c28
+ text "Hi, this is BUENA…"
+
+ para "Oh! Good morning,"
+ line "<PLAY_G>!"
+
+ para "I'm kind of foggy"
+ line "in the morning…"
+ done
+; 0xa0c72
+
+UnknownText_0xa0c72: ; 0xa0c72
+ text "Hi, this is BUENA…"
+ line "Oh! Hi, <PLAY_G>!"
+
+ para "Do you tune into"
+ line "BUENA's show?"
+ done
+; 0xa0caf
+
+UnknownText_0xa0caf: ; 0xa0caf
+ text "This is BUENA."
+ line "I can't come to"
+
+ para "the phone right"
+ line "now."
+
+ para "If you want to"
+ line "chat, tune into"
+
+ para "BUENA's PASSWORD"
+ line "on the radio and"
+
+ para "give me a call"
+ line "after midnight!"
+ done
+; 0xa0d42
+
+UnknownText_0xa0d42: ; 0xa0d42
+ text "Hi, this is BUENA…"
+ line "Oh! Hi, <PLAY_G>!"
+
+ para "I just got off"
+ line "work. "
+
+ para "Let me tell you,"
+ line "I'm exhausted!"
+ done
+; 0xa0d96
+
+UnknownText_0xa0d96: ; 0xa0d96
+ text "<PLAY_G>!"
+ line "Hi, it's BUENA!"
+
+ para "I got up early, so"
+ line "I decided to call!"
+ done
+; 0xa0dcf
+
+UnknownText_0xa0dcf: ; 0xa0dcf
+ text "<PLAY_G>!"
+ line "Hi, it's BUENA!"
+
+ para "I needed someone"
+ line "to chat with!"
+ done
+; 0xa0e01
+
+UnknownText_0xa0e01: ; 0xa0e01
+ text "<PLAY_G>!"
+ line "Hi, it's BUENA!"
+
+ para "I'm just on my"
+ line "break."
+ done
+; 0xa0e29
+
+UnknownText_0xa0e29: ; 0xa0e29
+ text "<PLAY_G>!"
+ line "Hi, it's BUENA!"
+
+ para "I couldn't sleep,"
+ line "so I called you."
+ done
+; 0xa0e5e
+
+UnknownText_0xa0e5e: ; 0xa0e5e
+ text "Oh. Hi, <PLAY_G>!"
+
+ para "You are how?"
+
+ para "Aiyee! This isn't"
+ line "the time for me to"
+
+ para "be cracking silly"
+ line "gag greetings!"
+
+ para "The RADIO TOWER is"
+ line "in deep trouble!"
+
+ para "<PLAY_G>, you'd"
+ line "better be careful!"
+ done
+; 0xa0efb
+
+UnknownText_0xa0efb: ; 0xa0efb
+ text "The other day, I"
+ line "went out to eat"
+
+ para "with DJ BEN!"
+ line "Isn't it great?"
+
+ para "Not only that, he"
+ line "said the music on"
+
+ para "my program is"
+ line "cool!"
+
+ para "Oh, wow! Like,"
+ line "what should I do?"
+
+ para "…Oops, I have to"
+ line "get ready for my"
+
+ para "show! I'll catch"
+ line "you later!"
+ done
+; 0xa0fcf
+
+UnknownText_0xa0fcf: ; 0xa0fcf
+ text "You know the"
+ line "receptionist at"
+ cont "the RADIO TOWER?"
+
+ para "'Welcome,' is all"
+ line "she ever says."
+
+ para "But she's really"
+ line "the chattiest"
+
+ para "person at the"
+ line "RADIO TOWER."
+
+ para "So she must be"
+ line "holding back."
+
+ para "Isn't that fun to"
+ line "know?"
+
+ para "Catch you later!"
+ done
+; 0xa109d
+
+UnknownText_0xa109d: ; 0xa109d
+ text "Tell me, <PLAY_G>."
+ line "Have you ever won"
+
+ para "a prize on the"
+ line "LUCKY NUMBER SHOW?"
+
+ para "REED moans that"
+ line "he's never won, so"
+
+ para "he vows to keep"
+ line "the show on the"
+ cont "air till he does."
+
+ para "Let's chat again!"
+ done
+; 0xa1143
+
+UnknownText_0xa1143: ; 0xa1143
+ text "You know, last"
+ line "night…"
+
+ para "I was so stressed"
+ line "out from work, I"
+
+ para "ate a ton of junk"
+ line "food!"
+
+ para "MARY and I have"
+ line "this deal about"
+ cont "losing weight…"
+
+ para "This won't do…"
+
+ para "Huh? What's the"
+ line "weight?"
+
+ para "This has to be a"
+ line "total secret!"
+
+ para "MARY weighs…"
+
+ para "Aiyee! M-MARY!"
+
+ para "Uh… Um… I… Sorry,"
+ line "wrong number!"
+ done
+; 0xa1244
+
+UnknownText_0xa1244: ; 0xa1244
+ text "Yesterday, PROF."
+ line "OAK was in the"
+
+ para "studio to tape his"
+ line "show."
+
+ para "So I went over and"
+ line "introduced myself."
+
+ para "Get this--he tunes"
+ line "in to my program!"
+
+ para "Oh! Here comes"
+ line "PROF.OAK again!"
+
+ para "I'm going to chat"
+ line "him up again!"
+
+ para "Catch you later!"
+ done
+; 0xa1318
+
+UnknownText_0xa1318: ; 0xa1318
+ text "…Cough, cough!"
+
+ para "Uhm sorry uh got"
+ line "uh code dite now."
+
+ para "Buh uma pro so uh"
+ line "hav to cover id ub"
+
+ para "so no un notice"
+ line "while uhm on air."
+
+ para "Uh fidz muh voice"
+ line "now."
+
+ para "I'll catch you on"
+ line "the fly. This has"
+ cont "been BUENA!"
+ done
+; 0xa13d8
+
+UnknownText_0xa13d8: ; 0xa13d8
+ text "Hey, <PLAY_G>."
+ line "You won that RADIO"
+
+ para "CARD by beating"
+ line "the quiz at the"
+
+ para "reception desk,"
+ line "didn't you?"
+
+ para "Guess what? I made"
+ line "up the questions!"
+
+ para "…Were they too"
+ line "easy for you?"
+
+ para "Well, let's chat"
+ line "again!"
+ done
+; 0xa1488
+
+UnknownText_0xa1488: ; 0xa1488
+ text "I'm elated that"
+ line "more people are"
+
+ para "taking part in my"
+ line "PASSWORD show."
+
+ para "But when PIKACHU"
+ line "was the password,"
+
+ para "it was uh… whew…"
+ line "overwhelming."
+
+ para "FAN CLUB people"
+ line "came in out in"
+
+ para "droves, shouting"
+ line "'PIKACHU!' over"
+
+ para "and over. I mean,"
+ line "they were loud."
+
+ para "Anyone tuning in"
+ line "around then must"
+
+ para "have been shocked"
+ line "by the racket!"
+
+ para "Anyway, back to"
+ line "work for me!"
+
+ para "Let's chat again!"
+ done
+; 0xa15de
+
+UnknownText_0xa15de: ; 0xa15de
+ text "Guess what?"
+ line "The RADIO TOWER's"
+
+ para "DIRECTOR is a big"
+ line "fan of TV!"
+
+ para "A while ago, a"
+ line "fashion show on TV"
+
+ para "said that black"
+ line "suits were in."
+
+ para "Now all he wears"
+ line "are black suits."
+
+ para "But it's a secret"
+ line "that our DIRECTOR"
+
+ para "is a TV fan, so if"
+ line "you see him, don't"
+
+ para "you dare mention"
+ line "it!"
+
+ para "Oh! The DIRECTOR"
+ line "will be here soon!"
+
+ para "Later! Tune into"
+ line "my show!"
+ done
+; 0xa1717
+
+UnknownText_0xa1717: ; 0xa1717
+ text "<PLAY_G>, tell me."
+
+ para "When do you relax"
+ line "the most?"
+
+ para "For me, it has to"
+ line "be in the studio"
+
+ para "right after my"
+ line "show, enjoying a"
+
+ para "nice cup of tea."
+ line "It's so pleasant"
+
+ para "that it gradually"
+ line "makes me drowsy…"
+
+ para "<……> <……> <……>"
+
+ para "<……> <……> <……>Zzz"
+
+ para "Oops, I drifted"
+ line "off just thinking"
+
+ para "about it! How, uh…"
+ line "embarrassing!"
+
+ para "Please forget this"
+ line "happened! Later!"
+ done
+; 0xa183d
+
+UnknownText_0xa183d: ; 0xa183d
+ text "<PLAY_G>, what was"
+ line "the first #MON"
+ cont "you ever caught?"
+
+ para "…Oh, really?"
+
+ para "I've seen lots of"
+ line "#MON around,"
+
+ para "but I've never"
+ line "caught one."
+
+ para "I should give it a"
+ line "try sometime."
+
+ para "Did you know that"
+ line "the first #MON"
+
+ para "MARY caught was a"
+ line "DROWZEE?"
+
+ para "Isn't that so out"
+ line "of character?"
+
+ para "But MARY's DROWZEE"
+ line "kept making her"
+
+ para "fall asleep on the"
+ line "job, so she traded"
+
+ para "with a fan for a"
+ line "MEOWTH."
+
+ para "Let's chat about"
+ line "#MON again!"
+
+ para "Bye-bye!"
+ done
+; 0xa19b1
+
+UnknownText_0xa19b1: ; 0xa19b1
+ text "Guess what? All of"
+ line "us from the RADIO"
+
+ para "TOWER are going on"
+ line "a company vacation"
+
+ para "to the RADIO TOWER"
+ line "in LAVENDER."
+
+ para "We're wasting our"
+ line "vacation on a trip"
+
+ para "to another RADIO"
+ line "TOWER?"
+
+ para "I'd much rather go"
+ line "to the beach!"
+
+ para "<PLAY_G>, I hope"
+ line "you have enough"
+
+ para "fun for both of us"
+ line "on your journey!"
+
+ para "Bye-bye!"
+ done
+; 0xa1ac0
+
+UnknownText_0xa1ac0: ; 0xa1ac0
+ text "Did you know…?"
+
+ para "BEN and FERN talk"
+ line "on the phone for"
+
+ para "hours about what"
+ line "#MON music they"
+
+ para "should play on"
+ line "different days of"
+ cont "the week."
+
+ para "One time, FERN's"
+ line "rapping style kind"
+
+ para "of rubbed off on"
+ line "BEN weirdly."
+
+ para "So we ended up"
+ line "enduring BEN's"
+
+ para "silly, chilly, a"
+ line "willy-nilly jive-"
+ cont "talking shtick for"
+ cont "a while."
+
+ para "Let's chat again!"
+ done
+; 0xa1bed
+
+UnknownText_0xa1bed: ; 0xa1bed
+ text "I'm going shopping"
+ line "with MARY and LILY"
+ cont "soon."
+
+ para "It'll be great if"
+ line "GOLDENROD DEPT."
+
+ para "STORE has a sale"
+ line "on when we go…"
+
+ para "<PLAY_G>, maybe we"
+ line "can hook up too!"
+
+ para "Catch you later!"
+ done
+; 0xa1c88
+
+UnknownText_0xa1c88: ; 0xa1c88
+ text "I'm thinking of"
+ line "going to the GAME"
+
+ para "CORNER tomorrow."
+ line "It's been a while."
+
+ para "You see, I have my"
+ line "favorite machine…"
+
+ para "It pays out a lot,"
+ line "I kid you not!"
+
+ para "Huh? Nuh-uh, it's"
+ line "my secret!"
+
+ para "You have to find"
+ line "it yourself!"
+
+ para "Catch you later!"
+ done
+; 0xa1d5f
+
+UnknownText_0xa1d5f: ; 0xa1d5f
+ text "Hey, <PLAY_G>. You"
+ line "use your #GEAR"
+
+ para "to listen to the"
+ line "radio, right?"
+
+ para "I heard that you"
+ line "can even display"
+
+ para "town maps with"
+ line "#GEAR."
+
+ para "I have a bad sense"
+ line "of direction, so"
+
+ para "#GEAR would be"
+ line "handy…"
+
+ para "Anyway, thanks for"
+ line "calling! Later!"
+ done
+; 0xa1e2f
+
+UnknownText_0xa1e2f: ; 0xa1e2f
+ text "Is it sunny"
+ line "outside today?"
+
+ para "When you're cooped"
+ line "up in the RADIO"
+
+ para "TOWER as much as I"
+ line "am, you lose touch"
+
+ para "with the outside."
+ line "It can be boring."
+
+ para "Please call again!"
+ done
+; 0xa1eca
diff --git a/data/phone/text/chad_overworld.asm b/data/phone/text/chad_overworld.asm
new file mode 100644
index 000000000..883baa21c
--- /dev/null
+++ b/data/phone/text/chad_overworld.asm
@@ -0,0 +1,56 @@
+ChadAskNumber1Text:
+ text "Huh? Is that thing"
+ line "a #DEX? Have"
+ cont "you met PROF.OAK?"
+
+ para "Huh? You have? "
+ line "That's way cool!"
+
+ para "I have a dream of"
+ line "becoming a #MON"
+
+ para "researcher like"
+ line "PROF.OAK."
+
+ para "May I please have"
+ line "your phone number?"
+
+ para "We should chat"
+ line "about PROF.OAK."
+
+ para "I'm sure it will"
+ line "be loads of fun!"
+ done
+
+ChadAskNumber2Text:
+ text "May I please have"
+ line "your phone number?"
+
+ para "We should chat"
+ line "about PROF.OAK."
+
+ para "I'm sure it will"
+ line "be loads of fun!"
+ done
+
+ChadNumberAcceptedText:
+ text "You must listen to"
+ line "PROF.OAK'S #MON"
+ cont "TALK, right?"
+ done
+
+ChadNumberDeclinedText:
+ text "Oh… I wish I had a"
+ line "chance to meet"
+ cont "PROF.OAK…"
+ done
+
+ChadPhoneFullText:
+ text "Your phone list is"
+ line "completely full!"
+ done
+
+ChadRematchText:
+ text "I've been waiting!"
+ line "Let's battle now!"
+ done
diff --git a/data/phone/text/dana_overworld.asm b/data/phone/text/dana_overworld.asm
new file mode 100644
index 000000000..099909eb6
--- /dev/null
+++ b/data/phone/text/dana_overworld.asm
@@ -0,0 +1,72 @@
+DanaAskNumber1Text:
+ text "You're really good"
+ line "at #MON!"
+
+ para "Boys give me items"
+ line "after battles, but"
+
+ para "sometimes they"
+ line "give me too much."
+
+ para "Next time, I can"
+ line "share some if you"
+
+ para "want. Let me get"
+ line "your phone number."
+ done
+
+DanaAskNumber2Text:
+ text "I'll share my"
+ line "gifts with you."
+
+ para "Let me get your"
+ line "phone number."
+ done
+
+DanaNumberAcceptedText:
+ text "Next time a boy"
+ line "gives me something"
+
+ para "after a battle,"
+ line "I'll share some!"
+
+ para "Does that make me"
+ line "bad?"
+ done
+
+DanaNumberDeclinedText:
+ text "Aww, you don't"
+ line "want anything?"
+
+ para "But it's all for"
+ line "free…"
+ done
+
+DanaPhoneFullText:
+ text "But your phone's"
+ line "out of memory!"
+ done
+
+DanaRematchText:
+ text "You're really"
+ line "late!"
+
+ para "I'm eager to get"
+ line "going!"
+ done
+
+DanaGiftText:
+ text "Hi! Are you here"
+ line "for your gift?"
+
+ para "This should really"
+ line "make your day!"
+ done
+
+DanaPackFullText:
+ text "Where are you"
+ line "going to put this?"
+
+ para "I'll keep it, so"
+ line "come get it later!"
+ done
diff --git a/data/phone/text/derek_overworld.asm b/data/phone/text/derek_overworld.asm
new file mode 100644
index 000000000..12472ec75
--- /dev/null
+++ b/data/phone/text/derek_overworld.asm
@@ -0,0 +1,61 @@
+DerekAskNumber1Text:
+ text "Oh, wow! PIKACHU!"
+ line "It's so soft and"
+ cont "furry! How cute!"
+
+ para "Let's be friends!"
+ line "PIKACHU-lovers are"
+ cont "never bad people!"
+
+ para "Let's chat about"
+ line "PIKACHU!"
+
+ para "Can I get your"
+ line "phone number?"
+ done
+
+DerekAskNumber2Text:
+ text "Let's chat about"
+ line "PIKACHU!"
+
+ para "Can I get your"
+ line "phone number?"
+ done
+
+DerekNumberAcceptedText:
+ text "PIKACHU is the"
+ line "one! If anything"
+
+ para "comes up, I'll"
+ line "give you a jingle."
+ done
+
+DerekNumberDeclinedText:
+ text "You…"
+
+ para "I bet you don't"
+ line "even like PIKACHU…"
+ done
+
+DerekPhoneFullText:
+ text "Wait a sec! Your"
+ line "phone list's full!"
+ done
+
+DerekGiftText:
+ text "I've been looking"
+ line "for you! Here, see"
+ cont "this? This is it!"
+
+ para "I'm certain your"
+ line "PIKACHU will love"
+ cont "my gift too!"
+ done
+
+DerekPackFullText:
+ text "Uh-oh, too bad."
+ line "You don't have any"
+
+ para "room. Be sure to"
+ line "get it later."
+ done
diff --git a/data/phone/text/elm.asm b/data/phone/text/elm.asm
new file mode 100644
index 000000000..cea36061f
--- /dev/null
+++ b/data/phone/text/elm.asm
@@ -0,0 +1,211 @@
+ElmPhoneStartText: ; 0x1b46fc
+ text "Hello, <PLAY_G>?"
+
+ para "Try not to overdo"
+ line "it."
+
+ para "Be sure to heal"
+ line "your #MON if"
+ cont "they are hurt."
+ done
+
+ElmPhoneSawMrPokemonText: ; 0x1b4749
+ text "Hello, <PLAY_G>?"
+
+ para "Did you meet MR."
+ line "#MON? Great!"
+ cont "Come back safely!"
+ done
+
+ElmPhonePokemonStolenText: ; 0x1b4784
+ text "<PLAY_G>? I'm very"
+ line "upset now."
+
+ para "We had a #MON"
+ line "stolen from here."
+
+ para "How could anyone"
+ line "do that?"
+ done
+
+ElmPhoneCheckingEggText: ; 0x1b47d5
+ text "Hello, <PLAY_G>?"
+
+ para "We're checking the"
+ line "EGG now. It does"
+
+ para "appear to be a"
+ line "#MON EGG."
+ done
+
+ElmPhoneAssistantText: ; 0x1b481c
+ text "Hello, <PLAY_G>?"
+
+ para "Did you see my"
+ line "assistant? He's at"
+
+ para "the #MON CENTER"
+ line "in VIOLET CITY."
+ done
+
+ElmPhoneEggUnhatchedText: ; 0x1b4868
+ text "Hello, <PLAY_G>?"
+
+ para "How's the EGG? Has"
+ line "anything changed?"
+
+ para "If anything hap-"
+ line "pens, please call."
+ done
+
+ElmPhoneEggHatchedText: ; 0x1b48bb
+ text "Hello, <PLAY_G>?"
+ line "How is the EGG?"
+
+ para "What? It hatched?"
+ line "Wow! What kind of"
+ cont "#MON is it?"
+
+ para "Please come show"
+ line "me now!"
+ done
+
+ElmPhoneDiscovery1Text: ; 0x1b491f
+ text "Hello, <PLAY_G>?"
+
+ para "I just made a new"
+ line "discovery."
+
+ para "The time it takes"
+ line "for an EGG to"
+
+ para "hatch depends on"
+ line "the #MON."
+ done
+
+ElmPhoneDiscovery2Text: ; 0x1b4982
+ text "Hello, <PLAY_G>?"
+
+ para "It's still a"
+ line "mystery what kinds"
+
+ para "of moves hatched"
+ line "#MON have."
+
+ para "We're investigat-"
+ line "ing that now."
+ done
+
+ElmPhonePokerusText: ; 0x1b49e7
+ text "Hello, <PLAY_G>?"
+
+ para "I discovered an"
+ line "odd thing."
+
+ para "Apparently there's"
+ line "something called"
+
+ para "#RUS that in-"
+ line "fects #MON."
+
+ para "Yes, it's like a"
+ line "virus, so it's"
+ cont "called #RUS."
+
+ para "It multiplies fast"
+ line "and infects other"
+
+ para "#MON too. But"
+ line "that's all."
+
+ para "It doesn't seem to"
+ line "do anything, and"
+
+ para "it goes away over"
+ line "time."
+
+ para "I guess it's"
+ line "nothing to worry"
+ cont "about. Bye!"
+ done
+
+ElmPhoneDisasterText: ; 0x1b4b17
+ text "H-hello? <PLAY_G>?"
+ line "It's a disaster!"
+
+ para "Uh, um, it's just"
+ line "terrible!"
+
+ para "What should I do?"
+ line "It… Oh, no…"
+
+ para "Please get back"
+ line "here now!"
+ done
+
+ElmPhoneEggAssistantText: ; 0x1b4b87
+ text "Hello, <PLAY_G>? We"
+ line "discovered some-"
+
+ para "thing about the"
+ line "EGG!"
+
+ para "My assistant is at"
+ line "the #MON CENTER"
+
+ para "in VIOLET CITY. "
+ line "Could you talk to"
+ cont "him?"
+ done
+
+ElmPhoneRocketText: ; 0x1b4c06
+ text "<PLAY_G>, how are"
+ line "things going?"
+
+ para "I called because"
+ line "something weird is"
+
+ para "happening with the"
+ line "radio broadcasts."
+
+ para "They were talking"
+ line "about TEAM ROCKET."
+
+ para "<PLAY_G>, do you"
+ line "know anything"
+ cont "about it?"
+
+ para "Maybe TEAM ROCKET"
+ line "has returned. No,"
+
+ para "that just can't"
+ line "be true."
+
+ para "Sorry to bug you."
+ line "Take care!"
+ done
+
+ElmPhoneGiftText: ; 0x1b4d09
+ text "Hello, <PLAY_G>?"
+
+ para "I have something"
+ line "here for you."
+
+ para "Could you swing by"
+ line "my LAB?"
+
+ para "See you later!"
+ done
+
+ElmPhoneUnusedText: ; 0x1b4d5d
+ text "Hello, <PLAY_G>?"
+ line "How's it going?"
+
+ para "I got ahold of"
+ line "something neat."
+
+ para "Swing by my LAB"
+ line "and pick it up!"
+
+ para "See you later!"
+ done
diff --git a/data/phone/text/erin_overworld.asm b/data/phone/text/erin_overworld.asm
new file mode 100644
index 000000000..3cfbe742e
--- /dev/null
+++ b/data/phone/text/erin_overworld.asm
@@ -0,0 +1,63 @@
+ErinAskNumber1Text:
+ text "It really made me"
+ line "angry to lose."
+
+ para "I'll have to train"
+ line "much harder…"
+
+ para "Here's my number."
+ line "I'm ERIN--don't"
+
+ para "forget! Want to"
+ line "battle me again?"
+ done
+
+ErinAskNumber2Text:
+ text "I want to battle"
+ line "with you again."
+
+ para "Do you want to"
+ line "exchange numbers?"
+ done
+
+ErinNumberAcceptedText:
+ text "I'll remember to"
+ line "call when I want"
+ cont "to battle again!"
+ done
+
+ErinNumberDeclinedText:
+ text "Oh… I'm sad…"
+ line "If you do want to"
+
+ para "battle, come see"
+ line "ERIN--that's me!"
+ done
+
+ErinPhoneFullText:
+ text "Oh no. Your phone"
+ line "is all filled up."
+ done
+
+ErinRematchText:
+ text "Yay! I waited!"
+ line "Let's start now!"
+ done
+
+ErinPackFullText:
+ text "That's too bad!"
+ line "You have no room…"
+
+ para "I'll give it to"
+ line "you another time."
+ done
+
+ErinRematchGiftText:
+ text "Aww… I lost again!"
+
+ para "I wonder how many"
+ line "times that is…"
+
+ para "Thanks for coming!"
+ line "Here's a present!"
+ done
diff --git a/data/phone/text/extra.asm b/data/phone/text/extra.asm
new file mode 100644
index 000000000..c7c4c2dfb
--- /dev/null
+++ b/data/phone/text/extra.asm
@@ -0,0 +1,1880 @@
+
+UnknownText_0x64000: ; 0x64000
+ text "I hate having to"
+ line "hang up on you!"
+
+ para "Call you later!"
+ done
+; 0x64032
+
+UnknownText_0x64032: ; 0x64032
+ text "<PLAY_G>, have you"
+ line "heard?"
+
+ para "GOLDENROD's RADIO"
+ line "TOWER has been"
+
+ para "taken over by TEAM"
+ line "ROCKET!"
+
+ para "…Um… What's TEAM"
+ line "ROCKET?"
+ done
+; 0x64099
+
+UnknownText_0x64099: ; 0x64099
+ text "<PLAY_G>, I heard!"
+
+ para "You defeated that"
+ line "WHITNEY?"
+
+ para "It makes me proud"
+ line "to be your friend!"
+ done
+; 0x640e6
+
+UnknownText_0x640e6: ; 0x640e6
+ text "Hey, I heard about"
+ line "you!"
+
+ para "You saved that"
+ line "#MON at the"
+
+ para "LIGHTHOUSE, didn't"
+ line "you?"
+
+ para "<PLAY_G>, I wish"
+ line "you'd come see me"
+
+ para "when I'm sick in"
+ line "bed with a cold!"
+ done
+; 0x6416d
+
+UnknownText_0x6416d: ; 0x6416d
+ text "I heard, I heard,"
+ line "I heard!"
+
+ para "You smashed TEAM"
+ line "ROCKET's hideout!"
+
+ para "You're like a"
+ line "movie hero, even!"
+
+ para "But um… What was"
+ line "TEAM ROCKET?"
+ done
+; 0x641e8
+
+UnknownText_0x641e8: ; 0x641e8
+ text "I heard, I heard,"
+ line "I heard!"
+
+ para "About your heroic"
+ line "liberation of the"
+
+ para "RADIO TOWER! You"
+ line "rock so hard!"
+ done
+; 0x64247
+
+UnknownText_0x64247: ; 0x64247
+ text "I saw, I saw!"
+
+ para "I saw you go into"
+ line "the DRAGON'S DEN!"
+
+ para "I'm certain you"
+ line "passed! Aww, no"
+
+ para "need to be modest!"
+ line "You can't fail!"
+ done
+; 0x642bb
+
+UnknownText_0x642bb: ; 0x642bb
+ text "Yesterday, I went"
+ line "out to NEW BARK"
+
+ para "TOWN. There was a"
+ line "lady who looked a"
+
+ para "lot like you,"
+ line "<PLAY_G>."
+
+ para "What? That lady"
+ line "was your mom?"
+
+ para "Aww, I should've"
+ line "introduced myself!"
+
+ para "I bet your mom's"
+ line "really proud of"
+
+ para "all that you've"
+ line "accomplished."
+
+ para "Heh, put it this"
+ line "way. I'd be proud"
+
+ para "if I were your"
+ line "mom, believe me!"
+ done
+; 0x643d4
+
+UnknownText_0x643d4: ; 0x643d4
+ text "I saw, I saw,"
+ line "I saw!"
+
+ para "You striding onto"
+ line "a ship, <PLAY_G>!"
+
+ para "I can't get over"
+ line "how good you look"
+
+ para "with the sea as"
+ line "your backdrop!"
+ done
+; 0x64448
+
+UnknownText_0x64448: ; 0x64448
+ text "I heard, I heard!"
+
+ para "You got a MAGNET"
+ line "TRAIN PASS!"
+
+ para "When I saw you"
+ line "departing on the"
+
+ para "ship, I felt sad"
+ line "that I wouldn't be"
+
+ para "able to see you"
+ line "for a while."
+
+ para "But since you have"
+ line "that PASS, you can"
+
+ para "zip back anytime!"
+ line "That's reassuring!"
+
+ para "What? You can FLY"
+ line "back anytime?"
+
+ para "What do you mean"
+ line "by FLY?"
+ done
+; 0x6455b
+
+UnknownText_0x6455b: ; 0x6455b
+ text "I saw, I saw!"
+
+ para "You waking up"
+ line "SNORLAX!"
+
+ para "I was watching you"
+ line "from afar, so I"
+
+ para "couldn't tell what"
+ line "you did exactly."
+
+ para "Did you play a"
+ line "flute to wake it?"
+
+ para "Wow! That's like"
+ line "magic!"
+ done
+; 0x645ff
+
+UnknownText_0x645ff: ; 0x645ff
+ text "I hear rumors"
+ line "about you all over"
+ cont "the place."
+
+ para "It just makes me"
+ line "sigh, <PLAY_G>."
+
+ para "How did you get so"
+ line "strong?"
+
+ para "Go for the world"
+ line "championship now!"
+
+ para "I'll always be"
+ line "cheering you on!"
+ done
+; 0x646a3
+
+IrwinCalledRightAwayText: ; 0x646a3
+ text "Hehe, I called"
+ line "right away!"
+
+ para "I think we can be"
+ line "good friends!"
+ done
+; 0x646df
+
+UnknownText_0x646df: ; 0x646df
+ text "I saw, I heard!"
+
+ para "You beat MORTY of"
+ line "ECRUTEAK GYM!"
+
+ para "Th-that's just"
+ line "incredible!"
+
+ para "I actually went to"
+ line "the GYM's entrance"
+
+ para "to cheer you on."
+ line "Did you know that?"
+
+ para "But everyone was"
+ line "floating, and"
+
+ para "there were ghosts"
+ line "all over! So I"
+
+ para "chickened out and"
+ line "took off for home…"
+ done
+; 0x647d8
+
+UnknownText_0x647d8: ; 0x647d8
+ text "<PLAY_G>, I heard!"
+
+ para "You're kicking up"
+ line "a mighty ruckus"
+
+ para "over in KANTO!"
+ line "What a glorious"
+
+ para "rampage it must"
+ line "be!"
+
+ para "You so rock!"
+ done
+; 0x64846
+
+UnknownText_0x64846: ; 0x64846
+ text "Hearing about your"
+ line "escapades rocks my"
+
+ para "soul!"
+ line "It sure does!"
+ done
+; 0x64881
+
+UnknownText_0x64881: ; 0x64881
+ text "I'm so glad you"
+ line "called!"
+
+ para "I was just about"
+ line "to call you too!"
+
+ para "I guess we must be"
+ line "a good match!"
+ done
+; 0x648dc
+
+UnknownText_0x648dc: ; 0x648dc
+ text "How are you?"
+
+ para "What are you"
+ line "doing?"
+
+ para "Where are you?"
+
+ para "How many BADGES do"
+ line "you have now?"
+
+ para "How much money"
+ line "have you saved?"
+
+ para "How's your mom?"
+
+ para "Have you got lots"
+ line "of #MON?"
+
+ para "Is it going to be"
+ line "sunny tomorrow?"
+
+ para "Arrgh, there's so"
+ line "much I want to"
+
+ para "chat about! This"
+ line "is going nowhere!"
+ done
+; 0x649dc
+
+ArnieLovesTheCuteText: ; 0x649dc
+ text "I'm always with my"
+ line "@"
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "It's so cute!"
+ line "I just love it!"
+ done
+; 0x64a13
+
+UnknownText_0x64a13: ; 0x64a13
+ text "Changing the topic"
+ line "here, I saw this"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " for the"
+ line "first time."
+
+ para "It was easy to"
+ line "beat, actually."
+ done
+; 0x64a71
+
+UnknownText_0x64a71: ; 0x64a71
+ text "I was wondering,"
+ line "do you happen to"
+ cont "have @"
+ text_from_ram StringBuffer4
+ text "?"
+
+ para "I can't seem to"
+ line "catch one. What is"
+
+ para "its weakness, I"
+ line "wonder."
+ done
+; 0x64ada
+
+UnknownText_0x64ada: ; 0x64ada
+ text "Hey, let's battle"
+ line "our #MON!"
+
+ para "I won't lose to"
+ line "you battling or in"
+
+ para "the Bug-Catching"
+ line "Contest!"
+
+ para "I'll be here on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x64b48
+
+UnknownText_0x64b48: ; 0x64b48
+ text "Let's talk again,"
+ line "huh?"
+ done
+; 0x64b5f
+
+UnknownText_0x64b5f: ; 0x64b5f
+ text "Boy, am I glad I"
+ line "caught you!"
+
+ para "A whole bunch of"
+ line "@"
+ text_from_ram StringBuffer4
+ text " have"
+
+ para "appeared around"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+
+ para "You have to see"
+ line "this!"
+ done
+; 0x64bc6
+
+UnknownText_0x64bc6: ; 0x64bc6
+ text "I haven't had any"
+ line "luck seeing rare"
+ cont "#MON lately…"
+
+ para "But I know they're"
+ line "out there!"
+ done
+; 0x64c13
+
+UnknownText_0x64c13: ; 0x64c13
+ text "Hey, where are you"
+ line "now?"
+
+ para "Let's battle. I'll"
+ line "be waiting for you"
+ cont "on @"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x64c5a
+
+UnknownText_0x64c5a: ; 0x64c5a
+ text "Hello? Are you"
+ line "coming or what?"
+
+ para "You're missing out"
+ line "on seeing YANMA!"
+
+ para "Get down to ROUTE"
+ line "35 right now!"
+ done
+; 0x64cbd
+
+AlanGettingStrongerText: ; 0x64cbd
+ text "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "getting stronger,"
+
+ para "exactly as I"
+ line "calculated!"
+ done
+; 0x64cf3
+
+UnknownText_0x64cf3: ; 0x64cf3
+ text "By the way, we"
+ line "knocked out a wild"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " just"
+ line "the other day."
+
+ para "Studying up in"
+ line "advance worked!"
+ done
+; 0x64d4f
+
+UnknownText_0x64d4f: ; 0x64d4f
+ text "By the way, a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text " escaped"
+ cont "on me yesterday."
+
+ para "A computational"
+ line "error on my part…"
+ done
+; 0x64da4
+
+UnknownText_0x64da4: ; 0x64da4
+ text "I've studied quite"
+ line "a bit since then,"
+
+ para "and I've gotten a"
+ line "lot better!"
+
+ para "I'm hanging out on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Can you come down"
+ line "for a battle?"
+ done
+; 0x64e1f
+
+UnknownText_0x64e1f: ; 0x64e1f
+ text "See you later!"
+ done
+; 0x64e2f
+
+UnknownText_0x64e2f: ; 0x64e2f
+ text "Hehehe, I picked"
+ line "up something nice!"
+
+ para "You can have it!"
+ line "Why don't you come"
+
+ para "to @"
+ text_from_ram StringBuffer5
+ text_start
+ line "and pick it up?"
+ done
+; 0x64e90
+
+UnknownText_0x64e90: ; 0x64e90
+ text "I haven't picked"
+ line "up anything yet."
+
+ para "I'll call you if I"
+ line "find something."
+ done
+; 0x64ed4
+
+UnknownText_0x64ed4: ; 0x64ed4
+ text "If we don't battle"
+ line "soon, I'll forget"
+ cont "my strategy!"
+
+ para "I'm waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x64f1a
+
+UnknownText_0x64f1a: ; 0x64f1a
+ text "I have to do my"
+ line "homework, so can"
+
+ para "you come get your"
+ line "gift right away?"
+
+ para "I'm waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x64f74
+
+UnknownText_0x64f74: ; 0x64f74
+ text "My @"
+ text_from_ram StringBuffer4
+ text " is"
+ line "getting prettier!"
+
+ para "I've been taking"
+ line "photos galore!"
+ done
+; 0x64fb2
+
+UnknownText_0x64fb2: ; 0x64fb2
+ text "It took only an"
+ line "instant to KO a"
+ cont "wild @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "It must be because"
+ line "you gave me some"
+
+ para "battling tips last"
+ line "time."
+ done
+; 0x6501c
+
+UnknownText_0x6501c: ; 0x6501c
+ text "You know what?"
+ line "A wild @"
+ text_from_ram StringBuffer4
+ text_start
+ para "got away from me"
+ line "again."
+
+ para "It was so close!"
+ line "Really, just a"
+
+ para "little bit more,"
+ line "and I would've…"
+ done
+; 0x65091
+
+UnknownText_0x65091: ; 0x65091
+ text "Right now, I'm on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "If you're close"
+ line "by, let's battle!"
+
+ para "I'll be waiting"
+ line "for you!"
+ done
+; 0x650e2
+
+UnknownText_0x650e2: ; 0x650e2
+ text "See you!"
+ done
+; 0x650ec
+
+UnknownText_0x650ec: ; 0x650ec
+ text "You know what?"
+ line "I got a good gift!"
+
+ para "As I promised,"
+ line "it's yours!"
+
+ para "I'm sure you'd"
+ line "like it. Come get"
+
+ para "it! I'm waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x65161
+
+UnknownText_0x65161: ; 0x65161
+ text "Oh! You wanted a"
+ line "gift, right?"
+
+ para "I got one, but I"
+ line "want to keep this."
+
+ para "Can you wait a bit"
+ line "longer?"
+ done
+; 0x651bf
+
+UnknownText_0x651bf: ; 0x651bf
+ text "Hi! You haven't"
+ line "forgotten about"
+
+ para "your promise to"
+ line "battle me?"
+
+ para "I'm waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x6520f
+
+UnknownText_0x6520f: ; 0x6520f
+ text "Hello?"
+
+ para "If you don't come"
+ line "get your present"
+
+ para "soon, I'll give it"
+ line "to someone else."
+
+ para "I'm waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x65271
+
+ChadObservingWildText: ; 0x65271
+ text "I recently began"
+ line "observing wild"
+ cont "@"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "I've been learning"
+ line "all sorts of new"
+
+ para "things through my"
+ line "observations."
+
+ para "I wish I could"
+ line "become a #MON"
+
+ para "researcher like"
+ line "PROF.OAK soon."
+ done
+; 0x65318
+
+UnknownText_0x65318: ; 0x65318
+ text "Oh yes, I managed"
+ line "to knock out a"
+
+ para "wild @"
+ text_from_ram StringBuffer4
+ text " a"
+ line "while back."
+
+ para "Well, considering"
+ line "all the studying I"
+
+ para "do every day, it"
+ line "was inevitable."
+ done
+; 0x65399
+
+UnknownText_0x65399: ; 0x65399
+ text "Oh yes, I came"
+ line "close to catching"
+
+ para "a wild @"
+ text_from_ram StringBuffer4
+ text ","
+ line "but it got away."
+
+ para "For the longest"
+ line "time, I've been"
+
+ para "wanting to observe"
+ line "@"
+ text_from_ram StringBuffer4
+ text ". Rats…"
+ done
+; 0x65419
+
+UnknownText_0x65419: ; 0x65419
+ text "Want to battle?"
+ line "I have to battle"
+
+ para "every so often to"
+ line "avoid rusting out."
+
+ para "I'll be on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x65471
+
+UnknownText_0x65471: ; 0x65471
+ text "See you later!"
+ done
+; 0x65481
+
+ChadBlueGossipText: ; 0x65481
+ text "Do you know BLUE?"
+
+ para "He's PROF.OAK's"
+ line "grandson and a"
+
+ para "former #MON"
+ line "LEAGUE CHAMPION!"
+
+ para "He's one super"
+ line "#MON trainer!"
+ done
+; 0x654ea
+
+ChadDaisyGossipText: ; 0x654ea
+ text "PROF.OAK has a"
+ line "granddaughter"
+ cont "named DAISY."
+
+ para "When she's around,"
+ line "even the most"
+
+ para "ferocious #MON"
+ line "calm right down."
+ done
+; 0x65555
+
+ChadProfElmGossipText: ; 0x65555
+ text "Everyone's talking"
+ line "about PROF.ELM."
+
+ para "He used to be an"
+ line "assistant to the"
+ cont "great PROF.OAK!"
+
+ para "That is so cool!"
+ line "I envy him!"
+ done
+; 0x655c7
+
+ChadDreamGossipText: ; 0x655c7
+ text "PROF.OAK's dream"
+ line "is to compile a"
+
+ para "comprehensive"
+ line "#DEX."
+
+ para "I envy you for"
+ line "taking part in"
+ cont "that project…"
+ done
+; 0x65628
+
+ChadKurtGossipText: ; 0x65628
+ text "Do you know KURT,"
+ line "the BALL creator?"
+
+ para "He and PROF.OAK go"
+ line "back a long way."
+
+ para "I guess great"
+ line "people attract one"
+ cont "another!"
+ done
+; 0x6569b
+
+ChadLeagueGossipText: ; 0x6569b
+ text "#MON LEAGUE is"
+ line "the great gather-"
+ cont "ing place for all"
+
+ para "trainers who wish"
+ line "to become CHAMP."
+
+ para "PROF.OAK acts as"
+ line "an advisor to the"
+
+ para "#MON LEAGUE's"
+ line "headquarters."
+
+ para "He really is a"
+ line "great man."
+ done
+; 0x6574a
+
+ChadRadioShowGossipText: ; 0x6574a
+ text "PROF.OAK'S #MON"
+ line "TALK is a popular"
+ cont "radio show, right?"
+
+ para "Did you know that"
+ line "he was going to"
+
+ para "turn down the show"
+ line "at first?"
+
+ para "But MARY's energy"
+ line "and persistence"
+ cont "wore him down."
+
+ para "So we have MARY to"
+ line "thank for it!"
+ done
+; 0x65810
+
+ChadBattlingGossipText: ; 0x65810
+ text "PROF.OAK used to"
+ line "be a trainer a"
+ cont "long time ago."
+
+ para "But rather than"
+ line "battling, he found"
+
+ para "#MON themselves"
+ line "to be interesting."
+
+ para "So he abandoned"
+ line "his training to"
+
+ para "focus on becoming"
+ line "a researcher."
+ done
+; 0x658c6
+
+ChadDaisyTeaGossipText: ; 0x658c6
+ text "PROF.OAK has a"
+ line "granddaughter"
+ cont "named DAISY."
+
+ para "She has tea every"
+ line "day for an hour"
+
+ para "from three in the"
+ line "afternoon."
+
+ para "I wish I could"
+ line "join her for tea"
+
+ para "and chat about"
+ line "PROF.OAK."
+ done
+; 0x65969
+
+ChadTravelGossipText: ; 0x65969
+ text "Did you know?"
+ line "PROF.OAK traveled"
+
+ para "all over the world"
+ line "when he was young."
+
+ para "While traveling,"
+ line "he must've learned"
+
+ para "about #MON"
+ line "naturally."
+
+ para "I envy him…"
+ line "I'd like to travel"
+
+ para "and learn about"
+ line "things too…"
+ done
+; 0x65a23
+
+UnknownText_0x65a23: ; 0x65a23
+ text "I'm going to study"
+ line "hard so PROF.OAK"
+
+ para "will make me his"
+ line "assistant!"
+ done
+; 0x65a63
+
+UnknownText_0x65a63: ; 0x65a63
+ text "Do you remember"
+ line "about our battle?"
+
+ para "The place is"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Hurry over--I'm"
+ line "waiting."
+ done
+; 0x65ab2
+
+DerekCheekPincherText: ; 0x65ab2
+ text "Listen to this."
+ line "My @"
+ text_from_ram StringBuffer4
+ text_start
+ para "grins happily when"
+ line "I pinch its cheek."
+
+ para "But it never grins"
+ line "for anyone else."
+
+ para "I must be special."
+ done
+; 0x65b29
+
+UnknownText_0x65b29: ; 0x65b29
+ text "Oh, and recently,"
+ line "my PIKACHU beat a"
+ cont "wild @"
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "A wild @"
+ text_from_ram StringBuffer4
+ text ","
+ line "I tell you!"
+
+ para "Don't you think"
+ line "that's astounding?"
+
+ para "My PIKACHU is"
+ line "awesome!"
+
+ para "My PIKACHU is the"
+ line "greatest!"
+ done
+; 0x65bc8
+
+UnknownText_0x65bc8: ; 0x65bc8
+ text "Oh, and I saw a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text " a"
+ cont "little while ago."
+
+ para "But it wasn't very"
+ line "cute, so I left"
+
+ para "it…"
+ line "#MON have to be"
+
+ para "cute. They're no"
+ line "good otherwise."
+ done
+; 0x65c4e
+
+UnknownText_0x65c4e: ; 0x65c4e
+ text "Well, let's talk"
+ line "again!"
+ done
+; 0x65c66
+
+DerekBugCatchingContestText: ; 0x65c66
+ text "Did you remember?"
+ line "The Bug-Catching"
+ cont "Contest is today."
+
+ para "You're going to"
+ line "go, aren't you?"
+
+ para "I think I'll"
+ line "participate with"
+
+ para "PIKACHU to show"
+ line "off its cuteness."
+ done
+; 0x65cf9
+
+UnknownText_0x65cf9: ; 0x65cf9
+ text "I'd like you to"
+ line "have a NUGGET."
+
+ para "My PIKACHU just"
+ line "loves it."
+
+ para "I'm certain your"
+ line "PIKACHU will love"
+ cont "it too!"
+ done
+; 0x65d5c
+
+UnknownText_0x65d5c: ; 0x65d5c
+ text "How is your"
+ line "PIKACHU doing?"
+
+ para "Let's get together"
+ line "and brag about our"
+ cont "PIKACHU!"
+ done
+; 0x65da6
+
+UnknownText_0x65da6: ; 0x65da6
+ text "What's wrong?"
+
+ para "I'm waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Come pick this up"
+ line "anytime."
+ done
+; 0x65de4
+
+TullyGrownText: ; 0x65de4
+ text "My @"
+ text_from_ram StringBuffer4
+ text " has"
+ line "grown again."
+
+ para "It was only about"
+ line "so big when I"
+
+ para "caught it, but now"
+ line "it's way bigger."
+ done
+; 0x65e42
+
+UnknownText_0x65e42: ; 0x65e42
+ text "Oh yeah, I KO'd a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "It was huge, like"
+ line "this big even."
+
+ para "Heh, I guess you"
+ line "can't tell over"
+ cont "the phone…"
+ done
+; 0x65eac
+
+UnknownText_0x65eac: ; 0x65eac
+ text "Oh yeah, I lost a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "It was huge, like"
+ line "this big even."
+
+ para "Heh, I guess you"
+ line "can't tell over"
+ cont "the phone…"
+ done
+; 0x65f17
+
+UnknownText_0x65f17: ; 0x65f17
+ text "We should get a"
+ line "battle going!"
+
+ para "I'll be fishing on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Swing by if you"
+ line "have the time."
+ done
+; 0x65f6e
+
+UnknownText_0x65f6e: ; 0x65f6e
+ text "Well, I'll be"
+ line "seeing you."
+ done
+; 0x65f88
+
+UnknownText_0x65f88: ; 0x65f88
+ text "I picked up a good"
+ line "little thing at"
+ cont "the water's edge."
+
+ para "Like I promised,"
+ line "it's yours."
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x65ff2
+
+UnknownText_0x65ff2: ; 0x65ff2
+ text "Have I found"
+ line "anything good?"
+
+ para "Nope, not yet."
+
+ para "It's like fishing,"
+ line "you need patience."
+ done
+; 0x66043
+
+UnknownText_0x66043: ; 0x66043
+ text "Yup, TULLY here…"
+
+ para "<PLAY_G>? What?"
+ line "You're lost?"
+
+ para "Our battle will be"
+ line "on @"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x66087
+
+UnknownText_0x66087: ; 0x66087
+ text "I've got something"
+ line "good for you."
+
+ para "Hustle over to"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x660be
+
+BrentRareTradeText: ; 0x660be
+ text "Oh yeah, I got an"
+ line "extremely rare"
+
+ para "#MON in a trade"
+ line "a while back."
+
+ para "Do you want to"
+ line "know what it is?"
+
+ para "Hehe, I'm keeping"
+ line "it a secret!"
+ done
+; 0x6613c
+
+UnknownText_0x6613c: ; 0x6613c
+ text "Oh yeah, I took"
+ line "down this wild"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text "."
+ line "It wasn't rare"
+
+ para "enough to bother"
+ line "catching."
+ done
+; 0x6618c
+
+UnknownText_0x6618c: ; 0x6618c
+ text "Oh yeah, I saw a"
+ line "rare #MON about"
+ cont "an hour ago."
+
+ para "It was my first"
+ line "sighting. But I"
+
+ para "didn't have any"
+ line "# BALLS…"
+
+ para "Would BILL laugh"
+ line "at my mistakes?"
+ done
+; 0x66214
+
+UnknownText_0x66214: ; 0x66214
+ text "You've got time"
+ line "like usual, right?"
+
+ para "Feel like having a"
+ line "battle?"
+
+ para "It'll be a chance"
+ line "to see my rare"
+
+ para "#MON. It'll be"
+ line "worth your time!"
+
+ para "You know where--"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x662a9
+
+UnknownText_0x662a9: ; 0x662a9
+ text "So that's it then."
+ done
+; 0x662bc
+
+UnknownText_0x662bc: ; 0x662bc
+ text "Did you know…?"
+ line "BILL's father is"
+
+ para "supposed to be a"
+ line "great #MANIAC."
+ done
+; 0x662fc
+
+UnknownText_0x662fc: ; 0x662fc
+ text "Did you know…?"
+ line "Apparently BILL's"
+
+ para "grandpa isn't a"
+ line "#MANIAC."
+ done
+; 0x66335
+
+UnknownText_0x66335: ; 0x66335
+ text "Did you know…?"
+ line "BILL's originally"
+ cont "from GOLDENROD."
+ done
+; 0x66366
+
+UnknownText_0x66366: ; 0x66366
+ text "Did you know…?"
+ line "BILL evidently"
+
+ para "lives on ROUTE 25"
+ line "in KANTO."
+ done
+; 0x663a1
+
+UnknownText_0x663a1: ; 0x663a1
+ text "Did you know…?"
+ line "ABRA was the first"
+
+ para "#MON that BILL"
+ line "ostensibly caught."
+ done
+; 0x663e6
+
+UnknownText_0x663e6: ; 0x663e6
+ text "Did you know…?"
+ line "BILL's younger"
+
+ para "sister apparently"
+ line "can't wink."
+ done
+; 0x66421
+
+UnknownText_0x66421: ; 0x66421
+ text "Did you know…?"
+ line "BILL supposedly"
+
+ para "hates milk and"
+ line "can't drink it."
+ done
+; 0x6645f
+
+UnknownText_0x6645f: ; 0x6645f
+ text "Did you know…?"
+ line "Evidently, BILL"
+
+ para "isn't very good at"
+ line "battling."
+ done
+; 0x6649b
+
+UnknownText_0x6649b: ; 0x6649b
+ text "Did you know…?"
+ line "BILL appears to"
+
+ para "like the lady at"
+ line "the FLOWER SHOP."
+ done
+; 0x664dd
+
+UnknownText_0x664dd: ; 0x664dd
+ text "Did you know…?"
+ line "BILL's mother is"
+
+ para "said to have been"
+ line "a KIMONO GIRL."
+ done
+; 0x6651e
+
+UnknownText_0x6651e: ; 0x6651e
+ text "You wanted to hear"
+ line "about BILL?"
+
+ para "Sorry, but I'm too"
+ line "busy for you."
+
+ para "I'll call when I"
+ line "have time."
+ done
+; 0x66579
+
+UnknownText_0x66579: ; 0x66579
+ text "You want to see my"
+ line "rare #MON."
+
+ para "Hurry over to"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x665ad
+
+UnknownText_0x665ad: ; 0x665ad
+ text "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "adorable, don't"
+
+ para "you think so?"
+ line "I always sleep"
+
+ para "with it--it's so"
+ line "fluffy and warm!"
+ done
+; 0x66605
+
+UnknownText_0x66605: ; 0x66605
+ text "Oh, and we had to"
+ line "battle a wild"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " a while"
+ line "ago…"
+
+ para "My CLEFAIRY came"
+ line "close to fainting!"
+
+ para "Isn't that awful?"
+
+ para "I hate those nasty"
+ line "@"
+ text_from_ram StringBuffer4
+ text "!"
+ done
+; 0x66688
+
+UnknownText_0x66688: ; 0x66688
+ text "Oh, and we had to"
+ line "battle a wild"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " a while"
+ line "ago…"
+
+ para "My CLEFAIRY got"
+ line "frightened, so we"
+
+ para "ran away as fast"
+ line "as we could!"
+
+ para "I just can't help"
+ line "feeling protective"
+ cont "of my CLEFAIRY."
+ done
+; 0x66730
+
+UnknownText_0x66730: ; 0x66730
+ text "I know this might"
+ line "surprise you, but"
+
+ para "would you like to"
+ line "battle?"
+
+ para "I'll be waiting"
+ line "with CLEFAIRY on"
+ cont "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x66796
+
+TiffanyItsAwfulText: ; 0x66796
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "It's awful."
+ line "My CLEFAIRY…"
+
+ para "Huh? <PLAY_G>?"
+
+ para "Oh, sorry! I was"
+ line "in a hurry, and I…"
+
+ para "I have to go!"
+ line "Bye-bye!"
+ done
+; 0x667f7
+
+UnknownText_0x667f7: ; 0x667f7
+ text "Bye-bye!"
+ done
+; 0x66801
+
+UnknownText_0x66801: ; 0x66801
+ text "I bought some PINK"
+ line "BOWS at GOLDENROD"
+
+ para "DEPT.STORE for my"
+ line "CLEFAIRY."
+
+ para "I got too many, so"
+ line "I'll give you one!"
+
+ para "Come collect it on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x66882
+
+UnknownText_0x66882: ; 0x66882
+ text "I love dressing up"
+ line "my CLEFAIRY!"
+ done
+; 0x668a3
+
+UnknownText_0x668a3: ; 0x668a3
+ text "What's wrong?"
+ line "Can't you visit?"
+
+ para "CLEFAIRY got tired"
+ line "and fell asleep."
+
+ para "I'm not sure if I"
+ line "can wake it up…"
+
+ para "Please hurry to"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x6691d
+
+UnknownText_0x6691d: ; 0x6691d
+ text "What's wrong?"
+ line "Can't you visit?"
+
+ para "I'm sure this will"
+ line "look good on your"
+ cont "CLEFAIRY."
+
+ para "Please hurry to"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x66980
+
+VanceLiftoffText: ; 0x66980
+ text "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "become tougher."
+
+ para "We've achieved"
+ line "liftoff!"
+ done
+; 0x669b2
+
+UnknownText_0x669b2: ; 0x669b2
+ text "We can easily beat"
+ line "@"
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "…Huh? You too?"
+ line "Isn't that great?"
+ done
+; 0x669ed
+
+UnknownText_0x669ed: ; 0x669ed
+ text "But get this, a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text_start
+ para "just barely eluded"
+ line "us."
+
+ para "I wanted to FLY"
+ line "after it…"
+ done
+; 0x66a3a
+
+UnknownText_0x66a3a: ; 0x66a3a
+ text "Right now, I'm on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "You know, where I"
+ line "first met you?"
+
+ para "Want to battle?"
+ line "I'll wait here."
+ done
+; 0x66a93
+
+UnknownText_0x66a93: ; 0x66a93
+ text "OK, bye for now!"
+ done
+; 0x66aa5
+
+VanceLookingForwardText: ; 0x66aa5
+ text "I'll be looking"
+ line "forward to our"
+ cont "next battle!"
+ done
+; 0x66ad1
+
+VanceHurryHurryText: ; 0x66ad1
+ text "Oh, <PLAY_G>!"
+ line "Hurry, hurry!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "!"
+ line "FLY over now!"
+ done
+; 0x66afc
+
+WiltonGrownText: ; 0x66afc
+ text "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "grown impressive!"
+
+ para "My fishing skills"
+ line "have improved too!"
+ done
+; 0x66b3e
+
+UnknownText_0x66b3e: ; 0x66b3e
+ text "We beat a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text "…"
+
+ para "You know, I have"
+ line "more fun fishing"
+
+ para "than beating wild"
+ line "#MON."
+ done
+; 0x66b8f
+
+UnknownText_0x66b8f: ; 0x66b8f
+ text "But a while back,"
+ line "we came this close"
+
+ para "to landing a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "I tell you, it was"
+ line "huge. Believe me."
+ done
+; 0x66bf3
+
+UnknownText_0x66bf3: ; 0x66bf3
+ text "I'm fishing on"
+ line "@"
+ text_from_ram StringBuffer5
+ text ","
+
+ para "but nothing's"
+ line "biting today."
+
+ para "Help me while my"
+ line "time away, come"
+ cont "over for a battle."
+ done
+; 0x66c58
+
+UnknownText_0x66c58: ; 0x66c58
+ text "All right, later."
+ done
+; 0x66c6b
+
+UnknownText_0x66c6b: ; 0x66c6b
+ text "I snagged an item"
+ line "while fishing."
+
+ para "Come pick it up on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x66ca7
+
+WiltonHaventFoundAnythingText: ; 0x66ca7
+ text "Nah, I haven't"
+ line "found anything"
+
+ para "that's worth your"
+ line "time."
+
+ para "You have to have"
+ line "patience."
+ done
+; 0x66cf7
+
+WiltonNotBitingText: ; 0x66cf7
+ text "Sigh…"
+ line "They're not biting"
+
+ para "like before on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "…"
+
+ para "You have to come"
+ line "for a battle!"
+ done
+; 0x66d45
+
+WiltonWantThisText: ; 0x66d45
+ text "Don't you want"
+ line "this item?"
+
+ para "Hah? You don't"
+ line "know where?"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "…"
+ line "Just head from"
+
+ para "MAHOGANY toward"
+ line "BLACKTHORN!"
+ done
+; 0x66dab
+
+UnknownText_0x66dab: ; 0x66dab
+ text "Anyway, we'll chat"
+ line "again!"
+ done
+; 0x66dc5
+
+UnknownText_0x66dc5: ; 0x66dc5
+ text "Are you still on"
+ line "your journey?"
+
+ para "I remain dedicated"
+ line "to my training."
+
+ para "Oooooaaarrrgh!"
+ done
+; 0x66e17
+
+UnknownText_0x66e17: ; 0x66e17
+ text "I'm in training"
+ line "now. I apologize,"
+
+ para "but call me back"
+ line "another time."
+
+ para "Oooooaaarrrgh!"
+ done
+; 0x66e67
+
+UnknownText_0x66e67: ; 0x66e67
+ text "I apologize, but I"
+ line "don't have time to"
+
+ para "chat while I am in"
+ line "training!"
+
+ para "I'll have time to"
+ line "chat tomorrow!"
+
+ para "Yiiihah!"
+ done
+; 0x66ed3
+
+UnknownText_0x66ed3: ; 0x66ed3
+ text "I plan to take a"
+ line "lunch break, so"
+
+ para "come see me then!"
+ line "Ayiiiyah!"
+ done
+; 0x66f11
+
+KenjiBreakText: ; 0x66f11
+ text "I'm taking a break"
+ line "on ROUTE 45!"
+
+ para "Why not drop by if"
+ line "you are free?"
+ done
+; 0x66f52
+
+UnknownText_0x66f52: ; 0x66f52
+ text "I rested up over"
+ line "my lunch break."
+
+ para "Now it's time to"
+ line "resume training!"
+
+ para "Oooryaah!"
+ done
+; 0x66f9f
+
+ParryNoMatchText: ; 0x66f9f
+ text "Nothing can match"
+ line "my @"
+ text_from_ram StringBuffer4
+ text " now."
+ done
+; 0x66fc0
+
+UnknownText_0x66fc0: ; 0x66fc0
+ text "Yeah, we KO'd a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "That was OK, but I"
+ line "wanted to get it…"
+ done
+; 0x67001
+
+UnknownText_0x67001: ; 0x67001
+ text "And yesterday, we"
+ line "spotted a wild"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text "."
+ line "We were debating"
+
+ para "whether to catch"
+ line "it or beat it."
+
+ para "When along came"
+ line "another guy who"
+
+ para "caught it!"
+ line "How about that!"
+ done
+; 0x67096
+
+UnknownText_0x67096: ; 0x67096
+ text "You're thinking"
+ line "you'd like to"
+
+ para "battle me. Am I"
+ line "right or what?"
+
+ para "Yep! We'll meet on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x670eb
+
+UnknownText_0x670eb: ; 0x670eb
+ text "OK, give me a call"
+ line "again!"
+ done
+; 0x67106
+
+ParryBattleWithMeText: ; 0x67106
+ text "You'll battle with"
+ line "me again, right?"
+ done
+; 0x6712a
+
+ParryHaventYouGottenToText: ; 0x6712a
+ text "Haven't you gotten"
+ line "to @"
+ text_from_ram StringBuffer5
+ text "?"
+
+ para "Waiting here isn't"
+ line "bad, but I'd sure"
+ cont "like to battle!"
+ done
+; 0x6717a
+
+UnknownText_0x6717a: ; 0x6717a
+ text_from_ram StringBuffer3
+ text "'s @"
+ text_from_ram StringBuffer4
+ text_start
+ line "is much stronger"
+ cont "than before!"
+ done
+; 0x671a4
+
+UnknownText_0x671a4: ; 0x671a4
+ text "And, and…"
+ line "I just battled and"
+ cont "beat @"
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "I've raised my"
+ line "#MON properly!"
+ done
+; 0x671eb
+
+UnknownText_0x671eb: ; 0x671eb
+ text "But, but…"
+
+ para "A wild @"
+ text_from_ram StringBuffer4
+ text_start
+ line "got away from me"
+
+ para "again. It's just"
+ line "not fair!"
+ done
+; 0x6722e
+
+UnknownText_0x6722e: ; 0x6722e
+ text "I'm ERIN. Want to"
+ line "battle me again?"
+
+ para "I won't lose this"
+ line "time!"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x67281
+
+UnknownText_0x67281: ; 0x67281
+ text "See you. Bye-bye!"
+ done
+; 0x67294
+
+ErinWorkingHardText: ; 0x67294
+ text "I'm working hard"
+ line "to raise my"
+ cont "#MON!"
+
+ para "Come back for"
+ line "another battle!"
+ done
+; 0x672d5
+
+ErinComeBattleText: ; 0x672d5
+ text "Oh, <PLAY_G>!"
+ line "Come battle ERIN!"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x67308
diff --git a/data/phone/text/extra2.asm b/data/phone/text/extra2.asm
new file mode 100644
index 000000000..f53c0ba25
--- /dev/null
+++ b/data/phone/text/extra2.asm
@@ -0,0 +1,1927 @@
+UnknownText_0x174000: ; 0x174000
+ text "Hi, <PLAY_G>!"
+ line "Our BICYCLE sales"
+
+ para "have gone through"
+ line "the roof!"
+
+ para "We owe it all to"
+ line "your advertising"
+
+ para "by riding around"
+ line "on our BICYCLE."
+
+ para "As our way of say-"
+ line "ing thanks, please"
+
+ para "keep that BICYCLE."
+ line "Thanks again!"
+ done
+; 0x1740c0
+
+JackIntelligenceText: ; 0x1740c0
+ text "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "intelligence keeps"
+
+ para "rising. It might"
+ line "be smarter than"
+ cont "yours!"
+ done
+; 0x174106
+
+JackDefeatedMonText: ; 0x174106
+ text "The other day, I"
+ line "easily defeated a"
+ cont "@"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "I think swapping"
+ line "tips with you is"
+ cont "starting to help."
+ done
+; 0x174165
+
+UnknownText_0x174165: ; 0x174165
+ text "Oh, and listen."
+ line "I missed catching"
+
+ para "a @"
+ text_from_ram StringBuffer4
+ text " by"
+ line "just a tiny bit."
+
+ para "If I'd been a bit"
+ line "more informed, I'm"
+
+ para "sure I would've"
+ line "caught it…"
+ done
+; 0x1741e1
+
+UnknownText_0x1741e1: ; 0x1741e1
+ text "Do you want to"
+ line "battle? I'll show"
+
+ para "you how to battle"
+ line "logically."
+
+ para "I'll be in"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Give me a shout if"
+ line "you're nearby."
+ done
+; 0x174251
+
+UnknownText_0x174251: ; 0x174251
+ text "See you later!"
+ done
+; 0x174261
+
+JackThunderTriviaText: ; 0x174261
+ text "Did you know?"
+
+ para "When it's raining,"
+ line "THUNDER is sure to"
+ cont "strike."
+ done
+; 0x17429d
+
+JackRolloutTriviaText: ; 0x17429d
+ text "Did you know…?"
+
+ para "If you use DEFENSE"
+ line "CURL, ROLLOUT's"
+
+ para "power goes way up"
+ line "past normal."
+ done
+; 0x1742ee
+
+JackSolarbeamTriviaText: ; 0x1742ee
+ text "Did you know…?"
+
+ para "If the sunlight is"
+ line "harsh, SOLARBEAM"
+
+ para "doesn't need to be"
+ line "charged up."
+ done
+; 0x174340
+
+JackStompTriviaText: ; 0x174340
+ text "Did you know…?"
+
+ para "If the opponent"
+ line "uses MINIMIZE,"
+
+ para "your STOMP becomes"
+ line "more powerful."
+ done
+; 0x174391
+
+JackGustTriviaText: ; 0x174391
+ text "Did you know…?"
+
+ para "If your opponent"
+ line "is FLYing, your"
+
+ para "GUST becomes much"
+ line "more powerful."
+ done
+; 0x1743e3
+
+JackTwisterTriviaText: ; 0x1743e3
+ text "Did you know…?"
+
+ para "If your opponent"
+ line "is FLYing, your"
+
+ para "TWISTER becomes"
+ line "more powerful."
+ done
+; 0x174433
+
+JackEarthquakeTriviaText: ; 0x174433
+ text "Did you know…?"
+
+ para "If your opponent"
+ line "uses DIG, your"
+
+ para "EARTHQUAKE becomes"
+ line "more powerful."
+ done
+; 0x174485
+
+JackMagnitudeTriviaText: ; 0x174485
+ text "Did you know…?"
+
+ para "If your opponent"
+ line "uses DIG, your"
+
+ para "MAGNITUDE becomes"
+ line "more powerful."
+ done
+; 0x1744d6
+
+JackSandstormTriviaText: ; 0x1744d6
+ text "Did you know…?"
+
+ para "The rock, ground"
+ line "and steel types"
+
+ para "can't be hurt by"
+ line "SANDSTORM."
+ done
+; 0x174522
+
+JackSunnyDayTriviaText: ; 0x174522
+ text "Did you know…?"
+
+ para "If the sunlight is"
+ line "harsh, water-type"
+
+ para "moves become much"
+ line "weaker."
+ done
+; 0x174571
+
+JackRainDanceTriviaText: ; 0x174571
+ text "Did you know…?"
+
+ para "When it's raining,"
+ line "fire-type moves"
+
+ para "become much weaker"
+ line "than usual."
+ done
+; 0x1745c2
+
+UnknownText_0x1745c2: ; 0x1745c2
+ text "My friend heard"
+ line "some great tips."
+
+ para "He's going to let"
+ line "me in on some."
+
+ para "When he tells me,"
+ line "I'll call right"
+ cont "away and tell you."
+ done
+; 0x174638
+
+UnknownText_0x174638: ; 0x174638
+ text "Hey, <PLAY_G>!"
+
+ para "Do you remember"
+ line "your promise?"
+
+ para "We have to battle"
+ line "soon!"
+
+ para "I'll be at"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x174688
+
+UnknownText_0x174688: ; 0x174688
+ text "I fancied up my"
+ line "@"
+ text_from_ram StringBuffer4
+ text " and"
+
+ para "made it even cuter"
+ line "than before!"
+ done
+; 0x1746c3
+
+UnknownText_0x1746c3: ; 0x1746c3
+ text "I happened to come"
+ line "across a wild"
+ cont "SNUBBULL recently."
+
+ para "My SNUBBULL, I"
+ line "assure you, was"
+
+ para "far cuter than the"
+ line "wild one."
+ done
+; 0x174734
+
+UnknownText_0x174734: ; 0x174734
+ text "I happened to see"
+ line "a wild MARILL the"
+
+ para "other day."
+ line "Or so I thought."
+
+ para "A closer look"
+ line "showed it was"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text ". I was"
+ line "quite miffed."
+ done
+; 0x1747ac
+
+UnknownText_0x1747ac: ; 0x1747ac
+ text "You can expect a"
+ line "call from me."
+ done
+; 0x1747cc
+
+BeverlyFoundNuggetText: ; 0x1747cc
+ text "My husband got"
+ line "some NUGGETS."
+
+ para "If you'd like, you"
+ line "could have one as"
+
+ para "thanks for helping"
+ line "me out."
+
+ para "I'll be at"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Please come see me"
+ line "when you can."
+ done
+; 0x17485b
+
+UnknownText_0x17485b: ; 0x17485b
+ text "Are your #MON"
+ line "in prime form?"
+
+ para "Let's chat about"
+ line "#MON again."
+ done
+; 0x174895
+
+UnknownText_0x174895: ; 0x174895
+ text "Pardon?"
+ line "Oh, the NUGGET?"
+
+ para "There's no need to"
+ line "hurry. Come see me"
+
+ para "in @"
+ text_from_ram StringBuffer5
+ text_start
+ line "when you can."
+ done
+; 0x1748ea
+
+UnknownText_0x1748ea: ; 0x1748ea
+ text "Hey, I challenge"
+ line "you to a battle!"
+
+ para "It won't be like"
+ line "last time!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "'s"
+ line "where I'm waiting"
+
+ para "for you. Hustle"
+ line "over here pronto!"
+ done
+; 0x174962
+
+UnknownText_0x174962: ; 0x174962
+ text "See ya!"
+ done
+; 0x17496b
+
+UnknownText_0x17496b: ; 0x17496b
+ text "We have to battle"
+ line "again sometime."
+
+ para "You can bet I'm"
+ line "going to keep"
+
+ para "challenging you"
+ line "till I win."
+ done
+; 0x1749c7
+
+UnknownText_0x1749c7: ; 0x1749c7
+ text "Hey, you'd better"
+ line "not have forgotten"
+ cont "about our battle!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "!"
+
+ para "Hustle over quick!"
+ line "I'm waiting!"
+ done
+; 0x174a24
+
+GavenGreaterText: ; 0x174a24
+ text "My @"
+ text_from_ram StringBuffer4
+ text_start
+ line "might be greater"
+ cont "than I imagined."
+
+ para "I doubt I'll see a"
+ line "@"
+ text_from_ram StringBuffer4
+ text " that's"
+ cont "better than mine."
+ done
+; 0x174a80
+
+UnknownText_0x174a80: ; 0x174a80
+ text "Oh, and I managed"
+ line "to barely defeat"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " the"
+ line "other day."
+
+ para "I've never seen a"
+ line "@"
+ text_from_ram StringBuffer4
+ text " get"
+ cont "that strong…"
+
+ para "You shouldn't let"
+ line "your guard down,"
+
+ para "even against a"
+ line "#MON you're"
+ cont "used to seeing."
+ done
+; 0x174b2d
+
+UnknownText_0x174b2d: ; 0x174b2d
+ text "And a while back,"
+ line "I tried to catch a"
+ cont "wild @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "But it managed to"
+ line "elude me."
+
+ para "One wrong decision"
+ line "could mean total"
+
+ para "failure… You ought"
+ line "to be careful too."
+ done
+; 0x174bc5
+
+UnknownText_0x174bc5: ; 0x174bc5
+ text "Let's battle!"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Give me a shout"
+ line "when you're close."
+ done
+; 0x174c0e
+
+UnknownText_0x174c0e: ; 0x174c0e
+ text "OK, I'll talk to"
+ line "you soon!"
+ done
+; 0x174c29
+
+UnknownText_0x174c29: ; 0x174c29
+ text "I obsess over how"
+ line "to beat you."
+ done
+; 0x174c49
+
+UnknownText_0x174c49: ; 0x174c49
+ text "<PLAY_G>, why"
+ line "aren't you here?"
+
+ para "I'll take you down"
+ line "with @"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x174c7f
+
+UnknownText_0x174c7f: ; 0x174c7f
+ text "Do you remember my"
+ line "sweet @"
+ text_from_ram StringBuffer4
+ text "?"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " runs"
+ line "very fast."
+
+ para "It's exhilarating"
+ line "to ride on its"
+
+ para "back when it"
+ line "really gets going."
+ done
+; 0x174cf6
+
+UnknownText_0x174cf6: ; 0x174cf6
+ text "Oh, have you ever"
+ line "seen a @"
+ text_from_ram StringBuffer4
+ text_start
+ cont "before?"
+
+ para "I just battled"
+ line "one…"
+
+ para "It was much faster"
+ line "than I expected."
+
+ para "I was a little"
+ line "shocked."
+
+ para "I still won, of"
+ line "course."
+ done
+; 0x174d86
+
+UnknownText_0x174d86: ; 0x174d86
+ text "Oh, I just saw a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "I was trying to"
+ line "catch it when I"
+
+ para "noticed that I was"
+ line "all out of #"
+ cont "BALLS."
+
+ para "If you don't check"
+ line "your items, you"
+
+ para "may run out at the"
+ line "worst time."
+
+ para "I hope you learn"
+ line "from my mistake."
+ done
+; 0x174e4e
+
+UnknownText_0x174e4e: ; 0x174e4e
+ text "Do you want to"
+ line "battle? I'm going"
+ cont "to win this time!"
+
+ para "I'll be waiting"
+ line "for you around"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "."
+ line "Look for me, OK?"
+ done
+; 0x174eb7
+
+UnknownText_0x174eb7: ; 0x174eb7
+ text "OK, bye-bye!"
+ done
+; 0x174ec5
+
+UnknownText_0x174ec5: ; 0x174ec5
+ text "Let's battle again"
+ line "sometime!"
+ done
+; 0x174ee2
+
+BethForgetDealText: ; 0x174ee2
+ text "Um… <PLAY_G>?"
+ line "What's wrong?"
+
+ para "Did you forget our"
+ line "deal?"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "That's where I'm"
+ line "waiting."
+ done
+; 0x174f2f
+
+JoseAromaText: ; 0x174f2f
+ text "Hey listen, my"
+ line "@"
+ text_from_ram StringBuffer4
+ text "'s stick"
+
+ para "has this really"
+ line "delicious aroma."
+
+ para "That aroma gets my"
+ line "appetite going!"
+ done
+; 0x174f90
+
+UnknownText_0x174f90: ; 0x174f90
+ text "A while ago, my"
+ line "FARFETCH'D KO'd"
+ cont "this @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "You should have"
+ line "seen FARFETCH'D"
+
+ para "wield that stick."
+ line "Amazing stuff!"
+ done
+; 0x174ffd
+
+UnknownText_0x174ffd: ; 0x174ffd
+ text "I ran into a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text "…"
+
+ para "I was trying to"
+ line "catch it, but it"
+
+ para "took off faster"
+ line "than I thought it"
+
+ para "would. It was a"
+ line "bit disappointing."
+ done
+; 0x17507d
+
+UnknownText_0x17507d: ; 0x17507d
+ text "Want to battle"
+ line "again?"
+
+ para "For some reason,"
+ line "my FARFETCH'D is"
+
+ para "all worked up and"
+ line "raring to go."
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "'s"
+ line "where I'm at."
+
+ para "Keep an eye out"
+ line "for me, OK?"
+ done
+; 0x175106
+
+UnknownText_0x175106: ; 0x175106
+ text "Be seeing you!"
+ done
+; 0x175116
+
+JoseFoundSomethingText: ; 0x175116
+ text "My FARFETCH'D had"
+ line "something pretty"
+ cont "in its beak."
+
+ para "Like I promised,"
+ line "you can have it."
+
+ para "Catch up to me on"
+ line "@"
+ text_from_ram StringBuffer5
+ text ","
+
+ para "and I'll let you"
+ line "have it."
+ done
+; 0x17519b
+
+UnknownText_0x17519b: ; 0x17519b
+ text "I haven't gotten"
+ line "what I promised"
+ cont "you yet."
+
+ para "I'll call you as"
+ line "soon as I get it,"
+
+ para "so could you wait"
+ line "a little longer?"
+ done
+; 0x17520a
+
+UnknownText_0x17520a: ; 0x17520a
+ text "<PLAY_G>, could you"
+ line "hurry over?"
+
+ para "FARFETCH'D is"
+ line "agitated."
+
+ para "If you don't come"
+ line "soon, it might"
+
+ para "smack me with its"
+ line "stick!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "!"
+
+ para "Please come as"
+ line "soon as you can!"
+ done
+; 0x17529c
+
+UnknownText_0x17529c: ; 0x17529c
+ text "What's wrong?"
+
+ para "Don't you want"
+ line "this gift?"
+
+ para "Catch up to me on"
+ line "@"
+ text_from_ram StringBuffer5
+ text ","
+
+ para "and I'll let you"
+ line "have it."
+ done
+; 0x1752f5
+
+UnknownText_0x1752f5: ; 0x1752f5
+ text "Listen, dear…"
+
+ para "Do you recall my"
+ line "@"
+ text_from_ram StringBuffer4
+ text "?"
+
+ para "Yes, exactly. That"
+ line "lovely @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "Wouldn't you agree"
+ line "it's a perfect"
+ cont "match for me?"
+ done
+; 0x17536b
+
+UnknownText_0x17536b: ; 0x17536b
+ text "Have I ever faced"
+ line "a wild @"
+ text_from_ram StringBuffer4
+ text "?"
+
+ para "You need to ask?"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " I've"
+ line "beaten on numerous"
+ cont "occasions!"
+ done
+; 0x1753c5
+
+UnknownText_0x1753c5: ; 0x1753c5
+ text "Have I ever failed"
+ line "to catch a wild"
+ cont "#MON?"
+
+ para "You need to ask?"
+
+ para "I would never fail"
+ line "to catch a wild"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text "…"
+ line "Oh! Never mind!"
+ done
+; 0x17543a
+
+UnknownText_0x17543a: ; 0x17543a
+ text "We are going to"
+ line "battle!"
+
+ para "The place shall be"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+
+ para "Don't make me"
+ line "wait! Got it?"
+ done
+; 0x175488
+
+UnknownText_0x175488: ; 0x175488
+ text "Fine, you may go."
+ done
+; 0x17549b
+
+UnknownText_0x17549b: ; 0x17549b
+ text "Don't be too proud"
+ line "just because you"
+
+ para "happened to beat"
+ line "me… "
+
+ para "It was a fluke!"
+ done
+; 0x1754e5
+
+UnknownText_0x1754e5: ; 0x1754e5
+ text "What are you"
+ line "doing?"
+
+ para "I told you that"
+ line "the place was"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "!"
+ line "Don't try to run!"
+ done
+; 0x175530
+
+JoeySharperText: ; 0x175530
+ text "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "looking sharper"
+ cont "than before!"
+
+ para "I doubt there's a"
+ line "#MON as cool as"
+
+ para "this guy in your"
+ line "party!"
+ done
+; 0x175591
+
+UnknownText_0x175591: ; 0x175591
+ text "Oh yeah, I took"
+ line "down a @"
+ text_from_ram StringBuffer4
+ text_start
+ para "in the wild the"
+ line "other day."
+
+ para "It was a cakewalk."
+ line "Well, I guess it"
+
+ para "can't be helped,"
+ line "us being so tough."
+ done
+; 0x175611
+
+UnknownText_0x175611: ; 0x175611
+ text "Oh yeah, I saw a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "I thought about"
+ line "going for it, but"
+
+ para "I decided to work"
+ line "with my one-and-"
+
+ para "only right to the"
+ line "extreme end."
+ done
+; 0x175693
+
+UnknownText_0x175693: ; 0x175693
+ text "Let's get together"
+ line "and battle!"
+
+ para "I promise things"
+ line "will be different!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "'s"
+ line "where I'll be."
+
+ para "Give me a shout"
+ line "when you come."
+ done
+; 0x17570a
+
+UnknownText_0x17570a: ; 0x17570a
+ text "All right. Later!"
+ done
+; 0x17571d
+
+UnknownText_0x17571d: ; 0x17571d
+ text "I'm checking out"
+ line "@"
+ text_from_ram StringBuffer4
+ text "'s moves"
+
+ para "and devising some"
+ line "strategies."
+
+ para "When I come up"
+ line "with a good one,"
+ cont "let's battle!"
+ done
+; 0x175786
+
+UnknownText_0x175786: ; 0x175786
+ text "What's keeping"
+ line "you, <PLAYER>!"
+
+ para "Let's get down and"
+ line "battle already!"
+
+ para "I'm waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x1757d4
+
+WadeAreYouGrowingText: ; 0x1757d4
+ text "Are your #MON"
+ line "growing?"
+
+ para "My #MON are"
+ line "growing a bit too"
+
+ para "quickly for me."
+ line "It's overwhelming!"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text "'s grow-"
+ line "ing especially"
+
+ para "quickly. I think"
+ line "it'll get tough."
+ done
+; 0x175869
+
+UnknownText_0x175869: ; 0x175869
+ text "Oh yeah, we KO'd a"
+ line "wild @"
+ text_from_ram StringBuffer4
+ text_start
+ para "with one hit a"
+ line "while back."
+
+ para "It went down so"
+ line "easily, I felt a"
+
+ para "little sorry for"
+ line "the poor thing."
+ done
+; 0x1758e4
+
+UnknownText_0x1758e4: ; 0x1758e4
+ text "Oh yeah, a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text " got"
+
+ para "away from me at"
+ line "the last second."
+
+ para "I know it's a"
+ line "common #MON…"
+
+ para "But it does annoy"
+ line "me that it got"
+
+ para "away when I almost"
+ line "had it."
+ done
+; 0x175976
+
+UnknownText_0x175976: ; 0x175976
+ text "Do you feel like a"
+ line "#MON battle?"
+
+ para "It won't be like"
+ line "last time!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "'s"
+ line "where I'll be."
+
+ para "Let me know when"
+ line "you get there."
+ done
+; 0x1759e7
+
+UnknownText_0x1759e7: ; 0x1759e7
+ text "See you later!"
+ done
+; 0x1759f7
+
+WadeBugCatchingContestText: ; 0x1759f7
+ text "The Bug-Catching"
+ line "Contest is at the"
+
+ para "NATIONAL PARK"
+ line "today."
+
+ para "Are you going,"
+ line "<PLAY_G>?"
+
+ para "I'm trying to make"
+ line "up my mind."
+ done
+; 0x175a60
+
+WadeFoundBerryText: ; 0x175a60
+ text "I found all kinds"
+ line "of BERRIES. If you"
+
+ para "want, I'll share"
+ line "some with you."
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x175abe
+
+UnknownText_0x175abe: ; 0x175abe
+ text "Huh? BERRIES?"
+
+ para "Sorry, I haven't"
+ line "found any yet."
+
+ para "I'll call you if I"
+ line "find any. Will you"
+ cont "please wait?"
+ done
+; 0x175b1e
+
+UnknownText_0x175b1e: ; 0x175b1e
+ text "Let's battle"
+ line "already!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text " is"
+ line "where I am."
+
+ para "Please get here as"
+ line "soon as you can!"
+ done
+; 0x175b6d
+
+UnknownText_0x175b6d: ; 0x175b6d
+ text "How come you're"
+ line "not here yet?"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text " is"
+ line "where I am."
+
+ para "Please get here as"
+ line "soon as you can!"
+ done
+; 0x175bc4
+
+RalphNeglectingKidsText: ; 0x175bc4
+ text "I've been spending"
+ line "more time with my"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " than I"
+ line "have with my kids."
+
+ para "That's a bit sad,"
+ line "actually."
+ done
+; 0x175c24
+
+UnknownText_0x175c24: ; 0x175c24
+ text "I just beat a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "I told my kid, but"
+ line "he scoffed that he"
+
+ para "could do the same"
+ line "thing easily."
+
+ para "Boy, has he gotten"
+ line "cocky…"
+ done
+; 0x175c9f
+
+UnknownText_0x175c9f: ; 0x175c9f
+ text "Yesterday a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text " slipped"
+
+ para "away from me, in"
+ line "front of my kid."
+
+ para "I was feeling down"
+ line "about it until he"
+
+ para "shared his #"
+ line "BALLS with me."
+
+ para "Hahah, that sure"
+ line "made my day!"
+ done
+; 0x175d40
+
+UnknownText_0x175d40: ; 0x175d40
+ text "What do you say to"
+ line "a battle with me?"
+
+ para "Good, you're going"
+ line "to do it!"
+
+ para "For a kid, you're"
+ line "quite agreeable."
+
+ para "@"
+ text_from_ram StringBuffer5
+ text " is"
+ line "the spot!"
+ done
+; 0x175db7
+
+UnknownText_0x175db7: ; 0x175db7
+ text "You call your mom"
+ line "sometimes too!"
+ done
+; 0x175dd9
+
+UnknownText_0x175dd9: ; 0x175dd9
+ text "Listen, I… Yowch!"
+
+ para "Uh, sorry! See,"
+ line "@"
+ text_from_ram StringBuffer4
+ text " are"
+
+ para "biting like there"
+ line "is no tomorrow"
+
+ para "over here on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+
+ para "Aiyee! Ouch!"
+ line "One jabbed me!"
+
+ para "Heh, they're some"
+ line "kind of feisty!"
+
+ para "<PLAY_G>, you have"
+ line "to see this rare"
+
+ para "sight! Get ready"
+ line "to fish!"
+ done
+; 0x175eaf
+
+UnknownText_0x175eaf: ; 0x175eaf
+ text "Yeah, I know."
+
+ para "You're looking for"
+ line "rare #MON."
+
+ para "Recently, all I've"
+ line "been catching are"
+ cont "MAGIKARP, though…"
+ done
+; 0x175f11
+
+UnknownText_0x175f11: ; 0x175f11
+ text "So where are you?"
+ line "I'm waiting for"
+
+ para "you to show up on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "You shouldn't make"
+ line "your elders wait!"
+ done
+; 0x175f70
+
+UnknownText_0x175f70: ; 0x175f70
+ text "Hey, what's the"
+ line "matter with you?"
+
+ para "Aren't you coming"
+ line "over to fish for"
+ cont "QWILFISH?"
+
+ para "I'm on ROUTE 32,"
+ line "so hurry up!"
+ done
+; 0x175fda
+
+UnknownText_0x175fda: ; 0x175fda
+ text "Oh, you have to"
+ line "hear this."
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " is"
+ line "so adorable!"
+
+ para "It always wants to"
+ line "nuzzle me!"
+ done
+; 0x17602d
+
+UnknownText_0x17602d: ; 0x17602d
+ text "And, and! Um…"
+
+ para "We beat a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text " with"
+
+ para "just one hit a"
+ line "little while ago."
+
+ para "We felt sorry for"
+ line "it, though."
+ done
+; 0x176095
+
+UnknownText_0x176095: ; 0x176095
+ text "And, and! Uh…"
+
+ para "We just saw a"
+ line "really gorgeous"
+ cont "@"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "But I was on the"
+ line "phone, so it got"
+
+ para "away. It made us"
+ line "really angry!"
+ done
+; 0x17610a
+
+UnknownText_0x17610a: ; 0x17610a
+ text "Hi! Do you have"
+ line "some free time?"
+
+ para "I've got all sorts"
+ line "of time. If you're"
+
+ para "free, would you"
+ line "like to battle?"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "Let me know when"
+ line "you get here!"
+ done
+; 0x1761a7
+
+LizHiTaniaText: ; 0x1761a7
+ text "Hi, TANIA. How are"
+ line "you? This is LIZ."
+
+ para "I'm fine, but I'm"
+ line "bored silly!"
+
+ para "Huh… Wrong number?"
+ line "Oops! Sorry!"
+ done
+; 0x17620a
+
+UnknownText_0x17620a: ; 0x17620a
+ text "OK, I'll call you"
+ line "later!"
+ done
+; 0x176223
+
+UnknownText_0x176223: ; 0x176223
+ text "Listen, listen!"
+
+ para "I was listening to"
+ line "the radio in the"
+
+ para "RUINS OF ALPH when"
+ line "an odd broadcast"
+
+ para "suddenly cut it on"
+ line "the regular show."
+
+ para "I wonder what it"
+ line "was. So strange!"
+ done
+; 0x1762c3
+
+UnknownText_0x1762c3: ; 0x1762c3
+ text "Listen, listen!"
+
+ para "Don't you think"
+ line "FALKNER of VIOLET"
+
+ para "GYM is cool and"
+ line "handsome?"
+
+ para "But they say his"
+ line "dad, who's out"
+
+ para "training on the"
+ line "road, is even more"
+
+ para "cool and handsome"
+ line "than FALKNER."
+
+ para "I wish I could"
+ line "meet him!"
+ done
+; 0x17638a
+
+UnknownText_0x17638a: ; 0x17638a
+ text "Listen, listen!"
+
+ para "Do you know EARL,"
+ line "the teacher who"
+
+ para "runs the #MON"
+ line "ACADEMY in VIOLET?"
+
+ para "I saw him doing"
+ line "pirouettes while"
+
+ para "he was running. It"
+ line "was wildly funny!"
+ done
+; 0x176424
+
+UnknownText_0x176424: ; 0x176424
+ text "Listen, listen!"
+
+ para "I collect #MON"
+ line "plush dolls."
+
+ para "But I can't seem"
+ line "to get a hold of a"
+
+ para "SURF PIKACHU DOLL."
+ line "None of my friends"
+
+ para "have it. It must"
+ line "be totally rare!"
+
+ para "You could really"
+ line "brag about it if"
+ cont "you had one."
+ done
+; 0x1764eb
+
+UnknownText_0x1764eb: ; 0x1764eb
+ text "Listen, listen!"
+
+ para "Do you know about"
+ line "MOOMOO MILK?"
+
+ para "You can buy it at"
+ line "MOOMOO FARM."
+
+ para "It's supposed to"
+ line "be good for health"
+
+ para "and beauty."
+ line "I really want to"
+
+ para "try some. I bet"
+ line "it's delicious!"
+ done
+; 0x176599
+
+UnknownText_0x176599: ; 0x176599
+ text "Listen, listen!"
+
+ para "There's a #MON"
+ line "SALON in GOLDENROD"
+
+ para "that's run by two"
+ line "brothers."
+
+ para "The older brother"
+ line "is good, but the"
+
+ para "younger one really"
+ line "isn't."
+
+ para "But sometimes the"
+ line "younger one does a"
+
+ para "better job than"
+ line "his brother."
+
+ para "Every time I go, I"
+ line "have a hard time"
+
+ para "trying to decide"
+ line "whom I should use…"
+ done
+; 0x1766ac
+
+UnknownText_0x1766ac: ; 0x1766ac
+ text "Listen, listen!"
+
+ para "GOLDENROD GYM's"
+ line "WHITNEY began"
+
+ para "battling only a"
+ line "little while ago!"
+
+ para "But the #MON"
+ line "LEAGUE chose her"
+ cont "as a GYM LEADER!"
+
+ para "I bet she must be"
+ line "totally talented."
+ done
+; 0x17674f
+
+UnknownText_0x17674f: ; 0x17674f
+ text "Listen, listen!"
+
+ para "Have you ever"
+ line "taken part in a"
+
+ para "Bug-Catching"
+ line "Contest at the"
+ cont "NATIONAL PARK?"
+
+ para "I did once, but"
+ line "all I could catch"
+ cont "was a CATERPIE."
+
+ para "But guess what!"
+
+ para "I won with that"
+ line "CATERPIE. Isn't"
+ cont "that great?"
+ done
+; 0x176816
+
+UnknownText_0x176816: ; 0x176816
+ text "Listen, listen!"
+
+ para "I saw a beautiful"
+ line "@"
+ text_from_ram StringBuffer4
+ text "!"
+
+ para "I wish I could"
+ line "become a beautiful"
+ cont "@"
+ text_from_ram StringBuffer4
+ text " too."
+ done
+; 0x17686d
+
+UnknownText_0x17686d: ; 0x17686d
+ text "Listen, listen!"
+
+ para "Uh… Um… Whoops!"
+
+ para "I forgot what I"
+ line "was going to say!"
+ done
+; 0x1768b0
+
+UnknownText_0x1768b0: ; 0x1768b0
+ text "Listen, listen!"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text "…"
+ line "it… so pretty…"
+
+ para "and… giggle… so"
+ line "awesome… yes… but…"
+
+ para "very much… eeek!"
+ line "And… lovely…"
+
+ para "Just ravishing…"
+ line "Oh, too much!"
+
+ para "…Hug it… sleeping…"
+ line "That's right…"
+
+ para "pretty… sigh… So"
+ line "nice… Cute…"
+
+ para "…Oops! Look at the"
+ line "time! I chatted"
+ cont "too long!"
+
+ para "I'm sorry I took"
+ line "so much of your"
+
+ para "time!"
+ line "I love chatting!"
+ done
+; 0x1769da
+
+UnknownText_0x1769da: ; 0x1769da
+ text "I've got too much"
+ line "time on my hands!"
+
+ para "Let's battle right"
+ line "away!"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x176a2f
+
+AnthonyAteBerriesText: ; 0x176a2f
+ text "The other day, I"
+ line "was watching my"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " eat"
+ line "some BERRIES."
+
+ para "It looked like it"
+ line "was enjoying its"
+
+ para "meal, so I decided"
+ line "to try some."
+
+ para "I'm not sure if"
+ line "people should eat"
+
+ para "that stuff, but it"
+ line "was delicious!"
+ done
+; 0x176aef
+
+UnknownText_0x176aef: ; 0x176aef
+ text "Lately, I've been"
+ line "running across"
+
+ para "wild @"
+ text_from_ram StringBuffer4
+ text_start
+ line "quite often."
+
+ para "They're easily"
+ line "taken care of."
+ done
+; 0x176b45
+
+UnknownText_0x176b45: ; 0x176b45
+ text "Oh yeah, I was"
+ line "battling this"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " the"
+ line "other day…"
+
+ para "It took off when I"
+ line "got distracted by"
+ cont "a passing BEAUTY."
+
+ para "Learn from my"
+ line "mistake--always"
+
+ para "stay focused on"
+ line "the job at hand!"
+ done
+; 0x176bee
+
+UnknownText_0x176bee: ; 0x176bee
+ text "Come on--let's"
+ line "battle right now!"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text " is"
+ line "where I am."
+
+ para "Come on down if"
+ line "you feel up to it!"
+ done
+; 0x176c47
+
+UnknownText_0x176c47: ; 0x176c47
+ text "All right then!"
+ line "Be good!"
+ done
+; 0x176c61
+
+UnknownText_0x176c61: ; 0x176c61
+ text "<PLAYER>! It's"
+ line "mind-blowing!"
+
+ para "I took a hike in"
+ line "@"
+ text_from_ram StringBuffer5
+ text_start
+ cont "yesterday, see?"
+
+ para "Well, there were"
+ line "tons of @"
+ text_from_ram StringBuffer4
+ text_start
+ para "around! You have"
+ line "to see it!"
+
+ para "I get this feeling"
+ line "that @"
+ text_from_ram StringBuffer4
+ text_start
+ para "may be timid."
+ line "I didn't see any"
+
+ para "where there are"
+ line "strong #MON."
+ done
+; 0x176d32
+
+UnknownText_0x176d32: ; 0x176d32
+ text "Rare #MON?"
+
+ para "Hey, sorry! I was"
+ line "too focused on my"
+
+ para "hike, so I wasn't"
+ line "paying attention."
+ done
+; 0x176d85
+
+UnknownText_0x176d85: ; 0x176d85
+ text "Hello! You haven't"
+ line "forgotten about"
+
+ para "our battle, have"
+ line "you?"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text "!"
+ line "I'm waiting!"
+ done
+; 0x176dd1
+
+UnknownText_0x176dd1: ; 0x176dd1
+ text "Hello? What? Where"
+ line "is DUNSPARCE?"
+
+ para "DARK CAVE! Hurry!"
+
+ para "I know I've said"
+ line "it before, but"
+
+ para "DUNSPARCE don't"
+ line "appear when there"
+
+ para "are strong #MON"
+ line "around."
+ done
+; 0x176e5d
+
+ToddLooksCuteLikeMeText: ; 0x176e5d
+ text "My @"
+ text_from_ram StringBuffer4
+ text " is"
+ line "looking more and"
+
+ para "more like me. It's"
+ line "getting cuter!"
+ done
+; 0x176e9c
+
+UnknownText_0x176e9c: ; 0x176e9c
+ text "And, you know?"
+
+ para "Now we can KO"
+ line "@"
+ text_from_ram StringBuffer4
+ text " easily."
+
+ para "I should challenge"
+ line "the GOLDENROD GYM."
+ done
+; 0x176eee
+
+UnknownText_0x176eee: ; 0x176eee
+ text "And, you know?"
+ line "We just failed to"
+
+ para "beat @"
+ text_from_ram StringBuffer4
+ text " by"
+ line "a tiny margin."
+
+ para "I'm guessing my"
+ line "#MON's levels"
+
+ para "aren't high enough"
+ line "yet…"
+ done
+; 0x176f60
+
+UnknownText_0x176f60: ; 0x176f60
+ text "You must be a lot"
+ line "better now, huh?"
+
+ para "How about showing"
+ line "me your technique"
+
+ para "in a real battle"
+ line "with me?"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x176fdb
+
+UnknownText_0x176fdb: ; 0x176fdb
+ text "See you later!"
+ done
+; 0x176feb
+
+UnknownText_0x176feb: ; 0x176feb
+ text "This is it--the"
+ line "one we've all been"
+ cont "waiting for!"
+
+ para "GOLDENROD DEPT."
+ line "STORE's bargain"
+ cont "sale is on now!"
+
+ para "Want it cheap?"
+ line "Want it lots?"
+
+ para "Don't miss this"
+ line "GOLDENROD chance!"
+
+ para "Huh? I sound like"
+ line "a huckster?"
+
+ para "Well, yeah. I was"
+ line "mimicking them…"
+
+ para "Anyway, you've got"
+ line "to get there as"
+ cont "soon as you can!"
+ done
+; 0x1770fb
+
+UnknownText_0x1770fb: ; 0x1770fb
+ text "I'm saving up for"
+ line "the next bargain"
+
+ para "sale. When's the"
+ line "next one?"
+ done
+; 0x177138
+
+UnknownText_0x177138: ; 0x177138
+ text "Where are you?"
+
+ para "Let's have our"
+ line "battle soon!"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+ done
+; 0x17717c
+
+UnknownText_0x17717c: ; 0x17717c
+ text "Haven't you gone"
+ line "to GOLDENROD DEPT."
+
+ para "STORE? I've scoped"
+ line "it out already!"
+
+ para "They had some real"
+ line "bargains."
+
+ para "You should get"
+ line "there quickly."
+ done
+; 0x1771fd
+
+UnknownText_0x1771fd: ; 0x1771fd
+ text "My @"
+ text_from_ram StringBuffer4
+ text " and"
+ line "I are getting more"
+
+ para "in sync with each"
+ line "other."
+ done
+; 0x177237
+
+UnknownText_0x177237: ; 0x177237
+ text "We battled a wild"
+ line "@"
+ text_from_ram StringBuffer4
+ text " and"
+
+ para "managed to drop it"
+ line "in a close match."
+
+ para "We're getting into"
+ line "the groove!"
+ done
+; 0x177297
+
+UnknownText_0x177297: ; 0x177297
+ text "But, you know?"
+
+ para "I still haven't"
+ line "caught @"
+ text_from_ram StringBuffer4
+ text "."
+
+ para "It's getting past"
+ line "frustrating…"
+ done
+; 0x1772e2
+
+UnknownText_0x1772e2: ; 0x1772e2
+ text "Would you be my"
+ line "practice partner"
+ cont "again sometime?"
+
+ para "I'll be waiting on"
+ line "@"
+ text_from_ram StringBuffer5
+ text "."
+
+ para "…Could you take it"
+ line "a little easier on"
+ cont "me next time?"
+ done
+; 0x177361
+
+UnknownText_0x177361: ; 0x177361
+ text "Bye! Let's chat"
+ line "again!"
+ done
+; 0x177378
+
+UnknownText_0x177378: ; 0x177378
+ text "Have you heard"
+ line "about TEAM ROCKET?"
+
+ para "They've taken over"
+ line "the RADIO TOWER in"
+ cont "GOLDENROD."
+
+ para "Are the people"
+ line "inside safe?"
+ done
+; 0x1773e7
+
+UnknownText_0x1773e7: ; 0x1773e7
+ text "I picked up some-"
+ line "thing nice today."
+
+ para "I want you to have"
+ line "it, so I called!"
+
+ para "You will come for"
+ line "it, won't you?"
+
+ para "@"
+ text_from_ram StringBuffer5
+ text " is"
+ line "where I am."
+ done
+; 0x177465
+
+UnknownText_0x177465: ; 0x177465
+ text "Sorry, I haven't"
+ line "found anything"
+
+ para "useful yet…"
+ line "I promise, if I"
+
+ para "find anything, you"
+ line "can have it!"
+ done
+; 0x1774c1
+
+UnknownText_0x1774c1: ; 0x1774c1
+ text "Oh, <PLAY_G>!"
+ line "How soon can I"
+
+ para "expect to see you"
+ line "for our battle?"
+
+ para "Don't forget,"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x17750e
+
+UnknownText_0x17750e: ; 0x17750e
+ text "I'm getting really"
+ line "impatient, waiting"
+
+ para "to give you my"
+ line "present!"
+
+ para "Hurry over to"
+ line "@"
+ text_from_ram StringBuffer5
+ text "!"
+ done
+; 0x177561
diff --git a/data/phone/text/gaven_overworld.asm b/data/phone/text/gaven_overworld.asm
new file mode 100644
index 000000000..501aa0e79
--- /dev/null
+++ b/data/phone/text/gaven_overworld.asm
@@ -0,0 +1,63 @@
+GavenAskNumber1Text:
+ text "Wow, you're tough."
+ line "I haven't battled"
+
+ para "that seriously in"
+ line "a long time."
+
+ para "Could I get your"
+ line "phone number?"
+
+ para "I'd like to battle"
+ line "again when I heal"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " and the"
+ line "rest of my team."
+ done
+
+GavenAskNumber2Text:
+ text "Could I get your"
+ line "phone number?"
+
+ para "I'd like to battle"
+ line "again when I heal"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " and the"
+ line "rest of my team."
+ done
+
+GavenNumberAcceptedText:
+ text "How should I beat"
+ line "you? I'm tormented"
+
+ para "by those thoughts"
+ line "all the time…"
+ done
+
+GavenNumberDeclinedText:
+ text "OK… I understand…"
+ line "But if you change"
+
+ para "your mind, give me"
+ line "a shout anytime."
+ done
+
+GavenPhoneFullText:
+ text "Your phone's"
+ line "memory is full."
+
+ para "You can't register"
+ line "my number."
+ done
+
+GavenRematchText:
+ text "Hi! I've been"
+ line "waiting for you!"
+
+ para "This time, I'm"
+ line "going to win!"
+ done
diff --git a/data/phone/text/gina_overworld.asm b/data/phone/text/gina_overworld.asm
new file mode 100644
index 000000000..559e7fc5b
--- /dev/null
+++ b/data/phone/text/gina_overworld.asm
@@ -0,0 +1,67 @@
+GinaAskNumber1Text:
+ text "Whenever I see a"
+ line "strong trainer, I"
+
+ para "want to be their"
+ line "cheerleader."
+
+ para "When I'm on my"
+ line "walk, I sometimes"
+ cont "pick up items."
+
+ para "If I get anything,"
+ line "you can have it!"
+
+ para "Want to give me"
+ line "your number?"
+
+ para "I'll call as soon"
+ line "as I get anything."
+ done
+
+GinaAskNumber2Text:
+ text "If I find an item,"
+ line "you can have it!"
+
+ para "Want to give me"
+ line "your number?"
+ done
+
+GinaNumberAcceptedText:
+ text "I'll call as soon"
+ line "as I get anything!"
+ done
+
+GinaNumberDeclinedText:
+ text "Is that so? Well,"
+ line "I'll still be"
+ cont "rooting for you!"
+ done
+
+GinaPhoneFullText:
+ text "But your phone is"
+ line "all filled up!"
+ done
+
+GinaRematchText:
+ text "I've been waiting!"
+
+ para "I've gotten a bit"
+ line "better at this!"
+ done
+
+GinaGiftText:
+ text "So you're finally"
+ line "here!"
+
+ para "I think this will"
+ line "make you happy."
+ done
+
+GinaPackFullText:
+ text "Your PACK looks"
+ line "completely full."
+
+ para "I'll have to hold"
+ line "on to this."
+ done
diff --git a/data/phone/text/huey_overworld.asm b/data/phone/text/huey_overworld.asm
new file mode 100644
index 000000000..4629f8022
--- /dev/null
+++ b/data/phone/text/huey_overworld.asm
@@ -0,0 +1,80 @@
+HueyAskNumber1Text:
+ text "Cool! That's the"
+ line "first time I've"
+ cont "lost in a while!"
+
+ para "Hey, give me your"
+ line "phone number."
+
+ para "You'd be fun to"
+ line "battle, so I'll"
+
+ para "call you when I"
+ line "get stronger!"
+ done
+
+HueyAskNumber2Text:
+ text "Hey, give me your"
+ line "phone number."
+
+ para "You'd be fun to"
+ line "battle, so I'll"
+
+ para "call you when I"
+ line "get stronger!"
+ done
+
+HueyNumberAcceptedText:
+ text "Hey, let's battle"
+ line "again!"
+ done
+
+HueyNumberDeclinedText:
+ text "Looks like you're"
+ line "a wimp…"
+ done
+
+HueyPhoneFullText:
+ text "Hey! Your phone's"
+ line "already full!"
+ done
+
+HueyRematchText:
+ text "Hey! I'm tired of"
+ line "waiting for you!"
+ done
+
+HueyPackFullText:
+ text "Oh… Your PACK's"
+ line "full. I'll give it"
+ cont "to you later."
+ done
+
+HueyRematchGiftText:
+ text "Man! You're as"
+ line "tough as ever!"
+
+ para "I've battled you"
+ line "over and over, but"
+
+ para "<PLAYER>, I haven't"
+ line "won once."
+
+ para "I bought tons of"
+ line "items to toughen"
+
+ para "up my #MON, but"
+ line "to no avail…"
+
+ para "Items alone aren't"
+ line "the answer."
+
+ para "That must be what"
+ line "it is…"
+
+ para "Here, take this,"
+ line "<PLAYER>."
+
+ para "I won't be needing"
+ line "it anymore…"
+ done
diff --git a/data/phone/text/irwin_overworld.asm b/data/phone/text/irwin_overworld.asm
new file mode 100644
index 000000000..530ad94dd
--- /dev/null
+++ b/data/phone/text/irwin_overworld.asm
@@ -0,0 +1,53 @@
+IrwinAskNumber1Text:
+ text "You're the best"
+ line "I've ever battled!"
+
+ para "Huh? You're the"
+ line "one who saved all"
+ cont "the SLOWPOKE?"
+
+ para "Well, no wonder I"
+ line "couldn't beat you!"
+
+ para "Would it be OK to"
+ line "get your number?"
+
+ para "I don't want to"
+ line "miss anything you"
+ cont "do from now on!"
+ done
+
+IrwinAskNumber2Text:
+ text "You will tell me"
+ line "your phone number?"
+ done
+
+IrwinNumberAcceptedText:
+ text "Wow! Gee, thanks!"
+ line "Now I can call you"
+
+ para "anytime, whether"
+ line "anything's up or"
+
+ para "not. You know,"
+ line "just to chat!"
+ done
+
+IrwinNumberDeclinedText:
+ text "Oh, but…"
+ line "I'm not dangerous!"
+
+ para "I just want to"
+ line "call and chat"
+
+ para "about everything"
+ line "and nothing!"
+ done
+
+IrwinPhoneFullText:
+ text "Your phone list is"
+ line "already full…"
+
+ para "You must be really"
+ line "popular…"
+ done
diff --git a/data/phone/text/jack_overworld.asm b/data/phone/text/jack_overworld.asm
new file mode 100644
index 000000000..3cef012c3
--- /dev/null
+++ b/data/phone/text/jack_overworld.asm
@@ -0,0 +1,55 @@
+JackAskNumber1Text:
+ text "Your knowledge is"
+ line "impressive!"
+
+ para "I like that!"
+
+ para "Want to trade"
+ line "battle tips?"
+
+ para "I'll phone if I"
+ line "get good info."
+
+ para "Would you tell me"
+ line "your number?"
+ done
+
+JackAskNumber2Text:
+ text "Want to trade"
+ line "battle tips?"
+
+ para "I'll phone if I"
+ line "get good info."
+
+ para "Would you tell me"
+ line "your number?"
+ done
+
+JackNumberAcceptedText:
+ text "I'll call you if I"
+ line "hear anything!"
+ done
+
+JackNumberDeclinedText:
+ text "Oh, OK. Too bad…"
+
+ para "Well, if you ever"
+ line "want my number,"
+ cont "come see me, OK?"
+ done
+
+JackPhoneFullText:
+ text "Oh?"
+ line "Your phone's full."
+
+ para "It can't register"
+ line "my number."
+ done
+
+JackRematchText:
+ text "Hi, I was waiting"
+ line "for you to show!"
+
+ para "Let's get started"
+ line "right away!"
+ done
diff --git a/data/phone/text/joey_overworld.asm b/data/phone/text/joey_overworld.asm
new file mode 100644
index 000000000..cb7c5934d
--- /dev/null
+++ b/data/phone/text/joey_overworld.asm
@@ -0,0 +1,71 @@
+JoeyAskNumber1Text:
+ text "Listen, can I get"
+ line "your phone number?"
+
+ para "I'll ring you for"
+ line "some battles."
+
+ para "I'm a rookie too, "
+ line "so I think it'd be"
+ cont "a good motivator."
+ done
+
+JoeyAskNumber2Text:
+ text "Can I get your"
+ line "phone number?"
+
+ para "I don't want to"
+ line "lose against you!"
+
+ para "We have to battle"
+ line "again, OK?"
+ done
+
+JoeyNumberAcceptedText:
+ text "I'll ring you"
+ line "whenever I get the"
+ cont "urge to battle!"
+ done
+
+JoeyNumberDeclinedText:
+ text "Oh, all right…"
+
+ para "But I won't lose"
+ line "to you again!"
+ done
+
+JoeyPhoneFullText:
+ text "Huh, what? Your"
+ line "phone's full."
+ done
+
+JoeyRematchText:
+ text "I've been waiting!"
+ line "Let's battle now!"
+ done
+
+JoeyPackFullText:
+ text "Hey, wait! Your"
+ line "PACK is stuffed!"
+
+ para "Well, we'll leave"
+ line "it till next time."
+ done
+
+JoeyRematchGiftText:
+ text "And yet another"
+ line "loss…"
+
+ para "No doubt about"
+ line "it--you're tough."
+
+ para "Being beaten this"
+ line "often actually"
+ cont "feels good now!"
+
+ para "Here, take this. "
+ line "Use it to get even"
+
+ para "tougher. That will"
+ line "toughen me up too!"
+ done
diff --git a/data/phone/text/jose_overworld.asm b/data/phone/text/jose_overworld.asm
new file mode 100644
index 000000000..b266f18cd
--- /dev/null
+++ b/data/phone/text/jose_overworld.asm
@@ -0,0 +1,73 @@
+JoseAskNumber1Text:
+ text "If my @"
+ text_from_ram StringBuffer4
+ text_start
+ line "sees anything"
+
+ para "pretty, it goes"
+ line "and gets it."
+
+ para "Do you like pretty"
+ line "things?"
+
+ para "I could share if"
+ line "it gets some more."
+
+ para "What's your phone"
+ line "number? I'll call."
+
+ para "Don't expect a"
+ line "whole lot, OK?"
+ done
+
+JoseAskNumber2Text:
+ text "Do you like pretty"
+ line "things?"
+
+ para "I could share if"
+ line "FARFETCH'D goes"
+ cont "and gets more."
+
+ para "What's your phone"
+ line "number? I'll call."
+ done
+
+JoseNumberAcceptedText:
+ text "I'll call you as"
+ line "soon as I get"
+ cont "something pretty."
+ done
+
+JoseNumberDeclinedText:
+ text "You sure? Well,"
+ line "tell me if you"
+ cont "change your mind."
+ done
+
+JosePhoneFullText:
+ text "Huh? Your phone"
+ line "list is full."
+ done
+
+JoseRematchText:
+ text "Tweet! Tweeeet!"
+
+ para "Kept me waiting!"
+ line "Go, FARFETCH'D!"
+ done
+
+JoseGiftText:
+ text "Kept me waiting!"
+ line "Look, this is it!"
+
+ para "See? Isn't it some"
+ line "kind of pretty?"
+ done
+
+JosePackFullText:
+ text "Huh? You don't"
+ line "have anywhere to"
+
+ para "put this. Better"
+ line "come back for it."
+ done
diff --git a/data/phone/text/kenji_overworld.asm b/data/phone/text/kenji_overworld.asm
new file mode 100644
index 000000000..a3206b946
--- /dev/null
+++ b/data/phone/text/kenji_overworld.asm
@@ -0,0 +1,67 @@
+KenjiAskNumber1Text:
+ text "Our battle was"
+ line "remarkable!"
+
+ para "I wish for some-"
+ line "thing to remember"
+ cont "you by!"
+
+ para "Perhaps your phone"
+ line "number will do?"
+
+ para "My training makes"
+ line "it impossible to"
+ cont "chat much, but…"
+ done
+
+KenjiAskNumber2Text:
+ text "My training makes"
+ line "chatting tough,"
+
+ para "but will you take"
+ line "down my number?"
+ done
+
+KenjiNumberAcceptedText:
+ text "I must train"
+ line "harder to become"
+ cont "the mightiest!"
+ done
+
+KenjiNumberDeclinedText:
+ text "If you decide you"
+ line "want my number,"
+ cont "come see me."
+ done
+
+KenjiPhoneFullText:
+ text "Your phone appears"
+ line "to be full."
+
+ para "Come back later!"
+ done
+
+KenjiGiftText:
+ text "I wish to thank"
+ line "you, <PLAYER>!"
+
+ para "I've been training"
+ line "all alone…"
+
+ para "I was happy that"
+ line "you cared to call…"
+
+ para "I want you to have"
+ line "this!"
+ done
+
+KenjiPackFullText:
+ text "Your strength will"
+ line "not let you carry"
+
+ para "another thing!"
+ line "I will hold this"
+
+ para "till you lighten"
+ line "your PACK!"
+ done
diff --git a/data/phone/text/liz_overworld.asm b/data/phone/text/liz_overworld.asm
new file mode 100644
index 000000000..cd840b5f8
--- /dev/null
+++ b/data/phone/text/liz_overworld.asm
@@ -0,0 +1,44 @@
+LizAskNumber1Text:
+ text "Oh? You're on a"
+ line "big journey to see"
+ cont "the sights? Neat!"
+
+ para "Let's be friends!"
+ line "Can I have your"
+ cont "phone number?"
+
+ para "I want to hear"
+ line "about everything"
+ cont "you've seen!"
+ done
+
+LizAskNumber2Text:
+ text "Let's be friends!"
+ line "Can I have your"
+ cont "phone number?"
+
+ para "I want to hear"
+ line "about everything"
+ cont "you've seen!"
+ done
+
+LizNumberAcceptedText:
+ text "I'll telephone you"
+ line "if I hear anything"
+ cont "interesting."
+ done
+
+LizNumberDeclinedText:
+ text "Aww… You won't be"
+ line "my friend?"
+ done
+
+LizPhoneFullText:
+ text "Wait! Your phone"
+ line "list is filled up!"
+ done
+
+LizRematchText:
+ text "You're late! Let's"
+ line "get started now!"
+ done
diff --git a/data/phone/text/mom.asm b/data/phone/text/mom.asm
new file mode 100644
index 000000000..da7df47de
--- /dev/null
+++ b/data/phone/text/mom.asm
@@ -0,0 +1,165 @@
+MomPhoneGreetingText: ; 0x1b4000
+ text "Hello?"
+
+ para "Oh, hi, <PLAYER>!"
+ line "Working hard?"
+ done
+
+MomPhoneLandmarkText: ; 0x1b4021
+ text "Oh, so you're in"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Isn't that where"
+ line "@"
+ text_from_ram StringBuffer4
+ text_start
+ para "is? Did you go"
+ line "take a look?"
+ done
+
+MomPhoneGenericAreaText: ; 0x1b406b
+ text "Really, you're in"
+ line "@"
+ text_from_ram StringBuffer3
+ text "?"
+
+ para "I've never gone"
+ line "there. That's kind"
+ cont "of neat, <PLAYER>."
+ done
+
+MomPhoneNewBarkText: ; 0x1b40b1
+ text "What? You're in"
+ line "@"
+ text_from_ram StringBuffer3
+ text "?"
+
+ para "Come see your MOM"
+ line "sometime!"
+ done
+
+MomPhoneCherrygroveText: ; 0x1b40e4
+ text "You're visiting"
+ line "@"
+ text_from_ram StringBuffer3
+ text "?"
+
+ para "How about coming"
+ line "home for a bit?"
+ done
+
+MomOtherAreaText: ; 0x1b411c
+ text "Wow, you're in"
+ line "@"
+ text_from_ram StringBuffer3
+ text "?"
+
+ para "Good luck on your"
+ line "#MON quest!"
+ done
+
+MomDeterminedText: ; 0x1b4150
+ text "That sounds really"
+ line "tough."
+
+ para "But, <PLAYER>, I"
+ line "know you're really"
+
+ para "determined. You'll"
+ line "be OK, right?"
+ done
+
+MomCheckBalanceText: ; 0x1b41a7
+ text "By the way, you've"
+ line "saved up ¥@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Do you want to"
+ line "keep on saving?"
+ done
+
+MomImportantToSaveText: ; 0x1b41ea
+ text "It's important to"
+ line "save your money."
+ done
+
+MomYoureNotSavingText: ; 0x1b420d
+ text "Oh, <PLAYER>,"
+ line "you're not saving"
+
+ para "any money. Would"
+ line "you like to save?"
+ done
+
+MomYouveSavedText: ; 0x1b4249
+ text "By the way, you've"
+ line "saved up ¥@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Want to start"
+ line "saving again?"
+ done
+
+MomOKIllSaveText: ; 0x1b4289
+ text "OK. I'll save your"
+ line "money."
+ done
+
+MomPhoneWontSaveMoneyText: ; 0x1b42a3
+ text "OK. I won't save"
+ line "your money."
+ done
+
+MomPhoneHangUpText: ; 0x1b42c0
+ text "<PLAYER>, keep it"
+ line "up! I'm rooting"
+ cont "for you, baby!"
+ done
+
+MomPhoneNoPokemonText: ; 0x1b42ea
+ text "Hello?"
+
+ para "Oh, hi, <PLAYER>!"
+ line "Wasn't PROF.ELM"
+ cont "waiting for you?"
+ done
+
+MomPhoneNoPokedexText: ; 0x1b431d
+ text "Hello?"
+
+ para "Oh, hi, <PLAYER>!"
+ line "You're on a big"
+
+ para "mission for PROF."
+ line "ELM? Be good!"
+ done
+
+MomPhoneNoGymQuestText: ; 0x1b435f
+ text "Hello?"
+
+ para "Hi, <PLAYER>! If"
+ line "you're done with"
+
+ para "your errand come"
+ line "on home, dear."
+ done
+
+MomPhoneLectureText: ; 0x1b43a1
+ text "Hello?"
+
+ para "…… <PLAYER>?"
+ line "I heard from PROF."
+
+ para "ELM that you went"
+ line "on a long trip."
+
+ para "I wish you would"
+ line "have told me…"
+
+ para "What about money?"
+ line "Should I save it?"
+ done
diff --git a/data/phone/text/parry_overworld.asm b/data/phone/text/parry_overworld.asm
new file mode 100644
index 000000000..6286aa272
--- /dev/null
+++ b/data/phone/text/parry_overworld.asm
@@ -0,0 +1,73 @@
+ParryAskNumber1Text:
+ text "Sheesh, the way"
+ line "you attacked! That"
+
+ para "was something! We"
+ line "should meet again!"
+
+ para "How about giving"
+ line "me your number?"
+ done
+
+ParryAskNumber2Text:
+ text "So you want to"
+ line "register my phone"
+
+ para "number for a re-"
+ line "match, huh?"
+ done
+
+ParryNumberAcceptedText:
+ text "I'll call you"
+ line "whenever I feel"
+ cont "like battling!"
+ done
+
+ParryNumberDeclinedText:
+ text "No? That's fine."
+
+ para "A definite no is"
+ line "easy to take!"
+
+ para "I'll be right here"
+ line "when you're ready"
+ cont "for a rematch."
+ done
+
+ParryPhoneFullText:
+ text "Oh? There's no"
+ line "room to register"
+ cont "my phone number."
+ done
+
+ParryRematchText:
+ text "Hey, here comes"
+ line "the kid! Let's go!"
+
+ para "Ready for my usual"
+ line "no-brainer, all-"
+ cont "out offense?"
+ done
+
+ParryPackFullText:
+ text "Your PACK looks"
+ line "stuffed full!"
+
+ para "You can't have"
+ line "this now."
+ done
+
+ParryRematchGiftText:
+ text "Well, you're"
+ line "special all right."
+
+ para "If only I'd begun"
+ line "#MON when I was"
+ cont "a tad younger…"
+
+ para "I want you to work"
+ line "and succeed for"
+
+ para "the both of us."
+ line "So take this, OK?"
+ done
diff --git a/data/phone/text/ralph_overworld.asm b/data/phone/text/ralph_overworld.asm
new file mode 100644
index 000000000..6c737cdf1
--- /dev/null
+++ b/data/phone/text/ralph_overworld.asm
@@ -0,0 +1,58 @@
+RalphAskNumber1Text:
+ text "Don't young people"
+ line "fish anymore?"
+
+ para "I've seen rare"
+ line "#MON while I've"
+ cont "been fishing…"
+
+ para "You young people"
+ line "like that, right?"
+
+ para "Want to trade"
+ line "phone numbers?"
+
+ para "I'll let you know"
+ line "if I see anything."
+ done
+
+RalphAskNumber2Text:
+ text "Hm? So you do want"
+ line "me to phone if I"
+ cont "see rare #MON?"
+ done
+
+RalphNumberAcceptedText:
+ text "Yep, phone if I"
+ line "see rare #MON."
+
+ para "Don't worry, I"
+ line "won't forget!"
+ done
+
+RalphNumberDeclinedText:
+ text "Oh…"
+ line "My own kids won't"
+
+ para "even give me their"
+ line "phone numbers…"
+
+ para "Is that how young"
+ line "people are today?"
+ done
+
+RalphPhoneFullText:
+ text "Your phone's"
+ line "memory is full."
+
+ para "It seems that"
+ line "young people all"
+ cont "have #GEAR."
+ done
+
+RalphRematchText:
+ text "Hey, kid!"
+
+ para "No losing for me"
+ line "this day!"
+ done
diff --git a/data/phone/text/reena_overworld.asm b/data/phone/text/reena_overworld.asm
new file mode 100644
index 000000000..04bf42c9a
--- /dev/null
+++ b/data/phone/text/reena_overworld.asm
@@ -0,0 +1,45 @@
+ReenaAskNumber1Text:
+ text "Not bad…"
+ line "It's something to"
+
+ para "beat me, even by"
+ line "an unlikely fluke…"
+
+ para "I like you! Give"
+ line "me your number!"
+
+ para "You can be my"
+ line "practice partner!"
+ done
+
+ReenaAskNumber2Text:
+ text "Give me your phone"
+ line "number!"
+
+ para "You are going to"
+ line "be my practice"
+ cont "partner!"
+ done
+
+ReenaNumberAcceptedText:
+ text "Don't be too proud"
+ line "about beating me!"
+
+ para "It was a fluke!"
+ done
+
+ReenaNumberDeclinedText:
+ text "I don't believe"
+ line "it! You're going"
+ cont "to regret this!"
+ done
+
+ReenaPhoneFullText:
+ text "What? Your phone"
+ line "list has no room!"
+ done
+
+ReenaRematchText:
+ text "What took you?"
+ line "Start right away!"
+ done
diff --git a/data/phone/text/tiffany_overworld.asm b/data/phone/text/tiffany_overworld.asm
new file mode 100644
index 000000000..a03173dfa
--- /dev/null
+++ b/data/phone/text/tiffany_overworld.asm
@@ -0,0 +1,62 @@
+TiffanyAskNumber1Text:
+ text "Hi! You like"
+ line "CLEFAIRY too?"
+
+ para "They're so very"
+ line "cute, aren't they?"
+
+ para "I think we can be"
+ line "good friends!"
+
+ para "I want to know"
+ line "your phone number!"
+
+ para "Let's talk about"
+ line "CLEFAIRY!"
+ done
+
+TiffanyAskNumber2Text:
+ text "I want to know"
+ line "your phone number!"
+
+ para "Let's talk about"
+ line "CLEFAIRY!"
+ done
+
+TiffanyNumberAcceptedText:
+ text "Isn't my CLEFAIRY"
+ line "super-adorable?"
+ done
+
+TiffanyNumberDeclinedText:
+ text "Aww… Oh well."
+ line "Look for me if you"
+
+ para "want to talk about"
+ line "CLEFAIRY."
+ done
+
+TiffanyPhoneFullText:
+ text "Oh? Your phone"
+ line "registry is full."
+ done
+
+TiffanyRematchText:
+ text "There you are!"
+
+ para "CLEFAIRY, I want"
+ line "you to try hard!"
+ done
+
+TiffanyGiftText:
+ text "You took a long"
+ line "time. See this?"
+
+ para "Isn't it cute?"
+ line "It's a PINK BOW."
+ done
+
+TiffanyPackFullText:
+ text "Uh-oh. Your PACK"
+ line "is crammed full."
+ done
diff --git a/data/phone/text/todd_overworld.asm b/data/phone/text/todd_overworld.asm
new file mode 100644
index 000000000..6b4e9dd4c
--- /dev/null
+++ b/data/phone/text/todd_overworld.asm
@@ -0,0 +1,68 @@
+ToddAskNumber1Text:
+ text "From here, I can"
+ line "see GOLDENROD's"
+
+ para "DEPT.STORE. They"
+ line "have bargain sales"
+
+ para "up on the rooftop"
+ line "every so often."
+
+ para "Could I get your"
+ line "phone number?"
+
+ para "I'll call you when"
+ line "they have a sale."
+ done
+
+ToddAskNumber2Text:
+ text "If you give me"
+ line "your number, I'll"
+
+ para "call you when they"
+ line "have a sale."
+ done
+
+ToddNumberAcceptedText:
+ text "I check GOLDENROD"
+ line "DEPT.STORE every"
+
+ para "day, so I know"
+ line "when there's a"
+ cont "sale."
+ done
+
+ToddNumberDeclinedText:
+ text "Anyway…"
+
+ para "If you're short on"
+ line "money, take down"
+ cont "my number."
+
+ para "I'll call you when"
+ line "there's a sale."
+ done
+
+ToddPhoneFullText:
+ text "Your phone doesn't"
+ line "have enough memory"
+ cont "for more numbers."
+ done
+
+ToddRematchText:
+ text "I waited for you!"
+ line "I even cut back my"
+
+ para "shopping to raise"
+ line "my #MON better!"
+ done
+
+UnusedText_0xa43ca:
+; This is unused; Todd says this during the department store sale,
+; but this is a duplicate of the actual string in the Route 34 scripts.
+ text "Shopping under the"
+ line "sky!"
+
+ para "It feels so nice"
+ line "up on a rooftop."
+ done
diff --git a/data/phone/text/trainers1.asm b/data/phone/text/trainers1.asm
new file mode 100644
index 000000000..8768b9295
--- /dev/null
+++ b/data/phone/text/trainers1.asm
@@ -0,0 +1,1991 @@
+UnknownText_0x1b4dc5: ; 0x1b4dc5
+ text "Hello. This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Good morning,"
+ line "<PLAY_G>!"
+ done
+
+UnknownText_0x1b4ded: ; 0x1b4ded
+ text "Hello. This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "How's it going,"
+ line "<PLAY_G>?"
+ done
+
+UnknownText_0x1b4e16: ; 0x1b4e16
+ text "Hello. This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Good evening,"
+ line "<PLAY_G>!"
+ done
+
+UnknownText_0x1b4e3e: ; 0x1b4e3e
+ text "<PLAY_G>, good"
+ line "morning!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "How are you doing?"
+ done
+
+UnknownText_0x1b4e72: ; 0x1b4e72
+ text "<PLAY_G>, howdy!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Isn't it nice out?"
+ done
+
+UnknownText_0x1b4e9e: ; 0x1b4e9e
+ text "<PLAY_G>, good"
+ line "evening!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Got a minute?"
+ done
+
+UnknownText_0x1b4ecd: ; 0x1b4ecd
+ text "How are your"
+ line "#MON doing?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " is"
+ line "so curious, it's a"
+
+ para "problem. Maybe"
+ line "it's like me…"
+ done
+
+UnknownText_0x1b4f21: ; 0x1b4f21
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh! Good morning,"
+ line "<PLAYER>."
+ done
+
+UnknownText_0x1b4f4d: ; 0x1b4f4d
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh! Good day,"
+ line "<PLAYER>."
+ done
+
+UnknownText_0x1b4f75: ; 0x1b4f75
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh! Good evening,"
+ line "<PLAYER>."
+ done
+
+UnknownText_0x1b4fa1: ; 0x1b4fa1
+ text "Hello, <PLAYER>."
+ line "Good morning."
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Were you asleep?"
+ done
+
+UnknownText_0x1b4fda: ; 0x1b4fda
+ text "Hi, <PLAYER>."
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "How are you doing?"
+ done
+
+UnknownText_0x1b5004: ; 0x1b5004
+ text "Hi, <PLAYER>."
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Were you awake?"
+ done
+
+UnknownText_0x1b502b: ; 0x1b502b
+ text "Keeping your"
+ line "#MON happy?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " is"
+ line "healthy. It eats a"
+ cont "lot every day."
+ done
+
+UnknownText_0x1b5073: ; 0x1b5073
+ text "Yeah, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Huh? What's up,"
+ line "<PLAYER>?"
+ done
+
+UnknownText_0x1b509b: ; 0x1b509b
+ text "Yeah, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Huh? What's up"
+ line "<PLAYER>?"
+ done
+
+UnknownText_0x1b50c2: ; 0x1b50c2
+ text "Yeah, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Huh? What's up"
+ line "<PLAYER>?"
+ done
+
+UnknownText_0x1b50e9: ; 0x1b50e9
+ text "Yo, <PLAYER>!"
+ line "You awake?"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "How's it going?"
+ done
+
+UnknownText_0x1b511a: ; 0x1b511a
+ text "Yo, <PLAYER>! You"
+ line "free right now?"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "How's it going?"
+ done
+
+UnknownText_0x1b5154: ; 0x1b5154
+ text "Yo, <PLAYER>!"
+ line "Were you asleep?"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "How's it going?"
+ done
+
+UnknownText_0x1b518b: ; 0x1b518b
+ text "How are your"
+ line "#MON doing?"
+
+ para "My #MON are a"
+ line "bit too energetic."
+
+ para "@"
+ text_from_ram StringBuffer4
+ text ","
+ line "especially."
+
+ para "Every time it"
+ line "spots a trainer,"
+ cont "it has to battle."
+
+ para "It gets to be a"
+ line "bit much for me!"
+ done
+
+UnknownText_0x1b522b: ; 0x1b522b
+ text "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "looking tougher"
+ cont "than ever."
+
+ para "It looks even"
+ line "tougher than me!"
+ done
+
+UnknownText_0x1b5270: ; 0x1b5270
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking…"
+
+ para "Hi, <PLAY_G>!"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b52a5: ; 0x1b52a5
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking…"
+
+ para "Hi, <PLAY_G>!"
+ done
+
+UnknownText_0x1b52cc: ; 0x1b52cc
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking…"
+
+ para "Hi, <PLAY_G>!"
+ line "Good evening!"
+ done
+
+UnknownText_0x1b5301: ; 0x1b5301
+ text "<PLAY_G>, good"
+ line "morning!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "How are you doing?"
+ done
+
+UnknownText_0x1b5335: ; 0x1b5335
+ text "Hi, <PLAY_G>!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "How are you doing?"
+ done
+
+UnknownText_0x1b535f: ; 0x1b535f
+ text "<PLAY_G>, good"
+ line "evening!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "How are you doing?"
+ done
+
+UnknownText_0x1b5393: ; 0x1b5393
+ text "How are your"
+ line "#MON doing?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "doing as great as"
+ cont "ever."
+
+ para "Let's keep at it"
+ line "and become #MON"
+ cont "CHAMPS!"
+ done
+
+UnknownText_0x1b53f7: ; 0x1b53f7
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh, <PLAY_G>."
+ line "Good morning."
+
+ para ""
+ done
+
+UnknownText_0x1b5424: ; 0x1b5424
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh. Hi, <PLAY_G>."
+ done
+
+UnknownText_0x1b5446: ; 0x1b5446
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh, <PLAY_G>."
+ line "Good evening."
+ done
+
+UnknownText_0x1b5472: ; 0x1b5472
+ text "Good morning,"
+ line "<PLAY_G>!"
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Were you sleeping?"
+ done
+
+UnknownText_0x1b54a6: ; 0x1b54a6
+ text "<PLAY_G>, hi!"
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Do you have some"
+ line "time?"
+ done
+
+UnknownText_0x1b54d4: ; 0x1b54d4
+ text "Hi, <PLAY_G>."
+ line "Good evening."
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "I hope you were"
+ line "awake."
+ done
+
+UnknownText_0x1b5510: ; 0x1b5510
+ text "Are you the kind"
+ line "of person who goes"
+
+ para "to #MON CENTERS"
+ line "often?"
+
+ para "I go every day."
+ line "Watching out for"
+
+ para "the health of your"
+ line "#MON is a basic"
+
+ para "part of being a"
+ line "#MON trainer."
+ done
+
+UnknownText_0x1b55ae: ; 0x1b55ae
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, <PLAY_G>?"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b55da: ; 0x1b55da
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, <PLAY_G>? Hi!"
+ done
+
+UnknownText_0x1b55fc: ; 0x1b55fc
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, <PLAY_G>?"
+ line "Good evening!"
+ done
+
+UnknownText_0x1b5628: ; 0x1b5628
+ text "Oh, <PLAY_G>?"
+
+ para "Tweet! Yeah, it's"
+ line "me, @"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b564c: ; 0x1b564c
+ text "Oh, <PLAY_G>?"
+
+ para "Tweet! Yeah, it's"
+ line "me, @"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b5670: ; 0x1b5670
+ text "Oh, <PLAY_G>?"
+
+ para "Tweet! Yeah, it's"
+ line "me, @"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b5694: ; 0x1b5694
+ text "Are your #MON"
+ line "still cooking?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " has"
+ line "too much energy."
+
+ para "Once it takes off,"
+ line "it won't come back"
+ cont "for a while."
+ done
+
+UnknownText_0x1b5702: ; 0x1b5702
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh. Hi, <PLAYER>."
+ line "What's up?"
+ done
+
+UnknownText_0x1b572e: ; 0x1b572e
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, hi, <PLAYER>,"
+ line "what's up?"
+ done
+
+UnknownText_0x1b575a: ; 0x1b575a
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, hi, <PLAYER>,"
+ line "what's up?"
+ done
+
+UnknownText_0x1b5786: ; 0x1b5786
+ text "You're slow! Hurry"
+ line "up and answer!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b57b7: ; 0x1b57b7
+ text "You're slow! Hurry"
+ line "up and answer!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b57e8: ; 0x1b57e8
+ text "You're slow! Hurry"
+ line "up and answer!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b5819: ; 0x1b5819
+ text "Hey, how are your"
+ line "#MON doing?"
+
+ para "What? Great?"
+ line "I see…"
+
+ para "What? My #MON?"
+
+ para "Of course they're"
+ line "doing great! What"
+
+ para "kind of a question"
+ line "is that?"
+ done
+
+UnknownText_0x1b589a: ; 0x1b589a
+ text "Hi, @"
+ text_from_ram StringBuffer3
+ text " here!"
+
+ para "Oh, <PLAYER>? You"
+ line "doing well?"
+ done
+
+UnknownText_0x1b58c2: ; 0x1b58c2
+ text "Hi, @"
+ text_from_ram StringBuffer3
+ text " here!"
+
+ para "Oh, <PLAYER>? You"
+ line "doing well?"
+ done
+
+UnknownText_0x1b58ea: ; 0x1b58ea
+ text "Hi, @"
+ text_from_ram StringBuffer3
+ text " here!"
+
+ para "Oh, <PLAYER>? You"
+ line "doing well?"
+ done
+
+UnknownText_0x1b5912: ; 0x1b5912
+ text "Yo, <PLAYER>!"
+ line "How're you doing?"
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text ","
+ line "got a minute?"
+ done
+
+UnknownText_0x1b5948: ; 0x1b5948
+ text "Yo, <PLAYER>! How's"
+ line "it going?"
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Got a minute?"
+ done
+
+UnknownText_0x1b597c: ; 0x1b597c
+ text "Yo, <PLAYER>!"
+ line "How're you doing?"
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text ","
+ line "got a minute?"
+ done
+
+UnknownText_0x1b59b2: ; 0x1b59b2
+ text "How are your"
+ line "#MON doing?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text "'s"
+ line "raring to go, just"
+ cont "like always."
+
+ para "It's the only one"
+ line "I have. I'm going"
+
+ para "to become a great"
+ line "trainer with it!"
+ done
+
+UnknownText_0x1b5a3b: ; 0x1b5a3b
+ text "Hello? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking."
+
+ para "Oh. Hi, <PLAY_G>!"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b5a74: ; 0x1b5a74
+ text "Hello? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking."
+
+ para "Oh, hi, <PLAY_G>!"
+ done
+
+UnknownText_0x1b5a9f: ; 0x1b5a9f
+ text "Hello? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking."
+
+ para "Oh, hi, <PLAY_G>!"
+ line "Good evening!"
+ done
+
+UnknownText_0x1b5ad8: ; 0x1b5ad8
+ text "<PLAY_G>, good"
+ line "morning!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Isn't it nice out?"
+ done
+
+UnknownText_0x1b5b0b: ; 0x1b5b0b
+ text "<PLAY_G>, howdy!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Isn't it nice out?"
+ done
+
+UnknownText_0x1b5b37: ; 0x1b5b37
+ text "Good evening,"
+ line "<PLAY_G>!"
+
+ para "It's me, @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Were you awake?"
+ done
+
+UnknownText_0x1b5b68: ; 0x1b5b68
+ text "How are your"
+ line "#MON doing?"
+
+ para "My #MON have"
+ line "too much energy to"
+
+ para "burn. It gets to"
+ line "be a problem."
+
+ para "Of all my #MON,"
+ line "@"
+ text_from_ram StringBuffer4
+ text " is the"
+ cont "hardest to handle."
+
+ para "Working with it is"
+ line "exhausting."
+ done
+
+UnknownText_0x1b5c10: ; 0x1b5c10
+ text "Yes? Ah, <PLAY_G>."
+
+ para "You're courteous"
+ line "enough to state"
+
+ para "your name when you"
+ line "call on the phone."
+ done
+
+UnknownText_0x1b5c63: ; 0x1b5c63
+ text "Yes? Ah, <PLAY_G>."
+
+ para "You're courteous"
+ line "enough to state"
+
+ para "your name when you"
+ line "call on the phone."
+ done
+
+UnknownText_0x1b5cb6: ; 0x1b5cb6
+ text "Yes? Ah, <PLAY_G>."
+
+ para "You're courteous"
+ line "enough to state"
+
+ para "your name when you"
+ line "call on the phone."
+ done
+
+UnknownText_0x1b5d09: ; 0x1b5d09
+ text "Hiya, it's Uncle"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b5d21: ; 0x1b5d21
+ text "Hiya, it's Uncle"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b5d39: ; 0x1b5d39
+ text "Hiya, it's Uncle"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b5d51: ; 0x1b5d51
+ text "Are you taking"
+ line "good care of your"
+
+ para "#MON? You have"
+ line "to be good to your"
+ cont "partners!"
+ done
+
+UnknownText_0x1b5d9f: ; 0x1b5d9f
+ text "Hello, @"
+ text_from_ram StringBuffer3
+ text_start
+ line "speaking."
+
+ para "Oh, <PLAY_G>."
+ line "Good morning."
+ done
+
+UnknownText_0x1b5dcc: ; 0x1b5dcc
+ text "Hello, @"
+ text_from_ram StringBuffer3
+ text_start
+ line "speaking."
+
+ para "Oh, <PLAY_G>."
+ line "How are you?"
+ done
+
+UnknownText_0x1b5df8: ; 0x1b5df8
+ text "Hello, @"
+ text_from_ram StringBuffer3
+ text_start
+ line "speaking."
+
+ para "Oh, <PLAY_G>."
+ line "Good evening."
+ done
+
+UnknownText_0x1b5e25: ; 0x1b5e25
+ text "Good morning,"
+ line "<PLAY_G>."
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Were you sleeping?"
+ done
+
+UnknownText_0x1b5e59: ; 0x1b5e59
+ text "Hi, <PLAY_G>."
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "How are things"
+ line "going for you?"
+ done
+
+UnknownText_0x1b5e8e: ; 0x1b5e8e
+ text "Good evening,"
+ line "<PLAY_G>."
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Are you awake?"
+ done
+
+UnknownText_0x1b5ebe: ; 0x1b5ebe
+ text "I had some time,"
+ line "so I called you."
+
+ para "So anyway, how are"
+ line "your #MON?"
+
+ para "Me, I take my"
+ line "@"
+ text_from_ram StringBuffer4
+ text " to the"
+
+ para "#MON CENTER in"
+ line "VIOLET every day,"
+
+ para "so it's doing just"
+ line "fantastic!"
+
+ para "I'm friends with"
+ line "the receptionist!"
+ done
+
+UnknownText_0x1b5f7a: ; 0x1b5f7a
+ text "Yeah, @"
+ text_from_ram StringBuffer3
+ text " the"
+ line "HIKER here."
+
+ para "Ah, <PLAYER>!"
+ done
+
+UnknownText_0x1b5f9e: ; 0x1b5f9e
+ text "Yeah, @"
+ text_from_ram StringBuffer3
+ text " the"
+ line "HIKER here."
+
+ para "Ah, <PLAYER>,"
+ line "right?"
+ done
+
+UnknownText_0x1b5fc9: ; 0x1b5fc9
+ text "Yeah, @"
+ text_from_ram StringBuffer3
+ text " the"
+ line "HIKER here."
+
+ para "Ah, <PLAYER>, isn't"
+ line "it?"
+ done
+
+UnknownText_0x1b5ff6: ; 0x1b5ff6
+ text "Yo, <PLAYER>?"
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text_start
+ line "the HIKER!"
+ done
+
+UnknownText_0x1b6017: ; 0x1b6017
+ text "Hey, is this"
+ line "<PLAYER>?"
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text_start
+ line "the HIKER!"
+ done
+
+UnknownText_0x1b6041: ; 0x1b6041
+ text "<PLAYER>, you still"
+ line "awake?"
+
+ para "This is @"
+ text_from_ram StringBuffer3
+ text_start
+ line "the HIKER!"
+ done
+
+UnknownText_0x1b606f: ; 0x1b606f
+ text "Are your #MON"
+ line "as feisty as ever?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " and"
+ line "me--we have energy"
+
+ para "to burn. We hike"
+ line "up mountains every"
+
+ para "day to work out"
+ line "all our energy."
+ done
+
+UnknownText_0x1b60f5: ; 0x1b60f5
+ text "Yes? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking."
+
+ para "Hey, <PLAY_G>!"
+ done
+
+UnknownText_0x1b611b: ; 0x1b611b
+ text "Yes? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking."
+
+ para "This must be"
+ line "<PLAY_G>."
+ done
+
+UnknownText_0x1b6149: ; 0x1b6149
+ text "Yes? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text " speaking."
+
+ para "Ah, <PLAY_G>!"
+ done
+
+UnknownText_0x1b616e: ; 0x1b616e
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "<PLAY_G>, right?"
+ done
+
+UnknownText_0x1b618f: ; 0x1b618f
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "<PLAY_G>, what are"
+ line "you doing?"
+ done
+
+UnknownText_0x1b61bd: ; 0x1b61bd
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "<PLAY_G>, sorry to"
+ line "call you so late."
+ done
+
+UnknownText_0x1b61f2: ; 0x1b61f2
+ text "How do you raise"
+ line "your #MON?"
+
+ para "I do all sorts"
+ line "of things, like"
+
+ para "leaving them in"
+ line "DAY-CARE and"
+
+ para "toughening them up"
+ line "with items."
+ done
+
+UnknownText_0x1b626a: ; 0x1b626a
+ text "Hello? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, <PLAY_G>!"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b6296: ; 0x1b6296
+ text "Hello? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, <PLAY_G>!"
+ line "Hi, how are you?"
+ done
+
+UnknownText_0x1b62c5: ; 0x1b62c5
+ text "Hello? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, <PLAY_G>!"
+ line "Good evening!"
+ done
+
+UnknownText_0x1b62f1: ; 0x1b62f1
+ text "<PLAY_G>?"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Good morning!"
+ done
+
+UnknownText_0x1b630e: ; 0x1b630e
+ text "<PLAY_G>?"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text ". Is"
+ line "this a bad time?"
+ done
+
+UnknownText_0x1b6331: ; 0x1b6331
+ text "<PLAY_G>?"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "."
+ line "Got time to chat?"
+ done
+
+UnknownText_0x1b6352: ; 0x1b6352
+ text "Are your #MON"
+ line "still tough?"
+
+ para "I train every day"
+ line "with @"
+ text_from_ram StringBuffer4
+ text "."
+ done
+
+UnknownText_0x1b638c: ; 0x1b638c
+ text "Hello? @"
+ text_from_ram StringBuffer3
+ text_start
+ line "here…"
+
+ para "Hey, <PLAY_G>!"
+ done
+
+UnknownText_0x1b63a8: ; 0x1b63a8
+ text "Hello? @"
+ text_from_ram StringBuffer3
+ text_start
+ line "here…"
+
+ para "Wow, <PLAY_G>!"
+ done
+
+UnknownText_0x1b63c4: ; 0x1b63c4
+ text "Hello? @"
+ text_from_ram StringBuffer3
+ text_start
+ line "here…"
+
+ para "Yippee, <PLAY_G>!"
+ done
+
+UnknownText_0x1b63e3: ; 0x1b63e3
+ text "Uh, hello."
+ line "<PLAY_G>?"
+
+ para "It's your pal,"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b6407: ; 0x1b6407
+ text "Uh, hello,"
+ line "<PLAY_G>?"
+
+ para "It's your buddy"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b642c: ; 0x1b642c
+ text "Uh, hello,"
+ line "<PLAY_G>?"
+
+ para "It's your sidekick"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b6454: ; 0x1b6454
+ text "Yeah, hello."
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "…Huh, <PLAY_G>? Yo!"
+ done
+
+UnknownText_0x1b647e: ; 0x1b647e
+ text "Yeah, hello, you"
+ line "got @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "…Huh, <PLAY_G>? Yo!"
+ done
+
+UnknownText_0x1b64a8: ; 0x1b64a8
+ text "Yeah, hello, you"
+ line "got @"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "…Huh, <PLAY_G>? Yo!"
+ done
+
+UnknownText_0x1b64d2: ; 0x1b64d2
+ text "Yeah, hello?"
+ line "@"
+ text_from_ram StringBuffer3
+ text " calling."
+
+ para "What are you up"
+ line "to, <PLAY_G>?"
+ done
+
+UnknownText_0x1b6506: ; 0x1b6506
+ text "Yeah, hello?"
+ line "@"
+ text_from_ram StringBuffer3
+ text " calling."
+
+ para "Where are you now,"
+ line "<PLAY_G>?"
+ done
+
+UnknownText_0x1b6539: ; 0x1b6539
+ text "Yeah, hello?"
+ line "@"
+ text_from_ram StringBuffer3
+ text " calling."
+
+ para "Are you awake now,"
+ line "<PLAY_G>?"
+ done
+
+UnknownText_0x1b656c: ; 0x1b656c
+ text "I bet your #MON"
+ line "are a lot stronger"
+ cont "than before."
+ done
+
+UnknownText_0x1b659d: ; 0x1b659d
+ text "Yup, it's @"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Is this <PLAY_G>?"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b65c7: ; 0x1b65c7
+ text "Yup, it's @"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Is that <PLAY_G>?"
+ done
+
+UnknownText_0x1b65e3: ; 0x1b65e3
+ text "Yup, it's @"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Is that <PLAY_G>?"
+ line "Good evening!"
+ done
+
+UnknownText_0x1b660d: ; 0x1b660d
+ text "Hello! It's me,"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b6624: ; 0x1b6624
+ text "Hello! It's me,"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b663b: ; 0x1b663b
+ text "Hello! It's me,"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b6652: ; 0x1b6652
+ text "<PLAY_G>, are you"
+ line "raising your"
+ cont "#MON properly?"
+
+ para "I read in a book"
+ line "that you should"
+
+ para "raise any #MON"
+ line "you catch with"
+ cont "love and care."
+ done
+
+UnknownText_0x1b66c8: ; 0x1b66c8
+ text "Hi, @"
+ text_from_ram StringBuffer3
+ text " on the"
+ line "line."
+
+ para "Hey! It's <PLAY_G>!"
+ done
+
+UnknownText_0x1b66ec: ; 0x1b66ec
+ text "Hi, @"
+ text_from_ram StringBuffer3
+ text " on the"
+ line "line."
+
+ para "I know!"
+ line "It's <PLAY_G>!"
+ done
+
+UnknownText_0x1b6713: ; 0x1b6713
+ text "Hi, @"
+ text_from_ram StringBuffer3
+ text " on the"
+ line "line."
+
+ para "<PLAY_G>?"
+ line "What's up?"
+ done
+
+UnknownText_0x1b6738: ; 0x1b6738
+ text "Uh, <PLAY_G>?"
+
+ para "It's me!"
+ line "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b6757: ; 0x1b6757
+ text "Uh, <PLAY_G>?"
+
+ para "It's me!"
+ line "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b6776: ; 0x1b6776
+ text "Uh, <PLAY_G>?"
+
+ para "It's me!"
+ line "It's me, @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b6795: ; 0x1b6795
+ text "My @"
+ text_from_ram StringBuffer4
+ text " is"
+ line "so full of energy,"
+
+ para "it's a little"
+ line "scary."
+
+ para "How are your"
+ line "#MON doing?"
+ done
+
+UnknownText_0x1b67e2: ; 0x1b67e2
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Hi, <PLAY_G>!"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b680e: ; 0x1b680e
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Hi, <PLAY_G>, good"
+ line "day!"
+ done
+
+UnknownText_0x1b6836: ; 0x1b6836
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Hi, <PLAY_G>, good"
+ line "evening!"
+ done
+
+UnknownText_0x1b6862: ; 0x1b6862
+ text "Hi, <PLAY_G>, good"
+ line "morning!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "."
+ line "How are you?"
+ done
+
+UnknownText_0x1b6890: ; 0x1b6890
+ text "Hi, <PLAY_G>, good"
+ line "day!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "."
+ line "How are you?"
+ done
+
+UnknownText_0x1b68ba: ; 0x1b68ba
+ text "Hi, <PLAY_G>, good"
+ line "evening!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "."
+ line "How are you?"
+ done
+
+UnknownText_0x1b68e8: ; 0x1b68e8
+ text "How are your"
+ line "#MON doing?"
+
+ para "You know PROF.OAK,"
+ line "so of course your"
+ cont "#MON are fine!"
+
+ para "My #MON are"
+ line "doing well too."
+
+ para "But then, I am"
+ line "trying to become a"
+
+ para "#MON professor,"
+ line "so that shouldn't"
+ cont "be a big surprise."
+ done
+
+UnknownText_0x1b69a8: ; 0x1b69a8
+ text "Hi, <PLAY_G>?"
+
+ para "Good morning pika."
+ line "What's up pika?"
+ done
+
+UnknownText_0x1b69d2: ; 0x1b69d2
+ text "Hi, <PLAY_G>?"
+
+ para "Good day pika,"
+ line "what's up pika?"
+ done
+
+UnknownText_0x1b69f8: ; 0x1b69f8
+ text "Hi, <PLAY_G>?"
+
+ para "Good evening pika,"
+ line "what's up pika?"
+ done
+
+UnknownText_0x1b6a22: ; 0x1b6a22
+ text "<PLAY_G> pika, good"
+ line "morning!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text ", how"
+ line "pika are you?"
+ done
+
+UnknownText_0x1b6a56: ; 0x1b6a56
+ text "<PLAY_G> pika, good"
+ line "pika day!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text ", how"
+ line "pika are you?"
+ done
+
+UnknownText_0x1b6a8b: ; 0x1b6a8b
+ text "<PLAY_G> pika, good"
+ line "evening!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text ". Were"
+ line "you pika awake?"
+ done
+
+UnknownText_0x1b6ac2: ; 0x1b6ac2
+ text "You have to hear"
+ line "this! My lovable"
+
+ para "@"
+ text_from_ram StringBuffer4
+ text " looked"
+ line "at me and grinned!"
+
+ para "It must be because"
+ line "our hearts beat"
+ cont "together as one!"
+ done
+
+UnknownText_0x1b6b39: ; 0x1b6b39
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, Good morning,"
+ line "<PLAY_G>."
+ done
+
+UnknownText_0x1b6b65: ; 0x1b6b65
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "That voice…"
+ line "<PLAY_G>, right?"
+ done
+
+UnknownText_0x1b6b92: ; 0x1b6b92
+ text "Hello, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "This must be"
+ line "<PLAY_G>!"
+ done
+
+UnknownText_0x1b6bb9: ; 0x1b6bb9
+ text "Hello!"
+ line "@"
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "Good morning! The"
+ line "weather's great!"
+ done
+
+UnknownText_0x1b6bef: ; 0x1b6bef
+ text "Hello!"
+ line "@"
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "What a perfect day"
+ line "for fishing!"
+ done
+
+UnknownText_0x1b6c23: ; 0x1b6c23
+ text "Hello!"
+ line "@"
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "It's a great night"
+ line "for fishing!"
+ done
+
+UnknownText_0x1b6c56: ; 0x1b6c56
+ text "How's your trip"
+ line "coming along?"
+
+ para "I can't complain"
+ line "about my fishing!"
+ done
+
+UnknownText_0x1b6c96: ; 0x1b6c96
+ text "Yes? @"
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "Ah, <PLAYER>. What"
+ line "can I do for you?"
+ done
+
+UnknownText_0x1b6cc6: ; 0x1b6cc6
+ text "Yes? @"
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "Ah, <PLAYER>. What"
+ line "can I do for you?"
+ done
+
+UnknownText_0x1b6cf6: ; 0x1b6cf6
+ text "Yes? @"
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "Ah, <PLAYER>. What"
+ line "can I do for you?"
+ done
+
+UnknownText_0x1b6d26: ; 0x1b6d26
+ text "Hiya, <PLAYER>. How"
+ line "are you doing?"
+
+ para "Hey! It's me,"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b6d57: ; 0x1b6d57
+ text "Hiya, <PLAYER>, how"
+ line "are you doing?"
+
+ para "Hey, it's me,"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b6d88: ; 0x1b6d88
+ text "Hiya, <PLAYER>, how"
+ line "are you doing?"
+
+ para "Hey, it's me,"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b6db9: ; 0x1b6db9
+ text "Oh yeah, I saw you"
+ line "coming out of a"
+
+ para "#MON CENTER the"
+ line "other day."
+
+ para "You heal your"
+ line "#MON regularly,"
+
+ para "don't you?"
+ line "I'm impressed."
+
+ para "Heh, my @"
+ text_from_ram StringBuffer4
+ text_start
+ line "is so tough, it"
+
+ para "doesn't need to go"
+ line "to #MON CENTERS"
+ cont "often. Heheh!"
+ done
+
+UnknownText_0x1b6e7c: ; 0x1b6e7c
+ text "Yes? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh, <PLAY_G>."
+ line "Good morning."
+ done
+
+UnknownText_0x1b6ea6: ; 0x1b6ea6
+ text "Yes? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh, <PLAY_G>."
+ line "Hello."
+ done
+
+UnknownText_0x1b6ec9: ; 0x1b6ec9
+ text "Yes? This is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "."
+
+ para "Oh, <PLAY_G>, good"
+ line "evening."
+ done
+
+UnknownText_0x1b6ef3: ; 0x1b6ef3
+ text "Is this <PLAY_G>?"
+
+ para "Good morning. This"
+ line "is @"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b6f1c: ; 0x1b6f1c
+ text "Is this <PLAY_G>?"
+
+ para "Hi, it's @"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b6f37: ; 0x1b6f37
+ text "Is this <PLAY_G>?"
+
+ para "Good evening. This"
+ line "is @"
+ text_from_ram StringBuffer3
+ text "."
+ done
+
+UnknownText_0x1b6f60: ; 0x1b6f60
+ text "Are your #MON"
+ line "doing well?"
+
+ para "I hope you take"
+ line "them to a #MON"
+ cont "CENTER every day."
+
+ para "Don't push them"
+ line "too hard."
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " is"
+ line "cute and lively"
+
+ para "precisely because"
+ line "I take it to a"
+
+ para "#MON CENTER"
+ line "every day."
+ done
+
+UnknownText_0x1b7019: ; 0x1b7019
+ text "Yes, hello?"
+ line "@"
+ text_from_ram StringBuffer3
+ text " here!"
+
+ para "Morning, <PLAY_G>!"
+
+ para "Are you using bird"
+ line "#MON?"
+ done
+
+UnknownText_0x1b7057: ; 0x1b7057
+ text "Yes, hello?"
+ line "@"
+ text_from_ram StringBuffer3
+ text " here!"
+
+ para "Hi, <PLAY_G>!"
+
+ para "Are your bird"
+ line "#MON flying?"
+ done
+
+UnknownText_0x1b7092: ; 0x1b7092
+ text "Yes, hello?"
+ line "@"
+ text_from_ram StringBuffer3
+ text " here!"
+
+ para "Evening, <PLAY_G>!"
+ line "Are you letting"
+
+ para "your bird #MON"
+ line "see some action?"
+ done
+
+UnknownText_0x1b70e7: ; 0x1b70e7
+ text "Good morning,"
+ line "<PLAY_G>!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b7112: ; 0x1b7112
+ text "Hi, <PLAY_G>!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "Remember me?"
+ done
+
+UnknownText_0x1b7132: ; 0x1b7132
+ text "Good evening,"
+ line "<PLAY_G>!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "Are you free now?"
+ done
+
+UnknownText_0x1b7161: ; 0x1b7161
+ text "Are you and your"
+ line "#MON fine?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text_start
+ line "looks like it will"
+
+ para "get tough enough"
+ line "to face and beat"
+
+ para "the legendary bird"
+ line "#MON!"
+ done
+
+UnknownText_0x1b71d5: ; 0x1b71d5
+ text "Hello, you have"
+ line "reached @"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Ah, <PLAY_G>."
+ done
+
+UnknownText_0x1b71fc: ; 0x1b71fc
+ text "Hello, you have"
+ line "reached @"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Ah, <PLAY_G>, is"
+ line "it?"
+ done
+
+UnknownText_0x1b722a: ; 0x1b722a
+ text "Hello, you have"
+ line "reached @"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Ah, if it isn't"
+ line "<PLAY_G>."
+ done
+
+UnknownText_0x1b725c: ; 0x1b725c
+ text "Ah, it's @"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Have you got a"
+ line "moment?"
+ done
+
+UnknownText_0x1b7283: ; 0x1b7283
+ text "Ah, it's @"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Can you talk now?"
+ done
+
+UnknownText_0x1b72a5: ; 0x1b72a5
+ text "Ah, it's @"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Sorry for calling"
+ line "so late."
+ done
+
+UnknownText_0x1b72d0: ; 0x1b72d0
+ text "Have your #MON"
+ line "grown any?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " has"
+ line "grown quite a bit."
+ done
+
+UnknownText_0x1b730b: ; 0x1b730b
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "<PLAYER>! Beautiful"
+ line "morning, hey?"
+ done
+
+UnknownText_0x1b7331: ; 0x1b7331
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "<PLAYER>! Beautiful"
+ line "weather, hey?"
+ done
+
+UnknownText_0x1b7357: ; 0x1b7357
+ text_from_ram StringBuffer3
+ text " here…"
+
+ para "<PLAYER>! Beautiful"
+ line "moonlight, hey?"
+ done
+
+UnknownText_0x1b737f: ; 0x1b737f
+ text "Hey, <PLAYER>!"
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b7397: ; 0x1b7397
+ text "Hey, <PLAYER>!"
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b73af: ; 0x1b73af
+ text "Hey, <PLAYER>!"
+ line "This is @"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+UnknownText_0x1b73c7: ; 0x1b73c7
+ text "Yup, yup!"
+ line "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Hah, and here's"
+ line "<PLAY_G>!"
+ done
+
+UnknownText_0x1b73ef: ; 0x1b73ef
+ text "Yup, yup!"
+ line "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Hah, and here's"
+ line "<PLAY_G>!"
+ done
+
+UnknownText_0x1b7417: ; 0x1b7417
+ text "Yup, yup!"
+ line "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Hah, and here's"
+ line "<PLAY_G>!"
+ done
+
+UnknownText_0x1b743f: ; 0x1b743f
+ text "<PLAY_G>, it's"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Have you had a"
+ line "proper breakfast?"
+ done
+
+UnknownText_0x1b746f: ; 0x1b746f
+ text "<PLAY_G>, it's"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Have you had a"
+ line "proper lunch?"
+ done
+
+UnknownText_0x1b749b: ; 0x1b749b
+ text "<PLAY_G>, it's"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+
+ para "Have you had a"
+ line "proper dinner?"
+ done
+
+UnknownText_0x1b74c8: ; 0x1b74c8
+ text "Are your #MON"
+ line "looking good?"
+
+ para "My @"
+ text_from_ram StringBuffer4
+ text " and"
+ line "me--we're looking"
+
+ para "mighty dandy!"
+ line "Hahahah!"
+ done
+
+UnknownText_0x1b751a: ; 0x1b751a
+ text "Yes, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh. Hi, <PLAY_G>!"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b7548: ; 0x1b7548
+ text "Yes, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, hi, <PLAY_G>!"
+ line "Yahoo!"
+ done
+
+UnknownText_0x1b756f: ; 0x1b756f
+ text "Yes, this is"
+ line "@"
+ text_from_ram StringBuffer3
+ text "…"
+
+ para "Oh, hi, <PLAY_G>!"
+ done
+
+UnknownText_0x1b758f: ; 0x1b758f
+ text "<PLAY_G>!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "Good morning!"
+ done
+
+UnknownText_0x1b75ac: ; 0x1b75ac
+ text "<PLAY_G>!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "Working hard?"
+ done
+
+UnknownText_0x1b75c9: ; 0x1b75c9
+ text "<PLAY_G>!"
+
+ para "It's @"
+ text_from_ram StringBuffer3
+ text "!"
+ line "Were you up?"
+ done
+
+UnknownText_0x1b75e5: ; 0x1b75e5
+ text "Are you raising"
+ line "your #MON?"
+
+ para "Hey, @"
+ text_from_ram StringBuffer3
+ text "'s"
+ line "@"
+ text_from_ram StringBuffer4
+ text " is"
+ cont "looking good!"
+ done
+
+UnusedPhoneText: ; 0x1b7624
+ text "Good morning."
+ done
diff --git a/data/phone/text/tully_overworld.asm b/data/phone/text/tully_overworld.asm
new file mode 100644
index 000000000..48d41ba7c
--- /dev/null
+++ b/data/phone/text/tully_overworld.asm
@@ -0,0 +1,73 @@
+TullyAskNumber1Text:
+ text "Hey, you're trying"
+ line "to be the ultimate"
+
+ para "trainer too? Then"
+ line "we're comrades!"
+
+ para "If I find any more"
+ line "items by the"
+
+ para "water, I'll give"
+ line "you some."
+
+ para "Just give me your"
+ line "phone number."
+ done
+
+TullyAskNumber2Text:
+ text "If I find any more"
+ line "items by the"
+
+ para "water, I'll give"
+ line "you some."
+
+ para "Just give me your"
+ line "phone number."
+ done
+
+TullyNumberAcceptedText:
+ text "You'll be hearing"
+ line "from me if I find"
+ cont "something good."
+ done
+
+TullyNumberDeclinedText:
+ text "Is that so? Then"
+ line "I'll just have to"
+ cont "use them myself."
+ done
+
+TullyPhoneFullText:
+ text "Your phone list is"
+ line "all filled up."
+
+ para "Come back if you"
+ line "make room for me."
+ done
+
+TullyRematchText:
+ text "I've been doing"
+ line "more than just"
+
+ para "fishing since we"
+ line "last met."
+
+ para "You're in for a"
+ line "big surprise!"
+ done
+
+TullyGiftText:
+ text "Hey, there you"
+ line "are!"
+
+ para "Here's a gift, as"
+ line "promised!"
+ done
+
+TullyPackFullText:
+ text "Your PACK's full?"
+
+ para "Come back later--"
+ line "that'll do it."
+ done
diff --git a/data/phone/text/vance_overworld.asm b/data/phone/text/vance_overworld.asm
new file mode 100644
index 000000000..b01907d36
--- /dev/null
+++ b/data/phone/text/vance_overworld.asm
@@ -0,0 +1,73 @@
+VanceAskNumber1Text:
+ text "You know, you are"
+ line "really strong."
+
+ para "But I don't want"
+ line "to just slink off…"
+
+ para "I know! Could I"
+ line "get your number?"
+
+ para "Let's meet up for"
+ line "more battles!"
+ done
+
+VanceAskNumber2Text:
+ text "I want to battle"
+ line "tough trainers as"
+ cont "often as I can!"
+
+ para "Could I get your"
+ line "number?"
+
+ para "Let's meet up for"
+ line "more battles!"
+ done
+
+VanceNumberAcceptedText:
+ text "Don't forget to"
+ line "come see me when I"
+ cont "challenge you!"
+ done
+
+VanceNumberDeclinedText:
+ text "A bird-user friend"
+ line "isn't a bad thing"
+ cont "to have, I think…"
+
+ para "Won't you"
+ line "reconsider?"
+ done
+
+VancePhoneFullText:
+ text "Your phone's out"
+ line "of memory. Delete"
+ cont "a number for me!"
+ done
+
+VanceRematchText:
+ text "Am I happy to see"
+ line "you! I won't lose!"
+ done
+
+VancePackFullText:
+ text "Oh, too bad. You"
+ line "don't have room."
+
+ para "I'll give it to"
+ line "you next time!"
+ done
+
+VanceRematchGiftText:
+ text "You are really,"
+ line "really strong!"
+
+ para "Thanks for taking"
+ line "me on so often--I"
+
+ para "learned a whole"
+ line "lot from you."
+
+ para "I know! This will"
+ line "do as my thanks!"
+ done
diff --git a/data/phone/text/wade_overworld.asm b/data/phone/text/wade_overworld.asm
new file mode 100644
index 000000000..7b0b96009
--- /dev/null
+++ b/data/phone/text/wade_overworld.asm
@@ -0,0 +1,70 @@
+WadeAskNumber1Text:
+ text "You're awesome!"
+ line "I like you!"
+
+ para "I look for #MON"
+ line "here every day."
+
+ para "When I'm in the"
+ line "grass, I find all"
+ cont "kinds of BERRIES."
+
+ para "If you'd like,"
+ line "I'll share some."
+
+ para "Could I get your"
+ line "phone number?"
+ done
+
+WadeAskNumber2Text:
+ text "When I'm in the"
+ line "grass, I find all"
+ cont "kinds of BERRIES."
+
+ para "If you'd like,"
+ line "I'll share some."
+
+ para "Could I get your"
+ line "phone number?"
+ done
+
+WadeNumberAcceptedText:
+ text "You'll hear from"
+ line "me as soon as I"
+
+ para "find anything that"
+ line "you might like."
+ done
+
+WadeNumberDeclinedText:
+ text "Oh well. Don't be"
+ line "shy if you want to"
+ cont "get my number."
+ done
+
+WadePhoneFullText:
+ text "Your phone list"
+ line "has no room for my"
+ cont "number."
+ done
+
+WadeRematchText:
+ text "I was waiting for"
+ line "you. Let's battle!"
+ done
+
+WadeGiftText:
+ text "Good to see you!"
+ line "See? This is what"
+
+ para "I found."
+ line "It's for you!"
+ done
+
+WadePackFullText:
+ text "Oops, your PACK's"
+ line "full. Too bad."
+
+ para "You should come"
+ line "back for it later."
+ done
diff --git a/data/phone/text/wilton_overworld.asm b/data/phone/text/wilton_overworld.asm
new file mode 100644
index 000000000..a6e43ffb4
--- /dev/null
+++ b/data/phone/text/wilton_overworld.asm
@@ -0,0 +1,61 @@
+WiltonAskNumber1Text:
+ text "Eh, our battle was"
+ line "fun, I'd say…"
+
+ para "When I'm fishing,"
+ line "I sometimes snag"
+
+ para "items that people"
+ line "have dropped."
+
+ para "Do you want them?"
+ line "What's the number?"
+ done
+
+WiltonAskNumber2Text:
+ text "If I snag an item"
+ line "while I'm fishing,"
+
+ para "it's yours. What's"
+ line "your number?"
+ done
+
+WiltonNumberAcceptedText:
+ text "If I snag anything"
+ line "good, I'll be sure"
+ cont "to let you know."
+ done
+
+WiltonNumberDeclinedText:
+ text "All right… Come"
+ line "back if you have a"
+ cont "change of heart."
+ done
+
+WiltonPhoneFullText:
+ text "You can't register"
+ line "another number."
+ done
+
+WiltonRematchText:
+ text "Argh! You startled"
+ line "POLIWAG into"
+ cont "fleeing again!"
+ done
+
+WiltonGiftText:
+ text "So here you are."
+
+ para "See this?"
+ line "I snagged it just"
+
+ para "a little while"
+ line "ago. It's yours."
+ done
+
+WiltonPackFullText:
+ text "Your PACK's full?"
+
+ para "I'll give it to"
+ line "you later."
+ done
diff --git a/data/phone_contacts.asm b/data/phone_contacts.asm
deleted file mode 100644
index cfeaad8a1..000000000
--- a/data/phone_contacts.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-phone: MACRO
-; trainer class, trainer id, map, ?, script 1, ?, script 2
- db \1, \2
- map \3
- db \4
- dba \5
- db \6
- dba \7
-ENDM
-
-PhoneContacts: ; 9045f
-; entries correspond to PHONE_* constants
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_BILL, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2
- phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2
- phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2
- phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2
- phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2
- phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2
- phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2
- phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2
- phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2
- phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2
- phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2
- phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2
- phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2
- phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2
- phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2
- phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2
- phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2
- phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2
- phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2
- phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2
- phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2
- phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2
- phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2
- phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2
- phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2
- phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2
- phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2
- phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2
- phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2
-; 90627
diff --git a/data/default_names.asm b/data/player_names.asm
index 87c341652..04eac7508 100644
--- a/data/default_names.asm
+++ b/data/player_names.asm
@@ -1,13 +1,12 @@
-ChrisNameMenuHeader: ; 882b5
- db $40 ; flags
- db 00, 00 ; start coords
- db 11, 10 ; end coords
+ChrisNameMenuDataHeader: ; 882b5
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 10, TEXTBOX_Y - 1
dw .MaleNames
db 1 ; ????
db 0 ; default option
.MaleNames: ; 882be
- db $91 ; flags
+ db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags
db 5 ; items
db "NEW NAME@"
MalePlayerNameArray: ; 882c9
@@ -18,16 +17,15 @@ MalePlayerNameArray: ; 882c9
db 2 ; displacement
db " NAME @" ; title
-KrisNameMenuHeader: ; 882e5
- db $40 ; flags
- db 00, 00 ; start coords
- db 11, 10 ; end coords
+KrisNameMenuDataHeader: ; 882e5
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 10, TEXTBOX_Y - 1
dw .FemaleNames
db 1 ; ????
db 0 ; default option
.FemaleNames: ; 882ee
- db $91 ; flags
+ db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags
db 5 ; items
db "NEW NAME@"
FemalePlayerNameArray: ; 882f9
diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm
index 8a6435a40..27f9174e5 100644
--- a/data/pokemon/base_stats.asm
+++ b/data/pokemon/base_stats.asm
@@ -1,3 +1,36 @@
+tmhm: MACRO
+; used in data/pokemon/base_stats/*.asm
+tms1 = 0 ; TM01-TM24 (24)
+tms2 = 0 ; TM25-TM48 (24)
+tms3 = 0 ; TM49-TM50 + HM01-HM07 + MT01-MT03 (12/24)
+rept _NARG
+ if DEF(\1_TMNUM)
+ if \1_TMNUM < 24 + 1
+tms1 = tms1 | (1 << ((\1_TMNUM) - 1))
+ elif \1_TMNUM < 48 + 1
+tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24))
+ else
+tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48))
+ endc
+ else
+ fail "\1 is not a TM, HM, or move tutor move"
+ endc
+ shift
+endr
+rept 3 ; TM01-TM24 (24/24)
+ db tms1 & $ff
+tms1 = tms1 >> 8
+endr
+rept 3 ; TM25-TM48 (24/24)
+ db tms2 & $ff
+tms2 = tms2 >> 8
+endr
+rept 2 ; TM49-TM50 + HM01-HM07 + MT01-MT03 (12/16)
+ db tms3 & $ff
+tms3 = tms3 >> 8
+endr
+ENDM
+
BaseData::
INCLUDE "data/pokemon/base_stats/bulbasaur.asm"
INCLUDE "data/pokemon/base_stats/ivysaur.asm"
diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm
index 92b9c6b06..7381a4262 100644
--- a/data/pokemon/dex_entries.asm
+++ b/data/pokemon/dex_entries.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Pokedex Entries 001-064", ROMX
diff --git a/data/pokemon/egg_moves.asm b/data/pokemon/egg_moves.asm
index 52d244c39..886c47349 100644
--- a/data/pokemon/egg_moves.asm
+++ b/data/pokemon/egg_moves.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Egg Moves", ROMX
@@ -26,7 +26,7 @@ if !_CRYSTAL
endc
db RAZOR_WIND
db PETAL_DANCE
- db $ff
+ db -1 ; end
CharmanderEggMoves:
db BELLY_DRUM
@@ -35,7 +35,7 @@ CharmanderEggMoves:
db BITE
db OUTRAGE
db BEAT_UP
- db $ff
+ db -1 ; end
SquirtleEggMoves:
db MIRROR_COAT
@@ -44,7 +44,7 @@ SquirtleEggMoves:
db CONFUSION
db FORESIGHT
db FLAIL
- db $ff
+ db -1 ; end
PidgeyEggMoves:
db PURSUIT
@@ -53,7 +53,7 @@ PidgeyEggMoves:
if !_CRYSTAL
db STEEL_WING
endc
- db $ff
+ db -1 ; end
RattataEggMoves:
db SCREECH
@@ -62,7 +62,7 @@ RattataEggMoves:
db BITE
db COUNTER
db REVERSAL
- db $ff
+ db -1 ; end
SpearowEggMoves:
db FAINT_ATTACK
@@ -70,7 +70,7 @@ SpearowEggMoves:
db SCARY_FACE
db QUICK_ATTACK
db TRI_ATTACK
- db $ff
+ db -1 ; end
EkansEggMoves:
db PURSUIT
@@ -80,7 +80,7 @@ EkansEggMoves:
if _CRYSTAL
db CRUNCH
endc
- db $ff
+ db -1 ; end
SandshrewEggMoves:
db FLAIL
@@ -90,7 +90,7 @@ SandshrewEggMoves:
if _CRYSTAL
db METAL_CLAW
endc
- db $ff
+ db -1 ; end
NidoranFEggMoves:
db SUPERSONIC
@@ -100,7 +100,7 @@ NidoranFEggMoves:
db CHARM
db COUNTER
db BEAT_UP
- db $ff
+ db -1 ; end
NidoranMEggMoves:
db SUPERSONIC
@@ -110,7 +110,7 @@ NidoranMEggMoves:
db AMNESIA
db COUNTER
db BEAT_UP
- db $ff
+ db -1 ; end
VulpixEggMoves:
db FAINT_ATTACK
@@ -118,7 +118,7 @@ VulpixEggMoves:
db FLAIL
db SPITE
db DISABLE
- db $ff
+ db -1 ; end
ZubatEggMoves:
db QUICK_ATTACK
@@ -126,7 +126,7 @@ ZubatEggMoves:
db FAINT_ATTACK
db GUST
db WHIRLWIND
- db $ff
+ db -1 ; end
OddishEggMoves:
db SWORDS_DANCE
@@ -136,7 +136,7 @@ OddishEggMoves:
if !_CRYSTAL
db CHARM
endc
- db $ff
+ db -1 ; end
ParasEggMoves:
db FALSE_SWIPE
@@ -149,13 +149,13 @@ if !_CRYSTAL
endc
db LIGHT_SCREEN
db PURSUIT
- db $ff
+ db -1 ; end
VenonatEggMoves:
db BATON_PASS
db SCREECH
db GIGA_DRAIN
- db $ff
+ db -1 ; end
DiglettEggMoves:
db FAINT_ATTACK
@@ -163,14 +163,14 @@ DiglettEggMoves:
db ANCIENTPOWER
db PURSUIT
db BEAT_UP
- db $ff
+ db -1 ; end
MeowthEggMoves:
db SPITE
db CHARM
db HYPNOSIS
db AMNESIA
- db $ff
+ db -1 ; end
PsyduckEggMoves:
db ICE_BEAM
@@ -183,7 +183,7 @@ PsyduckEggMoves:
if _CRYSTAL
db CROSS_CHOP
endc
- db $ff
+ db -1 ; end
MankeyEggMoves:
db ROCK_SLIDE
@@ -192,7 +192,7 @@ MankeyEggMoves:
db COUNTER
db REVERSAL
db BEAT_UP
- db $ff
+ db -1 ; end
GrowlitheEggMoves:
db BODY_SLAM
@@ -200,7 +200,7 @@ GrowlitheEggMoves:
db CRUNCH
db THRASH
db FIRE_SPIN
- db $ff
+ db -1 ; end
PoliwagEggMoves:
db MIST
@@ -208,20 +208,20 @@ PoliwagEggMoves:
db BUBBLEBEAM
db HAZE
db MIND_READER
- db $ff
+ db -1 ; end
AbraEggMoves:
db LIGHT_SCREEN
db ENCORE
db BARRIER
- db $ff
+ db -1 ; end
MachopEggMoves:
db LIGHT_SCREEN
db MEDITATE
db ROLLING_KICK
db ENCORE
- db $ff
+ db -1 ; end
BellsproutEggMoves:
db SWORDS_DANCE
@@ -229,7 +229,7 @@ BellsproutEggMoves:
db REFLECT
db SYNTHESIS
db LEECH_LIFE
- db $ff
+ db -1 ; end
TentacoolEggMoves:
db AURORA_BEAM
@@ -237,12 +237,12 @@ TentacoolEggMoves:
db RAPID_SPIN
db HAZE
db SAFEGUARD
- db $ff
+ db -1 ; end
GeodudeEggMoves:
db MEGA_PUNCH
db ROCK_SLIDE
- db $ff
+ db -1 ; end
PonytaEggMoves:
db FLAME_WHEEL
@@ -251,14 +251,14 @@ PonytaEggMoves:
db HYPNOSIS
db CHARM
db QUICK_ATTACK
- db $ff
+ db -1 ; end
SlowpokeEggMoves:
db SAFEGUARD
db BELLY_DRUM
db FUTURE_SIGHT
db STOMP
- db $ff
+ db -1 ; end
FarfetchDEggMoves:
if !_CRYSTAL
@@ -269,7 +269,7 @@ endc
db GUST
db QUICK_ATTACK
db FLAIL
- db $ff
+ db -1 ; end
DoduoEggMoves:
db QUICK_ATTACK
@@ -277,7 +277,7 @@ DoduoEggMoves:
db HAZE
db FAINT_ATTACK
db FLAIL
- db $ff
+ db -1 ; end
SeelEggMoves:
db LICK
@@ -286,13 +286,13 @@ SeelEggMoves:
db PECK
db SLAM
db ENCORE
- db $ff
+ db -1 ; end
GrimerEggMoves:
db HAZE
db MEAN_LOOK
db LICK
- db $ff
+ db -1 ; end
ShellderEggMoves:
db BUBBLEBEAM
@@ -300,23 +300,23 @@ ShellderEggMoves:
db BARRIER
db RAPID_SPIN
db SCREECH
- db $ff
+ db -1 ; end
GastlyEggMoves:
db PSYWAVE
db PERISH_SONG
db HAZE
- db $ff
+ db -1 ; end
OnixEggMoves:
db ROCK_SLIDE
db FLAIL
- db $ff
+ db -1 ; end
DrowzeeEggMoves:
db LIGHT_SCREEN
db BARRIER
- db $ff
+ db -1 ; end
KrabbyEggMoves:
db DIG
@@ -324,7 +324,7 @@ KrabbyEggMoves:
db AMNESIA
db FLAIL
db SLAM
- db $ff
+ db -1 ; end
ExeggcuteEggMoves:
db SYNTHESIS
@@ -332,7 +332,7 @@ ExeggcuteEggMoves:
db REFLECT
db MEGA_DRAIN
db ANCIENTPOWER
- db $ff
+ db -1 ; end
CuboneEggMoves:
db ROCK_SLIDE
@@ -344,13 +344,13 @@ CuboneEggMoves:
if _CRYSTAL
db SWORDS_DANCE
endc
- db $ff
+ db -1 ; end
LickitungEggMoves:
db BELLY_DRUM
db MAGNITUDE
db BODY_SLAM
- db $ff
+ db -1 ; end
KoffingEggMoves:
db SCREECH
@@ -358,7 +358,7 @@ KoffingEggMoves:
db PSYBEAM
db DESTINY_BOND
db PAIN_SPLIT
- db $ff
+ db -1 ; end
RhyhornEggMoves:
db CRUNCH
@@ -368,13 +368,13 @@ RhyhornEggMoves:
db PURSUIT
db COUNTER
db MAGNITUDE
- db $ff
+ db -1 ; end
ChanseyEggMoves:
db PRESENT
db METRONOME
db HEAL_BELL
- db $ff
+ db -1 ; end
TangelaEggMoves:
db FLAIL
@@ -382,7 +382,7 @@ TangelaEggMoves:
db MEGA_DRAIN
db REFLECT
db AMNESIA
- db $ff
+ db -1 ; end
KangaskhanEggMoves:
db STOMP
@@ -390,7 +390,7 @@ KangaskhanEggMoves:
db FOCUS_ENERGY
db SAFEGUARD
db DISABLE
- db $ff
+ db -1 ; end
HorseaEggMoves:
db FLAIL
@@ -399,27 +399,27 @@ HorseaEggMoves:
db DISABLE
db SPLASH
db DRAGON_RAGE
- db $ff
+ db -1 ; end
GoldeenEggMoves:
db PSYBEAM
db HAZE
db HYDRO_PUMP
- db $ff
+ db -1 ; end
if !_CRYSTAL
StaryuEggMoves:
db AURORA_BEAM
db BARRIER
db SUPERSONIC
- db $ff
+ db -1 ; end
endc
MrMimeEggMoves:
db FUTURE_SIGHT
db HYPNOSIS
db MIMIC
- db $ff
+ db -1 ; end
ScytherEggMoves:
db COUNTER
@@ -428,22 +428,22 @@ ScytherEggMoves:
db RAZOR_WIND
db REVERSAL
db LIGHT_SCREEN
- db $ff
+ db -1 ; end
PinsirEggMoves:
db FURY_ATTACK
db FLAIL
- db $ff
+ db -1 ; end
LaprasEggMoves:
db AURORA_BEAM
db FORESIGHT
- db $ff
+ db -1 ; end
EeveeEggMoves:
db FLAIL
db CHARM
- db $ff
+ db -1 ; end
OmanyteEggMoves:
db BUBBLEBEAM
@@ -451,7 +451,7 @@ OmanyteEggMoves:
db SLAM
db SUPERSONIC
db HAZE
- db $ff
+ db -1 ; end
KabutoEggMoves:
db BUBBLEBEAM
@@ -459,7 +459,7 @@ KabutoEggMoves:
db RAPID_SPIN
db DIG
db FLAIL
- db $ff
+ db -1 ; end
AerodactylEggMoves:
db WHIRLWIND
@@ -468,21 +468,21 @@ AerodactylEggMoves:
if !_CRYSTAL
db STEEL_WING
endc
- db $ff
+ db -1 ; end
SnorlaxEggMoves:
db LICK
if !_CRYSTAL
db CHARM
endc
- db $ff
+ db -1 ; end
DratiniEggMoves:
db LIGHT_SCREEN
db MIST
db HAZE
db SUPERSONIC
- db $ff
+ db -1 ; end
ChikoritaEggMoves:
db VINE_WHIP
@@ -491,7 +491,7 @@ ChikoritaEggMoves:
db ANCIENTPOWER
db FLAIL
db SWORDS_DANCE
- db $ff
+ db -1 ; end
CyndaquilEggMoves:
db FURY_SWIPES
@@ -502,7 +502,7 @@ CyndaquilEggMoves:
if _CRYSTAL
db SUBMISSION
endc
- db $ff
+ db -1 ; end
TotodileEggMoves:
db CRUNCH
@@ -511,7 +511,7 @@ TotodileEggMoves:
db ANCIENTPOWER
db RAZOR_WIND
db ROCK_SLIDE
- db $ff
+ db -1 ; end
SentretEggMoves:
db DOUBLE_EDGE
@@ -519,7 +519,7 @@ SentretEggMoves:
db SLASH
db FOCUS_ENERGY
db REVERSAL
- db $ff
+ db -1 ; end
HoothootEggMoves:
db MIRROR_MOVE
@@ -530,13 +530,13 @@ HoothootEggMoves:
if _CRYSTAL
db SKY_ATTACK
endc
- db $ff
+ db -1 ; end
LedybaEggMoves:
db PSYBEAM
db BIDE
db LIGHT_SCREEN
- db $ff
+ db -1 ; end
SpinarakEggMoves:
db PSYBEAM
@@ -544,13 +544,13 @@ SpinarakEggMoves:
db SONICBOOM
db BATON_PASS
db PURSUIT
- db $ff
+ db -1 ; end
ChinchouEggMoves:
db FLAIL
db SUPERSONIC
db SCREECH
- db $ff
+ db -1 ; end
PichuEggMoves:
db REVERSAL
@@ -558,7 +558,7 @@ PichuEggMoves:
db PRESENT
db ENCORE
db DOUBLESLAP
- db $ff
+ db -1 ; end
CleffaEggMoves:
db PRESENT
@@ -567,13 +567,13 @@ CleffaEggMoves:
db BELLY_DRUM
db SPLASH
db MIMIC
- db $ff
+ db -1 ; end
IgglybuffEggMoves:
db PERISH_SONG
db PRESENT
db FAINT_ATTACK
- db $ff
+ db -1 ; end
TogepiEggMoves:
db PRESENT
@@ -581,7 +581,7 @@ TogepiEggMoves:
db PECK
db FORESIGHT
db FUTURE_SIGHT
- db $ff
+ db -1 ; end
NatuEggMoves:
db HAZE
@@ -589,7 +589,7 @@ NatuEggMoves:
db QUICK_ATTACK
db FAINT_ATTACK
db STEEL_WING
- db $ff
+ db -1 ; end
MareepEggMoves:
db THUNDERBOLT
@@ -598,7 +598,7 @@ MareepEggMoves:
db SAFEGUARD
db SCREECH
db REFLECT
- db $ff
+ db -1 ; end
MarillEggMoves:
db LIGHT_SCREEN
@@ -609,11 +609,11 @@ MarillEggMoves:
db PERISH_SONG
db SUPERSONIC
db FORESIGHT
- db $ff
+ db -1 ; end
SudowoodoEggMoves:
db SELFDESTRUCT
- db $ff
+ db -1 ; end
HoppipEggMoves:
db CONFUSION
@@ -623,7 +623,7 @@ HoppipEggMoves:
db REFLECT
db AMNESIA
db PAY_DAY
- db $ff
+ db -1 ; end
AipomEggMoves:
db COUNTER
@@ -634,19 +634,19 @@ AipomEggMoves:
db SLAM
db DOUBLESLAP
db BEAT_UP
- db $ff
+ db -1 ; end
YanmaEggMoves:
db WHIRLWIND
db REVERSAL
db LEECH_LIFE
- db $ff
+ db -1 ; end
WooperEggMoves:
db BODY_SLAM
db ANCIENTPOWER
db SAFEGUARD
- db $ff
+ db -1 ; end
MurkrowEggMoves:
db WHIRLWIND
@@ -657,12 +657,12 @@ MurkrowEggMoves:
if _CRYSTAL
db SKY_ATTACK
endc
- db $ff
+ db -1 ; end
MisdreavusEggMoves:
db SCREECH
db DESTINY_BOND
- db $ff
+ db -1 ; end
GirafarigEggMoves:
db TAKE_DOWN
@@ -670,14 +670,14 @@ GirafarigEggMoves:
db FORESIGHT
db FUTURE_SIGHT
db BEAT_UP
- db $ff
+ db -1 ; end
PinecoEggMoves:
db REFLECT
db PIN_MISSILE
db FLAIL
db SWIFT
- db $ff
+ db -1 ; end
DunsparceEggMoves:
db BIDE
@@ -685,14 +685,14 @@ DunsparceEggMoves:
db ROCK_SLIDE
db BITE
db RAGE
- db $ff
+ db -1 ; end
GligarEggMoves:
db METAL_CLAW
db WING_ATTACK
db RAZOR_WIND
db COUNTER
- db $ff
+ db -1 ; end
SnubbullEggMoves:
db METRONOME
@@ -703,24 +703,24 @@ SnubbullEggMoves:
db HEAL_BELL
db LICK
db LEER
- db $ff
+ db -1 ; end
QwilfishEggMoves:
db FLAIL
db HAZE
db BUBBLEBEAM
db SUPERSONIC
- db $ff
+ db -1 ; end
ShuckleEggMoves:
db SWEET_SCENT
- db $ff
+ db -1 ; end
HeracrossEggMoves:
db HARDEN
db BIDE
db FLAIL
- db $ff
+ db -1 ; end
SneaselEggMoves:
db COUNTER
@@ -728,7 +728,7 @@ SneaselEggMoves:
db FORESIGHT
db REFLECT
db BITE
- db $ff
+ db -1 ; end
TeddiursaEggMoves:
db CRUNCH
@@ -739,11 +739,11 @@ TeddiursaEggMoves:
if _CRYSTAL
db METAL_CLAW
endc
- db $ff
+ db -1 ; end
SlugmaEggMoves:
db ACID_ARMOR
- db $ff
+ db -1 ; end
SwinubEggMoves:
db TAKE_DOWN
@@ -751,7 +751,7 @@ SwinubEggMoves:
db BODY_SLAM
db ROCK_SLIDE
db ANCIENTPOWER
- db $ff
+ db -1 ; end
CorsolaEggMoves:
db ROCK_SLIDE
@@ -759,7 +759,7 @@ CorsolaEggMoves:
db SCREECH
db MIST
db AMNESIA
- db $ff
+ db -1 ; end
RemoraidEggMoves:
db AURORA_BEAM
@@ -767,7 +767,7 @@ RemoraidEggMoves:
db SUPERSONIC
db HAZE
db SCREECH
- db $ff
+ db -1 ; end
DelibirdEggMoves:
db AURORA_BEAM
@@ -775,14 +775,14 @@ DelibirdEggMoves:
db FUTURE_SIGHT
db SPLASH
db RAPID_SPIN
- db $ff
+ db -1 ; end
MantineEggMoves:
db TWISTER
db HYDRO_PUMP
db HAZE
db SLAM
- db $ff
+ db -1 ; end
SkarmoryEggMoves:
db DRILL_PECK
@@ -791,7 +791,7 @@ SkarmoryEggMoves:
if _CRYSTAL
db SKY_ATTACK
endc
- db $ff
+ db -1 ; end
HoundourEggMoves:
db FIRE_SPIN
@@ -801,7 +801,7 @@ HoundourEggMoves:
db SPITE
db REVERSAL
db BEAT_UP
- db $ff
+ db -1 ; end
PhanpyEggMoves:
db FOCUS_ENERGY
@@ -810,7 +810,7 @@ PhanpyEggMoves:
if _CRYSTAL
db WATER_GUN
endc
- db $ff
+ db -1 ; end
StantlerEggMoves:
db REFLECT
@@ -818,21 +818,21 @@ StantlerEggMoves:
db DISABLE
db LIGHT_SCREEN
db BITE
- db $ff
+ db -1 ; end
TyrogueEggMoves:
db RAPID_SPIN
db HI_JUMP_KICK
db MACH_PUNCH
db MIND_READER
- db $ff
+ db -1 ; end
SmoochumEggMoves:
if !_CRYSTAL
db LOVELY_KISS
endc
db MEDITATE
- db $ff
+ db -1 ; end
ElekidEggMoves:
db KARATE_CHOP
@@ -842,7 +842,7 @@ ElekidEggMoves:
if _CRYSTAL
db CROSS_CHOP
endc
- db $ff
+ db -1 ; end
MagbyEggMoves:
db KARATE_CHOP
@@ -852,13 +852,13 @@ MagbyEggMoves:
if _CRYSTAL
db CROSS_CHOP
endc
- db $ff
+ db -1 ; end
MiltankEggMoves:
db PRESENT
db REVERSAL
db SEISMIC_TOSS
- db $ff
+ db -1 ; end
LarvitarEggMoves:
db PURSUIT
@@ -866,7 +866,7 @@ LarvitarEggMoves:
db OUTRAGE
db FOCUS_ENERGY
db ANCIENTPOWER
- db $ff
+ db -1 ; end
NoEggMoves:
- db $ff
+ db -1 ; end
diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm
index f21febf87..2649bb7a1 100644
--- a/data/pokemon/evos_attacks.asm
+++ b/data/pokemon/evos_attacks.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Evolutions and Attacks", ROMX
diff --git a/data/pokemon/ezchat_order.asm b/data/pokemon/ezchat_order.asm
new file mode 100644
index 000000000..8cb860028
--- /dev/null
+++ b/data/pokemon/ezchat_order.asm
@@ -0,0 +1,96 @@
+; Every Pokémon sorted by their Japanese names in gojūon order.
+; Notably, Rhydon is missing (it should be before Rhyhorn).
+
+EZChat_SortedPokemon:
+ dw .a
+ dw .i
+ dw .u
+ dw .e
+ dw .o
+ dw .ka_ga
+ dw .ki_gi
+ dw .ku_gu
+ dw .ke_ge
+ dw .ko_go
+ dw .sa_za
+ dw .shi_ji
+ dw .su_zu
+ dw .se_ze
+ dw .so_zo
+ dw .ta_da
+ dw .chi_dhi
+ dw .tsu_du
+ dw .te_de
+ dw .to_do
+ dw .na
+ dw .ni
+ dw .nu
+ dw .ne
+ dw .no
+ dw .ha_ba_pa
+ dw .hi_bi_pi
+ dw .fu_bu_pu
+ dw .he_be_pe
+ dw .ho_bo_po
+ dw .ma
+ dw .mi
+ dw .mu
+ dw .me
+ dw .mo
+ dw .ya
+ dw .yu
+ dw .yo
+ dw .ra
+ dw .ri
+ dw .ru
+ dw .re
+ dw .ro
+ dw .wa
+ dw .end
+
+.a: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, -1
+.i: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, -1
+.u: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, -1
+.e: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, -1
+.o: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, -1
+.ka_ga: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, -1
+.ki_gi: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, -1
+.ku_gu: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, -1
+.ke_ge: db ABRA, GENGAR, TAUROS, -1
+.ko_go: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, -1
+.sa_za: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, -1 ; RHYDON should lead this list
+.shi_ji: db SEADRA, SHELLDER, VAPOREON, DEWGONG, -1
+.su_zu: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, -1
+.se_ze: db SQUIRTLE, CELEBI, -1
+.so_zo: db WOBBUFFET, -1
+.ta_da: db DUGTRIO, HORSEA, EXEGGCUTE, -1
+.chi_dhi: db CHIKORITA, CHINCHOU, -1
+.tsu_du: db SHUCKLE, -1
+.te_de: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, -1
+.to_do: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, -1
+.na: db ODDISH, EXEGGUTOR, -1
+.ni: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, -1
+.nu: db QUAGSIRE, -1
+.ne: db NATU, XATU, -1
+.no: db DUNSPARCE, -1
+.ha_ba_pa: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, -1
+.hi_bi_pi: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, -1
+.fu_bu_pu: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, -1
+.he_be_pe: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, -1
+.ho_bo_po: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, -1
+.ma: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, -1
+.mi: db DRATINI, MEW, MEWTWO, MILTANK, -1
+.mu: db MISDREAVUS, SMOOCHUM, -1
+.me: db MEGANIUM, DITTO, TENTACOOL, MAREEP, -1
+.mo: db FLAAFFY, VENOMOTH, TANGELA, -1
+.ya: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, -1
+.yu: db KADABRA, -1
+.yo: db LARVITAR, NOCTOWL, -1
+.ra: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, -1
+.ri: db CHARMELEON, CHARIZARD, URSARING, -1
+.ru: db JYNX, LUGIA, -1
+.re: db MAGNETON, LEDIAN, LEDYBA, -1
+.ro: db VULPIX, -1
+.wa: db JUMPLUFF, TOTODILE, MACHOP ;, -1
+.end: db -1
+; 11d67e
diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm
index 2e47bbdaf..ec2cc3c0b 100644
--- a/data/pokemon/palettes.asm
+++ b/data/pokemon/palettes.asm
@@ -518,12 +518,8 @@ INCLUDE "gfx/pokemon/celebi/shiny.pal"
RGB 30, 26, 11
RGB 23, 16, 00
-; Egg
- RGB 30, 26, 11
- RGB 23, 16, 00
-; Egg shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
+INCLUDE "gfx/pokemon/egg/normal.pal"
+INCLUDE "gfx/pokemon/egg/shiny.pal"
; 254
RGB 30, 26, 11
diff --git a/data/pokemon/pic_pointers.asm b/data/pokemon/pic_pointers.asm
index cca5c3b9c..c45a9837e 100644
--- a/data/pokemon/pic_pointers.asm
+++ b/data/pokemon/pic_pointers.asm
@@ -1,3 +1,5 @@
+; Pics are defined in gfx/pics.asm
+
PokemonPicPointers::
; entries correspond to Pokémon species, two apiece
dba_pic BulbasaurFrontpic
diff --git a/data/time_capsule/special_stats.asm b/data/pokemon/rby_base_special.asm
index 9998692ab..9998692ab 100644
--- a/data/time_capsule/special_stats.asm
+++ b/data/pokemon/rby_base_special.asm
diff --git a/data/time_capsule/mon_order.asm b/data/pokemon/rby_order.asm
index e40ba0273..e40ba0273 100644
--- a/data/time_capsule/mon_order.asm
+++ b/data/pokemon/rby_order.asm
diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm
new file mode 100644
index 000000000..16281d035
--- /dev/null
+++ b/data/predef_pointers.asm
@@ -0,0 +1,85 @@
+; Predef routines can be used with the "predef" and "predef_jump" macros.
+; This preserves registers bc, de, hl and f.
+
+add_predef: MACRO
+\1Predef::
+ dab \1
+ENDM
+
+PredefPointers:: ; 856b
+ add_predef LearnMove ; $0
+ add_predef DummyPredef1
+ add_predef HealParty ; this is both a special and a predef
+ add_predef SmallFarFlagAction
+ add_predef ComputeHPBarPixels
+ add_predef FillPP
+ add_predef TryAddMonToParty
+ add_predef AddTempmonToParty
+ add_predef SendGetPkmnIntoFromBox
+ add_predef SendPkmnIntoBox
+ add_predef GiveEgg
+ add_predef AnimateHPBar
+ add_predef CalcPkmnStats
+ add_predef CalcPkmnStatC
+ add_predef CanLearnTMHMMove
+ add_predef GetTMHMMove
+ add_predef LinkTextboxAtHL ; $ 10
+ add_predef PrintMoveDesc
+ add_predef UpdatePlayerHUD
+ add_predef PlaceGraphic
+ add_predef CheckPlayerPartyForFitPkmn
+ add_predef UpdateEnemyHUD
+ add_predef StartBattle
+ add_predef FillInExpBar
+ add_predef GetBattleMonBackpic ; $18
+ add_predef GetEnemyMonFrontpic
+ add_predef LearnLevelMoves
+ add_predef FillMoves
+ add_predef EvolveAfterBattle
+ add_predef TradeAnimationPlayer2
+ add_predef TradeAnimation
+ add_predef CopyPkmnToTempMon
+ add_predef ListMoves ; $20
+ add_predef PlaceNonFaintStatus
+ add_predef Unused_PlaceEnemyHPLevel
+ add_predef ListMovePP
+ add_predef GetGender
+ add_predef StatsScreenInit
+ add_predef DrawPlayerHP
+ add_predef DrawEnemyHP
+ add_predef PrintTempMonStats ; $28
+ add_predef GetTypeName
+ add_predef PrintMoveType
+ add_predef PrintType
+ add_predef PrintMonTypes
+ add_predef GetUnownLetter
+ add_predef LoadPoisonBGPals
+ add_predef DummyPredef2F
+ add_predef InitSGBBorder ; $30
+ add_predef LoadSGBLayout
+ add_predef Pokedex_GetArea
+ add_predef Unused_CheckContestMon
+ add_predef DoBattleTransition
+ add_predef DummyPredef35
+ add_predef DummyPredef36
+ add_predef PlayBattleAnim
+ add_predef DummyPredef38 ; $38
+ add_predef DummyPredef39
+ add_predef DummyPredef3A
+ add_predef PartyMonItemName
+ add_predef GetMonFrontpic
+ add_predef GetMonBackpic
+ add_predef GetAnimatedFrontpic
+ add_predef GetTrainerPic
+ add_predef DecompressGet2bpp ; $40
+ add_predef CheckTypeMatchup
+ add_predef ConvertMon_1to2
+ add_predef NewPokedexEntry
+ add_predef Unused_AnimateMon_Slow_Normal
+ add_predef PlaceStatusString
+ add_predef LoadMonAnimation
+ add_predef AnimateFrontpic
+ add_predef Unused_HOF_AnimateAlignedFrontpic ; $48
+ add_predef HOF_AnimateFrontpic
+ dbw -1, InexplicablyEmptyFunction ; ???
+; 864c
diff --git a/data/radio/buenas_passwords.asm b/data/radio/buenas_passwords.asm
new file mode 100644
index 000000000..85e1b951b
--- /dev/null
+++ b/data/radio/buenas_passwords.asm
@@ -0,0 +1,26 @@
+BuenasPasswordTable:
+; there are NUM_PASSWORD_CATEGORIES entries
+ dw .JohtoStarters
+ dw .Beverages
+ dw .HealingItems
+ dw .Balls
+ dw .Pokemon1
+ dw .Pokemon2
+ dw .JohtoTowns
+ dw .Types
+ dw .Moves
+ dw .XItems
+ dw .RadioStations
+
+ ; string type, points, option 1, option 2, option 3
+.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA
+.Beverages: db BUENA_ITEM, 12, FRESH_WATER, SODA_POP, LEMONADE
+.HealingItems: db BUENA_ITEM, 12, POTION, ANTIDOTE, PARLYZ_HEAL
+.Balls: db BUENA_ITEM, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL
+.Pokemon1: db BUENA_MON, 10, PIKACHU, RATTATA, GEODUDE
+.Pokemon2: db BUENA_MON, 10, HOOTHOOT, SPINARAK, DROWZEE
+.JohtoTowns: db BUENA_STRING, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@"
+.Types: db BUENA_STRING, 6, "FLYING@", "BUG@", "GRASS@"
+.Moves: db BUENA_MOVE, 12, TACKLE, GROWL, MUD_SLAP
+.XItems: db BUENA_ITEM, 12, X_ATTACK, X_DEFEND, X_SPEED
+.RadioStations: db BUENA_STRING, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@"
diff --git a/data/radio/channel_music.asm b/data/radio/channel_music.asm
new file mode 100644
index 000000000..62504ed11
--- /dev/null
+++ b/data/radio/channel_music.asm
@@ -0,0 +1,13 @@
+RadioChannelSongs:
+; entries correspond to radio channel ids
+ dw MUSIC_POKEMON_TALK
+ dw MUSIC_POKEMON_CENTER
+ dw MUSIC_TITLE
+ dw MUSIC_GAME_CORNER
+ dw MUSIC_BUENAS_PASSWORD
+ dw MUSIC_VIRIDIAN_CITY
+ dw MUSIC_BICYCLE
+ dw MUSIC_ROCKET_OVERTURE
+ dw MUSIC_POKE_FLUTE_CHANNEL
+ dw MUSIC_RUINS_OF_ALPH_RADIO
+ dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
diff --git a/data/radio/oaks_pkmn_talk_routes.asm b/data/radio/oaks_pkmn_talk_routes.asm
new file mode 100644
index 000000000..ad7b6529d
--- /dev/null
+++ b/data/radio/oaks_pkmn_talk_routes.asm
@@ -0,0 +1,19 @@
+; Oak's Pokémon Talk will list wild Pokémon on these maps.
+
+OaksPkmnTalkRoutes:
+ map ROUTE_29
+ map ROUTE_46
+ map ROUTE_30
+ map ROUTE_32
+ map ROUTE_34
+ map ROUTE_35
+ map ROUTE_37
+ map ROUTE_38
+ map ROUTE_39
+ map ROUTE_42
+ map ROUTE_43
+ map ROUTE_44
+ map ROUTE_45
+ map ROUTE_36
+ map ROUTE_31
+OaksPkmnTalkRoutesEnd
diff --git a/data/radio/pnp_hidden_people.asm b/data/radio/pnp_hidden_people.asm
new file mode 100644
index 000000000..5eb178572
--- /dev/null
+++ b/data/radio/pnp_hidden_people.asm
@@ -0,0 +1,26 @@
+; Places and People will not describe these trainers.
+
+PnP_HiddenPeople:
+ db WILL
+ db BRUNO
+ db KAREN
+ db KOGA
+ db CHAMPION
+ ; fallthrough
+PnP_HiddenPeople_BeatE4:
+ db BROCK
+ db MISTY
+ db LT_SURGE
+ db ERIKA
+ db JANINE
+ db SABRINA
+ db BLAINE
+ db BLUE
+ ; fallthrough
+PnP_HiddenPeople_BeatKanto:
+ db RIVAL1
+ db POKEMON_PROF
+ db CAL
+ db RIVAL2
+ db RED
+ db -1
diff --git a/data/radio/pnp_hidden_places.asm b/data/radio/pnp_hidden_places.asm
new file mode 100644
index 000000000..4cf1987d3
--- /dev/null
+++ b/data/radio/pnp_hidden_places.asm
@@ -0,0 +1,13 @@
+; Places and People will not describe these maps.
+
+PnP_HiddenPlaces:
+ map PALLET_TOWN
+ map ROUTE_22
+ map PEWTER_CITY
+ map CERULEAN_POLICE_STATION
+ map ROUTE_12
+ map ROUTE_11
+ map ROUTE_16
+ map ROUTE_14
+ map CINNABAR_POKECENTER_2F_BETA
+PnP_HiddenPlacesEnd
diff --git a/data/sgb_border_map.asm b/data/sgb_border_map.asm
deleted file mode 100644
index 18e6c7740..000000000
--- a/data/sgb_border_map.asm
+++ /dev/null
@@ -1,29 +0,0 @@
-SGBBorderMap:
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
- db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $54, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54
- db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54
- db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $08, $14, $09, $14, $0a, $14, $0b, $14, $0c, $14, $0d, $14, $07, $14, $07, $14, $18, $14, $09, $14, $1a, $14, $1b, $14, $0d, $14, $0c, $14, $1c, $14, $29, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54
- db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $36, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $27, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54
- db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $1f, $10, $37, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54
- db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $1f, $10, $37, $10, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54
- db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $1f, $10, $37, $10, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54
- db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $1f, $10, $37, $10, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
- db $02, $54, $01, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14
- db $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14
- db $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14
- db $32, $54, $31, $54, $30, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $30, $14, $31, $14, $32, $14
- db $06, $54, $05, $54, $04, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $04, $14, $05, $14, $06, $14
- db $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14
- db $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14
- db $34, $54, $33, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $33, $14, $34, $14
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
- db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $1f, $10, $37, $10, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54
- db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $1f, $10, $37, $10, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54
- db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $1f, $10, $37, $10, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54
- db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $1f, $10, $37, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54
- db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $2e, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2d, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54
- db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $39, $14, $0e, $14, $09, $14, $0f, $14, $28, $14, $07, $14, $19, $14, $0c, $14, $1c, $14, $29, $14, $2a, $14, $2b, $14, $2c, $14, $39, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54
- db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54
- db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $24, $54, $07, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
diff --git a/data/sgb_ctrl_packets.asm b/data/sgb_ctrl_packets.asm
new file mode 100644
index 000000000..a8c1e25f5
--- /dev/null
+++ b/data/sgb_ctrl_packets.asm
@@ -0,0 +1,135 @@
+; macros taken from pokered's data/sgb_packets.asm
+; names taken from pandocs
+; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_Palette_Commands
+
+sgb_pal_trn: MACRO
+ db (SGB_PAL_TRN << 3) + 1
+ ds 15
+ENDM
+
+sgb_mlt_req: MACRO
+ db (SGB_MLT_REG << 3) + 1
+ db \1 - 1
+ ds 14
+ENDM
+
+sgb_chr_trn: MACRO
+ db (SGB_CHR_TRN << 3) + 1
+ db \1 + (\2 << 1)
+ ds 14
+ENDM
+
+sgb_pct_trn: MACRO
+ db (SGB_PCT_TRN << 3) + 1
+ ds 15
+ENDM
+
+sgb_mask_en: MACRO
+ db (SGB_MASK_EN << 3) + 1
+ db \1
+ ds 14
+ENDM
+
+sgb_data_snd: MACRO
+ db (SGB_DATA_SND << 3) + 1
+ dw \1 ; address
+ db \2 ; bank
+ db \3 ; length (1-11)
+ENDM
+
+
+; Crystal does not support SGB, so this is unused.
+
+PalTrnPacket: sgb_pal_trn
+MltReq1Packet: sgb_mlt_req 1
+MltReq2Packet: sgb_mlt_req 2
+ChrTrnPacket: sgb_chr_trn 0, 0
+PctTrnPacket: sgb_pct_trn
+
+MaskEnFreezePacket: sgb_mask_en 1
+MaskEnCancelPacket: sgb_mask_en 0
+
+
+; These are packets containing SNES code.
+; This set of packets is found in several Japanese SGB-compatible titles.
+; It appears to be part of NCL's SGB devkit.
+
+DataSndPacket1:
+ sgb_data_snd $085d, $0, 11
+ db $8c ; cpx #$8c (2)
+ db $d0, $f4 ; bne -$0c
+ db $60 ; rts
+ ds 7
+
+DataSndPacket2:
+ sgb_data_snd $0852, $0, 11
+ db $a9, $e7 ; lda #$e7
+ db $9f, $01, $c0, $7e ; sta $7ec001, x
+ db $e8 ; inx
+ db $e8 ; inx
+ db $e8 ; inx
+ db $e8 ; inx
+ db $e0 ; cpx #$8c (1)
+
+DataSndPacket3:
+ sgb_data_snd $0847, $0, 11
+ db $c4 ; cmp #$c4 (2)
+ db $d0, $16 ; bne +$16
+ db $a5 ; lda dp
+ db $cb ; wai
+ db $c9, $05 ; cmp #$05
+ db $d0, $10 ; bne +$10
+ db $a2, $28 ; ldx #$28
+
+DataSndPacket4:
+ sgb_data_snd $083c, $0, 11
+ db $f0, $12 ; beq +$12
+ db $a5 ; lda dp
+ db $c9, $c9 ; cmp #$c9
+ db $c8 ; iny
+ db $d0, $1c ; bne +$1c
+ db $a5 ; lda dp
+ db $ca ; dex
+ db $c9 ; cmp #$c4 (1)
+
+DataSndPacket5:
+ sgb_data_snd $0831, $0, 11
+ dbw $0c, $caa5 ; tsb $caa5
+ db $c9, $7e ; cmp #$7e
+ db $d0, $06 ; bne +$06
+ db $a5 ; lda dp
+ db $cb ; wai
+ db $c9, $7e ; cmp #$7e
+
+DataSndPacket6:
+ sgb_data_snd $0826, $0, 11
+ db $39 ; bne +$39 (2)
+ dbw $cd, $0c48 ; cmp $0c48
+ db $d0, $34 ; bne +$34
+ db $a5 ; lda dp
+ db $c9, $c9 ; cmp #$c9
+ db $80, $d0 ; bra -$30
+
+DataSndPacket7:
+ sgb_data_snd $081b, $0, 11
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ ; $0820:
+ db $a9, $01 ; lda #01
+ dbw $cd, $0c4f ; cmp $c4f
+ db $d0 ; bne +$39 (1)
+
+DataSndPacket8:
+ sgb_data_snd $0810, $0, 11
+ dbw $4c, $0820 ; jmp $0820
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $60 ; rts
+ db $ea ; nop
+ db $ea ; nop
diff --git a/data/special_pointers.asm b/data/special_pointers.asm
new file mode 100644
index 000000000..6320838fc
--- /dev/null
+++ b/data/special_pointers.asm
@@ -0,0 +1,185 @@
+; Special routines can be used with the "special" map script command.
+; They often use ScriptVar for arguments and return values.
+
+add_special: MACRO
+\1Special::
+ dba \1
+ENDM
+
+SpecialsPointers:: ; c029
+ add_special Special_WarpToSpawnPoint
+
+; Communications
+ add_special Special_SetBitsForLinkTradeRequest
+ add_special Special_WaitForLinkedFriend
+ add_special Special_CheckLinkTimeout
+ add_special Special_TryQuickSave
+ add_special Special_CheckBothSelectedSameRoom
+ add_special Special_FailedLinkToPast
+ add_special Special_CloseLink
+ add_special Special_WaitForOtherPlayerToExit
+ add_special Special_SetBitsForBattleRequest
+ add_special Special_SetBitsForTimeCapsuleRequest
+ add_special Special_CheckTimeCapsuleCompatibility
+ add_special Special_EnterTimeCapsule
+ add_special Special_TradeCenter
+ add_special Special_Colosseum
+ add_special Special_TimeCapsule
+ add_special Special_CableClubCheckWhichChris
+ add_special Special_CheckMysteryGift
+ add_special Special_GetMysteryGiftItem
+ add_special Special_UnlockMysteryGift
+
+; Map Events
+ add_special Special_BugContestJudging
+ add_special Special_CheckPartyFullAfterContest
+ add_special Special_ContestDropOffMons
+ add_special Special_ContestReturnMons
+ add_special Special_GiveParkBalls
+ add_special Special_CheckMagikarpLength
+ add_special Special_MagikarpHouseSign
+ add_special HealParty ; this is both a special and a predef
+ add_special Special_PokemonCenterPC
+ add_special Special_KrissHousePC
+ add_special Special_DayCareMan
+ add_special Special_DayCareLady
+ add_special Special_DayCareManOutside
+ add_special Special_MoveDeletion
+ add_special Special_BankOfMom
+ add_special Special_MagnetTrain
+ add_special Special_NameRival
+ add_special Special_SetDayOfWeek
+ add_special Special_TownMap
+ add_special Special_UnownPrinter
+ add_special Special_MapRadio
+ add_special Special_UnownPuzzle
+ add_special Special_SlotMachine
+ add_special Special_CardFlip
+ add_special Special_DummyNonfunctionalGameCornerGame
+ add_special Special_ClearBGPalettesBufferScreen
+ add_special Special_FadeOutPalettes
+ add_special Special_BattleTowerFade
+ add_special Special_FadeBlackQuickly
+ add_special Special_FadeInPalettes
+ add_special Special_FadeInQuickly
+ add_special ReloadSpritesNoPalettes ; bank 0
+ add_special ClearBGPalettes ; bank 0
+ add_special UpdateTimePals ; bank 0
+ add_special ClearTileMap ; bank 0
+ add_special UpdateSprites ; bank 0
+ add_special ReplaceKrisSprite ; bank 0
+ add_special Special_GameCornerPrizeMonCheckDex
+ add_special UnusedSpecial_SeenMon
+ add_special WaitSFX ; bank 0
+ add_special PlayMapMusic ; bank 0
+ add_special RestartMapMusic ; bank 0
+ add_special Special_HealMachineAnim
+ add_special Special_SurfStartStep
+ add_special Special_FindGreaterThanThatLevel
+ add_special Special_FindAtLeastThatHappy
+ add_special Special_FindThatSpecies
+ add_special Special_FindThatSpeciesYourTrainerID
+ add_special UnusedSpecial_CheckUnusedTwoDayTimer
+ add_special Special_DayCareMon1
+ add_special Special_DayCareMon2
+ add_special Special_SelectRandomBugContestContestants
+ add_special Special_ActivateFishingSwarm
+ add_special Special_ToggleMaptileDecorations
+ add_special Special_ToggleDecorationsVisibility
+ add_special Special_GiveShuckle
+ add_special Special_ReturnShuckle
+ add_special Special_BillsGrandfather
+ add_special Special_CheckPokerus
+ add_special Special_DisplayCoinCaseBalance
+ add_special Special_DisplayMoneyAndCoinBalance
+ add_special Special_PlaceMoneyTopRight
+ add_special Special_CheckForLuckyNumberWinners
+ add_special Special_CheckLuckyNumberShowFlag
+ add_special Special_ResetLuckyNumberShowFlag
+ add_special Special_PrintTodaysLuckyNumber
+ add_special Special_SelectApricornForKurt
+ add_special Special_NameRater
+ add_special Special_DisplayLinkRecord
+ add_special Special_GetFirstPokemonHappiness
+ add_special Special_CheckFirstMonIsEgg
+ add_special Special_RandomUnseenWildMon
+ add_special Special_RandomPhoneWildMon
+ add_special Special_RandomPhoneMon
+ add_special Special_LoadUsedSpritesGFX
+ add_special Special_PlaySlowCry
+ add_special Special_SnorlaxAwake
+ add_special Special_YoungerHaircutBrother
+ add_special Special_OlderHaircutBrother
+ add_special Special_DaisyMassage
+ add_special Special_PlayCurMonCry
+ add_special Special_ProfOaksPCBoot
+ add_special Special_GameboyCheck
+ add_special Special_TrainerHouse
+ add_special Special_PhotoStudio
+ add_special Special_InitRoamMons
+ add_special Special_FadeOutMusic
+ add_special Special_Diploma
+ add_special Special_PrintDiploma
+
+ ; Crystal
+ add_special Special_Function11ac3e
+ add_special Special_Function11b444
+ add_special Special_Function11b5e8
+ add_special Special_Function11b7e5
+ add_special Special_Function11b879
+ add_special Special_Function11b920
+ add_special Special_Function11b93b
+ add_special Special_BattleTowerRoomMenu
+ add_special Special_Function1700ba
+ add_special Special_Function170114
+ add_special Special_BattleTowerBattle
+ add_special UnusedSpecial_Function1704e1
+ add_special DummySpecial_17021d
+ add_special Special_LoadOpponentTrainerAndPokemonWithOTSprite
+ add_special Special_Function11ba38
+ add_special Special_CheckForBattleTowerRules
+ add_special Special_GiveOddEgg
+ add_special Reset ; bank 0
+ add_special Special_Function1011f1
+ add_special Special_Function101220
+ add_special Special_Function101225
+ add_special Special_Function101231
+ add_special Special_MoveTutor
+ add_special Special_OmanyteChamber
+ add_special Special_Function11c1ab
+ add_special Special_BattleTowerAction
+ add_special Special_DisplayUnownWords
+ add_special Special_Menu_ChallengeExplanationCancel
+ add_special Special_Function17d2b6
+ add_special Special_Function17d2ce
+ add_special Special_BattleTowerMobileError
+ add_special Special_AskMobileOrCable
+ add_special Special_HoOhChamber
+ add_special Special_Function102142
+ add_special Special_CelebiShrineEvent
+ add_special Special_CheckCaughtCelebi
+ add_special Special_PokeSeer
+ add_special Special_BuenasPassword
+ add_special Special_BuenaPrize
+ add_special Special_Dratini
+ add_special Special_SampleKenjiBreakCountdown
+ add_special Special_BeastsCheck
+ add_special Special_MonCheck
+ add_special Special_SetPlayerPalette
+ add_special DummySpecial_170bd2
+ add_special Special_Mobile_SelectThreeMons
+ add_special Special_Function1037eb
+ add_special Special_Function10383c
+ add_special Special_StubbedTrainerRankings_Healings
+ add_special Special_RefreshSprites
+ add_special Special_Function1037c2
+ add_special Special_Mobile_DummyReturnFalse
+ add_special Special_Function103780
+ add_special Special_Function10387b
+ add_special Special_AskRememberPassword
+ add_special Special_LoadMapPalettes
+ add_special UnusedSpecial_FindItemInPCOrBag
+ add_special Special_InitialSetDSTFlag
+ add_special Special_InitialClearDSTFlag
+ add_special DummySpecial_c224
+; c224
diff --git a/data/sprite_anims/framesets.asm b/data/sprite_anims/framesets.asm
index 24b058859..d768ec21a 100755
--- a/data/sprite_anims/framesets.asm
+++ b/data/sprite_anims/framesets.asm
@@ -9,7 +9,7 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_PartyMonWithItemFast
dw .Frameset_GSTitleTrail
dw .Frameset_TextEntryCursor
- dw .Frameset_09
+ dw .Frameset_TextEntryCursorBig
dw .Frameset_GameFreakLogo
dw .Frameset_GSIntroStar
dw .Frameset_GSIntroSparkle
@@ -20,7 +20,7 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_RedWalk
dw .Frameset_StillCursor
dw .Frameset_TradePokeBall
- dw .Frameset_TradePokeBall0
+ dw .Frameset_TradePokeBallWobble
dw .Frameset_TradePoof
dw .Frameset_TradeTubeBulge
dw .Frameset_TrademonIcon
@@ -28,31 +28,31 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_EvolutionBallOfLight
dw .Frameset_RadioTuningKnob
dw .Frameset_MagnetTrainRed
- dw .Frameset_1c
+ dw .Frameset_Unused1C
dw .Frameset_Leaf
dw .Frameset_CutTree
dw .Frameset_EggCrack
- dw .Frameset_EggHatch
- dw .Frameset_21
- dw .Frameset_22
- dw .Frameset_23
- dw .Frameset_24
+ dw .Frameset_EggHatch1
+ dw .Frameset_EggHatch2
+ dw .Frameset_EggHatch3
+ dw .Frameset_EggHatch4
+ dw .Frameset_GSIntroHoOh
dw .Frameset_HeadbuttTree
- dw .Frameset_26
- dw .Frameset_27
- dw .Frameset_28
- dw .Frameset_29
- dw .Frameset_2a
- dw .Frameset_2b
- dw .Frameset_2c
+ dw .Frameset_EZChatCursor1
+ dw .Frameset_EZChatCursor2
+ dw .Frameset_EZChatCursor3
+ dw .Frameset_EZChatCursor4
+ dw .Frameset_EZChatCursor5
+ dw .Frameset_EZChatCursor6
+ dw .Frameset_EZChatCursor7
dw .Frameset_BlueWalk
dw .Frameset_MagnetTrainBlue
dw .Frameset_MobileTradeSentBall
dw .Frameset_MobileTradeOTBall
- dw .Frameset_ForMobile22
- dw .Frameset_ForMobile23
- dw .Frameset_ForMobile24
- dw .Frameset_ForMobile25
+ dw .Frameset_MobileTradeCableBulge
+ dw .Frameset_MobileTradeSentPulse
+ dw .Frameset_MobileTradeOTPulse
+ dw .Frameset_MobileTradePing
dw .Frameset_IntroSuicune
dw .Frameset_IntroSuicune2
dw .Frameset_IntroPichu
@@ -133,8 +133,8 @@ SpriteAnimFrameData: ; 8d6e6
dorepeat 1
dorestart
-.Frameset_09:
- frame SPRITE_ANIM_OAMSET_FOR_FRAMESET_09, 1
+.Frameset_TextEntryCursorBig:
+ frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG, 1
dorepeat 1
dorestart
@@ -202,7 +202,7 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32
endanim
-.Frameset_TradePokeBall0:
+.Frameset_TradePokeBallWobble:
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
@@ -216,8 +216,8 @@ SpriteAnimFrameData: ; 8d6e6
delanim
.Frameset_TradeTubeBulge:
- frame SPRITE_ANIM_OAMSET_35, 3
- frame SPRITE_ANIM_OAMSET_36, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2, 3
dorestart
.Frameset_TrademonIcon:
@@ -246,50 +246,50 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_43, 8
- frame SPRITE_ANIM_OAMSET_44, 8
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_43, 8
+ frame SPRITE_ANIM_OAMSET_UNUSED_44, 8
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_45, 8
- frame SPRITE_ANIM_OAMSET_46, 8
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_45, 8
+ frame SPRITE_ANIM_OAMSET_UNUSED_46, 8
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_47, 8
- frame SPRITE_ANIM_OAMSET_48, 8
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_47, 8
+ frame SPRITE_ANIM_OAMSET_UNUSED_48, 8
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_49, 1
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_Y_FLIP
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_Y_FLIP
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_4A, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4A, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4B, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4B, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4C, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4C, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4D, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4D, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4E, 3
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4E, 3
dorepeat 3
dorestart
-.Frameset_1c:
+.Frameset_Unused1C:
dorepeat 32
endanim
@@ -310,29 +310,29 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32
endanim
-.Frameset_EggHatch:
- frame SPRITE_ANIM_OAMSET_55, 32
+.Frameset_EggHatch1:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32
endanim
-.Frameset_21:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP
+.Frameset_EggHatch2:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP
endanim
-.Frameset_22:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_Y_FLIP
+.Frameset_EggHatch3:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_Y_FLIP
endanim
-.Frameset_23:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP, OAM_Y_FLIP
+.Frameset_EggHatch4:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP, OAM_Y_FLIP
endanim
-.Frameset_24:
- frame SPRITE_ANIM_OAMSET_56, 10
- frame SPRITE_ANIM_OAMSET_57, 9
- frame SPRITE_ANIM_OAMSET_58, 10
- frame SPRITE_ANIM_OAMSET_59, 10
- frame SPRITE_ANIM_OAMSET_58, 9
- frame SPRITE_ANIM_OAMSET_5A, 10
+.Frameset_GSIntroHoOh:
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1, 10
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2, 9
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3, 10
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4, 10
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3, 9
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5, 10
dorestart
.Frameset_HeadbuttTree:
@@ -342,32 +342,32 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP
dorestart
-.Frameset_26:
- frame SPRITE_ANIM_OAMSET_5C, 2
+.Frameset_EZChatCursor1:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1, 2
endanim
-.Frameset_27:
- frame SPRITE_ANIM_OAMSET_5D, 2
+.Frameset_EZChatCursor2:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2, 2
endanim
-.Frameset_28:
- frame SPRITE_ANIM_OAMSET_5E, 2
+.Frameset_EZChatCursor3:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3, 2
endanim
-.Frameset_29:
- frame SPRITE_ANIM_OAMSET_5F, 2
+.Frameset_EZChatCursor4:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4, 2
endanim
-.Frameset_2a:
- frame SPRITE_ANIM_OAMSET_60, 2
+.Frameset_EZChatCursor5:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5, 2
endanim
-.Frameset_2b:
- frame SPRITE_ANIM_OAMSET_61, 2
+.Frameset_EZChatCursor6:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6, 2
endanim
-.Frameset_2c:
- frame SPRITE_ANIM_OAMSET_62, 2
+.Frameset_EZChatCursor7:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7, 2
endanim
.Frameset_MobileTradeSentBall:
@@ -406,23 +406,23 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
delanim
-.Frameset_ForMobile22:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1, 3
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2, 3
+.Frameset_MobileTradeCableBulge:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1, 3
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2, 3
dorestart
-.Frameset_ForMobile23:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_23, 3
+.Frameset_MobileTradeSentPulse:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE, 3
endanim
-.Frameset_ForMobile24:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_24, 3
+.Frameset_MobileTradeOTPulse:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE, 3
endanim
-.Frameset_ForMobile25:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1, 2
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2, 2
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3, 2
+.Frameset_MobileTradePing:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1, 2
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2, 2
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3, 2
delanim
.Frameset_IntroSuicune:
diff --git a/data/sprite_anims/oam.asm b/data/sprite_anims/oam.asm
index 99adc9df3..bfd5cbcd3 100644
--- a/data/sprite_anims/oam.asm
+++ b/data/sprite_anims/oam.asm
@@ -1,157 +1,157 @@
SpriteAnimOAMData: ; 8d94d
; entries correspond to SPRITE_ANIM_OAMSET_* constants
; vtile offset, pointer
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1
- dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2
- dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_02
- dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_03
- dbw $6c, .OAMData_04 ; SPRITE_ANIM_OAMSET_04
- dbw $6e, .OAMData_04 ; SPRITE_ANIM_OAMSET_05
- dbw $2d, .OAMData_06 ; SPRITE_ANIM_OAMSET_06
- dbw $4d, .OAMData_06 ; SPRITE_ANIM_OAMSET_07
- dbw $60, .OAMData_08 ; SPRITE_ANIM_OAMSET_08
- dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_09
- dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_0A
- dbw $06, .OAMData_08 ; SPRITE_ANIM_OAMSET_0B
- dbw $0c, .OAMData_0c ; SPRITE_ANIM_OAMSET_0C
- dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_0D
- dbw $00, .OAMData_0e ; SPRITE_ANIM_OAMSET_0E
- dbw $04, .OAMData_0e ; SPRITE_ANIM_OAMSET_0F
- dbw $08, .OAMData_0e ; SPRITE_ANIM_OAMSET_10
- dbw $40, .OAMData_0e ; SPRITE_ANIM_OAMSET_11
- dbw $44, .OAMData_0e ; SPRITE_ANIM_OAMSET_12
- dbw $48, .OAMData_0e ; SPRITE_ANIM_OAMSET_13
- dbw $4c, .OAMData_0e ; SPRITE_ANIM_OAMSET_14
- dbw $80, .OAMData_15 ; SPRITE_ANIM_OAMSET_15
- dbw $85, .OAMData_15 ; SPRITE_ANIM_OAMSET_16
- dbw $8a, .OAMData_15 ; SPRITE_ANIM_OAMSET_17
- dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_18
- dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_19
- dbw $09, .OAMData_1a ; SPRITE_ANIM_OAMSET_1A
- dbw $10, .OAMData_1b ; SPRITE_ANIM_OAMSET_1B
- dbw $29, .OAMData_1b ; SPRITE_ANIM_OAMSET_1C
- dbw $42, .OAMData_1b ; SPRITE_ANIM_OAMSET_1D
- dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1
- dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
- dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
- dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_OAMSET_FOR_FRAMESET_09
- dbw $00, .OAMData_22 ; SPRITE_ANIM_OAMSET_22
- dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR
- dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1
- dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2
- dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3
- dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
- dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
- dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
- dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2
- dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3
- dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4
- dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5
- dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR
- dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1
- dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2
- dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1
- dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2
- dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3
- dbw $12, .OAMData_35 ; SPRITE_ANIM_OAMSET_35
- dbw $13, .OAMData_35 ; SPRITE_ANIM_OAMSET_36
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1
- dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2
- dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE
- dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1
- dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2
- dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB
- dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1
- dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2
- dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1
- dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2
- dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1
- dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2
- dbw $00, .OAMData_43 ; SPRITE_ANIM_OAMSET_43
- dbw $30, .OAMData_43 ; SPRITE_ANIM_OAMSET_44
- dbw $03, .OAMData_43 ; SPRITE_ANIM_OAMSET_45
- dbw $33, .OAMData_43 ; SPRITE_ANIM_OAMSET_46
- dbw $06, .OAMData_43 ; SPRITE_ANIM_OAMSET_47
- dbw $36, .OAMData_43 ; SPRITE_ANIM_OAMSET_48
- dbw $09, .OAMData_43 ; SPRITE_ANIM_OAMSET_49
- dbw $39, .OAMData_43 ; SPRITE_ANIM_OAMSET_4A
- dbw $0c, .OAMData_4b ; SPRITE_ANIM_OAMSET_4B
- dbw $0c, .OAMData_4c ; SPRITE_ANIM_OAMSET_4C
- dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4D
- dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4E
- dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF
- dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1
- dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2
- dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3
- dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4
- dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK
- dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_55
- dbw $00, .OAMData_56 ; SPRITE_ANIM_OAMSET_56
- dbw $00, .OAMData_57 ; SPRITE_ANIM_OAMSET_57
- dbw $00, .OAMData_58 ; SPRITE_ANIM_OAMSET_58
- dbw $00, .OAMData_59 ; SPRITE_ANIM_OAMSET_59
- dbw $00, .OAMData_5a ; SPRITE_ANIM_OAMSET_5A
- dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2
- dbw $00, .OAMData_5c ; SPRITE_ANIM_OAMSET_5C
- dbw $00, .OAMData_5d ; SPRITE_ANIM_OAMSET_5D
- dbw $00, .OAMData_5e ; SPRITE_ANIM_OAMSET_5E
- dbw $00, .OAMData_5f ; SPRITE_ANIM_OAMSET_5F
- dbw $00, .OAMData_60 ; SPRITE_ANIM_OAMSET_60
- dbw $00, .OAMData_61 ; SPRITE_ANIM_OAMSET_61
- dbw $00, .OAMData_62 ; SPRITE_ANIM_OAMSET_62
- dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1
- dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2
- dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1
- dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2
- dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1
- dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2
- dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1
- dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2
- dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3
- dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_23
- dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_24
- dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1
- dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2
- dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3
- dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4
- dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1
- dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2
- dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3
- dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER
- dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1
- dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2
- dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3
- dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1
- dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2
- dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3
- dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4
- dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5
- dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY
- dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1
- dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2
- dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1
- dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2
- dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3
- dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4
- dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5
- dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6
- dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7
- dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8
- dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
- dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
- dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2
+ dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1
+ dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2
+ dbw $6c, .OAMData_GSIntroShellder ; SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1
+ dbw $6e, .OAMData_GSIntroShellder ; SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2
+ dbw $2d, .OAMData_GSIntroMagikarp ; SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1
+ dbw $4d, .OAMData_GSIntroMagikarp ; SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2
+ dbw $60, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1
+ dbw $00, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2
+ dbw $00, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3
+ dbw $06, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_4
+ dbw $0c, .OAMData_GSIntroNote ; SPRITE_ANIM_OAMSET_GS_INTRO_NOTE
+ dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_INVISIBLE_NOTE
+ dbw $00, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1
+ dbw $04, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2
+ dbw $08, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3
+ dbw $40, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1
+ dbw $44, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2
+ dbw $48, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3
+ dbw $4c, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4
+ dbw $80, .OAMData_GSIntroPikachuTail ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1
+ dbw $85, .OAMData_GSIntroPikachuTail ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2
+ dbw $8a, .OAMData_GSIntroPikachuTail ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3
+ dbw $00, .OAMData_IntroUnownF2_1 ; SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL
+ dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL
+ dbw $09, .OAMData_GSIntroBigFireball ; SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL
+ dbw $10, .OAMData_GSIntroStarter ; SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA
+ dbw $29, .OAMData_GSIntroStarter ; SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL
+ dbw $42, .OAMData_GSIntroStarter ; SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE
+ dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1
+ dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
+ dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
+ dbw $00, .OAMData_TextEntryCursorBig ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG
+ dbw $00, .OAMData_GSIntroGameFreakLogo ; SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO
+ dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR
+ dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1
+ dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2
+ dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3
+ dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
+ dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
+ dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
+ dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2
+ dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3
+ dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4
+ dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5
+ dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR
+ dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1
+ dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2
+ dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1
+ dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2
+ dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3
+ dbw $12, .OAMData_TradeTubeBulge ; SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1
+ dbw $13, .OAMData_TradeTubeBulge ; SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2
+ dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE
+ dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1
+ dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2
+ dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB
+ dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1
+ dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2
+ dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1
+ dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2
+ dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1
+ dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2
+ dbw $00, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_43
+ dbw $30, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_44
+ dbw $03, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_45
+ dbw $33, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_46
+ dbw $06, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_47
+ dbw $36, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_48
+ dbw $09, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_49
+ dbw $39, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_4A
+ dbw $0c, .OAMData_Unused4B ; SPRITE_ANIM_OAMSET_UNUSED_4B
+ dbw $0c, .OAMData_Unused4C ; SPRITE_ANIM_OAMSET_UNUSED_4C
+ dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_UNUSED_4D
+ dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_UNUSED_4E
+ dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF
+ dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1
+ dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2
+ dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3
+ dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4
+ dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK
+ dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_HATCH
+ dbw $00, .OAMData_GSIntroHoOh1 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1
+ dbw $00, .OAMData_GSIntroHoOh2 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2
+ dbw $00, .OAMData_GSIntroHoOh3 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3
+ dbw $00, .OAMData_GSIntroHoOh4 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4
+ dbw $00, .OAMData_GSIntroHoOh5 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5
+ dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2
+ dbw $00, .OAMData_EZChatCursor1 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1
+ dbw $00, .OAMData_EZChatCursor2 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2
+ dbw $00, .OAMData_EZChatCursor3 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3
+ dbw $00, .OAMData_EZChatCursor4 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4
+ dbw $00, .OAMData_EZChatCursor5 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5
+ dbw $00, .OAMData_EZChatCursor6 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6
+ dbw $00, .OAMData_EZChatCursor7 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7
+ dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1
+ dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2
+ dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1
+ dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2
+ dbw $20, .OAMData_MobileTradeCableBulge ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1
+ dbw $21, .OAMData_MobileTradeCableBulge ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2
+ dbw $22, .OAMData_MobileTradePing1 ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1
+ dbw $23, .OAMData_MobileTradePing2 ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2
+ dbw $27, .OAMData_MobileTradePing3 ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3
+ dbw $2a, .OAMData_MobileTradeSentPulse ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE
+ dbw $2a, .OAMData_MobileTradeOTPulse ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE
+ dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1
+ dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2
+ dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3
+ dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4
+ dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1
+ dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2
+ dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3
+ dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER
+ dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1
+ dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2
+ dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3
+ dbw $00, .OAMData_IntroUnownF2_1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1
+ dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2
+ dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3
+ dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4
+ dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5
+ dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY
+ dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1
+ dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2
+ dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1
+ dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2
+ dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3
+ dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4
+ dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5
+ dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6
+ dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7
+ dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8
+ dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
+ dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
+ dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
.OAMData_1x1_Palette0:
db 1
- dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, -1, 4, $00, 0
-.OAMData_04:
+.OAMData_GSIntroShellder:
db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $10, $00
- dsprite 0, 0, 0, 0, $11, $00
+ dsprite -1, 0, -1, 0, $00, 0
+ dsprite -1, 0, 0, 0, $01, 0
+ dsprite 0, 0, -1, 0, $10, 0
+ dsprite 0, 0, 0, 0, $11, 0
.OAMData_GSIntroStar:
db 4
@@ -162,32 +162,31 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_TradePokeBall1:
db 4
- dsprite -1, 0, -1, 0, $00, $80
- dsprite -1, 0, 0, 0, $00, $a0
- dsprite 0, 0, -1, 0, $01, $80
- dsprite 0, 0, 0, 0, $01, $a0
+ dsprite -1, 0, -1, 0, $00, 0 | PRIORITY
+ dsprite -1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
+ dsprite 0, 0, -1, 0, $01, 0 | PRIORITY
+ dsprite 0, 0, 0, 0, $01, 0 | X_FLIP | PRIORITY
-.OAMData_18:
+.OAMData_IntroUnownF2_1:
db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $00, $20
- dsprite 0, 0, -1, 0, $00, $40
- dsprite 0, 0, 0, 0, $00, $60
+ dsprite -1, 0, -1, 0, $00, 0
+ dsprite -1, 0, 0, 0, $00, 0 | X_FLIP
+ dsprite 0, 0, -1, 0, $00, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_35:
+.OAMData_TradeTubeBulge:
db 4
- dsprite -1, 0, -1, 0, $00, $07
- dsprite -1, 0, 0, 0, $00, $27
- dsprite 0, 0, -1, 0, $00, $47
- dsprite 0, 0, 0, 0, $00, $67
-; 8db4b
+ dsprite -1, 0, -1, 0, $00, 7
+ dsprite -1, 0, 0, 0, $00, 7 | X_FLIP
+ dsprite 0, 0, -1, 0, $00, 7 | Y_FLIP
+ dsprite 0, 0, 0, 0, $00, 7 | X_FLIP | Y_FLIP
-; 8db4b
+; unused
db 4
- dsprite -1, 0, -1, 0, $00, $80
- dsprite -1, 0, 0, 0, $00, $a0
- dsprite 0, 0, -1, 0, $00, $c0
- dsprite 0, 0, 0, 0, $00, $e0
+ dsprite -1, 0, -1, 0, $00, 0 | PRIORITY
+ dsprite -1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
+ dsprite 0, 0, -1, 0, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY
.OAMData_TradePoofBubble:
db 16
@@ -208,143 +207,142 @@ SpriteAnimOAMData: ; 8d94d
dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_1a:
+.OAMData_GSIntroBigFireball:
db 36
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -2, 0, -3, 0, $03, $00
- dsprite -2, 0, -2, 0, $04, $00
- dsprite -2, 0, -1, 0, $05, $00
- dsprite -1, 0, -3, 0, $06, $00
- dsprite -1, 0, -2, 0, $05, $00
- dsprite -1, 0, -1, 0, $05, $00
- dsprite -3, 0, 0, 0, $02, $20
- dsprite -3, 0, 1, 0, $01, $20
- dsprite -3, 0, 2, 0, $00, $20
- dsprite -2, 0, 0, 0, $05, $20
- dsprite -2, 0, 1, 0, $04, $20
- dsprite -2, 0, 2, 0, $03, $20
- dsprite -1, 0, 0, 0, $05, $20
- dsprite -1, 0, 1, 0, $05, $20
- dsprite -1, 0, 2, 0, $06, $20
- dsprite 0, 0, -3, 0, $06, $40
- dsprite 0, 0, -2, 0, $05, $40
- dsprite 0, 0, -1, 0, $05, $40
- dsprite 1, 0, -3, 0, $03, $40
- dsprite 1, 0, -2, 0, $04, $40
- dsprite 1, 0, -1, 0, $05, $40
- dsprite 2, 0, -3, 0, $00, $40
- dsprite 2, 0, -2, 0, $01, $40
- dsprite 2, 0, -1, 0, $02, $40
- dsprite 0, 0, 0, 0, $05, $60
- dsprite 0, 0, 1, 0, $05, $60
- dsprite 0, 0, 2, 0, $06, $60
- dsprite 1, 0, 0, 0, $05, $60
- dsprite 1, 0, 1, 0, $04, $60
- dsprite 1, 0, 2, 0, $03, $60
- dsprite 2, 0, 0, 0, $02, $60
- dsprite 2, 0, 1, 0, $01, $60
- dsprite 2, 0, 2, 0, $00, $60
-
-.OAMData_43:
+ dsprite -3, 0, -3, 0, $00, 0
+ dsprite -3, 0, -2, 0, $01, 0
+ dsprite -3, 0, -1, 0, $02, 0
+ dsprite -2, 0, -3, 0, $03, 0
+ dsprite -2, 0, -2, 0, $04, 0
+ dsprite -2, 0, -1, 0, $05, 0
+ dsprite -1, 0, -3, 0, $06, 0
+ dsprite -1, 0, -2, 0, $05, 0
+ dsprite -1, 0, -1, 0, $05, 0
+ dsprite -3, 0, 0, 0, $02, 0 | X_FLIP
+ dsprite -3, 0, 1, 0, $01, 0 | X_FLIP
+ dsprite -3, 0, 2, 0, $00, 0 | X_FLIP
+ dsprite -2, 0, 0, 0, $05, 0 | X_FLIP
+ dsprite -2, 0, 1, 0, $04, 0 | X_FLIP
+ dsprite -2, 0, 2, 0, $03, 0 | X_FLIP
+ dsprite -1, 0, 0, 0, $05, 0 | X_FLIP
+ dsprite -1, 0, 1, 0, $05, 0 | X_FLIP
+ dsprite -1, 0, 2, 0, $06, 0 | X_FLIP
+ dsprite 0, 0, -3, 0, $06, 0 | Y_FLIP
+ dsprite 0, 0, -2, 0, $05, 0 | Y_FLIP
+ dsprite 0, 0, -1, 0, $05, 0 | Y_FLIP
+ dsprite 1, 0, -3, 0, $03, 0 | Y_FLIP
+ dsprite 1, 0, -2, 0, $04, 0 | Y_FLIP
+ dsprite 1, 0, -1, 0, $05, 0 | Y_FLIP
+ dsprite 2, 0, -3, 0, $00, 0 | Y_FLIP
+ dsprite 2, 0, -2, 0, $01, 0 | Y_FLIP
+ dsprite 2, 0, -1, 0, $02, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $05, 0 | X_FLIP | Y_FLIP
+ dsprite 0, 0, 1, 0, $05, 0 | X_FLIP | Y_FLIP
+ dsprite 0, 0, 2, 0, $06, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 0, 0, $05, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 1, 0, $04, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 2, 0, $03, 0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 1, 0, $01, 0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 2, 0, $00, 0 | X_FLIP | Y_FLIP
+
+.OAMData_Unused43_4A:
db 9
- dsprite -2, 4, -2, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -2, 4, 0, 4, $02, $00
- dsprite -1, 4, -2, 4, $10, $00
- dsprite -1, 4, -1, 4, $11, $00
- dsprite -1, 4, 0, 4, $12, $00
- dsprite 0, 4, -2, 4, $20, $00
- dsprite 0, 4, -1, 4, $21, $00
- dsprite 0, 4, 0, 4, $22, $00
-
-.OAMData_0e:
+ dsprite -2, 4, -2, 4, $00, 0
+ dsprite -2, 4, -1, 4, $01, 0
+ dsprite -2, 4, 0, 4, $02, 0
+ dsprite -1, 4, -2, 4, $10, 0
+ dsprite -1, 4, -1, 4, $11, 0
+ dsprite -1, 4, 0, 4, $12, 0
+ dsprite 0, 4, -2, 4, $20, 0
+ dsprite 0, 4, -1, 4, $21, 0
+ dsprite 0, 4, 0, 4, $22, 0
+
+.OAMData_GSIntroJigglypuffPikachu:
db 16
- dsprite -2, 0, -2, 0, $00, $00
- dsprite -2, 0, -1, 0, $01, $00
- dsprite -2, 0, 0, 0, $02, $00
- dsprite -2, 0, 1, 0, $03, $00
- dsprite -1, 0, -2, 0, $10, $00
- dsprite -1, 0, -1, 0, $11, $00
- dsprite -1, 0, 0, 0, $12, $00
- dsprite -1, 0, 1, 0, $13, $00
- dsprite 0, 0, -2, 0, $20, $00
- dsprite 0, 0, -1, 0, $21, $00
- dsprite 0, 0, 0, 0, $22, $00
- dsprite 0, 0, 1, 0, $23, $00
- dsprite 1, 0, -2, 0, $30, $00
- dsprite 1, 0, -1, 0, $31, $00
- dsprite 1, 0, 0, 0, $32, $00
- dsprite 1, 0, 1, 0, $33, $00
-
-.OAMData_1b:
+ dsprite -2, 0, -2, 0, $00, 0
+ dsprite -2, 0, -1, 0, $01, 0
+ dsprite -2, 0, 0, 0, $02, 0
+ dsprite -2, 0, 1, 0, $03, 0
+ dsprite -1, 0, -2, 0, $10, 0
+ dsprite -1, 0, -1, 0, $11, 0
+ dsprite -1, 0, 0, 0, $12, 0
+ dsprite -1, 0, 1, 0, $13, 0
+ dsprite 0, 0, -2, 0, $20, 0
+ dsprite 0, 0, -1, 0, $21, 0
+ dsprite 0, 0, 0, 0, $22, 0
+ dsprite 0, 0, 1, 0, $23, 0
+ dsprite 1, 0, -2, 0, $30, 0
+ dsprite 1, 0, -1, 0, $31, 0
+ dsprite 1, 0, 0, 0, $32, 0
+ dsprite 1, 0, 1, 0, $33, 0
+
+.OAMData_GSIntroStarter:
db 25
- dsprite -3, 4, -3, 4, $00, $00
- dsprite -2, 4, -3, 4, $01, $00
- dsprite -1, 4, -3, 4, $02, $00
- dsprite 0, 4, -3, 4, $03, $00
- dsprite 1, 4, -3, 4, $04, $00
- dsprite -3, 4, -2, 4, $05, $00
- dsprite -2, 4, -2, 4, $06, $00
- dsprite -1, 4, -2, 4, $07, $00
- dsprite 0, 4, -2, 4, $08, $00
- dsprite 1, 4, -2, 4, $09, $00
- dsprite -3, 4, -1, 4, $0a, $00
- dsprite -2, 4, -1, 4, $0b, $00
- dsprite -1, 4, -1, 4, $0c, $00
- dsprite 0, 4, -1, 4, $0d, $00
- dsprite 1, 4, -1, 4, $0e, $00
- dsprite -3, 4, 0, 4, $0f, $00
- dsprite -2, 4, 0, 4, $10, $00
- dsprite -1, 4, 0, 4, $11, $00
- dsprite 0, 4, 0, 4, $12, $00
- dsprite 1, 4, 0, 4, $13, $00
- dsprite -3, 4, 1, 4, $14, $00
- dsprite -2, 4, 1, 4, $15, $00
- dsprite -1, 4, 1, 4, $16, $00
- dsprite 0, 4, 1, 4, $17, $00
- dsprite 1, 4, 1, 4, $18, $00
-; 8dcf9
-
-; 8dcf9
+ dsprite -3, 4, -3, 4, $00, 0
+ dsprite -2, 4, -3, 4, $01, 0
+ dsprite -1, 4, -3, 4, $02, 0
+ dsprite 0, 4, -3, 4, $03, 0
+ dsprite 1, 4, -3, 4, $04, 0
+ dsprite -3, 4, -2, 4, $05, 0
+ dsprite -2, 4, -2, 4, $06, 0
+ dsprite -1, 4, -2, 4, $07, 0
+ dsprite 0, 4, -2, 4, $08, 0
+ dsprite 1, 4, -2, 4, $09, 0
+ dsprite -3, 4, -1, 4, $0a, 0
+ dsprite -2, 4, -1, 4, $0b, 0
+ dsprite -1, 4, -1, 4, $0c, 0
+ dsprite 0, 4, -1, 4, $0d, 0
+ dsprite 1, 4, -1, 4, $0e, 0
+ dsprite -3, 4, 0, 4, $0f, 0
+ dsprite -2, 4, 0, 4, $10, 0
+ dsprite -1, 4, 0, 4, $11, 0
+ dsprite 0, 4, 0, 4, $12, 0
+ dsprite 1, 4, 0, 4, $13, 0
+ dsprite -3, 4, 1, 4, $14, 0
+ dsprite -2, 4, 1, 4, $15, 0
+ dsprite -1, 4, 1, 4, $16, 0
+ dsprite 0, 4, 1, 4, $17, 0
+ dsprite 1, 4, 1, 4, $18, 0
+
+; unused
db 36
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -3, 0, 0, 0, $03, $00
- dsprite -3, 0, 1, 0, $04, $00
- dsprite -3, 0, 2, 0, $05, $00
- dsprite -2, 0, -3, 0, $06, $00
- dsprite -2, 0, -2, 0, $07, $00
- dsprite -2, 0, -1, 0, $08, $00
- dsprite -2, 0, 0, 0, $09, $00
- dsprite -2, 0, 1, 0, $0a, $00
- dsprite -2, 0, 2, 0, $0b, $00
- dsprite -1, 0, -3, 0, $0c, $00
- dsprite -1, 0, -2, 0, $0d, $00
- dsprite -1, 0, -1, 0, $0e, $00
- dsprite -1, 0, 0, 0, $0f, $00
- dsprite -1, 0, 1, 0, $10, $00
- dsprite -1, 0, 2, 0, $11, $00
- dsprite 0, 0, -3, 0, $12, $00
- dsprite 0, 0, -2, 0, $13, $00
- dsprite 0, 0, -1, 0, $14, $00
- dsprite 0, 0, 0, 0, $15, $00
- dsprite 0, 0, 1, 0, $16, $00
- dsprite 0, 0, 2, 0, $17, $00
- dsprite 1, 0, -3, 0, $18, $00
- dsprite 1, 0, -2, 0, $19, $00
- dsprite 1, 0, -1, 0, $1a, $00
- dsprite 1, 0, 0, 0, $1b, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite 1, 0, 2, 0, $1d, $00
- dsprite 2, 0, -3, 0, $1e, $00
- dsprite 2, 0, -2, 0, $1f, $00
- dsprite 2, 0, -1, 0, $20, $00
- dsprite 2, 0, 0, 0, $21, $00
- dsprite 2, 0, 1, 0, $22, $00
- dsprite 2, 0, 2, 0, $23, $00
+ dsprite -3, 0, -3, 0, $00, 0
+ dsprite -3, 0, -2, 0, $01, 0
+ dsprite -3, 0, -1, 0, $02, 0
+ dsprite -3, 0, 0, 0, $03, 0
+ dsprite -3, 0, 1, 0, $04, 0
+ dsprite -3, 0, 2, 0, $05, 0
+ dsprite -2, 0, -3, 0, $06, 0
+ dsprite -2, 0, -2, 0, $07, 0
+ dsprite -2, 0, -1, 0, $08, 0
+ dsprite -2, 0, 0, 0, $09, 0
+ dsprite -2, 0, 1, 0, $0a, 0
+ dsprite -2, 0, 2, 0, $0b, 0
+ dsprite -1, 0, -3, 0, $0c, 0
+ dsprite -1, 0, -2, 0, $0d, 0
+ dsprite -1, 0, -1, 0, $0e, 0
+ dsprite -1, 0, 0, 0, $0f, 0
+ dsprite -1, 0, 1, 0, $10, 0
+ dsprite -1, 0, 2, 0, $11, 0
+ dsprite 0, 0, -3, 0, $12, 0
+ dsprite 0, 0, -2, 0, $13, 0
+ dsprite 0, 0, -1, 0, $14, 0
+ dsprite 0, 0, 0, 0, $15, 0
+ dsprite 0, 0, 1, 0, $16, 0
+ dsprite 0, 0, 2, 0, $17, 0
+ dsprite 1, 0, -3, 0, $18, 0
+ dsprite 1, 0, -2, 0, $19, 0
+ dsprite 1, 0, -1, 0, $1a, 0
+ dsprite 1, 0, 0, 0, $1b, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite 1, 0, 2, 0, $1d, 0
+ dsprite 2, 0, -3, 0, $1e, 0
+ dsprite 2, 0, -2, 0, $1f, 0
+ dsprite 2, 0, -1, 0, $20, 0
+ dsprite 2, 0, 0, 0, $21, 0
+ dsprite 2, 0, 1, 0, $22, 0
+ dsprite 2, 0, 2, 0, $23, 0
.OAMData_RedWalk:
db 4
@@ -355,10 +353,10 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_MagnetTrainRed:
db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_RED | BEHIND_BG
- dsprite -1, 0, 0, 0, $01, PAL_OW_RED | BEHIND_BG
- dsprite 0, 0, -1, 0, $02, PAL_OW_RED | BEHIND_BG
- dsprite 0, 0, 0, 0, $03, PAL_OW_RED | BEHIND_BG
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED | PRIORITY
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED | PRIORITY
+ dsprite 0, 0, -1, 0, $02, PAL_OW_RED | PRIORITY
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED | PRIORITY
.OAMData_PartyMonWithMail1:
db 4
@@ -388,59 +386,59 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -1, 0, $09, PAL_OW_RED
dsprite 0, 0, 0, 0, $07, PAL_OW_RED
-.OAMData_06:
+.OAMData_GSIntroMagikarp:
db 6
- dsprite -1, 0, -2, 4, $00, $01
- dsprite -1, 0, -1, 4, $01, $01
- dsprite -1, 0, 0, 4, $02, $01
- dsprite 0, 0, -2, 4, $10, $01
- dsprite 0, 0, -1, 4, $11, $01
- dsprite 0, 0, 0, 4, $12, $01
-
-.OAMData_08:
+ dsprite -1, 0, -2, 4, $00, 1
+ dsprite -1, 0, -1, 4, $01, 1
+ dsprite -1, 0, 0, 4, $02, 1
+ dsprite 0, 0, -2, 4, $10, 1
+ dsprite 0, 0, -1, 4, $11, 1
+ dsprite 0, 0, 0, 4, $12, 1
+
+.OAMData_GSIntroLapras:
db 29
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -3, 0, 0, 0, $03, $00
- dsprite -2, 0, -3, 0, $10, $00
- dsprite -2, 0, -2, 0, $11, $00
- dsprite -2, 0, -1, 0, $12, $00
- dsprite -2, 0, 0, 0, $13, $00
- dsprite -1, 0, -3, 0, $20, $00
- dsprite -1, 0, -2, 0, $21, $00
- dsprite -1, 0, -1, 0, $22, $00
- dsprite -1, 0, 0, 0, $23, $00
- dsprite -1, 0, 1, 0, $24, $00
- dsprite 0, 0, -3, 0, $30, $80
- dsprite 0, 0, -2, 0, $31, $80
- dsprite 0, 0, -1, 0, $32, $80
- dsprite 0, 0, 0, 0, $33, $80
- dsprite 0, 0, 1, 0, $34, $80
- dsprite 1, 0, -3, 0, $40, $80
- dsprite 1, 0, -2, 0, $41, $80
- dsprite 1, 0, -1, 0, $42, $80
- dsprite 1, 0, 0, 0, $43, $80
- dsprite 1, 0, 1, 0, $44, $80
- dsprite 1, 0, 2, 0, $45, $80
- dsprite 2, 0, -2, 0, $51, $80
- dsprite 2, 0, -1, 0, $52, $80
- dsprite 2, 0, 0, 0, $53, $80
- dsprite 2, 0, 1, 0, $54, $80
- dsprite 2, 0, 2, 0, $55, $80
-
-.OAMData_0c:
+ dsprite -3, 0, -3, 0, $00, 0
+ dsprite -3, 0, -2, 0, $01, 0
+ dsprite -3, 0, -1, 0, $02, 0
+ dsprite -3, 0, 0, 0, $03, 0
+ dsprite -2, 0, -3, 0, $10, 0
+ dsprite -2, 0, -2, 0, $11, 0
+ dsprite -2, 0, -1, 0, $12, 0
+ dsprite -2, 0, 0, 0, $13, 0
+ dsprite -1, 0, -3, 0, $20, 0
+ dsprite -1, 0, -2, 0, $21, 0
+ dsprite -1, 0, -1, 0, $22, 0
+ dsprite -1, 0, 0, 0, $23, 0
+ dsprite -1, 0, 1, 0, $24, 0
+ dsprite 0, 0, -3, 0, $30, 0 | PRIORITY
+ dsprite 0, 0, -2, 0, $31, 0 | PRIORITY
+ dsprite 0, 0, -1, 0, $32, 0 | PRIORITY
+ dsprite 0, 0, 0, 0, $33, 0 | PRIORITY
+ dsprite 0, 0, 1, 0, $34, 0 | PRIORITY
+ dsprite 1, 0, -3, 0, $40, 0 | PRIORITY
+ dsprite 1, 0, -2, 0, $41, 0 | PRIORITY
+ dsprite 1, 0, -1, 0, $42, 0 | PRIORITY
+ dsprite 1, 0, 0, 0, $43, 0 | PRIORITY
+ dsprite 1, 0, 1, 0, $44, 0 | PRIORITY
+ dsprite 1, 0, 2, 0, $45, 0 | PRIORITY
+ dsprite 2, 0, -2, 0, $51, 0 | PRIORITY
+ dsprite 2, 0, -1, 0, $52, 0 | PRIORITY
+ dsprite 2, 0, 0, 0, $53, 0 | PRIORITY
+ dsprite 2, 0, 1, 0, $54, 0 | PRIORITY
+ dsprite 2, 0, 2, 0, $55, 0 | PRIORITY
+
+.OAMData_GSIntroNote:
db 2
- dsprite -1, 0, -1, 4, $00, $00
- dsprite 0, 0, -1, 4, $10, $00
+ dsprite -1, 0, -1, 4, $00, 0
+ dsprite 0, 0, -1, 4, $10, 0
-.OAMData_15:
+.OAMData_GSIntroPikachuTail:
db 5
- dsprite -2, 0, 3, 0, $00, $00
- dsprite -2, 0, 4, 0, $01, $00
- dsprite -1, 0, 2, 0, $02, $00
- dsprite -1, 0, 3, 0, $03, $00
- dsprite 0, 0, 2, 0, $04, $00
+ dsprite -2, 0, 3, 0, $00, 0
+ dsprite -2, 0, 4, 0, $01, 0
+ dsprite -1, 0, 2, 0, $02, 0
+ dsprite -1, 0, 3, 0, $03, 0
+ dsprite 0, 0, 2, 0, $04, 0
.OAMData_Leaf:
db 1
@@ -460,7 +458,7 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -1, 7, $00, 0 | Y_FLIP
dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_ForFrameset09:
+.OAMData_TextEntryCursorBig:
db 10
dsprite -1, 7, 0, 0, $00, 0
dsprite -1, 7, 1, 0, $01, 0
@@ -473,23 +471,23 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, 3, 0, $01, 0 | Y_FLIP
dsprite 0, 0, 4, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_22:
+.OAMData_GSIntroGameFreakLogo:
db 15
- dsprite -3, 4, -2, 4, $00, $11
- dsprite -3, 4, -1, 4, $01, $11
- dsprite -3, 4, 0, 4, $02, $11
- dsprite -2, 4, -2, 4, $03, $11
- dsprite -2, 4, -1, 4, $04, $11
- dsprite -2, 4, 0, 4, $05, $11
- dsprite -1, 4, -2, 4, $06, $11
- dsprite -1, 4, -1, 4, $07, $11
- dsprite -1, 4, 0, 4, $08, $11
- dsprite 0, 4, -2, 4, $09, $11
- dsprite 0, 4, -1, 4, $0a, $11
- dsprite 0, 4, 0, 4, $0b, $11
- dsprite 1, 4, -2, 4, $0c, $11
- dsprite 1, 4, -1, 4, $0d, $11
- dsprite 1, 4, 0, 4, $0e, $11
+ dsprite -3, 4, -2, 4, $00, 1 | OBP_NUM
+ dsprite -3, 4, -1, 4, $01, 1 | OBP_NUM
+ dsprite -3, 4, 0, 4, $02, 1 | OBP_NUM
+ dsprite -2, 4, -2, 4, $03, 1 | OBP_NUM
+ dsprite -2, 4, -1, 4, $04, 1 | OBP_NUM
+ dsprite -2, 4, 0, 4, $05, 1 | OBP_NUM
+ dsprite -1, 4, -2, 4, $06, 1 | OBP_NUM
+ dsprite -1, 4, -1, 4, $07, 1 | OBP_NUM
+ dsprite -1, 4, 0, 4, $08, 1 | OBP_NUM
+ dsprite 0, 4, -2, 4, $09, 1 | OBP_NUM
+ dsprite 0, 4, -1, 4, $0a, 1 | OBP_NUM
+ dsprite 0, 4, 0, 4, $0b, 1 | OBP_NUM
+ dsprite 1, 4, -2, 4, $0c, 1 | OBP_NUM
+ dsprite 1, 4, -1, 4, $0d, 1 | OBP_NUM
+ dsprite 1, 4, 0, 4, $0e, 1 | OBP_NUM
.OAMData_SlotsGolem:
db 6
@@ -551,21 +549,21 @@ SpriteAnimOAMData: ; 8d94d
dsprite -1, 4, -1, 4, $00, 0 | OBP_NUM
dsprite 0, 4, -1, 4, $00, 0 | OBP_NUM
-.OAMData_4b:
+.OAMData_Unused4B:
db 6
- dsprite 0, 0, 0, 0, $00, $00
- dsprite 0, 0, 1, 0, $01, $00
- dsprite 0, 0, 2, 0, $01, $00
- dsprite 0, 0, 3, 0, $01, $00
- dsprite 0, 0, 4, 0, $02, $00
- dsprite 0, 0, 5, 0, $03, $00
-
-.OAMData_4c:
+ dsprite 0, 0, 0, 0, $00, 0
+ dsprite 0, 0, 1, 0, $01, 0
+ dsprite 0, 0, 2, 0, $01, 0
+ dsprite 0, 0, 3, 0, $01, 0
+ dsprite 0, 0, 4, 0, $02, 0
+ dsprite 0, 0, 5, 0, $03, 0
+
+.OAMData_Unused4C:
db 4
- dsprite 0, 0, 0, 0, $00, $00
- dsprite 0, 0, 1, 0, $01, $00
- dsprite 0, 0, 2, 0, $02, $00
- dsprite 0, 0, 3, 0, $03, $00
+ dsprite 0, 0, 0, 0, $00, 0
+ dsprite 0, 0, 1, 0, $01, 0
+ dsprite 0, 0, 2, 0, $02, 0
+ dsprite 0, 0, 3, 0, $03, 0
.OAMData_CutTree2:
db 4
@@ -588,159 +586,159 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -2, 0, $02, PAL_OW_TREE
dsprite 0, 0, 1, 0, $03, PAL_OW_TREE
-.OAMData_56:
+.OAMData_GSIntroHoOh1:
db 19
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -3, 0, -2, 0, $06, $00
- dsprite -1, 0, -2, 0, $08, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $0c, $00
- dsprite -1, 0, -1, 0, $0e, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -3, 0, 0, 0, $12, $00
- dsprite -1, 0, 0, 0, $14, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -3, 0, 1, 0, $18, $00
- dsprite -1, 0, 1, 0, $1a, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_57:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -3, 0, -2, 0, $06, 0
+ dsprite -1, 0, -2, 0, $08, 0
+ dsprite 1, 0, -2, 0, $0a, 0
+ dsprite -3, 0, -1, 0, $0c, 0
+ dsprite -1, 0, -1, 0, $0e, 0
+ dsprite 1, 0, -1, 0, $10, 0
+ dsprite -3, 0, 0, 0, $12, 0
+ dsprite -1, 0, 0, 0, $14, 0
+ dsprite 1, 0, 0, 0, $16, 0
+ dsprite -3, 0, 1, 0, $18, 0
+ dsprite -1, 0, 1, 0, $1a, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh2:
db 16
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $26, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $28, $00
- dsprite -1, 0, -1, 0, $2a, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -1, 0, 0, 0, $2c, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_58:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -1, 0, -2, 0, $26, 0
+ dsprite 1, 0, -2, 0, $0a, 0
+ dsprite -3, 0, -1, 0, $28, 0
+ dsprite -1, 0, -1, 0, $2a, 0
+ dsprite 1, 0, -1, 0, $10, 0
+ dsprite -1, 0, 0, 0, $2c, 0
+ dsprite 1, 0, 0, 0, $16, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh3:
db 15
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $32, $00
- dsprite -1, 0, -2, 0, $34, $00
- dsprite 1, 0, -2, 0, $36, $00
- dsprite -1, 0, -1, 0, $38, $00
- dsprite 1, 0, -1, 0, $3a, $00
- dsprite -1, 0, 0, 0, $3c, $00
- dsprite 1, 0, 0, 0, $3e, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_59:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $32, 0
+ dsprite -1, 0, -2, 0, $34, 0
+ dsprite 1, 0, -2, 0, $36, 0
+ dsprite -1, 0, -1, 0, $38, 0
+ dsprite 1, 0, -1, 0, $3a, 0
+ dsprite -1, 0, 0, 0, $3c, 0
+ dsprite 1, 0, 0, 0, $3e, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh4:
db 17
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $40, $00
- dsprite 1, 0, -2, 0, $42, $00
- dsprite 3, 0, -2, 0, $44, $00
- dsprite -1, 0, -1, 0, $46, $00
- dsprite 1, 0, -1, 0, $48, $00
- dsprite 3, 0, -1, 0, $4a, $00
- dsprite -1, 0, 0, 0, $4c, $00
- dsprite 1, 0, 0, 0, $4e, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_5a:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -1, 0, -2, 0, $40, 0
+ dsprite 1, 0, -2, 0, $42, 0
+ dsprite 3, 0, -2, 0, $44, 0
+ dsprite -1, 0, -1, 0, $46, 0
+ dsprite 1, 0, -1, 0, $48, 0
+ dsprite 3, 0, -1, 0, $4a, 0
+ dsprite -1, 0, 0, 0, $4c, 0
+ dsprite 1, 0, 0, 0, $4e, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh5:
db 17
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $50, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $52, $00
- dsprite -1, 0, -1, 0, $54, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -3, 0, 0, 0, $56, $00
- dsprite -1, 0, 0, 0, $2e, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -1, 0, -2, 0, $50, 0
+ dsprite 1, 0, -2, 0, $0a, 0
+ dsprite -3, 0, -1, 0, $52, 0
+ dsprite -1, 0, -1, 0, $54, 0
+ dsprite 1, 0, -1, 0, $10, 0
+ dsprite -3, 0, 0, 0, $56, 0
+ dsprite -1, 0, 0, 0, $2e, 0
+ dsprite 1, 0, 0, 0, $16, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
.OAMData_GSTitleTrail:
db 1
dsprite -1, 4, -1, 4, $00, 1 | OBP_NUM
-.OAMData_5c:
+.OAMData_EZChatCursor1:
db 12
- dsprite 0, 0, 0, 0, $30, $00
- dsprite 0, 0, 1, 0, $31, $00
- dsprite 0, 0, 2, 0, $31, $00
- dsprite 0, 0, 3, 0, $31, $00
- dsprite 0, 0, 4, 0, $31, $00
- dsprite 0, 0, 5, 0, $32, $00
- dsprite 1, 0, 0, 0, $33, $00
- dsprite 1, 0, 1, 0, $34, $00
- dsprite 1, 0, 2, 0, $34, $00
- dsprite 1, 0, 3, 0, $34, $00
- dsprite 1, 0, 4, 0, $34, $00
- dsprite 1, 0, 5, 0, $35, $00
-
-.OAMData_5d:
+ dsprite 0, 0, 0, 0, $30, 0
+ dsprite 0, 0, 1, 0, $31, 0
+ dsprite 0, 0, 2, 0, $31, 0
+ dsprite 0, 0, 3, 0, $31, 0
+ dsprite 0, 0, 4, 0, $31, 0
+ dsprite 0, 0, 5, 0, $32, 0
+ dsprite 1, 0, 0, 0, $33, 0
+ dsprite 1, 0, 1, 0, $34, 0
+ dsprite 1, 0, 2, 0, $34, 0
+ dsprite 1, 0, 3, 0, $34, 0
+ dsprite 1, 0, 4, 0, $34, 0
+ dsprite 1, 0, 5, 0, $35, 0
+
+.OAMData_EZChatCursor2:
db 1
- dsprite 0, 0, 0, 0, $ed, $00
+ dsprite 0, 0, 0, 0, $ed, 0
-.OAMData_5e:
+.OAMData_EZChatCursor3:
db 4
- dsprite -1, 7, -1, 7, $30, $00
- dsprite -1, 7, 0, 1, $32, $00
- dsprite 0, 1, -1, 7, $33, $00
- dsprite 0, 1, 0, 1, $35, $00
+ dsprite -1, 7, -1, 7, $30, 0
+ dsprite -1, 7, 0, 1, $32, 0
+ dsprite 0, 1, -1, 7, $33, 0
+ dsprite 0, 1, 0, 1, $35, 0
-.OAMData_5f:
+.OAMData_EZChatCursor4:
db 8
- dsprite -1, 7, -1, 7, $30, $00
- dsprite -1, 7, 0, 4, $31, $00
- dsprite -1, 7, 1, 4, $31, $00
- dsprite -1, 7, 2, 1, $32, $00
- dsprite 0, 1, -1, 7, $33, $00
- dsprite 0, 1, 0, 4, $34, $00
- dsprite 0, 1, 1, 4, $34, $00
- dsprite 0, 1, 2, 1, $35, $00
-
-.OAMData_60:
+ dsprite -1, 7, -1, 7, $30, 0
+ dsprite -1, 7, 0, 4, $31, 0
+ dsprite -1, 7, 1, 4, $31, 0
+ dsprite -1, 7, 2, 1, $32, 0
+ dsprite 0, 1, -1, 7, $33, 0
+ dsprite 0, 1, 0, 4, $34, 0
+ dsprite 0, 1, 1, 4, $34, 0
+ dsprite 0, 1, 2, 1, $35, 0
+
+.OAMData_EZChatCursor5:
db 1
- dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 0, 0, $34, 0
-.OAMData_61:
+.OAMData_EZChatCursor6:
db 2
- dsprite 0, 0, 0, 0, $30, $00
- dsprite 1, 0, 0, 0, $33, $00
+ dsprite 0, 0, 0, 0, $30, 0
+ dsprite 1, 0, 0, 0, $33, 0
-.OAMData_62:
+.OAMData_EZChatCursor7:
db 2
- dsprite 0, 0, 0, 0, $32, $00
- dsprite 1, 0, 0, 0, $35, $00
+ dsprite 0, 0, 0, 0, $32, 0
+ dsprite 1, 0, 0, 0, $35, 0
.OAMData_BlueWalk:
db 4
@@ -751,37 +749,37 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_MagnetTrainBlue:
db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | BEHIND_BG
- dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | BEHIND_BG
- dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | BEHIND_BG
- dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | BEHIND_BG
+ dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | PRIORITY
+ dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | PRIORITY
+ dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | PRIORITY
+ dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | PRIORITY
-.OAMData_ForMobile22:
+.OAMData_MobileTradeCableBulge:
db 1
dsprite -1, 4, -1, 4, $00, 2
-.OAMData_ForMobile23:
+.OAMData_MobileTradeSentPulse:
db 4
dsprite -2, 0, -1, 4, $00, 3
dsprite -1, 0, -1, 4, $01, 3
dsprite 0, 0, -1, 4, $02, 3
dsprite 1, 0, -1, 4, $03, 3
-.OAMData_ForMobile24:
+.OAMData_MobileTradeOTPulse:
db 4
dsprite -2, 0, -1, 4, $03, 4 | Y_FLIP
dsprite -1, 0, -1, 4, $02, 4 | Y_FLIP
dsprite 0, 0, -1, 4, $01, 4 | Y_FLIP
dsprite 1, 0, -1, 4, $00, 4 | Y_FLIP
-.OAMData_ForMobile25_1:
+.OAMData_MobileTradePing1:
db 4
dsprite -1, 0, -1, 0, $00, 1
dsprite -1, 0, 0, 0, $00, 1 | X_FLIP
dsprite 0, 0, -1, 0, $00, 1 | Y_FLIP
dsprite 0, 0, 0, 0, $00, 1 | X_FLIP | Y_FLIP
-.OAMData_ForMobile25_2:
+.OAMData_MobileTradePing2:
db 8
dsprite -2, 4, -2, 4, $00, 1
dsprite -2, 4, -1, 4, $01, 1
@@ -792,7 +790,7 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 4, -1, 4, $01, 1 | Y_FLIP
dsprite 0, 4, 0, 4, $00, 1 | X_FLIP | Y_FLIP
-.OAMData_ForMobile25_3:
+.OAMData_MobileTradePing3:
db 12
dsprite -2, 0, -2, 0, $00, 1
dsprite -2, 0, -1, 0, $01, 1
@@ -993,23 +991,23 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_IntroUnown1:
db 1
- dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, -1, 4, $00, 0
.OAMData_IntroUnown2:
db 3
- dsprite 0, 0, -1, 0, $00, $00
- dsprite -1, 0, -1, 0, $01, $00
- dsprite -1, 0, 0, 0, $02, $00
+ dsprite 0, 0, -1, 0, $00, 0
+ dsprite -1, 0, -1, 0, $01, 0
+ dsprite -1, 0, 0, 0, $02, 0
.OAMData_IntroUnown3:
db 7
- dsprite 1, 0, -2, 0, $00, $00
- dsprite 0, 0, -2, 0, $01, $00
- dsprite -1, 0, -2, 0, $02, $00
- dsprite -1, 0, -1, 0, $03, $00
- dsprite -2, 0, -1, 0, $04, $00
- dsprite -2, 0, 0, 0, $05, $00
- dsprite -2, 0, 1, 0, $06, $00
+ dsprite 1, 0, -2, 0, $00, 0
+ dsprite 0, 0, -2, 0, $01, 0
+ dsprite -1, 0, -2, 0, $02, 0
+ dsprite -1, 0, -1, 0, $03, 0
+ dsprite -2, 0, -1, 0, $04, 0
+ dsprite -2, 0, 0, 0, $05, 0
+ dsprite -2, 0, 1, 0, $06, 0
.OAMData_IntroUnownF2_2:
db 8
@@ -1062,26 +1060,26 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_IntroSuicuneAway:
db 20
- dsprite 0, 0, 1, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 2, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 3, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 4, 0, $00, 1 | BEHIND_BG
- dsprite 4, 0, 5, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 6, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 7, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 8, 0, $00, 1 | BEHIND_BG
- dsprite 0, 0, 9, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 10, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 11, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 12, 0, $00, 1 | BEHIND_BG
- dsprite 4, 0, 13, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 14, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 15, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 16, 0, $00, 1 | BEHIND_BG
- dsprite 0, 0, -15, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, -14, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, -13, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, -12, 0, $00, 1 | BEHIND_BG
+ dsprite 0, 0, 1, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 2, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 3, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 4, 0, $00, 1 | PRIORITY
+ dsprite 4, 0, 5, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 6, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 7, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 8, 0, $00, 1 | PRIORITY
+ dsprite 0, 0, 9, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 10, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 11, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 12, 0, $00, 1 | PRIORITY
+ dsprite 4, 0, 13, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 14, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 15, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 16, 0, $00, 1 | PRIORITY
+ dsprite 0, 0, -15, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, -14, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, -13, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, -12, 0, $00, 1 | PRIORITY
.OAMData_Celebi:
db 4
diff --git a/data/sprite_anims/sequences.asm b/data/sprite_anims/sequences.asm
index 70544a60a..36a0f4afc 100644
--- a/data/sprite_anims/sequences.asm
+++ b/data/sprite_anims/sequences.asm
@@ -1,49 +1,49 @@
SpriteAnimSeqData: ; 8d1c4
; entries correspond to SPRITE_ANIM_INDEX_* constants
; frameset sequence, tile
- db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
- db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
- db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
- db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
- db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
- db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
- db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
- db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
- db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
- db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
- db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
- db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
- db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
- db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
- db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
- db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
- db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
- db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
- db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; SPRITE_ANIM_INDEX_1A
- db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
- db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
- db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; SPRITE_ANIM_INDEX_1D
- db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
- db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
- db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_22
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00 ; SPRITE_ANIM_INDEX_MOBILE_23
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00 ; SPRITE_ANIM_INDEX_MOBILE_24
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_25
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
- db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
- db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
- db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
+ db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
+ db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
+ db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
+ db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
+ db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+ db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
+ db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+ db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
+ db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
+ db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
+ db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
+ db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+ db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
+ db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
+ db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH, SPRITE_ANIM_SEQ_GS_INTRO_HO_OH, $00 ; SPRITE_ANIM_INDEX_GS_INTRO_HO_OH
+ db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
+ db SPRITE_ANIM_FRAMESET_EGG_HATCH_1, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1, SPRITE_ANIM_SEQ_EZCHAT_CURSOR, $00 ; SPRITE_ANIM_INDEX_EZCHAT_CURSOR
+ db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
+ db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
+ db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+ db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
; 8d24b
diff --git a/data/emotes.asm b/data/sprites/emotes.asm
index 2e25e52b5..2e25e52b5 100644
--- a/data/emotes.asm
+++ b/data/sprites/emotes.asm
diff --git a/data/facings.asm b/data/sprites/facings.asm
index 4d2a55364..4d2a55364 100644
--- a/data/facings.asm
+++ b/data/sprites/facings.asm
diff --git a/data/map_objects.asm b/data/sprites/map_objects.asm
index 19a7c8d27..19a7c8d27 100755
--- a/data/map_objects.asm
+++ b/data/sprites/map_objects.asm
diff --git a/data/sprite_mons.asm b/data/sprites/sprite_mons.asm
index d3000e2b7..d3000e2b7 100644
--- a/data/sprite_mons.asm
+++ b/data/sprites/sprite_mons.asm
diff --git a/data/sprites.asm b/data/sprites/sprites.asm
index 214b14757..214b14757 100644
--- a/data/sprites.asm
+++ b/data/sprites/sprites.asm
diff --git a/data/std_text.asm b/data/std_text.asm
new file mode 100644
index 000000000..4b027abac
--- /dev/null
+++ b/data/std_text.asm
@@ -0,0 +1,388 @@
+NurseMornText:
+ text "Good morning!"
+ line "Welcome to our"
+ cont "#MON CENTER."
+ done
+
+NurseDayText:
+ text "Hello!"
+ line "Welcome to our"
+ cont "#MON CENTER."
+ done
+
+NurseNiteText:
+ text "Good evening!"
+ line "You're out late."
+
+ para "Welcome to our"
+ line "#MON CENTER."
+ done
+
+PokeComNurseMornText:
+ text "Good morning!"
+
+ para "This is the #-"
+ line "MON COMMUNICATION"
+
+ para "CENTER--or the"
+ line "#COM CENTER."
+ done
+
+PokeComNurseDayText:
+ text "Hello!"
+
+ para "This is the #-"
+ line "MON COMMUNICATION"
+
+ para "CENTER--or the"
+ line "#COM CENTER."
+ done
+
+PokeComNurseNiteText:
+ text "Good to see you"
+ line "working so late."
+
+ para "This is the #-"
+ line "MON COMMUNICATION"
+
+ para "CENTER--or the"
+ line "#COM CENTER."
+ done
+
+NurseAskHealText:
+ text "We can heal your"
+ line "#MON to perfect"
+ cont "health."
+
+ para "Shall we heal your"
+ line "#MON?"
+ done
+
+NurseTakePokemonText:
+ text "OK, may I see your"
+ line "#MON?"
+ done
+
+NurseReturnPokemonText:
+ text "Thank you for"
+ line "waiting."
+
+ para "Your #MON are"
+ line "fully healed."
+ done
+
+NurseGoodbyeText:
+ text "We hope to see you"
+ line "again."
+ done
+
+; not used
+ text "We hope to see you"
+ line "again."
+ done
+
+NursePokerusText:
+ text "Your #MON"
+ line "appear to be"
+
+ para "infected by tiny"
+ line "life forms."
+
+ para "Your #MON are"
+ line "healthy and seem"
+ cont "to be fine."
+
+ para "But we can't tell"
+ line "you anything more"
+
+ para "at a #MON"
+ line "CENTER."
+ done
+
+PokeComNursePokerusText:
+ text "Your #MON"
+ line "appear to be"
+
+ para "infected by tiny"
+ line "life forms."
+
+ para "Your #MON are"
+ line "healthy and seem"
+ cont "to be fine."
+
+ para "But we can't tell"
+ line "you anything more."
+ done
+
+DifficultBookshelfText:
+ text "It's full of"
+ line "difficult books."
+ done
+
+PictureBookshelfText:
+ text "A whole collection"
+ line "of #MON picture"
+ cont "books!"
+ done
+
+MagazineBookshelfText:
+ text "#MON magazines…"
+ line "#MON PAL,"
+
+ para "#MON HANDBOOK,"
+ line "#MON GRAPH…"
+ done
+
+TeamRocketOathText:
+ text "TEAM ROCKET OATH"
+
+ para "Steal #MON for"
+ line "profit!"
+
+ para "Exploit #MON"
+ line "for profit!"
+
+ para "All #MON exist"
+ line "for the glory of"
+ cont "TEAM ROCKET!"
+ done
+
+IncenseBurnerText:
+ text "What is this?"
+
+ para "Oh, it's an"
+ line "incense burner!"
+ done
+
+MerchandiseShelfText:
+ text "Lots of #MON"
+ line "merchandise!"
+ done
+
+TownMapText:
+ text "It's the TOWN MAP."
+ done
+
+WindowText:
+ text "My reflection!"
+ line "Lookin' good!"
+ done
+
+TVText:
+ text "It's a TV."
+ done
+
+HomepageText:
+ text "#MON JOURNAL"
+ line "HOME PAGE…"
+
+ para "It hasn't been"
+ line "updated…"
+ done
+
+; not used
+ text "#MON RADIO!"
+
+ para "Call in with your"
+ line "requests now!"
+ done
+
+TrashCanText:
+ text "There's nothing in"
+ line "here…"
+ done
+
+; not used
+ text "A #MON may be"
+ line "able to move this."
+ done
+
+; not used
+ text "Maybe a #MON"
+ line "can break this."
+ done
+
+PokecenterSignText:
+ text "Heal Your #MON!"
+ line "#MON CENTER"
+ done
+
+MartSignText:
+ text "For All Your"
+ line "#MON Needs"
+
+ para "#MON MART"
+ done
+
+ContestResults_ReadyToJudgeText:
+ text "We will now judge"
+ line "the #MON you've"
+ cont "caught."
+
+ para $56
+ line $56
+
+ para "We have chosen the"
+ line "winners!"
+
+ para "Are you ready for"
+ line "this?"
+ done
+
+ContestResults_PlayerWonAPrizeText:
+ text "<PLAYER>, the No.@"
+ text_from_ram StringBuffer3
+ text_start
+ line "finisher, wins"
+ cont "@"
+ text_from_ram StringBuffer4
+ text "!"
+ done
+
+ReceivedItemText:
+ text "<PLAYER> received"
+ line "@"
+ text_from_ram StringBuffer4
+ text "."
+ done
+
+ContestResults_JoinUsNextTimeText:
+ text "Please join us for"
+ line "the next Contest!"
+ done
+
+ContestResults_ConsolationPrizeText:
+ text "Everyone else gets"
+ line "a BERRY as a con-"
+ cont "solation prize!"
+ done
+
+ContestResults_DidNotWinText:
+ text "We hope you do"
+ line "better next time."
+ done
+
+ContestResults_ReturnPartyText:
+ text "We'll return the"
+ line "#MON we kept"
+
+ para "for you."
+ line "Here you go!"
+ done
+
+ContestResults_PartyFullText:
+ text "Your party's full,"
+ line "so the #MON was"
+
+ para "sent to your BOX"
+ line "in BILL's PC."
+ done
+
+GymStatue_CityGymText:
+ text_from_ram StringBuffer3
+ text_start
+ line "#MON GYM"
+ done
+
+GymStatue_WinningTrainersText:
+ text "LEADER: @"
+ text_from_ram StringBuffer4
+ text_start
+ para "WINNING TRAINERS:"
+ line "<PLAYER>"
+ done
+
+CoinVendor_WelcomeText:
+ text "Welcome to the"
+ line "GAME CORNER."
+ done
+
+CoinVendor_NoCoinCaseText:
+ text "Do you need game"
+ line "coins?"
+
+ para "Oh, you don't have"
+ line "a COIN CASE for"
+ cont "your coins."
+ done
+
+CoinVendor_IntroText:
+ text "Do you need some"
+ line "game coins?"
+
+ para "It costs ¥1000 for"
+ line "50 coins. Do you"
+ cont "want some?"
+ done
+
+CoinVendor_Buy50CoinsText:
+ text "Thank you!"
+ line "Here are 50 coins."
+ done
+
+CoinVendor_Buy500CoinsText:
+ text "Thank you! Here"
+ line "are 500 coins."
+ done
+
+CoinVendor_NotEnoughMoneyText:
+ text "You don't have"
+ line "enough money."
+ done
+
+CoinVendor_CoinCaseFullText:
+ text "Whoops! Your COIN"
+ line "CASE is full."
+ done
+
+CoinVendor_CancelText:
+ text "No coins for you?"
+ line "Come again!"
+ done
+
+BugContestPrizeNoRoomText:
+ text "Oh? Your PACK is"
+ line "full."
+
+ para "We'll keep this"
+ line "for you today, so"
+
+ para "come back when you"
+ line "make room for it."
+ done
+
+HappinessText3:
+ text "Wow! You and your"
+ line "#MON are really"
+ cont "close!"
+ done
+
+HappinessText2:
+ text "#MON get more"
+ line "friendly if you"
+
+ para "spend time with"
+ line "them."
+ done
+
+HappinessText1:
+ text "You haven't tamed"
+ line "your #MON."
+
+ para "If you aren't"
+ line "nice, it'll pout."
+ done
+
+RegisteredNumber1Text:
+ text "<PLAYER> registered"
+ line "@"
+ text_from_ram StringBuffer3
+ text "'s number."
+ done
+
+RegisteredNumber2Text:
+ text "<PLAYER> registered"
+ line "@"
+ text_from_ram StringBuffer3
+ text "'s number."
+ done
diff --git a/data/tilesets.asm b/data/tilesets.asm
new file mode 100644
index 000000000..c44a218fc
--- /dev/null
+++ b/data/tilesets.asm
@@ -0,0 +1,52 @@
+tileset: MACRO
+ dba \1GFX, \1Meta, \1Coll
+ dw \1Anim
+ dw NULL
+ dw \1PalMap
+ENDM
+
+; Associated data:
+; - The *GFX, *Meta, and *Coll are defined in gfx/tilesets.asm
+; - The *Anim are defined in engine/tileset_anims.asm
+; - The *PalMap are defined in gfx/tilesets/palette_maps.asm
+
+Tilesets:: ; 4d596
+; entries correspond to TILESET_* constants
+ tileset Tileset0
+ tileset TilesetJohto
+ tileset TilesetJohtoModern
+ tileset TilesetKanto
+ tileset TilesetBattleTowerOutside
+ tileset TilesetHouse
+ tileset TilesetPlayersHouse
+ tileset TilesetPokecenter
+ tileset TilesetGate
+ tileset TilesetPort
+ tileset TilesetLab
+ tileset TilesetFacility
+ tileset TilesetMart
+ tileset TilesetMansion
+ tileset TilesetGameCorner
+ tileset TilesetEliteFourRoom
+ tileset TilesetTraditionalHouse
+ tileset TilesetTrainStation
+ tileset TilesetChampionsRoom
+ tileset TilesetLighthouse
+ tileset TilesetPlayersRoom
+ tileset TilesetPokeComCenter
+ tileset TilesetBattleTower
+ tileset TilesetTower
+ tileset TilesetCave
+ tileset TilesetPark
+ tileset TilesetRuinsOfAlph
+ tileset TilesetRadioTower
+ tileset TilesetUnderground
+ tileset TilesetIcePath
+ tileset TilesetDarkCave
+ tileset TilesetForest
+ tileset TilesetBetaWordRoom
+ tileset TilesetHoOhWordRoom
+ tileset TilesetKabutoWordRoom
+ tileset TilesetOmanyteWordRoom
+ tileset TilesetAerodactylWordRoom
+; 4d7c1
diff --git a/data/tilesets/aerodactyl_word_room_collision.asm b/data/tilesets/aerodactyl_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/aerodactyl_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/aerodactyl_word_room_metatiles.bin b/data/tilesets/aerodactyl_word_room_metatiles.bin
new file mode 100644
index 000000000..0538baa98
--- /dev/null
+++ b/data/tilesets/aerodactyl_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+ǎמŎ՞Øǐ 
+ 
+ 
+  !"#Ɉ٘@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7Šհ \ No newline at end of file
diff --git a/data/tilesets/battle_tower_collision.asm b/data/tilesets/battle_tower_collision.asm
new file mode 100644
index 000000000..908fee326
--- /dev/null
+++ b/data/tilesets/battle_tower_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 09
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 12
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 15
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 16
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, FLOOR, WALL ; 20
+ tilecoll WALL, WALL, WALL, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 22
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 25
+ tilecoll WALL, FLOOR, FLOOR, DOOR ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 28
+ tilecoll WALL, PC, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, WALL ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, DOOR ; 2d
+ tilecoll FLOOR, FLOOR, DOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, FLOOR ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, FLOOR ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, FLOOR, WALL ; 3d
+ tilecoll WALL, WALL, FLOOR, WALL ; 3e
+ tilecoll WALL, WALL, WALL, FLOOR ; 3f
+ tilecoll WALL, WALL, FLOOR, WALL ; 40
diff --git a/data/tilesets/battle_tower_metatiles.bin b/data/tilesets/battle_tower_metatiles.bin
new file mode 100644
index 000000000..c64ef0a12
--- /dev/null
+++ b/data/tilesets/battle_tower_metatiles.bin
Binary files differ
diff --git a/data/tilesets/battle_tower_outside_collision.asm b/data/tilesets/battle_tower_outside_collision.asm
new file mode 100644
index 000000000..3aaa60113
--- /dev/null
+++ b/data/tilesets/battle_tower_outside_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll 01, 01, 01, 01 ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0d
+ tilecoll FLOOR, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, WALL ; 12
+ tilecoll WALL, WALL, DOOR, DOOR ; 13
+ tilecoll WALL, WALL, WALL, FLOOR ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, DOOR, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 20
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 21
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, FLOOR, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, FLOOR, WALL, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 32
+ tilecoll WALL, HEADBUTT_TREE, WALL, HEADBUTT_TREE ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 34
+ tilecoll WHIRLPOOL, FLOOR, WHIRLPOOL, FLOOR ; 35
+ tilecoll WHIRLPOOL, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll 5B, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll 5B, 01, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 41
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 42
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 43
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 44
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 45
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 46
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 47
+ tilecoll FLOOR, FLOOR, BRAKE_45, FLOOR ; 48
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 49
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 50
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 51
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 52
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 53
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 54
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 55
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 56
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 57
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 58
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 59
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 60
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 61
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 62
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 63
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 64
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 65
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 66
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 67
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 68
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 69
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 70
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 73
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 74
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 76
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 77
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 78
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 79
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 80
diff --git a/data/tilesets/battle_tower_outside_metatiles.bin b/data/tilesets/battle_tower_outside_metatiles.bin
new file mode 100644
index 000000000..c4390bcba
--- /dev/null
+++ b/data/tilesets/battle_tower_outside_metatiles.bin
Binary files differ
diff --git a/data/tilesets/beta_word_room_collision.asm b/data/tilesets/beta_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/beta_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/beta_word_room_metatiles.bin b/data/tilesets/beta_word_room_metatiles.bin
new file mode 100644
index 000000000..47c531b2e
--- /dev/null
+++ b/data/tilesets/beta_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+ÀӐǦ׶ǀא 
+ 
+ 
+  !"#@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7𠡀ŐѲ \ No newline at end of file
diff --git a/data/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm
new file mode 100644
index 000000000..3d5e0ae05
--- /dev/null
+++ b/data/tilesets/cave_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 05
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 06
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WATER, WATER, WATER, WATER ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 14
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 15
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 16
+ tilecoll WALL, FLOOR, WALL, WARP_CARPET_DOWN ; 17
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, WALL, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 20
+ tilecoll WALL, FLOOR, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 22
+ tilecoll FLOOR, WALL, WALL, WALL ; 23
+ tilecoll UP_WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 25
+ tilecoll WATER, WATER, WATER, WATER ; 26
+ tilecoll WATER, WATER, WATER, WATER ; 27
+ tilecoll WATER, WATER, WATER, WATER ; 28
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2a
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2c
+ tilecoll WATERFALL, WATERFALL, WATERFALL, WATERFALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WATER, WATER, WATER, WATER ; 33
+ tilecoll WATER, WATER, WATER, WATER ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, CAVE ; 38
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 39
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 3a
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 3b
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 3c
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 3d
+ tilecoll WATER, WATER, WATER, WATER ; 3e
+ tilecoll WATER, WATER, WATER, WATER ; 3f
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 40
diff --git a/data/tilesets/cave_metatiles.bin b/data/tilesets/cave_metatiles.bin
new file mode 100644
index 000000000..a41b5b080
--- /dev/null
+++ b/data/tilesets/cave_metatiles.bin
@@ -0,0 +1,6 @@
+$$$$$$$$*+:;"#23%&&%&&&&&&&&&&&&&'&&&'
+&
+&  &&67&&67&&&&$$$$*+:;$$$$"#23     ()89       !01     $$&&&&    @@@@@@@@@@@@@@@@%&&&%&&&%&&&%&&&&&&&&&&&&&&&&&&&&&&'&&&'&&&'&&&'67&&67&&$$%&&'%' &&&&&&&& 
+&
+67'67&'&&&&&&&&&&&&%&&&&&&&&&&'&&& 
+&&& \ No newline at end of file
diff --git a/data/tilesets/champions_room_collision.asm b/data/tilesets/champions_room_collision.asm
new file mode 100644
index 000000000..351f76f61
--- /dev/null
+++ b/data/tilesets/champions_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, FLOOR, WALL ; 02
+ tilecoll WALL, WALL, WALL, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 04
+ tilecoll WALL, WALL, WALL, WALL ; 05
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 06
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 07
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 09
+ tilecoll WALL, FLOOR, FLOOR, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WALL, WALL, LADDER, LADDER ; 0c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, WALL ; 14
+ tilecoll WALL, FLOOR, WALL, WALL ; 15
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 1d
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 1e
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll WALL, FLOOR, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, WALL, WALL, WALL ; 23
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 24
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 30
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 35
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll FLOOR, WALL, WALL, WALL ; 38
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 39
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll WALL, FLOOR, WALL, WALL ; 3f
+ tilecoll FLOOR, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/champions_room_metatiles.bin b/data/tilesets/champions_room_metatiles.bin
new file mode 100644
index 000000000..a2adb197a
--- /dev/null
+++ b/data/tilesets/champions_room_metatiles.bin
@@ -0,0 +1,15 @@
+  *() 89+,!!   %'!!  5 5 5 5 5&&01    %&&'677:"##$2334ַ  +,+, *() 89 SSSSSSSSSSSSSSSSFGFGVWVWFGSSVWSS FGFGVWVWSSFGSSVW]]]]%&&'XYXYѣѥSSSSSSSSFGFGVWVWFGSSVWSSFGSSVWSSSSFGSSVWSSFGSSVW./SS>?SSNOSS^_SSSS./SS>?SSNOSS^_S@HH@PQQPPQQPPQQHHHHQQQQQQQQQQQQHHBSQQRBQQRRQQRR----------------PPQQPPQQPCDDCDDDQQQQQQQQTUTUTUTUQQRRQQRRDDERDDDESSSSSSSS
+ SS
+ SS
+ SSSS
+ FG
+ VW
+ FG
+ VWFG
+ VW
+ FG
+ VW
+ SS
+ SS
+ SS
+ SSʰ˱ݱ̲޲αݱϲ޲FGFGVWVWFGFGVWVW]]]]%&&'XYXYݱ޲°ıƲ]]]]]]]];<<=;<<=;<<=;<<=````````````````;<<=;<<=%&&'XYXY]]]]%&&'XYXY]]]]]]]]]]]]]]]]]]]];<<=ӢґӡӢ \ No newline at end of file
diff --git a/data/tilesets/dark_cave_collision.asm b/data/tilesets/dark_cave_collision.asm
new file mode 100644
index 000000000..3d5e0ae05
--- /dev/null
+++ b/data/tilesets/dark_cave_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 05
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 06
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WATER, WATER, WATER, WATER ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 14
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 15
+ tilecoll UP_WALL, UP_WALL, FLOOR, LADDER ; 16
+ tilecoll WALL, FLOOR, WALL, WARP_CARPET_DOWN ; 17
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, WALL, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 20
+ tilecoll WALL, FLOOR, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 22
+ tilecoll FLOOR, WALL, WALL, WALL ; 23
+ tilecoll UP_WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 25
+ tilecoll WATER, WATER, WATER, WATER ; 26
+ tilecoll WATER, WATER, WATER, WATER ; 27
+ tilecoll WATER, WATER, WATER, WATER ; 28
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2a
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2c
+ tilecoll WATERFALL, WATERFALL, WATERFALL, WATERFALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WATER, WATER, WATER, WATER ; 33
+ tilecoll WATER, WATER, WATER, WATER ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, CAVE ; 38
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 39
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 3a
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 3b
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 3c
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 3d
+ tilecoll WATER, WATER, WATER, WATER ; 3e
+ tilecoll WATER, WATER, WATER, WATER ; 3f
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 40
diff --git a/data/tilesets/dark_cave_metatiles.bin b/data/tilesets/dark_cave_metatiles.bin
new file mode 100644
index 000000000..a41b5b080
--- /dev/null
+++ b/data/tilesets/dark_cave_metatiles.bin
@@ -0,0 +1,6 @@
+$$$$$$$$*+:;"#23%&&%&&&&&&&&&&&&&'&&&'
+&
+&  &&67&&67&&&&$$$$*+:;$$$$"#23     ()89       !01     $$&&&&    @@@@@@@@@@@@@@@@%&&&%&&&%&&&%&&&&&&&&&&&&&&&&&&&&&&'&&&'&&&'&&&'67&&67&&$$%&&'%' &&&&&&&& 
+&
+67'67&'&&&&&&&&&&&&%&&&&&&&&&&'&&& 
+&&& \ No newline at end of file
diff --git a/data/tilesets/elite_four_room_collision.asm b/data/tilesets/elite_four_room_collision.asm
new file mode 100644
index 000000000..cc0b705f3
--- /dev/null
+++ b/data/tilesets/elite_four_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, FLOOR, WALL ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 11
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll LADDER, LADDER, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 19
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, WALL ; 1c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 21
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 22
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 23
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 26
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll ICE, ICE, ICE, FLOOR ; 2f
+ tilecoll ICE, ICE, FLOOR, ICE ; 30
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, ICE, ICE, ICE ; 32
+ tilecoll ICE, FLOOR, ICE, ICE ; 33
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 34
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 35
+ tilecoll ICE, WALL, ICE, WALL ; 36
+ tilecoll WALL, ICE, WALL, ICE ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll ICE, ICE, ICE, ICE ; 3a
+ tilecoll WALL, FLOOR, FLOOR, WALL ; 3b
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll DOOR, DOOR, FLOOR, FLOOR ; 3d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/elite_four_room_metatiles.bin b/data/tilesets/elite_four_room_metatiles.bin
new file mode 100644
index 000000000..a9df6062c
--- /dev/null
+++ b/data/tilesets/elite_four_room_metatiles.bin
Binary files differ
diff --git a/data/tilesets/facility_collision.asm b/data/tilesets/facility_collision.asm
new file mode 100644
index 000000000..eb5cd8f33
--- /dev/null
+++ b/data/tilesets/facility_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, WALL, WALL ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, WALL, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, FLOOR ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, FLOOR ; 22
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 23
+ tilecoll WALL, FLOOR, WALL, WALL ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 25
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 32
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 34
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 35
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, FLOOR, WALL ; 3c
+ tilecoll WALL, WALL, WALL, FLOOR ; 3d
+ tilecoll WALL, WALL, FLOOR, WALL ; 3e
+ tilecoll WALL, FLOOR, WALL, WALL ; 3f
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 40
diff --git a/data/tilesets/facility_metatiles.bin b/data/tilesets/facility_metatiles.bin
new file mode 100644
index 000000000..f6089d29c
--- /dev/null
+++ b/data/tilesets/facility_metatiles.bin
@@ -0,0 +1,8 @@
+6666666666666666""""""""&&&&@B@B
+
+
+
+ &&&&88889999&& !&&&&&01&&&&&@B@B()()()()*+()&&&&&&&& &&,-""<=""./&>?&"",-""<=&./&>? &&&&''''7777,-&<=&./&>?&&,-&<=&./&>?@AABPQQRPHIRS::T&&&@A&PQ&&AAABQQQREEFEUUVU
+ K
+[EFEEUVUU K
+ [&PQ&S:&&QQQR:::T&&EFE;UVU;JKJ;Z[Z;6666666666666666AAABMMMN88889999""""""""#$$%WXXY""""@B""PRPRPRPRPR""23""CD&&&&""""""@B&PR&PR;;;;;;;;&&&&&&&&;;;;;;;;""""@B""PR&PR&PR&PR&PR&PR&PR&PR&PR@APRLM&&&&&@A&LM&&&&AB&MN&&&&&@B@APRLM&&&& &&@AABPHIR &&&&&&@B&PR&PR&PR&PR&&@BPR#$$%WXXY&&&&PRPRPRPR@B&PR&PR&PR&@AAALMMM&&&&AAABMMMN&&&&&@B&PR&PR&PR&&&&AAAAMMMM""""""""&&AAAAMMMM&&&&&PR&PR&PR&PR&@A&PQ&PQ&S:@AAALMMM88889999&PR&PRABPRMNPR""""""\]&^_&@B@APRLMPR&PR&AB@BMNPR&PR&PRPR&PR&PR@ALM&PR&PRABPRMN \ No newline at end of file
diff --git a/data/tilesets/forest_collision.asm b/data/tilesets/forest_collision.asm
new file mode 100644
index 000000000..70cc72ff1
--- /dev/null
+++ b/data/tilesets/forest_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WATER, WATER, WATER, WATER ; 03
+ tilecoll WATER, WATER, WATER, WATER ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 07
+ tilecoll WATER, WATER, WATER, WATER ; 08
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, FLOOR ; 09
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 0a
+ tilecoll WATER, WATER, WATER, WATER ; 0b
+ tilecoll WATER, WATER, WATER, WATER ; 0c
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 0d
+ tilecoll WATER, WATER, WATER, WATER ; 0e
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 0f
+ tilecoll FLOOR, FLOOR, CUT_TREE, HEADBUTT_TREE ; 10
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 11
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 12
+ tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 14
+ tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, HEADBUTT_TREE ; 18
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 19
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 1a
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 1b
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 1c
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, DOOR ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 29
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 32
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 33
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 34
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 35
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 36
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 37
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 38
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 39
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 40
diff --git a/data/tilesets/forest_metatiles.bin b/data/tilesets/forest_metatiles.bin
new file mode 100644
index 000000000..a8b82d8cf
--- /dev/null
+++ b/data/tilesets/forest_metatiles.bin
@@ -0,0 +1 @@
+ ,-./<=>?**** ,-./<=>? ***&'&'6767&'67&'&'6767&'67&'67*** &'67&'67(9&'8:67&'67&'&'6767&'&'6767&'67&'&'6767&'67&'67&'67&'67)**********+** !!! !!! !!!!!!!!!!!!!!!!!!"!!!"!!!"02 !!!0111#$$$#$!!!!1111$$$$$$!!!"1112$$$%$%#$$$#$$$#$34#$$$#$$$#$$$3444$$$$$$$$$$$$4444$$$%$$$%$$$%4445 \ No newline at end of file
diff --git a/data/tilesets/game_corner_collision.asm b/data/tilesets/game_corner_collision.asm
new file mode 100644
index 000000000..65b99cf54
--- /dev/null
+++ b/data/tilesets/game_corner_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll COUNTER, COUNTER, COUNTER, COUNTER ; 08
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 09
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0a
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, COUNTER, COUNTER ; 11
+ tilecoll WALL, WALL, COUNTER, COUNTER ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 14
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 17
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 18
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 1c
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, WALL ; 2c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, FLOOR, WALL ; 30
+ tilecoll WALL, WALL, WALL, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/game_corner_metatiles.bin b/data/tilesets/game_corner_metatiles.bin
new file mode 100644
index 000000000..24beba2d3
--- /dev/null
+++ b/data/tilesets/game_corner_metatiles.bin
Binary files differ
diff --git a/data/tilesets/gate_collision.asm b/data/tilesets/gate_collision.asm
new file mode 100644
index 000000000..54cd95d34
--- /dev/null
+++ b/data/tilesets/gate_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll DOOR, DOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 09
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 0a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0b
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 0c
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 0d
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 0e
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 0f
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 10
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 11
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 12
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 14
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 24
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 26
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 29
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 2a
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 2c
+ tilecoll WALL, WALL, FLOOR, PC ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, COUNTER ; 31
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 32
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 33
+ tilecoll COUNTER, FLOOR, FLOOR, WALL ; 34
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3b
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, COUNTER, FLOOR ; 3d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3e
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 3f
+ tilecoll FLOOR, COUNTER, COUNTER, COUNTER ; 40
diff --git a/data/tilesets/gate_metatiles.bin b/data/tilesets/gate_metatiles.bin
new file mode 100644
index 000000000..74076ff58
--- /dev/null
+++ b/data/tilesets/gate_metatiles.bin
Binary files differ
diff --git a/data/tilesets/ho_oh_word_room_collision.asm b/data/tilesets/ho_oh_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/ho_oh_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/ho_oh_word_room_metatiles.bin b/data/tilesets/ho_oh_word_room_metatiles.bin
new file mode 100644
index 000000000..2b542c632
--- /dev/null
+++ b/data/tilesets/ho_oh_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+͈ݘɨٸɸÐǬ׼èӸ 
+ 
+ 
+  !"#@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7[\M]͠ݰǎמǎמ͈ݘÐǎמŀՐ \ No newline at end of file
diff --git a/data/tilesets/house_collision.asm b/data/tilesets/house_collision.asm
new file mode 100644
index 000000000..ae5580782
--- /dev/null
+++ b/data/tilesets/house_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 02
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 05
+ tilecoll WALL, WINDOW, FLOOR, FLOOR ; 06
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 07
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 08
+ tilecoll WALL, WINDOW, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, BOOKSHELF ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, TOWN_MAP, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll WALL, WALL, PC, WALL ; 11
+ tilecoll WALL, WALL, WALL, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 15
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 16
+ tilecoll WINDOW, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, WARP_CARPET_LEFT, FLOOR ; 18
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1b
+ tilecoll WARP_CARPET_LEFT, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, PC ; 1d
+ tilecoll WALL, WALL, FLOOR, RADIO ; 1e
+ tilecoll WALL, TOWN_MAP, TV, FLOOR ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 22
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 23
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 24
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 25
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 27
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, WALL ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 32
+ tilecoll WALL, WINDOW, WALL, WALL ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/house_metatiles.bin b/data/tilesets/house_metatiles.bin
new file mode 100644
index 000000000..0d3a22f32
--- /dev/null
+++ b/data/tilesets/house_metatiles.bin
Binary files differ
diff --git a/data/tilesets/ice_path_collision.asm b/data/tilesets/ice_path_collision.asm
new file mode 100644
index 000000000..4fd9376ad
--- /dev/null
+++ b/data/tilesets/ice_path_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 04
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 05
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 06
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, FLOOR, PIT, FLOOR ; 18
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, PIT, FLOOR, FLOOR ; 1c
+ tilecoll WALL, FLOOR, WALL, WALL ; 1d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1e
+ tilecoll FLOOR, WALL, WALL, WALL ; 1f
+ tilecoll ICE, ICE, ICE, ICE ; 20
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 24
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 25
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 26
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 27
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 28
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 29
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, ICE, ICE, ICE ; 2d
+ tilecoll ICE, ICE, WALL, ICE ; 2e
+ tilecoll ICE, WALL, ICE, ICE ; 2f
+ tilecoll ICE, ICE, ICE, WALL ; 30
+ tilecoll WALL, WALL, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 39
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 3e
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 3f
+ tilecoll ICE, ICE, ICE, LADDER ; 40
diff --git a/data/tilesets/ice_path_metatiles.bin b/data/tilesets/ice_path_metatiles.bin
new file mode 100644
index 000000000..c92246e8a
--- /dev/null
+++ b/data/tilesets/ice_path_metatiles.bin
@@ -0,0 +1,3 @@
+
+ *+:;Өʚʛ śժժū՚Ū՚ŪŚՙȺ͘BC  ǒׂǒǂגǂגRRRRSS(S >8(TRRRR,--.IJHKRRRRS)SS9? V)RRRRSSSS  >TLM \]XYZ[8//9WGGGU? NO^_ 
+ *+:;ɾ͈&' 67EF   4444444444444444 \ No newline at end of file
diff --git a/data/tilesets/johto_collision.asm b/data/tilesets/johto_collision.asm
new file mode 100644
index 000000000..4d6d2c072
--- /dev/null
+++ b/data/tilesets/johto_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll 01, 01, 01, 01 ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 07
+ tilecoll WHIRLPOOL, BUOY, WATER, BUOY ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 0d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 0e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, DOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, DOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, DOOR ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, DOOR, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, DOOR, WALL ; 28
+ tilecoll WALL, WALL, WALL, DOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2d
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, DOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll BUOY, BUOY, BUOY, WATER ; 31
+ tilecoll BUOY, BUOY, WATER, WATER ; 32
+ tilecoll BUOY, BUOY, WATER, BUOY ; 33
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 34
+ tilecoll BUOY, WATER, BUOY, WATER ; 35
+ tilecoll WATER, WATER, WATER, WATER ; 36
+ tilecoll WATER, BUOY, WATER, BUOY ; 37
+ tilecoll WALL, WALL, WALL, DOOR ; 38
+ tilecoll BUOY, WATER, BUOY, BUOY ; 39
+ tilecoll WATER, WATER, BUOY, BUOY ; 3a
+ tilecoll WATER, BUOY, BUOY, BUOY ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, HEADBUTT_TREE ; 40
+ tilecoll WALL, WALL, WALL, FLOOR ; 41
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 42
+ tilecoll WALL, WALL, FLOOR, WALL ; 43
+ tilecoll WATER, WATER, WATER, WATER ; 44
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 45
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 47
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 48
+ tilecoll WALL, FLOOR, WALL, WALL ; 49
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 4a
+ tilecoll FLOOR, WALL, WALL, WALL ; 4b
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 4c
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4d
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4e
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4f
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 50
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 51
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 52
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 53
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 54
+ tilecoll WATER, WATER, WATER, WATER ; 55
+ tilecoll WATER, WATER, WATER, WATER ; 56
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 58
+ tilecoll WATER, WATER, WATER, WATER ; 59
+ tilecoll WATER, WATER, WATER, WATER ; 5a
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5b
+ tilecoll HEADBUTT_TREE, CUT_TREE, FLOOR, FLOOR ; 5c
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, FLOOR ; 5d
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 5e
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 5f
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, CUT_TREE ; 60
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 61
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 62
+ tilecoll FLOOR, HEADBUTT_TREE, FLOOR, HEADBUTT_TREE ; 63
+ tilecoll FLOOR, FLOOR, CUT_TREE, HEADBUTT_TREE ; 64
+ tilecoll HEADBUTT_TREE, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 65
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 66
+ tilecoll FLOOR, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 67
+ tilecoll CUT_TREE, FLOOR, HEADBUTT_TREE, FLOOR ; 68
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 69
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6a
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 6b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 6c
+ tilecoll WALL, FLOOR, WALL, WALL ; 6d
+ tilecoll FLOOR, WALL, WALL, WALL ; 6e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 70
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 73
+ tilecoll FLOOR, FLOOR, CAVE, WALL ; 74
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 76
+ tilecoll WATER, WATER, WATER, WATER ; 77
+ tilecoll WALL, WALL, DOOR, WALL ; 78
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 79
+ tilecoll WATER, WATER, WATER, WATER ; 7a
+ tilecoll WATER, WATER, WATER, WATER ; 7b
+ tilecoll WALL, WALL, WALL, WALL ; 7c
+ tilecoll WALL, WALL, WALL, WALL ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll WALL, WALL, WALL, WALL ; 80
diff --git a/data/tilesets/johto_metatiles.bin b/data/tilesets/johto_metatiles.bin
new file mode 100644
index 000000000..9024f2ad6
--- /dev/null
+++ b/data/tilesets/johto_metatiles.bin
Binary files differ
diff --git a/data/tilesets/johto_modern_collision.asm b/data/tilesets/johto_modern_collision.asm
new file mode 100644
index 000000000..40255d744
--- /dev/null
+++ b/data/tilesets/johto_modern_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 0d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 0e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, DOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, DOOR ; 17
+ tilecoll WALL, WALL, DOOR, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, DOOR ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, DOOR, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, DOOR, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, DOOR ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, FLOOR, FLOOR ; 30
+ tilecoll BUOY, BUOY, BUOY, WATER ; 31
+ tilecoll BUOY, BUOY, WATER, WATER ; 32
+ tilecoll BUOY, BUOY, WATER, BUOY ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 34
+ tilecoll BUOY, WATER, BUOY, WATER ; 35
+ tilecoll WATER, WATER, WATER, WATER ; 36
+ tilecoll WATER, BUOY, WATER, BUOY ; 37
+ tilecoll HEADBUTT_TREE, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll BUOY, WATER, BUOY, BUOY ; 39
+ tilecoll WATER, WATER, BUOY, BUOY ; 3a
+ tilecoll WATER, BUOY, BUOY, BUOY ; 3b
+ tilecoll FLOOR, FLOOR, HEADBUTT_TREE, HEADBUTT_TREE ; 3c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3d
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, WALL, WALL ; 3e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3f
+ tilecoll HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE, HEADBUTT_TREE ; 40
+ tilecoll WALL, WALL, WALL, FLOOR ; 41
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 42
+ tilecoll WALL, WALL, FLOOR, WALL ; 43
+ tilecoll WATER, WATER, WATER, WATER ; 44
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 45
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 47
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 48
+ tilecoll WALL, FLOOR, WALL, WALL ; 49
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 4a
+ tilecoll FLOOR, WALL, WALL, WALL ; 4b
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 4c
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4d
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4e
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4f
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 50
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 51
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 52
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 53
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 54
+ tilecoll WATER, WATER, WATER, WATER ; 55
+ tilecoll WATER, WATER, WATER, WATER ; 56
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 58
+ tilecoll WATER, WATER, WATER, WATER ; 59
+ tilecoll WATER, WATER, WATER, WATER ; 5a
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5b
+ tilecoll WALL, WALL, WALL, CAVE ; 5c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 5d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 5e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 5f
+ tilecoll WALL, WALL, WALL, WALL ; 60
+ tilecoll WATER, WATER, WALL, WALL ; 61
+ tilecoll WATER, WATER, WALL, WALL ; 62
+ tilecoll WATER, WATER, WALL, WALL ; 63
+ tilecoll WATER, WATER, WATER, WATER ; 64
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 65
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 66
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 67
+ tilecoll WALL, WALL, WALL, WALL ; 68
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 69
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6a
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 6b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 6c
+ tilecoll WALL, FLOOR, WALL, WALL ; 6d
+ tilecoll FLOOR, WALL, WALL, WALL ; 6e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 70
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 73
+ tilecoll FLOOR, FLOOR, WALL, CAVE ; 74
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 76
+ tilecoll WATER, WATER, WATER, WATER ; 77
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 78
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 79
+ tilecoll WATER, WATER, WATER, WATER ; 7a
+ tilecoll WATER, WATER, WATER, WATER ; 7b
+ tilecoll WALL, WALL, WALL, WALL ; 7c
+ tilecoll WALL, WALL, WALL, WALL ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 80
diff --git a/data/tilesets/johto_modern_metatiles.bin b/data/tilesets/johto_modern_metatiles.bin
new file mode 100644
index 000000000..a15c0c2c7
--- /dev/null
+++ b/data/tilesets/johto_modern_metatiles.bin
Binary files differ
diff --git a/data/tilesets/kabuto_word_room_collision.asm b/data/tilesets/kabuto_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/kabuto_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/kabuto_word_room_metatiles.bin b/data/tilesets/kabuto_word_room_metatiles.bin
new file mode 100644
index 000000000..14d082e2a
--- /dev/null
+++ b/data/tilesets/kabuto_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+ɼͬݼÆӖŎ՞ÈӘØǎמ 
+ 
+ 
+  !"#@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7Ř \ No newline at end of file
diff --git a/data/tilesets/kanto_collision.asm b/data/tilesets/kanto_collision.asm
new file mode 100644
index 000000000..9b0f0c275
--- /dev/null
+++ b/data/tilesets/kanto_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll CUT_TREE, CUT_TREE, CUT_TREE, CUT_TREE ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, WALL, DOOR ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 05
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 06
+ tilecoll FLOOR, FLOOR, CAVE, WALL ; 07
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, DOOR, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WATER, WALL, WALL ; 15
+ tilecoll WATER, WALL, WALL, WALL ; 16
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 17
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 18
+ tilecoll WALL, WATER, WALL, WATER ; 19
+ tilecoll WATER, WALL, WATER, WALL ; 1a
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1d
+ tilecoll WATER, WATER, WATER, WATER ; 1e
+ tilecoll WATER, WATER, WATER, WATER ; 1f
+ tilecoll WATER, WATER, WATER, WATER ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll WALL, FLOOR, WALL, WALL ; 25
+ tilecoll FLOOR, WALL, WALL, WALL ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 29
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2a
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll WATER, WATER, WATER, WATER ; 2e
+ tilecoll WATER, WATER, WATER, WATER ; 2f
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll WALL, CUT_TREE, WALL, FLOOR ; 33
+ tilecoll WALL, WALL, FLOOR, CUT_TREE ; 34
+ tilecoll CUT_TREE, FLOOR, WALL, WALL ; 35
+ tilecoll FLOOR, CUT_TREE, WALL, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 39
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 3a
+ tilecoll WALL, WALL, DOOR, WALL ; 3b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 3c
+ tilecoll WALL, WALL, WALL, DOOR ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 3f
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 40
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 41
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 42
+ tilecoll HOP_DOWN, WALL, WALL, WALL ; 43
+ tilecoll WATER, WATER, WATER, WATER ; 44
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 45
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 47
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 48
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 49
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 4a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 4b
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 4c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 4d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 4e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 4f
+ tilecoll FLOOR, WALL, WALL, WALL ; 50
+ tilecoll WALL, FLOOR, WALL, WALL ; 51
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 52
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 53
+ tilecoll WALL, WALL, WALL, DOOR ; 54
+ tilecoll WALL, WALL, WALL, WALL ; 55
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 56
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 57
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 58
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 59
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 5a
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 5b
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 5c
+ tilecoll FLOOR, HOP_DOWN, FLOOR, WALL ; 5d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 5f
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 60
+ tilecoll FLOOR, WALL, CUT_TREE, WALL ; 61
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 62
+ tilecoll WALL, WALL, WALL, FLOOR ; 63
+ tilecoll WALL, WALL, FLOOR, WALL ; 64
+ tilecoll WATER, WATER, WATER, WATER ; 65
+ tilecoll WATER, WATER, WATER, WATER ; 66
+ tilecoll WALL, WALL, WALL, WALL ; 67
+ tilecoll WALL, WATER, WALL, WATER ; 68
+ tilecoll WALL, WALL, WALL, WALL ; 69
+ tilecoll WALL, WALL, WALL, WALL ; 6a
+ tilecoll WATER, WALL, WATER, WALL ; 6b
+ tilecoll WATER, WATER, WALL, WALL ; 6c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 6d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 6e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 70
+ tilecoll FLOOR, WALL, CAVE, WALL ; 71
+ tilecoll WALL, WALL, WALL, WALL ; 72
+ tilecoll WALL, WALL, WALL, WALL ; 73
+ tilecoll WALL, WALL, WALL, WALL ; 74
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, WALL, WALL ; 76
+ tilecoll WALL, WALL, WALL, WALL ; 77
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 78
+ tilecoll WATER, WATER, WATER, WATER ; 79
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 7a
+ tilecoll WALL, WALL, WALL, WALL ; 7b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 7c
+ tilecoll WALL, WALL, WALL, DOOR ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll WALL, WALL, WALL, WALL ; 80
diff --git a/data/tilesets/kanto_metatiles.bin b/data/tilesets/kanto_metatiles.bin
new file mode 100644
index 000000000..41b0cfffd
--- /dev/null
+++ b/data/tilesets/kanto_metatiles.bin
Binary files differ
diff --git a/data/tilesets/lab_collision.asm b/data/tilesets/lab_collision.asm
new file mode 100644
index 000000000..436c8e0a7
--- /dev/null
+++ b/data/tilesets/lab_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 07
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WINDOW, WALL, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 0f
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 15
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 20
+ tilecoll WINDOW, WINDOW, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/lab_metatiles.bin b/data/tilesets/lab_metatiles.bin
new file mode 100644
index 000000000..62da01e8b
--- /dev/null
+++ b/data/tilesets/lab_metatiles.bin
Binary files differ
diff --git a/data/tilesets/lighthouse_collision.asm b/data/tilesets/lighthouse_collision.asm
new file mode 100644
index 000000000..05b6cd614
--- /dev/null
+++ b/data/tilesets/lighthouse_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll WALL, WALL, WALL, WALL ; 03
+ tilecoll WALL, WALL, WALL, WALL ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll 9C, FLOOR, COUNTER, FLOOR ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WARP_CARPET_DOWN, WALL, WALL ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll 9C, FLOOR, COUNTER, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 19
+ tilecoll WALL, WALL, WALL, STAIRCASE ; 1a
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 21
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 22
+ tilecoll WALL, FLOOR, WALL, WALL ; 23
+ tilecoll FLOOR, WALL, WALL, WALL ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, PIT, PIT ; 29
+ tilecoll WALL, WALL, WINDOW, WINDOW ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2f
+ tilecoll WALL, WALL, WALL, BOOKSHELF ; 30
+ tilecoll WALL, WALL, FLOOR, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, PC, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WINDOW, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/lighthouse_metatiles.bin b/data/tilesets/lighthouse_metatiles.bin
new file mode 100644
index 000000000..21ca0f09a
--- /dev/null
+++ b/data/tilesets/lighthouse_metatiles.bin
Binary files differ
diff --git a/data/tilesets/mansion_collision.asm b/data/tilesets/mansion_collision.asm
new file mode 100644
index 000000000..5db409be7
--- /dev/null
+++ b/data/tilesets/mansion_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 06
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, WALL ; 0b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WALL, FLOOR, WALL ; 0e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0f
+ tilecoll WALL, WALL, BOOKSHELF, INCENSE_BURNER ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, BOOKSHELF, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 15
+ tilecoll STAIRCASE, STAIRCASE, FLOOR, FLOOR ; 16
+ tilecoll STAIRCASE, STAIRCASE, FLOOR, FLOOR ; 17
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, BOOKSHELF, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1e
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 20
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 21
+ tilecoll RIGHT_WALL, LEFT_WALL, WALL, FLOOR ; 22
+ tilecoll WALL, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, WALL, STAIRCASE, LEFT_WALL ; 24
+ tilecoll WALL, WALL, WALL, STAIRCASE ; 25
+ tilecoll WALL, WALL, LEFT_WALL, FLOOR ; 26
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 27
+ tilecoll WALL, WALL, DOOR, WALL ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 29
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2a
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll RIGHT_WALL, LEFT_WALL, RIGHT_WALL, LEFT_WALL ; 2d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, WALL, FLOOR ; 30
+ tilecoll WALL, WALL, FLOOR, WALL ; 31
+ tilecoll WALL, WALL, FLOOR, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, WALL, WALL ; 36
+ tilecoll WALL, WALL, FLOOR, WALL ; 37
+ tilecoll WALL, FLOOR, WALL, WALL ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll WALL, FLOOR, WALL, WALL ; 3e
+ tilecoll FLOOR, WALL, WALL, WALL ; 3f
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 40
diff --git a/data/tilesets/mansion_metatiles.bin b/data/tilesets/mansion_metatiles.bin
new file mode 100644
index 000000000..d4506328f
--- /dev/null
+++ b/data/tilesets/mansion_metatiles.bin
@@ -0,0 +1,5 @@
+
+ 
+  EU((((6868$%"#4523236778FGGHFGGHVWWX68"#./23^_*+,-:;<=JKLMZ[&'
+  
+  !0168"#*+23:; ,-<=LMJKZ[*+,-:;<=JKLMZ[ƒ‡‡€¡±µFGFG\\GGGHGGGH !]01]67FG7778GGGH((((ŎŞ)ITTחׇ9TTYԇǝ9ӊTT߫ݻ&')TTߗ݇&'ˇؐͯ߇܇ڐɬʿřׇׇׇׇԇǝԇǝ‡‡‡‡‡‡‡ׇׇ׃דԇǝԐǝ‡ \ No newline at end of file
diff --git a/data/tilesets/mart_collision.asm b/data/tilesets/mart_collision.asm
new file mode 100644
index 000000000..80076ac3f
--- /dev/null
+++ b/data/tilesets/mart_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 02
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 09
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, COUNTER, FLOOR ; 0b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0c
+ tilecoll FLOOR, COUNTER, FLOOR, FLOOR ; 0d
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 0e
+ tilecoll COUNTER, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, WALL, WALL, WALL ; 10
+ tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 11
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, MART_SHELF, FLOOR, MART_SHELF ; 13
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 14
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 15
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 18
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 1a
+ tilecoll COUNTER, COUNTER, COUNTER, FLOOR ; 1b
+ tilecoll COUNTER, COUNTER, FLOOR, COUNTER ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 1f
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 23
+ tilecoll FLOOR, MART_SHELF, FLOOR, MART_SHELF ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, COUNTER, MART_SHELF ; 28
+ tilecoll FLOOR, MART_SHELF, FLOOR, MART_SHELF ; 29
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll COUNTER, COUNTER, FLOOR, MART_SHELF ; 2d
+ tilecoll FLOOR, MART_SHELF, COUNTER, COUNTER ; 2e
+ tilecoll COUNTER, FLOOR, COUNTER, COUNTER ; 2f
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, FLOOR, WALL, WALL ; 34
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 35
+ tilecoll FLOOR, WALL, WALL, WALL ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, STAIRCASE ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/mart_metatiles.bin b/data/tilesets/mart_metatiles.bin
new file mode 100644
index 000000000..63b2f629d
--- /dev/null
+++ b/data/tilesets/mart_metatiles.bin
@@ -0,0 +1,3 @@
+,-<=
+II "#23$%45*+>?>?*+ !01JK ./*;;;>?>?>?;;;;&'67()89@AB+PQRECD\]STU VWVWXYXYZ[Z[ PQPQPQPQ^_^_ؑ*+>?>?,-<=*;;;>?>?::>?::;;;+>?::>?::>?>?:: ::>? F:F:F::G:G:G"#23$%45 LMLMLMLMNONO !HH01HH>?HH>?HHHH&'HH67HH()HH89 
+II *+PQ>?PQ>?^_HH&'HH67HH()HH89/HHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHH;;;;&'67()89>?>?.Ӑڐ܁"#23$% \ No newline at end of file
diff --git a/data/tilesets/omanyte_word_room_collision.asm b/data/tilesets/omanyte_word_room_collision.asm
new file mode 100644
index 000000000..138f07143
--- /dev/null
+++ b/data/tilesets/omanyte_word_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, WALL, FLOOR ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, WALL ; 1a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/omanyte_word_room_metatiles.bin b/data/tilesets/omanyte_word_room_metatiles.bin
new file mode 100644
index 000000000..3cc62f562
--- /dev/null
+++ b/data/tilesets/omanyte_word_room_metatiles.bin
@@ -0,0 +1,17 @@
+ǎמ[\M]żň՘ÜŠհ 
+ 
+ 
+  !"#ÈӘ@ABC 89
+ 
+ 
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ TVXY 
+ C 6!@ #8
+ 6"7ɚň՘ɼͬݼæӶ \ No newline at end of file
diff --git a/data/tilesets/park_collision.asm b/data/tilesets/park_collision.asm
new file mode 100644
index 000000000..c5965e0c9
--- /dev/null
+++ b/data/tilesets/park_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS, TALL_GRASS, TALL_GRASS, TALL_GRASS ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, WALL, WALL ; 07
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0b
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0c
+ tilecoll WALL, WALL, WALL, WALL ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll WALL, WALL, WALL, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll WALL, WALL, FLOOR, WALL ; 13
+ tilecoll LONG_GRASS, LONG_GRASS, LONG_GRASS, LONG_GRASS ; 14
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 15
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 18
+ tilecoll WALL, FLOOR, WALL, WALL ; 19
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 1a
+ tilecoll FLOOR, WALL, WALL, WALL ; 1b
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, WALL, WALL, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll WALL, FLOOR, WALL, WALL ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll FLOOR, WALL, WALL, WALL ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll LONG_GRASS, LONG_GRASS, LONG_GRASS, LONG_GRASS ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll WALL, WALL, WALL, WALL ; 36
+ tilecoll WALL, WALL, WALL, WALL ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll WALL, WALL, WALL, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll LONG_GRASS, LONG_GRASS, LONG_GRASS, LONG_GRASS ; 40
diff --git a/data/tilesets/park_metatiles.bin b/data/tilesets/park_metatiles.bin
new file mode 100644
index 000000000..1fe931640
--- /dev/null
+++ b/data/tilesets/park_metatiles.bin
Binary files differ
diff --git a/data/tilesets/players_house_collision.asm b/data/tilesets/players_house_collision.asm
new file mode 100644
index 000000000..ed6b70a29
--- /dev/null
+++ b/data/tilesets/players_house_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WINDOW, WALL, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, TV ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, WALL, WALL ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 09
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 0a
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0b
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, PC, FLOOR ; 11
+ tilecoll WALL, WALL, TV, WALL ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, TV, FLOOR, WALL ; 14
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 15
+ tilecoll WALL, WALL, FLOOR, WALL ; 16
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 17
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 18
+ tilecoll WALL, WALL, RADIO, PC ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, RADIO, FLOOR ; 1b
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, VIRTUAL_BOY, FLOOR ; 1f
+ tilecoll WALL, WALL, PC, RADIO ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, TV, BOOKSHELF ; 22
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 23
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 24
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 25
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 26
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 27
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/players_house_metatiles.bin b/data/tilesets/players_house_metatiles.bin
new file mode 100644
index 000000000..f316eb8c1
--- /dev/null
+++ b/data/tilesets/players_house_metatiles.bin
Binary files differ
diff --git a/data/tilesets/players_room_collision.asm b/data/tilesets/players_room_collision.asm
new file mode 100644
index 000000000..464d80b83
--- /dev/null
+++ b/data/tilesets/players_room_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, TV, BOOKSHELF ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1f
+ tilecoll TOWN_MAP, STAIRCASE, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 24
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 25
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 26
+ tilecoll FF, FF, FF, FF ; 27
+ tilecoll FF, FF, FF, FF ; 28
+ tilecoll FF, FF, FF, FF ; 29
+ tilecoll FF, FF, FF, FF ; 2a
+ tilecoll FF, FF, FF, FF ; 2b
+ tilecoll FF, FF, FF, FF ; 2c
+ tilecoll FF, FF, FF, FF ; 2d
+ tilecoll FF, FF, FF, FF ; 2e
+ tilecoll FF, FF, FF, FF ; 2f
+ tilecoll FF, FF, FF, FF ; 30
+ tilecoll FF, FF, FF, FF ; 31
+ tilecoll FF, FF, FF, FF ; 32
+ tilecoll FF, FF, FF, FF ; 33
+ tilecoll FF, FF, FF, FF ; 34
+ tilecoll FF, FF, FF, FF ; 35
+ tilecoll FF, FF, FF, FF ; 36
+ tilecoll FF, FF, FF, FF ; 37
+ tilecoll FF, FF, FF, FF ; 38
+ tilecoll FF, FF, FF, FF ; 39
+ tilecoll FF, FF, FF, FF ; 3a
+ tilecoll FF, FF, FF, FF ; 3b
+ tilecoll FF, FF, FF, FF ; 3c
+ tilecoll FF, FF, FF, FF ; 3d
+ tilecoll FF, FF, FF, FF ; 3e
+ tilecoll FF, FF, FF, FF ; 3f
+ tilecoll FF, FF, FF, FF ; 40
diff --git a/data/tilesets/players_room_metatiles.bin b/data/tilesets/players_room_metatiles.bin
new file mode 100644
index 000000000..0839798fe
--- /dev/null
+++ b/data/tilesets/players_room_metatiles.bin
Binary files differ
diff --git a/data/tilesets/pokecenter_collision.asm b/data/tilesets/pokecenter_collision.asm
new file mode 100644
index 000000000..5b776330e
--- /dev/null
+++ b/data/tilesets/pokecenter_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll WALL, WALL, WALL, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, WALL ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 06
+ tilecoll WALL, COUNTER, FLOOR, FLOOR ; 07
+ tilecoll COUNTER, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, PC ; 09
+ tilecoll WALL, WALL, FLOOR, WALL ; 0a
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, FLOOR, WALL ; 10
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 12
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, FLOOR, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, FLOOR, PC ; 22
+ tilecoll WALL, WALL, WALL, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 25
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 26
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, WALL ; 29
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, FLOOR ; 2b
+ tilecoll WALL, DOOR, FLOOR, FLOOR ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 2f
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 30
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 31
+ tilecoll WALL, WALL, FLOOR, WALL ; 32
+ tilecoll PC, WALL, FLOOR, WALL ; 33
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 34
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 35
+ tilecoll DOOR, WALL, FLOOR, WALL ; 36
+ tilecoll DOOR, WALL, FLOOR, FLOOR ; 37
+ tilecoll DOOR, WALL, FLOOR, WALL ; 38
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 39
+ tilecoll WALL, WALL, FLOOR, WALL ; 3a
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, FLOOR, WALL ; 3c
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll WARP_PANEL, FLOOR, FLOOR, FLOOR ; 3e
+ tilecoll WARP_PANEL, WARP_PANEL, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, WARP_PANEL, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/pokecenter_metatiles.bin b/data/tilesets/pokecenter_metatiles.bin
new file mode 100644
index 000000000..c96c4843b
--- /dev/null
+++ b/data/tilesets/pokecenter_metatiles.bin
Binary files differ
diff --git a/data/tilesets/pokecom_center_collision.asm b/data/tilesets/pokecom_center_collision.asm
new file mode 100644
index 000000000..1ecef84de
--- /dev/null
+++ b/data/tilesets/pokecom_center_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll WALL, WALL, WALL, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, PC ; 08
+ tilecoll WALL, WALL, WALL, FLOOR ; 09
+ tilecoll WALL, COUNTER, FLOOR, FLOOR ; 0a
+ tilecoll WALL, COUNTER, FLOOR, FLOOR ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, WALL, FLOOR, WALL ; 0d
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, FLOOR, WALL ; 10
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, WALL, FLOOR ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, WALL, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 2d
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 2e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 36
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 38
+ tilecoll WALL, WALL, WALL, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/pokecom_center_metatiles.bin b/data/tilesets/pokecom_center_metatiles.bin
new file mode 100644
index 000000000..097a882fd
--- /dev/null
+++ b/data/tilesets/pokecom_center_metatiles.bin
@@ -0,0 +1,2 @@
+================"#23"#23%,-./<==?LMNO
+  !01@A544$$$$ 44$$$$4444$$$$R,/RLOR\]%4$,/LO:;\] 5$$$$R&'RRJKZ[%444 $$$ 4444$$$$4444$$$$4444$$$$================۪݈4$۶ѷDETUQQQQPPPPHIHIXYXY4$> 444444^_^_()89:;$$$$ǂׁ()$$89:;ׂ BCSϾ߁ 4$$$ 444$4444$$$$ \ No newline at end of file
diff --git a/data/tilesets/port_collision.asm b/data/tilesets/port_collision.asm
new file mode 100644
index 000000000..fb37ee11e
--- /dev/null
+++ b/data/tilesets/port_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll BUOY, WATER, BUOY, WATER ; 03
+ tilecoll WATER, BUOY, WATER, BUOY ; 04
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 05
+ tilecoll WALL, WALL, WALL, WATER ; 06
+ tilecoll WALL, WALL, WATER, WATER ; 07
+ tilecoll WALL, WALL, WATER, WALL ; 08
+ tilecoll WATER, WATER, WATER, WATER ; 09
+ tilecoll WALL, WATER, WALL, WATER ; 0a
+ tilecoll WATER, WATER, WATER, WATER ; 0b
+ tilecoll WATER, WALL, WATER, WALL ; 0c
+ tilecoll WATER, WATER, FLOOR, FLOOR ; 0d
+ tilecoll WALL, WATER, WALL, WALL ; 0e
+ tilecoll WATER, WATER, WALL, WALL ; 0f
+ tilecoll WATER, WALL, WALL, WALL ; 10
+ tilecoll WATER, WATER, WATER, WATER ; 11
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll WATER, WATER, WATER, WATER ; 13
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 14
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 15
+ tilecoll WATER, WATER, WATER, WATER ; 16
+ tilecoll WATER, WATER, WATER, WATER ; 17
+ tilecoll WATER, FLOOR, WALL, WARP_CARPET_DOWN ; 18
+ tilecoll WATER, WATER, WALL, WALL ; 19
+ tilecoll WATER, FLOOR, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WATER, WALL, WALL ; 1c
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1d
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1e
+ tilecoll WATER_21, WATER_21, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WATER ; 20
+ tilecoll WALL, FLOOR, WATER, WARP_CARPET_DOWN ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 22
+ tilecoll BUOY, BUOY, BUOY, WATER ; 23
+ tilecoll BUOY, BUOY, WATER, BUOY ; 24
+ tilecoll BUOY, BUOY, WATER, WATER ; 25
+ tilecoll BUOY, BUOY, WATER, WATER ; 26
+ tilecoll LADDER, LADDER, LADDER, LADDER ; 27
+ tilecoll FLOOR, FLOOR, WATER, WATER ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, WATER ; 29
+ tilecoll FLOOR, FLOOR, WATER, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, WATER, FLOOR, FLOOR ; 2d
+ tilecoll WATER, FLOOR, FLOOR, FLOOR ; 2e
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 2f
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 30
+ tilecoll FLOOR, FLOOR, WATER, WATER ; 31
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 34
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 35
+ tilecoll WALL, WALL, FLOOR, LADDER ; 36
+ tilecoll WATER, WATER, WATER, WATER ; 37
+ tilecoll FLOOR, WATER, FLOOR, WATER ; 38
+ tilecoll WATER, FLOOR, WATER, FLOOR ; 39
+ tilecoll WATER, WATER, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3c
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 40
diff --git a/data/tilesets/port_metatiles.bin b/data/tilesets/port_metatiles.bin
new file mode 100644
index 000000000..69a600707
--- /dev/null
+++ b/data/tilesets/port_metatiles.bin
@@ -0,0 +1,65 @@
+""""!!!!1111111111111111    ""  !!!!+,--9::3#$%./02;<=>&'()345?@AB*678CDE+,-39:PQXYZFGHIRRSSZ[\\IJKLT,-U]^^^MNOVW_""""""""
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  ""1111 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  \ No newline at end of file
diff --git a/data/tilesets/radio_tower_collision.asm b/data/tilesets/radio_tower_collision.asm
new file mode 100644
index 000000000..1713eb438
--- /dev/null
+++ b/data/tilesets/radio_tower_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, WALL, COUNTER ; 06
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 07
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 08
+ tilecoll COUNTER, COUNTER, FLOOR, FLOOR ; 09
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 0a
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 0d
+ tilecoll WALL, STAIRCASE, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, COUNTER ; 0f
+ tilecoll FLOOR, FLOOR, COUNTER, FLOOR ; 10
+ tilecoll FLOOR, COUNTER, FLOOR, FLOOR ; 11
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 12
+ tilecoll WALL, WALL, PC, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 14
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll FLOOR, FLOOR, COUNTER, FLOOR ; 18
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, WALL, FLOOR, COUNTER ; 1a
+ tilecoll WALL, COUNTER, FLOOR, COUNTER ; 1b
+ tilecoll COUNTER, FLOOR, FLOOR, FLOOR ; 1c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1d
+ tilecoll STAIRCASE, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1f
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 21
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 22
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, FLOOR, BOOKSHELF ; 25
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 27
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, WALL ; 29
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 2c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2d
+ tilecoll FLOOR, COUNTER, FLOOR, COUNTER ; 2e
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll WALL, WALL, FLOOR, WALL ; 32
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 35
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 36
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, FLOOR, COUNTER, COUNTER ; 39
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 3d
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 3e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/radio_tower_metatiles.bin b/data/tilesets/radio_tower_metatiles.bin
new file mode 100644
index 000000000..01c0b4aa5
--- /dev/null
+++ b/data/tilesets/radio_tower_metatiles.bin
Binary files differ
diff --git a/data/tilesets/ruins_of_alph_collision.asm b/data/tilesets/ruins_of_alph_collision.asm
new file mode 100644
index 000000000..8c65340ab
--- /dev/null
+++ b/data/tilesets/ruins_of_alph_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, FLOOR ; 02
+ tilecoll WALL, WALL, FLOOR, WALL ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, FLOOR ; 06
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 07
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, WALL ; 09
+ tilecoll WALL, FLOOR, WALL, WALL ; 0a
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0c
+ tilecoll FLOOR, WALL, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0f
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 10
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 12
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 14
+ tilecoll WALL, FLOOR, WALL, WALL ; 15
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 16
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 17
+ tilecoll FLOOR, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, PIT ; 19
+ tilecoll WALL, WALL, PIT, WALL ; 1a
+ tilecoll FLOOR, FLOOR, LADDER, FLOOR ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1d
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 1f
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 21
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 22
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 23
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, WALL ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WALL ; 2c
+ tilecoll FLOOR, FLOOR, WALL, WARP_CARPET_DOWN ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, FLOOR, FLOOR, PIT ; 30
+ tilecoll CAVE, WALL, FLOOR, FLOOR ; 31
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 32
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 33
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll WALL, WALL, WALL, PIT ; 35
+ tilecoll WALL, WALL, PIT, WALL ; 36
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, FLOOR, GRASS_4A, FLOOR ; 39
+ tilecoll FLOOR, FLOOR, GRASS_4B, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, CUT_28, FLOOR ; 3b
+ tilecoll FLOOR, FLOOR, WATER, FLOOR ; 3c
+ tilecoll 64, FLOOR, WATERFALL_UP, FLOOR ; 3d
+ tilecoll 65, FLOOR, WATERFALL, FLOOR ; 3e
+ tilecoll WATERFALL_UP, FLOOR, WARP_CARPET_DOWN, FLOOR ; 3f
+ tilecoll WATERFALL, FLOOR, DOOR, FLOOR ; 40
diff --git a/data/tilesets/ruins_of_alph_metatiles.bin b/data/tilesets/ruins_of_alph_metatiles.bin
new file mode 100644
index 000000000..61ef041b5
--- /dev/null
+++ b/data/tilesets/ruins_of_alph_metatiles.bin
Binary files differ
diff --git a/data/tilesets/tower_collision.asm b/data/tilesets/tower_collision.asm
new file mode 100644
index 000000000..9d02e9640
--- /dev/null
+++ b/data/tilesets/tower_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 06
+ tilecoll WALL, WALL, FLOOR, WALL ; 07
+ tilecoll WALL, WALL, WALL, WALL ; 08
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, FLOOR, WALL, WALL ; 0d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, WALL, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 11
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 12
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 13
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 14
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 15
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 16
+ tilecoll WALL, FLOOR, WALL, WALL ; 17
+ tilecoll FLOOR, WALL, WALL, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 1e
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 1f
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll WALL, WALL, WALL, FLOOR ; 22
+ tilecoll WALL, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll FLOOR, FLOOR, WARP_PANEL, FLOOR ; 25
+ tilecoll WALL, WALL, PIT, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 27
+ tilecoll WARP_CARPET_UP, WARP_CARPET_UP, FLOOR, FLOOR ; 28
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 29
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2a
+ tilecoll WALL, WALL, WALL, WALL ; 2b
+ tilecoll WALL, HOP_LEFT, WALL, WALL ; 2c
+ tilecoll HOP_RIGHT, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, WALL, WALL, FLOOR ; 2f
+ tilecoll WALL, WALL, FLOOR, WALL ; 30
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 31
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 32
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, FLOOR, WALL ; 35
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 36
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 37
+ tilecoll PIT, PIT, FLOOR, FLOOR ; 38
+ tilecoll FLOOR, PIT, FLOOR, PIT ; 39
+ tilecoll PIT, FLOOR, PIT, FLOOR ; 3a
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 3b
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 3c
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 3d
+ tilecoll WALL, HOP_DOWN, WALL, WALL ; 3e
+ tilecoll HOP_DOWN, WALL, WALL, WALL ; 3f
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/tower_metatiles.bin b/data/tilesets/tower_metatiles.bin
new file mode 100644
index 000000000..b6668fcd4
--- /dev/null
+++ b/data/tilesets/tower_metatiles.bin
@@ -0,0 +1,2 @@
+ @ !!A1A1!!!!!!@ A1A1
+ A1A1A1A1A1A1A1A1A1A1!!!!!!!!A1A1!!!! -.=><>MN./>?,NO()89*+:;()89*+:;MN]^NO^_A1A1@ !!A1A1!!@ !!!!^^^^"#23&'67"#23&'67PQPQPQPQPQPQPQPQ$$$$  "#23!!67"#!!2367%545%545%545%545 ^^  FV GW PQPQRSRSBCHZ[!XL\67IBCY!Z[L\67JKZ[L\67JKZ[L\67DETU!!!!PPPPPPPPFV   GW  \ No newline at end of file
diff --git a/data/tilesets/traditional_house_collision.asm b/data/tilesets/traditional_house_collision.asm
new file mode 100644
index 000000000..95cb1c21d
--- /dev/null
+++ b/data/tilesets/traditional_house_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, RADIO, FLOOR ; 02
+ tilecoll WALL, WALL, MART_SHELF, MART_SHELF ; 03
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 07
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 08
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 09
+ tilecoll WALL, WALL, WALL, WALL ; 0a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0c
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 11
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 12
+ tilecoll COUNTER, FLOOR, COUNTER, FLOOR ; 13
+ tilecoll WALL, WALL, INCENSE_BURNER, BOOKSHELF ; 14
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 15
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 16
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 19
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 1b
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 1c
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1e
+ tilecoll FLOOR, FLOOR, FLOOR, LADDER ; 1f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 20
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 22
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 23
+ tilecoll WALL, WALL, RADIO, FLOOR ; 24
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 25
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 26
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 27
+ tilecoll LADDER, FLOOR, FLOOR, FLOOR ; 28
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2c
+ tilecoll FLOOR, FLOOR, HOP_DOWN, HOP_DOWN ; 2d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 2e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 2f
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, WALL, WALL, FLOOR ; 34
+ tilecoll WALL, WALL, WALL, FLOOR ; 35
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 36
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 37
+ tilecoll WALL, WALL, FLOOR, WALL ; 38
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 39
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 3a
+ tilecoll 04, 03, 03, 03 ; 3b
+ tilecoll 03, 03, 03, 03 ; 3c
+ tilecoll 03, 03, 04, 04 ; 3d
+ tilecoll 04, 04, 04, 04 ; 3e
+ tilecoll 03, 03, 03, 03 ; 3f
+ tilecoll WARP_CARPET_DOWN, 04, 03, 03 ; 40
diff --git a/data/tilesets/traditional_house_metatiles.bin b/data/tilesets/traditional_house_metatiles.bin
new file mode 100644
index 000000000..3f6b41bd1
--- /dev/null
+++ b/data/tilesets/traditional_house_metatiles.bin
Binary files differ
diff --git a/data/tilesets/train_station_collision.asm b/data/tilesets/train_station_collision.asm
new file mode 100644
index 000000000..55b147237
--- /dev/null
+++ b/data/tilesets/train_station_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll FF, FF, FF, FF ; 01
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 02
+ tilecoll UP_WALL, FLOOR, UP_WALL, FLOOR ; 03
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 07
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 08
+ tilecoll WALL, FLOOR, WALL, WALL ; 09
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0d
+ tilecoll WALL, WALL, WALL, WALL ; 0e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, DOOR, WALL ; 12
+ tilecoll WALL, WALL, WALL, DOOR ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, WALL ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, WALL ; 17
+ tilecoll WALL, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 19
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1a
+ tilecoll WALL, WALL, WALL, WALL ; 1b
+ tilecoll WALL, WALL, WALL, WALL ; 1c
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1d
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1f
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 22
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 23
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 24
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 25
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 26
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 27
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 28
+ tilecoll WALL, WALL, WALL, FLOOR ; 29
+ tilecoll WALL, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2c
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2d
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2e
+ tilecoll WALL, WALL, WALL, WALL ; 2f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 30
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 31
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 32
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 33
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 34
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 35
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 36
+ tilecoll WALL, WALL, WALL, FLOOR ; 37
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 38
+ tilecoll WALL, WALL, FLOOR, WALL ; 39
+ tilecoll WALL, FLOOR, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll FLOOR, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, WALL, WALL ; 3e
+ tilecoll WALL, WALL, WALL, WALL ; 3f
+ tilecoll WALL, WALL, WALL, WALL ; 40
diff --git a/data/tilesets/train_station_metatiles.bin b/data/tilesets/train_station_metatiles.bin
new file mode 100644
index 000000000..9bbdd0bd2
--- /dev/null
+++ b/data/tilesets/train_station_metatiles.bin
Binary files differ
diff --git a/data/tilesets/underground_collision.asm b/data/tilesets/underground_collision.asm
new file mode 100644
index 000000000..0c3120451
--- /dev/null
+++ b/data/tilesets/underground_collision.asm
@@ -0,0 +1,64 @@
+ tilecoll WALL, WALL, WALL, WALL ; 01
+ tilecoll WALL, WALL, WALL, WALL ; 02
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 03
+ tilecoll FLOOR, LADDER, FLOOR, FLOOR ; 04
+ tilecoll WALL, WALL, WALL, FLOOR ; 05
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 06
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, PIT, PIT ; 08
+ tilecoll WALL, WALL, WALL, FLOOR ; 09
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, FLOOR, WALL ; 0b
+ tilecoll WALL, WALL, WALL, WALL ; 0c
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 0f
+ tilecoll FLOOR, FLOOR, FLOOR, WARP_PANEL ; 10
+ tilecoll WALL, FLOOR, WALL, WALL ; 11
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 12
+ tilecoll FLOOR, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 14
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 15
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 16
+ tilecoll WALL, FLOOR, WALL, WALL ; 17
+ tilecoll FLOOR, WALL, WALL, WALL ; 18
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 19
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1a
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 1b
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 1c
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 1d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 1f
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 20
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 21
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 22
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 23
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 24
+ tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 25
+ tilecoll WALL, WARP_CARPET_UP, FLOOR, FLOOR ; 26
+ tilecoll WARP_CARPET_UP, WALL, FLOOR, FLOOR ; 27
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 28
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 29
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 2a
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll WALL, WALL, WALL, WALL ; 2d
+ tilecoll WALL, WALL, WALL, WALL ; 2e
+ tilecoll WARP_CARPET_DOWN, WARP_CARPET_DOWN, WALL, WALL ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll WALL, WALL, WALL, WALL ; 31
+ tilecoll WALL, WALL, WALL, WALL ; 32
+ tilecoll WALL, WALL, WALL, WALL ; 33
+ tilecoll WALL, WALL, WALL, WALL ; 34
+ tilecoll WALL, WALL, WALL, WALL ; 35
+ tilecoll WALL, WALL, WALL, WALL ; 36
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 37
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 38
+ tilecoll WALL, WALL, WALL, WALL ; 39
+ tilecoll WALL, WALL, WALL, WALL ; 3a
+ tilecoll WALL, WALL, WALL, WALL ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, WALL, WALL, WALL ; 3d
+ tilecoll WALL, WALL, BOOKSHELF, BOOKSHELF ; 3e
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 40
diff --git a/data/tilesets/underground_metatiles.bin b/data/tilesets/underground_metatiles.bin
new file mode 100644
index 000000000..28b807e1e
--- /dev/null
+++ b/data/tilesets/underground_metatiles.bin
@@ -0,0 +1,2 @@
+*+:;,-<=EFUV 0144444444   44 444444      CDCDSTSTCDCDSTST        "#23                     
+ QQQQQQQQ./>?./>?@ANOP]^_&'67             01 01@AAAPQQQPQQQAAABQQQRQQQR@AABPQQRPQQRPQQRPQQRPQQRPQQRPQQRPQQRPQQRPQQR@B@B()89()89 \ No newline at end of file
diff --git a/data/tilesets/unused_dark_cave_collision.asm b/data/tilesets/unused_dark_cave_collision.asm
new file mode 100644
index 000000000..0022d3881
--- /dev/null
+++ b/data/tilesets/unused_dark_cave_collision.asm
@@ -0,0 +1,128 @@
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 02
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 03
+ tilecoll TALL_GRASS_10, TALL_GRASS_10, TALL_GRASS_10, TALL_GRASS_10 ; 04
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 05
+ tilecoll WALL, WALL, WALL, WALL ; 06
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 07
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 08
+ tilecoll WALL, WALL, WALL, WALL ; 09
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+ tilecoll WALL, WALL, WALL, WALL ; 0b
+ tilecoll WARP_CARPET_LEFT, FLOOR, WARP_CARPET_LEFT, FLOOR ; 0c
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 0d
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+ tilecoll FLOOR, WARP_CARPET_RIGHT, FLOOR, WARP_CARPET_RIGHT ; 0f
+ tilecoll WALL, WALL, WALL, WALL ; 10
+ tilecoll WALL, WALL, WALL, WALL ; 11
+ tilecoll WALL, WALL, WALL, WALL ; 12
+ tilecoll WALL, WALL, WALL, WALL ; 13
+ tilecoll WALL, WALL, WALL, WALL ; 14
+ tilecoll WALL, WALL, WALL, DOOR ; 15
+ tilecoll WALL, WALL, WALL, WALL ; 16
+ tilecoll WALL, WALL, WALL, DOOR ; 17
+ tilecoll WALL, WALL, TOWN_MAP, WALL ; 18
+ tilecoll WALL, WALL, WALL, WALL ; 19
+ tilecoll WALL, WALL, WALL, WALL ; 1a
+ tilecoll WALL, WALL, WALL, DOOR ; 1b
+ tilecoll WALL, WALL, TOWN_MAP, WALL ; 1c
+ tilecoll WALL, WALL, WALL, WALL ; 1d
+ tilecoll WALL, WALL, DOOR, WALL ; 1e
+ tilecoll WALL, WALL, WALL, WALL ; 1f
+ tilecoll WALL, WALL, WALL, WALL ; 20
+ tilecoll WALL, WALL, WALL, WALL ; 21
+ tilecoll WALL, WALL, WALL, WALL ; 22
+ tilecoll WALL, WALL, WALL, WALL ; 23
+ tilecoll WALL, WALL, WALL, WALL ; 24
+ tilecoll WALL, WALL, WALL, WALL ; 25
+ tilecoll WALL, WALL, WALL, WALL ; 26
+ tilecoll WALL, WALL, WALL, WALL ; 27
+ tilecoll WALL, WALL, WALL, WALL ; 28
+ tilecoll WALL, WALL, WALL, DOOR ; 29
+ tilecoll WALL, WALL, WALL, WALL ; 2a
+ tilecoll WALL, WALL, WALL, DOOR ; 2b
+ tilecoll WALL, WALL, WALL, WALL ; 2c
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2d
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 2e
+ tilecoll WALL, WALL, WALL, DOOR ; 2f
+ tilecoll WALL, WALL, WALL, WALL ; 30
+ tilecoll BUOY, BUOY, BUOY, WATER_21 ; 31
+ tilecoll BUOY, BUOY, WATER_21, WATER_21 ; 32
+ tilecoll BUOY, BUOY, WATER_21, BUOY ; 33
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 34
+ tilecoll BUOY, WATER_21, BUOY, WATER_21 ; 35
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 36
+ tilecoll WATER_21, BUOY, WATER_21, BUOY ; 37
+ tilecoll WALL, WALL, WALL, WALL ; 38
+ tilecoll BUOY, WATER_21, BUOY, BUOY ; 39
+ tilecoll WATER_21, WATER_21, BUOY, BUOY ; 3a
+ tilecoll WATER_21, BUOY, BUOY, BUOY ; 3b
+ tilecoll WALL, WALL, WALL, WALL ; 3c
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 3d
+ tilecoll FLOOR, WALL, FLOOR, FLOOR ; 3e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 3f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 40
+ tilecoll WALL, WALL, WALL, FLOOR ; 41
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 42
+ tilecoll WALL, WALL, FLOOR, WALL ; 43
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 44
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 45
+ tilecoll TOWN_MAP, FLOOR, FLOOR, FLOOR ; 46
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 47
+ tilecoll FLOOR, FLOOR, FLOOR, TOWN_MAP ; 48
+ tilecoll WALL, FLOOR, WALL, WALL ; 49
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 4a
+ tilecoll FLOOR, WALL, WALL, WALL ; 4b
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 4c
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4d
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 4e
+ tilecoll WALL, HOP_LEFT, WALL, HOP_LEFT ; 4f
+ tilecoll HOP_RIGHT, WALL, HOP_RIGHT, WALL ; 50
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 51
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 52
+ tilecoll WALL, HOP_DOWN_LEFT, WALL, WALL ; 53
+ tilecoll HOP_DOWN_RIGHT, WALL, WALL, WALL ; 54
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 55
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 56
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 57
+ tilecoll HOP_DOWN, HOP_DOWN, WALL, WALL ; 58
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 59
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 5a
+ tilecoll HOP_DOWN, FLOOR, WALL, FLOOR ; 5b
+ tilecoll WALL, CUT_TREE, FLOOR, FLOOR ; 5c
+ tilecoll WALL, WALL, WALL, FLOOR ; 5d
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 5e
+ tilecoll WALL, WALL, FLOOR, WALL ; 5f
+ tilecoll FLOOR, WALL, FLOOR, CUT_TREE ; 60
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 61
+ tilecoll WALL, WALL, WALL, WALL ; 62
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 63
+ tilecoll FLOOR, FLOOR, CUT_TREE, WALL ; 64
+ tilecoll WALL, FLOOR, WALL, WALL ; 65
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 66
+ tilecoll FLOOR, WALL, WALL, WALL ; 67
+ tilecoll CUT_TREE, FLOOR, WALL, FLOOR ; 68
+ tilecoll WALL, FLOOR, WALL, FLOOR ; 69
+ tilecoll FLOOR, WALL, FLOOR, WALL ; 6a
+ tilecoll WALL, UP_WALL, WALL, FLOOR ; 6b
+ tilecoll UP_WALL, WALL, FLOOR, WALL ; 6c
+ tilecoll WALL, FLOOR, WALL, WALL ; 6d
+ tilecoll FLOOR, WALL, WALL, WALL ; 6e
+ tilecoll FLOOR, FLOOR, WALL, FLOOR ; 6f
+ tilecoll FLOOR, FLOOR, FLOOR, WALL ; 70
+ tilecoll UP_WALL, UP_WALL, FLOOR, FLOOR ; 71
+ tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 72
+ tilecoll FLOOR, FLOOR, WALL, WALL ; 73
+ tilecoll FLOOR, FLOOR, DOOR, WALL ; 74
+ tilecoll WALL, FLOOR, FLOOR, FLOOR ; 75
+ tilecoll WALL, WALL, FLOOR, FLOOR ; 76
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 77
+ tilecoll WALL, WALL, WALL, WALL ; 78
+ tilecoll WALL, WALL, WALL, WALL ; 79
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 7a
+ tilecoll WATER_21, WATER_21, WATER_21, WATER_21 ; 7b
+ tilecoll WALL, WALL, WALL, WALL ; 7c
+ tilecoll WALL, WALL, WALL, WALL ; 7d
+ tilecoll WALL, WALL, WALL, WALL ; 7e
+ tilecoll WALL, WALL, WALL, WALL ; 7f
+ tilecoll WALL, WALL, WALL, WALL ; 80
diff --git a/data/tilesets/unused_dark_cave_metatiles.bin b/data/tilesets/unused_dark_cave_metatiles.bin
new file mode 100644
index 000000000..b70f1a0e6
--- /dev/null
+++ b/data/tilesets/unused_dark_cave_metatiles.bin
Binary files differ
diff --git a/data/trainers/encounter_music.asm b/data/trainers/encounter_music.asm
index cd0348d81..a64d160fe 100644
--- a/data/trainers/encounter_music.asm
+++ b/data/trainers/encounter_music.asm
@@ -2,74 +2,74 @@
TrainerEncounterMusic::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
- db MUSIC_HIKER_ENCOUNTER ; none
- db MUSIC_YOUNGSTER_ENCOUNTER ; falkner
- db MUSIC_LASS_ENCOUNTER ; whitney
- db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy
- db MUSIC_OFFICER_ENCOUNTER ; morty
- db MUSIC_OFFICER_ENCOUNTER ; pryce
- db MUSIC_LASS_ENCOUNTER ; jasmine
- db MUSIC_OFFICER_ENCOUNTER ; chuck
- db MUSIC_BEAUTY_ENCOUNTER ; clair
- db MUSIC_RIVAL_ENCOUNTER ; rival1
- db MUSIC_HIKER_ENCOUNTER ; pokemon_prof
- db MUSIC_HIKER_ENCOUNTER ; will
- db MUSIC_HIKER_ENCOUNTER ; cal
- db MUSIC_OFFICER_ENCOUNTER ; bruno
- db MUSIC_HIKER_ENCOUNTER ; karen
- db MUSIC_HIKER_ENCOUNTER ; koga
- db MUSIC_OFFICER_ENCOUNTER ; champion
- db MUSIC_YOUNGSTER_ENCOUNTER ; brock
- db MUSIC_LASS_ENCOUNTER ; misty
- db MUSIC_OFFICER_ENCOUNTER ; lt_surge
- db MUSIC_ROCKET_ENCOUNTER ; scientist
- db MUSIC_OFFICER_ENCOUNTER ; erika
- db MUSIC_YOUNGSTER_ENCOUNTER ; youngster
- db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy
- db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper
- db MUSIC_LASS_ENCOUNTER ; lass
- db MUSIC_LASS_ENCOUNTER ; janine
- db MUSIC_HIKER_ENCOUNTER ; cooltrainerm
- db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf
- db MUSIC_BEAUTY_ENCOUNTER ; beauty
- db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac
- db MUSIC_ROCKET_ENCOUNTER ; gruntm
- db MUSIC_HIKER_ENCOUNTER ; gentleman
- db MUSIC_BEAUTY_ENCOUNTER ; skier
- db MUSIC_BEAUTY_ENCOUNTER ; teacher
- db MUSIC_BEAUTY_ENCOUNTER ; sabrina
- db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher
- db MUSIC_HIKER_ENCOUNTER ; fisher
- db MUSIC_HIKER_ENCOUNTER ; swimmerm
- db MUSIC_BEAUTY_ENCOUNTER ; swimmerf
- db MUSIC_HIKER_ENCOUNTER ; sailor
- db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd
- db MUSIC_RIVAL_ENCOUNTER ; rival2
- db MUSIC_HIKER_ENCOUNTER ; guitarist
- db MUSIC_HIKER_ENCOUNTER ; hiker
- db MUSIC_HIKER_ENCOUNTER ; biker
- db MUSIC_OFFICER_ENCOUNTER ; blaine
- db MUSIC_POKEMANIAC_ENCOUNTER ; burglar
- db MUSIC_HIKER_ENCOUNTER ; firebreather
- db MUSIC_POKEMANIAC_ENCOUNTER ; juggler
- db MUSIC_HIKER_ENCOUNTER ; blackbelt_t
- db MUSIC_ROCKET_ENCOUNTER ; executivem
- db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t
- db MUSIC_LASS_ENCOUNTER ; picnicker
- db MUSIC_YOUNGSTER_ENCOUNTER ; camper
- db MUSIC_ROCKET_ENCOUNTER ; executivef
- db MUSIC_SAGE_ENCOUNTER ; sage
- db MUSIC_SAGE_ENCOUNTER ; medium
- db MUSIC_HIKER_ENCOUNTER ; boarder
- db MUSIC_HIKER_ENCOUNTER ; pokefanm
- db MUSIC_KIMONO_ENCOUNTER ; kimono_girl
- db MUSIC_LASS_ENCOUNTER ; twins
- db MUSIC_BEAUTY_ENCOUNTER ; pokefanf
- db MUSIC_HIKER_ENCOUNTER ; red
- db MUSIC_RIVAL_ENCOUNTER ; blue
- db MUSIC_HIKER_ENCOUNTER ; officer
- db MUSIC_ROCKET_ENCOUNTER ; gruntf
- db MUSIC_HIKER_ENCOUNTER ; mysticalman
- db MUSIC_HIKER_ENCOUNTER
- db MUSIC_HIKER_ENCOUNTER
- db MUSIC_HIKER_ENCOUNTER
+ db MUSIC_HIKER_ENCOUNTER ; none
+ db MUSIC_YOUNGSTER_ENCOUNTER ; falkner
+ db MUSIC_LASS_ENCOUNTER ; whitney
+ db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy
+ db MUSIC_OFFICER_ENCOUNTER ; morty
+ db MUSIC_OFFICER_ENCOUNTER ; pryce
+ db MUSIC_LASS_ENCOUNTER ; jasmine
+ db MUSIC_OFFICER_ENCOUNTER ; chuck
+ db MUSIC_BEAUTY_ENCOUNTER ; clair
+ db MUSIC_RIVAL_ENCOUNTER ; rival1
+ db MUSIC_HIKER_ENCOUNTER ; pokemon_prof
+ db MUSIC_HIKER_ENCOUNTER ; will
+ db MUSIC_HIKER_ENCOUNTER ; cal
+ db MUSIC_OFFICER_ENCOUNTER ; bruno
+ db MUSIC_HIKER_ENCOUNTER ; karen
+ db MUSIC_HIKER_ENCOUNTER ; koga
+ db MUSIC_OFFICER_ENCOUNTER ; champion
+ db MUSIC_YOUNGSTER_ENCOUNTER ; brock
+ db MUSIC_LASS_ENCOUNTER ; misty
+ db MUSIC_OFFICER_ENCOUNTER ; lt_surge
+ db MUSIC_ROCKET_ENCOUNTER ; scientist
+ db MUSIC_OFFICER_ENCOUNTER ; erika
+ db MUSIC_YOUNGSTER_ENCOUNTER ; youngster
+ db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy
+ db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper
+ db MUSIC_LASS_ENCOUNTER ; lass
+ db MUSIC_LASS_ENCOUNTER ; janine
+ db MUSIC_HIKER_ENCOUNTER ; cooltrainerm
+ db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf
+ db MUSIC_BEAUTY_ENCOUNTER ; beauty
+ db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac
+ db MUSIC_ROCKET_ENCOUNTER ; gruntm
+ db MUSIC_HIKER_ENCOUNTER ; gentleman
+ db MUSIC_BEAUTY_ENCOUNTER ; skier
+ db MUSIC_BEAUTY_ENCOUNTER ; teacher
+ db MUSIC_BEAUTY_ENCOUNTER ; sabrina
+ db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher
+ db MUSIC_HIKER_ENCOUNTER ; fisher
+ db MUSIC_HIKER_ENCOUNTER ; swimmerm
+ db MUSIC_BEAUTY_ENCOUNTER ; swimmerf
+ db MUSIC_HIKER_ENCOUNTER ; sailor
+ db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd
+ db MUSIC_RIVAL_ENCOUNTER ; rival2
+ db MUSIC_HIKER_ENCOUNTER ; guitarist
+ db MUSIC_HIKER_ENCOUNTER ; hiker
+ db MUSIC_HIKER_ENCOUNTER ; biker
+ db MUSIC_OFFICER_ENCOUNTER ; blaine
+ db MUSIC_POKEMANIAC_ENCOUNTER ; burglar
+ db MUSIC_HIKER_ENCOUNTER ; firebreather
+ db MUSIC_POKEMANIAC_ENCOUNTER ; juggler
+ db MUSIC_HIKER_ENCOUNTER ; blackbelt_t
+ db MUSIC_ROCKET_ENCOUNTER ; executivem
+ db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t
+ db MUSIC_LASS_ENCOUNTER ; picnicker
+ db MUSIC_YOUNGSTER_ENCOUNTER ; camper
+ db MUSIC_ROCKET_ENCOUNTER ; executivef
+ db MUSIC_SAGE_ENCOUNTER ; sage
+ db MUSIC_SAGE_ENCOUNTER ; medium
+ db MUSIC_HIKER_ENCOUNTER ; boarder
+ db MUSIC_HIKER_ENCOUNTER ; pokefanm
+ db MUSIC_KIMONO_ENCOUNTER ; kimono_girl
+ db MUSIC_LASS_ENCOUNTER ; twins
+ db MUSIC_BEAUTY_ENCOUNTER ; pokefanf
+ db MUSIC_HIKER_ENCOUNTER ; red
+ db MUSIC_RIVAL_ENCOUNTER ; blue
+ db MUSIC_HIKER_ENCOUNTER ; officer
+ db MUSIC_ROCKET_ENCOUNTER ; gruntf
+ db MUSIC_HIKER_ENCOUNTER ; mysticalman
+ db MUSIC_HIKER_ENCOUNTER
+ db MUSIC_HIKER_ENCOUNTER
+ db MUSIC_HIKER_ENCOUNTER
diff --git a/data/trainers/gendered_trainers.asm b/data/trainers/gendered_trainers.asm
index 98cfec2ac..758e3f0a4 100644
--- a/data/trainers/gendered_trainers.asm
+++ b/data/trainers/gendered_trainers.asm
@@ -1,3 +1,5 @@
+; Used by GetMobileOTTrainerClass
+
MaleTrainers: ; 4e95d
db BURGLAR
db YOUNGSTER
diff --git a/data/trainers/genders.asm b/data/trainers/genders.asm
new file mode 100644
index 000000000..e9e78f4bf
--- /dev/null
+++ b/data/trainers/genders.asm
@@ -0,0 +1,71 @@
+; Used by BattleTowerText
+
+BTTrainerClassGenders: ; 11f2f0
+; entries correspond to trainer classes
+ db MALE ; FALKNER
+ db FEMALE ; WHITNEY
+ db FEMALE ; BUGSY
+ db MALE ; MORTY
+ db MALE ; PRYCE
+ db FEMALE ; JASMINE
+ db MALE ; CHUCK
+ db FEMALE ; CLAIR
+ db MALE ; RIVAL1
+ db MALE ; POKEMON_PROF
+ db FEMALE ; WILL
+ db MALE ; CAL
+ db MALE ; BRUNO
+ db FEMALE ; KAREN
+ db MALE ; KOGA
+ db MALE ; CHAMPION
+ db MALE ; BROCK
+ db FEMALE ; MISTY
+ db MALE ; LT_SURGE
+ db MALE ; SCIENTIST
+ db FEMALE ; ERIKA
+ db MALE ; YOUNGSTER
+ db MALE ; SCHOOLBOY
+ db MALE ; BIRD_KEEPER
+ db FEMALE ; LASS
+ db FEMALE ; JANINE
+ db MALE ; COOLTRAINERM
+ db FEMALE ; COOLTRAINERF
+ db FEMALE ; BEAUTY
+ db MALE ; POKEMANIAC
+ db MALE ; GRUNTM
+ db MALE ; GENTLEMAN
+ db FEMALE ; SKIER
+ db FEMALE ; TEACHER
+ db FEMALE ; SABRINA
+ db MALE ; BUG_CATCHER
+ db MALE ; FISHER
+ db MALE ; SWIMMERM
+ db FEMALE ; SWIMMERF
+ db MALE ; SAILOR
+ db MALE ; SUPER_NERD
+ db MALE ; RIVAL2
+ db MALE ; GUITARIST
+ db MALE ; HIKER
+ db MALE ; BIKER
+ db MALE ; BLAINE
+ db MALE ; BURGLAR
+ db MALE ; FIREBREATHER
+ db MALE ; JUGGLER
+ db MALE ; BLACKBELT_T
+ db MALE ; EXECUTIVEM
+ db MALE ; PSYCHIC_T
+ db FEMALE ; PICNICKER
+ db MALE ; CAMPER
+ db FEMALE ; EXECUTIVEF
+ db MALE ; SAGE
+ db FEMALE ; MEDIUM
+ db MALE ; BOARDER
+ db MALE ; POKEFANM
+ db FEMALE ; KIMONO_GIRL
+ db FEMALE ; TWINS
+ db FEMALE ; POKEFANF
+ db MALE ; RED
+ db MALE ; BLUE
+ db MALE ; OFFICER
+ db FEMALE ; GRUNTF
+; 11f332
diff --git a/data/trainers/leaders.asm b/data/trainers/leaders.asm
new file mode 100644
index 000000000..a41f641e2
--- /dev/null
+++ b/data/trainers/leaders.asm
@@ -0,0 +1,32 @@
+; These lists determine the battle music and victory music, and whether to
+; award HAPPINESS_GYMBATTLE for winning.
+
+; Note: CHAMPION and RED are unused for battle music checks, since they are
+; accounted for prior to the list check.
+
+GymLeaders:
+ db FALKNER
+ db WHITNEY
+ db BUGSY
+ db MORTY
+ db PRYCE
+ db JASMINE
+ db CHUCK
+ db CLAIR
+ db WILL
+ db BRUNO
+ db KAREN
+ db KOGA
+ db CHAMPION
+ db RED
+; fallthrough
+KantoGymLeaders:
+ db BROCK
+ db MISTY
+ db LT_SURGE
+ db ERIKA
+ db JANINE
+ db SABRINA
+ db BLAINE
+ db BLUE
+ db -1
diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm
index c943e49d7..c502846c4 100644
--- a/data/trainers/palettes.asm
+++ b/data/trainers/palettes.asm
@@ -1,11 +1,9 @@
TrainerPalettes: ; b0ce
; entries correspond to trainer classes
-PlayerPalette: ; b0ce
-; Chris uses the same colors as Cal
+PlayerPalette: ; Chris uses the same colors as Cal
INCLUDE "gfx/trainers/cal.pal"
-KrisPalette: ; b0d0
-; Kris shares Falkner's palette
+KrisPalette: ; Kris shares Falkner's palette
INCLUDE "gfx/trainers/falkner.pal"
INCLUDE "gfx/trainers/whitney.pal"
INCLUDE "gfx/trainers/bugsy.pal"
diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm
index e96cfd895..1bf5cb859 100644
--- a/data/trainers/parties.asm
+++ b/data/trainers/parties.asm
@@ -35,7 +35,7 @@ FalknerGroup:
db GUST
db 0
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -63,7 +63,7 @@ WhitneyGroup:
db STOMP
db MILK_DRINK
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -97,7 +97,7 @@ BugsyGroup:
db FURY_CUTTER
db 0
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -137,7 +137,7 @@ MortyGroup:
db MIMIC
db NIGHT_SHADE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -171,7 +171,7 @@ PryceGroup:
db MIST
db BLIZZARD
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -205,7 +205,7 @@ JasmineGroup:
db ROCK_THROW
db IRON_TAIL
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -233,7 +233,7 @@ ChuckGroup:
db SURF
db DYNAMICPUNCH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -273,7 +273,7 @@ ClairGroup:
db HYPER_BEAM
db DRAGONBREATH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -290,7 +290,7 @@ Rival1Group:
; party
db 5, CHIKORITA
- db $ff ; end
+ db -1 ; end
; ================
@@ -301,7 +301,7 @@ Rival1Group:
; party
db 5, CYNDAQUIL
- db $ff ; end
+ db -1 ; end
; ================
@@ -312,7 +312,7 @@ Rival1Group:
; party
db 5, TOTODILE
- db $ff ; end
+ db -1 ; end
; ================
@@ -325,7 +325,7 @@ Rival1Group:
db 14, ZUBAT
db 16, BAYLEEF
- db $ff ; end
+ db -1 ; end
; ================
@@ -338,7 +338,7 @@ Rival1Group:
db 14, ZUBAT
db 16, QUILAVA
- db $ff ; end
+ db -1 ; end
; ================
@@ -351,7 +351,7 @@ Rival1Group:
db 14, ZUBAT
db 16, CROCONAW
- db $ff ; end
+ db -1 ; end
; ================
@@ -385,7 +385,7 @@ Rival1Group:
db RAZOR_LEAF
db POISONPOWDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -419,7 +419,7 @@ Rival1Group:
db EMBER
db QUICK_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -453,7 +453,7 @@ Rival1Group:
db WATER_GUN
db BITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -493,7 +493,7 @@ Rival1Group:
db POISONPOWDER
db BODY_SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -533,7 +533,7 @@ Rival1Group:
db QUICK_ATTACK
db FLAME_WHEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -573,7 +573,7 @@ Rival1Group:
db BITE
db SCARY_FACE
- db $ff ; end
+ db -1 ; end
; ================
@@ -619,7 +619,7 @@ Rival1Group:
db POISONPOWDER
db BODY_SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -665,7 +665,7 @@ Rival1Group:
db QUICK_ATTACK
db FLAME_WHEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -711,7 +711,7 @@ Rival1Group:
db SCARY_FACE
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -763,7 +763,7 @@ WillGroup:
db CONFUSE_RAY
db PSYCHIC_M
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -782,7 +782,7 @@ PKMNTrainerGroup:
db 10, CYNDAQUIL
db 10, TOTODILE
- db $ff ; end
+ db -1 ; end
; ================
@@ -795,7 +795,7 @@ PKMNTrainerGroup:
db 30, QUILAVA
db 30, CROCONAW
- db $ff ; end
+ db -1 ; end
; ================
@@ -808,7 +808,7 @@ PKMNTrainerGroup:
db 50, TYPHLOSION
db 50, FERALIGATR
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -854,7 +854,7 @@ BrunoGroup:
db VITAL_THROW
db CROSS_CHOP
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -900,7 +900,7 @@ KarenGroup:
db FLAMETHROWER
db CRUNCH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -946,7 +946,7 @@ KogaGroup:
db WING_ATTACK
db TOXIC
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -998,7 +998,7 @@ ChampionGroup:
db OUTRAGE
db HYPER_BEAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1044,7 +1044,7 @@ BrockGroup:
db ENDURE
db GIGA_DRAIN
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1084,7 +1084,7 @@ MistyGroup:
db RECOVER
db ICE_BEAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1130,7 +1130,7 @@ LtSurgeGroup:
db LIGHT_SCREEN
db THUNDER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1148,7 +1148,7 @@ ScientistGroup:
db 22, KOFFING
db 22, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -1159,7 +1159,7 @@ ScientistGroup:
; party
db 24, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1172,7 +1172,7 @@ ScientistGroup:
db 20, MAGNEMITE
db 20, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1185,7 +1185,7 @@ ScientistGroup:
db 27, MAGNEMITE
db 27, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1201,7 +1201,7 @@ ScientistGroup:
db RECOVER
db TRI_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1241,7 +1241,7 @@ ErikaGroup:
db PETAL_DANCE
db SOLARBEAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1258,7 +1258,7 @@ YoungsterGroup:
; party
db 4, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1270,7 +1270,7 @@ YoungsterGroup:
db 2, PIDGEY
db 4, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1282,7 +1282,7 @@ YoungsterGroup:
db 6, RATTATA
db 8, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1293,7 +1293,7 @@ YoungsterGroup:
; party
db 10, WOOPER
- db $ff ; end
+ db -1 ; end
; ================
@@ -1307,7 +1307,7 @@ YoungsterGroup:
db 8, SPEAROW
db 8, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1319,7 +1319,7 @@ YoungsterGroup:
db 10, MANKEY
db 12, DIGLETT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1330,7 +1330,7 @@ YoungsterGroup:
; party
db 15, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1346,7 +1346,7 @@ YoungsterGroup:
db HYPER_FANG
db SCARY_FACE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1357,7 +1357,7 @@ YoungsterGroup:
; party
db 35, FEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1369,7 +1369,7 @@ YoungsterGroup:
db 33, RATICATE
db 33, ARBOK
- db $ff ; end
+ db -1 ; end
; ================
@@ -1380,7 +1380,7 @@ YoungsterGroup:
; party
db 35, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1392,7 +1392,7 @@ YoungsterGroup:
db 33, SANDSLASH
db 33, CROBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1408,7 +1408,7 @@ YoungsterGroup:
db HYPER_FANG
db PURSUIT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1424,7 +1424,7 @@ YoungsterGroup:
db HYPER_FANG
db PURSUIT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1442,7 +1442,7 @@ SchoolboyGroup:
db 12, ODDISH
db 15, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -1456,7 +1456,7 @@ SchoolboyGroup:
db 31, VOLTORB
db 31, MAGNETON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1467,7 +1467,7 @@ SchoolboyGroup:
; party
db 16, TANGELA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1480,7 +1480,7 @@ SchoolboyGroup:
db 31, WEEPINBELL
db 33, VICTREEBEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -1493,7 +1493,7 @@ SchoolboyGroup:
db 31, ELECTABUZZ
db 31, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -1505,7 +1505,7 @@ SchoolboyGroup:
db 32, XATU
db 34, ALAKAZAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -1516,7 +1516,7 @@ SchoolboyGroup:
; party
db 35, ODDISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -1528,7 +1528,7 @@ SchoolboyGroup:
db 33, TANGELA
db 33, VAPOREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1542,7 +1542,7 @@ SchoolboyGroup:
db 27, POLIWHIRL
db 35, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1553,7 +1553,7 @@ SchoolboyGroup:
; party
db 19, MR__MIME
- db $ff ; end
+ db -1 ; end
; ================
@@ -1565,7 +1565,7 @@ SchoolboyGroup:
db 32, LEDIAN
db 32, EXEGGUTOR
- db $ff ; end
+ db -1 ; end
; ================
@@ -1577,7 +1577,7 @@ SchoolboyGroup:
db 32, AIPOM
db 32, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1589,7 +1589,7 @@ SchoolboyGroup:
db 14, ODDISH
db 17, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -1601,7 +1601,7 @@ SchoolboyGroup:
db 28, GLOOM
db 31, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1613,7 +1613,7 @@ SchoolboyGroup:
db 17, TANGELA
db 17, YANMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1627,7 +1627,7 @@ SchoolboyGroup:
db 20, QUAGSIRE
db 25, YANMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1639,7 +1639,7 @@ SchoolboyGroup:
db 19, MR__MIME
db 19, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1651,7 +1651,7 @@ SchoolboyGroup:
db 27, MR__MIME
db 31, MAGNETON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1664,7 +1664,7 @@ SchoolboyGroup:
db 33, GROWLITHE
db 33, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1692,7 +1692,7 @@ SchoolboyGroup:
db ACID
db MOONLIGHT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1706,7 +1706,7 @@ SchoolboyGroup:
db 30, QUAGSIRE
db 30, YANMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1740,7 +1740,7 @@ SchoolboyGroup:
db AMNESIA
db EARTHQUAKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1752,7 +1752,7 @@ SchoolboyGroup:
db 30, MR__MIME
db 34, MAGNETON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1774,7 +1774,7 @@ SchoolboyGroup:
db LOCK_ON
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1792,7 +1792,7 @@ BirdKeeperGroup:
db 7, PIDGEY
db 7, PIDGEY
- db $ff ; end
+ db -1 ; end
; ================
@@ -1803,7 +1803,7 @@ BirdKeeperGroup:
; party
db 9, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1815,7 +1815,7 @@ BirdKeeperGroup:
db 12, PIDGEY
db 14, PIDGEOTTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1830,7 +1830,7 @@ BirdKeeperGroup:
db 15, PIDGEY
db 15, PIDGEY
- db $ff ; end
+ db -1 ; end
; ================
@@ -1843,7 +1843,7 @@ BirdKeeperGroup:
db 16, DODUO
db 17, DODUO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1856,7 +1856,7 @@ BirdKeeperGroup:
db 20, FEAROW
db 18, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1868,7 +1868,7 @@ BirdKeeperGroup:
db 25, PIDGEOTTO
db 25, PIDGEOTTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1880,7 +1880,7 @@ BirdKeeperGroup:
db 12, PIDGEY
db 34, PIDGEOT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1892,7 +1892,7 @@ BirdKeeperGroup:
db 29, FEAROW
db 35, FEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1905,7 +1905,7 @@ BirdKeeperGroup:
db 28, DODUO
db 32, DODRIO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1916,7 +1916,7 @@ BirdKeeperGroup:
; party
db 34, NOCTOWL
- db $ff ; end
+ db -1 ; end
; ================
@@ -1927,7 +1927,7 @@ BirdKeeperGroup:
; party
db 36, FARFETCH_D
- db $ff ; end
+ db -1 ; end
; ================
@@ -1940,7 +1940,7 @@ BirdKeeperGroup:
db 6, PIDGEY
db 8, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1951,7 +1951,7 @@ BirdKeeperGroup:
; party
db 34, FARFETCH_D
- db $ff ; end
+ db -1 ; end
; ================
@@ -1962,7 +1962,7 @@ BirdKeeperGroup:
; party
db 34, FARFETCH_D
- db $ff ; end
+ db -1 ; end
; ================
@@ -1974,7 +1974,7 @@ BirdKeeperGroup:
db 32, PIDGEOTTO
db 32, FEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1990,7 +1990,7 @@ BirdKeeperGroup:
db FLY
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -2002,7 +2002,7 @@ BirdKeeperGroup:
db 32, PIDGEOTTO
db 32, PIDGEOTTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -2024,7 +2024,7 @@ BirdKeeperGroup:
db STEEL_WING
db FLY
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2046,7 +2046,7 @@ LassGroup:
db BITE
db LICK
- db $ff ; end
+ db -1 ; end
; ================
@@ -2059,7 +2059,7 @@ LassGroup:
db 15, JIGGLYPUFF
db 15, JIGGLYPUFF
- db $ff ; end
+ db -1 ; end
; ================
@@ -2072,7 +2072,7 @@ LassGroup:
db 34, ARBOK
db 30, GLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2084,7 +2084,7 @@ LassGroup:
db 12, ODDISH
db 15, CUBONE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2095,7 +2095,7 @@ LassGroup:
; party
db 21, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2108,7 +2108,7 @@ LassGroup:
db 32, IVYSAUR
db 34, VENUSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -2121,7 +2121,7 @@ LassGroup:
db 31, PIDGEOTTO
db 31, BELLOSSOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2134,7 +2134,7 @@ LassGroup:
db 29, PARAS
db 32, PARASECT
- db $ff ; end
+ db -1 ; end
; ================
@@ -2147,7 +2147,7 @@ LassGroup:
db 33, HOPPIP
db 34, JUMPLUFF
- db $ff ; end
+ db -1 ; end
; ================
@@ -2169,7 +2169,7 @@ LassGroup:
db DISABLE
db CONFUSION
- db $ff ; end
+ db -1 ; end
; ================
@@ -2181,7 +2181,7 @@ LassGroup:
db 30, WIGGLYTUFF
db 34, GRANBULL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2192,7 +2192,7 @@ LassGroup:
; party
db 21, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2203,7 +2203,7 @@ LassGroup:
; party
db 21, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2225,7 +2225,7 @@ LassGroup:
db DISABLE
db CONFUSION
- db $ff ; end
+ db -1 ; end
; ================
@@ -2247,7 +2247,7 @@ LassGroup:
db THUNDER_WAVE
db COTTON_SPORE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2269,7 +2269,7 @@ LassGroup:
db THUNDER_WAVE
db COTTON_SPORE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2291,7 +2291,7 @@ LassGroup:
db PSYCHIC_M
db SCREECH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2337,7 +2337,7 @@ JanineGroup:
db GUST
db PSYCHIC_M
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2371,7 +2371,7 @@ CooltrainerMGroup:
db SLEEP_POWDER
db RAZOR_LEAF
- db $ff ; end
+ db -1 ; end
; ================
@@ -2384,7 +2384,7 @@ CooltrainerMGroup:
db 24, CHARMELEON
db 24, WARTORTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2397,7 +2397,7 @@ CooltrainerMGroup:
db 34, DRATINI
db 34, DRATINI
- db $ff ; end
+ db -1 ; end
; ================
@@ -2409,7 +2409,7 @@ CooltrainerMGroup:
db 34, HORSEA
db 36, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -2420,7 +2420,7 @@ CooltrainerMGroup:
; party
db 37, DRAGONAIR
- db $ff ; end
+ db -1 ; end
; ================
@@ -2448,7 +2448,7 @@ CooltrainerMGroup:
db BITE
db FIRE_SPIN
- db $ff ; end
+ db -1 ; end
; ================
@@ -2476,7 +2476,7 @@ CooltrainerMGroup:
db BITE
db FIRE_SPIN
- db $ff ; end
+ db -1 ; end
; ================
@@ -2498,7 +2498,7 @@ CooltrainerMGroup:
db SWIFT
db SCREECH
- db $ff ; end
+ db -1 ; end
; ================
@@ -2520,7 +2520,7 @@ CooltrainerMGroup:
db PSYCH_UP
db FURY_SWIPES
- db $ff ; end
+ db -1 ; end
; ================
@@ -2548,7 +2548,7 @@ CooltrainerMGroup:
db BITE
db FIRE_SPIN
- db $ff ; end
+ db -1 ; end
; ================
@@ -2576,7 +2576,7 @@ CooltrainerMGroup:
db SLEEP_POWDER
db SOLARBEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2592,7 +2592,7 @@ CooltrainerMGroup:
db SLASH
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -2605,7 +2605,7 @@ CooltrainerMGroup:
db 10, CHARMANDER
db 10, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2618,7 +2618,7 @@ CooltrainerMGroup:
db 10, CHARMANDER
db 10, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2631,7 +2631,7 @@ CooltrainerMGroup:
db 10, CHARMANDER
db 10, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2644,7 +2644,7 @@ CooltrainerMGroup:
db 35, TANGELA
db 35, TAUROS
- db $ff ; end
+ db -1 ; end
; ================
@@ -2657,7 +2657,7 @@ CooltrainerMGroup:
db 35, CHARMELEON
db 35, WARTORTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2670,7 +2670,7 @@ CooltrainerMGroup:
db 14, CHARMANDER
db 14, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2686,7 +2686,7 @@ CooltrainerMGroup:
db RAGE
db SCARY_FACE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2702,7 +2702,7 @@ CooltrainerMGroup:
db DRAGON_RAGE
db SLAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2722,7 +2722,7 @@ CooltrainerFGroup:
db 22, VAPOREON
db 22, JOLTEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -2744,7 +2744,7 @@ CooltrainerFGroup:
db CONFUSE_RAY
db SAFEGUARD
- db $ff ; end
+ db -1 ; end
; ================
@@ -2755,7 +2755,7 @@ CooltrainerFGroup:
; party
db 37, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -2767,7 +2767,7 @@ CooltrainerFGroup:
db 34, DRATINI
db 36, DRAGONAIR
- db $ff ; end
+ db -1 ; end
; ================
@@ -2779,7 +2779,7 @@ CooltrainerFGroup:
db 26, SHELLDER
db 28, CLOYSTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -2791,7 +2791,7 @@ CooltrainerFGroup:
db 22, GOLDEEN
db 24, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -2804,7 +2804,7 @@ CooltrainerFGroup:
db 24, WARTORTLE
db 24, WARTORTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2826,7 +2826,7 @@ CooltrainerFGroup:
db SURF
db RAIN_DANCE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2842,7 +2842,7 @@ CooltrainerFGroup:
db FURY_ATTACK
db AGILITY
- db $ff ; end
+ db -1 ; end
; ================
@@ -2855,7 +2855,7 @@ CooltrainerFGroup:
db 33, NIDOQUEEN
db 31, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2883,7 +2883,7 @@ CooltrainerFGroup:
db RAZOR_LEAF
db SWEET_SCENT
- db $ff ; end
+ db -1 ; end
; ================
@@ -2899,7 +2899,7 @@ CooltrainerFGroup:
db FURY_ATTACK
db AGILITY
- db $ff ; end
+ db -1 ; end
; ================
@@ -2912,7 +2912,7 @@ CooltrainerFGroup:
db 35, STARMIE
db 35, NINETALES
- db $ff ; end
+ db -1 ; end
; ================
@@ -2924,7 +2924,7 @@ CooltrainerFGroup:
db 38, IVYSAUR
db 38, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2935,7 +2935,7 @@ CooltrainerFGroup:
; party
db 28, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2957,7 +2957,7 @@ CooltrainerFGroup:
db ACID
db SOLARBEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2969,7 +2969,7 @@ CooltrainerFGroup:
db 24, STARYU
db 26, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2985,7 +2985,7 @@ CooltrainerFGroup:
db FURY_ATTACK
db FIRE_BLAST
- db $ff ; end
+ db -1 ; end
; ================
@@ -2998,7 +2998,7 @@ CooltrainerFGroup:
db 36, NIDOQUEEN
db 34, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3026,7 +3026,7 @@ CooltrainerFGroup:
db WATERFALL
db RECOVER
- db $ff ; end
+ db -1 ; end
; ================
@@ -3054,7 +3054,7 @@ CooltrainerFGroup:
db WATERFALL
db TWISTER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3073,7 +3073,7 @@ BeautyGroup:
db 13, SENTRET
db 17, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3095,7 +3095,7 @@ BeautyGroup:
db BITE
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -3106,7 +3106,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3117,7 +3117,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3128,7 +3128,7 @@ BeautyGroup:
; party
db 16, FURRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3140,7 +3140,7 @@ BeautyGroup:
db 28, VILEPLUME
db 34, BUTTERFREE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3153,7 +3153,7 @@ BeautyGroup:
db 32, SEEL
db 30, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -3164,7 +3164,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3175,7 +3175,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3186,7 +3186,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3197,7 +3197,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3208,7 +3208,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3219,7 +3219,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3232,7 +3232,7 @@ BeautyGroup:
db 32, EXEGGCUTE
db 35, PARASECT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3243,7 +3243,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3265,7 +3265,7 @@ BeautyGroup:
db TACKLE
db STUN_SPORE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3276,7 +3276,7 @@ BeautyGroup:
; party
db 19, CORSOLA
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3293,7 +3293,7 @@ PokemaniacGroup:
; party
db 10, SLOWPOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3305,7 +3305,7 @@ PokemaniacGroup:
db 24, MAROWAK
db 24, MAROWAK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3316,7 +3316,7 @@ PokemaniacGroup:
; party
db 26, KANGASKHAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3328,7 +3328,7 @@ PokemaniacGroup:
db 16, NIDORINA
db 16, NIDORINO
- db $ff ; end
+ db -1 ; end
; ================
@@ -3339,7 +3339,7 @@ PokemaniacGroup:
; party
db 19, SLOWBRO
- db $ff ; end
+ db -1 ; end
; ================
@@ -3350,7 +3350,7 @@ PokemaniacGroup:
; party
db 19, LICKITUNG
- db $ff ; end
+ db -1 ; end
; ================
@@ -3361,7 +3361,7 @@ PokemaniacGroup:
; party
db 19, NIDOKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3373,7 +3373,7 @@ PokemaniacGroup:
db 31, RHYHORN
db 31, RHYDON
- db $ff ; end
+ db -1 ; end
; ================
@@ -3384,7 +3384,7 @@ PokemaniacGroup:
; party
db 25, KANGASKHAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3400,7 +3400,7 @@ PokemaniacGroup:
db CONVERSION2
db TRI_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3416,7 +3416,7 @@ PokemaniacGroup:
db CUT
db 0
- db $ff ; end
+ db -1 ; end
; ================
@@ -3428,7 +3428,7 @@ PokemaniacGroup:
db 10, SLOWPOKE
db 10, SLOWPOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3439,7 +3439,7 @@ PokemaniacGroup:
; party
db 27, RHYHORN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3455,7 +3455,7 @@ PokemaniacGroup:
db EGG_BOMB
db SOFTBOILED
- db $ff ; end
+ db -1 ; end
; ================
@@ -3467,7 +3467,7 @@ PokemaniacGroup:
db 17, NIDOKING
db 17, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3484,7 +3484,7 @@ GruntMGroup:
; party
db 14, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3497,7 +3497,7 @@ GruntMGroup:
db 9, ZUBAT
db 9, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3509,7 +3509,7 @@ GruntMGroup:
db 24, RATICATE
db 24, RATICATE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3522,7 +3522,7 @@ GruntMGroup:
db 23, GRIMER
db 25, MUK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3537,7 +3537,7 @@ GruntMGroup:
db 23, RATTATA
db 23, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3549,7 +3549,7 @@ GruntMGroup:
db 26, ZUBAT
db 26, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3563,7 +3563,7 @@ GruntMGroup:
db 23, ZUBAT
db 23, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3574,7 +3574,7 @@ GruntMGroup:
; party
db 26, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3586,7 +3586,7 @@ GruntMGroup:
db 24, RATICATE
db 26, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3599,7 +3599,7 @@ GruntMGroup:
db 24, GOLBAT
db 22, GRIMER
- db $ff ; end
+ db -1 ; end
; ================
@@ -3612,7 +3612,7 @@ GruntMGroup:
db 23, KOFFING
db 25, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3623,7 +3623,7 @@ GruntMGroup:
; party
db 33, HOUNDOUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -3634,7 +3634,7 @@ GruntMGroup:
; party
db 27, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3646,7 +3646,7 @@ GruntMGroup:
db 24, RATICATE
db 24, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3658,7 +3658,7 @@ GruntMGroup:
db 26, GRIMER
db 23, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3672,7 +3672,7 @@ GruntMGroup:
db 16, RATTATA
db 16, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3683,7 +3683,7 @@ GruntMGroup:
; party
db 18, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3696,7 +3696,7 @@ GruntMGroup:
db 17, ZUBAT
db 17, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3708,7 +3708,7 @@ GruntMGroup:
db 18, VENONAT
db 18, VENONAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3720,7 +3720,7 @@ GruntMGroup:
db 17, DROWZEE
db 19, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3733,7 +3733,7 @@ GruntMGroup:
db 17, GRIMER
db 18, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3744,7 +3744,7 @@ GruntMGroup:
; party
db 36, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3755,7 +3755,7 @@ GruntMGroup:
; party
db 30, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3767,7 +3767,7 @@ GruntMGroup:
db 25, KOFFING
db 25, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3779,7 +3779,7 @@ GruntMGroup:
db 24, KOFFING
db 24, MUK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3791,7 +3791,7 @@ GruntMGroup:
db 15, RATTATA
db 15, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3802,7 +3802,7 @@ GruntMGroup:
; party
db 22, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3813,7 +3813,7 @@ GruntMGroup:
; party
db 19, RATICATE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3825,7 +3825,7 @@ GruntMGroup:
db 9, RATTATA
db 9, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3838,7 +3838,7 @@ GruntMGroup:
db 25, GOLBAT
db 30, ARBOK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3849,7 +3849,7 @@ GruntMGroup:
; party
db 30, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3867,7 +3867,7 @@ GentlemanGroup:
db 18, GROWLITHE
db 18, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3878,7 +3878,7 @@ GentlemanGroup:
; party
db 33, PERSIAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3890,7 +3890,7 @@ GentlemanGroup:
db 37, PIKACHU
db 33, FLAAFFY
- db $ff ; end
+ db -1 ; end
; ================
@@ -3901,7 +3901,7 @@ GentlemanGroup:
; party
db 20, PONYTA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3912,7 +3912,7 @@ GentlemanGroup:
; party
db 20, NOCTOWL
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3929,7 +3929,7 @@ SkierGroup:
; party
db 28, JYNX
- db $ff ; end
+ db -1 ; end
; ================
@@ -3940,7 +3940,7 @@ SkierGroup:
; party
db 28, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3957,7 +3957,7 @@ TeacherGroup:
; party
db 36, CLEFAIRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -3969,7 +3969,7 @@ TeacherGroup:
db 32, AIPOM
db 36, CUBONE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3980,7 +3980,7 @@ TeacherGroup:
; party
db 35, JIGGLYPUFF
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4014,7 +4014,7 @@ SabrinaGroup:
db PSYCHIC_M
db REFLECT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4032,7 +4032,7 @@ BugCatcherGroup:
db 3, CATERPIE
db 3, CATERPIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4044,7 +4044,7 @@ BugCatcherGroup:
db 32, BEEDRILL
db 32, BUTTERFREE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4057,7 +4057,7 @@ BugCatcherGroup:
db 30, BEEDRILL
db 30, BEEDRILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4071,7 +4071,7 @@ BugCatcherGroup:
db 3, WEEDLE
db 2, CATERPIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4084,7 +4084,7 @@ BugCatcherGroup:
db 9, KAKUNA
db 12, BEEDRILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4096,7 +4096,7 @@ BugCatcherGroup:
db 12, CATERPIE
db 12, WEEDLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4107,7 +4107,7 @@ BugCatcherGroup:
; party
db 13, PARAS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4118,7 +4118,7 @@ BugCatcherGroup:
; party
db 15, VENONAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -4130,7 +4130,7 @@ BugCatcherGroup:
db 30, ARIADOS
db 32, PINSIR
- db $ff ; end
+ db -1 ; end
; ================
@@ -4144,7 +4144,7 @@ BugCatcherGroup:
db 10, KAKUNA
db 9, METAPOD
- db $ff ; end
+ db -1 ; end
; ================
@@ -4158,7 +4158,7 @@ BugCatcherGroup:
db 15, BEEDRILL
db 14, BUTTERFREE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4169,7 +4169,7 @@ BugCatcherGroup:
; party
db 34, ARIADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4180,7 +4180,7 @@ BugCatcherGroup:
; party
db 19, VENONAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -4196,7 +4196,7 @@ BugCatcherGroup:
db CONFUSION
db LEECH_LIFE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4230,7 +4230,7 @@ BugCatcherGroup:
db SUPERSONIC
db WHIRLWIND
- db $ff ; end
+ db -1 ; end
; ================
@@ -4264,7 +4264,7 @@ BugCatcherGroup:
db GUST
db WHIRLWIND
- db $ff ; end
+ db -1 ; end
; ================
@@ -4280,7 +4280,7 @@ BugCatcherGroup:
db PSYBEAM
db LEECH_LIFE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4296,7 +4296,7 @@ BugCatcherGroup:
db PSYCHIC_M
db TOXIC
- db $ff ; end
+ db -1 ; end
; ================
@@ -4308,7 +4308,7 @@ BugCatcherGroup:
db 8, LEDYBA
db 10, PARAS
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4328,7 +4328,7 @@ FisherGroup:
db 15, MAGIKARP
db 5, MAGIKARP
- db $ff ; end
+ db -1 ; end
; ================
@@ -4339,7 +4339,7 @@ FisherGroup:
; party
db 10, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4350,7 +4350,7 @@ FisherGroup:
; party
db 34, TENTACRUEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4363,7 +4363,7 @@ FisherGroup:
db 31, POLIWHIRL
db 31, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4375,7 +4375,7 @@ FisherGroup:
db 8, POLIWAG
db 8, POLIWAG
- db $ff ; end
+ db -1 ; end
; ================
@@ -4389,7 +4389,7 @@ FisherGroup:
db 15, MAGIKARP
db 15, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4400,7 +4400,7 @@ FisherGroup:
; party
db 18, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4411,7 +4411,7 @@ FisherGroup:
; party
db 27, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4425,7 +4425,7 @@ FisherGroup:
db 22, MAGIKARP
db 22, MAGIKARP
- db $ff ; end
+ db -1 ; end
; ================
@@ -4438,7 +4438,7 @@ FisherGroup:
db 23, GOLDEEN
db 25, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4460,7 +4460,7 @@ FisherGroup:
db AURORA_BEAM
db BUBBLEBEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -4474,7 +4474,7 @@ FisherGroup:
db 25, REMORAID
db 29, CLOYSTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4486,7 +4486,7 @@ FisherGroup:
db 32, REMORAID
db 32, REMORAID
- db $ff ; end
+ db -1 ; end
; ================
@@ -4500,7 +4500,7 @@ FisherGroup:
db 31, QWILFISH
db 31, TENTACRUEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4513,7 +4513,7 @@ FisherGroup:
db 30, GYARADOS
db 30, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4524,7 +4524,7 @@ FisherGroup:
; party
db 17, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4536,7 +4536,7 @@ FisherGroup:
db 17, QWILFISH
db 19, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4547,7 +4547,7 @@ FisherGroup:
; party
db 23, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4560,7 +4560,7 @@ FisherGroup:
db 32, GOLDEEN
db 32, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4573,7 +4573,7 @@ FisherGroup:
db 29, GOLDEEN
db 32, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4586,7 +4586,7 @@ FisherGroup:
db 30, QWILFISH
db 34, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4614,7 +4614,7 @@ FisherGroup:
db BUBBLEBEAM
db HYPER_BEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -4626,7 +4626,7 @@ FisherGroup:
db 30, QWILFISH
db 32, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4648,7 +4648,7 @@ FisherGroup:
db FURY_ATTACK
db WATERFALL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4676,7 +4676,7 @@ FisherGroup:
db PIN_MISSILE
db TAKE_DOWN
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4694,7 +4694,7 @@ SwimmerMGroup:
db 32, REMORAID
db 30, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4706,7 +4706,7 @@ SwimmerMGroup:
db 20, TENTACOOL
db 20, TENTACOOL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4719,7 +4719,7 @@ SwimmerMGroup:
db 20, WARTORTLE
db 18, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4732,7 +4732,7 @@ SwimmerMGroup:
db 19, TENTACOOL
db 19, TENTACRUEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4748,7 +4748,7 @@ SwimmerMGroup:
db 17, TENTACOOL
db 19, REMORAID
- db $ff ; end
+ db -1 ; end
; ================
@@ -4759,7 +4759,7 @@ SwimmerMGroup:
; party
db 23, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4771,7 +4771,7 @@ SwimmerMGroup:
db 20, GYARADOS
db 20, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4782,7 +4782,7 @@ SwimmerMGroup:
; party
db 23, KRABBY
- db $ff ; end
+ db -1 ; end
; ================
@@ -4795,7 +4795,7 @@ SwimmerMGroup:
db 25, DEWGONG
db 24, SEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4807,7 +4807,7 @@ SwimmerMGroup:
db 26, PILOSWINE
db 26, PILOSWINE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4820,7 +4820,7 @@ SwimmerMGroup:
db 25, CLOYSTER
db 24, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4833,7 +4833,7 @@ SwimmerMGroup:
db 15, HORSEA
db 20, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4846,7 +4846,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4860,7 +4860,7 @@ SwimmerMGroup:
db 30, TENTACRUEL
db 28, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4872,7 +4872,7 @@ SwimmerMGroup:
db 30, SHELLDER
db 34, CLOYSTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4885,7 +4885,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4896,7 +4896,7 @@ SwimmerMGroup:
; party
db 34, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4909,7 +4909,7 @@ SwimmerMGroup:
db 29, OCTILLERY
db 32, QUAGSIRE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4922,7 +4922,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4935,7 +4935,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4948,7 +4948,7 @@ SwimmerMGroup:
db 32, HORSEA
db 35, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4965,7 +4965,7 @@ SwimmerFGroup:
; party
db 21, STARYU
- db $ff ; end
+ db -1 ; end
; ================
@@ -4977,7 +4977,7 @@ SwimmerFGroup:
db 19, STARYU
db 19, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4990,7 +4990,7 @@ SwimmerFGroup:
db 20, GOLDEEN
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5012,7 +5012,7 @@ SwimmerFGroup:
db SUPERSONIC
db HORN_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5023,7 +5023,7 @@ SwimmerFGroup:
; party
db 22, SEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5035,7 +5035,7 @@ SwimmerFGroup:
db 20, STARYU
db 20, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5057,7 +5057,7 @@ SwimmerFGroup:
db LEER
db WATER_GUN
- db $ff ; end
+ db -1 ; end
; ================
@@ -5068,7 +5068,7 @@ SwimmerFGroup:
; party
db 28, JYNX
- db $ff ; end
+ db -1 ; end
; ================
@@ -5079,7 +5079,7 @@ SwimmerFGroup:
; party
db 28, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
@@ -5090,7 +5090,7 @@ SwimmerFGroup:
; party
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5101,7 +5101,7 @@ SwimmerFGroup:
; party
db 33, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
@@ -5112,7 +5112,7 @@ SwimmerFGroup:
; party
db 34, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5123,7 +5123,7 @@ SwimmerFGroup:
; party
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5136,7 +5136,7 @@ SwimmerFGroup:
db 29, MARILL
db 32, LAPRAS
- db $ff ; end
+ db -1 ; end
; ================
@@ -5148,7 +5148,7 @@ SwimmerFGroup:
db 32, STARMIE
db 32, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5159,7 +5159,7 @@ SwimmerFGroup:
; party
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5173,7 +5173,7 @@ SwimmerFGroup:
db 28, SEEL
db 28, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
@@ -5184,7 +5184,7 @@ SwimmerFGroup:
; party
db 37, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5196,7 +5196,7 @@ SwimmerFGroup:
db 35, SEAKING
db 35, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5215,7 +5215,7 @@ SailorGroup:
db 17, RATICATE
db 19, KRABBY
- db $ff ; end
+ db -1 ; end
; ================
@@ -5227,7 +5227,7 @@ SailorGroup:
db 18, POLIWAG
db 18, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5238,7 +5238,7 @@ SailorGroup:
; party
db 20, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5260,7 +5260,7 @@ SailorGroup:
db VICEGRIP
db HARDEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -5273,7 +5273,7 @@ SailorGroup:
db 18, MACHOP
db 18, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5285,7 +5285,7 @@ SailorGroup:
db 32, RATICATE
db 32, RATICATE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5296,7 +5296,7 @@ SailorGroup:
; party
db 34, KINGLER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5310,7 +5310,7 @@ SailorGroup:
db 28, POLIWRATH
db 28, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5323,7 +5323,7 @@ SailorGroup:
db 33, MACHOKE
db 26, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5334,7 +5334,7 @@ SailorGroup:
; party
db 19, WOOPER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5346,7 +5346,7 @@ SailorGroup:
db 28, POLIWHIRL
db 28, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5358,7 +5358,7 @@ SailorGroup:
db 34, POLIWHIRL
db 34, POLIWRATH
- db $ff ; end
+ db -1 ; end
; ================
@@ -5380,7 +5380,7 @@ SailorGroup:
db ICE_PUNCH
db SUBMISSION
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5397,7 +5397,7 @@ SuperNerdGroup:
; party
db 20, GRIMER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5409,7 +5409,7 @@ SuperNerdGroup:
db 11, GRIMER
db 11, GRIMER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5422,7 +5422,7 @@ SuperNerdGroup:
db 20, MAGNEMITE
db 20, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5434,7 +5434,7 @@ SuperNerdGroup:
db 22, KOFFING
db 22, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5445,7 +5445,7 @@ SuperNerdGroup:
; party
db 24, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -5457,7 +5457,7 @@ SuperNerdGroup:
db 34, GRIMER
db 34, MUK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5470,7 +5470,7 @@ SuperNerdGroup:
db 32, MAGNEMITE
db 32, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5481,7 +5481,7 @@ SuperNerdGroup:
; party
db 36, PORYGON
- db $ff ; end
+ db -1 ; end
; ================
@@ -5494,7 +5494,7 @@ SuperNerdGroup:
db 33, MUK
db 31, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5508,7 +5508,7 @@ SuperNerdGroup:
db 7, MAGNEMITE
db 9, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5521,7 +5521,7 @@ SuperNerdGroup:
db 27, MAGNEMITE
db 27, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5537,7 +5537,7 @@ SuperNerdGroup:
db RECOVER
db TRI_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5553,7 +5553,7 @@ SuperNerdGroup:
db SURF
db WATERFALL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5569,7 +5569,7 @@ SuperNerdGroup:
db GROWL
db STRENGTH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5621,7 +5621,7 @@ Rival2Group:
db BODY_SLAM
db LIGHT_SCREEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -5667,7 +5667,7 @@ Rival2Group:
db FLAME_WHEEL
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -5713,7 +5713,7 @@ Rival2Group:
db SCARY_FACE
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -5759,7 +5759,7 @@ Rival2Group:
db LIGHT_SCREEN
db SAFEGUARD
- db $ff ; end
+ db -1 ; end
; ================
@@ -5805,7 +5805,7 @@ Rival2Group:
db FIRE_BLAST
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -5851,7 +5851,7 @@ Rival2Group:
db SLASH
db SCREECH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5868,7 +5868,7 @@ GuitaristGroup:
; party
db 34, ELECTABUZZ
- db $ff ; end
+ db -1 ; end
; ================
@@ -5882,7 +5882,7 @@ GuitaristGroup:
db 32, MAGNEMITE
db 32, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5900,7 +5900,7 @@ HikerGroup:
db 16, GEODUDE
db 18, MACHAMP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5913,7 +5913,7 @@ HikerGroup:
db 6, GEODUDE
db 8, GEODUDE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5926,7 +5926,7 @@ HikerGroup:
db 23, GEODUDE
db 23, GRAVELER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5938,7 +5938,7 @@ HikerGroup:
db 23, GEODUDE
db 25, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5950,7 +5950,7 @@ HikerGroup:
db 11, GEODUDE
db 11, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5963,7 +5963,7 @@ HikerGroup:
db 14, GEODUDE
db 16, DUGTRIO
- db $ff ; end
+ db -1 ; end
; ================
@@ -5976,7 +5976,7 @@ HikerGroup:
db 27, GRAVELER
db 27, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5989,7 +5989,7 @@ HikerGroup:
db 25, GRAVELER
db 25, GOLEM
- db $ff ; end
+ db -1 ; end
; ================
@@ -6001,7 +6001,7 @@ HikerGroup:
db 35, ONIX
db 33, SWINUB
- db $ff ; end
+ db -1 ; end
; ================
@@ -6023,7 +6023,7 @@ HikerGroup:
db SAND_ATTACK
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -6038,7 +6038,7 @@ HikerGroup:
db 13, GEODUDE
db 13, GEODUDE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6051,7 +6051,7 @@ HikerGroup:
db 27, GRAVELER
db 29, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6064,7 +6064,7 @@ HikerGroup:
db 31, GRAVELER
db 31, GRAVELER
- db $ff ; end
+ db -1 ; end
; ================
@@ -6076,7 +6076,7 @@ HikerGroup:
db 31, SANDSLASH
db 33, GOLEM
- db $ff ; end
+ db -1 ; end
; ================
@@ -6088,7 +6088,7 @@ HikerGroup:
db 34, DUGTRIO
db 32, ONIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6102,7 +6102,7 @@ HikerGroup:
db 31, GOLEM
db 29, GRAVELER
- db $ff ; end
+ db -1 ; end
; ================
@@ -6113,7 +6113,7 @@ HikerGroup:
; party
db 35, MACHAMP
- db $ff ; end
+ db -1 ; end
; ================
@@ -6124,7 +6124,7 @@ HikerGroup:
; party
db 11, ONIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6152,7 +6152,7 @@ HikerGroup:
db SANDSTORM
db SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -6163,7 +6163,7 @@ HikerGroup:
; party
db 29, ONIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6176,7 +6176,7 @@ HikerGroup:
db 30, GRAVELER
db 32, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6204,7 +6204,7 @@ HikerGroup:
db HEADBUTT
db DIG
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6223,7 +6223,7 @@ BikerGroup:
db 20, KOFFING
db 20, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6236,7 +6236,7 @@ BikerGroup:
db 20, KOFFING
db 20, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6250,7 +6250,7 @@ BikerGroup:
db 29, KOFFING
db 30, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6261,7 +6261,7 @@ BikerGroup:
; party
db 34, FLAREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -6273,7 +6273,7 @@ BikerGroup:
db 32, KOFFING
db 32, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6286,7 +6286,7 @@ BikerGroup:
db 30, CHARMELEON
db 30, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6297,7 +6297,7 @@ BikerGroup:
; party
db 34, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6309,7 +6309,7 @@ BikerGroup:
db 32, MAGMAR
db 32, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6322,7 +6322,7 @@ BikerGroup:
db 30, MAGMAR
db 32, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6356,7 +6356,7 @@ BlaineGroup:
db FURY_ATTACK
db FIRE_BLAST
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6375,7 +6375,7 @@ BurglarGroup:
db 25, MAGMAR
db 23, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6397,7 +6397,7 @@ BurglarGroup:
db SLUDGE
db SMOKESCREEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -6411,7 +6411,7 @@ BurglarGroup:
db 25, KOFFING
db 30, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6430,7 +6430,7 @@ FirebreatherGroup:
db 32, WEEZING
db 29, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6441,7 +6441,7 @@ FirebreatherGroup:
; party
db 17, CHARMELEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -6454,7 +6454,7 @@ FirebreatherGroup:
db 16, GROWLITHE
db 15, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6466,7 +6466,7 @@ FirebreatherGroup:
db 32, KOFFING
db 32, SLUGMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -6478,7 +6478,7 @@ FirebreatherGroup:
db 6, KOFFING
db 6, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6490,7 +6490,7 @@ FirebreatherGroup:
db 11, MAGMAR
db 13, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6501,7 +6501,7 @@ FirebreatherGroup:
; party
db 9, VULPIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6514,7 +6514,7 @@ FirebreatherGroup:
db 31, FLAREON
db 28, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6534,7 +6534,7 @@ JugglerGroup:
db 10, VOLTORB
db 14, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -6547,7 +6547,7 @@ JugglerGroup:
db 29, MAGMAR
db 29, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6561,7 +6561,7 @@ JugglerGroup:
db 33, ELECTRODE
db 33, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6575,7 +6575,7 @@ JugglerGroup:
db 14, VOLTORB
db 18, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -6589,7 +6589,7 @@ JugglerGroup:
db 26, VOLTORB
db 30, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6603,7 +6603,7 @@ JugglerGroup:
db 26, VOLTORB
db 30, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6623,7 +6623,7 @@ BlackbeltGroup:
db 27, ONIX
db 32, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6639,7 +6639,7 @@ BlackbeltGroup:
db JUMP_KICK
db FOCUS_ENERGY
- db $ff ; end
+ db -1 ; end
; ================
@@ -6673,7 +6673,7 @@ BlackbeltGroup:
db MUD_SLAP
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -6689,7 +6689,7 @@ BlackbeltGroup:
db ICE_PUNCH
db FIRE_PUNCH
- db $ff ; end
+ db -1 ; end
; ================
@@ -6711,7 +6711,7 @@ BlackbeltGroup:
db SEISMIC_TOSS
db ROCK_SLIDE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6723,7 +6723,7 @@ BlackbeltGroup:
db 34, HITMONLEE
db 34, HITMONCHAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -6736,7 +6736,7 @@ BlackbeltGroup:
db 23, MANKEY
db 25, PRIMEAPE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6747,7 +6747,7 @@ BlackbeltGroup:
; party
db 28, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6760,7 +6760,7 @@ BlackbeltGroup:
db 32, MACHOKE
db 34, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6794,7 +6794,7 @@ ExecutiveMGroup:
db BITE
db FAINT_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -6810,7 +6810,7 @@ ExecutiveMGroup:
db CONFUSE_RAY
db WING_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -6856,7 +6856,7 @@ ExecutiveMGroup:
db SLUDGE
db SMOKESCREEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -6869,7 +6869,7 @@ ExecutiveMGroup:
db 24, RATICATE
db 22, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6886,7 +6886,7 @@ PsychicGroup:
; party
db 26, GIRAFARIG
- db $ff ; end
+ db -1 ; end
; ================
@@ -6897,7 +6897,7 @@ PsychicGroup:
; party
db 37, KADABRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -6910,7 +6910,7 @@ PsychicGroup:
db 30, EXEGGCUTE
db 30, EXEGGUTOR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6921,7 +6921,7 @@ PsychicGroup:
; party
db 34, XATU
- db $ff ; end
+ db -1 ; end
; ================
@@ -6937,7 +6937,7 @@ PsychicGroup:
db DREAM_EATER
db 0
- db $ff ; end
+ db -1 ; end
; ================
@@ -6959,7 +6959,7 @@ PsychicGroup:
db WATER_GUN
db CONFUSION
- db $ff ; end
+ db -1 ; end
; ================
@@ -6987,7 +6987,7 @@ PsychicGroup:
db CONFUSION
db 0
- db $ff ; end
+ db -1 ; end
; ================
@@ -7009,7 +7009,7 @@ PsychicGroup:
db RECOVER
db FUTURE_SIGHT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7020,7 +7020,7 @@ PsychicGroup:
; party
db 36, ESPEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -7033,7 +7033,7 @@ PsychicGroup:
db 30, EXEGGCUTE
db 34, GIRAFARIG
- db $ff ; end
+ db -1 ; end
; ================
@@ -7046,7 +7046,7 @@ PsychicGroup:
db 32, EXEGGCUTE
db 35, EXEGGCUTE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7058,7 +7058,7 @@ PsychicGroup:
db 29, DROWZEE
db 33, HYPNO
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7075,7 +7075,7 @@ PicnickerGroup:
; party
db 9, NIDORAN_F
- db $ff ; end
+ db -1 ; end
; ================
@@ -7088,7 +7088,7 @@ PicnickerGroup:
db 9, HOPPIP
db 12, BULBASAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7104,7 +7104,7 @@ PicnickerGroup:
db QUICK_ATTACK
db DOUBLE_TEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -7115,7 +7115,7 @@ PicnickerGroup:
; party
db 15, VULPIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -7126,7 +7126,7 @@ PicnickerGroup:
; party
db 36, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -7137,7 +7137,7 @@ PicnickerGroup:
; party
db 34, FLAAFFY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7149,7 +7149,7 @@ PicnickerGroup:
db 31, FURRET
db 33, RAPIDASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7160,7 +7160,7 @@ PicnickerGroup:
; party
db 33, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -7173,7 +7173,7 @@ PicnickerGroup:
db 14, HOPPIP
db 17, IVYSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7185,7 +7185,7 @@ PicnickerGroup:
db 16, PONYTA
db 16, PONYTA
- db $ff ; end
+ db -1 ; end
; ================
@@ -7197,7 +7197,7 @@ PicnickerGroup:
db 15, WEEPINBELL
db 15, NIDORINA
- db $ff ; end
+ db -1 ; end
; ================
@@ -7210,7 +7210,7 @@ PicnickerGroup:
db 19, NIDORINO
db 21, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -7222,7 +7222,7 @@ PicnickerGroup:
db 32, SKIPLOOM
db 32, SKIPLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -7234,7 +7234,7 @@ PicnickerGroup:
db 30, NIDORINA
db 34, RAICHU
- db $ff ; end
+ db -1 ; end
; ================
@@ -7247,7 +7247,7 @@ PicnickerGroup:
db 26, SKIPLOOM
db 29, IVYSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7263,7 +7263,7 @@ PicnickerGroup:
db DOUBLESLAP
db MINIMIZE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7279,7 +7279,7 @@ PicnickerGroup:
db MINIMIZE
db METRONOME
- db $ff ; end
+ db -1 ; end
; ================
@@ -7291,7 +7291,7 @@ PicnickerGroup:
db 32, PONYTA
db 32, PONYTA
- db $ff ; end
+ db -1 ; end
; ================
@@ -7302,7 +7302,7 @@ PicnickerGroup:
; party
db 37, EXEGGUTOR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7318,7 +7318,7 @@ PicnickerGroup:
db DOUBLESLAP
db MINIMIZE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7346,7 +7346,7 @@ PicnickerGroup:
db FIRE_SPIN
db SUNNY_DAY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7359,7 +7359,7 @@ PicnickerGroup:
db 26, NIDORINO
db 26, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -7387,7 +7387,7 @@ PicnickerGroup:
db TAIL_WHIP
db BODY_SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -7400,7 +7400,7 @@ PicnickerGroup:
db 30, SKIPLOOM
db 32, IVYSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7428,7 +7428,7 @@ PicnickerGroup:
db HEADBUTT
db MUD_SLAP
- db $ff ; end
+ db -1 ; end
; ================
@@ -7444,7 +7444,7 @@ PicnickerGroup:
db MOONLIGHT
db MINIMIZE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7461,7 +7461,7 @@ CamperGroup:
; party
db 9, NIDORAN_M
- db $ff ; end
+ db -1 ; end
; ================
@@ -7472,7 +7472,7 @@ CamperGroup:
; party
db 14, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7485,7 +7485,7 @@ CamperGroup:
db 10, ZUBAT
db 14, DIGLETT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7497,7 +7497,7 @@ CamperGroup:
db 13, SANDSHREW
db 15, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -7508,7 +7508,7 @@ CamperGroup:
; party
db 36, NIDOKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -7519,7 +7519,7 @@ CamperGroup:
; party
db 34, NIDOKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -7531,7 +7531,7 @@ CamperGroup:
db 33, GOLDUCK
db 31, SANDSLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7544,7 +7544,7 @@ CamperGroup:
db 29, PRIMEAPE
db 29, POLIWRATH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7555,7 +7555,7 @@ CamperGroup:
; party
db 15, NIDORINO
- db $ff ; end
+ db -1 ; end
; ================
@@ -7566,7 +7566,7 @@ CamperGroup:
; party
db 15, NIDORINO
- db $ff ; end
+ db -1 ; end
; ================
@@ -7577,7 +7577,7 @@ CamperGroup:
; party
db 17, MANKEY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7590,7 +7590,7 @@ CamperGroup:
db 17, GEODUDE
db 23, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7603,7 +7603,7 @@ CamperGroup:
db 23, GEODUDE
db 26, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7617,7 +7617,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7631,7 +7631,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7645,7 +7645,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7659,7 +7659,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7670,7 +7670,7 @@ CamperGroup:
; party
db 37, SANDSLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7683,7 +7683,7 @@ CamperGroup:
db 17, SANDSLASH
db 19, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7697,7 +7697,7 @@ CamperGroup:
db 30, SLUGMA
db 32, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7731,7 +7731,7 @@ CamperGroup:
db SURF
db PSYCH_UP
- db $ff ; end
+ db -1 ; end
; ================
@@ -7744,7 +7744,7 @@ CamperGroup:
db 30, PRIMEAPE
db 30, TAUROS
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7778,7 +7778,7 @@ ExecutiveFGroup:
db HAZE
db NIGHT_SHADE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7806,7 +7806,7 @@ ExecutiveFGroup:
db HAZE
db 0
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7825,7 +7825,7 @@ SageGroup:
db 3, BELLSPROUT
db 3, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7838,7 +7838,7 @@ SageGroup:
db 3, BELLSPROUT
db 3, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7849,7 +7849,7 @@ SageGroup:
; party
db 6, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7861,7 +7861,7 @@ SageGroup:
db 7, BELLSPROUT
db 7, HOOTHOOT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7872,7 +7872,7 @@ SageGroup:
; party
db 22, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -7887,7 +7887,7 @@ SageGroup:
db 16, GASTLY
db 16, GASTLY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7900,7 +7900,7 @@ SageGroup:
db 3, BELLSPROUT
db 3, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7911,7 +7911,7 @@ SageGroup:
; party
db 6, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7924,7 +7924,7 @@ SageGroup:
db 7, BELLSPROUT
db 10, HOOTHOOT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7936,7 +7936,7 @@ SageGroup:
db 32, NOCTOWL
db 32, FLAREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -7948,7 +7948,7 @@ SageGroup:
db 32, NOCTOWL
db 32, JOLTEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -7960,7 +7960,7 @@ SageGroup:
db 32, NOCTOWL
db 32, VAPOREON
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7979,7 +7979,7 @@ MediumGroup:
db 20, HAUNTER
db 20, GASTLY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7991,7 +7991,7 @@ MediumGroup:
db 20, HAUNTER
db 20, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8002,7 +8002,7 @@ MediumGroup:
; party
db 25, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8013,7 +8013,7 @@ MediumGroup:
; party
db 25, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8024,7 +8024,7 @@ MediumGroup:
; party
db 25, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8036,7 +8036,7 @@ MediumGroup:
db 35, DROWZEE
db 35, HYPNO
- db $ff ; end
+ db -1 ; end
; ================
@@ -8048,7 +8048,7 @@ MediumGroup:
db 34, SLOWPOKE
db 36, SLOWBRO
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8067,7 +8067,7 @@ BoarderGroup:
db 25, DEWGONG
db 24, SEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -8079,7 +8079,7 @@ BoarderGroup:
db 26, SWINUB
db 26, SWINUB
- db $ff ; end
+ db -1 ; end
; ================
@@ -8092,7 +8092,7 @@ BoarderGroup:
db 25, CLOYSTER
db 24, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8109,7 +8109,7 @@ PokefanMGroup:
; party
db 14, RAICHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8120,7 +8120,7 @@ PokefanMGroup:
; party
db 17, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8131,7 +8131,7 @@ PokefanMGroup:
; party
db 33, QUAGSIRE, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8147,7 +8147,7 @@ PokefanMGroup:
db 23, PIKACHU, BERRY
db 23, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8160,7 +8160,7 @@ PokefanMGroup:
db 29, CHARMANDER, BERRY
db 29, SQUIRTLE, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8171,7 +8171,7 @@ PokefanMGroup:
; party
db 33, PSYDUCK, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8182,7 +8182,7 @@ PokefanMGroup:
; party
db 13, SNUBBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8195,7 +8195,7 @@ PokefanMGroup:
db 28, MEOWTH, BERRY
db 28, MEOWTH, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8206,7 +8206,7 @@ PokefanMGroup:
; party
db 32, DELIBIRD, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8217,7 +8217,7 @@ PokefanMGroup:
; party
db 19, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8228,7 +8228,7 @@ PokefanMGroup:
; party
db 36, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8241,7 +8241,7 @@ PokefanMGroup:
db 29, SLOWKING, BERRY
db 29, SEAKING, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8252,7 +8252,7 @@ PokefanMGroup:
; party
db 35, PHANPY, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8263,7 +8263,7 @@ PokefanMGroup:
; party
db 35, TEDDIURSA, BERRY
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8282,7 +8282,7 @@ KimonoGirlGroup:
db 20, VULPIX
db 18, SKIPLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -8293,7 +8293,7 @@ KimonoGirlGroup:
; party
db 17, FLAREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8304,7 +8304,7 @@ KimonoGirlGroup:
; party
db 17, ESPEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8315,7 +8315,7 @@ KimonoGirlGroup:
; party
db 17, UMBREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8326,7 +8326,7 @@ KimonoGirlGroup:
; party
db 17, VAPOREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8337,7 +8337,7 @@ KimonoGirlGroup:
; party
db 17, JOLTEON
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8355,7 +8355,7 @@ TwinsGroup:
db 10, SPINARAK
db 10, LEDYBA
- db $ff ; end
+ db -1 ; end
; ================
@@ -8377,7 +8377,7 @@ TwinsGroup:
db POUND
db DISABLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -8399,7 +8399,7 @@ TwinsGroup:
db DOUBLESLAP
db METRONOME
- db $ff ; end
+ db -1 ; end
; ================
@@ -8411,7 +8411,7 @@ TwinsGroup:
db 10, LEDYBA
db 10, SPINARAK
- db $ff ; end
+ db -1 ; end
; ================
@@ -8423,7 +8423,7 @@ TwinsGroup:
db 35, VICTREEBEL
db 35, VILEPLUME
- db $ff ; end
+ db -1 ; end
; ================
@@ -8435,7 +8435,7 @@ TwinsGroup:
db 35, VILEPLUME
db 35, VICTREEBEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -8447,7 +8447,7 @@ TwinsGroup:
db 31, TEDDIURSA
db 31, PHANPY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8459,7 +8459,7 @@ TwinsGroup:
db 31, PHANPY
db 31, TEDDIURSA
- db $ff ; end
+ db -1 ; end
; ================
@@ -8481,7 +8481,7 @@ TwinsGroup:
db ICE_BEAM
db HEADBUTT
- db $ff ; end
+ db -1 ; end
; ================
@@ -8503,7 +8503,7 @@ TwinsGroup:
db FLAMETHROWER
db HEADBUTT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8520,7 +8520,7 @@ PokefanFGroup:
; party
db 14, SNUBBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8531,7 +8531,7 @@ PokefanFGroup:
; party
db 17, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8542,7 +8542,7 @@ PokefanFGroup:
; party
db 18, SNUBBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8553,7 +8553,7 @@ PokefanFGroup:
; party
db 30, GRANBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8568,7 +8568,7 @@ PokefanFGroup:
db 28, FURRET, BERRY
db 23, SENTRET, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8579,7 +8579,7 @@ PokefanFGroup:
; party
db 16, MEOWTH, BERRY
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8631,7 +8631,7 @@ RedGroup:
db BLIZZARD
db WHIRLPOOL
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8683,7 +8683,7 @@ BlueGroup:
db FLAMETHROWER
db EXTREMESPEED
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8700,7 +8700,7 @@ OfficerGroup:
; party
db 17, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
@@ -8712,7 +8712,7 @@ OfficerGroup:
db 14, GROWLITHE
db 14, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8730,7 +8730,7 @@ GruntFGroup:
db 9, ZUBAT
db 11, EKANS
- db $ff ; end
+ db -1 ; end
; ================
@@ -8741,7 +8741,7 @@ GruntFGroup:
; party
db 26, ARBOK
- db $ff ; end
+ db -1 ; end
; ================
@@ -8753,7 +8753,7 @@ GruntFGroup:
db 25, GLOOM
db 25, GLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -8767,7 +8767,7 @@ GruntFGroup:
db 21, EKANS
db 24, GLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -8789,7 +8789,7 @@ GruntFGroup:
db STUN_SPORE
db SLEEP_POWDER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8823,7 +8823,7 @@ MysticalmanGroup:
db THUNDER
db ROLLOUT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
diff --git a/data/trainers/party_pointers.asm b/data/trainers/party_pointers.asm
index c0b3d4538..887544126 100644
--- a/data/trainers/party_pointers.asm
+++ b/data/trainers/party_pointers.asm
@@ -1,6 +1,7 @@
-; Each trainer class has its own group. See trainers.asm.
+; Groups are defined in data/trainers/parties.asm.
TrainerGroups: ; 0x39999
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
dw FalknerGroup
dw WhitneyGroup
dw BugsyGroup
diff --git a/data/trainers/pic_pointers.asm b/data/trainers/pic_pointers.asm
index 201b44200..6fc444eb6 100644
--- a/data/trainers/pic_pointers.asm
+++ b/data/trainers/pic_pointers.asm
@@ -1,3 +1,5 @@
+; Pics are defined in gfx/pics.asm
+
TrainerPicPointers::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
dba_pic FalknerPic
diff --git a/data/trainers/sprites.asm b/data/trainers/sprites.asm
new file mode 100644
index 000000000..df6c04920
--- /dev/null
+++ b/data/trainers/sprites.asm
@@ -0,0 +1,68 @@
+BTTrainerClassSprites:
+; entries correspond to trainer classes
+ db SPRITE_FALKNER
+ db SPRITE_WHITNEY
+ db SPRITE_BUGSY
+ db SPRITE_MORTY
+ db SPRITE_PRYCE
+ db SPRITE_JASMINE
+ db SPRITE_CHUCK
+ db SPRITE_CLAIR
+ db SPRITE_SILVER
+ db SPRITE_OAK
+ db SPRITE_WILL
+ db SPRITE_CHRIS
+ db SPRITE_BRUNO
+ db SPRITE_KAREN
+ db SPRITE_KOGA
+ db SPRITE_LANCE
+ db SPRITE_BROCK
+ db SPRITE_MISTY
+ db SPRITE_SURGE
+ db SPRITE_SCIENTIST
+ db SPRITE_ERIKA
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_JANINE
+ db SPRITE_COOLTRAINER_M
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_BUENA
+ db SPRITE_SUPER_NERD
+ db SPRITE_ROCKET
+ db SPRITE_GENTLEMAN
+ db SPRITE_BUENA
+ db SPRITE_TEACHER
+ db SPRITE_SABRINA
+ db SPRITE_BUG_CATCHER
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_SAILOR
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLUE
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_BIKER
+ db SPRITE_BLAINE
+ db SPRITE_PHARMACIST
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLACK_BELT
+ db SPRITE_ROCKET
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_YOUNGSTER
+ db SPRITE_ROCKET_GIRL
+ db SPRITE_SAGE
+ db SPRITE_GRANNY
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_KIMONO_GIRL
+ db SPRITE_TWIN
+ db SPRITE_POKEFAN_F
+ db SPRITE_RED
+ db SPRITE_BLUE
+ db SPRITE_OFFICER
+ db SPRITE_ROCKET_GIRL
diff --git a/data/type_names.asm b/data/types/names.asm
index d86fd62c7..ca810aea3 100644
--- a/data/type_names.asm
+++ b/data/types/names.asm
@@ -48,3 +48,5 @@ Ghost: db "GHOST@"
Steel: db "STEEL@"
Dragon: db "DRAGON@"
Dark: db "DARK@"
+
+; 50a28
diff --git a/data/types/search_strings.asm b/data/types/search_strings.asm
new file mode 100644
index 000000000..7e6eb71c2
--- /dev/null
+++ b/data/types/search_strings.asm
@@ -0,0 +1,21 @@
+PokedexTypeSearchStrings: ; 40fe4
+; entries correspond with PokedexTypeSearchConversionTable (see data/types/search_types.asm)
+ db " ---- @"
+ db " NORMAL @"
+ db " FIRE @"
+ db " WATER @"
+ db " GRASS @"
+ db "ELECTRIC@"
+ db " ICE @"
+ db "FIGHTING@"
+ db " POISON @"
+ db " GROUND @"
+ db " FLYING @"
+ db "PSYCHIC @"
+ db " BUG @"
+ db " ROCK @"
+ db " GHOST @"
+ db " DRAGON @"
+ db " DARK @"
+ db " STEEL @"
+; 41086
diff --git a/data/types/search_types.asm b/data/types/search_types.asm
new file mode 100644
index 000000000..2c5dbd4f4
--- /dev/null
+++ b/data/types/search_types.asm
@@ -0,0 +1,20 @@
+PokedexTypeSearchConversionTable: ; 410f6
+; entries correspond with PokedexTypeSearchStrings (see data/types/search_strings.asm)
+ db NORMAL
+ db FIRE
+ db WATER
+ db GRASS
+ db ELECTRIC
+ db ICE
+ db FIGHTING
+ db POISON
+ db GROUND
+ db FLYING
+ db PSYCHIC
+ db BUG
+ db ROCK
+ db GHOST
+ db DRAGON
+ db DARK
+ db STEEL
+; 41107
diff --git a/data/unown_walls.asm b/data/unown_walls.asm
new file mode 100644
index 000000000..eae376730
--- /dev/null
+++ b/data/unown_walls.asm
@@ -0,0 +1,54 @@
+unownwall: MACRO
+rept _NARG
+if \1 == "-"
+x = $64
+else
+if \1 >= "Y"
+x = 2 * (\1 - "Y") + $60
+else
+if \1 >= "Q"
+x = 2 * (\1 - "Q") + $40
+else
+if \1 >= "I"
+x = 2 * (\1 - "I") + $20
+else
+x = 2 * (\1 - "A")
+endc
+endc
+endc
+endc
+ db x
+shift
+endr
+ db -1 ; end
+ENDM
+
+UnownWalls: ; 8aebc
+; UNOWNWORDS_ESCAPE
+ ; db $08, $44, $04, $00, $2e, $08, $ff
+ unownwall "E", "S", "C", "A", "P", "E"
+; UNOWNWORDS_LIGHT
+ ; db $26, $20, $0c, $0e, $46, $ff
+ unownwall "L", "I", "G", "H", "T"
+; UNOWNWORDS_WATER
+ ; db $4c, $00, $46, $08, $42, $ff
+ unownwall "W", "A", "T", "E", "R"
+; UNOWNWORDS_HO_OH
+ ; db $0e, $2c, $64, $2c, $0e, $ff
+ unownwall "H", "O", "-", "O", "H"
+; 8aed5
+
+MenuDataHeaders_UnownWalls: ; 0x8aed5
+; UNOWNWORDS_ESCAPE
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 3, 4, 16, 9
+; UNOWNWORDS_LIGHT
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 4, 4, 15, 9
+; UNOWNWORDS_WATER
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 4, 4, 15, 9
+; UNOWNWORDS_HO_OH
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 4, 4, 15, 9
+; 8aee9
diff --git a/data/unused/dakutens.asm b/data/unused/dakutens.asm
new file mode 100644
index 000000000..756018d79
--- /dev/null
+++ b/data/unused/dakutens.asm
@@ -0,0 +1,15 @@
+UnreferencedDakutens:
+ db "かが", "きぎ", "くぐ", "けげ", "こご"
+ db "さざ", "しじ", "すず", "せぜ", "そぞ"
+ db "ただ", "ちぢ", "つづ", "てで", "とど"
+ db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
+ db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
+ db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
+ db "タダ", "チヂ", "ツヅ", "テデ", "トド"
+ db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
+ db -1 ; end
+
+UnreferencedHandakutens:
+ db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
+ db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
+ db -1 ; end
diff --git a/data/unused/gen_1_trainer_names.asm b/data/unused/gen_1_trainer_names.asm
new file mode 100644
index 000000000..a802a5048
--- /dev/null
+++ b/data/unused/gen_1_trainer_names.asm
@@ -0,0 +1,71 @@
+Gen1TrainerClassNames: ; 50a42
+; Untranslated trainer class names from Red.
+ dw .Youngster
+ dw .BugCatcher
+ dw .Lass
+ dw OTClassName ; sailor
+ dw .JrTrainerM
+ dw .JrTrainerF
+ dw .Pokemaniac
+ dw .SuperNerd
+ dw OTClassName ; hiker
+ dw OTClassName ; biker
+ dw .Burglar
+ dw .Engineer
+ dw .Jack
+ dw OTClassName ; fisher
+ dw .Swimmer
+ dw OTClassName ; cue ball
+ dw OTClassName ; gambler
+ dw .Beauty
+ dw OTClassName ; psychic
+ dw .Rocker
+ dw .Juggler
+ dw OTClassName ; tamer
+ dw OTClassName ; bird keeper
+ dw .Blackbelt
+ dw OTClassName ; rival1
+ dw .ProfOak
+ dw .Chief
+ dw .Scientist
+ dw OTClassName ; giovanni
+ dw .Rocket
+ dw .CooltrainerM
+ dw .CooltrainerF
+ dw OTClassName ; bruno
+ dw OTClassName ; brock
+ dw OTClassName ; misty
+ dw OTClassName ; lt.surge
+ dw OTClassName ; erika
+ dw OTClassName ; koga
+ dw OTClassName ; blaine
+ dw OTClassName ; sabrina
+ dw OTClassName ; gentleman
+ dw OTClassName ; rival2
+ dw OTClassName ; rival3
+ dw OTClassName ; lorelei
+ dw OTClassName ; channeler
+ dw OTClassName ; agatha
+ dw OTClassName ; lance
+
+.Youngster: db "たんパン@"
+.BugCatcher: db "むしとり@"
+.Lass: db "ミニスカ@"
+.JrTrainerM: db "ボーイ@"
+.JrTrainerF: db "ガール@"
+.Pokemaniac: db "マニア@"
+.SuperNerd: db "りかけい@"
+.Burglar: db "どろぼう@"
+.Engineer: db "オヤジ@"
+.Jack: db "ジャック@"
+.Swimmer: db "かいパン@"
+.Beauty: db "おねえさん@"
+.Rocker: db "グループ@"
+.Juggler: db "ジャグラー@"
+.Blackbelt: db "からて@"
+.ProfOak: db "オーキド@"
+.Chief: db "チーフ@"
+.Scientist: db "けんきゅういん@"
+.Rocket: db "だんいん@"
+.CooltrainerM: db "エりート♂@"
+.CooltrainerF: db "エりート♀@"
diff --git a/data/unused/sweet_honey_text.asm b/data/unused/sweet_honey_text.asm
new file mode 100644
index 000000000..9bfa4f6b1
--- /dev/null
+++ b/data/unused/sweet_honey_text.asm
@@ -0,0 +1,68 @@
+; Sweet Honey is a feature that was scrapped before development.
+; It was later implemented in Pokémon Diamond and Pearl.
+;
+; Sweet Honey was probably reworked into Sweet Scent.
+; A map in the final game has a Butterfree and a woman who gives
+; the Sweet Scent TM.
+
+; Most of these texts seem to be associated with a single NPC.
+; The last text is associated with a second NPC, probably a Butterfree.
+
+UnusedSweetHoneyText: ; 0x5578a
+ text "My #MON is an"
+ line "expert at collect-"
+ cont "ing SWEET HONEY."
+
+ para "I'll share some"
+ line "with you."
+ done
+
+UnusedSweetHoneyBagFullText: ; 0x557d6
+ text "I want to give you"
+ line "some SWEET HONEY,"
+
+ para "but you have no"
+ line "room for it."
+ done
+
+UnusedSweetHoneyGiveText: ; 0x55819
+ text "Here you go! Have"
+ line "some SWEET HONEY!"
+ done
+
+UnusedGotSweetHoneyText: ; 0x5583e
+ text "<PLAYER> received"
+ line "SWEET HONEY."
+ done
+
+UnusedSweetHoneyAfterText1: ; 0x55856
+ text "My little brother"
+ line "takes SWEET HONEY"
+
+ para "and goes somewhere"
+ line "with it."
+
+ para "I wonder what he's"
+ line "up to?"
+ done
+
+UnusedSweetHoneyAfterText2: ; 0x558b1
+ text "Did you put SWEET"
+ line "HONEY on a tree?"
+
+ para "What happened to"
+ line "it?"
+ done
+
+UnusedSweetHoneyAfterText3: ; 0x558ea
+ text "Did you put SWEET"
+ line "HONEY on a tree?"
+
+ para "It takes about a"
+ line "day for #MON to"
+ cont "be drawn to it."
+ done
+
+UnusedSweetHoneyButterfreeText: ; 0x5593f
+ text "BUTTERFREE: Freeh!"
+ done
diff --git a/data/unused/unknown_53d84.asm b/data/unused/unknown_53d84.asm
new file mode 100755
index 000000000..026ec5275
--- /dev/null
+++ b/data/unused/unknown_53d84.asm
@@ -0,0 +1,13 @@
+Unreferenced_53d84:
+ db $1a, $15
+ db $33, $16
+ db $4b, $17
+ db $62, $18
+ db $79, $19
+ db $90, $1a
+ db $a8, $1b
+ db $c4, $1c
+ db $e0, $1d
+ db $f6, $1e
+ db $ff, $1f
+ db $ff, $20
diff --git a/data/wild/fish.asm b/data/wild/fish.asm
index de7e57a33..91a887b53 100644
--- a/data/wild/fish.asm
+++ b/data/wild/fish.asm
@@ -1,3 +1,5 @@
+time_group EQUS "0," ; use the nth TimeFishGroups entry
+
FishGroups: ; 92488
dbwww 50 percent + 1, .Shore_Old, .Shore_Good, .Shore_Super
dbwww 50 percent + 1, .Ocean_Old, .Ocean_Good, .Ocean_Super
@@ -21,10 +23,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, KRABBY, 20
db 90 percent + 1, KRABBY, 20
- db 100 percent, 0, 0
+ db 100 percent, time_group 0
.Shore_Super: ; 924f8
db 40 percent, KRABBY, 40
- db 70 percent, 0, 1
+ db 70 percent, time_group 1
db 90 percent + 1, KRABBY, 40
db 100 percent, KINGLER, 40
@@ -36,10 +38,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, TENTACOOL, 20
db 90 percent + 1, CHINCHOU, 20
- db 100 percent, 0, 2
+ db 100 percent, time_group 2
.Ocean_Super: ; 92519
db 40 percent, CHINCHOU, 40
- db 70 percent, 0, 3
+ db 70 percent, time_group 3
db 90 percent + 1, TENTACRUEL, 40
db 100 percent, LANTURN, 40
@@ -51,10 +53,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, GOLDEEN, 20
db 90 percent + 1, GOLDEEN, 20
- db 100 percent, 0, 4
+ db 100 percent, time_group 4
.Lake_Super: ; 9253a
db 40 percent, GOLDEEN, 40
- db 70 percent, 0, 5
+ db 70 percent, time_group 5
db 90 percent + 1, MAGIKARP, 40
db 100 percent, SEAKING, 40
@@ -66,10 +68,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, POLIWAG, 20
db 90 percent + 1, POLIWAG, 20
- db 100 percent, 0, 6
+ db 100 percent, time_group 6
.Pond_Super: ; 9255b
db 40 percent, POLIWAG, 40
- db 70 percent, 0, 7
+ db 70 percent, time_group 7
db 90 percent + 1, MAGIKARP, 40
db 100 percent, POLIWAG, 40
@@ -81,10 +83,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, MAGIKARP, 20
db 90 percent + 1, MAGIKARP, 20
- db 100 percent, 0, 8
+ db 100 percent, time_group 8
.Dratini_Super: ; 9257c
db 40 percent, MAGIKARP, 40
- db 70 percent, 0, 9
+ db 70 percent, time_group 9
db 90 percent + 1, MAGIKARP, 40
db 100 percent, DRAGONAIR, 40
@@ -96,10 +98,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, QWILFISH, 20
db 90 percent + 1, QWILFISH, 20
- db 100 percent, 0, 10
+ db 100 percent, time_group 10
.Qwilfish_Swarm_Super: ; 9259d
db 40 percent, QWILFISH, 40
- db 70 percent, 0, 11
+ db 70 percent, time_group 11
db 90 percent + 1, QWILFISH, 40
db 100 percent, QWILFISH, 40
@@ -111,10 +113,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, REMORAID, 20
db 90 percent + 1, REMORAID, 20
- db 100 percent, 0, 12
+ db 100 percent, time_group 12
.Remoraid_Swarm_Super: ; 925be
db 40 percent, REMORAID, 40
- db 70 percent, 0, 13
+ db 70 percent, time_group 13
db 90 percent + 1, REMORAID, 40
db 100 percent, REMORAID, 40
@@ -126,10 +128,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, MAGIKARP, 20
db 90 percent + 1, MAGIKARP, 20
- db 100 percent, 0, 14
+ db 100 percent, time_group 14
.Gyarados_Super: ; 925df
db 40 percent, MAGIKARP, 40
- db 70 percent, 0, 15
+ db 70 percent, time_group 15
db 90 percent + 1, MAGIKARP, 40
db 100 percent, MAGIKARP, 40
@@ -141,10 +143,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 10
db 70 percent, MAGIKARP, 10
db 90 percent + 1, MAGIKARP, 10
- db 100 percent, 0, 16
+ db 100 percent, time_group 16
.Dratini_2_Super: ; 92600
db 40 percent, MAGIKARP, 10
- db 70 percent, 0, 17
+ db 70 percent, time_group 17
db 90 percent + 1, MAGIKARP, 10
db 100 percent, DRAGONAIR, 10
@@ -156,10 +158,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, KRABBY, 20
db 90 percent + 1, KRABBY, 20
- db 100 percent, 0, 18
+ db 100 percent, time_group 18
.WhirlIslands_Super: ; 92621
db 40 percent, KRABBY, 40
- db 70 percent, 0, 19
+ db 70 percent, time_group 19
db 90 percent + 1, KINGLER, 40
db 100 percent, SEADRA, 40
@@ -173,11 +175,11 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, TENTACOOL, 20
db 90 percent + 1, TENTACOOL, 20
- db 100 percent, 0, 20
+ db 100 percent, time_group 20
.Qwilfish_NoSwarm_Super:
.Qwilfish_Super: ; 92642
db 40 percent, TENTACOOL, 40
- db 70 percent, 0, 21
+ db 70 percent, time_group 21
db 90 percent + 1, MAGIKARP, 40
db 100 percent, QWILFISH, 40
@@ -189,10 +191,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, POLIWAG, 20
db 90 percent + 1, POLIWAG, 20
- db 100 percent, 0, 6
+ db 100 percent, time_group 6
.Remoraid_Super: ; 92663
db 40 percent, POLIWAG, 40
- db 70 percent, 0, 7
+ db 70 percent, time_group 7
db 90 percent + 1, MAGIKARP, 40
db 100 percent, REMORAID, 40
; 9266f
diff --git a/data/wild/probabilities.asm b/data/wild/probabilities.asm
index a18e9d336..1813603c2 100644
--- a/data/wild/probabilities.asm
+++ b/data/wild/probabilities.asm
@@ -1,15 +1,20 @@
+mon_prob: MACRO
+; percent, index
+ db \1, \2 * 2
+ENDM
+
GrassMonProbTable: ; 2a1cb
- db 30, $0 ; 30% chance
- db 60, $2 ; 30% chance
- db 80, $4 ; 20% chance
- db 90, $6 ; 10% chance
- db 95, $8 ; 5% chance
- db 99, $a ; 4% chance
- db 100, $c ; 1% chance
+ mon_prob 30, 0 ; 30% chance
+ mon_prob 60, 1 ; 30% chance
+ mon_prob 80, 2 ; 20% chance
+ mon_prob 90, 3 ; 10% chance
+ mon_prob 95, 4 ; 5% chance
+ mon_prob 99, 5 ; 4% chance
+ mon_prob 100, 6 ; 1% chance
; 2a1d9
WaterMonProbTable: ; 2a1d9
- db 60, $0 ; 60% chance
- db 90, $2 ; 30% chance
- db 100, $4 ; 10% chance
+ mon_prob 60, 0 ; 60% chance
+ mon_prob 90, 1 ; 30% chance
+ mon_prob 100, 2 ; 10% chance
; 2a1df
diff --git a/data/wild/roammon_maps.asm b/data/wild/roammon_maps.asm
index c0b552b26..07bb7a9d9 100644
--- a/data/wild/roammon_maps.asm
+++ b/data/wild/roammon_maps.asm
@@ -13,6 +13,7 @@ endr
ENDM
RoamMaps: ; 2a40f
+; there are NUM_ROAMMON_MAPS entries
roam_map ROUTE_29, 2, ROUTE_30, ROUTE_46
roam_map ROUTE_30, 2, ROUTE_29, ROUTE_31
roam_map ROUTE_31, 3, ROUTE_30, ROUTE_32, ROUTE_36
diff --git a/data/wild/treemon_maps.asm b/data/wild/treemon_maps.asm
index e825930cc..7860110ca 100644
--- a/data/wild/treemon_maps.asm
+++ b/data/wild/treemon_maps.asm
@@ -4,47 +4,47 @@ treemon_map: MACRO
ENDM
TreeMonMaps: ; b825e
- treemon_map ROUTE_26, 4
- treemon_map ROUTE_27, 4
- treemon_map ROUTE_28, 0
- treemon_map ROUTE_29, 3
- treemon_map ROUTE_30, 3
- treemon_map ROUTE_31, 3
- treemon_map ROUTE_32, 4
- treemon_map ROUTE_33, 2
- treemon_map ROUTE_34, 3
- treemon_map ROUTE_35, 3
- treemon_map ROUTE_36, 3
- treemon_map ROUTE_37, 3
- treemon_map ROUTE_38, 3
- treemon_map ROUTE_39, 3
- treemon_map ROUTE_40, 0
- treemon_map ROUTE_41, 0
- treemon_map ROUTE_42, 2
- treemon_map ROUTE_43, 5
- treemon_map ROUTE_44, 1
- treemon_map ROUTE_45, 1
- treemon_map ROUTE_46, 1
- treemon_map NEW_BARK_TOWN, 0
- treemon_map CHERRYGROVE_CITY, 0
- treemon_map VIOLET_CITY, 0
- treemon_map AZALEA_TOWN, 2
- treemon_map CIANWOOD_CITY, 0
- treemon_map GOLDENROD_CITY, 0
- treemon_map OLIVINE_CITY, 0
- treemon_map ECRUTEAK_CITY, 0
- treemon_map MAHOGANY_TOWN, 0
- treemon_map LAKE_OF_RAGE, 5
- treemon_map BLACKTHORN_CITY, 0
- treemon_map SILVER_CAVE_OUTSIDE, 0
- treemon_map ILEX_FOREST, 6
+ treemon_map ROUTE_26, TREEMON_SET_KANTO
+ treemon_map ROUTE_27, TREEMON_SET_KANTO
+ treemon_map ROUTE_28, TREEMON_SET_CITY
+ treemon_map ROUTE_29, TREEMON_SET_ROUTE
+ treemon_map ROUTE_30, TREEMON_SET_ROUTE
+ treemon_map ROUTE_31, TREEMON_SET_ROUTE
+ treemon_map ROUTE_32, TREEMON_SET_KANTO
+ treemon_map ROUTE_33, TREEMON_SET_AZALEA
+ treemon_map ROUTE_34, TREEMON_SET_ROUTE
+ treemon_map ROUTE_35, TREEMON_SET_ROUTE
+ treemon_map ROUTE_36, TREEMON_SET_ROUTE
+ treemon_map ROUTE_37, TREEMON_SET_ROUTE
+ treemon_map ROUTE_38, TREEMON_SET_ROUTE
+ treemon_map ROUTE_39, TREEMON_SET_ROUTE
+ treemon_map ROUTE_40, TREEMON_SET_CITY
+ treemon_map ROUTE_41, TREEMON_SET_CITY
+ treemon_map ROUTE_42, TREEMON_SET_AZALEA
+ treemon_map ROUTE_43, TREEMON_SET_LAKE
+ treemon_map ROUTE_44, TREEMON_SET_CANYON
+ treemon_map ROUTE_45, TREEMON_SET_CANYON
+ treemon_map ROUTE_46, TREEMON_SET_CANYON
+ treemon_map NEW_BARK_TOWN, TREEMON_SET_CITY
+ treemon_map CHERRYGROVE_CITY, TREEMON_SET_CITY
+ treemon_map VIOLET_CITY, TREEMON_SET_CITY
+ treemon_map AZALEA_TOWN, TREEMON_SET_AZALEA
+ treemon_map CIANWOOD_CITY, TREEMON_SET_CITY
+ treemon_map GOLDENROD_CITY, TREEMON_SET_CITY
+ treemon_map OLIVINE_CITY, TREEMON_SET_CITY
+ treemon_map ECRUTEAK_CITY, TREEMON_SET_CITY
+ treemon_map MAHOGANY_TOWN, TREEMON_SET_CITY
+ treemon_map LAKE_OF_RAGE, TREEMON_SET_LAKE
+ treemon_map BLACKTHORN_CITY, TREEMON_SET_CITY
+ treemon_map SILVER_CAVE_OUTSIDE, TREEMON_SET_CITY
+ treemon_map ILEX_FOREST, TREEMON_SET_FOREST
db -1
; b82c5
RockMonMaps: ; b82c5
- treemon_map CIANWOOD_CITY, 7
- treemon_map ROUTE_40, 7
- treemon_map DARK_CAVE_VIOLET_ENTRANCE, 7
- treemon_map SLOWPOKE_WELL_B1F, 7
+ treemon_map CIANWOOD_CITY, TREEMON_SET_ROCK
+ treemon_map ROUTE_40, TREEMON_SET_ROCK
+ treemon_map DARK_CAVE_VIOLET_ENTRANCE, TREEMON_SET_ROCK
+ treemon_map SLOWPOKE_WELL_B1F, TREEMON_SET_ROCK
db -1
; b82d2
diff --git a/data/wild/treemons.asm b/data/wild/treemons.asm
index 0cb8fa83d..21cef29ec 100644
--- a/data/wild/treemons.asm
+++ b/data/wild/treemons.asm
@@ -1,19 +1,21 @@
TreeMons: ; b82e8
- dw TreeMons1
- dw TreeMons1
- dw TreeMons2
- dw TreeMons3
- dw TreeMons4
- dw TreeMons5
- dw TreeMons6
- dw RockMons
- dw TreeMons1
+; entries correspond to TREEMON_SET_* constants
+ dw TreeMonSet_City
+ dw TreeMonSet_Canyon
+ dw TreeMonSet_Azalea
+ dw TreeMonSet_Route
+ dw TreeMonSet_Kanto
+ dw TreeMonSet_Lake
+ dw TreeMonSet_Forest
+ dw TreeMonSet_Rock
+ dw TreeMonSet_City
; Two tables each (common, rare).
; Structure:
; db %, species, level
-TreeMons1: ; b82fa
+TreeMonSet_City:
+TreeMonSet_Canyon: ; b82fa
; common
db 50, SPEAROW, 10
db 15, SPEAROW, 10
@@ -31,7 +33,7 @@ TreeMons1: ; b82fa
db 5, AIPOM, 10
db -1
-TreeMons2: ; b8320
+TreeMonSet_Azalea: ; b8320
; common
db 50, SPEAROW, 10
db 15, EKANS, 10
@@ -49,7 +51,7 @@ TreeMons2: ; b8320
db 5, AIPOM, 10
db -1
-TreeMons3: ; b8346
+TreeMonSet_Route: ; b8346
; common
db 50, HOOTHOOT, 10
db 15, SPINARAK, 10
@@ -67,7 +69,7 @@ TreeMons3: ; b8346
db 5, EXEGGCUTE, 10
db -1
-TreeMons4: ; b836c
+TreeMonSet_Kanto: ; b836c
; common
db 50, HOOTHOOT, 10
db 15, EKANS, 10
@@ -85,7 +87,7 @@ TreeMons4: ; b836c
db 5, EXEGGCUTE, 10
db -1
-TreeMons5: ; b8392
+TreeMonSet_Lake: ; b8392
; common
db 50, HOOTHOOT, 10
db 15, VENONAT, 10
@@ -103,7 +105,7 @@ TreeMons5: ; b8392
db 5, EXEGGCUTE, 10
db -1
-TreeMons6: ; b83b8
+TreeMonSet_Forest: ; b83b8
; common
db 50, HOOTHOOT, 10
db 15, PINECO, 10
@@ -121,7 +123,7 @@ TreeMons6: ; b83b8
db 5, KAKUNA, 10
db -1
-RockMons: ; b83de
+TreeMonSet_Rock: ; b83de
db 90, KRABBY, 15
db 10, SHUCKLE, 15
db -1
diff --git a/data/wild/treemons_asleep.asm b/data/wild/treemons_asleep.asm
new file mode 100644
index 000000000..50c50f99f
--- /dev/null
+++ b/data/wild/treemons_asleep.asm
@@ -0,0 +1,31 @@
+; Used by CheckSleepingTreeMon
+
+AsleepTreeMonsNite:
+ db CATERPIE
+ db METAPOD
+ db BUTTERFREE
+ db WEEDLE
+ db KAKUNA
+ db BEEDRILL
+ db SPEAROW
+ db EKANS
+ db EXEGGCUTE
+ db LEDYBA
+ db AIPOM
+ db -1 ; end
+
+AsleepTreeMonsDay:
+ db VENONAT
+ db HOOTHOOT
+ db NOCTOWL
+ db SPINARAK
+ db HERACROSS
+ db -1 ; end
+
+AsleepTreeMonsMorn:
+ db VENONAT
+ db HOOTHOOT
+ db NOCTOWL
+ db SPINARAK
+ db HERACROSS
+ db -1 ; end