shithub: pokered

Download patch

ref: 725b86ebbec23bd1f53fd60bf0201c904fee951d
parent: 108245cb21abb3abac051b7db84ed6c694192a61
parent: c7796024590fec48ac79756793c1a6e3b54daf8f
author: Daniel Harding <[email protected]>
date: Sun Jan 13 17:38:16 EST 2019

Merge pull request #196 from Rangi42/polishedmaps

Rename map files, labels, and constants to be consistent and work with Polished Map

--- a/audio.asm
+++ b/audio.asm
@@ -1,4 +1,3 @@
-
 INCLUDE "constants.asm"
 
 
@@ -12,7 +11,6 @@
 INCLUDE "audio/headers/sfxheaders3.asm"
 
 
-
 SECTION "Music Headers 1", ROMX ; BANK $02
 INCLUDE "audio/headers/musicheaders1.asm"
 
@@ -21,7 +19,6 @@
 
 SECTION "Music Headers 3", ROMX ; BANK $1f
 INCLUDE "audio/headers/musicheaders3.asm"
-
 
 
 SECTION "Sound Effects 1", ROMX ; BANK $02
--- a/constants/hide_show_constants.asm
+++ b/constants/hide_show_constants.asm
@@ -6,231 +6,231 @@
 
 const_value = 0
 
-	const HS_PALLET_TOWN_OAK              ; 00
-	const HS_LYING_OLD_MAN                ; 01
-	const HS_OLD_MAN                      ; 02
-	const HS_MUSEUM_GUY                   ; 03
-	const HS_GYM_GUY                      ; 04
-	const HS_CERULEAN_RIVAL               ; 05
-	const HS_CERULEAN_ROCKET              ; 06
-	const HS_CERULEAN_GUARD_1             ; 07
-	const HS_UNKNOWN_DUNGEON_GUY          ; 08
-	const HS_CERULEAN_GUARD_2             ; 09
-	const HS_SAFFRON_CITY_1               ; 0A
-	const HS_SAFFRON_CITY_2               ; 0B
-	const HS_SAFFRON_CITY_3               ; 0C
-	const HS_SAFFRON_CITY_4               ; 0D
-	const HS_SAFFRON_CITY_5               ; 0E
-	const HS_SAFFRON_CITY_6               ; 0F
-	const HS_SAFFRON_CITY_7               ; 10
-	const HS_SAFFRON_CITY_8               ; 11
-	const HS_SAFFRON_CITY_9               ; 12
-	const HS_SAFFRON_CITY_A               ; 13
-	const HS_SAFFRON_CITY_B               ; 14
-	const HS_SAFFRON_CITY_C               ; 15
-	const HS_SAFFRON_CITY_D               ; 16
-	const HS_SAFFRON_CITY_E               ; 17
-	const HS_SAFFRON_CITY_F               ; 18
-	const HS_ROUTE_2_ITEM_1               ; 19 X
-	const HS_ROUTE_2_ITEM_2               ; 1A X
-	const HS_ROUTE_4_ITEM                 ; 1B X
-	const HS_ROUTE_9_ITEM                 ; 1C X
-	const HS_ROUTE_12_SNORLAX             ; 1D
-	const HS_ROUTE_12_ITEM_1              ; 1E X
-	const HS_ROUTE_12_ITEM_2              ; 1F X
-	const HS_ROUTE_15_ITEM                ; 20 X
-	const HS_ROUTE_16_SNORLAX             ; 21
-	const HS_ROUTE_22_RIVAL_1             ; 22
-	const HS_ROUTE_22_RIVAL_2             ; 23
-	const HS_NUGGET_BRIDGE_GUY            ; 24
-	const HS_ROUTE_24_ITEM                ; 25 X
-	const HS_ROUTE_25_ITEM                ; 26 X
-	const HS_DAISY_SITTING                ; 27
-	const HS_DAISY_WALKING                ; 28
-	const HS_TOWN_MAP                     ; 29
-	const HS_OAKS_LAB_RIVAL               ; 2A
-	const HS_STARTER_BALL_1               ; 2B
-	const HS_STARTER_BALL_2               ; 2C
-	const HS_STARTER_BALL_3               ; 2D
-	const HS_OAKS_LAB_OAK_1               ; 2E
-	const HS_POKEDEX_1                    ; 2F
-	const HS_POKEDEX_2                    ; 30
-	const HS_OAKS_LAB_OAK_2               ; 31
-	const HS_VIRIDIAN_GYM_GIOVANNI        ; 32
-	const HS_VIRIDIAN_GYM_ITEM            ; 33 X
-	const HS_OLD_AMBER                    ; 34
-	const HS_UNKNOWN_DUNGEON_1_ITEM_1     ; 35 X
-	const HS_UNKNOWN_DUNGEON_1_ITEM_2     ; 36 X
-	const HS_UNKNOWN_DUNGEON_1_ITEM_3     ; 37 X
-	const HS_POKEMONTOWER_2_RIVAL         ; 38
-	const HS_POKEMONTOWER_3_ITEM          ; 39 X
-	const HS_POKEMONTOWER_4_ITEM_1        ; 3A X
-	const HS_POKEMONTOWER_4_ITEM_2        ; 3B X
-	const HS_POKEMONTOWER_4_ITEM_3        ; 3C X
-	const HS_POKEMONTOWER_5_ITEM          ; 3D X
-	const HS_POKEMONTOWER_6_ITEM_1        ; 3E X
-	const HS_POKEMONTOWER_6_ITEM_2        ; 3F X
-	const HS_POKEMONTOWER_7_ROCKET_1      ; 40 X
-	const HS_POKEMONTOWER_7_ROCKET_2      ; 41 X
-	const HS_POKEMONTOWER_7_ROCKET_3      ; 42 X
-	const HS_POKEMONTOWER_7_MR_FUJI       ; 43
-	const HS_LAVENDER_HOUSE_1_MR_FUJI     ; 44
-	const HS_CELADON_MANSION_5_GIFT       ; 45
-	const HS_GAME_CORNER_ROCKET           ; 46
-	const HS_FUCHSIA_HOUSE_2_ITEM         ; 47 X
-	const HS_MANSION_1_ITEM_1             ; 48 X
-	const HS_MANSION_1_ITEM_2             ; 49 X
-	const HS_FIGHTING_DOJO_GIFT_1         ; 4A
-	const HS_FIGHTING_DOJO_GIFT_2         ; 4B
-	const HS_SILPH_CO_1F_RECEPTIONIST     ; 4C
-	const HS_VOLTORB_1                    ; 4D X
-	const HS_VOLTORB_2                    ; 4E X
-	const HS_VOLTORB_3                    ; 4F X
-	const HS_ELECTRODE_1                  ; 50 X
-	const HS_VOLTORB_4                    ; 51 X
-	const HS_VOLTORB_5                    ; 52 X
-	const HS_ELECTRODE_2                  ; 53 X
-	const HS_VOLTORB_6                    ; 54 X
-	const HS_ZAPDOS                       ; 55 X
-	const HS_POWER_PLANT_ITEM_1           ; 56 X
-	const HS_POWER_PLANT_ITEM_2           ; 57 X
-	const HS_POWER_PLANT_ITEM_3           ; 58 X
-	const HS_POWER_PLANT_ITEM_4           ; 59 X
-	const HS_POWER_PLANT_ITEM_5           ; 5A X
-	const HS_MOLTRES                      ; 5B X
-	const HS_VICTORY_ROAD_2_ITEM_1        ; 5C X
-	const HS_VICTORY_ROAD_2_ITEM_2        ; 5D X
-	const HS_VICTORY_ROAD_2_ITEM_3        ; 5E X
-	const HS_VICTORY_ROAD_2_ITEM_4        ; 5F X
-	const HS_VICTORY_ROAD_2_BOULDER       ; 60
-	const HS_BILL_POKEMON                 ; 61
-	const HS_BILL_1                       ; 62
-	const HS_BILL_2                       ; 63
-	const HS_VIRIDIAN_FOREST_ITEM_1       ; 64 X
-	const HS_VIRIDIAN_FOREST_ITEM_2       ; 65 X
-	const HS_VIRIDIAN_FOREST_ITEM_3       ; 66 X
-	const HS_MT_MOON_1_ITEM_1             ; 67 X
-	const HS_MT_MOON_1_ITEM_2             ; 68 X
-	const HS_MT_MOON_1_ITEM_3             ; 69 X
-	const HS_MT_MOON_1_ITEM_4             ; 6A X
-	const HS_MT_MOON_1_ITEM_5             ; 6B X
-	const HS_MT_MOON_1_ITEM_6             ; 6C X
-	const HS_MT_MOON_3_FOSSIL_1           ; 6D
-	const HS_MT_MOON_3_FOSSIL_2           ; 6E
-	const HS_MT_MOON_3_ITEM_1             ; 6F X
-	const HS_MT_MOON_3_ITEM_2             ; 70 X
-	const HS_SS_ANNE_2_RIVAL              ; 71
-	const HS_SS_ANNE_8_ITEM               ; 72 X
-	const HS_SS_ANNE_9_ITEM_1             ; 73 X
-	const HS_SS_ANNE_9_ITEM_2             ; 74 X
-	const HS_SS_ANNE_10_ITEM_1            ; 75 X
-	const HS_SS_ANNE_10_ITEM_2            ; 76 X
-	const HS_SS_ANNE_10_ITEM_3            ; 77 X
-	const HS_VICTORY_ROAD_3_ITEM_1        ; 78 X
-	const HS_VICTORY_ROAD_3_ITEM_2        ; 79 X
-	const HS_VICTORY_ROAD_3_BOULDER       ; 7A
-	const HS_ROCKET_HIDEOUT_1_ITEM_1      ; 7B X
-	const HS_ROCKET_HIDEOUT_1_ITEM_2      ; 7C X
-	const HS_ROCKET_HIDEOUT_2_ITEM_1      ; 7D X
-	const HS_ROCKET_HIDEOUT_2_ITEM_2      ; 7E X
-	const HS_ROCKET_HIDEOUT_2_ITEM_3      ; 7F X
-	const HS_ROCKET_HIDEOUT_2_ITEM_4      ; 80 X
-	const HS_ROCKET_HIDEOUT_3_ITEM_1      ; 81 X
-	const HS_ROCKET_HIDEOUT_3_ITEM_2      ; 82 X
-	const HS_ROCKET_HIDEOUT_4_GIOVANNI    ; 83
-	const HS_ROCKET_HIDEOUT_4_ITEM_1      ; 84 X
-	const HS_ROCKET_HIDEOUT_4_ITEM_2      ; 85 X
-	const HS_ROCKET_HIDEOUT_4_ITEM_3      ; 86 X
-	const HS_ROCKET_HIDEOUT_4_ITEM_4      ; 87
-	const HS_ROCKET_HIDEOUT_4_ITEM_5      ; 88
-	const HS_SILPH_CO_2F_1                ; 89 XXX never (de)activated?
-	const HS_SILPH_CO_2F_2                ; 8A
-	const HS_SILPH_CO_2F_3                ; 8B
-	const HS_SILPH_CO_2F_4                ; 8C
-	const HS_SILPH_CO_2F_5                ; 8D
-	const HS_SILPH_CO_3F_1                ; 8E
-	const HS_SILPH_CO_3F_2                ; 8F
-	const HS_SILPH_CO_3F_ITEM             ; 90 X
-	const HS_SILPH_CO_4F_1                ; 91
-	const HS_SILPH_CO_4F_2                ; 92
-	const HS_SILPH_CO_4F_3                ; 93
-	const HS_SILPH_CO_4F_ITEM_1           ; 94 X
-	const HS_SILPH_CO_4F_ITEM_2           ; 95 X
-	const HS_SILPH_CO_4F_ITEM_3           ; 96 X
-	const HS_SILPH_CO_5F_1                ; 97
-	const HS_SILPH_CO_5F_2                ; 98
-	const HS_SILPH_CO_5F_3                ; 99
-	const HS_SILPH_CO_5F_4                ; 9A
-	const HS_SILPH_CO_5F_ITEM_1           ; 9B X
-	const HS_SILPH_CO_5F_ITEM_2           ; 9C X
-	const HS_SILPH_CO_5F_ITEM_3           ; 9D X
-	const HS_SILPH_CO_6F_1                ; 9E
-	const HS_SILPH_CO_6F_2                ; 9F
-	const HS_SILPH_CO_6F_3                ; A0
-	const HS_SILPH_CO_6F_ITEM_1           ; A1 X
-	const HS_SILPH_CO_6F_ITEM_2           ; A2 X
-	const HS_SILPH_CO_7F_1                ; A3
-	const HS_SILPH_CO_7F_2                ; A4
-	const HS_SILPH_CO_7F_3                ; A5
-	const HS_SILPH_CO_7F_4                ; A6
-	const HS_SILPH_CO_7F_RIVAL            ; A7
-	const HS_SILPH_CO_7F_ITEM_1           ; A8 X
-	const HS_SILPH_CO_7F_ITEM_2           ; A9 X
-	const HS_SILPH_CO_7F_8                ; AA XXX sprite doesn't exist
-	const HS_SILPH_CO_8F_1                ; AB
-	const HS_SILPH_CO_8F_2                ; AC
-	const HS_SILPH_CO_8F_3                ; AD
-	const HS_SILPH_CO_9F_1                ; AE
-	const HS_SILPH_CO_9F_2                ; AF
-	const HS_SILPH_CO_9F_3                ; B0
-	const HS_SILPH_CO_10F_1               ; B1
-	const HS_SILPH_CO_10F_2               ; B2
-	const HS_SILPH_CO_10F_3               ; B3 XXX never (de)activated?
-	const HS_SILPH_CO_10F_ITEM_1          ; B4 X
-	const HS_SILPH_CO_10F_ITEM_2          ; B5 X
-	const HS_SILPH_CO_10F_ITEM_3          ; B6 X
-	const HS_SILPH_CO_11F_1               ; B7
-	const HS_SILPH_CO_11F_2               ; B8
-	const HS_SILPH_CO_11F_3               ; B9
-	const HS_MAP_F4_1                     ; BA XXX sprite doesn't exist
-	const HS_MANSION_2_ITEM               ; BB X
-	const HS_MANSION_3_ITEM_1             ; BC X
-	const HS_MANSION_3_ITEM_2             ; BD X
-	const HS_MANSION_4_ITEM_1             ; BE X
-	const HS_MANSION_4_ITEM_2             ; BF X
-	const HS_MANSION_4_ITEM_3             ; C0 X
-	const HS_MANSION_4_ITEM_4             ; C1 X
-	const HS_MANSION_4_ITEM_5             ; C2 X
-	const HS_SAFARI_ZONE_EAST_ITEM_1      ; C3 X
-	const HS_SAFARI_ZONE_EAST_ITEM_2      ; C4 X
-	const HS_SAFARI_ZONE_EAST_ITEM_3      ; C5 X
-	const HS_SAFARI_ZONE_EAST_ITEM_4      ; C6 X
-	const HS_SAFARI_ZONE_NORTH_ITEM_1     ; C7 X
-	const HS_SAFARI_ZONE_NORTH_ITEM_2     ; C8 X
-	const HS_SAFARI_ZONE_WEST_ITEM_1      ; C9 X
-	const HS_SAFARI_ZONE_WEST_ITEM_2      ; CA X
-	const HS_SAFARI_ZONE_WEST_ITEM_3      ; CB X
-	const HS_SAFARI_ZONE_WEST_ITEM_4      ; CC X
-	const HS_SAFARI_ZONE_CENTER_ITEM      ; CD X
-	const HS_UNKNOWN_DUNGEON_2_ITEM_1     ; CE X
-	const HS_UNKNOWN_DUNGEON_2_ITEM_2     ; CF X
-	const HS_UNKNOWN_DUNGEON_2_ITEM_3     ; D0 X
-	const HS_MEWTWO                       ; D1 X
-	const HS_UNKNOWN_DUNGEON_3_ITEM_1     ; D2 X
-	const HS_UNKNOWN_DUNGEON_3_ITEM_2     ; D3 X
-	const HS_VICTORY_ROAD_1_ITEM_1        ; D4 X
-	const HS_VICTORY_ROAD_1_ITEM_2        ; D5 X
-	const HS_CHAMPIONS_ROOM_OAK           ; D6
-	const HS_SEAFOAM_ISLANDS_1_BOULDER_1  ; D7
-	const HS_SEAFOAM_ISLANDS_1_BOULDER_2  ; D8
-	const HS_SEAFOAM_ISLANDS_2_BOULDER_1  ; D9
-	const HS_SEAFOAM_ISLANDS_2_BOULDER_2  ; DA
-	const HS_SEAFOAM_ISLANDS_3_BOULDER_1  ; DB
-	const HS_SEAFOAM_ISLANDS_3_BOULDER_2  ; DC
-	const HS_SEAFOAM_ISLANDS_4_BOULDER_1  ; DD
-	const HS_SEAFOAM_ISLANDS_4_BOULDER_2  ; DE
-	const HS_SEAFOAM_ISLANDS_4_BOULDER_3  ; DF
-	const HS_SEAFOAM_ISLANDS_4_BOULDER_4  ; E0
-	const HS_SEAFOAM_ISLANDS_5_BOULDER_1  ; E1
-	const HS_SEAFOAM_ISLANDS_5_BOULDER_2  ; E2
-	const HS_ARTICUNO                     ; E3 X
+	const HS_PALLET_TOWN_OAK               ; 00
+	const HS_LYING_OLD_MAN                 ; 01
+	const HS_OLD_MAN                       ; 02
+	const HS_MUSEUM_GUY                    ; 03
+	const HS_GYM_GUY                       ; 04
+	const HS_CERULEAN_RIVAL                ; 05
+	const HS_CERULEAN_ROCKET               ; 06
+	const HS_CERULEAN_GUARD_1              ; 07
+	const HS_UNKNOWN_DUNGEON_GUY           ; 08
+	const HS_CERULEAN_GUARD_2              ; 09
+	const HS_SAFFRON_CITY_1                ; 0A
+	const HS_SAFFRON_CITY_2                ; 0B
+	const HS_SAFFRON_CITY_3                ; 0C
+	const HS_SAFFRON_CITY_4                ; 0D
+	const HS_SAFFRON_CITY_5                ; 0E
+	const HS_SAFFRON_CITY_6                ; 0F
+	const HS_SAFFRON_CITY_7                ; 10
+	const HS_SAFFRON_CITY_8                ; 11
+	const HS_SAFFRON_CITY_9                ; 12
+	const HS_SAFFRON_CITY_A                ; 13
+	const HS_SAFFRON_CITY_B                ; 14
+	const HS_SAFFRON_CITY_C                ; 15
+	const HS_SAFFRON_CITY_D                ; 16
+	const HS_SAFFRON_CITY_E                ; 17
+	const HS_SAFFRON_CITY_F                ; 18
+	const HS_ROUTE_2_ITEM_1                ; 19 X
+	const HS_ROUTE_2_ITEM_2                ; 1A X
+	const HS_ROUTE_4_ITEM                  ; 1B X
+	const HS_ROUTE_9_ITEM                  ; 1C X
+	const HS_ROUTE_12_SNORLAX              ; 1D
+	const HS_ROUTE_12_ITEM_1               ; 1E X
+	const HS_ROUTE_12_ITEM_2               ; 1F X
+	const HS_ROUTE_15_ITEM                 ; 20 X
+	const HS_ROUTE_16_SNORLAX              ; 21
+	const HS_ROUTE_22_RIVAL_1              ; 22
+	const HS_ROUTE_22_RIVAL_2              ; 23
+	const HS_NUGGET_BRIDGE_GUY             ; 24
+	const HS_ROUTE_24_ITEM                 ; 25 X
+	const HS_ROUTE_25_ITEM                 ; 26 X
+	const HS_DAISY_SITTING                 ; 27
+	const HS_DAISY_WALKING                 ; 28
+	const HS_TOWN_MAP                      ; 29
+	const HS_OAKS_LAB_RIVAL                ; 2A
+	const HS_STARTER_BALL_1                ; 2B
+	const HS_STARTER_BALL_2                ; 2C
+	const HS_STARTER_BALL_3                ; 2D
+	const HS_OAKS_LAB_OAK_1                ; 2E
+	const HS_POKEDEX_1                     ; 2F
+	const HS_POKEDEX_2                     ; 30
+	const HS_OAKS_LAB_OAK_2                ; 31
+	const HS_VIRIDIAN_GYM_GIOVANNI         ; 32
+	const HS_VIRIDIAN_GYM_ITEM             ; 33 X
+	const HS_OLD_AMBER                     ; 34
+	const HS_CERULEAN_CAVE_1F_ITEM_1       ; 35 X
+	const HS_CERULEAN_CAVE_1F_ITEM_2       ; 36 X
+	const HS_CERULEAN_CAVE_1F_ITEM_3       ; 37 X
+	const HS_POKEMON_TOWER_2F_RIVAL        ; 38
+	const HS_POKEMON_TOWER_3F_ITEM         ; 39 X
+	const HS_POKEMON_TOWER_4F_ITEM_1       ; 3A X
+	const HS_POKEMON_TOWER_4F_ITEM_2       ; 3B X
+	const HS_POKEMON_TOWER_4F_ITEM_3       ; 3C X
+	const HS_POKEMON_TOWER_5F_ITEM         ; 3D X
+	const HS_POKEMON_TOWER_6F_ITEM_1       ; 3E X
+	const HS_POKEMON_TOWER_6F_ITEM_2       ; 3F X
+	const HS_POKEMON_TOWER_7F_ROCKET_1     ; 40 X
+	const HS_POKEMON_TOWER_7F_ROCKET_2     ; 41 X
+	const HS_POKEMON_TOWER_7F_ROCKET_3     ; 42 X
+	const HS_POKEMON_TOWER_7F_MR_FUJI      ; 43
+	const HS_MR_FUJIS_HOUSE_MR_FUJI        ; 44
+	const HS_CELADON_MANSION_EEVEE_GIFT    ; 45
+	const HS_GAME_CORNER_ROCKET            ; 46
+	const HS_WARDENS_HOUSE_ITEM            ; 47 X
+	const HS_POKEMON_MANSION_1F_ITEM_1     ; 48 X
+	const HS_POKEMON_MANSION_1F_ITEM_2     ; 49 X
+	const HS_FIGHTING_DOJO_GIFT_1          ; 4A
+	const HS_FIGHTING_DOJO_GIFT_2          ; 4B
+	const HS_SILPH_CO_1F_RECEPTIONIST      ; 4C
+	const HS_VOLTORB_1                     ; 4D X
+	const HS_VOLTORB_2                     ; 4E X
+	const HS_VOLTORB_3                     ; 4F X
+	const HS_ELECTRODE_1                   ; 50 X
+	const HS_VOLTORB_4                     ; 51 X
+	const HS_VOLTORB_5                     ; 52 X
+	const HS_ELECTRODE_2                   ; 53 X
+	const HS_VOLTORB_6                     ; 54 X
+	const HS_ZAPDOS                        ; 55 X
+	const HS_POWER_PLANT_ITEM_1            ; 56 X
+	const HS_POWER_PLANT_ITEM_2            ; 57 X
+	const HS_POWER_PLANT_ITEM_3            ; 58 X
+	const HS_POWER_PLANT_ITEM_4            ; 59 X
+	const HS_POWER_PLANT_ITEM_5            ; 5A X
+	const HS_MOLTRES                       ; 5B X
+	const HS_VICTORY_ROAD_2F_ITEM_1        ; 5C X
+	const HS_VICTORY_ROAD_2F_ITEM_2        ; 5D X
+	const HS_VICTORY_ROAD_2F_ITEM_3        ; 5E X
+	const HS_VICTORY_ROAD_2F_ITEM_4        ; 5F X
+	const HS_VICTORY_ROAD_2F_BOULDER       ; 60
+	const HS_BILL_POKEMON                  ; 61
+	const HS_BILL_1                        ; 62
+	const HS_BILL_2                        ; 63
+	const HS_VIRIDIAN_FOREST_ITEM_1        ; 64 X
+	const HS_VIRIDIAN_FOREST_ITEM_2        ; 65 X
+	const HS_VIRIDIAN_FOREST_ITEM_3        ; 66 X
+	const HS_MT_MOON_1F_ITEM_1             ; 67 X
+	const HS_MT_MOON_1F_ITEM_2             ; 68 X
+	const HS_MT_MOON_1F_ITEM_3             ; 69 X
+	const HS_MT_MOON_1F_ITEM_4             ; 6A X
+	const HS_MT_MOON_1F_ITEM_5             ; 6B X
+	const HS_MT_MOON_1F_ITEM_6             ; 6C X
+	const HS_MT_MOON_B2F_FOSSIL_1          ; 6D
+	const HS_MT_MOON_B2F_FOSSIL_2          ; 6E
+	const HS_MT_MOON_B2F_ITEM_1            ; 6F X
+	const HS_MT_MOON_B2F_ITEM_2            ; 70 X
+	const HS_SS_ANNE_2F_RIVAL              ; 71
+	const HS_SS_ANNE_1F_ROOMS_ITEM         ; 72 X
+	const HS_SS_ANNE_2F_ROOMS_ITEM_1       ; 73 X
+	const HS_SS_ANNE_2F_ROOMS_ITEM_2       ; 74 X
+	const HS_SS_ANNE_B1F_ROOMS_ITEM_1      ; 75 X
+	const HS_SS_ANNE_B1F_ROOMS_ITEM_2      ; 76 X
+	const HS_SS_ANNE_B1F_ROOMS_ITEM_3      ; 77 X
+	const HS_VICTORY_ROAD_3F_ITEM_1        ; 78 X
+	const HS_VICTORY_ROAD_3F_ITEM_2        ; 79 X
+	const HS_VICTORY_ROAD_3F_BOULDER       ; 7A
+	const HS_ROCKET_HIDEOUT_B1F_ITEM_1     ; 7B X
+	const HS_ROCKET_HIDEOUT_B1F_ITEM_2     ; 7C X
+	const HS_ROCKET_HIDEOUT_B2F_ITEM_1     ; 7D X
+	const HS_ROCKET_HIDEOUT_B2F_ITEM_2     ; 7E X
+	const HS_ROCKET_HIDEOUT_B2F_ITEM_3     ; 7F X
+	const HS_ROCKET_HIDEOUT_B2F_ITEM_4     ; 80 X
+	const HS_ROCKET_HIDEOUT_B3F_ITEM_1     ; 81 X
+	const HS_ROCKET_HIDEOUT_B3F_ITEM_2     ; 82 X
+	const HS_ROCKET_HIDEOUT_B4F_GIOVANNI   ; 83
+	const HS_ROCKET_HIDEOUT_B4F_ITEM_1     ; 84 X
+	const HS_ROCKET_HIDEOUT_B4F_ITEM_2     ; 85 X
+	const HS_ROCKET_HIDEOUT_B4F_ITEM_3     ; 86 X
+	const HS_ROCKET_HIDEOUT_B4F_ITEM_4     ; 87
+	const HS_ROCKET_HIDEOUT_B4F_ITEM_5     ; 88
+	const HS_SILPH_CO_2F_1                 ; 89 XXX never (de)activated?
+	const HS_SILPH_CO_2F_2                 ; 8A
+	const HS_SILPH_CO_2F_3                 ; 8B
+	const HS_SILPH_CO_2F_4                 ; 8C
+	const HS_SILPH_CO_2F_5                 ; 8D
+	const HS_SILPH_CO_3F_1                 ; 8E
+	const HS_SILPH_CO_3F_2                 ; 8F
+	const HS_SILPH_CO_3F_ITEM              ; 90 X
+	const HS_SILPH_CO_4F_1                 ; 91
+	const HS_SILPH_CO_4F_2                 ; 92
+	const HS_SILPH_CO_4F_3                 ; 93
+	const HS_SILPH_CO_4F_ITEM_1            ; 94 X
+	const HS_SILPH_CO_4F_ITEM_2            ; 95 X
+	const HS_SILPH_CO_4F_ITEM_3            ; 96 X
+	const HS_SILPH_CO_5F_1                 ; 97
+	const HS_SILPH_CO_5F_2                 ; 98
+	const HS_SILPH_CO_5F_3                 ; 99
+	const HS_SILPH_CO_5F_4                 ; 9A
+	const HS_SILPH_CO_5F_ITEM_1            ; 9B X
+	const HS_SILPH_CO_5F_ITEM_2            ; 9C X
+	const HS_SILPH_CO_5F_ITEM_3            ; 9D X
+	const HS_SILPH_CO_6F_1                 ; 9E
+	const HS_SILPH_CO_6F_2                 ; 9F
+	const HS_SILPH_CO_6F_3                 ; A0
+	const HS_SILPH_CO_6F_ITEM_1            ; A1 X
+	const HS_SILPH_CO_6F_ITEM_2            ; A2 X
+	const HS_SILPH_CO_7F_1                 ; A3
+	const HS_SILPH_CO_7F_2                 ; A4
+	const HS_SILPH_CO_7F_3                 ; A5
+	const HS_SILPH_CO_7F_4                 ; A6
+	const HS_SILPH_CO_7F_RIVAL             ; A7
+	const HS_SILPH_CO_7F_ITEM_1            ; A8 X
+	const HS_SILPH_CO_7F_ITEM_2            ; A9 X
+	const HS_SILPH_CO_7F_8                 ; AA XXX sprite doesn't exist
+	const HS_SILPH_CO_8F_1                 ; AB
+	const HS_SILPH_CO_8F_2                 ; AC
+	const HS_SILPH_CO_8F_3                 ; AD
+	const HS_SILPH_CO_9F_1                 ; AE
+	const HS_SILPH_CO_9F_2                 ; AF
+	const HS_SILPH_CO_9F_3                 ; B0
+	const HS_SILPH_CO_10F_1                ; B1
+	const HS_SILPH_CO_10F_2                ; B2
+	const HS_SILPH_CO_10F_3                ; B3 XXX never (de)activated?
+	const HS_SILPH_CO_10F_ITEM_1           ; B4 X
+	const HS_SILPH_CO_10F_ITEM_2           ; B5 X
+	const HS_SILPH_CO_10F_ITEM_3           ; B6 X
+	const HS_SILPH_CO_11F_1                ; B7
+	const HS_SILPH_CO_11F_2                ; B8
+	const HS_SILPH_CO_11F_3                ; B9
+	const HS_UNUSED_MAP_F4_1               ; BA XXX sprite doesn't exist
+	const HS_POKEMON_MANSION_2F_ITEM       ; BB X
+	const HS_POKEMON_MANSION_3F_ITEM_1     ; BC X
+	const HS_POKEMON_MANSION_3F_ITEM_2     ; BD X
+	const HS_POKEMON_MANSION_B1F_ITEM_1    ; BE X
+	const HS_POKEMON_MANSION_B1F_ITEM_2    ; BF X
+	const HS_POKEMON_MANSION_B1F_ITEM_3    ; C0 X
+	const HS_POKEMON_MANSION_B1F_ITEM_4    ; C1 X
+	const HS_POKEMON_MANSION_B1F_ITEM_5    ; C2 X
+	const HS_SAFARI_ZONE_EAST_ITEM_1       ; C3 X
+	const HS_SAFARI_ZONE_EAST_ITEM_2       ; C4 X
+	const HS_SAFARI_ZONE_EAST_ITEM_3       ; C5 X
+	const HS_SAFARI_ZONE_EAST_ITEM_4       ; C6 X
+	const HS_SAFARI_ZONE_NORTH_ITEM_1      ; C7 X
+	const HS_SAFARI_ZONE_NORTH_ITEM_2      ; C8 X
+	const HS_SAFARI_ZONE_WEST_ITEM_1       ; C9 X
+	const HS_SAFARI_ZONE_WEST_ITEM_2       ; CA X
+	const HS_SAFARI_ZONE_WEST_ITEM_3       ; CB X
+	const HS_SAFARI_ZONE_WEST_ITEM_4       ; CC X
+	const HS_SAFARI_ZONE_CENTER_ITEM       ; CD X
+	const HS_CERULEAN_CAVE_2F_ITEM_1       ; CE X
+	const HS_CERULEAN_CAVE_2F_ITEM_2       ; CF X
+	const HS_CERULEAN_CAVE_2F_ITEM_3       ; D0 X
+	const HS_MEWTWO                        ; D1 X
+	const HS_CERULEAN_CAVE_B1F_ITEM_1      ; D2 X
+	const HS_CERULEAN_CAVE_B1F_ITEM_2      ; D3 X
+	const HS_VICTORY_ROAD_1F_ITEM_1        ; D4 X
+	const HS_VICTORY_ROAD_1F_ITEM_2        ; D5 X
+	const HS_CHAMPIONS_ROOM_OAK            ; D6
+	const HS_SEAFOAM_ISLANDS_1F_BOULDER_1  ; D7
+	const HS_SEAFOAM_ISLANDS_1F_BOULDER_2  ; D8
+	const HS_SEAFOAM_ISLANDS_B1F_BOULDER_1 ; D9
+	const HS_SEAFOAM_ISLANDS_B1F_BOULDER_2 ; DA
+	const HS_SEAFOAM_ISLANDS_B2F_BOULDER_1 ; DB
+	const HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 ; DC
+	const HS_SEAFOAM_ISLANDS_B3F_BOULDER_1 ; DD
+	const HS_SEAFOAM_ISLANDS_B3F_BOULDER_2 ; DE
+	const HS_SEAFOAM_ISLANDS_B3F_BOULDER_3 ; DF
+	const HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 ; E0
+	const HS_SEAFOAM_ISLANDS_B4F_BOULDER_1 ; E1
+	const HS_SEAFOAM_ISLANDS_B4F_BOULDER_2 ; E2
+	const HS_ARTICUNO                      ; E3 X
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -5,251 +5,251 @@
 ENDM
 
 	const_def
-	mapconst PALLET_TOWN,                 9, 10 ; $00
-	mapconst VIRIDIAN_CITY,              18, 20 ; $01
-	mapconst PEWTER_CITY,                18, 20 ; $02
-	mapconst CERULEAN_CITY,              18, 20 ; $03
-	mapconst LAVENDER_TOWN,               9, 10 ; $04
-	mapconst VERMILION_CITY,             18, 20 ; $05
-	mapconst CELADON_CITY,               18, 25 ; $06
-	mapconst FUCHSIA_CITY,               18, 20 ; $07
-	mapconst CINNABAR_ISLAND,             9, 10 ; $08
-	mapconst INDIGO_PLATEAU,              9, 10 ; $09
-	mapconst SAFFRON_CITY,               18, 20 ; $0A
-	mapconst UNUSED_MAP_0B,               0,  0 ; $0B
-	mapconst ROUTE_1,                    18, 10 ; $0C
-	mapconst ROUTE_2,                    36, 10 ; $0D
-	mapconst ROUTE_3,                     9, 35 ; $0E
-	mapconst ROUTE_4,                     9, 45 ; $0F
-	mapconst ROUTE_5,                    18, 10 ; $10
-	mapconst ROUTE_6,                    18, 10 ; $11
-	mapconst ROUTE_7,                     9, 10 ; $12
-	mapconst ROUTE_8,                     9, 30 ; $13
-	mapconst ROUTE_9,                     9, 30 ; $14
-	mapconst ROUTE_10,                   36, 10 ; $15
-	mapconst ROUTE_11,                    9, 30 ; $16
-	mapconst ROUTE_12,                   54, 10 ; $17
-	mapconst ROUTE_13,                    9, 30 ; $18
-	mapconst ROUTE_14,                   27, 10 ; $19
-	mapconst ROUTE_15,                    9, 30 ; $1A
-	mapconst ROUTE_16,                    9, 20 ; $1B
-	mapconst ROUTE_17,                   72, 10 ; $1C
-	mapconst ROUTE_18,                    9, 25 ; $1D
-	mapconst ROUTE_19,                   27, 10 ; $1E
-	mapconst ROUTE_20,                    9, 50 ; $1F
-	mapconst ROUTE_21,                   45, 10 ; $20
-	mapconst ROUTE_22,                    9, 20 ; $21
-	mapconst ROUTE_23,                   72, 10 ; $22
-	mapconst ROUTE_24,                   18, 10 ; $23
-	mapconst ROUTE_25,                    9, 30 ; $24
-	mapconst REDS_HOUSE_1F,               4,  4 ; $25
-	mapconst REDS_HOUSE_2F,               4,  4 ; $26
-	mapconst BLUES_HOUSE,                 4,  4 ; $27
-	mapconst OAKS_LAB,                    6,  5 ; $28
-	mapconst VIRIDIAN_POKECENTER,         4,  7 ; $29
-	mapconst VIRIDIAN_MART,               4,  4 ; $2A
-	mapconst VIRIDIAN_SCHOOL,             4,  4 ; $2B
-	mapconst VIRIDIAN_HOUSE,              4,  4 ; $2C
-	mapconst VIRIDIAN_GYM,                9, 10 ; $2D
-	mapconst DIGLETTS_CAVE_EXIT,          4,  4 ; $2E
-	mapconst VIRIDIAN_FOREST_EXIT,        4,  5 ; $2F
-	mapconst ROUTE_2_HOUSE,               4,  4 ; $30
-	mapconst ROUTE_2_GATE,                4,  5 ; $31
-	mapconst VIRIDIAN_FOREST_ENTRANCE,    4,  5 ; $32
-	mapconst VIRIDIAN_FOREST,            24, 17 ; $33
-	mapconst MUSEUM_1F,                   4, 10 ; $34
-	mapconst MUSEUM_2F,                   4,  7 ; $35
-	mapconst PEWTER_GYM,                  7,  5 ; $36
-	mapconst PEWTER_HOUSE_1,              4,  4 ; $37
-	mapconst PEWTER_MART,                 4,  4 ; $38
-	mapconst PEWTER_HOUSE_2,              4,  4 ; $39
-	mapconst PEWTER_POKECENTER,           4,  7 ; $3A
-	mapconst MT_MOON_1,                  18, 20 ; $3B
-	mapconst MT_MOON_2,                  14, 14 ; $3C
-	mapconst MT_MOON_3,                  18, 20 ; $3D
-	mapconst TRASHED_HOUSE,               4,  4 ; $3E
-	mapconst CERULEAN_HOUSE_1,            4,  4 ; $3F
-	mapconst CERULEAN_POKECENTER,         4,  7 ; $40
-	mapconst CERULEAN_GYM,                7,  5 ; $41
-	mapconst BIKE_SHOP,                   4,  4 ; $42
-	mapconst CERULEAN_MART,               4,  4 ; $43
-	mapconst MT_MOON_POKECENTER,          4,  7 ; $44
-	mapconst TRASHED_HOUSE_COPY,          4,  4 ; $45
-	mapconst ROUTE_5_GATE,                3,  4 ; $46
-	mapconst PATH_ENTRANCE_ROUTE_5,       4,  4 ; $47
-	mapconst DAYCAREM,                    4,  4 ; $48
-	mapconst ROUTE_6_GATE,                3,  4 ; $49
-	mapconst PATH_ENTRANCE_ROUTE_6,       4,  4 ; $4A
-	mapconst PATH_ENTRANCE_ROUTE_6_COPY,  4,  4 ; $4B
-	mapconst ROUTE_7_GATE,                4,  3 ; $4C
-	mapconst PATH_ENTRANCE_ROUTE_7,       4,  4 ; $4D
-	mapconst PATH_ENTRANCE_ROUTE_7_COPY,  4,  4 ; $4E
-	mapconst ROUTE_8_GATE,                4,  3 ; $4F
-	mapconst PATH_ENTRANCE_ROUTE_8,       4,  4 ; $50
-	mapconst ROCK_TUNNEL_POKECENTER,      4,  7 ; $51
-	mapconst ROCK_TUNNEL_1,              18, 20 ; $52
-	mapconst POWER_PLANT,                18, 20 ; $53
-	mapconst ROUTE_11_GATE_1F,            5,  4 ; $54
-	mapconst DIGLETTS_CAVE_ENTRANCE,      4,  4 ; $55
-	mapconst ROUTE_11_GATE_2F,            4,  4 ; $56
-	mapconst ROUTE_12_GATE_1F,            4,  5 ; $57
-	mapconst BILLS_HOUSE,                 4,  4 ; $58
-	mapconst VERMILION_POKECENTER,        4,  7 ; $59
-	mapconst POKEMON_FAN_CLUB,            4,  4 ; $5A
-	mapconst VERMILION_MART,              4,  4 ; $5B
-	mapconst VERMILION_GYM,               9,  5 ; $5C
-	mapconst VERMILION_HOUSE_1,           4,  4 ; $5D
-	mapconst VERMILION_DOCK,              6, 14 ; $5E
-	mapconst SS_ANNE_1,                   9, 20 ; $5F
-	mapconst SS_ANNE_2,                   9, 20 ; $60
-	mapconst SS_ANNE_3,                   3, 10 ; $61
-	mapconst SS_ANNE_4,                   4, 15 ; $62
-	mapconst SS_ANNE_5,                   7, 10 ; $63
-	mapconst SS_ANNE_6,                   8,  7 ; $64
-	mapconst SS_ANNE_7,                   4,  3 ; $65
-	mapconst SS_ANNE_8,                   8, 12 ; $66
-	mapconst SS_ANNE_9,                   8, 12 ; $67
-	mapconst SS_ANNE_10,                  8, 12 ; $68
-	mapconst UNUSED_MAP_69,               0,  0 ; $69
-	mapconst UNUSED_MAP_6A,               0,  0 ; $6A
-	mapconst UNUSED_MAP_6B,               0,  0 ; $6B
-	mapconst VICTORY_ROAD_1,              9, 10 ; $6C
-	mapconst UNUSED_MAP_6D,               0,  0 ; $6D
-	mapconst UNUSED_MAP_6E,               0,  0 ; $6E
-	mapconst UNUSED_MAP_6F,               0,  0 ; $6F
-	mapconst UNUSED_MAP_70,               0,  0 ; $70
-	mapconst LANCES_ROOM,                13, 13 ; $71
-	mapconst UNUSED_MAP_72,               0,  0 ; $72
-	mapconst UNUSED_MAP_73,               0,  0 ; $73
-	mapconst UNUSED_MAP_74,               0,  0 ; $74
-	mapconst UNUSED_MAP_75,               0,  0 ; $75
-	mapconst HALL_OF_FAME,                4,  5 ; $76
-	mapconst UNDERGROUND_PATH_NS,        24,  4 ; $77
-	mapconst CHAMPIONS_ROOM,              4,  4 ; $78
-	mapconst UNDERGROUND_PATH_WE,         4, 25 ; $79
-	mapconst CELADON_MART_1,              4, 10 ; $7A
-	mapconst CELADON_MART_2,              4, 10 ; $7B
-	mapconst CELADON_MART_3,              4, 10 ; $7C
-	mapconst CELADON_MART_4,              4, 10 ; $7D
-	mapconst CELADON_MART_ROOF,           4, 10 ; $7E
-	mapconst CELADON_MART_ELEVATOR,       2,  2 ; $7F
-	mapconst CELADON_MANSION_1,           6,  4 ; $80
-	mapconst CELADON_MANSION_2,           6,  4 ; $81
-	mapconst CELADON_MANSION_3,           6,  4 ; $82
-	mapconst CELADON_MANSION_4,           6,  4 ; $83
-	mapconst CELADON_MANSION_5,           4,  4 ; $84
-	mapconst CELADON_POKECENTER,          4,  7 ; $85
-	mapconst CELADON_GYM,                 9,  5 ; $86
-	mapconst GAME_CORNER,                 9, 10 ; $87
-	mapconst CELADON_MART_5,              4, 10 ; $88
-	mapconst CELADON_PRIZE_ROOM,          4,  5 ; $89
-	mapconst CELADON_DINER,               4,  5 ; $8A
-	mapconst CELADON_HOUSE,               4,  4 ; $8B
-	mapconst CELADON_HOTEL,               4,  7 ; $8C
-	mapconst LAVENDER_POKECENTER,         4,  7 ; $8D
-	mapconst POKEMONTOWER_1,              9, 10 ; $8E
-	mapconst POKEMONTOWER_2,              9, 10 ; $8F
-	mapconst POKEMONTOWER_3,              9, 10 ; $90
-	mapconst POKEMONTOWER_4,              9, 10 ; $91
-	mapconst POKEMONTOWER_5,              9, 10 ; $92
-	mapconst POKEMONTOWER_6,              9, 10 ; $93
-	mapconst POKEMONTOWER_7,              9, 10 ; $94
-	mapconst LAVENDER_HOUSE_1,            4,  4 ; $95
-	mapconst LAVENDER_MART,               4,  4 ; $96
-	mapconst LAVENDER_HOUSE_2,            4,  4 ; $97
-	mapconst FUCHSIA_MART,                4,  4 ; $98
-	mapconst FUCHSIA_HOUSE_1,             4,  4 ; $99
-	mapconst FUCHSIA_POKECENTER,          4,  7 ; $9A
-	mapconst FUCHSIA_HOUSE_2,             4,  5 ; $9B
-	mapconst SAFARI_ZONE_ENTRANCE,        3,  4 ; $9C
-	mapconst FUCHSIA_GYM,                 9,  5 ; $9D
-	mapconst FUCHSIA_MEETING_ROOM,        4,  7 ; $9E
-	mapconst SEAFOAM_ISLANDS_2,           9, 15 ; $9F
-	mapconst SEAFOAM_ISLANDS_3,           9, 15 ; $A0
-	mapconst SEAFOAM_ISLANDS_4,           9, 15 ; $A1
-	mapconst SEAFOAM_ISLANDS_5,           9, 15 ; $A2
-	mapconst VERMILION_HOUSE_2,           4,  4 ; $A3
-	mapconst FUCHSIA_HOUSE_3,             4,  4 ; $A4
-	mapconst MANSION_1,                  14, 15 ; $A5
-	mapconst CINNABAR_GYM,                9, 10 ; $A6
-	mapconst CINNABAR_LAB_1,              4,  9 ; $A7
-	mapconst CINNABAR_LAB_2,              4,  4 ; $A8
-	mapconst CINNABAR_LAB_3,              4,  4 ; $A9
-	mapconst CINNABAR_LAB_4,              4,  4 ; $AA
-	mapconst CINNABAR_POKECENTER,         4,  7 ; $AB
-	mapconst CINNABAR_MART,               4,  4 ; $AC
-	mapconst CINNABAR_MART_COPY,          4,  4 ; $AD
-	mapconst INDIGO_PLATEAU_LOBBY,        6,  8 ; $AE
-	mapconst COPYCATS_HOUSE_1F,           4,  4 ; $AF
-	mapconst COPYCATS_HOUSE_2F,           4,  4 ; $B0
-	mapconst FIGHTING_DOJO,               6,  5 ; $B1
-	mapconst SAFFRON_GYM,                 9, 10 ; $B2
-	mapconst SAFFRON_HOUSE_1,             4,  4 ; $B3
-	mapconst SAFFRON_MART,                4,  4 ; $B4
-	mapconst SILPH_CO_1F,                 9, 15 ; $B5
-	mapconst SAFFRON_POKECENTER,          4,  7 ; $B6
-	mapconst SAFFRON_HOUSE_2,             4,  4 ; $B7
-	mapconst ROUTE_15_GATE_1F,            5,  4 ; $B8
-	mapconst ROUTE_15_GATE_2F,            4,  4 ; $B9
-	mapconst ROUTE_16_GATE_1F,            7,  4 ; $BA
-	mapconst ROUTE_16_GATE_2F,            4,  4 ; $BB
-	mapconst ROUTE_16_HOUSE,              4,  4 ; $BC
-	mapconst ROUTE_12_HOUSE,              4,  4 ; $BD
-	mapconst ROUTE_18_GATE_1F,            5,  4 ; $BE
-	mapconst ROUTE_18_GATE_2F,            4,  4 ; $BF
-	mapconst SEAFOAM_ISLANDS_1,           9, 15 ; $C0
-	mapconst ROUTE_22_GATE,               4,  5 ; $C1
-	mapconst VICTORY_ROAD_2,              9, 15 ; $C2
-	mapconst ROUTE_12_GATE_2F,            4,  4 ; $C3
-	mapconst VERMILION_HOUSE_3,           4,  4 ; $C4
-	mapconst DIGLETTS_CAVE,              18, 20 ; $C5
-	mapconst VICTORY_ROAD_3,              9, 15 ; $C6
-	mapconst ROCKET_HIDEOUT_1,           14, 15 ; $C7
-	mapconst ROCKET_HIDEOUT_2,           14, 15 ; $C8
-	mapconst ROCKET_HIDEOUT_3,           14, 15 ; $C9
-	mapconst ROCKET_HIDEOUT_4,           12, 15 ; $CA
-	mapconst ROCKET_HIDEOUT_ELEVATOR,     4,  3 ; $CB
-	mapconst UNUSED_MAP_CC,               0,  0 ; $CC
-	mapconst UNUSED_MAP_CD,               0,  0 ; $CD
-	mapconst UNUSED_MAP_CE,               0,  0 ; $CE
-	mapconst SILPH_CO_2F,                 9, 15 ; $CF
-	mapconst SILPH_CO_3F,                 9, 15 ; $D0
-	mapconst SILPH_CO_4F,                 9, 15 ; $D1
-	mapconst SILPH_CO_5F,                 9, 15 ; $D2
-	mapconst SILPH_CO_6F,                 9, 13 ; $D3
-	mapconst SILPH_CO_7F,                 9, 13 ; $D4
-	mapconst SILPH_CO_8F,                 9, 13 ; $D5
-	mapconst MANSION_2,                  14, 15 ; $D6
-	mapconst MANSION_3,                   9, 15 ; $D7
-	mapconst MANSION_4,                  14, 15 ; $D8
-	mapconst SAFARI_ZONE_EAST,           13, 15 ; $D9
-	mapconst SAFARI_ZONE_NORTH,          18, 20 ; $DA
-	mapconst SAFARI_ZONE_WEST,           13, 15 ; $DB
-	mapconst SAFARI_ZONE_CENTER,         13, 15 ; $DC
-	mapconst SAFARI_ZONE_REST_HOUSE_1,    4,  4 ; $DD
-	mapconst SAFARI_ZONE_SECRET_HOUSE,    4,  4 ; $DE
-	mapconst SAFARI_ZONE_REST_HOUSE_2,    4,  4 ; $DF
-	mapconst SAFARI_ZONE_REST_HOUSE_3,    4,  4 ; $E0
-	mapconst SAFARI_ZONE_REST_HOUSE_4,    4,  4 ; $E1
-	mapconst UNKNOWN_DUNGEON_2,           9, 15 ; $E2
-	mapconst UNKNOWN_DUNGEON_3,           9, 15 ; $E3
-	mapconst UNKNOWN_DUNGEON_1,           9, 15 ; $E4
-	mapconst NAME_RATERS_HOUSE,           4,  4 ; $E5
-	mapconst CERULEAN_HOUSE_2,            4,  4 ; $E6
-	mapconst UNUSED_MAP_E7,               0,  0 ; $E7
-	mapconst ROCK_TUNNEL_2,              18, 20 ; $E8
-	mapconst SILPH_CO_9F,                 9, 13 ; $E9
-	mapconst SILPH_CO_10F,                9,  8 ; $EA
-	mapconst SILPH_CO_11F,                9,  9 ; $EB
-	mapconst SILPH_CO_ELEVATOR,           2,  2 ; $EC
-	mapconst UNUSED_MAP_ED,               0,  0 ; $ED
-	mapconst UNUSED_MAP_EE,               0,  0 ; $EE
-	mapconst TRADE_CENTER,                4,  5 ; $EF
-	mapconst COLOSSEUM,                   4,  5 ; $F0
-	mapconst UNUSED_MAP_F1,               0,  0 ; $F1
-	mapconst UNUSED_MAP_F2,               0,  0 ; $F2
-	mapconst UNUSED_MAP_F3,               0,  0 ; $F3
-	mapconst UNUSED_MAP_F4,               0,  0 ; $F4
-	mapconst LORELEIS_ROOM,               6,  5 ; $F5
-	mapconst BRUNOS_ROOM,                 6,  5 ; $F6
-	mapconst AGATHAS_ROOM,                6,  5 ; $F7
+	mapconst PALLET_TOWN,                    9, 10 ; $00
+	mapconst VIRIDIAN_CITY,                 18, 20 ; $01
+	mapconst PEWTER_CITY,                   18, 20 ; $02
+	mapconst CERULEAN_CITY,                 18, 20 ; $03
+	mapconst LAVENDER_TOWN,                  9, 10 ; $04
+	mapconst VERMILION_CITY,                18, 20 ; $05
+	mapconst CELADON_CITY,                  18, 25 ; $06
+	mapconst FUCHSIA_CITY,                  18, 20 ; $07
+	mapconst CINNABAR_ISLAND,                9, 10 ; $08
+	mapconst INDIGO_PLATEAU,                 9, 10 ; $09
+	mapconst SAFFRON_CITY,                  18, 20 ; $0A
+	mapconst UNUSED_MAP_0B,                  0,  0 ; $0B
+	mapconst ROUTE_1,                       18, 10 ; $0C
+	mapconst ROUTE_2,                       36, 10 ; $0D
+	mapconst ROUTE_3,                        9, 35 ; $0E
+	mapconst ROUTE_4,                        9, 45 ; $0F
+	mapconst ROUTE_5,                       18, 10 ; $10
+	mapconst ROUTE_6,                       18, 10 ; $11
+	mapconst ROUTE_7,                        9, 10 ; $12
+	mapconst ROUTE_8,                        9, 30 ; $13
+	mapconst ROUTE_9,                        9, 30 ; $14
+	mapconst ROUTE_10,                      36, 10 ; $15
+	mapconst ROUTE_11,                       9, 30 ; $16
+	mapconst ROUTE_12,                      54, 10 ; $17
+	mapconst ROUTE_13,                       9, 30 ; $18
+	mapconst ROUTE_14,                      27, 10 ; $19
+	mapconst ROUTE_15,                       9, 30 ; $1A
+	mapconst ROUTE_16,                       9, 20 ; $1B
+	mapconst ROUTE_17,                      72, 10 ; $1C
+	mapconst ROUTE_18,                       9, 25 ; $1D
+	mapconst ROUTE_19,                      27, 10 ; $1E
+	mapconst ROUTE_20,                       9, 50 ; $1F
+	mapconst ROUTE_21,                      45, 10 ; $20
+	mapconst ROUTE_22,                       9, 20 ; $21
+	mapconst ROUTE_23,                      72, 10 ; $22
+	mapconst ROUTE_24,                      18, 10 ; $23
+	mapconst ROUTE_25,                       9, 30 ; $24
+	mapconst REDS_HOUSE_1F,                  4,  4 ; $25
+	mapconst REDS_HOUSE_2F,                  4,  4 ; $26
+	mapconst BLUES_HOUSE,                    4,  4 ; $27
+	mapconst OAKS_LAB,                       6,  5 ; $28
+	mapconst VIRIDIAN_POKECENTER,            4,  7 ; $29
+	mapconst VIRIDIAN_MART,                  4,  4 ; $2A
+	mapconst VIRIDIAN_SCHOOL_HOUSE,          4,  4 ; $2B
+	mapconst VIRIDIAN_NICKNAME_HOUSE,        4,  4 ; $2C
+	mapconst VIRIDIAN_GYM,                   9, 10 ; $2D
+	mapconst DIGLETTS_CAVE_ROUTE_2,          4,  4 ; $2E
+	mapconst VIRIDIAN_FOREST_NORTH_GATE,     4,  5 ; $2F
+	mapconst ROUTE_2_TRADE_HOUSE,            4,  4 ; $30
+	mapconst ROUTE_2_GATE,                   4,  5 ; $31
+	mapconst VIRIDIAN_FOREST_SOUTH_GATE,     4,  5 ; $32
+	mapconst VIRIDIAN_FOREST,               24, 17 ; $33
+	mapconst MUSEUM_1F,                      4, 10 ; $34
+	mapconst MUSEUM_2F,                      4,  7 ; $35
+	mapconst PEWTER_GYM,                     7,  5 ; $36
+	mapconst PEWTER_NIDORAN_HOUSE,           4,  4 ; $37
+	mapconst PEWTER_MART,                    4,  4 ; $38
+	mapconst PEWTER_SPEECH_HOUSE,            4,  4 ; $39
+	mapconst PEWTER_POKECENTER,              4,  7 ; $3A
+	mapconst MT_MOON_1F,                    18, 20 ; $3B
+	mapconst MT_MOON_B1F,                   14, 14 ; $3C
+	mapconst MT_MOON_B2F,                   18, 20 ; $3D
+	mapconst CERULEAN_TRASHED_HOUSE,         4,  4 ; $3E
+	mapconst CERULEAN_TRADE_HOUSE,           4,  4 ; $3F
+	mapconst CERULEAN_POKECENTER,            4,  7 ; $40
+	mapconst CERULEAN_GYM,                   7,  5 ; $41
+	mapconst BIKE_SHOP,                      4,  4 ; $42
+	mapconst CERULEAN_MART,                  4,  4 ; $43
+	mapconst MT_MOON_POKECENTER,             4,  7 ; $44
+	mapconst CERULEAN_TRASHED_HOUSE_COPY,    4,  4 ; $45
+	mapconst ROUTE_5_GATE,                   3,  4 ; $46
+	mapconst UNDERGROUND_PATH_ROUTE_5,       4,  4 ; $47
+	mapconst DAYCARE,                        4,  4 ; $48
+	mapconst ROUTE_6_GATE,                   3,  4 ; $49
+	mapconst UNDERGROUND_PATH_ROUTE_6,       4,  4 ; $4A
+	mapconst UNDERGROUND_PATH_ROUTE_6_COPY,  4,  4 ; $4B
+	mapconst ROUTE_7_GATE,                   4,  3 ; $4C
+	mapconst UNDERGROUND_PATH_ROUTE_7,       4,  4 ; $4D
+	mapconst UNDERGROUND_PATH_ROUTE_7_COPY,  4,  4 ; $4E
+	mapconst ROUTE_8_GATE,                   4,  3 ; $4F
+	mapconst UNDERGROUND_PATH_ROUTE_8,       4,  4 ; $50
+	mapconst ROCK_TUNNEL_POKECENTER,         4,  7 ; $51
+	mapconst ROCK_TUNNEL_1F,                18, 20 ; $52
+	mapconst POWER_PLANT,                   18, 20 ; $53
+	mapconst ROUTE_11_GATE_1F,               5,  4 ; $54
+	mapconst DIGLETTS_CAVE_ROUTE_11,         4,  4 ; $55
+	mapconst ROUTE_11_GATE_2F,               4,  4 ; $56
+	mapconst ROUTE_12_GATE_1F,               4,  5 ; $57
+	mapconst BILLS_HOUSE,                    4,  4 ; $58
+	mapconst VERMILION_POKECENTER,           4,  7 ; $59
+	mapconst POKEMON_FAN_CLUB,               4,  4 ; $5A
+	mapconst VERMILION_MART,                 4,  4 ; $5B
+	mapconst VERMILION_GYM,                  9,  5 ; $5C
+	mapconst VERMILION_PIDGEY_HOUSE,         4,  4 ; $5D
+	mapconst VERMILION_DOCK,                 6, 14 ; $5E
+	mapconst SS_ANNE_1F,                     9, 20 ; $5F
+	mapconst SS_ANNE_2F,                     9, 20 ; $60
+	mapconst SS_ANNE_3F,                     3, 10 ; $61
+	mapconst SS_ANNE_B1F,                    4, 15 ; $62
+	mapconst SS_ANNE_BOW,                    7, 10 ; $63
+	mapconst SS_ANNE_KITCHEN,                8,  7 ; $64
+	mapconst SS_ANNE_CAPTAINS_ROOM,          4,  3 ; $65
+	mapconst SS_ANNE_1F_ROOMS,               8, 12 ; $66
+	mapconst SS_ANNE_2F_ROOMS,               8, 12 ; $67
+	mapconst SS_ANNE_B1F_ROOMS,              8, 12 ; $68
+	mapconst UNUSED_MAP_69,                  0,  0 ; $69
+	mapconst UNUSED_MAP_6A,                  0,  0 ; $6A
+	mapconst UNUSED_MAP_6B,                  0,  0 ; $6B
+	mapconst VICTORY_ROAD_1F,                9, 10 ; $6C
+	mapconst UNUSED_MAP_6D,                  0,  0 ; $6D
+	mapconst UNUSED_MAP_6E,                  0,  0 ; $6E
+	mapconst UNUSED_MAP_6F,                  0,  0 ; $6F
+	mapconst UNUSED_MAP_70,                  0,  0 ; $70
+	mapconst LANCES_ROOM,                   13, 13 ; $71
+	mapconst UNUSED_MAP_72,                  0,  0 ; $72
+	mapconst UNUSED_MAP_73,                  0,  0 ; $73
+	mapconst UNUSED_MAP_74,                  0,  0 ; $74
+	mapconst UNUSED_MAP_75,                  0,  0 ; $75
+	mapconst HALL_OF_FAME,                   4,  5 ; $76
+	mapconst UNDERGROUND_PATH_NORTH_SOUTH,  24,  4 ; $77
+	mapconst CHAMPIONS_ROOM,                 4,  4 ; $78
+	mapconst UNDERGROUND_PATH_WEST_EAST,     4, 25 ; $79
+	mapconst CELADON_MART_1F,                4, 10 ; $7A
+	mapconst CELADON_MART_2F,                4, 10 ; $7B
+	mapconst CELADON_MART_3F,                4, 10 ; $7C
+	mapconst CELADON_MART_4F,                4, 10 ; $7D
+	mapconst CELADON_MART_ROOF,              4, 10 ; $7E
+	mapconst CELADON_MART_ELEVATOR,          2,  2 ; $7F
+	mapconst CELADON_MANSION_1F,             6,  4 ; $80
+	mapconst CELADON_MANSION_2F,             6,  4 ; $81
+	mapconst CELADON_MANSION_3F,             6,  4 ; $82
+	mapconst CELADON_MANSION_ROOF,           6,  4 ; $83
+	mapconst CELADON_MANSION_ROOF_HOUSE,     4,  4 ; $84
+	mapconst CELADON_POKECENTER,             4,  7 ; $85
+	mapconst CELADON_GYM,                    9,  5 ; $86
+	mapconst GAME_CORNER,                    9, 10 ; $87
+	mapconst CELADON_MART_5F,                4, 10 ; $88
+	mapconst GAME_CORNER_PRIZE_ROOM,         4,  5 ; $89
+	mapconst CELADON_DINER,                  4,  5 ; $8A
+	mapconst CELADON_CHIEF_HOUSE,            4,  4 ; $8B
+	mapconst CELADON_HOTEL,                  4,  7 ; $8C
+	mapconst LAVENDER_POKECENTER,            4,  7 ; $8D
+	mapconst POKEMON_TOWER_1F,               9, 10 ; $8E
+	mapconst POKEMON_TOWER_2F,               9, 10 ; $8F
+	mapconst POKEMON_TOWER_3F,               9, 10 ; $90
+	mapconst POKEMON_TOWER_4F,               9, 10 ; $91
+	mapconst POKEMON_TOWER_5F,               9, 10 ; $92
+	mapconst POKEMON_TOWER_6F,               9, 10 ; $93
+	mapconst POKEMON_TOWER_7F,               9, 10 ; $94
+	mapconst MR_FUJIS_HOUSE,                 4,  4 ; $95
+	mapconst LAVENDER_MART,                  4,  4 ; $96
+	mapconst LAVENDER_CUBONE_HOUSE,          4,  4 ; $97
+	mapconst FUCHSIA_MART,                   4,  4 ; $98
+	mapconst FUCHSIA_BILLS_GRANDPAS_HOUSE,   4,  4 ; $99
+	mapconst FUCHSIA_POKECENTER,             4,  7 ; $9A
+	mapconst WARDENS_HOUSE,                  4,  5 ; $9B
+	mapconst SAFARI_ZONE_GATE,               3,  4 ; $9C
+	mapconst FUCHSIA_GYM,                    9,  5 ; $9D
+	mapconst FUCHSIA_MEETING_ROOM,           4,  7 ; $9E
+	mapconst SEAFOAM_ISLANDS_B1F,            9, 15 ; $9F
+	mapconst SEAFOAM_ISLANDS_B2F,            9, 15 ; $A0
+	mapconst SEAFOAM_ISLANDS_B3F,            9, 15 ; $A1
+	mapconst SEAFOAM_ISLANDS_B4F,            9, 15 ; $A2
+	mapconst VERMILION_OLD_ROD_HOUSE,        4,  4 ; $A3
+	mapconst FUCHSIA_GOOD_ROD_HOUSE,         4,  4 ; $A4
+	mapconst POKEMON_MANSION_1F,            14, 15 ; $A5
+	mapconst CINNABAR_GYM,                   9, 10 ; $A6
+	mapconst CINNABAR_LAB,                   4,  9 ; $A7
+	mapconst CINNABAR_LAB_TRADE_ROOM,        4,  4 ; $A8
+	mapconst CINNABAR_LAB_METRONOME_ROOM,    4,  4 ; $A9
+	mapconst CINNABAR_LAB_FOSSIL_ROOM,       4,  4 ; $AA
+	mapconst CINNABAR_POKECENTER,            4,  7 ; $AB
+	mapconst CINNABAR_MART,                  4,  4 ; $AC
+	mapconst CINNABAR_MART_COPY,             4,  4 ; $AD
+	mapconst INDIGO_PLATEAU_LOBBY,           6,  8 ; $AE
+	mapconst COPYCATS_HOUSE_1F,              4,  4 ; $AF
+	mapconst COPYCATS_HOUSE_2F,              4,  4 ; $B0
+	mapconst FIGHTING_DOJO,                  6,  5 ; $B1
+	mapconst SAFFRON_GYM,                    9, 10 ; $B2
+	mapconst SAFFRON_PIDGEY_HOUSE,           4,  4 ; $B3
+	mapconst SAFFRON_MART,                   4,  4 ; $B4
+	mapconst SILPH_CO_1F,                    9, 15 ; $B5
+	mapconst SAFFRON_POKECENTER,             4,  7 ; $B6
+	mapconst MR_PSYCHICS_HOUSE,              4,  4 ; $B7
+	mapconst ROUTE_15_GATE_1F,               5,  4 ; $B8
+	mapconst ROUTE_15_GATE_2F,               4,  4 ; $B9
+	mapconst ROUTE_16_GATE_1F,               7,  4 ; $BA
+	mapconst ROUTE_16_GATE_2F,               4,  4 ; $BB
+	mapconst ROUTE_16_FLY_HOUSE,             4,  4 ; $BC
+	mapconst ROUTE_12_SUPER_ROD_HOUSE,       4,  4 ; $BD
+	mapconst ROUTE_18_GATE_1F,               5,  4 ; $BE
+	mapconst ROUTE_18_GATE_2F,               4,  4 ; $BF
+	mapconst SEAFOAM_ISLANDS_1F,             9, 15 ; $C0
+	mapconst ROUTE_22_GATE,                  4,  5 ; $C1
+	mapconst VICTORY_ROAD_2F,                9, 15 ; $C2
+	mapconst ROUTE_12_GATE_2F,               4,  4 ; $C3
+	mapconst VERMILION_TRADE_HOUSE,          4,  4 ; $C4
+	mapconst DIGLETTS_CAVE,                 18, 20 ; $C5
+	mapconst VICTORY_ROAD_3F,                9, 15 ; $C6
+	mapconst ROCKET_HIDEOUT_B1F,            14, 15 ; $C7
+	mapconst ROCKET_HIDEOUT_B2F,            14, 15 ; $C8
+	mapconst ROCKET_HIDEOUT_B3F,            14, 15 ; $C9
+	mapconst ROCKET_HIDEOUT_B4F,            12, 15 ; $CA
+	mapconst ROCKET_HIDEOUT_ELEVATOR,        4,  3 ; $CB
+	mapconst UNUSED_MAP_CC,                  0,  0 ; $CC
+	mapconst UNUSED_MAP_CD,                  0,  0 ; $CD
+	mapconst UNUSED_MAP_CE,                  0,  0 ; $CE
+	mapconst SILPH_CO_2F,                    9, 15 ; $CF
+	mapconst SILPH_CO_3F,                    9, 15 ; $D0
+	mapconst SILPH_CO_4F,                    9, 15 ; $D1
+	mapconst SILPH_CO_5F,                    9, 15 ; $D2
+	mapconst SILPH_CO_6F,                    9, 13 ; $D3
+	mapconst SILPH_CO_7F,                    9, 13 ; $D4
+	mapconst SILPH_CO_8F,                    9, 13 ; $D5
+	mapconst POKEMON_MANSION_2F,            14, 15 ; $D6
+	mapconst POKEMON_MANSION_3F,             9, 15 ; $D7
+	mapconst POKEMON_MANSION_B1F,           14, 15 ; $D8
+	mapconst SAFARI_ZONE_EAST,              13, 15 ; $D9
+	mapconst SAFARI_ZONE_NORTH,             18, 20 ; $DA
+	mapconst SAFARI_ZONE_WEST,              13, 15 ; $DB
+	mapconst SAFARI_ZONE_CENTER,            13, 15 ; $DC
+	mapconst SAFARI_ZONE_CENTER_REST_HOUSE,  4,  4 ; $DD
+	mapconst SAFARI_ZONE_SECRET_HOUSE,       4,  4 ; $DE
+	mapconst SAFARI_ZONE_WEST_REST_HOUSE,    4,  4 ; $DF
+	mapconst SAFARI_ZONE_EAST_REST_HOUSE,    4,  4 ; $E0
+	mapconst SAFARI_ZONE_NORTH_REST_HOUSE,   4,  4 ; $E1
+	mapconst CERULEAN_CAVE_2F,               9, 15 ; $E2
+	mapconst CERULEAN_CAVE_B1F,              9, 15 ; $E3
+	mapconst CERULEAN_CAVE_1F,               9, 15 ; $E4
+	mapconst NAME_RATERS_HOUSE,              4,  4 ; $E5
+	mapconst CERULEAN_BADGE_HOUSE,           4,  4 ; $E6
+	mapconst UNUSED_MAP_E7,                  0,  0 ; $E7
+	mapconst ROCK_TUNNEL_B1F,               18, 20 ; $E8
+	mapconst SILPH_CO_9F,                    9, 13 ; $E9
+	mapconst SILPH_CO_10F,                   9,  8 ; $EA
+	mapconst SILPH_CO_11F,                   9,  9 ; $EB
+	mapconst SILPH_CO_ELEVATOR,              2,  2 ; $EC
+	mapconst UNUSED_MAP_ED,                  0,  0 ; $ED
+	mapconst UNUSED_MAP_EE,                  0,  0 ; $EE
+	mapconst TRADE_CENTER,                   4,  5 ; $EF
+	mapconst COLOSSEUM,                      4,  5 ; $F0
+	mapconst UNUSED_MAP_F1,                  0,  0 ; $F1
+	mapconst UNUSED_MAP_F2,                  0,  0 ; $F2
+	mapconst UNUSED_MAP_F3,                  0,  0 ; $F3
+	mapconst UNUSED_MAP_F4,                  0,  0 ; $F4
+	mapconst LORELEIS_ROOM,                  6,  5 ; $F5
+	mapconst BRUNOS_ROOM,                    6,  5 ; $F6
+	mapconst AGATHAS_ROOM,                   6,  5 ; $F7
--- a/data/force_bike_surf.asm
+++ b/data/force_bike_surf.asm
@@ -4,8 +4,8 @@
 	db ROUTE_16,$0B,$11
 	db ROUTE_18,$08,$21
 	db ROUTE_18,$09,$21
-	db SEAFOAM_ISLANDS_4,$07,$12
-	db SEAFOAM_ISLANDS_4,$07,$13
-	db SEAFOAM_ISLANDS_5,$0E,$04
-	db SEAFOAM_ISLANDS_5,$0E,$05
+	db SEAFOAM_ISLANDS_B3F,$07,$12
+	db SEAFOAM_ISLANDS_B3F,$07,$13
+	db SEAFOAM_ISLANDS_B4F,$0E,$04
+	db SEAFOAM_ISLANDS_B4F,$0E,$05
 	db $FF ;end
--- a/data/hidden_item_coords.asm
+++ b/data/hidden_item_coords.asm
@@ -2,38 +2,38 @@
 ; map ID, then coords
 	db VIRIDIAN_FOREST,$12,$01
 	db VIRIDIAN_FOREST,$2a,$10
-	db MT_MOON_3,$0c,$12
+	db MT_MOON_B2F,$0c,$12
 	db ROUTE_25,$03,$26
 	db ROUTE_9,$07,$0e
-	db SS_ANNE_6,$09,$0d
-	db SS_ANNE_10,$01,$03
+	db SS_ANNE_KITCHEN,$09,$0d
+	db SS_ANNE_B1F_ROOMS,$01,$03
 	db ROUTE_10,$11,$09
 	db ROUTE_10,$35,$10
-	db ROCKET_HIDEOUT_1,$0f,$15
-	db ROCKET_HIDEOUT_3,$11,$1b
-	db ROCKET_HIDEOUT_4,$01,$19
-	db POKEMONTOWER_5,$0c,$04
+	db ROCKET_HIDEOUT_B1F,$0f,$15
+	db ROCKET_HIDEOUT_B3F,$11,$1b
+	db ROCKET_HIDEOUT_B4F,$01,$19
+	db POKEMON_TOWER_5F,$0c,$04
 	db ROUTE_13,$0e,$01
 	db ROUTE_13,$0d,$10
-	db MANSION_4,$09,$01
-	db SAFARI_ZONE_ENTRANCE,$01,$0a
+	db POKEMON_MANSION_B1F,$09,$01
+	db SAFARI_ZONE_GATE,$01,$0a
 	db SAFARI_ZONE_WEST,$05,$06
 	db SILPH_CO_5F,$03,$0c
 	db SILPH_CO_9F,$0f,$02
 	db COPYCATS_HOUSE_2F,$01,$01
-	db UNKNOWN_DUNGEON_1,$0b,$0e
-	db UNKNOWN_DUNGEON_3,$03,$1b
+	db CERULEAN_CAVE_1F,$0b,$0e
+	db CERULEAN_CAVE_B1F,$03,$1b
 	db POWER_PLANT,$10,$11
 	db POWER_PLANT,$01,$0c
-	db SEAFOAM_ISLANDS_3,$0f,$0f
-	db SEAFOAM_ISLANDS_5,$11,$19
-	db MANSION_1,$10,$08
-	db MANSION_3,$09,$01
+	db SEAFOAM_ISLANDS_B2F,$0f,$0f
+	db SEAFOAM_ISLANDS_B4F,$11,$19
+	db POKEMON_MANSION_1F,$10,$08
+	db POKEMON_MANSION_3F,$09,$01
 	db ROUTE_23,$2c,$09
 	db ROUTE_23,$46,$13
 	db ROUTE_23,$5a,$08
-	db VICTORY_ROAD_2,$02,$05
-	db VICTORY_ROAD_2,$07,$1a
+	db VICTORY_ROAD_2F,$02,$05
+	db VICTORY_ROAD_2F,$07,$1a
 	db UNUSED_MAP_6F,$0b,$0e
 	db VIRIDIAN_CITY,$04,$0e
 	db ROUTE_11,$05,$30
@@ -43,14 +43,14 @@
 	db ROUTE_17,$48,$11
 	db ROUTE_17,$5b,$04
 	db ROUTE_17,$79,$08
-	db UNDERGROUND_PATH_NS,$04,$03
-	db UNDERGROUND_PATH_NS,$22,$04
-	db UNDERGROUND_PATH_WE,$02,$0c
-	db UNDERGROUND_PATH_WE,$05,$15
+	db UNDERGROUND_PATH_NORTH_SOUTH,$04,$03
+	db UNDERGROUND_PATH_NORTH_SOUTH,$22,$04
+	db UNDERGROUND_PATH_WEST_EAST,$02,$0c
+	db UNDERGROUND_PATH_WEST_EAST,$05,$15
 	db CELADON_CITY,$0f,$30
 	db ROUTE_25,$01,$0a
-	db MT_MOON_3,$09,$21
-	db SEAFOAM_ISLANDS_4,$10,$09
+	db MT_MOON_B2F,$09,$21
+	db SEAFOAM_ISLANDS_B3F,$10,$09
 	db VERMILION_CITY,$0b,$0e
 	db CERULEAN_CITY,$08,$0f
 	db ROUTE_4,$03,$28
--- a/data/hidden_objects.asm
+++ b/data/hidden_objects.asm
@@ -4,7 +4,7 @@
 	db OAKS_LAB
 	db VIRIDIAN_POKECENTER
 	db VIRIDIAN_MART
-	db VIRIDIAN_SCHOOL
+	db VIRIDIAN_SCHOOL_HOUSE
 	db VIRIDIAN_GYM
 	db MUSEUM_1F
 	db PEWTER_GYM
@@ -16,7 +16,7 @@
 	db LAVENDER_POKECENTER
 	db VERMILION_POKECENTER
 	db VERMILION_GYM
-	db CELADON_MANSION_2
+	db CELADON_MANSION_2F
 	db CELADON_POKECENTER
 	db CELADON_GYM
 	db GAME_CORNER
@@ -31,56 +31,56 @@
 	db TRADE_CENTER
 	db COLOSSEUM
 	db VIRIDIAN_FOREST
-	db MT_MOON_3
+	db MT_MOON_B2F
 	db INDIGO_PLATEAU
 	db ROUTE_25
 	db ROUTE_9
-	db SS_ANNE_6
-	db SS_ANNE_10
-	db ROCKET_HIDEOUT_1
-	db ROCKET_HIDEOUT_3
-	db ROCKET_HIDEOUT_4
+	db SS_ANNE_KITCHEN
+	db SS_ANNE_B1F_ROOMS
+	db ROCKET_HIDEOUT_B1F
+	db ROCKET_HIDEOUT_B3F
+	db ROCKET_HIDEOUT_B4F
 	db SAFFRON_POKECENTER
-	db POKEMONTOWER_5
+	db POKEMON_TOWER_5F
 	db ROUTE_13
-	db SAFARI_ZONE_ENTRANCE
+	db SAFARI_ZONE_GATE
 	db SAFARI_ZONE_WEST
 	db SILPH_CO_5F
 	db SILPH_CO_9F
 	db COPYCATS_HOUSE_2F
-	db UNKNOWN_DUNGEON_1
-	db UNKNOWN_DUNGEON_3
+	db CERULEAN_CAVE_1F
+	db CERULEAN_CAVE_B1F
 	db POWER_PLANT
-	db SEAFOAM_ISLANDS_3
-	db SEAFOAM_ISLANDS_5
-	db MANSION_1
-	db MANSION_3
+	db SEAFOAM_ISLANDS_B2F
+	db SEAFOAM_ISLANDS_B4F
+	db POKEMON_MANSION_1F
+	db POKEMON_MANSION_3F
 	db ROUTE_23
-	db VICTORY_ROAD_2
-	db $6F
+	db VICTORY_ROAD_2F
+	db UNUSED_MAP_6F
 	db BILLS_HOUSE
 	db VIRIDIAN_CITY
-	db SAFARI_ZONE_REST_HOUSE_2
-	db SAFARI_ZONE_REST_HOUSE_3
-	db SAFARI_ZONE_REST_HOUSE_4
+	db SAFARI_ZONE_WEST_REST_HOUSE
+	db SAFARI_ZONE_EAST_REST_HOUSE
+	db SAFARI_ZONE_NORTH_REST_HOUSE
 	db ROUTE_15_GATE_2F
-	db LAVENDER_HOUSE_1
-	db CELADON_MANSION_5
+	db MR_FUJIS_HOUSE
+	db CELADON_MANSION_ROOF_HOUSE
 	db FIGHTING_DOJO
 	db ROUTE_10
 	db INDIGO_PLATEAU_LOBBY
-	db CINNABAR_LAB_4
+	db CINNABAR_LAB_FOSSIL_ROOM
 	db BIKE_SHOP
 	db ROUTE_11
 	db ROUTE_12
-	db MANSION_2
-	db MANSION_4
+	db POKEMON_MANSION_2F
+	db POKEMON_MANSION_B1F
 	db SILPH_CO_11F
 	db ROUTE_17
-	db UNDERGROUND_PATH_NS
-	db UNDERGROUND_PATH_WE
+	db UNDERGROUND_PATH_NORTH_SOUTH
+	db UNDERGROUND_PATH_WEST_EAST
 	db CELADON_CITY
-	db SEAFOAM_ISLANDS_4
+	db SEAFOAM_ISLANDS_B3F
 	db VERMILION_CITY
 	db CERULEAN_CITY
 	db ROUTE_4
--- a/data/hide_show_data.asm
+++ b/data/hide_show_data.asm
@@ -343,38 +343,38 @@
 MapHS34:
 	db MUSEUM_1F,$05,Show
 MapHSE4:
-	db UNKNOWN_DUNGEON_1,$01,Show
-	db UNKNOWN_DUNGEON_1,$02,Show
-	db UNKNOWN_DUNGEON_1,$03,Show
+	db CERULEAN_CAVE_1F,$01,Show
+	db CERULEAN_CAVE_1F,$02,Show
+	db CERULEAN_CAVE_1F,$03,Show
 MapHS8F:
-	db POKEMONTOWER_2,$01,Show
+	db POKEMON_TOWER_2F,$01,Show
 MapHS90:
-	db POKEMONTOWER_3,$04,Show
+	db POKEMON_TOWER_3F,$04,Show
 MapHS91:
-	db POKEMONTOWER_4,$04,Show
-	db POKEMONTOWER_4,$05,Show
-	db POKEMONTOWER_4,$06,Show
+	db POKEMON_TOWER_4F,$04,Show
+	db POKEMON_TOWER_4F,$05,Show
+	db POKEMON_TOWER_4F,$06,Show
 MapHS92:
-	db POKEMONTOWER_5,$06,Show
+	db POKEMON_TOWER_5F,$06,Show
 MapHS93:
-	db POKEMONTOWER_6,$04,Show
-	db POKEMONTOWER_6,$05,Show
+	db POKEMON_TOWER_6F,$04,Show
+	db POKEMON_TOWER_6F,$05,Show
 MapHS94:
-	db POKEMONTOWER_7,$01,Show
-	db POKEMONTOWER_7,$02,Show
-	db POKEMONTOWER_7,$03,Show
-	db POKEMONTOWER_7,$04,Show
+	db POKEMON_TOWER_7F,$01,Show
+	db POKEMON_TOWER_7F,$02,Show
+	db POKEMON_TOWER_7F,$03,Show
+	db POKEMON_TOWER_7F,$04,Show
 MapHS95:
-	db LAVENDER_HOUSE_1,$05,Hide
+	db MR_FUJIS_HOUSE,$05,Hide
 MapHS84:
-	db CELADON_MANSION_5,$02,Show
+	db CELADON_MANSION_ROOF_HOUSE,$02,Show
 MapHS87:
 	db GAME_CORNER,$0B,Show
 MapHS9B:
-	db FUCHSIA_HOUSE_2,$02,Show
+	db WARDENS_HOUSE,$02,Show
 MapHSA5:
-	db MANSION_1,$02,Show
-	db MANSION_1,$03,Show
+	db POKEMON_MANSION_1F,$02,Show
+	db POKEMON_MANSION_1F,$03,Show
 MapHSB1:
 	db FIGHTING_DOJO,$06,Show
 	db FIGHTING_DOJO,$07,Show
@@ -396,12 +396,12 @@
 	db POWER_PLANT,$0D,Show
 	db POWER_PLANT,$0E,Show
 MapHSC2:
-	db VICTORY_ROAD_2,$06,Show
-	db VICTORY_ROAD_2,$07,Show
-	db VICTORY_ROAD_2,$08,Show
-	db VICTORY_ROAD_2,$09,Show
-	db VICTORY_ROAD_2,$0A,Show
-	db VICTORY_ROAD_2,$0D,Show
+	db VICTORY_ROAD_2F,$06,Show
+	db VICTORY_ROAD_2F,$07,Show
+	db VICTORY_ROAD_2F,$08,Show
+	db VICTORY_ROAD_2F,$09,Show
+	db VICTORY_ROAD_2F,$0A,Show
+	db VICTORY_ROAD_2F,$0D,Show
 MapHS58:
 	db BILLS_HOUSE,$01,Show
 	db BILLS_HOUSE,$02,Hide
@@ -411,50 +411,50 @@
 	db VIRIDIAN_FOREST,$06,Show
 	db VIRIDIAN_FOREST,$07,Show
 MapHS3B:
-	db MT_MOON_1,$08,Show
-	db MT_MOON_1,$09,Show
-	db MT_MOON_1,$0A,Show
-	db MT_MOON_1,$0B,Show
-	db MT_MOON_1,$0C,Show
-	db MT_MOON_1,$0D,Show
+	db MT_MOON_1F,$08,Show
+	db MT_MOON_1F,$09,Show
+	db MT_MOON_1F,$0A,Show
+	db MT_MOON_1F,$0B,Show
+	db MT_MOON_1F,$0C,Show
+	db MT_MOON_1F,$0D,Show
 MapHS3D:
-	db MT_MOON_3,$06,Show
-	db MT_MOON_3,$07,Show
-	db MT_MOON_3,$08,Show
-	db MT_MOON_3,$09,Show
+	db MT_MOON_B2F,$06,Show
+	db MT_MOON_B2F,$07,Show
+	db MT_MOON_B2F,$08,Show
+	db MT_MOON_B2F,$09,Show
 MapHS60:
-	db SS_ANNE_2,$02,Hide
+	db SS_ANNE_2F,$02,Hide
 MapHS66:
-	db SS_ANNE_8,$0A,Show
+	db SS_ANNE_1F_ROOMS,$0A,Show
 MapHS67:
-	db SS_ANNE_9,$06,Show
-	db SS_ANNE_9,$09,Show
+	db SS_ANNE_2F_ROOMS,$06,Show
+	db SS_ANNE_2F_ROOMS,$09,Show
 MapHS68:
-	db SS_ANNE_10,$09,Show
-	db SS_ANNE_10,$0A,Show
-	db SS_ANNE_10,$0B,Show
+	db SS_ANNE_B1F_ROOMS,$09,Show
+	db SS_ANNE_B1F_ROOMS,$0A,Show
+	db SS_ANNE_B1F_ROOMS,$0B,Show
 MapHSC6:
-	db VICTORY_ROAD_3,$05,Show
-	db VICTORY_ROAD_3,$06,Show
-	db VICTORY_ROAD_3,$0A,Show
+	db VICTORY_ROAD_3F,$05,Show
+	db VICTORY_ROAD_3F,$06,Show
+	db VICTORY_ROAD_3F,$0A,Show
 MapHSC7:
-	db ROCKET_HIDEOUT_1,$06,Show
-	db ROCKET_HIDEOUT_1,$07,Show
+	db ROCKET_HIDEOUT_B1F,$06,Show
+	db ROCKET_HIDEOUT_B1F,$07,Show
 MapHSC8:
-	db ROCKET_HIDEOUT_2,$02,Show
-	db ROCKET_HIDEOUT_2,$03,Show
-	db ROCKET_HIDEOUT_2,$04,Show
-	db ROCKET_HIDEOUT_2,$05,Show
+	db ROCKET_HIDEOUT_B2F,$02,Show
+	db ROCKET_HIDEOUT_B2F,$03,Show
+	db ROCKET_HIDEOUT_B2F,$04,Show
+	db ROCKET_HIDEOUT_B2F,$05,Show
 MapHSC9:
-	db ROCKET_HIDEOUT_3,$03,Show
-	db ROCKET_HIDEOUT_3,$04,Show
+	db ROCKET_HIDEOUT_B3F,$03,Show
+	db ROCKET_HIDEOUT_B3F,$04,Show
 MapHSCA:
-	db ROCKET_HIDEOUT_4,$01,Show
-	db ROCKET_HIDEOUT_4,$05,Show
-	db ROCKET_HIDEOUT_4,$06,Show
-	db ROCKET_HIDEOUT_4,$07,Show
-	db ROCKET_HIDEOUT_4,$08,Hide
-	db ROCKET_HIDEOUT_4,$09,Hide
+	db ROCKET_HIDEOUT_B4F,$01,Show
+	db ROCKET_HIDEOUT_B4F,$05,Show
+	db ROCKET_HIDEOUT_B4F,$06,Show
+	db ROCKET_HIDEOUT_B4F,$07,Show
+	db ROCKET_HIDEOUT_B4F,$08,Hide
+	db ROCKET_HIDEOUT_B4F,$09,Hide
 MapHSCF:
 	db SILPH_CO_2F,$01,Show
 	db SILPH_CO_2F,$02,Show
@@ -515,18 +515,18 @@
 	db SILPH_CO_11F,$04,Show
 	db SILPH_CO_11F,$05,Show
 MapHSF4:
-	db $F4,$02,Show
+	db UNUSED_MAP_F4,$02,Show
 MapHSD6:
-	db MANSION_2,$02,Show
+	db POKEMON_MANSION_2F,$02,Show
 MapHSD7:
-	db MANSION_3,$03,Show
-	db MANSION_3,$04,Show
+	db POKEMON_MANSION_3F,$03,Show
+	db POKEMON_MANSION_3F,$04,Show
 MapHSD8:
-	db MANSION_4,$03,Show
-	db MANSION_4,$04,Show
-	db MANSION_4,$05,Show
-	db MANSION_4,$06,Show
-	db MANSION_4,$08,Show
+	db POKEMON_MANSION_B1F,$03,Show
+	db POKEMON_MANSION_B1F,$04,Show
+	db POKEMON_MANSION_B1F,$05,Show
+	db POKEMON_MANSION_B1F,$06,Show
+	db POKEMON_MANSION_B1F,$08,Show
 MapHSD9:
 	db SAFARI_ZONE_EAST,$01,Show
 	db SAFARI_ZONE_EAST,$02,Show
@@ -543,35 +543,35 @@
 MapHSDC:
 	db SAFARI_ZONE_CENTER,$01,Show
 MapHSE2:
-	db UNKNOWN_DUNGEON_2,$01,Show
-	db UNKNOWN_DUNGEON_2,$02,Show
-	db UNKNOWN_DUNGEON_2,$03,Show
+	db CERULEAN_CAVE_2F,$01,Show
+	db CERULEAN_CAVE_2F,$02,Show
+	db CERULEAN_CAVE_2F,$03,Show
 MapHSE3:
-	db UNKNOWN_DUNGEON_3,$01,Show
-	db UNKNOWN_DUNGEON_3,$02,Show
-	db UNKNOWN_DUNGEON_3,$03,Show
+	db CERULEAN_CAVE_B1F,$01,Show
+	db CERULEAN_CAVE_B1F,$02,Show
+	db CERULEAN_CAVE_B1F,$03,Show
 MapHS6C:
-	db VICTORY_ROAD_1,$03,Show
-	db VICTORY_ROAD_1,$04,Show
+	db VICTORY_ROAD_1F,$03,Show
+	db VICTORY_ROAD_1F,$04,Show
 MapHS78:
 	db CHAMPIONS_ROOM,$02,Hide
 MapHSC0:
-	db SEAFOAM_ISLANDS_1,$01,Show
-	db SEAFOAM_ISLANDS_1,$02,Show
+	db SEAFOAM_ISLANDS_1F,$01,Show
+	db SEAFOAM_ISLANDS_1F,$02,Show
 MapHS9F:
-	db SEAFOAM_ISLANDS_2,$01,Hide
-	db SEAFOAM_ISLANDS_2,$02,Hide
+	db SEAFOAM_ISLANDS_B1F,$01,Hide
+	db SEAFOAM_ISLANDS_B1F,$02,Hide
 MapHSA0:
-	db SEAFOAM_ISLANDS_3,$01,Hide
-	db SEAFOAM_ISLANDS_3,$02,Hide
+	db SEAFOAM_ISLANDS_B2F,$01,Hide
+	db SEAFOAM_ISLANDS_B2F,$02,Hide
 MapHSA1:
-	db SEAFOAM_ISLANDS_4,$02,Show
-	db SEAFOAM_ISLANDS_4,$03,Show
-	db SEAFOAM_ISLANDS_4,$05,Hide
-	db SEAFOAM_ISLANDS_4,$06,Hide
+	db SEAFOAM_ISLANDS_B3F,$02,Show
+	db SEAFOAM_ISLANDS_B3F,$03,Show
+	db SEAFOAM_ISLANDS_B3F,$05,Hide
+	db SEAFOAM_ISLANDS_B3F,$06,Hide
 MapHSA2:
-	db SEAFOAM_ISLANDS_5,$01,Hide
-	db SEAFOAM_ISLANDS_5,$02,Hide
-	db SEAFOAM_ISLANDS_5,$03,Show
+	db SEAFOAM_ISLANDS_B4F,$01,Hide
+	db SEAFOAM_ISLANDS_B4F,$02,Hide
+	db SEAFOAM_ISLANDS_B4F,$03,Show
 
 	db $FF,$01,Show
--- /dev/null
+++ b/data/mapHeaders/AgathasRoom.asm
@@ -1,0 +1,8 @@
+AgathasRoom_h:
+	db CEMETERY ; tileset
+	db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x)
+	dw AgathasRoom_Blocks ; blocks
+	dw AgathasRoom_TextPointers ; texts
+	dw AgathasRoom_Script ; scripts
+	db 0 ; connections
+	dw AgathasRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/BikeShop.asm
@@ -1,0 +1,8 @@
+BikeShop_h:
+	db CLUB ; tileset
+	db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x)
+	dw BikeShop_Blocks ; blocks
+	dw BikeShop_TextPointers ; texts
+	dw BikeShop_Script ; scripts
+	db 0 ; connections
+	dw BikeShop_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/BillsHouse.asm
@@ -1,0 +1,8 @@
+BillsHouse_h:
+	db INTERIOR ; tileset
+	db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x)
+	dw BillsHouse_Blocks ; blocks
+	dw BillsHouse_TextPointers ; texts
+	dw BillsHouse_Script ; scripts
+	db 0 ; connections
+	dw BillsHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/BluesHouse.asm
@@ -1,0 +1,8 @@
+BluesHouse_h:
+	db HOUSE ; tileset
+	db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions (y, x)
+	dw BluesHouse_Blocks ; blocks
+	dw BluesHouse_TextPointers ; texts
+	dw BluesHouse_Script ; scripts
+	db 0 ; connections
+	dw BluesHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/BrunosRoom.asm
@@ -1,0 +1,8 @@
+BrunosRoom_h:
+	db GYM ; tileset
+	db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x)
+	dw BrunosRoom_Blocks ; blocks
+	dw BrunosRoom_TextPointers ; texts
+	dw BrunosRoom_Script ; scripts
+	db 0 ; connections
+	dw BrunosRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonChiefHouse.asm
@@ -1,0 +1,8 @@
+CeladonChiefHouse_h:
+	db MANSION ; tileset
+	db CELADON_CHIEF_HOUSE_HEIGHT, CELADON_CHIEF_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeladonChiefHouse_Blocks ; blocks
+	dw CeladonChiefHouse_TextPointers ; texts
+	dw CeladonChiefHouse_Script ; scripts
+	db 0 ; connections
+	dw CeladonChiefHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonCity.asm
@@ -1,0 +1,10 @@
+CeladonCity_h:
+	db OVERWORLD ; tileset
+	db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x)
+	dw CeladonCity_Blocks ; blocks
+	dw CeladonCity_TextPointers ; texts
+	dw CeladonCity_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION CELADON_CITY, ROUTE_16, 4, 0, Route16_Blocks
+	EAST_MAP_CONNECTION CELADON_CITY, ROUTE_7, 4, 0, Route7_Blocks, 1
+	dw CeladonCity_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonDiner.asm
@@ -1,0 +1,8 @@
+CeladonDiner_h:
+	db LOBBY ; tileset
+	db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x)
+	dw CeladonDiner_Blocks ; blocks
+	dw CeladonDiner_TextPointers ; texts
+	dw CeladonDiner_Script ; scripts
+	db 0 ; connections
+	dw CeladonDiner_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonGym.asm
@@ -1,0 +1,8 @@
+CeladonGym_h:
+	db GYM ; tileset
+	db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x)
+	dw CeladonGym_Blocks ; blocks
+	dw CeladonGym_TextPointers ; texts
+	dw CeladonGym_Script ; scripts
+	db 0 ; connections
+	dw CeladonGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonHotel.asm
@@ -1,0 +1,8 @@
+CeladonHotel_h:
+	db POKECENTER ; tileset
+	db CELADON_HOTEL_HEIGHT, CELADON_HOTEL_WIDTH ; dimensions (y, x)
+	dw CeladonHotel_Blocks ; blocks
+	dw CeladonHotel_TextPointers ; texts
+	dw CeladonHotel_Script ; scripts
+	db 0 ; connections
+	dw CeladonHotel_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMansion1F.asm
@@ -1,0 +1,8 @@
+CeladonMansion1F_h:
+	db MANSION ; tileset
+	db CELADON_MANSION_1F_HEIGHT, CELADON_MANSION_1F_WIDTH ; dimensions (y, x)
+	dw CeladonMansion1F_Blocks ; blocks
+	dw CeladonMansion1F_TextPointers ; texts
+	dw CeladonMansion1F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMansion1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMansion2F.asm
@@ -1,0 +1,8 @@
+CeladonMansion2F_h:
+	db MANSION ; tileset
+	db CELADON_MANSION_2F_HEIGHT, CELADON_MANSION_2F_WIDTH ; dimensions (y, x)
+	dw CeladonMansion2F_Blocks ; blocks
+	dw CeladonMansion2F_TextPointers ; texts
+	dw CeladonMansion2F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMansion2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMansion3F.asm
@@ -1,0 +1,8 @@
+CeladonMansion3F_h:
+	db MANSION ; tileset
+	db CELADON_MANSION_3F_HEIGHT, CELADON_MANSION_3F_WIDTH ; dimensions (y, x)
+	dw CeladonMansion3F_Blocks ; blocks
+	dw CeladonMansion3F_TextPointers ; texts
+	dw CeladonMansion3F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMansion3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMansionRoof.asm
@@ -1,0 +1,8 @@
+CeladonMansionRoof_h:
+	db MANSION ; tileset
+	db CELADON_MANSION_ROOF_HEIGHT, CELADON_MANSION_ROOF_WIDTH ; dimensions (y, x)
+	dw CeladonMansionRoof_Blocks ; blocks
+	dw CeladonMansionRoof_TextPointers ; texts
+	dw CeladonMansionRoof_Script ; scripts
+	db 0 ; connections
+	dw CeladonMansionRoof_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMansionRoofHouse.asm
@@ -1,0 +1,8 @@
+CeladonMansionRoofHouse_h:
+	db HOUSE ; tileset
+	db CELADON_MANSION_ROOF_HOUSE_HEIGHT, CELADON_MANSION_ROOF_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeladonMansionRoofHouse_Blocks ; blocks
+	dw CeladonMansionRoofHouse_TextPointers ; texts
+	dw CeladonMansionRoofHouse_Script ; scripts
+	db 0 ; connections
+	dw CeladonMansionRoofHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMart1F.asm
@@ -1,0 +1,8 @@
+CeladonMart1F_h:
+	db LOBBY ; tileset
+	db CELADON_MART_1F_HEIGHT, CELADON_MART_1F_WIDTH ; dimensions (y, x)
+	dw CeladonMart1F_Blocks ; blocks
+	dw CeladonMart1F_TextPointers ; texts
+	dw CeladonMart1F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMart1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMart2F.asm
@@ -1,0 +1,8 @@
+CeladonMart2F_h:
+	db LOBBY ; tileset
+	db CELADON_MART_2F_HEIGHT, CELADON_MART_2F_WIDTH ; dimensions (y, x)
+	dw CeladonMart2F_Blocks ; blocks
+	dw CeladonMart2F_TextPointers ; texts
+	dw CeladonMart2F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMart2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMart3F.asm
@@ -1,0 +1,8 @@
+CeladonMart3F_h:
+	db LOBBY ; tileset
+	db CELADON_MART_3F_HEIGHT, CELADON_MART_3F_WIDTH ; dimensions (y, x)
+	dw CeladonMart3F_Blocks ; blocks
+	dw CeladonMart3F_TextPointers ; texts
+	dw CeladonMart3F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMart3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMart4F.asm
@@ -1,0 +1,8 @@
+CeladonMart4F_h:
+	db LOBBY ; tileset
+	db CELADON_MART_4F_HEIGHT, CELADON_MART_4F_WIDTH ; dimensions (y, x)
+	dw CeladonMart4F_Blocks ; blocks
+	dw CeladonMart4F_TextPointers ; texts
+	dw CeladonMart4F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMart4F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMart5F.asm
@@ -1,0 +1,8 @@
+CeladonMart5F_h:
+	db LOBBY ; tileset
+	db CELADON_MART_5F_HEIGHT, CELADON_MART_5F_WIDTH ; dimensions (y, x)
+	dw CeladonMart5F_Blocks ; blocks
+	dw CeladonMart5F_TextPointers ; texts
+	dw CeladonMart5F_Script ; scripts
+	db 0 ; connections
+	dw CeladonMart5F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMartElevator.asm
@@ -1,0 +1,8 @@
+CeladonMartElevator_h:
+	db LOBBY ; tileset
+	db CELADON_MART_ELEVATOR_HEIGHT, CELADON_MART_ELEVATOR_WIDTH ; dimensions (y, x)
+	dw CeladonMartElevator_Blocks ; blocks
+	dw CeladonMartElevator_TextPointers ; texts
+	dw CeladonMartElevator_Script ; scripts
+	db 0 ; connections
+	dw CeladonMartElevator_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonMartRoof.asm
@@ -1,0 +1,8 @@
+CeladonMartRoof_h:
+	db LOBBY ; tileset
+	db CELADON_MART_ROOF_HEIGHT, CELADON_MART_ROOF_WIDTH ; dimensions (y, x)
+	dw CeladonMartRoof_Blocks ; blocks
+	dw CeladonMartRoof_TextPointers ; texts
+	dw CeladonMartRoof_Script ; scripts
+	db 0 ; connections
+	dw CeladonMartRoof_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeladonPokecenter.asm
@@ -1,0 +1,8 @@
+CeladonPokecenter_h:
+	db POKECENTER ; tileset
+	db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x)
+	dw CeladonPokecenter_Blocks ; blocks
+	dw CeladonPokecenter_TextPointers ; texts
+	dw CeladonPokecenter_Script ; scripts
+	db 0 ; connections
+	dw CeladonPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanBadgeHouse.asm
@@ -1,0 +1,8 @@
+CeruleanBadgeHouse_h:
+	db SHIP ; tileset
+	db CERULEAN_BADGE_HOUSE_HEIGHT, CERULEAN_BADGE_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeruleanBadgeHouse_Blocks ; blocks
+	dw CeruleanBadgeHouse_TextPointers ; texts
+	dw CeruleanBadgeHouse_Script ; scripts
+	db 0 ; connections
+	dw CeruleanBadgeHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanCave1F.asm
@@ -1,0 +1,8 @@
+CeruleanCave1F_h:
+	db CAVERN ; tileset
+	db CERULEAN_CAVE_1F_HEIGHT, CERULEAN_CAVE_1F_WIDTH ; dimensions (y, x)
+	dw CeruleanCave1F_Blocks ; blocks
+	dw CeruleanCave1F_TextPointers ; texts
+	dw CeruleanCave1F_Script ; scripts
+	db 0 ; connections
+	dw CeruleanCave1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanCave2F.asm
@@ -1,0 +1,8 @@
+CeruleanCave2F_h:
+	db CAVERN ; tileset
+	db CERULEAN_CAVE_2F_HEIGHT, CERULEAN_CAVE_2F_WIDTH ; dimensions (y, x)
+	dw CeruleanCave2F_Blocks ; blocks
+	dw CeruleanCave2F_TextPointers ; texts
+	dw CeruleanCave2F_Script ; scripts
+	db 0 ; connections
+	dw CeruleanCave2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanCaveB1F.asm
@@ -1,0 +1,8 @@
+CeruleanCaveB1F_h:
+	db CAVERN ; tileset
+	db CERULEAN_CAVE_B1F_HEIGHT, CERULEAN_CAVE_B1F_WIDTH ; dimensions (y, x)
+	dw CeruleanCaveB1F_Blocks ; blocks
+	dw CeruleanCaveB1F_TextPointers ; texts
+	dw CeruleanCaveB1F_Script ; scripts
+	db 0 ; connections
+	dw CeruleanCaveB1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanCity.asm
@@ -1,0 +1,12 @@
+CeruleanCity_h:
+	db OVERWORLD ; tileset
+	db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x)
+	dw CeruleanCity_Blocks ; blocks
+	dw CeruleanCity_TextPointers ; texts
+	dw CeruleanCity_Script ; scripts
+	db NORTH | SOUTH | WEST | EAST ; connections
+	NORTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_24, 5, 0, Route24_Blocks
+	SOUTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_5, 5, 0, Route5_Blocks, 1
+	WEST_MAP_CONNECTION CERULEAN_CITY, ROUTE_4, 4, 0, Route4_Blocks
+	EAST_MAP_CONNECTION CERULEAN_CITY, ROUTE_9, 4, 0, Route9_Blocks
+	dw CeruleanCity_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanGym.asm
@@ -1,0 +1,8 @@
+CeruleanGym_h:
+	db GYM ; tileset
+	db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x)
+	dw CeruleanGym_Blocks ; blocks
+	dw CeruleanGym_TextPointers ; texts
+	dw CeruleanGym_Script ; scripts
+	db 0 ; connections
+	dw CeruleanGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanMart.asm
@@ -1,0 +1,8 @@
+CeruleanMart_h:
+	db MART ; tileset
+	db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x)
+	dw CeruleanMart_Blocks ; blocks
+	dw CeruleanMart_TextPointers ; texts
+	dw CeruleanMart_Script ; scripts
+	db 0 ; connections
+	dw CeruleanMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanPokecenter.asm
@@ -1,0 +1,8 @@
+CeruleanPokecenter_h:
+	db POKECENTER ; tileset
+	db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x)
+	dw CeruleanPokecenter_Blocks ; blocks
+	dw CeruleanPokecenter_TextPointers ; texts
+	dw CeruleanPokecenter_Script ; scripts
+	db 0 ; connections
+	dw CeruleanPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanTradeHouse.asm
@@ -1,0 +1,8 @@
+CeruleanTradeHouse_h:
+	db HOUSE ; tileset
+	db CERULEAN_TRADE_HOUSE_HEIGHT, CERULEAN_TRADE_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeruleanTradeHouse_Blocks ; blocks
+	dw CeruleanTradeHouse_TextPointers ; texts
+	dw CeruleanTradeHouse_Script ; scripts
+	db 0 ; connections
+	dw CeruleanTradeHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CeruleanTrashedHouse.asm
@@ -1,0 +1,8 @@
+CeruleanTrashedHouse_h:
+	db HOUSE ; tileset
+	db CERULEAN_TRASHED_HOUSE_HEIGHT, CERULEAN_TRASHED_HOUSE_WIDTH ; dimensions (y, x)
+	dw CeruleanTrashedHouse_Blocks ; blocks
+	dw CeruleanTrashedHouse_TextPointers ; texts
+	dw CeruleanTrashedHouse_Script ; scripts
+	db 0 ; connections
+	dw CeruleanTrashedHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ChampionsRoom.asm
@@ -1,0 +1,8 @@
+ChampionsRoom_h:
+	db GYM ; tileset
+	db CHAMPIONS_ROOM_HEIGHT, CHAMPIONS_ROOM_WIDTH ; dimensions (y, x)
+	dw ChampionsRoom_Blocks ; blocks
+	dw ChampionsRoom_TextPointers ; texts
+	dw ChampionsRoom_Script ; scripts
+	db $0 ; connections
+	dw ChampionsRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarGym.asm
@@ -1,0 +1,8 @@
+CinnabarGym_h:
+	db FACILITY ; tileset
+	db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x)
+	dw CinnabarGym_Blocks ; blocks
+	dw CinnabarGym_TextPointers ; texts
+	dw CinnabarGym_Script ; scripts
+	db 0 ; connections
+	dw CinnabarGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarIsland.asm
@@ -1,0 +1,10 @@
+CinnabarIsland_h:
+	db OVERWORLD ; tileset
+	db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x)
+	dw CinnabarIsland_Blocks ; blocks
+	dw CinnabarIsland_TextPointers ; texts
+	dw CinnabarIsland_Script ; scripts
+	db NORTH | EAST ; connections
+	NORTH_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_21, 0, 0, Route21_Blocks
+	EAST_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_20, 0, 0, Route20_Blocks
+	dw CinnabarIsland_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarLab.asm
@@ -1,0 +1,8 @@
+CinnabarLab_h:
+	db LAB ; tileset
+	db CINNABAR_LAB_HEIGHT, CINNABAR_LAB_WIDTH ; dimensions (y, x)
+	dw CinnabarLab_Blocks ; blocks
+	dw CinnabarLab_TextPointers ; texts
+	dw CinnabarLab_Script ; scripts
+	db 0 ; connections
+	dw CinnabarLab_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarLabFossilRoom.asm
@@ -1,0 +1,8 @@
+CinnabarLabFossilRoom_h:
+	db LAB ; tileset
+	db CINNABAR_LAB_FOSSIL_ROOM_HEIGHT, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; dimensions (y, x)
+	dw CinnabarLabFossilRoom_Blocks ; blocks
+	dw CinnabarLabFossilRoom_TextPointers ; texts
+	dw CinnabarLabFossilRoom_Script ; scripts
+	db 0 ; connections
+	dw CinnabarLabFossilRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarLabMetronomeRoom.asm
@@ -1,0 +1,8 @@
+CinnabarLabMetronomeRoom_h:
+	db LAB ; tileset
+	db CINNABAR_LAB_METRONOME_ROOM_HEIGHT, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; dimensions (y, x)
+	dw CinnabarLabMetronomeRoom_Blocks ; blocks
+	dw CinnabarLabMetronomeRoom_TextPointers ; texts
+	dw CinnabarLabMetronomeRoom_Script ; scripts
+	db 0 ; connections
+	dw CinnabarLabMetronomeRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarLabTradeRoom.asm
@@ -1,0 +1,8 @@
+CinnabarLabTradeRoom_h:
+	db LAB ; tileset
+	db CINNABAR_LAB_TRADE_ROOM_HEIGHT, CINNABAR_LAB_TRADE_ROOM_WIDTH ; dimensions (y, x)
+	dw CinnabarLabTradeRoom_Blocks ; blocks
+	dw CinnabarLabTradeRoom_TextPointers ; texts
+	dw CinnabarLabTradeRoom_Script ; scripts
+	db 0 ; connections
+	dw CinnabarLabTradeRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarMart.asm
@@ -1,0 +1,8 @@
+CinnabarMart_h:
+	db MART ; tileset
+	db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x)
+	dw CinnabarMart_Blocks ; blocks
+	dw CinnabarMart_TextPointers ; texts
+	dw CinnabarMart_Script ; scripts
+	db 0 ; connections
+	dw CinnabarMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CinnabarPokecenter.asm
@@ -1,0 +1,8 @@
+CinnabarPokecenter_h:
+	db POKECENTER ; tileset
+	db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x)
+	dw CinnabarPokecenter_Blocks ; blocks
+	dw CinnabarPokecenter_TextPointers ; texts
+	dw CinnabarPokecenter_Script ; scripts
+	db 0 ; connections
+	dw CinnabarPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Colosseum.asm
@@ -1,0 +1,8 @@
+Colosseum_h:
+	db CLUB ; tileset
+	db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH ; dimensions (y, x)
+	dw Colosseum_Blocks ; blocks
+	dw Colosseum_TextPointers ; texts
+	dw Colosseum_Script ; scripts
+	db 0 ; connections
+	dw Colosseum_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CopycatsHouse1F.asm
@@ -1,0 +1,8 @@
+CopycatsHouse1F_h:
+	db REDS_HOUSE_1 ; tileset
+	db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x)
+	dw CopycatsHouse1F_Blocks ; blocks
+	dw CopycatsHouse1F_TextPointers ; texts
+	dw CopycatsHouse1F_Script ; scripts
+	db 0 ; connections
+	dw CopycatsHouse1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/CopycatsHouse2F.asm
@@ -1,0 +1,8 @@
+CopycatsHouse2F_h:
+	db REDS_HOUSE_2 ; tileset
+	db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x)
+	dw CopycatsHouse2F_Blocks ; blocks
+	dw CopycatsHouse2F_TextPointers ; texts
+	dw CopycatsHouse2F_Script ; scripts
+	db 0 ; connections
+	dw CopycatsHouse2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Daycare.asm
@@ -1,0 +1,8 @@
+Daycare_h:
+	db HOUSE ; tileset
+	db DAYCARE_HEIGHT, DAYCARE_WIDTH ; dimensions (y, x)
+	dw Daycare_Blocks ; blocks
+	dw Daycare_TextPointers ; texts
+	dw Daycare_Script ; scripts
+	db 0 ; connections
+	dw Daycare_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/DiglettsCave.asm
@@ -1,0 +1,8 @@
+DiglettsCave_h:
+	db CAVERN ; tileset
+	db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x)
+	dw DiglettsCave_Blocks ; blocks
+	dw DiglettsCave_TextPointers ; texts
+	dw DiglettsCave_Script ; scripts
+	db 0 ; connections
+	dw DiglettsCave_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/DiglettsCaveRoute11.asm
@@ -1,0 +1,8 @@
+DiglettsCaveRoute11_h:
+	db CAVERN ; tileset
+	db DIGLETTS_CAVE_ROUTE_11_HEIGHT, DIGLETTS_CAVE_ROUTE_11_WIDTH ; dimensions (y, x)
+	dw DiglettsCaveRoute11_Blocks ; blocks
+	dw DiglettsCaveRoute11_TextPointers ; texts
+	dw DiglettsCaveRoute11_Script ; scripts
+	db 0 ; connections
+	dw DiglettsCaveRoute11_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/DiglettsCaveRoute2.asm
@@ -1,0 +1,8 @@
+DiglettsCaveRoute2_h:
+	db CAVERN ; tileset
+	db DIGLETTS_CAVE_ROUTE_2_HEIGHT, DIGLETTS_CAVE_ROUTE_2_WIDTH ; dimensions (y, x)
+	dw DiglettsCaveRoute2_Blocks ; blocks
+	dw DiglettsCaveRoute2_TextPointers ; texts
+	dw DiglettsCaveRoute2_Script ; scripts
+	db 0 ; connections
+	dw DiglettsCaveRoute2_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FightingDojo.asm
@@ -1,0 +1,8 @@
+FightingDojo_h:
+	db DOJO ; tileset
+	db FIGHTING_DOJO_HEIGHT, FIGHTING_DOJO_WIDTH ; dimensions (y, x)
+	dw FightingDojo_Blocks ; blocks
+	dw FightingDojo_TextPointers ; texts
+	dw FightingDojo_Script ; scripts
+	db 0 ; connections
+	dw FightingDojo_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm
@@ -1,0 +1,8 @@
+FuchsiaBillsGrandpasHouse_h:
+	db HOUSE ; tileset
+	db FUCHSIA_BILLS_GRANDPAS_HOUSE_HEIGHT, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH ; dimensions (y, x)
+	dw FuchsiaBillsGrandpasHouse_Blocks ; blocks
+	dw FuchsiaBillsGrandpasHouse_TextPointers ; texts
+	dw FuchsiaBillsGrandpasHouse_Script ; scripts
+	db 0 ; connections
+	dw FuchsiaBillsGrandpasHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FuchsiaCity.asm
@@ -1,0 +1,11 @@
+FuchsiaCity_h:
+	db OVERWORLD ; tileset
+	db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x)
+	dw FuchsiaCity_Blocks ; blocks
+	dw FuchsiaCity_TextPointers ; texts
+	dw FuchsiaCity_Script ; scripts
+	db SOUTH | WEST | EAST ; connections
+	SOUTH_MAP_CONNECTION FUCHSIA_CITY, ROUTE_19, 5, 0, Route19_Blocks
+	WEST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_18, 4, 0, Route18_Blocks
+	EAST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_15, 4, 0, Route15_Blocks
+	dw FuchsiaCity_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FuchsiaGoodRodHouse.asm
@@ -1,0 +1,8 @@
+FuchsiaGoodRodHouse_h:
+	db SHIP ; tileset
+	db FUCHSIA_GOOD_ROD_HOUSE_HEIGHT, FUCHSIA_GOOD_ROD_HOUSE_WIDTH ; dimensions (y, x)
+	dw FuchsiaGoodRodHouse_Blocks ; blocks
+	dw FuchsiaGoodRodHouse_TextPointers ; texts
+	dw FuchsiaGoodRodHouse_Script ; scripts
+	db 0 ; connections
+	dw FuchsiaGoodRodHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FuchsiaGym.asm
@@ -1,0 +1,8 @@
+FuchsiaGym_h:
+	db GYM ; tileset
+	db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x)
+	dw FuchsiaGym_Blocks ; blocks
+	dw FuchsiaGym_TextPointers ; texts
+	dw FuchsiaGym_Script ; scripts
+	db 0 ; connections
+	dw FuchsiaGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FuchsiaMart.asm
@@ -1,0 +1,8 @@
+FuchsiaMart_h:
+	db MART ; tileset
+	db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x)
+	dw FuchsiaMart_Blocks ; blocks
+	dw FuchsiaMart_TextPointers ; texts
+	dw FuchsiaMart_Script ; scripts
+	db 0 ; connections
+	dw FuchsiaMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FuchsiaMeetingRoom.asm
@@ -1,0 +1,8 @@
+FuchsiaMeetingRoom_h:
+	db LAB ; tileset
+	db FUCHSIA_MEETING_ROOM_HEIGHT, FUCHSIA_MEETING_ROOM_WIDTH ; dimensions (y, x)
+	dw FuchsiaMeetingRoom_Blocks ; blocks
+	dw FuchsiaMeetingRoom_TextPointers ; texts
+	dw FuchsiaMeetingRoom_Script ; scripts
+	db 0 ; connections
+	dw FuchsiaMeetingRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/FuchsiaPokecenter.asm
@@ -1,0 +1,8 @@
+FuchsiaPokecenter_h:
+	db POKECENTER ; tileset
+	db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x)
+	dw FuchsiaPokecenter_Blocks ; blocks
+	dw FuchsiaPokecenter_TextPointers ; texts
+	dw FuchsiaPokecenter_Script ; scripts
+	db 0 ; connections
+	dw FuchsiaPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/GameCorner.asm
@@ -1,0 +1,8 @@
+GameCorner_h:
+	db LOBBY ; tileset
+	db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x)
+	dw GameCorner_Blocks ; blocks
+	dw GameCorner_TextPointers ; texts
+	dw GameCorner_Script ; scripts
+	db 0 ; connections
+	dw GameCorner_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/GameCornerPrizeRoom.asm
@@ -1,0 +1,8 @@
+GameCornerPrizeRoom_h:
+	db LOBBY ; tileset
+	db GAME_CORNER_PRIZE_ROOM_HEIGHT, GAME_CORNER_PRIZE_ROOM_WIDTH ; dimensions (y, x)
+	dw GameCornerPrizeRoom_Blocks ; blocks
+	dw GameCornerPrizeRoom_TextPointers ; texts
+	dw GameCornerPrizeRoom_Script ; scripts
+	db 0 ; connections
+	dw GameCornerPrizeRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/HallOfFame.asm
@@ -1,0 +1,8 @@
+HallOfFame_h:
+	db GYM ; tileset
+	db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x)
+	dw HallOfFame_Blocks ; blocks
+	dw HallOfFame_TextPointers ; texts
+	dw HallOfFame_Script ; scripts
+	db 0 ; connections
+	dw HallOfFame_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/IndigoPlateau.asm
@@ -1,0 +1,9 @@
+IndigoPlateau_h:
+	db PLATEAU ; tileset
+	db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x)
+	dw IndigoPlateau_Blocks ; blocks
+	dw IndigoPlateau_TextPointers ; texts
+	dw IndigoPlateau_Script ; scripts
+	db SOUTH ; connections
+	SOUTH_MAP_CONNECTION INDIGO_PLATEAU, ROUTE_23, 0, 0, Route23_Blocks
+	dw IndigoPlateau_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/IndigoPlateauLobby.asm
@@ -1,0 +1,8 @@
+IndigoPlateauLobby_h:
+	db MART ; tileset
+	db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x)
+	dw IndigoPlateauLobby_Blocks ; blocks
+	dw IndigoPlateauLobby_TextPointers ; texts
+	dw IndigoPlateauLobby_Script ; scripts
+	db 0 ; connections
+	dw IndigoPlateauLobby_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/LancesRoom.asm
@@ -1,0 +1,8 @@
+LancesRoom_h:
+	db DOJO ; tileset
+	db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x)
+	dw LancesRoom_Blocks ; blocks
+	dw LancesRoom_TextPointers ; texts
+	dw LancesRoom_Script ; scripts
+	db 0 ; connections
+	dw LancesRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/LavenderCuboneHouse.asm
@@ -1,0 +1,8 @@
+LavenderCuboneHouse_h:
+	db HOUSE ; tileset
+	db LAVENDER_CUBONE_HOUSE_HEIGHT, LAVENDER_CUBONE_HOUSE_WIDTH ; dimensions (y, x)
+	dw LavenderCuboneHouse_Blocks ; blocks
+	dw LavenderCuboneHouse_TextPointers ; texts
+	dw LavenderCuboneHouse_Script ; scripts
+	db 0 ; connections
+	dw LavenderCuboneHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/LavenderMart.asm
@@ -1,0 +1,8 @@
+LavenderMart_h:
+	db MART ; tileset
+	db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x)
+	dw LavenderMart_Blocks ; blocks
+	dw LavenderMart_TextPointers ; texts
+	dw LavenderMart_Script ; scripts
+	db 0 ; connections
+	dw LavenderMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/LavenderPokecenter.asm
@@ -1,0 +1,8 @@
+LavenderPokecenter_h:
+	db POKECENTER ; tileset
+	db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x)
+	dw LavenderPokecenter_Blocks ; blocks
+	dw LavenderPokecenter_TextPointers ; texts
+	dw LavenderPokecenter_Script ; scripts
+	db 0 ; connections
+	dw LavenderPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/LavenderTown.asm
@@ -1,0 +1,11 @@
+LavenderTown_h:
+	db OVERWORLD ; tileset
+	db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x)
+	dw LavenderTown_Blocks ; blocks
+	dw LavenderTown_TextPointers ; texts
+	dw LavenderTown_Script ; scripts
+	db NORTH | SOUTH | WEST ; connections
+	NORTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_10, 0, 0, Route10_Blocks
+	SOUTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_12, 0, 0, Route12_Blocks, 1
+	WEST_MAP_CONNECTION LAVENDER_TOWN, ROUTE_8, 0, 0, Route8_Blocks
+	dw LavenderTown_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/LoreleisRoom.asm
@@ -1,0 +1,8 @@
+LoreleisRoom_h:
+	db GYM ; tileset
+	db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x)
+	dw LoreleisRoom_Blocks ; blocks
+	dw LoreleisRoom_TextPointers ; texts
+	dw LoreleisRoom_Script ; scripts
+	db 0 ; connections
+	dw LoreleisRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/MrFujisHouse.asm
@@ -1,0 +1,8 @@
+MrFujisHouse_h:
+	db HOUSE ; tileset
+	db MR_FUJIS_HOUSE_HEIGHT, MR_FUJIS_HOUSE_WIDTH ; dimensions (y, x)
+	dw MrFujisHouse_Blocks ; blocks
+	dw MrFujisHouse_TextPointers ; texts
+	dw MrFujisHouse_Script ; scripts
+	db 0 ; connections
+	dw MrFujisHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/MrPsychicsHouse.asm
@@ -1,0 +1,8 @@
+MrPsychicsHouse_h:
+	db HOUSE ; tileset
+	db MR_PSYCHICS_HOUSE_HEIGHT, MR_PSYCHICS_HOUSE_WIDTH ; dimensions (y, x)
+	dw MrPsychicsHouse_Blocks ; blocks
+	dw MrPsychicsHouse_TextPointers ; texts
+	dw MrPsychicsHouse_Script ; scripts
+	db 0 ; connections
+	dw MrPsychicsHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/MtMoon1F.asm
@@ -1,0 +1,8 @@
+MtMoon1F_h:
+	db CAVERN ; tileset
+	db MT_MOON_1F_HEIGHT, MT_MOON_1F_WIDTH ; dimensions (y, x)
+	dw MtMoon1F_Blocks ; blocks
+	dw MtMoon1F_TextPointers ; texts
+	dw MtMoon1F_Script ; scripts
+	db 0 ; connections
+	dw MtMoon1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/MtMoonB1F.asm
@@ -1,0 +1,8 @@
+MtMoonB1F_h:
+	db CAVERN ; tileset
+	db MT_MOON_B1F_HEIGHT, MT_MOON_B1F_WIDTH ; dimensions (y, x)
+	dw MtMoonB1F_Blocks ; blocks
+	dw MtMoonB1F_TextPointers ; texts
+	dw MtMoonB1F_Script ; scripts
+	db 0 ; connections
+	dw MtMoonB1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/MtMoonB2F.asm
@@ -1,0 +1,8 @@
+MtMoonB2F_h:
+	db CAVERN ; tileset
+	db MT_MOON_B2F_HEIGHT, MT_MOON_B2F_WIDTH ; dimensions (y, x)
+	dw MtMoonB2F_Blocks ; blocks
+	dw MtMoonB2F_TextPointers ; texts
+	dw MtMoonB2F_Script ; scripts
+	db 0 ; connections
+	dw MtMoonB2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/MtMoonPokecenter.asm
@@ -1,0 +1,8 @@
+MtMoonPokecenter_h:
+	db POKECENTER ; tileset
+	db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x)
+	dw MtMoonPokecenter_Blocks ; blocks
+	dw MtMoonPokecenter_TextPointers ; texts
+	dw MtMoonPokecenter_Script ; scripts
+	db 0 ; connections
+	dw MtMoonPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Museum1F.asm
@@ -1,0 +1,8 @@
+Museum1F_h:
+	db MUSEUM ; tileset
+	db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x)
+	dw Museum1F_Blocks ; blocks
+	dw Museum1F_TextPointers ; texts
+	dw Museum1F_Script ; scripts
+	db 0 ; connections
+	dw Museum1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Museum2F.asm
@@ -1,0 +1,8 @@
+Museum2F_h:
+	db MUSEUM ; tileset
+	db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x)
+	dw Museum2F_Blocks ; blocks
+	dw Museum2F_TextPointers ; texts
+	dw Museum2F_Script ; scripts
+	db 0 ; connections
+	dw Museum2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/NameRatersHouse.asm
@@ -1,0 +1,8 @@
+NameRatersHouse_h:
+	db HOUSE ; tileset
+	db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x)
+	dw NameRatersHouse_Blocks ; blocks
+	dw NameRatersHouse_TextPointers ; texts
+	dw NameRatersHouse_Script ; scripts
+	db 0 ; connections
+	dw NameRatersHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/OaksLab.asm
@@ -1,0 +1,8 @@
+OaksLab_h:
+	db DOJO ; tileset
+	db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x)
+	dw OaksLab_Blocks ; blocks
+	dw OaksLab_TextPointers ; texts
+	dw OaksLab_Script ; scripts
+	db 0 ; connections
+	dw OaksLab_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PalletTown.asm
@@ -1,0 +1,10 @@
+PalletTown_h:
+	db OVERWORLD ; tileset
+	db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions (y, x)
+	dw PalletTown_Blocks ; blocks
+	dw PalletTown_TextPointers ; texts
+	dw PalletTown_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION PALLET_TOWN, ROUTE_1, 0, 0, Route1_Blocks
+	SOUTH_MAP_CONNECTION PALLET_TOWN, ROUTE_21, 0, 0, Route21_Blocks, 1
+	dw PalletTown_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PewterCity.asm
@@ -1,0 +1,10 @@
+PewterCity_h:
+	db OVERWORLD ; tileset
+	db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x)
+	dw PewterCity_Blocks ; blocks
+	dw PewterCity_TextPointers ; texts
+	dw PewterCity_Script ; scripts
+	db SOUTH | EAST ; connections
+	SOUTH_MAP_CONNECTION PEWTER_CITY, ROUTE_2, 5, 0, Route2_Blocks
+	EAST_MAP_CONNECTION PEWTER_CITY, ROUTE_3, 4, 0, Route3_Blocks
+	dw PewterCity_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PewterGym.asm
@@ -1,0 +1,8 @@
+PewterGym_h:
+	db GYM ; tileset
+	db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x)
+	dw PewterGym_Blocks ; blocks
+	dw PewterGym_TextPointers ; texts
+	dw PewterGym_Script ; scripts
+	db 0 ; connections
+	dw PewterGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PewterMart.asm
@@ -1,0 +1,8 @@
+PewterMart_h:
+	db MART ; tileset
+	db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x)
+	dw PewterMart_Blocks ; blocks
+	dw PewterMart_TextPointers ; texts
+	dw PewterMart_Script ; scripts
+	db 0 ; connections
+	dw PewterMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PewterNidoranHouse.asm
@@ -1,0 +1,8 @@
+PewterNidoranHouse_h:
+	db HOUSE ; tileset
+	db PEWTER_NIDORAN_HOUSE_HEIGHT, PEWTER_NIDORAN_HOUSE_WIDTH ; dimensions (y, x)
+	dw PewterNidoranHouse_Blocks ; blocks
+	dw PewterNidoranHouse_TextPointers ; texts
+	dw PewterNidoranHouse_Script ; scripts
+	db 0 ; connections
+	dw PewterNidoranHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PewterPokecenter.asm
@@ -1,0 +1,8 @@
+PewterPokecenter_h:
+	db POKECENTER ; tileset
+	db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x)
+	dw PewterPokecenter_Blocks ; blocks
+	dw PewterPokecenter_TextPointers ; texts
+	dw PewterPokecenter_Script ; scripts
+	db 0 ; connections
+	dw PewterPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PewterSpeechHouse.asm
@@ -1,0 +1,8 @@
+PewterSpeechHouse_h:
+	db HOUSE ; tileset
+	db PEWTER_SPEECH_HOUSE_HEIGHT, PEWTER_SPEECH_HOUSE_WIDTH ; dimensions (y, x)
+	dw PewterSpeechHouse_Blocks ; blocks
+	dw PewterSpeechHouse_TextPointers ; texts
+	dw PewterSpeechHouse_Script ; scripts
+	db 0 ; connections
+	dw PewterSpeechHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonFanClub.asm
@@ -1,0 +1,8 @@
+PokemonFanClub_h:
+	db INTERIOR ; tileset
+	db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x)
+	dw PokemonFanClub_Blocks ; blocks
+	dw PokemonFanClub_TextPointers ; texts
+	dw PokemonFanClub_Script ; scripts
+	db 0 ; connections
+	dw PokemonFanClub_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonMansion1F.asm
@@ -1,0 +1,8 @@
+PokemonMansion1F_h:
+	db FACILITY ; tileset
+	db POKEMON_MANSION_1F_HEIGHT, POKEMON_MANSION_1F_WIDTH ; dimensions (y, x)
+	dw PokemonMansion1F_Blocks ; blocks
+	dw PokemonMansion1F_TextPointers ; texts
+	dw PokemonMansion1F_Script ; scripts
+	db 0 ; connections
+	dw PokemonMansion1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonMansion2F.asm
@@ -1,0 +1,8 @@
+PokemonMansion2F_h:
+	db FACILITY ; tileset
+	db POKEMON_MANSION_2F_HEIGHT, POKEMON_MANSION_2F_WIDTH ; dimensions (y, x)
+	dw PokemonMansion2F_Blocks ; blocks
+	dw PokemonMansion2F_TextPointers ; texts
+	dw PokemonMansion2F_Script ; scripts
+	db 0 ; connections
+	dw PokemonMansion2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonMansion3F.asm
@@ -1,0 +1,8 @@
+PokemonMansion3F_h:
+	db FACILITY ; tileset
+	db POKEMON_MANSION_3F_HEIGHT, POKEMON_MANSION_3F_WIDTH ; dimensions (y, x)
+	dw PokemonMansion3F_Blocks ; blocks
+	dw PokemonMansion3F_TextPointers ; texts
+	dw PokemonMansion3F_Script ; scripts
+	db 0 ; connections
+	dw PokemonMansion3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonMansionB1F.asm
@@ -1,0 +1,8 @@
+PokemonMansionB1F_h:
+	db FACILITY ; tileset
+	db POKEMON_MANSION_B1F_HEIGHT, POKEMON_MANSION_B1F_WIDTH ; dimensions (y, x)
+	dw PokemonMansionB1F_Blocks ; blocks
+	dw PokemonMansionB1F_TextPointers ; texts
+	dw PokemonMansionB1F_Script ; scripts
+	db 0 ; connections
+	dw PokemonMansionB1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonTower1F.asm
@@ -1,0 +1,8 @@
+PokemonTower1F_h:
+	db CEMETERY ; tileset
+	db POKEMON_TOWER_1F_HEIGHT, POKEMON_TOWER_1F_WIDTH ; dimensions (y, x)
+	dw PokemonTower1F_Blocks ; blocks
+	dw PokemonTower1F_TextPointers ; texts
+	dw PokemonTower1F_Script ; scripts
+	db 0 ; connections
+	dw PokemonTower1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonTower2F.asm
@@ -1,0 +1,8 @@
+PokemonTower2F_h:
+	db CEMETERY ; tileset
+	db POKEMON_TOWER_2F_HEIGHT, POKEMON_TOWER_2F_WIDTH ; dimensions (y, x)
+	dw PokemonTower2F_Blocks ; blocks
+	dw PokemonTower2F_TextPointers ; texts
+	dw PokemonTower2F_Script ; scripts
+	db 0 ; connections
+	dw PokemonTower2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonTower3F.asm
@@ -1,0 +1,8 @@
+PokemonTower3F_h:
+	db CEMETERY ; tileset
+	db POKEMON_TOWER_3F_HEIGHT, POKEMON_TOWER_3F_WIDTH ; dimensions (y, x)
+	dw PokemonTower3F_Blocks ; blocks
+	dw PokemonTower3F_TextPointers ; texts
+	dw PokemonTower3F_Script ; scripts
+	db 0 ; connections
+	dw PokemonTower3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonTower4F.asm
@@ -1,0 +1,8 @@
+PokemonTower4F_h:
+	db CEMETERY ; tileset
+	db POKEMON_TOWER_4F_HEIGHT, POKEMON_TOWER_4F_WIDTH ; dimensions (y, x)
+	dw PokemonTower4F_Blocks ; blocks
+	dw PokemonTower4F_TextPointers ; texts
+	dw PokemonTower4F_Script ; scripts
+	db 0 ; connections
+	dw PokemonTower4F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonTower5F.asm
@@ -1,0 +1,8 @@
+PokemonTower5F_h:
+	db CEMETERY ; tileset
+	db POKEMON_TOWER_5F_HEIGHT, POKEMON_TOWER_5F_WIDTH ; dimensions (y, x)
+	dw PokemonTower5F_Blocks ; blocks
+	dw PokemonTower5F_TextPointers ; texts
+	dw PokemonTower5F_Script ; scripts
+	db 0 ; connections
+	dw PokemonTower5F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonTower6F.asm
@@ -1,0 +1,8 @@
+PokemonTower6F_h:
+	db CEMETERY ; tileset
+	db POKEMON_TOWER_6F_HEIGHT, POKEMON_TOWER_6F_WIDTH ; dimensions (y, x)
+	dw PokemonTower6F_Blocks ; blocks
+	dw PokemonTower6F_TextPointers ; texts
+	dw PokemonTower6F_Script ; scripts
+	db 0 ; connections
+	dw PokemonTower6F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PokemonTower7F.asm
@@ -1,0 +1,8 @@
+PokemonTower7F_h:
+	db CEMETERY ; tileset
+	db POKEMON_TOWER_7F_HEIGHT, POKEMON_TOWER_7F_WIDTH ; dimensions (y, x)
+	dw PokemonTower7F_Blocks ; blocks
+	dw PokemonTower7F_TextPointers ; texts
+	dw PokemonTower7F_Script ; scripts
+	db 0 ; connections
+	dw PokemonTower7F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/PowerPlant.asm
@@ -1,0 +1,8 @@
+PowerPlant_h:
+	db FACILITY ; tileset
+	db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x)
+	dw PowerPlant_Blocks ; blocks
+	dw PowerPlant_TextPointers ; texts
+	dw PowerPlant_Script ; scripts
+	db 0 ; connections
+	dw PowerPlant_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RedsHouse1F.asm
@@ -1,0 +1,8 @@
+RedsHouse1F_h:
+	db REDS_HOUSE_1 ; tileset
+	db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH ; dimensions (y, x)
+	dw RedsHouse1F_Blocks ; blocks
+	dw RedsHouse1F_TextPointers ; texts
+	dw RedsHouse1F_Script ; scripts
+	db 0 ; connections
+	dw RedsHouse1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RedsHouse2F.asm
@@ -1,0 +1,8 @@
+RedsHouse2F_h:
+	db REDS_HOUSE_2 ; tileset
+	db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH ; dimensions (y, x)
+	dw RedsHouse2F_Blocks ; blocks
+	dw RedsHouse2F_TextPointers ; texts
+	dw RedsHouse2F_Script ; scripts
+	db $00 ; connections
+	dw RedsHouse2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RockTunnel1F.asm
@@ -1,0 +1,8 @@
+RockTunnel1F_h:
+	db CAVERN ; tileset
+	db ROCK_TUNNEL_1F_HEIGHT, ROCK_TUNNEL_1F_WIDTH ; dimensions (y, x)
+	dw RockTunnel1F_Blocks ; blocks
+	dw RockTunnel1F_TextPointers ; texts
+	dw RockTunnel1F_Script ; scripts
+	db 0 ; connections
+	dw RockTunnel1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RockTunnelB1F.asm
@@ -1,0 +1,8 @@
+RockTunnelB1F_h:
+	db CAVERN ; tileset
+	db ROCK_TUNNEL_B1F_HEIGHT, ROCK_TUNNEL_B1F_WIDTH ; dimensions (y, x)
+	dw RockTunnelB1F_Blocks ; blocks
+	dw RockTunnelB1F_TextPointers ; texts
+	dw RockTunnelB1F_Script ; scripts
+	db 0 ; connections
+	dw RockTunnelB1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RockTunnelPokecenter.asm
@@ -1,0 +1,8 @@
+RockTunnelPokecenter_h:
+	db POKECENTER ; tileset
+	db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x)
+	dw RockTunnelPokecenter_Blocks ; blocks
+	dw RockTunnelPokecenter_TextPointers ; texts
+	dw RockTunnelPokecenter_Script ; scripts
+	db 0 ; connections
+	dw RockTunnelPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RocketHideoutB1F.asm
@@ -1,0 +1,8 @@
+RocketHideoutB1F_h:
+	db FACILITY ; tileset
+	db ROCKET_HIDEOUT_B1F_HEIGHT, ROCKET_HIDEOUT_B1F_WIDTH ; dimensions (y, x)
+	dw RocketHideoutB1F_Blocks ; blocks
+	dw RocketHideoutB1F_TextPointers ; texts
+	dw RocketHideoutB1F_Script ; scripts
+	db 0 ; connections
+	dw RocketHideoutB1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RocketHideoutB2F.asm
@@ -1,0 +1,8 @@
+RocketHideoutB2F_h:
+	db FACILITY ; tileset
+	db ROCKET_HIDEOUT_B2F_HEIGHT, ROCKET_HIDEOUT_B2F_WIDTH ; dimensions (y, x)
+	dw RocketHideoutB2F_Blocks ; blocks
+	dw RocketHideoutB2F_TextPointers ; texts
+	dw RocketHideoutB2F_Script ; scripts
+	db 0 ; connections
+	dw RocketHideoutB2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RocketHideoutB3F.asm
@@ -1,0 +1,8 @@
+RocketHideoutB3F_h:
+	db FACILITY ; tileset
+	db ROCKET_HIDEOUT_B3F_HEIGHT, ROCKET_HIDEOUT_B3F_WIDTH ; dimensions (y, x)
+	dw RocketHideoutB3F_Blocks ; blocks
+	dw RocketHideoutB3F_TextPointers ; texts
+	dw RocketHideoutB3F_Script ; scripts
+	db 0 ; connections
+	dw RocketHideoutB3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RocketHideoutB4F.asm
@@ -1,0 +1,8 @@
+RocketHideoutB4F_h:
+	db FACILITY ; tileset
+	db ROCKET_HIDEOUT_B4F_HEIGHT, ROCKET_HIDEOUT_B4F_WIDTH ; dimensions (y, x)
+	dw RocketHideoutB4F_Blocks ; blocks
+	dw RocketHideoutB4F_TextPointers ; texts
+	dw RocketHideoutB4F_Script ; scripts
+	db 0 ; connections
+	dw RocketHideoutB4F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/RocketHideoutElevator.asm
@@ -1,0 +1,8 @@
+RocketHideoutElevator_h:
+	db LOBBY ; tileset
+	db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x)
+	dw RocketHideoutElevator_Blocks ; blocks
+	dw RocketHideoutElevator_TextPointers ; texts
+	dw RocketHideoutElevator_Script ; scripts
+	db 0 ; connections
+	dw RocketHideoutElevator_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route1.asm
@@ -1,0 +1,10 @@
+Route1_h:
+	db OVERWORLD ; tileset
+	db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x)
+	dw Route1_Blocks ; blocks
+	dw Route1_TextPointers ; texts
+	dw Route1_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION ROUTE_1, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_1, PALLET_TOWN, 0, 0, PalletTown_Blocks, 1
+	dw Route1_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route10.asm
@@ -1,0 +1,10 @@
+Route10_h:
+	db OVERWORLD ; tileset
+	db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x)
+	dw Route10_Blocks ; blocks
+	dw Route10_TextPointers ; texts
+	dw Route10_Script ; scripts
+	db SOUTH | WEST ; connections
+	SOUTH_MAP_CONNECTION ROUTE_10, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks
+	WEST_MAP_CONNECTION ROUTE_10, ROUTE_9, 0, 0, Route9_Blocks
+	dw Route10_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route11.asm
@@ -1,0 +1,10 @@
+Route11_h:
+	db OVERWORLD ; tileset
+	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x)
+	dw Route11_Blocks ; blocks
+	dw Route11_TextPointers ; texts
+	dw Route11_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION ROUTE_11, VERMILION_CITY, -3, 1, VermilionCity_Blocks
+	EAST_MAP_CONNECTION ROUTE_11, ROUTE_12, -3, 24, Route12_Blocks, 1
+	dw Route11_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route11Gate1F.asm
@@ -1,0 +1,8 @@
+Route11Gate1F_h:
+	db GATE ; tileset
+	db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route11Gate1F_Blocks ; blocks
+	dw Route11Gate1F_TextPointers ; texts
+	dw Route11Gate1F_Script ; scripts
+	db 0 ; connections
+	dw Route11Gate1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route11Gate2F.asm
@@ -1,0 +1,8 @@
+Route11Gate2F_h:
+	db GATE ; tileset
+	db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route11Gate2F_Blocks ; blocks
+	dw Route11Gate2F_TextPointers ; texts
+	dw Route11Gate2F_Script ; scripts
+	db 0 ; connections
+	dw Route11Gate2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route12.asm
@@ -1,0 +1,11 @@
+Route12_h:
+	db OVERWORLD ; tileset
+	db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x)
+	dw Route12_Blocks ; blocks
+	dw Route12_TextPointers ; texts
+	dw Route12_Script ; scripts
+	db NORTH | SOUTH | WEST ; connections
+	NORTH_MAP_CONNECTION ROUTE_12, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_12, ROUTE_13, -3, 17, Route13_Blocks
+	WEST_MAP_CONNECTION ROUTE_12, ROUTE_11, 27, 0, Route11_Blocks
+	dw Route12_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route12Gate1F.asm
@@ -1,0 +1,8 @@
+Route12Gate1F_h:
+	db GATE ; tileset
+	db ROUTE_12_GATE_1F_HEIGHT, ROUTE_12_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route12Gate1F_Blocks ; blocks
+	dw Route12Gate1F_TextPointers ; texts
+	dw Route12Gate1F_Script ; scripts
+	db 0 ; connections
+	dw Route12Gate1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route12Gate2F.asm
@@ -1,0 +1,8 @@
+Route12Gate2F_h:
+	db GATE ; tileset
+	db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route12Gate2F_Blocks ; blocks
+	dw Route12Gate2F_TextPointers ; texts
+	dw Route12Gate2F_Script ; scripts
+	db 0 ; connections
+	dw Route12Gate2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route12SuperRodHouse.asm
@@ -1,0 +1,8 @@
+Route12SuperRodHouse_h:
+	db HOUSE ; tileset
+	db ROUTE_12_SUPER_ROD_HOUSE_HEIGHT, ROUTE_12_SUPER_ROD_HOUSE_WIDTH ; dimensions (y, x)
+	dw Route12SuperRodHouse_Blocks ; blocks
+	dw Route12SuperRodHouse_TextPointers ; texts
+	dw Route12SuperRodHouse_Script ; scripts
+	db 0 ; connections
+	dw Route12SuperRodHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route13.asm
@@ -1,0 +1,10 @@
+Route13_h:
+	db OVERWORLD ; tileset
+	db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x)
+	dw Route13_Blocks ; blocks
+	dw Route13_TextPointers ; texts
+	dw Route13_Script ; scripts
+	db NORTH | WEST ; connections
+	NORTH_MAP_CONNECTION ROUTE_13, ROUTE_12, 20, 0, Route12_Blocks
+	WEST_MAP_CONNECTION ROUTE_13, ROUTE_14, 0, 0, Route14_Blocks
+	dw Route13_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route14.asm
@@ -1,0 +1,10 @@
+Route14_h:
+	db OVERWORLD ; tileset
+	db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x)
+	dw Route14_Blocks ; blocks
+	dw Route14_TextPointers ; texts
+	dw Route14_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION ROUTE_14, ROUTE_15, 18, 0, Route15_Blocks
+	EAST_MAP_CONNECTION ROUTE_14, ROUTE_13, 0, 0, Route13_Blocks
+	dw Route14_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route15.asm
@@ -1,0 +1,10 @@
+Route15_h:
+	db OVERWORLD ; tileset
+	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x)
+	dw Route15_Blocks ; blocks
+	dw Route15_TextPointers ; texts
+	dw Route15_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION ROUTE_15, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks
+	EAST_MAP_CONNECTION ROUTE_15, ROUTE_14, -3, 15, Route14_Blocks
+	dw Route15_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route15Gate1F.asm
@@ -1,0 +1,8 @@
+Route15Gate1F_h:
+	db GATE ; tileset
+	db ROUTE_15_GATE_1F_HEIGHT, ROUTE_15_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route15Gate1F_Blocks ; blocks
+	dw Route15Gate1F_TextPointers ; texts
+	dw Route15Gate1F_Script ; scripts
+	db 0 ; connections
+	dw Route15Gate1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route15Gate2F.asm
@@ -1,0 +1,8 @@
+Route15Gate2F_h:
+	db GATE ; tileset
+	db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route15Gate2F_Blocks ; blocks
+	dw Route15Gate2F_TextPointers ; texts
+	dw Route15Gate2F_Script ; scripts
+	db 0 ; connections
+	dw Route15Gate2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route16.asm
@@ -1,0 +1,10 @@
+Route16_h:
+	db OVERWORLD ; tileset
+	db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x)
+	dw Route16_Blocks ; blocks
+	dw Route16_TextPointers ; texts
+	dw Route16_Script ; scripts
+	db SOUTH | EAST ; connections
+	SOUTH_MAP_CONNECTION ROUTE_16, ROUTE_17, 0, 0, Route17_Blocks
+	EAST_MAP_CONNECTION ROUTE_16, CELADON_CITY, -3, 1, CeladonCity_Blocks, 1
+	dw Route16_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route16FlyHouse.asm
@@ -1,0 +1,8 @@
+Route16FlyHouse_h:
+	db HOUSE ; tileset
+	db ROUTE_16_FLY_HOUSE_HEIGHT, ROUTE_16_FLY_HOUSE_WIDTH ; dimensions (y, x)
+	dw Route16FlyHouse_Blocks ; blocks
+	dw Route16FlyHouse_TextPointers ; texts
+	dw Route16FlyHouse_Script ; scripts
+	db 0 ; connections
+	dw Route16FlyHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route16Gate1F.asm
@@ -1,0 +1,8 @@
+Route16Gate1F_h:
+	db GATE ; tileset
+	db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route16Gate1F_Blocks ; blocks
+	dw Route16Gate1F_TextPointers ; texts
+	dw Route16Gate1F_Script ; scripts
+	db 0 ; connections
+	dw Route16Gate1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route16Gate2F.asm
@@ -1,0 +1,8 @@
+Route16Gate2F_h:
+	db GATE ; tileset
+	db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route16Gate2F_Blocks ; blocks
+	dw Route16Gate2F_TextPointers ; texts
+	dw Route16Gate2F_Script ; scripts
+	db 0 ; connections
+	dw Route16Gate2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route17.asm
@@ -1,0 +1,10 @@
+Route17_h:
+	db OVERWORLD ; tileset
+	db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x)
+	dw Route17_Blocks ; blocks
+	dw Route17_TextPointers ; texts
+	dw Route17_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION ROUTE_17, ROUTE_16, 0, 0, Route16_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_17, ROUTE_18, 0, 0, Route18_Blocks, 1
+	dw Route17_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route18.asm
@@ -1,0 +1,10 @@
+Route18_h:
+	db OVERWORLD ; tileset
+	db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x)
+	dw Route18_Blocks ; blocks
+	dw Route18_TextPointers ; texts
+	dw Route18_Script ; scripts
+	db NORTH | EAST ; connections
+	NORTH_MAP_CONNECTION ROUTE_18, ROUTE_17, 0, 0, Route17_Blocks
+	EAST_MAP_CONNECTION ROUTE_18, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks, 1
+	dw Route18_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route18Gate1F.asm
@@ -1,0 +1,8 @@
+Route18Gate1F_h:
+	db GATE ; tileset
+	db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x)
+	dw Route18Gate1F_Blocks ; blocks
+	dw Route18Gate1F_TextPointers ; texts
+	dw Route18Gate1F_Script ; scripts
+	db 0 ; connections
+	dw Route18Gate1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route18Gate2F.asm
@@ -1,0 +1,8 @@
+Route18Gate2F_h:
+	db GATE ; tileset
+	db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x)
+	dw Route18Gate2F_Blocks ; blocks
+	dw Route18Gate2F_TextPointers ; texts
+	dw Route18Gate2F_Script ; scripts
+	db 0 ; connections
+	dw Route18Gate2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route19.asm
@@ -1,0 +1,10 @@
+Route19_h:
+	db OVERWORLD ; tileset
+	db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x)
+	dw Route19_Blocks ; blocks
+	dw Route19_TextPointers ; texts
+	dw Route19_Script ; scripts
+	db NORTH | WEST ; connections
+	NORTH_MAP_CONNECTION ROUTE_19, FUCHSIA_CITY, -3, 2, FuchsiaCity_Blocks
+	WEST_MAP_CONNECTION ROUTE_19, ROUTE_20, 18, 0, Route20_Blocks
+	dw Route19_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route2.asm
@@ -1,0 +1,10 @@
+Route2_h:
+	db OVERWORLD ; tileset
+	db ROUTE_2_HEIGHT, ROUTE_2_WIDTH ; dimensions (y, x)
+	dw Route2_Blocks ; blocks
+	dw Route2_TextPointers ; texts
+	dw Route2_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION ROUTE_2, PEWTER_CITY, -3, 2, PewterCity_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_2, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks, 1
+	dw Route2_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route20.asm
@@ -1,0 +1,10 @@
+Route20_h:
+	db OVERWORLD ; tileset
+	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x)
+	dw Route20_Blocks ; blocks
+	dw Route20_TextPointers ; texts
+	dw Route20_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION ROUTE_20, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks
+	EAST_MAP_CONNECTION ROUTE_20, ROUTE_19, -3, 15, Route19_Blocks
+	dw Route20_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route21.asm
@@ -1,0 +1,10 @@
+Route21_h:
+	db OVERWORLD ; tileset
+	db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x)
+	dw Route21_Blocks ; blocks
+	dw Route21_TextPointers ; texts
+	dw Route21_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION ROUTE_21, PALLET_TOWN, 0, 0, PalletTown_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_21, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks, 1
+	dw Route21_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route22.asm
@@ -1,0 +1,10 @@
+Route22_h:
+	db OVERWORLD ; tileset
+	db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x)
+	dw Route22_Blocks ; blocks
+	dw Route22_TextPointers ; texts
+	dw Route22_Script ; scripts
+	db NORTH | EAST ; connections
+	NORTH_MAP_CONNECTION ROUTE_22, ROUTE_23, 0, 0, Route23_Blocks
+	EAST_MAP_CONNECTION ROUTE_22, VIRIDIAN_CITY, -3, 1, ViridianCity_Blocks, 1
+	dw Route22_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route22Gate.asm
@@ -1,0 +1,8 @@
+Route22Gate_h:
+	db GATE ; tileset
+	db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x)
+	dw Route22Gate_Blocks ; blocks
+	dw Route22Gate_TextPointers ; texts
+	dw Route22Gate_Script ; scripts
+	db 0 ; connections
+	dw Route22Gate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route23.asm
@@ -1,0 +1,10 @@
+Route23_h:
+	db PLATEAU ; tileset
+	db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x)
+	dw Route23_Blocks ; blocks
+	dw Route23_TextPointers ; texts
+	dw Route23_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION ROUTE_23, INDIGO_PLATEAU, 0, 0, IndigoPlateau_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_23, ROUTE_22, 0, 0, Route22_Blocks, 1
+	dw Route23_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route24.asm
@@ -1,0 +1,10 @@
+Route24_h:
+	db OVERWORLD ; tileset
+	db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x)
+	dw Route24_Blocks ; blocks
+	dw Route24_TextPointers ; texts
+	dw Route24_Script ; scripts
+	db SOUTH | EAST ; connections
+	SOUTH_MAP_CONNECTION ROUTE_24, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks, 1
+	EAST_MAP_CONNECTION ROUTE_24, ROUTE_25, 0, 0, Route25_Blocks
+	dw Route24_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route25.asm
@@ -1,0 +1,9 @@
+Route25_h:
+	db OVERWORLD ; tileset
+	db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x)
+	dw Route25_Blocks ; blocks
+	dw Route25_TextPointers ; texts
+	dw Route25_Script ; scripts
+	db WEST ; connections
+	WEST_MAP_CONNECTION ROUTE_25, ROUTE_24, 0, 0, Route24_Blocks
+	dw Route25_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route2Gate.asm
@@ -1,0 +1,8 @@
+Route2Gate_h:
+	db GATE ; tileset
+	db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x)
+	dw Route2Gate_Blocks ; blocks
+	dw Route2Gate_TextPointers ; texts
+	dw Route2Gate_Script ; scripts
+	db 0 ; connections
+	dw Route2Gate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route2TradeHouse.asm
@@ -1,0 +1,8 @@
+Route2TradeHouse_h:
+	db HOUSE ; tileset
+	db ROUTE_2_TRADE_HOUSE_HEIGHT, ROUTE_2_TRADE_HOUSE_WIDTH ; dimensions (y, x)
+	dw Route2TradeHouse_Blocks ; blocks
+	dw Route2TradeHouse_TextPointers ; texts
+	dw Route2TradeHouse_Script ; scripts
+	db 0 ; connections
+	dw Route2TradeHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route3.asm
@@ -1,0 +1,10 @@
+Route3_h:
+	db OVERWORLD ; tileset
+	db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x)
+	dw Route3_Blocks ; blocks
+	dw Route3_TextPointers ; texts
+	dw Route3_Script ; scripts
+	db NORTH | WEST ; connections
+	NORTH_MAP_CONNECTION ROUTE_3, ROUTE_4, 25, 0, Route4_Blocks
+	WEST_MAP_CONNECTION ROUTE_3, PEWTER_CITY, -3, 1, PewterCity_Blocks
+	dw Route3_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route4.asm
@@ -1,0 +1,10 @@
+Route4_h:
+	db OVERWORLD ; tileset
+	db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x)
+	dw Route4_Blocks ; blocks
+	dw Route4_TextPointers ; texts
+	dw Route4_Script ; scripts
+	db SOUTH | EAST ; connections
+	SOUTH_MAP_CONNECTION ROUTE_4, ROUTE_3, -3, 22, Route3_Blocks
+	EAST_MAP_CONNECTION ROUTE_4, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks, 1
+	dw Route4_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route5.asm
@@ -1,0 +1,10 @@
+Route5_h:
+	db OVERWORLD ; tileset
+	db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x)
+	dw Route5_Blocks ; blocks
+	dw Route5_TextPointers ; texts
+	dw Route5_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION ROUTE_5, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_5, SAFFRON_CITY, -3, 2, SaffronCity_Blocks, 1
+	dw Route5_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route5Gate.asm
@@ -1,0 +1,8 @@
+Route5Gate_h:
+	db GATE ; tileset
+	db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x)
+	dw Route5Gate_Blocks ; blocks
+	dw Route5Gate_TextPointers ; texts
+	dw Route5Gate_Script ; scripts
+	db 0 ; connections
+	dw Route5Gate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route6.asm
@@ -1,0 +1,10 @@
+Route6_h:
+	db OVERWORLD ; tileset
+	db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x)
+	dw Route6_Blocks ; blocks
+	dw Route6_TextPointers ; texts
+	dw Route6_Script ; scripts
+	db NORTH | SOUTH ; connections
+	NORTH_MAP_CONNECTION ROUTE_6, SAFFRON_CITY, -3, 2, SaffronCity_Blocks
+	SOUTH_MAP_CONNECTION ROUTE_6, VERMILION_CITY, -3, 2, VermilionCity_Blocks, 1
+	dw Route6_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route6Gate.asm
@@ -1,0 +1,8 @@
+Route6Gate_h:
+	db GATE ; tileset
+	db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x)
+	dw Route6Gate_Blocks ; blocks
+	dw Route6Gate_TextPointers ; texts
+	dw Route6Gate_Script ; scripts
+	db 0 ; connections
+	dw Route6Gate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route7.asm
@@ -1,0 +1,10 @@
+Route7_h:
+	db OVERWORLD ; tileset
+	db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x)
+	dw Route7_Blocks ; blocks
+	dw Route7_TextPointers ; texts
+	dw Route7_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION ROUTE_7, CELADON_CITY, -3, 1, CeladonCity_Blocks
+	EAST_MAP_CONNECTION ROUTE_7, SAFFRON_CITY, -3, 1, SaffronCity_Blocks, 1
+	dw Route7_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route7Gate.asm
@@ -1,0 +1,8 @@
+Route7Gate_h:
+	db GATE ; tileset
+	db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x)
+	dw Route7Gate_Blocks ; blocks
+	dw Route7Gate_TextPointers ; texts
+	dw Route7Gate_Script ; scripts
+	db 0 ; connections
+	dw Route7Gate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route8.asm
@@ -1,0 +1,10 @@
+Route8_h:
+	db OVERWORLD ; tileset
+	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x)
+	dw Route8_Blocks ; blocks
+	dw Route8_TextPointers ; texts
+	dw Route8_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION ROUTE_8, SAFFRON_CITY, -3, 1, SaffronCity_Blocks
+	EAST_MAP_CONNECTION ROUTE_8, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks
+	dw Route8_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route8Gate.asm
@@ -1,0 +1,8 @@
+Route8Gate_h:
+	db GATE ; tileset
+	db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x)
+	dw Route8Gate_Blocks ; blocks
+	dw Route8Gate_TextPointers ; texts
+	dw Route8Gate_Script ; scripts
+	db 0 ; connections
+	dw Route8Gate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/Route9.asm
@@ -1,0 +1,10 @@
+Route9_h:
+	db OVERWORLD ; tileset
+	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x)
+	dw Route9_Blocks ; blocks
+	dw Route9_TextPointers ; texts
+	dw Route9_Script ; scripts
+	db WEST | EAST ; connections
+	WEST_MAP_CONNECTION ROUTE_9, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks
+	EAST_MAP_CONNECTION ROUTE_9, ROUTE_10, 0, 0, Route10_Blocks, 1
+	dw Route9_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnne1F.asm
@@ -1,0 +1,8 @@
+SSAnne1F_h:
+	db SHIP ; tileset
+	db SS_ANNE_1F_HEIGHT, SS_ANNE_1F_WIDTH ; dimensions (y, x)
+	dw SSAnne1F_Blocks ; blocks
+	dw SSAnne1F_TextPointers ; texts
+	dw SSAnne1F_Script ; scripts
+	db 0 ; connections
+	dw SSAnne1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnne1FRooms.asm
@@ -1,0 +1,8 @@
+SSAnne1FRooms_h:
+	db SHIP ; tileset
+	db SS_ANNE_1F_ROOMS_HEIGHT, SS_ANNE_1F_ROOMS_WIDTH ; dimensions (y, x)
+	dw SSAnne1FRooms_Blocks ; blocks
+	dw SSAnne1FRooms_TextPointers ; texts
+	dw SSAnne1FRooms_Script ; scripts
+	db 0 ; connections
+	dw SSAnne1FRooms_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnne2F.asm
@@ -1,0 +1,8 @@
+SSAnne2F_h:
+	db SHIP ; tileset
+	db SS_ANNE_2F_HEIGHT, SS_ANNE_2F_WIDTH ; dimensions (y, x)
+	dw SSAnne2F_Blocks ; blocks
+	dw SSAnne2F_TextPointers ; texts
+	dw SSAnne2F_Script ; scripts
+	db 0 ; connections
+	dw SSAnne2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnne2FRooms.asm
@@ -1,0 +1,8 @@
+SSAnne2FRooms_h:
+	db SHIP ; tileset
+	db SS_ANNE_2F_ROOMS_HEIGHT, SS_ANNE_2F_ROOMS_WIDTH ; dimensions (y, x)
+	dw SSAnne2FRooms_Blocks ; blocks
+	dw SSAnne2FRooms_TextPointers ; texts
+	dw SSAnne2FRooms_Script ; scripts
+	db 0 ; connections
+	dw SSAnne2FRooms_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnne3F.asm
@@ -1,0 +1,8 @@
+SSAnne3F_h:
+	db SHIP ; tileset
+	db SS_ANNE_3F_HEIGHT, SS_ANNE_3F_WIDTH ; dimensions (y, x)
+	dw SSAnne3F_Blocks ; blocks
+	dw SSAnne3F_TextPointers ; texts
+	dw SSAnne3F_Script ; scripts
+	db 0 ; connections
+	dw SSAnne3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnneB1F.asm
@@ -1,0 +1,8 @@
+SSAnneB1F_h:
+	db SHIP ; tileset
+	db SS_ANNE_B1F_HEIGHT, SS_ANNE_B1F_WIDTH ; dimensions (y, x)
+	dw SSAnneB1F_Blocks ; blocks
+	dw SSAnneB1F_TextPointers ; texts
+	dw SSAnneB1F_Script ; scripts
+	db 0 ; connections
+	dw SSAnneB1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnneB1FRooms.asm
@@ -1,0 +1,8 @@
+SSAnneB1FRooms_h:
+	db SHIP ; tileset
+	db SS_ANNE_B1F_ROOMS_HEIGHT, SS_ANNE_B1F_ROOMS_WIDTH ; dimensions (y, x)
+	dw SSAnneB1FRooms_Blocks ; blocks
+	dw SSAnneB1FRooms_TextPointers ; texts
+	dw SSAnneB1FRooms_Script ; scripts
+	db 0 ; connections
+	dw SSAnneB1FRooms_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnneBow.asm
@@ -1,0 +1,8 @@
+SSAnneBow_h:
+	db SHIP ; tileset
+	db SS_ANNE_BOW_HEIGHT, SS_ANNE_BOW_WIDTH ; dimensions (y, x)
+	dw SSAnneBow_Blocks ; blocks
+	dw SSAnneBow_TextPointers ; texts
+	dw SSAnneBow_Script ; scripts
+	db 0 ; connections
+	dw SSAnneBow_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnneCaptainsRoom.asm
@@ -1,0 +1,8 @@
+SSAnneCaptainsRoom_h:
+	db SHIP ; tileset
+	db SS_ANNE_CAPTAINS_ROOM_HEIGHT, SS_ANNE_CAPTAINS_ROOM_WIDTH ; dimensions (y, x)
+	dw SSAnneCaptainsRoom_Blocks ; blocks
+	dw SSAnneCaptainsRoom_TextPointers ; texts
+	dw SSAnneCaptainsRoom_Script ; scripts
+	db 0 ; connections
+	dw SSAnneCaptainsRoom_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SSAnneKitchen.asm
@@ -1,0 +1,8 @@
+SSAnneKitchen_h:
+	db SHIP ; tileset
+	db SS_ANNE_KITCHEN_HEIGHT, SS_ANNE_KITCHEN_WIDTH ; dimensions (y, x)
+	dw SSAnneKitchen_Blocks ; blocks
+	dw SSAnneKitchen_TextPointers ; texts
+	dw SSAnneKitchen_Script ; scripts
+	db 0 ; connections
+	dw SSAnneKitchen_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneCenter.asm
@@ -1,0 +1,8 @@
+SafariZoneCenter_h:
+	db FOREST ; tileset
+	db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x)
+	dw SafariZoneCenter_Blocks ; blocks
+	dw SafariZoneCenter_TextPointers ; texts
+	dw SafariZoneCenter_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneCenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneCenterRestHouse.asm
@@ -1,0 +1,8 @@
+SafariZoneCenterRestHouse_h:
+	db GATE ; tileset
+	db SAFARI_ZONE_CENTER_REST_HOUSE_HEIGHT, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; dimensions (y, x)
+	dw SafariZoneCenterRestHouse_Blocks ; blocks
+	dw SafariZoneCenterRestHouse_TextPointers ; texts
+	dw SafariZoneCenterRestHouse_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneCenterRestHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneEast.asm
@@ -1,0 +1,8 @@
+SafariZoneEast_h:
+	db FOREST ; tileset
+	db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x)
+	dw SafariZoneEast_Blocks ; blocks
+	dw SafariZoneEast_TextPointers ; texts
+	dw SafariZoneEast_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneEast_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneEastRestHouse.asm
@@ -1,0 +1,8 @@
+SafariZoneEastRestHouse_h:
+	db GATE ; tileset
+	db SAFARI_ZONE_EAST_REST_HOUSE_HEIGHT, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; dimensions (y, x)
+	dw SafariZoneEastRestHouse_Blocks ; blocks
+	dw SafariZoneEastRestHouse_TextPointers ; texts
+	dw SafariZoneEastRestHouse_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneEastRestHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneGate.asm
@@ -1,0 +1,8 @@
+SafariZoneGate_h:
+	db GATE ; tileset
+	db SAFARI_ZONE_GATE_HEIGHT, SAFARI_ZONE_GATE_WIDTH ; dimensions (y, x)
+	dw SafariZoneGate_Blocks ; blocks
+	dw SafariZoneGate_TextPointers ; texts
+	dw SafariZoneGate_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneGate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneNorth.asm
@@ -1,0 +1,8 @@
+SafariZoneNorth_h:
+	db FOREST ; tileset
+	db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x)
+	dw SafariZoneNorth_Blocks ; blocks
+	dw SafariZoneNorth_TextPointers ; texts
+	dw SafariZoneNorth_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneNorth_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneNorthRestHouse.asm
@@ -1,0 +1,8 @@
+SafariZoneNorthRestHouse_h:
+	db GATE ; tileset
+	db SAFARI_ZONE_NORTH_REST_HOUSE_HEIGHT, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; dimensions (y, x)
+	dw SafariZoneNorthRestHouse_Blocks ; blocks
+	dw SafariZoneNorthRestHouse_TextPointers ; texts
+	dw SafariZoneNorthRestHouse_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneNorthRestHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneSecretHouse.asm
@@ -1,0 +1,8 @@
+SafariZoneSecretHouse_h:
+	db LAB ; tileset
+	db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x)
+	dw SafariZoneSecretHouse_Blocks ; blocks
+	dw SafariZoneSecretHouse_TextPointers ; texts
+	dw SafariZoneSecretHouse_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneSecretHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneWest.asm
@@ -1,0 +1,8 @@
+SafariZoneWest_h:
+	db FOREST ; tileset
+	db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x)
+	dw SafariZoneWest_Blocks ; blocks
+	dw SafariZoneWest_TextPointers ; texts
+	dw SafariZoneWest_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneWest_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SafariZoneWestRestHouse.asm
@@ -1,0 +1,8 @@
+SafariZoneWestRestHouse_h:
+	db GATE ; tileset
+	db SAFARI_ZONE_WEST_REST_HOUSE_HEIGHT, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; dimensions (y, x)
+	dw SafariZoneWestRestHouse_Blocks ; blocks
+	dw SafariZoneWestRestHouse_TextPointers ; texts
+	dw SafariZoneWestRestHouse_Script ; scripts
+	db 0 ; connections
+	dw SafariZoneWestRestHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SaffronCity.asm
@@ -1,0 +1,12 @@
+SaffronCity_h:
+	db OVERWORLD ; tileset
+	db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x)
+	dw SaffronCity_Blocks ; blocks
+	dw SaffronCity_TextPointers ; texts
+	dw SaffronCity_Script ; scripts
+	db NORTH | SOUTH | WEST | EAST ; connections
+	NORTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_5, 5, 0, Route5_Blocks
+	SOUTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_6, 5, 0, Route6_Blocks, 1
+	WEST_MAP_CONNECTION SAFFRON_CITY, ROUTE_7, 4, 0, Route7_Blocks
+	EAST_MAP_CONNECTION SAFFRON_CITY, ROUTE_8, 4, 0, Route8_Blocks
+	dw SaffronCity_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SaffronGym.asm
@@ -1,0 +1,8 @@
+SaffronGym_h:
+	db FACILITY ; tileset
+	db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x)
+	dw SaffronGym_Blocks ; blocks
+	dw SaffronGym_TextPointers ; texts
+	dw SaffronGym_Script ; scripts
+	db 0 ; connections
+	dw SaffronGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SaffronMart.asm
@@ -1,0 +1,8 @@
+SaffronMart_h:
+	db MART ; tileset
+	db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x)
+	dw SaffronMart_Blocks ; blocks
+	dw SaffronMart_TextPointers ; texts
+	dw SaffronMart_Script ; scripts
+	db 0 ; connections
+	dw SaffronMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SaffronPidgeyHouse.asm
@@ -1,0 +1,8 @@
+SaffronPidgeyHouse_h:
+	db HOUSE ; tileset
+	db SAFFRON_PIDGEY_HOUSE_HEIGHT, SAFFRON_PIDGEY_HOUSE_WIDTH ; dimensions (y, x)
+	dw SaffronPidgeyHouse_Blocks ; blocks
+	dw SaffronPidgeyHouse_TextPointers ; texts
+	dw SaffronPidgeyHouse_Script ; scripts
+	db 0 ; connections
+	dw SaffronPidgeyHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SaffronPokecenter.asm
@@ -1,0 +1,8 @@
+SaffronPokecenter_h:
+	db POKECENTER ; tileset
+	db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x)
+	dw SaffronPokecenter_Blocks ; blocks
+	dw SaffronPokecenter_TextPointers ; texts
+	dw SaffronPokecenter_Script ; scripts
+	db 0 ; connections
+	dw SaffronPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SeafoamIslands1F.asm
@@ -1,0 +1,8 @@
+SeafoamIslands1F_h:
+	db CAVERN ; tileset
+	db SEAFOAM_ISLANDS_1F_HEIGHT, SEAFOAM_ISLANDS_1F_WIDTH ; dimensions (y, x)
+	dw SeafoamIslands1F_Blocks ; blocks
+	dw SeafoamIslands1F_TextPointers ; texts
+	dw SeafoamIslands1F_Script ; scripts
+	db 0 ; connections
+	dw SeafoamIslands1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SeafoamIslandsB1F.asm
@@ -1,0 +1,8 @@
+SeafoamIslandsB1F_h:
+	db CAVERN ; tileset
+	db SEAFOAM_ISLANDS_B1F_HEIGHT, SEAFOAM_ISLANDS_B1F_WIDTH ; dimensions (y, x)
+	dw SeafoamIslandsB1F_Blocks ; blocks
+	dw SeafoamIslandsB1F_TextPointers ; texts
+	dw SeafoamIslandsB1F_Script ; scripts
+	db 0 ; connections
+	dw SeafoamIslandsB1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SeafoamIslandsB2F.asm
@@ -1,0 +1,8 @@
+SeafoamIslandsB2F_h:
+	db CAVERN ; tileset
+	db SEAFOAM_ISLANDS_B2F_HEIGHT, SEAFOAM_ISLANDS_B2F_WIDTH ; dimensions (y, x)
+	dw SeafoamIslandsB2F_Blocks ; blocks
+	dw SeafoamIslandsB2F_TextPointers ; texts
+	dw SeafoamIslandsB2F_Script ; scripts
+	db 0 ; connections
+	dw SeafoamIslandsB2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SeafoamIslandsB3F.asm
@@ -1,0 +1,8 @@
+SeafoamIslandsB3F_h:
+	db CAVERN ; tileset
+	db SEAFOAM_ISLANDS_B3F_HEIGHT, SEAFOAM_ISLANDS_B3F_WIDTH ; dimensions (y, x)
+	dw SeafoamIslandsB3F_Blocks ; blocks
+	dw SeafoamIslandsB3F_TextPointers ; texts
+	dw SeafoamIslandsB3F_Script ; scripts
+	db 0 ; connections
+	dw SeafoamIslandsB3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SeafoamIslandsB4F.asm
@@ -1,0 +1,8 @@
+SeafoamIslandsB4F_h:
+	db CAVERN ; tileset
+	db SEAFOAM_ISLANDS_B4F_HEIGHT, SEAFOAM_ISLANDS_B4F_WIDTH ; dimensions (y, x)
+	dw SeafoamIslandsB4F_Blocks ; blocks
+	dw SeafoamIslandsB4F_TextPointers ; texts
+	dw SeafoamIslandsB4F_Script ; scripts
+	db 0 ; connections
+	dw SeafoamIslandsB4F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo10F.asm
@@ -1,0 +1,8 @@
+SilphCo10F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x)
+	dw SilphCo10F_Blocks ; blocks
+	dw SilphCo10F_TextPointers ; texts
+	dw SilphCo10F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo10F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo11F.asm
@@ -1,0 +1,8 @@
+SilphCo11F_h:
+	db INTERIOR ; tileset
+	db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x)
+	dw SilphCo11F_Blocks ; blocks
+	dw SilphCo11F_TextPointers ; texts
+	dw SilphCo11F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo11F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo1F.asm
@@ -1,0 +1,8 @@
+SilphCo1F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x)
+	dw SilphCo1F_Blocks ; blocks
+	dw SilphCo1F_TextPointers ; texts
+	dw SilphCo1F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo2F.asm
@@ -1,0 +1,8 @@
+SilphCo2F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x)
+	dw SilphCo2F_Blocks ; blocks
+	dw SilphCo2F_TextPointers ; texts
+	dw SilphCo2F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo3F.asm
@@ -1,0 +1,8 @@
+SilphCo3F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x)
+	dw SilphCo3F_Blocks ; blocks
+	dw SilphCo3F_TextPointers ; texts
+	dw SilphCo3F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo4F.asm
@@ -1,0 +1,8 @@
+SilphCo4F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x)
+	dw SilphCo4F_Blocks ; blocks
+	dw SilphCo4F_TextPointers ; texts
+	dw SilphCo4F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo4F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo5F.asm
@@ -1,0 +1,8 @@
+SilphCo5F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x)
+	dw SilphCo5F_Blocks ; blocks
+	dw SilphCo5F_TextPointers ; texts
+	dw SilphCo5F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo5F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo6F.asm
@@ -1,0 +1,8 @@
+SilphCo6F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x)
+	dw SilphCo6F_Blocks ; blocks
+	dw SilphCo6F_TextPointers ; texts
+	dw SilphCo6F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo6F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo7F.asm
@@ -1,0 +1,8 @@
+SilphCo7F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x)
+	dw SilphCo7F_Blocks ; blocks
+	dw SilphCo7F_TextPointers ; texts
+	dw SilphCo7F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo7F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo8F.asm
@@ -1,0 +1,8 @@
+SilphCo8F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x)
+	dw SilphCo8F_Blocks ; blocks
+	dw SilphCo8F_TextPointers ; texts
+	dw SilphCo8F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo8F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCo9F.asm
@@ -1,0 +1,8 @@
+SilphCo9F_h:
+	db FACILITY ; tileset
+	db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x)
+	dw SilphCo9F_Blocks ; blocks
+	dw SilphCo9F_TextPointers ; texts
+	dw SilphCo9F_Script ; scripts
+	db 0 ; connections
+	dw SilphCo9F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/SilphCoElevator.asm
@@ -1,0 +1,8 @@
+SilphCoElevator_h:
+	db LOBBY ; tileset
+	db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x)
+	dw SilphCoElevator_Blocks ; blocks
+	dw SilphCoElevator_TextPointers ; texts
+	dw SilphCoElevator_Script ; scripts
+	db 0 ; connections
+	dw SilphCoElevator_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/TradeCenter.asm
@@ -1,0 +1,8 @@
+TradeCenter_h:
+	db CLUB ; tileset
+	db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x)
+	dw TradeCenter_Blocks ; blocks
+	dw TradeCenter_TextPointers ; texts
+	dw TradeCenter_Script ; scripts
+	db 0 ; connections
+	dw TradeCenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/UndergroundPathNorthSouth.asm
@@ -1,0 +1,8 @@
+UndergroundPathNorthSouth_h:
+	db UNDERGROUND ; tileset
+	db UNDERGROUND_PATH_NORTH_SOUTH_HEIGHT, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; dimensions (y, x)
+	dw UndergroundPathNorthSouth_Blocks ; blocks
+	dw UndergroundPathNorthSouth_TextPointers ; texts
+	dw UndergroundPathNorthSouth_Script ; scripts
+	db 0 ; connections
+	dw UndergroundPathNorthSouth_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/UndergroundPathRoute5.asm
@@ -1,0 +1,8 @@
+UndergroundPathRoute5_h:
+	db GATE ; tileset
+	db UNDERGROUND_PATH_ROUTE_5_HEIGHT, UNDERGROUND_PATH_ROUTE_5_WIDTH ; dimensions (y, x)
+	dw UndergroundPathRoute5_Blocks ; blocks
+	dw UndergroundPathRoute5_TextPointers ; texts
+	dw UndergroundPathRoute5_Script ; scripts
+	db 0 ; connections
+	dw UndergroundPathRoute5_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/UndergroundPathRoute6.asm
@@ -1,0 +1,8 @@
+UndergroundPathRoute6_h:
+	db GATE ; tileset
+	db UNDERGROUND_PATH_ROUTE_6_HEIGHT, UNDERGROUND_PATH_ROUTE_6_WIDTH ; dimensions (y, x)
+	dw UndergroundPathRoute6_Blocks ; blocks
+	dw UndergroundPathRoute6_TextPointers ; texts
+	dw UndergroundPathRoute6_Script ; scripts
+	db 0 ; connections
+	dw UndergroundPathRoute6_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/UndergroundPathRoute7.asm
@@ -1,0 +1,8 @@
+UndergroundPathRoute7_h:
+	db GATE ; tileset
+	db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x)
+	dw UndergroundPathRoute7_Blocks ; blocks
+	dw UndergroundPathRoute7_TextPointers ; texts
+	dw UndergroundPathRoute7_Script ; scripts
+	db 0 ; connections
+	dw UndergroundPathRoute7_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/UndergroundPathRoute7Copy.asm
@@ -1,0 +1,8 @@
+UndergroundPathRoute7Copy_h:
+	db GATE ; tileset
+	db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x)
+	dw UndergroundPathRoute7Copy_Blocks ; blocks
+	dw UndergroundPathRoute7Copy_TextPointers ; texts
+	dw UndergroundPathRoute7Copy_Script ; scripts
+	db 0 ; connections
+	dw UndergroundPathRoute7Copy_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/UndergroundPathRoute8.asm
@@ -1,0 +1,8 @@
+UndergroundPathRoute8_h:
+	db GATE ; tileset
+	db UNDERGROUND_PATH_ROUTE_8_HEIGHT, UNDERGROUND_PATH_ROUTE_8_WIDTH ; dimensions (y, x)
+	dw UndergroundPathRoute8_Blocks ; blocks
+	dw UndergroundPathRoute8_TextPointers ; texts
+	dw UndergroundPathRoute8_Script ; scripts
+	db 0 ; connections
+	dw UndergroundPathRoute8_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/UndergroundPathWestEast.asm
@@ -1,0 +1,8 @@
+UndergroundPathWestEast_h:
+	db UNDERGROUND ; tileset
+	db UNDERGROUND_PATH_WEST_EAST_HEIGHT, UNDERGROUND_PATH_WEST_EAST_WIDTH ; dimensions (y, x)
+	dw UndergroundPathWestEast_Blocks ; blocks
+	dw UndergroundPathWestEast_TextPointers ; texts
+	dw UndergroundPathWestEast_Script ; scripts
+	db 0 ; connections
+	dw UndergroundPathWestEast_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionCity.asm
@@ -1,0 +1,10 @@
+VermilionCity_h:
+	db OVERWORLD ; tileset
+	db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x)
+	dw VermilionCity_Blocks ; blocks
+	dw VermilionCity_TextPointers ; texts
+	dw VermilionCity_Script ; scripts
+	db NORTH | EAST ; connections
+	NORTH_MAP_CONNECTION VERMILION_CITY, ROUTE_6, 5, 0, Route6_Blocks
+	EAST_MAP_CONNECTION VERMILION_CITY, ROUTE_11, 4, 0, Route11_Blocks
+	dw VermilionCity_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionDock.asm
@@ -1,0 +1,8 @@
+VermilionDock_h:
+	db SHIP_PORT ; tileset
+	db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x)
+	dw VermilionDock_Blocks ; blocks
+	dw VermilionDock_TextPointers ; texts
+	dw VermilionDock_Script ; scripts
+	db 0 ; connections
+	dw VermilionDock_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionGym.asm
@@ -1,0 +1,8 @@
+VermilionGym_h:
+	db GYM ; tileset
+	db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x)
+	dw VermilionGym_Blocks ; blocks
+	dw VermilionGym_TextPointers ; texts
+	dw VermilionGym_Script ; scripts
+	db 0 ; connections
+	dw VermilionGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionMart.asm
@@ -1,0 +1,8 @@
+VermilionMart_h:
+	db MART ; tileset
+	db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x)
+	dw VermilionMart_Blocks ; blocks
+	dw VermilionMart_TextPointers ; texts
+	dw VermilionMart_Script ; scripts
+	db 0 ; connections
+	dw VermilionMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionOldRodHouse.asm
@@ -1,0 +1,8 @@
+VermilionOldRodHouse_h:
+	db HOUSE ; tileset
+	db VERMILION_OLD_ROD_HOUSE_HEIGHT, VERMILION_OLD_ROD_HOUSE_WIDTH ; dimensions (y, x)
+	dw VermilionOldRodHouse_Blocks ; blocks
+	dw VermilionOldRodHouse_TextPointers ; texts
+	dw VermilionOldRodHouse_Script ; scripts
+	db 0 ; connections
+	dw VermilionOldRodHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionPidgeyHouse.asm
@@ -1,0 +1,8 @@
+VermilionPidgeyHouse_h:
+	db HOUSE ; tileset
+	db VERMILION_PIDGEY_HOUSE_HEIGHT, VERMILION_PIDGEY_HOUSE_WIDTH ; dimensions (y, x)
+	dw VermilionPidgeyHouse_Blocks ; blocks
+	dw VermilionPidgeyHouse_TextPointers ; texts
+	dw VermilionPidgeyHouse_Script ; scripts
+	db 0 ; connections
+	dw VermilionPidgeyHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionPokecenter.asm
@@ -1,0 +1,8 @@
+VermilionPokecenter_h:
+	db POKECENTER ; tileset
+	db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x)
+	dw VermilionPokecenter_Blocks ; blocks
+	dw VermilionPokecenter_TextPointers ; texts
+	dw VermilionPokecenter_Script ; scripts
+	db 0 ; connections
+	dw VermilionPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VermilionTradeHouse.asm
@@ -1,0 +1,8 @@
+VermilionTradeHouse_h:
+	db HOUSE ; tileset
+	db VERMILION_TRADE_HOUSE_HEIGHT, VERMILION_TRADE_HOUSE_WIDTH ; dimensions (y, x)
+	dw VermilionTradeHouse_Blocks ; blocks
+	dw VermilionTradeHouse_TextPointers ; texts
+	dw VermilionTradeHouse_Script ; scripts
+	db 0 ; connections
+	dw VermilionTradeHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VictoryRoad1F.asm
@@ -1,0 +1,8 @@
+VictoryRoad1F_h:
+	db CAVERN ; tileset
+	db VICTORY_ROAD_1F_HEIGHT, VICTORY_ROAD_1F_WIDTH ; dimensions (y, x)
+	dw VictoryRoad1F_Blocks ; blocks
+	dw VictoryRoad1F_TextPointers ; texts
+	dw VictoryRoad1F_Script ; scripts
+	db 0 ; connections
+	dw VictoryRoad1F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VictoryRoad2F.asm
@@ -1,0 +1,8 @@
+VictoryRoad2F_h:
+	db CAVERN ; tileset
+	db VICTORY_ROAD_2F_HEIGHT, VICTORY_ROAD_2F_WIDTH ; dimensions (y, x)
+	dw VictoryRoad2F_Blocks ; blocks
+	dw VictoryRoad2F_TextPointers ; texts
+	dw VictoryRoad2F_Script ; scripts
+	db 0 ; connections
+	dw VictoryRoad2F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/VictoryRoad3F.asm
@@ -1,0 +1,8 @@
+VictoryRoad3F_h:
+	db CAVERN ; tileset
+	db VICTORY_ROAD_3F_HEIGHT, VICTORY_ROAD_3F_WIDTH ; dimensions (y, x)
+	dw VictoryRoad3F_Blocks ; blocks
+	dw VictoryRoad3F_TextPointers ; texts
+	dw VictoryRoad3F_Script ; scripts
+	db 0 ; connections
+	dw VictoryRoad3F_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianCity.asm
@@ -1,0 +1,11 @@
+ViridianCity_h:
+	db OVERWORLD ; tileset
+	db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x)
+	dw ViridianCity_Blocks ; blocks
+	dw ViridianCity_TextPointers ; texts
+	dw ViridianCity_Script ; scripts
+	db NORTH | SOUTH | WEST ; connections
+	NORTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_2, 5, 0, Route2_Blocks
+	SOUTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_1, 5, 0, Route1_Blocks, 1
+	WEST_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_22, 4, 0, Route22_Blocks
+	dw ViridianCity_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianForest.asm
@@ -1,0 +1,8 @@
+ViridianForest_h:
+	db FOREST ; tileset
+	db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x)
+	dw ViridianForest_Blocks ; blocks
+	dw ViridianForest_TextPointers ; texts
+	dw ViridianForest_Script ; scripts
+	db 0 ; connections
+	dw ViridianForest_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianForestNorthGate.asm
@@ -1,0 +1,8 @@
+ViridianForestNorthGate_h:
+	db FOREST_GATE ; tileset
+	db VIRIDIAN_FOREST_NORTH_GATE_HEIGHT, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; dimensions (y, x)
+	dw ViridianForestNorthGate_Blocks ; blocks
+	dw ViridianForestNorthGate_TextPointers ; texts
+	dw ViridianForestNorthGate_Script ; scripts
+	db 0 ; connections
+	dw ViridianForestNorthGate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianForestSouthGate.asm
@@ -1,0 +1,8 @@
+ViridianForestSouthGate_h:
+	db FOREST_GATE ; tileset
+	db VIRIDIAN_FOREST_SOUTH_GATE_HEIGHT, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; dimensions (y, x)
+	dw ViridianForestSouthGate_Blocks ; blocks
+	dw ViridianForestSouthGate_TextPointers ; texts
+	dw ViridianForestSouthGate_Script ; scripts
+	db 0 ; connections
+	dw ViridianForestSouthGate_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianGym.asm
@@ -1,0 +1,8 @@
+ViridianGym_h:
+	db GYM ; tileset
+	db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x)
+	dw ViridianGym_Blocks ; blocks
+	dw ViridianGym_TextPointers ; texts
+	dw ViridianGym_Script ; scripts
+	db 0 ; connections
+	dw ViridianGym_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianMart.asm
@@ -1,0 +1,8 @@
+ViridianMart_h:
+	db MART ; tileset
+	db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x)
+	dw ViridianMart_Blocks ; blocks
+	dw ViridianMart_TextPointers ; texts
+	dw ViridianMart_Script ; scripts
+	db 0 ; connections
+	dw ViridianMart_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianNicknameHouse.asm
@@ -1,0 +1,8 @@
+ViridianNicknameHouse_h:
+	db HOUSE ; tileset
+	db VIRIDIAN_NICKNAME_HOUSE_HEIGHT, VIRIDIAN_NICKNAME_HOUSE_WIDTH ; dimensions (y, x)
+	dw ViridianNicknameHouse_Blocks ; blocks
+	dw ViridianNicknameHouse_TextPointers ; texts
+	dw ViridianNicknameHouse_Script ; scripts
+	db 0 ; connections
+	dw ViridianNicknameHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianPokecenter.asm
@@ -1,0 +1,8 @@
+ViridianPokecenter_h:
+	db POKECENTER ; tileset
+	db VIRIDIAN_POKECENTER_HEIGHT, VIRIDIAN_POKECENTER_WIDTH ; dimensions (y, x)
+	dw ViridianPokecenter_Blocks ; blocks
+	dw ViridianPokecenter_TextPointers ; texts
+	dw ViridianPokecenter_Script ; scripts
+	db 0 ; connections
+	dw ViridianPokecenter_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/ViridianSchoolHouse.asm
@@ -1,0 +1,8 @@
+ViridianSchoolHouse_h:
+	db HOUSE ; tileset
+	db VIRIDIAN_SCHOOL_HOUSE_HEIGHT, VIRIDIAN_SCHOOL_HOUSE_WIDTH ; dimensions (y, x)
+	dw ViridianSchoolHouse_Blocks ; blocks
+	dw ViridianSchoolHouse_TextPointers ; texts
+	dw ViridianSchoolHouse_Script ; scripts
+	db 0 ; connections
+	dw ViridianSchoolHouse_Object ; objects
--- /dev/null
+++ b/data/mapHeaders/WardensHouse.asm
@@ -1,0 +1,8 @@
+WardensHouse_h:
+	db LAB ; tileset
+	db WARDENS_HOUSE_HEIGHT, WARDENS_HOUSE_WIDTH ; dimensions (y, x)
+	dw WardensHouse_Blocks ; blocks
+	dw WardensHouse_TextPointers ; texts
+	dw WardensHouse_Script ; scripts
+	db 0 ; connections
+	dw WardensHouse_Object ; objects
--- a/data/mapHeaders/agatha.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Agatha_h:
-	db CEMETERY ; tileset
-	db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x)
-	dw AgathaBlocks, AgathaTextPointers, AgathaScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw AgathaObject ; objects
--- a/data/mapHeaders/bikeshop.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-BikeShop_h:
-	db CLUB ; tileset
-	db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x)
-	dw BikeShopBlocks, BikeShopTextPointers, BikeShopScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw BikeShopObject ; objects
--- a/data/mapHeaders/billshouse.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-BillsHouse_h:
-	db INTERIOR ; tileset
-	db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x)
-	dw BillsHouseBlocks, BillsHouseTextPointers, BillsHouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw BillsHouseObject ; objects
--- a/data/mapHeaders/blueshouse.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-BluesHouse_h:
-	db HOUSE ; tileset
-	db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions (y, x)
-	dw BluesHouseBlocks, BluesHouseTextPointers, BluesHouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw BluesHouseObject ; objects
--- a/data/mapHeaders/bruno.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Bruno_h:
-	db GYM ; tileset
-	db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x)
-	dw BrunoBlocks, BrunoTextPointers, BrunoScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw BrunoObject ; objects
--- a/data/mapHeaders/celadoncity.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-CeladonCity_h:
-	db OVERWORLD ; tileset
-	db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x)
-	dw CeladonCityBlocks, CeladonCityTextPointers, CeladonCityScript ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION CELADON_CITY, ROUTE_16, 4, 0, Route16Blocks
-	EAST_MAP_CONNECTION CELADON_CITY, ROUTE_7, 4, 0, Route7Blocks, 1
-	dw CeladonCityObject ; objects
--- a/data/mapHeaders/celadondiner.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonDiner_h:
-	db LOBBY ; tileset
-	db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x)
-	dw CeladonDinerBlocks, CeladonDinerTextPointers, CeladonDinerScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonDinerObject ; objects
--- a/data/mapHeaders/celadongamecorner.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonGameCorner_h:
-	db LOBBY ; tileset
-	db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x)
-	dw CeladonGameCornerBlocks, CeladonGameCornerTextPointers, CeladonGameCornerScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonGameCornerObject ; objects
--- a/data/mapHeaders/celadongym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonGym_h:
-	db GYM ; tileset
-	db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x)
-	dw CeladonGymBlocks, CeladonGymTextPointers, CeladonGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonGymObject ; objects
--- a/data/mapHeaders/celadonhotel.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonHotel_h:
-	db POKECENTER ; tileset
-	db CELADON_HOTEL_HEIGHT, CELADON_HOTEL_WIDTH ; dimensions (y, x)
-	dw CeladonHotelBlocks, CeladonHotelTextPointers, CeladonHotelScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonHotelObject ; objects
--- a/data/mapHeaders/celadonhouse.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonHouse_h:
-	db MANSION ; tileset
-	db CELADON_HOUSE_HEIGHT, CELADON_HOUSE_WIDTH ; dimensions (y, x)
-	dw CeladonHouseBlocks, CeladonHouseTextPointers, CeladonHouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonHouseObject ; objects
--- a/data/mapHeaders/celadonmansion1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMansion1_h:
-	db MANSION ; tileset
-	db CELADON_MANSION_1_HEIGHT, CELADON_MANSION_1_WIDTH ; dimensions (y, x)
-	dw CeladonMansion1Blocks, CeladonMansion1TextPointers, CeladonMansion1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMansion1Object ; objects
--- a/data/mapHeaders/celadonmansion2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMansion2_h:
-	db MANSION ; tileset
-	db CELADON_MANSION_2_HEIGHT, CELADON_MANSION_2_WIDTH ; dimensions (y, x)
-	dw CeladonMansion2Blocks, CeladonMansion2TextPointers, CeladonMansion2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMansion2Object ; objects
--- a/data/mapHeaders/celadonmansion3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMansion3_h:
-	db MANSION ; tileset
-	db CELADON_MANSION_3_HEIGHT, CELADON_MANSION_3_WIDTH ; dimensions (y, x)
-	dw CeladonMansion3Blocks, CeladonMansion3TextPointers, CeladonMansion3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMansion3Object ; objects
--- a/data/mapHeaders/celadonmansion4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMansion4_h:
-	db MANSION ; tileset
-	db CELADON_MANSION_4_HEIGHT, CELADON_MANSION_4_WIDTH ; dimensions (y, x)
-	dw CeladonMansion4Blocks, CeladonMansion4TextPointers, CeladonMansion4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMansion4Object ; objects
--- a/data/mapHeaders/celadonmansion5.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMansion5_h:
-	db HOUSE ; tileset
-	db CELADON_MANSION_5_HEIGHT, CELADON_MANSION_5_WIDTH ; dimensions (y, x)
-	dw CeladonMansion5Blocks, CeladonMansion5TextPointers, CeladonMansion5Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMansion5Object ; objects
--- a/data/mapHeaders/celadonmart1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMart1_h:
-	db LOBBY ; tileset
-	db CELADON_MART_1_HEIGHT, CELADON_MART_1_WIDTH ; dimensions (y, x)
-	dw CeladonMart1Blocks, CeladonMart1TextPointers, CeladonMart1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMart1Object ; objects
--- a/data/mapHeaders/celadonmart2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMart2_h:
-	db LOBBY ; tileset
-	db CELADON_MART_2_HEIGHT, CELADON_MART_2_WIDTH ; dimensions (y, x)
-	dw CeladonMart2Blocks, CeladonMart2TextPointers, CeladonMart2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMart2Object ; objects
--- a/data/mapHeaders/celadonmart3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMart3_h:
-	db LOBBY ; tileset
-	db CELADON_MART_3_HEIGHT, CELADON_MART_3_WIDTH ; dimensions (y, x)
-	dw CeladonMart3Blocks, CeladonMart3TextPointers, CeladonMart3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMart3Object ; objects
--- a/data/mapHeaders/celadonmart4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMart4_h:
-	db LOBBY ; tileset
-	db CELADON_MART_4_HEIGHT, CELADON_MART_4_WIDTH ; dimensions (y, x)
-	dw CeladonMart4Blocks, CeladonMart4TextPointers, CeladonMart4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMart4Object ; objects
--- a/data/mapHeaders/celadonmart5.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMart5_h:
-	db LOBBY ; tileset
-	db CELADON_MART_5_HEIGHT, CELADON_MART_5_WIDTH ; dimensions (y, x)
-	dw CeladonMart5Blocks, CeladonMart5TextPointers, CeladonMart5Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMart5Object ; objects
--- a/data/mapHeaders/celadonmartelevator.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMartElevator_h:
-	db LOBBY ; tileset
-	db CELADON_MART_ELEVATOR_HEIGHT, CELADON_MART_ELEVATOR_WIDTH ; dimensions (y, x)
-	dw CeladonMartElevatorBlocks, CeladonMartElevatorTextPointers, CeladonMartElevatorScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMartElevatorObject ; objects
--- a/data/mapHeaders/celadonmartroof.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonMartRoof_h:
-	db LOBBY ; tileset
-	db CELADON_MART_ROOF_HEIGHT, CELADON_MART_ROOF_WIDTH ; dimensions (y, x)
-	dw CeladonMartRoofBlocks, CeladonMartRoofTextPointers, CeladonMartRoofScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonMartRoofObject ; objects
--- a/data/mapHeaders/celadonpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonPokecenter_h:
-	db POKECENTER ; tileset
-	db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x)
-	dw CeladonPokecenterBlocks, CeladonPokecenterTextPointers, CeladonPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonPokecenterObject ; objects
--- a/data/mapHeaders/celadonprizeroom.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeladonPrizeRoom_h:
-	db LOBBY ; tileset
-	db CELADON_PRIZE_ROOM_HEIGHT, CELADON_PRIZE_ROOM_WIDTH ; dimensions (y, x)
-	dw CeladonPrizeRoomBlocks, CeladonPrizeRoomTextPointers, CeladonPrizeRoomScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeladonPrizeRoomObject ; objects
--- a/data/mapHeaders/ceruleancity.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-CeruleanCity_h:
-	db OVERWORLD ; tileset
-	db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x)
-	dw CeruleanCityBlocks, CeruleanCityTextPointers, CeruleanCityScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST | EAST ; connections
-	NORTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_24, 5, 0, Route24Blocks
-	SOUTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_5, 5, 0, Route5Blocks, 1
-	WEST_MAP_CONNECTION CERULEAN_CITY, ROUTE_4, 4, 0, Route4Blocks
-	EAST_MAP_CONNECTION CERULEAN_CITY, ROUTE_9, 4, 0, Route9Blocks
-	dw CeruleanCityObject ; objects
--- a/data/mapHeaders/ceruleangym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeruleanGym_h:
-	db GYM ; tileset
-	db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x)
-	dw CeruleanGymBlocks, CeruleanGymTextPointers, CeruleanGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeruleanGymObject ; objects
--- a/data/mapHeaders/ceruleanhouse1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeruleanHouse1_h:
-	db HOUSE ; tileset
-	db CERULEAN_HOUSE_1_HEIGHT, CERULEAN_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw CeruleanHouse1Blocks, CeruleanHouse1TextPointers, CeruleanHouse1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeruleanHouse1Object ; objects
--- a/data/mapHeaders/ceruleanhouse2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeruleanHouse2_h:
-	db SHIP ; tileset
-	db CERULEAN_HOUSE_2_HEIGHT, CERULEAN_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw CeruleanHouse2Blocks, CeruleanHouse2TextPointers, CeruleanHouse2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeruleanHouse2Object ; objects
--- a/data/mapHeaders/ceruleanhousetrashed.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeruleanHouseTrashed_h:
-	db HOUSE ; tileset
-	db TRASHED_HOUSE_HEIGHT, TRASHED_HOUSE_WIDTH ; dimensions (y, x)
-	dw CeruleanHouseTrashedBlocks, CeruleanHouseTrashedTextPointers, CeruleanHouseTrashedScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeruleanHouseTrashedObject ; objects
--- a/data/mapHeaders/ceruleanmart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeruleanMart_h:
-	db MART ; tileset
-	db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x)
-	dw CeruleanMartBlocks, CeruleanMartTextPointers, CeruleanMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeruleanMartObject ; objects
--- a/data/mapHeaders/ceruleanpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CeruleanPokecenter_h:
-	db POKECENTER ; tileset
-	db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x)
-	dw CeruleanPokecenterBlocks, CeruleanPokecenterTextPointers, CeruleanPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CeruleanPokecenterObject ; objects
--- a/data/mapHeaders/cinnabargym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CinnabarGym_h:
-	db FACILITY ; tileset
-	db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x)
-	dw CinnabarGymBlocks, CinnabarGymTextPointers, CinnabarGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CinnabarGymObject ; objects
--- a/data/mapHeaders/cinnabarisland.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-CinnabarIsland_h:
-	db OVERWORLD ; tileset
-	db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x)
-	dw CinnabarIslandBlocks, CinnabarIslandTextPointers, CinnabarIslandScript ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-	NORTH_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_21, 0, 0, Route21Blocks
-	EAST_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_20, 0, 0, Route20Blocks
-	dw CinnabarIslandObject ; objects
--- a/data/mapHeaders/cinnabarmart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CinnabarMart_h:
-	db MART ; tileset
-	db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x)
-	dw CinnabarMartBlocks, CinnabarMartTextPointers, CinnabarMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CinnabarMartObject ; objects
--- a/data/mapHeaders/cinnabarpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CinnabarPokecenter_h:
-	db POKECENTER ; tileset
-	db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x)
-	dw CinnabarPokecenterBlocks, CinnabarPokecenterTextPointers, CinnabarPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CinnabarPokecenterObject ; objects
--- a/data/mapHeaders/colosseum.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Colosseum_h:
-	db CLUB ; tileset
-	db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH ; dimensions (y, x)
-	dw ColosseumBlocks, ColosseumTextPointers, ColosseumScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ColosseumObject ; objects
--- a/data/mapHeaders/copycatshouse1f.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CopycatsHouse1F_h:
-	db REDS_HOUSE_1 ; tileset
-	db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x)
-	dw CopycatsHouse1FBlocks, CopycatsHouse1FTextPointers, CopycatsHouse1FScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CopycatsHouse1FObject ; objects
--- a/data/mapHeaders/copycatshouse2f.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-CopycatsHouse2F_h:
-	db REDS_HOUSE_2 ; tileset
-	db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x)
-	dw CopycatsHouse2FBlocks, CopycatsHouse2FTextPointers, CopycatsHouse2FScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw CopycatsHouse2FObject ; objects
--- a/data/mapHeaders/daycarem.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-DayCareM_h:
-	db HOUSE ; tileset
-	db DAYCAREM_HEIGHT, DAYCAREM_WIDTH ; dimensions (y, x)
-	dw DayCareMBlocks, DayCareMTextPointers, DayCareMScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw DayCareMObject ; objects
--- a/data/mapHeaders/diglettscave.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-DiglettsCave_h:
-	db CAVERN ; tileset
-	db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x)
-	dw DiglettsCaveBlocks, DiglettsCaveTextPointers, DiglettsCaveScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw DiglettsCaveObject ; objects
--- a/data/mapHeaders/diglettscaveroute11.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-DiglettsCaveEntranceRoute11_h:
-	db CAVERN ; tileset
-	db DIGLETTS_CAVE_ENTRANCE_HEIGHT, DIGLETTS_CAVE_ENTRANCE_WIDTH ; dimensions (y, x)
-	dw DiglettsCaveEntranceRoute11Blocks, DiglettsCaveEntranceRoute11TextPointers, DiglettsCaveEntranceRoute11Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw DiglettsCaveEntranceRoute11Object ; objects
--- a/data/mapHeaders/diglettscaveroute2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-DiglettsCaveRoute2_h:
-	db CAVERN ; tileset
-	db DIGLETTS_CAVE_EXIT_HEIGHT, DIGLETTS_CAVE_EXIT_WIDTH ; dimensions (y, x)
-	dw DiglettsCaveRoute2Blocks, DiglettsCaveRoute2TextPointers, DiglettsCaveRoute2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw DiglettsCaveRoute2Object ; objects
--- a/data/mapHeaders/fanclub.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FanClub_h:
-	db INTERIOR ; tileset
-	db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x)
-	dw FanClubBlocks, FanClubTextPointers, FanClubScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw FanClubObject ; objects
--- a/data/mapHeaders/fightingdojo.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FightingDojo_h:
-	db DOJO ; tileset
-	db FIGHTING_DOJO_HEIGHT, FIGHTING_DOJO_WIDTH ; dimensions (y, x)
-	dw FightingDojoBlocks, FightingDojoTextPointers, FightingDojoScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw FightingDojoObject ; objects
--- a/data/mapHeaders/fuchsiacity.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-FuchsiaCity_h:
-	db OVERWORLD ; tileset
-	db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x)
-	dw FuchsiaCityBlocks, FuchsiaCityTextPointers, FuchsiaCityScript ; blocks, texts, scripts
-	db SOUTH | WEST | EAST ; connections
-	SOUTH_MAP_CONNECTION FUCHSIA_CITY, ROUTE_19, 5, 0, Route19Blocks
-	WEST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_18, 4, 0, Route18Blocks
-	EAST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_15, 4, 0, Route15Blocks
-	dw FuchsiaCityObject ; objects
--- a/data/mapHeaders/fuchsiagym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FuchsiaGym_h:
-	db GYM ; tileset
-	db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x)
-	dw FuchsiaGymBlocks, FuchsiaGymTextPointers, FuchsiaGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw FuchsiaGymObject ; objects
--- a/data/mapHeaders/fuchsiahouse1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FuchsiaHouse1_h:
-	db HOUSE ; tileset
-	db FUCHSIA_HOUSE_1_HEIGHT, FUCHSIA_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw FuchsiaHouse1Blocks, FuchsiaHouse1TextPointers, FuchsiaHouse1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw FuchsiaHouse1Object ; objects
--- a/data/mapHeaders/fuchsiahouse2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FuchsiaHouse2_h:
-	db LAB ; tileset
-	db FUCHSIA_HOUSE_2_HEIGHT, FUCHSIA_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw FuchsiaHouse2Blocks, FuchsiaHouse2TextPointers, FuchsiaHouse2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw FuchsiaHouse2Object ; objects
--- a/data/mapHeaders/fuchsiahouse3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FuchsiaHouse3_h:
-	db SHIP ; tileset
-	db FUCHSIA_HOUSE_3_HEIGHT, FUCHSIA_HOUSE_3_WIDTH ; dimensions (y, x)
-	dw FuchsiaHouse3Blocks, FuchsiaHouse3TextPointers, FuchsiaHouse3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw FuchsiaHouse3Object ; objects
--- a/data/mapHeaders/fuchsiamart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FuchsiaMart_h:
-	db MART ; tileset
-	db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x)
-	dw FuchsiaMartBlocks, FuchsiaMartTextPointers, FuchsiaMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw FuchsiaMartObject ; objects
--- a/data/mapHeaders/fuchsiameetingroom.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FuchsiaMeetingRoom_h:
-	db LAB ; tileset
-	db FUCHSIA_MEETING_ROOM_HEIGHT, FUCHSIA_MEETING_ROOM_WIDTH ; dimensions (y, x)
-	dw FuchsiaMeetingRoomBlocks, FuchsiaMeetingRoomTextPointers, FuchsiaMeetingRoomScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw FuchsiaMeetingRoomObject ; objects
--- a/data/mapHeaders/fuchsiapokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-FuchsiaPokecenter_h:
-	db POKECENTER ; tileset
-	db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x)
-	dw FuchsiaPokecenterBlocks, FuchsiaPokecenterTextPointers, FuchsiaPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw FuchsiaPokecenterObject ; objects
--- a/data/mapHeaders/gary.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Gary_h:
-	db GYM ; tileset
-	db CHAMPIONS_ROOM_HEIGHT, CHAMPIONS_ROOM_WIDTH ; dimensions (y, x)
-	dw GaryBlocks, GaryTextPointers, GaryScript ; blocks, texts, scripts
-	db $0 ; connections
-	dw GaryObject ; objects
--- a/data/mapHeaders/halloffameroom.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-HallofFameRoom_h:
-	db GYM ; tileset
-	db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x)
-	dw HallofFameRoomBlocks, HallofFameRoomTextPointers, HallofFameRoomScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw HallofFameRoomObject ; objects
--- a/data/mapHeaders/indigoplateau.asm
+++ /dev/null
@@ -1,7 +1,0 @@
-IndigoPlateau_h:
-	db PLATEAU ; tileset
-	db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x)
-	dw IndigoPlateauBlocks, IndigoPlateauTextPointers, IndigoPlateauScript ; blocks, texts, scripts
-	db SOUTH ; connections
-	SOUTH_MAP_CONNECTION INDIGO_PLATEAU, ROUTE_23, 0, 0, Route23Blocks
-	dw IndigoPlateauObject ; objects
--- a/data/mapHeaders/indigoplateaulobby.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-IndigoPlateauLobby_h:
-	db MART ; tileset
-	db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x)
-	dw IndigoPlateauLobbyBlocks, IndigoPlateauLobbyTextPointers, IndigoPlateauLobbyScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw IndigoPlateauLobbyObject ; objects
--- a/data/mapHeaders/lab1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Lab1_h:
-	db LAB ; tileset
-	db CINNABAR_LAB_1_HEIGHT, CINNABAR_LAB_1_WIDTH ; dimensions (y, x)
-	dw Lab1Blocks, Lab1TextPointers, Lab1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Lab1Object ; objects
--- a/data/mapHeaders/lab2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Lab2_h:
-	db LAB ; tileset
-	db CINNABAR_LAB_2_HEIGHT, CINNABAR_LAB_2_WIDTH ; dimensions (y, x)
-	dw Lab2Blocks, Lab2TextPointers, Lab2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Lab2Object ; objects
--- a/data/mapHeaders/lab3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Lab3_h:
-	db LAB ; tileset
-	db CINNABAR_LAB_3_HEIGHT, CINNABAR_LAB_3_WIDTH ; dimensions (y, x)
-	dw Lab3Blocks, Lab3TextPointers, Lab3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Lab3Object ; objects
--- a/data/mapHeaders/lab4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Lab4_h:
-	db LAB ; tileset
-	db CINNABAR_LAB_4_HEIGHT, CINNABAR_LAB_4_WIDTH ; dimensions (y, x)
-	dw Lab4Blocks, Lab4TextPointers, Lab4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Lab4Object ; objects
--- a/data/mapHeaders/lance.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Lance_h:
-	db DOJO ; tileset
-	db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x)
-	dw LanceBlocks, LanceTextPointers, LanceScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw LanceObject ; objects
--- a/data/mapHeaders/lavenderhouse1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-LavenderHouse1_h:
-	db HOUSE ; tileset
-	db LAVENDER_HOUSE_1_HEIGHT, LAVENDER_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw LavenderHouse1Blocks, LavenderHouse1TextPointers, LavenderHouse1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw LavenderHouse1Object ; objects
--- a/data/mapHeaders/lavenderhouse2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-LavenderHouse2_h:
-	db HOUSE ; tileset
-	db LAVENDER_HOUSE_2_HEIGHT, LAVENDER_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw LavenderHouse2Blocks, LavenderHouse2TextPointers, LavenderHouse2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw LavenderHouse2Object ; objects
--- a/data/mapHeaders/lavendermart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-LavenderMart_h:
-	db MART ; tileset
-	db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x)
-	dw LavenderMartBlocks, LavenderMartTextPointers, LavenderMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw LavenderMartObject ; objects
--- a/data/mapHeaders/lavenderpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-LavenderPokecenter_h:
-	db POKECENTER ; tileset
-	db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x)
-	dw LavenderPokecenterBlocks, LavenderPokecenterTextPointers, LavenderPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw LavenderPokecenterObject ; objects
--- a/data/mapHeaders/lavendertown.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-LavenderTown_h:
-	db OVERWORLD ; tileset
-	db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x)
-	dw LavenderTownBlocks, LavenderTownTextPointers, LavenderTownScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST ; connections
-	NORTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_10, 0, 0, Route10Blocks
-	SOUTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_12, 0, 0, Route12Blocks, 1
-	WEST_MAP_CONNECTION LAVENDER_TOWN, ROUTE_8, 0, 0, Route8Blocks
-	dw LavenderTownObject ; objects
--- a/data/mapHeaders/lorelei.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Lorelei_h:
-	db GYM ; tileset
-	db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x)
-	dw LoreleiBlocks, LoreleiTextPointers, LoreleiScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw LoreleiObject ; objects
--- a/data/mapHeaders/mansion1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Mansion1_h:
-	db FACILITY ; tileset
-	db MANSION_1_HEIGHT, MANSION_1_WIDTH ; dimensions (y, x)
-	dw Mansion1Blocks, Mansion1TextPointers, Mansion1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Mansion1Object ; objects
--- a/data/mapHeaders/mansion2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Mansion2_h:
-	db FACILITY ; tileset
-	db MANSION_2_HEIGHT, MANSION_2_WIDTH ; dimensions (y, x)
-	dw Mansion2Blocks, Mansion2TextPointers, Mansion2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Mansion2Object ; objects
--- a/data/mapHeaders/mansion3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Mansion3_h:
-	db FACILITY ; tileset
-	db MANSION_3_HEIGHT, MANSION_3_WIDTH ; dimensions (y, x)
-	dw Mansion3Blocks, Mansion3TextPointers, Mansion3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Mansion3Object ; objects
--- a/data/mapHeaders/mansion4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Mansion4_h:
-	db FACILITY ; tileset
-	db MANSION_4_HEIGHT, MANSION_4_WIDTH ; dimensions (y, x)
-	dw Mansion4Blocks, Mansion4TextPointers, Mansion4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw Mansion4Object ; objects
--- a/data/mapHeaders/mtmoon1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-MtMoon1_h:
-	db CAVERN ; tileset
-	db MT_MOON_1_HEIGHT, MT_MOON_1_WIDTH ; dimensions (y, x)
-	dw MtMoon1Blocks, MtMoon1TextPointers, MtMoon1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw MtMoon1Object ; objects
--- a/data/mapHeaders/mtmoon2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-MtMoon2_h:
-	db CAVERN ; tileset
-	db MT_MOON_2_HEIGHT, MT_MOON_2_WIDTH ; dimensions (y, x)
-	dw MtMoon2Blocks, MtMoon2TextPointers, MtMoon2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw MtMoon2Object ; objects
--- a/data/mapHeaders/mtmoon3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-MtMoon3_h:
-	db CAVERN ; tileset
-	db MT_MOON_3_HEIGHT, MT_MOON_3_WIDTH ; dimensions (y, x)
-	dw MtMoon3Blocks, MtMoon3TextPointers, MtMoon3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw MtMoon3Object ; objects
--- a/data/mapHeaders/mtmoonpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-MtMoonPokecenter_h:
-	db POKECENTER ; tileset
-	db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x)
-	dw MtMoonPokecenterBlocks, MtMoonPokecenterTextPointers, MtMoonPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw MtMoonPokecenterObject ; objects
--- a/data/mapHeaders/museum1f.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Museum1F_h:
-	db MUSEUM ; tileset
-	db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x)
-	dw Museum1FBlocks, Museum1FTextPointers, Museum1FScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Museum1FObject ; objects
--- a/data/mapHeaders/museum2f.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Museum2F_h:
-	db MUSEUM ; tileset
-	db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x)
-	dw Museum2FBlocks, Museum2FTextPointers, Museum2FScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Museum2FObject ; objects
--- a/data/mapHeaders/namerater.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-NameRater_h:
-	db HOUSE ; tileset
-	db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x)
-	dw NameRaterBlocks, NameRaterTextPointers, NameRaterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw NameRaterObject ; objects
--- a/data/mapHeaders/oakslab.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-OaksLab_h:
-	db DOJO ; tileset
-	db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x)
-	dw OaksLabBlocks, OaksLabTextPointers, OaksLabScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw OaksLabObject ; objects
--- a/data/mapHeaders/pallettown.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-PalletTown_h:
-	db OVERWORLD ; tileset
-	db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions (y, x)
-	dw PalletTownBlocks, PalletTownTextPointers, PalletTownScript ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION PALLET_TOWN, ROUTE_1, 0, 0, Route1Blocks
-	SOUTH_MAP_CONNECTION PALLET_TOWN, ROUTE_21, 0, 0, Route21Blocks, 1
-	dw PalletTownObject ; objects
--- a/data/mapHeaders/pewtercity.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-PewterCity_h:
-	db OVERWORLD ; tileset
-	db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x)
-	dw PewterCityBlocks, PewterCityTextPointers, PewterCityScript ; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-	SOUTH_MAP_CONNECTION PEWTER_CITY, ROUTE_2, 5, 0, Route2Blocks
-	EAST_MAP_CONNECTION PEWTER_CITY, ROUTE_3, 4, 0, Route3Blocks
-	dw PewterCityObject ; objects
--- a/data/mapHeaders/pewtergym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PewterGym_h:
-	db GYM ; tileset
-	db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x)
-	dw PewterGymBlocks, PewterGymTextPointers, PewterGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw PewterGymObject ; objects
--- a/data/mapHeaders/pewterhouse1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PewterHouse1_h:
-	db HOUSE ; tileset
-	db PEWTER_HOUSE_1_HEIGHT, PEWTER_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw PewterHouse1Blocks, PewterHouse1TextPointers, PewterHouse1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PewterHouse1Object ; objects
--- a/data/mapHeaders/pewterhouse2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PewterHouse2_h:
-	db HOUSE ; tileset
-	db PEWTER_HOUSE_2_HEIGHT, PEWTER_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw PewterHouse2Blocks, PewterHouse2TextPointers, PewterHouse2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PewterHouse2Object ; objects
--- a/data/mapHeaders/pewtermart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PewterMart_h:
-	db MART ; tileset
-	db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x)
-	dw PewterMartBlocks, PewterMartTextPointers, PewterMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw PewterMartObject ; objects
--- a/data/mapHeaders/pewterpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PewterPokecenter_h:
-	db POKECENTER ; tileset
-	db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x)
-	dw PewterPokecenterBlocks, PewterPokecenterTextPointers, PewterPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw PewterPokecenterObject ; objects
--- a/data/mapHeaders/pokemontower1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PokemonTower1_h:
-	db CEMETERY ; tileset
-	db POKEMONTOWER_1_HEIGHT, POKEMONTOWER_1_WIDTH ; dimensions (y, x)
-	dw PokemonTower1Blocks, PokemonTower1TextPointers, PokemonTower1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PokemonTower1Object ; objects
--- a/data/mapHeaders/pokemontower2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PokemonTower2_h:
-	db CEMETERY ; tileset
-	db POKEMONTOWER_2_HEIGHT, POKEMONTOWER_2_WIDTH ; dimensions (y, x)
-	dw PokemonTower2Blocks, PokemonTower2TextPointers, PokemonTower2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PokemonTower2Object ; objects
--- a/data/mapHeaders/pokemontower3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PokemonTower3_h:
-	db CEMETERY ; tileset
-	db POKEMONTOWER_3_HEIGHT, POKEMONTOWER_3_WIDTH ; dimensions (y, x)
-	dw PokemonTower3Blocks, PokemonTower3TextPointers, PokemonTower3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PokemonTower3Object ; objects
--- a/data/mapHeaders/pokemontower4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PokemonTower4_h:
-	db CEMETERY ; tileset
-	db POKEMONTOWER_4_HEIGHT, POKEMONTOWER_4_WIDTH ; dimensions (y, x)
-	dw PokemonTower4Blocks, PokemonTower4TextPointers, PokemonTower4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PokemonTower4Object ; objects
--- a/data/mapHeaders/pokemontower5.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PokemonTower5_h:
-	db CEMETERY ; tileset
-	db POKEMONTOWER_5_HEIGHT, POKEMONTOWER_5_WIDTH ; dimensions (y, x)
-	dw PokemonTower5Blocks, PokemonTower5TextPointers, PokemonTower5Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PokemonTower5Object ; objects
--- a/data/mapHeaders/pokemontower6.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PokemonTower6_h:
-	db CEMETERY ; tileset
-	db POKEMONTOWER_6_HEIGHT, POKEMONTOWER_6_WIDTH ; dimensions (y, x)
-	dw PokemonTower6Blocks, PokemonTower6TextPointers, PokemonTower6Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PokemonTower6Object ; objects
--- a/data/mapHeaders/pokemontower7.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PokemonTower7_h:
-	db CEMETERY ; tileset
-	db POKEMONTOWER_7_HEIGHT, POKEMONTOWER_7_WIDTH ; dimensions (y, x)
-	dw PokemonTower7Blocks, PokemonTower7TextPointers, PokemonTower7Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw PokemonTower7Object ; objects
--- a/data/mapHeaders/powerplant.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-PowerPlant_h:
-	db FACILITY ; tileset
-	db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x)
-	dw PowerPlantBlocks, PowerPlantTextPointers, PowerPlantScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw PowerPlantObject ; objects
--- a/data/mapHeaders/redshouse1f.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RedsHouse1F_h:
-	db REDS_HOUSE_1 ; tileset
-	db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH ; dimensions (y, x)
-	dw RedsHouse1FBlocks, RedsHouse1FTextPointers, RedsHouse1FScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw RedsHouse1FObject ; objects
--- a/data/mapHeaders/redshouse2f.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RedsHouse2F_h:
-	db REDS_HOUSE_2 ; tileset
-	db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH ; dimensions (y, x)
-	dw RedsHouse2FBlocks, RedsHouse2FTextPointers, RedsHouse2FScript ; blocks, texts, scripts
-	db $00 ; connections
-	dw RedsHouse2FObject ; objects
--- a/data/mapHeaders/rockethideout1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RocketHideout1_h:
-	db FACILITY ; tileset
-	db ROCKET_HIDEOUT_1_HEIGHT, ROCKET_HIDEOUT_1_WIDTH ; dimensions (y, x)
-	dw RocketHideout1Blocks, RocketHideout1TextPointers, RocketHideout1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw RocketHideout1Object ; objects
--- a/data/mapHeaders/rockethideout2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RocketHideout2_h:
-	db FACILITY ; tileset
-	db ROCKET_HIDEOUT_2_HEIGHT, ROCKET_HIDEOUT_2_WIDTH ; dimensions (y, x)
-	dw RocketHideout2Blocks, RocketHideout2TextPointers, RocketHideout2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw RocketHideout2Object ; objects
--- a/data/mapHeaders/rockethideout3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RocketHideout3_h:
-	db FACILITY ; tileset
-	db ROCKET_HIDEOUT_3_HEIGHT, ROCKET_HIDEOUT_3_WIDTH ; dimensions (y, x)
-	dw RocketHideout3Blocks, RocketHideout3TextPointers, RocketHideout3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw RocketHideout3Object ; objects
--- a/data/mapHeaders/rockethideout4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RocketHideout4_h:
-	db FACILITY ; tileset
-	db ROCKET_HIDEOUT_4_HEIGHT, ROCKET_HIDEOUT_4_WIDTH ; dimensions (y, x)
-	dw RocketHideout4Blocks, RocketHideout4TextPointers, RocketHideout4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw RocketHideout4Object ; objects
--- a/data/mapHeaders/rockethideoutelevator.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RocketHideoutElevator_h:
-	db LOBBY ; tileset
-	db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x)
-	dw RocketHideoutElevatorBlocks, RocketHideoutElevatorTextPointers, RocketHideoutElevatorScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw RocketHideoutElevatorObject ; objects
--- a/data/mapHeaders/rocktunnel1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RockTunnel1_h:
-	db CAVERN ; tileset
-	db ROCK_TUNNEL_1_HEIGHT, ROCK_TUNNEL_1_WIDTH ; dimensions (y, x)
-	dw RockTunnel1Blocks, RockTunnel1TextPointers, RockTunnel1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw RockTunnel1Object ; objects
--- a/data/mapHeaders/rocktunnel2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RockTunnel2_h:
-	db CAVERN ; tileset
-	db ROCK_TUNNEL_2_HEIGHT, ROCK_TUNNEL_2_WIDTH ; dimensions (y, x)
-	dw RockTunnel2Blocks, RockTunnel2TextPointers, RockTunnel2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw RockTunnel2Object ; objects
--- a/data/mapHeaders/rocktunnelpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-RockTunnelPokecenter_h:
-	db POKECENTER ; tileset
-	db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x)
-	dw RockTunnelPokecenterBlocks, RockTunnelPokecenterTextPointers, RockTunnelPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw RockTunnelPokecenterObject ; objects
--- a/data/mapHeaders/route1.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route1_h:
-	db OVERWORLD ; tileset
-	db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x)
-	dw Route1Blocks, Route1TextPointers, Route1Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION ROUTE_1, VIRIDIAN_CITY, -3, 2, ViridianCityBlocks
-	SOUTH_MAP_CONNECTION ROUTE_1, PALLET_TOWN, 0, 0, PalletTownBlocks, 1
-	dw Route1Object ; objects
--- a/data/mapHeaders/route10.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route10_h:
-	db OVERWORLD ; tileset
-	db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x)
-	dw Route10Blocks, Route10TextPointers, Route10Script ; blocks, texts, scripts
-	db SOUTH | WEST ; connections
-	SOUTH_MAP_CONNECTION ROUTE_10, LAVENDER_TOWN, 0, 0, LavenderTownBlocks
-	WEST_MAP_CONNECTION ROUTE_10, ROUTE_9, 0, 0, Route9Blocks
-	dw Route10Object ; objects
--- a/data/mapHeaders/route11.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route11_h:
-	db OVERWORLD ; tileset
-	db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x)
-	dw Route11Blocks, Route11TextPointers, Route11Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION ROUTE_11, VERMILION_CITY, -3, 1, VermilionCityBlocks
-	EAST_MAP_CONNECTION ROUTE_11, ROUTE_12, -3, 24, Route12Blocks, 1
-	dw Route11Object ; objects
--- a/data/mapHeaders/route11gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route11Gate_h:
-	db GATE ; tileset
-	db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route11GateBlocks, Route11GateTextPointers, Route11GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route11GateObject ; objects
--- a/data/mapHeaders/route11gateupstairs.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route11GateUpstairs_h:
-	db GATE ; tileset
-	db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route11GateUpstairsBlocks, Route11GateUpstairsTextPointers, Route11GateUpstairsScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route11GateUpstairsObject ; objects
--- a/data/mapHeaders/route12.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-Route12_h:
-	db OVERWORLD ; tileset
-	db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x)
-	dw Route12Blocks, Route12TextPointers, Route12Script ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST ; connections
-	NORTH_MAP_CONNECTION ROUTE_12, LAVENDER_TOWN, 0, 0, LavenderTownBlocks
-	SOUTH_MAP_CONNECTION ROUTE_12, ROUTE_13, -3, 17, Route13Blocks
-	WEST_MAP_CONNECTION ROUTE_12, ROUTE_11, 27, 0, Route11Blocks
-	dw Route12Object ; objects
--- a/data/mapHeaders/route12gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route12Gate_h:
-	db GATE ; tileset
-	db ROUTE_12_GATE_1F_HEIGHT, ROUTE_12_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route12GateBlocks, Route12GateTextPointers, Route12GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route12GateObject ; objects
--- a/data/mapHeaders/route12gateupstairs.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route12GateUpstairs_h:
-	db GATE ; tileset
-	db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route12GateUpstairsBlocks, Route12GateUpstairsTextPointers, Route12GateUpstairsScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route12GateUpstairsObject ; objects
--- a/data/mapHeaders/route12house.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route12House_h:
-	db HOUSE ; tileset
-	db ROUTE_12_HOUSE_HEIGHT, ROUTE_12_HOUSE_WIDTH ; dimensions (y, x)
-	dw Route12HouseBlocks, Route12HouseTextPointers, Route12HouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route12HouseObject ; objects
--- a/data/mapHeaders/route13.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route13_h:
-	db OVERWORLD ; tileset
-	db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x)
-	dw Route13Blocks, Route13TextPointers, Route13Script ; blocks, texts, scripts
-	db NORTH | WEST ; connections
-	NORTH_MAP_CONNECTION ROUTE_13, ROUTE_12, 20, 0, Route12Blocks
-	WEST_MAP_CONNECTION ROUTE_13, ROUTE_14, 0, 0, Route14Blocks
-	dw Route13Object ; objects
--- a/data/mapHeaders/route14.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route14_h:
-	db OVERWORLD ; tileset
-	db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x)
-	dw Route14Blocks, Route14TextPointers, Route14Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION ROUTE_14, ROUTE_15, 18, 0, Route15Blocks
-	EAST_MAP_CONNECTION ROUTE_14, ROUTE_13, 0, 0, Route13Blocks
-	dw Route14Object ; objects
--- a/data/mapHeaders/route15.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route15_h:
-	db OVERWORLD ; tileset
-	db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x)
-	dw Route15Blocks, Route15TextPointers, Route15Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION ROUTE_15, FUCHSIA_CITY, -3, 1, FuchsiaCityBlocks
-	EAST_MAP_CONNECTION ROUTE_15, ROUTE_14, -3, 15, Route14Blocks
-	dw Route15Object ; objects
--- a/data/mapHeaders/route15gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route15Gate_h:
-	db GATE ; tileset
-	db ROUTE_15_GATE_1F_HEIGHT, ROUTE_15_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route15GateBlocks, Route15GateTextPointers, Route15GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route15GateObject ; objects
--- a/data/mapHeaders/route15gateupstairs.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route15GateUpstairs_h:
-	db GATE ; tileset
-	db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route15GateUpstairsBlocks, Route15GateUpstairsTextPointers, Route15GateUpstairsScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route15GateUpstairsObject ; objects
--- a/data/mapHeaders/route16.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route16_h:
-	db OVERWORLD ; tileset
-	db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x)
-	dw Route16Blocks, Route16TextPointers, Route16Script ; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-	SOUTH_MAP_CONNECTION ROUTE_16, ROUTE_17, 0, 0, Route17Blocks
-	EAST_MAP_CONNECTION ROUTE_16, CELADON_CITY, -3, 1, CeladonCityBlocks, 1
-	dw Route16Object ; objects
--- a/data/mapHeaders/route16gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route16Gate_h:
-	db GATE ; tileset
-	db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route16GateBlocks, Route16GateTextPointers, Route16GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route16GateObject ; objects
--- a/data/mapHeaders/route16gateupstairs.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route16GateUpstairs_h:
-	db GATE ; tileset
-	db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route16GateUpstairsBlocks, Route16GateUpstairsTextPointers, Route16GateUpstairsScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route16GateUpstairsObject ; objects
--- a/data/mapHeaders/route16house.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route16House_h:
-	db HOUSE ; tileset
-	db ROUTE_16_HOUSE_HEIGHT, ROUTE_16_HOUSE_WIDTH ; dimensions (y, x)
-	dw Route16HouseBlocks, Route16HouseTextPointers, Route16HouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route16HouseObject ; objects
--- a/data/mapHeaders/route17.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route17_h:
-	db OVERWORLD ; tileset
-	db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x)
-	dw Route17Blocks, Route17TextPointers, Route17Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION ROUTE_17, ROUTE_16, 0, 0, Route16Blocks
-	SOUTH_MAP_CONNECTION ROUTE_17, ROUTE_18, 0, 0, Route18Blocks, 1
-	dw Route17Object ; objects
--- a/data/mapHeaders/route18.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route18_h:
-	db OVERWORLD ; tileset
-	db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x)
-	dw Route18Blocks, Route18TextPointers, Route18Script ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-	NORTH_MAP_CONNECTION ROUTE_18, ROUTE_17, 0, 0, Route17Blocks
-	EAST_MAP_CONNECTION ROUTE_18, FUCHSIA_CITY, -3, 1, FuchsiaCityBlocks, 1
-	dw Route18Object ; objects
--- a/data/mapHeaders/route18gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route18Gate_h:
-	db GATE ; tileset
-	db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x)
-	dw Route18GateBlocks, Route18GateTextPointers, Route18GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route18GateObject ; objects
--- a/data/mapHeaders/route18gateupstairs.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route18GateUpstairs_h:
-	db GATE ; tileset
-	db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x)
-	dw Route18GateUpstairsBlocks, Route18GateUpstairsTextPointers, Route18GateUpstairsScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route18GateUpstairsObject ; objects
--- a/data/mapHeaders/route19.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route19_h:
-	db OVERWORLD ; tileset
-	db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x)
-	dw Route19Blocks, Route19TextPointers, Route19Script ; blocks, texts, scripts
-	db NORTH | WEST ; connections
-	NORTH_MAP_CONNECTION ROUTE_19, FUCHSIA_CITY, -3, 2, FuchsiaCityBlocks
-	WEST_MAP_CONNECTION ROUTE_19, ROUTE_20, 18, 0, Route20Blocks
-	dw Route19Object ; objects
--- a/data/mapHeaders/route2.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route2_h:
-	db OVERWORLD ; tileset
-	db ROUTE_2_HEIGHT, ROUTE_2_WIDTH ; dimensions (y, x)
-	dw Route2Blocks, Route2TextPointers, Route2Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION ROUTE_2, PEWTER_CITY, -3, 2, PewterCityBlocks
-	SOUTH_MAP_CONNECTION ROUTE_2, VIRIDIAN_CITY, -3, 2, ViridianCityBlocks, 1
-	dw Route2Object ; objects
--- a/data/mapHeaders/route20.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route20_h:
-	db OVERWORLD ; tileset
-	db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x)
-	dw Route20Blocks, Route20TextPointers, Route20Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION ROUTE_20, CINNABAR_ISLAND, 0, 0, CinnabarIslandBlocks
-	EAST_MAP_CONNECTION ROUTE_20, ROUTE_19, -3, 15, Route19Blocks
-	dw Route20Object ; objects
--- a/data/mapHeaders/route21.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route21_h:
-	db OVERWORLD ; tileset
-	db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x)
-	dw Route21Blocks, Route21TextPointers, Route21Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION ROUTE_21, PALLET_TOWN, 0, 0, PalletTownBlocks
-	SOUTH_MAP_CONNECTION ROUTE_21, CINNABAR_ISLAND, 0, 0, CinnabarIslandBlocks, 1
-	dw Route21Object ; objects
--- a/data/mapHeaders/route22.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route22_h:
-	db OVERWORLD ; tileset
-	db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x)
-	dw Route22Blocks, Route22TextPointers, Route22Script ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-	NORTH_MAP_CONNECTION ROUTE_22, ROUTE_23, 0, 0, Route23Blocks
-	EAST_MAP_CONNECTION ROUTE_22, VIRIDIAN_CITY, -3, 1, ViridianCityBlocks, 1
-	dw Route22Object ; objects
--- a/data/mapHeaders/route22gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route22Gate_h:
-	db GATE ; tileset
-	db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x)
-	dw Route22GateBlocks, Route22GateTextPointers, Route22GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route22GateObject ; objects
--- a/data/mapHeaders/route23.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route23_h:
-	db PLATEAU ; tileset
-	db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x)
-	dw Route23Blocks, Route23TextPointers, Route23Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION ROUTE_23, INDIGO_PLATEAU, 0, 0, IndigoPlateauBlocks
-	SOUTH_MAP_CONNECTION ROUTE_23, ROUTE_22, 0, 0, Route22Blocks, 1
-	dw Route23Object ; objects
--- a/data/mapHeaders/route24.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route24_h:
-	db OVERWORLD ; tileset
-	db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x)
-	dw Route24Blocks, Route24TextPointers, Route24Script ; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-	SOUTH_MAP_CONNECTION ROUTE_24, CERULEAN_CITY, -3, 2, CeruleanCityBlocks, 1
-	EAST_MAP_CONNECTION ROUTE_24, ROUTE_25, 0, 0, Route25Blocks
-	dw Route24Object ; objects
--- a/data/mapHeaders/route25.asm
+++ /dev/null
@@ -1,7 +1,0 @@
-Route25_h:
-	db OVERWORLD ; tileset
-	db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x)
-	dw Route25Blocks, Route25TextPointers, Route25Script ; blocks, texts, scripts
-	db WEST ; connections
-	WEST_MAP_CONNECTION ROUTE_25, ROUTE_24, 0, 0, Route24Blocks
-	dw Route25Object ; objects
--- a/data/mapHeaders/route2gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route2Gate_h:
-	db GATE ; tileset
-	db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x)
-	dw Route2GateBlocks, Route2GateTextPointers, Route2GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route2GateObject ; objects
--- a/data/mapHeaders/route2house.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route2House_h:
-	db HOUSE ; tileset
-	db ROUTE_2_HOUSE_HEIGHT, ROUTE_2_HOUSE_WIDTH ; dimensions (y, x)
-	dw Route2HouseBlocks, Route2HouseTextPointers, Route2HouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route2HouseObject ; objects
--- a/data/mapHeaders/route3.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route3_h:
-	db OVERWORLD ; tileset
-	db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x)
-	dw Route3Blocks, Route3TextPointers, Route3Script ; blocks, texts, scripts
-	db NORTH | WEST ; connections
-	NORTH_MAP_CONNECTION ROUTE_3, ROUTE_4, 25, 0, Route4Blocks
-	WEST_MAP_CONNECTION ROUTE_3, PEWTER_CITY, -3, 1, PewterCityBlocks
-	dw Route3Object ; objects
--- a/data/mapHeaders/route4.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route4_h:
-	db OVERWORLD ; tileset
-	db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x)
-	dw Route4Blocks, Route4TextPointers, Route4Script ; blocks, texts, scripts
-	db SOUTH | EAST ; connections
-	SOUTH_MAP_CONNECTION ROUTE_4, ROUTE_3, -3, 22, Route3Blocks
-	EAST_MAP_CONNECTION ROUTE_4, CERULEAN_CITY, -3, 1, CeruleanCityBlocks, 1
-	dw Route4Object ; objects
--- a/data/mapHeaders/route5.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route5_h:
-	db OVERWORLD ; tileset
-	db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x)
-	dw Route5Blocks, Route5TextPointers, Route5Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION ROUTE_5, CERULEAN_CITY, -3, 2, CeruleanCityBlocks
-	SOUTH_MAP_CONNECTION ROUTE_5, SAFFRON_CITY, -3, 2, SaffronCityBlocks, 1
-	dw Route5Object ; objects
--- a/data/mapHeaders/route5gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route5Gate_h:
-	db GATE ; tileset
-	db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x)
-	dw Route5GateBlocks, Route5GateTextPointers, Route5GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route5GateObject ; objects
--- a/data/mapHeaders/route6.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route6_h:
-	db OVERWORLD ; tileset
-	db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x)
-	dw Route6Blocks, Route6TextPointers, Route6Script ; blocks, texts, scripts
-	db NORTH | SOUTH ; connections
-	NORTH_MAP_CONNECTION ROUTE_6, SAFFRON_CITY, -3, 2, SaffronCityBlocks
-	SOUTH_MAP_CONNECTION ROUTE_6, VERMILION_CITY, -3, 2, VermilionCityBlocks, 1
-	dw Route6Object ; objects
--- a/data/mapHeaders/route6gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route6Gate_h:
-	db GATE ; tileset
-	db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x)
-	dw Route6GateBlocks, Route6GateTextPointers, Route6GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route6GateObject ; objects
--- a/data/mapHeaders/route7.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route7_h:
-	db OVERWORLD ; tileset
-	db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x)
-	dw Route7Blocks, Route7TextPointers, Route7Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION ROUTE_7, CELADON_CITY, -3, 1, CeladonCityBlocks
-	EAST_MAP_CONNECTION ROUTE_7, SAFFRON_CITY, -3, 1, SaffronCityBlocks, 1
-	dw Route7Object ; objects
--- a/data/mapHeaders/route7gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route7Gate_h:
-	db GATE ; tileset
-	db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x)
-	dw Route7GateBlocks, Route7GateTextPointers, Route7GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route7GateObject ; objects
--- a/data/mapHeaders/route8.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route8_h:
-	db OVERWORLD ; tileset
-	db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x)
-	dw Route8Blocks, Route8TextPointers, Route8Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION ROUTE_8, SAFFRON_CITY, -3, 1, SaffronCityBlocks
-	EAST_MAP_CONNECTION ROUTE_8, LAVENDER_TOWN, 0, 0, LavenderTownBlocks
-	dw Route8Object ; objects
--- a/data/mapHeaders/route8gate.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-Route8Gate_h:
-	db GATE ; tileset
-	db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x)
-	dw Route8GateBlocks, Route8GateTextPointers, Route8GateScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw Route8GateObject ; objects
--- a/data/mapHeaders/route9.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-Route9_h:
-	db OVERWORLD ; tileset
-	db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x)
-	dw Route9Blocks, Route9TextPointers, Route9Script ; blocks, texts, scripts
-	db WEST | EAST ; connections
-	WEST_MAP_CONNECTION ROUTE_9, CERULEAN_CITY, -3, 1, CeruleanCityBlocks
-	EAST_MAP_CONNECTION ROUTE_9, ROUTE_10, 0, 0, Route10Blocks, 1
-	dw Route9Object ; objects
--- a/data/mapHeaders/safarizonecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneCenter_h:
-	db FOREST ; tileset
-	db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x)
-	dw SafariZoneCenterBlocks, SafariZoneCenterTextPointers, SafariZoneCenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneCenterObject ; objects
--- a/data/mapHeaders/safarizoneeast.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneEast_h:
-	db FOREST ; tileset
-	db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x)
-	dw SafariZoneEastBlocks, SafariZoneEastTextPointers, SafariZoneEastScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneEastObject ; objects
--- a/data/mapHeaders/safarizoneentrance.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneEntrance_h:
-	db GATE ; tileset
-	db SAFARI_ZONE_ENTRANCE_HEIGHT, SAFARI_ZONE_ENTRANCE_WIDTH ; dimensions (y, x)
-	dw SafariZoneEntranceBlocks, SafariZoneEntranceTextPointers, SafariZoneEntranceScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneEntranceObject ; objects
--- a/data/mapHeaders/safarizonenorth.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneNorth_h:
-	db FOREST ; tileset
-	db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x)
-	dw SafariZoneNorthBlocks, SafariZoneNorthTextPointers, SafariZoneNorthScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneNorthObject ; objects
--- a/data/mapHeaders/safarizoneresthouse1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneRestHouse1_h:
-	db GATE ; tileset
-	db SAFARI_ZONE_REST_HOUSE_1_HEIGHT, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw SafariZoneRestHouse1Blocks, SafariZoneRestHouse1TextPointers, SafariZoneRestHouse1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneRestHouse1Object ; objects
--- a/data/mapHeaders/safarizoneresthouse2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneRestHouse2_h:
-	db GATE ; tileset
-	db SAFARI_ZONE_REST_HOUSE_2_HEIGHT, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw SafariZoneRestHouse2Blocks, SafariZoneRestHouse2TextPointers, SafariZoneRestHouse2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneRestHouse2Object ; objects
--- a/data/mapHeaders/safarizoneresthouse3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneRestHouse3_h:
-	db GATE ; tileset
-	db SAFARI_ZONE_REST_HOUSE_3_HEIGHT, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; dimensions (y, x)
-	dw SafariZoneRestHouse3Blocks, SafariZoneRestHouse3TextPointers, SafariZoneRestHouse3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneRestHouse3Object ; objects
--- a/data/mapHeaders/safarizoneresthouse4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneRestHouse4_h:
-	db GATE ; tileset
-	db SAFARI_ZONE_REST_HOUSE_4_HEIGHT, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; dimensions (y, x)
-	dw SafariZoneRestHouse4Blocks, SafariZoneRestHouse4TextPointers, SafariZoneRestHouse4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneRestHouse4Object ; objects
--- a/data/mapHeaders/safarizonesecrethouse.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneSecretHouse_h:
-	db LAB ; tileset
-	db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x)
-	dw SafariZoneSecretHouseBlocks, SafariZoneSecretHouseTextPointers, SafariZoneSecretHouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneSecretHouseObject ; objects
--- a/data/mapHeaders/safarizonewest.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SafariZoneWest_h:
-	db FOREST ; tileset
-	db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x)
-	dw SafariZoneWestBlocks, SafariZoneWestTextPointers, SafariZoneWestScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SafariZoneWestObject ; objects
--- a/data/mapHeaders/saffroncity.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-SaffronCity_h:
-	db OVERWORLD ; tileset
-	db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x)
-	dw SaffronCityBlocks, SaffronCityTextPointers, SaffronCityScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST | EAST ; connections
-	NORTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_5, 5, 0, Route5Blocks
-	SOUTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_6, 5, 0, Route6Blocks, 1
-	WEST_MAP_CONNECTION SAFFRON_CITY, ROUTE_7, 4, 0, Route7Blocks
-	EAST_MAP_CONNECTION SAFFRON_CITY, ROUTE_8, 4, 0, Route8Blocks
-	dw SaffronCityObject ; objects
--- a/data/mapHeaders/saffrongym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SaffronGym_h:
-	db FACILITY ; tileset
-	db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x)
-	dw SaffronGymBlocks, SaffronGymTextPointers, SaffronGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SaffronGymObject ; objects
--- a/data/mapHeaders/saffronhouse1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SaffronHouse1_h:
-	db HOUSE ; tileset
-	db SAFFRON_HOUSE_1_HEIGHT, SAFFRON_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw SaffronHouse1Blocks, SaffronHouse1TextPointers, SaffronHouse1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SaffronHouse1Object ; objects
--- a/data/mapHeaders/saffronhouse2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SaffronHouse2_h:
-	db HOUSE ; tileset
-	db SAFFRON_HOUSE_2_HEIGHT, SAFFRON_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw SaffronHouse2Blocks, SaffronHouse2TextPointers, SaffronHouse2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SaffronHouse2Object ; objects
--- a/data/mapHeaders/saffronmart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SaffronMart_h:
-	db MART ; tileset
-	db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x)
-	dw SaffronMartBlocks, SaffronMartTextPointers, SaffronMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SaffronMartObject ; objects
--- a/data/mapHeaders/saffronpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SaffronPokecenter_h:
-	db POKECENTER ; tileset
-	db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x)
-	dw SaffronPokecenterBlocks, SaffronPokecenterTextPointers, SaffronPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SaffronPokecenterObject ; objects
--- a/data/mapHeaders/school.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-School_h:
-	db HOUSE ; tileset
-	db VIRIDIAN_SCHOOL_HEIGHT, VIRIDIAN_SCHOOL_WIDTH ; dimensions (y, x)
-	dw SchoolBlocks, SchoolTextPointers, SchoolScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SchoolObject ; objects
--- a/data/mapHeaders/seafoamislands1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SeafoamIslands1_h:
-	db CAVERN ; tileset
-	db SEAFOAM_ISLANDS_1_HEIGHT, SEAFOAM_ISLANDS_1_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands1Blocks, SeafoamIslands1TextPointers, SeafoamIslands1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SeafoamIslands1Object ; objects
--- a/data/mapHeaders/seafoamislands2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SeafoamIslands2_h:
-	db CAVERN ; tileset
-	db SEAFOAM_ISLANDS_2_HEIGHT, SEAFOAM_ISLANDS_2_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands2Blocks, SeafoamIslands2TextPointers, SeafoamIslands2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SeafoamIslands2Object ; objects
--- a/data/mapHeaders/seafoamislands3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SeafoamIslands3_h:
-	db CAVERN ; tileset
-	db SEAFOAM_ISLANDS_3_HEIGHT, SEAFOAM_ISLANDS_3_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands3Blocks, SeafoamIslands3TextPointers, SeafoamIslands3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SeafoamIslands3Object ; objects
--- a/data/mapHeaders/seafoamislands4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SeafoamIslands4_h:
-	db CAVERN ; tileset
-	db SEAFOAM_ISLANDS_4_HEIGHT, SEAFOAM_ISLANDS_4_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands4Blocks, SeafoamIslands4TextPointers, SeafoamIslands4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SeafoamIslands4Object ; objects
--- a/data/mapHeaders/seafoamislands5.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SeafoamIslands5_h:
-	db CAVERN ; tileset
-	db SEAFOAM_ISLANDS_5_HEIGHT, SEAFOAM_ISLANDS_5_WIDTH ; dimensions (y, x)
-	dw SeafoamIslands5Blocks, SeafoamIslands5TextPointers, SeafoamIslands5Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SeafoamIslands5Object ; objects
--- a/data/mapHeaders/silphco1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo1_h:
-	db FACILITY ; tileset
-	db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x)
-	dw SilphCo1Blocks, SilphCo1TextPointers, SilphCo1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo1Object ; objects
--- a/data/mapHeaders/silphco10.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo10_h:
-	db FACILITY ; tileset
-	db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x)
-	dw SilphCo10Blocks, SilphCo10TextPointers, SilphCo10Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo10Object ; objects
--- a/data/mapHeaders/silphco11.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo11_h:
-	db INTERIOR ; tileset
-	db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x)
-	dw SilphCo11Blocks, SilphCo11TextPointers, SilphCo11Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo11Object ; objects
--- a/data/mapHeaders/silphco2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo2_h:
-	db FACILITY ; tileset
-	db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x)
-	dw SilphCo2Blocks, SilphCo2TextPointers, SilphCo2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo2Object ; objects
--- a/data/mapHeaders/silphco3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo3_h:
-	db FACILITY ; tileset
-	db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x)
-	dw SilphCo3Blocks, SilphCo3TextPointers, SilphCo3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo3Object ; objects
--- a/data/mapHeaders/silphco4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo4_h:
-	db FACILITY ; tileset
-	db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x)
-	dw SilphCo4Blocks, SilphCo4TextPointers, SilphCo4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo4Object ; objects
--- a/data/mapHeaders/silphco5.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo5_h:
-	db FACILITY ; tileset
-	db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x)
-	dw SilphCo5Blocks, SilphCo5TextPointers, SilphCo5Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo5Object ; objects
--- a/data/mapHeaders/silphco6.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo6_h:
-	db FACILITY ; tileset
-	db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x)
-	dw SilphCo6Blocks, SilphCo6TextPointers, SilphCo6Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo6Object ; objects
--- a/data/mapHeaders/silphco7.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo7_h:
-	db FACILITY ; tileset
-	db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x)
-	dw SilphCo7Blocks, SilphCo7TextPointers, SilphCo7Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo7Object ; objects
--- a/data/mapHeaders/silphco8.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo8_h:
-	db FACILITY ; tileset
-	db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x)
-	dw SilphCo8Blocks, SilphCo8TextPointers, SilphCo8Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo8Object ; objects
--- a/data/mapHeaders/silphco9.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCo9_h:
-	db FACILITY ; tileset
-	db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x)
-	dw SilphCo9Blocks, SilphCo9TextPointers, SilphCo9Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCo9Object ; objects
--- a/data/mapHeaders/silphcoelevator.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SilphCoElevator_h:
-	db LOBBY ; tileset
-	db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x)
-	dw SilphCoElevatorBlocks, SilphCoElevatorTextPointers, SilphCoElevatorScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw SilphCoElevatorObject ; objects
--- a/data/mapHeaders/ssanne1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne1_h:
-	db SHIP ; tileset
-	db SS_ANNE_1_HEIGHT, SS_ANNE_1_WIDTH ; dimensions (y, x)
-	dw SSAnne1Blocks, SSAnne1TextPointers, SSAnne1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne1Object ; objects
--- a/data/mapHeaders/ssanne10.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne10_h:
-	db SHIP ; tileset
-	db SS_ANNE_10_HEIGHT, SS_ANNE_10_WIDTH ; dimensions (y, x)
-	dw SSAnne10Blocks, SSAnne10TextPointers, SSAnne10Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne10Object ; objects
--- a/data/mapHeaders/ssanne2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne2_h:
-	db SHIP ; tileset
-	db SS_ANNE_2_HEIGHT, SS_ANNE_2_WIDTH ; dimensions (y, x)
-	dw SSAnne2Blocks, SSAnne2TextPointers, SSAnne2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne2Object ; objects
--- a/data/mapHeaders/ssanne3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne3_h:
-	db SHIP ; tileset
-	db SS_ANNE_3_HEIGHT, SS_ANNE_3_WIDTH ; dimensions (y, x)
-	dw SSAnne3Blocks, SSAnne3TextPointers, SSAnne3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne3Object ; objects
--- a/data/mapHeaders/ssanne4.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne4_h:
-	db SHIP ; tileset
-	db SS_ANNE_4_HEIGHT, SS_ANNE_4_WIDTH ; dimensions (y, x)
-	dw SSAnne4Blocks, SSAnne4TextPointers, SSAnne4Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne4Object ; objects
--- a/data/mapHeaders/ssanne5.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne5_h:
-	db SHIP ; tileset
-	db SS_ANNE_5_HEIGHT, SS_ANNE_5_WIDTH ; dimensions (y, x)
-	dw SSAnne5Blocks, SSAnne5TextPointers, SSAnne5Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne5Object ; objects
--- a/data/mapHeaders/ssanne6.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne6_h:
-	db SHIP ; tileset
-	db SS_ANNE_6_HEIGHT, SS_ANNE_6_WIDTH ; dimensions (y, x)
-	dw SSAnne6Blocks, SSAnne6TextPointers, SSAnne6Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne6Object ; objects
--- a/data/mapHeaders/ssanne7.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne7_h:
-	db SHIP ; tileset
-	db SS_ANNE_7_HEIGHT, SS_ANNE_7_WIDTH ; dimensions (y, x)
-	dw SSAnne7Blocks, SSAnne7TextPointers, SSAnne7Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne7Object ; objects
--- a/data/mapHeaders/ssanne8.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne8_h:
-	db SHIP ; tileset
-	db SS_ANNE_8_HEIGHT, SS_ANNE_8_WIDTH ; dimensions (y, x)
-	dw SSAnne8Blocks, SSAnne8TextPointers, SSAnne8Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne8Object ; objects
--- a/data/mapHeaders/ssanne9.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-SSAnne9_h:
-	db SHIP ; tileset
-	db SS_ANNE_9_HEIGHT, SS_ANNE_9_WIDTH ; dimensions (y, x)
-	dw SSAnne9Blocks, SSAnne9TextPointers, SSAnne9Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw SSAnne9Object ; objects
--- a/data/mapHeaders/tradecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-TradeCenter_h:
-	db CLUB ; tileset
-	db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x)
-	dw TradeCenterBlocks, TradeCenterTextPointers, TradeCenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw TradeCenterObject ; objects
--- a/data/mapHeaders/undergroundpathentranceroute5.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UndergroundPathEntranceRoute5_h:
-	db GATE ; tileset
-	db PATH_ENTRANCE_ROUTE_5_HEIGHT, PATH_ENTRANCE_ROUTE_5_WIDTH ; dimensions (y, x)
-	dw UndergroundPathEntranceRoute5Blocks, UndergroundPathEntranceRoute5TextPointers, UndergroundPathEntranceRoute5Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw UndergroundPathEntranceRoute5Object ; objects
--- a/data/mapHeaders/undergroundpathentranceroute6.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UndergroundPathEntranceRoute6_h:
-	db GATE ; tileset
-	db PATH_ENTRANCE_ROUTE_6_HEIGHT, PATH_ENTRANCE_ROUTE_6_WIDTH ; dimensions (y, x)
-	dw UndergroundPathEntranceRoute6Blocks, UndergroundPathEntranceRoute6TextPointers, UndergroundPathEntranceRoute6Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw UndergroundPathEntranceRoute6Object ; objects
--- a/data/mapHeaders/undergroundpathentranceroute7.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UndergroundPathEntranceRoute7_h:
-	db GATE ; tileset
-	db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x)
-	dw UndergroundPathEntranceRoute7Blocks, UndergroundPathEntranceRoute7TextPointers, UndergroundPathEntranceRoute7Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw UndergroundPathEntranceRoute7Object ; objects
--- a/data/mapHeaders/undergroundpathentranceroute7copy.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UndergroundPathEntranceRoute7Copy_h:
-	db GATE ; tileset
-	db PATH_ENTRANCE_ROUTE_7_HEIGHT, PATH_ENTRANCE_ROUTE_7_WIDTH ; dimensions (y, x)
-	dw UndergroundPathEntranceRoute7CopyBlocks, UndergroundPathEntranceRoute7CopyTextPointers, UndergroundPathEntranceRoute7CopyScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw UndergroundPathEntranceRoute7CopyObject ; objects
--- a/data/mapHeaders/undergroundpathentranceroute8.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UndergroundPathEntranceRoute8_h:
-	db GATE ; tileset
-	db PATH_ENTRANCE_ROUTE_8_HEIGHT, PATH_ENTRANCE_ROUTE_8_WIDTH ; dimensions (y, x)
-	dw UndergroundPathEntranceRoute8Blocks, UndergroundPathEntranceRoute8TextPointers, UndergroundPathEntranceRoute8Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw UndergroundPathEntranceRoute8Object ; objects
--- a/data/mapHeaders/undergroundpathns.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UndergroundPathNS_h:
-	db UNDERGROUND ; tileset
-	db UNDERGROUND_PATH_NS_HEIGHT, UNDERGROUND_PATH_NS_WIDTH ; dimensions (y, x)
-	dw UndergroundPathNSBlocks, UndergroundPathNSTextPointers, UndergroundPathNSScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw UndergroundPathNSObject ; objects
--- a/data/mapHeaders/undergroundpathwe.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UndergroundPathWE_h:
-	db UNDERGROUND ; tileset
-	db UNDERGROUND_PATH_WE_HEIGHT, UNDERGROUND_PATH_WE_WIDTH ; dimensions (y, x)
-	dw UndergroundPathWEBlocks, UndergroundPathWETextPointers, UndergroundPathWEScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw UndergroundPathWEObject ; objects
--- a/data/mapHeaders/unknowndungeon1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UnknownDungeon1_h:
-	db CAVERN ; tileset
-	db UNKNOWN_DUNGEON_1_HEIGHT, UNKNOWN_DUNGEON_1_WIDTH ; dimensions (y, x)
-	dw UnknownDungeon1Blocks, UnknownDungeon1TextPointers, UnknownDungeon1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw UnknownDungeon1Object ; objects
--- a/data/mapHeaders/unknowndungeon2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UnknownDungeon2_h:
-	db CAVERN ; tileset
-	db UNKNOWN_DUNGEON_2_HEIGHT, UNKNOWN_DUNGEON_2_WIDTH ; dimensions (y, x)
-	dw UnknownDungeon2Blocks, UnknownDungeon2TextPointers, UnknownDungeon2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw UnknownDungeon2Object ; objects
--- a/data/mapHeaders/unknowndungeon3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-UnknownDungeon3_h:
-	db CAVERN ; tileset
-	db UNKNOWN_DUNGEON_3_HEIGHT, UNKNOWN_DUNGEON_3_WIDTH ; dimensions (y, x)
-	dw UnknownDungeon3Blocks, UnknownDungeon3TextPointers, UnknownDungeon3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw UnknownDungeon3Object ; objects
--- a/data/mapHeaders/vermilioncity.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-VermilionCity_h:
-	db OVERWORLD ; tileset
-	db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x)
-	dw VermilionCityBlocks, VermilionCityTextPointers, VermilionCityScript ; blocks, texts, scripts
-	db NORTH | EAST ; connections
-	NORTH_MAP_CONNECTION VERMILION_CITY, ROUTE_6, 5, 0, Route6Blocks
-	EAST_MAP_CONNECTION VERMILION_CITY, ROUTE_11, 4, 0, Route11Blocks
-	dw VermilionCityObject ; objects
--- a/data/mapHeaders/vermiliondock.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VermilionDock_h:
-	db SHIP_PORT ; tileset
-	db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x)
-	dw VermilionDockBlocks, VermilionDockTextPointers, VermilionDockScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw VermilionDockObject ; objects
--- a/data/mapHeaders/vermiliongym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VermilionGym_h:
-	db GYM ; tileset
-	db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x)
-	dw VermilionGymBlocks, VermilionGymTextPointers, VermilionGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw VermilionGymObject ; objects
--- a/data/mapHeaders/vermilionhouse1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VermilionHouse1_h:
-	db HOUSE ; tileset
-	db VERMILION_HOUSE_1_HEIGHT, VERMILION_HOUSE_1_WIDTH ; dimensions (y, x)
-	dw VermilionHouse1Blocks, VermilionHouse1TextPointers, VermilionHouse1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw VermilionHouse1Object ; objects
--- a/data/mapHeaders/vermilionhouse2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VermilionHouse2_h:
-	db HOUSE ; tileset
-	db VERMILION_HOUSE_2_HEIGHT, VERMILION_HOUSE_2_WIDTH ; dimensions (y, x)
-	dw VermilionHouse2Blocks, VermilionHouse2TextPointers, VermilionHouse2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw VermilionHouse2Object ; objects
--- a/data/mapHeaders/vermilionhouse3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VermilionHouse3_h:
-	db HOUSE ; tileset
-	db VERMILION_HOUSE_3_HEIGHT, VERMILION_HOUSE_3_WIDTH ; dimensions (y, x)
-	dw VermilionHouse3Blocks, VermilionHouse3TextPointers, VermilionHouse3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw VermilionHouse3Object ; objects
--- a/data/mapHeaders/vermilionmart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VermilionMart_h:
-	db MART ; tileset
-	db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x)
-	dw VermilionMartBlocks, VermilionMartTextPointers, VermilionMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw VermilionMartObject ; objects
--- a/data/mapHeaders/vermilionpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VermilionPokecenter_h:
-	db POKECENTER ; tileset
-	db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x)
-	dw VermilionPokecenterBlocks, VermilionPokecenterTextPointers, VermilionPokecenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw VermilionPokecenterObject ; objects
--- a/data/mapHeaders/victoryroad1.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VictoryRoad1_h:
-	db CAVERN ; tileset
-	db VICTORY_ROAD_1_HEIGHT, VICTORY_ROAD_1_WIDTH ; dimensions (y, x)
-	dw VictoryRoad1Blocks, VictoryRoad1TextPointers, VictoryRoad1Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw VictoryRoad1Object ; objects
--- a/data/mapHeaders/victoryroad2.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VictoryRoad2_h:
-	db CAVERN ; tileset
-	db VICTORY_ROAD_2_HEIGHT, VICTORY_ROAD_2_WIDTH ; dimensions (y, x)
-	dw VictoryRoad2Blocks, VictoryRoad2TextPointers, VictoryRoad2Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw VictoryRoad2Object ; objects
--- a/data/mapHeaders/victoryroad3.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-VictoryRoad3_h:
-	db CAVERN ; tileset
-	db VICTORY_ROAD_3_HEIGHT, VICTORY_ROAD_3_WIDTH ; dimensions (y, x)
-	dw VictoryRoad3Blocks, VictoryRoad3TextPointers, VictoryRoad3Script ; blocks, texts, scripts
-	db 0 ; connections
-	dw VictoryRoad3Object ; objects
--- a/data/mapHeaders/viridiancity.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-ViridianCity_h:
-	db OVERWORLD ; tileset
-	db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x)
-	dw ViridianCityBlocks, ViridianCityTextPointers, ViridianCityScript ; blocks, texts, scripts
-	db NORTH | SOUTH | WEST ; connections
-	NORTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_2, 5, 0, Route2Blocks
-	SOUTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_1, 5, 0, Route1Blocks, 1
-	WEST_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_22, 4, 0, Route22Blocks
-	dw ViridianCityObject ; objects
--- a/data/mapHeaders/viridianforest.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-ViridianForest_h:
-	db FOREST ; tileset
-	db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x)
-	dw ViridianForestBlocks, ViridianForestTextPointers, ViridianForestScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ViridianForestObject ; objects
--- a/data/mapHeaders/viridianforestentrance.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-ViridianForestEntrance_h:
-	db FOREST_GATE ; tileset
-	db VIRIDIAN_FOREST_ENTRANCE_HEIGHT, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; dimensions (y, x)
-	dw ViridianForestEntranceBlocks, ViridianForestEntranceTextPointers, ViridianForestEntranceScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ViridianForestEntranceObject ; objects
--- a/data/mapHeaders/viridianforestexit.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-ViridianForestExit_h:
-	db FOREST_GATE ; tileset
-	db VIRIDIAN_FOREST_EXIT_HEIGHT, VIRIDIAN_FOREST_EXIT_WIDTH ; dimensions (y, x)
-	dw ViridianForestExitBlocks, ViridianForestExitTextPointers, ViridianForestExitScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ViridianForestExitObject ; objects
--- a/data/mapHeaders/viridiangym.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-ViridianGym_h:
-	db GYM ; tileset
-	db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x)
-	dw ViridianGymBlocks, ViridianGymTextPointers, ViridianGymScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ViridianGymObject ; objects
--- a/data/mapHeaders/viridianhouse.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-ViridianHouse_h:
-	db HOUSE ; tileset
-	db VIRIDIAN_HOUSE_HEIGHT, VIRIDIAN_HOUSE_WIDTH ; dimensions (y, x)
-	dw ViridianHouseBlocks, ViridianHouseTextPointers, ViridianHouseScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ViridianHouseObject ; objects
--- a/data/mapHeaders/viridianmart.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-ViridianMart_h:
-	db MART ; tileset
-	db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x)
-	dw ViridianMartBlocks, ViridianMartTextPointers, ViridianMartScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ViridianMartObject ; objects
--- a/data/mapHeaders/viridianpokecenter.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-ViridianPokecenter_h:
-	db POKECENTER ; tileset
-	db VIRIDIAN_POKECENTER_HEIGHT, VIRIDIAN_POKECENTER_WIDTH ; dimensions (y, x)
-	dw ViridianPokecenterBlocks, ViridianPokecenterTextPointers, ViridianPokeCenterScript ; blocks, texts, scripts
-	db 0 ; connections
-	dw ViridianPokecenterObject ; objects
--- /dev/null
+++ b/data/mapObjects/AgathasRoom.asm
@@ -1,0 +1,19 @@
+AgathasRoom_Object:
+	db $0 ; border block
+
+	db 4 ; warps
+	warp 4, 11, 2, BRUNOS_ROOM
+	warp 5, 11, 3, BRUNOS_ROOM
+	warp 4, 0, 0, LANCES_ROOM
+	warp 5, 0, 0, LANCES_ROOM
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1
+
+	; warp-to
+	warp_to 4, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM
+	warp_to 5, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM
+	warp_to 4, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM
+	warp_to 5, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM
--- /dev/null
+++ b/data/mapObjects/BikeShop.asm
@@ -1,0 +1,17 @@
+BikeShop_Object:
+	db $e ; border block
+
+	db 2 ; warps
+	warp 2, 7, 4, -1
+	warp 3, 7, 4, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_BIKE_SHOP_GUY, 6, 2, STAY, NONE, 1 ; person
+	object SPRITE_MOM_GEISHA, 5, 6, WALK, 1, 2 ; person
+	object SPRITE_BUG_CATCHER, 1, 3, STAY, UP, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, BIKE_SHOP_WIDTH
+	warp_to 3, 7, BIKE_SHOP_WIDTH
--- /dev/null
+++ b/data/mapObjects/BillsHouse.asm
@@ -1,0 +1,17 @@
+BillsHouse_Object:
+	db $d ; border block
+
+	db 2 ; warps
+	warp 2, 7, 0, -1
+	warp 3, 7, 0, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_SLOWBRO, 6, 5, STAY, NONE, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 4, 4, STAY, NONE, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 6, 5, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, BILLS_HOUSE_WIDTH
+	warp_to 3, 7, BILLS_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/BluesHouse.asm
@@ -1,0 +1,17 @@
+BluesHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 1, -1
+	warp 3, 7, 1, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map
+	object SPRITE_DAISY, 6, 4, WALK, 1, 2, 0 ; Daisy, walking around
+	object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 3, 0 ; map on table
+
+	; warp-to
+	warp_to 2, 7, BLUES_HOUSE_WIDTH
+	warp_to 3, 7, BLUES_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/BrunosRoom.asm
@@ -1,0 +1,19 @@
+BrunosRoom_Object:
+	db $3 ; border block
+
+	db 4 ; warps
+	warp 4, 11, 2, LORELEIS_ROOM
+	warp 5, 11, 3, LORELEIS_ROOM
+	warp 4, 0, 0, AGATHAS_ROOM
+	warp 5, 0, 1, AGATHAS_ROOM
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1
+
+	; warp-to
+	warp_to 4, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM
+	warp_to 5, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM
+	warp_to 4, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM
+	warp_to 5, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM
--- /dev/null
+++ b/data/mapObjects/CeladonChiefHouse.asm
@@ -1,0 +1,17 @@
+CeladonChiefHouse_Object:
+	db $f ; border block
+
+	db 2 ; warps
+	warp 2, 7, 11, -1
+	warp 3, 7, 11, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_OLD_PERSON, 4, 2, STAY, DOWN, 1 ; person
+	object SPRITE_ROCKET, 1, 4, WALK, 0, 2 ; person
+	object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, CELADON_CHIEF_HOUSE_WIDTH
+	warp_to 3, 7, CELADON_CHIEF_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeladonCity.asm
@@ -1,0 +1,54 @@
+CeladonCity_Object:
+	db $f ; border block
+
+	db 13 ; warps
+	warp 8, 13, 0, CELADON_MART_1F
+	warp 10, 13, 2, CELADON_MART_1F
+	warp 24, 9, 0, CELADON_MANSION_1F
+	warp 24, 3, 2, CELADON_MANSION_1F
+	warp 25, 3, 2, CELADON_MANSION_1F
+	warp 41, 9, 0, CELADON_POKECENTER
+	warp 12, 27, 0, CELADON_GYM
+	warp 28, 19, 0, GAME_CORNER
+	warp 39, 19, 0, CELADON_MART_5F ; beta warp! no longer used
+	warp 33, 19, 0, GAME_CORNER_PRIZE_ROOM
+	warp 31, 27, 0, CELADON_DINER
+	warp 35, 27, 0, CELADON_CHIEF_HOUSE
+	warp 43, 27, 0, CELADON_HOTEL
+
+	db 9 ; signs
+	sign 27, 15, 10 ; CeladonCityText10
+	sign 19, 15, 11 ; CeladonCityText11
+	sign 42, 9, 12 ; PokeCenterSignText
+	sign 13, 29, 13 ; CeladonCityText13
+	sign 21, 9, 14 ; CeladonCityText14
+	sign 12, 13, 15 ; CeladonCityText15
+	sign 39, 21, 16 ; CeladonCityText16
+	sign 33, 21, 17 ; CeladonCityText17
+	sign 27, 21, 18 ; CeladonCityText18
+
+	db 9 ; objects
+	object SPRITE_LITTLE_GIRL, 8, 17, WALK, 0, 1 ; person
+	object SPRITE_OLD_PERSON, 11, 28, STAY, UP, 2 ; person
+	object SPRITE_GIRL, 14, 19, WALK, 1, 3 ; person
+	object SPRITE_OLD_PERSON, 25, 22, STAY, DOWN, 4 ; person
+	object SPRITE_OLD_PERSON, 22, 16, STAY, DOWN, 5 ; person
+	object SPRITE_FISHER2, 32, 12, STAY, LEFT, 6 ; person
+	object SPRITE_SLOWBRO, 30, 12, STAY, RIGHT, 7 ; person
+	object SPRITE_ROCKET, 32, 29, WALK, 2, 8 ; person
+	object SPRITE_ROCKET, 42, 14, WALK, 2, 9 ; person
+
+	; warp-to
+	warp_to 8, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F
+	warp_to 10, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F
+	warp_to 24, 9, CELADON_CITY_WIDTH ; CELADON_MANSION_1F
+	warp_to 24, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F
+	warp_to 25, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F
+	warp_to 41, 9, CELADON_CITY_WIDTH ; CELADON_POKECENTER
+	warp_to 12, 27, CELADON_CITY_WIDTH ; CELADON_GYM
+	warp_to 28, 19, CELADON_CITY_WIDTH ; GAME_CORNER
+	warp_to 39, 19, CELADON_CITY_WIDTH ; CELADON_MART_5F
+	warp_to 33, 19, CELADON_CITY_WIDTH ; GAME_CORNER_PRIZE_ROOM
+	warp_to 31, 27, CELADON_CITY_WIDTH ; CELADON_DINER
+	warp_to 35, 27, CELADON_CITY_WIDTH ; CELADON_CHIEF_HOUSE
+	warp_to 43, 27, CELADON_CITY_WIDTH ; CELADON_HOTEL
--- /dev/null
+++ b/data/mapObjects/CeladonDiner.asm
@@ -1,0 +1,19 @@
+CeladonDiner_Object:
+	db $f ; border block
+
+	db 2 ; warps
+	warp 3, 7, 10, -1
+	warp 4, 7, 10, -1
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_COOK, 8, 5, WALK, 2, 1 ; person
+	object SPRITE_MOM_GEISHA, 7, 2, STAY, NONE, 2 ; person
+	object SPRITE_FAT_BALD_GUY, 1, 4, STAY, DOWN, 3 ; person
+	object SPRITE_FISHER2, 5, 3, STAY, RIGHT, 4 ; person
+	object SPRITE_GYM_HELPER, 0, 1, STAY, DOWN, 5 ; person
+
+	; warp-to
+	warp_to 3, 7, CELADON_DINER_WIDTH
+	warp_to 4, 7, CELADON_DINER_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeladonGym.asm
@@ -1,0 +1,22 @@
+CeladonGym_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 17, 6, -1
+	warp 5, 17, 6, -1
+
+	db 0 ; signs
+
+	db 8 ; objects
+	object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1
+	object SPRITE_LASS, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17
+	object SPRITE_FOULARD_WOMAN, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1
+	object SPRITE_LASS, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11
+	object SPRITE_FOULARD_WOMAN, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2
+	object SPRITE_LASS, 6, 3, STAY, DOWN, 6, OPP_LASS, 18
+	object SPRITE_FOULARD_WOMAN, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3
+	object SPRITE_LASS, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1
+
+	; warp-to
+	warp_to 4, 17, CELADON_GYM_WIDTH
+	warp_to 5, 17, CELADON_GYM_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeladonHotel.asm
@@ -1,0 +1,17 @@
+CeladonHotel_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 12, -1
+	warp 4, 7, 12, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_OLD_MEDIUM_WOMAN, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_FOULARD_WOMAN, 2, 4, STAY, NONE, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 8, 4, WALK, 2, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, CELADON_HOTEL_WIDTH
+	warp_to 4, 7, CELADON_HOTEL_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeladonMansion1F.asm
@@ -1,0 +1,25 @@
+CeladonMansion1F_Object:
+	db $f ; border block
+
+	db 5 ; warps
+	warp 4, 11, 2, -1
+	warp 5, 11, 2, -1
+	warp 4, 0, 4, -1
+	warp 7, 1, 1, CELADON_MANSION_2F
+	warp 2, 1, 2, CELADON_MANSION_2F
+
+	db 1 ; signs
+	sign 4, 9, 5 ; CeladonMansion1Text5
+
+	db 4 ; objects
+	object SPRITE_SLOWBRO, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_OLD_MEDIUM_WOMAN, 1, 5, STAY, DOWN, 2 ; person
+	object SPRITE_CLEFAIRY, 1, 8, WALK, 2, 3 ; person
+	object SPRITE_SLOWBRO, 4, 4, WALK, 1, 4 ; person
+
+	; warp-to
+	warp_to 4, 11, CELADON_MANSION_1F_WIDTH
+	warp_to 5, 11, CELADON_MANSION_1F_WIDTH
+	warp_to 4, 0, CELADON_MANSION_1F_WIDTH
+	warp_to 7, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F
+	warp_to 2, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F
--- /dev/null
+++ b/data/mapObjects/CeladonMansion2F.asm
@@ -1,0 +1,19 @@
+CeladonMansion2F_Object:
+	db $f ; border block
+
+	db 4 ; warps
+	warp 6, 1, 0, CELADON_MANSION_3F
+	warp 7, 1, 3, CELADON_MANSION_1F
+	warp 2, 1, 4, CELADON_MANSION_1F
+	warp 4, 1, 3, CELADON_MANSION_3F
+
+	db 1 ; signs
+	sign 4, 9, 1 ; CeladonMansion2Text1
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 6, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F
+	warp_to 7, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F
+	warp_to 2, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F
+	warp_to 4, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F
--- /dev/null
+++ b/data/mapObjects/CeladonMansion3F.asm
@@ -1,0 +1,26 @@
+CeladonMansion3F_Object:
+	db $f ; border block
+
+	db 4 ; warps
+	warp 6, 1, 0, CELADON_MANSION_2F
+	warp 7, 1, 0, CELADON_MANSION_ROOF
+	warp 2, 1, 1, CELADON_MANSION_ROOF
+	warp 4, 1, 3, CELADON_MANSION_2F
+
+	db 4 ; signs
+	sign 1, 3, 5 ; CeladonMansion3Text5
+	sign 4, 3, 6 ; CeladonMansion3Text6
+	sign 1, 6, 7 ; CeladonMansion3Text7
+	sign 4, 9, 8 ; CeladonMansion3Text8
+
+	db 4 ; objects
+	object SPRITE_BIKE_SHOP_GUY, 0, 4, STAY, UP, 1 ; person
+	object SPRITE_MART_GUY, 3, 4, STAY, UP, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 0, 7, STAY, UP, 3 ; person
+	object SPRITE_LAPRAS_GIVER, 2, 3, STAY, NONE, 4 ; person
+
+	; warp-to
+	warp_to 6, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F
+	warp_to 7, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF
+	warp_to 2, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF
+	warp_to 4, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F
--- /dev/null
+++ b/data/mapObjects/CeladonMansionRoof.asm
@@ -1,0 +1,17 @@
+CeladonMansionRoof_Object:
+	db $9 ; border block
+
+	db 3 ; warps
+	warp 6, 1, 1, CELADON_MANSION_3F
+	warp 2, 1, 2, CELADON_MANSION_3F
+	warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE
+
+	db 1 ; signs
+	sign 3, 7, 1 ; CeladonMansion4Text1
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 6, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F
+	warp_to 2, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F
+	warp_to 2, 7, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_ROOF_HOUSE
--- /dev/null
+++ b/data/mapObjects/CeladonMansionRoofHouse.asm
@@ -1,0 +1,16 @@
+CeladonMansionRoofHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 2, CELADON_MANSION_ROOF
+	warp 3, 7, 2, CELADON_MANSION_ROOF
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person
+	object SPRITE_BALL, 4, 3, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF
+	warp_to 3, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF
--- /dev/null
+++ b/data/mapObjects/CeladonMart1F.asm
@@ -1,0 +1,25 @@
+CeladonMart1F_Object:
+	db $f ; border block
+
+	db 6 ; warps
+	warp 2, 7, 0, -1
+	warp 3, 7, 0, -1
+	warp 16, 7, 1, -1
+	warp 17, 7, 1, -1
+	warp 12, 1, 0, CELADON_MART_2F
+	warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+	db 2 ; signs
+	sign 11, 4, 2 ; CeladonMart1Text2
+	sign 14, 1, 3 ; CeladonMart1Text3
+
+	db 1 ; objects
+	object SPRITE_CABLE_CLUB_WOMAN, 8, 3, STAY, DOWN, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, CELADON_MART_1F_WIDTH
+	warp_to 3, 7, CELADON_MART_1F_WIDTH
+	warp_to 16, 7, CELADON_MART_1F_WIDTH
+	warp_to 17, 7, CELADON_MART_1F_WIDTH
+	warp_to 12, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_2F
+	warp_to 1, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/CeladonMart2F.asm
@@ -1,0 +1,21 @@
+CeladonMart2F_Object:
+	db $f ; border block
+
+	db 3 ; warps
+	warp 12, 1, 4, CELADON_MART_1F
+	warp 16, 1, 1, CELADON_MART_3F
+	warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+	db 1 ; signs
+	sign 14, 1, 5 ; CeladonMart2Text5
+
+	db 4 ; objects
+	object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 1 ; person
+	object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 2 ; person
+	object SPRITE_FAT_BALD_GUY, 19, 5, STAY, NONE, 3 ; person
+	object SPRITE_GIRL, 14, 4, WALK, 1, 4 ; person
+
+	; warp-to
+	warp_to 12, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_1F
+	warp_to 16, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_3F
+	warp_to 1, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/CeladonMart3F.asm
@@ -1,0 +1,33 @@
+CeladonMart3F_Object:
+	db $f ; border block
+
+	db 3 ; warps
+	warp 12, 1, 0, CELADON_MART_4F
+	warp 16, 1, 1, CELADON_MART_2F
+	warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+	db 12 ; signs
+	sign 2, 4, 6 ; CeladonMart3Text6
+	sign 3, 4, 7 ; CeladonMart3Text7
+	sign 5, 4, 8 ; CeladonMart3Text8
+	sign 6, 4, 9 ; CeladonMart3Text9
+	sign 2, 6, 10 ; CeladonMart3Text10
+	sign 3, 6, 11 ; CeladonMart3Text11
+	sign 5, 6, 12 ; CeladonMart3Text12
+	sign 6, 6, 13 ; CeladonMart3Text13
+	sign 14, 1, 14 ; CeladonMart3Text14
+	sign 4, 1, 15 ; CeladonMart3Text15
+	sign 6, 1, 16 ; CeladonMart3Text16
+	sign 10, 1, 17 ; CeladonMart3Text17
+
+	db 5 ; objects
+	object SPRITE_MART_GUY, 16, 5, STAY, NONE, 1 ; person
+	object SPRITE_GAMEBOY_KID_COPY, 11, 6, STAY, RIGHT, 2 ; person
+	object SPRITE_GAMEBOY_KID_COPY, 7, 2, STAY, DOWN, 3 ; person
+	object SPRITE_GAMEBOY_KID_COPY, 8, 2, STAY, DOWN, 4 ; person
+	object SPRITE_YOUNG_BOY, 2, 5, STAY, UP, 5 ; person
+
+	; warp-to
+	warp_to 12, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_4F
+	warp_to 16, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_2F
+	warp_to 1, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/CeladonMart4F.asm
@@ -1,0 +1,20 @@
+CeladonMart4F_Object:
+	db $f ; border block
+
+	db 3 ; warps
+	warp 12, 1, 0, CELADON_MART_3F
+	warp 16, 1, 1, CELADON_MART_5F
+	warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+	db 1 ; signs
+	sign 14, 1, 4 ; CeladonMart4Text4
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 5, 7, STAY, NONE, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 15, 5, WALK, 2, 2 ; person
+	object SPRITE_BUG_CATCHER, 5, 2, WALK, 2, 3 ; person
+
+	; warp-to
+	warp_to 12, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_3F
+	warp_to 16, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_5F
+	warp_to 1, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/CeladonMart5F.asm
@@ -1,0 +1,21 @@
+CeladonMart5F_Object:
+	db $f ; border block
+
+	db 3 ; warps
+	warp 12, 1, 0, CELADON_MART_ROOF
+	warp 16, 1, 1, CELADON_MART_4F
+	warp 1, 1, 0, CELADON_MART_ELEVATOR
+
+	db 1 ; signs
+	sign 14, 1, 5 ; CeladonMart5Text5
+
+	db 4 ; objects
+	object SPRITE_GENTLEMAN, 14, 5, WALK, 1, 1 ; person
+	object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person
+	object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 3 ; person
+	object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 12, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ROOF
+	warp_to 16, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_4F
+	warp_to 1, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/CeladonMartElevator.asm
@@ -1,0 +1,15 @@
+CeladonMartElevator_Object:
+	db $f ; border block
+
+	db 2 ; warps
+	warp 1, 3, 5, CELADON_MART_1F
+	warp 2, 3, 5, CELADON_MART_1F
+
+	db 1 ; signs
+	sign 3, 0, 1 ; CeladonMartElevatorText1
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 1, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F
+	warp_to 2, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F
--- /dev/null
+++ b/data/mapObjects/CeladonMartRoof.asm
@@ -1,0 +1,18 @@
+CeladonMartRoof_Object:
+	db $42 ; border block
+
+	db 1 ; warps
+	warp 15, 2, 0, CELADON_MART_5F
+
+	db 4 ; signs
+	sign 10, 1, 3 ; CeladonMartRoofText3
+	sign 11, 1, 4 ; CeladonMartRoofText4
+	sign 12, 2, 5 ; CeladonMartRoofText5
+	sign 13, 2, 6 ; CeladonMartRoofText6
+
+	db 2 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 10, 4, STAY, LEFT, 1 ; person
+	object SPRITE_LITTLE_GIRL, 5, 5, WALK, 0, 2 ; person
+
+	; warp-to
+	warp_to 15, 2, CELADON_MART_ROOF_WIDTH ; CELADON_MART_5F
--- /dev/null
+++ b/data/mapObjects/CeladonPokecenter.asm
@@ -1,0 +1,18 @@
+CeladonPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 5, -1
+	warp 4, 7, 5, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person
+	object SPRITE_FOULARD_WOMAN, 10, 5, WALK, 0, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, CELADON_POKECENTER_WIDTH
+	warp_to 4, 7, CELADON_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeruleanBadgeHouse.asm
@@ -1,0 +1,17 @@
+CeruleanBadgeHouse_Object:
+	db $c ; border block
+
+	db 3 ; warps
+	warp 2, 0, 9, -1
+	warp 2, 7, 8, -1
+	warp 3, 7, 8, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FAT_BALD_GUY, 5, 3, STAY, RIGHT, 1 ; person
+
+	; warp-to
+	warp_to 2, 0, CERULEAN_BADGE_HOUSE_WIDTH
+	warp_to 2, 7, CERULEAN_BADGE_HOUSE_WIDTH
+	warp_to 3, 7, CERULEAN_BADGE_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeruleanCave1F.asm
@@ -1,0 +1,31 @@
+CeruleanCave1F_Object:
+	db $7d ; border block
+
+	db 9 ; warps
+	warp 24, 17, 6, -1
+	warp 25, 17, 6, -1
+	warp 27, 1, 0, CERULEAN_CAVE_2F
+	warp 23, 7, 1, CERULEAN_CAVE_2F
+	warp 18, 9, 2, CERULEAN_CAVE_2F
+	warp 7, 1, 3, CERULEAN_CAVE_2F
+	warp 1, 3, 4, CERULEAN_CAVE_2F
+	warp 3, 11, 5, CERULEAN_CAVE_2F
+	warp 0, 6, 0, CERULEAN_CAVE_B1F
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE
+	object SPRITE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER
+	object SPRITE_BALL, 5, 0, STAY, NONE, 3, NUGGET
+
+	; warp-to
+	warp_to 24, 17, CERULEAN_CAVE_1F_WIDTH
+	warp_to 25, 17, CERULEAN_CAVE_1F_WIDTH
+	warp_to 27, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+	warp_to 23, 7, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+	warp_to 18, 9, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+	warp_to 7, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+	warp_to 1, 3, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+	warp_to 3, 11, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F
+	warp_to 0, 6, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_B1F
--- /dev/null
+++ b/data/mapObjects/CeruleanCave2F.asm
@@ -1,0 +1,25 @@
+CeruleanCave2F_Object:
+	db $7d ; border block
+
+	db 6 ; warps
+	warp 29, 1, 2, CERULEAN_CAVE_1F
+	warp 22, 6, 3, CERULEAN_CAVE_1F
+	warp 19, 7, 4, CERULEAN_CAVE_1F
+	warp 9, 1, 5, CERULEAN_CAVE_1F
+	warp 1, 3, 6, CERULEAN_CAVE_1F
+	warp 3, 11, 7, CERULEAN_CAVE_1F
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_BALL, 29, 9, STAY, NONE, 1, PP_UP
+	object SPRITE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL
+	object SPRITE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE
+
+	; warp-to
+	warp_to 29, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+	warp_to 22, 6, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+	warp_to 19, 7, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+	warp_to 9, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+	warp_to 1, 3, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
+	warp_to 3, 11, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F
--- /dev/null
+++ b/data/mapObjects/CeruleanCaveB1F.asm
@@ -1,0 +1,15 @@
+CeruleanCaveB1F_Object:
+	db $7d ; border block
+
+	db 1 ; warps
+	warp 3, 6, 8, CERULEAN_CAVE_1F
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_SLOWBRO, 27, 13, STAY, DOWN, 1, MEWTWO, 70
+	object SPRITE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL
+	object SPRITE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE
+
+	; warp-to
+	warp_to 3, 6, CERULEAN_CAVE_B1F_WIDTH ; CERULEAN_CAVE_1F
--- /dev/null
+++ b/data/mapObjects/CeruleanCity.asm
@@ -1,0 +1,47 @@
+CeruleanCity_Object:
+	db $f ; border block
+
+	db 10 ; warps
+	warp 27, 11, 0, CERULEAN_TRASHED_HOUSE
+	warp 13, 15, 0, CERULEAN_TRADE_HOUSE
+	warp 19, 17, 0, CERULEAN_POKECENTER
+	warp 30, 19, 0, CERULEAN_GYM
+	warp 13, 25, 0, BIKE_SHOP
+	warp 25, 25, 0, CERULEAN_MART
+	warp 4, 11, 0, CERULEAN_CAVE_1F
+	warp 27, 9, 2, CERULEAN_TRASHED_HOUSE
+	warp 9, 11, 1, CERULEAN_BADGE_HOUSE
+	warp 9, 9, 0, CERULEAN_BADGE_HOUSE
+
+	db 6 ; signs
+	sign 23, 19, 12 ; CeruleanCityText12
+	sign 17, 29, 13 ; CeruleanCityText13
+	sign 26, 25, 14 ; MartSignText
+	sign 20, 17, 15 ; PokeCenterSignText
+	sign 11, 25, 16 ; CeruleanCityText16
+	sign 27, 21, 17 ; CeruleanCityText17
+
+	db 11 ; objects
+	object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person
+	object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5
+	object SPRITE_BLACK_HAIR_BOY_1, 31, 20, STAY, DOWN, 3 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 15, 18, WALK, 1, 4 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 9, 21, WALK, 2, 5 ; person
+	object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person
+	object SPRITE_LASS, 29, 26, STAY, LEFT, 7 ; person
+	object SPRITE_SLOWBRO, 28, 26, STAY, DOWN, 8 ; person
+	object SPRITE_LASS, 9, 27, WALK, 2, 9 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 4, 12, STAY, DOWN, 10 ; person
+	object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person
+
+	; warp-to
+	warp_to 27, 11, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE
+	warp_to 13, 15, CERULEAN_CITY_WIDTH ; CERULEAN_TRADE_HOUSE
+	warp_to 19, 17, CERULEAN_CITY_WIDTH ; CERULEAN_POKECENTER
+	warp_to 30, 19, CERULEAN_CITY_WIDTH ; CERULEAN_GYM
+	warp_to 13, 25, CERULEAN_CITY_WIDTH ; BIKE_SHOP
+	warp_to 25, 25, CERULEAN_CITY_WIDTH ; CERULEAN_MART
+	warp_to 4, 11, CERULEAN_CITY_WIDTH ; CERULEAN_CAVE_1F
+	warp_to 27, 9, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE
+	warp_to 9, 11, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE
+	warp_to 9, 9, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE
--- /dev/null
+++ b/data/mapObjects/CeruleanGym.asm
@@ -1,0 +1,18 @@
+CeruleanGym_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 13, 3, -1
+	warp 5, 13, 3, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1
+	object SPRITE_LASS, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1
+	object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1
+	object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 4, 13, CERULEAN_GYM_WIDTH
+	warp_to 5, 13, CERULEAN_GYM_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeruleanMart.asm
@@ -1,0 +1,17 @@
+CeruleanMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 5, -1
+	warp 4, 7, 5, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 3, 4, WALK, 1, 2 ; person
+	object SPRITE_LASS, 6, 2, WALK, 2, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, CERULEAN_MART_WIDTH
+	warp_to 4, 7, CERULEAN_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeruleanPokecenter.asm
@@ -1,0 +1,18 @@
+CeruleanPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 2, -1
+	warp 4, 7, 2, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 10, 5, WALK, 0, 2 ; person
+	object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, CERULEAN_POKECENTER_WIDTH
+	warp_to 4, 7, CERULEAN_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeruleanTradeHouse.asm
@@ -1,0 +1,16 @@
+CeruleanTradeHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 1, -1
+	warp 3, 7, 1, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_OLD_MEDIUM_WOMAN, 5, 4, STAY, LEFT, 1 ; person
+	object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, CERULEAN_TRADE_HOUSE_WIDTH
+	warp_to 3, 7, CERULEAN_TRADE_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/CeruleanTrashedHouse.asm
@@ -1,0 +1,19 @@
+CeruleanTrashedHouse_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 2, 7, 0, -1
+	warp 3, 7, 0, -1
+	warp 3, 0, 7, -1
+
+	db 1 ; signs
+	sign 3, 0, 3 ; CeruleanHouseTrashedText3
+
+	db 2 ; objects
+	object SPRITE_FISHER, 2, 1, STAY, DOWN, 1 ; person
+	object SPRITE_GIRL, 5, 6, WALK, 2, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, CERULEAN_TRASHED_HOUSE_WIDTH
+	warp_to 3, 7, CERULEAN_TRASHED_HOUSE_WIDTH
+	warp_to 3, 0, CERULEAN_TRASHED_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/ChampionsRoom.asm
@@ -1,0 +1,20 @@
+ChampionsRoom_Object:
+	db $3 ; border block
+
+	db 4 ; warps
+	warp 3, 7, 1, LANCES_ROOM
+	warp 4, 7, 2, LANCES_ROOM
+	warp 3, 0, 0, HALL_OF_FAME
+	warp 4, 0, 0, HALL_OF_FAME
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person
+	object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person
+
+	; warp-to
+	warp_to 3, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM
+	warp_to 4, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM
+	warp_to 3, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME
+	warp_to 4, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME
--- /dev/null
+++ b/data/mapObjects/CinnabarGym.asm
@@ -1,0 +1,23 @@
+CinnabarGym_Object:
+	db $2e ; border block
+
+	db 2 ; warps
+	warp 16, 17, 1, -1
+	warp 17, 17, 1, -1
+
+	db 0 ; signs
+
+	db 9 ; objects
+	object SPRITE_FAT_BALD_GUY, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1
+	object SPRITE_BLACK_HAIR_BOY_2, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9
+	object SPRITE_BLACK_HAIR_BOY_2, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4
+	object SPRITE_BLACK_HAIR_BOY_2, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10
+	object SPRITE_BLACK_HAIR_BOY_2, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5
+	object SPRITE_BLACK_HAIR_BOY_2, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12
+	object SPRITE_GYM_HELPER, 16, 13, STAY, DOWN, 9 ; person
+
+	; warp-to
+	warp_to 16, 17, CINNABAR_GYM_WIDTH
+	warp_to 17, 17, CINNABAR_GYM_WIDTH
--- /dev/null
+++ b/data/mapObjects/CinnabarIsland.asm
@@ -1,0 +1,27 @@
+CinnabarIsland_Object:
+	db $43 ; border block
+
+	db 5 ; warps
+	warp 6, 3, 1, POKEMON_MANSION_1F
+	warp 18, 3, 0, CINNABAR_GYM
+	warp 6, 9, 0, CINNABAR_LAB
+	warp 11, 11, 0, CINNABAR_POKECENTER
+	warp 15, 11, 0, CINNABAR_MART
+
+	db 5 ; signs
+	sign 9, 5, 3 ; CinnabarIslandText3
+	sign 16, 11, 4 ; MartSignText
+	sign 12, 11, 5 ; PokeCenterSignText
+	sign 9, 11, 6 ; CinnabarIslandText6
+	sign 13, 3, 7 ; CinnabarIslandText7
+
+	db 2 ; objects
+	object SPRITE_GIRL, 12, 5, WALK, 2, 1 ; person
+	object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 6, 3, CINNABAR_ISLAND_WIDTH ; POKEMON_MANSION_1F
+	warp_to 18, 3, CINNABAR_ISLAND_WIDTH ; CINNABAR_GYM
+	warp_to 6, 9, CINNABAR_ISLAND_WIDTH ; CINNABAR_LAB
+	warp_to 11, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_POKECENTER
+	warp_to 15, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_MART
--- /dev/null
+++ b/data/mapObjects/CinnabarLab.asm
@@ -1,0 +1,25 @@
+CinnabarLab_Object:
+	db $17 ; border block
+
+	db 5 ; warps
+	warp 2, 7, 2, -1
+	warp 3, 7, 2, -1
+	warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM
+	warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM
+	warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM
+
+	db 4 ; signs
+	sign 3, 2, 2 ; Lab1Text2
+	sign 9, 4, 3 ; Lab1Text3
+	sign 13, 4, 4 ; Lab1Text4
+	sign 17, 4, 5 ; Lab1Text5
+
+	db 1 ; objects
+	object SPRITE_FISHER, 1, 3, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, CINNABAR_LAB_WIDTH
+	warp_to 3, 7, CINNABAR_LAB_WIDTH
+	warp_to 8, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_TRADE_ROOM
+	warp_to 12, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_METRONOME_ROOM
+	warp_to 16, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_FOSSIL_ROOM
--- /dev/null
+++ b/data/mapObjects/CinnabarLabFossilRoom.asm
@@ -1,0 +1,16 @@
+CinnabarLabFossilRoom_Object:
+	db $17 ; border block
+
+	db 2 ; warps
+	warp 2, 7, 4, CINNABAR_LAB
+	warp 3, 7, 4, CINNABAR_LAB
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_OAK_AIDE, 5, 2, WALK, 2, 1 ; person
+	object SPRITE_OAK_AIDE, 7, 6, STAY, UP, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB
+	warp_to 3, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB
--- /dev/null
+++ b/data/mapObjects/CinnabarLabMetronomeRoom.asm
@@ -1,0 +1,19 @@
+CinnabarLabMetronomeRoom_Object:
+	db $17 ; border block
+
+	db 2 ; warps
+	warp 2, 7, 3, CINNABAR_LAB
+	warp 3, 7, 3, CINNABAR_LAB
+
+	db 3 ; signs
+	sign 0, 4, 3 ; Lab3Text3
+	sign 1, 4, 4 ; Lab3Text4
+	sign 2, 1, 5 ; Lab3Text5
+
+	db 2 ; objects
+	object SPRITE_OAK_AIDE, 7, 2, STAY, DOWN, 1 ; person
+	object SPRITE_OAK_AIDE, 2, 3, WALK, 2, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB
+	warp_to 3, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB
--- /dev/null
+++ b/data/mapObjects/CinnabarLabTradeRoom.asm
@@ -1,0 +1,17 @@
+CinnabarLabTradeRoom_Object:
+	db $17 ; border block
+
+	db 2 ; warps
+	warp 2, 7, 2, CINNABAR_LAB
+	warp 3, 7, 2, CINNABAR_LAB
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, DOWN, 1 ; person
+	object SPRITE_OLD_PERSON, 1, 4, STAY, NONE, 2 ; person
+	object SPRITE_FOULARD_WOMAN, 5, 5, STAY, UP, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB
+	warp_to 3, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB
--- /dev/null
+++ b/data/mapObjects/CinnabarMart.asm
@@ -1,0 +1,17 @@
+CinnabarMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 4, -1
+	warp 4, 7, 4, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person
+	object SPRITE_OAK_AIDE, 3, 4, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, CINNABAR_MART_WIDTH
+	warp_to 4, 7, CINNABAR_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/CinnabarPokecenter.asm
@@ -1,0 +1,18 @@
+CinnabarPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 3, -1
+	warp 4, 7, 3, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_LASS, 9, 4, WALK, 0, 2 ; person
+	object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, CINNABAR_POKECENTER_WIDTH
+	warp_to 4, 7, CINNABAR_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/Colosseum.asm
@@ -1,0 +1,9 @@
+Colosseum_Object:
+	db $e ; border block
+
+	db 0 ; warps
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
--- /dev/null
+++ b/data/mapObjects/CopycatsHouse1F.asm
@@ -1,0 +1,19 @@
+CopycatsHouse1F_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 2, 7, 0, -1
+	warp 3, 7, 0, -1
+	warp 7, 1, 0, COPYCATS_HOUSE_2F
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MOM_GEISHA, 2, 2, STAY, DOWN, 1 ; person
+	object SPRITE_FAT_BALD_GUY, 5, 4, STAY, LEFT, 2 ; person
+	object SPRITE_CLEFAIRY, 1, 4, WALK, 1, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH
+	warp_to 3, 7, COPYCATS_HOUSE_1F_WIDTH
+	warp_to 7, 1, COPYCATS_HOUSE_1F_WIDTH ; COPYCATS_HOUSE_2F
--- /dev/null
+++ b/data/mapObjects/CopycatsHouse2F.asm
@@ -1,0 +1,19 @@
+CopycatsHouse2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 1, 2, COPYCATS_HOUSE_1F
+
+	db 2 ; signs
+	sign 3, 5, 6 ; CopycatsHouse2FText6
+	sign 0, 1, 7 ; CopycatsHouse2FText7
+
+	db 5 ; objects
+	object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, 0, 1 ; person
+	object SPRITE_BIRD, 4, 6, WALK, 2, 2 ; person
+	object SPRITE_SLOWBRO, 5, 1, STAY, DOWN, 3 ; person
+	object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person
+	object SPRITE_CLEFAIRY, 1, 6, STAY, RIGHT, 5 ; person
+
+	; warp-to
+	warp_to 7, 1, COPYCATS_HOUSE_2F_WIDTH ; COPYCATS_HOUSE_1F
--- /dev/null
+++ b/data/mapObjects/Daycare.asm
@@ -1,0 +1,15 @@
+Daycare_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 4, -1
+	warp 3, 7, 4, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, DAYCARE_WIDTH
+	warp_to 3, 7, DAYCARE_WIDTH
--- /dev/null
+++ b/data/mapObjects/DiglettsCave.asm
@@ -1,0 +1,14 @@
+DiglettsCave_Object:
+	db $19 ; border block
+
+	db 2 ; warps
+	warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2
+	warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 5, 5, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_2
+	warp_to 37, 31, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_11
--- /dev/null
+++ b/data/mapObjects/DiglettsCaveRoute11.asm
@@ -1,0 +1,17 @@
+DiglettsCaveRoute11_Object:
+	db $7d ; border block
+
+	db 3 ; warps
+	warp 2, 7, 4, -1
+	warp 3, 7, 4, -1
+	warp 4, 4, 1, DIGLETTS_CAVE
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH
+	warp_to 3, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH
+	warp_to 4, 4, DIGLETTS_CAVE_ROUTE_11_WIDTH ; DIGLETTS_CAVE
--- /dev/null
+++ b/data/mapObjects/DiglettsCaveRoute2.asm
@@ -1,0 +1,17 @@
+DiglettsCaveRoute2_Object:
+	db $7d ; border block
+
+	db 3 ; warps
+	warp 2, 7, 0, -1
+	warp 3, 7, 0, -1
+	warp 4, 4, 0, DIGLETTS_CAVE
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FISHER, 3, 3, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH
+	warp_to 3, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH
+	warp_to 4, 4, DIGLETTS_CAVE_ROUTE_2_WIDTH ; DIGLETTS_CAVE
--- /dev/null
+++ b/data/mapObjects/FightingDojo.asm
@@ -1,0 +1,21 @@
+FightingDojo_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 11, 1, -1
+	warp 5, 11, 1, -1
+
+	db 0 ; signs
+
+	db 7 ; objects
+	object SPRITE_HIKER, 5, 3, STAY, DOWN, 1, OPP_BLACKBELT, 1
+	object SPRITE_HIKER, 3, 4, STAY, RIGHT, 2, OPP_BLACKBELT, 2
+	object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3
+	object SPRITE_HIKER, 5, 5, STAY, LEFT, 4, OPP_BLACKBELT, 4
+	object SPRITE_HIKER, 5, 7, STAY, LEFT, 5, OPP_BLACKBELT, 5
+	object SPRITE_BALL, 4, 1, STAY, NONE, 6 ; person
+	object SPRITE_BALL, 5, 1, STAY, NONE, 7 ; person
+
+	; warp-to
+	warp_to 4, 11, FIGHTING_DOJO_WIDTH
+	warp_to 5, 11, FIGHTING_DOJO_WIDTH
--- /dev/null
+++ b/data/mapObjects/FuchsiaBillsGrandpasHouse.asm
@@ -1,0 +1,17 @@
+FuchsiaBillsGrandpasHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 1, -1
+	warp 3, 7, 1, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MOM_GEISHA, 2, 3, STAY, RIGHT, 1 ; person
+	object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person
+	object SPRITE_BUG_CATCHER, 5, 5, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH
+	warp_to 3, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/FuchsiaCity.asm
@@ -1,0 +1,52 @@
+FuchsiaCity_Object:
+	db $f ; border block
+
+	db 9 ; warps
+	warp 5, 13, 0, FUCHSIA_MART
+	warp 11, 27, 0, FUCHSIA_BILLS_GRANDPAS_HOUSE
+	warp 19, 27, 0, FUCHSIA_POKECENTER
+	warp 27, 27, 0, WARDENS_HOUSE
+	warp 18, 3, 0, SAFARI_ZONE_GATE
+	warp 5, 27, 0, FUCHSIA_GYM
+	warp 22, 13, 0, FUCHSIA_MEETING_ROOM
+	warp 31, 27, 1, FUCHSIA_GOOD_ROD_HOUSE
+	warp 31, 24, 0, FUCHSIA_GOOD_ROD_HOUSE
+
+	db 14 ; signs
+	sign 15, 23, 11 ; FuchsiaCityText11
+	sign 25, 15, 12 ; FuchsiaCityText12
+	sign 17, 5, 13 ; FuchsiaCityText13
+	sign 6, 13, 14 ; MartSignText
+	sign 20, 27, 15 ; PokeCenterSignText
+	sign 27, 29, 16 ; FuchsiaCityText16
+	sign 21, 15, 17 ; FuchsiaCityText17
+	sign 5, 29, 18 ; FuchsiaCityText18
+	sign 33, 7, 19 ; FuchsiaCityText19
+	sign 27, 7, 20 ; FuchsiaCityText20
+	sign 13, 7, 21 ; FuchsiaCityText21
+	sign 31, 13, 22 ; FuchsiaCityText22
+	sign 13, 15, 23 ; FuchsiaCityText23
+	sign 7, 7, 24 ; FuchsiaCityText24
+
+	db 10 ; objects
+	object SPRITE_BUG_CATCHER, 10, 12, WALK, 2, 1 ; person
+	object SPRITE_GAMBLER, 28, 17, WALK, 2, 2 ; person
+	object SPRITE_FISHER2, 30, 14, STAY, DOWN, 3 ; person
+	object SPRITE_BUG_CATCHER, 24, 8, STAY, UP, 4 ; person
+	object SPRITE_CLEFAIRY, 31, 5, WALK, 0, 5 ; person
+	object SPRITE_BALL, 25, 6, STAY, NONE, 6 ; person
+	object SPRITE_SLOWBRO, 12, 6, WALK, 2, 7 ; person
+	object SPRITE_SLOWBRO, 30, 12, WALK, 2, 8 ; person
+	object SPRITE_SEEL, 8, 17, WALK, 0, 9 ; person
+	object SPRITE_OMANYTE, 6, 5, STAY, NONE, 10 ; person
+
+	; warp-to
+	warp_to 5, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MART
+	warp_to 11, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_BILLS_GRANDPAS_HOUSE
+	warp_to 19, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_POKECENTER
+	warp_to 27, 27, FUCHSIA_CITY_WIDTH ; WARDENS_HOUSE
+	warp_to 18, 3, FUCHSIA_CITY_WIDTH ; SAFARI_ZONE_GATE
+	warp_to 5, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GYM
+	warp_to 22, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MEETING_ROOM
+	warp_to 31, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE
+	warp_to 31, 24, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE
--- /dev/null
+++ b/data/mapObjects/FuchsiaGoodRodHouse.asm
@@ -1,0 +1,17 @@
+FuchsiaGoodRodHouse_Object:
+	db $c ; border block
+
+	db 3 ; warps
+	warp 2, 0, 8, -1
+	warp 2, 7, 7, -1
+	warp 3, 7, 7, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FISHER, 5, 3, STAY, RIGHT, 1 ; person
+
+	; warp-to
+	warp_to 2, 0, FUCHSIA_GOOD_ROD_HOUSE_WIDTH
+	warp_to 2, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH
+	warp_to 3, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/FuchsiaGym.asm
@@ -1,0 +1,22 @@
+FuchsiaGym_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 17, 5, -1
+	warp 5, 17, 5, -1
+
+	db 0 ; signs
+
+	db 8 ; objects
+	object SPRITE_BLACKBELT, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1
+	object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7
+	object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3
+	object SPRITE_ROCKER, 1, 12, STAY, DOWN, 4, OPP_JUGGLER, 8
+	object SPRITE_ROCKER, 3, 5, STAY, UP, 5, OPP_TAMER, 1
+	object SPRITE_ROCKER, 8, 2, STAY, DOWN, 6, OPP_TAMER, 2
+	object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4
+	object SPRITE_GYM_HELPER, 7, 15, STAY, DOWN, 8 ; person
+
+	; warp-to
+	warp_to 4, 17, FUCHSIA_GYM_WIDTH
+	warp_to 5, 17, FUCHSIA_GYM_WIDTH
--- /dev/null
+++ b/data/mapObjects/FuchsiaMart.asm
@@ -1,0 +1,17 @@
+FuchsiaMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 0, -1
+	warp 4, 7, 0, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_FAT_BALD_GUY, 4, 2, STAY, NONE, 2 ; person
+	object SPRITE_LASS, 6, 5, WALK, 1, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, FUCHSIA_MART_WIDTH
+	warp_to 4, 7, FUCHSIA_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/FuchsiaMeetingRoom.asm
@@ -1,0 +1,17 @@
+FuchsiaMeetingRoom_Object:
+	db $17 ; border block
+
+	db 2 ; warps
+	warp 4, 7, 6, -1
+	warp 5, 7, 6, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_WHITE_PLAYER, 4, 1, STAY, DOWN, 1 ; person
+	object SPRITE_WHITE_PLAYER, 0, 2, STAY, UP, 2 ; person
+	object SPRITE_WHITE_PLAYER, 10, 1, STAY, DOWN, 3 ; person
+
+	; warp-to
+	warp_to 4, 7, FUCHSIA_MEETING_ROOM_WIDTH
+	warp_to 5, 7, FUCHSIA_MEETING_ROOM_WIDTH
--- /dev/null
+++ b/data/mapObjects/FuchsiaPokecenter.asm
@@ -1,0 +1,18 @@
+FuchsiaPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 2, -1
+	warp 4, 7, 2, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person
+	object SPRITE_LASS, 6, 5, WALK, 2, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, FUCHSIA_POKECENTER_WIDTH
+	warp_to 4, 7, FUCHSIA_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/GameCorner.asm
@@ -1,0 +1,28 @@
+GameCorner_Object:
+	db $f ; border block
+
+	db 3 ; warps
+	warp 15, 17, 7, -1
+	warp 16, 17, 7, -1
+	warp 17, 4, 1, ROCKET_HIDEOUT_B1F
+
+	db 1 ; signs
+	sign 9, 4, 12 ; CeladonGameCornerText12
+
+	db 11 ; objects
+	object SPRITE_FOULARD_WOMAN, 2, 6, STAY, DOWN, 1 ; person
+	object SPRITE_MART_GUY, 5, 6, STAY, DOWN, 2 ; person
+	object SPRITE_FAT_BALD_GUY, 2, 10, STAY, LEFT, 3 ; person
+	object SPRITE_FOULARD_WOMAN, 2, 13, STAY, LEFT, 4 ; person
+	object SPRITE_FISHER, 5, 11, STAY, RIGHT, 5 ; person
+	object SPRITE_MOM_GEISHA, 8, 11, STAY, LEFT, 6 ; person
+	object SPRITE_GYM_HELPER, 8, 14, STAY, LEFT, 7 ; person
+	object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person
+	object SPRITE_MART_GUY, 14, 11, STAY, LEFT, 9 ; person
+	object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person
+	object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7
+
+	; warp-to
+	warp_to 15, 17, GAME_CORNER_WIDTH
+	warp_to 16, 17, GAME_CORNER_WIDTH
+	warp_to 17, 4, GAME_CORNER_WIDTH ; ROCKET_HIDEOUT_B1F
--- /dev/null
+++ b/data/mapObjects/GameCornerPrizeRoom.asm
@@ -1,0 +1,19 @@
+GameCornerPrizeRoom_Object:
+	db $f ; border block
+
+	db 2 ; warps
+	warp 4, 7, 9, -1
+	warp 5, 7, 9, -1
+
+	db 3 ; signs
+	sign 2, 2, 3 ; CeladonPrizeRoomText3
+	sign 4, 2, 4 ; CeladonPrizeRoomText4
+	sign 6, 2, 5 ; CeladonPrizeRoomText5
+
+	db 2 ; objects
+	object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person
+	object SPRITE_GAMBLER, 7, 3, WALK, 2, 2 ; person
+
+	; warp-to
+	warp_to 4, 7, GAME_CORNER_PRIZE_ROOM_WIDTH
+	warp_to 5, 7, GAME_CORNER_PRIZE_ROOM_WIDTH
--- /dev/null
+++ b/data/mapObjects/HallOfFame.asm
@@ -1,0 +1,15 @@
+HallOfFame_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 7, 2, CHAMPIONS_ROOM
+	warp 5, 7, 3, CHAMPIONS_ROOM
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person
+
+	; warp-to
+	warp_to 4, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM
+	warp_to 5, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM
--- /dev/null
+++ b/data/mapObjects/IndigoPlateau.asm
@@ -1,0 +1,14 @@
+IndigoPlateau_Object:
+	db $e ; border block
+
+	db 2 ; warps
+	warp 9, 5, 0, INDIGO_PLATEAU_LOBBY
+	warp 10, 5, 0, INDIGO_PLATEAU_LOBBY
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 9, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY
+	warp_to 10, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY
--- /dev/null
+++ b/data/mapObjects/IndigoPlateauLobby.asm
@@ -1,0 +1,21 @@
+IndigoPlateauLobby_Object:
+	db $0 ; border block
+
+	db 3 ; warps
+	warp 7, 11, 0, -1
+	warp 8, 11, 1, -1
+	warp 8, 0, 0, LORELEIS_ROOM
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person
+	object SPRITE_GYM_HELPER, 4, 9, STAY, RIGHT, 2 ; person
+	object SPRITE_LASS, 5, 1, STAY, DOWN, 3 ; person
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 4 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 13, 6, STAY, DOWN, 5 ; person
+
+	; warp-to
+	warp_to 7, 11, INDIGO_PLATEAU_LOBBY_WIDTH
+	warp_to 8, 11, INDIGO_PLATEAU_LOBBY_WIDTH
+	warp_to 8, 0, INDIGO_PLATEAU_LOBBY_WIDTH ; LORELEIS_ROOM
--- /dev/null
+++ b/data/mapObjects/LancesRoom.asm
@@ -1,0 +1,17 @@
+LancesRoom_Object:
+	db $3 ; border block
+
+	db 3 ; warps
+	warp 24, 16, 2, AGATHAS_ROOM
+	warp 5, 0, 0, CHAMPIONS_ROOM
+	warp 6, 0, 0, CHAMPIONS_ROOM
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1
+
+	; warp-to
+	warp_to 24, 16, LANCES_ROOM_WIDTH ; AGATHAS_ROOM
+	warp_to 5, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM
+	warp_to 6, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM
--- /dev/null
+++ b/data/mapObjects/LavenderCuboneHouse.asm
@@ -1,0 +1,16 @@
+LavenderCuboneHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 4, -1
+	warp 3, 7, 4, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_SLOWBRO, 3, 5, STAY, UP, 1 ; person
+	object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, LAVENDER_CUBONE_HOUSE_WIDTH
+	warp_to 3, 7, LAVENDER_CUBONE_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/LavenderMart.asm
@@ -1,0 +1,17 @@
+LavenderMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 3, -1
+	warp 4, 7, 3, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 7, 2, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, LAVENDER_MART_WIDTH
+	warp_to 4, 7, LAVENDER_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/LavenderPokecenter.asm
@@ -1,0 +1,18 @@
+LavenderPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 0, -1
+	warp 4, 7, 0, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person
+	object SPRITE_LITTLE_GIRL, 2, 6, WALK, 1, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, LAVENDER_POKECENTER_WIDTH
+	warp_to 4, 7, LAVENDER_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/LavenderTown.asm
@@ -1,0 +1,31 @@
+LavenderTown_Object:
+	db $2c ; border block
+
+	db 6 ; warps
+	warp 3, 5, 0, LAVENDER_POKECENTER
+	warp 14, 5, 0, POKEMON_TOWER_1F
+	warp 7, 9, 0, MR_FUJIS_HOUSE
+	warp 15, 13, 0, LAVENDER_MART
+	warp 3, 13, 0, LAVENDER_CUBONE_HOUSE
+	warp 7, 13, 0, NAME_RATERS_HOUSE
+
+	db 6 ; signs
+	sign 11, 9, 4 ; LavenderTownText4
+	sign 9, 3, 5 ; LavenderTownText5
+	sign 16, 13, 6 ; MartSignText
+	sign 4, 5, 7 ; PokeCenterSignText
+	sign 5, 9, 8 ; LavenderTownText8
+	sign 17, 7, 9 ; LavenderTownText9
+
+	db 3 ; objects
+	object SPRITE_LITTLE_GIRL, 15, 9, WALK, 0, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 9, 10, STAY, NONE, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 8, 7, WALK, 2, 3 ; person
+
+	; warp-to
+	warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER
+	warp_to 14, 5, LAVENDER_TOWN_WIDTH ; POKEMON_TOWER_1F
+	warp_to 7, 9, LAVENDER_TOWN_WIDTH ; MR_FUJIS_HOUSE
+	warp_to 15, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_MART
+	warp_to 3, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_CUBONE_HOUSE
+	warp_to 7, 13, LAVENDER_TOWN_WIDTH ; NAME_RATERS_HOUSE
--- /dev/null
+++ b/data/mapObjects/LoreleisRoom.asm
@@ -1,0 +1,19 @@
+LoreleisRoom_Object:
+	db $3 ; border block
+
+	db 4 ; warps
+	warp 4, 11, 2, INDIGO_PLATEAU_LOBBY
+	warp 5, 11, 2, INDIGO_PLATEAU_LOBBY
+	warp 4, 0, 0, BRUNOS_ROOM
+	warp 5, 0, 1, BRUNOS_ROOM
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1
+
+	; warp-to
+	warp_to 4, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY
+	warp_to 5, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY
+	warp_to 4, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM
+	warp_to 5, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM
--- /dev/null
+++ b/data/mapObjects/MrFujisHouse.asm
@@ -1,0 +1,20 @@
+MrFujisHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 2, -1
+	warp 3, 7, 2, -1
+
+	db 0 ; signs
+
+	db 6 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, NONE, 1 ; person
+	object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person
+	object SPRITE_SLOWBRO, 6, 4, STAY, UP, 3 ; person
+	object SPRITE_SLOWBRO, 1, 3, STAY, NONE, 4 ; person
+	object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person
+	object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 6 ; person
+
+	; warp-to
+	warp_to 2, 7, MR_FUJIS_HOUSE_WIDTH
+	warp_to 3, 7, MR_FUJIS_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/MrPsychicsHouse.asm
@@ -1,0 +1,15 @@
+MrPsychicsHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 7, -1
+	warp 3, 7, 7, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FISHER, 5, 3, STAY, LEFT, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, MR_PSYCHICS_HOUSE_WIDTH
+	warp_to 3, 7, MR_PSYCHICS_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/MtMoon1F.asm
@@ -1,0 +1,34 @@
+MtMoon1F_Object:
+	db $3 ; border block
+
+	db 5 ; warps
+	warp 14, 35, 1, -1
+	warp 15, 35, 1, -1
+	warp 5, 5, 0, MT_MOON_B1F
+	warp 17, 11, 2, MT_MOON_B1F
+	warp 25, 15, 3, MT_MOON_B1F
+
+	db 1 ; signs
+	sign 15, 23, 14 ; MtMoon1Text14
+
+	db 13 ; objects
+	object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1
+	object SPRITE_BUG_CATCHER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3
+	object SPRITE_LASS, 30, 4, STAY, DOWN, 3, OPP_LASS, 5
+	object SPRITE_BLACK_HAIR_BOY_2, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1
+	object SPRITE_LASS, 16, 23, STAY, DOWN, 5, OPP_LASS, 6
+	object SPRITE_BUG_CATCHER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7
+	object SPRITE_BUG_CATCHER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8
+	object SPRITE_BALL, 2, 20, STAY, NONE, 8, POTION
+	object SPRITE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE
+	object SPRITE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY
+	object SPRITE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE
+	object SPRITE_BALL, 20, 33, STAY, NONE, 12, POTION
+	object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_12
+
+	; warp-to
+	warp_to 14, 35, MT_MOON_1F_WIDTH
+	warp_to 15, 35, MT_MOON_1F_WIDTH
+	warp_to 5, 5, MT_MOON_1F_WIDTH ; MT_MOON_B1F
+	warp_to 17, 11, MT_MOON_1F_WIDTH ; MT_MOON_B1F
+	warp_to 25, 15, MT_MOON_1F_WIDTH ; MT_MOON_B1F
--- /dev/null
+++ b/data/mapObjects/MtMoonB1F.asm
@@ -1,0 +1,26 @@
+MtMoonB1F_Object:
+	db $3 ; border block
+
+	db 8 ; warps
+	warp 5, 5, 2, MT_MOON_1F
+	warp 17, 11, 0, MT_MOON_B2F
+	warp 25, 9, 3, MT_MOON_1F
+	warp 25, 15, 4, MT_MOON_1F
+	warp 21, 17, 1, MT_MOON_B2F
+	warp 13, 27, 2, MT_MOON_B2F
+	warp 23, 3, 3, MT_MOON_B2F
+	warp 27, 3, 2, -1
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 5, 5, MT_MOON_B1F_WIDTH ; MT_MOON_1F
+	warp_to 17, 11, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+	warp_to 25, 9, MT_MOON_B1F_WIDTH ; MT_MOON_1F
+	warp_to 25, 15, MT_MOON_B1F_WIDTH ; MT_MOON_1F
+	warp_to 21, 17, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+	warp_to 13, 27, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+	warp_to 23, 3, MT_MOON_B1F_WIDTH ; MT_MOON_B2F
+	warp_to 27, 3, MT_MOON_B1F_WIDTH
--- /dev/null
+++ b/data/mapObjects/MtMoonB2F.asm
@@ -1,0 +1,27 @@
+MtMoonB2F_Object:
+	db $3 ; border block
+
+	db 4 ; warps
+	warp 25, 9, 1, MT_MOON_B1F
+	warp 21, 17, 4, MT_MOON_B1F
+	warp 15, 27, 5, MT_MOON_B1F
+	warp 5, 7, 6, MT_MOON_B1F
+
+	db 0 ; signs
+
+	db 9 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2
+	object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1
+	object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2
+	object SPRITE_ROCKET, 29, 11, STAY, UP, 4, OPP_ROCKET, 3
+	object SPRITE_ROCKET, 29, 17, STAY, LEFT, 5, OPP_ROCKET, 4
+	object SPRITE_OMANYTE, 12, 6, STAY, NONE, 6 ; person
+	object SPRITE_OMANYTE, 13, 6, STAY, NONE, 7 ; person
+	object SPRITE_BALL, 25, 21, STAY, NONE, 8, HP_UP
+	object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_01
+
+	; warp-to
+	warp_to 25, 9, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
+	warp_to 21, 17, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
+	warp_to 15, 27, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
+	warp_to 5, 7, MT_MOON_B2F_WIDTH ; MT_MOON_B1F
--- /dev/null
+++ b/data/mapObjects/MtMoonPokecenter.asm
@@ -1,0 +1,20 @@
+MtMoonPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 0, -1
+	warp 4, 7, 0, -1
+
+	db 0 ; signs
+
+	db 6 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_BUG_CATCHER, 4, 3, STAY, UP, 2 ; person
+	object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person
+	object SPRITE_FAT_BALD_GUY, 10, 6, WALK, 2, 4 ; person
+	object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 6 ; person
+
+	; warp-to
+	warp_to 3, 7, MT_MOON_POKECENTER_WIDTH
+	warp_to 4, 7, MT_MOON_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/Museum1F.asm
@@ -1,0 +1,25 @@
+Museum1F_Object:
+	db $a ; border block
+
+	db 5 ; warps
+	warp 10, 7, 0, -1
+	warp 11, 7, 0, -1
+	warp 16, 7, 1, -1
+	warp 17, 7, 1, -1
+	warp 7, 7, 0, MUSEUM_2F
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_OAK_AIDE, 12, 4, STAY, LEFT, 1 ; person
+	object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person
+	object SPRITE_OAK_AIDE, 15, 2, STAY, DOWN, 3 ; person
+	object SPRITE_OAK_AIDE, 17, 4, STAY, NONE, 4 ; person
+	object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person
+
+	; warp-to
+	warp_to 10, 7, MUSEUM_1F_WIDTH
+	warp_to 11, 7, MUSEUM_1F_WIDTH
+	warp_to 16, 7, MUSEUM_1F_WIDTH
+	warp_to 17, 7, MUSEUM_1F_WIDTH
+	warp_to 7, 7, MUSEUM_1F_WIDTH ; MUSEUM_2F
--- /dev/null
+++ b/data/mapObjects/Museum2F.asm
@@ -1,0 +1,19 @@
+Museum2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 7, 4, MUSEUM_1F
+
+	db 2 ; signs
+	sign 11, 2, 6 ; Museum2FText6
+	sign 2, 5, 7 ; Museum2FText7
+
+	db 5 ; objects
+	object SPRITE_BUG_CATCHER, 1, 7, WALK, 2, 1 ; person
+	object SPRITE_OLD_PERSON, 0, 5, STAY, DOWN, 2 ; person
+	object SPRITE_OAK_AIDE, 7, 5, STAY, DOWN, 3 ; person
+	object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person
+	object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person
+
+	; warp-to
+	warp_to 7, 7, MUSEUM_2F_WIDTH ; MUSEUM_1F
--- /dev/null
+++ b/data/mapObjects/NameRatersHouse.asm
@@ -1,0 +1,15 @@
+NameRatersHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 5, -1
+	warp 3, 7, 5, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_MR_MASTERBALL, 5, 3, STAY, LEFT, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, NAME_RATERS_HOUSE_WIDTH
+	warp_to 3, 7, NAME_RATERS_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/OaksLab.asm
@@ -1,0 +1,25 @@
+OaksLab_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 11, 2, -1
+	warp 5, 11, 2, -1
+
+	db 0 ; signs
+
+	db 11 ; objects
+	object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_SONY1, 1
+	object SPRITE_BALL, 6, 3, STAY, NONE, 2 ; person
+	object SPRITE_BALL, 7, 3, STAY, NONE, 3 ; person
+	object SPRITE_BALL, 8, 3, STAY, NONE, 4 ; person
+	object SPRITE_OAK, 5, 2, STAY, DOWN, 5 ; person
+	object SPRITE_BOOK_MAP_DEX, 2, 1, STAY, NONE, 6 ; person
+	object SPRITE_BOOK_MAP_DEX, 3, 1, STAY, NONE, 7 ; person
+	object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person
+	object SPRITE_GIRL, 1, 9, WALK, 1, 9 ; person
+	object SPRITE_OAK_AIDE, 2, 10, STAY, NONE, 10 ; person
+	object SPRITE_OAK_AIDE, 8, 10, STAY, NONE, 11 ; person
+
+	; warp-to
+	warp_to 4, 11, OAKS_LAB_WIDTH
+	warp_to 5, 11, OAKS_LAB_WIDTH
--- /dev/null
+++ b/data/mapObjects/PalletTown.asm
@@ -1,0 +1,23 @@
+PalletTown_Object:
+	db $b ; border block
+
+	db 3 ; warps
+	warp 5, 5, 0, REDS_HOUSE_1F
+	warp 13, 5, 0, BLUES_HOUSE
+	warp 12, 11, 1, OAKS_LAB
+
+	db 4 ; signs
+	sign 13, 13, 4 ; PalletTownText4
+	sign 7, 9, 5 ; PalletTownText5
+	sign 3, 5, 6 ; PalletTownText6
+	sign 11, 5, 7 ; PalletTownText7
+
+	db 3 ; objects
+	object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person
+	object SPRITE_GIRL, 3, 8, WALK, 0, 2 ; person
+	object SPRITE_FISHER2, 11, 14, WALK, 0, 3 ; person
+
+	; warp-to
+	warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F
+	warp_to 13, 5, PALLET_TOWN_WIDTH ; BLUES_HOUSE
+	warp_to 12, 11, PALLET_TOWN_WIDTH ; OAKS_LAB
--- /dev/null
+++ b/data/mapObjects/PewterCity.asm
@@ -1,0 +1,36 @@
+PewterCity_Object:
+	db $a ; border block
+
+	db 7 ; warps
+	warp 14, 7, 0, MUSEUM_1F
+	warp 19, 5, 2, MUSEUM_1F
+	warp 16, 17, 0, PEWTER_GYM
+	warp 29, 13, 0, PEWTER_NIDORAN_HOUSE
+	warp 23, 17, 0, PEWTER_MART
+	warp 7, 29, 0, PEWTER_SPEECH_HOUSE
+	warp 13, 25, 0, PEWTER_POKECENTER
+
+	db 7 ; signs
+	sign 19, 29, 6 ; PewterCityText6
+	sign 33, 19, 7 ; PewterCityText7
+	sign 24, 17, 8 ; MartSignText
+	sign 14, 25, 9 ; PokeCenterSignText
+	sign 15, 9, 10 ; PewterCityText10
+	sign 11, 17, 11 ; PewterCityText11
+	sign 25, 23, 12 ; PewterCityText12
+
+	db 5 ; objects
+	object SPRITE_LASS, 8, 15, STAY, NONE, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 17, 25, STAY, NONE, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 27, 17, STAY, NONE, 3 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 26, 25, WALK, 2, 4 ; person
+	object SPRITE_BUG_CATCHER, 35, 16, STAY, DOWN, 5 ; person
+
+	; warp-to
+	warp_to 14, 7, PEWTER_CITY_WIDTH ; MUSEUM_1F
+	warp_to 19, 5, PEWTER_CITY_WIDTH ; MUSEUM_1F
+	warp_to 16, 17, PEWTER_CITY_WIDTH ; PEWTER_GYM
+	warp_to 29, 13, PEWTER_CITY_WIDTH ; PEWTER_NIDORAN_HOUSE
+	warp_to 23, 17, PEWTER_CITY_WIDTH ; PEWTER_MART
+	warp_to 7, 29, PEWTER_CITY_WIDTH ; PEWTER_SPEECH_HOUSE
+	warp_to 13, 25, PEWTER_CITY_WIDTH ; PEWTER_POKECENTER
--- /dev/null
+++ b/data/mapObjects/PewterGym.asm
@@ -1,0 +1,17 @@
+PewterGym_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 13, 2, -1
+	warp 5, 13, 2, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1
+	object SPRITE_BLACK_HAIR_BOY_1, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1
+	object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 3 ; person
+
+	; warp-to
+	warp_to 4, 13, PEWTER_GYM_WIDTH
+	warp_to 5, 13, PEWTER_GYM_WIDTH
--- /dev/null
+++ b/data/mapObjects/PewterMart.asm
@@ -1,0 +1,17 @@
+PewterMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 4, -1
+	warp 4, 7, 4, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_BUG_CATCHER, 3, 3, WALK, 1, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 5, 5, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, PEWTER_MART_WIDTH
+	warp_to 4, 7, PEWTER_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/PewterNidoranHouse.asm
@@ -1,0 +1,17 @@
+PewterNidoranHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 3, -1
+	warp 3, 7, 3, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_SLOWBRO, 4, 5, STAY, LEFT, 1 ; person
+	object SPRITE_YOUNG_BOY, 3, 5, STAY, RIGHT, 2 ; person
+	object SPRITE_FAT_BALD_GUY, 1, 2, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, PEWTER_NIDORAN_HOUSE_WIDTH
+	warp_to 3, 7, PEWTER_NIDORAN_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/PewterPokecenter.asm
@@ -1,0 +1,18 @@
+PewterPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 6, -1
+	warp 4, 7, 6, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person
+	object SPRITE_CLEFAIRY, 1, 3, STAY, DOWN, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, PEWTER_POKECENTER_WIDTH
+	warp_to 4, 7, PEWTER_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/PewterSpeechHouse.asm
@@ -1,0 +1,16 @@
+PewterSpeechHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 5, -1
+	warp 3, 7, 5, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person
+	object SPRITE_BUG_CATCHER, 4, 5, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, PEWTER_SPEECH_HOUSE_WIDTH
+	warp_to 3, 7, PEWTER_SPEECH_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/PokemonFanClub.asm
@@ -1,0 +1,22 @@
+PokemonFanClub_Object:
+	db $d ; border block
+
+	db 2 ; warps
+	warp 2, 7, 1, -1
+	warp 3, 7, 1, -1
+
+	db 2 ; signs
+	sign 1, 0, 7 ; FanClubText7
+	sign 6, 0, 8 ; FanClubText8
+
+	db 6 ; objects
+	object SPRITE_FISHER2, 6, 3, STAY, LEFT, 1 ; person
+	object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person
+	object SPRITE_CLEFAIRY, 6, 4, STAY, LEFT, 3 ; person
+	object SPRITE_SEEL, 1, 4, STAY, RIGHT, 4 ; person
+	object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 5, 1, STAY, DOWN, 6 ; person
+
+	; warp-to
+	warp_to 2, 7, POKEMON_FAN_CLUB_WIDTH
+	warp_to 3, 7, POKEMON_FAN_CLUB_WIDTH
--- /dev/null
+++ b/data/mapObjects/PokemonMansion1F.asm
@@ -1,0 +1,29 @@
+PokemonMansion1F_Object:
+	db $2e ; border block
+
+	db 8 ; warps
+	warp 4, 27, 0, -1
+	warp 5, 27, 0, -1
+	warp 6, 27, 0, -1
+	warp 7, 27, 0, -1
+	warp 5, 10, 0, POKEMON_MANSION_2F
+	warp 21, 23, 0, POKEMON_MANSION_B1F
+	warp 26, 27, 0, -1
+	warp 27, 27, 0, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_OAK_AIDE, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4
+	object SPRITE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE
+	object SPRITE_BALL, 18, 21, STAY, NONE, 3, CARBOS
+
+	; warp-to
+	warp_to 4, 27, POKEMON_MANSION_1F_WIDTH
+	warp_to 5, 27, POKEMON_MANSION_1F_WIDTH
+	warp_to 6, 27, POKEMON_MANSION_1F_WIDTH
+	warp_to 7, 27, POKEMON_MANSION_1F_WIDTH
+	warp_to 5, 10, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_2F
+	warp_to 21, 23, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_B1F
+	warp_to 26, 27, POKEMON_MANSION_1F_WIDTH
+	warp_to 27, 27, POKEMON_MANSION_1F_WIDTH
--- /dev/null
+++ b/data/mapObjects/PokemonMansion2F.asm
@@ -1,0 +1,22 @@
+PokemonMansion2F_Object:
+	db $1 ; border block
+
+	db 4 ; warps
+	warp 5, 10, 4, POKEMON_MANSION_1F
+	warp 7, 10, 0, POKEMON_MANSION_3F
+	warp 25, 14, 2, POKEMON_MANSION_3F
+	warp 6, 1, 1, POKEMON_MANSION_3F
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7
+	object SPRITE_BALL, 28, 7, STAY, NONE, 2, CALCIUM
+	object SPRITE_BOOK_MAP_DEX, 18, 2, STAY, NONE, 3 ; person
+	object SPRITE_BOOK_MAP_DEX, 3, 22, STAY, NONE, 4 ; person
+
+	; warp-to
+	warp_to 5, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_1F
+	warp_to 7, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F
+	warp_to 25, 14, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F
+	warp_to 6, 1, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F
--- /dev/null
+++ b/data/mapObjects/PokemonMansion3F.asm
@@ -1,0 +1,21 @@
+PokemonMansion3F_Object:
+	db $1 ; border block
+
+	db 3 ; warps
+	warp 7, 10, 1, POKEMON_MANSION_2F
+	warp 6, 1, 3, POKEMON_MANSION_2F
+	warp 25, 14, 2, POKEMON_MANSION_2F
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8
+	object SPRITE_OAK_AIDE, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12
+	object SPRITE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION
+	object SPRITE_BALL, 25, 5, STAY, NONE, 4, IRON
+	object SPRITE_BOOK_MAP_DEX, 6, 12, STAY, NONE, 5 ; person
+
+	; warp-to
+	warp_to 7, 10, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F
+	warp_to 6, 1, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F
+	warp_to 25, 14, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F
--- /dev/null
+++ b/data/mapObjects/PokemonMansionB1F.asm
@@ -1,0 +1,20 @@
+PokemonMansionB1F_Object:
+	db $1 ; border block
+
+	db 1 ; warps
+	warp 23, 22, 5, POKEMON_MANSION_1F
+
+	db 0 ; signs
+
+	db 8 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9
+	object SPRITE_OAK_AIDE, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13
+	object SPRITE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY
+	object SPRITE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE
+	object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_14
+	object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_22
+	object SPRITE_BOOK_MAP_DEX, 16, 20, STAY, NONE, 7 ; person
+	object SPRITE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY
+
+	; warp-to
+	warp_to 23, 22, POKEMON_MANSION_B1F_WIDTH ; POKEMON_MANSION_1F
--- /dev/null
+++ b/data/mapObjects/PokemonTower1F.asm
@@ -1,0 +1,21 @@
+PokemonTower1F_Object:
+	db $1 ; border block
+
+	db 3 ; warps
+	warp 10, 17, 1, -1
+	warp 11, 17, 1, -1
+	warp 18, 9, 1, POKEMON_TOWER_2F
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_CABLE_CLUB_WOMAN, 15, 13, STAY, UP, 1 ; person
+	object SPRITE_MOM_GEISHA, 6, 8, STAY, NONE, 2 ; person
+	object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person
+	object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person
+	object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 5 ; person
+
+	; warp-to
+	warp_to 10, 17, POKEMON_TOWER_1F_WIDTH
+	warp_to 11, 17, POKEMON_TOWER_1F_WIDTH
+	warp_to 18, 9, POKEMON_TOWER_1F_WIDTH ; POKEMON_TOWER_2F
--- /dev/null
+++ b/data/mapObjects/PokemonTower2F.asm
@@ -1,0 +1,16 @@
+PokemonTower2F_Object:
+	db $1 ; border block
+
+	db 2 ; warps
+	warp 3, 9, 0, POKEMON_TOWER_3F
+	warp 18, 9, 2, POKEMON_TOWER_1F
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person
+	object SPRITE_MEDIUM, 3, 7, STAY, RIGHT, 2 ; person
+
+	; warp-to
+	warp_to 3, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_3F
+	warp_to 18, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_1F
--- /dev/null
+++ b/data/mapObjects/PokemonTower3F.asm
@@ -1,0 +1,18 @@
+PokemonTower3F_Object:
+	db $1 ; border block
+
+	db 2 ; warps
+	warp 3, 9, 0, POKEMON_TOWER_2F
+	warp 18, 9, 1, POKEMON_TOWER_4F
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_MEDIUM, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5
+	object SPRITE_MEDIUM, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6
+	object SPRITE_MEDIUM, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8
+	object SPRITE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE
+
+	; warp-to
+	warp_to 3, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_2F
+	warp_to 18, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_4F
--- /dev/null
+++ b/data/mapObjects/PokemonTower4F.asm
@@ -1,0 +1,20 @@
+PokemonTower4F_Object:
+	db $1 ; border block
+
+	db 2 ; warps
+	warp 3, 9, 0, POKEMON_TOWER_5F
+	warp 18, 9, 1, POKEMON_TOWER_3F
+
+	db 0 ; signs
+
+	db 6 ; objects
+	object SPRITE_MEDIUM, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9
+	object SPRITE_MEDIUM, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10
+	object SPRITE_MEDIUM, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12
+	object SPRITE_BALL, 12, 10, STAY, NONE, 4, ELIXER
+	object SPRITE_BALL, 9, 10, STAY, NONE, 5, AWAKENING
+	object SPRITE_BALL, 12, 16, STAY, NONE, 6, HP_UP
+
+	; warp-to
+	warp_to 3, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_5F
+	warp_to 18, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_3F
--- /dev/null
+++ b/data/mapObjects/PokemonTower5F.asm
@@ -1,0 +1,20 @@
+PokemonTower5F_Object:
+	db $1 ; border block
+
+	db 2 ; warps
+	warp 3, 9, 0, POKEMON_TOWER_4F
+	warp 18, 9, 0, POKEMON_TOWER_6F
+
+	db 0 ; signs
+
+	db 6 ; objects
+	object SPRITE_MEDIUM, 12, 8, STAY, NONE, 1 ; person
+	object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14
+	object SPRITE_MEDIUM, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16
+	object SPRITE_MEDIUM, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17
+	object SPRITE_MEDIUM, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18
+	object SPRITE_BALL, 6, 14, STAY, NONE, 6, NUGGET
+
+	; warp-to
+	warp_to 3, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_4F
+	warp_to 18, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_6F
--- /dev/null
+++ b/data/mapObjects/PokemonTower6F.asm
@@ -1,0 +1,19 @@
+PokemonTower6F_Object:
+	db $1 ; border block
+
+	db 2 ; warps
+	warp 18, 9, 1, POKEMON_TOWER_5F
+	warp 9, 16, 0, POKEMON_TOWER_7F
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_MEDIUM, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19
+	object SPRITE_MEDIUM, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20
+	object SPRITE_MEDIUM, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21
+	object SPRITE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY
+	object SPRITE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY
+
+	; warp-to
+	warp_to 18, 9, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_5F
+	warp_to 9, 16, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_7F
--- /dev/null
+++ b/data/mapObjects/PokemonTower7F.asm
@@ -1,0 +1,16 @@
+PokemonTower7F_Object:
+	db $1 ; border block
+
+	db 1 ; warps
+	warp 9, 16, 1, POKEMON_TOWER_6F
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_ROCKET, 9, 11, STAY, RIGHT, 1, OPP_ROCKET, 19
+	object SPRITE_ROCKET, 12, 9, STAY, LEFT, 2, OPP_ROCKET, 20
+	object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21
+	object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 9, 16, POKEMON_TOWER_7F_WIDTH ; POKEMON_TOWER_6F
--- /dev/null
+++ b/data/mapObjects/PowerPlant.asm
@@ -1,0 +1,30 @@
+PowerPlant_Object:
+	db $2e ; border block
+
+	db 3 ; warps
+	warp 4, 35, 3, -1
+	warp 5, 35, 3, -1
+	warp 0, 11, 3, -1
+
+	db 0 ; signs
+
+	db 14 ; objects
+	object SPRITE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40
+	object SPRITE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40
+	object SPRITE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40
+	object SPRITE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43
+	object SPRITE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40
+	object SPRITE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40
+	object SPRITE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43
+	object SPRITE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40
+	object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50
+	object SPRITE_BALL, 7, 25, STAY, NONE, 10, CARBOS
+	object SPRITE_BALL, 28, 3, STAY, NONE, 11, HP_UP
+	object SPRITE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY
+	object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_25
+	object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_33
+
+	; warp-to
+	warp_to 4, 35, POWER_PLANT_WIDTH
+	warp_to 5, 35, POWER_PLANT_WIDTH
+	warp_to 0, 11, POWER_PLANT_WIDTH
--- /dev/null
+++ b/data/mapObjects/RedsHouse1F.asm
@@ -1,0 +1,18 @@
+RedsHouse1F_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 2, 7, 0, -1 ; exit1
+	warp 3, 7, 0, -1 ; exit2
+	warp 7, 1, 0, REDS_HOUSE_2F ; staircase
+
+	db 1 ; signs
+	sign 3, 1, 2 ; TV
+
+	db 1 ; objects
+	object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom
+
+	; warp-to
+	warp_to 2, 7, REDS_HOUSE_1F_WIDTH
+	warp_to 3, 7, REDS_HOUSE_1F_WIDTH
+	warp_to 7, 1, REDS_HOUSE_1F_WIDTH
--- /dev/null
+++ b/data/mapObjects/RedsHouse2F.asm
@@ -1,0 +1,12 @@
+RedsHouse2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 1, 2, REDS_HOUSE_1F
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 7, 1, REDS_HOUSE_2F_WIDTH
--- /dev/null
+++ b/data/mapObjects/RockTunnel1F.asm
@@ -1,0 +1,34 @@
+RockTunnel1F_Object:
+	db $3 ; border block
+
+	db 8 ; warps
+	warp 15, 3, 1, -1
+	warp 15, 0, 1, -1
+	warp 15, 33, 2, -1
+	warp 15, 35, 2, -1
+	warp 37, 3, 0, ROCK_TUNNEL_B1F
+	warp 5, 3, 1, ROCK_TUNNEL_B1F
+	warp 17, 11, 2, ROCK_TUNNEL_B1F
+	warp 37, 17, 3, ROCK_TUNNEL_B1F
+
+	db 1 ; signs
+	sign 11, 29, 8 ; RockTunnel1Text8
+
+	db 7 ; objects
+	object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12
+	object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13
+	object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14
+	object SPRITE_BLACK_HAIR_BOY_2, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7
+	object SPRITE_LASS, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17
+	object SPRITE_LASS, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18
+	object SPRITE_LASS, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19
+
+	; warp-to
+	warp_to 15, 3, ROCK_TUNNEL_1F_WIDTH
+	warp_to 15, 0, ROCK_TUNNEL_1F_WIDTH
+	warp_to 15, 33, ROCK_TUNNEL_1F_WIDTH
+	warp_to 15, 35, ROCK_TUNNEL_1F_WIDTH
+	warp_to 37, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
+	warp_to 5, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
+	warp_to 17, 11, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
+	warp_to 37, 17, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F
--- /dev/null
+++ b/data/mapObjects/RockTunnelB1F.asm
@@ -1,0 +1,26 @@
+RockTunnelB1F_Object:
+	db $3 ; border block
+
+	db 4 ; warps
+	warp 33, 25, 4, ROCK_TUNNEL_1F
+	warp 27, 3, 5, ROCK_TUNNEL_1F
+	warp 23, 11, 6, ROCK_TUNNEL_1F
+	warp 3, 3, 7, ROCK_TUNNEL_1F
+
+	db 0 ; signs
+
+	db 8 ; objects
+	object SPRITE_LASS, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9
+	object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3
+	object SPRITE_BLACK_HAIR_BOY_2, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4
+	object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10
+	object SPRITE_LASS, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10
+	object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11
+	object SPRITE_BLACK_HAIR_BOY_2, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5
+
+	; warp-to
+	warp_to 33, 25, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
+	warp_to 27, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
+	warp_to 23, 11, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
+	warp_to 3, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F
--- /dev/null
+++ b/data/mapObjects/RockTunnelPokecenter.asm
@@ -1,0 +1,18 @@
+RockTunnelPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 0, -1
+	warp 4, 7, 0, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person
+	object SPRITE_FISHER2, 2, 5, STAY, NONE, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, ROCK_TUNNEL_POKECENTER_WIDTH
+	warp_to 4, 7, ROCK_TUNNEL_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/RocketHideoutB1F.asm
@@ -1,0 +1,27 @@
+RocketHideoutB1F_Object:
+	db $2e ; border block
+
+	db 5 ; warps
+	warp 23, 2, 0, ROCKET_HIDEOUT_B2F
+	warp 21, 2, 2, GAME_CORNER
+	warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR
+	warp 21, 24, 3, ROCKET_HIDEOUT_B2F
+	warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR
+
+	db 0 ; signs
+
+	db 7 ; objects
+	object SPRITE_ROCKET, 26, 8, STAY, LEFT, 1, OPP_ROCKET, 8
+	object SPRITE_ROCKET, 12, 6, STAY, RIGHT, 2, OPP_ROCKET, 9
+	object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10
+	object SPRITE_ROCKET, 15, 25, STAY, RIGHT, 4, OPP_ROCKET, 11
+	object SPRITE_ROCKET, 28, 18, STAY, LEFT, 5, OPP_ROCKET, 12
+	object SPRITE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE
+	object SPRITE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION
+
+	; warp-to
+	warp_to 23, 2, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F
+	warp_to 21, 2, ROCKET_HIDEOUT_B1F_WIDTH ; GAME_CORNER
+	warp_to 24, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
+	warp_to 21, 24, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F
+	warp_to 25, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/RocketHideoutB2F.asm
@@ -1,0 +1,25 @@
+RocketHideoutB2F_Object:
+	db $2e ; border block
+
+	db 5 ; warps
+	warp 27, 8, 0, ROCKET_HIDEOUT_B1F
+	warp 21, 8, 0, ROCKET_HIDEOUT_B3F
+	warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR
+	warp 21, 22, 3, ROCKET_HIDEOUT_B1F
+	warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13
+	object SPRITE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE
+	object SPRITE_BALL, 16, 8, STAY, NONE, 3, NUGGET
+	object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_07
+	object SPRITE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION
+
+	; warp-to
+	warp_to 27, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F
+	warp_to 21, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B3F
+	warp_to 24, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
+	warp_to 21, 22, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F
+	warp_to 25, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/RocketHideoutB3F.asm
@@ -1,0 +1,18 @@
+RocketHideoutB3F_Object:
+	db $2e ; border block
+
+	db 2 ; warps
+	warp 25, 6, 1, ROCKET_HIDEOUT_B2F
+	warp 19, 18, 0, ROCKET_HIDEOUT_B4F
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14
+	object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15
+	object SPRITE_BALL, 26, 17, STAY, NONE, 3, TM_10
+	object SPRITE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY
+
+	; warp-to
+	warp_to 25, 6, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B2F
+	warp_to 19, 18, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B4F
--- /dev/null
+++ b/data/mapObjects/RocketHideoutB4F.asm
@@ -1,0 +1,25 @@
+RocketHideoutB4F_Object:
+	db $2e ; border block
+
+	db 3 ; warps
+	warp 19, 10, 1, ROCKET_HIDEOUT_B3F
+	warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR
+	warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR
+
+	db 0 ; signs
+
+	db 9 ; objects
+	object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1
+	object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16
+	object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17
+	object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18
+	object SPRITE_BALL, 10, 12, STAY, NONE, 5, HP_UP
+	object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_02
+	object SPRITE_BALL, 12, 20, STAY, NONE, 7, IRON
+	object SPRITE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE
+	object SPRITE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY
+
+	; warp-to
+	warp_to 19, 10, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_B3F
+	warp_to 24, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
+	warp_to 25, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
--- /dev/null
+++ b/data/mapObjects/RocketHideoutElevator.asm
@@ -1,0 +1,15 @@
+RocketHideoutElevator_Object:
+	db $f ; border block
+
+	db 2 ; warps
+	warp 2, 1, 2, ROCKET_HIDEOUT_B1F
+	warp 3, 1, 4, ROCKET_HIDEOUT_B1F
+
+	db 1 ; signs
+	sign 1, 1, 1 ; RocketHideoutElevatorText1
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 2, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F
+	warp_to 3, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F
--- /dev/null
+++ b/data/mapObjects/Route1.asm
@@ -1,0 +1,14 @@
+Route1_Object:
+	db $b ; border block
+
+	db 0 ; warps
+
+	db 1 ; signs
+	sign 9, 27, 3 ; Route1Text3
+
+	db 2 ; objects
+	object SPRITE_BUG_CATCHER, 5, 24, WALK, 1, 1 ; person
+	object SPRITE_BUG_CATCHER, 15, 13, WALK, 2, 2 ; person
+
+	; warp-to (unused)
+	warp_to 2, 7, 4
--- /dev/null
+++ b/data/mapObjects/Route10.asm
@@ -1,0 +1,28 @@
+Route10_Object:
+	db $2c ; border block
+
+	db 4 ; warps
+	warp 11, 19, 0, ROCK_TUNNEL_POKECENTER
+	warp 8, 17, 0, ROCK_TUNNEL_1F
+	warp 8, 53, 2, ROCK_TUNNEL_1F
+	warp 6, 39, 0, POWER_PLANT
+
+	db 4 ; signs
+	sign 7, 19, 7 ; Route10Text7
+	sign 12, 19, 8 ; PokeCenterSignText
+	sign 9, 55, 9 ; Route10Text9
+	sign 5, 41, 10 ; Route10Text10
+
+	db 6 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1
+	object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7
+	object SPRITE_BLACK_HAIR_BOY_2, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2
+	object SPRITE_LASS, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7
+	object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8
+	object SPRITE_LASS, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8
+
+	; warp-to
+	warp_to 11, 19, ROUTE_10_WIDTH ; ROCK_TUNNEL_POKECENTER
+	warp_to 8, 17, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F
+	warp_to 8, 53, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F
+	warp_to 6, 39, ROUTE_10_WIDTH ; POWER_PLANT
--- /dev/null
+++ b/data/mapObjects/Route11.asm
@@ -1,0 +1,31 @@
+Route11_Object:
+	db $f ; border block
+
+	db 5 ; warps
+	warp 49, 8, 0, ROUTE_11_GATE_1F
+	warp 49, 9, 1, ROUTE_11_GATE_1F
+	warp 58, 8, 2, ROUTE_11_GATE_1F
+	warp 58, 9, 3, ROUTE_11_GATE_1F
+	warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11
+
+	db 1 ; signs
+	sign 1, 5, 11 ; Route11Text11
+
+	db 10 ; objects
+	object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1
+	object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2
+	object SPRITE_BUG_CATCHER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9
+	object SPRITE_BLACK_HAIR_BOY_2, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2
+	object SPRITE_BUG_CATCHER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10
+	object SPRITE_GAMBLER, 45, 7, STAY, DOWN, 6, OPP_GAMBLER, 3
+	object SPRITE_GAMBLER, 33, 3, STAY, UP, 7, OPP_GAMBLER, 4
+	object SPRITE_BUG_CATCHER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11
+	object SPRITE_BLACK_HAIR_BOY_2, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3
+	object SPRITE_BUG_CATCHER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12
+
+	; warp-to
+	warp_to 49, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+	warp_to 49, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+	warp_to 58, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+	warp_to 58, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
+	warp_to 4, 5, ROUTE_11_WIDTH ; DIGLETTS_CAVE_ROUTE_11
--- /dev/null
+++ b/data/mapObjects/Route11Gate1F.asm
@@ -1,0 +1,21 @@
+Route11Gate1F_Object:
+	db $a ; border block
+
+	db 5 ; warps
+	warp 0, 4, 0, -1
+	warp 0, 5, 1, -1
+	warp 7, 4, 2, -1
+	warp 7, 5, 3, -1
+	warp 6, 8, 0, ROUTE_11_GATE_2F
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 0, 4, ROUTE_11_GATE_1F_WIDTH
+	warp_to 0, 5, ROUTE_11_GATE_1F_WIDTH
+	warp_to 7, 4, ROUTE_11_GATE_1F_WIDTH
+	warp_to 7, 5, ROUTE_11_GATE_1F_WIDTH
+	warp_to 6, 8, ROUTE_11_GATE_1F_WIDTH ; ROUTE_11_GATE_2F
--- /dev/null
+++ b/data/mapObjects/Route11Gate2F.asm
@@ -1,0 +1,16 @@
+Route11Gate2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 7, 4, ROUTE_11_GATE_1F
+
+	db 2 ; signs
+	sign 1, 2, 3 ; Route11GateUpstairsText3
+	sign 6, 2, 4 ; Route11GateUpstairsText4
+
+	db 2 ; objects
+	object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person
+	object SPRITE_OAK_AIDE, 2, 6, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 7, 7, ROUTE_11_GATE_2F_WIDTH ; ROUTE_11_GATE_1F
--- /dev/null
+++ b/data/mapObjects/Route12.asm
@@ -1,0 +1,30 @@
+Route12_Object:
+	db $43 ; border block
+
+	db 4 ; warps
+	warp 10, 15, 0, ROUTE_12_GATE_1F
+	warp 11, 15, 1, ROUTE_12_GATE_1F
+	warp 10, 21, 2, ROUTE_12_GATE_1F
+	warp 11, 77, 0, ROUTE_12_SUPER_ROD_HOUSE
+
+	db 2 ; signs
+	sign 13, 13, 11 ; Route12Text11
+	sign 11, 63, 12 ; Route12Text12
+
+	db 10 ; objects
+	object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person
+	object SPRITE_FISHER2, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3
+	object SPRITE_FISHER2, 5, 39, STAY, UP, 3, OPP_FISHER, 4
+	object SPRITE_BLACK_HAIR_BOY_1, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9
+	object SPRITE_BLACK_HAIR_BOY_2, 14, 76, STAY, UP, 5, OPP_ROCKER, 2
+	object SPRITE_FISHER2, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5
+	object SPRITE_FISHER2, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6
+	object SPRITE_FISHER2, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11
+	object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_16
+	object SPRITE_BALL, 5, 89, STAY, NONE, 10, IRON
+
+	; warp-to
+	warp_to 10, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
+	warp_to 11, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
+	warp_to 10, 21, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
+	warp_to 11, 77, ROUTE_12_WIDTH ; ROUTE_12_SUPER_ROD_HOUSE
--- /dev/null
+++ b/data/mapObjects/Route12Gate1F.asm
@@ -1,0 +1,21 @@
+Route12Gate1F_Object:
+	db $a ; border block
+
+	db 5 ; warps
+	warp 4, 0, 0, -1
+	warp 5, 0, 1, -1
+	warp 4, 7, 2, -1
+	warp 5, 7, 2, -1
+	warp 8, 6, 0, ROUTE_12_GATE_2F
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 4, 0, ROUTE_12_GATE_1F_WIDTH
+	warp_to 5, 0, ROUTE_12_GATE_1F_WIDTH
+	warp_to 4, 7, ROUTE_12_GATE_1F_WIDTH
+	warp_to 5, 7, ROUTE_12_GATE_1F_WIDTH
+	warp_to 8, 6, ROUTE_12_GATE_1F_WIDTH ; ROUTE_12_GATE_2F
--- /dev/null
+++ b/data/mapObjects/Route12Gate2F.asm
@@ -1,0 +1,15 @@
+Route12Gate2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 7, 4, ROUTE_12_GATE_1F
+
+	db 2 ; signs
+	sign 1, 2, 2 ; Route12GateUpstairsText2
+	sign 6, 2, 3 ; Route12GateUpstairsText3
+
+	db 1 ; objects
+	object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, 1, 1 ; person
+
+	; warp-to
+	warp_to 7, 7, ROUTE_12_GATE_2F_WIDTH ; ROUTE_12_GATE_1F
--- /dev/null
+++ b/data/mapObjects/Route12SuperRodHouse.asm
@@ -1,0 +1,15 @@
+Route12SuperRodHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 3, -1
+	warp 3, 7, 3, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH
+	warp_to 3, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route13.asm
@@ -1,0 +1,21 @@
+Route13_Object:
+	db $43 ; border block
+
+	db 0 ; warps
+
+	db 3 ; signs
+	sign 15, 13, 11 ; Route13Text11
+	sign 33, 5, 12 ; Route13Text12
+	sign 31, 11, 13 ; Route13Text13
+
+	db 10 ; objects
+	object SPRITE_BLACK_HAIR_BOY_1, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1
+	object SPRITE_LASS, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12
+	object SPRITE_LASS, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13
+	object SPRITE_LASS, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14
+	object SPRITE_LASS, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15
+	object SPRITE_BLACK_HAIR_BOY_1, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2
+	object SPRITE_FOULARD_WOMAN, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4
+	object SPRITE_FOULARD_WOMAN, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5
+	object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1
+	object SPRITE_BLACK_HAIR_BOY_1, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3
--- /dev/null
+++ b/data/mapObjects/Route14.asm
@@ -1,0 +1,19 @@
+Route14_Object:
+	db $43 ; border block
+
+	db 0 ; warps
+
+	db 1 ; signs
+	sign 17, 13, 11 ; Route14Text11
+
+	db 10 ; objects
+	object SPRITE_BLACK_HAIR_BOY_1, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14
+	object SPRITE_BLACK_HAIR_BOY_1, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15
+	object SPRITE_BLACK_HAIR_BOY_1, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16
+	object SPRITE_BLACK_HAIR_BOY_1, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17
+	object SPRITE_BLACK_HAIR_BOY_1, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4
+	object SPRITE_BLACK_HAIR_BOY_1, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5
+	object SPRITE_BIKER, 5, 39, STAY, DOWN, 7, OPP_BIKER, 13
+	object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14
+	object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15
+	object SPRITE_BIKER, 4, 31, STAY, RIGHT, 10, OPP_BIKER, 2
--- /dev/null
+++ b/data/mapObjects/Route15.asm
@@ -1,0 +1,30 @@
+Route15_Object:
+	db $43 ; border block
+
+	db 4 ; warps
+	warp 7, 8, 0, ROUTE_15_GATE_1F
+	warp 7, 9, 1, ROUTE_15_GATE_1F
+	warp 14, 8, 2, ROUTE_15_GATE_1F
+	warp 14, 9, 3, ROUTE_15_GATE_1F
+
+	db 1 ; signs
+	sign 39, 9, 12 ; Route15Text12
+
+	db 11 ; objects
+	object SPRITE_LASS, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20
+	object SPRITE_LASS, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21
+	object SPRITE_BLACK_HAIR_BOY_1, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6
+	object SPRITE_BLACK_HAIR_BOY_1, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7
+	object SPRITE_FOULARD_WOMAN, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9
+	object SPRITE_FOULARD_WOMAN, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10
+	object SPRITE_BIKER, 48, 10, STAY, DOWN, 7, OPP_BIKER, 3
+	object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4
+	object SPRITE_LASS, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22
+	object SPRITE_LASS, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23
+	object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_20
+
+	; warp-to
+	warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
+	warp_to 7, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
+	warp_to 14, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
+	warp_to 14, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
--- /dev/null
+++ b/data/mapObjects/Route15Gate1F.asm
@@ -1,0 +1,21 @@
+Route15Gate1F_Object:
+	db $a ; border block
+
+	db 5 ; warps
+	warp 0, 4, 0, -1
+	warp 0, 5, 1, -1
+	warp 7, 4, 2, -1
+	warp 7, 5, 3, -1
+	warp 6, 8, 0, ROUTE_15_GATE_2F
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 0, 4, ROUTE_15_GATE_1F_WIDTH
+	warp_to 0, 5, ROUTE_15_GATE_1F_WIDTH
+	warp_to 7, 4, ROUTE_15_GATE_1F_WIDTH
+	warp_to 7, 5, ROUTE_15_GATE_1F_WIDTH
+	warp_to 6, 8, ROUTE_15_GATE_1F_WIDTH ; ROUTE_15_GATE_2F
--- /dev/null
+++ b/data/mapObjects/Route15Gate2F.asm
@@ -1,0 +1,14 @@
+Route15Gate2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 7, 4, ROUTE_15_GATE_1F
+
+	db 1 ; signs
+	sign 6, 2, 2 ; Route15GateUpstairsText2
+
+	db 1 ; objects
+	object SPRITE_OAK_AIDE, 4, 2, STAY, DOWN, 1
+
+	; warp-to
+	warp_to 7, 7, ROUTE_15_GATE_2F_WIDTH ; ROUTE_15_GATE_1F
--- /dev/null
+++ b/data/mapObjects/Route16.asm
@@ -1,0 +1,37 @@
+Route16_Object:
+	db $f ; border block
+
+	db 9 ; warps
+	warp 17, 10, 0, ROUTE_16_GATE_1F
+	warp 17, 11, 1, ROUTE_16_GATE_1F
+	warp 24, 10, 2, ROUTE_16_GATE_1F
+	warp 24, 11, 3, ROUTE_16_GATE_1F
+	warp 17, 4, 4, ROUTE_16_GATE_1F
+	warp 17, 5, 5, ROUTE_16_GATE_1F
+	warp 24, 4, 6, ROUTE_16_GATE_1F
+	warp 24, 5, 7, ROUTE_16_GATE_1F
+	warp 7, 5, 0, ROUTE_16_FLY_HOUSE
+
+	db 2 ; signs
+	sign 27, 11, 8 ; Route16Text8
+	sign 5, 17, 9 ; Route16Text9
+
+	db 7 ; objects
+	object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5
+	object SPRITE_BIKER, 14, 13, STAY, RIGHT, 2, OPP_CUE_BALL, 1
+	object SPRITE_BIKER, 11, 12, STAY, UP, 3, OPP_CUE_BALL, 2
+	object SPRITE_BIKER, 9, 11, STAY, LEFT, 4, OPP_BIKER, 6
+	object SPRITE_BIKER, 6, 10, STAY, RIGHT, 5, OPP_CUE_BALL, 3
+	object SPRITE_BIKER, 3, 12, STAY, RIGHT, 6, OPP_BIKER, 7
+	object SPRITE_SNORLAX, 26, 10, STAY, DOWN, 7 ; person
+
+	; warp-to
+	warp_to 17, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 17, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 24, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 24, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 17, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 17, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 24, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 24, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
+	warp_to 7, 5, ROUTE_16_WIDTH ; ROUTE_16_FLY_HOUSE
--- /dev/null
+++ b/data/mapObjects/Route16FlyHouse.asm
@@ -1,0 +1,16 @@
+Route16FlyHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 8, -1
+	warp 3, 7, 8, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
+	object SPRITE_BIRD, 6, 4, WALK, 0, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, ROUTE_16_FLY_HOUSE_WIDTH
+	warp_to 3, 7, ROUTE_16_FLY_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route16Gate1F.asm
@@ -1,0 +1,30 @@
+Route16Gate1F_Object:
+	db $a ; border block
+
+	db 9 ; warps
+	warp 0, 8, 0, -1
+	warp 0, 9, 1, -1
+	warp 7, 8, 2, -1
+	warp 7, 9, 2, -1
+	warp 0, 2, 4, -1
+	warp 0, 3, 5, -1
+	warp 7, 2, 6, -1
+	warp 7, 3, 7, -1
+	warp 6, 12, 0, ROUTE_16_GATE_2F
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person
+	object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 0, 8, ROUTE_16_GATE_1F_WIDTH
+	warp_to 0, 9, ROUTE_16_GATE_1F_WIDTH
+	warp_to 7, 8, ROUTE_16_GATE_1F_WIDTH
+	warp_to 7, 9, ROUTE_16_GATE_1F_WIDTH
+	warp_to 0, 2, ROUTE_16_GATE_1F_WIDTH
+	warp_to 0, 3, ROUTE_16_GATE_1F_WIDTH
+	warp_to 7, 2, ROUTE_16_GATE_1F_WIDTH
+	warp_to 7, 3, ROUTE_16_GATE_1F_WIDTH
+	warp_to 6, 12, ROUTE_16_GATE_1F_WIDTH ; ROUTE_16_GATE_2F
--- /dev/null
+++ b/data/mapObjects/Route16Gate2F.asm
@@ -1,0 +1,16 @@
+Route16Gate2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 7, 8, ROUTE_16_GATE_1F
+
+	db 2 ; signs
+	sign 1, 2, 3 ; Route16GateUpstairsText3
+	sign 6, 2, 4 ; Route16GateUpstairsText4
+
+	db 2 ; objects
+	object SPRITE_YOUNG_BOY, 4, 2, STAY, NONE, 1 ; person
+	object SPRITE_LITTLE_GIRL, 2, 5, WALK, 2, 2 ; person
+
+	; warp-to
+	warp_to 7, 7, ROUTE_16_GATE_2F_WIDTH ; ROUTE_16_GATE_1F
--- /dev/null
+++ b/data/mapObjects/Route17.asm
@@ -1,0 +1,24 @@
+Route17_Object:
+	db $43 ; border block
+
+	db 0 ; warps
+
+	db 6 ; signs
+	sign 9, 51, 11 ; Route17Text11
+	sign 9, 63, 12 ; Route17Text12
+	sign 9, 75, 13 ; Route17Text13
+	sign 9, 87, 14 ; Route17Text14
+	sign 9, 111, 15 ; Route17Text15
+	sign 9, 141, 16 ; Route17Text16
+
+	db 10 ; objects
+	object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4
+	object SPRITE_BIKER, 11, 16, STAY, RIGHT, 2, OPP_CUE_BALL, 5
+	object SPRITE_BIKER, 4, 18, STAY, UP, 3, OPP_BIKER, 8
+	object SPRITE_BIKER, 7, 32, STAY, LEFT, 4, OPP_BIKER, 9
+	object SPRITE_BIKER, 14, 34, STAY, RIGHT, 5, OPP_BIKER, 10
+	object SPRITE_BIKER, 17, 58, STAY, LEFT, 6, OPP_CUE_BALL, 6
+	object SPRITE_BIKER, 2, 68, STAY, RIGHT, 7, OPP_CUE_BALL, 7
+	object SPRITE_BIKER, 14, 98, STAY, RIGHT, 8, OPP_CUE_BALL, 8
+	object SPRITE_BIKER, 5, 98, STAY, LEFT, 9, OPP_BIKER, 11
+	object SPRITE_BIKER, 10, 118, STAY, DOWN, 10, OPP_BIKER, 12
--- /dev/null
+++ b/data/mapObjects/Route18.asm
@@ -1,0 +1,23 @@
+Route18_Object:
+	db $43 ; border block
+
+	db 4 ; warps
+	warp 33, 8, 0, ROUTE_18_GATE_1F
+	warp 33, 9, 1, ROUTE_18_GATE_1F
+	warp 40, 8, 2, ROUTE_18_GATE_1F
+	warp 40, 9, 3, ROUTE_18_GATE_1F
+
+	db 2 ; signs
+	sign 43, 7, 4 ; Route18Text4
+	sign 33, 5, 5 ; Route18Text5
+
+	db 3 ; objects
+	object SPRITE_BLACK_HAIR_BOY_1, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8
+	object SPRITE_BLACK_HAIR_BOY_1, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9
+	object SPRITE_BLACK_HAIR_BOY_1, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10
+
+	; warp-to
+	warp_to 33, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
+	warp_to 33, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
+	warp_to 40, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
+	warp_to 40, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
--- /dev/null
+++ b/data/mapObjects/Route18Gate1F.asm
@@ -1,0 +1,21 @@
+Route18Gate1F_Object:
+	db $a ; border block
+
+	db 5 ; warps
+	warp 0, 4, 0, -1
+	warp 0, 5, 1, -1
+	warp 7, 4, 2, -1
+	warp 7, 5, 3, -1
+	warp 6, 8, 0, ROUTE_18_GATE_2F
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person
+
+	; warp-to
+	warp_to 0, 4, ROUTE_18_GATE_1F_WIDTH
+	warp_to 0, 5, ROUTE_18_GATE_1F_WIDTH
+	warp_to 7, 4, ROUTE_18_GATE_1F_WIDTH
+	warp_to 7, 5, ROUTE_18_GATE_1F_WIDTH
+	warp_to 6, 8, ROUTE_18_GATE_1F_WIDTH ; ROUTE_18_GATE_2F
--- /dev/null
+++ b/data/mapObjects/Route18Gate2F.asm
@@ -1,0 +1,15 @@
+Route18Gate2F_Object:
+	db $a ; border block
+
+	db 1 ; warps
+	warp 7, 7, 4, ROUTE_18_GATE_1F
+
+	db 2 ; signs
+	sign 1, 2, 2 ; Route18GateUpstairsText2
+	sign 6, 2, 3 ; Route18GateUpstairsText3
+
+	db 1 ; objects
+	object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person
+
+	; warp-to
+	warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F
--- /dev/null
+++ b/data/mapObjects/Route19.asm
@@ -1,0 +1,21 @@
+Route19_Object:
+	db $43 ; border block
+
+	db 0 ; warps
+
+	db 1 ; signs
+	sign 11, 9, 11 ; Route19Text11
+
+	db 10 ; objects
+	object SPRITE_BLACK_HAIR_BOY_1, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2
+	object SPRITE_BLACK_HAIR_BOY_1, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3
+	object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4
+	object SPRITE_SWIMMER, 4, 27, STAY, RIGHT, 4, OPP_SWIMMER, 5
+	object SPRITE_SWIMMER, 16, 31, STAY, UP, 5, OPP_SWIMMER, 6
+	object SPRITE_SWIMMER, 9, 11, STAY, DOWN, 6, OPP_SWIMMER, 7
+	object SPRITE_SWIMMER, 8, 43, STAY, LEFT, 7, OPP_BEAUTY, 12
+	object SPRITE_SWIMMER, 11, 43, STAY, RIGHT, 8, OPP_BEAUTY, 13
+	object SPRITE_SWIMMER, 9, 42, STAY, UP, 9, OPP_SWIMMER, 8
+	object SPRITE_SWIMMER, 10, 44, STAY, DOWN, 10, OPP_BEAUTY, 14
+
+	; warp-to
--- /dev/null
+++ b/data/mapObjects/Route2.asm
@@ -1,0 +1,33 @@
+Route2_Object:
+	db $f ; border block
+
+	db 6 ; warps
+	warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2
+	warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE
+	warp 15, 19, 0, ROUTE_2_TRADE_HOUSE
+	warp 16, 35, 1, ROUTE_2_GATE
+	warp 15, 39, 2, ROUTE_2_GATE
+	warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE
+
+	db 2 ; signs
+	sign 5, 65, 3 ; Route2Text3
+	sign 11, 11, 4 ; Route2Text4
+
+	db 2 ; objects
+	object SPRITE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE
+	object SPRITE_BALL, 13, 45, STAY, NONE, 2, HP_UP
+
+	; warp-to
+	warp_to 12, 9, ROUTE_2_WIDTH ; DIGLETTS_CAVE_ROUTE_2
+	warp_to 3, 11, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE
+	warp_to 15, 19, ROUTE_2_WIDTH ; ROUTE_2_TRADE_HOUSE
+	warp_to 16, 35, ROUTE_2_WIDTH ; ROUTE_2_GATE
+	warp_to 15, 39, ROUTE_2_WIDTH ; ROUTE_2_GATE
+	warp_to 3, 43, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+
+	; unused
+	warp_to 2, 7, 4
+	db $12, $c7, $9, $7
+	warp_to 2, 7, 4
+	warp_to 2, 7, 4
+	warp_to 2, 7, 4
--- /dev/null
+++ b/data/mapObjects/Route20.asm
@@ -1,0 +1,26 @@
+Route20_Object:
+	db $43 ; border block
+
+	db 2 ; warps
+	warp 48, 5, 0, SEAFOAM_ISLANDS_1F
+	warp 58, 9, 2, SEAFOAM_ISLANDS_1F
+
+	db 2 ; signs
+	sign 51, 7, 11 ; Route20Text11
+	sign 57, 11, 12 ; Route20Text12
+
+	db 10 ; objects
+	object SPRITE_SWIMMER, 87, 8, STAY, UP, 1, OPP_SWIMMER, 9
+	object SPRITE_SWIMMER, 68, 11, STAY, UP, 2, OPP_BEAUTY, 15
+	object SPRITE_SWIMMER, 45, 10, STAY, DOWN, 3, OPP_BEAUTY, 6
+	object SPRITE_SWIMMER, 55, 14, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24
+	object SPRITE_SWIMMER, 38, 13, STAY, DOWN, 5, OPP_SWIMMER, 10
+	object SPRITE_SWIMMER, 87, 13, STAY, UP, 6, OPP_SWIMMER, 11
+	object SPRITE_BLACK_HAIR_BOY_1, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11
+	object SPRITE_SWIMMER, 25, 7, STAY, UP, 8, OPP_BEAUTY, 7
+	object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16
+	object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8
+
+	; warp-to
+	warp_to 48, 5, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F
+	warp_to 58, 9, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F
--- /dev/null
+++ b/data/mapObjects/Route21.asm
@@ -1,0 +1,17 @@
+Route21_Object:
+	db $43 ; border block
+
+	db 0 ; warps
+
+	db 0 ; signs
+
+	db 9 ; objects
+	object SPRITE_FISHER2, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7
+	object SPRITE_FISHER2, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9
+	object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12
+	object SPRITE_SWIMMER, 12, 30, STAY, RIGHT, 4, OPP_CUE_BALL, 9
+	object SPRITE_SWIMMER, 16, 63, STAY, DOWN, 5, OPP_SWIMMER, 13
+	object SPRITE_SWIMMER, 5, 71, STAY, RIGHT, 6, OPP_SWIMMER, 14
+	object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15
+	object SPRITE_FISHER2, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8
+	object SPRITE_FISHER2, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10
--- /dev/null
+++ b/data/mapObjects/Route22.asm
@@ -1,0 +1,15 @@
+Route22_Object:
+	db $2c ; border block
+
+	db 1 ; warps
+	warp 8, 5, 0, ROUTE_22_GATE
+
+	db 1 ; signs
+	sign 7, 11, 3 ; Route22FrontGateText
+
+	db 2 ; objects
+	object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person
+	object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 8, 5, ROUTE_22_WIDTH ; ROUTE_22_GATE
--- /dev/null
+++ b/data/mapObjects/Route22Gate.asm
@@ -1,0 +1,19 @@
+Route22Gate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 4, 7, 0, -1
+	warp 5, 7, 0, -1
+	warp 4, 0, 0, -1
+	warp 5, 0, 1, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
+
+	; warp-to
+	warp_to 4, 7, ROUTE_22_GATE_WIDTH
+	warp_to 5, 7, ROUTE_22_GATE_WIDTH
+	warp_to 4, 0, ROUTE_22_GATE_WIDTH
+	warp_to 5, 0, ROUTE_22_GATE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route23.asm
@@ -1,0 +1,26 @@
+Route23_Object:
+	db $f ; border block
+
+	db 4 ; warps
+	warp 7, 139, 2, ROUTE_22_GATE
+	warp 8, 139, 3, ROUTE_22_GATE
+	warp 4, 31, 0, VICTORY_ROAD_1F
+	warp 14, 31, 1, VICTORY_ROAD_2F
+
+	db 1 ; signs
+	sign 3, 33, 8 ; Route23Text8
+
+	db 7 ; objects
+	object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person
+	object SPRITE_GUARD, 10, 56, STAY, DOWN, 2 ; person
+	object SPRITE_SWIMMER, 8, 85, STAY, DOWN, 3 ; person
+	object SPRITE_SWIMMER, 11, 96, STAY, DOWN, 4 ; person
+	object SPRITE_GUARD, 12, 105, STAY, DOWN, 5 ; person
+	object SPRITE_GUARD, 8, 119, STAY, DOWN, 6 ; person
+	object SPRITE_GUARD, 8, 136, STAY, DOWN, 7 ; person
+
+	; warp-to
+	warp_to 7, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE
+	warp_to 8, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE
+	warp_to 4, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_1F
+	warp_to 14, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_2F
--- /dev/null
+++ b/data/mapObjects/Route24.asm
@@ -1,0 +1,16 @@
+Route24_Object:
+	db $2c ; border block
+
+	db 0 ; warps
+
+	db 0 ; signs
+
+	db 8 ; objects
+	object SPRITE_BLACK_HAIR_BOY_1, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6
+	object SPRITE_BLACK_HAIR_BOY_1, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2
+	object SPRITE_BLACK_HAIR_BOY_1, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3
+	object SPRITE_LASS, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7
+	object SPRITE_BUG_CATCHER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4
+	object SPRITE_LASS, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8
+	object SPRITE_BUG_CATCHER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9
+	object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_45
--- /dev/null
+++ b/data/mapObjects/Route25.asm
@@ -1,0 +1,23 @@
+Route25_Object:
+	db $2c ; border block
+
+	db 1 ; warps
+	warp 45, 3, 0, BILLS_HOUSE
+
+	db 1 ; signs
+	sign 43, 3, 11 ; Route25Text11
+
+	db 10 ; objects
+	object SPRITE_BUG_CATCHER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5
+	object SPRITE_BUG_CATCHER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6
+	object SPRITE_BLACK_HAIR_BOY_1, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2
+	object SPRITE_LASS, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9
+	object SPRITE_BUG_CATCHER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7
+	object SPRITE_LASS, 37, 4, STAY, DOWN, 6, OPP_LASS, 10
+	object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2
+	object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3
+	object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4
+	object SPRITE_BALL, 22, 2, STAY, NONE, 10, TM_19
+
+	; warp-to
+	warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE
--- /dev/null
+++ b/data/mapObjects/Route2Gate.asm
@@ -1,0 +1,20 @@
+Route2Gate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 4, 0, 3, -1
+	warp 5, 0, 3, -1
+	warp 4, 7, 4, -1
+	warp 5, 7, 4, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_OAK_AIDE, 1, 4, STAY, LEFT, 1 ; person
+	object SPRITE_BUG_CATCHER, 5, 4, WALK, 2, 2 ; person
+
+	; warp-to
+	warp_to 4, 0, ROUTE_2_GATE_WIDTH
+	warp_to 5, 0, ROUTE_2_GATE_WIDTH
+	warp_to 4, 7, ROUTE_2_GATE_WIDTH
+	warp_to 5, 7, ROUTE_2_GATE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route2TradeHouse.asm
@@ -1,0 +1,16 @@
+Route2TradeHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 2, -1
+	warp 3, 7, 2, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_OAK_AIDE, 2, 4, STAY, RIGHT, 1 ; person
+	object SPRITE_GAMEBOY_KID_COPY, 4, 1, STAY, DOWN, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, ROUTE_2_TRADE_HOUSE_WIDTH
+	warp_to 3, 7, ROUTE_2_TRADE_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route3.asm
@@ -1,0 +1,18 @@
+Route3_Object:
+	db $2c ; border block
+
+	db 0 ; warps
+
+	db 1 ; signs
+	sign 59, 9, 10 ; Route3Text10
+
+	db 9 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 57, 11, STAY, NONE, 1 ; person
+	object SPRITE_BUG_CATCHER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4
+	object SPRITE_BUG_CATCHER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1
+	object SPRITE_LASS, 16, 9, STAY, LEFT, 4, OPP_LASS, 1
+	object SPRITE_BUG_CATCHER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5
+	object SPRITE_LASS, 23, 4, STAY, LEFT, 6, OPP_LASS, 2
+	object SPRITE_BUG_CATCHER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2
+	object SPRITE_BUG_CATCHER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6
+	object SPRITE_LASS, 33, 10, STAY, UP, 9, OPP_LASS, 3
--- /dev/null
+++ b/data/mapObjects/Route4.asm
@@ -1,0 +1,22 @@
+Route4_Object:
+	db $2c ; border block
+
+	db 3 ; warps
+	warp 11, 5, 0, MT_MOON_POKECENTER
+	warp 18, 5, 0, MT_MOON_1F
+	warp 24, 5, 7, MT_MOON_B1F
+
+	db 3 ; signs
+	sign 12, 5, 4 ; PokeCenterSignText
+	sign 17, 7, 5 ; Route4Text5
+	sign 27, 7, 6 ; Route4Text6
+
+	db 3 ; objects
+	object SPRITE_LASS, 9, 8, WALK, 0, 1 ; person
+	object SPRITE_LASS, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4
+	object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_04
+
+	; warp-to
+	warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER
+	warp_to 18, 5, ROUTE_4_WIDTH ; MT_MOON_1F
+	warp_to 24, 5, ROUTE_4_WIDTH ; MT_MOON_B1F
--- /dev/null
+++ b/data/mapObjects/Route5.asm
@@ -1,0 +1,21 @@
+Route5_Object:
+	db $a ; border block
+
+	db 5 ; warps
+	warp 10, 29, 3, ROUTE_5_GATE
+	warp 9, 29, 2, ROUTE_5_GATE
+	warp 10, 33, 0, ROUTE_5_GATE
+	warp 17, 27, 0, UNDERGROUND_PATH_ROUTE_5
+	warp 10, 21, 0, DAYCARE
+
+	db 1 ; signs
+	sign 17, 29, 1 ; Route5Text1
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 10, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE
+	warp_to 9, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE
+	warp_to 10, 33, ROUTE_5_WIDTH ; ROUTE_5_GATE
+	warp_to 17, 27, ROUTE_5_WIDTH ; UNDERGROUND_PATH_ROUTE_5
+	warp_to 10, 21, ROUTE_5_WIDTH ; DAYCARE
--- /dev/null
+++ b/data/mapObjects/Route5Gate.asm
@@ -1,0 +1,19 @@
+Route5Gate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 3, 5, 2, -1
+	warp 4, 5, 2, -1
+	warp 3, 0, 1, -1
+	warp 4, 0, 0, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person
+
+	; warp-to
+	warp_to 3, 5, ROUTE_5_GATE_WIDTH
+	warp_to 4, 5, ROUTE_5_GATE_WIDTH
+	warp_to 3, 0, ROUTE_5_GATE_WIDTH
+	warp_to 4, 0, ROUTE_5_GATE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route6.asm
@@ -1,0 +1,25 @@
+Route6_Object:
+	db $f ; border block
+
+	db 4 ; warps
+	warp 9, 1, 2, ROUTE_6_GATE
+	warp 10, 1, 2, ROUTE_6_GATE
+	warp 10, 7, 0, ROUTE_6_GATE
+	warp 17, 13, 0, UNDERGROUND_PATH_ROUTE_6
+
+	db 1 ; signs
+	sign 19, 15, 7 ; Route6Text7
+
+	db 6 ; objects
+	object SPRITE_BLACK_HAIR_BOY_1, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4
+	object SPRITE_LASS, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2
+	object SPRITE_BUG_CATCHER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10
+	object SPRITE_BLACK_HAIR_BOY_1, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5
+	object SPRITE_LASS, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3
+	object SPRITE_BUG_CATCHER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11
+
+	; warp-to
+	warp_to 9, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE
+	warp_to 10, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE
+	warp_to 10, 7, ROUTE_6_WIDTH ; ROUTE_6_GATE
+	warp_to 17, 13, ROUTE_6_WIDTH ; UNDERGROUND_PATH_ROUTE_6
--- /dev/null
+++ b/data/mapObjects/Route6Gate.asm
@@ -1,0 +1,19 @@
+Route6Gate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 3, 5, 2, -1
+	warp 4, 5, 2, -1
+	warp 3, 0, 1, -1
+	warp 4, 0, 1, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
+
+	; warp-to
+	warp_to 3, 5, ROUTE_6_GATE_WIDTH
+	warp_to 4, 5, ROUTE_6_GATE_WIDTH
+	warp_to 3, 0, ROUTE_6_GATE_WIDTH
+	warp_to 4, 0, ROUTE_6_GATE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route7.asm
@@ -1,0 +1,21 @@
+Route7_Object:
+	db $f ; border block
+
+	db 5 ; warps
+	warp 18, 9, 2, ROUTE_7_GATE
+	warp 18, 10, 3, ROUTE_7_GATE
+	warp 11, 9, 0, ROUTE_7_GATE
+	warp 11, 10, 1, ROUTE_7_GATE
+	warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7
+
+	db 1 ; signs
+	sign 3, 13, 1 ; Route7Text1
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 18, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE
+	warp_to 18, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE
+	warp_to 11, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE
+	warp_to 11, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE
+	warp_to 5, 13, ROUTE_7_WIDTH ; UNDERGROUND_PATH_ROUTE_7
--- /dev/null
+++ b/data/mapObjects/Route7Gate.asm
@@ -1,0 +1,19 @@
+Route7Gate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 0, 3, 3, -1
+	warp 0, 4, 3, -1
+	warp 5, 3, 0, -1
+	warp 5, 4, 1, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person
+
+	; warp-to
+	warp_to 0, 3, ROUTE_7_GATE_WIDTH
+	warp_to 0, 4, ROUTE_7_GATE_WIDTH
+	warp_to 5, 3, ROUTE_7_GATE_WIDTH
+	warp_to 5, 4, ROUTE_7_GATE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route8.asm
@@ -1,0 +1,30 @@
+Route8_Object:
+	db $2c ; border block
+
+	db 5 ; warps
+	warp 1, 9, 0, ROUTE_8_GATE
+	warp 1, 10, 1, ROUTE_8_GATE
+	warp 8, 9, 2, ROUTE_8_GATE
+	warp 8, 10, 3, ROUTE_8_GATE
+	warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8
+
+	db 1 ; signs
+	sign 17, 3, 10 ; Route8Text10
+
+	db 9 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3
+	object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5
+	object SPRITE_BLACK_HAIR_BOY_2, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4
+	object SPRITE_LASS, 26, 3, STAY, LEFT, 4, OPP_LASS, 13
+	object SPRITE_BLACK_HAIR_BOY_2, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5
+	object SPRITE_LASS, 26, 5, STAY, LEFT, 6, OPP_LASS, 14
+	object SPRITE_LASS, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15
+	object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7
+	object SPRITE_LASS, 51, 12, STAY, LEFT, 9, OPP_LASS, 16
+
+	; warp-to
+	warp_to 1, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE
+	warp_to 1, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE
+	warp_to 8, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE
+	warp_to 8, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE
+	warp_to 13, 3, ROUTE_8_WIDTH ; UNDERGROUND_PATH_ROUTE_8
--- /dev/null
+++ b/data/mapObjects/Route8Gate.asm
@@ -1,0 +1,19 @@
+Route8Gate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 0, 3, 0, -1
+	warp 0, 4, 1, -1
+	warp 5, 3, 2, -1
+	warp 5, 4, 3, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person
+
+	; warp-to
+	warp_to 0, 3, ROUTE_8_GATE_WIDTH
+	warp_to 0, 4, ROUTE_8_GATE_WIDTH
+	warp_to 5, 3, ROUTE_8_GATE_WIDTH
+	warp_to 5, 4, ROUTE_8_GATE_WIDTH
--- /dev/null
+++ b/data/mapObjects/Route9.asm
@@ -1,0 +1,19 @@
+Route9_Object:
+	db $2c ; border block
+
+	db 0 ; warps
+
+	db 1 ; signs
+	sign 25, 7, 11 ; Route9Text11
+
+	db 10 ; objects
+	object SPRITE_LASS, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5
+	object SPRITE_BLACK_HAIR_BOY_1, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7
+	object SPRITE_BLACK_HAIR_BOY_1, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8
+	object SPRITE_LASS, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6
+	object SPRITE_HIKER, 16, 15, STAY, LEFT, 5, OPP_HIKER, 11
+	object SPRITE_HIKER, 43, 3, STAY, LEFT, 6, OPP_HIKER, 6
+	object SPRITE_BUG_CATCHER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13
+	object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5
+	object SPRITE_BUG_CATCHER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14
+	object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_30
--- /dev/null
+++ b/data/mapObjects/SSAnne1F.asm
@@ -1,0 +1,34 @@
+SSAnne1F_Object:
+	db $c ; border block
+
+	db 11 ; warps
+	warp 26, 0, 1, VERMILION_DOCK
+	warp 27, 0, 1, VERMILION_DOCK
+	warp 31, 8, 0, SS_ANNE_1F_ROOMS
+	warp 23, 8, 1, SS_ANNE_1F_ROOMS
+	warp 19, 8, 2, SS_ANNE_1F_ROOMS
+	warp 15, 8, 3, SS_ANNE_1F_ROOMS
+	warp 11, 8, 4, SS_ANNE_1F_ROOMS
+	warp 7, 8, 5, SS_ANNE_1F_ROOMS
+	warp 2, 6, 6, SS_ANNE_2F
+	warp 37, 15, 5, SS_ANNE_B1F
+	warp 3, 16, 0, SS_ANNE_KITCHEN
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_WAITER, 12, 6, WALK, 2, 1 ; person
+	object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 26, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK
+	warp_to 27, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK
+	warp_to 31, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+	warp_to 23, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+	warp_to 19, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+	warp_to 15, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+	warp_to 11, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+	warp_to 7, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS
+	warp_to 2, 6, SS_ANNE_1F_WIDTH ; SS_ANNE_2F
+	warp_to 37, 15, SS_ANNE_1F_WIDTH ; SS_ANNE_B1F
+	warp_to 3, 16, SS_ANNE_1F_WIDTH ; SS_ANNE_KITCHEN
--- /dev/null
+++ b/data/mapObjects/SSAnne1FRooms.asm
@@ -1,0 +1,33 @@
+SSAnne1FRooms_Object:
+	db $c ; border block
+
+	db 6 ; warps
+	warp 0, 0, 2, SS_ANNE_1F
+	warp 10, 0, 3, SS_ANNE_1F
+	warp 20, 0, 4, SS_ANNE_1F
+	warp 0, 10, 5, SS_ANNE_1F
+	warp 10, 10, 6, SS_ANNE_1F
+	warp 20, 10, 7, SS_ANNE_1F
+
+	db 0 ; signs
+
+	db 11 ; objects
+	object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1
+	object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2
+	object SPRITE_BUG_CATCHER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8
+	object SPRITE_LASS, 13, 11, STAY, LEFT, 4, OPP_LASS, 11
+	object SPRITE_GIRL, 22, 3, WALK, 1, 5 ; person
+	object SPRITE_FAT_BALD_GUY, 0, 14, STAY, NONE, 6 ; person
+	object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person
+	object SPRITE_CLEFAIRY, 3, 11, STAY, DOWN, 8 ; person
+	object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person
+	object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_08
+	object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person
+
+	; warp-to
+	warp_to 0, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+	warp_to 10, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+	warp_to 20, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+	warp_to 0, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+	warp_to 10, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
+	warp_to 20, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F
--- /dev/null
+++ b/data/mapObjects/SSAnne2F.asm
@@ -1,0 +1,30 @@
+SSAnne2F_Object:
+	db $c ; border block
+
+	db 9 ; warps
+	warp 9, 11, 0, SS_ANNE_2F_ROOMS
+	warp 13, 11, 2, SS_ANNE_2F_ROOMS
+	warp 17, 11, 4, SS_ANNE_2F_ROOMS
+	warp 21, 11, 6, SS_ANNE_2F_ROOMS
+	warp 25, 11, 8, SS_ANNE_2F_ROOMS
+	warp 29, 11, 10, SS_ANNE_2F_ROOMS
+	warp 2, 4, 8, SS_ANNE_1F
+	warp 2, 12, 1, SS_ANNE_3F
+	warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_WAITER, 3, 7, WALK, 1, 1 ; person
+	object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_SONY1, 1
+
+	; warp-to
+	warp_to 9, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+	warp_to 13, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+	warp_to 17, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+	warp_to 21, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+	warp_to 25, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+	warp_to 29, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS
+	warp_to 2, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_1F
+	warp_to 2, 12, SS_ANNE_2F_WIDTH ; SS_ANNE_3F
+	warp_to 36, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_CAPTAINS_ROOM
--- /dev/null
+++ b/data/mapObjects/SSAnne2FRooms.asm
@@ -1,0 +1,47 @@
+SSAnne2FRooms_Object:
+	db $c ; border block
+
+	db 12 ; warps
+	warp 2, 5, 0, SS_ANNE_2F
+	warp 3, 5, 0, SS_ANNE_2F
+	warp 12, 5, 1, SS_ANNE_2F
+	warp 13, 5, 1, SS_ANNE_2F
+	warp 22, 5, 2, SS_ANNE_2F
+	warp 23, 5, 2, SS_ANNE_2F
+	warp 2, 15, 3, SS_ANNE_2F
+	warp 3, 15, 3, SS_ANNE_2F
+	warp 12, 15, 4, SS_ANNE_2F
+	warp 13, 15, 4, SS_ANNE_2F
+	warp 22, 15, 5, SS_ANNE_2F
+	warp 23, 15, 5, SS_ANNE_2F
+
+	db 0 ; signs
+
+	db 13 ; objects
+	object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3
+	object SPRITE_FISHER2, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1
+	object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5
+	object SPRITE_LASS, 2, 11, STAY, DOWN, 4, OPP_LASS, 12
+	object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person
+	object SPRITE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER
+	object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person
+	object SPRITE_OLD_PERSON, 22, 1, STAY, DOWN, 8 ; person
+	object SPRITE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY
+	object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person
+	object SPRITE_YOUNG_BOY, 11, 14, STAY, NONE, 11 ; person
+	object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person
+	object SPRITE_FOULARD_WOMAN, 20, 12, STAY, RIGHT, 13 ; person
+
+	; warp-to
+	warp_to 2, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 3, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 12, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 13, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 22, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 23, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 2, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 3, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 12, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 13, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 22, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
+	warp_to 23, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F
--- /dev/null
+++ b/data/mapObjects/SSAnne3F.asm
@@ -1,0 +1,15 @@
+SSAnne3F_Object:
+	db $c ; border block
+
+	db 2 ; warps
+	warp 0, 3, 0, SS_ANNE_BOW
+	warp 19, 3, 7, SS_ANNE_2F
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_SAILOR, 9, 3, WALK, 2, 1 ; person
+
+	; warp-to
+	warp_to 0, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_BOW
+	warp_to 19, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_2F
--- /dev/null
+++ b/data/mapObjects/SSAnneB1F.asm
@@ -1,0 +1,22 @@
+SSAnneB1F_Object:
+	db $c ; border block
+
+	db 6 ; warps
+	warp 23, 3, 8, SS_ANNE_B1F_ROOMS
+	warp 19, 3, 6, SS_ANNE_B1F_ROOMS
+	warp 15, 3, 4, SS_ANNE_B1F_ROOMS
+	warp 11, 3, 2, SS_ANNE_B1F_ROOMS
+	warp 7, 3, 0, SS_ANNE_B1F_ROOMS
+	warp 27, 5, 9, SS_ANNE_1F
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 23, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+	warp_to 19, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+	warp_to 15, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+	warp_to 11, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+	warp_to 7, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS
+	warp_to 27, 5, SS_ANNE_B1F_WIDTH ; SS_ANNE_1F
--- /dev/null
+++ b/data/mapObjects/SSAnneB1FRooms.asm
@@ -1,0 +1,41 @@
+SSAnneB1FRooms_Object:
+	db $c ; border block
+
+	db 10 ; warps
+	warp 2, 5, 4, SS_ANNE_B1F
+	warp 3, 5, 4, SS_ANNE_B1F
+	warp 12, 5, 3, SS_ANNE_B1F
+	warp 13, 5, 3, SS_ANNE_B1F
+	warp 22, 5, 2, SS_ANNE_B1F
+	warp 23, 5, 2, SS_ANNE_B1F
+	warp 2, 15, 1, SS_ANNE_B1F
+	warp 3, 15, 1, SS_ANNE_B1F
+	warp 12, 15, 0, SS_ANNE_B1F
+	warp 13, 15, 0, SS_ANNE_B1F
+
+	db 0 ; signs
+
+	db 11 ; objects
+	object SPRITE_SAILOR, 0, 13, STAY, DOWN, 1, OPP_SAILOR, 3
+	object SPRITE_SAILOR, 2, 11, STAY, DOWN, 2, OPP_SAILOR, 4
+	object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5
+	object SPRITE_SAILOR, 22, 2, STAY, DOWN, 4, OPP_SAILOR, 6
+	object SPRITE_SAILOR, 0, 2, STAY, RIGHT, 5, OPP_SAILOR, 7
+	object SPRITE_FISHER2, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2
+	object SPRITE_BLACK_HAIR_BOY_2, 10, 13, STAY, RIGHT, 7 ; person
+	object SPRITE_SLOWBRO, 11, 12, STAY, NONE, 8 ; person
+	object SPRITE_BALL, 20, 2, STAY, NONE, 9, ETHER
+	object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_44
+	object SPRITE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION
+
+	; warp-to
+	warp_to 2, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 3, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 12, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 13, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 22, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 23, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 2, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 3, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 12, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
+	warp_to 13, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F
--- /dev/null
+++ b/data/mapObjects/SSAnneBow.asm
@@ -1,0 +1,19 @@
+SSAnneBow_Object:
+	db $23 ; border block
+
+	db 2 ; warps
+	warp 13, 6, 0, SS_ANNE_3F
+	warp 13, 7, 0, SS_ANNE_3F
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 5, 2, STAY, UP, 1 ; person
+	object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 7, 11, STAY, NONE, 3 ; person
+	object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1
+	object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2
+
+	; warp-to
+	warp_to 13, 6, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F
+	warp_to 13, 7, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F
--- /dev/null
+++ b/data/mapObjects/SSAnneCaptainsRoom.asm
@@ -1,0 +1,15 @@
+SSAnneCaptainsRoom_Object:
+	db $c ; border block
+
+	db 1 ; warps
+	warp 0, 7, 8, SS_ANNE_2F
+
+	db 2 ; signs
+	sign 4, 1, 2 ; SSAnne7Text2
+	sign 1, 2, 3 ; SSAnne7Text3
+
+	db 1 ; objects
+	object SPRITE_SS_CAPTAIN, 4, 2, STAY, UP, 1 ; person
+
+	; warp-to
+	warp_to 0, 7, SS_ANNE_CAPTAINS_ROOM_WIDTH ; SS_ANNE_2F
--- /dev/null
+++ b/data/mapObjects/SSAnneKitchen.asm
@@ -1,0 +1,19 @@
+SSAnneKitchen_Object:
+	db $c ; border block
+
+	db 1 ; warps
+	warp 6, 0, 10, SS_ANNE_1F
+
+	db 0 ; signs
+
+	db 7 ; objects
+	object SPRITE_COOK, 1, 8, WALK, 1, 1 ; person
+	object SPRITE_COOK, 5, 8, WALK, 1, 2 ; person
+	object SPRITE_COOK, 9, 7, WALK, 1, 3 ; person
+	object SPRITE_COOK, 13, 6, STAY, NONE, 4 ; person
+	object SPRITE_COOK, 13, 8, STAY, NONE, 5 ; person
+	object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person
+	object SPRITE_COOK, 11, 13, STAY, UP, 7 ; person
+
+	; warp-to
+	warp_to 6, 0, SS_ANNE_KITCHEN_WIDTH ; SS_ANNE_1F
--- /dev/null
+++ b/data/mapObjects/SafariZoneCenter.asm
@@ -1,0 +1,31 @@
+SafariZoneCenter_Object:
+	db $0 ; border block
+
+	db 9 ; warps
+	warp 14, 25, 2, SAFARI_ZONE_GATE
+	warp 15, 25, 3, SAFARI_ZONE_GATE
+	warp 0, 10, 4, SAFARI_ZONE_WEST
+	warp 0, 11, 5, SAFARI_ZONE_WEST
+	warp 14, 0, 4, SAFARI_ZONE_NORTH
+	warp 15, 0, 5, SAFARI_ZONE_NORTH
+	warp 29, 10, 2, SAFARI_ZONE_EAST
+	warp 29, 11, 3, SAFARI_ZONE_EAST
+	warp 17, 19, 0, SAFARI_ZONE_CENTER_REST_HOUSE
+
+	db 2 ; signs
+	sign 18, 20, 2 ; SafariZoneCenterText2
+	sign 14, 22, 3 ; SafariZoneCenterText3
+
+	db 1 ; objects
+	object SPRITE_BALL, 14, 10, STAY, NONE, 1, NUGGET
+
+	; warp-to
+	warp_to 14, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE
+	warp_to 15, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE
+	warp_to 0, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 0, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 14, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 15, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 29, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST
+	warp_to 29, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST
+	warp_to 17, 19, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_CENTER_REST_HOUSE
--- /dev/null
+++ b/data/mapObjects/SafariZoneCenterRestHouse.asm
@@ -1,0 +1,16 @@
+SafariZoneCenterRestHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 8, SAFARI_ZONE_CENTER
+	warp 3, 7, 8, SAFARI_ZONE_CENTER
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person
+	object SPRITE_OAK_AIDE, 1, 4, WALK, 1, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 3, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER
--- /dev/null
+++ b/data/mapObjects/SafariZoneEast.asm
@@ -1,0 +1,27 @@
+SafariZoneEast_Object:
+	db $0 ; border block
+
+	db 5 ; warps
+	warp 0, 4, 6, SAFARI_ZONE_NORTH
+	warp 0, 5, 7, SAFARI_ZONE_NORTH
+	warp 0, 22, 6, SAFARI_ZONE_CENTER
+	warp 0, 23, 6, SAFARI_ZONE_CENTER
+	warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE
+
+	db 3 ; signs
+	sign 26, 10, 5 ; SafariZoneEastText5
+	sign 6, 4, 6 ; SafariZoneEastText6
+	sign 5, 23, 7 ; SafariZoneEastText7
+
+	db 4 ; objects
+	object SPRITE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE
+	object SPRITE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION
+	object SPRITE_BALL, 20, 13, STAY, NONE, 3, CARBOS
+	object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_37
+
+	; warp-to
+	warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 0, 5, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 0, 22, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 0, 23, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 25, 9, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_EAST_REST_HOUSE
--- /dev/null
+++ b/data/mapObjects/SafariZoneEastRestHouse.asm
@@ -1,0 +1,17 @@
+SafariZoneEastRestHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 4, SAFARI_ZONE_EAST
+	warp 3, 7, 4, SAFARI_ZONE_EAST
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_OAK_AIDE, 1, 3, WALK, 1, 1 ; person
+	object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person
+	object SPRITE_LAPRAS_GIVER, 5, 2, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST
+	warp_to 3, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST
--- /dev/null
+++ b/data/mapObjects/SafariZoneGate.asm
@@ -1,0 +1,20 @@
+SafariZoneGate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 3, 5, 4, -1
+	warp 4, 5, 4, -1
+	warp 3, 0, 0, SAFARI_ZONE_CENTER
+	warp 4, 0, 1, SAFARI_ZONE_CENTER
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_WHITE_PLAYER, 6, 2, STAY, LEFT, 1 ; person
+	object SPRITE_WHITE_PLAYER, 1, 4, STAY, RIGHT, 2 ; person
+
+	; warp-to
+	warp_to 3, 5, SAFARI_ZONE_GATE_WIDTH
+	warp_to 4, 5, SAFARI_ZONE_GATE_WIDTH
+	warp_to 3, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 4, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER
--- /dev/null
+++ b/data/mapObjects/SafariZoneNorth.asm
@@ -1,0 +1,35 @@
+SafariZoneNorth_Object:
+	db $0 ; border block
+
+	db 9 ; warps
+	warp 2, 35, 0, SAFARI_ZONE_WEST
+	warp 3, 35, 1, SAFARI_ZONE_WEST
+	warp 8, 35, 2, SAFARI_ZONE_WEST
+	warp 9, 35, 3, SAFARI_ZONE_WEST
+	warp 20, 35, 4, SAFARI_ZONE_CENTER
+	warp 21, 35, 5, SAFARI_ZONE_CENTER
+	warp 39, 30, 0, SAFARI_ZONE_EAST
+	warp 39, 31, 1, SAFARI_ZONE_EAST
+	warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE
+
+	db 5 ; signs
+	sign 36, 4, 3 ; SafariZoneNorthText3
+	sign 4, 25, 4 ; SafariZoneNorthText4
+	sign 13, 31, 5 ; SafariZoneNorthText5
+	sign 19, 33, 6 ; SafariZoneNorthText6
+	sign 26, 28, 7 ; SafariZoneNorthText7
+
+	db 2 ; objects
+	object SPRITE_BALL, 25, 1, STAY, NONE, 1, PROTEIN
+	object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_40
+
+	; warp-to
+	warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 3, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 8, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 9, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 20, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 21, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 39, 30, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST
+	warp_to 39, 31, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST
+	warp_to 35, 3, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_NORTH_REST_HOUSE
--- /dev/null
+++ b/data/mapObjects/SafariZoneNorthRestHouse.asm
@@ -1,0 +1,17 @@
+SafariZoneNorthRestHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 8, SAFARI_ZONE_NORTH
+	warp 3, 7, 8, SAFARI_ZONE_NORTH
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_OAK_AIDE, 6, 3, WALK, 2, 1 ; person
+	object SPRITE_WHITE_PLAYER, 3, 4, STAY, NONE, 2 ; person
+	object SPRITE_GENTLEMAN, 1, 5, WALK, 1, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 3, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH
--- /dev/null
+++ b/data/mapObjects/SafariZoneSecretHouse.asm
@@ -1,0 +1,15 @@
+SafariZoneSecretHouse_Object:
+	db $17 ; border block
+
+	db 2 ; warps
+	warp 2, 7, 6, SAFARI_ZONE_WEST
+	warp 3, 7, 6, SAFARI_ZONE_WEST
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FISHER, 3, 3, STAY, DOWN, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 3, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST
--- /dev/null
+++ b/data/mapObjects/SafariZoneWest.asm
@@ -1,0 +1,34 @@
+SafariZoneWest_Object:
+	db $0 ; border block
+
+	db 8 ; warps
+	warp 20, 0, 0, SAFARI_ZONE_NORTH
+	warp 21, 0, 1, SAFARI_ZONE_NORTH
+	warp 26, 0, 2, SAFARI_ZONE_NORTH
+	warp 27, 0, 3, SAFARI_ZONE_NORTH
+	warp 29, 22, 2, SAFARI_ZONE_CENTER
+	warp 29, 23, 3, SAFARI_ZONE_CENTER
+	warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE
+	warp 11, 11, 0, SAFARI_ZONE_WEST_REST_HOUSE
+
+	db 4 ; signs
+	sign 12, 12, 5 ; SafariZoneWestText5
+	sign 17, 3, 6 ; SafariZoneWestText6
+	sign 26, 4, 7 ; SafariZoneWestText7
+	sign 24, 22, 8 ; SafariZoneWestText8
+
+	db 4 ; objects
+	object SPRITE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION
+	object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_32
+	object SPRITE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE
+	object SPRITE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH
+
+	; warp-to
+	warp_to 20, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 21, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 26, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 27, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
+	warp_to 29, 22, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 29, 23, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER
+	warp_to 3, 3, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_SECRET_HOUSE
+	warp_to 11, 11, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_WEST_REST_HOUSE
--- /dev/null
+++ b/data/mapObjects/SafariZoneWestRestHouse.asm
@@ -1,0 +1,17 @@
+SafariZoneWestRestHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 7, SAFARI_ZONE_WEST
+	warp 3, 7, 7, SAFARI_ZONE_WEST
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_OAK_AIDE, 4, 4, WALK, 0, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 0, 2, STAY, RIGHT, 2 ; person
+	object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST
+	warp_to 3, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST
--- /dev/null
+++ b/data/mapObjects/SaffronCity.asm
@@ -1,0 +1,51 @@
+SaffronCity_Object:
+	db $f ; border block
+
+	db 8 ; warps
+	warp 7, 5, 0, COPYCATS_HOUSE_1F
+	warp 26, 3, 0, FIGHTING_DOJO
+	warp 34, 3, 0, SAFFRON_GYM
+	warp 13, 11, 0, SAFFRON_PIDGEY_HOUSE
+	warp 25, 11, 0, SAFFRON_MART
+	warp 18, 21, 0, SILPH_CO_1F
+	warp 9, 29, 0, SAFFRON_POKECENTER
+	warp 29, 29, 0, MR_PSYCHICS_HOUSE
+
+	db 10 ; signs
+	sign 17, 5, 16 ; SaffronCityText16
+	sign 27, 5, 17 ; SaffronCityText17
+	sign 35, 5, 18 ; SaffronCityText18
+	sign 26, 11, 19 ; MartSignText
+	sign 39, 19, 20 ; SaffronCityText20
+	sign 5, 21, 21 ; SaffronCityText21
+	sign 15, 21, 22 ; SaffronCityText22
+	sign 10, 29, 23 ; PokeCenterSignText
+	sign 27, 29, 24 ; SaffronCityText24
+	sign 1, 19, 25 ; SaffronCityText25
+
+	db 15 ; objects
+	object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person
+	object SPRITE_ROCKET, 20, 8, WALK, 2, 2 ; person
+	object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person
+	object SPRITE_ROCKET, 13, 12, STAY, NONE, 4 ; person
+	object SPRITE_ROCKET, 11, 25, WALK, 2, 5 ; person
+	object SPRITE_ROCKET, 32, 13, WALK, 2, 6 ; person
+	object SPRITE_ROCKET, 18, 30, WALK, 2, 7 ; person
+	object SPRITE_OAK_AIDE, 8, 14, WALK, 0, 8 ; person
+	object SPRITE_LAPRAS_GIVER, 23, 23, STAY, NONE, 9 ; person
+	object SPRITE_ERIKA, 17, 30, WALK, 2, 10 ; person
+	object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person
+	object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person
+	object SPRITE_ROCKER, 18, 8, STAY, UP, 13 ; person
+	object SPRITE_ROCKET, 18, 22, STAY, DOWN, 14 ; person
+	object SPRITE_ROCKET, 19, 22, STAY, DOWN, 15 ; person
+
+	; warp-to
+	warp_to 7, 5, SAFFRON_CITY_WIDTH ; COPYCATS_HOUSE_1F
+	warp_to 26, 3, SAFFRON_CITY_WIDTH ; FIGHTING_DOJO
+	warp_to 34, 3, SAFFRON_CITY_WIDTH ; SAFFRON_GYM
+	warp_to 13, 11, SAFFRON_CITY_WIDTH ; SAFFRON_PIDGEY_HOUSE
+	warp_to 25, 11, SAFFRON_CITY_WIDTH ; SAFFRON_MART
+	warp_to 18, 21, SAFFRON_CITY_WIDTH ; SILPH_CO_1F
+	warp_to 9, 29, SAFFRON_CITY_WIDTH ; SAFFRON_POKECENTER
+	warp_to 29, 29, SAFFRON_CITY_WIDTH ; MR_PSYCHICS_HOUSE
--- /dev/null
+++ b/data/mapObjects/SaffronGym.asm
@@ -1,0 +1,83 @@
+SaffronGym_Object:
+	db $2e ; border block
+
+	db 32 ; warps
+	warp 8, 17, 2, -1
+	warp 9, 17, 2, -1
+	warp 1, 3, 22, SAFFRON_GYM
+	warp 5, 3, 15, SAFFRON_GYM
+	warp 1, 5, 18, SAFFRON_GYM
+	warp 5, 5, 8, SAFFRON_GYM
+	warp 1, 9, 27, SAFFRON_GYM
+	warp 5, 9, 16, SAFFRON_GYM
+	warp 1, 11, 5, SAFFRON_GYM
+	warp 5, 11, 13, SAFFRON_GYM
+	warp 1, 15, 23, SAFFRON_GYM
+	warp 5, 15, 30, SAFFRON_GYM
+	warp 1, 17, 17, SAFFRON_GYM
+	warp 5, 17, 9, SAFFRON_GYM
+	warp 9, 3, 26, SAFFRON_GYM
+	warp 11, 3, 3, SAFFRON_GYM
+	warp 9, 5, 7, SAFFRON_GYM
+	warp 11, 5, 12, SAFFRON_GYM
+	warp 11, 11, 4, SAFFRON_GYM
+	warp 11, 15, 31, SAFFRON_GYM
+	warp 15, 3, 24, SAFFRON_GYM
+	warp 19, 3, 28, SAFFRON_GYM
+	warp 15, 5, 2, SAFFRON_GYM
+	warp 19, 5, 10, SAFFRON_GYM
+	warp 15, 9, 20, SAFFRON_GYM
+	warp 19, 9, 29, SAFFRON_GYM
+	warp 15, 11, 14, SAFFRON_GYM
+	warp 19, 11, 6, SAFFRON_GYM
+	warp 15, 15, 21, SAFFRON_GYM
+	warp 19, 15, 25, SAFFRON_GYM
+	warp 15, 17, 11, SAFFRON_GYM
+	warp 19, 17, 19, SAFFRON_GYM
+
+	db 0 ; signs
+
+	db 9 ; objects
+	object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1
+	object SPRITE_MEDIUM, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22
+	object SPRITE_BUG_CATCHER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1
+	object SPRITE_MEDIUM, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23
+	object SPRITE_BUG_CATCHER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2
+	object SPRITE_MEDIUM, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24
+	object SPRITE_BUG_CATCHER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3
+	object SPRITE_BUG_CATCHER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4
+	object SPRITE_GYM_HELPER, 10, 15, STAY, DOWN, 9 ; person
+
+	; warp-to
+	warp_to 8, 17, SAFFRON_GYM_WIDTH
+	warp_to 9, 17, SAFFRON_GYM_WIDTH
+	warp_to 1, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 5, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 1, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 5, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 1, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 5, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 1, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 5, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 1, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 5, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 1, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 5, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 9, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 11, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 9, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 11, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 11, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 11, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 15, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 19, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 15, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 19, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 15, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 19, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 15, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 19, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 15, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 19, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 15, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
+	warp_to 19, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
--- /dev/null
+++ b/data/mapObjects/SaffronMart.asm
@@ -1,0 +1,17 @@
+SaffronMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 4, -1
+	warp 4, 7, 4, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, NONE, 2 ; person
+	object SPRITE_LASS, 6, 5, WALK, 0, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, SAFFRON_MART_WIDTH
+	warp_to 4, 7, SAFFRON_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/SaffronPidgeyHouse.asm
@@ -1,0 +1,18 @@
+SaffronPidgeyHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 3, -1
+	warp 3, 7, 3, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
+	object SPRITE_BIRD, 0, 4, WALK, 1, 2 ; person
+	object SPRITE_BUG_CATCHER, 4, 1, STAY, DOWN, 3 ; person
+	object SPRITE_PAPER_SHEET, 3, 3, STAY, NONE, 4 ; person
+
+	; warp-to
+	warp_to 2, 7, SAFFRON_PIDGEY_HOUSE_WIDTH
+	warp_to 3, 7, SAFFRON_PIDGEY_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/SaffronPokecenter.asm
@@ -1,0 +1,18 @@
+SaffronPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 6, -1
+	warp 4, 7, 6, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_FOULARD_WOMAN, 5, 5, STAY, NONE, 2 ; person
+	object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, SAFFRON_POKECENTER_WIDTH
+	warp_to 4, 7, SAFFRON_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/SeafoamIslands1F.asm
@@ -1,0 +1,30 @@
+SeafoamIslands1F_Object:
+	db $7d ; border block
+
+	db 7 ; warps
+	warp 4, 17, 0, -1
+	warp 5, 17, 0, -1
+	warp 26, 17, 1, -1
+	warp 27, 17, 1, -1
+	warp 7, 5, 1, SEAFOAM_ISLANDS_B1F
+	warp 25, 3, 6, SEAFOAM_ISLANDS_B1F
+	warp 23, 15, 4, SEAFOAM_ISLANDS_B1F
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+	object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+
+	; warp-to
+	warp_to 4, 17, SEAFOAM_ISLANDS_1F_WIDTH
+	warp_to 5, 17, SEAFOAM_ISLANDS_1F_WIDTH
+	warp_to 26, 17, SEAFOAM_ISLANDS_1F_WIDTH
+	warp_to 27, 17, SEAFOAM_ISLANDS_1F_WIDTH
+	warp_to 7, 5, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F
+	warp_to 25, 3, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F
+	warp_to 23, 15, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F
+
+	; holes
+	warp_to 17, 6, SEAFOAM_ISLANDS_1F_WIDTH
+	warp_to 24, 6, SEAFOAM_ISLANDS_1F_WIDTH
--- /dev/null
+++ b/data/mapObjects/SeafoamIslandsB1F.asm
@@ -1,0 +1,26 @@
+SeafoamIslandsB1F_Object:
+	db $7d ; border block
+
+	db 7 ; warps
+	warp 4, 2, 0, SEAFOAM_ISLANDS_B2F
+	warp 7, 5, 4, SEAFOAM_ISLANDS_1F
+	warp 13, 7, 2, SEAFOAM_ISLANDS_B2F
+	warp 19, 15, 3, SEAFOAM_ISLANDS_B2F
+	warp 23, 15, 6, SEAFOAM_ISLANDS_1F
+	warp 25, 11, 5, SEAFOAM_ISLANDS_B2F
+	warp 25, 3, 5, SEAFOAM_ISLANDS_1F
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+	object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+
+	; warp-to
+	warp_to 4, 2, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+	warp_to 7, 5, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F
+	warp_to 13, 7, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+	warp_to 19, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+	warp_to 23, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F
+	warp_to 25, 11, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F
+	warp_to 25, 3, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F
--- /dev/null
+++ b/data/mapObjects/SeafoamIslandsB2F.asm
@@ -1,0 +1,26 @@
+SeafoamIslandsB2F_Object:
+	db $7d ; border block
+
+	db 7 ; warps
+	warp 5, 3, 0, SEAFOAM_ISLANDS_B1F
+	warp 5, 13, 0, SEAFOAM_ISLANDS_B3F
+	warp 13, 7, 2, SEAFOAM_ISLANDS_B1F
+	warp 19, 15, 3, SEAFOAM_ISLANDS_B1F
+	warp 25, 3, 3, SEAFOAM_ISLANDS_B3F
+	warp 25, 11, 5, SEAFOAM_ISLANDS_B1F
+	warp 25, 14, 4, SEAFOAM_ISLANDS_B3F
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+	object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+
+	; warp-to
+	warp_to 5, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+	warp_to 5, 13, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F
+	warp_to 13, 7, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+	warp_to 19, 15, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+	warp_to 25, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F
+	warp_to 25, 11, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F
+	warp_to 25, 14, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F
--- /dev/null
+++ b/data/mapObjects/SeafoamIslandsB3F.asm
@@ -1,0 +1,30 @@
+SeafoamIslandsB3F_Object:
+	db $7d ; border block
+
+	db 7 ; warps
+	warp 5, 12, 1, SEAFOAM_ISLANDS_B2F
+	warp 8, 6, 2, SEAFOAM_ISLANDS_B4F
+	warp 25, 4, 3, SEAFOAM_ISLANDS_B4F
+	warp 25, 3, 4, SEAFOAM_ISLANDS_B2F
+	warp 25, 14, 6, SEAFOAM_ISLANDS_B2F
+	warp 20, 17, 0, SEAFOAM_ISLANDS_B4F
+	warp 21, 17, 1, SEAFOAM_ISLANDS_B4F
+
+	db 0 ; signs
+
+	db 6 ; objects
+	object SPRITE_BOULDER, 5, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
+	object SPRITE_BOULDER, 3, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
+	object SPRITE_BOULDER, 8, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person
+	object SPRITE_BOULDER, 9, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person
+	object SPRITE_BOULDER, 18, 6, STAY, NONE, 5 ; person
+	object SPRITE_BOULDER, 19, 6, STAY, NONE, 6 ; person
+
+	; warp-to
+	warp_to 5, 12, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F
+	warp_to 8, 6, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
+	warp_to 25, 4, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
+	warp_to 25, 3, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F
+	warp_to 25, 14, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F
+	warp_to 20, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
+	warp_to 21, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F
--- /dev/null
+++ b/data/mapObjects/SeafoamIslandsB4F.asm
@@ -1,0 +1,23 @@
+SeafoamIslandsB4F_Object:
+	db $7d ; border block
+
+	db 4 ; warps
+	warp 20, 17, 5, SEAFOAM_ISLANDS_B3F
+	warp 21, 17, 6, SEAFOAM_ISLANDS_B3F
+	warp 11, 7, 1, SEAFOAM_ISLANDS_B3F
+	warp 25, 4, 2, SEAFOAM_ISLANDS_B3F
+
+	db 2 ; signs
+	sign 9, 15, 4 ; SeafoamIslands5Text4
+	sign 23, 1, 5 ; SeafoamIslands5Text5
+
+	db 3 ; objects
+	object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person
+	object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person
+	object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50
+
+	; warp-to
+	warp_to 20, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
+	warp_to 21, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
+	warp_to 11, 7, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
+	warp_to 25, 4, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F
--- /dev/null
+++ b/data/mapObjects/SilphCo10F.asm
@@ -1,0 +1,28 @@
+SilphCo10F_Object:
+	db $2e ; border block
+
+	db 6 ; warps
+	warp 8, 0, 0, SILPH_CO_9F
+	warp 10, 0, 0, SILPH_CO_11F
+	warp 12, 0, 0, SILPH_CO_ELEVATOR
+	warp 9, 11, 3, SILPH_CO_4F
+	warp 13, 15, 5, SILPH_CO_4F
+	warp 13, 7, 6, SILPH_CO_4F
+
+	db 0 ; signs
+
+	db 6 ; objects
+	object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39
+	object SPRITE_OAK_AIDE, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11
+	object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person
+	object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_26
+	object SPRITE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY
+	object SPRITE_BALL, 5, 11, STAY, NONE, 6, CARBOS
+
+	; warp-to
+	warp_to 8, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_9F
+	warp_to 10, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_11F
+	warp_to 12, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 9, 11, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
+	warp_to 13, 15, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
+	warp_to 13, 7, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
--- /dev/null
+++ b/data/mapObjects/SilphCo11F.asm
@@ -1,0 +1,23 @@
+SilphCo11F_Object:
+	db $d ; border block
+
+	db 4 ; warps
+	warp 9, 0, 1, SILPH_CO_10F
+	warp 13, 0, 0, SILPH_CO_ELEVATOR
+	warp 5, 5, 9, -1
+	warp 3, 2, 3, SILPH_CO_7F
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_MR_MASTERBALL, 7, 5, STAY, DOWN, 1 ; person
+	object SPRITE_FOULARD_WOMAN, 10, 5, STAY, DOWN, 2 ; person
+	object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2
+	object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41
+	object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40
+
+	; warp-to
+	warp_to 9, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_10F
+	warp_to 13, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 5, 5, SILPH_CO_11F_WIDTH
+	warp_to 3, 2, SILPH_CO_11F_WIDTH ; SILPH_CO_7F
--- /dev/null
+++ b/data/mapObjects/SilphCo1F.asm
@@ -1,0 +1,21 @@
+SilphCo1F_Object:
+	db $2e ; border block
+
+	db 5 ; warps
+	warp 10, 17, 5, -1
+	warp 11, 17, 5, -1
+	warp 26, 0, 0, SILPH_CO_2F
+	warp 20, 0, 0, SILPH_CO_ELEVATOR
+	warp 16, 10, 6, SILPH_CO_3F
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_CABLE_CLUB_WOMAN, 4, 2, STAY, DOWN, 1 ; person
+
+	; warp-to
+	warp_to 10, 17, SILPH_CO_1F_WIDTH
+	warp_to 11, 17, SILPH_CO_1F_WIDTH
+	warp_to 26, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_2F
+	warp_to 20, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 16, 10, SILPH_CO_1F_WIDTH ; SILPH_CO_3F
--- /dev/null
+++ b/data/mapObjects/SilphCo2F.asm
@@ -1,0 +1,29 @@
+SilphCo2F_Object:
+	db $2e ; border block
+
+	db 7 ; warps
+	warp 24, 0, 2, SILPH_CO_1F
+	warp 26, 0, 0, SILPH_CO_3F
+	warp 20, 0, 0, SILPH_CO_ELEVATOR
+	warp 3, 3, 6, SILPH_CO_3F
+	warp 13, 3, 4, SILPH_CO_8F
+	warp 27, 15, 5, SILPH_CO_8F
+	warp 9, 15, 4, SILPH_CO_6F
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person
+	object SPRITE_OAK_AIDE, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2
+	object SPRITE_OAK_AIDE, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3
+	object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23
+	object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24
+
+	; warp-to
+	warp_to 24, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_1F
+	warp_to 26, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_3F
+	warp_to 20, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 3, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_3F
+	warp_to 13, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_8F
+	warp_to 27, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_8F
+	warp_to 9, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_6F
--- /dev/null
+++ b/data/mapObjects/SilphCo3F.asm
@@ -1,0 +1,34 @@
+SilphCo3F_Object:
+	db $2e ; border block
+
+	db 10 ; warps
+	warp 26, 0, 1, SILPH_CO_2F
+	warp 24, 0, 0, SILPH_CO_4F
+	warp 20, 0, 0, SILPH_CO_ELEVATOR
+	warp 23, 11, 9, SILPH_CO_3F
+	warp 3, 3, 5, SILPH_CO_5F
+	warp 3, 15, 6, SILPH_CO_5F
+	warp 27, 3, 3, SILPH_CO_2F
+	warp 3, 11, 3, SILPH_CO_9F
+	warp 11, 11, 4, SILPH_CO_7F
+	warp 27, 15, 3, SILPH_CO_3F
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_LAPRAS_GIVER, 24, 8, STAY, NONE, 1 ; person
+	object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25
+	object SPRITE_OAK_AIDE, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4
+	object SPRITE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION
+
+	; warp-to
+	warp_to 26, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_2F
+	warp_to 24, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_4F
+	warp_to 20, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 23, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_3F
+	warp_to 3, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_5F
+	warp_to 3, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_5F
+	warp_to 27, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_2F
+	warp_to 3, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_9F
+	warp_to 11, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_7F
+	warp_to 27, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_3F
--- /dev/null
+++ b/data/mapObjects/SilphCo4F.asm
@@ -1,0 +1,31 @@
+SilphCo4F_Object:
+	db $2e ; border block
+
+	db 7 ; warps
+	warp 24, 0, 1, SILPH_CO_3F
+	warp 26, 0, 1, SILPH_CO_5F
+	warp 20, 0, 0, SILPH_CO_ELEVATOR
+	warp 11, 7, 3, SILPH_CO_10F
+	warp 17, 3, 3, SILPH_CO_6F
+	warp 3, 15, 4, SILPH_CO_10F
+	warp 17, 11, 5, SILPH_CO_10F
+
+	db 0 ; signs
+
+	db 7 ; objects
+	object SPRITE_LAPRAS_GIVER, 6, 2, STAY, NONE, 1 ; person
+	object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26
+	object SPRITE_OAK_AIDE, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5
+	object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27
+	object SPRITE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL
+	object SPRITE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE
+	object SPRITE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE
+
+	; warp-to
+	warp_to 24, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_3F
+	warp_to 26, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_5F
+	warp_to 20, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 11, 7, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
+	warp_to 17, 3, SILPH_CO_4F_WIDTH ; SILPH_CO_6F
+	warp_to 3, 15, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
+	warp_to 17, 11, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
--- /dev/null
+++ b/data/mapObjects/SilphCo5F.asm
@@ -1,0 +1,35 @@
+SilphCo5F_Object:
+	db $2e ; border block
+
+	db 7 ; warps
+	warp 24, 0, 1, SILPH_CO_6F
+	warp 26, 0, 1, SILPH_CO_4F
+	warp 20, 0, 0, SILPH_CO_ELEVATOR
+	warp 27, 3, 5, SILPH_CO_7F
+	warp 9, 15, 4, SILPH_CO_9F
+	warp 11, 5, 4, SILPH_CO_3F
+	warp 3, 15, 5, SILPH_CO_3F
+
+	db 0 ; signs
+
+	db 11 ; objects
+	object SPRITE_LAPRAS_GIVER, 13, 9, STAY, NONE, 1 ; person
+	object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28
+	object SPRITE_OAK_AIDE, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6
+	object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1
+	object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29
+	object SPRITE_BALL, 2, 13, STAY, NONE, 6, TM_09
+	object SPRITE_BALL, 4, 6, STAY, NONE, 7, PROTEIN
+	object SPRITE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY
+	object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person
+	object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person
+	object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person
+
+	; warp-to
+	warp_to 24, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_6F
+	warp_to 26, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_4F
+	warp_to 20, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 27, 3, SILPH_CO_5F_WIDTH ; SILPH_CO_7F
+	warp_to 9, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_9F
+	warp_to 11, 5, SILPH_CO_5F_WIDTH ; SILPH_CO_3F
+	warp_to 3, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_3F
--- /dev/null
+++ b/data/mapObjects/SilphCo6F.asm
@@ -1,0 +1,30 @@
+SilphCo6F_Object:
+	db $2e ; border block
+
+	db 5 ; warps
+	warp 16, 0, 1, SILPH_CO_7F
+	warp 14, 0, 0, SILPH_CO_5F
+	warp 18, 0, 0, SILPH_CO_ELEVATOR
+	warp 3, 3, 4, SILPH_CO_4F
+	warp 23, 3, 6, SILPH_CO_2F
+
+	db 0 ; signs
+
+	db 10 ; objects
+	object SPRITE_LAPRAS_GIVER, 10, 6, STAY, NONE, 1 ; person
+	object SPRITE_LAPRAS_GIVER, 20, 6, STAY, NONE, 2 ; person
+	object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person
+	object SPRITE_ERIKA, 11, 10, STAY, RIGHT, 4 ; person
+	object SPRITE_LAPRAS_GIVER, 18, 13, STAY, UP, 5 ; person
+	object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30
+	object SPRITE_OAK_AIDE, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7
+	object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31
+	object SPRITE_BALL, 3, 12, STAY, NONE, 9, HP_UP
+	object SPRITE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY
+
+	; warp-to
+	warp_to 16, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_7F
+	warp_to 14, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_5F
+	warp_to 18, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 3, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_4F
+	warp_to 23, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_2F
--- /dev/null
+++ b/data/mapObjects/SilphCo7F.asm
@@ -1,0 +1,33 @@
+SilphCo7F_Object:
+	db $2e ; border block
+
+	db 6 ; warps
+	warp 16, 0, 1, SILPH_CO_8F
+	warp 22, 0, 0, SILPH_CO_6F
+	warp 18, 0, 0, SILPH_CO_ELEVATOR
+	warp 5, 7, 3, SILPH_CO_11F
+	warp 5, 3, 8, SILPH_CO_3F
+	warp 21, 15, 3, SILPH_CO_5F
+
+	db 0 ; signs
+
+	db 11 ; objects
+	object SPRITE_LAPRAS_GIVER, 1, 5, STAY, NONE, 1 ; person
+	object SPRITE_LAPRAS_GIVER, 13, 13, STAY, UP, 2 ; person
+	object SPRITE_LAPRAS_GIVER, 7, 10, STAY, NONE, 3 ; person
+	object SPRITE_ERIKA, 10, 8, STAY, NONE, 4 ; person
+	object SPRITE_ROCKET, 13, 1, STAY, DOWN, 5, OPP_ROCKET, 32
+	object SPRITE_OAK_AIDE, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8
+	object SPRITE_ROCKET, 20, 2, STAY, LEFT, 7, OPP_ROCKET, 33
+	object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34
+	object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person
+	object SPRITE_BALL, 1, 9, STAY, NONE, 10, CALCIUM
+	object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_03
+
+	; warp-to
+	warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F
+	warp_to 22, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_6F
+	warp_to 18, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 5, 7, SILPH_CO_7F_WIDTH ; SILPH_CO_11F
+	warp_to 5, 3, SILPH_CO_7F_WIDTH ; SILPH_CO_3F
+	warp_to 21, 15, SILPH_CO_7F_WIDTH ; SILPH_CO_5F
--- /dev/null
+++ b/data/mapObjects/SilphCo8F.asm
@@ -1,0 +1,28 @@
+SilphCo8F_Object:
+	db $2e ; border block
+
+	db 7 ; warps
+	warp 16, 0, 1, SILPH_CO_9F
+	warp 14, 0, 0, SILPH_CO_7F
+	warp 18, 0, 0, SILPH_CO_ELEVATOR
+	warp 3, 11, 6, SILPH_CO_8F
+	warp 3, 15, 4, SILPH_CO_2F
+	warp 11, 5, 5, SILPH_CO_2F
+	warp 11, 9, 3, SILPH_CO_8F
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_LAPRAS_GIVER, 4, 2, STAY, NONE, 1 ; person
+	object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35
+	object SPRITE_OAK_AIDE, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9
+	object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36
+
+	; warp-to
+	warp_to 16, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_9F
+	warp_to 14, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_7F
+	warp_to 18, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 3, 11, SILPH_CO_8F_WIDTH ; SILPH_CO_8F
+	warp_to 3, 15, SILPH_CO_8F_WIDTH ; SILPH_CO_2F
+	warp_to 11, 5, SILPH_CO_8F_WIDTH ; SILPH_CO_2F
+	warp_to 11, 9, SILPH_CO_8F_WIDTH ; SILPH_CO_8F_WIDTH
--- /dev/null
+++ b/data/mapObjects/SilphCo9F.asm
@@ -1,0 +1,24 @@
+SilphCo9F_Object:
+	db $2e ; border block
+
+	db 5 ; warps
+	warp 14, 0, 0, SILPH_CO_10F
+	warp 16, 0, 0, SILPH_CO_8F
+	warp 18, 0, 0, SILPH_CO_ELEVATOR
+	warp 9, 3, 7, SILPH_CO_3F
+	warp 17, 15, 4, SILPH_CO_5F
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person
+	object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37
+	object SPRITE_OAK_AIDE, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10
+	object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38
+
+	; warp-to
+	warp_to 14, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_10F
+	warp_to 16, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_8F
+	warp_to 18, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_ELEVATOR
+	warp_to 9, 3, SILPH_CO_9F_WIDTH ; SILPH_CO_3F
+	warp_to 17, 15, SILPH_CO_9F_WIDTH ; SILPH_CO_5F
--- /dev/null
+++ b/data/mapObjects/SilphCoElevator.asm
@@ -1,0 +1,15 @@
+SilphCoElevator_Object:
+	db $f ; border block
+
+	db 2 ; warps
+	warp 1, 3, 0, 237
+	warp 2, 3, 0, 237
+
+	db 1 ; signs
+	sign 3, 0, 1 ; SilphCoElevatorText1
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 1, 3, SILPH_CO_ELEVATOR_WIDTH
+	warp_to 2, 3, SILPH_CO_ELEVATOR_WIDTH
--- /dev/null
+++ b/data/mapObjects/TradeCenter.asm
@@ -1,0 +1,9 @@
+TradeCenter_Object:
+	db $e ; border block
+
+	db 0 ; warps
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
--- /dev/null
+++ b/data/mapObjects/UndergroundPathNorthSouth.asm
@@ -1,0 +1,14 @@
+UndergroundPathNorthSouth_Object:
+	db $1 ; border block
+
+	db 2 ; warps
+	warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5
+	warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 5, 4, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_5
+	warp_to 2, 41, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_6
--- /dev/null
+++ b/data/mapObjects/UndergroundPathRoute5.asm
@@ -1,0 +1,17 @@
+UndergroundPathRoute5_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 3, 7, 3, -1
+	warp 4, 7, 3, -1
+	warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 3, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH
+	warp_to 4, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH
+	warp_to 4, 4, UNDERGROUND_PATH_ROUTE_5_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH
--- /dev/null
+++ b/data/mapObjects/UndergroundPathRoute6.asm
@@ -1,0 +1,17 @@
+UndergroundPathRoute6_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 3, 7, 3, -1
+	warp 4, 7, 3, -1
+	warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 3, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH
+	warp_to 4, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH
+	warp_to 4, 4, UNDERGROUND_PATH_ROUTE_6_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH
--- /dev/null
+++ b/data/mapObjects/UndergroundPathRoute7.asm
@@ -1,0 +1,17 @@
+UndergroundPathRoute7_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 3, 7, 4, -1
+	warp 4, 7, 4, -1
+	warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH
+	warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH
+	warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_WIDTH ; UNDERGROUND_PATH_WEST_EAST
--- /dev/null
+++ b/data/mapObjects/UndergroundPathRoute7Copy.asm
@@ -1,0 +1,18 @@
+UndergroundPathRoute7Copy_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 3, 7, 5, -1
+	warp 4, 7, 5, -1
+	warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person
+	object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH
+	warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH
+	warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH ; UNDERGROUND_PATH_WEST_EAST
--- /dev/null
+++ b/data/mapObjects/UndergroundPathRoute8.asm
@@ -1,0 +1,17 @@
+UndergroundPathRoute8_Object:
+	db $a ; border block
+
+	db 3 ; warps
+	warp 3, 7, 4, -1
+	warp 4, 7, 4, -1
+	warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person
+
+	; warp-to
+	warp_to 3, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH
+	warp_to 4, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH
+	warp_to 4, 4, UNDERGROUND_PATH_ROUTE_8_WIDTH ; UNDERGROUND_PATH_WEST_EAST
--- /dev/null
+++ b/data/mapObjects/UndergroundPathWestEast.asm
@@ -1,0 +1,14 @@
+UndergroundPathWestEast_Object:
+	db $1 ; border block
+
+	db 2 ; warps
+	warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7
+	warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 2, 5, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_7
+	warp_to 47, 2, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_8
--- /dev/null
+++ b/data/mapObjects/VermilionCity.asm
@@ -1,0 +1,41 @@
+VermilionCity_Object:
+	db $43 ; border block
+
+	db 9 ; warps
+	warp 11, 3, 0, VERMILION_POKECENTER
+	warp 9, 13, 0, POKEMON_FAN_CLUB
+	warp 23, 13, 0, VERMILION_MART
+	warp 12, 19, 0, VERMILION_GYM
+	warp 23, 19, 0, VERMILION_PIDGEY_HOUSE
+	warp 18, 31, 0, VERMILION_DOCK
+	warp 19, 31, 0, VERMILION_DOCK
+	warp 15, 13, 0, VERMILION_TRADE_HOUSE
+	warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE
+
+	db 7 ; signs
+	sign 27, 3, 7 ; VermilionCityText7
+	sign 37, 13, 8 ; VermilionCityText8
+	sign 24, 13, 9 ; MartSignText
+	sign 12, 3, 10 ; PokeCenterSignText
+	sign 7, 13, 11 ; VermilionCityText11
+	sign 7, 19, 12 ; VermilionCityText12
+	sign 29, 15, 13 ; VermilionCityText13
+
+	db 6 ; objects
+	object SPRITE_FOULARD_WOMAN, 19, 7, WALK, 2, 1 ; person
+	object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person
+	object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person
+	object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person
+	object SPRITE_SLOWBRO, 29, 9, WALK, 1, 5 ; person
+	object SPRITE_SAILOR, 25, 27, WALK, 2, 6 ; person
+
+	; warp-to
+	warp_to 11, 3, VERMILION_CITY_WIDTH ; VERMILION_POKECENTER
+	warp_to 9, 13, VERMILION_CITY_WIDTH ; POKEMON_FAN_CLUB
+	warp_to 23, 13, VERMILION_CITY_WIDTH ; VERMILION_MART
+	warp_to 12, 19, VERMILION_CITY_WIDTH ; VERMILION_GYM
+	warp_to 23, 19, VERMILION_CITY_WIDTH ; VERMILION_PIDGEY_HOUSE
+	warp_to 18, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK
+	warp_to 19, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK
+	warp_to 15, 13, VERMILION_CITY_WIDTH ; VERMILION_TRADE_HOUSE
+	warp_to 7, 3, VERMILION_CITY_WIDTH ; VERMILION_OLD_ROD_HOUSE
--- /dev/null
+++ b/data/mapObjects/VermilionDock.asm
@@ -1,0 +1,14 @@
+VermilionDock_Object:
+	db $f ; border block
+
+	db 2 ; warps
+	warp 14, 0, 5, -1
+	warp 14, 2, 1, SS_ANNE_1F
+
+	db 0 ; signs
+
+	db 0 ; objects
+
+	; warp-to
+	warp_to 14, 0, VERMILION_DOCK_WIDTH
+	warp_to 14, 2, VERMILION_DOCK_WIDTH ; SS_ANNE_1F
--- /dev/null
+++ b/data/mapObjects/VermilionGym.asm
@@ -1,0 +1,19 @@
+VermilionGym_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 4, 17, 3, -1
+	warp 5, 17, 3, -1
+
+	db 0 ; signs
+
+	db 5 ; objects
+	object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1
+	object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1
+	object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8
+	object SPRITE_GYM_HELPER, 4, 14, STAY, DOWN, 5 ; person
+
+	; warp-to
+	warp_to 4, 17, VERMILION_GYM_WIDTH
+	warp_to 5, 17, VERMILION_GYM_WIDTH
--- /dev/null
+++ b/data/mapObjects/VermilionMart.asm
@@ -1,0 +1,17 @@
+VermilionMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 2, -1
+	warp 4, 7, 2, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 5, 6, STAY, NONE, 2 ; person
+	object SPRITE_LASS, 3, 3, WALK, 2, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, VERMILION_MART_WIDTH
+	warp_to 4, 7, VERMILION_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/VermilionOldRodHouse.asm
@@ -1,0 +1,15 @@
+VermilionOldRodHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 8, -1
+	warp 3, 7, 8, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, VERMILION_OLD_ROD_HOUSE_WIDTH
+	warp_to 3, 7, VERMILION_OLD_ROD_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/VermilionPidgeyHouse.asm
@@ -1,0 +1,17 @@
+VermilionPidgeyHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 4, -1
+	warp 3, 7, 4, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_BUG_CATCHER, 5, 3, STAY, LEFT, 1 ; person
+	object SPRITE_BIRD, 3, 5, WALK, 2, 2 ; person
+	object SPRITE_PAPER_SHEET, 4, 3, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 2, 7, VERMILION_PIDGEY_HOUSE_WIDTH
+	warp_to 3, 7, VERMILION_PIDGEY_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/VermilionPokecenter.asm
@@ -1,0 +1,18 @@
+VermilionPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 0, -1
+	warp 4, 7, 0, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_FISHER, 10, 5, STAY, NONE, 2 ; person
+	object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, VERMILION_POKECENTER_WIDTH
+	warp_to 4, 7, VERMILION_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/VermilionTradeHouse.asm
@@ -1,0 +1,15 @@
+VermilionTradeHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 7, -1
+	warp 3, 7, 7, -1
+
+	db 0 ; signs
+
+	db 1 ; objects
+	object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person
+
+	; warp-to
+	warp_to 2, 7, VERMILION_TRADE_HOUSE_WIDTH
+	warp_to 3, 7, VERMILION_TRADE_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/VictoryRoad1F.asm
@@ -1,0 +1,23 @@
+VictoryRoad1F_Object:
+	db $7d ; border block
+
+	db 3 ; warps
+	warp 8, 17, 2, -1
+	warp 9, 17, 2, -1
+	warp 1, 1, 0, VICTORY_ROAD_2F
+
+	db 0 ; signs
+
+	db 7 ; objects
+	object SPRITE_LASS, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5
+	object SPRITE_BLACK_HAIR_BOY_1, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5
+	object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_43
+	object SPRITE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY
+	object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person
+	object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person
+	object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person
+
+	; warp-to
+	warp_to 8, 17, VICTORY_ROAD_1F_WIDTH
+	warp_to 9, 17, VICTORY_ROAD_1F_WIDTH
+	warp_to 1, 1, VICTORY_ROAD_1F_WIDTH ; VICTORY_ROAD_2F
--- /dev/null
+++ b/data/mapObjects/VictoryRoad2F.asm
@@ -1,0 +1,37 @@
+VictoryRoad2F_Object:
+	db $7d ; border block
+
+	db 7 ; warps
+	warp 0, 8, 2, VICTORY_ROAD_1F
+	warp 29, 7, 3, -1
+	warp 29, 8, 3, -1
+	warp 23, 7, 0, VICTORY_ROAD_3F
+	warp 25, 14, 2, VICTORY_ROAD_3F
+	warp 27, 7, 1, VICTORY_ROAD_3F
+	warp 1, 1, 3, VICTORY_ROAD_3F
+
+	db 0 ; signs
+
+	db 13 ; objects
+	object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9
+	object SPRITE_BLACK_HAIR_BOY_2, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2
+	object SPRITE_BLACK_HAIR_BOY_1, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5
+	object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6
+	object SPRITE_BLACK_HAIR_BOY_2, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5
+	object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50
+	object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_17
+	object SPRITE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL
+	object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_05
+	object SPRITE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC
+	object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person
+	object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person
+	object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person
+
+	; warp-to
+	warp_to 0, 8, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_1F
+	warp_to 29, 7, VICTORY_ROAD_2F_WIDTH
+	warp_to 29, 8, VICTORY_ROAD_2F_WIDTH
+	warp_to 23, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
+	warp_to 25, 14, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
+	warp_to 27, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
+	warp_to 1, 1, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F
--- /dev/null
+++ b/data/mapObjects/VictoryRoad3F.asm
@@ -1,0 +1,28 @@
+VictoryRoad3F_Object:
+	db $7d ; border block
+
+	db 4 ; warps
+	warp 23, 7, 3, VICTORY_ROAD_2F
+	warp 26, 8, 5, VICTORY_ROAD_2F
+	warp 27, 15, 4, VICTORY_ROAD_2F
+	warp 2, 0, 6, VICTORY_ROAD_2F
+
+	db 0 ; signs
+
+	db 10 ; objects
+	object SPRITE_BLACK_HAIR_BOY_1, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2
+	object SPRITE_LASS, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2
+	object SPRITE_BLACK_HAIR_BOY_1, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3
+	object SPRITE_LASS, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3
+	object SPRITE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE
+	object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_47
+	object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person
+	object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person
+	object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person
+	object SPRITE_BOULDER, 22, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person
+
+	; warp-to
+	warp_to 23, 7, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
+	warp_to 26, 8, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
+	warp_to 27, 15, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
+	warp_to 2, 0, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F
--- /dev/null
+++ b/data/mapObjects/ViridianCity.asm
@@ -1,0 +1,33 @@
+ViridianCity_Object:
+	db $f ; border block
+
+	db 5 ; warps
+	warp 23, 25, 0, VIRIDIAN_POKECENTER
+	warp 29, 19, 0, VIRIDIAN_MART
+	warp 21, 15, 0, VIRIDIAN_SCHOOL_HOUSE
+	warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE
+	warp 32, 7, 0, VIRIDIAN_GYM
+
+	db 6 ; signs
+	sign 17, 17, 8 ; ViridianCityText8
+	sign 19, 1, 9 ; ViridianCityText9
+	sign 21, 29, 10 ; ViridianCityText10
+	sign 30, 19, 11 ; MartSignText
+	sign 24, 25, 12 ; PokeCenterSignText
+	sign 27, 7, 13 ; ViridianCityText13
+
+	db 7 ; objects
+	object SPRITE_BUG_CATCHER, 13, 20, WALK, 0, 1 ; person
+	object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person
+	object SPRITE_BUG_CATCHER, 30, 25, WALK, 0, 3 ; person
+	object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person
+	object SPRITE_LYING_OLD_MAN, 18, 9, STAY, NONE, 5 ; person
+	object SPRITE_FISHER2, 6, 23, STAY, DOWN, 6 ; person
+	object SPRITE_GAMBLER, 17, 5, WALK, 2, 7 ; person
+
+	; warp-to
+	warp_to 23, 25, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_POKECENTER
+	warp_to 29, 19, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_MART
+	warp_to 21, 15, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_SCHOOL_HOUSE
+	warp_to 21, 9, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_NICKNAME_HOUSE
+	warp_to 32, 7, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_GYM
--- /dev/null
+++ b/data/mapObjects/ViridianForest.asm
@@ -1,0 +1,36 @@
+ViridianForest_Object:
+	db $3 ; border block
+
+	db 6 ; warps
+	warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE
+	warp 2, 0, 3, VIRIDIAN_FOREST_NORTH_GATE
+	warp 15, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+	warp 16, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+	warp 17, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+	warp 18, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE
+
+	db 6 ; signs
+	sign 24, 40, 9 ; ViridianForestText9
+	sign 16, 32, 10 ; ViridianForestText10
+	sign 26, 17, 11 ; ViridianForestText11
+	sign 4, 24, 12 ; ViridianForestText12
+	sign 18, 45, 13 ; ViridianForestText13
+	sign 2, 1, 14 ; ViridianForestText14
+
+	db 8 ; objects
+	object SPRITE_BUG_CATCHER, 16, 43, STAY, NONE, 1 ; person
+	object SPRITE_BUG_CATCHER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1
+	object SPRITE_BUG_CATCHER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2
+	object SPRITE_BUG_CATCHER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3
+	object SPRITE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE
+	object SPRITE_BALL, 12, 29, STAY, NONE, 6, POTION
+	object SPRITE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL
+	object SPRITE_BUG_CATCHER, 27, 40, STAY, NONE, 8 ; person
+
+	; warp-to
+	warp_to 1, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE
+	warp_to 2, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE
+	warp_to 15, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+	warp_to 16, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+	warp_to 17, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
+	warp_to 18, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE
--- /dev/null
+++ b/data/mapObjects/ViridianForestNorthGate.asm
@@ -1,0 +1,20 @@
+ViridianForestNorthGate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 4, 0, 1, -1
+	warp 5, 0, 1, -1
+	warp 4, 7, 0, VIRIDIAN_FOREST
+	warp 5, 7, 0, VIRIDIAN_FOREST
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, NONE, 1 ; person
+	object SPRITE_OLD_PERSON, 2, 5, STAY, NONE, 2 ; person
+
+	; warp-to
+	warp_to 4, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH
+	warp_to 5, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH
+	warp_to 4, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST
+	warp_to 5, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST
--- /dev/null
+++ b/data/mapObjects/ViridianForestSouthGate.asm
@@ -1,0 +1,20 @@
+ViridianForestSouthGate_Object:
+	db $a ; border block
+
+	db 4 ; warps
+	warp 4, 0, 3, VIRIDIAN_FOREST
+	warp 5, 0, 4, VIRIDIAN_FOREST
+	warp 4, 7, 5, -1
+	warp 5, 7, 5, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person
+	object SPRITE_LITTLE_GIRL, 2, 4, WALK, 1, 2 ; person
+
+	; warp-to
+	warp_to 4, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST
+	warp_to 5, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST
+	warp_to 4, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH
+	warp_to 5, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH
--- /dev/null
+++ b/data/mapObjects/ViridianGym.asm
@@ -1,0 +1,25 @@
+ViridianGym_Object:
+	db $3 ; border block
+
+	db 2 ; warps
+	warp 16, 17, 4, -1
+	warp 17, 17, 4, -1
+
+	db 0 ; signs
+
+	db 11 ; objects
+	object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3
+	object SPRITE_BLACK_HAIR_BOY_1, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9
+	object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6
+	object SPRITE_ROCKER, 10, 7, STAY, DOWN, 4, OPP_TAMER, 3
+	object SPRITE_HIKER, 3, 7, STAY, LEFT, 5, OPP_BLACKBELT, 7
+	object SPRITE_BLACK_HAIR_BOY_1, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10
+	object SPRITE_HIKER, 10, 1, STAY, DOWN, 7, OPP_BLACKBELT, 8
+	object SPRITE_ROCKER, 2, 16, STAY, RIGHT, 8, OPP_TAMER, 4
+	object SPRITE_BLACK_HAIR_BOY_1, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1
+	object SPRITE_GYM_HELPER, 16, 15, STAY, DOWN, 10 ; person
+	object SPRITE_BALL, 16, 9, STAY, NONE, 11, REVIVE
+
+	; warp-to
+	warp_to 16, 17, VIRIDIAN_GYM_WIDTH
+	warp_to 17, 17, VIRIDIAN_GYM_WIDTH
--- /dev/null
+++ b/data/mapObjects/ViridianMart.asm
@@ -1,0 +1,17 @@
+ViridianMart_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 1, -1
+	warp 4, 7, 1, -1
+
+	db 0 ; signs
+
+	db 3 ; objects
+	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
+	object SPRITE_BUG_CATCHER, 5, 5, WALK, 1, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 3, 3, STAY, NONE, 3 ; person
+
+	; warp-to
+	warp_to 3, 7, VIRIDIAN_MART_WIDTH
+	warp_to 4, 7, VIRIDIAN_MART_WIDTH
--- /dev/null
+++ b/data/mapObjects/ViridianNicknameHouse.asm
@@ -1,0 +1,18 @@
+ViridianNicknameHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 3, -1
+	warp 3, 7, 3, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person
+	object SPRITE_LITTLE_GIRL, 1, 4, WALK, 1, 2 ; person
+	object SPRITE_BIRD, 5, 5, WALK, 2, 3 ; person
+	object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person
+
+	; warp-to
+	warp_to 2, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH
+	warp_to 3, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/ViridianPokecenter.asm
@@ -1,0 +1,18 @@
+ViridianPokecenter_Object:
+	db $0 ; border block
+
+	db 2 ; warps
+	warp 3, 7, 0, -1
+	warp 4, 7, 0, -1
+
+	db 0 ; signs
+
+	db 4 ; objects
+	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
+	object SPRITE_GENTLEMAN, 10, 5, WALK, 1, 2 ; person
+	object SPRITE_BLACK_HAIR_BOY_1, 4, 3, STAY, NONE, 3 ; person
+	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
+
+	; warp-to
+	warp_to 3, 7, VIRIDIAN_POKECENTER_WIDTH
+	warp_to 4, 7, VIRIDIAN_POKECENTER_WIDTH
--- /dev/null
+++ b/data/mapObjects/ViridianSchoolHouse.asm
@@ -1,0 +1,16 @@
+ViridianSchoolHouse_Object:
+	db $a ; border block
+
+	db 2 ; warps
+	warp 2, 7, 2, -1
+	warp 3, 7, 2, -1
+
+	db 0 ; signs
+
+	db 2 ; objects
+	object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person
+	object SPRITE_LASS, 4, 1, STAY, DOWN, 2 ; person
+
+	; warp-to
+	warp_to 2, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH
+	warp_to 3, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH
--- /dev/null
+++ b/data/mapObjects/WardensHouse.asm
@@ -1,0 +1,19 @@
+WardensHouse_Object:
+	db $17 ; border block
+
+	db 2 ; warps
+	warp 4, 7, 3, -1
+	warp 5, 7, 3, -1
+
+	db 2 ; signs
+	sign 4, 3, 4 ; FuchsiaHouse2Text4
+	sign 5, 3, 5 ; FuchsiaHouse2Text5
+
+	db 3 ; objects
+	object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person
+	object SPRITE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY
+	object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person
+
+	; warp-to
+	warp_to 4, 7, WARDENS_HOUSE_WIDTH
+	warp_to 5, 7, WARDENS_HOUSE_WIDTH
--- a/data/mapObjects/agatha.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-AgathaObject:
-	db $0 ; border block
-
-	db 4 ; warps
-	warp 4, 11, 2, BRUNOS_ROOM
-	warp 5, 11, 3, BRUNOS_ROOM
-	warp 4, 0, 0, LANCES_ROOM
-	warp 5, 0, 0, LANCES_ROOM
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1
-
-	; warp-to
-	warp_to 4, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM
-	warp_to 5, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM
-	warp_to 4, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM
-	warp_to 5, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM
--- a/data/mapObjects/bikeshop.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-BikeShopObject:
-	db $e ; border block
-
-	db 2 ; warps
-	warp 2, 7, 4, -1
-	warp 3, 7, 4, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_BIKE_SHOP_GUY, 6, 2, STAY, NONE, 1 ; person
-	object SPRITE_MOM_GEISHA, 5, 6, WALK, 1, 2 ; person
-	object SPRITE_BUG_CATCHER, 1, 3, STAY, UP, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, BIKE_SHOP_WIDTH
-	warp_to 3, 7, BIKE_SHOP_WIDTH
--- a/data/mapObjects/billshouse.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-BillsHouseObject:
-	db $d ; border block
-
-	db 2 ; warps
-	warp 2, 7, 0, -1
-	warp 3, 7, 0, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_SLOWBRO, 6, 5, STAY, NONE, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 4, 4, STAY, NONE, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 6, 5, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, BILLS_HOUSE_WIDTH
-	warp_to 3, 7, BILLS_HOUSE_WIDTH
--- a/data/mapObjects/blueshouse.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-BluesHouseObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 1, -1
-	warp 3, 7, 1, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map
-	object SPRITE_DAISY, 6, 4, WALK, 1, 2, 0 ; Daisy, walking around
-	object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 3, 0 ; map on table
-
-	; warp-to
-	warp_to 2, 7, BLUES_HOUSE_WIDTH
-	warp_to 3, 7, BLUES_HOUSE_WIDTH
--- a/data/mapObjects/bruno.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-BrunoObject:
-	db $3 ; border block
-
-	db 4 ; warps
-	warp 4, 11, 2, LORELEIS_ROOM
-	warp 5, 11, 3, LORELEIS_ROOM
-	warp 4, 0, 0, AGATHAS_ROOM
-	warp 5, 0, 1, AGATHAS_ROOM
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1
-
-	; warp-to
-	warp_to 4, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM
-	warp_to 5, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM
-	warp_to 4, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM
-	warp_to 5, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM
--- a/data/mapObjects/celadoncity.asm
+++ /dev/null
@@ -1,54 +1,0 @@
-CeladonCityObject:
-	db $f ; border block
-
-	db 13 ; warps
-	warp 8, 13, 0, CELADON_MART_1
-	warp 10, 13, 2, CELADON_MART_1
-	warp 24, 9, 0, CELADON_MANSION_1
-	warp 24, 3, 2, CELADON_MANSION_1
-	warp 25, 3, 2, CELADON_MANSION_1
-	warp 41, 9, 0, CELADON_POKECENTER
-	warp 12, 27, 0, CELADON_GYM
-	warp 28, 19, 0, GAME_CORNER
-	warp 39, 19, 0, CELADON_MART_5 ; beta warp! no longer used
-	warp 33, 19, 0, CELADON_PRIZE_ROOM
-	warp 31, 27, 0, CELADON_DINER
-	warp 35, 27, 0, CELADON_HOUSE
-	warp 43, 27, 0, CELADON_HOTEL
-
-	db 9 ; signs
-	sign 27, 15, 10 ; CeladonCityText10
-	sign 19, 15, 11 ; CeladonCityText11
-	sign 42, 9, 12 ; PokeCenterSignText
-	sign 13, 29, 13 ; CeladonCityText13
-	sign 21, 9, 14 ; CeladonCityText14
-	sign 12, 13, 15 ; CeladonCityText15
-	sign 39, 21, 16 ; CeladonCityText16
-	sign 33, 21, 17 ; CeladonCityText17
-	sign 27, 21, 18 ; CeladonCityText18
-
-	db 9 ; objects
-	object SPRITE_LITTLE_GIRL, 8, 17, WALK, 0, 1 ; person
-	object SPRITE_OLD_PERSON, 11, 28, STAY, UP, 2 ; person
-	object SPRITE_GIRL, 14, 19, WALK, 1, 3 ; person
-	object SPRITE_OLD_PERSON, 25, 22, STAY, DOWN, 4 ; person
-	object SPRITE_OLD_PERSON, 22, 16, STAY, DOWN, 5 ; person
-	object SPRITE_FISHER2, 32, 12, STAY, LEFT, 6 ; person
-	object SPRITE_SLOWBRO, 30, 12, STAY, RIGHT, 7 ; person
-	object SPRITE_ROCKET, 32, 29, WALK, 2, 8 ; person
-	object SPRITE_ROCKET, 42, 14, WALK, 2, 9 ; person
-
-	; warp-to
-	warp_to 8, 13, CELADON_CITY_WIDTH ; CELADON_MART_1
-	warp_to 10, 13, CELADON_CITY_WIDTH ; CELADON_MART_1
-	warp_to 24, 9, CELADON_CITY_WIDTH ; CELADON_MANSION_1
-	warp_to 24, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1
-	warp_to 25, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1
-	warp_to 41, 9, CELADON_CITY_WIDTH ; CELADON_POKECENTER
-	warp_to 12, 27, CELADON_CITY_WIDTH ; CELADON_GYM
-	warp_to 28, 19, CELADON_CITY_WIDTH ; GAME_CORNER
-	warp_to 39, 19, CELADON_CITY_WIDTH ; CELADON_MART_5
-	warp_to 33, 19, CELADON_CITY_WIDTH ; CELADON_PRIZE_ROOM
-	warp_to 31, 27, CELADON_CITY_WIDTH ; CELADON_DINER
-	warp_to 35, 27, CELADON_CITY_WIDTH ; CELADON_HOUSE
-	warp_to 43, 27, CELADON_CITY_WIDTH ; CELADON_HOTEL
--- a/data/mapObjects/celadondiner.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CeladonDinerObject:
-	db $f ; border block
-
-	db 2 ; warps
-	warp 3, 7, 10, -1
-	warp 4, 7, 10, -1
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_COOK, 8, 5, WALK, 2, 1 ; person
-	object SPRITE_MOM_GEISHA, 7, 2, STAY, NONE, 2 ; person
-	object SPRITE_FAT_BALD_GUY, 1, 4, STAY, DOWN, 3 ; person
-	object SPRITE_FISHER2, 5, 3, STAY, RIGHT, 4 ; person
-	object SPRITE_GYM_HELPER, 0, 1, STAY, DOWN, 5 ; person
-
-	; warp-to
-	warp_to 3, 7, CELADON_DINER_WIDTH
-	warp_to 4, 7, CELADON_DINER_WIDTH
--- a/data/mapObjects/celadongamecorner.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-CeladonGameCornerObject:
-	db $f ; border block
-
-	db 3 ; warps
-	warp 15, 17, 7, -1
-	warp 16, 17, 7, -1
-	warp 17, 4, 1, ROCKET_HIDEOUT_1
-
-	db 1 ; signs
-	sign 9, 4, 12 ; CeladonGameCornerText12
-
-	db 11 ; objects
-	object SPRITE_FOULARD_WOMAN, 2, 6, STAY, DOWN, 1 ; person
-	object SPRITE_MART_GUY, 5, 6, STAY, DOWN, 2 ; person
-	object SPRITE_FAT_BALD_GUY, 2, 10, STAY, LEFT, 3 ; person
-	object SPRITE_FOULARD_WOMAN, 2, 13, STAY, LEFT, 4 ; person
-	object SPRITE_FISHER, 5, 11, STAY, RIGHT, 5 ; person
-	object SPRITE_MOM_GEISHA, 8, 11, STAY, LEFT, 6 ; person
-	object SPRITE_GYM_HELPER, 8, 14, STAY, LEFT, 7 ; person
-	object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person
-	object SPRITE_MART_GUY, 14, 11, STAY, LEFT, 9 ; person
-	object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person
-	object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7
-
-	; warp-to
-	warp_to 15, 17, GAME_CORNER_WIDTH
-	warp_to 16, 17, GAME_CORNER_WIDTH
-	warp_to 17, 4, GAME_CORNER_WIDTH ; ROCKET_HIDEOUT_1
--- a/data/mapObjects/celadongym.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-CeladonGymObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 17, 6, -1
-	warp 5, 17, 6, -1
-
-	db 0 ; signs
-
-	db 8 ; objects
-	object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1
-	object SPRITE_LASS, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17
-	object SPRITE_FOULARD_WOMAN, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1
-	object SPRITE_LASS, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11
-	object SPRITE_FOULARD_WOMAN, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2
-	object SPRITE_LASS, 6, 3, STAY, DOWN, 6, OPP_LASS, 18
-	object SPRITE_FOULARD_WOMAN, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3
-	object SPRITE_LASS, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1
-
-	; warp-to
-	warp_to 4, 17, CELADON_GYM_WIDTH
-	warp_to 5, 17, CELADON_GYM_WIDTH
--- a/data/mapObjects/celadonhotel.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-CeladonHotelObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 12, -1
-	warp 4, 7, 12, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_OLD_MEDIUM_WOMAN, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_FOULARD_WOMAN, 2, 4, STAY, NONE, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 8, 4, WALK, 2, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, CELADON_HOTEL_WIDTH
-	warp_to 4, 7, CELADON_HOTEL_WIDTH
--- a/data/mapObjects/celadonhouse.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-CeladonHouseObject:
-	db $f ; border block
-
-	db 2 ; warps
-	warp 2, 7, 11, -1
-	warp 3, 7, 11, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_OLD_PERSON, 4, 2, STAY, DOWN, 1 ; person
-	object SPRITE_ROCKET, 1, 4, WALK, 0, 2 ; person
-	object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, CELADON_HOUSE_WIDTH
-	warp_to 3, 7, CELADON_HOUSE_WIDTH
--- a/data/mapObjects/celadonmansion1.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-CeladonMansion1Object:
-	db $f ; border block
-
-	db 5 ; warps
-	warp 4, 11, 2, -1
-	warp 5, 11, 2, -1
-	warp 4, 0, 4, -1
-	warp 7, 1, 1, CELADON_MANSION_2
-	warp 2, 1, 2, CELADON_MANSION_2
-
-	db 1 ; signs
-	sign 4, 9, 5 ; CeladonMansion1Text5
-
-	db 4 ; objects
-	object SPRITE_SLOWBRO, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_OLD_MEDIUM_WOMAN, 1, 5, STAY, DOWN, 2 ; person
-	object SPRITE_CLEFAIRY, 1, 8, WALK, 2, 3 ; person
-	object SPRITE_SLOWBRO, 4, 4, WALK, 1, 4 ; person
-
-	; warp-to
-	warp_to 4, 11, CELADON_MANSION_1_WIDTH
-	warp_to 5, 11, CELADON_MANSION_1_WIDTH
-	warp_to 4, 0, CELADON_MANSION_1_WIDTH
-	warp_to 7, 1, CELADON_MANSION_1_WIDTH ; CELADON_MANSION_2
-	warp_to 2, 1, CELADON_MANSION_1_WIDTH ; CELADON_MANSION_2
--- a/data/mapObjects/celadonmansion2.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CeladonMansion2Object:
-	db $f ; border block
-
-	db 4 ; warps
-	warp 6, 1, 0, CELADON_MANSION_3
-	warp 7, 1, 3, CELADON_MANSION_1
-	warp 2, 1, 4, CELADON_MANSION_1
-	warp 4, 1, 3, CELADON_MANSION_3
-
-	db 1 ; signs
-	sign 4, 9, 1 ; CeladonMansion2Text1
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 6, 1, CELADON_MANSION_2_WIDTH ; CELADON_MANSION_3
-	warp_to 7, 1, CELADON_MANSION_2_WIDTH ; CELADON_MANSION_1
-	warp_to 2, 1, CELADON_MANSION_2_WIDTH ; CELADON_MANSION_1
-	warp_to 4, 1, CELADON_MANSION_2_WIDTH ; CELADON_MANSION_3
--- a/data/mapObjects/celadonmansion3.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-CeladonMansion3Object:
-	db $f ; border block
-
-	db 4 ; warps
-	warp 6, 1, 0, CELADON_MANSION_2
-	warp 7, 1, 0, CELADON_MANSION_4
-	warp 2, 1, 1, CELADON_MANSION_4
-	warp 4, 1, 3, CELADON_MANSION_2
-
-	db 4 ; signs
-	sign 1, 3, 5 ; CeladonMansion3Text5
-	sign 4, 3, 6 ; CeladonMansion3Text6
-	sign 1, 6, 7 ; CeladonMansion3Text7
-	sign 4, 9, 8 ; CeladonMansion3Text8
-
-	db 4 ; objects
-	object SPRITE_BIKE_SHOP_GUY, 0, 4, STAY, UP, 1 ; person
-	object SPRITE_MART_GUY, 3, 4, STAY, UP, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 0, 7, STAY, UP, 3 ; person
-	object SPRITE_LAPRAS_GIVER, 2, 3, STAY, NONE, 4 ; person
-
-	; warp-to
-	warp_to 6, 1, CELADON_MANSION_3_WIDTH ; CELADON_MANSION_2
-	warp_to 7, 1, CELADON_MANSION_3_WIDTH ; CELADON_MANSION_4
-	warp_to 2, 1, CELADON_MANSION_3_WIDTH ; CELADON_MANSION_4
-	warp_to 4, 1, CELADON_MANSION_3_WIDTH ; CELADON_MANSION_2
--- a/data/mapObjects/celadonmansion4.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-CeladonMansion4Object:
-	db $9 ; border block
-
-	db 3 ; warps
-	warp 6, 1, 1, CELADON_MANSION_3
-	warp 2, 1, 2, CELADON_MANSION_3
-	warp 2, 7, 0, CELADON_MANSION_5
-
-	db 1 ; signs
-	sign 3, 7, 1 ; CeladonMansion4Text1
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 6, 1, CELADON_MANSION_4_WIDTH ; CELADON_MANSION_3
-	warp_to 2, 1, CELADON_MANSION_4_WIDTH ; CELADON_MANSION_3
-	warp_to 2, 7, CELADON_MANSION_4_WIDTH ; CELADON_MANSION_5
--- a/data/mapObjects/celadonmansion5.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-CeladonMansion5Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 2, CELADON_MANSION_4
-	warp 3, 7, 2, CELADON_MANSION_4
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person
-	object SPRITE_BALL, 4, 3, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, CELADON_MANSION_5_WIDTH ; CELADON_MANSION_4
-	warp_to 3, 7, CELADON_MANSION_5_WIDTH ; CELADON_MANSION_4
--- a/data/mapObjects/celadonmart1.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-CeladonMart1Object:
-	db $f ; border block
-
-	db 6 ; warps
-	warp 2, 7, 0, -1
-	warp 3, 7, 0, -1
-	warp 16, 7, 1, -1
-	warp 17, 7, 1, -1
-	warp 12, 1, 0, CELADON_MART_2
-	warp 1, 1, 0, CELADON_MART_ELEVATOR
-
-	db 2 ; signs
-	sign 11, 4, 2 ; CeladonMart1Text2
-	sign 14, 1, 3 ; CeladonMart1Text3
-
-	db 1 ; objects
-	object SPRITE_CABLE_CLUB_WOMAN, 8, 3, STAY, DOWN, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, CELADON_MART_1_WIDTH
-	warp_to 3, 7, CELADON_MART_1_WIDTH
-	warp_to 16, 7, CELADON_MART_1_WIDTH
-	warp_to 17, 7, CELADON_MART_1_WIDTH
-	warp_to 12, 1, CELADON_MART_1_WIDTH ; CELADON_MART_2
-	warp_to 1, 1, CELADON_MART_1_WIDTH ; CELADON_MART_ELEVATOR
--- a/data/mapObjects/celadonmart2.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-CeladonMart2Object:
-	db $f ; border block
-
-	db 3 ; warps
-	warp 12, 1, 4, CELADON_MART_1
-	warp 16, 1, 1, CELADON_MART_3
-	warp 1, 1, 0, CELADON_MART_ELEVATOR
-
-	db 1 ; signs
-	sign 14, 1, 5 ; CeladonMart2Text5
-
-	db 4 ; objects
-	object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 1 ; person
-	object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 2 ; person
-	object SPRITE_FAT_BALD_GUY, 19, 5, STAY, NONE, 3 ; person
-	object SPRITE_GIRL, 14, 4, WALK, 1, 4 ; person
-
-	; warp-to
-	warp_to 12, 1, CELADON_MART_2_WIDTH ; CELADON_MART_1
-	warp_to 16, 1, CELADON_MART_2_WIDTH ; CELADON_MART_3
-	warp_to 1, 1, CELADON_MART_2_WIDTH ; CELADON_MART_ELEVATOR
--- a/data/mapObjects/celadonmart3.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-CeladonMart3Object:
-	db $f ; border block
-
-	db 3 ; warps
-	warp 12, 1, 0, CELADON_MART_4
-	warp 16, 1, 1, CELADON_MART_2
-	warp 1, 1, 0, CELADON_MART_ELEVATOR
-
-	db 12 ; signs
-	sign 2, 4, 6 ; CeladonMart3Text6
-	sign 3, 4, 7 ; CeladonMart3Text7
-	sign 5, 4, 8 ; CeladonMart3Text8
-	sign 6, 4, 9 ; CeladonMart3Text9
-	sign 2, 6, 10 ; CeladonMart3Text10
-	sign 3, 6, 11 ; CeladonMart3Text11
-	sign 5, 6, 12 ; CeladonMart3Text12
-	sign 6, 6, 13 ; CeladonMart3Text13
-	sign 14, 1, 14 ; CeladonMart3Text14
-	sign 4, 1, 15 ; CeladonMart3Text15
-	sign 6, 1, 16 ; CeladonMart3Text16
-	sign 10, 1, 17 ; CeladonMart3Text17
-
-	db 5 ; objects
-	object SPRITE_MART_GUY, 16, 5, STAY, NONE, 1 ; person
-	object SPRITE_GAMEBOY_KID_COPY, 11, 6, STAY, RIGHT, 2 ; person
-	object SPRITE_GAMEBOY_KID_COPY, 7, 2, STAY, DOWN, 3 ; person
-	object SPRITE_GAMEBOY_KID_COPY, 8, 2, STAY, DOWN, 4 ; person
-	object SPRITE_YOUNG_BOY, 2, 5, STAY, UP, 5 ; person
-
-	; warp-to
-	warp_to 12, 1, CELADON_MART_3_WIDTH ; CELADON_MART_4
-	warp_to 16, 1, CELADON_MART_3_WIDTH ; CELADON_MART_2
-	warp_to 1, 1, CELADON_MART_3_WIDTH ; CELADON_MART_ELEVATOR
--- a/data/mapObjects/celadonmart4.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-CeladonMart4Object:
-	db $f ; border block
-
-	db 3 ; warps
-	warp 12, 1, 0, CELADON_MART_3
-	warp 16, 1, 1, CELADON_MART_5
-	warp 1, 1, 0, CELADON_MART_ELEVATOR
-
-	db 1 ; signs
-	sign 14, 1, 4 ; CeladonMart4Text4
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 5, 7, STAY, NONE, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 15, 5, WALK, 2, 2 ; person
-	object SPRITE_BUG_CATCHER, 5, 2, WALK, 2, 3 ; person
-
-	; warp-to
-	warp_to 12, 1, CELADON_MART_4_WIDTH ; CELADON_MART_3
-	warp_to 16, 1, CELADON_MART_4_WIDTH ; CELADON_MART_5
-	warp_to 1, 1, CELADON_MART_4_WIDTH ; CELADON_MART_ELEVATOR
--- a/data/mapObjects/celadonmart5.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-CeladonMart5Object:
-	db $f ; border block
-
-	db 3 ; warps
-	warp 12, 1, 0, CELADON_MART_ROOF
-	warp 16, 1, 1, CELADON_MART_4
-	warp 1, 1, 0, CELADON_MART_ELEVATOR
-
-	db 1 ; signs
-	sign 14, 1, 5 ; CeladonMart5Text5
-
-	db 4 ; objects
-	object SPRITE_GENTLEMAN, 14, 5, WALK, 1, 1 ; person
-	object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person
-	object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 3 ; person
-	object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 12, 1, CELADON_MART_5_WIDTH ; CELADON_MART_ROOF
-	warp_to 16, 1, CELADON_MART_5_WIDTH ; CELADON_MART_4
-	warp_to 1, 1, CELADON_MART_5_WIDTH ; CELADON_MART_ELEVATOR
--- a/data/mapObjects/celadonmartelevator.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-CeladonMartElevatorObject:
-	db $f ; border block
-
-	db 2 ; warps
-	warp 1, 3, 5, CELADON_MART_1
-	warp 2, 3, 5, CELADON_MART_1
-
-	db 1 ; signs
-	sign 3, 0, 1 ; CeladonMartElevatorText1
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 1, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1
-	warp_to 2, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1
--- a/data/mapObjects/celadonmartroof.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-CeladonMartRoofObject:
-	db $42 ; border block
-
-	db 1 ; warps
-	warp 15, 2, 0, CELADON_MART_5
-
-	db 4 ; signs
-	sign 10, 1, 3 ; CeladonMartRoofText3
-	sign 11, 1, 4 ; CeladonMartRoofText4
-	sign 12, 2, 5 ; CeladonMartRoofText5
-	sign 13, 2, 6 ; CeladonMartRoofText6
-
-	db 2 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 10, 4, STAY, LEFT, 1 ; person
-	object SPRITE_LITTLE_GIRL, 5, 5, WALK, 0, 2 ; person
-
-	; warp-to
-	warp_to 15, 2, CELADON_MART_ROOF_WIDTH ; CELADON_MART_5
--- a/data/mapObjects/celadonpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-CeladonPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 5, -1
-	warp 4, 7, 5, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person
-	object SPRITE_FOULARD_WOMAN, 10, 5, WALK, 0, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, CELADON_POKECENTER_WIDTH
-	warp_to 4, 7, CELADON_POKECENTER_WIDTH
--- a/data/mapObjects/celadonprizeroom.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CeladonPrizeRoomObject:
-	db $f ; border block
-
-	db 2 ; warps
-	warp 4, 7, 9, -1
-	warp 5, 7, 9, -1
-
-	db 3 ; signs
-	sign 2, 2, 3 ; CeladonPrizeRoomText3
-	sign 4, 2, 4 ; CeladonPrizeRoomText4
-	sign 6, 2, 5 ; CeladonPrizeRoomText5
-
-	db 2 ; objects
-	object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person
-	object SPRITE_GAMBLER, 7, 3, WALK, 2, 2 ; person
-
-	; warp-to
-	warp_to 4, 7, CELADON_PRIZE_ROOM_WIDTH
-	warp_to 5, 7, CELADON_PRIZE_ROOM_WIDTH
--- a/data/mapObjects/ceruleancity.asm
+++ /dev/null
@@ -1,47 +1,0 @@
-CeruleanCityObject:
-	db $f ; border block
-
-	db 10 ; warps
-	warp 27, 11, 0, TRASHED_HOUSE
-	warp 13, 15, 0, CERULEAN_HOUSE_1
-	warp 19, 17, 0, CERULEAN_POKECENTER
-	warp 30, 19, 0, CERULEAN_GYM
-	warp 13, 25, 0, BIKE_SHOP
-	warp 25, 25, 0, CERULEAN_MART
-	warp 4, 11, 0, UNKNOWN_DUNGEON_1
-	warp 27, 9, 2, TRASHED_HOUSE
-	warp 9, 11, 1, CERULEAN_HOUSE_2
-	warp 9, 9, 0, CERULEAN_HOUSE_2
-
-	db 6 ; signs
-	sign 23, 19, 12 ; CeruleanCityText12
-	sign 17, 29, 13 ; CeruleanCityText13
-	sign 26, 25, 14 ; MartSignText
-	sign 20, 17, 15 ; PokeCenterSignText
-	sign 11, 25, 16 ; CeruleanCityText16
-	sign 27, 21, 17 ; CeruleanCityText17
-
-	db 11 ; objects
-	object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person
-	object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5
-	object SPRITE_BLACK_HAIR_BOY_1, 31, 20, STAY, DOWN, 3 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 15, 18, WALK, 1, 4 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 9, 21, WALK, 2, 5 ; person
-	object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person
-	object SPRITE_LASS, 29, 26, STAY, LEFT, 7 ; person
-	object SPRITE_SLOWBRO, 28, 26, STAY, DOWN, 8 ; person
-	object SPRITE_LASS, 9, 27, WALK, 2, 9 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 4, 12, STAY, DOWN, 10 ; person
-	object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person
-
-	; warp-to
-	warp_to 27, 11, CERULEAN_CITY_WIDTH ; TRASHED_HOUSE
-	warp_to 13, 15, CERULEAN_CITY_WIDTH ; CERULEAN_HOUSE_1
-	warp_to 19, 17, CERULEAN_CITY_WIDTH ; CERULEAN_POKECENTER
-	warp_to 30, 19, CERULEAN_CITY_WIDTH ; CERULEAN_GYM
-	warp_to 13, 25, CERULEAN_CITY_WIDTH ; BIKE_SHOP
-	warp_to 25, 25, CERULEAN_CITY_WIDTH ; CERULEAN_MART
-	warp_to 4, 11, CERULEAN_CITY_WIDTH ; UNKNOWN_DUNGEON_1
-	warp_to 27, 9, CERULEAN_CITY_WIDTH ; TRASHED_HOUSE
-	warp_to 9, 11, CERULEAN_CITY_WIDTH ; CERULEAN_HOUSE_2
-	warp_to 9, 9, CERULEAN_CITY_WIDTH ; CERULEAN_HOUSE_2
--- a/data/mapObjects/ceruleangym.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-CeruleanGymObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 13, 3, -1
-	warp 5, 13, 3, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1
-	object SPRITE_LASS, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1
-	object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1
-	object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 4, 13, CERULEAN_GYM_WIDTH
-	warp_to 5, 13, CERULEAN_GYM_WIDTH
--- a/data/mapObjects/ceruleanhouse1.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-CeruleanHouse1Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 1, -1
-	warp 3, 7, 1, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_OLD_MEDIUM_WOMAN, 5, 4, STAY, LEFT, 1 ; person
-	object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, CERULEAN_HOUSE_1_WIDTH
-	warp_to 3, 7, CERULEAN_HOUSE_1_WIDTH
--- a/data/mapObjects/ceruleanhouse2.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-CeruleanHouse2Object:
-	db $c ; border block
-
-	db 3 ; warps
-	warp 2, 0, 9, -1
-	warp 2, 7, 8, -1
-	warp 3, 7, 8, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FAT_BALD_GUY, 5, 3, STAY, RIGHT, 1 ; person
-
-	; warp-to
-	warp_to 2, 0, CERULEAN_HOUSE_2_WIDTH
-	warp_to 2, 7, CERULEAN_HOUSE_2_WIDTH
-	warp_to 3, 7, CERULEAN_HOUSE_2_WIDTH
--- a/data/mapObjects/ceruleanhousetrashed.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CeruleanHouseTrashedObject:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 2, 7, 0, -1
-	warp 3, 7, 0, -1
-	warp 3, 0, 7, -1
-
-	db 1 ; signs
-	sign 3, 0, 3 ; CeruleanHouseTrashedText3
-
-	db 2 ; objects
-	object SPRITE_FISHER, 2, 1, STAY, DOWN, 1 ; person
-	object SPRITE_GIRL, 5, 6, WALK, 2, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, TRASHED_HOUSE_WIDTH
-	warp_to 3, 7, TRASHED_HOUSE_WIDTH
-	warp_to 3, 0, TRASHED_HOUSE_WIDTH
--- a/data/mapObjects/ceruleanmart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-CeruleanMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 5, -1
-	warp 4, 7, 5, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 3, 4, WALK, 1, 2 ; person
-	object SPRITE_LASS, 6, 2, WALK, 2, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, CERULEAN_MART_WIDTH
-	warp_to 4, 7, CERULEAN_MART_WIDTH
--- a/data/mapObjects/ceruleanpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-CeruleanPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 2, -1
-	warp 4, 7, 2, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 10, 5, WALK, 0, 2 ; person
-	object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, CERULEAN_POKECENTER_WIDTH
-	warp_to 4, 7, CERULEAN_POKECENTER_WIDTH
--- a/data/mapObjects/cinnabargym.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-CinnabarGymObject:
-	db $2e ; border block
-
-	db 2 ; warps
-	warp 16, 17, 1, -1
-	warp 17, 17, 1, -1
-
-	db 0 ; signs
-
-	db 9 ; objects
-	object SPRITE_FAT_BALD_GUY, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1
-	object SPRITE_BLACK_HAIR_BOY_2, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9
-	object SPRITE_BLACK_HAIR_BOY_2, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4
-	object SPRITE_BLACK_HAIR_BOY_2, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10
-	object SPRITE_BLACK_HAIR_BOY_2, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5
-	object SPRITE_BLACK_HAIR_BOY_2, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12
-	object SPRITE_GYM_HELPER, 16, 13, STAY, DOWN, 9 ; person
-
-	; warp-to
-	warp_to 16, 17, CINNABAR_GYM_WIDTH
-	warp_to 17, 17, CINNABAR_GYM_WIDTH
--- a/data/mapObjects/cinnabarisland.asm
+++ /dev/null
@@ -1,27 +1,0 @@
-CinnabarIslandObject:
-	db $43 ; border block
-
-	db 5 ; warps
-	warp 6, 3, 1, MANSION_1
-	warp 18, 3, 0, CINNABAR_GYM
-	warp 6, 9, 0, CINNABAR_LAB_1
-	warp 11, 11, 0, CINNABAR_POKECENTER
-	warp 15, 11, 0, CINNABAR_MART
-
-	db 5 ; signs
-	sign 9, 5, 3 ; CinnabarIslandText3
-	sign 16, 11, 4 ; MartSignText
-	sign 12, 11, 5 ; PokeCenterSignText
-	sign 9, 11, 6 ; CinnabarIslandText6
-	sign 13, 3, 7 ; CinnabarIslandText7
-
-	db 2 ; objects
-	object SPRITE_GIRL, 12, 5, WALK, 2, 1 ; person
-	object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 6, 3, CINNABAR_ISLAND_WIDTH ; MANSION_1
-	warp_to 18, 3, CINNABAR_ISLAND_WIDTH ; CINNABAR_GYM
-	warp_to 6, 9, CINNABAR_ISLAND_WIDTH ; CINNABAR_LAB_1
-	warp_to 11, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_POKECENTER
-	warp_to 15, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_MART
--- a/data/mapObjects/cinnabarmart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-CinnabarMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 4, -1
-	warp 4, 7, 4, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person
-	object SPRITE_OAK_AIDE, 3, 4, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, CINNABAR_MART_WIDTH
-	warp_to 4, 7, CINNABAR_MART_WIDTH
--- a/data/mapObjects/cinnabarpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-CinnabarPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 3, -1
-	warp 4, 7, 3, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_LASS, 9, 4, WALK, 0, 2 ; person
-	object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, CINNABAR_POKECENTER_WIDTH
-	warp_to 4, 7, CINNABAR_POKECENTER_WIDTH
--- a/data/mapObjects/colosseum.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-ColosseumObject:
-	db $e ; border block
-
-	db 0 ; warps
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
--- a/data/mapObjects/copycatshouse1f.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CopycatsHouse1FObject:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 2, 7, 0, -1
-	warp 3, 7, 0, -1
-	warp 7, 1, 0, COPYCATS_HOUSE_2F
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MOM_GEISHA, 2, 2, STAY, DOWN, 1 ; person
-	object SPRITE_FAT_BALD_GUY, 5, 4, STAY, LEFT, 2 ; person
-	object SPRITE_CLEFAIRY, 1, 4, WALK, 1, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH
-	warp_to 3, 7, COPYCATS_HOUSE_1F_WIDTH
-	warp_to 7, 1, COPYCATS_HOUSE_1F_WIDTH ; COPYCATS_HOUSE_2F
--- a/data/mapObjects/copycatshouse2f.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CopycatsHouse2FObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 1, 2, COPYCATS_HOUSE_1F
-
-	db 2 ; signs
-	sign 3, 5, 6 ; CopycatsHouse2FText6
-	sign 0, 1, 7 ; CopycatsHouse2FText7
-
-	db 5 ; objects
-	object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, 0, 1 ; person
-	object SPRITE_BIRD, 4, 6, WALK, 2, 2 ; person
-	object SPRITE_SLOWBRO, 5, 1, STAY, DOWN, 3 ; person
-	object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person
-	object SPRITE_CLEFAIRY, 1, 6, STAY, RIGHT, 5 ; person
-
-	; warp-to
-	warp_to 7, 1, COPYCATS_HOUSE_2F_WIDTH ; COPYCATS_HOUSE_1F
--- a/data/mapObjects/daycarem.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-DayCareMObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 4, -1
-	warp 3, 7, 4, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, DAYCAREM_WIDTH
-	warp_to 3, 7, DAYCAREM_WIDTH
--- a/data/mapObjects/diglettscave.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-DiglettsCaveObject:
-	db $19 ; border block
-
-	db 2 ; warps
-	warp 5, 5, 2, DIGLETTS_CAVE_EXIT
-	warp 37, 31, 2, DIGLETTS_CAVE_ENTRANCE
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 5, 5, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_EXIT
-	warp_to 37, 31, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ENTRANCE
--- a/data/mapObjects/diglettscaveroute11.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-DiglettsCaveEntranceRoute11Object:
-	db $7d ; border block
-
-	db 3 ; warps
-	warp 2, 7, 4, -1
-	warp 3, 7, 4, -1
-	warp 4, 4, 1, DIGLETTS_CAVE
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, DIGLETTS_CAVE_ENTRANCE_WIDTH
-	warp_to 3, 7, DIGLETTS_CAVE_ENTRANCE_WIDTH
-	warp_to 4, 4, DIGLETTS_CAVE_ENTRANCE_WIDTH ; DIGLETTS_CAVE
--- a/data/mapObjects/diglettscaveroute2.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-DiglettsCaveRoute2Object:
-	db $7d ; border block
-
-	db 3 ; warps
-	warp 2, 7, 0, -1
-	warp 3, 7, 0, -1
-	warp 4, 4, 0, DIGLETTS_CAVE
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FISHER, 3, 3, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, DIGLETTS_CAVE_EXIT_WIDTH
-	warp_to 3, 7, DIGLETTS_CAVE_EXIT_WIDTH
-	warp_to 4, 4, DIGLETTS_CAVE_EXIT_WIDTH ; DIGLETTS_CAVE
--- a/data/mapObjects/fanclub.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-FanClubObject:
-	db $d ; border block
-
-	db 2 ; warps
-	warp 2, 7, 1, -1
-	warp 3, 7, 1, -1
-
-	db 2 ; signs
-	sign 1, 0, 7 ; FanClubText7
-	sign 6, 0, 8 ; FanClubText8
-
-	db 6 ; objects
-	object SPRITE_FISHER2, 6, 3, STAY, LEFT, 1 ; person
-	object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person
-	object SPRITE_CLEFAIRY, 6, 4, STAY, LEFT, 3 ; person
-	object SPRITE_SEEL, 1, 4, STAY, RIGHT, 4 ; person
-	object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 5, 1, STAY, DOWN, 6 ; person
-
-	; warp-to
-	warp_to 2, 7, POKEMON_FAN_CLUB_WIDTH
-	warp_to 3, 7, POKEMON_FAN_CLUB_WIDTH
--- a/data/mapObjects/fightingdojo.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-FightingDojoObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 11, 1, -1
-	warp 5, 11, 1, -1
-
-	db 0 ; signs
-
-	db 7 ; objects
-	object SPRITE_HIKER, 5, 3, STAY, DOWN, 1, OPP_BLACKBELT, 1
-	object SPRITE_HIKER, 3, 4, STAY, RIGHT, 2, OPP_BLACKBELT, 2
-	object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3
-	object SPRITE_HIKER, 5, 5, STAY, LEFT, 4, OPP_BLACKBELT, 4
-	object SPRITE_HIKER, 5, 7, STAY, LEFT, 5, OPP_BLACKBELT, 5
-	object SPRITE_BALL, 4, 1, STAY, NONE, 6 ; person
-	object SPRITE_BALL, 5, 1, STAY, NONE, 7 ; person
-
-	; warp-to
-	warp_to 4, 11, FIGHTING_DOJO_WIDTH
-	warp_to 5, 11, FIGHTING_DOJO_WIDTH
--- a/data/mapObjects/fuchsiacity.asm
+++ /dev/null
@@ -1,52 +1,0 @@
-FuchsiaCityObject:
-	db $f ; border block
-
-	db 9 ; warps
-	warp 5, 13, 0, FUCHSIA_MART
-	warp 11, 27, 0, FUCHSIA_HOUSE_1
-	warp 19, 27, 0, FUCHSIA_POKECENTER
-	warp 27, 27, 0, FUCHSIA_HOUSE_2
-	warp 18, 3, 0, SAFARI_ZONE_ENTRANCE
-	warp 5, 27, 0, FUCHSIA_GYM
-	warp 22, 13, 0, FUCHSIA_MEETING_ROOM
-	warp 31, 27, 1, FUCHSIA_HOUSE_3
-	warp 31, 24, 0, FUCHSIA_HOUSE_3
-
-	db 14 ; signs
-	sign 15, 23, 11 ; FuchsiaCityText11
-	sign 25, 15, 12 ; FuchsiaCityText12
-	sign 17, 5, 13 ; FuchsiaCityText13
-	sign 6, 13, 14 ; MartSignText
-	sign 20, 27, 15 ; PokeCenterSignText
-	sign 27, 29, 16 ; FuchsiaCityText16
-	sign 21, 15, 17 ; FuchsiaCityText17
-	sign 5, 29, 18 ; FuchsiaCityText18
-	sign 33, 7, 19 ; FuchsiaCityText19
-	sign 27, 7, 20 ; FuchsiaCityText20
-	sign 13, 7, 21 ; FuchsiaCityText21
-	sign 31, 13, 22 ; FuchsiaCityText22
-	sign 13, 15, 23 ; FuchsiaCityText23
-	sign 7, 7, 24 ; FuchsiaCityText24
-
-	db 10 ; objects
-	object SPRITE_BUG_CATCHER, 10, 12, WALK, 2, 1 ; person
-	object SPRITE_GAMBLER, 28, 17, WALK, 2, 2 ; person
-	object SPRITE_FISHER2, 30, 14, STAY, DOWN, 3 ; person
-	object SPRITE_BUG_CATCHER, 24, 8, STAY, UP, 4 ; person
-	object SPRITE_CLEFAIRY, 31, 5, WALK, 0, 5 ; person
-	object SPRITE_BALL, 25, 6, STAY, NONE, 6 ; person
-	object SPRITE_SLOWBRO, 12, 6, WALK, 2, 7 ; person
-	object SPRITE_SLOWBRO, 30, 12, WALK, 2, 8 ; person
-	object SPRITE_SEEL, 8, 17, WALK, 0, 9 ; person
-	object SPRITE_OMANYTE, 6, 5, STAY, NONE, 10 ; person
-
-	; warp-to
-	warp_to 5, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MART
-	warp_to 11, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_HOUSE_1
-	warp_to 19, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_POKECENTER
-	warp_to 27, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_HOUSE_2
-	warp_to 18, 3, FUCHSIA_CITY_WIDTH ; SAFARI_ZONE_ENTRANCE
-	warp_to 5, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GYM
-	warp_to 22, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MEETING_ROOM
-	warp_to 31, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_HOUSE_3
-	warp_to 31, 24, FUCHSIA_CITY_WIDTH ; FUCHSIA_HOUSE_3
--- a/data/mapObjects/fuchsiagym.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-FuchsiaGymObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 17, 5, -1
-	warp 5, 17, 5, -1
-
-	db 0 ; signs
-
-	db 8 ; objects
-	object SPRITE_BLACKBELT, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1
-	object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7
-	object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3
-	object SPRITE_ROCKER, 1, 12, STAY, DOWN, 4, OPP_JUGGLER, 8
-	object SPRITE_ROCKER, 3, 5, STAY, UP, 5, OPP_TAMER, 1
-	object SPRITE_ROCKER, 8, 2, STAY, DOWN, 6, OPP_TAMER, 2
-	object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4
-	object SPRITE_GYM_HELPER, 7, 15, STAY, DOWN, 8 ; person
-
-	; warp-to
-	warp_to 4, 17, FUCHSIA_GYM_WIDTH
-	warp_to 5, 17, FUCHSIA_GYM_WIDTH
--- a/data/mapObjects/fuchsiahouse1.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-FuchsiaHouse1Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 1, -1
-	warp 3, 7, 1, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MOM_GEISHA, 2, 3, STAY, RIGHT, 1 ; person
-	object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person
-	object SPRITE_BUG_CATCHER, 5, 5, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, FUCHSIA_HOUSE_1_WIDTH
-	warp_to 3, 7, FUCHSIA_HOUSE_1_WIDTH
--- a/data/mapObjects/fuchsiahouse2.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-FuchsiaHouse2Object:
-	db $17 ; border block
-
-	db 2 ; warps
-	warp 4, 7, 3, -1
-	warp 5, 7, 3, -1
-
-	db 2 ; signs
-	sign 4, 3, 4 ; FuchsiaHouse2Text4
-	sign 5, 3, 5 ; FuchsiaHouse2Text5
-
-	db 3 ; objects
-	object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person
-	object SPRITE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY
-	object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person
-
-	; warp-to
-	warp_to 4, 7, FUCHSIA_HOUSE_2_WIDTH
-	warp_to 5, 7, FUCHSIA_HOUSE_2_WIDTH
--- a/data/mapObjects/fuchsiahouse3.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-FuchsiaHouse3Object:
-	db $c ; border block
-
-	db 3 ; warps
-	warp 2, 0, 8, -1
-	warp 2, 7, 7, -1
-	warp 3, 7, 7, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FISHER, 5, 3, STAY, RIGHT, 1 ; person
-
-	; warp-to
-	warp_to 2, 0, FUCHSIA_HOUSE_3_WIDTH
-	warp_to 2, 7, FUCHSIA_HOUSE_3_WIDTH
-	warp_to 3, 7, FUCHSIA_HOUSE_3_WIDTH
--- a/data/mapObjects/fuchsiamart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-FuchsiaMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 0, -1
-	warp 4, 7, 0, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_FAT_BALD_GUY, 4, 2, STAY, NONE, 2 ; person
-	object SPRITE_LASS, 6, 5, WALK, 1, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, FUCHSIA_MART_WIDTH
-	warp_to 4, 7, FUCHSIA_MART_WIDTH
--- a/data/mapObjects/fuchsiameetingroom.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-FuchsiaMeetingRoomObject:
-	db $17 ; border block
-
-	db 2 ; warps
-	warp 4, 7, 6, -1
-	warp 5, 7, 6, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_WHITE_PLAYER, 4, 1, STAY, DOWN, 1 ; person
-	object SPRITE_WHITE_PLAYER, 0, 2, STAY, UP, 2 ; person
-	object SPRITE_WHITE_PLAYER, 10, 1, STAY, DOWN, 3 ; person
-
-	; warp-to
-	warp_to 4, 7, FUCHSIA_MEETING_ROOM_WIDTH
-	warp_to 5, 7, FUCHSIA_MEETING_ROOM_WIDTH
--- a/data/mapObjects/fuchsiapokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-FuchsiaPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 2, -1
-	warp 4, 7, 2, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person
-	object SPRITE_LASS, 6, 5, WALK, 2, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, FUCHSIA_POKECENTER_WIDTH
-	warp_to 4, 7, FUCHSIA_POKECENTER_WIDTH
--- a/data/mapObjects/gary.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-GaryObject:
-	db $3 ; border block
-
-	db 4 ; warps
-	warp 3, 7, 1, LANCES_ROOM
-	warp 4, 7, 2, LANCES_ROOM
-	warp 3, 0, 0, HALL_OF_FAME
-	warp 4, 0, 0, HALL_OF_FAME
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person
-	object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person
-
-	; warp-to
-	warp_to 3, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM
-	warp_to 4, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM
-	warp_to 3, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME
-	warp_to 4, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME
--- a/data/mapObjects/halloffameroom.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-HallofFameRoomObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 7, 2, CHAMPIONS_ROOM
-	warp 5, 7, 3, CHAMPIONS_ROOM
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person
-
-	; warp-to
-	warp_to 4, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM
-	warp_to 5, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM
--- a/data/mapObjects/indigoplateau.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-IndigoPlateauObject:
-	db $e ; border block
-
-	db 2 ; warps
-	warp 9, 5, 0, INDIGO_PLATEAU_LOBBY
-	warp 10, 5, 0, INDIGO_PLATEAU_LOBBY
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 9, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY
-	warp_to 10, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY
--- a/data/mapObjects/indigoplateaulobby.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-IndigoPlateauLobbyObject:
-	db $0 ; border block
-
-	db 3 ; warps
-	warp 7, 11, 0, -1
-	warp 8, 11, 1, -1
-	warp 8, 0, 0, LORELEIS_ROOM
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person
-	object SPRITE_GYM_HELPER, 4, 9, STAY, RIGHT, 2 ; person
-	object SPRITE_LASS, 5, 1, STAY, DOWN, 3 ; person
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 4 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 13, 6, STAY, DOWN, 5 ; person
-
-	; warp-to
-	warp_to 7, 11, INDIGO_PLATEAU_LOBBY_WIDTH
-	warp_to 8, 11, INDIGO_PLATEAU_LOBBY_WIDTH
-	warp_to 8, 0, INDIGO_PLATEAU_LOBBY_WIDTH ; LORELEIS_ROOM
--- a/data/mapObjects/lab1.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-Lab1Object:
-	db $17 ; border block
-
-	db 5 ; warps
-	warp 2, 7, 2, -1
-	warp 3, 7, 2, -1
-	warp 8, 4, 0, CINNABAR_LAB_2
-	warp 12, 4, 0, CINNABAR_LAB_3
-	warp 16, 4, 0, CINNABAR_LAB_4
-
-	db 4 ; signs
-	sign 3, 2, 2 ; Lab1Text2
-	sign 9, 4, 3 ; Lab1Text3
-	sign 13, 4, 4 ; Lab1Text4
-	sign 17, 4, 5 ; Lab1Text5
-
-	db 1 ; objects
-	object SPRITE_FISHER, 1, 3, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, CINNABAR_LAB_1_WIDTH
-	warp_to 3, 7, CINNABAR_LAB_1_WIDTH
-	warp_to 8, 4, CINNABAR_LAB_1_WIDTH ; CINNABAR_LAB_2
-	warp_to 12, 4, CINNABAR_LAB_1_WIDTH ; CINNABAR_LAB_3
-	warp_to 16, 4, CINNABAR_LAB_1_WIDTH ; CINNABAR_LAB_4
--- a/data/mapObjects/lab2.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-Lab2Object:
-	db $17 ; border block
-
-	db 2 ; warps
-	warp 2, 7, 2, CINNABAR_LAB_1
-	warp 3, 7, 2, CINNABAR_LAB_1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, DOWN, 1 ; person
-	object SPRITE_OLD_PERSON, 1, 4, STAY, NONE, 2 ; person
-	object SPRITE_FOULARD_WOMAN, 5, 5, STAY, UP, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, CINNABAR_LAB_2_WIDTH ; CINNABAR_LAB_1
-	warp_to 3, 7, CINNABAR_LAB_2_WIDTH ; CINNABAR_LAB_1
--- a/data/mapObjects/lab3.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Lab3Object:
-	db $17 ; border block
-
-	db 2 ; warps
-	warp 2, 7, 3, CINNABAR_LAB_1
-	warp 3, 7, 3, CINNABAR_LAB_1
-
-	db 3 ; signs
-	sign 0, 4, 3 ; Lab3Text3
-	sign 1, 4, 4 ; Lab3Text4
-	sign 2, 1, 5 ; Lab3Text5
-
-	db 2 ; objects
-	object SPRITE_OAK_AIDE, 7, 2, STAY, DOWN, 1 ; person
-	object SPRITE_OAK_AIDE, 2, 3, WALK, 2, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, CINNABAR_LAB_3_WIDTH ; CINNABAR_LAB_1
-	warp_to 3, 7, CINNABAR_LAB_3_WIDTH ; CINNABAR_LAB_1
--- a/data/mapObjects/lab4.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-Lab4Object:
-	db $17 ; border block
-
-	db 2 ; warps
-	warp 2, 7, 4, CINNABAR_LAB_1
-	warp 3, 7, 4, CINNABAR_LAB_1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_OAK_AIDE, 5, 2, WALK, 2, 1 ; person
-	object SPRITE_OAK_AIDE, 7, 6, STAY, UP, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, CINNABAR_LAB_4_WIDTH ; CINNABAR_LAB_1
-	warp_to 3, 7, CINNABAR_LAB_4_WIDTH ; CINNABAR_LAB_1
--- a/data/mapObjects/lance.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-LanceObject:
-	db $3 ; border block
-
-	db 3 ; warps
-	warp 24, 16, 2, AGATHAS_ROOM
-	warp 5, 0, 0, CHAMPIONS_ROOM
-	warp 6, 0, 0, CHAMPIONS_ROOM
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1
-
-	; warp-to
-	warp_to 24, 16, LANCES_ROOM_WIDTH ; AGATHAS_ROOM
-	warp_to 5, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM
-	warp_to 6, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM
--- a/data/mapObjects/lavenderhouse1.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-LavenderHouse1Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 2, -1
-	warp 3, 7, 2, -1
-
-	db 0 ; signs
-
-	db 6 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, NONE, 1 ; person
-	object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person
-	object SPRITE_SLOWBRO, 6, 4, STAY, UP, 3 ; person
-	object SPRITE_SLOWBRO, 1, 3, STAY, NONE, 4 ; person
-	object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person
-	object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 6 ; person
-
-	; warp-to
-	warp_to 2, 7, LAVENDER_HOUSE_1_WIDTH
-	warp_to 3, 7, LAVENDER_HOUSE_1_WIDTH
--- a/data/mapObjects/lavenderhouse2.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-LavenderHouse2Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 4, -1
-	warp 3, 7, 4, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_SLOWBRO, 3, 5, STAY, UP, 1 ; person
-	object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, LAVENDER_HOUSE_2_WIDTH
-	warp_to 3, 7, LAVENDER_HOUSE_2_WIDTH
--- a/data/mapObjects/lavendermart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-LavenderMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 3, -1
-	warp 4, 7, 3, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 7, 2, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, LAVENDER_MART_WIDTH
-	warp_to 4, 7, LAVENDER_MART_WIDTH
--- a/data/mapObjects/lavenderpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-LavenderPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 0, -1
-	warp 4, 7, 0, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person
-	object SPRITE_LITTLE_GIRL, 2, 6, WALK, 1, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, LAVENDER_POKECENTER_WIDTH
-	warp_to 4, 7, LAVENDER_POKECENTER_WIDTH
--- a/data/mapObjects/lavendertown.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-LavenderTownObject:
-	db $2c ; border block
-
-	db 6 ; warps
-	warp 3, 5, 0, LAVENDER_POKECENTER
-	warp 14, 5, 0, POKEMONTOWER_1
-	warp 7, 9, 0, LAVENDER_HOUSE_1
-	warp 15, 13, 0, LAVENDER_MART
-	warp 3, 13, 0, LAVENDER_HOUSE_2
-	warp 7, 13, 0, NAME_RATERS_HOUSE
-
-	db 6 ; signs
-	sign 11, 9, 4 ; LavenderTownText4
-	sign 9, 3, 5 ; LavenderTownText5
-	sign 16, 13, 6 ; MartSignText
-	sign 4, 5, 7 ; PokeCenterSignText
-	sign 5, 9, 8 ; LavenderTownText8
-	sign 17, 7, 9 ; LavenderTownText9
-
-	db 3 ; objects
-	object SPRITE_LITTLE_GIRL, 15, 9, WALK, 0, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 9, 10, STAY, NONE, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 8, 7, WALK, 2, 3 ; person
-
-	; warp-to
-	warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER
-	warp_to 14, 5, LAVENDER_TOWN_WIDTH ; POKEMONTOWER_1
-	warp_to 7, 9, LAVENDER_TOWN_WIDTH ; LAVENDER_HOUSE_1
-	warp_to 15, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_MART
-	warp_to 3, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_HOUSE_2
-	warp_to 7, 13, LAVENDER_TOWN_WIDTH ; NAME_RATERS_HOUSE
--- a/data/mapObjects/lorelei.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-LoreleiObject:
-	db $3 ; border block
-
-	db 4 ; warps
-	warp 4, 11, 2, INDIGO_PLATEAU_LOBBY
-	warp 5, 11, 2, INDIGO_PLATEAU_LOBBY
-	warp 4, 0, 0, BRUNOS_ROOM
-	warp 5, 0, 1, BRUNOS_ROOM
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1
-
-	; warp-to
-	warp_to 4, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY
-	warp_to 5, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY
-	warp_to 4, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM
-	warp_to 5, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM
--- a/data/mapObjects/mansion1.asm
+++ /dev/null
@@ -1,29 +1,0 @@
-Mansion1Object:
-	db $2e ; border block
-
-	db 8 ; warps
-	warp 4, 27, 0, -1
-	warp 5, 27, 0, -1
-	warp 6, 27, 0, -1
-	warp 7, 27, 0, -1
-	warp 5, 10, 0, MANSION_2
-	warp 21, 23, 0, MANSION_4
-	warp 26, 27, 0, -1
-	warp 27, 27, 0, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_OAK_AIDE, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4
-	object SPRITE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE
-	object SPRITE_BALL, 18, 21, STAY, NONE, 3, CARBOS
-
-	; warp-to
-	warp_to 4, 27, MANSION_1_WIDTH
-	warp_to 5, 27, MANSION_1_WIDTH
-	warp_to 6, 27, MANSION_1_WIDTH
-	warp_to 7, 27, MANSION_1_WIDTH
-	warp_to 5, 10, MANSION_1_WIDTH ; MANSION_2
-	warp_to 21, 23, MANSION_1_WIDTH ; MANSION_4
-	warp_to 26, 27, MANSION_1_WIDTH
-	warp_to 27, 27, MANSION_1_WIDTH
--- a/data/mapObjects/mansion2.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-Mansion2Object:
-	db $1 ; border block
-
-	db 4 ; warps
-	warp 5, 10, 4, MANSION_1
-	warp 7, 10, 0, MANSION_3
-	warp 25, 14, 2, MANSION_3
-	warp 6, 1, 1, MANSION_3
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7
-	object SPRITE_BALL, 28, 7, STAY, NONE, 2, CALCIUM
-	object SPRITE_BOOK_MAP_DEX, 18, 2, STAY, NONE, 3 ; person
-	object SPRITE_BOOK_MAP_DEX, 3, 22, STAY, NONE, 4 ; person
-
-	; warp-to
-	warp_to 5, 10, MANSION_2_WIDTH ; MANSION_1
-	warp_to 7, 10, MANSION_2_WIDTH ; MANSION_3
-	warp_to 25, 14, MANSION_2_WIDTH ; MANSION_3
-	warp_to 6, 1, MANSION_2_WIDTH ; MANSION_3
--- a/data/mapObjects/mansion3.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Mansion3Object:
-	db $1 ; border block
-
-	db 3 ; warps
-	warp 7, 10, 1, MANSION_2
-	warp 6, 1, 3, MANSION_2
-	warp 25, 14, 2, MANSION_2
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8
-	object SPRITE_OAK_AIDE, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12
-	object SPRITE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION
-	object SPRITE_BALL, 25, 5, STAY, NONE, 4, IRON
-	object SPRITE_BOOK_MAP_DEX, 6, 12, STAY, NONE, 5 ; person
-
-	; warp-to
-	warp_to 7, 10, MANSION_3_WIDTH ; MANSION_2
-	warp_to 6, 1, MANSION_3_WIDTH ; MANSION_2
-	warp_to 25, 14, MANSION_3_WIDTH ; MANSION_2
--- a/data/mapObjects/mansion4.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-Mansion4Object:
-	db $1 ; border block
-
-	db 1 ; warps
-	warp 23, 22, 5, MANSION_1
-
-	db 0 ; signs
-
-	db 8 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9
-	object SPRITE_OAK_AIDE, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13
-	object SPRITE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY
-	object SPRITE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE
-	object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_14
-	object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_22
-	object SPRITE_BOOK_MAP_DEX, 16, 20, STAY, NONE, 7 ; person
-	object SPRITE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY
-
-	; warp-to
-	warp_to 23, 22, MANSION_4_WIDTH ; MANSION_1
--- a/data/mapObjects/mtmoon1.asm
+++ /dev/null
@@ -1,34 +1,0 @@
-MtMoon1Object:
-	db $3 ; border block
-
-	db 5 ; warps
-	warp 14, 35, 1, -1
-	warp 15, 35, 1, -1
-	warp 5, 5, 0, MT_MOON_2
-	warp 17, 11, 2, MT_MOON_2
-	warp 25, 15, 3, MT_MOON_2
-
-	db 1 ; signs
-	sign 15, 23, 14 ; MtMoon1Text14
-
-	db 13 ; objects
-	object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1
-	object SPRITE_BUG_CATCHER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3
-	object SPRITE_LASS, 30, 4, STAY, DOWN, 3, OPP_LASS, 5
-	object SPRITE_BLACK_HAIR_BOY_2, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1
-	object SPRITE_LASS, 16, 23, STAY, DOWN, 5, OPP_LASS, 6
-	object SPRITE_BUG_CATCHER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7
-	object SPRITE_BUG_CATCHER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8
-	object SPRITE_BALL, 2, 20, STAY, NONE, 8, POTION
-	object SPRITE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE
-	object SPRITE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY
-	object SPRITE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE
-	object SPRITE_BALL, 20, 33, STAY, NONE, 12, POTION
-	object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_12
-
-	; warp-to
-	warp_to 14, 35, MT_MOON_1_WIDTH
-	warp_to 15, 35, MT_MOON_1_WIDTH
-	warp_to 5, 5, MT_MOON_1_WIDTH ; MT_MOON_2
-	warp_to 17, 11, MT_MOON_1_WIDTH ; MT_MOON_2
-	warp_to 25, 15, MT_MOON_1_WIDTH ; MT_MOON_2
--- a/data/mapObjects/mtmoon2.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-MtMoon2Object:
-	db $3 ; border block
-
-	db 8 ; warps
-	warp 5, 5, 2, MT_MOON_1
-	warp 17, 11, 0, MT_MOON_3
-	warp 25, 9, 3, MT_MOON_1
-	warp 25, 15, 4, MT_MOON_1
-	warp 21, 17, 1, MT_MOON_3
-	warp 13, 27, 2, MT_MOON_3
-	warp 23, 3, 3, MT_MOON_3
-	warp 27, 3, 2, -1
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 5, 5, MT_MOON_2_WIDTH ; MT_MOON_1
-	warp_to 17, 11, MT_MOON_2_WIDTH ; MT_MOON_3
-	warp_to 25, 9, MT_MOON_2_WIDTH ; MT_MOON_1
-	warp_to 25, 15, MT_MOON_2_WIDTH ; MT_MOON_1
-	warp_to 21, 17, MT_MOON_2_WIDTH ; MT_MOON_3
-	warp_to 13, 27, MT_MOON_2_WIDTH ; MT_MOON_3
-	warp_to 23, 3, MT_MOON_2_WIDTH ; MT_MOON_3
-	warp_to 27, 3, MT_MOON_2_WIDTH
--- a/data/mapObjects/mtmoon3.asm
+++ /dev/null
@@ -1,27 +1,0 @@
-MtMoon3Object:
-	db $3 ; border block
-
-	db 4 ; warps
-	warp 25, 9, 1, MT_MOON_2
-	warp 21, 17, 4, MT_MOON_2
-	warp 15, 27, 5, MT_MOON_2
-	warp 5, 7, 6, MT_MOON_2
-
-	db 0 ; signs
-
-	db 9 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2
-	object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1
-	object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2
-	object SPRITE_ROCKET, 29, 11, STAY, UP, 4, OPP_ROCKET, 3
-	object SPRITE_ROCKET, 29, 17, STAY, LEFT, 5, OPP_ROCKET, 4
-	object SPRITE_OMANYTE, 12, 6, STAY, NONE, 6 ; person
-	object SPRITE_OMANYTE, 13, 6, STAY, NONE, 7 ; person
-	object SPRITE_BALL, 25, 21, STAY, NONE, 8, HP_UP
-	object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_01
-
-	; warp-to
-	warp_to 25, 9, MT_MOON_3_WIDTH ; MT_MOON_2
-	warp_to 21, 17, MT_MOON_3_WIDTH ; MT_MOON_2
-	warp_to 15, 27, MT_MOON_3_WIDTH ; MT_MOON_2
-	warp_to 5, 7, MT_MOON_3_WIDTH ; MT_MOON_2
--- a/data/mapObjects/mtmoonpokecenter.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-MtMoonPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 0, -1
-	warp 4, 7, 0, -1
-
-	db 0 ; signs
-
-	db 6 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_BUG_CATCHER, 4, 3, STAY, UP, 2 ; person
-	object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person
-	object SPRITE_FAT_BALD_GUY, 10, 6, WALK, 2, 4 ; person
-	object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 6 ; person
-
-	; warp-to
-	warp_to 3, 7, MT_MOON_POKECENTER_WIDTH
-	warp_to 4, 7, MT_MOON_POKECENTER_WIDTH
--- a/data/mapObjects/museum1f.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-Museum1FObject:
-	db $a ; border block
-
-	db 5 ; warps
-	warp 10, 7, 0, -1
-	warp 11, 7, 0, -1
-	warp 16, 7, 1, -1
-	warp 17, 7, 1, -1
-	warp 7, 7, 0, MUSEUM_2F
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_OAK_AIDE, 12, 4, STAY, LEFT, 1 ; person
-	object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person
-	object SPRITE_OAK_AIDE, 15, 2, STAY, DOWN, 3 ; person
-	object SPRITE_OAK_AIDE, 17, 4, STAY, NONE, 4 ; person
-	object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person
-
-	; warp-to
-	warp_to 10, 7, MUSEUM_1F_WIDTH
-	warp_to 11, 7, MUSEUM_1F_WIDTH
-	warp_to 16, 7, MUSEUM_1F_WIDTH
-	warp_to 17, 7, MUSEUM_1F_WIDTH
-	warp_to 7, 7, MUSEUM_1F_WIDTH ; MUSEUM_2F
--- a/data/mapObjects/museum2f.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Museum2FObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 7, 4, MUSEUM_1F
-
-	db 2 ; signs
-	sign 11, 2, 6 ; Museum2FText6
-	sign 2, 5, 7 ; Museum2FText7
-
-	db 5 ; objects
-	object SPRITE_BUG_CATCHER, 1, 7, WALK, 2, 1 ; person
-	object SPRITE_OLD_PERSON, 0, 5, STAY, DOWN, 2 ; person
-	object SPRITE_OAK_AIDE, 7, 5, STAY, DOWN, 3 ; person
-	object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person
-	object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person
-
-	; warp-to
-	warp_to 7, 7, MUSEUM_2F_WIDTH ; MUSEUM_1F
--- a/data/mapObjects/namerater.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-NameRaterObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 5, -1
-	warp 3, 7, 5, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_MR_MASTERBALL, 5, 3, STAY, LEFT, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, NAME_RATERS_HOUSE_WIDTH
-	warp_to 3, 7, NAME_RATERS_HOUSE_WIDTH
--- a/data/mapObjects/oakslab.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-OaksLabObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 11, 2, -1
-	warp 5, 11, 2, -1
-
-	db 0 ; signs
-
-	db 11 ; objects
-	object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_SONY1, 1
-	object SPRITE_BALL, 6, 3, STAY, NONE, 2 ; person
-	object SPRITE_BALL, 7, 3, STAY, NONE, 3 ; person
-	object SPRITE_BALL, 8, 3, STAY, NONE, 4 ; person
-	object SPRITE_OAK, 5, 2, STAY, DOWN, 5 ; person
-	object SPRITE_BOOK_MAP_DEX, 2, 1, STAY, NONE, 6 ; person
-	object SPRITE_BOOK_MAP_DEX, 3, 1, STAY, NONE, 7 ; person
-	object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person
-	object SPRITE_GIRL, 1, 9, WALK, 1, 9 ; person
-	object SPRITE_OAK_AIDE, 2, 10, STAY, NONE, 10 ; person
-	object SPRITE_OAK_AIDE, 8, 10, STAY, NONE, 11 ; person
-
-	; warp-to
-	warp_to 4, 11, OAKS_LAB_WIDTH
-	warp_to 5, 11, OAKS_LAB_WIDTH
--- a/data/mapObjects/pallettown.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-PalletTownObject:
-	db $b ; border block
-
-	db 3 ; warps
-	warp 5, 5, 0, REDS_HOUSE_1F
-	warp 13, 5, 0, BLUES_HOUSE
-	warp 12, 11, 1, OAKS_LAB
-
-	db 4 ; signs
-	sign 13, 13, 4 ; PalletTownText4
-	sign 7, 9, 5 ; PalletTownText5
-	sign 3, 5, 6 ; PalletTownText6
-	sign 11, 5, 7 ; PalletTownText7
-
-	db 3 ; objects
-	object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person
-	object SPRITE_GIRL, 3, 8, WALK, 0, 2 ; person
-	object SPRITE_FISHER2, 11, 14, WALK, 0, 3 ; person
-
-	; warp-to
-	warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F
-	warp_to 13, 5, PALLET_TOWN_WIDTH ; BLUES_HOUSE
-	warp_to 12, 11, PALLET_TOWN_WIDTH ; OAKS_LAB
--- a/data/mapObjects/pewtercity.asm
+++ /dev/null
@@ -1,36 +1,0 @@
-PewterCityObject:
-	db $a ; border block
-
-	db 7 ; warps
-	warp 14, 7, 0, MUSEUM_1F
-	warp 19, 5, 2, MUSEUM_1F
-	warp 16, 17, 0, PEWTER_GYM
-	warp 29, 13, 0, PEWTER_HOUSE_1
-	warp 23, 17, 0, PEWTER_MART
-	warp 7, 29, 0, PEWTER_HOUSE_2
-	warp 13, 25, 0, PEWTER_POKECENTER
-
-	db 7 ; signs
-	sign 19, 29, 6 ; PewterCityText6
-	sign 33, 19, 7 ; PewterCityText7
-	sign 24, 17, 8 ; MartSignText
-	sign 14, 25, 9 ; PokeCenterSignText
-	sign 15, 9, 10 ; PewterCityText10
-	sign 11, 17, 11 ; PewterCityText11
-	sign 25, 23, 12 ; PewterCityText12
-
-	db 5 ; objects
-	object SPRITE_LASS, 8, 15, STAY, NONE, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 17, 25, STAY, NONE, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 27, 17, STAY, NONE, 3 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 26, 25, WALK, 2, 4 ; person
-	object SPRITE_BUG_CATCHER, 35, 16, STAY, DOWN, 5 ; person
-
-	; warp-to
-	warp_to 14, 7, PEWTER_CITY_WIDTH ; MUSEUM_1F
-	warp_to 19, 5, PEWTER_CITY_WIDTH ; MUSEUM_1F
-	warp_to 16, 17, PEWTER_CITY_WIDTH ; PEWTER_GYM
-	warp_to 29, 13, PEWTER_CITY_WIDTH ; PEWTER_HOUSE_1
-	warp_to 23, 17, PEWTER_CITY_WIDTH ; PEWTER_MART
-	warp_to 7, 29, PEWTER_CITY_WIDTH ; PEWTER_HOUSE_2
-	warp_to 13, 25, PEWTER_CITY_WIDTH ; PEWTER_POKECENTER
--- a/data/mapObjects/pewtergym.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-PewterGymObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 13, 2, -1
-	warp 5, 13, 2, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1
-	object SPRITE_BLACK_HAIR_BOY_1, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1
-	object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 3 ; person
-
-	; warp-to
-	warp_to 4, 13, PEWTER_GYM_WIDTH
-	warp_to 5, 13, PEWTER_GYM_WIDTH
--- a/data/mapObjects/pewterhouse1.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-PewterHouse1Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 3, -1
-	warp 3, 7, 3, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_SLOWBRO, 4, 5, STAY, LEFT, 1 ; person
-	object SPRITE_YOUNG_BOY, 3, 5, STAY, RIGHT, 2 ; person
-	object SPRITE_FAT_BALD_GUY, 1, 2, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, PEWTER_HOUSE_1_WIDTH
-	warp_to 3, 7, PEWTER_HOUSE_1_WIDTH
--- a/data/mapObjects/pewterhouse2.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-PewterHouse2Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 5, -1
-	warp 3, 7, 5, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person
-	object SPRITE_BUG_CATCHER, 4, 5, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, PEWTER_HOUSE_2_WIDTH
-	warp_to 3, 7, PEWTER_HOUSE_2_WIDTH
--- a/data/mapObjects/pewtermart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-PewterMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 4, -1
-	warp 4, 7, 4, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_BUG_CATCHER, 3, 3, WALK, 1, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 5, 5, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, PEWTER_MART_WIDTH
-	warp_to 4, 7, PEWTER_MART_WIDTH
--- a/data/mapObjects/pewterpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-PewterPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 6, -1
-	warp 4, 7, 6, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person
-	object SPRITE_CLEFAIRY, 1, 3, STAY, DOWN, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, PEWTER_POKECENTER_WIDTH
-	warp_to 4, 7, PEWTER_POKECENTER_WIDTH
--- a/data/mapObjects/pokemontower1.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-PokemonTower1Object:
-	db $1 ; border block
-
-	db 3 ; warps
-	warp 10, 17, 1, -1
-	warp 11, 17, 1, -1
-	warp 18, 9, 1, POKEMONTOWER_2
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_CABLE_CLUB_WOMAN, 15, 13, STAY, UP, 1 ; person
-	object SPRITE_MOM_GEISHA, 6, 8, STAY, NONE, 2 ; person
-	object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person
-	object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person
-	object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 5 ; person
-
-	; warp-to
-	warp_to 10, 17, POKEMONTOWER_1_WIDTH
-	warp_to 11, 17, POKEMONTOWER_1_WIDTH
-	warp_to 18, 9, POKEMONTOWER_1_WIDTH ; POKEMONTOWER_2
--- a/data/mapObjects/pokemontower2.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-PokemonTower2Object:
-	db $1 ; border block
-
-	db 2 ; warps
-	warp 3, 9, 0, POKEMONTOWER_3
-	warp 18, 9, 2, POKEMONTOWER_1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person
-	object SPRITE_MEDIUM, 3, 7, STAY, RIGHT, 2 ; person
-
-	; warp-to
-	warp_to 3, 9, POKEMONTOWER_2_WIDTH ; POKEMONTOWER_3
-	warp_to 18, 9, POKEMONTOWER_2_WIDTH ; POKEMONTOWER_1
--- a/data/mapObjects/pokemontower3.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-PokemonTower3Object:
-	db $1 ; border block
-
-	db 2 ; warps
-	warp 3, 9, 0, POKEMONTOWER_2
-	warp 18, 9, 1, POKEMONTOWER_4
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_MEDIUM, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5
-	object SPRITE_MEDIUM, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6
-	object SPRITE_MEDIUM, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8
-	object SPRITE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE
-
-	; warp-to
-	warp_to 3, 9, POKEMONTOWER_3_WIDTH ; POKEMONTOWER_2
-	warp_to 18, 9, POKEMONTOWER_3_WIDTH ; POKEMONTOWER_4
--- a/data/mapObjects/pokemontower4.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-PokemonTower4Object:
-	db $1 ; border block
-
-	db 2 ; warps
-	warp 3, 9, 0, POKEMONTOWER_5
-	warp 18, 9, 1, POKEMONTOWER_3
-
-	db 0 ; signs
-
-	db 6 ; objects
-	object SPRITE_MEDIUM, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9
-	object SPRITE_MEDIUM, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10
-	object SPRITE_MEDIUM, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12
-	object SPRITE_BALL, 12, 10, STAY, NONE, 4, ELIXER
-	object SPRITE_BALL, 9, 10, STAY, NONE, 5, AWAKENING
-	object SPRITE_BALL, 12, 16, STAY, NONE, 6, HP_UP
-
-	; warp-to
-	warp_to 3, 9, POKEMONTOWER_4_WIDTH ; POKEMONTOWER_5
-	warp_to 18, 9, POKEMONTOWER_4_WIDTH ; POKEMONTOWER_3
--- a/data/mapObjects/pokemontower5.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-PokemonTower5Object:
-	db $1 ; border block
-
-	db 2 ; warps
-	warp 3, 9, 0, POKEMONTOWER_4
-	warp 18, 9, 0, POKEMONTOWER_6
-
-	db 0 ; signs
-
-	db 6 ; objects
-	object SPRITE_MEDIUM, 12, 8, STAY, NONE, 1 ; person
-	object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14
-	object SPRITE_MEDIUM, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16
-	object SPRITE_MEDIUM, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17
-	object SPRITE_MEDIUM, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18
-	object SPRITE_BALL, 6, 14, STAY, NONE, 6, NUGGET
-
-	; warp-to
-	warp_to 3, 9, POKEMONTOWER_5_WIDTH ; POKEMONTOWER_4
-	warp_to 18, 9, POKEMONTOWER_5_WIDTH ; POKEMONTOWER_6
--- a/data/mapObjects/pokemontower6.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-PokemonTower6Object:
-	db $1 ; border block
-
-	db 2 ; warps
-	warp 18, 9, 1, POKEMONTOWER_5
-	warp 9, 16, 0, POKEMONTOWER_7
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_MEDIUM, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19
-	object SPRITE_MEDIUM, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20
-	object SPRITE_MEDIUM, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21
-	object SPRITE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY
-	object SPRITE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY
-
-	; warp-to
-	warp_to 18, 9, POKEMONTOWER_6_WIDTH ; POKEMONTOWER_5
-	warp_to 9, 16, POKEMONTOWER_6_WIDTH ; POKEMONTOWER_7
--- a/data/mapObjects/pokemontower7.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-PokemonTower7Object:
-	db $1 ; border block
-
-	db 1 ; warps
-	warp 9, 16, 1, POKEMONTOWER_6
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_ROCKET, 9, 11, STAY, RIGHT, 1, OPP_ROCKET, 19
-	object SPRITE_ROCKET, 12, 9, STAY, LEFT, 2, OPP_ROCKET, 20
-	object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21
-	object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 9, 16, POKEMONTOWER_7_WIDTH ; POKEMONTOWER_6
--- a/data/mapObjects/powerplant.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-PowerPlantObject:
-	db $2e ; border block
-
-	db 3 ; warps
-	warp 4, 35, 3, -1
-	warp 5, 35, 3, -1
-	warp 0, 11, 3, -1
-
-	db 0 ; signs
-
-	db 14 ; objects
-	object SPRITE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40
-	object SPRITE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40
-	object SPRITE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40
-	object SPRITE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43
-	object SPRITE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40
-	object SPRITE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40
-	object SPRITE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43
-	object SPRITE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40
-	object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50
-	object SPRITE_BALL, 7, 25, STAY, NONE, 10, CARBOS
-	object SPRITE_BALL, 28, 3, STAY, NONE, 11, HP_UP
-	object SPRITE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY
-	object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_25
-	object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_33
-
-	; warp-to
-	warp_to 4, 35, POWER_PLANT_WIDTH
-	warp_to 5, 35, POWER_PLANT_WIDTH
-	warp_to 0, 11, POWER_PLANT_WIDTH
--- a/data/mapObjects/redshouse1f.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-RedsHouse1FObject:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 2, 7, 0, -1 ; exit1
-	warp 3, 7, 0, -1 ; exit2
-	warp 7, 1, 0, REDS_HOUSE_2F ; staircase
-
-	db 1 ; signs
-	sign 3, 1, 2 ; TV
-
-	db 1 ; objects
-	object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom
-
-	; warp-to
-	warp_to 2, 7, REDS_HOUSE_1F_WIDTH
-	warp_to 3, 7, REDS_HOUSE_1F_WIDTH
-	warp_to 7, 1, REDS_HOUSE_1F_WIDTH
--- a/data/mapObjects/redshouse2f.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-RedsHouse2FObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 1, 2, REDS_HOUSE_1F
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 7, 1, REDS_HOUSE_2F_WIDTH
--- a/data/mapObjects/rockethideout1.asm
+++ /dev/null
@@ -1,27 +1,0 @@
-RocketHideout1Object:
-	db $2e ; border block
-
-	db 5 ; warps
-	warp 23, 2, 0, ROCKET_HIDEOUT_2
-	warp 21, 2, 2, GAME_CORNER
-	warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR
-	warp 21, 24, 3, ROCKET_HIDEOUT_2
-	warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR
-
-	db 0 ; signs
-
-	db 7 ; objects
-	object SPRITE_ROCKET, 26, 8, STAY, LEFT, 1, OPP_ROCKET, 8
-	object SPRITE_ROCKET, 12, 6, STAY, RIGHT, 2, OPP_ROCKET, 9
-	object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10
-	object SPRITE_ROCKET, 15, 25, STAY, RIGHT, 4, OPP_ROCKET, 11
-	object SPRITE_ROCKET, 28, 18, STAY, LEFT, 5, OPP_ROCKET, 12
-	object SPRITE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE
-	object SPRITE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION
-
-	; warp-to
-	warp_to 23, 2, ROCKET_HIDEOUT_1_WIDTH ; ROCKET_HIDEOUT_2
-	warp_to 21, 2, ROCKET_HIDEOUT_1_WIDTH ; GAME_CORNER
-	warp_to 24, 19, ROCKET_HIDEOUT_1_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
-	warp_to 21, 24, ROCKET_HIDEOUT_1_WIDTH ; ROCKET_HIDEOUT_2
-	warp_to 25, 19, ROCKET_HIDEOUT_1_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
--- a/data/mapObjects/rockethideout2.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-RocketHideout2Object:
-	db $2e ; border block
-
-	db 5 ; warps
-	warp 27, 8, 0, ROCKET_HIDEOUT_1
-	warp 21, 8, 0, ROCKET_HIDEOUT_3
-	warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR
-	warp 21, 22, 3, ROCKET_HIDEOUT_1
-	warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13
-	object SPRITE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE
-	object SPRITE_BALL, 16, 8, STAY, NONE, 3, NUGGET
-	object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_07
-	object SPRITE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION
-
-	; warp-to
-	warp_to 27, 8, ROCKET_HIDEOUT_2_WIDTH ; ROCKET_HIDEOUT_1
-	warp_to 21, 8, ROCKET_HIDEOUT_2_WIDTH ; ROCKET_HIDEOUT_3
-	warp_to 24, 19, ROCKET_HIDEOUT_2_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
-	warp_to 21, 22, ROCKET_HIDEOUT_2_WIDTH ; ROCKET_HIDEOUT_1
-	warp_to 25, 19, ROCKET_HIDEOUT_2_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
--- a/data/mapObjects/rockethideout3.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-RocketHideout3Object:
-	db $2e ; border block
-
-	db 2 ; warps
-	warp 25, 6, 1, ROCKET_HIDEOUT_2
-	warp 19, 18, 0, ROCKET_HIDEOUT_4
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14
-	object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15
-	object SPRITE_BALL, 26, 17, STAY, NONE, 3, TM_10
-	object SPRITE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY
-
-	; warp-to
-	warp_to 25, 6, ROCKET_HIDEOUT_3_WIDTH ; ROCKET_HIDEOUT_2
-	warp_to 19, 18, ROCKET_HIDEOUT_3_WIDTH ; ROCKET_HIDEOUT_4
--- a/data/mapObjects/rockethideout4.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-RocketHideout4Object:
-	db $2e ; border block
-
-	db 3 ; warps
-	warp 19, 10, 1, ROCKET_HIDEOUT_3
-	warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR
-	warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR
-
-	db 0 ; signs
-
-	db 9 ; objects
-	object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1
-	object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16
-	object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17
-	object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18
-	object SPRITE_BALL, 10, 12, STAY, NONE, 5, HP_UP
-	object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_02
-	object SPRITE_BALL, 12, 20, STAY, NONE, 7, IRON
-	object SPRITE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE
-	object SPRITE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY
-
-	; warp-to
-	warp_to 19, 10, ROCKET_HIDEOUT_4_WIDTH ; ROCKET_HIDEOUT_3
-	warp_to 24, 15, ROCKET_HIDEOUT_4_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
-	warp_to 25, 15, ROCKET_HIDEOUT_4_WIDTH ; ROCKET_HIDEOUT_ELEVATOR
--- a/data/mapObjects/rockethideoutelevator.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-RocketHideoutElevatorObject:
-	db $f ; border block
-
-	db 2 ; warps
-	warp 2, 1, 2, ROCKET_HIDEOUT_1
-	warp 3, 1, 4, ROCKET_HIDEOUT_1
-
-	db 1 ; signs
-	sign 1, 1, 1 ; RocketHideoutElevatorText1
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 2, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_1
-	warp_to 3, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_1
--- a/data/mapObjects/rocktunnel1.asm
+++ /dev/null
@@ -1,34 +1,0 @@
-RockTunnel1Object:
-	db $3 ; border block
-
-	db 8 ; warps
-	warp 15, 3, 1, -1
-	warp 15, 0, 1, -1
-	warp 15, 33, 2, -1
-	warp 15, 35, 2, -1
-	warp 37, 3, 0, ROCK_TUNNEL_2
-	warp 5, 3, 1, ROCK_TUNNEL_2
-	warp 17, 11, 2, ROCK_TUNNEL_2
-	warp 37, 17, 3, ROCK_TUNNEL_2
-
-	db 1 ; signs
-	sign 11, 29, 8 ; RockTunnel1Text8
-
-	db 7 ; objects
-	object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12
-	object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13
-	object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14
-	object SPRITE_BLACK_HAIR_BOY_2, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7
-	object SPRITE_LASS, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17
-	object SPRITE_LASS, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18
-	object SPRITE_LASS, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19
-
-	; warp-to
-	warp_to 15, 3, ROCK_TUNNEL_1_WIDTH
-	warp_to 15, 0, ROCK_TUNNEL_1_WIDTH
-	warp_to 15, 33, ROCK_TUNNEL_1_WIDTH
-	warp_to 15, 35, ROCK_TUNNEL_1_WIDTH
-	warp_to 37, 3, ROCK_TUNNEL_1_WIDTH ; ROCK_TUNNEL_2
-	warp_to 5, 3, ROCK_TUNNEL_1_WIDTH ; ROCK_TUNNEL_2
-	warp_to 17, 11, ROCK_TUNNEL_1_WIDTH ; ROCK_TUNNEL_2
-	warp_to 37, 17, ROCK_TUNNEL_1_WIDTH ; ROCK_TUNNEL_2
--- a/data/mapObjects/rocktunnel2.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-RockTunnel2Object:
-	db $3 ; border block
-
-	db 4 ; warps
-	warp 33, 25, 4, ROCK_TUNNEL_1
-	warp 27, 3, 5, ROCK_TUNNEL_1
-	warp 23, 11, 6, ROCK_TUNNEL_1
-	warp 3, 3, 7, ROCK_TUNNEL_1
-
-	db 0 ; signs
-
-	db 8 ; objects
-	object SPRITE_LASS, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9
-	object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3
-	object SPRITE_BLACK_HAIR_BOY_2, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4
-	object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10
-	object SPRITE_LASS, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10
-	object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11
-	object SPRITE_BLACK_HAIR_BOY_2, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5
-
-	; warp-to
-	warp_to 33, 25, ROCK_TUNNEL_2_WIDTH ; ROCK_TUNNEL_1
-	warp_to 27, 3, ROCK_TUNNEL_2_WIDTH ; ROCK_TUNNEL_1
-	warp_to 23, 11, ROCK_TUNNEL_2_WIDTH ; ROCK_TUNNEL_1
-	warp_to 3, 3, ROCK_TUNNEL_2_WIDTH ; ROCK_TUNNEL_1
--- a/data/mapObjects/rocktunnelpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-RockTunnelPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 0, -1
-	warp 4, 7, 0, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person
-	object SPRITE_FISHER2, 2, 5, STAY, NONE, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, ROCK_TUNNEL_POKECENTER_WIDTH
-	warp_to 4, 7, ROCK_TUNNEL_POKECENTER_WIDTH
--- a/data/mapObjects/route1.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-Route1Object:
-	db $b ; border block
-
-	db 0 ; warps
-
-	db 1 ; signs
-	sign 9, 27, 3 ; Route1Text3
-
-	db 2 ; objects
-	object SPRITE_BUG_CATCHER, 5, 24, WALK, 1, 1 ; person
-	object SPRITE_BUG_CATCHER, 15, 13, WALK, 2, 2 ; person
-
-	; warp-to (unused)
-	warp_to 2, 7, 4
--- a/data/mapObjects/route10.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-Route10Object:
-	db $2c ; border block
-
-	db 4 ; warps
-	warp 11, 19, 0, ROCK_TUNNEL_POKECENTER
-	warp 8, 17, 0, ROCK_TUNNEL_1
-	warp 8, 53, 2, ROCK_TUNNEL_1
-	warp 6, 39, 0, POWER_PLANT
-
-	db 4 ; signs
-	sign 7, 19, 7 ; Route10Text7
-	sign 12, 19, 8 ; PokeCenterSignText
-	sign 9, 55, 9 ; Route10Text9
-	sign 5, 41, 10 ; Route10Text10
-
-	db 6 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1
-	object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7
-	object SPRITE_BLACK_HAIR_BOY_2, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2
-	object SPRITE_LASS, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7
-	object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8
-	object SPRITE_LASS, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8
-
-	; warp-to
-	warp_to 11, 19, ROUTE_10_WIDTH ; ROCK_TUNNEL_POKECENTER
-	warp_to 8, 17, ROUTE_10_WIDTH ; ROCK_TUNNEL_1
-	warp_to 8, 53, ROUTE_10_WIDTH ; ROCK_TUNNEL_1
-	warp_to 6, 39, ROUTE_10_WIDTH ; POWER_PLANT
--- a/data/mapObjects/route11.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-Route11Object:
-	db $f ; border block
-
-	db 5 ; warps
-	warp 49, 8, 0, ROUTE_11_GATE_1F
-	warp 49, 9, 1, ROUTE_11_GATE_1F
-	warp 58, 8, 2, ROUTE_11_GATE_1F
-	warp 58, 9, 3, ROUTE_11_GATE_1F
-	warp 4, 5, 0, DIGLETTS_CAVE_ENTRANCE
-
-	db 1 ; signs
-	sign 1, 5, 11 ; Route11Text11
-
-	db 10 ; objects
-	object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1
-	object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2
-	object SPRITE_BUG_CATCHER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9
-	object SPRITE_BLACK_HAIR_BOY_2, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2
-	object SPRITE_BUG_CATCHER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10
-	object SPRITE_GAMBLER, 45, 7, STAY, DOWN, 6, OPP_GAMBLER, 3
-	object SPRITE_GAMBLER, 33, 3, STAY, UP, 7, OPP_GAMBLER, 4
-	object SPRITE_BUG_CATCHER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11
-	object SPRITE_BLACK_HAIR_BOY_2, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3
-	object SPRITE_BUG_CATCHER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12
-
-	; warp-to
-	warp_to 49, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
-	warp_to 49, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
-	warp_to 58, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
-	warp_to 58, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F
-	warp_to 4, 5, ROUTE_11_WIDTH ; DIGLETTS_CAVE_ENTRANCE
--- a/data/mapObjects/route11gate.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route11GateObject:
-	db $a ; border block
-
-	db 5 ; warps
-	warp 0, 4, 0, -1
-	warp 0, 5, 1, -1
-	warp 7, 4, 2, -1
-	warp 7, 5, 3, -1
-	warp 6, 8, 0, ROUTE_11_GATE_2F
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 0, 4, ROUTE_11_GATE_1F_WIDTH
-	warp_to 0, 5, ROUTE_11_GATE_1F_WIDTH
-	warp_to 7, 4, ROUTE_11_GATE_1F_WIDTH
-	warp_to 7, 5, ROUTE_11_GATE_1F_WIDTH
-	warp_to 6, 8, ROUTE_11_GATE_1F_WIDTH ; ROUTE_11_GATE_2F
--- a/data/mapObjects/route11gateupstairs.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-Route11GateUpstairsObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 7, 4, ROUTE_11_GATE_1F
-
-	db 2 ; signs
-	sign 1, 2, 3 ; Route11GateUpstairsText3
-	sign 6, 2, 4 ; Route11GateUpstairsText4
-
-	db 2 ; objects
-	object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person
-	object SPRITE_OAK_AIDE, 2, 6, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 7, 7, ROUTE_11_GATE_2F_WIDTH ; ROUTE_11_GATE_1F
--- a/data/mapObjects/route12.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-Route12Object:
-	db $43 ; border block
-
-	db 4 ; warps
-	warp 10, 15, 0, ROUTE_12_GATE_1F
-	warp 11, 15, 1, ROUTE_12_GATE_1F
-	warp 10, 21, 2, ROUTE_12_GATE_1F
-	warp 11, 77, 0, ROUTE_12_HOUSE
-
-	db 2 ; signs
-	sign 13, 13, 11 ; Route12Text11
-	sign 11, 63, 12 ; Route12Text12
-
-	db 10 ; objects
-	object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person
-	object SPRITE_FISHER2, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3
-	object SPRITE_FISHER2, 5, 39, STAY, UP, 3, OPP_FISHER, 4
-	object SPRITE_BLACK_HAIR_BOY_1, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9
-	object SPRITE_BLACK_HAIR_BOY_2, 14, 76, STAY, UP, 5, OPP_ROCKER, 2
-	object SPRITE_FISHER2, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5
-	object SPRITE_FISHER2, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6
-	object SPRITE_FISHER2, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11
-	object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_16
-	object SPRITE_BALL, 5, 89, STAY, NONE, 10, IRON
-
-	; warp-to
-	warp_to 10, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
-	warp_to 11, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
-	warp_to 10, 21, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F
-	warp_to 11, 77, ROUTE_12_WIDTH ; ROUTE_12_HOUSE
--- a/data/mapObjects/route12gate.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route12GateObject:
-	db $a ; border block
-
-	db 5 ; warps
-	warp 4, 0, 0, -1
-	warp 5, 0, 1, -1
-	warp 4, 7, 2, -1
-	warp 5, 7, 2, -1
-	warp 8, 6, 0, ROUTE_12_GATE_2F
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 4, 0, ROUTE_12_GATE_1F_WIDTH
-	warp_to 5, 0, ROUTE_12_GATE_1F_WIDTH
-	warp_to 4, 7, ROUTE_12_GATE_1F_WIDTH
-	warp_to 5, 7, ROUTE_12_GATE_1F_WIDTH
-	warp_to 8, 6, ROUTE_12_GATE_1F_WIDTH ; ROUTE_12_GATE_2F
--- a/data/mapObjects/route12gateupstairs.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-Route12GateUpstairsObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 7, 4, ROUTE_12_GATE_1F
-
-	db 2 ; signs
-	sign 1, 2, 2 ; Route12GateUpstairsText2
-	sign 6, 2, 3 ; Route12GateUpstairsText3
-
-	db 1 ; objects
-	object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, 1, 1 ; person
-
-	; warp-to
-	warp_to 7, 7, ROUTE_12_GATE_2F_WIDTH ; ROUTE_12_GATE_1F
--- a/data/mapObjects/route12house.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-Route12HouseObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 3, -1
-	warp 3, 7, 3, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, ROUTE_12_HOUSE_WIDTH
-	warp_to 3, 7, ROUTE_12_HOUSE_WIDTH
--- a/data/mapObjects/route13.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route13Object:
-	db $43 ; border block
-
-	db 0 ; warps
-
-	db 3 ; signs
-	sign 15, 13, 11 ; Route13Text11
-	sign 33, 5, 12 ; Route13Text12
-	sign 31, 11, 13 ; Route13Text13
-
-	db 10 ; objects
-	object SPRITE_BLACK_HAIR_BOY_1, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1
-	object SPRITE_LASS, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12
-	object SPRITE_LASS, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13
-	object SPRITE_LASS, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14
-	object SPRITE_LASS, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15
-	object SPRITE_BLACK_HAIR_BOY_1, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2
-	object SPRITE_FOULARD_WOMAN, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4
-	object SPRITE_FOULARD_WOMAN, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5
-	object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1
-	object SPRITE_BLACK_HAIR_BOY_1, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3
--- a/data/mapObjects/route14.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Route14Object:
-	db $43 ; border block
-
-	db 0 ; warps
-
-	db 1 ; signs
-	sign 17, 13, 11 ; Route14Text11
-
-	db 10 ; objects
-	object SPRITE_BLACK_HAIR_BOY_1, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14
-	object SPRITE_BLACK_HAIR_BOY_1, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15
-	object SPRITE_BLACK_HAIR_BOY_1, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16
-	object SPRITE_BLACK_HAIR_BOY_1, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17
-	object SPRITE_BLACK_HAIR_BOY_1, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4
-	object SPRITE_BLACK_HAIR_BOY_1, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5
-	object SPRITE_BIKER, 5, 39, STAY, DOWN, 7, OPP_BIKER, 13
-	object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14
-	object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15
-	object SPRITE_BIKER, 4, 31, STAY, RIGHT, 10, OPP_BIKER, 2
--- a/data/mapObjects/route15.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-Route15Object:
-	db $43 ; border block
-
-	db 4 ; warps
-	warp 7, 8, 0, ROUTE_15_GATE_1F
-	warp 7, 9, 1, ROUTE_15_GATE_1F
-	warp 14, 8, 2, ROUTE_15_GATE_1F
-	warp 14, 9, 3, ROUTE_15_GATE_1F
-
-	db 1 ; signs
-	sign 39, 9, 12 ; Route15Text12
-
-	db 11 ; objects
-	object SPRITE_LASS, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20
-	object SPRITE_LASS, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21
-	object SPRITE_BLACK_HAIR_BOY_1, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6
-	object SPRITE_BLACK_HAIR_BOY_1, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7
-	object SPRITE_FOULARD_WOMAN, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9
-	object SPRITE_FOULARD_WOMAN, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10
-	object SPRITE_BIKER, 48, 10, STAY, DOWN, 7, OPP_BIKER, 3
-	object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4
-	object SPRITE_LASS, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22
-	object SPRITE_LASS, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23
-	object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_20
-
-	; warp-to
-	warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
-	warp_to 7, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
-	warp_to 14, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
-	warp_to 14, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F
--- a/data/mapObjects/route15gate.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route15GateObject:
-	db $a ; border block
-
-	db 5 ; warps
-	warp 0, 4, 0, -1
-	warp 0, 5, 1, -1
-	warp 7, 4, 2, -1
-	warp 7, 5, 3, -1
-	warp 6, 8, 0, ROUTE_15_GATE_2F
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 0, 4, ROUTE_15_GATE_1F_WIDTH
-	warp_to 0, 5, ROUTE_15_GATE_1F_WIDTH
-	warp_to 7, 4, ROUTE_15_GATE_1F_WIDTH
-	warp_to 7, 5, ROUTE_15_GATE_1F_WIDTH
-	warp_to 6, 8, ROUTE_15_GATE_1F_WIDTH ; ROUTE_15_GATE_2F
--- a/data/mapObjects/route15gateupstairs.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-Route15GateUpstairsObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 7, 4, ROUTE_15_GATE_1F
-
-	db 1 ; signs
-	sign 6, 2, 2 ; Route15GateUpstairsText2
-
-	db 1 ; objects
-	object SPRITE_OAK_AIDE, 4, 2, STAY, DOWN, 1
-
-	; warp-to
-	warp_to 7, 7, ROUTE_15_GATE_2F_WIDTH ; ROUTE_15_GATE_1F
--- a/data/mapObjects/route16.asm
+++ /dev/null
@@ -1,37 +1,0 @@
-Route16Object:
-	db $f ; border block
-
-	db 9 ; warps
-	warp 17, 10, 0, ROUTE_16_GATE_1F
-	warp 17, 11, 1, ROUTE_16_GATE_1F
-	warp 24, 10, 2, ROUTE_16_GATE_1F
-	warp 24, 11, 3, ROUTE_16_GATE_1F
-	warp 17, 4, 4, ROUTE_16_GATE_1F
-	warp 17, 5, 5, ROUTE_16_GATE_1F
-	warp 24, 4, 6, ROUTE_16_GATE_1F
-	warp 24, 5, 7, ROUTE_16_GATE_1F
-	warp 7, 5, 0, ROUTE_16_HOUSE
-
-	db 2 ; signs
-	sign 27, 11, 8 ; Route16Text8
-	sign 5, 17, 9 ; Route16Text9
-
-	db 7 ; objects
-	object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5
-	object SPRITE_BIKER, 14, 13, STAY, RIGHT, 2, OPP_CUE_BALL, 1
-	object SPRITE_BIKER, 11, 12, STAY, UP, 3, OPP_CUE_BALL, 2
-	object SPRITE_BIKER, 9, 11, STAY, LEFT, 4, OPP_BIKER, 6
-	object SPRITE_BIKER, 6, 10, STAY, RIGHT, 5, OPP_CUE_BALL, 3
-	object SPRITE_BIKER, 3, 12, STAY, RIGHT, 6, OPP_BIKER, 7
-	object SPRITE_SNORLAX, 26, 10, STAY, DOWN, 7 ; person
-
-	; warp-to
-	warp_to 17, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 17, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 24, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 24, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 17, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 17, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 24, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 24, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F
-	warp_to 7, 5, ROUTE_16_WIDTH ; ROUTE_16_HOUSE
--- a/data/mapObjects/route16gate.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-Route16GateObject:
-	db $a ; border block
-
-	db 9 ; warps
-	warp 0, 8, 0, -1
-	warp 0, 9, 1, -1
-	warp 7, 8, 2, -1
-	warp 7, 9, 2, -1
-	warp 0, 2, 4, -1
-	warp 0, 3, 5, -1
-	warp 7, 2, 6, -1
-	warp 7, 3, 7, -1
-	warp 6, 12, 0, ROUTE_16_GATE_2F
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person
-	object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 0, 8, ROUTE_16_GATE_1F_WIDTH
-	warp_to 0, 9, ROUTE_16_GATE_1F_WIDTH
-	warp_to 7, 8, ROUTE_16_GATE_1F_WIDTH
-	warp_to 7, 9, ROUTE_16_GATE_1F_WIDTH
-	warp_to 0, 2, ROUTE_16_GATE_1F_WIDTH
-	warp_to 0, 3, ROUTE_16_GATE_1F_WIDTH
-	warp_to 7, 2, ROUTE_16_GATE_1F_WIDTH
-	warp_to 7, 3, ROUTE_16_GATE_1F_WIDTH
-	warp_to 6, 12, ROUTE_16_GATE_1F_WIDTH ; ROUTE_16_GATE_2F
--- a/data/mapObjects/route16gateupstairs.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-Route16GateUpstairsObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 7, 8, ROUTE_16_GATE_1F
-
-	db 2 ; signs
-	sign 1, 2, 3 ; Route16GateUpstairsText3
-	sign 6, 2, 4 ; Route16GateUpstairsText4
-
-	db 2 ; objects
-	object SPRITE_YOUNG_BOY, 4, 2, STAY, NONE, 1 ; person
-	object SPRITE_LITTLE_GIRL, 2, 5, WALK, 2, 2 ; person
-
-	; warp-to
-	warp_to 7, 7, ROUTE_16_GATE_2F_WIDTH ; ROUTE_16_GATE_1F
--- a/data/mapObjects/route16house.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-Route16HouseObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 8, -1
-	warp 3, 7, 8, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
-	object SPRITE_BIRD, 6, 4, WALK, 0, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, ROUTE_16_HOUSE_WIDTH
-	warp_to 3, 7, ROUTE_16_HOUSE_WIDTH
--- a/data/mapObjects/route17.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-Route17Object:
-	db $43 ; border block
-
-	db 0 ; warps
-
-	db 6 ; signs
-	sign 9, 51, 11 ; Route17Text11
-	sign 9, 63, 12 ; Route17Text12
-	sign 9, 75, 13 ; Route17Text13
-	sign 9, 87, 14 ; Route17Text14
-	sign 9, 111, 15 ; Route17Text15
-	sign 9, 141, 16 ; Route17Text16
-
-	db 10 ; objects
-	object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4
-	object SPRITE_BIKER, 11, 16, STAY, RIGHT, 2, OPP_CUE_BALL, 5
-	object SPRITE_BIKER, 4, 18, STAY, UP, 3, OPP_BIKER, 8
-	object SPRITE_BIKER, 7, 32, STAY, LEFT, 4, OPP_BIKER, 9
-	object SPRITE_BIKER, 14, 34, STAY, RIGHT, 5, OPP_BIKER, 10
-	object SPRITE_BIKER, 17, 58, STAY, LEFT, 6, OPP_CUE_BALL, 6
-	object SPRITE_BIKER, 2, 68, STAY, RIGHT, 7, OPP_CUE_BALL, 7
-	object SPRITE_BIKER, 14, 98, STAY, RIGHT, 8, OPP_CUE_BALL, 8
-	object SPRITE_BIKER, 5, 98, STAY, LEFT, 9, OPP_BIKER, 11
-	object SPRITE_BIKER, 10, 118, STAY, DOWN, 10, OPP_BIKER, 12
--- a/data/mapObjects/route18.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-Route18Object:
-	db $43 ; border block
-
-	db 4 ; warps
-	warp 33, 8, 0, ROUTE_18_GATE_1F
-	warp 33, 9, 1, ROUTE_18_GATE_1F
-	warp 40, 8, 2, ROUTE_18_GATE_1F
-	warp 40, 9, 3, ROUTE_18_GATE_1F
-
-	db 2 ; signs
-	sign 43, 7, 4 ; Route18Text4
-	sign 33, 5, 5 ; Route18Text5
-
-	db 3 ; objects
-	object SPRITE_BLACK_HAIR_BOY_1, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8
-	object SPRITE_BLACK_HAIR_BOY_1, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9
-	object SPRITE_BLACK_HAIR_BOY_1, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10
-
-	; warp-to
-	warp_to 33, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
-	warp_to 33, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
-	warp_to 40, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
-	warp_to 40, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F
--- a/data/mapObjects/route18gate.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route18GateObject:
-	db $a ; border block
-
-	db 5 ; warps
-	warp 0, 4, 0, -1
-	warp 0, 5, 1, -1
-	warp 7, 4, 2, -1
-	warp 7, 5, 3, -1
-	warp 6, 8, 0, ROUTE_18_GATE_2F
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person
-
-	; warp-to
-	warp_to 0, 4, ROUTE_18_GATE_1F_WIDTH
-	warp_to 0, 5, ROUTE_18_GATE_1F_WIDTH
-	warp_to 7, 4, ROUTE_18_GATE_1F_WIDTH
-	warp_to 7, 5, ROUTE_18_GATE_1F_WIDTH
-	warp_to 6, 8, ROUTE_18_GATE_1F_WIDTH ; ROUTE_18_GATE_2F
--- a/data/mapObjects/route18gateupstairs.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-Route18GateUpstairsObject:
-	db $a ; border block
-
-	db 1 ; warps
-	warp 7, 7, 4, ROUTE_18_GATE_1F
-
-	db 2 ; signs
-	sign 1, 2, 2 ; Route18GateUpstairsText2
-	sign 6, 2, 3 ; Route18GateUpstairsText3
-
-	db 1 ; objects
-	object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person
-
-	; warp-to
-	warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F
--- a/data/mapObjects/route19.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route19Object:
-	db $43 ; border block
-
-	db 0 ; warps
-
-	db 1 ; signs
-	sign 11, 9, 11 ; Route19Text11
-
-	db 10 ; objects
-	object SPRITE_BLACK_HAIR_BOY_1, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2
-	object SPRITE_BLACK_HAIR_BOY_1, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3
-	object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4
-	object SPRITE_SWIMMER, 4, 27, STAY, RIGHT, 4, OPP_SWIMMER, 5
-	object SPRITE_SWIMMER, 16, 31, STAY, UP, 5, OPP_SWIMMER, 6
-	object SPRITE_SWIMMER, 9, 11, STAY, DOWN, 6, OPP_SWIMMER, 7
-	object SPRITE_SWIMMER, 8, 43, STAY, LEFT, 7, OPP_BEAUTY, 12
-	object SPRITE_SWIMMER, 11, 43, STAY, RIGHT, 8, OPP_BEAUTY, 13
-	object SPRITE_SWIMMER, 9, 42, STAY, UP, 9, OPP_SWIMMER, 8
-	object SPRITE_SWIMMER, 10, 44, STAY, DOWN, 10, OPP_BEAUTY, 14
-
-	; warp-to
--- a/data/mapObjects/route2.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-Route2Object:
-	db $f ; border block
-
-	db 6 ; warps
-	warp 12, 9, 0, DIGLETTS_CAVE_EXIT
-	warp 3, 11, 1, VIRIDIAN_FOREST_EXIT
-	warp 15, 19, 0, ROUTE_2_HOUSE
-	warp 16, 35, 1, ROUTE_2_GATE
-	warp 15, 39, 2, ROUTE_2_GATE
-	warp 3, 43, 2, VIRIDIAN_FOREST_ENTRANCE
-
-	db 2 ; signs
-	sign 5, 65, 3 ; Route2Text3
-	sign 11, 11, 4 ; Route2Text4
-
-	db 2 ; objects
-	object SPRITE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE
-	object SPRITE_BALL, 13, 45, STAY, NONE, 2, HP_UP
-
-	; warp-to
-	warp_to 12, 9, ROUTE_2_WIDTH ; DIGLETTS_CAVE_EXIT
-	warp_to 3, 11, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_EXIT
-	warp_to 15, 19, ROUTE_2_WIDTH ; ROUTE_2_HOUSE
-	warp_to 16, 35, ROUTE_2_WIDTH ; ROUTE_2_GATE
-	warp_to 15, 39, ROUTE_2_WIDTH ; ROUTE_2_GATE
-	warp_to 3, 43, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_ENTRANCE
-
-	; unused
-	warp_to 2, 7, 4
-	db $12, $c7, $9, $7
-	warp_to 2, 7, 4
-	warp_to 2, 7, 4
-	warp_to 2, 7, 4
--- a/data/mapObjects/route20.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-Route20Object:
-	db $43 ; border block
-
-	db 2 ; warps
-	warp 48, 5, 0, SEAFOAM_ISLANDS_1
-	warp 58, 9, 2, SEAFOAM_ISLANDS_1
-
-	db 2 ; signs
-	sign 51, 7, 11 ; Route20Text11
-	sign 57, 11, 12 ; Route20Text12
-
-	db 10 ; objects
-	object SPRITE_SWIMMER, 87, 8, STAY, UP, 1, OPP_SWIMMER, 9
-	object SPRITE_SWIMMER, 68, 11, STAY, UP, 2, OPP_BEAUTY, 15
-	object SPRITE_SWIMMER, 45, 10, STAY, DOWN, 3, OPP_BEAUTY, 6
-	object SPRITE_SWIMMER, 55, 14, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24
-	object SPRITE_SWIMMER, 38, 13, STAY, DOWN, 5, OPP_SWIMMER, 10
-	object SPRITE_SWIMMER, 87, 13, STAY, UP, 6, OPP_SWIMMER, 11
-	object SPRITE_BLACK_HAIR_BOY_1, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11
-	object SPRITE_SWIMMER, 25, 7, STAY, UP, 8, OPP_BEAUTY, 7
-	object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16
-	object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8
-
-	; warp-to
-	warp_to 48, 5, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1
-	warp_to 58, 9, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1
--- a/data/mapObjects/route21.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-Route21Object:
-	db $43 ; border block
-
-	db 0 ; warps
-
-	db 0 ; signs
-
-	db 9 ; objects
-	object SPRITE_FISHER2, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7
-	object SPRITE_FISHER2, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9
-	object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12
-	object SPRITE_SWIMMER, 12, 30, STAY, RIGHT, 4, OPP_CUE_BALL, 9
-	object SPRITE_SWIMMER, 16, 63, STAY, DOWN, 5, OPP_SWIMMER, 13
-	object SPRITE_SWIMMER, 5, 71, STAY, RIGHT, 6, OPP_SWIMMER, 14
-	object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15
-	object SPRITE_FISHER2, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8
-	object SPRITE_FISHER2, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10
--- a/data/mapObjects/route22.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-Route22Object:
-	db $2c ; border block
-
-	db 1 ; warps
-	warp 8, 5, 0, ROUTE_22_GATE
-
-	db 1 ; signs
-	sign 7, 11, 3 ; Route22FrontGateText
-
-	db 2 ; objects
-	object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person
-	object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 8, 5, ROUTE_22_WIDTH ; ROUTE_22_GATE
--- a/data/mapObjects/route22gate.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Route22GateObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 4, 7, 0, -1
-	warp 5, 7, 0, -1
-	warp 4, 0, 0, -1
-	warp 5, 0, 1, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
-
-	; warp-to
-	warp_to 4, 7, ROUTE_22_GATE_WIDTH
-	warp_to 5, 7, ROUTE_22_GATE_WIDTH
-	warp_to 4, 0, ROUTE_22_GATE_WIDTH
-	warp_to 5, 0, ROUTE_22_GATE_WIDTH
--- a/data/mapObjects/route23.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-Route23Object:
-	db $f ; border block
-
-	db 4 ; warps
-	warp 7, 139, 2, ROUTE_22_GATE
-	warp 8, 139, 3, ROUTE_22_GATE
-	warp 4, 31, 0, VICTORY_ROAD_1
-	warp 14, 31, 1, VICTORY_ROAD_2
-
-	db 1 ; signs
-	sign 3, 33, 8 ; Route23Text8
-
-	db 7 ; objects
-	object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person
-	object SPRITE_GUARD, 10, 56, STAY, DOWN, 2 ; person
-	object SPRITE_SWIMMER, 8, 85, STAY, DOWN, 3 ; person
-	object SPRITE_SWIMMER, 11, 96, STAY, DOWN, 4 ; person
-	object SPRITE_GUARD, 12, 105, STAY, DOWN, 5 ; person
-	object SPRITE_GUARD, 8, 119, STAY, DOWN, 6 ; person
-	object SPRITE_GUARD, 8, 136, STAY, DOWN, 7 ; person
-
-	; warp-to
-	warp_to 7, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE
-	warp_to 8, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE
-	warp_to 4, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_1
-	warp_to 14, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_2
--- a/data/mapObjects/route24.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-Route24Object:
-	db $2c ; border block
-
-	db 0 ; warps
-
-	db 0 ; signs
-
-	db 8 ; objects
-	object SPRITE_BLACK_HAIR_BOY_1, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6
-	object SPRITE_BLACK_HAIR_BOY_1, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2
-	object SPRITE_BLACK_HAIR_BOY_1, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3
-	object SPRITE_LASS, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7
-	object SPRITE_BUG_CATCHER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4
-	object SPRITE_LASS, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8
-	object SPRITE_BUG_CATCHER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9
-	object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_45
--- a/data/mapObjects/route25.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-Route25Object:
-	db $2c ; border block
-
-	db 1 ; warps
-	warp 45, 3, 0, BILLS_HOUSE
-
-	db 1 ; signs
-	sign 43, 3, 11 ; Route25Text11
-
-	db 10 ; objects
-	object SPRITE_BUG_CATCHER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5
-	object SPRITE_BUG_CATCHER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6
-	object SPRITE_BLACK_HAIR_BOY_1, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2
-	object SPRITE_LASS, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9
-	object SPRITE_BUG_CATCHER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7
-	object SPRITE_LASS, 37, 4, STAY, DOWN, 6, OPP_LASS, 10
-	object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2
-	object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3
-	object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4
-	object SPRITE_BALL, 22, 2, STAY, NONE, 10, TM_19
-
-	; warp-to
-	warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE
--- a/data/mapObjects/route2gate.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-Route2GateObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 4, 0, 3, -1
-	warp 5, 0, 3, -1
-	warp 4, 7, 4, -1
-	warp 5, 7, 4, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_OAK_AIDE, 1, 4, STAY, LEFT, 1 ; person
-	object SPRITE_BUG_CATCHER, 5, 4, WALK, 2, 2 ; person
-
-	; warp-to
-	warp_to 4, 0, ROUTE_2_GATE_WIDTH
-	warp_to 5, 0, ROUTE_2_GATE_WIDTH
-	warp_to 4, 7, ROUTE_2_GATE_WIDTH
-	warp_to 5, 7, ROUTE_2_GATE_WIDTH
--- a/data/mapObjects/route2house.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-Route2HouseObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 2, -1
-	warp 3, 7, 2, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_OAK_AIDE, 2, 4, STAY, RIGHT, 1 ; person
-	object SPRITE_GAMEBOY_KID_COPY, 4, 1, STAY, DOWN, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, ROUTE_2_HOUSE_WIDTH
-	warp_to 3, 7, ROUTE_2_HOUSE_WIDTH
--- a/data/mapObjects/route3.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-Route3Object:
-	db $2c ; border block
-
-	db 0 ; warps
-
-	db 1 ; signs
-	sign 59, 9, 10 ; Route3Text10
-
-	db 9 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 57, 11, STAY, NONE, 1 ; person
-	object SPRITE_BUG_CATCHER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4
-	object SPRITE_BUG_CATCHER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1
-	object SPRITE_LASS, 16, 9, STAY, LEFT, 4, OPP_LASS, 1
-	object SPRITE_BUG_CATCHER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5
-	object SPRITE_LASS, 23, 4, STAY, LEFT, 6, OPP_LASS, 2
-	object SPRITE_BUG_CATCHER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2
-	object SPRITE_BUG_CATCHER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6
-	object SPRITE_LASS, 33, 10, STAY, UP, 9, OPP_LASS, 3
--- a/data/mapObjects/route4.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-Route4Object:
-	db $2c ; border block
-
-	db 3 ; warps
-	warp 11, 5, 0, MT_MOON_POKECENTER
-	warp 18, 5, 0, MT_MOON_1
-	warp 24, 5, 7, MT_MOON_2
-
-	db 3 ; signs
-	sign 12, 5, 4 ; PokeCenterSignText
-	sign 17, 7, 5 ; Route4Text5
-	sign 27, 7, 6 ; Route4Text6
-
-	db 3 ; objects
-	object SPRITE_LASS, 9, 8, WALK, 0, 1 ; person
-	object SPRITE_LASS, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4
-	object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_04
-
-	; warp-to
-	warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER
-	warp_to 18, 5, ROUTE_4_WIDTH ; MT_MOON_1
-	warp_to 24, 5, ROUTE_4_WIDTH ; MT_MOON_2
--- a/data/mapObjects/route5.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route5Object:
-	db $a ; border block
-
-	db 5 ; warps
-	warp 10, 29, 3, ROUTE_5_GATE
-	warp 9, 29, 2, ROUTE_5_GATE
-	warp 10, 33, 0, ROUTE_5_GATE
-	warp 17, 27, 0, PATH_ENTRANCE_ROUTE_5
-	warp 10, 21, 0, DAYCAREM
-
-	db 1 ; signs
-	sign 17, 29, 1 ; Route5Text1
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 10, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE
-	warp_to 9, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE
-	warp_to 10, 33, ROUTE_5_WIDTH ; ROUTE_5_GATE
-	warp_to 17, 27, ROUTE_5_WIDTH ; PATH_ENTRANCE_ROUTE_5
-	warp_to 10, 21, ROUTE_5_WIDTH ; DAYCAREM
--- a/data/mapObjects/route5gate.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Route5GateObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 3, 5, 2, -1
-	warp 4, 5, 2, -1
-	warp 3, 0, 1, -1
-	warp 4, 0, 0, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person
-
-	; warp-to
-	warp_to 3, 5, ROUTE_5_GATE_WIDTH
-	warp_to 4, 5, ROUTE_5_GATE_WIDTH
-	warp_to 3, 0, ROUTE_5_GATE_WIDTH
-	warp_to 4, 0, ROUTE_5_GATE_WIDTH
--- a/data/mapObjects/route6.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-Route6Object:
-	db $f ; border block
-
-	db 4 ; warps
-	warp 9, 1, 2, ROUTE_6_GATE
-	warp 10, 1, 2, ROUTE_6_GATE
-	warp 10, 7, 0, ROUTE_6_GATE
-	warp 17, 13, 0, PATH_ENTRANCE_ROUTE_6
-
-	db 1 ; signs
-	sign 19, 15, 7 ; Route6Text7
-
-	db 6 ; objects
-	object SPRITE_BLACK_HAIR_BOY_1, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4
-	object SPRITE_LASS, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2
-	object SPRITE_BUG_CATCHER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10
-	object SPRITE_BLACK_HAIR_BOY_1, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5
-	object SPRITE_LASS, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3
-	object SPRITE_BUG_CATCHER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11
-
-	; warp-to
-	warp_to 9, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE
-	warp_to 10, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE
-	warp_to 10, 7, ROUTE_6_WIDTH ; ROUTE_6_GATE
-	warp_to 17, 13, ROUTE_6_WIDTH ; PATH_ENTRANCE_ROUTE_6
--- a/data/mapObjects/route6gate.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Route6GateObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 3, 5, 2, -1
-	warp 4, 5, 2, -1
-	warp 3, 0, 1, -1
-	warp 4, 0, 1, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person
-
-	; warp-to
-	warp_to 3, 5, ROUTE_6_GATE_WIDTH
-	warp_to 4, 5, ROUTE_6_GATE_WIDTH
-	warp_to 3, 0, ROUTE_6_GATE_WIDTH
-	warp_to 4, 0, ROUTE_6_GATE_WIDTH
--- a/data/mapObjects/route7.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-Route7Object:
-	db $f ; border block
-
-	db 5 ; warps
-	warp 18, 9, 2, ROUTE_7_GATE
-	warp 18, 10, 3, ROUTE_7_GATE
-	warp 11, 9, 0, ROUTE_7_GATE
-	warp 11, 10, 1, ROUTE_7_GATE
-	warp 5, 13, 0, PATH_ENTRANCE_ROUTE_7
-
-	db 1 ; signs
-	sign 3, 13, 1 ; Route7Text1
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 18, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE
-	warp_to 18, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE
-	warp_to 11, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE
-	warp_to 11, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE
-	warp_to 5, 13, ROUTE_7_WIDTH ; PATH_ENTRANCE_ROUTE_7
--- a/data/mapObjects/route7gate.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Route7GateObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 0, 3, 3, -1
-	warp 0, 4, 3, -1
-	warp 5, 3, 0, -1
-	warp 5, 4, 1, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person
-
-	; warp-to
-	warp_to 0, 3, ROUTE_7_GATE_WIDTH
-	warp_to 0, 4, ROUTE_7_GATE_WIDTH
-	warp_to 5, 3, ROUTE_7_GATE_WIDTH
-	warp_to 5, 4, ROUTE_7_GATE_WIDTH
--- a/data/mapObjects/route8.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-Route8Object:
-	db $2c ; border block
-
-	db 5 ; warps
-	warp 1, 9, 0, ROUTE_8_GATE
-	warp 1, 10, 1, ROUTE_8_GATE
-	warp 8, 9, 2, ROUTE_8_GATE
-	warp 8, 10, 3, ROUTE_8_GATE
-	warp 13, 3, 0, PATH_ENTRANCE_ROUTE_8
-
-	db 1 ; signs
-	sign 17, 3, 10 ; Route8Text10
-
-	db 9 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3
-	object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5
-	object SPRITE_BLACK_HAIR_BOY_2, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4
-	object SPRITE_LASS, 26, 3, STAY, LEFT, 4, OPP_LASS, 13
-	object SPRITE_BLACK_HAIR_BOY_2, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5
-	object SPRITE_LASS, 26, 5, STAY, LEFT, 6, OPP_LASS, 14
-	object SPRITE_LASS, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15
-	object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7
-	object SPRITE_LASS, 51, 12, STAY, LEFT, 9, OPP_LASS, 16
-
-	; warp-to
-	warp_to 1, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE
-	warp_to 1, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE
-	warp_to 8, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE
-	warp_to 8, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE
-	warp_to 13, 3, ROUTE_8_WIDTH ; PATH_ENTRANCE_ROUTE_8
--- a/data/mapObjects/route8gate.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Route8GateObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 0, 3, 0, -1
-	warp 0, 4, 1, -1
-	warp 5, 3, 2, -1
-	warp 5, 4, 3, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person
-
-	; warp-to
-	warp_to 0, 3, ROUTE_8_GATE_WIDTH
-	warp_to 0, 4, ROUTE_8_GATE_WIDTH
-	warp_to 5, 3, ROUTE_8_GATE_WIDTH
-	warp_to 5, 4, ROUTE_8_GATE_WIDTH
--- a/data/mapObjects/route9.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-Route9Object:
-	db $2c ; border block
-
-	db 0 ; warps
-
-	db 1 ; signs
-	sign 25, 7, 11 ; Route9Text11
-
-	db 10 ; objects
-	object SPRITE_LASS, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5
-	object SPRITE_BLACK_HAIR_BOY_1, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7
-	object SPRITE_BLACK_HAIR_BOY_1, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8
-	object SPRITE_LASS, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6
-	object SPRITE_HIKER, 16, 15, STAY, LEFT, 5, OPP_HIKER, 11
-	object SPRITE_HIKER, 43, 3, STAY, LEFT, 6, OPP_HIKER, 6
-	object SPRITE_BUG_CATCHER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13
-	object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5
-	object SPRITE_BUG_CATCHER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14
-	object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_30
--- a/data/mapObjects/safarizonecenter.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-SafariZoneCenterObject:
-	db $0 ; border block
-
-	db 9 ; warps
-	warp 14, 25, 2, SAFARI_ZONE_ENTRANCE
-	warp 15, 25, 3, SAFARI_ZONE_ENTRANCE
-	warp 0, 10, 4, SAFARI_ZONE_WEST
-	warp 0, 11, 5, SAFARI_ZONE_WEST
-	warp 14, 0, 4, SAFARI_ZONE_NORTH
-	warp 15, 0, 5, SAFARI_ZONE_NORTH
-	warp 29, 10, 2, SAFARI_ZONE_EAST
-	warp 29, 11, 3, SAFARI_ZONE_EAST
-	warp 17, 19, 0, SAFARI_ZONE_REST_HOUSE_1
-
-	db 2 ; signs
-	sign 18, 20, 2 ; SafariZoneCenterText2
-	sign 14, 22, 3 ; SafariZoneCenterText3
-
-	db 1 ; objects
-	object SPRITE_BALL, 14, 10, STAY, NONE, 1, NUGGET
-
-	; warp-to
-	warp_to 14, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_ENTRANCE
-	warp_to 15, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_ENTRANCE
-	warp_to 0, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 0, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 14, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 15, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 29, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST
-	warp_to 29, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST
-	warp_to 17, 19, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_REST_HOUSE_1
--- a/data/mapObjects/safarizoneeast.asm
+++ /dev/null
@@ -1,27 +1,0 @@
-SafariZoneEastObject:
-	db $0 ; border block
-
-	db 5 ; warps
-	warp 0, 4, 6, SAFARI_ZONE_NORTH
-	warp 0, 5, 7, SAFARI_ZONE_NORTH
-	warp 0, 22, 6, SAFARI_ZONE_CENTER
-	warp 0, 23, 6, SAFARI_ZONE_CENTER
-	warp 25, 9, 0, SAFARI_ZONE_REST_HOUSE_3
-
-	db 3 ; signs
-	sign 26, 10, 5 ; SafariZoneEastText5
-	sign 6, 4, 6 ; SafariZoneEastText6
-	sign 5, 23, 7 ; SafariZoneEastText7
-
-	db 4 ; objects
-	object SPRITE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE
-	object SPRITE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION
-	object SPRITE_BALL, 20, 13, STAY, NONE, 3, CARBOS
-	object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_37
-
-	; warp-to
-	warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 0, 5, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 0, 22, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 0, 23, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 25, 9, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_REST_HOUSE_3
--- a/data/mapObjects/safarizoneentrance.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-SafariZoneEntranceObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 3, 5, 4, -1
-	warp 4, 5, 4, -1
-	warp 3, 0, 0, SAFARI_ZONE_CENTER
-	warp 4, 0, 1, SAFARI_ZONE_CENTER
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_WHITE_PLAYER, 6, 2, STAY, LEFT, 1 ; person
-	object SPRITE_WHITE_PLAYER, 1, 4, STAY, RIGHT, 2 ; person
-
-	; warp-to
-	warp_to 3, 5, SAFARI_ZONE_ENTRANCE_WIDTH
-	warp_to 4, 5, SAFARI_ZONE_ENTRANCE_WIDTH
-	warp_to 3, 0, SAFARI_ZONE_ENTRANCE_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 4, 0, SAFARI_ZONE_ENTRANCE_WIDTH ; SAFARI_ZONE_CENTER
--- a/data/mapObjects/safarizonenorth.asm
+++ /dev/null
@@ -1,35 +1,0 @@
-SafariZoneNorthObject:
-	db $0 ; border block
-
-	db 9 ; warps
-	warp 2, 35, 0, SAFARI_ZONE_WEST
-	warp 3, 35, 1, SAFARI_ZONE_WEST
-	warp 8, 35, 2, SAFARI_ZONE_WEST
-	warp 9, 35, 3, SAFARI_ZONE_WEST
-	warp 20, 35, 4, SAFARI_ZONE_CENTER
-	warp 21, 35, 5, SAFARI_ZONE_CENTER
-	warp 39, 30, 0, SAFARI_ZONE_EAST
-	warp 39, 31, 1, SAFARI_ZONE_EAST
-	warp 35, 3, 0, SAFARI_ZONE_REST_HOUSE_4
-
-	db 5 ; signs
-	sign 36, 4, 3 ; SafariZoneNorthText3
-	sign 4, 25, 4 ; SafariZoneNorthText4
-	sign 13, 31, 5 ; SafariZoneNorthText5
-	sign 19, 33, 6 ; SafariZoneNorthText6
-	sign 26, 28, 7 ; SafariZoneNorthText7
-
-	db 2 ; objects
-	object SPRITE_BALL, 25, 1, STAY, NONE, 1, PROTEIN
-	object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_40
-
-	; warp-to
-	warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 3, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 8, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 9, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 20, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 21, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 39, 30, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST
-	warp_to 39, 31, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST
-	warp_to 35, 3, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_REST_HOUSE_4
--- a/data/mapObjects/safarizoneresthouse1.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-SafariZoneRestHouse1Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 8, SAFARI_ZONE_CENTER
-	warp 3, 7, 8, SAFARI_ZONE_CENTER
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person
-	object SPRITE_OAK_AIDE, 1, 4, WALK, 1, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 3, 7, SAFARI_ZONE_REST_HOUSE_1_WIDTH ; SAFARI_ZONE_CENTER
--- a/data/mapObjects/safarizoneresthouse2.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-SafariZoneRestHouse2Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 7, SAFARI_ZONE_WEST
-	warp 3, 7, 7, SAFARI_ZONE_WEST
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_OAK_AIDE, 4, 4, WALK, 0, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 0, 2, STAY, RIGHT, 2 ; person
-	object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 3, 7, SAFARI_ZONE_REST_HOUSE_2_WIDTH ; SAFARI_ZONE_WEST
--- a/data/mapObjects/safarizoneresthouse3.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-SafariZoneRestHouse3Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 4, SAFARI_ZONE_EAST
-	warp 3, 7, 4, SAFARI_ZONE_EAST
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_OAK_AIDE, 1, 3, WALK, 1, 1 ; person
-	object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person
-	object SPRITE_LAPRAS_GIVER, 5, 2, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; SAFARI_ZONE_EAST
-	warp_to 3, 7, SAFARI_ZONE_REST_HOUSE_3_WIDTH ; SAFARI_ZONE_EAST
--- a/data/mapObjects/safarizoneresthouse4.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-SafariZoneRestHouse4Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 8, SAFARI_ZONE_NORTH
-	warp 3, 7, 8, SAFARI_ZONE_NORTH
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_OAK_AIDE, 6, 3, WALK, 2, 1 ; person
-	object SPRITE_WHITE_PLAYER, 3, 4, STAY, NONE, 2 ; person
-	object SPRITE_GENTLEMAN, 1, 5, WALK, 1, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 3, 7, SAFARI_ZONE_REST_HOUSE_4_WIDTH ; SAFARI_ZONE_NORTH
--- a/data/mapObjects/safarizonesecrethouse.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SafariZoneSecretHouseObject:
-	db $17 ; border block
-
-	db 2 ; warps
-	warp 2, 7, 6, SAFARI_ZONE_WEST
-	warp 3, 7, 6, SAFARI_ZONE_WEST
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FISHER, 3, 3, STAY, DOWN, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST
-	warp_to 3, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST
--- a/data/mapObjects/safarizonewest.asm
+++ /dev/null
@@ -1,34 +1,0 @@
-SafariZoneWestObject:
-	db $0 ; border block
-
-	db 8 ; warps
-	warp 20, 0, 0, SAFARI_ZONE_NORTH
-	warp 21, 0, 1, SAFARI_ZONE_NORTH
-	warp 26, 0, 2, SAFARI_ZONE_NORTH
-	warp 27, 0, 3, SAFARI_ZONE_NORTH
-	warp 29, 22, 2, SAFARI_ZONE_CENTER
-	warp 29, 23, 3, SAFARI_ZONE_CENTER
-	warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE
-	warp 11, 11, 0, SAFARI_ZONE_REST_HOUSE_2
-
-	db 4 ; signs
-	sign 12, 12, 5 ; SafariZoneWestText5
-	sign 17, 3, 6 ; SafariZoneWestText6
-	sign 26, 4, 7 ; SafariZoneWestText7
-	sign 24, 22, 8 ; SafariZoneWestText8
-
-	db 4 ; objects
-	object SPRITE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION
-	object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_32
-	object SPRITE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE
-	object SPRITE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH
-
-	; warp-to
-	warp_to 20, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 21, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 26, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 27, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH
-	warp_to 29, 22, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 29, 23, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER
-	warp_to 3, 3, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_SECRET_HOUSE
-	warp_to 11, 11, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_REST_HOUSE_2
--- a/data/mapObjects/saffroncity.asm
+++ /dev/null
@@ -1,51 +1,0 @@
-SaffronCityObject:
-	db $f ; border block
-
-	db 8 ; warps
-	warp 7, 5, 0, COPYCATS_HOUSE_1F
-	warp 26, 3, 0, FIGHTING_DOJO
-	warp 34, 3, 0, SAFFRON_GYM
-	warp 13, 11, 0, SAFFRON_HOUSE_1
-	warp 25, 11, 0, SAFFRON_MART
-	warp 18, 21, 0, SILPH_CO_1F
-	warp 9, 29, 0, SAFFRON_POKECENTER
-	warp 29, 29, 0, SAFFRON_HOUSE_2
-
-	db 10 ; signs
-	sign 17, 5, 16 ; SaffronCityText16
-	sign 27, 5, 17 ; SaffronCityText17
-	sign 35, 5, 18 ; SaffronCityText18
-	sign 26, 11, 19 ; MartSignText
-	sign 39, 19, 20 ; SaffronCityText20
-	sign 5, 21, 21 ; SaffronCityText21
-	sign 15, 21, 22 ; SaffronCityText22
-	sign 10, 29, 23 ; PokeCenterSignText
-	sign 27, 29, 24 ; SaffronCityText24
-	sign 1, 19, 25 ; SaffronCityText25
-
-	db 15 ; objects
-	object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person
-	object SPRITE_ROCKET, 20, 8, WALK, 2, 2 ; person
-	object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person
-	object SPRITE_ROCKET, 13, 12, STAY, NONE, 4 ; person
-	object SPRITE_ROCKET, 11, 25, WALK, 2, 5 ; person
-	object SPRITE_ROCKET, 32, 13, WALK, 2, 6 ; person
-	object SPRITE_ROCKET, 18, 30, WALK, 2, 7 ; person
-	object SPRITE_OAK_AIDE, 8, 14, WALK, 0, 8 ; person
-	object SPRITE_LAPRAS_GIVER, 23, 23, STAY, NONE, 9 ; person
-	object SPRITE_ERIKA, 17, 30, WALK, 2, 10 ; person
-	object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person
-	object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person
-	object SPRITE_ROCKER, 18, 8, STAY, UP, 13 ; person
-	object SPRITE_ROCKET, 18, 22, STAY, DOWN, 14 ; person
-	object SPRITE_ROCKET, 19, 22, STAY, DOWN, 15 ; person
-
-	; warp-to
-	warp_to 7, 5, SAFFRON_CITY_WIDTH ; COPYCATS_HOUSE_1F
-	warp_to 26, 3, SAFFRON_CITY_WIDTH ; FIGHTING_DOJO
-	warp_to 34, 3, SAFFRON_CITY_WIDTH ; SAFFRON_GYM
-	warp_to 13, 11, SAFFRON_CITY_WIDTH ; SAFFRON_HOUSE_1
-	warp_to 25, 11, SAFFRON_CITY_WIDTH ; SAFFRON_MART
-	warp_to 18, 21, SAFFRON_CITY_WIDTH ; SILPH_CO_1F
-	warp_to 9, 29, SAFFRON_CITY_WIDTH ; SAFFRON_POKECENTER
-	warp_to 29, 29, SAFFRON_CITY_WIDTH ; SAFFRON_HOUSE_2
--- a/data/mapObjects/saffrongym.asm
+++ /dev/null
@@ -1,83 +1,0 @@
-SaffronGymObject:
-	db $2e ; border block
-
-	db 32 ; warps
-	warp 8, 17, 2, -1
-	warp 9, 17, 2, -1
-	warp 1, 3, 22, SAFFRON_GYM
-	warp 5, 3, 15, SAFFRON_GYM
-	warp 1, 5, 18, SAFFRON_GYM
-	warp 5, 5, 8, SAFFRON_GYM
-	warp 1, 9, 27, SAFFRON_GYM
-	warp 5, 9, 16, SAFFRON_GYM
-	warp 1, 11, 5, SAFFRON_GYM
-	warp 5, 11, 13, SAFFRON_GYM
-	warp 1, 15, 23, SAFFRON_GYM
-	warp 5, 15, 30, SAFFRON_GYM
-	warp 1, 17, 17, SAFFRON_GYM
-	warp 5, 17, 9, SAFFRON_GYM
-	warp 9, 3, 26, SAFFRON_GYM
-	warp 11, 3, 3, SAFFRON_GYM
-	warp 9, 5, 7, SAFFRON_GYM
-	warp 11, 5, 12, SAFFRON_GYM
-	warp 11, 11, 4, SAFFRON_GYM
-	warp 11, 15, 31, SAFFRON_GYM
-	warp 15, 3, 24, SAFFRON_GYM
-	warp 19, 3, 28, SAFFRON_GYM
-	warp 15, 5, 2, SAFFRON_GYM
-	warp 19, 5, 10, SAFFRON_GYM
-	warp 15, 9, 20, SAFFRON_GYM
-	warp 19, 9, 29, SAFFRON_GYM
-	warp 15, 11, 14, SAFFRON_GYM
-	warp 19, 11, 6, SAFFRON_GYM
-	warp 15, 15, 21, SAFFRON_GYM
-	warp 19, 15, 25, SAFFRON_GYM
-	warp 15, 17, 11, SAFFRON_GYM
-	warp 19, 17, 19, SAFFRON_GYM
-
-	db 0 ; signs
-
-	db 9 ; objects
-	object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1
-	object SPRITE_MEDIUM, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22
-	object SPRITE_BUG_CATCHER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1
-	object SPRITE_MEDIUM, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23
-	object SPRITE_BUG_CATCHER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2
-	object SPRITE_MEDIUM, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24
-	object SPRITE_BUG_CATCHER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3
-	object SPRITE_BUG_CATCHER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4
-	object SPRITE_GYM_HELPER, 10, 15, STAY, DOWN, 9 ; person
-
-	; warp-to
-	warp_to 8, 17, SAFFRON_GYM_WIDTH
-	warp_to 9, 17, SAFFRON_GYM_WIDTH
-	warp_to 1, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 5, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 1, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 5, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 1, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 5, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 1, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 5, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 1, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 5, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 1, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 5, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 9, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 11, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 9, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 11, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 11, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 11, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 15, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 19, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 15, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 19, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 15, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 19, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 15, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 19, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 15, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 19, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 15, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
-	warp_to 19, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM
--- a/data/mapObjects/saffronhouse1.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-SaffronHouse1Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 3, -1
-	warp 3, 7, 3, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person
-	object SPRITE_BIRD, 0, 4, WALK, 1, 2 ; person
-	object SPRITE_BUG_CATCHER, 4, 1, STAY, DOWN, 3 ; person
-	object SPRITE_PAPER_SHEET, 3, 3, STAY, NONE, 4 ; person
-
-	; warp-to
-	warp_to 2, 7, SAFFRON_HOUSE_1_WIDTH
-	warp_to 3, 7, SAFFRON_HOUSE_1_WIDTH
--- a/data/mapObjects/saffronhouse2.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SaffronHouse2Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 7, -1
-	warp 3, 7, 7, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FISHER, 5, 3, STAY, LEFT, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, SAFFRON_HOUSE_2_WIDTH
-	warp_to 3, 7, SAFFRON_HOUSE_2_WIDTH
--- a/data/mapObjects/saffronmart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-SaffronMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 4, -1
-	warp 4, 7, 4, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, NONE, 2 ; person
-	object SPRITE_LASS, 6, 5, WALK, 0, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, SAFFRON_MART_WIDTH
-	warp_to 4, 7, SAFFRON_MART_WIDTH
--- a/data/mapObjects/saffronpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-SaffronPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 6, -1
-	warp 4, 7, 6, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_FOULARD_WOMAN, 5, 5, STAY, NONE, 2 ; person
-	object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, SAFFRON_POKECENTER_WIDTH
-	warp_to 4, 7, SAFFRON_POKECENTER_WIDTH
--- a/data/mapObjects/school.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-SchoolObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 2, -1
-	warp 3, 7, 2, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person
-	object SPRITE_LASS, 4, 1, STAY, DOWN, 2 ; person
-
-	; warp-to
-	warp_to 2, 7, VIRIDIAN_SCHOOL_WIDTH
-	warp_to 3, 7, VIRIDIAN_SCHOOL_WIDTH
--- a/data/mapObjects/seafoamislands1.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-SeafoamIslands1Object:
-	db $7d ; border block
-
-	db 7 ; warps
-	warp 4, 17, 0, -1
-	warp 5, 17, 0, -1
-	warp 26, 17, 1, -1
-	warp 27, 17, 1, -1
-	warp 7, 5, 1, SEAFOAM_ISLANDS_2
-	warp 25, 3, 6, SEAFOAM_ISLANDS_2
-	warp 23, 15, 4, SEAFOAM_ISLANDS_2
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
-	object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
-
-	; warp-to
-	warp_to 4, 17, SEAFOAM_ISLANDS_1_WIDTH
-	warp_to 5, 17, SEAFOAM_ISLANDS_1_WIDTH
-	warp_to 26, 17, SEAFOAM_ISLANDS_1_WIDTH
-	warp_to 27, 17, SEAFOAM_ISLANDS_1_WIDTH
-	warp_to 7, 5, SEAFOAM_ISLANDS_1_WIDTH ; SEAFOAM_ISLANDS_2
-	warp_to 25, 3, SEAFOAM_ISLANDS_1_WIDTH ; SEAFOAM_ISLANDS_2
-	warp_to 23, 15, SEAFOAM_ISLANDS_1_WIDTH ; SEAFOAM_ISLANDS_2
-
-	; holes
-	warp_to 17, 6, SEAFOAM_ISLANDS_1_WIDTH
-	warp_to 24, 6, SEAFOAM_ISLANDS_1_WIDTH
--- a/data/mapObjects/seafoamislands2.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-SeafoamIslands2Object:
-	db $7d ; border block
-
-	db 7 ; warps
-	warp 4, 2, 0, SEAFOAM_ISLANDS_3
-	warp 7, 5, 4, SEAFOAM_ISLANDS_1
-	warp 13, 7, 2, SEAFOAM_ISLANDS_3
-	warp 19, 15, 3, SEAFOAM_ISLANDS_3
-	warp 23, 15, 6, SEAFOAM_ISLANDS_1
-	warp 25, 11, 5, SEAFOAM_ISLANDS_3
-	warp 25, 3, 5, SEAFOAM_ISLANDS_1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
-	object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
-
-	; warp-to
-	warp_to 4, 2, SEAFOAM_ISLANDS_2_WIDTH ; SEAFOAM_ISLANDS_3
-	warp_to 7, 5, SEAFOAM_ISLANDS_2_WIDTH ; SEAFOAM_ISLANDS_1
-	warp_to 13, 7, SEAFOAM_ISLANDS_2_WIDTH ; SEAFOAM_ISLANDS_3
-	warp_to 19, 15, SEAFOAM_ISLANDS_2_WIDTH ; SEAFOAM_ISLANDS_3
-	warp_to 23, 15, SEAFOAM_ISLANDS_2_WIDTH ; SEAFOAM_ISLANDS_1
-	warp_to 25, 11, SEAFOAM_ISLANDS_2_WIDTH ; SEAFOAM_ISLANDS_3
-	warp_to 25, 3, SEAFOAM_ISLANDS_2_WIDTH ; SEAFOAM_ISLANDS_1
--- a/data/mapObjects/seafoamislands3.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-SeafoamIslands3Object:
-	db $7d ; border block
-
-	db 7 ; warps
-	warp 5, 3, 0, SEAFOAM_ISLANDS_2
-	warp 5, 13, 0, SEAFOAM_ISLANDS_4
-	warp 13, 7, 2, SEAFOAM_ISLANDS_2
-	warp 19, 15, 3, SEAFOAM_ISLANDS_2
-	warp 25, 3, 3, SEAFOAM_ISLANDS_4
-	warp 25, 11, 5, SEAFOAM_ISLANDS_2
-	warp 25, 14, 4, SEAFOAM_ISLANDS_4
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
-	object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
-
-	; warp-to
-	warp_to 5, 3, SEAFOAM_ISLANDS_3_WIDTH ; SEAFOAM_ISLANDS_2
-	warp_to 5, 13, SEAFOAM_ISLANDS_3_WIDTH ; SEAFOAM_ISLANDS_4
-	warp_to 13, 7, SEAFOAM_ISLANDS_3_WIDTH ; SEAFOAM_ISLANDS_2
-	warp_to 19, 15, SEAFOAM_ISLANDS_3_WIDTH ; SEAFOAM_ISLANDS_2
-	warp_to 25, 3, SEAFOAM_ISLANDS_3_WIDTH ; SEAFOAM_ISLANDS_4
-	warp_to 25, 11, SEAFOAM_ISLANDS_3_WIDTH ; SEAFOAM_ISLANDS_2
-	warp_to 25, 14, SEAFOAM_ISLANDS_3_WIDTH ; SEAFOAM_ISLANDS_4
--- a/data/mapObjects/seafoamislands4.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-SeafoamIslands4Object:
-	db $7d ; border block
-
-	db 7 ; warps
-	warp 5, 12, 1, SEAFOAM_ISLANDS_3
-	warp 8, 6, 2, SEAFOAM_ISLANDS_5
-	warp 25, 4, 3, SEAFOAM_ISLANDS_5
-	warp 25, 3, 4, SEAFOAM_ISLANDS_3
-	warp 25, 14, 6, SEAFOAM_ISLANDS_3
-	warp 20, 17, 0, SEAFOAM_ISLANDS_5
-	warp 21, 17, 1, SEAFOAM_ISLANDS_5
-
-	db 0 ; signs
-
-	db 6 ; objects
-	object SPRITE_BOULDER, 5, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person
-	object SPRITE_BOULDER, 3, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person
-	object SPRITE_BOULDER, 8, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person
-	object SPRITE_BOULDER, 9, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person
-	object SPRITE_BOULDER, 18, 6, STAY, NONE, 5 ; person
-	object SPRITE_BOULDER, 19, 6, STAY, NONE, 6 ; person
-
-	; warp-to
-	warp_to 5, 12, SEAFOAM_ISLANDS_4_WIDTH ; SEAFOAM_ISLANDS_3
-	warp_to 8, 6, SEAFOAM_ISLANDS_4_WIDTH ; SEAFOAM_ISLANDS_5
-	warp_to 25, 4, SEAFOAM_ISLANDS_4_WIDTH ; SEAFOAM_ISLANDS_5
-	warp_to 25, 3, SEAFOAM_ISLANDS_4_WIDTH ; SEAFOAM_ISLANDS_3
-	warp_to 25, 14, SEAFOAM_ISLANDS_4_WIDTH ; SEAFOAM_ISLANDS_3
-	warp_to 20, 17, SEAFOAM_ISLANDS_4_WIDTH ; SEAFOAM_ISLANDS_5
-	warp_to 21, 17, SEAFOAM_ISLANDS_4_WIDTH ; SEAFOAM_ISLANDS_5
--- a/data/mapObjects/seafoamislands5.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-SeafoamIslands5Object:
-	db $7d ; border block
-
-	db 4 ; warps
-	warp 20, 17, 5, SEAFOAM_ISLANDS_4
-	warp 21, 17, 6, SEAFOAM_ISLANDS_4
-	warp 11, 7, 1, SEAFOAM_ISLANDS_4
-	warp 25, 4, 2, SEAFOAM_ISLANDS_4
-
-	db 2 ; signs
-	sign 9, 15, 4 ; SeafoamIslands5Text4
-	sign 23, 1, 5 ; SeafoamIslands5Text5
-
-	db 3 ; objects
-	object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person
-	object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person
-	object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50
-
-	; warp-to
-	warp_to 20, 17, SEAFOAM_ISLANDS_5_WIDTH ; SEAFOAM_ISLANDS_4
-	warp_to 21, 17, SEAFOAM_ISLANDS_5_WIDTH ; SEAFOAM_ISLANDS_4
-	warp_to 11, 7, SEAFOAM_ISLANDS_5_WIDTH ; SEAFOAM_ISLANDS_4
-	warp_to 25, 4, SEAFOAM_ISLANDS_5_WIDTH ; SEAFOAM_ISLANDS_4
--- a/data/mapObjects/silphco1.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-SilphCo1Object:
-	db $2e ; border block
-
-	db 5 ; warps
-	warp 10, 17, 5, -1
-	warp 11, 17, 5, -1
-	warp 26, 0, 0, SILPH_CO_2F
-	warp 20, 0, 0, SILPH_CO_ELEVATOR
-	warp 16, 10, 6, SILPH_CO_3F
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_CABLE_CLUB_WOMAN, 4, 2, STAY, DOWN, 1 ; person
-
-	; warp-to
-	warp_to 10, 17, SILPH_CO_1F_WIDTH
-	warp_to 11, 17, SILPH_CO_1F_WIDTH
-	warp_to 26, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_2F
-	warp_to 20, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 16, 10, SILPH_CO_1F_WIDTH ; SILPH_CO_3F
--- a/data/mapObjects/silphco10.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-SilphCo10Object:
-	db $2e ; border block
-
-	db 6 ; warps
-	warp 8, 0, 0, SILPH_CO_9F
-	warp 10, 0, 0, SILPH_CO_11F
-	warp 12, 0, 0, SILPH_CO_ELEVATOR
-	warp 9, 11, 3, SILPH_CO_4F
-	warp 13, 15, 5, SILPH_CO_4F
-	warp 13, 7, 6, SILPH_CO_4F
-
-	db 0 ; signs
-
-	db 6 ; objects
-	object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39
-	object SPRITE_OAK_AIDE, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11
-	object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person
-	object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_26
-	object SPRITE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY
-	object SPRITE_BALL, 5, 11, STAY, NONE, 6, CARBOS
-
-	; warp-to
-	warp_to 8, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_9F
-	warp_to 10, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_11F
-	warp_to 12, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 9, 11, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
-	warp_to 13, 15, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
-	warp_to 13, 7, SILPH_CO_10F_WIDTH ; SILPH_CO_4F
--- a/data/mapObjects/silphco11.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-SilphCo11Object:
-	db $d ; border block
-
-	db 4 ; warps
-	warp 9, 0, 1, SILPH_CO_10F
-	warp 13, 0, 0, SILPH_CO_ELEVATOR
-	warp 5, 5, 9, -1
-	warp 3, 2, 3, SILPH_CO_7F
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_MR_MASTERBALL, 7, 5, STAY, DOWN, 1 ; person
-	object SPRITE_FOULARD_WOMAN, 10, 5, STAY, DOWN, 2 ; person
-	object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2
-	object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41
-	object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40
-
-	; warp-to
-	warp_to 9, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_10F
-	warp_to 13, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 5, 5, SILPH_CO_11F_WIDTH
-	warp_to 3, 2, SILPH_CO_11F_WIDTH ; SILPH_CO_7F
--- a/data/mapObjects/silphco2.asm
+++ /dev/null
@@ -1,29 +1,0 @@
-SilphCo2Object:
-	db $2e ; border block
-
-	db 7 ; warps
-	warp 24, 0, 2, SILPH_CO_1F
-	warp 26, 0, 0, SILPH_CO_3F
-	warp 20, 0, 0, SILPH_CO_ELEVATOR
-	warp 3, 3, 6, SILPH_CO_3F
-	warp 13, 3, 4, SILPH_CO_8F
-	warp 27, 15, 5, SILPH_CO_8F
-	warp 9, 15, 4, SILPH_CO_6F
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person
-	object SPRITE_OAK_AIDE, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2
-	object SPRITE_OAK_AIDE, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3
-	object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23
-	object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24
-
-	; warp-to
-	warp_to 24, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_1F
-	warp_to 26, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_3F
-	warp_to 20, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 3, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_3F
-	warp_to 13, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_8F
-	warp_to 27, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_8F
-	warp_to 9, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_6F
--- a/data/mapObjects/silphco3.asm
+++ /dev/null
@@ -1,34 +1,0 @@
-SilphCo3Object:
-	db $2e ; border block
-
-	db 10 ; warps
-	warp 26, 0, 1, SILPH_CO_2F
-	warp 24, 0, 0, SILPH_CO_4F
-	warp 20, 0, 0, SILPH_CO_ELEVATOR
-	warp 23, 11, 9, SILPH_CO_3F
-	warp 3, 3, 5, SILPH_CO_5F
-	warp 3, 15, 6, SILPH_CO_5F
-	warp 27, 3, 3, SILPH_CO_2F
-	warp 3, 11, 3, SILPH_CO_9F
-	warp 11, 11, 4, SILPH_CO_7F
-	warp 27, 15, 3, SILPH_CO_3F
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_LAPRAS_GIVER, 24, 8, STAY, NONE, 1 ; person
-	object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25
-	object SPRITE_OAK_AIDE, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4
-	object SPRITE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION
-
-	; warp-to
-	warp_to 26, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_2F
-	warp_to 24, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_4F
-	warp_to 20, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 23, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_3F
-	warp_to 3, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_5F
-	warp_to 3, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_5F
-	warp_to 27, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_2F
-	warp_to 3, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_9F
-	warp_to 11, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_7F
-	warp_to 27, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_3F
--- a/data/mapObjects/silphco4.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-SilphCo4Object:
-	db $2e ; border block
-
-	db 7 ; warps
-	warp 24, 0, 1, SILPH_CO_3F
-	warp 26, 0, 1, SILPH_CO_5F
-	warp 20, 0, 0, SILPH_CO_ELEVATOR
-	warp 11, 7, 3, SILPH_CO_10F
-	warp 17, 3, 3, SILPH_CO_6F
-	warp 3, 15, 4, SILPH_CO_10F
-	warp 17, 11, 5, SILPH_CO_10F
-
-	db 0 ; signs
-
-	db 7 ; objects
-	object SPRITE_LAPRAS_GIVER, 6, 2, STAY, NONE, 1 ; person
-	object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26
-	object SPRITE_OAK_AIDE, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5
-	object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27
-	object SPRITE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL
-	object SPRITE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE
-	object SPRITE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE
-
-	; warp-to
-	warp_to 24, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_3F
-	warp_to 26, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_5F
-	warp_to 20, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 11, 7, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
-	warp_to 17, 3, SILPH_CO_4F_WIDTH ; SILPH_CO_6F
-	warp_to 3, 15, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
-	warp_to 17, 11, SILPH_CO_4F_WIDTH ; SILPH_CO_10F
--- a/data/mapObjects/silphco5.asm
+++ /dev/null
@@ -1,35 +1,0 @@
-SilphCo5Object:
-	db $2e ; border block
-
-	db 7 ; warps
-	warp 24, 0, 1, SILPH_CO_6F
-	warp 26, 0, 1, SILPH_CO_4F
-	warp 20, 0, 0, SILPH_CO_ELEVATOR
-	warp 27, 3, 5, SILPH_CO_7F
-	warp 9, 15, 4, SILPH_CO_9F
-	warp 11, 5, 4, SILPH_CO_3F
-	warp 3, 15, 5, SILPH_CO_3F
-
-	db 0 ; signs
-
-	db 11 ; objects
-	object SPRITE_LAPRAS_GIVER, 13, 9, STAY, NONE, 1 ; person
-	object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28
-	object SPRITE_OAK_AIDE, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6
-	object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1
-	object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29
-	object SPRITE_BALL, 2, 13, STAY, NONE, 6, TM_09
-	object SPRITE_BALL, 4, 6, STAY, NONE, 7, PROTEIN
-	object SPRITE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY
-	object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person
-	object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person
-	object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person
-
-	; warp-to
-	warp_to 24, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_6F
-	warp_to 26, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_4F
-	warp_to 20, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 27, 3, SILPH_CO_5F_WIDTH ; SILPH_CO_7F
-	warp_to 9, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_9F
-	warp_to 11, 5, SILPH_CO_5F_WIDTH ; SILPH_CO_3F
-	warp_to 3, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_3F
--- a/data/mapObjects/silphco6.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-SilphCo6Object:
-	db $2e ; border block
-
-	db 5 ; warps
-	warp 16, 0, 1, SILPH_CO_7F
-	warp 14, 0, 0, SILPH_CO_5F
-	warp 18, 0, 0, SILPH_CO_ELEVATOR
-	warp 3, 3, 4, SILPH_CO_4F
-	warp 23, 3, 6, SILPH_CO_2F
-
-	db 0 ; signs
-
-	db 10 ; objects
-	object SPRITE_LAPRAS_GIVER, 10, 6, STAY, NONE, 1 ; person
-	object SPRITE_LAPRAS_GIVER, 20, 6, STAY, NONE, 2 ; person
-	object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person
-	object SPRITE_ERIKA, 11, 10, STAY, RIGHT, 4 ; person
-	object SPRITE_LAPRAS_GIVER, 18, 13, STAY, UP, 5 ; person
-	object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30
-	object SPRITE_OAK_AIDE, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7
-	object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31
-	object SPRITE_BALL, 3, 12, STAY, NONE, 9, HP_UP
-	object SPRITE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY
-
-	; warp-to
-	warp_to 16, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_7F
-	warp_to 14, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_5F
-	warp_to 18, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 3, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_4F
-	warp_to 23, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_2F
--- a/data/mapObjects/silphco7.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-SilphCo7Object:
-	db $2e ; border block
-
-	db 6 ; warps
-	warp 16, 0, 1, SILPH_CO_8F
-	warp 22, 0, 0, SILPH_CO_6F
-	warp 18, 0, 0, SILPH_CO_ELEVATOR
-	warp 5, 7, 3, SILPH_CO_11F
-	warp 5, 3, 8, SILPH_CO_3F
-	warp 21, 15, 3, SILPH_CO_5F
-
-	db 0 ; signs
-
-	db 11 ; objects
-	object SPRITE_LAPRAS_GIVER, 1, 5, STAY, NONE, 1 ; person
-	object SPRITE_LAPRAS_GIVER, 13, 13, STAY, UP, 2 ; person
-	object SPRITE_LAPRAS_GIVER, 7, 10, STAY, NONE, 3 ; person
-	object SPRITE_ERIKA, 10, 8, STAY, NONE, 4 ; person
-	object SPRITE_ROCKET, 13, 1, STAY, DOWN, 5, OPP_ROCKET, 32
-	object SPRITE_OAK_AIDE, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8
-	object SPRITE_ROCKET, 20, 2, STAY, LEFT, 7, OPP_ROCKET, 33
-	object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34
-	object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person
-	object SPRITE_BALL, 1, 9, STAY, NONE, 10, CALCIUM
-	object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_03
-
-	; warp-to
-	warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F
-	warp_to 22, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_6F
-	warp_to 18, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 5, 7, SILPH_CO_7F_WIDTH ; SILPH_CO_11F
-	warp_to 5, 3, SILPH_CO_7F_WIDTH ; SILPH_CO_3F
-	warp_to 21, 15, SILPH_CO_7F_WIDTH ; SILPH_CO_5F
--- a/data/mapObjects/silphco8.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-SilphCo8Object:
-	db $2e ; border block
-
-	db 7 ; warps
-	warp 16, 0, 1, SILPH_CO_9F
-	warp 14, 0, 0, SILPH_CO_7F
-	warp 18, 0, 0, SILPH_CO_ELEVATOR
-	warp 3, 11, 6, SILPH_CO_8F
-	warp 3, 15, 4, SILPH_CO_2F
-	warp 11, 5, 5, SILPH_CO_2F
-	warp 11, 9, 3, SILPH_CO_8F
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_LAPRAS_GIVER, 4, 2, STAY, NONE, 1 ; person
-	object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35
-	object SPRITE_OAK_AIDE, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9
-	object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36
-
-	; warp-to
-	warp_to 16, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_9F
-	warp_to 14, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_7F
-	warp_to 18, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 3, 11, SILPH_CO_8F_WIDTH ; SILPH_CO_8F
-	warp_to 3, 15, SILPH_CO_8F_WIDTH ; SILPH_CO_2F
-	warp_to 11, 5, SILPH_CO_8F_WIDTH ; SILPH_CO_2F
-	warp_to 11, 9, SILPH_CO_8F_WIDTH ; SILPH_CO_8F_WIDTH
--- a/data/mapObjects/silphco9.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-SilphCo9Object:
-	db $2e ; border block
-
-	db 5 ; warps
-	warp 14, 0, 0, SILPH_CO_10F
-	warp 16, 0, 0, SILPH_CO_8F
-	warp 18, 0, 0, SILPH_CO_ELEVATOR
-	warp 9, 3, 7, SILPH_CO_3F
-	warp 17, 15, 4, SILPH_CO_5F
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person
-	object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37
-	object SPRITE_OAK_AIDE, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10
-	object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38
-
-	; warp-to
-	warp_to 14, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_10F
-	warp_to 16, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_8F
-	warp_to 18, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_ELEVATOR
-	warp_to 9, 3, SILPH_CO_9F_WIDTH ; SILPH_CO_3F
-	warp_to 17, 15, SILPH_CO_9F_WIDTH ; SILPH_CO_5F
--- a/data/mapObjects/silphcoelevator.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SilphCoElevatorObject:
-	db $f ; border block
-
-	db 2 ; warps
-	warp 1, 3, 0, 237
-	warp 2, 3, 0, 237
-
-	db 1 ; signs
-	sign 3, 0, 1 ; SilphCoElevatorText1
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 1, 3, SILPH_CO_ELEVATOR_WIDTH
-	warp_to 2, 3, SILPH_CO_ELEVATOR_WIDTH
--- a/data/mapObjects/ssanne1.asm
+++ /dev/null
@@ -1,34 +1,0 @@
-SSAnne1Object:
-	db $c ; border block
-
-	db 11 ; warps
-	warp 26, 0, 1, VERMILION_DOCK
-	warp 27, 0, 1, VERMILION_DOCK
-	warp 31, 8, 0, SS_ANNE_8
-	warp 23, 8, 1, SS_ANNE_8
-	warp 19, 8, 2, SS_ANNE_8
-	warp 15, 8, 3, SS_ANNE_8
-	warp 11, 8, 4, SS_ANNE_8
-	warp 7, 8, 5, SS_ANNE_8
-	warp 2, 6, 6, SS_ANNE_2
-	warp 37, 15, 5, SS_ANNE_4
-	warp 3, 16, 0, SS_ANNE_6
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_WAITER, 12, 6, WALK, 2, 1 ; person
-	object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 26, 0, SS_ANNE_1_WIDTH ; VERMILION_DOCK
-	warp_to 27, 0, SS_ANNE_1_WIDTH ; VERMILION_DOCK
-	warp_to 31, 8, SS_ANNE_1_WIDTH ; SS_ANNE_8
-	warp_to 23, 8, SS_ANNE_1_WIDTH ; SS_ANNE_8
-	warp_to 19, 8, SS_ANNE_1_WIDTH ; SS_ANNE_8
-	warp_to 15, 8, SS_ANNE_1_WIDTH ; SS_ANNE_8
-	warp_to 11, 8, SS_ANNE_1_WIDTH ; SS_ANNE_8
-	warp_to 7, 8, SS_ANNE_1_WIDTH ; SS_ANNE_8
-	warp_to 2, 6, SS_ANNE_1_WIDTH ; SS_ANNE_2
-	warp_to 37, 15, SS_ANNE_1_WIDTH ; SS_ANNE_4
-	warp_to 3, 16, SS_ANNE_1_WIDTH ; SS_ANNE_6
--- a/data/mapObjects/ssanne10.asm
+++ /dev/null
@@ -1,41 +1,0 @@
-SSAnne10Object:
-	db $c ; border block
-
-	db 10 ; warps
-	warp 2, 5, 4, SS_ANNE_4
-	warp 3, 5, 4, SS_ANNE_4
-	warp 12, 5, 3, SS_ANNE_4
-	warp 13, 5, 3, SS_ANNE_4
-	warp 22, 5, 2, SS_ANNE_4
-	warp 23, 5, 2, SS_ANNE_4
-	warp 2, 15, 1, SS_ANNE_4
-	warp 3, 15, 1, SS_ANNE_4
-	warp 12, 15, 0, SS_ANNE_4
-	warp 13, 15, 0, SS_ANNE_4
-
-	db 0 ; signs
-
-	db 11 ; objects
-	object SPRITE_SAILOR, 0, 13, STAY, DOWN, 1, OPP_SAILOR, 3
-	object SPRITE_SAILOR, 2, 11, STAY, DOWN, 2, OPP_SAILOR, 4
-	object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5
-	object SPRITE_SAILOR, 22, 2, STAY, DOWN, 4, OPP_SAILOR, 6
-	object SPRITE_SAILOR, 0, 2, STAY, RIGHT, 5, OPP_SAILOR, 7
-	object SPRITE_FISHER2, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2
-	object SPRITE_BLACK_HAIR_BOY_2, 10, 13, STAY, RIGHT, 7 ; person
-	object SPRITE_SLOWBRO, 11, 12, STAY, NONE, 8 ; person
-	object SPRITE_BALL, 20, 2, STAY, NONE, 9, ETHER
-	object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_44
-	object SPRITE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION
-
-	; warp-to
-	warp_to 2, 5, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 3, 5, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 12, 5, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 13, 5, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 22, 5, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 23, 5, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 2, 15, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 3, 15, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 12, 15, SS_ANNE_10_WIDTH ; SS_ANNE_4
-	warp_to 13, 15, SS_ANNE_10_WIDTH ; SS_ANNE_4
--- a/data/mapObjects/ssanne2.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-SSAnne2Object:
-	db $c ; border block
-
-	db 9 ; warps
-	warp 9, 11, 0, SS_ANNE_9
-	warp 13, 11, 2, SS_ANNE_9
-	warp 17, 11, 4, SS_ANNE_9
-	warp 21, 11, 6, SS_ANNE_9
-	warp 25, 11, 8, SS_ANNE_9
-	warp 29, 11, 10, SS_ANNE_9
-	warp 2, 4, 8, SS_ANNE_1
-	warp 2, 12, 1, SS_ANNE_3
-	warp 36, 4, 0, SS_ANNE_7
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_WAITER, 3, 7, WALK, 1, 1 ; person
-	object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_SONY1, 1
-
-	; warp-to
-	warp_to 9, 11, SS_ANNE_2_WIDTH ; SS_ANNE_9
-	warp_to 13, 11, SS_ANNE_2_WIDTH ; SS_ANNE_9
-	warp_to 17, 11, SS_ANNE_2_WIDTH ; SS_ANNE_9
-	warp_to 21, 11, SS_ANNE_2_WIDTH ; SS_ANNE_9
-	warp_to 25, 11, SS_ANNE_2_WIDTH ; SS_ANNE_9
-	warp_to 29, 11, SS_ANNE_2_WIDTH ; SS_ANNE_9
-	warp_to 2, 4, SS_ANNE_2_WIDTH ; SS_ANNE_1
-	warp_to 2, 12, SS_ANNE_2_WIDTH ; SS_ANNE_3
-	warp_to 36, 4, SS_ANNE_2_WIDTH ; SS_ANNE_7
--- a/data/mapObjects/ssanne3.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SSAnne3Object:
-	db $c ; border block
-
-	db 2 ; warps
-	warp 0, 3, 0, SS_ANNE_5
-	warp 19, 3, 7, SS_ANNE_2
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_SAILOR, 9, 3, WALK, 2, 1 ; person
-
-	; warp-to
-	warp_to 0, 3, SS_ANNE_3_WIDTH ; SS_ANNE_5
-	warp_to 19, 3, SS_ANNE_3_WIDTH ; SS_ANNE_2
--- a/data/mapObjects/ssanne4.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-SSAnne4Object:
-	db $c ; border block
-
-	db 6 ; warps
-	warp 23, 3, 8, SS_ANNE_10
-	warp 19, 3, 6, SS_ANNE_10
-	warp 15, 3, 4, SS_ANNE_10
-	warp 11, 3, 2, SS_ANNE_10
-	warp 7, 3, 0, SS_ANNE_10
-	warp 27, 5, 9, SS_ANNE_1
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 23, 3, SS_ANNE_4_WIDTH ; SS_ANNE_10
-	warp_to 19, 3, SS_ANNE_4_WIDTH ; SS_ANNE_10
-	warp_to 15, 3, SS_ANNE_4_WIDTH ; SS_ANNE_10
-	warp_to 11, 3, SS_ANNE_4_WIDTH ; SS_ANNE_10
-	warp_to 7, 3, SS_ANNE_4_WIDTH ; SS_ANNE_10
-	warp_to 27, 5, SS_ANNE_4_WIDTH ; SS_ANNE_1
--- a/data/mapObjects/ssanne5.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-SSAnne5Object:
-	db $23 ; border block
-
-	db 2 ; warps
-	warp 13, 6, 0, SS_ANNE_3
-	warp 13, 7, 0, SS_ANNE_3
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 5, 2, STAY, UP, 1 ; person
-	object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 7, 11, STAY, NONE, 3 ; person
-	object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1
-	object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2
-
-	; warp-to
-	warp_to 13, 6, SS_ANNE_5_WIDTH ; SS_ANNE_3
-	warp_to 13, 7, SS_ANNE_5_WIDTH ; SS_ANNE_3
--- a/data/mapObjects/ssanne6.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-SSAnne6Object:
-	db $c ; border block
-
-	db 1 ; warps
-	warp 6, 0, 10, SS_ANNE_1
-
-	db 0 ; signs
-
-	db 7 ; objects
-	object SPRITE_COOK, 1, 8, WALK, 1, 1 ; person
-	object SPRITE_COOK, 5, 8, WALK, 1, 2 ; person
-	object SPRITE_COOK, 9, 7, WALK, 1, 3 ; person
-	object SPRITE_COOK, 13, 6, STAY, NONE, 4 ; person
-	object SPRITE_COOK, 13, 8, STAY, NONE, 5 ; person
-	object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person
-	object SPRITE_COOK, 11, 13, STAY, UP, 7 ; person
-
-	; warp-to
-	warp_to 6, 0, SS_ANNE_6_WIDTH ; SS_ANNE_1
--- a/data/mapObjects/ssanne7.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SSAnne7Object:
-	db $c ; border block
-
-	db 1 ; warps
-	warp 0, 7, 8, SS_ANNE_2
-
-	db 2 ; signs
-	sign 4, 1, 2 ; SSAnne7Text2
-	sign 1, 2, 3 ; SSAnne7Text3
-
-	db 1 ; objects
-	object SPRITE_SS_CAPTAIN, 4, 2, STAY, UP, 1 ; person
-
-	; warp-to
-	warp_to 0, 7, SS_ANNE_7_WIDTH ; SS_ANNE_2
--- a/data/mapObjects/ssanne8.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-SSAnne8Object:
-	db $c ; border block
-
-	db 6 ; warps
-	warp 0, 0, 2, SS_ANNE_1
-	warp 10, 0, 3, SS_ANNE_1
-	warp 20, 0, 4, SS_ANNE_1
-	warp 0, 10, 5, SS_ANNE_1
-	warp 10, 10, 6, SS_ANNE_1
-	warp 20, 10, 7, SS_ANNE_1
-
-	db 0 ; signs
-
-	db 11 ; objects
-	object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1
-	object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2
-	object SPRITE_BUG_CATCHER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8
-	object SPRITE_LASS, 13, 11, STAY, LEFT, 4, OPP_LASS, 11
-	object SPRITE_GIRL, 22, 3, WALK, 1, 5 ; person
-	object SPRITE_FAT_BALD_GUY, 0, 14, STAY, NONE, 6 ; person
-	object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person
-	object SPRITE_CLEFAIRY, 3, 11, STAY, DOWN, 8 ; person
-	object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person
-	object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_08
-	object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person
-
-	; warp-to
-	warp_to 0, 0, SS_ANNE_8_WIDTH ; SS_ANNE_1
-	warp_to 10, 0, SS_ANNE_8_WIDTH ; SS_ANNE_1
-	warp_to 20, 0, SS_ANNE_8_WIDTH ; SS_ANNE_1
-	warp_to 0, 10, SS_ANNE_8_WIDTH ; SS_ANNE_1
-	warp_to 10, 10, SS_ANNE_8_WIDTH ; SS_ANNE_1
-	warp_to 20, 10, SS_ANNE_8_WIDTH ; SS_ANNE_1
--- a/data/mapObjects/ssanne9.asm
+++ /dev/null
@@ -1,47 +1,0 @@
-SSAnne9Object:
-	db $c ; border block
-
-	db 12 ; warps
-	warp 2, 5, 0, SS_ANNE_2
-	warp 3, 5, 0, SS_ANNE_2
-	warp 12, 5, 1, SS_ANNE_2
-	warp 13, 5, 1, SS_ANNE_2
-	warp 22, 5, 2, SS_ANNE_2
-	warp 23, 5, 2, SS_ANNE_2
-	warp 2, 15, 3, SS_ANNE_2
-	warp 3, 15, 3, SS_ANNE_2
-	warp 12, 15, 4, SS_ANNE_2
-	warp 13, 15, 4, SS_ANNE_2
-	warp 22, 15, 5, SS_ANNE_2
-	warp 23, 15, 5, SS_ANNE_2
-
-	db 0 ; signs
-
-	db 13 ; objects
-	object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3
-	object SPRITE_FISHER2, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1
-	object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5
-	object SPRITE_LASS, 2, 11, STAY, DOWN, 4, OPP_LASS, 12
-	object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person
-	object SPRITE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER
-	object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person
-	object SPRITE_OLD_PERSON, 22, 1, STAY, DOWN, 8 ; person
-	object SPRITE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY
-	object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person
-	object SPRITE_YOUNG_BOY, 11, 14, STAY, NONE, 11 ; person
-	object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person
-	object SPRITE_FOULARD_WOMAN, 20, 12, STAY, RIGHT, 13 ; person
-
-	; warp-to
-	warp_to 2, 5, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 3, 5, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 12, 5, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 13, 5, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 22, 5, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 23, 5, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 2, 15, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 3, 15, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 12, 15, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 13, 15, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 22, 15, SS_ANNE_9_WIDTH ; SS_ANNE_2
-	warp_to 23, 15, SS_ANNE_9_WIDTH ; SS_ANNE_2
--- a/data/mapObjects/tradecenter.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-TradeCenterObject:
-	db $e ; border block
-
-	db 0 ; warps
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_RED, 2, 2, STAY, 0, 1 ; person
--- a/data/mapObjects/undergroundpathentranceroute5.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-UndergroundPathEntranceRoute5Object:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 3, 7, 3, -1
-	warp 4, 7, 3, -1
-	warp 4, 4, 0, UNDERGROUND_PATH_NS
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 3, 7, PATH_ENTRANCE_ROUTE_5_WIDTH
-	warp_to 4, 7, PATH_ENTRANCE_ROUTE_5_WIDTH
-	warp_to 4, 4, PATH_ENTRANCE_ROUTE_5_WIDTH ; UNDERGROUND_PATH_NS
--- a/data/mapObjects/undergroundpathentranceroute6.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-UndergroundPathEntranceRoute6Object:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 3, 7, 3, -1
-	warp 4, 7, 3, -1
-	warp 4, 4, 1, UNDERGROUND_PATH_NS
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 3, 7, PATH_ENTRANCE_ROUTE_6_WIDTH
-	warp_to 4, 7, PATH_ENTRANCE_ROUTE_6_WIDTH
-	warp_to 4, 4, PATH_ENTRANCE_ROUTE_6_WIDTH ; UNDERGROUND_PATH_NS
--- a/data/mapObjects/undergroundpathentranceroute7.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-UndergroundPathEntranceRoute7Object:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 3, 7, 4, -1
-	warp 4, 7, 4, -1
-	warp 4, 4, 0, UNDERGROUND_PATH_WE
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 3, 7, PATH_ENTRANCE_ROUTE_7_WIDTH
-	warp_to 4, 7, PATH_ENTRANCE_ROUTE_7_WIDTH
-	warp_to 4, 4, PATH_ENTRANCE_ROUTE_7_WIDTH ; UNDERGROUND_PATH_WE
--- a/data/mapObjects/undergroundpathentranceroute7copy.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-UndergroundPathEntranceRoute7CopyObject:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 3, 7, 5, -1
-	warp 4, 7, 5, -1
-	warp 4, 4, 0, UNDERGROUND_PATH_WE
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person
-	object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 3, 7, PATH_ENTRANCE_ROUTE_7_COPY_WIDTH
-	warp_to 4, 7, PATH_ENTRANCE_ROUTE_7_COPY_WIDTH
-	warp_to 4, 4, PATH_ENTRANCE_ROUTE_7_COPY_WIDTH ; UNDERGROUND_PATH_WE
--- a/data/mapObjects/undergroundpathentranceroute8.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-UndergroundPathEntranceRoute8Object:
-	db $a ; border block
-
-	db 3 ; warps
-	warp 3, 7, 4, -1
-	warp 4, 7, 4, -1
-	warp 4, 4, 1, UNDERGROUND_PATH_WE
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person
-
-	; warp-to
-	warp_to 3, 7, PATH_ENTRANCE_ROUTE_8_WIDTH
-	warp_to 4, 7, PATH_ENTRANCE_ROUTE_8_WIDTH
-	warp_to 4, 4, PATH_ENTRANCE_ROUTE_8_WIDTH ; UNDERGROUND_PATH_WE
--- a/data/mapObjects/undergroundpathns.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-UndergroundPathNSObject:
-	db $1 ; border block
-
-	db 2 ; warps
-	warp 5, 4, 2, PATH_ENTRANCE_ROUTE_5
-	warp 2, 41, 2, PATH_ENTRANCE_ROUTE_6
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 5, 4, UNDERGROUND_PATH_NS_WIDTH ; PATH_ENTRANCE_ROUTE_5
-	warp_to 2, 41, UNDERGROUND_PATH_NS_WIDTH ; PATH_ENTRANCE_ROUTE_6
--- a/data/mapObjects/undergroundpathwe.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-UndergroundPathWEObject:
-	db $1 ; border block
-
-	db 2 ; warps
-	warp 2, 5, 2, PATH_ENTRANCE_ROUTE_7
-	warp 47, 2, 2, PATH_ENTRANCE_ROUTE_8
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 2, 5, UNDERGROUND_PATH_WE_WIDTH ; PATH_ENTRANCE_ROUTE_7
-	warp_to 47, 2, UNDERGROUND_PATH_WE_WIDTH ; PATH_ENTRANCE_ROUTE_8
--- a/data/mapObjects/unknowndungeon1.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-UnknownDungeon1Object:
-	db $7d ; border block
-
-	db 9 ; warps
-	warp 24, 17, 6, -1
-	warp 25, 17, 6, -1
-	warp 27, 1, 0, UNKNOWN_DUNGEON_2
-	warp 23, 7, 1, UNKNOWN_DUNGEON_2
-	warp 18, 9, 2, UNKNOWN_DUNGEON_2
-	warp 7, 1, 3, UNKNOWN_DUNGEON_2
-	warp 1, 3, 4, UNKNOWN_DUNGEON_2
-	warp 3, 11, 5, UNKNOWN_DUNGEON_2
-	warp 0, 6, 0, UNKNOWN_DUNGEON_3
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE
-	object SPRITE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER
-	object SPRITE_BALL, 5, 0, STAY, NONE, 3, NUGGET
-
-	; warp-to
-	warp_to 24, 17, UNKNOWN_DUNGEON_1_WIDTH
-	warp_to 25, 17, UNKNOWN_DUNGEON_1_WIDTH
-	warp_to 27, 1, UNKNOWN_DUNGEON_1_WIDTH ; UNKNOWN_DUNGEON_2
-	warp_to 23, 7, UNKNOWN_DUNGEON_1_WIDTH ; UNKNOWN_DUNGEON_2
-	warp_to 18, 9, UNKNOWN_DUNGEON_1_WIDTH ; UNKNOWN_DUNGEON_2
-	warp_to 7, 1, UNKNOWN_DUNGEON_1_WIDTH ; UNKNOWN_DUNGEON_2
-	warp_to 1, 3, UNKNOWN_DUNGEON_1_WIDTH ; UNKNOWN_DUNGEON_2
-	warp_to 3, 11, UNKNOWN_DUNGEON_1_WIDTH ; UNKNOWN_DUNGEON_2
-	warp_to 0, 6, UNKNOWN_DUNGEON_1_WIDTH ; UNKNOWN_DUNGEON_3
--- a/data/mapObjects/unknowndungeon2.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-UnknownDungeon2Object:
-	db $7d ; border block
-
-	db 6 ; warps
-	warp 29, 1, 2, UNKNOWN_DUNGEON_1
-	warp 22, 6, 3, UNKNOWN_DUNGEON_1
-	warp 19, 7, 4, UNKNOWN_DUNGEON_1
-	warp 9, 1, 5, UNKNOWN_DUNGEON_1
-	warp 1, 3, 6, UNKNOWN_DUNGEON_1
-	warp 3, 11, 7, UNKNOWN_DUNGEON_1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_BALL, 29, 9, STAY, NONE, 1, PP_UP
-	object SPRITE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL
-	object SPRITE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE
-
-	; warp-to
-	warp_to 29, 1, UNKNOWN_DUNGEON_2_WIDTH ; UNKNOWN_DUNGEON_1
-	warp_to 22, 6, UNKNOWN_DUNGEON_2_WIDTH ; UNKNOWN_DUNGEON_1
-	warp_to 19, 7, UNKNOWN_DUNGEON_2_WIDTH ; UNKNOWN_DUNGEON_1
-	warp_to 9, 1, UNKNOWN_DUNGEON_2_WIDTH ; UNKNOWN_DUNGEON_1
-	warp_to 1, 3, UNKNOWN_DUNGEON_2_WIDTH ; UNKNOWN_DUNGEON_1
-	warp_to 3, 11, UNKNOWN_DUNGEON_2_WIDTH ; UNKNOWN_DUNGEON_1
--- a/data/mapObjects/unknowndungeon3.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-UnknownDungeon3Object:
-	db $7d ; border block
-
-	db 1 ; warps
-	warp 3, 6, 8, UNKNOWN_DUNGEON_1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_SLOWBRO, 27, 13, STAY, DOWN, 1, MEWTWO, 70
-	object SPRITE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL
-	object SPRITE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE
-
-	; warp-to
-	warp_to 3, 6, UNKNOWN_DUNGEON_3_WIDTH ; UNKNOWN_DUNGEON_1
--- a/data/mapObjects/vermilioncity.asm
+++ /dev/null
@@ -1,41 +1,0 @@
-VermilionCityObject:
-	db $43 ; border block
-
-	db 9 ; warps
-	warp 11, 3, 0, VERMILION_POKECENTER
-	warp 9, 13, 0, POKEMON_FAN_CLUB
-	warp 23, 13, 0, VERMILION_MART
-	warp 12, 19, 0, VERMILION_GYM
-	warp 23, 19, 0, VERMILION_HOUSE_1
-	warp 18, 31, 0, VERMILION_DOCK
-	warp 19, 31, 0, VERMILION_DOCK
-	warp 15, 13, 0, VERMILION_HOUSE_3
-	warp 7, 3, 0, VERMILION_HOUSE_2
-
-	db 7 ; signs
-	sign 27, 3, 7 ; VermilionCityText7
-	sign 37, 13, 8 ; VermilionCityText8
-	sign 24, 13, 9 ; MartSignText
-	sign 12, 3, 10 ; PokeCenterSignText
-	sign 7, 13, 11 ; VermilionCityText11
-	sign 7, 19, 12 ; VermilionCityText12
-	sign 29, 15, 13 ; VermilionCityText13
-
-	db 6 ; objects
-	object SPRITE_FOULARD_WOMAN, 19, 7, WALK, 2, 1 ; person
-	object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person
-	object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person
-	object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person
-	object SPRITE_SLOWBRO, 29, 9, WALK, 1, 5 ; person
-	object SPRITE_SAILOR, 25, 27, WALK, 2, 6 ; person
-
-	; warp-to
-	warp_to 11, 3, VERMILION_CITY_WIDTH ; VERMILION_POKECENTER
-	warp_to 9, 13, VERMILION_CITY_WIDTH ; POKEMON_FAN_CLUB
-	warp_to 23, 13, VERMILION_CITY_WIDTH ; VERMILION_MART
-	warp_to 12, 19, VERMILION_CITY_WIDTH ; VERMILION_GYM
-	warp_to 23, 19, VERMILION_CITY_WIDTH ; VERMILION_HOUSE_1
-	warp_to 18, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK
-	warp_to 19, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK
-	warp_to 15, 13, VERMILION_CITY_WIDTH ; VERMILION_HOUSE_3
-	warp_to 7, 3, VERMILION_CITY_WIDTH ; VERMILION_HOUSE_2
--- a/data/mapObjects/vermiliondock.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-VermilionDockObject:
-	db $f ; border block
-
-	db 2 ; warps
-	warp 14, 0, 5, -1
-	warp 14, 2, 1, SS_ANNE_1
-
-	db 0 ; signs
-
-	db 0 ; objects
-
-	; warp-to
-	warp_to 14, 0, VERMILION_DOCK_WIDTH
-	warp_to 14, 2, VERMILION_DOCK_WIDTH ; SS_ANNE_1
--- a/data/mapObjects/vermiliongym.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-VermilionGymObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 4, 17, 3, -1
-	warp 5, 17, 3, -1
-
-	db 0 ; signs
-
-	db 5 ; objects
-	object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1
-	object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1
-	object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8
-	object SPRITE_GYM_HELPER, 4, 14, STAY, DOWN, 5 ; person
-
-	; warp-to
-	warp_to 4, 17, VERMILION_GYM_WIDTH
-	warp_to 5, 17, VERMILION_GYM_WIDTH
--- a/data/mapObjects/vermilionhouse1.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-VermilionHouse1Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 4, -1
-	warp 3, 7, 4, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_BUG_CATCHER, 5, 3, STAY, LEFT, 1 ; person
-	object SPRITE_BIRD, 3, 5, WALK, 2, 2 ; person
-	object SPRITE_PAPER_SHEET, 4, 3, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 2, 7, VERMILION_HOUSE_1_WIDTH
-	warp_to 3, 7, VERMILION_HOUSE_1_WIDTH
--- a/data/mapObjects/vermilionhouse2.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-VermilionHouse2Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 8, -1
-	warp 3, 7, 8, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, VERMILION_HOUSE_2_WIDTH
-	warp_to 3, 7, VERMILION_HOUSE_2_WIDTH
--- a/data/mapObjects/vermilionhouse3.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-VermilionHouse3Object:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 7, -1
-	warp 3, 7, 7, -1
-
-	db 0 ; signs
-
-	db 1 ; objects
-	object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person
-
-	; warp-to
-	warp_to 2, 7, VERMILION_HOUSE_3_WIDTH
-	warp_to 3, 7, VERMILION_HOUSE_3_WIDTH
--- a/data/mapObjects/vermilionmart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-VermilionMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 2, -1
-	warp 4, 7, 2, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 5, 6, STAY, NONE, 2 ; person
-	object SPRITE_LASS, 3, 3, WALK, 2, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, VERMILION_MART_WIDTH
-	warp_to 4, 7, VERMILION_MART_WIDTH
--- a/data/mapObjects/vermilionpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-VermilionPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 0, -1
-	warp 4, 7, 0, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_FISHER, 10, 5, STAY, NONE, 2 ; person
-	object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, VERMILION_POKECENTER_WIDTH
-	warp_to 4, 7, VERMILION_POKECENTER_WIDTH
--- a/data/mapObjects/victoryroad1.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-VictoryRoad1Object:
-	db $7d ; border block
-
-	db 3 ; warps
-	warp 8, 17, 2, -1
-	warp 9, 17, 2, -1
-	warp 1, 1, 0, VICTORY_ROAD_2
-
-	db 0 ; signs
-
-	db 7 ; objects
-	object SPRITE_LASS, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5
-	object SPRITE_BLACK_HAIR_BOY_1, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5
-	object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_43
-	object SPRITE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY
-	object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person
-	object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person
-	object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person
-
-	; warp-to
-	warp_to 8, 17, VICTORY_ROAD_1_WIDTH
-	warp_to 9, 17, VICTORY_ROAD_1_WIDTH
-	warp_to 1, 1, VICTORY_ROAD_1_WIDTH ; VICTORY_ROAD_2
--- a/data/mapObjects/victoryroad2.asm
+++ /dev/null
@@ -1,37 +1,0 @@
-VictoryRoad2Object:
-	db $7d ; border block
-
-	db 7 ; warps
-	warp 0, 8, 2, VICTORY_ROAD_1
-	warp 29, 7, 3, -1
-	warp 29, 8, 3, -1
-	warp 23, 7, 0, VICTORY_ROAD_3
-	warp 25, 14, 2, VICTORY_ROAD_3
-	warp 27, 7, 1, VICTORY_ROAD_3
-	warp 1, 1, 3, VICTORY_ROAD_3
-
-	db 0 ; signs
-
-	db 13 ; objects
-	object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9
-	object SPRITE_BLACK_HAIR_BOY_2, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2
-	object SPRITE_BLACK_HAIR_BOY_1, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5
-	object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6
-	object SPRITE_BLACK_HAIR_BOY_2, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5
-	object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50
-	object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_17
-	object SPRITE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL
-	object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_05
-	object SPRITE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC
-	object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person
-	object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person
-	object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person
-
-	; warp-to
-	warp_to 0, 8, VICTORY_ROAD_2_WIDTH ; VICTORY_ROAD_1
-	warp_to 29, 7, VICTORY_ROAD_2_WIDTH
-	warp_to 29, 8, VICTORY_ROAD_2_WIDTH
-	warp_to 23, 7, VICTORY_ROAD_2_WIDTH ; VICTORY_ROAD_3
-	warp_to 25, 14, VICTORY_ROAD_2_WIDTH ; VICTORY_ROAD_3
-	warp_to 27, 7, VICTORY_ROAD_2_WIDTH ; VICTORY_ROAD_3
-	warp_to 1, 1, VICTORY_ROAD_2_WIDTH ; VICTORY_ROAD_3
--- a/data/mapObjects/victoryroad3.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-VictoryRoad3Object:
-	db $7d ; border block
-
-	db 4 ; warps
-	warp 23, 7, 3, VICTORY_ROAD_2
-	warp 26, 8, 5, VICTORY_ROAD_2
-	warp 27, 15, 4, VICTORY_ROAD_2
-	warp 2, 0, 6, VICTORY_ROAD_2
-
-	db 0 ; signs
-
-	db 10 ; objects
-	object SPRITE_BLACK_HAIR_BOY_1, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2
-	object SPRITE_LASS, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2
-	object SPRITE_BLACK_HAIR_BOY_1, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3
-	object SPRITE_LASS, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3
-	object SPRITE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE
-	object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_47
-	object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person
-	object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person
-	object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person
-	object SPRITE_BOULDER, 22, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person
-
-	; warp-to
-	warp_to 23, 7, VICTORY_ROAD_3_WIDTH ; VICTORY_ROAD_2
-	warp_to 26, 8, VICTORY_ROAD_3_WIDTH ; VICTORY_ROAD_2
-	warp_to 27, 15, VICTORY_ROAD_3_WIDTH ; VICTORY_ROAD_2
-	warp_to 2, 0, VICTORY_ROAD_3_WIDTH ; VICTORY_ROAD_2
--- a/data/mapObjects/viridiancity.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-ViridianCityObject:
-	db $f ; border block
-
-	db 5 ; warps
-	warp 23, 25, 0, VIRIDIAN_POKECENTER
-	warp 29, 19, 0, VIRIDIAN_MART
-	warp 21, 15, 0, VIRIDIAN_SCHOOL
-	warp 21, 9, 0, VIRIDIAN_HOUSE
-	warp 32, 7, 0, VIRIDIAN_GYM
-
-	db 6 ; signs
-	sign 17, 17, 8 ; ViridianCityText8
-	sign 19, 1, 9 ; ViridianCityText9
-	sign 21, 29, 10 ; ViridianCityText10
-	sign 30, 19, 11 ; MartSignText
-	sign 24, 25, 12 ; PokeCenterSignText
-	sign 27, 7, 13 ; ViridianCityText13
-
-	db 7 ; objects
-	object SPRITE_BUG_CATCHER, 13, 20, WALK, 0, 1 ; person
-	object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person
-	object SPRITE_BUG_CATCHER, 30, 25, WALK, 0, 3 ; person
-	object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person
-	object SPRITE_LYING_OLD_MAN, 18, 9, STAY, NONE, 5 ; person
-	object SPRITE_FISHER2, 6, 23, STAY, DOWN, 6 ; person
-	object SPRITE_GAMBLER, 17, 5, WALK, 2, 7 ; person
-
-	; warp-to
-	warp_to 23, 25, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_POKECENTER
-	warp_to 29, 19, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_MART
-	warp_to 21, 15, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_SCHOOL
-	warp_to 21, 9, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_HOUSE
-	warp_to 32, 7, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_GYM
--- a/data/mapObjects/viridianforest.asm
+++ /dev/null
@@ -1,36 +1,0 @@
-ViridianForestObject:
-	db $3 ; border block
-
-	db 6 ; warps
-	warp 1, 0, 2, VIRIDIAN_FOREST_EXIT
-	warp 2, 0, 3, VIRIDIAN_FOREST_EXIT
-	warp 15, 47, 1, VIRIDIAN_FOREST_ENTRANCE
-	warp 16, 47, 1, VIRIDIAN_FOREST_ENTRANCE
-	warp 17, 47, 1, VIRIDIAN_FOREST_ENTRANCE
-	warp 18, 47, 1, VIRIDIAN_FOREST_ENTRANCE
-
-	db 6 ; signs
-	sign 24, 40, 9 ; ViridianForestText9
-	sign 16, 32, 10 ; ViridianForestText10
-	sign 26, 17, 11 ; ViridianForestText11
-	sign 4, 24, 12 ; ViridianForestText12
-	sign 18, 45, 13 ; ViridianForestText13
-	sign 2, 1, 14 ; ViridianForestText14
-
-	db 8 ; objects
-	object SPRITE_BUG_CATCHER, 16, 43, STAY, NONE, 1 ; person
-	object SPRITE_BUG_CATCHER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1
-	object SPRITE_BUG_CATCHER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2
-	object SPRITE_BUG_CATCHER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3
-	object SPRITE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE
-	object SPRITE_BALL, 12, 29, STAY, NONE, 6, POTION
-	object SPRITE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL
-	object SPRITE_BUG_CATCHER, 27, 40, STAY, NONE, 8 ; person
-
-	; warp-to
-	warp_to 1, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_EXIT
-	warp_to 2, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_EXIT
-	warp_to 15, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_ENTRANCE
-	warp_to 16, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_ENTRANCE
-	warp_to 17, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_ENTRANCE
-	warp_to 18, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_ENTRANCE
--- a/data/mapObjects/viridianforestentrance.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-ViridianForestEntranceObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 4, 0, 3, VIRIDIAN_FOREST
-	warp 5, 0, 4, VIRIDIAN_FOREST
-	warp 4, 7, 5, -1
-	warp 5, 7, 5, -1
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person
-	object SPRITE_LITTLE_GIRL, 2, 4, WALK, 1, 2 ; person
-
-	; warp-to
-	warp_to 4, 0, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; VIRIDIAN_FOREST
-	warp_to 5, 0, VIRIDIAN_FOREST_ENTRANCE_WIDTH ; VIRIDIAN_FOREST
-	warp_to 4, 7, VIRIDIAN_FOREST_ENTRANCE_WIDTH
-	warp_to 5, 7, VIRIDIAN_FOREST_ENTRANCE_WIDTH
--- a/data/mapObjects/viridianforestexit.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-ViridianForestExitObject:
-	db $a ; border block
-
-	db 4 ; warps
-	warp 4, 0, 1, -1
-	warp 5, 0, 1, -1
-	warp 4, 7, 0, VIRIDIAN_FOREST
-	warp 5, 7, 0, VIRIDIAN_FOREST
-
-	db 0 ; signs
-
-	db 2 ; objects
-	object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, NONE, 1 ; person
-	object SPRITE_OLD_PERSON, 2, 5, STAY, NONE, 2 ; person
-
-	; warp-to
-	warp_to 4, 0, VIRIDIAN_FOREST_EXIT_WIDTH
-	warp_to 5, 0, VIRIDIAN_FOREST_EXIT_WIDTH
-	warp_to 4, 7, VIRIDIAN_FOREST_EXIT_WIDTH ; VIRIDIAN_FOREST
-	warp_to 5, 7, VIRIDIAN_FOREST_EXIT_WIDTH ; VIRIDIAN_FOREST
--- a/data/mapObjects/viridiangym.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-ViridianGymObject:
-	db $3 ; border block
-
-	db 2 ; warps
-	warp 16, 17, 4, -1
-	warp 17, 17, 4, -1
-
-	db 0 ; signs
-
-	db 11 ; objects
-	object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3
-	object SPRITE_BLACK_HAIR_BOY_1, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9
-	object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6
-	object SPRITE_ROCKER, 10, 7, STAY, DOWN, 4, OPP_TAMER, 3
-	object SPRITE_HIKER, 3, 7, STAY, LEFT, 5, OPP_BLACKBELT, 7
-	object SPRITE_BLACK_HAIR_BOY_1, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10
-	object SPRITE_HIKER, 10, 1, STAY, DOWN, 7, OPP_BLACKBELT, 8
-	object SPRITE_ROCKER, 2, 16, STAY, RIGHT, 8, OPP_TAMER, 4
-	object SPRITE_BLACK_HAIR_BOY_1, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1
-	object SPRITE_GYM_HELPER, 16, 15, STAY, DOWN, 10 ; person
-	object SPRITE_BALL, 16, 9, STAY, NONE, 11, REVIVE
-
-	; warp-to
-	warp_to 16, 17, VIRIDIAN_GYM_WIDTH
-	warp_to 17, 17, VIRIDIAN_GYM_WIDTH
--- a/data/mapObjects/viridianhouse.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-ViridianHouseObject:
-	db $a ; border block
-
-	db 2 ; warps
-	warp 2, 7, 3, -1
-	warp 3, 7, 3, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person
-	object SPRITE_LITTLE_GIRL, 1, 4, WALK, 1, 2 ; person
-	object SPRITE_BIRD, 5, 5, WALK, 2, 3 ; person
-	object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person
-
-	; warp-to
-	warp_to 2, 7, VIRIDIAN_HOUSE_WIDTH
-	warp_to 3, 7, VIRIDIAN_HOUSE_WIDTH
--- a/data/mapObjects/viridianmart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-ViridianMartObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 1, -1
-	warp 4, 7, 1, -1
-
-	db 0 ; signs
-
-	db 3 ; objects
-	object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person
-	object SPRITE_BUG_CATCHER, 5, 5, WALK, 1, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 3, 3, STAY, NONE, 3 ; person
-
-	; warp-to
-	warp_to 3, 7, VIRIDIAN_MART_WIDTH
-	warp_to 4, 7, VIRIDIAN_MART_WIDTH
--- a/data/mapObjects/viridianpokecenter.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-ViridianPokecenterObject:
-	db $0 ; border block
-
-	db 2 ; warps
-	warp 3, 7, 0, -1
-	warp 4, 7, 0, -1
-
-	db 0 ; signs
-
-	db 4 ; objects
-	object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person
-	object SPRITE_GENTLEMAN, 10, 5, WALK, 1, 2 ; person
-	object SPRITE_BLACK_HAIR_BOY_1, 4, 3, STAY, NONE, 3 ; person
-	object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person
-
-	; warp-to
-	warp_to 3, 7, VIRIDIAN_POKECENTER_WIDTH
-	warp_to 4, 7, VIRIDIAN_POKECENTER_WIDTH
--- a/data/map_header_banks.asm
+++ b/data/map_header_banks.asm
@@ -1,42 +1,42 @@
 ; see also MapHeaderPointers
 MapHeaderBanks:
-	db BANK(PalletTown_h) ;PALLET_TOWN
-	db BANK(ViridianCity_h) ; VIRIDIAN_CITY
-	db BANK(PewterCity_h) ; PEWTER_CITY
-	db BANK(CeruleanCity_h) ; CERULEAN_CITY
-	db BANK(LavenderTown_h) ; LAVENDER_TOWN
-	db BANK(VermilionCity_h) ; VERMILION_CITY
-	db BANK(CeladonCity_h) ; CELADON_CITY
-	db BANK(FuchsiaCity_h) ; FUCHSIA_CITY
-	db BANK(CinnabarIsland_h) ; CINNABAR_ISLAND
-	db BANK(IndigoPlateau_h) ; INDIGO_PLATEAU
-	db BANK(SaffronCity_h) ; SAFFRON_CITY
-	db $1 ; unused
-	db BANK(Route1_h) ; ROUTE_1
-	db BANK(Route2_h) ; ROUTE_2
-	db BANK(Route3_h) ; ROUTE_3
-	db BANK(Route4_h) ; ROUTE_4
-	db BANK(Route5_h) ; ROUTE_5
-	db BANK(Route6_h) ; ROUTE_6
-	db BANK(Route7_h) ; ROUTE_7
-	db BANK(Route8_h) ; ROUTE_8
-	db BANK(Route9_h) ; ROUTE_9
-	db BANK(Route10_h) ; ROUTE_10
-	db BANK(Route11_h) ; ROUTE_11
-	db BANK(Route12_h) ; ROUTE_12
-	db BANK(Route13_h) ; ROUTE_13
-	db BANK(Route14_h) ; ROUTE_14
-	db BANK(Route15_h) ; ROUTE_15
-	db BANK(Route16_h) ; ROUTE_16
-	db BANK(Route17_h) ; ROUTE_17
-	db BANK(Route18_h) ; ROUTE_18
-	db BANK(Route19_h) ; ROUTE_19
-	db BANK(Route20_h) ; ROUTE_20
-	db BANK(Route21_h) ; ROUTE_21
-	db BANK(Route22_h) ; ROUTE_22
-	db BANK(Route23_h) ; ROUTE_23
-	db BANK(Route24_h) ; ROUTE_24
-	db BANK(Route25_h) ; ROUTE_25
+	db BANK(PalletTown_h)
+	db BANK(ViridianCity_h)
+	db BANK(PewterCity_h)
+	db BANK(CeruleanCity_h)
+	db BANK(LavenderTown_h)
+	db BANK(VermilionCity_h)
+	db BANK(CeladonCity_h)
+	db BANK(FuchsiaCity_h)
+	db BANK(CinnabarIsland_h)
+	db BANK(IndigoPlateau_h)
+	db BANK(SaffronCity_h)
+	db $01 ; UNUSED_MAP_0B
+	db BANK(Route1_h)
+	db BANK(Route2_h)
+	db BANK(Route3_h)
+	db BANK(Route4_h)
+	db BANK(Route5_h)
+	db BANK(Route6_h)
+	db BANK(Route7_h)
+	db BANK(Route8_h)
+	db BANK(Route9_h)
+	db BANK(Route10_h)
+	db BANK(Route11_h)
+	db BANK(Route12_h)
+	db BANK(Route13_h)
+	db BANK(Route14_h)
+	db BANK(Route15_h)
+	db BANK(Route16_h)
+	db BANK(Route17_h)
+	db BANK(Route18_h)
+	db BANK(Route19_h)
+	db BANK(Route20_h)
+	db BANK(Route21_h)
+	db BANK(Route22_h)
+	db BANK(Route23_h)
+	db BANK(Route24_h)
+	db BANK(Route25_h)
 	db BANK(RedsHouse1F_h)
 	db BANK(RedsHouse2F_h)
 	db BANK(BluesHouse_h)
@@ -43,134 +43,134 @@
 	db BANK(OaksLab_h)
 	db BANK(ViridianPokecenter_h)
 	db BANK(ViridianMart_h)
-	db BANK(School_h)
-	db BANK(ViridianHouse_h)
+	db BANK(ViridianSchoolHouse_h)
+	db BANK(ViridianNicknameHouse_h)
 	db BANK(ViridianGym_h)
 	db BANK(DiglettsCaveRoute2_h)
-	db BANK(ViridianForestExit_h)
-	db BANK(Route2House_h)
+	db BANK(ViridianForestNorthGate_h)
+	db BANK(Route2TradeHouse_h)
 	db BANK(Route2Gate_h)
-	db BANK(ViridianForestEntrance_h)
+	db BANK(ViridianForestSouthGate_h)
 	db BANK(ViridianForest_h)
 	db BANK(Museum1F_h)
 	db BANK(Museum2F_h)
 	db BANK(PewterGym_h)
-	db BANK(PewterHouse1_h)
+	db BANK(PewterNidoranHouse_h)
 	db BANK(PewterMart_h)
-	db BANK(PewterHouse2_h)
+	db BANK(PewterSpeechHouse_h)
 	db BANK(PewterPokecenter_h)
-	db BANK(MtMoon1_h)
-	db BANK(MtMoon2_h)
-	db BANK(MtMoon3_h)
-	db BANK(CeruleanHouseTrashed_h)
-	db BANK(CeruleanHouse1_h)
+	db BANK(MtMoon1F_h)
+	db BANK(MtMoonB1F_h)
+	db BANK(MtMoonB2F_h)
+	db BANK(CeruleanTrashedHouse_h)
+	db BANK(CeruleanTradeHouse_h)
 	db BANK(CeruleanPokecenter_h)
 	db BANK(CeruleanGym_h)
 	db BANK(BikeShop_h)
 	db BANK(CeruleanMart_h)
 	db BANK(MtMoonPokecenter_h)
-	db BANK(CeruleanHouseTrashed_h)
+	db BANK(CeruleanTrashedHouse_h)
 	db BANK(Route5Gate_h)
-	db BANK(UndergroundPathEntranceRoute5_h)
-	db BANK(DayCareM_h)
+	db BANK(UndergroundPathRoute5_h)
+	db BANK(Daycare_h)
 	db BANK(Route6Gate_h)
-	db BANK(UndergroundPathEntranceRoute6_h)
-	db BANK(UndergroundPathEntranceRoute6_h) ;FREEZE
+	db BANK(UndergroundPathRoute6_h)
+	db BANK(UndergroundPathRoute6_h) ; UNDERGROUND_PATH_ROUTE_6_COPY
 	db BANK(Route7Gate_h)
-	db BANK(UndergroundPathEntranceRoute7_h)
-	db BANK(UndergroundPathEntranceRoute7Copy_h) ;FREEZE
+	db BANK(UndergroundPathRoute7_h)
+	db BANK(UndergroundPathRoute7Copy_h)
 	db BANK(Route8Gate_h)
-	db BANK(UndergroundPathEntranceRoute8_h)
+	db BANK(UndergroundPathRoute8_h)
 	db BANK(RockTunnelPokecenter_h)
-	db BANK(RockTunnel1_h)
+	db BANK(RockTunnel1F_h)
 	db BANK(PowerPlant_h)
-	db BANK(Route11Gate_h)
-	db BANK(DiglettsCaveEntranceRoute11_h)
-	db BANK(Route11GateUpstairs_h)
-	db BANK(Route12Gate_h)
+	db BANK(Route11Gate1F_h)
+	db BANK(DiglettsCaveRoute11_h)
+	db BANK(Route11Gate2F_h)
+	db BANK(Route12Gate1F_h)
 	db BANK(BillsHouse_h)
 	db BANK(VermilionPokecenter_h)
-	db BANK(FanClub_h)
+	db BANK(PokemonFanClub_h)
 	db BANK(VermilionMart_h)
 	db BANK(VermilionGym_h)
-	db BANK(VermilionHouse1_h)
+	db BANK(VermilionPidgeyHouse_h)
 	db BANK(VermilionDock_h)
-	db BANK(SSAnne1_h)
-	db BANK(SSAnne2_h)
-	db BANK(SSAnne3_h)
-	db BANK(SSAnne4_h)
-	db BANK(SSAnne5_h)
-	db BANK(SSAnne6_h)
-	db BANK(SSAnne7_h)
-	db BANK(SSAnne8_h)
-	db BANK(SSAnne9_h)
-	db BANK(SSAnne10_h)
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db BANK(VictoryRoad1_h)
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db BANK(Lance_h)
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db $1D ;unused
-	db BANK(HallofFameRoom_h)
-	db BANK(UndergroundPathNS_h)
-	db BANK(Gary_h)
-	db BANK(UndergroundPathWE_h)
-	db BANK(CeladonMart1_h)
-	db BANK(CeladonMart2_h)
-	db BANK(CeladonMart3_h)
-	db BANK(CeladonMart4_h)
+	db BANK(SSAnne1F_h)
+	db BANK(SSAnne2F_h)
+	db BANK(SSAnne3F_h)
+	db BANK(SSAnneB1F_h)
+	db BANK(SSAnneBow_h)
+	db BANK(SSAnneKitchen_h)
+	db BANK(SSAnneCaptainsRoom_h)
+	db BANK(SSAnne1FRooms_h)
+	db BANK(SSAnne2FRooms_h)
+	db BANK(SSAnneB1FRooms_h)
+	db $1D ; UNUSED_MAP_69
+	db $1D ; UNUSED_MAP_6A
+	db $1D ; UNUSED_MAP_6B
+	db BANK(VictoryRoad1F_h)
+	db $1D ; UNUSED_MAP_6D
+	db $1D ; UNUSED_MAP_6E
+	db $1D ; UNUSED_MAP_6F
+	db $1D ; UNUSED_MAP_70
+	db BANK(LancesRoom_h)
+	db $1D ; UNUSED_MAP_72
+	db $1D ; UNUSED_MAP_73
+	db $1D ; UNUSED_MAP_74
+	db $1D ; UNUSED_MAP_75
+	db BANK(HallOfFame_h)
+	db BANK(UndergroundPathNorthSouth_h)
+	db BANK(ChampionsRoom_h)
+	db BANK(UndergroundPathWestEast_h)
+	db BANK(CeladonMart1F_h)
+	db BANK(CeladonMart2F_h)
+	db BANK(CeladonMart3F_h)
+	db BANK(CeladonMart4F_h)
 	db BANK(CeladonMartRoof_h)
 	db BANK(CeladonMartElevator_h)
-	db BANK(CeladonMansion1_h)
-	db BANK(CeladonMansion2_h)
-	db BANK(CeladonMansion3_h)
-	db BANK(CeladonMansion4_h)
-	db BANK(CeladonMansion5_h)
+	db BANK(CeladonMansion1F_h)
+	db BANK(CeladonMansion2F_h)
+	db BANK(CeladonMansion3F_h)
+	db BANK(CeladonMansionRoof_h)
+	db BANK(CeladonMansionRoofHouse_h)
 	db BANK(CeladonPokecenter_h)
 	db BANK(CeladonGym_h)
-	db BANK(CeladonGameCorner_h)
-	db BANK(CeladonMart5_h)
-	db BANK(CeladonPrizeRoom_h)
+	db BANK(GameCorner_h)
+	db BANK(CeladonMart5F_h)
+	db BANK(GameCornerPrizeRoom_h)
 	db BANK(CeladonDiner_h)
-	db BANK(CeladonHouse_h)
+	db BANK(CeladonChiefHouse_h)
 	db BANK(CeladonHotel_h)
 	db BANK(LavenderPokecenter_h)
-	db BANK(PokemonTower1_h)
-	db BANK(PokemonTower2_h)
-	db BANK(PokemonTower3_h)
-	db BANK(PokemonTower4_h)
-	db BANK(PokemonTower5_h)
-	db BANK(PokemonTower6_h)
-	db BANK(PokemonTower7_h)
-	db BANK(LavenderHouse1_h)
+	db BANK(PokemonTower1F_h)
+	db BANK(PokemonTower2F_h)
+	db BANK(PokemonTower3F_h)
+	db BANK(PokemonTower4F_h)
+	db BANK(PokemonTower5F_h)
+	db BANK(PokemonTower6F_h)
+	db BANK(PokemonTower7F_h)
+	db BANK(MrFujisHouse_h)
 	db BANK(LavenderMart_h)
-	db BANK(LavenderHouse2_h)
+	db BANK(LavenderCuboneHouse_h)
 	db BANK(FuchsiaMart_h)
-	db BANK(FuchsiaHouse1_h)
+	db BANK(FuchsiaBillsGrandpasHouse_h)
 	db BANK(FuchsiaPokecenter_h)
-	db BANK(FuchsiaHouse2_h)
-	db BANK(SafariZoneEntrance_h)
+	db BANK(WardensHouse_h)
+	db BANK(SafariZoneGate_h)
 	db BANK(FuchsiaGym_h)
 	db BANK(FuchsiaMeetingRoom_h)
-	db BANK(SeafoamIslands2_h)
-	db BANK(SeafoamIslands3_h)
-	db BANK(SeafoamIslands4_h)
-	db BANK(SeafoamIslands5_h)
-	db BANK(VermilionHouse2_h)
-	db BANK(FuchsiaHouse3_h)
-	db BANK(Mansion1_h)
+	db BANK(SeafoamIslandsB1F_h)
+	db BANK(SeafoamIslandsB2F_h)
+	db BANK(SeafoamIslandsB3F_h)
+	db BANK(SeafoamIslandsB4F_h)
+	db BANK(VermilionOldRodHouse_h)
+	db BANK(FuchsiaGoodRodHouse_h)
+	db BANK(PokemonMansion1F_h)
 	db BANK(CinnabarGym_h)
-	db BANK(Lab1_h)
-	db BANK(Lab2_h)
-	db BANK(Lab3_h)
-	db BANK(Lab4_h)
+	db BANK(CinnabarLab_h)
+	db BANK(CinnabarLabTradeRoom_h)
+	db BANK(CinnabarLabMetronomeRoom_h)
+	db BANK(CinnabarLabFossilRoom_h)
 	db BANK(CinnabarPokecenter_h)
 	db BANK(CinnabarMart_h)
 	db BANK(CinnabarMart_h)
@@ -179,72 +179,72 @@
 	db BANK(CopycatsHouse2F_h)
 	db BANK(FightingDojo_h)
 	db BANK(SaffronGym_h)
-	db BANK(SaffronHouse1_h)
+	db BANK(SaffronPidgeyHouse_h)
 	db BANK(SaffronMart_h)
-	db BANK(SilphCo1_h)
+	db BANK(SilphCo1F_h)
 	db BANK(SaffronPokecenter_h)
-	db BANK(SaffronHouse2_h)
-	db BANK(Route15Gate_h)
-	db BANK(Route15GateUpstairs_h)
-	db BANK(Route16Gate_h)
-	db BANK(Route16GateUpstairs_h)
-	db BANK(Route16House_h)
-	db BANK(Route12House_h)
-	db BANK(Route18Gate_h)
-	db BANK(Route18GateUpstairs_h)
-	db BANK(SeafoamIslands1_h)
+	db BANK(MrPsychicsHouse_h)
+	db BANK(Route15Gate1F_h)
+	db BANK(Route15Gate2F_h)
+	db BANK(Route16Gate1F_h)
+	db BANK(Route16Gate2F_h)
+	db BANK(Route16FlyHouse_h)
+	db BANK(Route12SuperRodHouse_h)
+	db BANK(Route18Gate1F_h)
+	db BANK(Route18Gate2F_h)
+	db BANK(SeafoamIslands1F_h)
 	db BANK(Route22Gate_h)
-	db BANK(VictoryRoad2_h)
-	db BANK(Route12GateUpstairs_h)
-	db BANK(VermilionHouse3_h)
+	db BANK(VictoryRoad2F_h)
+	db BANK(Route12Gate2F_h)
+	db BANK(VermilionTradeHouse_h)
 	db BANK(DiglettsCave_h)
-	db BANK(VictoryRoad3_h)
-	db BANK(RocketHideout1_h)
-	db BANK(RocketHideout2_h)
-	db BANK(RocketHideout3_h)
-	db BANK(RocketHideout4_h)
+	db BANK(VictoryRoad3F_h)
+	db BANK(RocketHideoutB1F_h)
+	db BANK(RocketHideoutB2F_h)
+	db BANK(RocketHideoutB3F_h)
+	db BANK(RocketHideoutB4F_h)
 	db BANK(RocketHideoutElevator_h)
-	db $01
-	db $01
-	db $01
-	db BANK(SilphCo2_h)
-	db BANK(SilphCo3_h)
-	db BANK(SilphCo4_h)
-	db BANK(SilphCo5_h)
-	db BANK(SilphCo6_h)
-	db BANK(SilphCo7_h)
-	db BANK(SilphCo8_h)
-	db BANK(Mansion2_h)
-	db BANK(Mansion3_h)
-	db BANK(Mansion4_h)
+	db $01 ; UNUSED_MAP_CC
+	db $01 ; UNUSED_MAP_CD
+	db $01 ; UNUSED_MAP_CE
+	db BANK(SilphCo2F_h)
+	db BANK(SilphCo3F_h)
+	db BANK(SilphCo4F_h)
+	db BANK(SilphCo5F_h)
+	db BANK(SilphCo6F_h)
+	db BANK(SilphCo7F_h)
+	db BANK(SilphCo8F_h)
+	db BANK(PokemonMansion2F_h)
+	db BANK(PokemonMansion3F_h)
+	db BANK(PokemonMansionB1F_h)
 	db BANK(SafariZoneEast_h)
 	db BANK(SafariZoneNorth_h)
 	db BANK(SafariZoneWest_h)
 	db BANK(SafariZoneCenter_h)
-	db BANK(SafariZoneRestHouse1_h)
+	db BANK(SafariZoneCenterRestHouse_h)
 	db BANK(SafariZoneSecretHouse_h)
-	db BANK(SafariZoneRestHouse2_h)
-	db BANK(SafariZoneRestHouse3_h)
-	db BANK(SafariZoneRestHouse4_h)
-	db BANK(UnknownDungeon2_h)
-	db BANK(UnknownDungeon3_h)
-	db BANK(UnknownDungeon1_h)
-	db BANK(NameRater_h)
-	db BANK(CeruleanHouse2_h)
-	db $01
-	db BANK(RockTunnel2_h)
-	db BANK(SilphCo9_h)
-	db BANK(SilphCo10_h)
-	db BANK(SilphCo11_h)
+	db BANK(SafariZoneWestRestHouse_h)
+	db BANK(SafariZoneEastRestHouse_h)
+	db BANK(SafariZoneNorthRestHouse_h)
+	db BANK(CeruleanCave2F_h)
+	db BANK(CeruleanCaveB1F_h)
+	db BANK(CeruleanCave1F_h)
+	db BANK(NameRatersHouse_h)
+	db BANK(CeruleanBadgeHouse_h)
+	db $01 ; UNUSED_MAP_E7
+	db BANK(RockTunnelB1F_h)
+	db BANK(SilphCo9F_h)
+	db BANK(SilphCo10F_h)
+	db BANK(SilphCo11F_h)
 	db BANK(SilphCoElevator_h)
-	db $11
-	db $11
+	db $11 ; UNUSED_MAP_ED
+	db $11 ; UNUSED_MAP_EE
 	db BANK(TradeCenter_h)
 	db BANK(Colosseum_h)
-	db $11
-	db $11
-	db $11
-	db $11
-	db BANK(Lorelei_h)
-	db BANK(Bruno_h)
-	db BANK(Agatha_h)
+	db $11 ; UNUSED_MAP_F1
+	db $11 ; UNUSED_MAP_F2
+	db $11 ; UNUSED_MAP_F3
+	db $11 ; UNUSED_MAP_F4
+	db BANK(LoreleisRoom_h)
+	db BANK(BrunosRoom_h)
+	db BANK(AgathasRoom_h)
--- a/data/map_header_pointers.asm
+++ b/data/map_header_pointers.asm
@@ -11,7 +11,7 @@
 	dw CinnabarIsland_h
 	dw IndigoPlateau_h
 	dw SaffronCity_h
-	dw SaffronCity_h
+	dw SaffronCity_h ; UNUSED_MAP_0B
 	dw Route1_h
 	dw Route2_h
 	dw Route3_h
@@ -40,211 +40,211 @@
 	dw RedsHouse1F_h
 	dw RedsHouse2F_h
 	dw BluesHouse_h
-	dw OaksLab_h ;id=40
+	dw OaksLab_h
 	dw ViridianPokecenter_h
 	dw ViridianMart_h
-	dw School_h
-	dw ViridianHouse_h
+	dw ViridianSchoolHouse_h
+	dw ViridianNicknameHouse_h
 	dw ViridianGym_h
 	dw DiglettsCaveRoute2_h
-	dw ViridianForestExit_h
-	dw Route2House_h
+	dw ViridianForestNorthGate_h
+	dw Route2TradeHouse_h
 	dw Route2Gate_h
-	dw ViridianForestEntrance_h ;id=50
+	dw ViridianForestSouthGate_h
 	dw ViridianForest_h
 	dw Museum1F_h
 	dw Museum2F_h
 	dw PewterGym_h
-	dw PewterHouse1_h
+	dw PewterNidoranHouse_h
 	dw PewterMart_h
-	dw PewterHouse2_h
+	dw PewterSpeechHouse_h
 	dw PewterPokecenter_h
-	dw MtMoon1_h
-	dw MtMoon2_h ;id=60
-	dw MtMoon3_h
-	dw CeruleanHouseTrashed_h
-	dw CeruleanHouse1_h
+	dw MtMoon1F_h
+	dw MtMoonB1F_h
+	dw MtMoonB2F_h
+	dw CeruleanTrashedHouse_h
+	dw CeruleanTradeHouse_h
 	dw CeruleanPokecenter_h
 	dw CeruleanGym_h
 	dw BikeShop_h
 	dw CeruleanMart_h
 	dw MtMoonPokecenter_h
-	dw CeruleanHouseTrashed_h ; copy
+	dw CeruleanTrashedHouse_h ; CERULEAN_TRASHED_HOUSE_COPY
 	dw Route5Gate_h
-	dw UndergroundPathEntranceRoute5_h
-	dw DayCareM_h
+	dw UndergroundPathRoute5_h
+	dw Daycare_h
 	dw Route6Gate_h
-	dw UndergroundPathEntranceRoute6_h
-	dw UndergroundPathEntranceRoute6_h ; unused
+	dw UndergroundPathRoute6_h
+	dw UndergroundPathRoute6_h ; UNDERGROUND_PATH_ROUTE_6_COPY
 	dw Route7Gate_h
-	dw UndergroundPathEntranceRoute7_h
-	dw UndergroundPathEntranceRoute7Copy_h
+	dw UndergroundPathRoute7_h
+	dw UndergroundPathRoute7Copy_h
 	dw Route8Gate_h
-	dw UndergroundPathEntranceRoute8_h ;id=80
+	dw UndergroundPathRoute8_h
 	dw RockTunnelPokecenter_h
-	dw RockTunnel1_h
+	dw RockTunnel1F_h
 	dw PowerPlant_h
-	dw Route11Gate_h
-	dw DiglettsCaveEntranceRoute11_h
-	dw Route11GateUpstairs_h
-	dw Route12Gate_h
+	dw Route11Gate1F_h
+	dw DiglettsCaveRoute11_h
+	dw Route11Gate2F_h
+	dw Route12Gate1F_h
 	dw BillsHouse_h
 	dw VermilionPokecenter_h
-	dw FanClub_h ;id=90
+	dw PokemonFanClub_h
 	dw VermilionMart_h
 	dw VermilionGym_h
-	dw VermilionHouse1_h
+	dw VermilionPidgeyHouse_h
 	dw VermilionDock_h
-	dw SSAnne1_h
-	dw SSAnne2_h
-	dw SSAnne3_h
-	dw SSAnne4_h
-	dw SSAnne5_h
-	dw SSAnne6_h ;id=100
-	dw SSAnne7_h
-	dw SSAnne8_h
-	dw SSAnne9_h
-	dw SSAnne10_h
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw VictoryRoad1_h
-	dw Lance_h ; unused
-	dw Lance_h ; unused ;id=110
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw Lance_h ; unused
-	dw HallofFameRoom_h
-	dw UndergroundPathNS_h
-	dw Gary_h ;id=120
-	dw UndergroundPathWE_h
-	dw CeladonMart1_h
-	dw CeladonMart2_h
-	dw CeladonMart3_h
-	dw CeladonMart4_h
+	dw SSAnne1F_h
+	dw SSAnne2F_h
+	dw SSAnne3F_h
+	dw SSAnneB1F_h
+	dw SSAnneBow_h
+	dw SSAnneKitchen_h
+	dw SSAnneCaptainsRoom_h
+	dw SSAnne1FRooms_h
+	dw SSAnne2FRooms_h
+	dw SSAnneB1FRooms_h
+	dw LancesRoom_h ; UNUSED_MAP_69
+	dw LancesRoom_h ; UNUSED_MAP_6A
+	dw LancesRoom_h ; UNUSED_MAP_6B
+	dw VictoryRoad1F_h
+	dw LancesRoom_h ; UNUSED_MAP_6D
+	dw LancesRoom_h ; UNUSED_MAP_6E
+	dw LancesRoom_h ; UNUSED_MAP_6F
+	dw LancesRoom_h ; UNUSED_MAP_70
+	dw LancesRoom_h
+	dw LancesRoom_h ; UNUSED_MAP_72
+	dw LancesRoom_h ; UNUSED_MAP_73
+	dw LancesRoom_h ; UNUSED_MAP_74
+	dw LancesRoom_h ; UNUSED_MAP_75
+	dw HallOfFame_h
+	dw UndergroundPathNorthSouth_h
+	dw ChampionsRoom_h
+	dw UndergroundPathWestEast_h
+	dw CeladonMart1F_h
+	dw CeladonMart2F_h
+	dw CeladonMart3F_h
+	dw CeladonMart4F_h
 	dw CeladonMartRoof_h
 	dw CeladonMartElevator_h
-	dw CeladonMansion1_h
-	dw CeladonMansion2_h
-	dw CeladonMansion3_h ;id=130
-	dw CeladonMansion4_h
-	dw CeladonMansion5_h
+	dw CeladonMansion1F_h
+	dw CeladonMansion2F_h
+	dw CeladonMansion3F_h
+	dw CeladonMansionRoof_h
+	dw CeladonMansionRoofHouse_h
 	dw CeladonPokecenter_h
 	dw CeladonGym_h
-	dw CeladonGameCorner_h
-	dw CeladonMart5_h
-	dw CeladonPrizeRoom_h
+	dw GameCorner_h
+	dw CeladonMart5F_h
+	dw GameCornerPrizeRoom_h
 	dw CeladonDiner_h
-	dw CeladonHouse_h
-	dw CeladonHotel_h ;id=140
+	dw CeladonChiefHouse_h
+	dw CeladonHotel_h
 	dw LavenderPokecenter_h
-	dw PokemonTower1_h
-	dw PokemonTower2_h
-	dw PokemonTower3_h
-	dw PokemonTower4_h
-	dw PokemonTower5_h
-	dw PokemonTower6_h
-	dw PokemonTower7_h
-	dw LavenderHouse1_h
-	dw LavenderMart_h ;id=150
-	dw LavenderHouse2_h
+	dw PokemonTower1F_h
+	dw PokemonTower2F_h
+	dw PokemonTower3F_h
+	dw PokemonTower4F_h
+	dw PokemonTower5F_h
+	dw PokemonTower6F_h
+	dw PokemonTower7F_h
+	dw MrFujisHouse_h
+	dw LavenderMart_h
+	dw LavenderCuboneHouse_h
 	dw FuchsiaMart_h
-	dw FuchsiaHouse1_h
+	dw FuchsiaBillsGrandpasHouse_h
 	dw FuchsiaPokecenter_h
-	dw FuchsiaHouse2_h
-	dw SafariZoneEntrance_h
+	dw WardensHouse_h
+	dw SafariZoneGate_h
 	dw FuchsiaGym_h
 	dw FuchsiaMeetingRoom_h
-	dw SeafoamIslands2_h
-	dw SeafoamIslands3_h ;id=160
-	dw SeafoamIslands4_h
-	dw SeafoamIslands5_h
-	dw VermilionHouse2_h
-	dw FuchsiaHouse3_h
-	dw Mansion1_h
+	dw SeafoamIslandsB1F_h
+	dw SeafoamIslandsB2F_h
+	dw SeafoamIslandsB3F_h
+	dw SeafoamIslandsB4F_h
+	dw VermilionOldRodHouse_h
+	dw FuchsiaGoodRodHouse_h
+	dw PokemonMansion1F_h
 	dw CinnabarGym_h
-	dw Lab1_h
-	dw Lab2_h
-	dw Lab3_h
-	dw Lab4_h ;id=170
+	dw CinnabarLab_h
+	dw CinnabarLabTradeRoom_h
+	dw CinnabarLabMetronomeRoom_h
+	dw CinnabarLabFossilRoom_h
 	dw CinnabarPokecenter_h
 	dw CinnabarMart_h
-	dw CinnabarMart_h ; unused
+	dw CinnabarMart_h ; CINNABAR_MART_COPY
 	dw IndigoPlateauLobby_h
 	dw CopycatsHouse1F_h
 	dw CopycatsHouse2F_h
 	dw FightingDojo_h
 	dw SaffronGym_h
-	dw SaffronHouse1_h
-	dw SaffronMart_h ;id=180
-	dw SilphCo1_h
+	dw SaffronPidgeyHouse_h
+	dw SaffronMart_h
+	dw SilphCo1F_h
 	dw SaffronPokecenter_h
-	dw SaffronHouse2_h
-	dw Route15Gate_h
-	dw Route15GateUpstairs_h
-	dw Route16Gate_h
-	dw Route16GateUpstairs_h
-	dw Route16House_h
-	dw Route12House_h
-	dw Route18Gate_h ;id=190
-	dw Route18GateUpstairs_h
-	dw SeafoamIslands1_h
+	dw MrPsychicsHouse_h
+	dw Route15Gate1F_h
+	dw Route15Gate2F_h
+	dw Route16Gate1F_h
+	dw Route16Gate2F_h
+	dw Route16FlyHouse_h
+	dw Route12SuperRodHouse_h
+	dw Route18Gate1F_h
+	dw Route18Gate2F_h
+	dw SeafoamIslands1F_h
 	dw Route22Gate_h
-	dw VictoryRoad2_h
-	dw Route12GateUpstairs_h
-	dw VermilionHouse3_h
+	dw VictoryRoad2F_h
+	dw Route12Gate2F_h
+	dw VermilionTradeHouse_h
 	dw DiglettsCave_h
-	dw VictoryRoad3_h
-	dw RocketHideout1_h
-	dw RocketHideout2_h ;200
-	dw RocketHideout3_h
-	dw RocketHideout4_h
+	dw VictoryRoad3F_h
+	dw RocketHideoutB1F_h
+	dw RocketHideoutB2F_h
+	dw RocketHideoutB3F_h
+	dw RocketHideoutB4F_h
 	dw RocketHideoutElevator_h
-	dw RocketHideoutElevator_h ; unused
-	dw RocketHideoutElevator_h ; unused
-	dw RocketHideoutElevator_h ; unused
-	dw SilphCo2_h
-	dw SilphCo3_h
-	dw SilphCo4_h
-	dw SilphCo5_h ;210
-	dw SilphCo6_h
-	dw SilphCo7_h
-	dw SilphCo8_h
-	dw Mansion2_h
-	dw Mansion3_h
-	dw Mansion4_h
+	dw RocketHideoutElevator_h ; UNUSED_MAP_CC
+	dw RocketHideoutElevator_h ; UNUSED_MAP_CD
+	dw RocketHideoutElevator_h ; UNUSED_MAP_CE
+	dw SilphCo2F_h
+	dw SilphCo3F_h
+	dw SilphCo4F_h
+	dw SilphCo5F_h
+	dw SilphCo6F_h
+	dw SilphCo7F_h
+	dw SilphCo8F_h
+	dw PokemonMansion2F_h
+	dw PokemonMansion3F_h
+	dw PokemonMansionB1F_h
 	dw SafariZoneEast_h
 	dw SafariZoneNorth_h
 	dw SafariZoneWest_h
-	dw SafariZoneCenter_h ;220
-	dw SafariZoneRestHouse1_h
+	dw SafariZoneCenter_h
+	dw SafariZoneCenterRestHouse_h
 	dw SafariZoneSecretHouse_h
-	dw SafariZoneRestHouse2_h
-	dw SafariZoneRestHouse3_h
-	dw SafariZoneRestHouse4_h
-	dw UnknownDungeon2_h
-	dw UnknownDungeon3_h
-	dw UnknownDungeon1_h
-	dw NameRater_h
-	dw CeruleanHouse2_h
-	dw Route16Gate_h ; unused
-	dw RockTunnel2_h
-	dw SilphCo9_h
-	dw SilphCo10_h
-	dw SilphCo11_h
+	dw SafariZoneWestRestHouse_h
+	dw SafariZoneEastRestHouse_h
+	dw SafariZoneNorthRestHouse_h
+	dw CeruleanCave2F_h
+	dw CeruleanCaveB1F_h
+	dw CeruleanCave1F_h
+	dw NameRatersHouse_h
+	dw CeruleanBadgeHouse_h
+	dw Route16Gate1F_h ; UNUSED_MAP_E7
+	dw RockTunnelB1F_h
+	dw SilphCo9F_h
+	dw SilphCo10F_h
+	dw SilphCo11F_h
 	dw SilphCoElevator_h
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
+	dw SilphCo2F_h ; UNUSED_MAP_ED
+	dw SilphCo2F_h ; UNUSED_MAP_EE
 	dw TradeCenter_h
 	dw Colosseum_h
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
-	dw SilphCo2_h ; unused
-	dw Lorelei_h
-	dw Bruno_h
-	dw Agatha_h ;247
+	dw SilphCo2F_h ; UNUSED_MAP_F1
+	dw SilphCo2F_h ; UNUSED_MAP_F2
+	dw SilphCo2F_h ; UNUSED_MAP_F3
+	dw SilphCo2F_h ; UNUSED_MAP_F4
+	dw LoreleisRoom_h
+	dw BrunosRoom_h
+	dw AgathasRoom_h ;247
--- a/data/map_songs.asm
+++ b/data/map_songs.asm
@@ -1,5 +1,5 @@
 MapSongBanks:
-	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ;PALLET_TOWN
+	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; PALLET_TOWN
 	db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_CITY
 	db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_CITY
 	db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_CITY
@@ -10,7 +10,7 @@
 	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_ISLAND
 	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU
 	db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_CITY
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; unused
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; UNUSED_MAP_0B
 	db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_1
 	db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_2
 	db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_3
@@ -36,214 +36,214 @@
 	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; ROUTE_23
 	db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_24
 	db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_25
-	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; RedsHouse1F
-	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; RedsHouse2F
-	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; BluesHouse
-	db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; OaksLab
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; ViridianPokecenter
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; ViridianMart
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; School
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; ViridianHouse
-	db MUSIC_GYM, BANK(Music_Gym) ; ViridianGym
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DiglettsCaveRoute2
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; ViridianForestExit
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route2House
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route2Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; ViridianForestEntrance
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; ViridianForest
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Museum1F
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Museum2F
-	db MUSIC_GYM, BANK(Music_Gym) ; PewterGym
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; PewterHouse1
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PewterMart
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; PewterHouse2
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PewterPokecenter
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MtMoon1
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MtMoon2
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MtMoon3
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; CeruleanHouseTrashed
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; CeruleanHouse1
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeruleanPokecenter
-	db MUSIC_GYM, BANK(Music_Gym) ; CeruleanGym
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; BikeShop
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeruleanMart
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; MtMoonPokecenter
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; CeruleanHouseTrashed
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route5Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; UndergroundTunnelEntranceRoute5
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; DayCareM
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route6Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; UndergroundTunnelEntranceRoute6
-	db MUSIC_VERMILION, BANK(Music_Vermilion) ; FREEZE
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route7Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; UndergroundPathEntranceRoute7
-	db MUSIC_CELADON, BANK(Music_Celadon) ;FREEZE
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route8Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; UndergroundPathEntranceRoute8
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; RockTunnelPokecenter
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; RockTunnel1
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; PowerPlant
-	db MUSIC_VERMILION, BANK(Music_Vermilion) ; Route11Gate
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DiglettsCaveEntranceRoute11
-	db MUSIC_VERMILION, BANK(Music_Vermilion) ; Route11GateUpstairs
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route12Gate
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; BillsHouse
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VermilionPokecenter
-	db MUSIC_VERMILION, BANK(Music_Vermilion) ; FanClub
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VermilionMart
-	db MUSIC_GYM, BANK(Music_Gym) ; VermilionGym
-	db MUSIC_VERMILION, BANK(Music_Vermilion) ; VermilionHouse1
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; VermilionDock
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne1
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne2
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne3
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne4
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne5
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne6
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne7
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne8
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne9
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SSAnne10
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ;unused
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ;unused
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ;unused
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VictoryRoad1
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ;unused
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ;unused
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ;unused
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ;unused
-	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; Lance
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ;unused
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ;unused
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ;unused
-	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ;unused
-	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; HallofFameRoom
-	db MUSIC_ROUTES1, BANK(Music_Routes1) ; UndergroundPathNS
-	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; Gary
-	db MUSIC_ROUTES1, BANK(Music_Routes1) ; UndergroundPathWE
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonMart1
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonMart2
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonMart3
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonMart4
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonMartRoof
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonMartElevator
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonMansion1
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonMansion2
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonMansion3
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonMansion4
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonMansion5
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonPokecenter
-	db MUSIC_GYM, BANK(Music_Gym) ; CeladonGym
-	db MUSIC_GAME_CORNER, BANK(Music_GameCorner) ; CeladonGameCorner
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CeladonMart5
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonPrizeRoom
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonDiner
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonHouse
-	db MUSIC_CELADON, BANK(Music_Celadon) ; CeladonHotel
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LavenderPokecenter
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; PokemonTower1
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; PokemonTower2
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; PokemonTower3
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; PokemonTower4
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; PokemonTower5
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; PokemonTower6
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; PokemonTower7
-	db MUSIC_LAVENDER, BANK(Music_Lavender) ; LavenderHouse1
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LavenderMart
-	db MUSIC_LAVENDER, BANK(Music_Lavender) ; LavenderHouse2
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FuchsiaMart
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; FuchsiaHouse1
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FuchsiaPokecenter
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; FuchsiaHouse2
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; SafariZoneEntrance
-	db MUSIC_GYM, BANK(Music_Gym) ; FuchsiaGym
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; FuchsiaMeetingRoom
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SeafoamIslands2
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SeafoamIslands3
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SeafoamIslands4
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SeafoamIslands5
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; VermilionHouse2
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; FuchsiaHouse3
-	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; Mansion1
-	db MUSIC_GYM, BANK(Music_Gym) ; CinnabarGym
-	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; Lab1
-	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; Lab2
-	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; Lab3
-	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; Lab4
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CinnabarPokecenter
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CinnabarMart
-	db MUSIC_CINNABAR, BANK(Music_Cinnabar)
-	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; IndigoPlateauLobby
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; CopycatsHouse1F
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; CopycatsHouse2F
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; FightingDojo
-	db MUSIC_GYM, BANK(Music_Gym) ; SaffronGym
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; SaffronHouse1
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SaffronMart
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo1
-	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SaffronPokecenter
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; SaffronHouse2
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route15Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route15GateUpstairs
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route16Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route16GateUpstairs
-	db MUSIC_CELADON, BANK(Music_Celadon) ; Route16House
-	db MUSIC_CELADON, BANK(Music_Celadon) ; Route12House
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route18Gate
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route18GateUpstairs
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SeafoamIslands1
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; Route22Gate
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VictoryRoad2
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; Route12GateUpstairs
-	db MUSIC_VERMILION, BANK(Music_Vermilion) ; VermilionHouse3
-	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DiglettsCave
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VictoryRoad3
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; RocketHideout1
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; RocketHideout2
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; RocketHideout3
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; RocketHideout4
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; RocketHideoutElevator
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1)
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1)
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1)
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo2
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo3
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo4
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo5
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo6
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo7
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo8
-	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; Mansion2
-	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; Mansion3
-	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; Mansion4
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneEast
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneNorth
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneWest
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneCenter
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneRestHouse1
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneSecretHouse
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneRestHouse2
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneRestHouse3
-	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SafariZoneRestHouse4
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UnknownDungeon2
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UnknownDungeon3
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UnknownDungeon1
-	db MUSIC_CITIES2, BANK(Music_Cities2) ; NameRater
-	db MUSIC_CITIES1, BANK(Music_Cities1) ; CeruleanHouse2
-	db MUSIC_CINNABAR, BANK(Music_Cinnabar)
-	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; RockTunnel2
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo9
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo10
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCo11
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SilphCoElevator
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo)
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo)
-	db MUSIC_CELADON, BANK(Music_Celadon) ; TradeCenter
-	db MUSIC_CELADON, BANK(Music_Celadon) ; Colosseum
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo)
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo)
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo)
-	db MUSIC_SILPH_CO, BANK(Music_SilphCo)
-	db MUSIC_GYM, BANK(Music_Gym) ; Lorelei
-	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; Bruno
-	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; Agatha
+	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_1F
+	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_2F
+	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; BLUES_HOUSE
+	db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; OAKS_LAB
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_POKECENTER
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_MART
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_SCHOOL_HOUSE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_NICKNAME_HOUSE
+	db MUSIC_GYM, BANK(Music_Gym) ; VIRIDIAN_GYM
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_2
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_NORTH_GATE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_TRADE_HOUSE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_GATE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_SOUTH_GATE
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; VIRIDIAN_FOREST
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_1F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_2F
+	db MUSIC_GYM, BANK(Music_Gym) ; PEWTER_GYM
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_NIDORAN_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_MART
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_SPEECH_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_POKECENTER
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_1F
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B1F
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B2F
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRASHED_HOUSE
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRADE_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_POKECENTER
+	db MUSIC_GYM, BANK(Music_Gym) ; CERULEAN_GYM
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; BIKE_SHOP
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_MART
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; MT_MOON_POKECENTER
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; CERULEAN_TRASHED_HOUSE_COPY
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_5_GATE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_5
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; DAYCARE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_6_GATE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_6
+	db MUSIC_VERMILION, BANK(Music_Vermilion) ; UNDERGROUND_PATH_ROUTE_6_COPY
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_7_GATE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_7
+	db MUSIC_CELADON, BANK(Music_Celadon) ; UNDERGROUND_PATH_ROUTE_7_COPY
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_8_GATE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_8
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; ROCK_TUNNEL_POKECENTER
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_1F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; POWER_PLANT
+	db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_1F
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_11
+	db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_2F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_1F
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; BILLS_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_POKECENTER
+	db MUSIC_VERMILION, BANK(Music_Vermilion) ; POKEMON_FAN_CLUB
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_MART
+	db MUSIC_GYM, BANK(Music_Gym) ; VERMILION_GYM
+	db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_PIDGEY_HOUSE
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; VERMILION_DOCK
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_3F
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_BOW
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_KITCHEN
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_CAPTAINS_ROOM
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F_ROOMS
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F_ROOMS
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F_ROOMS
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_69
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_6A
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_6B
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_1F
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; UNUSED_MAP_6D
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_6E
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_6F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_70
+	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; LANCES_ROOM
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_72
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_73
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_74
+	db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_75
+	db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; HALL_OF_FAME
+	db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_NORTH_SOUTH
+	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; CHAMPIONS_ROOM
+	db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_WEST_EAST
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_1F
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_2F
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_3F
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_4F
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ROOF
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ELEVATOR
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_1F
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_2F
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_3F
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_POKECENTER
+	db MUSIC_GYM, BANK(Music_Gym) ; CELADON_GYM
+	db MUSIC_GAME_CORNER, BANK(Music_GameCorner) ; GAME_CORNER
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_5F
+	db MUSIC_CELADON, BANK(Music_Celadon) ; GAME_CORNER_PRIZE_ROOM
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_DINER
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_CHIEF_HOUSE
+	db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_HOTEL
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_POKECENTER
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_1F
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_2F
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_3F
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_4F
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_5F
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_6F
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_7F
+	db MUSIC_LAVENDER, BANK(Music_Lavender) ; MR_FUJIS_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_MART
+	db MUSIC_LAVENDER, BANK(Music_Lavender) ; LAVENDER_CUBONE_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_MART
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_BILLS_GRANDPAS_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_POKECENTER
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; WARDENS_HOUSE
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; SAFARI_ZONE_GATE
+	db MUSIC_GYM, BANK(Music_Gym) ; FUCHSIA_GYM
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_MEETING_ROOM
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B1F
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B2F
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B3F
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B4F
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; VERMILION_OLD_ROD_HOUSE
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_GOOD_ROD_HOUSE
+	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_1F
+	db MUSIC_GYM, BANK(Music_Gym) ; CINNABAR_GYM
+	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB
+	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_TRADE_ROOM
+	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_METRONOME_ROOM
+	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_FOSSIL_ROOM
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_POKECENTER
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_MART
+	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_MART_COPY
+	db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU_LOBBY
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_1F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_2F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; FIGHTING_DOJO
+	db MUSIC_GYM, BANK(Music_Gym) ; SAFFRON_GYM
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_PIDGEY_HOUSE
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_MART
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_1F
+	db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_POKECENTER
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; MR_PSYCHICS_HOUSE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_1F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_2F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_1F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_2F
+	db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_16_FLY_HOUSE
+	db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_12_SUPER_ROD_HOUSE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_1F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_2F
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_1F
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; ROUTE_22_GATE
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_2F
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_2F
+	db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_TRADE_HOUSE
+	db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_3F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B1F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B2F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B3F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B4F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_ELEVATOR
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CC
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CD
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CE
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_2F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_3F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_4F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_5F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_6F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_7F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_8F
+	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_2F
+	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_3F
+	db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_B1F
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER_REST_HOUSE
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_SECRET_HOUSE
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST_REST_HOUSE
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST_REST_HOUSE
+	db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH_REST_HOUSE
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_2F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_B1F
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_1F
+	db MUSIC_CITIES2, BANK(Music_Cities2) ; NAME_RATERS_HOUSE
+	db MUSIC_CITIES1, BANK(Music_Cities1) ; CERULEAN_BADGE_HOUSE
+	db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; UNUSED_MAP_E7
+	db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_B1F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_9F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_10F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_11F
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_ELEVATOR
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_ED
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_EE
+	db MUSIC_CELADON, BANK(Music_Celadon) ; TRADE_CENTER
+	db MUSIC_CELADON, BANK(Music_Celadon) ; COLOSSEUM
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F1
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F2
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F3
+	db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F4
+	db MUSIC_GYM, BANK(Music_Gym) ; LORELEIS_ROOM
+	db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM
+	db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; AGATHAS_ROOM
--- a/data/special_warps.asm
+++ b/data/special_warps.asm
@@ -2,33 +2,33 @@
 ; 00: target map ID
 ; 01: which dungeon warp in the source map was used
 DungeonWarpList:
-	db SEAFOAM_ISLANDS_2,$01
-	db SEAFOAM_ISLANDS_2,$02
-	db SEAFOAM_ISLANDS_3,$01
-	db SEAFOAM_ISLANDS_3,$02
-	db SEAFOAM_ISLANDS_4,$01
-	db SEAFOAM_ISLANDS_4,$02
-	db SEAFOAM_ISLANDS_5,$01
-	db SEAFOAM_ISLANDS_5,$02
-	db VICTORY_ROAD_2,$02
-	db MANSION_1,$01
-	db MANSION_1,$02
-	db MANSION_2,$03
+	db SEAFOAM_ISLANDS_B1F,$01
+	db SEAFOAM_ISLANDS_B1F,$02
+	db SEAFOAM_ISLANDS_B2F,$01
+	db SEAFOAM_ISLANDS_B2F,$02
+	db SEAFOAM_ISLANDS_B3F,$01
+	db SEAFOAM_ISLANDS_B3F,$02
+	db SEAFOAM_ISLANDS_B4F,$01
+	db SEAFOAM_ISLANDS_B4F,$02
+	db VICTORY_ROAD_2F,$02
+	db POKEMON_MANSION_1F,$01
+	db POKEMON_MANSION_1F,$02
+	db POKEMON_MANSION_2F,$03
 	db $FF
 
 DungeonWarpData:
-	FLYWARP_DATA SEAFOAM_ISLANDS_2_WIDTH,7,18
-	FLYWARP_DATA SEAFOAM_ISLANDS_2_WIDTH,7,23
-	FLYWARP_DATA SEAFOAM_ISLANDS_3_WIDTH,7,19
-	FLYWARP_DATA SEAFOAM_ISLANDS_3_WIDTH,7,22
-	FLYWARP_DATA SEAFOAM_ISLANDS_4_WIDTH,7,18
-	FLYWARP_DATA SEAFOAM_ISLANDS_4_WIDTH,7,19
-	FLYWARP_DATA SEAFOAM_ISLANDS_5_WIDTH,14,4
-	FLYWARP_DATA SEAFOAM_ISLANDS_5_WIDTH,14,5
-	FLYWARP_DATA VICTORY_ROAD_2_WIDTH,16,22
-	FLYWARP_DATA MANSION_1_WIDTH,14,16
-	FLYWARP_DATA MANSION_1_WIDTH,14,16
-	FLYWARP_DATA MANSION_2_WIDTH,14,18
+	FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,18
+	FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,23
+	FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,19
+	FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,22
+	FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,18
+	FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,19
+	FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,4
+	FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,5
+	FLYWARP_DATA VICTORY_ROAD_2F_WIDTH,16,22
+	FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16
+	FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16
+	FLYWARP_DATA POKEMON_MANSION_2F_WIDTH,14,18
 
 ;Format:
 ;	db Map_id
--- a/data/super_rod.asm
+++ b/data/super_rod.asm
@@ -25,15 +25,15 @@
 	dbw ROUTE_25, FishingGroup3
 	dbw CERULEAN_GYM, FishingGroup3
 	dbw VERMILION_DOCK, FishingGroup4
-	dbw SEAFOAM_ISLANDS_4, FishingGroup8
-	dbw SEAFOAM_ISLANDS_5, FishingGroup8
+	dbw SEAFOAM_ISLANDS_B3F, FishingGroup8
+	dbw SEAFOAM_ISLANDS_B4F, FishingGroup8
 	dbw SAFARI_ZONE_EAST, FishingGroup6
 	dbw SAFARI_ZONE_NORTH, FishingGroup6
 	dbw SAFARI_ZONE_WEST, FishingGroup6
 	dbw SAFARI_ZONE_CENTER, FishingGroup6
-	dbw UNKNOWN_DUNGEON_2, FishingGroup9
-	dbw UNKNOWN_DUNGEON_3, FishingGroup9
-	dbw UNKNOWN_DUNGEON_1, FishingGroup9
+	dbw CERULEAN_CAVE_2F, FishingGroup9
+	dbw CERULEAN_CAVE_B1F, FishingGroup9
+	dbw CERULEAN_CAVE_1F, FishingGroup9
 	db $FF
 
 ; fishing groups
--- a/data/town_map_entries.asm
+++ b/data/town_map_entries.asm
@@ -38,64 +38,64 @@
 	EMAP $B,$0,Route25Name
 
 InternalMapEntries:
-	IMAP OAKS_LAB,                  $2,$B,PalletTownName
-	IMAP VIRIDIAN_GYM,              $2,$8,ViridianCityName
-	IMAP VIRIDIAN_FOREST_ENTRANCE,  $2,$6,Route2Name
-	IMAP VIRIDIAN_FOREST,           $2,$4,ViridianForestName
-	IMAP PEWTER_POKECENTER,         $2,$3,PewterCityName
-	IMAP MT_MOON_3,                 $6,$2,MountMoonName
-	IMAP CERULEAN_MART,             $A,$2,CeruleanCityName
-	IMAP MT_MOON_POKECENTER,        $5,$2,Route4Name
-	IMAP TRASHED_HOUSE_COPY,        $A,$2,CeruleanCityName
-	IMAP DAYCAREM,                  $A,$4,Route5Name
-	IMAP PATH_ENTRANCE_ROUTE_6_COPY,$A,$6,Route6Name
-	IMAP PATH_ENTRANCE_ROUTE_7_COPY,$9,$5,Route7Name
-	IMAP PATH_ENTRANCE_ROUTE_8,     $B,$5,Route8Name
-	IMAP ROCK_TUNNEL_1,             $E,$3,RockTunnelName
-	IMAP POWER_PLANT,               $F,$4,PowerPlantName
-	IMAP ROUTE_11_GATE_2F,          $D,$9,Route11Name
-	IMAP ROUTE_12_GATE_1F,          $E,$7,Route12Name
-	IMAP BILLS_HOUSE,               $C,$0,SeaCottageName
-	IMAP VERMILION_DOCK,            $A,$9,VermilionCityName
-	IMAP SS_ANNE_10,                $9,$A,SSAnneName
-	IMAP VICTORY_ROAD_1,            $0,$4,VictoryRoadName
-	IMAP HALL_OF_FAME,              $0,$2,PokemonLeagueName
-	IMAP UNDERGROUND_PATH_NS,       $A,$5,UndergroundPathName
-	IMAP CHAMPIONS_ROOM,            $0,$2,PokemonLeagueName
-	IMAP UNDERGROUND_PATH_WE,       $A,$5,UndergroundPathName
-	IMAP CELADON_HOTEL,             $7,$5,CeladonCityName
-	IMAP LAVENDER_POKECENTER,       $E,$5,LavenderTownName
-	IMAP POKEMONTOWER_7,            $F,$5,PokemonTowerName
-	IMAP LAVENDER_HOUSE_2,          $E,$5,LavenderTownName
-	IMAP FUCHSIA_HOUSE_2,           $8,$D,FuchsiaCityName
-	IMAP SAFARI_ZONE_ENTRANCE,      $8,$C,SafariZoneName
-	IMAP FUCHSIA_MEETING_ROOM,      $8,$D,FuchsiaCityName
-	IMAP SEAFOAM_ISLANDS_5,         $5,$F,SeafoamIslandsName
-	IMAP VERMILION_HOUSE_2,         $A,$9,VermilionCityName
-	IMAP FUCHSIA_HOUSE_3,           $8,$D,FuchsiaCityName
-	IMAP MANSION_1,                 $2,$F,PokemonMansionName
-	IMAP CINNABAR_MART_COPY,        $2,$F,CinnabarIslandName
-	IMAP INDIGO_PLATEAU_LOBBY,      $0,$2,IndigoPlateauName
-	IMAP SAFFRON_HOUSE_2,           $A,$5,SaffronCityName
-	IMAP ROUTE_15_GATE_2F,          $9,$D,Route15Name
-	IMAP ROUTE_16_HOUSE,            $4,$5,Route16Name
-	IMAP ROUTE_12_HOUSE,            $E,$A,Route12Name
-	IMAP ROUTE_18_GATE_2F,          $7,$D,Route18Name
-	IMAP SEAFOAM_ISLANDS_1,         $5,$F,SeafoamIslandsName
-	IMAP ROUTE_22_GATE,             $0,$7,Route22Name
-	IMAP VICTORY_ROAD_2,            $0,$4,VictoryRoadName
-	IMAP ROUTE_12_GATE_2F,          $E,$7,Route12Name
-	IMAP VERMILION_HOUSE_3,         $A,$9,VermilionCityName
-	IMAP DIGLETTS_CAVE,             $3,$4,DiglettsCaveName
-	IMAP VICTORY_ROAD_3,            $0,$4,VictoryRoadName
-	IMAP UNUSED_MAP_CE,             $7,$5,RocketHQName
-	IMAP SILPH_CO_8F,               $A,$5,SilphCoName
-	IMAP MANSION_4,                 $2,$F,PokemonMansionName
-	IMAP SAFARI_ZONE_REST_HOUSE_4,  $8,$C,SafariZoneName
-	IMAP UNKNOWN_DUNGEON_1,         $9,$1,CeruleanCaveName
-	IMAP NAME_RATERS_HOUSE,         $E,$5,LavenderTownName
-	IMAP CERULEAN_HOUSE_2,          $A,$2,CeruleanCityName
-	IMAP ROCK_TUNNEL_2,             $E,$3,RockTunnelName
-	IMAP SILPH_CO_ELEVATOR,         $A,$5,SilphCoName
-	IMAP AGATHAS_ROOM,              $0,$2,PokemonLeagueName
+	IMAP OAKS_LAB,                      $2,$B,PalletTownName
+	IMAP VIRIDIAN_GYM,                  $2,$8,ViridianCityName
+	IMAP VIRIDIAN_FOREST_SOUTH_GATE,    $2,$6,Route2Name
+	IMAP VIRIDIAN_FOREST,               $2,$4,ViridianForestName
+	IMAP PEWTER_POKECENTER,             $2,$3,PewterCityName
+	IMAP MT_MOON_B2F,                   $6,$2,MountMoonName
+	IMAP CERULEAN_MART,                 $A,$2,CeruleanCityName
+	IMAP MT_MOON_POKECENTER,            $5,$2,Route4Name
+	IMAP CERULEAN_TRASHED_HOUSE_COPY,   $A,$2,CeruleanCityName
+	IMAP DAYCARE,                       $A,$4,Route5Name
+	IMAP UNDERGROUND_PATH_ROUTE_6_COPY, $A,$6,Route6Name
+	IMAP UNDERGROUND_PATH_ROUTE_7_COPY, $9,$5,Route7Name
+	IMAP UNDERGROUND_PATH_ROUTE_8,      $B,$5,Route8Name
+	IMAP ROCK_TUNNEL_1F,                $E,$3,RockTunnelName
+	IMAP POWER_PLANT,                   $F,$4,PowerPlantName
+	IMAP ROUTE_11_GATE_2F,              $D,$9,Route11Name
+	IMAP ROUTE_12_GATE_1F,              $E,$7,Route12Name
+	IMAP BILLS_HOUSE,                   $C,$0,SeaCottageName
+	IMAP VERMILION_DOCK,                $A,$9,VermilionCityName
+	IMAP SS_ANNE_B1F_ROOMS,             $9,$A,SSAnneName
+	IMAP VICTORY_ROAD_1F,               $0,$4,VictoryRoadName
+	IMAP HALL_OF_FAME,                  $0,$2,PokemonLeagueName
+	IMAP UNDERGROUND_PATH_NORTH_SOUTH,  $A,$5,UndergroundPathName
+	IMAP CHAMPIONS_ROOM,                $0,$2,PokemonLeagueName
+	IMAP UNDERGROUND_PATH_WEST_EAST,    $A,$5,UndergroundPathName
+	IMAP CELADON_HOTEL,                 $7,$5,CeladonCityName
+	IMAP LAVENDER_POKECENTER,           $E,$5,LavenderTownName
+	IMAP POKEMON_TOWER_7F,              $F,$5,PokemonTowerName
+	IMAP LAVENDER_CUBONE_HOUSE,         $E,$5,LavenderTownName
+	IMAP WARDENS_HOUSE,                 $8,$D,FuchsiaCityName
+	IMAP SAFARI_ZONE_GATE,              $8,$C,SafariZoneName
+	IMAP FUCHSIA_MEETING_ROOM,          $8,$D,FuchsiaCityName
+	IMAP SEAFOAM_ISLANDS_B4F,           $5,$F,SeafoamIslandsName
+	IMAP VERMILION_OLD_ROD_HOUSE,       $A,$9,VermilionCityName
+	IMAP FUCHSIA_GOOD_ROD_HOUSE,        $8,$D,FuchsiaCityName
+	IMAP POKEMON_MANSION_1F,            $2,$F,PokemonMansionName
+	IMAP CINNABAR_MART_COPY,            $2,$F,CinnabarIslandName
+	IMAP INDIGO_PLATEAU_LOBBY,          $0,$2,IndigoPlateauName
+	IMAP MR_PSYCHICS_HOUSE,             $A,$5,SaffronCityName
+	IMAP ROUTE_15_GATE_2F,              $9,$D,Route15Name
+	IMAP ROUTE_16_FLY_HOUSE,            $4,$5,Route16Name
+	IMAP ROUTE_12_SUPER_ROD_HOUSE,      $E,$A,Route12Name
+	IMAP ROUTE_18_GATE_2F,              $7,$D,Route18Name
+	IMAP SEAFOAM_ISLANDS_1F,            $5,$F,SeafoamIslandsName
+	IMAP ROUTE_22_GATE,                 $0,$7,Route22Name
+	IMAP VICTORY_ROAD_2F,               $0,$4,VictoryRoadName
+	IMAP ROUTE_12_GATE_2F,              $E,$7,Route12Name
+	IMAP VERMILION_TRADE_HOUSE,         $A,$9,VermilionCityName
+	IMAP DIGLETTS_CAVE,                 $3,$4,DiglettsCaveName
+	IMAP VICTORY_ROAD_3F,               $0,$4,VictoryRoadName
+	IMAP UNUSED_MAP_CE,                 $7,$5,RocketHQName
+	IMAP SILPH_CO_8F,                   $A,$5,SilphCoName
+	IMAP POKEMON_MANSION_B1F,           $2,$F,PokemonMansionName
+	IMAP SAFARI_ZONE_NORTH_REST_HOUSE,  $8,$C,SafariZoneName
+	IMAP CERULEAN_CAVE_1F,              $9,$1,CeruleanCaveName
+	IMAP NAME_RATERS_HOUSE,             $E,$5,LavenderTownName
+	IMAP CERULEAN_BADGE_HOUSE,          $A,$2,CeruleanCityName
+	IMAP ROCK_TUNNEL_B1F,               $E,$3,RockTunnelName
+	IMAP SILPH_CO_ELEVATOR,             $A,$5,SilphCoName
+	IMAP AGATHAS_ROOM,                  $0,$2,PokemonLeagueName
 	db $FF
--- a/data/town_map_order.asm
+++ b/data/town_map_order.asm
@@ -7,7 +7,7 @@
 	db DIGLETTS_CAVE
 	db PEWTER_CITY
 	db ROUTE_3
-	db MT_MOON_1
+	db MT_MOON_1F
 	db ROUTE_4
 	db CERULEAN_CITY
 	db ROUTE_24
@@ -16,12 +16,12 @@
 	db ROUTE_5
 	db ROUTE_6
 	db VERMILION_CITY
-	db SS_ANNE_1
+	db SS_ANNE_1F
 	db ROUTE_9
 	db ROCK_TUNNEL_POKECENTER
 	db ROUTE_10
 	db LAVENDER_TOWN
-	db POKEMONTOWER_2
+	db POKEMON_TOWER_2F
 	db ROUTE_8
 	db ROUTE_7
 	db CELADON_CITY
@@ -37,13 +37,13 @@
 	db FUCHSIA_CITY
 	db SAFARI_ZONE_EAST
 	db ROUTE_19
-	db SEAFOAM_ISLANDS_2
+	db SEAFOAM_ISLANDS_B1F
 	db ROUTE_20
 	db CINNABAR_ISLAND
 	db ROUTE_21
 	db ROUTE_22
 	db ROUTE_23
-	db VICTORY_ROAD_3
+	db VICTORY_ROAD_3F
 	db INDIGO_PLATEAU
 	db POWER_PLANT
 TownMapOrderEnd:
--- a/engine/battle/battle_transitions.asm
+++ b/engine/battle/battle_transitions.asm
@@ -118,8 +118,8 @@
 	ld [wBattleTransitionSpiralDirection], a
 	ret
 
-; fails to recognize VICTORY_ROAD_2, VICTORY_ROAD_3, all ROCKET_HIDEOUT maps,
-; MANSION_1, SEAFOAM_ISLANDS_[2-5], POWER_PLANT, DIGLETTS_CAVE
+; fails to recognize VICTORY_ROAD_2F, VICTORY_ROAD_3F, all ROCKET_HIDEOUT maps,
+; POKEMON_MANSION_1F, SEAFOAM_ISLANDS_[B1F-B4F], POWER_PLANT, DIGLETTS_CAVE
 ; and SILPH_CO_[9-11]F as dungeon maps
 GetBattleTransitionID_IsDungeonMap:
 	ld a, [wCurMap]
@@ -155,9 +155,9 @@
 ; is equal to one of these maps
 DungeonMaps1:
 	db VIRIDIAN_FOREST
-	db ROCK_TUNNEL_1
-	db SEAFOAM_ISLANDS_1
-	db ROCK_TUNNEL_2
+	db ROCK_TUNNEL_1F
+	db SEAFOAM_ISLANDS_1F
+	db ROCK_TUNNEL_B1F
 	db $FF
 
 ; GetBattleTransitionID_IsDungeonMap checks if wCurMap
@@ -164,21 +164,21 @@
 ; is in between or equal to each pair of maps
 DungeonMaps2:
 	; all MT_MOON maps
-	db MT_MOON_1
-	db MT_MOON_3
+	db MT_MOON_1F
+	db MT_MOON_B2F
 
-	; all SS_ANNE maps, VICTORY_ROAD_1, LANCES_ROOM, and HALL_OF_FAME
-	db SS_ANNE_1
+	; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME
+	db SS_ANNE_1F
 	db HALL_OF_FAME
 
-	; all POKEMONTOWER maps and Lavender Town buildings
+	; all POKEMON_TOWER maps and Lavender Town buildings
 	db LAVENDER_POKECENTER
-	db LAVENDER_HOUSE_2
+	db LAVENDER_CUBONE_HOUSE
 
-	; SILPH_CO_[2-8]F, MANSION[2-4], SAFARI_ZONE, and UNKNOWN_DUNGEON maps,
-	; except for SILPH_CO_1F
+	; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and
+	; CERULEAN_CAVE maps, except for SILPH_CO_1F
 	db SILPH_CO_2F
-	db UNKNOWN_DUNGEON_1
+	db CERULEAN_CAVE_1F
 	db $FF
 
 LoadBattleTransitionTile:
--- a/engine/battle/common_text.asm
+++ b/engine/battle/common_text.asm
@@ -3,9 +3,9 @@
 	dec a
 	jr nz, .trainerBattle
 	ld a, [wCurMap]
-	cp POKEMONTOWER_3
+	cp POKEMON_TOWER_3F
 	jr c, .notPokemonTower
-	cp LAVENDER_HOUSE_1
+	cp MR_FUJIS_HOUSE
 	jr c, .pokemonTower
 .notPokemonTower
 	ld a, [wEnemyMonSpecies2]
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -3371,9 +3371,9 @@
 	dec a
 	ret nz
 	ld a, [wCurMap]
-	cp POKEMONTOWER_1
+	cp POKEMON_TOWER_1F
 	jr c, .next
-	cp LAVENDER_HOUSE_1
+	cp MR_FUJIS_HOUSE
 	jr nc, .next
 	ld b, SILPH_SCOPE
 	call IsItemInBag
--- a/engine/battle/init_battle_variables.asm
+++ b/engine/battle/init_battle_variables.asm
@@ -30,7 +30,7 @@
 	ld a, [wCurMap]
 	cp SAFARI_ZONE_EAST
 	jr c, .notSafariBattle
-	cp SAFARI_ZONE_REST_HOUSE_1
+	cp SAFARI_ZONE_CENTER_REST_HOUSE
 	jr nc, .notSafariBattle
 	ld a, BATTLE_TYPE_SAFARI
 	ld [wBattleType], a
--- a/engine/hidden_object_functions7.asm
+++ b/engine/hidden_object_functions7.asm
@@ -79,12 +79,12 @@
 	call DisplayTextID
 	xor a
 	ld [wPlayerMovingDirection], a
-	ld a, SAFARI_ZONE_ENTRANCE
+	ld a, SAFARI_ZONE_GATE
 	ld [hWarpDestinationMap], a
 	ld a, $3
 	ld [wDestinationWarpID], a
 	ld a, $5
-	ld [wSafariZoneEntranceCurScript], a
+	ld [wSafariZoneGateCurScript], a
 	SetEvent EVENT_SAFARI_GAME_OVER
 	ld a, 1
 	ld [wSafariZoneGameOver], a
--- a/engine/items/items.asm
+++ b/engine/items/items.asm
@@ -166,7 +166,7 @@
 ; If the player is fighting the ghost Marowak, set the value that indicates the
 ; Pokémon can't be caught and skip the capture calculations.
 	ld a, [wCurMap]
-	cp POKEMONTOWER_6
+	cp POKEMON_TOWER_6F
 	jr nz, .loop
 	ld a, [wEnemyMonSpecies2]
 	cp MAROWAK
@@ -1511,7 +1511,7 @@
 	ResetEvent EVENT_IN_SAFARI_ZONE
 	xor a
 	ld [wNumSafariBalls], a
-	ld [wSafariZoneEntranceCurScript], a
+	ld [wSafariZoneGateCurScript], a
 	inc a
 	ld [wEscapedFromBattle], a
 	ld [wActionResultOrTookBattleTurn], a ; item used
--- a/engine/overworld/field_move_messages.asm
+++ b/engine/overworld/field_move_messages.asm
@@ -28,7 +28,7 @@
 	bit 5, a
 	jr nz, .forcedToRideBike
 	ld a, [wCurMap]
-	cp SEAFOAM_ISLANDS_5
+	cp SEAFOAM_ISLANDS_B4F
 	ret nz
 	CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
 	ret z
--- a/engine/overworld/npc_movement.asm
+++ b/engine/overworld/npc_movement.asm
@@ -268,7 +268,7 @@
 
 FreezeEnemyTrainerSprite:
 	ld a, [wCurMap]
-	cp POKEMONTOWER_7
+	cp POKEMON_TOWER_7F
 	ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them
 	ld hl, RivalIDs
 	ld a, [wEngagedTrainerClass]
--- a/engine/overworld/player_state.asm
+++ b/engine/overworld/player_state.asm
@@ -55,14 +55,14 @@
 	cp c ;compare x-coord
 	jr nz, .loop ; incorrect x-coord, check next item
 	ld a, [wCurMap]
-	cp SEAFOAM_ISLANDS_4
+	cp SEAFOAM_ISLANDS_B3F
 	ld a, $2
-	ld [wSeafoamIslands4CurScript], a
+	ld [wSeafoamIslandsB3FCurScript], a
 	jr z, .forceSurfing
 	ld a, [wCurMap]
-	cp SEAFOAM_ISLANDS_5
+	cp SEAFOAM_ISLANDS_B4F
 	ld a, $2
-	ld [wSeafoamIslands5CurScript], a
+	ld [wSeafoamIslandsB4FCurScript], a
 	jr z, .forceSurfing
 	;force bike riding
 	ld hl, wd732
@@ -156,7 +156,7 @@
 	push bc
 	call _GetTileAndCoordsInFrontOfPlayer
 	ld a, [wCurMap]
-	cp SS_ANNE_5
+	cp SS_ANNE_BOW
 	jr z, .ssAnne5
 	ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction
 	srl a
@@ -237,7 +237,7 @@
 	ld a, [wCurMap]
 	cp SAFARI_ZONE_EAST
 	ret c
-	cp UNKNOWN_DUNGEON_2
+	cp CERULEAN_CAVE_2F
 	ret nc
 	coord hl, 0, 0
 	ld b, 3
--- a/engine/overworld/set_blackout_map.asm
+++ b/engine/overworld/set_blackout_map.asm
@@ -23,7 +23,7 @@
 	ret
 
 SafariZoneRestHouses:
-	db SAFARI_ZONE_REST_HOUSE_2
-	db SAFARI_ZONE_REST_HOUSE_3
-	db SAFARI_ZONE_REST_HOUSE_4
+	db SAFARI_ZONE_WEST_REST_HOUSE
+	db SAFARI_ZONE_EAST_REST_HOUSE
+	db SAFARI_ZONE_NORTH_REST_HOUSE
 	db -1
--- a/engine/palettes.asm
+++ b/engine/palettes.asm
@@ -147,7 +147,7 @@
 	ld a, [wCurMap]
 	cp REDS_HOUSE_1F
 	jr c, .townOrRoute
-	cp UNKNOWN_DUNGEON_2
+	cp CERULEAN_CAVE_2F
 	jr c, .normalDungeonOrBuilding
 	cp NAME_RATERS_HOUSE
 	jr c, .caveOrBruno
binary files a/gfx/blocksets/facility.bst b/gfx/blocksets/facility.bst differ
--- a/home.asm
+++ b/home.asm
@@ -1,4 +1,3 @@
-
 ; The rst vectors are unused.
 SECTION "rst 00", ROM0
 	rst $38
@@ -83,7 +82,6 @@
 INCLUDE "home/copy.asm"
 
 
-
 SECTION "Entry", ROM0
 
 	nop
@@ -96,7 +94,6 @@
 	; The space here is allocated to prevent code from being overwritten.
 
 	ds $150 - $104
-
 
 
 SECTION "Main", ROM0
--- a/home/overworld.asm
+++ b/home/overworld.asm
@@ -494,7 +494,7 @@
 	ld [wUnusedD366], a ; not read
 	ld a, [hWarpDestinationMap]
 	ld [wCurMap], a
-	cp ROCK_TUNNEL_1
+	cp ROCK_TUNNEL_1F
 	jr nz, .notRockTunnel
 	ld a, $06
 	ld [wMapPalOffset], a
@@ -718,15 +718,15 @@
 ; sets carry if the check passes, otherwise clears carry
 ExtraWarpCheck::
 	ld a, [wCurMap]
-	cp SS_ANNE_3
+	cp SS_ANNE_3F
 	jr z, .useFunction1
-	cp ROCKET_HIDEOUT_1
+	cp ROCKET_HIDEOUT_B1F
 	jr z, .useFunction2
-	cp ROCKET_HIDEOUT_2
+	cp ROCKET_HIDEOUT_B2F
 	jr z, .useFunction2
-	cp ROCKET_HIDEOUT_4
+	cp ROCKET_HIDEOUT_B4F
 	jr z, .useFunction2
-	cp ROCK_TUNNEL_1
+	cp ROCK_TUNNEL_1F
 	jr z, .useFunction2
 	ld a, [wCurMapTileset]
 	and a ; outside tileset (OVERWORLD)
--- a/main.asm
+++ b/main.asm
@@ -86,6 +86,7 @@
 
 INCLUDE "engine/display_pokedex.asm"
 
+
 SECTION "bank3", ROMX
 
 INCLUDE "engine/joypad.asm"
@@ -127,6 +128,7 @@
 INCLUDE "engine/hp_bar.asm"
 INCLUDE "engine/hidden_object_functions3.asm"
 
+
 SECTION "NPC Sprites 1", ROMX ; BANK $04
 
 OakAideSprite:         INCBIN "gfx/sprites/oak_aide.2bpp"
@@ -262,74 +264,74 @@
 
 SECTION "bank6", ROMX
 
-INCLUDE "data/mapHeaders/celadoncity.asm"
-INCLUDE "data/mapObjects/celadoncity.asm"
-CeladonCityBlocks: INCBIN "maps/celadoncity.blk"
+INCLUDE "data/mapHeaders/CeladonCity.asm"
+INCLUDE "data/mapObjects/CeladonCity.asm"
+CeladonCity_Blocks: INCBIN "maps/CeladonCity.blk"
 
-INCLUDE "data/mapHeaders/pallettown.asm"
-INCLUDE "data/mapObjects/pallettown.asm"
-PalletTownBlocks: INCBIN "maps/pallettown.blk"
+INCLUDE "data/mapHeaders/PalletTown.asm"
+INCLUDE "data/mapObjects/PalletTown.asm"
+PalletTown_Blocks: INCBIN "maps/PalletTown.blk"
 
-INCLUDE "data/mapHeaders/viridiancity.asm"
-INCLUDE "data/mapObjects/viridiancity.asm"
-ViridianCityBlocks: INCBIN "maps/viridiancity.blk"
+INCLUDE "data/mapHeaders/ViridianCity.asm"
+INCLUDE "data/mapObjects/ViridianCity.asm"
+ViridianCity_Blocks: INCBIN "maps/ViridianCity.blk"
 
-INCLUDE "data/mapHeaders/pewtercity.asm"
-	db $0
-INCLUDE "data/mapObjects/pewtercity.asm"
-PewterCityBlocks: INCBIN "maps/pewtercity.blk"
+INCLUDE "data/mapHeaders/PewterCity.asm"
+	ds 1
+INCLUDE "data/mapObjects/PewterCity.asm"
+PewterCity_Blocks: INCBIN "maps/PewterCity.blk"
 
-INCLUDE "data/mapHeaders/ceruleancity.asm"
-INCLUDE "data/mapObjects/ceruleancity.asm"
-CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk"
+INCLUDE "data/mapHeaders/CeruleanCity.asm"
+INCLUDE "data/mapObjects/CeruleanCity.asm"
+CeruleanCity_Blocks: INCBIN "maps/CeruleanCity.blk"
 
-INCLUDE "data/mapHeaders/vermilioncity.asm"
-INCLUDE "data/mapObjects/vermilioncity.asm"
-VermilionCityBlocks: INCBIN "maps/vermilioncity.blk"
+INCLUDE "data/mapHeaders/VermilionCity.asm"
+INCLUDE "data/mapObjects/VermilionCity.asm"
+VermilionCity_Blocks: INCBIN "maps/VermilionCity.blk"
 
-INCLUDE "data/mapHeaders/fuchsiacity.asm"
-INCLUDE "data/mapObjects/fuchsiacity.asm"
-FuchsiaCityBlocks: INCBIN "maps/fuchsiacity.blk"
+INCLUDE "data/mapHeaders/FuchsiaCity.asm"
+INCLUDE "data/mapObjects/FuchsiaCity.asm"
+FuchsiaCity_Blocks: INCBIN "maps/FuchsiaCity.blk"
 
 INCLUDE "engine/play_time.asm"
 
-INCLUDE "scripts/pallettown.asm"
-INCLUDE "scripts/viridiancity.asm"
-INCLUDE "scripts/pewtercity.asm"
-INCLUDE "scripts/ceruleancity.asm"
-INCLUDE "scripts/vermilioncity.asm"
-INCLUDE "scripts/celadoncity.asm"
-INCLUDE "scripts/fuchsiacity.asm"
+INCLUDE "scripts/PalletTown.asm"
+INCLUDE "scripts/ViridianCity.asm"
+INCLUDE "scripts/PewterCity.asm"
+INCLUDE "scripts/CeruleanCity.asm"
+INCLUDE "scripts/VermilionCity.asm"
+INCLUDE "scripts/CeladonCity.asm"
+INCLUDE "scripts/FuchsiaCity.asm"
 
-INCLUDE "data/mapHeaders/blueshouse.asm"
-INCLUDE "scripts/blueshouse.asm"
-INCLUDE "data/mapObjects/blueshouse.asm"
-BluesHouseBlocks: INCBIN "maps/blueshouse.blk"
+INCLUDE "data/mapHeaders/BluesHouse.asm"
+INCLUDE "scripts/BluesHouse.asm"
+INCLUDE "data/mapObjects/BluesHouse.asm"
+BluesHouse_Blocks: INCBIN "maps/BluesHouse.blk"
 
-INCLUDE "data/mapHeaders/vermilionhouse3.asm"
-INCLUDE "scripts/vermilionhouse3.asm"
-INCLUDE "data/mapObjects/vermilionhouse3.asm"
-VermilionHouse3Blocks: INCBIN "maps/vermilionhouse3.blk"
+INCLUDE "data/mapHeaders/VermilionTradeHouse.asm"
+INCLUDE "scripts/VermilionTradeHouse.asm"
+INCLUDE "data/mapObjects/VermilionTradeHouse.asm"
+VermilionTradeHouse_Blocks: INCBIN "maps/VermilionTradeHouse.blk"
 
-INCLUDE "data/mapHeaders/indigoplateaulobby.asm"
-INCLUDE "scripts/indigoplateaulobby.asm"
-INCLUDE "data/mapObjects/indigoplateaulobby.asm"
-IndigoPlateauLobbyBlocks: INCBIN "maps/indigoplateaulobby.blk"
+INCLUDE "data/mapHeaders/IndigoPlateauLobby.asm"
+INCLUDE "scripts/IndigoPlateauLobby.asm"
+INCLUDE "data/mapObjects/IndigoPlateauLobby.asm"
+IndigoPlateauLobby_Blocks: INCBIN "maps/IndigoPlateauLobby.blk"
 
-INCLUDE "data/mapHeaders/silphco4.asm"
-INCLUDE "scripts/silphco4.asm"
-INCLUDE "data/mapObjects/silphco4.asm"
-SilphCo4Blocks: INCBIN "maps/silphco4.blk"
+INCLUDE "data/mapHeaders/SilphCo4F.asm"
+INCLUDE "scripts/SilphCo4F.asm"
+INCLUDE "data/mapObjects/SilphCo4F.asm"
+SilphCo4F_Blocks: INCBIN "maps/SilphCo4F.blk"
 
-INCLUDE "data/mapHeaders/silphco5.asm"
-INCLUDE "scripts/silphco5.asm"
-INCLUDE "data/mapObjects/silphco5.asm"
-SilphCo5Blocks: INCBIN "maps/silphco5.blk"
+INCLUDE "data/mapHeaders/SilphCo5F.asm"
+INCLUDE "scripts/SilphCo5F.asm"
+INCLUDE "data/mapObjects/SilphCo5F.asm"
+SilphCo5F_Blocks: INCBIN "maps/SilphCo5F.blk"
 
-INCLUDE "data/mapHeaders/silphco6.asm"
-INCLUDE "scripts/silphco6.asm"
-INCLUDE "data/mapObjects/silphco6.asm"
-SilphCo6Blocks: INCBIN "maps/silphco6.blk"
+INCLUDE "data/mapHeaders/SilphCo6F.asm"
+INCLUDE "scripts/SilphCo6F.asm"
+INCLUDE "data/mapObjects/SilphCo6F.asm"
+SilphCo6F_Blocks: INCBIN "maps/SilphCo6F.blk"
 
 INCLUDE "engine/overworld/npc_movement.asm"
 INCLUDE "engine/overworld/doors.asm"
@@ -338,38 +340,38 @@
 
 SECTION "bank7", ROMX
 
-INCLUDE "data/mapHeaders/cinnabarisland.asm"
-INCLUDE "data/mapObjects/cinnabarisland.asm"
-CinnabarIslandBlocks: INCBIN "maps/cinnabarisland.blk"
+INCLUDE "data/mapHeaders/CinnabarIsland.asm"
+INCLUDE "data/mapObjects/CinnabarIsland.asm"
+CinnabarIsland_Blocks: INCBIN "maps/CinnabarIsland.blk"
 
-INCLUDE "data/mapHeaders/route1.asm"
-INCLUDE "data/mapObjects/route1.asm"
-Route1Blocks: INCBIN "maps/route1.blk"
+INCLUDE "data/mapHeaders/Route1.asm"
+INCLUDE "data/mapObjects/Route1.asm"
+Route1_Blocks: INCBIN "maps/Route1.blk"
 
-UndergroundPathEntranceRoute8Blocks: INCBIN "maps/undergroundpathentranceroute8.blk"
+UndergroundPathRoute8_Blocks: INCBIN "maps/UndergroundPathRoute8.blk"
 
-OaksLabBlocks: INCBIN "maps/oakslab.blk"
+OaksLab_Blocks: INCBIN "maps/OaksLab.blk"
 
-Route16HouseBlocks:
-Route2HouseBlocks:
-SaffronHouse1Blocks:
-SaffronHouse2Blocks:
-VermilionHouse1Blocks:
-NameRaterBlocks:
-LavenderHouse1Blocks:
-LavenderHouse2Blocks:
-CeruleanHouse1Blocks:
-PewterHouse1Blocks:
-PewterHouse2Blocks:
-ViridianHouseBlocks: INCBIN "maps/viridianhouse.blk"
+MrPsychicsHouse_Blocks:
+NameRatersHouse_Blocks:
+MrFujisHouse_Blocks:
+Route16FlyHouse_Blocks:
+Route2TradeHouse_Blocks:
+SaffronPidgeyHouse_Blocks:
+VermilionPidgeyHouse_Blocks:
+LavenderCuboneHouse_Blocks:
+CeruleanTradeHouse_Blocks:
+PewterNidoranHouse_Blocks:
+PewterSpeechHouse_Blocks:
+ViridianNicknameHouse_Blocks: INCBIN "maps/ViridianNicknameHouse.blk"
 
-CeladonMansion5Blocks:
-SchoolBlocks: INCBIN "maps/school.blk"
+CeladonMansionRoofHouse_Blocks:
+ViridianSchoolHouse_Blocks: INCBIN "maps/ViridianSchoolHouse.blk"
 
-CeruleanHouseTrashedBlocks: INCBIN "maps/ceruleanhousetrashed.blk"
+CeruleanTrashedHouse_Blocks: INCBIN "maps/CeruleanTrashedHouse.blk"
 
-DiglettsCaveEntranceRoute11Blocks:
-DiglettsCaveRoute2Blocks: INCBIN "maps/diglettscaveroute2.blk"
+DiglettsCaveRoute11_Blocks:
+DiglettsCaveRoute2_Blocks: INCBIN "maps/DiglettsCaveRoute2.blk"
 
 INCLUDE "text/monster_names.asm"
 
@@ -377,141 +379,141 @@
 
 INCLUDE "engine/predefs7.asm"
 
-INCLUDE "scripts/cinnabarisland.asm"
+INCLUDE "scripts/CinnabarIsland.asm"
 
-INCLUDE "scripts/route1.asm"
+INCLUDE "scripts/Route1.asm"
 
-INCLUDE "data/mapHeaders/oakslab.asm"
-INCLUDE "scripts/oakslab.asm"
-INCLUDE "data/mapObjects/oakslab.asm"
+INCLUDE "data/mapHeaders/OaksLab.asm"
+INCLUDE "scripts/OaksLab.asm"
+INCLUDE "data/mapObjects/OaksLab.asm"
 
-INCLUDE "data/mapHeaders/viridianmart.asm"
-INCLUDE "scripts/viridianmart.asm"
-INCLUDE "data/mapObjects/viridianmart.asm"
-ViridianMartBlocks: INCBIN "maps/viridianmart.blk"
+INCLUDE "data/mapHeaders/ViridianMart.asm"
+INCLUDE "scripts/ViridianMart.asm"
+INCLUDE "data/mapObjects/ViridianMart.asm"
+ViridianMart_Blocks: INCBIN "maps/ViridianMart.blk"
 
-INCLUDE "data/mapHeaders/school.asm"
-INCLUDE "scripts/school.asm"
-INCLUDE "data/mapObjects/school.asm"
+INCLUDE "data/mapHeaders/ViridianSchoolHouse.asm"
+INCLUDE "scripts/ViridianSchoolHouse.asm"
+INCLUDE "data/mapObjects/ViridianSchoolHouse.asm"
 
-INCLUDE "data/mapHeaders/viridianhouse.asm"
-	db $0
-INCLUDE "scripts/viridianhouse.asm"
-INCLUDE "data/mapObjects/viridianhouse.asm"
+INCLUDE "data/mapHeaders/ViridianNicknameHouse.asm"
+	ds 1
+INCLUDE "scripts/ViridianNicknameHouse.asm"
+INCLUDE "data/mapObjects/ViridianNicknameHouse.asm"
 
-INCLUDE "data/mapHeaders/pewterhouse1.asm"
-INCLUDE "scripts/pewterhouse1.asm"
-INCLUDE "data/mapObjects/pewterhouse1.asm"
+INCLUDE "data/mapHeaders/PewterNidoranHouse.asm"
+INCLUDE "scripts/PewterNidoranHouse.asm"
+INCLUDE "data/mapObjects/PewterNidoranHouse.asm"
 
-INCLUDE "data/mapHeaders/pewterhouse2.asm"
-INCLUDE "scripts/pewterhouse2.asm"
-INCLUDE "data/mapObjects/pewterhouse2.asm"
+INCLUDE "data/mapHeaders/PewterSpeechHouse.asm"
+INCLUDE "scripts/PewterSpeechHouse.asm"
+INCLUDE "data/mapObjects/PewterSpeechHouse.asm"
 
-INCLUDE "data/mapHeaders/ceruleanhousetrashed.asm"
-INCLUDE "scripts/ceruleanhousetrashed.asm"
-INCLUDE "data/mapObjects/ceruleanhousetrashed.asm"
+INCLUDE "data/mapHeaders/CeruleanTrashedHouse.asm"
+INCLUDE "scripts/CeruleanTrashedHouse.asm"
+INCLUDE "data/mapObjects/CeruleanTrashedHouse.asm"
 
-INCLUDE "data/mapHeaders/ceruleanhouse1.asm"
-INCLUDE "scripts/ceruleanhouse1.asm"
-INCLUDE "data/mapObjects/ceruleanhouse1.asm"
+INCLUDE "data/mapHeaders/CeruleanTradeHouse.asm"
+INCLUDE "scripts/CeruleanTradeHouse.asm"
+INCLUDE "data/mapObjects/CeruleanTradeHouse.asm"
 
-INCLUDE "data/mapHeaders/bikeshop.asm"
-INCLUDE "scripts/bikeshop.asm"
-INCLUDE "data/mapObjects/bikeshop.asm"
-BikeShopBlocks: INCBIN "maps/bikeshop.blk"
+INCLUDE "data/mapHeaders/BikeShop.asm"
+INCLUDE "scripts/BikeShop.asm"
+INCLUDE "data/mapObjects/BikeShop.asm"
+BikeShop_Blocks: INCBIN "maps/BikeShop.blk"
 
-INCLUDE "data/mapHeaders/lavenderhouse1.asm"
-INCLUDE "scripts/lavenderhouse1.asm"
-INCLUDE "data/mapObjects/lavenderhouse1.asm"
+INCLUDE "data/mapHeaders/MrFujisHouse.asm"
+INCLUDE "scripts/MrFujisHouse.asm"
+INCLUDE "data/mapObjects/MrFujisHouse.asm"
 
-INCLUDE "data/mapHeaders/lavenderhouse2.asm"
-INCLUDE "scripts/lavenderhouse2.asm"
-INCLUDE "data/mapObjects/lavenderhouse2.asm"
+INCLUDE "data/mapHeaders/LavenderCuboneHouse.asm"
+INCLUDE "scripts/LavenderCuboneHouse.asm"
+INCLUDE "data/mapObjects/LavenderCuboneHouse.asm"
 
-INCLUDE "data/mapHeaders/namerater.asm"
-INCLUDE "scripts/namerater.asm"
-INCLUDE "data/mapObjects/namerater.asm"
+INCLUDE "data/mapHeaders/NameRatersHouse.asm"
+INCLUDE "scripts/NameRatersHouse.asm"
+INCLUDE "data/mapObjects/NameRatersHouse.asm"
 
-INCLUDE "data/mapHeaders/vermilionhouse1.asm"
-INCLUDE "scripts/vermilionhouse1.asm"
-INCLUDE "data/mapObjects/vermilionhouse1.asm"
+INCLUDE "data/mapHeaders/VermilionPidgeyHouse.asm"
+INCLUDE "scripts/VermilionPidgeyHouse.asm"
+INCLUDE "data/mapObjects/VermilionPidgeyHouse.asm"
 
-INCLUDE "data/mapHeaders/vermiliondock.asm"
-INCLUDE "scripts/vermiliondock.asm"
-INCLUDE "data/mapObjects/vermiliondock.asm"
-VermilionDockBlocks: INCBIN "maps/vermiliondock.blk"
+INCLUDE "data/mapHeaders/VermilionDock.asm"
+INCLUDE "scripts/VermilionDock.asm"
+INCLUDE "data/mapObjects/VermilionDock.asm"
+VermilionDock_Blocks: INCBIN "maps/VermilionDock.blk"
 
-INCLUDE "data/mapHeaders/celadonmansion5.asm"
-INCLUDE "scripts/celadonmansion5.asm"
-INCLUDE "data/mapObjects/celadonmansion5.asm"
+INCLUDE "data/mapHeaders/CeladonMansionRoofHouse.asm"
+INCLUDE "scripts/CeladonMansionRoofHouse.asm"
+INCLUDE "data/mapObjects/CeladonMansionRoofHouse.asm"
 
-INCLUDE "data/mapHeaders/fuchsiamart.asm"
-INCLUDE "scripts/fuchsiamart.asm"
-INCLUDE "data/mapObjects/fuchsiamart.asm"
-FuchsiaMartBlocks: INCBIN "maps/fuchsiamart.blk"
+INCLUDE "data/mapHeaders/FuchsiaMart.asm"
+INCLUDE "scripts/FuchsiaMart.asm"
+INCLUDE "data/mapObjects/FuchsiaMart.asm"
+FuchsiaMart_Blocks: INCBIN "maps/FuchsiaMart.blk"
 
-INCLUDE "data/mapHeaders/saffronhouse1.asm"
-INCLUDE "scripts/saffronhouse1.asm"
-INCLUDE "data/mapObjects/saffronhouse1.asm"
+INCLUDE "data/mapHeaders/SaffronPidgeyHouse.asm"
+INCLUDE "scripts/SaffronPidgeyHouse.asm"
+INCLUDE "data/mapObjects/SaffronPidgeyHouse.asm"
 
-INCLUDE "data/mapHeaders/saffronhouse2.asm"
-INCLUDE "scripts/saffronhouse2.asm"
-INCLUDE "data/mapObjects/saffronhouse2.asm"
+INCLUDE "data/mapHeaders/MrPsychicsHouse.asm"
+INCLUDE "scripts/MrPsychicsHouse.asm"
+INCLUDE "data/mapObjects/MrPsychicsHouse.asm"
 
-INCLUDE "data/mapHeaders/diglettscaveroute2.asm"
-INCLUDE "scripts/diglettscaveroute2.asm"
-INCLUDE "data/mapObjects/diglettscaveroute2.asm"
+INCLUDE "data/mapHeaders/DiglettsCaveRoute2.asm"
+INCLUDE "scripts/DiglettsCaveRoute2.asm"
+INCLUDE "data/mapObjects/DiglettsCaveRoute2.asm"
 
-INCLUDE "data/mapHeaders/route2house.asm"
-INCLUDE "scripts/route2house.asm"
-INCLUDE "data/mapObjects/route2house.asm"
+INCLUDE "data/mapHeaders/Route2TradeHouse.asm"
+INCLUDE "scripts/Route2TradeHouse.asm"
+INCLUDE "data/mapObjects/Route2TradeHouse.asm"
 
-INCLUDE "data/mapHeaders/route5gate.asm"
-INCLUDE "scripts/route5gate.asm"
-INCLUDE "data/mapObjects/route5gate.asm"
-Route5GateBlocks: INCBIN "maps/route5gate.blk"
+INCLUDE "data/mapHeaders/Route5Gate.asm"
+INCLUDE "scripts/Route5Gate.asm"
+INCLUDE "data/mapObjects/Route5Gate.asm"
+Route5Gate_Blocks: INCBIN "maps/Route5Gate.blk"
 
-INCLUDE "data/mapHeaders/route6gate.asm"
-INCLUDE "scripts/route6gate.asm"
-INCLUDE "data/mapObjects/route6gate.asm"
-Route6GateBlocks: INCBIN "maps/route6gate.blk"
+INCLUDE "data/mapHeaders/Route6Gate.asm"
+INCLUDE "scripts/Route6Gate.asm"
+INCLUDE "data/mapObjects/Route6Gate.asm"
+Route6Gate_Blocks: INCBIN "maps/Route6Gate.blk"
 
-INCLUDE "data/mapHeaders/route7gate.asm"
-INCLUDE "scripts/route7gate.asm"
-INCLUDE "data/mapObjects/route7gate.asm"
-Route7GateBlocks: INCBIN "maps/route7gate.blk"
+INCLUDE "data/mapHeaders/Route7Gate.asm"
+INCLUDE "scripts/Route7Gate.asm"
+INCLUDE "data/mapObjects/Route7Gate.asm"
+Route7Gate_Blocks: INCBIN "maps/Route7Gate.blk"
 
-INCLUDE "data/mapHeaders/route8gate.asm"
-INCLUDE "scripts/route8gate.asm"
-INCLUDE "data/mapObjects/route8gate.asm"
-Route8GateBlocks: INCBIN "maps/route8gate.blk"
+INCLUDE "data/mapHeaders/Route8Gate.asm"
+INCLUDE "scripts/Route8Gate.asm"
+INCLUDE "data/mapObjects/Route8Gate.asm"
+Route8Gate_Blocks: INCBIN "maps/Route8Gate.blk"
 
-INCLUDE "data/mapHeaders/undergroundpathentranceroute8.asm"
-INCLUDE "scripts/undergroundpathentranceroute8.asm"
-INCLUDE "data/mapObjects/undergroundpathentranceroute8.asm"
+INCLUDE "data/mapHeaders/UndergroundPathRoute8.asm"
+INCLUDE "scripts/UndergroundPathRoute8.asm"
+INCLUDE "data/mapObjects/UndergroundPathRoute8.asm"
 
-INCLUDE "data/mapHeaders/powerplant.asm"
-INCLUDE "scripts/powerplant.asm"
-INCLUDE "data/mapObjects/powerplant.asm"
-PowerPlantBlocks: INCBIN "maps/powerplant.blk"
+INCLUDE "data/mapHeaders/PowerPlant.asm"
+INCLUDE "scripts/PowerPlant.asm"
+INCLUDE "data/mapObjects/PowerPlant.asm"
+PowerPlant_Blocks: INCBIN "maps/PowerPlant.blk"
 
-INCLUDE "data/mapHeaders/diglettscaveroute11.asm"
-INCLUDE "scripts/diglettscaveroute11.asm"
-INCLUDE "data/mapObjects/diglettscaveroute11.asm"
+INCLUDE "data/mapHeaders/DiglettsCaveRoute11.asm"
+INCLUDE "scripts/DiglettsCaveRoute11.asm"
+INCLUDE "data/mapObjects/DiglettsCaveRoute11.asm"
 
-INCLUDE "data/mapHeaders/route16house.asm"
-INCLUDE "scripts/route16house.asm"
-INCLUDE "data/mapObjects/route16house.asm"
+INCLUDE "data/mapHeaders/Route16FlyHouse.asm"
+INCLUDE "scripts/Route16FlyHouse.asm"
+INCLUDE "data/mapObjects/Route16FlyHouse.asm"
 
-INCLUDE "data/mapHeaders/route22gate.asm"
-INCLUDE "scripts/route22gate.asm"
-INCLUDE "data/mapObjects/route22gate.asm"
-Route22GateBlocks: INCBIN "maps/route22gate.blk"
+INCLUDE "data/mapHeaders/Route22Gate.asm"
+INCLUDE "scripts/Route22Gate.asm"
+INCLUDE "data/mapObjects/Route22Gate.asm"
+Route22Gate_Blocks: INCBIN "maps/Route22Gate.blk"
 
-INCLUDE "data/mapHeaders/billshouse.asm"
-INCLUDE "scripts/billshouse.asm"
-INCLUDE "data/mapObjects/billshouse.asm"
-BillsHouseBlocks: INCBIN "maps/billshouse.blk"
+INCLUDE "data/mapHeaders/BillsHouse.asm"
+INCLUDE "scripts/BillsHouse.asm"
+INCLUDE "data/mapObjects/BillsHouse.asm"
+BillsHouse_Blocks: INCBIN "maps/BillsHouse.blk"
 
 INCLUDE "engine/menu/oaks_pc.asm"
 
@@ -581,6 +583,7 @@
 
 
 SECTION "Battle (BANK 9)", ROMX
+
 INCLUDE "engine/battle/print_type.asm"
 INCLUDE "engine/battle/save_trainer_name.asm"
 INCLUDE "engine/battle/moveEffects/focus_energy_effect.asm"
@@ -655,6 +658,7 @@
 
 
 SECTION "Battle (BANK A)", ROMX
+
 INCLUDE "engine/battle/moveEffects/leech_seed_effect.asm"
 
 
@@ -814,6 +818,7 @@
 
 
 SECTION "Battle (BANK C)", ROMX
+
 INCLUDE "engine/battle/moveEffects/mist_effect.asm"
 INCLUDE "engine/battle/moveEffects/one_hit_ko_effect.asm"
 
@@ -926,145 +931,145 @@
 
 SECTION "bank11", ROMX
 
-INCLUDE "data/mapHeaders/lavendertown.asm"
-INCLUDE "data/mapObjects/lavendertown.asm"
-LavenderTownBlocks: INCBIN "maps/lavendertown.blk"
+INCLUDE "data/mapHeaders/LavenderTown.asm"
+INCLUDE "data/mapObjects/LavenderTown.asm"
+LavenderTown_Blocks: INCBIN "maps/LavenderTown.blk"
 
-ViridianPokecenterBlocks: INCBIN "maps/viridianpokecenter.blk"
+ViridianPokecenter_Blocks: INCBIN "maps/ViridianPokecenter.blk"
 
-SafariZoneRestHouse1Blocks:
-SafariZoneRestHouse2Blocks:
-SafariZoneRestHouse3Blocks:
-SafariZoneRestHouse4Blocks: INCBIN "maps/safarizoneresthouse1.blk"
+SafariZoneCenterRestHouse_Blocks:
+SafariZoneWestRestHouse_Blocks:
+SafariZoneEastRestHouse_Blocks:
+SafariZoneNorthRestHouse_Blocks: INCBIN "maps/SafariZoneCenterRestHouse.blk"
 
-INCLUDE "scripts/lavendertown.asm"
+INCLUDE "scripts/LavenderTown.asm"
 
 INCLUDE "engine/pokedex_rating.asm"
 
-INCLUDE "data/mapHeaders/viridianpokecenter.asm"
-INCLUDE "scripts/viridianpokecenter.asm"
-INCLUDE "data/mapObjects/viridianpokecenter.asm"
+INCLUDE "data/mapHeaders/ViridianPokecenter.asm"
+INCLUDE "scripts/ViridianPokecenter.asm"
+INCLUDE "data/mapObjects/ViridianPokecenter.asm"
 
-INCLUDE "data/mapHeaders/mansion1.asm"
-INCLUDE "scripts/mansion1.asm"
-INCLUDE "data/mapObjects/mansion1.asm"
-Mansion1Blocks: INCBIN "maps/mansion1.blk"
+INCLUDE "data/mapHeaders/PokemonMansion1F.asm"
+INCLUDE "scripts/PokemonMansion1F.asm"
+INCLUDE "data/mapObjects/PokemonMansion1F.asm"
+PokemonMansion1F_Blocks: INCBIN "maps/PokemonMansion1F.blk"
 
-INCLUDE "data/mapHeaders/rocktunnel1.asm"
-INCLUDE "scripts/rocktunnel1.asm"
-INCLUDE "data/mapObjects/rocktunnel1.asm"
-RockTunnel1Blocks: INCBIN "maps/rocktunnel1.blk"
+INCLUDE "data/mapHeaders/RockTunnel1F.asm"
+INCLUDE "scripts/RockTunnel1F.asm"
+INCLUDE "data/mapObjects/RockTunnel1F.asm"
+RockTunnel1F_Blocks: INCBIN "maps/RockTunnel1F.blk"
 
-INCLUDE "data/mapHeaders/seafoamislands1.asm"
-INCLUDE "scripts/seafoamislands1.asm"
-INCLUDE "data/mapObjects/seafoamislands1.asm"
-SeafoamIslands1Blocks: INCBIN "maps/seafoamislands1.blk"
+INCLUDE "data/mapHeaders/SeafoamIslands1F.asm"
+INCLUDE "scripts/SeafoamIslands1F.asm"
+INCLUDE "data/mapObjects/SeafoamIslands1F.asm"
+SeafoamIslands1F_Blocks: INCBIN "maps/SeafoamIslands1F.blk"
 
-INCLUDE "data/mapHeaders/ssanne3.asm"
-INCLUDE "scripts/ssanne3.asm"
-INCLUDE "data/mapObjects/ssanne3.asm"
-SSAnne3Blocks: INCBIN "maps/ssanne3.blk"
+INCLUDE "data/mapHeaders/SSAnne3F.asm"
+INCLUDE "scripts/SSAnne3F.asm"
+INCLUDE "data/mapObjects/SSAnne3F.asm"
+SSAnne3F_Blocks: INCBIN "maps/SSAnne3F.blk"
 
-INCLUDE "data/mapHeaders/victoryroad3.asm"
-INCLUDE "scripts/victoryroad3.asm"
-INCLUDE "data/mapObjects/victoryroad3.asm"
-VictoryRoad3Blocks: INCBIN "maps/victoryroad3.blk"
+INCLUDE "data/mapHeaders/VictoryRoad3F.asm"
+INCLUDE "scripts/VictoryRoad3F.asm"
+INCLUDE "data/mapObjects/VictoryRoad3F.asm"
+VictoryRoad3F_Blocks: INCBIN "maps/VictoryRoad3F.blk"
 
-INCLUDE "data/mapHeaders/rockethideout1.asm"
-INCLUDE "scripts/rockethideout1.asm"
-INCLUDE "data/mapObjects/rockethideout1.asm"
-RocketHideout1Blocks: INCBIN "maps/rockethideout1.blk"
+INCLUDE "data/mapHeaders/RocketHideoutB1F.asm"
+INCLUDE "scripts/RocketHideoutB1F.asm"
+INCLUDE "data/mapObjects/RocketHideoutB1F.asm"
+RocketHideoutB1F_Blocks: INCBIN "maps/RocketHideoutB1F.blk"
 
-INCLUDE "data/mapHeaders/rockethideout2.asm"
-INCLUDE "scripts/rockethideout2.asm"
-INCLUDE "data/mapObjects/rockethideout2.asm"
-RocketHideout2Blocks: INCBIN "maps/rockethideout2.blk"
+INCLUDE "data/mapHeaders/RocketHideoutB2F.asm"
+INCLUDE "scripts/RocketHideoutB2F.asm"
+INCLUDE "data/mapObjects/RocketHideoutB2F.asm"
+RocketHideoutB2F_Blocks: INCBIN "maps/RocketHideoutB2F.blk"
 
-INCLUDE "data/mapHeaders/rockethideout3.asm"
-INCLUDE "scripts/rockethideout3.asm"
-INCLUDE "data/mapObjects/rockethideout3.asm"
-RocketHideout3Blocks: INCBIN "maps/rockethideout3.blk"
+INCLUDE "data/mapHeaders/RocketHideoutB3F.asm"
+INCLUDE "scripts/RocketHideoutB3F.asm"
+INCLUDE "data/mapObjects/RocketHideoutB3F.asm"
+RocketHideoutB3F_Blocks: INCBIN "maps/RocketHideoutB3F.blk"
 
-INCLUDE "data/mapHeaders/rockethideout4.asm"
-INCLUDE "scripts/rockethideout4.asm"
-INCLUDE "data/mapObjects/rockethideout4.asm"
-RocketHideout4Blocks: INCBIN "maps/rockethideout4.blk"
+INCLUDE "data/mapHeaders/RocketHideoutB4F.asm"
+INCLUDE "scripts/RocketHideoutB4F.asm"
+INCLUDE "data/mapObjects/RocketHideoutB4F.asm"
+RocketHideoutB4F_Blocks: INCBIN "maps/RocketHideoutB4F.blk"
 
-INCLUDE "data/mapHeaders/rockethideoutelevator.asm"
-INCLUDE "scripts/rockethideoutelevator.asm"
-INCLUDE "data/mapObjects/rockethideoutelevator.asm"
-RocketHideoutElevatorBlocks: INCBIN "maps/rockethideoutelevator.blk"
+INCLUDE "data/mapHeaders/RocketHideoutElevator.asm"
+INCLUDE "scripts/RocketHideoutElevator.asm"
+INCLUDE "data/mapObjects/RocketHideoutElevator.asm"
+RocketHideoutElevator_Blocks: INCBIN "maps/RocketHideoutElevator.blk"
 
-INCLUDE "data/mapHeaders/silphcoelevator.asm"
-INCLUDE "scripts/silphcoelevator.asm"
-INCLUDE "data/mapObjects/silphcoelevator.asm"
-SilphCoElevatorBlocks: INCBIN "maps/silphcoelevator.blk"
+INCLUDE "data/mapHeaders/SilphCoElevator.asm"
+INCLUDE "scripts/SilphCoElevator.asm"
+INCLUDE "data/mapObjects/SilphCoElevator.asm"
+SilphCoElevator_Blocks: INCBIN "maps/SilphCoElevator.blk"
 
-INCLUDE "data/mapHeaders/safarizoneeast.asm"
-INCLUDE "scripts/safarizoneeast.asm"
-INCLUDE "data/mapObjects/safarizoneeast.asm"
-SafariZoneEastBlocks: INCBIN "maps/safarizoneeast.blk"
+INCLUDE "data/mapHeaders/SafariZoneEast.asm"
+INCLUDE "scripts/SafariZoneEast.asm"
+INCLUDE "data/mapObjects/SafariZoneEast.asm"
+SafariZoneEast_Blocks: INCBIN "maps/SafariZoneEast.blk"
 
-INCLUDE "data/mapHeaders/safarizonenorth.asm"
-INCLUDE "scripts/safarizonenorth.asm"
-INCLUDE "data/mapObjects/safarizonenorth.asm"
-SafariZoneNorthBlocks: INCBIN "maps/safarizonenorth.blk"
+INCLUDE "data/mapHeaders/SafariZoneNorth.asm"
+INCLUDE "scripts/SafariZoneNorth.asm"
+INCLUDE "data/mapObjects/SafariZoneNorth.asm"
+SafariZoneNorth_Blocks: INCBIN "maps/SafariZoneNorth.blk"
 
-INCLUDE "data/mapHeaders/safarizonecenter.asm"
-INCLUDE "scripts/safarizonecenter.asm"
-INCLUDE "data/mapObjects/safarizonecenter.asm"
-SafariZoneCenterBlocks: INCBIN "maps/safarizonecenter.blk"
+INCLUDE "data/mapHeaders/SafariZoneCenter.asm"
+INCLUDE "scripts/SafariZoneCenter.asm"
+INCLUDE "data/mapObjects/SafariZoneCenter.asm"
+SafariZoneCenter_Blocks: INCBIN "maps/SafariZoneCenter.blk"
 
-INCLUDE "data/mapHeaders/safarizoneresthouse1.asm"
-INCLUDE "scripts/safarizoneresthouse1.asm"
-INCLUDE "data/mapObjects/safarizoneresthouse1.asm"
+INCLUDE "data/mapHeaders/SafariZoneCenterRestHouse.asm"
+INCLUDE "scripts/SafariZoneCenterRestHouse.asm"
+INCLUDE "data/mapObjects/SafariZoneCenterRestHouse.asm"
 
-INCLUDE "data/mapHeaders/safarizoneresthouse2.asm"
-INCLUDE "scripts/safarizoneresthouse2.asm"
-INCLUDE "data/mapObjects/safarizoneresthouse2.asm"
+INCLUDE "data/mapHeaders/SafariZoneWestRestHouse.asm"
+INCLUDE "scripts/SafariZoneWestRestHouse.asm"
+INCLUDE "data/mapObjects/SafariZoneWestRestHouse.asm"
 
-INCLUDE "data/mapHeaders/safarizoneresthouse3.asm"
-INCLUDE "scripts/safarizoneresthouse3.asm"
-INCLUDE "data/mapObjects/safarizoneresthouse3.asm"
+INCLUDE "data/mapHeaders/SafariZoneEastRestHouse.asm"
+INCLUDE "scripts/SafariZoneEastRestHouse.asm"
+INCLUDE "data/mapObjects/SafariZoneEastRestHouse.asm"
 
-INCLUDE "data/mapHeaders/safarizoneresthouse4.asm"
-INCLUDE "scripts/safarizoneresthouse4.asm"
-INCLUDE "data/mapObjects/safarizoneresthouse4.asm"
+INCLUDE "data/mapHeaders/SafariZoneNorthRestHouse.asm"
+INCLUDE "scripts/SafariZoneNorthRestHouse.asm"
+INCLUDE "data/mapObjects/SafariZoneNorthRestHouse.asm"
 
-INCLUDE "data/mapHeaders/unknowndungeon2.asm"
-INCLUDE "scripts/unknowndungeon2.asm"
-INCLUDE "data/mapObjects/unknowndungeon2.asm"
-UnknownDungeon2Blocks: INCBIN "maps/unknowndungeon2.blk"
+INCLUDE "data/mapHeaders/CeruleanCave2F.asm"
+INCLUDE "scripts/CeruleanCave2F.asm"
+INCLUDE "data/mapObjects/CeruleanCave2F.asm"
+CeruleanCave2F_Blocks: INCBIN "maps/CeruleanCave2F.blk"
 
-INCLUDE "data/mapHeaders/unknowndungeon3.asm"
-INCLUDE "scripts/unknowndungeon3.asm"
-INCLUDE "data/mapObjects/unknowndungeon3.asm"
-UnknownDungeon3Blocks: INCBIN "maps/unknowndungeon3.blk"
+INCLUDE "data/mapHeaders/CeruleanCaveB1F.asm"
+INCLUDE "scripts/CeruleanCaveB1F.asm"
+INCLUDE "data/mapObjects/CeruleanCaveB1F.asm"
+CeruleanCaveB1F_Blocks: INCBIN "maps/CeruleanCaveB1F.blk"
 
-INCLUDE "data/mapHeaders/rocktunnel2.asm"
-INCLUDE "scripts/rocktunnel2.asm"
-INCLUDE "data/mapObjects/rocktunnel2.asm"
-RockTunnel2Blocks: INCBIN "maps/rocktunnel2.blk"
+INCLUDE "data/mapHeaders/RockTunnelB1F.asm"
+INCLUDE "scripts/RockTunnelB1F.asm"
+INCLUDE "data/mapObjects/RockTunnelB1F.asm"
+RockTunnelB1F_Blocks: INCBIN "maps/RockTunnelB1F.blk"
 
-INCLUDE "data/mapHeaders/seafoamislands2.asm"
-INCLUDE "scripts/seafoamislands2.asm"
-INCLUDE "data/mapObjects/seafoamislands2.asm"
-SeafoamIslands2Blocks: INCBIN "maps/seafoamislands2.blk"
+INCLUDE "data/mapHeaders/SeafoamIslandsB1F.asm"
+INCLUDE "scripts/SeafoamIslandsB1F.asm"
+INCLUDE "data/mapObjects/SeafoamIslandsB1F.asm"
+SeafoamIslandsB1F_Blocks: INCBIN "maps/SeafoamIslandsB1F.blk"
 
-INCLUDE "data/mapHeaders/seafoamislands3.asm"
-INCLUDE "scripts/seafoamislands3.asm"
-INCLUDE "data/mapObjects/seafoamislands3.asm"
-SeafoamIslands3Blocks: INCBIN "maps/seafoamislands3.blk"
+INCLUDE "data/mapHeaders/SeafoamIslandsB2F.asm"
+INCLUDE "scripts/SeafoamIslandsB2F.asm"
+INCLUDE "data/mapObjects/SeafoamIslandsB2F.asm"
+SeafoamIslandsB2F_Blocks: INCBIN "maps/SeafoamIslandsB2F.blk"
 
-INCLUDE "data/mapHeaders/seafoamislands4.asm"
-INCLUDE "scripts/seafoamislands4.asm"
-INCLUDE "data/mapObjects/seafoamislands4.asm"
-SeafoamIslands4Blocks: INCBIN "maps/seafoamislands4.blk"
+INCLUDE "data/mapHeaders/SeafoamIslandsB3F.asm"
+INCLUDE "scripts/SeafoamIslandsB3F.asm"
+INCLUDE "data/mapObjects/SeafoamIslandsB3F.asm"
+SeafoamIslandsB3F_Blocks: INCBIN "maps/SeafoamIslandsB3F.blk"
 
-INCLUDE "data/mapHeaders/seafoamislands5.asm"
-INCLUDE "scripts/seafoamislands5.asm"
-INCLUDE "data/mapObjects/seafoamislands5.asm"
-SeafoamIslands5Blocks: INCBIN "maps/seafoamislands5.blk"
+INCLUDE "data/mapHeaders/SeafoamIslandsB4F.asm"
+INCLUDE "scripts/SeafoamIslandsB4F.asm"
+INCLUDE "data/mapObjects/SeafoamIslandsB4F.asm"
+SeafoamIslandsB4F_Blocks: INCBIN "maps/SeafoamIslandsB4F.blk"
 
 INCLUDE "engine/overworld/hidden_objects.asm"
 
@@ -1071,181 +1076,181 @@
 
 SECTION "bank12", ROMX
 
-INCLUDE "data/mapHeaders/route7.asm"
-INCLUDE "data/mapObjects/route7.asm"
-Route7Blocks: INCBIN "maps/route7.blk"
+INCLUDE "data/mapHeaders/Route7.asm"
+INCLUDE "data/mapObjects/Route7.asm"
+Route7_Blocks: INCBIN "maps/Route7.blk"
 
-CeladonPokecenterBlocks:
-RockTunnelPokecenterBlocks:
-MtMoonPokecenterBlocks: INCBIN "maps/mtmoonpokecenter.blk"
+CeladonPokecenter_Blocks:
+RockTunnelPokecenter_Blocks:
+MtMoonPokecenter_Blocks: INCBIN "maps/MtMoonPokecenter.blk"
 
-Route18GateBlocks:
-Route15GateBlocks:
-Route11GateBlocks: INCBIN "maps/route11gate.blk"
+Route18Gate1F_Blocks:
+Route15Gate1F_Blocks:
+Route11Gate1F_Blocks: INCBIN "maps/Route11Gate1F.blk"
 
-Route18GateUpstairsBlocks:
-Route16GateUpstairsBlocks:
-Route12GateUpstairsBlocks:
-Route15GateUpstairsBlocks:
-Route11GateUpstairsBlocks: INCBIN "maps/route11gateupstairs.blk"
+Route18Gate2F_Blocks:
+Route16Gate2F_Blocks:
+Route15Gate2F_Blocks:
+Route12Gate2F_Blocks:
+Route11Gate2F_Blocks: INCBIN "maps/Route11Gate2F.blk"
 
 INCLUDE "engine/predefs12.asm"
 
-INCLUDE "scripts/route7.asm"
+INCLUDE "scripts/Route7.asm"
 
-INCLUDE "data/mapHeaders/redshouse1f.asm"
-INCLUDE "scripts/redshouse1f.asm"
-INCLUDE "data/mapObjects/redshouse1f.asm"
-RedsHouse1FBlocks: INCBIN "maps/redshouse1f.blk"
+INCLUDE "data/mapHeaders/RedsHouse1F.asm"
+INCLUDE "scripts/RedsHouse1F.asm"
+INCLUDE "data/mapObjects/RedsHouse1F.asm"
+RedsHouse1F_Blocks: INCBIN "maps/RedsHouse1F.blk"
 
-INCLUDE "data/mapHeaders/celadonmart3.asm"
-INCLUDE "scripts/celadonmart3.asm"
-INCLUDE "data/mapObjects/celadonmart3.asm"
-CeladonMart3Blocks: INCBIN "maps/celadonmart3.blk"
+INCLUDE "data/mapHeaders/CeladonMart3F.asm"
+INCLUDE "scripts/CeladonMart3F.asm"
+INCLUDE "data/mapObjects/CeladonMart3F.asm"
+CeladonMart3F_Blocks: INCBIN "maps/CeladonMart3F.blk"
 
-INCLUDE "data/mapHeaders/celadonmart4.asm"
-INCLUDE "scripts/celadonmart4.asm"
-INCLUDE "data/mapObjects/celadonmart4.asm"
-CeladonMart4Blocks: INCBIN "maps/celadonmart4.blk"
+INCLUDE "data/mapHeaders/CeladonMart4F.asm"
+INCLUDE "scripts/CeladonMart4F.asm"
+INCLUDE "data/mapObjects/CeladonMart4F.asm"
+CeladonMart4F_Blocks: INCBIN "maps/CeladonMart4F.blk"
 
-INCLUDE "data/mapHeaders/celadonmartroof.asm"
-INCLUDE "scripts/celadonmartroof.asm"
-INCLUDE "data/mapObjects/celadonmartroof.asm"
-CeladonMartRoofBlocks: INCBIN "maps/celadonmartroof.blk"
+INCLUDE "data/mapHeaders/CeladonMartRoof.asm"
+INCLUDE "scripts/CeladonMartRoof.asm"
+INCLUDE "data/mapObjects/CeladonMartRoof.asm"
+CeladonMartRoof_Blocks: INCBIN "maps/CeladonMartRoof.blk"
 
-INCLUDE "data/mapHeaders/celadonmartelevator.asm"
-INCLUDE "scripts/celadonmartelevator.asm"
-INCLUDE "data/mapObjects/celadonmartelevator.asm"
-CeladonMartElevatorBlocks: INCBIN "maps/celadonmartelevator.blk"
+INCLUDE "data/mapHeaders/CeladonMartElevator.asm"
+INCLUDE "scripts/CeladonMartElevator.asm"
+INCLUDE "data/mapObjects/CeladonMartElevator.asm"
+CeladonMartElevator_Blocks: INCBIN "maps/CeladonMartElevator.blk"
 
-INCLUDE "data/mapHeaders/celadonmansion1.asm"
-INCLUDE "scripts/celadonmansion1.asm"
-INCLUDE "data/mapObjects/celadonmansion1.asm"
-CeladonMansion1Blocks: INCBIN "maps/celadonmansion1.blk"
+INCLUDE "data/mapHeaders/CeladonMansion1F.asm"
+INCLUDE "scripts/CeladonMansion1F.asm"
+INCLUDE "data/mapObjects/CeladonMansion1F.asm"
+CeladonMansion1F_Blocks: INCBIN "maps/CeladonMansion1F.blk"
 
-INCLUDE "data/mapHeaders/celadonmansion2.asm"
-INCLUDE "scripts/celadonmansion2.asm"
-INCLUDE "data/mapObjects/celadonmansion2.asm"
-CeladonMansion2Blocks: INCBIN "maps/celadonmansion2.blk"
+INCLUDE "data/mapHeaders/CeladonMansion2F.asm"
+INCLUDE "scripts/CeladonMansion2F.asm"
+INCLUDE "data/mapObjects/CeladonMansion2F.asm"
+CeladonMansion2F_Blocks: INCBIN "maps/CeladonMansion2F.blk"
 
-INCLUDE "data/mapHeaders/celadonmansion3.asm"
-INCLUDE "scripts/celadonmansion3.asm"
-INCLUDE "data/mapObjects/celadonmansion3.asm"
-CeladonMansion3Blocks: INCBIN "maps/celadonmansion3.blk"
+INCLUDE "data/mapHeaders/CeladonMansion3F.asm"
+INCLUDE "scripts/CeladonMansion3F.asm"
+INCLUDE "data/mapObjects/CeladonMansion3F.asm"
+CeladonMansion3F_Blocks: INCBIN "maps/CeladonMansion3F.blk"
 
-INCLUDE "data/mapHeaders/celadonmansion4.asm"
-INCLUDE "scripts/celadonmansion4.asm"
-INCLUDE "data/mapObjects/celadonmansion4.asm"
-CeladonMansion4Blocks: INCBIN "maps/celadonmansion4.blk"
+INCLUDE "data/mapHeaders/CeladonMansionRoof.asm"
+INCLUDE "scripts/CeladonMansionRoof.asm"
+INCLUDE "data/mapObjects/CeladonMansionRoof.asm"
+CeladonMansionRoof_Blocks: INCBIN "maps/CeladonMansionRoof.blk"
 
-INCLUDE "data/mapHeaders/celadonpokecenter.asm"
-INCLUDE "scripts/celadonpokecenter.asm"
-INCLUDE "data/mapObjects/celadonpokecenter.asm"
+INCLUDE "data/mapHeaders/CeladonPokecenter.asm"
+INCLUDE "scripts/CeladonPokecenter.asm"
+INCLUDE "data/mapObjects/CeladonPokecenter.asm"
 
-INCLUDE "data/mapHeaders/celadongym.asm"
-INCLUDE "scripts/celadongym.asm"
-INCLUDE "data/mapObjects/celadongym.asm"
-CeladonGymBlocks: INCBIN "maps/celadongym.blk"
+INCLUDE "data/mapHeaders/CeladonGym.asm"
+INCLUDE "scripts/CeladonGym.asm"
+INCLUDE "data/mapObjects/CeladonGym.asm"
+CeladonGym_Blocks: INCBIN "maps/CeladonGym.blk"
 
-INCLUDE "data/mapHeaders/celadongamecorner.asm"
-INCLUDE "scripts/celadongamecorner.asm"
-INCLUDE "data/mapObjects/celadongamecorner.asm"
-CeladonGameCornerBlocks: INCBIN "maps/celadongamecorner.blk"
+INCLUDE "data/mapHeaders/GameCorner.asm"
+INCLUDE "scripts/GameCorner.asm"
+INCLUDE "data/mapObjects/GameCorner.asm"
+GameCorner_Blocks: INCBIN "maps/GameCorner.blk"
 
-INCLUDE "data/mapHeaders/celadonmart5.asm"
-INCLUDE "scripts/celadonmart5.asm"
-INCLUDE "data/mapObjects/celadonmart5.asm"
-CeladonMart5Blocks: INCBIN "maps/celadonmart5.blk"
+INCLUDE "data/mapHeaders/CeladonMart5F.asm"
+INCLUDE "scripts/CeladonMart5F.asm"
+INCLUDE "data/mapObjects/CeladonMart5F.asm"
+CeladonMart5F_Blocks: INCBIN "maps/CeladonMart5F.blk"
 
-INCLUDE "data/mapHeaders/celadonprizeroom.asm"
-INCLUDE "scripts/celadonprizeroom.asm"
-INCLUDE "data/mapObjects/celadonprizeroom.asm"
-CeladonPrizeRoomBlocks: INCBIN "maps/celadonprizeroom.blk"
+INCLUDE "data/mapHeaders/GameCornerPrizeRoom.asm"
+INCLUDE "scripts/GameCornerPrizeRoom.asm"
+INCLUDE "data/mapObjects/GameCornerPrizeRoom.asm"
+GameCornerPrizeRoom_Blocks: INCBIN "maps/GameCornerPrizeRoom.blk"
 
-INCLUDE "data/mapHeaders/celadondiner.asm"
-INCLUDE "scripts/celadondiner.asm"
-INCLUDE "data/mapObjects/celadondiner.asm"
-CeladonDinerBlocks: INCBIN "maps/celadondiner.blk"
+INCLUDE "data/mapHeaders/CeladonDiner.asm"
+INCLUDE "scripts/CeladonDiner.asm"
+INCLUDE "data/mapObjects/CeladonDiner.asm"
+CeladonDiner_Blocks: INCBIN "maps/CeladonDiner.blk"
 
-INCLUDE "data/mapHeaders/celadonhouse.asm"
-INCLUDE "scripts/celadonhouse.asm"
-INCLUDE "data/mapObjects/celadonhouse.asm"
-CeladonHouseBlocks: INCBIN "maps/celadonhouse.blk"
+INCLUDE "data/mapHeaders/CeladonChiefHouse.asm"
+INCLUDE "scripts/CeladonChiefHouse.asm"
+INCLUDE "data/mapObjects/CeladonChiefHouse.asm"
+CeladonChiefHouse_Blocks: INCBIN "maps/CeladonChiefHouse.blk"
 
-INCLUDE "data/mapHeaders/celadonhotel.asm"
-INCLUDE "scripts/celadonhotel.asm"
-INCLUDE "data/mapObjects/celadonhotel.asm"
-CeladonHotelBlocks: INCBIN "maps/celadonhotel.blk"
+INCLUDE "data/mapHeaders/CeladonHotel.asm"
+INCLUDE "scripts/CeladonHotel.asm"
+INCLUDE "data/mapObjects/CeladonHotel.asm"
+CeladonHotel_Blocks: INCBIN "maps/CeladonHotel.blk"
 
-INCLUDE "data/mapHeaders/mtmoonpokecenter.asm"
-INCLUDE "scripts/mtmoonpokecenter.asm"
-INCLUDE "data/mapObjects/mtmoonpokecenter.asm"
+INCLUDE "data/mapHeaders/MtMoonPokecenter.asm"
+INCLUDE "scripts/MtMoonPokecenter.asm"
+INCLUDE "data/mapObjects/MtMoonPokecenter.asm"
 
-INCLUDE "data/mapHeaders/rocktunnelpokecenter.asm"
-INCLUDE "scripts/rocktunnelpokecenter.asm"
-INCLUDE "data/mapObjects/rocktunnelpokecenter.asm"
+INCLUDE "data/mapHeaders/RockTunnelPokecenter.asm"
+INCLUDE "scripts/RockTunnelPokecenter.asm"
+INCLUDE "data/mapObjects/RockTunnelPokecenter.asm"
 
-INCLUDE "data/mapHeaders/route11gate.asm"
-INCLUDE "scripts/route11gate.asm"
-INCLUDE "data/mapObjects/route11gate.asm"
+INCLUDE "data/mapHeaders/Route11Gate1F.asm"
+INCLUDE "scripts/Route11Gate1F.asm"
+INCLUDE "data/mapObjects/Route11Gate1F.asm"
 
-INCLUDE "data/mapHeaders/route11gateupstairs.asm"
-INCLUDE "scripts/route11gateupstairs.asm"
-INCLUDE "data/mapObjects/route11gateupstairs.asm"
+INCLUDE "data/mapHeaders/Route11Gate2F.asm"
+INCLUDE "scripts/Route11Gate2F.asm"
+INCLUDE "data/mapObjects/Route11Gate2F.asm"
 
-INCLUDE "data/mapHeaders/route12gate.asm"
-INCLUDE "scripts/route12gate.asm"
-INCLUDE "data/mapObjects/route12gate.asm"
-Route12GateBlocks: INCBIN "maps/route12gate.blk"
+INCLUDE "data/mapHeaders/Route12Gate1F.asm"
+INCLUDE "scripts/Route12Gate1F.asm"
+INCLUDE "data/mapObjects/Route12Gate1F.asm"
+Route12Gate1F_Blocks: INCBIN "maps/Route12Gate1F.blk"
 
-INCLUDE "data/mapHeaders/route12gateupstairs.asm"
-INCLUDE "scripts/route12gateupstairs.asm"
-INCLUDE "data/mapObjects/route12gateupstairs.asm"
+INCLUDE "data/mapHeaders/Route12Gate2F.asm"
+INCLUDE "scripts/Route12Gate2F.asm"
+INCLUDE "data/mapObjects/Route12Gate2F.asm"
 
-INCLUDE "data/mapHeaders/route15gate.asm"
-INCLUDE "scripts/route15gate.asm"
-INCLUDE "data/mapObjects/route15gate.asm"
+INCLUDE "data/mapHeaders/Route15Gate1F.asm"
+INCLUDE "scripts/Route15Gate1F.asm"
+INCLUDE "data/mapObjects/Route15Gate1F.asm"
 
-INCLUDE "data/mapHeaders/route15gateupstairs.asm"
-INCLUDE "scripts/route15gateupstairs.asm"
-INCLUDE "data/mapObjects/route15gateupstairs.asm"
+INCLUDE "data/mapHeaders/Route15Gate2F.asm"
+INCLUDE "scripts/Route15Gate2F.asm"
+INCLUDE "data/mapObjects/Route15Gate2F.asm"
 
-INCLUDE "data/mapHeaders/route16gate.asm"
-INCLUDE "scripts/route16gate.asm"
-INCLUDE "data/mapObjects/route16gate.asm"
-Route16GateBlocks: INCBIN "maps/route16gate.blk"
+INCLUDE "data/mapHeaders/Route16Gate1F.asm"
+INCLUDE "scripts/Route16Gate1F.asm"
+INCLUDE "data/mapObjects/Route16Gate1F.asm"
+Route16Gate1F_Blocks: INCBIN "maps/Route16Gate1F.blk"
 
-INCLUDE "data/mapHeaders/route16gateupstairs.asm"
-INCLUDE "scripts/route16gateupstairs.asm"
-INCLUDE "data/mapObjects/route16gateupstairs.asm"
+INCLUDE "data/mapHeaders/Route16Gate2F.asm"
+INCLUDE "scripts/Route16Gate2F.asm"
+INCLUDE "data/mapObjects/Route16Gate2F.asm"
 
-INCLUDE "data/mapHeaders/route18gate.asm"
-INCLUDE "scripts/route18gate.asm"
-INCLUDE "data/mapObjects/route18gate.asm"
+INCLUDE "data/mapHeaders/Route18Gate1F.asm"
+INCLUDE "scripts/Route18Gate1F.asm"
+INCLUDE "data/mapObjects/Route18Gate1F.asm"
 
-INCLUDE "data/mapHeaders/route18gateupstairs.asm"
-INCLUDE "scripts/route18gateupstairs.asm"
-INCLUDE "data/mapObjects/route18gateupstairs.asm"
+INCLUDE "data/mapHeaders/Route18Gate2F.asm"
+INCLUDE "scripts/Route18Gate2F.asm"
+INCLUDE "data/mapObjects/Route18Gate2F.asm"
 
-INCLUDE "data/mapHeaders/mtmoon1.asm"
-INCLUDE "scripts/mtmoon1.asm"
-INCLUDE "data/mapObjects/mtmoon1.asm"
-MtMoon1Blocks: INCBIN "maps/mtmoon1.blk"
+INCLUDE "data/mapHeaders/MtMoon1F.asm"
+INCLUDE "scripts/MtMoon1F.asm"
+INCLUDE "data/mapObjects/MtMoon1F.asm"
+MtMoon1F_Blocks: INCBIN "maps/MtMoon1F.blk"
 
-INCLUDE "data/mapHeaders/mtmoon3.asm"
-INCLUDE "scripts/mtmoon3.asm"
-INCLUDE "data/mapObjects/mtmoon3.asm"
-MtMoon3Blocks: INCBIN "maps/mtmoon3.blk"
+INCLUDE "data/mapHeaders/MtMoonB2F.asm"
+INCLUDE "scripts/MtMoonB2F.asm"
+INCLUDE "data/mapObjects/MtMoonB2F.asm"
+MtMoonB2F_Blocks: INCBIN "maps/MtMoonB2F.blk"
 
-INCLUDE "data/mapHeaders/safarizonewest.asm"
-INCLUDE "scripts/safarizonewest.asm"
-INCLUDE "data/mapObjects/safarizonewest.asm"
-SafariZoneWestBlocks: INCBIN "maps/safarizonewest.blk"
+INCLUDE "data/mapHeaders/SafariZoneWest.asm"
+INCLUDE "scripts/SafariZoneWest.asm"
+INCLUDE "data/mapObjects/SafariZoneWest.asm"
+SafariZoneWest_Blocks: INCBIN "maps/SafariZoneWest.blk"
 
-INCLUDE "data/mapHeaders/safarizonesecrethouse.asm"
-INCLUDE "scripts/safarizonesecrethouse.asm"
-INCLUDE "data/mapObjects/safarizonesecrethouse.asm"
-SafariZoneSecretHouseBlocks: INCBIN "maps/safarizonesecrethouse.blk"
+INCLUDE "data/mapHeaders/SafariZoneSecretHouse.asm"
+INCLUDE "scripts/SafariZoneSecretHouse.asm"
+INCLUDE "data/mapObjects/SafariZoneSecretHouse.asm"
+SafariZoneSecretHouse_Blocks: INCBIN "maps/SafariZoneSecretHouse.blk"
 
 
 SECTION "bank13", ROMX
@@ -1298,15 +1303,15 @@
 AgathaPic::        INCBIN "pic/trainer/agatha.pic"
 LancePic::         INCBIN "pic/trainer/lance.pic"
 
-INCLUDE "data/mapHeaders/tradecenter.asm"
-INCLUDE "scripts/tradecenter.asm"
-INCLUDE "data/mapObjects/tradecenter.asm"
-TradeCenterBlocks: INCBIN "maps/tradecenter.blk"
+INCLUDE "data/mapHeaders/TradeCenter.asm"
+INCLUDE "scripts/TradeCenter.asm"
+INCLUDE "data/mapObjects/TradeCenter.asm"
+TradeCenter_Blocks: INCBIN "maps/TradeCenter.blk"
 
-INCLUDE "data/mapHeaders/colosseum.asm"
-INCLUDE "scripts/colosseum.asm"
-INCLUDE "data/mapObjects/colosseum.asm"
-ColosseumBlocks: INCBIN "maps/colosseum.blk"
+INCLUDE "data/mapHeaders/Colosseum.asm"
+INCLUDE "scripts/Colosseum.asm"
+INCLUDE "data/mapObjects/Colosseum.asm"
+Colosseum_Blocks: INCBIN "maps/Colosseum.blk"
 
 INCLUDE "engine/give_pokemon.asm"
 
@@ -1315,71 +1320,71 @@
 
 SECTION "bank14", ROMX
 
-INCLUDE "data/mapHeaders/route22.asm"
-INCLUDE "data/mapObjects/route22.asm"
-Route22Blocks: INCBIN "maps/route22.blk"
+INCLUDE "data/mapHeaders/Route22.asm"
+INCLUDE "data/mapObjects/Route22.asm"
+Route22_Blocks: INCBIN "maps/Route22.blk"
 
-INCLUDE "data/mapHeaders/route20.asm"
-INCLUDE "data/mapObjects/route20.asm"
-Route20Blocks: INCBIN "maps/route20.blk"
+INCLUDE "data/mapHeaders/Route20.asm"
+INCLUDE "data/mapObjects/Route20.asm"
+Route20_Blocks: INCBIN "maps/Route20.blk"
 
-INCLUDE "data/mapHeaders/route23.asm"
-INCLUDE "data/mapObjects/route23.asm"
-Route23Blocks: INCBIN "maps/route23.blk"
+INCLUDE "data/mapHeaders/Route23.asm"
+INCLUDE "data/mapObjects/Route23.asm"
+Route23_Blocks: INCBIN "maps/Route23.blk"
 
-INCLUDE "data/mapHeaders/route24.asm"
-INCLUDE "data/mapObjects/route24.asm"
-Route24Blocks: INCBIN "maps/route24.blk"
+INCLUDE "data/mapHeaders/Route24.asm"
+INCLUDE "data/mapObjects/Route24.asm"
+Route24_Blocks: INCBIN "maps/Route24.blk"
 
-INCLUDE "data/mapHeaders/route25.asm"
-INCLUDE "data/mapObjects/route25.asm"
-Route25Blocks: INCBIN "maps/route25.blk"
+INCLUDE "data/mapHeaders/Route25.asm"
+INCLUDE "data/mapObjects/Route25.asm"
+Route25_Blocks: INCBIN "maps/Route25.blk"
 
-INCLUDE "data/mapHeaders/indigoplateau.asm"
-INCLUDE "scripts/indigoplateau.asm"
-INCLUDE "data/mapObjects/indigoplateau.asm"
-IndigoPlateauBlocks: INCBIN "maps/indigoplateau.blk"
+INCLUDE "data/mapHeaders/IndigoPlateau.asm"
+INCLUDE "scripts/IndigoPlateau.asm"
+INCLUDE "data/mapObjects/IndigoPlateau.asm"
+IndigoPlateau_Blocks: INCBIN "maps/IndigoPlateau.blk"
 
-INCLUDE "data/mapHeaders/saffroncity.asm"
-INCLUDE "data/mapObjects/saffroncity.asm"
-SaffronCityBlocks: INCBIN "maps/saffroncity.blk"
-INCLUDE "scripts/saffroncity.asm"
+INCLUDE "data/mapHeaders/SaffronCity.asm"
+INCLUDE "data/mapObjects/SaffronCity.asm"
+SaffronCity_Blocks: INCBIN "maps/SaffronCity.blk"
+INCLUDE "scripts/SaffronCity.asm"
 
-INCLUDE "scripts/route20.asm"
-INCLUDE "scripts/route22.asm"
-INCLUDE "scripts/route23.asm"
-INCLUDE "scripts/route24.asm"
-INCLUDE "scripts/route25.asm"
+INCLUDE "scripts/Route20.asm"
+INCLUDE "scripts/Route22.asm"
+INCLUDE "scripts/Route23.asm"
+INCLUDE "scripts/Route24.asm"
+INCLUDE "scripts/Route25.asm"
 
-INCLUDE "data/mapHeaders/victoryroad2.asm"
-INCLUDE "scripts/victoryroad2.asm"
-INCLUDE "data/mapObjects/victoryroad2.asm"
-VictoryRoad2Blocks: INCBIN "maps/victoryroad2.blk"
+INCLUDE "data/mapHeaders/VictoryRoad2F.asm"
+INCLUDE "scripts/VictoryRoad2F.asm"
+INCLUDE "data/mapObjects/VictoryRoad2F.asm"
+VictoryRoad2F_Blocks: INCBIN "maps/VictoryRoad2F.blk"
 
-INCLUDE "data/mapHeaders/mtmoon2.asm"
-INCLUDE "scripts/mtmoon2.asm"
-INCLUDE "data/mapObjects/mtmoon2.asm"
-MtMoon2Blocks: INCBIN "maps/mtmoon2.blk"
+INCLUDE "data/mapHeaders/MtMoonB1F.asm"
+INCLUDE "scripts/MtMoonB1F.asm"
+INCLUDE "data/mapObjects/MtMoonB1F.asm"
+MtMoonB1F_Blocks: INCBIN "maps/MtMoonB1F.blk"
 
-INCLUDE "data/mapHeaders/silphco7.asm"
-INCLUDE "scripts/silphco7.asm"
-INCLUDE "data/mapObjects/silphco7.asm"
-SilphCo7Blocks: INCBIN "maps/silphco7.blk"
+INCLUDE "data/mapHeaders/SilphCo7F.asm"
+INCLUDE "scripts/SilphCo7F.asm"
+INCLUDE "data/mapObjects/SilphCo7F.asm"
+SilphCo7F_Blocks: INCBIN "maps/SilphCo7F.blk"
 
-INCLUDE "data/mapHeaders/mansion2.asm"
-INCLUDE "scripts/mansion2.asm"
-INCLUDE "data/mapObjects/mansion2.asm"
-Mansion2Blocks: INCBIN "maps/mansion2.blk"
+INCLUDE "data/mapHeaders/PokemonMansion2F.asm"
+INCLUDE "scripts/PokemonMansion2F.asm"
+INCLUDE "data/mapObjects/PokemonMansion2F.asm"
+PokemonMansion2F_Blocks: INCBIN "maps/PokemonMansion2F.blk"
 
-INCLUDE "data/mapHeaders/mansion3.asm"
-INCLUDE "scripts/mansion3.asm"
-INCLUDE "data/mapObjects/mansion3.asm"
-Mansion3Blocks: INCBIN "maps/mansion3.blk"
+INCLUDE "data/mapHeaders/PokemonMansion3F.asm"
+INCLUDE "scripts/PokemonMansion3F.asm"
+INCLUDE "data/mapObjects/PokemonMansion3F.asm"
+PokemonMansion3F_Blocks: INCBIN "maps/PokemonMansion3F.blk"
 
-INCLUDE "data/mapHeaders/mansion4.asm"
-INCLUDE "scripts/mansion4.asm"
-INCLUDE "data/mapObjects/mansion4.asm"
-Mansion4Blocks: INCBIN "maps/mansion4.blk"
+INCLUDE "data/mapHeaders/PokemonMansionB1F.asm"
+INCLUDE "scripts/PokemonMansionB1F.asm"
+INCLUDE "data/mapObjects/PokemonMansionB1F.asm"
+PokemonMansionB1F_Blocks: INCBIN "maps/PokemonMansionB1F.blk"
 
 INCLUDE "engine/battle/init_battle_variables.asm"
 INCLUDE "engine/battle/moveEffects/paralyze_effect.asm"
@@ -1393,90 +1398,90 @@
 
 SECTION "bank15", ROMX
 
-INCLUDE "data/mapHeaders/route2.asm"
-INCLUDE "data/mapObjects/route2.asm"
-Route2Blocks: INCBIN "maps/route2.blk"
+INCLUDE "data/mapHeaders/Route2.asm"
+INCLUDE "data/mapObjects/Route2.asm"
+Route2_Blocks: INCBIN "maps/Route2.blk"
 
-INCLUDE "data/mapHeaders/route3.asm"
-INCLUDE "data/mapObjects/route3.asm"
-Route3Blocks: INCBIN "maps/route3.blk"
+INCLUDE "data/mapHeaders/Route3.asm"
+INCLUDE "data/mapObjects/Route3.asm"
+Route3_Blocks: INCBIN "maps/Route3.blk"
 
-INCLUDE "data/mapHeaders/route4.asm"
-INCLUDE "data/mapObjects/route4.asm"
-Route4Blocks: INCBIN "maps/route4.blk"
+INCLUDE "data/mapHeaders/Route4.asm"
+INCLUDE "data/mapObjects/Route4.asm"
+Route4_Blocks: INCBIN "maps/Route4.blk"
 
-INCLUDE "data/mapHeaders/route5.asm"
-INCLUDE "data/mapObjects/route5.asm"
-Route5Blocks: INCBIN "maps/route5.blk"
+INCLUDE "data/mapHeaders/Route5.asm"
+INCLUDE "data/mapObjects/Route5.asm"
+Route5_Blocks: INCBIN "maps/Route5.blk"
+
+INCLUDE "data/mapHeaders/Route9.asm"
+INCLUDE "data/mapObjects/Route9.asm"
+Route9_Blocks: INCBIN "maps/Route9.blk"
 
-INCLUDE "data/mapHeaders/route9.asm"
-INCLUDE "data/mapObjects/route9.asm"
-Route9Blocks: INCBIN "maps/route9.blk"
+INCLUDE "data/mapHeaders/Route13.asm"
+INCLUDE "data/mapObjects/Route13.asm"
+Route13_Blocks: INCBIN "maps/Route13.blk"
 
-INCLUDE "data/mapHeaders/route13.asm"
-INCLUDE "data/mapObjects/route13.asm"
-Route13Blocks: INCBIN "maps/route13.blk"
+INCLUDE "data/mapHeaders/Route14.asm"
+INCLUDE "data/mapObjects/Route14.asm"
+Route14_Blocks: INCBIN "maps/Route14.blk"
 
-INCLUDE "data/mapHeaders/route14.asm"
-INCLUDE "data/mapObjects/route14.asm"
-Route14Blocks: INCBIN "maps/route14.blk"
+INCLUDE "data/mapHeaders/Route17.asm"
+INCLUDE "data/mapObjects/Route17.asm"
+Route17_Blocks: INCBIN "maps/Route17.blk"
 
-INCLUDE "data/mapHeaders/route17.asm"
-INCLUDE "data/mapObjects/route17.asm"
-Route17Blocks: INCBIN "maps/route17.blk"
+INCLUDE "data/mapHeaders/Route19.asm"
+INCLUDE "data/mapObjects/Route19.asm"
+Route19_Blocks: INCBIN "maps/Route19.blk"
 
-INCLUDE "data/mapHeaders/route19.asm"
-INCLUDE "data/mapObjects/route19.asm"
-Route19Blocks: INCBIN "maps/route19.blk"
+INCLUDE "data/mapHeaders/Route21.asm"
+INCLUDE "data/mapObjects/Route21.asm"
+Route21_Blocks: INCBIN "maps/Route21.blk"
 
-INCLUDE "data/mapHeaders/route21.asm"
-INCLUDE "data/mapObjects/route21.asm"
-Route21Blocks: INCBIN "maps/route21.blk"
+VermilionOldRodHouse_Blocks:
+Route12SuperRodHouse_Blocks:
+Daycare_Blocks: INCBIN "maps/Daycare.blk"
 
-VermilionHouse2Blocks:
-Route12HouseBlocks:
-DayCareMBlocks: INCBIN "maps/daycarem.blk"
+FuchsiaGoodRodHouse_Blocks: INCBIN "maps/FuchsiaGoodRodHouse.blk"
 
-FuchsiaHouse3Blocks: INCBIN "maps/fuchsiahouse3.blk"
-
 INCLUDE "engine/battle/experience.asm"
 
-INCLUDE "scripts/route2.asm"
-INCLUDE "scripts/route3.asm"
-INCLUDE "scripts/route4.asm"
-INCLUDE "scripts/route5.asm"
-INCLUDE "scripts/route9.asm"
-INCLUDE "scripts/route13.asm"
-INCLUDE "scripts/route14.asm"
-INCLUDE "scripts/route17.asm"
-INCLUDE "scripts/route19.asm"
-INCLUDE "scripts/route21.asm"
+INCLUDE "scripts/Route2.asm"
+INCLUDE "scripts/Route3.asm"
+INCLUDE "scripts/Route4.asm"
+INCLUDE "scripts/Route5.asm"
+INCLUDE "scripts/Route9.asm"
+INCLUDE "scripts/Route13.asm"
+INCLUDE "scripts/Route14.asm"
+INCLUDE "scripts/Route17.asm"
+INCLUDE "scripts/Route19.asm"
+INCLUDE "scripts/Route21.asm"
 
-INCLUDE "data/mapHeaders/vermilionhouse2.asm"
-INCLUDE "scripts/vermilionhouse2.asm"
-INCLUDE "data/mapObjects/vermilionhouse2.asm"
+INCLUDE "data/mapHeaders/VermilionOldRodHouse.asm"
+INCLUDE "scripts/VermilionOldRodHouse.asm"
+INCLUDE "data/mapObjects/VermilionOldRodHouse.asm"
 
-INCLUDE "data/mapHeaders/celadonmart2.asm"
-INCLUDE "scripts/celadonmart2.asm"
-INCLUDE "data/mapObjects/celadonmart2.asm"
-CeladonMart2Blocks: INCBIN "maps/celadonmart2.blk"
+INCLUDE "data/mapHeaders/CeladonMart2F.asm"
+INCLUDE "scripts/CeladonMart2F.asm"
+INCLUDE "data/mapObjects/CeladonMart2F.asm"
+CeladonMart2F_Blocks: INCBIN "maps/CeladonMart2F.blk"
 
-INCLUDE "data/mapHeaders/fuchsiahouse3.asm"
-INCLUDE "scripts/fuchsiahouse3.asm"
-INCLUDE "data/mapObjects/fuchsiahouse3.asm"
+INCLUDE "data/mapHeaders/FuchsiaGoodRodHouse.asm"
+INCLUDE "scripts/FuchsiaGoodRodHouse.asm"
+INCLUDE "data/mapObjects/FuchsiaGoodRodHouse.asm"
 
-INCLUDE "data/mapHeaders/daycarem.asm"
-INCLUDE "scripts/daycarem.asm"
-INCLUDE "data/mapObjects/daycarem.asm"
+INCLUDE "data/mapHeaders/Daycare.asm"
+INCLUDE "scripts/Daycare.asm"
+INCLUDE "data/mapObjects/Daycare.asm"
 
-INCLUDE "data/mapHeaders/route12house.asm"
-INCLUDE "scripts/route12house.asm"
-INCLUDE "data/mapObjects/route12house.asm"
+INCLUDE "data/mapHeaders/Route12SuperRodHouse.asm"
+INCLUDE "scripts/Route12SuperRodHouse.asm"
+INCLUDE "data/mapObjects/Route12SuperRodHouse.asm"
 
-INCLUDE "data/mapHeaders/silphco8.asm"
-INCLUDE "scripts/silphco8.asm"
-INCLUDE "data/mapObjects/silphco8.asm"
-SilphCo8Blocks: INCBIN "maps/silphco8.blk"
+INCLUDE "data/mapHeaders/SilphCo8F.asm"
+INCLUDE "scripts/SilphCo8F.asm"
+INCLUDE "data/mapObjects/SilphCo8F.asm"
+SilphCo8F_Blocks: INCBIN "maps/SilphCo8F.blk"
 
 INCLUDE "engine/menu/diploma.asm"
 
@@ -1485,39 +1490,39 @@
 
 SECTION "bank16", ROMX
 
-INCLUDE "data/mapHeaders/route6.asm"
-INCLUDE "data/mapObjects/route6.asm"
-Route6Blocks: INCBIN "maps/route6.blk"
+INCLUDE "data/mapHeaders/Route6.asm"
+INCLUDE "data/mapObjects/Route6.asm"
+Route6_Blocks: INCBIN "maps/Route6.blk"
 
-INCLUDE "data/mapHeaders/route8.asm"
-INCLUDE "data/mapObjects/route8.asm"
-Route8Blocks: INCBIN "maps/route8.blk"
+INCLUDE "data/mapHeaders/Route8.asm"
+INCLUDE "data/mapObjects/Route8.asm"
+Route8_Blocks: INCBIN "maps/Route8.blk"
 
-INCLUDE "data/mapHeaders/route10.asm"
-INCLUDE "data/mapObjects/route10.asm"
-Route10Blocks: INCBIN "maps/route10.blk"
+INCLUDE "data/mapHeaders/Route10.asm"
+INCLUDE "data/mapObjects/Route10.asm"
+Route10_Blocks: INCBIN "maps/Route10.blk"
 
-INCLUDE "data/mapHeaders/route11.asm"
-INCLUDE "data/mapObjects/route11.asm"
-Route11Blocks: INCBIN "maps/route11.blk"
+INCLUDE "data/mapHeaders/Route11.asm"
+INCLUDE "data/mapObjects/Route11.asm"
+Route11_Blocks: INCBIN "maps/Route11.blk"
 
-INCLUDE "data/mapHeaders/route12.asm"
-INCLUDE "data/mapObjects/route12.asm"
-Route12Blocks: INCBIN "maps/route12.blk"
+INCLUDE "data/mapHeaders/Route12.asm"
+INCLUDE "data/mapObjects/Route12.asm"
+Route12_Blocks: INCBIN "maps/Route12.blk"
 
-INCLUDE "data/mapHeaders/route15.asm"
-INCLUDE "data/mapObjects/route15.asm"
-Route15Blocks: INCBIN "maps/route15.blk"
+INCLUDE "data/mapHeaders/Route15.asm"
+INCLUDE "data/mapObjects/Route15.asm"
+Route15_Blocks: INCBIN "maps/Route15.blk"
 
-INCLUDE "data/mapHeaders/route16.asm"
-INCLUDE "data/mapObjects/route16.asm"
-Route16Blocks: INCBIN "maps/route16.blk"
+INCLUDE "data/mapHeaders/Route16.asm"
+INCLUDE "data/mapObjects/Route16.asm"
+Route16_Blocks: INCBIN "maps/Route16.blk"
 
-INCLUDE "data/mapHeaders/route18.asm"
-INCLUDE "data/mapObjects/route18.asm"
-Route18Blocks: INCBIN "maps/route18.blk"
+INCLUDE "data/mapHeaders/Route18.asm"
+INCLUDE "data/mapObjects/Route18.asm"
+Route18_Blocks: INCBIN "maps/Route18.blk"
 
-	INCBIN "maps/unusedblocks58d7d.blk"
+	INCBIN "maps/UnusedPokecenterCopy.blk"
 
 INCLUDE "engine/battle/common_text.asm"
 
@@ -1525,44 +1530,44 @@
 
 INCLUDE "engine/overworld/oaks_aide.asm"
 
-INCLUDE "scripts/route6.asm"
-INCLUDE "scripts/route8.asm"
-INCLUDE "scripts/route10.asm"
-INCLUDE "scripts/route11.asm"
-INCLUDE "scripts/route12.asm"
-INCLUDE "scripts/route15.asm"
-INCLUDE "scripts/route16.asm"
-INCLUDE "scripts/route18.asm"
+INCLUDE "scripts/Route6.asm"
+INCLUDE "scripts/Route8.asm"
+INCLUDE "scripts/Route10.asm"
+INCLUDE "scripts/Route11.asm"
+INCLUDE "scripts/Route12.asm"
+INCLUDE "scripts/Route15.asm"
+INCLUDE "scripts/Route16.asm"
+INCLUDE "scripts/Route18.asm"
 
-INCLUDE "data/mapHeaders/fanclub.asm"
-INCLUDE "scripts/fanclub.asm"
-INCLUDE "data/mapObjects/fanclub.asm"
-FanClubBlocks: INCBIN "maps/fanclub.blk"
+INCLUDE "data/mapHeaders/PokemonFanClub.asm"
+INCLUDE "scripts/PokemonFanClub.asm"
+INCLUDE "data/mapObjects/PokemonFanClub.asm"
+PokemonFanClub_Blocks: INCBIN "maps/PokemonFanClub.blk"
 
-INCLUDE "data/mapHeaders/silphco2.asm"
-INCLUDE "scripts/silphco2.asm"
-INCLUDE "data/mapObjects/silphco2.asm"
-SilphCo2Blocks: INCBIN "maps/silphco2.blk"
+INCLUDE "data/mapHeaders/SilphCo2F.asm"
+INCLUDE "scripts/SilphCo2F.asm"
+INCLUDE "data/mapObjects/SilphCo2F.asm"
+SilphCo2F_Blocks: INCBIN "maps/SilphCo2F.blk"
 
-INCLUDE "data/mapHeaders/silphco3.asm"
-INCLUDE "scripts/silphco3.asm"
-INCLUDE "data/mapObjects/silphco3.asm"
-SilphCo3Blocks: INCBIN "maps/silphco3.blk"
+INCLUDE "data/mapHeaders/SilphCo3F.asm"
+INCLUDE "scripts/SilphCo3F.asm"
+INCLUDE "data/mapObjects/SilphCo3F.asm"
+SilphCo3F_Blocks: INCBIN "maps/SilphCo3F.blk"
 
-INCLUDE "data/mapHeaders/silphco10.asm"
-INCLUDE "scripts/silphco10.asm"
-INCLUDE "data/mapObjects/silphco10.asm"
-SilphCo10Blocks: INCBIN "maps/silphco10.blk"
+INCLUDE "data/mapHeaders/SilphCo10F.asm"
+INCLUDE "scripts/SilphCo10F.asm"
+INCLUDE "data/mapObjects/SilphCo10F.asm"
+SilphCo10F_Blocks: INCBIN "maps/SilphCo10F.blk"
 
-INCLUDE "data/mapHeaders/lance.asm"
-INCLUDE "scripts/lance.asm"
-INCLUDE "data/mapObjects/lance.asm"
-LanceBlocks: INCBIN "maps/lance.blk"
+INCLUDE "data/mapHeaders/LancesRoom.asm"
+INCLUDE "scripts/LancesRoom.asm"
+INCLUDE "data/mapObjects/LancesRoom.asm"
+LancesRoom_Blocks: INCBIN "maps/LancesRoom.blk"
 
-INCLUDE "data/mapHeaders/halloffameroom.asm"
-INCLUDE "scripts/halloffameroom.asm"
-INCLUDE "data/mapObjects/halloffameroom.asm"
-HallofFameRoomBlocks: INCBIN "maps/halloffameroom.blk"
+INCLUDE "data/mapHeaders/HallOfFame.asm"
+INCLUDE "scripts/HallOfFame.asm"
+INCLUDE "data/mapObjects/HallOfFame.asm"
+HallOfFame_Blocks: INCBIN "maps/HallOfFame.blk"
 
 INCLUDE "engine/overworld/saffron_guards.asm"
 
@@ -1569,154 +1574,154 @@
 
 SECTION "bank17", ROMX
 
-SaffronMartBlocks:
-LavenderMartBlocks:
-CeruleanMartBlocks:
-VermilionMartBlocks: INCBIN "maps/vermilionmart.blk"
+SaffronMart_Blocks:
+LavenderMart_Blocks:
+CeruleanMart_Blocks:
+VermilionMart_Blocks: INCBIN "maps/VermilionMart.blk"
 
-CopycatsHouse2FBlocks:
-RedsHouse2FBlocks: INCBIN "maps/redshouse2f.blk"
+CopycatsHouse2F_Blocks:
+RedsHouse2F_Blocks: INCBIN "maps/RedsHouse2F.blk"
 
-Museum1FBlocks: INCBIN "maps/museum1f.blk"
+Museum1F_Blocks: INCBIN "maps/Museum1F.blk"
 
-Museum2FBlocks: INCBIN "maps/museum2f.blk"
+Museum2F_Blocks: INCBIN "maps/Museum2F.blk"
 
-SaffronPokecenterBlocks:
-VermilionPokecenterBlocks:
-LavenderPokecenterBlocks:
-PewterPokecenterBlocks: INCBIN "maps/pewterpokecenter.blk"
+SaffronPokecenter_Blocks:
+VermilionPokecenter_Blocks:
+LavenderPokecenter_Blocks:
+PewterPokecenter_Blocks: INCBIN "maps/PewterPokecenter.blk"
 
-UndergroundPathEntranceRoute7Blocks:
-UndergroundPathEntranceRoute7CopyBlocks:
-UndergroundPathEntranceRoute6Blocks:
-UndergroundPathEntranceRoute5Blocks: INCBIN "maps/undergroundpathentranceroute5.blk"
+UndergroundPathRoute7_Blocks:
+UndergroundPathRoute7Copy_Blocks:
+UndergroundPathRoute6_Blocks:
+UndergroundPathRoute5_Blocks: INCBIN "maps/UndergroundPathRoute5.blk"
 
-Route2GateBlocks:
-ViridianForestEntranceBlocks:
-ViridianForestExitBlocks: INCBIN "maps/viridianforestexit.blk"
+Route2Gate_Blocks:
+ViridianForestSouthGate_Blocks:
+ViridianForestNorthGate_Blocks: INCBIN "maps/ViridianForestNorthGate.blk"
 
-INCLUDE "data/mapHeaders/redshouse2f.asm"
-INCLUDE "scripts/redshouse2f.asm"
-INCLUDE "data/mapObjects/redshouse2f.asm"
+INCLUDE "data/mapHeaders/RedsHouse2F.asm"
+INCLUDE "scripts/RedsHouse2F.asm"
+INCLUDE "data/mapObjects/RedsHouse2F.asm"
 
 INCLUDE "engine/predefs17.asm"
 
-INCLUDE "data/mapHeaders/museum1f.asm"
-INCLUDE "scripts/museum1f.asm"
-INCLUDE "data/mapObjects/museum1f.asm"
+INCLUDE "data/mapHeaders/Museum1F.asm"
+INCLUDE "scripts/Museum1F.asm"
+INCLUDE "data/mapObjects/Museum1F.asm"
 
-INCLUDE "data/mapHeaders/museum2f.asm"
-INCLUDE "scripts/museum2f.asm"
-INCLUDE "data/mapObjects/museum2f.asm"
+INCLUDE "data/mapHeaders/Museum2F.asm"
+INCLUDE "scripts/Museum2F.asm"
+INCLUDE "data/mapObjects/Museum2F.asm"
 
-INCLUDE "data/mapHeaders/pewtergym.asm"
-INCLUDE "scripts/pewtergym.asm"
-INCLUDE "data/mapObjects/pewtergym.asm"
-PewterGymBlocks: INCBIN "maps/pewtergym.blk"
+INCLUDE "data/mapHeaders/PewterGym.asm"
+INCLUDE "scripts/PewterGym.asm"
+INCLUDE "data/mapObjects/PewterGym.asm"
+PewterGym_Blocks: INCBIN "maps/PewterGym.blk"
 
-INCLUDE "data/mapHeaders/pewterpokecenter.asm"
-INCLUDE "scripts/pewterpokecenter.asm"
-INCLUDE "data/mapObjects/pewterpokecenter.asm"
+INCLUDE "data/mapHeaders/PewterPokecenter.asm"
+INCLUDE "scripts/PewterPokecenter.asm"
+INCLUDE "data/mapObjects/PewterPokecenter.asm"
 
-INCLUDE "data/mapHeaders/ceruleanpokecenter.asm"
-INCLUDE "scripts/ceruleanpokecenter.asm"
-INCLUDE "data/mapObjects/ceruleanpokecenter.asm"
-CeruleanPokecenterBlocks: INCBIN "maps/ceruleanpokecenter.blk"
+INCLUDE "data/mapHeaders/CeruleanPokecenter.asm"
+INCLUDE "scripts/CeruleanPokecenter.asm"
+INCLUDE "data/mapObjects/CeruleanPokecenter.asm"
+CeruleanPokecenter_Blocks: INCBIN "maps/CeruleanPokecenter.blk"
 
-INCLUDE "data/mapHeaders/ceruleangym.asm"
-INCLUDE "scripts/ceruleangym.asm"
-INCLUDE "data/mapObjects/ceruleangym.asm"
-CeruleanGymBlocks: INCBIN "maps/ceruleangym.blk"
+INCLUDE "data/mapHeaders/CeruleanGym.asm"
+INCLUDE "scripts/CeruleanGym.asm"
+INCLUDE "data/mapObjects/CeruleanGym.asm"
+CeruleanGym_Blocks: INCBIN "maps/CeruleanGym.blk"
 
-INCLUDE "data/mapHeaders/ceruleanmart.asm"
-INCLUDE "scripts/ceruleanmart.asm"
-INCLUDE "data/mapObjects/ceruleanmart.asm"
+INCLUDE "data/mapHeaders/CeruleanMart.asm"
+INCLUDE "scripts/CeruleanMart.asm"
+INCLUDE "data/mapObjects/CeruleanMart.asm"
 
-INCLUDE "data/mapHeaders/lavenderpokecenter.asm"
-INCLUDE "scripts/lavenderpokecenter.asm"
-INCLUDE "data/mapObjects/lavenderpokecenter.asm"
+INCLUDE "data/mapHeaders/LavenderPokecenter.asm"
+INCLUDE "scripts/LavenderPokecenter.asm"
+INCLUDE "data/mapObjects/LavenderPokecenter.asm"
 
-INCLUDE "data/mapHeaders/lavendermart.asm"
-INCLUDE "scripts/lavendermart.asm"
-INCLUDE "data/mapObjects/lavendermart.asm"
+INCLUDE "data/mapHeaders/LavenderMart.asm"
+INCLUDE "scripts/LavenderMart.asm"
+INCLUDE "data/mapObjects/LavenderMart.asm"
 
-INCLUDE "data/mapHeaders/vermilionpokecenter.asm"
-INCLUDE "scripts/vermilionpokecenter.asm"
-INCLUDE "data/mapObjects/vermilionpokecenter.asm"
+INCLUDE "data/mapHeaders/VermilionPokecenter.asm"
+INCLUDE "scripts/VermilionPokecenter.asm"
+INCLUDE "data/mapObjects/VermilionPokecenter.asm"
 
-INCLUDE "data/mapHeaders/vermilionmart.asm"
-INCLUDE "scripts/vermilionmart.asm"
-INCLUDE "data/mapObjects/vermilionmart.asm"
+INCLUDE "data/mapHeaders/VermilionMart.asm"
+INCLUDE "scripts/VermilionMart.asm"
+INCLUDE "data/mapObjects/VermilionMart.asm"
 
-INCLUDE "data/mapHeaders/vermiliongym.asm"
-INCLUDE "scripts/vermiliongym.asm"
-INCLUDE "data/mapObjects/vermiliongym.asm"
-VermilionGymBlocks: INCBIN "maps/vermiliongym.blk"
+INCLUDE "data/mapHeaders/VermilionGym.asm"
+INCLUDE "scripts/VermilionGym.asm"
+INCLUDE "data/mapObjects/VermilionGym.asm"
+VermilionGym_Blocks: INCBIN "maps/VermilionGym.blk"
 
-INCLUDE "data/mapHeaders/copycatshouse2f.asm"
-INCLUDE "scripts/copycatshouse2f.asm"
-INCLUDE "data/mapObjects/copycatshouse2f.asm"
+INCLUDE "data/mapHeaders/CopycatsHouse2F.asm"
+INCLUDE "scripts/CopycatsHouse2F.asm"
+INCLUDE "data/mapObjects/CopycatsHouse2F.asm"
 
-INCLUDE "data/mapHeaders/fightingdojo.asm"
-INCLUDE "scripts/fightingdojo.asm"
-INCLUDE "data/mapObjects/fightingdojo.asm"
-FightingDojoBlocks: INCBIN "maps/fightingdojo.blk"
+INCLUDE "data/mapHeaders/FightingDojo.asm"
+INCLUDE "scripts/FightingDojo.asm"
+INCLUDE "data/mapObjects/FightingDojo.asm"
+FightingDojo_Blocks: INCBIN "maps/FightingDojo.blk"
 
-INCLUDE "data/mapHeaders/saffrongym.asm"
-INCLUDE "scripts/saffrongym.asm"
-INCLUDE "data/mapObjects/saffrongym.asm"
-SaffronGymBlocks: INCBIN "maps/saffrongym.blk"
+INCLUDE "data/mapHeaders/SaffronGym.asm"
+INCLUDE "scripts/SaffronGym.asm"
+INCLUDE "data/mapObjects/SaffronGym.asm"
+SaffronGym_Blocks: INCBIN "maps/SaffronGym.blk"
 
-INCLUDE "data/mapHeaders/saffronmart.asm"
-INCLUDE "scripts/saffronmart.asm"
-INCLUDE "data/mapObjects/saffronmart.asm"
+INCLUDE "data/mapHeaders/SaffronMart.asm"
+INCLUDE "scripts/SaffronMart.asm"
+INCLUDE "data/mapObjects/SaffronMart.asm"
 
-INCLUDE "data/mapHeaders/silphco1.asm"
-INCLUDE "scripts/silphco1.asm"
-INCLUDE "data/mapObjects/silphco1.asm"
-SilphCo1Blocks: INCBIN "maps/silphco1.blk"
+INCLUDE "data/mapHeaders/SilphCo1F.asm"
+INCLUDE "scripts/SilphCo1F.asm"
+INCLUDE "data/mapObjects/SilphCo1F.asm"
+SilphCo1F_Blocks: INCBIN "maps/SilphCo1F.blk"
 
-INCLUDE "data/mapHeaders/saffronpokecenter.asm"
-INCLUDE "scripts/saffronpokecenter.asm"
-INCLUDE "data/mapObjects/saffronpokecenter.asm"
+INCLUDE "data/mapHeaders/SaffronPokecenter.asm"
+INCLUDE "scripts/SaffronPokecenter.asm"
+INCLUDE "data/mapObjects/SaffronPokecenter.asm"
 
-INCLUDE "data/mapHeaders/viridianforestexit.asm"
-INCLUDE "scripts/viridianforestexit.asm"
-INCLUDE "data/mapObjects/viridianforestexit.asm"
+INCLUDE "data/mapHeaders/ViridianForestNorthGate.asm"
+INCLUDE "scripts/ViridianForestNorthGate.asm"
+INCLUDE "data/mapObjects/ViridianForestNorthGate.asm"
 
-INCLUDE "data/mapHeaders/route2gate.asm"
-INCLUDE "scripts/route2gate.asm"
-INCLUDE "data/mapObjects/route2gate.asm"
+INCLUDE "data/mapHeaders/Route2Gate.asm"
+INCLUDE "scripts/Route2Gate.asm"
+INCLUDE "data/mapObjects/Route2Gate.asm"
 
-INCLUDE "data/mapHeaders/viridianforestentrance.asm"
-INCLUDE "scripts/viridianforestentrance.asm"
-INCLUDE "data/mapObjects/viridianforestentrance.asm"
+INCLUDE "data/mapHeaders/ViridianForestSouthGate.asm"
+INCLUDE "scripts/ViridianForestSouthGate.asm"
+INCLUDE "data/mapObjects/ViridianForestSouthGate.asm"
 
-INCLUDE "data/mapHeaders/undergroundpathentranceroute5.asm"
-INCLUDE "scripts/undergroundpathentranceroute5.asm"
-INCLUDE "data/mapObjects/undergroundpathentranceroute5.asm"
+INCLUDE "data/mapHeaders/UndergroundPathRoute5.asm"
+INCLUDE "scripts/UndergroundPathRoute5.asm"
+INCLUDE "data/mapObjects/UndergroundPathRoute5.asm"
 
-INCLUDE "data/mapHeaders/undergroundpathentranceroute6.asm"
-INCLUDE "scripts/undergroundpathentranceroute6.asm"
-INCLUDE "data/mapObjects/undergroundpathentranceroute6.asm"
+INCLUDE "data/mapHeaders/UndergroundPathRoute6.asm"
+INCLUDE "scripts/UndergroundPathRoute6.asm"
+INCLUDE "data/mapObjects/UndergroundPathRoute6.asm"
 
-INCLUDE "data/mapHeaders/undergroundpathentranceroute7.asm"
-INCLUDE "scripts/undergroundpathentranceroute7.asm"
-INCLUDE "data/mapObjects/undergroundpathentranceroute7.asm"
+INCLUDE "data/mapHeaders/UndergroundPathRoute7.asm"
+INCLUDE "scripts/UndergroundPathRoute7.asm"
+INCLUDE "data/mapObjects/UndergroundPathRoute7.asm"
 
-INCLUDE "data/mapHeaders/undergroundpathentranceroute7copy.asm"
-INCLUDE "scripts/undergroundpathentranceroute7copy.asm"
-INCLUDE "data/mapObjects/undergroundpathentranceroute7copy.asm"
+INCLUDE "data/mapHeaders/UndergroundPathRoute7Copy.asm"
+INCLUDE "scripts/UndergroundPathRoute7Copy.asm"
+INCLUDE "data/mapObjects/UndergroundPathRoute7Copy.asm"
 
-INCLUDE "data/mapHeaders/silphco9.asm"
-INCLUDE "scripts/silphco9.asm"
-INCLUDE "data/mapObjects/silphco9.asm"
-SilphCo9Blocks: INCBIN "maps/silphco9.blk"
+INCLUDE "data/mapHeaders/SilphCo9F.asm"
+INCLUDE "scripts/SilphCo9F.asm"
+INCLUDE "data/mapObjects/SilphCo9F.asm"
+SilphCo9F_Blocks: INCBIN "maps/SilphCo9F.blk"
 
-INCLUDE "data/mapHeaders/victoryroad1.asm"
-INCLUDE "scripts/victoryroad1.asm"
-INCLUDE "data/mapObjects/victoryroad1.asm"
-VictoryRoad1Blocks: INCBIN "maps/victoryroad1.blk"
+INCLUDE "data/mapHeaders/VictoryRoad1F.asm"
+INCLUDE "scripts/VictoryRoad1F.asm"
+INCLUDE "data/mapObjects/VictoryRoad1F.asm"
+VictoryRoad1F_Blocks: INCBIN "maps/VictoryRoad1F.blk"
 
 INCLUDE "engine/predefs17_2.asm"
 
@@ -1725,123 +1730,123 @@
 
 SECTION "bank18", ROMX
 
-ViridianForestBlocks:    INCBIN "maps/viridianforest.blk"
-UndergroundPathNSBlocks: INCBIN "maps/undergroundpathns.blk"
-UndergroundPathWEBlocks: INCBIN "maps/undergroundpathwe.blk"
+ViridianForest_Blocks: INCBIN "maps/ViridianForest.blk"
+UndergroundPathNorthSouth_Blocks: INCBIN "maps/UndergroundPathNorthSouth.blk"
+UndergroundPathWestEast_Blocks: INCBIN "maps/UndergroundPathWestEast.blk"
 
-	INCBIN "maps/unusedblocks60258.blk"
+	INCBIN "maps/UnusedDiglettsCaveCopy.blk"
 
-SSAnne10Blocks:
-SSAnne9Blocks: INCBIN "maps/ssanne9.blk"
+SSAnneB1FRooms_Blocks:
+SSAnne2FRooms_Blocks: INCBIN "maps/SSAnne2FRooms.blk"
 
-INCLUDE "data/mapHeaders/pokemontower1.asm"
-INCLUDE "scripts/pokemontower1.asm"
-INCLUDE "data/mapObjects/pokemontower1.asm"
-PokemonTower1Blocks: INCBIN "maps/pokemontower1.blk"
+INCLUDE "data/mapHeaders/PokemonTower1F.asm"
+INCLUDE "scripts/PokemonTower1F.asm"
+INCLUDE "data/mapObjects/PokemonTower1F.asm"
+PokemonTower1F_Blocks: INCBIN "maps/PokemonTower1F.blk"
 
-INCLUDE "data/mapHeaders/pokemontower2.asm"
-INCLUDE "scripts/pokemontower2.asm"
-INCLUDE "data/mapObjects/pokemontower2.asm"
-PokemonTower2Blocks: INCBIN "maps/pokemontower2.blk"
+INCLUDE "data/mapHeaders/PokemonTower2F.asm"
+INCLUDE "scripts/PokemonTower2F.asm"
+INCLUDE "data/mapObjects/PokemonTower2F.asm"
+PokemonTower2F_Blocks: INCBIN "maps/PokemonTower2F.blk"
 
-INCLUDE "data/mapHeaders/pokemontower3.asm"
-INCLUDE "scripts/pokemontower3.asm"
-INCLUDE "data/mapObjects/pokemontower3.asm"
-PokemonTower3Blocks: INCBIN "maps/pokemontower3.blk"
+INCLUDE "data/mapHeaders/PokemonTower3F.asm"
+INCLUDE "scripts/PokemonTower3F.asm"
+INCLUDE "data/mapObjects/PokemonTower3F.asm"
+PokemonTower3F_Blocks: INCBIN "maps/PokemonTower3F.blk"
 
-INCLUDE "data/mapHeaders/pokemontower4.asm"
-INCLUDE "scripts/pokemontower4.asm"
-INCLUDE "data/mapObjects/pokemontower4.asm"
-PokemonTower4Blocks: INCBIN "maps/pokemontower4.blk"
+INCLUDE "data/mapHeaders/PokemonTower4F.asm"
+INCLUDE "scripts/PokemonTower4F.asm"
+INCLUDE "data/mapObjects/PokemonTower4F.asm"
+PokemonTower4F_Blocks: INCBIN "maps/PokemonTower4F.blk"
 
-INCLUDE "data/mapHeaders/pokemontower5.asm"
-INCLUDE "scripts/pokemontower5.asm"
-INCLUDE "data/mapObjects/pokemontower5.asm"
-PokemonTower5Blocks: INCBIN "maps/pokemontower5.blk"
+INCLUDE "data/mapHeaders/PokemonTower5F.asm"
+INCLUDE "scripts/PokemonTower5F.asm"
+INCLUDE "data/mapObjects/PokemonTower5F.asm"
+PokemonTower5F_Blocks: INCBIN "maps/PokemonTower5F.blk"
 
-INCLUDE "data/mapHeaders/pokemontower6.asm"
-INCLUDE "scripts/pokemontower6.asm"
-INCLUDE "data/mapObjects/pokemontower6.asm"
-PokemonTower6Blocks: INCBIN "maps/pokemontower6.blk"
+INCLUDE "data/mapHeaders/PokemonTower6F.asm"
+INCLUDE "scripts/PokemonTower6F.asm"
+INCLUDE "data/mapObjects/PokemonTower6F.asm"
+PokemonTower6F_Blocks: INCBIN "maps/PokemonTower6F.blk"
 
-	INCBIN "maps/unusedblocks60cef.blk"
+	INCBIN "maps/UnusedEmptyMap.blk"
 
-INCLUDE "data/mapHeaders/pokemontower7.asm"
-INCLUDE "scripts/pokemontower7.asm"
-INCLUDE "data/mapObjects/pokemontower7.asm"
-PokemonTower7Blocks: INCBIN "maps/pokemontower7.blk"
+INCLUDE "data/mapHeaders/PokemonTower7F.asm"
+INCLUDE "scripts/PokemonTower7F.asm"
+INCLUDE "data/mapObjects/PokemonTower7F.asm"
+PokemonTower7F_Blocks: INCBIN "maps/PokemonTower7F.blk"
 
-INCLUDE "data/mapHeaders/celadonmart1.asm"
-INCLUDE "scripts/celadonmart1.asm"
-INCLUDE "data/mapObjects/celadonmart1.asm"
-CeladonMart1Blocks: INCBIN "maps/celadonmart1.blk"
+INCLUDE "data/mapHeaders/CeladonMart1F.asm"
+INCLUDE "scripts/CeladonMart1F.asm"
+INCLUDE "data/mapObjects/CeladonMart1F.asm"
+CeladonMart1F_Blocks: INCBIN "maps/CeladonMart1F.blk"
 
 INCLUDE "engine/overworld/cinnabar_lab.asm"
 
-INCLUDE "data/mapHeaders/viridianforest.asm"
-INCLUDE "scripts/viridianforest.asm"
-INCLUDE "data/mapObjects/viridianforest.asm"
+INCLUDE "data/mapHeaders/ViridianForest.asm"
+INCLUDE "scripts/ViridianForest.asm"
+INCLUDE "data/mapObjects/ViridianForest.asm"
 
-INCLUDE "data/mapHeaders/ssanne1.asm"
-INCLUDE "scripts/ssanne1.asm"
-INCLUDE "data/mapObjects/ssanne1.asm"
-SSAnne1Blocks: INCBIN "maps/ssanne1.blk"
+INCLUDE "data/mapHeaders/SSAnne1F.asm"
+INCLUDE "scripts/SSAnne1F.asm"
+INCLUDE "data/mapObjects/SSAnne1F.asm"
+SSAnne1F_Blocks: INCBIN "maps/SSAnne1F.blk"
 
-INCLUDE "data/mapHeaders/ssanne2.asm"
-INCLUDE "scripts/ssanne2.asm"
-INCLUDE "data/mapObjects/ssanne2.asm"
-SSAnne2Blocks: INCBIN "maps/ssanne2.blk"
+INCLUDE "data/mapHeaders/SSAnne2F.asm"
+INCLUDE "scripts/SSAnne2F.asm"
+INCLUDE "data/mapObjects/SSAnne2F.asm"
+SSAnne2F_Blocks: INCBIN "maps/SSAnne2F.blk"
 
-INCLUDE "data/mapHeaders/ssanne4.asm"
-INCLUDE "scripts/ssanne4.asm"
-INCLUDE "data/mapObjects/ssanne4.asm"
-SSAnne4Blocks: INCBIN "maps/ssanne4.blk"
+INCLUDE "data/mapHeaders/SSAnneB1F.asm"
+INCLUDE "scripts/SSAnneB1F.asm"
+INCLUDE "data/mapObjects/SSAnneB1F.asm"
+SSAnneB1F_Blocks: INCBIN "maps/SSAnneB1F.blk"
 
-INCLUDE "data/mapHeaders/ssanne5.asm"
-INCLUDE "scripts/ssanne5.asm"
-INCLUDE "data/mapObjects/ssanne5.asm"
-SSAnne5Blocks: INCBIN "maps/ssanne5.blk"
+INCLUDE "data/mapHeaders/SSAnneBow.asm"
+INCLUDE "scripts/SSAnneBow.asm"
+INCLUDE "data/mapObjects/SSAnneBow.asm"
+SSAnneBow_Blocks: INCBIN "maps/SSAnneBow.blk"
 
-INCLUDE "data/mapHeaders/ssanne6.asm"
-INCLUDE "scripts/ssanne6.asm"
-INCLUDE "data/mapObjects/ssanne6.asm"
-SSAnne6Blocks: INCBIN "maps/ssanne6.blk"
+INCLUDE "data/mapHeaders/SSAnneKitchen.asm"
+INCLUDE "scripts/SSAnneKitchen.asm"
+INCLUDE "data/mapObjects/SSAnneKitchen.asm"
+SSAnneKitchen_Blocks: INCBIN "maps/SSAnneKitchen.blk"
 
-INCLUDE "data/mapHeaders/ssanne7.asm"
-INCLUDE "scripts/ssanne7.asm"
-INCLUDE "data/mapObjects/ssanne7.asm"
-SSAnne7Blocks: INCBIN "maps/ssanne7.blk"
+INCLUDE "data/mapHeaders/SSAnneCaptainsRoom.asm"
+INCLUDE "scripts/SSAnneCaptainsRoom.asm"
+INCLUDE "data/mapObjects/SSAnneCaptainsRoom.asm"
+SSAnneCaptainsRoom_Blocks: INCBIN "maps/SSAnneCaptainsRoom.blk"
 
-INCLUDE "data/mapHeaders/ssanne8.asm"
-INCLUDE "scripts/ssanne8.asm"
-INCLUDE "data/mapObjects/ssanne8.asm"
-SSAnne8Blocks: INCBIN "maps/ssanne8.blk"
+INCLUDE "data/mapHeaders/SSAnne1FRooms.asm"
+INCLUDE "scripts/SSAnne1FRooms.asm"
+INCLUDE "data/mapObjects/SSAnne1FRooms.asm"
+SSAnne1FRooms_Blocks: INCBIN "maps/SSAnne1FRooms.blk"
 
-INCLUDE "data/mapHeaders/ssanne9.asm"
-INCLUDE "scripts/ssanne9.asm"
-INCLUDE "data/mapObjects/ssanne9.asm"
+INCLUDE "data/mapHeaders/SSAnne2FRooms.asm"
+INCLUDE "scripts/SSAnne2FRooms.asm"
+INCLUDE "data/mapObjects/SSAnne2FRooms.asm"
 
-INCLUDE "data/mapHeaders/ssanne10.asm"
-INCLUDE "scripts/ssanne10.asm"
-INCLUDE "data/mapObjects/ssanne10.asm"
+INCLUDE "data/mapHeaders/SSAnneB1FRooms.asm"
+INCLUDE "scripts/SSAnneB1FRooms.asm"
+INCLUDE "data/mapObjects/SSAnneB1FRooms.asm"
 
-INCLUDE "data/mapHeaders/undergroundpathns.asm"
-INCLUDE "scripts/undergroundpathns.asm"
-INCLUDE "data/mapObjects/undergroundpathns.asm"
+INCLUDE "data/mapHeaders/UndergroundPathNorthSouth.asm"
+INCLUDE "scripts/UndergroundPathNorthSouth.asm"
+INCLUDE "data/mapObjects/UndergroundPathNorthSouth.asm"
 
-INCLUDE "data/mapHeaders/undergroundpathwe.asm"
-INCLUDE "scripts/undergroundpathwe.asm"
-INCLUDE "data/mapObjects/undergroundpathwe.asm"
+INCLUDE "data/mapHeaders/UndergroundPathWestEast.asm"
+INCLUDE "scripts/UndergroundPathWestEast.asm"
+INCLUDE "data/mapObjects/UndergroundPathWestEast.asm"
 
-INCLUDE "data/mapHeaders/diglettscave.asm"
-INCLUDE "scripts/diglettscave.asm"
-INCLUDE "data/mapObjects/diglettscave.asm"
-DiglettsCaveBlocks: INCBIN "maps/diglettscave.blk"
+INCLUDE "data/mapHeaders/DiglettsCave.asm"
+INCLUDE "scripts/DiglettsCave.asm"
+INCLUDE "data/mapObjects/DiglettsCave.asm"
+DiglettsCave_Blocks: INCBIN "maps/DiglettsCave.blk"
 
-INCLUDE "data/mapHeaders/silphco11.asm"
-INCLUDE "scripts/silphco11.asm"
-INCLUDE "data/mapObjects/silphco11.asm"
-SilphCo11Blocks: INCBIN "maps/silphco11.blk"
+INCLUDE "data/mapHeaders/SilphCo11F.asm"
+INCLUDE "scripts/SilphCo11F.asm"
+INCLUDE "data/mapObjects/SilphCo11F.asm"
+SilphCo11F_Blocks: INCBIN "maps/SilphCo11F.blk"
 
 INCLUDE "engine/hidden_object_functions18.asm"
 
@@ -1903,6 +1908,7 @@
 Forest_Block:      INCBIN "gfx/blocksets/forest.bst"
 Facility_GFX:      INCBIN "gfx/tilesets/facility.2bpp"
 Facility_Block:    INCBIN "gfx/blocksets/facility.bst"
+	ds 1
 
 
 SECTION "bank1B", ROMX
@@ -1940,17 +1946,17 @@
 
 SECTION "bank1D", ROMX
 
-CopycatsHouse1FBlocks: INCBIN "maps/copycatshouse1f.blk"
+CopycatsHouse1F_Blocks: INCBIN "maps/CopycatsHouse1F.blk"
 
-CinnabarMartBlocks:
-PewterMartBlocks: INCBIN "maps/pewtermart.blk"
+CinnabarMart_Blocks:
+PewterMart_Blocks: INCBIN "maps/PewterMart.blk"
 
-FuchsiaHouse1Blocks: INCBIN "maps/fuchsiahouse1.blk"
+FuchsiaBillsGrandpasHouse_Blocks: INCBIN "maps/FuchsiaBillsGrandpasHouse.blk"
 
-CinnabarPokecenterBlocks:
-FuchsiaPokecenterBlocks: INCBIN "maps/fuchsiapokecenter.blk"
+CinnabarPokecenter_Blocks:
+FuchsiaPokecenter_Blocks: INCBIN "maps/FuchsiaPokecenter.blk"
 
-CeruleanHouse2Blocks: INCBIN "maps/ceruleanhouse2.blk"
+CeruleanBadgeHouse_Blocks: INCBIN "maps/CeruleanBadgeHouse.blk"
 
 INCLUDE "engine/HoF_room_pc.asm"
 
@@ -1958,112 +1964,112 @@
 
 INCLUDE "engine/items/itemfinder.asm"
 
-INCLUDE "scripts/ceruleancity2.asm"
+INCLUDE "scripts/CeruleanCity_2.asm"
 
-INCLUDE "data/mapHeaders/viridiangym.asm"
-INCLUDE "scripts/viridiangym.asm"
-INCLUDE "data/mapObjects/viridiangym.asm"
-ViridianGymBlocks: INCBIN "maps/viridiangym.blk"
+INCLUDE "data/mapHeaders/ViridianGym.asm"
+INCLUDE "scripts/ViridianGym.asm"
+INCLUDE "data/mapObjects/ViridianGym.asm"
+ViridianGym_Blocks: INCBIN "maps/ViridianGym.blk"
 
-INCLUDE "data/mapHeaders/pewtermart.asm"
-INCLUDE "scripts/pewtermart.asm"
-INCLUDE "data/mapObjects/pewtermart.asm"
+INCLUDE "data/mapHeaders/PewterMart.asm"
+INCLUDE "scripts/PewterMart.asm"
+INCLUDE "data/mapObjects/PewterMart.asm"
 
-INCLUDE "data/mapHeaders/unknowndungeon1.asm"
-INCLUDE "scripts/unknowndungeon1.asm"
-INCLUDE "data/mapObjects/unknowndungeon1.asm"
-UnknownDungeon1Blocks: INCBIN "maps/unknowndungeon1.blk"
+INCLUDE "data/mapHeaders/CeruleanCave1F.asm"
+INCLUDE "scripts/CeruleanCave1F.asm"
+INCLUDE "data/mapObjects/CeruleanCave1F.asm"
+CeruleanCave1F_Blocks: INCBIN "maps/CeruleanCave1F.blk"
 
-INCLUDE "data/mapHeaders/ceruleanhouse2.asm"
-INCLUDE "scripts/ceruleanhouse2.asm"
-INCLUDE "data/mapObjects/ceruleanhouse2.asm"
+INCLUDE "data/mapHeaders/CeruleanBadgeHouse.asm"
+INCLUDE "scripts/CeruleanBadgeHouse.asm"
+INCLUDE "data/mapObjects/CeruleanBadgeHouse.asm"
 
 INCLUDE "engine/menu/vending_machine.asm"
 
-INCLUDE "data/mapHeaders/fuchsiahouse1.asm"
-INCLUDE "scripts/fuchsiahouse1.asm"
-INCLUDE "data/mapObjects/fuchsiahouse1.asm"
+INCLUDE "data/mapHeaders/FuchsiaBillsGrandpasHouse.asm"
+INCLUDE "scripts/FuchsiaBillsGrandpasHouse.asm"
+INCLUDE "data/mapObjects/FuchsiaBillsGrandpasHouse.asm"
 
-INCLUDE "data/mapHeaders/fuchsiapokecenter.asm"
-INCLUDE "scripts/fuchsiapokecenter.asm"
-INCLUDE "data/mapObjects/fuchsiapokecenter.asm"
+INCLUDE "data/mapHeaders/FuchsiaPokecenter.asm"
+INCLUDE "scripts/FuchsiaPokecenter.asm"
+INCLUDE "data/mapObjects/FuchsiaPokecenter.asm"
 
-INCLUDE "data/mapHeaders/fuchsiahouse2.asm"
-INCLUDE "scripts/fuchsiahouse2.asm"
-INCLUDE "data/mapObjects/fuchsiahouse2.asm"
-FuchsiaHouse2Blocks: INCBIN "maps/fuchsiahouse2.blk"
+INCLUDE "data/mapHeaders/WardensHouse.asm"
+INCLUDE "scripts/WardensHouse.asm"
+INCLUDE "data/mapObjects/WardensHouse.asm"
+WardensHouse_Blocks: INCBIN "maps/WardensHouse.blk"
 
-INCLUDE "data/mapHeaders/safarizoneentrance.asm"
-INCLUDE "scripts/safarizoneentrance.asm"
-INCLUDE "data/mapObjects/safarizoneentrance.asm"
-SafariZoneEntranceBlocks: INCBIN "maps/safarizoneentrance.blk"
+INCLUDE "data/mapHeaders/SafariZoneGate.asm"
+INCLUDE "scripts/SafariZoneGate.asm"
+INCLUDE "data/mapObjects/SafariZoneGate.asm"
+SafariZoneGate_Blocks: INCBIN "maps/SafariZoneGate.blk"
 
-INCLUDE "data/mapHeaders/fuchsiagym.asm"
-INCLUDE "scripts/fuchsiagym.asm"
-INCLUDE "data/mapObjects/fuchsiagym.asm"
-FuchsiaGymBlocks: INCBIN "maps/fuchsiagym.blk"
+INCLUDE "data/mapHeaders/FuchsiaGym.asm"
+INCLUDE "scripts/FuchsiaGym.asm"
+INCLUDE "data/mapObjects/FuchsiaGym.asm"
+FuchsiaGym_Blocks: INCBIN "maps/FuchsiaGym.blk"
 
-INCLUDE "data/mapHeaders/fuchsiameetingroom.asm"
-INCLUDE "scripts/fuchsiameetingroom.asm"
-INCLUDE "data/mapObjects/fuchsiameetingroom.asm"
-FuchsiaMeetingRoomBlocks: INCBIN "maps/fuchsiameetingroom.blk"
+INCLUDE "data/mapHeaders/FuchsiaMeetingRoom.asm"
+INCLUDE "scripts/FuchsiaMeetingRoom.asm"
+INCLUDE "data/mapObjects/FuchsiaMeetingRoom.asm"
+FuchsiaMeetingRoom_Blocks: INCBIN "maps/FuchsiaMeetingRoom.blk"
 
-INCLUDE "data/mapHeaders/cinnabargym.asm"
-INCLUDE "scripts/cinnabargym.asm"
-INCLUDE "data/mapObjects/cinnabargym.asm"
-CinnabarGymBlocks: INCBIN "maps/cinnabargym.blk"
+INCLUDE "data/mapHeaders/CinnabarGym.asm"
+INCLUDE "scripts/CinnabarGym.asm"
+INCLUDE "data/mapObjects/CinnabarGym.asm"
+CinnabarGym_Blocks: INCBIN "maps/CinnabarGym.blk"
 
-INCLUDE "data/mapHeaders/lab1.asm"
-INCLUDE "scripts/lab1.asm"
-INCLUDE "data/mapObjects/lab1.asm"
-Lab1Blocks: INCBIN "maps/lab1.blk"
+INCLUDE "data/mapHeaders/CinnabarLab.asm"
+INCLUDE "scripts/CinnabarLab.asm"
+INCLUDE "data/mapObjects/CinnabarLab.asm"
+CinnabarLab_Blocks: INCBIN "maps/CinnabarLab.blk"
 
-INCLUDE "data/mapHeaders/lab2.asm"
-INCLUDE "scripts/lab2.asm"
-INCLUDE "data/mapObjects/lab2.asm"
-Lab2Blocks: INCBIN "maps/lab2.blk"
+INCLUDE "data/mapHeaders/CinnabarLabTradeRoom.asm"
+INCLUDE "scripts/CinnabarLabTradeRoom.asm"
+INCLUDE "data/mapObjects/CinnabarLabTradeRoom.asm"
+CinnabarLabTradeRoom_Blocks: INCBIN "maps/CinnabarLabTradeRoom.blk"
 
-INCLUDE "data/mapHeaders/lab3.asm"
-INCLUDE "scripts/lab3.asm"
-INCLUDE "data/mapObjects/lab3.asm"
-Lab3Blocks: INCBIN "maps/lab3.blk"
+INCLUDE "data/mapHeaders/CinnabarLabMetronomeRoom.asm"
+INCLUDE "scripts/CinnabarLabMetronomeRoom.asm"
+INCLUDE "data/mapObjects/CinnabarLabMetronomeRoom.asm"
+CinnabarLabMetronomeRoom_Blocks: INCBIN "maps/CinnabarLabMetronomeRoom.blk"
 
-INCLUDE "data/mapHeaders/lab4.asm"
-INCLUDE "scripts/lab4.asm"
-INCLUDE "data/mapObjects/lab4.asm"
-Lab4Blocks: INCBIN "maps/lab4.blk"
+INCLUDE "data/mapHeaders/CinnabarLabFossilRoom.asm"
+INCLUDE "scripts/CinnabarLabFossilRoom.asm"
+INCLUDE "data/mapObjects/CinnabarLabFossilRoom.asm"
+CinnabarLabFossilRoom_Blocks: INCBIN "maps/CinnabarLabFossilRoom.blk"
 
-INCLUDE "data/mapHeaders/cinnabarpokecenter.asm"
-INCLUDE "scripts/cinnabarpokecenter.asm"
-INCLUDE "data/mapObjects/cinnabarpokecenter.asm"
+INCLUDE "data/mapHeaders/CinnabarPokecenter.asm"
+INCLUDE "scripts/CinnabarPokecenter.asm"
+INCLUDE "data/mapObjects/CinnabarPokecenter.asm"
 
-INCLUDE "data/mapHeaders/cinnabarmart.asm"
-INCLUDE "scripts/cinnabarmart.asm"
-INCLUDE "data/mapObjects/cinnabarmart.asm"
+INCLUDE "data/mapHeaders/CinnabarMart.asm"
+INCLUDE "scripts/CinnabarMart.asm"
+INCLUDE "data/mapObjects/CinnabarMart.asm"
 
-INCLUDE "data/mapHeaders/copycatshouse1f.asm"
-INCLUDE "scripts/copycatshouse1f.asm"
-INCLUDE "data/mapObjects/copycatshouse1f.asm"
+INCLUDE "data/mapHeaders/CopycatsHouse1F.asm"
+INCLUDE "scripts/CopycatsHouse1F.asm"
+INCLUDE "data/mapObjects/CopycatsHouse1F.asm"
 
-INCLUDE "data/mapHeaders/gary.asm"
-INCLUDE "scripts/gary.asm"
-INCLUDE "data/mapObjects/gary.asm"
-GaryBlocks: INCBIN "maps/gary.blk"
+INCLUDE "data/mapHeaders/ChampionsRoom.asm"
+INCLUDE "scripts/ChampionsRoom.asm"
+INCLUDE "data/mapObjects/ChampionsRoom.asm"
+ChampionsRoom_Blocks: INCBIN "maps/ChampionsRoom.blk"
 
-INCLUDE "data/mapHeaders/lorelei.asm"
-INCLUDE "scripts/lorelei.asm"
-INCLUDE "data/mapObjects/lorelei.asm"
-LoreleiBlocks: INCBIN "maps/lorelei.blk"
+INCLUDE "data/mapHeaders/LoreleisRoom.asm"
+INCLUDE "scripts/LoreleisRoom.asm"
+INCLUDE "data/mapObjects/LoreleisRoom.asm"
+LoreleisRoom_Blocks: INCBIN "maps/LoreleisRoom.blk"
 
-INCLUDE "data/mapHeaders/bruno.asm"
-INCLUDE "scripts/bruno.asm"
-INCLUDE "data/mapObjects/bruno.asm"
-BrunoBlocks: INCBIN "maps/bruno.blk"
+INCLUDE "data/mapHeaders/BrunosRoom.asm"
+INCLUDE "scripts/BrunosRoom.asm"
+INCLUDE "data/mapObjects/BrunosRoom.asm"
+BrunosRoom_Blocks: INCBIN "maps/BrunosRoom.blk"
 
-INCLUDE "data/mapHeaders/agatha.asm"
-INCLUDE "scripts/agatha.asm"
-INCLUDE "data/mapObjects/agatha.asm"
-AgathaBlocks: INCBIN "maps/agatha.blk"
+INCLUDE "data/mapHeaders/AgathasRoom.asm"
+INCLUDE "scripts/AgathasRoom.asm"
+INCLUDE "data/mapObjects/AgathasRoom.asm"
+AgathasRoom_Blocks: INCBIN "maps/AgathasRoom.blk"
 
 INCLUDE "engine/menu/league_pc.asm"
 
--- /dev/null
+++ b/maps/AgathasRoom.blk
@@ -1,0 +1,1 @@
+GG6GGg66NeRN6eReg6eeRK6eRgR6hh
\ No newline at end of file
--- /dev/null
+++ b/maps/BikeShop.blk
@@ -1,0 +1,6 @@
+
+
+
+
+
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/BillsHouse.blk
@@ -1,0 +1,2 @@
+	
+
\ No newline at end of file
--- /dev/null
+++ b/maps/BluesHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/BrunosRoom.blk
@@ -1,0 +1,4 @@
+
+

+

+
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonChiefHouse.blk
@@ -1,0 +1,1 @@
+D@?DBCFG6A6
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonCity.blk
@@ -1,0 +1,28 @@
+lllllllllllllllllllllll
+
+
+
+
+
+
+
+
+oo
+ooo
+oooooo
+n !UUUU 
!U 
!UUUUUUUUUmnhi 

!hiUhi ! ! ! !Umn7~hi7}~y7:~7~7~7~|rUUUhiUUUUUUUUUUUUUUUUUUUU7::sUUUUUUUUUUUUUUUUUUUUUUUUy0	VwwwwUwwwwUUUUUUUUUNTM 
! !U ! !nwUUUUUUUUUgj7:~|~U7~7~nUUUUUUUUUCVwwVwUVwww5nUUUUUUUUUUUUUUUUUUUUUUmn !

 ! !UU ! ! ! ! !
+n7~7~7~UU7~|~|~7~|~
+nUUUUUyUU !UUUUUUUUUUUU
+n/7~UUUUUUUUUUUU
+n
+
+
+
+
+
+
+
+
+
+llllll26llll
+nooooooooooooooooo6ooooo
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonDiner.blk
@@ -1,0 +1,1 @@
+,*.20 !- !1()
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonGym.blk
@@ -1,0 +1,1 @@
+38:933<3=33;?>3344356344321
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonHotel.blk
@@ -1,0 +1,2 @@
+
+
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMansion1F.blk
@@ -1,0 +1,1 @@
+$*
>
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMansion2F.blk
@@ -1,0 +1,1 @@
+'+/

\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMansion3F.blk
@@ -1,0 +1,2 @@
+()#,-
+

\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMansionRoof.blk
@@ -1,0 +1,1 @@
+E;=!"%&3 
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMansionRoofHouse.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMart1F.blk
@@ -1,0 +1,1 @@
+
%	&	
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMart2F.blk
@@ -1,0 +1,4 @@
+
%
+
+
+
--- /dev/null
+++ b/maps/CeladonMart3F.blk
@@ -1,0 +1,2 @@
+
$$$$%
+
--- /dev/null
+++ b/maps/CeladonMart4F.blk
@@ -1,0 +1,4 @@
+
%'
+
+
+
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMart5F.blk
@@ -1,0 +1,4 @@
+
%
+
+
+
--- /dev/null
+++ b/maps/CeladonMartElevator.blk
@@ -1,0 +1,1 @@
+*+()
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonMartRoof.blk
@@ -1,0 +1,1 @@
+6;??A6!  <C*A6  !   A677777777A
\ No newline at end of file
--- /dev/null
+++ b/maps/CeladonPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanBadgeHouse.blk
@@ -1,0 +1,1 @@
+=	==,5
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanCave1F.blk
@@ -1,0 +1,2 @@
+ "||b	-}fN_vvvvvvvv#vvvvr}|qvv,-Xv=,vtfvvvfvf+}_ "vv-
+
} "$
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanCave2F.blk
@@ -1,0 +1,3 @@
+}(	((	


+

+}(#	(					}


\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanCaveB1F.blk
@@ -1,0 +1,1 @@
+,--Nr02a}f
D+,v
 "pfvvv}fXfvv^tvvtvv)
 "vvvSvvvv
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanCity.blk
@@ -1,0 +1,25 @@
+,,,,,,)CCTN
+CCCCCC,,+WWW%CCTPCCCCCC,,)CCCCCC
+N
+CCCCCC,,)lllll6
+mnllllm,,)UUUUUn
+mnUUUUmWWp	0		0	111
+
+
+
+
+
+N\	 !
+Pkkk
+
+
+
+|r


+
+/\bQQN
+tttttt111_NttN ! !ttt_NttN
+V|~0	|s0	_NttN_Nttbllll6V2llllllllNttNNttPRRm]nN]MRRRRNtttttm'n
+
+
+
+N'Mttttt
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanGym.blk
@@ -1,0 +1,1 @@
+!#"# 
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanTradeHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/CeruleanTrashedHouse.blk
@@ -1,0 +1,1 @@
+ !"
\ No newline at end of file
--- /dev/null
+++ b/maps/ChampionsRoom.blk
@@ -1,0 +1,1 @@
+I12JKLKLR12o
\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarGym.blk
@@ -1,0 +1,1 @@
+@aa@@aAAAADDDYDDDDkcDkckcDDDDDDDPXkcDkcDEDHUDDD,
\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarIsland.blk
@@ -1,0 +1,1 @@
+d 
!{{
d7:~{yd{{y{{{{{d 
!{{{{{d7:~ ! !{d{{y|r|s{-{{{{{{{C-kkkkkkkkk
\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarLab.blk
@@ -1,0 +1,2 @@
+	
+
\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarLabFossilRoom.blk
@@ -1,0 +1,1 @@
+
\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarLabMetronomeRoom.blk
@@ -1,0 +1,1 @@
+
\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarLabTradeRoom.blk
@@ -1,0 +1,2 @@
+	
+

\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/CinnabarPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/Colosseum.blk
@@ -1,0 +1,6 @@
+
+
+
+
+
+
--- /dev/null
+++ b/maps/CopycatsHouse1F.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/CopycatsHouse2F.blk
@@ -1,0 +1,1 @@
+

\ No newline at end of file
--- /dev/null
+++ b/maps/Daycare.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/DiglettsCave.blk
@@ -1,0 +1,1 @@
+,+>++++>
\ No newline at end of file
--- /dev/null
+++ b/maps/DiglettsCaveRoute11.blk
@@ -1,0 +1,2 @@
+}}}}}'}
+$}
\ No newline at end of file
--- /dev/null
+++ b/maps/DiglettsCaveRoute2.blk
@@ -1,0 +1,2 @@
+}}}}}'}
+$}
\ No newline at end of file
--- /dev/null
+++ b/maps/FightingDojo.blk
@@ -1,0 +1,1 @@
+IJgIJKQPLKLKLK21LRFFo
\ No newline at end of file
--- /dev/null
+++ b/maps/FuchsiaBillsGrandpasHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/FuchsiaCity.blk
@@ -1,0 +1,4 @@
+ 
!zoooooz7:~zooooooznttmVUwnmnwVwVmzoo`wVwVwmzzzzzzznzzzzzzzzzzz !oooo`z 
!nlllmzz|szzzzzz7:~`wVwmzoooooyzznVUVzzzzzogmzznUlllll11NkkkPRR`Uwwww11NU_tnN>?????????;_t
+
+
+nN$ 
!WWWW !%_8989nNX|~0|rY1<=<=1nNX11111111Y_Vw1wnNZ\ooo\[11nPRRRR>?;ttttPRRRRRn11111(,)1111>?;
\ No newline at end of file
--- /dev/null
+++ b/maps/FuchsiaGoodRodHouse.blk
@@ -1,0 +1,1 @@
+=	==,5
\ No newline at end of file
--- /dev/null
+++ b/maps/FuchsiaGym.blk
@@ -1,0 +1,1 @@
+-.0-/0/-/--/./0---21
\ No newline at end of file
--- /dev/null
+++ b/maps/FuchsiaMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/FuchsiaMeetingRoom.blk
@@ -1,0 +1,1 @@
+589467777

\ No newline at end of file
--- /dev/null
+++ b/maps/FuchsiaPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/GameCorner.blk
@@ -1,0 +1,5 @@
+
+
+
+
+4***C*///3  :  :  :  :9!9!9!99!9!9!98!8!8!8       () 
\ No newline at end of file
--- /dev/null
+++ b/maps/GameCornerPrizeRoom.blk
@@ -1,0 +1,1 @@
+?@@@?>>>>>     =
\ No newline at end of file
--- /dev/null
+++ b/maps/HallOfFame.blk
@@ -1,0 +1,1 @@
+e7l
\ No newline at end of file
--- /dev/null
+++ b/maps/IndigoPlateau.blk
@@ -1,0 +1,1 @@
+!"'')))CB***,,,(CB(+++)))CB***,,,(CB(+++)))CB***,,,(CB(+++
\ No newline at end of file
binary files /dev/null b/maps/IndigoPlateauLobby.blk differ
--- /dev/null
+++ b/maps/LancesRoom.blk
@@ -1,0 +1,1 @@
+I12JI12JK21LKLK21LKLK21LR12oK21LK21LRVrsNoKLIJKLKpKLKSFFoKLKLKUHHH[LRFFFFFFFo
\ No newline at end of file
--- /dev/null
+++ b/maps/LavenderCuboneHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/LavenderMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/LavenderPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/LavenderTown.blk
@@ -1,0 +1,1 @@
+WW%{{(hi,{ !{y(7}~,{|r{{$WW*{{{{{{{{y({{yy{{{({{{{{{{ !({{{|s({{{{{{{{{(???;{>???,
\ No newline at end of file
--- /dev/null
+++ b/maps/LoreleisRoom.blk
@@ -1,0 +1,1 @@
+!!$!!  DD
\ No newline at end of file
--- /dev/null
+++ b/maps/MrFujisHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/MrPsychicsHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/MtMoon1F.blk
@@ -1,0 +1,1 @@
+ !!!!!!!!!!!!!!!!!"( " " "(( !" !!"* " !!"$ !!!!!!!!"
\ No newline at end of file
--- /dev/null
+++ b/maps/MtMoonB1F.blk
@@ -1,0 +1,1 @@
+??????<==??????=<?????????=<???????<
\ No newline at end of file
--- /dev/null
+++ b/maps/MtMoonB2F.blk
@@ -1,0 +1,1 @@
+..................//......../fED/AB.@AB../=/)/333)+/>
.....//../3333/0...../D))E/=HI333/33JGGGGK/....@AB./../)///,/=/88888888889999999999
\ No newline at end of file
--- /dev/null
+++ b/maps/MtMoonPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
binary files /dev/null b/maps/Museum1F.blk differ
binary files /dev/null b/maps/Museum2F.blk differ
--- /dev/null
+++ b/maps/NameRatersHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/OaksLab.blk
@@ -1,0 +1,1 @@
+efghhkkijmnhhhh
\ No newline at end of file
binary files /dev/null b/maps/PalletTown.blk differ
--- /dev/null
+++ b/maps/PewterCity.blk
@@ -1,0 +1,57 @@
+
+
+RRRRRRRRRRRRRRRooo?;tt

 
!oo
+ttn,)ttuqqv|}~
+4
+ttn,)/7}:~B/B,)
+
+
+
+
+
+
+n,)tttttt>??,)
+
+
+
+(,,,)
+
+
 !$WW,)
+
+
+|s
+
+
+,),)ooooo
+
+
+
+
+
+>??,) !1wVww1(,,,)
+
+
+|rtnttttm$WW,)nttttmM
+
++%t
+
+
+n/mM
+
+)M
+
+%QQQQQQQQQQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null
+++ b/maps/PewterGym.blk
@@ -1,0 +1,4 @@
+
+
+
+	


\ No newline at end of file
--- /dev/null
+++ b/maps/PewterMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/PewterNidoranHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/PewterPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/PewterSpeechHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonFanClub.blk
@@ -1,0 +1,1 @@
+
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonMansion1F.blk
@@ -1,0 +1,9 @@
+@AAAAAAAAAAAAAB\S]\wGF@c]DCFSXWXUFPIIXF8G]D:;
+FCC181]D?;
+SJIIIXWQD?;
+F]D?;
+FHXWQD?;
+FR]D?;
+FDFD?;
+FNDFD?;
+FFHX?;WJIIIIII
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonMansion2F.blk
@@ -1,0 +1,1 @@
+heejBAABAAA@aei\VFGp]\VXW8FDCCZ1FPIIIJ	`cgAeiDwon	d8FDZ8SIX8WQka*]8FnFD1FlOkaaBFlDVVlDGGSlDZFlHIIJIJm
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonMansion3F.blk
@@ -1,0 +1,1 @@
+@AAsAeeBaaa@DVU\81wG1\Z18F\8gi
VIIIQDo]
8FDG1]ItWRWIQ\]DoFHIIHIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonMansionB1F.blk
@@ -1,0 +1,1 @@
+`aaaBaaaabAAAABdFfwCCCFDGVXWIJIXWQDF@cgBAAAAAAABFDFFFDFFFDFFFPIIIJZaaYVQDFDFDVGDFDDnFDZwDFHIIIIIJIIIHIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonTower1F.blk
@@ -1,0 +1,3 @@
+
+9 

+9%??
%
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonTower2F.blk
@@ -1,0 +1,2 @@
+`[a[Q^L666_

+6RLL6RRRR6R6WRRROX
666SVT
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonTower3F.blk
@@ -1,0 +1,3 @@
+
+[Q9OOOOX

+PPRQPQ9NLLML
VVSVT
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonTower4F.blk
@@ -1,0 +1,3 @@
+
+	[Q^QOL_

+fONMOOMOgNOg9f 
NOSU
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonTower5F.blk
@@ -1,0 +1,2 @@
+
+[e66WiL6LjX
:66OO66PR636RQP66OL6^gOOh_
666
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonTower6F.blk
@@ -1,0 +1,2 @@
+`[a]66^NL6R6_

+6666R6LZRPOOL66O6LLOOW6O6OQX
O6R0
\ No newline at end of file
--- /dev/null
+++ b/maps/PokemonTower7F.blk
@@ -1,0 +1,1 @@
+lm9 
9 9 59 
1
\ No newline at end of file
--- /dev/null
+++ b/maps/PowerPlant.blk
@@ -1,0 +1,1 @@
+@aaaheeieeeeieeeeeeiDp1]F55]Dh*gic+aYF815]@cg\81]cDF81]D\1]1DF8]p\8qDF81]heeA@Aeic+aDVIXWIIQ\p1]IIIHIIIIIXRF\R]DF`a*\8]5555DFdDqDFD1aa*+abIIIIIIIIIIUFD8f81]hcghe*V11]\8k11]\1k*gaaeaa@c+aaeiD1\D FHX,WHIIIIIIIHIIIIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/RedsHouse1F.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/RedsHouse2F.blk
@@ -1,0 +1,1 @@
+

\ No newline at end of file
--- /dev/null
+++ b/maps/RockTunnel1F.blk
@@ -1,0 +1,1 @@
+ " "(>( " " "( " " " "( " " " " "*>NQRMN
\ No newline at end of file
--- /dev/null
+++ b/maps/RockTunnelB1F.blk
@@ -1,0 +1,1 @@
+ " " " " " " " " ">>> " " " " " " " "> " " " " " " " " " " " " " "
\ No newline at end of file
--- /dev/null
+++ b/maps/RockTunnelPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/RocketHideoutB1F.blk
@@ -1,0 +1,1 @@
[email protected]......@AAAAcgAB....DF....@*+B
	@*+B....DF
	DF....DGGF
	DGGF....F
	F....@AAAAAABgB....444F,WJ....666F.......666F.......777oF.......HIIIIIIJ...
\ No newline at end of file
--- /dev/null
+++ b/maps/RocketHideoutB2F.blk
@@ -1,0 +1,3 @@
+.............................................@AAzAAAAA@ABAABD
+UoF
nFy9&F
FD
+ 'V
Fy5YFD5)@AAAABD)US,WJD ) F...D  YnF...D)& DF...HI3333333HIJ...
\ No newline at end of file
--- /dev/null
+++ b/maps/RocketHideoutB3F.blk
@@ -1,0 +1,2 @@
[email protected]nF....@AAAAcZIXF....y&FF....y&5WIQ....D5 &FF....D')F....D5oFIIIJ....y
+`*qb.......D)df.......@A*gpF.......HIIIIIIJ...
\ No newline at end of file
--- /dev/null
+++ b/maps/RocketHideoutB4F.blk
@@ -1,0 +1,1 @@
+....`[email protected]pFF....DGGRFGGF....PIIIDF
F....DDF
f....DG	DnFXWQ....DGgpSJF....DFS,WJ....`aaaacF.......dF.......DGG
F.......HIIIIIIJ...
\ No newline at end of file
--- /dev/null
+++ b/maps/RocketHideoutElevator.blk
@@ -1,0 +1,1 @@
+DMGJLKJ KHFI
\ No newline at end of file
--- /dev/null
+++ b/maps/Route1.blk
@@ -1,0 +1,38 @@
+
+MRRO1PRRN
+M
+
+
+1
+
+tN
+MB11N
+nttnm
+nBm
+n
+tt
+111m
+noom
+M
+
+tt1N
+M
+1111ttN
+M//N
+M
+111111N
+MooooN
+M
+
+tt1N
+M1N
+n
+1
+m
+nt1tm
+nQQcbQQm
+n
+
+MN
+
+m
\ No newline at end of file
--- /dev/null
+++ b/maps/Route10.blk
@@ -1,0 +1,43 @@
+WWWWWWWWW*CCCCCCCCC(aaaaaaae(
+Me(
+Me(;/Oe()
+
+
+
+
+
+Me(,???;
+
+Me(+WWWp !Me()1wV5|rMe()
+
+
+5UUMe()UUU5
+
+Me()UUU5
+
+Me()UUU
+
+
+Me()
+
+
+
+
+
+Oe(,?????;{e(+WWWW*){e() 

!(){e()hi(){e()7}:~(){e(){y{{(){e(){{{{$%{e(){{{{{{{e().(,????????,,,,,,,+WW*+WWWW%
+L()11111
+
+()1111>;/()>??,)
+
+()z$WWW%/()
+
+
+
+
+
+
+z(,???;
+
+
+
+(,,+W%/
(,,)zzzuqv(,,)z1>hi,
\ No newline at end of file
--- /dev/null
+++ b/maps/Route11.blk
@@ -1,0 +1,34 @@
+1111mI#####HI####H
+
+
+
+
+1>?;m'''^
+
+
+
+
+V$%m'''
+L
+
+
+11111"I##"&##Hoo 

!m'''''7}}~
+CCCdmD##ED###"']ll
+
+
+CCCdm'''
+
+
+
+
+m]&##"'
+
+
+
+
+D#########ED###E
+
+
+
+
+
\ No newline at end of file
binary files /dev/null b/maps/Route11Gate1F.blk differ
binary files /dev/null b/maps/Route11Gate2F.blk differ
--- /dev/null
+++ b/maps/Route12.blk
@@ -1,0 +1,21 @@
+,,,)1(,,,,,+W%1$WWWW,)CCTCCCC,)CCTCCkk,)CCTCCCC,)TTzTCCC,)TxxTyTT,)TCCTxxx,)TC 
!CC,)xChiCC,)kk7:~kk,)CCCTCCC,)CCCTCCC,)TTTzTTC,)xxxxxTC,)TCCTTTC,)TCCTxxC,)zTTTCTCW%TxxxCTCTCCCCxCzTzTTTCTxTxxxCxCTTTCCCCxxzTCTTTCTxCTxTCTTCTCTTzTCTCxxxxCTTTzTTCxxxTxxC66kkkTCCCLLaaayCCCxxxTCCCCCCTCCCCCCTCCCCCCTCCC
+nCCCTTTC
+nCCCxxTC
+nT111C
+nTwwwwwC
+nTxxxxxC
+nTTTzTCC
+nxxxTxCC
+nl6CTCCC
+n
+5TTCCC
+nl
+xzTTC
+nTTTTxxC
+nxxxTTTC
+nCCCxxTC
+nll3TzTC
+nnxTxC
+nnCTCC
+nnTzCC
+nnTxCC
\ No newline at end of file
binary files /dev/null b/maps/Route12Gate1F.blk differ
binary files /dev/null b/maps/Route12Gate2F.blk differ
--- /dev/null
+++ b/maps/Route12SuperRodHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/Route13.blk
@@ -1,0 +1,2 @@
+11111111111111111TCCCwwwwwwwwwwwwwwwwwllllllTCCCwwwwww1wwww1wwV4
+nTCCCwwwww1wwwwwwwwwmnTCCCww1wwwwwwwww1woooooTCCCwww1wwwwww1wwVw1TTTTTTTTCCCww1wwwVwwwwwwwwwxxxxxxxxCCCQQQQQQQjCCCCCCCCCCCCCCCCCCCkkkkkkkkkkk
\ No newline at end of file
--- /dev/null
+++ b/maps/Route14.blk
@@ -1,0 +1,74 @@
+
+M11111111
+Mwwwwwwww
+M1wwwwwww
+Mwwwww1ww
+Mw1wwwwww
+Mwwww1www
+M111
+U
+w
+M111
+UM
+M
+UM
+MmUM
+MmUM
+MmUMCC
+MnmUMCC
+M5
+UmUMCC
+M
+
+UmU
+cC
+M
+
+UmU
+MC
+M
+
+U5U
+MC
+M
+
+UmU
+MC
+
+UmU
+MC
+
+UmU
+MCUnUUU
+U
+MC5
+
+
+
+U
+MC
+
+
+
+
+
+U
+MCUUUUUUU
+MC
+
+
+
+
+
+
+
+MCQQQQQQQQQC
+
+
+
+
+
+
+
+
+C
\ No newline at end of file
--- /dev/null
+++ b/maps/Route15.blk
@@ -1,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+oL
+
+
+
+
+RRRRRRRRRRRRRRRRRRRRR
+
+
+
+
+NUUUUUUUUUUUUUUUUUUUUUURR 
!P11117}~UUttt11ttttQQ
+
+
+NUUUUUUUUUUUUUUUUUUUUUU
+
+
+
+
+N1111111111111111111111l
+
+
+
+
+
+QQQQQQQQQQQQQQQQQQQQQQQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
binary files /dev/null b/maps/Route15Gate1F.blk differ
binary files /dev/null b/maps/Route15Gate2F.blk differ
--- /dev/null
+++ b/maps/Route16.blk
@@ -1,0 +1,22 @@
+RRRRRRRRRRRRRRRRRRN
+
+
+
+
+
+
+
+ 
!
+
+N7}~N
+
+
+ 
!
+Pwwwwwwwwhiooooo`N1
+
+111117}~wVwwwwwwN1
+
+11111111N1
+
+11bQQQQQN111
+N
\ No newline at end of file
--- /dev/null
+++ b/maps/Route16FlyHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
binary files /dev/null b/maps/Route16Gate1F.blk differ
binary files /dev/null b/maps/Route16Gate2F.blk differ
--- /dev/null
+++ b/maps/Route17.blk
@@ -1,0 +1,1 @@
+N]tt]tNeCCN'tt'tNeCCN'tt'tQQQcN'tt'ttttMN'tt'tMN'tt'tMN'tt'tMN'tt'tMN'tt'tMN'tt'tMN'tt'ttttMN'tt'ttttMN'tt'ttttMN'tt']tMN'tt'ed'tMN'tt'ed'tMN'tt'ed'tMN'tt'ed'tMN'tt^ed'tMN'1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'eded'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'eded'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'eded'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN't1ed'tMN't.d'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'1111'1MN'1'1MN'1eCCd'1MN'1eCCd'1MN'11111'1MN^11111^1MNww1ww1wwMg]11]jCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd^1^eCCd\eC
\ No newline at end of file
--- /dev/null
+++ b/maps/Route18.blk
@@ -1,0 +1,1 @@
+Cd1111eCCk1111111111111Cd1tt1eCCCd1111111111111Cd1tt1eCCCdwwwwV 
!11111Cd1tt1tttttttttthiwVwwwCd111111111111117}~C-bQQ@MQQcCCCCCCCCCCCCCCCCNMttMCCCCCCCCCCCCCCCCNMttMkkkkkkkkkkkkkkkkPRRRORRO
\ No newline at end of file
binary files /dev/null b/maps/Route18Gate1F.blk differ
binary files /dev/null b/maps/Route18Gate2F.blk differ
--- /dev/null
+++ b/maps/Route19.blk
@@ -1,0 +1,1 @@
+(,)(,)(,)$W%$W%CCC11111CCk1111kkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkkkkkkkkk
\ No newline at end of file
--- /dev/null
+++ b/maps/Route2.blk
@@ -1,0 +1,54 @@
+11111111>??;111111$W%1lm2ll1tt
+
+ !
+
+11111R|~RRRR
+
+1UUUU
+
+111112ll
+
+
+/
+
+t/
+
+tR
+R 
!lm2ll|}~
+ !
+
+
+
+
+R|~RR/UUUUUn
+
+
+
+n
+
+tttn/tn
+
+
+
+t
+ooo4
+
+
+tnm
+
+
+t
+lllmt
+
+t111
+mtt
+/4/tt
+1
+m
+
+
+111
+mtt
+tt1
+mtt
+o4ooo
\ No newline at end of file
--- /dev/null
+++ b/maps/Route20.blk
@@ -1,0 +1,1 @@
+kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkeCCCCCCCCCCCCCCCCCCCCd>?;zzzzzeCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCCCCCCd$%zzzzzeCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCCCCCCdzTzz>?;eCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCTTCCCdzTzzz$%eCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCxxCCC-CjTzCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCCCCCCkkkkkCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
\ No newline at end of file
--- /dev/null
+++ b/maps/Route21.blk
@@ -1,0 +1,10 @@
+QcedQQQbQQ
+Med
+ttN
+
+tMedNt
+tMedN
+
+tMedN
+
+tMe-gROeCCCCCCg.CCCCkkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTTCCCCCCxxCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTTCCCCCCxxCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkCCCCCCCCCCCCTCCC
\ No newline at end of file
--- /dev/null
+++ b/maps/Route22.blk
@@ -1,0 +1,3 @@
+ 



!(,,,,,,+WWW*,;hi$WWWWWW%/(,)7}}:}~UUUUUUUUUU$W)UUUUUU>;/b
+
+)/ed()N)11VwwwUU()N>)$%/()UUUUUUUUUUUUUUUUUU(,??????????????????,
\ No newline at end of file
binary files /dev/null b/maps/Route22Gate.blk differ
--- /dev/null
+++ b/maps/Route23.blk
@@ -1,0 +1,57 @@
+566CB556566CB55656++CB,,5656ACBAAA5656BAACCC5656CACBAB5656ACCCBA5656CBBBBA56,+BACBAB,+AACCCBBBAAAAAAAAAAAA)*A56A56AA''56A
+H
+
+AAA
+
+
+
+56
+
+
+
+*
+
+
+
+566
+
+
+
+D
+E
+,(+((+
+@
+,(+
+
+)*
+
+
+
+
+
+
+D
+E
+
+E
+56
+56((+
+56@@
+
+56@
+56@@5656@
+56@
+,(+
+
+
+@@@56
+
+
+D
+E,(+,(+FFGFG,((565656,+A5687FG56,((+,(+FGFG
+
+
+,(((+
+
+
+,+AAAAAAAAA)*)*AA,((+,((+AAAAA)*A)**A,((+A,(+(+AAAAAA))**A)*A,(,(+(+A,+AAAAAAA)*AA)*AA,(+AA,(((+:<<<<;>====?
\ No newline at end of file
--- /dev/null
+++ b/maps/Route24.blk
@@ -1,0 +1,13 @@
+,,,,,,,,,,,+WWWWWWWW,)1111G1X
+,)\K1Z,)11111111,)
+
+
+1bQQQ,)tt
+1N
+>?,)tt
+1N
+(,,)
+jTN
+(,,)eTN
+(,,)eTN
+$W,)eTNMCC,)eTNMCC,)eTNMCC,)eTNMCC,)eTNMCC,).TNMCC,)CCTNMCC
\ No newline at end of file
--- /dev/null
+++ b/maps/Route25.blk
@@ -1,0 +1,19 @@
+,,,,+WWWWWWWWWWWWWWWW%89$WWWW%WWWW%n
+n
+
+n
+
+`ttttMwwV<=wwwRCC
+
+
+LLL
+nlnttntttttUUUU
+
+MCCLlL
+mln
+ttottttttUUUU
+
+MCC11111ml
+mL
+
+ttmttttTTMCCQQQQQQQQQQQQQQQQQQQeCCTTCCdMCC?????????????????;RRRRRRRRROCC,,,,,,,,,,,,,,,,,)CC,,,,,,,,,,,,,,,,,)CCCCCCCCCCCC
\ No newline at end of file
binary files /dev/null b/maps/Route2Gate.blk differ
--- /dev/null
+++ b/maps/Route2TradeHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/Route3.blk
@@ -1,0 +1,55 @@
+,,,,,,,,,,,,,,,,,,,,,,,,,,,)m(,,,,,,+WWWWWWWWW*,+WWWWWWWW*,)
+(,,,,,,)
+
+
+
+
+
+
+
+t(,)
+
+
+
+
+
+
+
+(,)
+>?,,,WWWW%/BB/$W%/>?;/(,)/$WW*,
+@
+
+
+
+
+n
+
+n
+
+
+
+
+
+
+(,)
+
+
+$W%
+V(,
+A
+n/BB(,)tt
+
+
+
+
+(,????;
+
+
+
+
+
+n(,)ttt
+
+
+
+(,,,,,)>??????;(,)>??????????,,WWWW%(,,,,,,)(,)(,,,,,,,,,,,,
\ No newline at end of file
--- /dev/null
+++ b/maps/Route4.blk
@@ -1,0 +1,64 @@
+,,,,+WW*,,,,,,,,,+WWWWWWWWWWWWWWWWWWWWWW*,,,,,+WW% !$*,,,,,,,,)
+X
+YY
+
+X
+X
+
+X
+
+
+
+
+1111$WWWW,)|r$*+WWWW%
+Z/[Y
+
+X
+X
+
+Zaaaaa,)()11
+
+
+
+
+
+
+Y
+
+X
+Z/g,)()/[
+
+Z/okkkk,)()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mn1111111,)(,????????;//mn/bQQQQ,,;(,,,,,,,,,)ttt
+
+
+
+
+
+
+m
+
+
+N
+
+
+
+,,)>??,,,,,,,,,,,?????????????????????;tt
\ No newline at end of file
--- /dev/null
+++ b/maps/Route5.blk
@@ -1,0 +1,9 @@
+m'n
+
+
+
+N'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'_1111'Mm'_11'Mm^_11^Mm_Mm !m|~m_Mm 

!Mnww7}:~wwmntt
+
+
+
+ttm
\ No newline at end of file
--- /dev/null
+++ b/maps/Route5Gate.blk
@@ -1,0 +1,1 @@
+kj	li
\ No newline at end of file
--- /dev/null
+++ b/maps/Route6.blk
@@ -1,0 +1,21 @@
+ttt
+MM
+tttQQQQ 
!QQQttt
+hittt/7:~/
+
+
+
+
+
+
+
+
+
+/ !11111111|~11111111111111eCCCCCd1Qc
+
+11111
+MRR1
+j1bQQQQCCC1N
+
+
+
--- /dev/null
+++ b/maps/Route6Gate.blk
@@ -1,0 +1,1 @@
+kj	li
\ No newline at end of file
--- /dev/null
+++ b/maps/Route7.blk
@@ -1,0 +1,1 @@
+111G_{11Gt_{\Kt111_{1111_ 
! !\7}~w|~1111_{1111111_{
\ No newline at end of file
--- /dev/null
+++ b/maps/Route7Gate.blk
@@ -1,0 +1,1 @@
+p!on%m
\ No newline at end of file
--- /dev/null
+++ b/maps/Route8.blk
@@ -1,0 +1,45 @@
+(,,+WWWWWWWWWWWWWWWWWWWWW%(+$WW%N
+
+
+
+
+
+
+
+
+
+
+M()NM11N
+I#######H
+Mbtt()NtttMN
+'
+RRRRR
+'
+MN
+
+$% 
!QQtM11N
+'MttN'
+MN
+www7}~wMaa
+
+'Mtt5'
+MN
+]>;N
+
+
+
+]
+
+
+
+
+'5ttN'
+
+
+
+
+'()N
+
+
+
+D#####EMtttttND#####E()>?????????????????????????,,
\ No newline at end of file
--- /dev/null
+++ b/maps/Route8Gate.blk
@@ -1,0 +1,1 @@
+p!on%m
\ No newline at end of file
--- /dev/null
+++ b/maps/Route9.blk
@@ -1,0 +1,29 @@
+$WWWWWWWWWWWWWWWW*+WWWWWWW*,,+ttM
+
+
+
+
+>;()
+
+
+
+
+
+
+(,,)ttM>;/()/$%/>;(,,)RROL()11$%11111111$%1$WW%
+
+51111>,)/>;1>;1>;1111111QQc>;$W%1111
+$%$%/()>;>??ttM()/>;/$%$%(,,ttM()1111111()
+
+
+
+
+
+
+
+
+
+
+
+
+(,,ttM(,???????,,?????????????,,,
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnne1F.blk
@@ -1,0 +1,1 @@
+









:
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnne1FRooms.blk
@@ -1,0 +1,7 @@
+	
+	
+	
+666	
+	
+	
+666
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnne2F.blk
@@ -1,0 +1,1 @@
+








\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnne2FRooms.blk
@@ -1,0 +1,1 @@
+787878;9;9;9787878;9;9;9
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnne3F.blk
@@ -1,0 +1,1 @@
+
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnneB1F.blk
@@ -1,0 +1,1 @@
+4

\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnneB1FRooms.blk
@@ -1,0 +1,1 @@
+787878;9;9;9787878;9;9;9
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnneBow.blk
@@ -1,0 +1,1 @@
+##&&&&&&&&#$$$
)' )$
!"'(!"
#(%%%%%%%%
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnneCaptainsRoom.blk
@@ -1,0 +1,1 @@
+01/23.
\ No newline at end of file
--- /dev/null
+++ b/maps/SSAnneKitchen.blk
@@ -1,0 +1,7 @@
+
+
+
+	
+
+
+5***5***5,,,+-+-+-+
\ No newline at end of file
--- /dev/null
+++ b/maps/SafariZoneCenter.blk
@@ -1,0 +1,1 @@
+~}}}}}X}}}}}}#",~#"#")~#"~)#"~%$~%$%$,~$#\QQQQQR|||VZ].U[.W.%Z^QQQO["~,||'&'&%"~}}"~#",#$~,%$!#$,~)%$!,,#$~~'&&X''&
\ No newline at end of file
binary files /dev/null b/maps/SafariZoneCenterRestHouse.blk differ
--- /dev/null
+++ b/maps/SafariZoneEast.blk
@@ -1,0 +1,1 @@
+H}}}}IL||%$#V!<===>%H}}}}DGESF%%$$~#((",),)~( PQQQR!~((U<===>%(($PQQOD?CGFL||,T----@B,~,<====JB~}}},DGEEEGF"~V,3L||||%$~||||||||M
\ No newline at end of file
binary files /dev/null b/maps/SafariZoneEastRestHouse.blk differ
--- /dev/null
+++ b/maps/SafariZoneGate.blk
@@ -1,0 +1,1 @@
+kj	li
\ No newline at end of file
--- /dev/null
+++ b/maps/SafariZoneNorth.blk
@@ -1,0 +1,1 @@
+}}}}}}}}}}}}}}#"#"#$~%$~}}}}}}!~#"~%"~%$%\R%"~),Z["5555555%~,Z["))<==>)\R($DG?BZ[%$%,)@B,Z[,,@B)~)<====>)@B~##"@ACEGF@B\R@AB"<====JB~Z[$DGFDGEEEEF~%Z[~%!)~3~,")))W,~,~3$%$IYHIYH999IYH}}}}}}}}
\ No newline at end of file
binary files /dev/null b/maps/SafariZoneNorthRestHouse.blk differ
--- /dev/null
+++ b/maps/SafariZoneSecretHouse.blk
@@ -1,0 +1,1 @@
+
\ No newline at end of file
--- /dev/null
+++ b/maps/SafariZoneWest.blk
@@ -1,0 +1,1 @@
+|||||XX+*3)~+*.)!~+<==>))~+.DE?B))~~\QQR@B~~Z--[!@B)~@K==>~<====JCESF,~#DGEEEEF~,,~%$%$!W}}}}|||}||}}}}
\ No newline at end of file
binary files /dev/null b/maps/SafariZoneWestRestHouse.blk differ
binary files /dev/null b/maps/SaffronCity.blk differ
--- /dev/null
+++ b/maps/SaffronGym.blk
@@ -1,0 +1,1 @@
+AAA@AABAAA//D//F////D//F//AAA@AABAAA//DF////D/F//AAA@AABAAA//DE/F////D,F//
\ No newline at end of file
--- /dev/null
+++ b/maps/SaffronMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/SaffronPidgeyHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/SaffronPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/SeafoamIslands1F.blk
@@ -1,0 +1,1 @@
+................(..<,-..xmw..m..)L^^^..m..m(...$..........$.
\ No newline at end of file
--- /dev/null
+++ b/maps/SeafoamIslandsB1F.blk
@@ -1,0 +1,1 @@
+...........',->..|m..,<wmx..fL^^^..(..f-..m(m>................
\ No newline at end of file
--- /dev/null
+++ b/maps/SeafoamIslandsB2F.blk
@@ -1,0 +1,1 @@
+................><..-..=xRw....)+|..(-..>y................
\ No newline at end of file
--- /dev/null
+++ b/maps/SeafoamIslandsB3F.blk
@@ -1,0 +1,1 @@
+vvvvvv=,)vy',-vvvv-+,+vvvvvav)vaxwzvm
\ No newline at end of file
--- /dev/null
+++ b/maps/SeafoamIslandsB4F.blk
@@ -1,0 +1,1 @@
+.vvu..v-v..vvvvvv,-a..vv|vvvvv..vv,vvvvv..vvf+vvvvvv..vvvvvvvvvvv..vvuvvvv..vvL.
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo10F.blk
@@ -1,0 +1,2 @@
+<===$}|>DFDZcgBDF
/F@*+BcgBD5F/{FD5F{7FD
+F7/FHIIJIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo11F.blk
@@ -1,0 +1,1 @@
+!"!"""#$921114($35($$*($$*($$*($768*($$*(%&&&%&.&'
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo1F.blk
@@ -1,0 +1,1 @@
+<========|==}>~""#	FD[[FD
 [[[[[[9	FD[[FD
	FDFDFHIIIX,WIIIIIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo2F.blk
@@ -1,0 +1,1 @@
+@aaaaB====|=$}>D/F/F@cgaaaaaaAcgBDFD{{	@aab@cgAB66	UfD{F66FD7/F77YG/FHIIIIJIIIIIHIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo3F.blk
@@ -1,0 +1,1 @@
+<=========|=}$>D//F`aaABaAaBZaaabd4VVVfD6GGFD/7Z/ZZ/CCFPIIIJIIIJVIIIQD//FHIIIIIIIIIIIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo4F.blk
@@ -1,0 +1,1 @@
+<===>aaaa<|=$}>D55F/DFD555FGGD@cgBD55F/DD
4	FD5FcgaDD6FDF/DD
6	F@cgAcgApD6FD/D
7	FHIIIIIIIIIHIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo5F.blk
@@ -1,0 +1,1 @@
+@aaB======|=}$>DV	
/FD/ZAAcgBFDZ`aBGG{FFPIIQdV6FFDVD6FFD5DZGGGFFD/5Z/HIJIIIIIJFHIIJIIIIIIIIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo6F.blk
@@ -1,0 +1,1 @@
+`aB====$}|==>d/V/FD`aAAcgBFd44444FF@ABD67776FFDV64446FFD77777FFDZgcgAAAcFHIJIIIIIIIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo7F.blk
@@ -1,0 +1,1 @@
+@Aa`AAB}|=$>D/d""#qFDGDZcgBD/@cgBF
4F@aaD44FF
6FDD66FF
7FD	
D77FFcgBDHIIIJF/FHIIIIIIIJWIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo8F.blk
@@ -1,0 +1,1 @@
+@AABaab$}|==>D44FfFD66F/F@AAABD66VWQDCC	FD76/FDFD/7ZGFDG	FPIIJWJHXWQ/FHIIIIIIIIIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCo9F.blk
@@ -1,0 +1,1 @@
+@AAAABA}$|==>D/FFDZgAAB@cgYFDVGGFD4FDg@B
D7FDZUV
@cgBFPJCCDG{VFDCCCYZD/GFHIIIHJIHIIIIJ
\ No newline at end of file
--- /dev/null
+++ b/maps/SilphCoElevator.blk
@@ -1,0 +1,1 @@
+*+()
\ No newline at end of file
--- /dev/null
+++ b/maps/TradeCenter.blk
@@ -1,0 +1,4 @@
+
+
+ !"#
+
--- /dev/null
+++ b/maps/UndergroundPathNorthSouth.blk
@@ -1,0 +1,1 @@
+
	



















\ No newline at end of file
binary files /dev/null b/maps/UndergroundPathRoute5.blk differ
binary files /dev/null b/maps/UndergroundPathRoute6.blk differ
binary files /dev/null b/maps/UndergroundPathRoute7.blk differ
binary files /dev/null b/maps/UndergroundPathRoute8.blk differ
--- /dev/null
+++ b/maps/UndergroundPathWestEast.blk
@@ -1,0 +1,1 @@
+
	


\ No newline at end of file
--- /dev/null
+++ b/maps/UnusedDiglettsCaveCopy.blk
@@ -1,0 +1,1 @@
+,+>++++>
\ No newline at end of file
--- /dev/null
+++ b/maps/UnusedEmptyMap.blk
@@ -1,0 +1,1 @@
+
\ No newline at end of file
--- /dev/null
+++ b/maps/UnusedPokecenterCopy.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionCity.blk
@@ -1,0 +1,1 @@
+CCC ! ! !1 !11111111Ckk|~|r7~17~wVwww111Cd1111111111111111C-111111111IH111CCC-111111DE111CCC !C !11 !111111Cd|~1|~11|swwwwVwCd1111111111111111Cd1
1111 !TCdV51|~edTeCCCCd11111ed111e-T.CCCCd11111e-.CTCdC-.CCCCCCTCdCCCCCCCCTTTTTTTC-gCCCCCCCCTxxxxxxCCCkkkkkkkTkkkkkkkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTCCCCCCCCCC
\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionDock.blk
@@ -1,0 +1,2 @@
+



	
+




























\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionGym.blk
@@ -1,0 +1,1 @@
+,%%&,,,*+*+''''''''''''''')(
\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionOldRodHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionPidgeyHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/VermilionTradeHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/VictoryRoad1F.blk
@@ -1,0 +1,2 @@
+b}}Nmt	}Mz}
+
z}-+,-}j[oL
MpOr
f%
lt^}S$}Q}}
\ No newline at end of file
--- /dev/null
+++ b/maps/VictoryRoad2F.blk
@@ -1,0 +1,1 @@
+b```````````````````````````````````>bc#`7`````g`T1W12````M````&````--%a`e}e``````````
\ No newline at end of file
--- /dev/null
+++ b/maps/VictoryRoad3F.blk
@@ -1,0 +1,2 @@
+M#t```````````

````l`,-``jkko`````(	f+p``
'`%`````````````````````i(
+
\ No newline at end of file
--- /dev/null
+++ b/maps/ViridianCity.blk
@@ -1,0 +1,60 @@
+,,),,)111111,,)
+RRR4111
1,,)M111,,)M,,)M1WW%Mwwwwwwww
+
+
+M1
+llllww
+ !
+?;tt
+|s
+,)o
+
+
+
+,)
+4tt
+t !t
+
+,)
+
+
+|r
+
+tW%eCd//
+Mt
+
+
+
+
+
+tttt
+Mwwwwwwwwwwwwwww
+
+
+
+
+
+M
+
+MN
+
+N
+
+
+
+
+
+
+
+
+
+
+M
+
+MN
+
+N
+
+
+
+
--- /dev/null
+++ b/maps/ViridianForest.blk
@@ -1,0 +1,1 @@
+7999999999999I7;))55555);7;);7;7;7;);7;7;7;77);7);7;7;7!);7;7;7;7;7;7;)!);77X;
\ No newline at end of file
binary files /dev/null b/maps/ViridianForestNorthGate.blk differ
binary files /dev/null b/maps/ViridianForestSouthGate.blk differ
--- /dev/null
+++ b/maps/ViridianGym.blk
@@ -1,0 +1,1 @@
+IJ_]KQdVcFF^\RFNSTULa`LUHH[L@DLLML,ULQ`G,XHHHZbCEWFFFY21@AB
\ No newline at end of file
--- /dev/null
+++ b/maps/ViridianMart.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/ViridianNicknameHouse.blk
@@ -1,0 +1,1 @@
+	

\ No newline at end of file
--- /dev/null
+++ b/maps/ViridianPokecenter.blk
@@ -1,0 +1,2 @@
+ 

!"#
+
\ No newline at end of file
--- /dev/null
+++ b/maps/ViridianSchoolHouse.blk
@@ -1,0 +1,1 @@
+	
\ No newline at end of file
--- /dev/null
+++ b/maps/WardensHouse.blk
@@ -1,0 +1,1 @@
+) 

\ No newline at end of file
--- a/maps/agatha.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-GG6GGg66NeRN6eReg6eeRK6eRgR6hh
\ No newline at end of file
--- a/maps/bikeshop.blk
+++ /dev/null
@@ -1,6 +1,0 @@
-
-
-
-
-
-	
\ No newline at end of file
--- a/maps/billshouse.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-	
-
\ No newline at end of file
--- a/maps/blueshouse.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/bruno.blk
+++ /dev/null
@@ -1,4 +1,0 @@
-
-

-

-
\ No newline at end of file
--- a/maps/celadoncity.blk
+++ /dev/null
@@ -1,28 +1,0 @@
-lllllllllllllllllllllll
-
-
-
-
-
-
-
-
-oo
-ooo
-oooooo
-n !UUUU 
!U 
!UUUUUUUUUmnhi 

!hiUhi ! ! ! !Umn7~hi7}~y7:~7~7~7~|rUUUhiUUUUUUUUUUUUUUUUUUUU7::sUUUUUUUUUUUUUUUUUUUUUUUUy0	VwwwwUwwwwUUUUUUUUUNTM 
! !U ! !nwUUUUUUUUUgj7:~|~U7~7~nUUUUUUUUUCVwwVwUVwww5nUUUUUUUUUUUUUUUUUUUUUUmn !

 ! !UU ! ! ! ! !
-n7~7~7~UU7~|~|~7~|~
-nUUUUUyUU !UUUUUUUUUUUU
-n/7~UUUUUUUUUUUU
-n
-
-
-
-
-
-
-
-
-
-llllll26llll
-nooooooooooooooooo6ooooo
\ No newline at end of file
--- a/maps/celadondiner.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-,*.20 !- !1()
\ No newline at end of file
--- a/maps/celadongamecorner.blk
+++ /dev/null
@@ -1,5 +1,0 @@
-
-
-
-
-4***C*///3  :  :  :  :9!9!9!99!9!9!98!8!8!8       () 
\ No newline at end of file
--- a/maps/celadongym.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-38:933<3=33;?>3344356344321
\ No newline at end of file
--- a/maps/celadonhotel.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-
-
\ No newline at end of file
--- a/maps/celadonhouse.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-D@?DBCFG6A6
\ No newline at end of file
--- a/maps/celadonmansion1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-$*
>
\ No newline at end of file
--- a/maps/celadonmansion2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-'+/

\ No newline at end of file
--- a/maps/celadonmansion3.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-()#,-
-

\ No newline at end of file
--- a/maps/celadonmansion4.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-E;=!"%&3 
\ No newline at end of file
--- a/maps/celadonmansion5.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/celadonmart1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
%	&	
\ No newline at end of file
--- a/maps/celadonmart2.blk
+++ /dev/null
@@ -1,4 +1,0 @@
-
%
-
-
-
--- a/maps/celadonmart3.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-
$$$$%
-
--- a/maps/celadonmart4.blk
+++ /dev/null
@@ -1,4 +1,0 @@
-
%'
-
-
-
\ No newline at end of file
--- a/maps/celadonmart5.blk
+++ /dev/null
@@ -1,4 +1,0 @@
-
%
-
-
-
--- a/maps/celadonmartelevator.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-*+()
\ No newline at end of file
--- a/maps/celadonmartroof.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-6;??A6!  <C*A6  !   A677777777A
\ No newline at end of file
--- a/maps/celadonpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/celadonprizeroom.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-?@@@?>>>>>     =
\ No newline at end of file
--- a/maps/ceruleancity.blk
+++ /dev/null
@@ -1,25 +1,0 @@
-,,,,,,)CCTN
-CCCCCC,,+WWW%CCTPCCCCCC,,)CCCCCC
-N
-CCCCCC,,)lllll6
-mnllllm,,)UUUUUn
-mnUUUUmWWp	0		0	111
-
-
-
-
-
-N\	 !
-Pkkk
-
-
-
-|r


-
-/\bQQN
-tttttt111_NttN ! !ttt_NttN
-V|~0	|s0	_NttN_Nttbllll6V2llllllllNttNNttPRRm]nN]MRRRRNtttttm'n
-
-
-
-N'Mttttt
\ No newline at end of file
--- a/maps/ceruleangym.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-!#"# 
\ No newline at end of file
--- a/maps/ceruleanhouse1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/ceruleanhouse2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-=	==,5
\ No newline at end of file
--- a/maps/ceruleanhousetrashed.blk
+++ /dev/null
@@ -1,1 +1,0 @@
- !"
\ No newline at end of file
--- a/maps/ceruleanmart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/ceruleanpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/cinnabargym.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@aa@@aAAAADDDYDDDDkcDkckcDDDDDDDPXkcDkcDEDHUDDD,
\ No newline at end of file
--- a/maps/cinnabarisland.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-d 
!{{
d7:~{yd{{y{{{{{d 
!{{{{{d7:~ ! !{d{{y|r|s{-{{{{{{{C-kkkkkkkkk
\ No newline at end of file
--- a/maps/cinnabarmart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/cinnabarpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/colosseum.blk
+++ /dev/null
@@ -1,6 +1,0 @@
-
-
-
-
-
-
--- a/maps/copycatshouse1f.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/copycatshouse2f.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-

\ No newline at end of file
--- a/maps/daycarem.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/diglettscave.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-,+>++++>
\ No newline at end of file
--- a/maps/diglettscaveentranceroute11.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-}}}}}'}
-$}
\ No newline at end of file
--- a/maps/diglettscaveroute2.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-}}}}}'}
-$}
\ No newline at end of file
--- a/maps/fanclub.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
\ No newline at end of file
--- a/maps/fightingdojo.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-IJgIJKQPLKLKLK21LRFFo
\ No newline at end of file
--- a/maps/fuchsiacity.blk
+++ /dev/null
@@ -1,4 +1,0 @@
- 
!zoooooz7:~zooooooznttmVUwnmnwVwVmzoo`wVwVwmzzzzzzznzzzzzzzzzzz !oooo`z 
!nlllmzz|szzzzzz7:~`wVwmzoooooyzznVUVzzzzzogmzznUlllll11NkkkPRR`Uwwww11NU_tnN>?????????;_t
-
-
-nN$ 
!WWWW !%_8989nNX|~0|rY1<=<=1nNX11111111Y_Vw1wnNZ\ooo\[11nPRRRR>?;ttttPRRRRRn11111(,)1111>?;
\ No newline at end of file
--- a/maps/fuchsiagym.blk
+++ /dev/null
@@ -1,1 +1,0 @@
--.0-/0/-/--/./0---21
\ No newline at end of file
--- a/maps/fuchsiahouse1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/fuchsiahouse2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-) 

\ No newline at end of file
--- a/maps/fuchsiahouse3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-=	==,5
\ No newline at end of file
--- a/maps/fuchsiamart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/fuchsiameetingroom.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-589467777

\ No newline at end of file
--- a/maps/fuchsiapokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/gary.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-I12JKLKLR12o
\ No newline at end of file
--- a/maps/halloffameroom.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-e7l
\ No newline at end of file
--- a/maps/indigoplateau.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-!"'')))CB***,,,(CB(+++)))CB***,,,(CB(+++)))CB***,,,(CB(+++
\ No newline at end of file
binary files a/maps/indigoplateaulobby.blk /dev/null differ
--- a/maps/lab1.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-	
-
\ No newline at end of file
--- a/maps/lab2.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-	
-

\ No newline at end of file
--- a/maps/lab3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
\ No newline at end of file
--- a/maps/lab4.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
\ No newline at end of file
--- a/maps/lance.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-I12JI12JK21LKLK21LKLK21LR12oK21LK21LRVrsNoKLIJKLKpKLKSFFoKLKLKUHHH[LRFFFFFFFo
\ No newline at end of file
--- a/maps/lavenderhouse1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/lavenderhouse2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/lavendermart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/lavenderpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/lavendertown.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-WW%{{(hi,{ !{y(7}~,{|r{{$WW*{{{{{{{{y({{yy{{{({{{{{{{ !({{{|s({{{{{{{{{(???;{>???,
\ No newline at end of file
--- a/maps/lorelei.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-!!$!!  DD
\ No newline at end of file
--- a/maps/mansion1.blk
+++ /dev/null
@@ -1,9 +1,0 @@
-@AAAAAAAAAAAAAB\S]\wGF@c]DCFSXWXUFPIIXF8G]D:;
-FCC181]D?;
-SJIIIXWQD?;
-F]D?;
-FHXWQD?;
-FR]D?;
-FDFD?;
-FNDFD?;
-FFHX?;WJIIIIII
\ No newline at end of file
--- a/maps/mansion2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-heejBAABAAA@aei\VFGp]\VXW8FDCCZ1FPIIIJ	`cgAeiDwon	d8FDZ8SIX8WQka*]8FnFD1FlOkaaBFlDVVlDGGSlDZFlHIIJIJm
\ No newline at end of file
--- a/maps/mansion3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@AAsAeeBaaa@DVU\81wG1\Z18F\8gi
VIIIQDo]
8FDG1]ItWRWIQ\]DoFHIIHIIJ
\ No newline at end of file
--- a/maps/mansion4.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-`aaaBaaaabAAAABdFfwCCCFDGVXWIJIXWQDF@cgBAAAAAAABFDFFFDFFFDFFFPIIIJZaaYVQDFDFDVGDFDDnFDZwDFHIIIIIJIIIHIIIJ
\ No newline at end of file
--- a/maps/mtmoon1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
- !!!!!!!!!!!!!!!!!"( " " "(( !" !!"* " !!"$ !!!!!!!!"
\ No newline at end of file
--- a/maps/mtmoon2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-??????<==??????=<?????????=<???????<
\ No newline at end of file
--- a/maps/mtmoon3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-..................//......../fED/AB.@AB../=/)/333)+/>
.....//../3333/0...../D))E/=HI333/33JGGGGK/....@AB./../)///,/=/88888888889999999999
\ No newline at end of file
--- a/maps/mtmoonpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
binary files a/maps/museum1f.blk /dev/null differ
binary files a/maps/museum2f.blk /dev/null differ
--- a/maps/namerater.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/oakslab.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-efghhkkijmnhhhh
\ No newline at end of file
binary files a/maps/pallettown.blk /dev/null differ
--- a/maps/pewtercity.blk
+++ /dev/null
@@ -1,57 +1,0 @@
-
-
-RRRRRRRRRRRRRRRooo?;tt

 
!oo
-ttn,)ttuqqv|}~
-4
-ttn,)/7}:~B/B,)
-
-
-
-
-
-
-n,)tttttt>??,)
-
-
-
-(,,,)
-
-
 !$WW,)
-
-
-|s
-
-
-,),)ooooo
-
-
-
-
-
->??,) !1wVww1(,,,)
-
-
-|rtnttttm$WW,)nttttmM
-
-+%t
-
-
-n/mM
-
-)M
-
-%QQQQQQQQQQ
-
-
-
-
-
-
-
-
-
-
-
-
-
-
--- a/maps/pewtergym.blk
+++ /dev/null
@@ -1,4 +1,0 @@
-
-
-
-	


\ No newline at end of file
--- a/maps/pewterhouse1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/pewterhouse2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/pewtermart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/pewterpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/pokemontower1.blk
+++ /dev/null
@@ -1,3 +1,0 @@
-
-9 

-9%??
%
\ No newline at end of file
--- a/maps/pokemontower2.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-`[a[Q^L666_

-6RLL6RRRR6R6WRRROX
666SVT
\ No newline at end of file
--- a/maps/pokemontower3.blk
+++ /dev/null
@@ -1,3 +1,0 @@
-
-[Q9OOOOX

-PPRQPQ9NLLML
VVSVT
\ No newline at end of file
--- a/maps/pokemontower4.blk
+++ /dev/null
@@ -1,3 +1,0 @@
-
-	[Q^QOL_

-fONMOOMOgNOg9f 
NOSU
\ No newline at end of file
--- a/maps/pokemontower5.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-
-[e66WiL6LjX
:66OO66PR636RQP66OL6^gOOh_
666
\ No newline at end of file
--- a/maps/pokemontower6.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-`[a]66^NL6R6_

-6666R6LZRPOOL66O6LLOOW6O6OQX
O6R0
\ No newline at end of file
--- a/maps/pokemontower7.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-lm9 
9 9 59 
1
\ No newline at end of file
--- a/maps/powerplant.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@aaaheeieeeeieeeeeeiDp1]F55]Dh*gic+aYF815]@cg\81]cDF81]D\1]1DF8]p\8qDF81]heeA@Aeic+aDVIXWIIQ\p1]IIIHIIIIIXRF\R]DF`a*\8]5555DFdDqDFD1aa*+abIIIIIIIIIIUFD8f81]hcghe*V11]\8k11]\1k*gaaeaa@c+aaeiD1\D FHX,WHIIIIIIIHIIIIIIJ
\ No newline at end of file
--- a/maps/redshouse1f.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/redshouse2f.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-

\ No newline at end of file
--- a/maps/rockethideout1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
[email protected]......@AAAAcgAB....DF....@*+B
	@*+B....DF
	DF....DGGF
	DGGF....F
	F....@AAAAAABgB....444F,WJ....666F.......666F.......777oF.......HIIIIIIJ...
\ No newline at end of file
--- a/maps/rockethideout2.blk
+++ /dev/null
@@ -1,3 +1,0 @@
-.............................................@AAzAAAAA@ABAABD
-UoF
nFy9&F
FD
- 'V
Fy5YFD5)@AAAABD)US,WJD ) F...D  YnF...D)& DF...HI3333333HIJ...
\ No newline at end of file
--- a/maps/rockethideout3.blk
+++ /dev/null
@@ -1,2 +1,0 @@
[email protected]nF....@AAAAcZIXF....y&FF....y&5WIQ....D5 &FF....D')F....D5oFIIIJ....y
-`*qb.......D)df.......@A*gpF.......HIIIIIIJ...
\ No newline at end of file
--- a/maps/rockethideout4.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-....`[email protected]pFF....DGGRFGGF....PIIIDF
F....DDF
f....DG	DnFXWQ....DGgpSJF....DFS,WJ....`aaaacF.......dF.......DGG
F.......HIIIIIIJ...
\ No newline at end of file
--- a/maps/rockethideoutelevator.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-DMGJLKJ KHFI
\ No newline at end of file
--- a/maps/rocktunnel1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
- " "(>( " " "( " " " "( " " " " "*>NQRMN
\ No newline at end of file
--- a/maps/rocktunnel2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
- " " " " " " " " ">>> " " " " " " " "> " " " " " " " " " " " " " "
\ No newline at end of file
--- a/maps/rocktunnelpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/route1.blk
+++ /dev/null
@@ -1,38 +1,0 @@
-
-MRRO1PRRN
-M
-
-
-1
-
-tN
-MB11N
-nttnm
-nBm
-n
-tt
-111m
-noom
-M
-
-tt1N
-M
-1111ttN
-M//N
-M
-111111N
-MooooN
-M
-
-tt1N
-M1N
-n
-1
-m
-nt1tm
-nQQcbQQm
-n
-
-MN
-
-m
\ No newline at end of file
--- a/maps/route10.blk
+++ /dev/null
@@ -1,43 +1,0 @@
-WWWWWWWWW*CCCCCCCCC(aaaaaaae(
-Me(
-Me(;/Oe()
-
-
-
-
-
-Me(,???;
-
-Me(+WWWp !Me()1wV5|rMe()
-
-
-5UUMe()UUU5
-
-Me()UUU5
-
-Me()UUU
-
-
-Me()
-
-
-
-
-
-Oe(,?????;{e(+WWWW*){e() 

!(){e()hi(){e()7}:~(){e(){y{{(){e(){{{{$%{e(){{{{{{{e().(,????????,,,,,,,+WW*+WWWW%
-L()11111
-
-()1111>;/()>??,)
-
-()z$WWW%/()
-
-
-
-
-
-
-z(,???;
-
-
-
-(,,+W%/
(,,)zzzuqv(,,)z1>hi,
\ No newline at end of file
--- a/maps/route11.blk
+++ /dev/null
@@ -1,34 +1,0 @@
-1111mI#####HI####H
-
-
-
-
-1>?;m'''^
-
-
-
-
-V$%m'''
-L
-
-
-11111"I##"&##Hoo 

!m'''''7}}~
-CCCdmD##ED###"']ll
-
-
-CCCdm'''
-
-
-
-
-m]&##"'
-
-
-
-
-D#########ED###E
-
-
-
-
-
\ No newline at end of file
binary files a/maps/route11gate.blk /dev/null differ
binary files a/maps/route11gateupstairs.blk /dev/null differ
--- a/maps/route12.blk
+++ /dev/null
@@ -1,21 +1,0 @@
-,,,)1(,,,,,+W%1$WWWW,)CCTCCCC,)CCTCCkk,)CCTCCCC,)TTzTCCC,)TxxTyTT,)TCCTxxx,)TC 
!CC,)xChiCC,)kk7:~kk,)CCCTCCC,)CCCTCCC,)TTTzTTC,)xxxxxTC,)TCCTTTC,)TCCTxxC,)zTTTCTCW%TxxxCTCTCCCCxCzTzTTTCTxTxxxCxCTTTCCCCxxzTCTTTCTxCTxTCTTCTCTTzTCTCxxxxCTTTzTTCxxxTxxC66kkkTCCCLLaaayCCCxxxTCCCCCCTCCCCCCTCCCCCCTCCC
-nCCCTTTC
-nCCCxxTC
-nT111C
-nTwwwwwC
-nTxxxxxC
-nTTTzTCC
-nxxxTxCC
-nl6CTCCC
-n
-5TTCCC
-nl
-xzTTC
-nTTTTxxC
-nxxxTTTC
-nCCCxxTC
-nll3TzTC
-nnxTxC
-nnCTCC
-nnTzCC
-nnTxCC
\ No newline at end of file
binary files a/maps/route12gate.blk /dev/null differ
binary files a/maps/route12gateupstairs.blk /dev/null differ
--- a/maps/route12house.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/route13.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-11111111111111111TCCCwwwwwwwwwwwwwwwwwllllllTCCCwwwwww1wwww1wwV4
-nTCCCwwwww1wwwwwwwwwmnTCCCww1wwwwwwwww1woooooTCCCwww1wwwwww1wwVw1TTTTTTTTCCCww1wwwVwwwwwwwwwxxxxxxxxCCCQQQQQQQjCCCCCCCCCCCCCCCCCCCkkkkkkkkkkk
\ No newline at end of file
--- a/maps/route14.blk
+++ /dev/null
@@ -1,74 +1,0 @@
-
-M11111111
-Mwwwwwwww
-M1wwwwwww
-Mwwwww1ww
-Mw1wwwwww
-Mwwww1www
-M111
-U
-w
-M111
-UM
-M
-UM
-MmUM
-MmUM
-MmUMCC
-MnmUMCC
-M5
-UmUMCC
-M
-
-UmU
-cC
-M
-
-UmU
-MC
-M
-
-U5U
-MC
-M
-
-UmU
-MC
-
-UmU
-MC
-
-UmU
-MCUnUUU
-U
-MC5
-
-
-
-U
-MC
-
-
-
-
-
-U
-MCUUUUUUU
-MC
-
-
-
-
-
-
-
-MCQQQQQQQQQC
-
-
-
-
-
-
-
-
-C
\ No newline at end of file
--- a/maps/route15.blk
+++ /dev/null
@@ -1,82 +1,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-oL
-
-
-
-
-RRRRRRRRRRRRRRRRRRRRR
-
-
-
-
-NUUUUUUUUUUUUUUUUUUUUUURR 
!P11117}~UUttt11ttttQQ
-
-
-NUUUUUUUUUUUUUUUUUUUUUU
-
-
-
-
-N1111111111111111111111l
-
-
-
-
-
-QQQQQQQQQQQQQQQQQQQQQQQ
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
binary files a/maps/route15gate.blk /dev/null differ
binary files a/maps/route15gateupstairs.blk /dev/null differ
--- a/maps/route16.blk
+++ /dev/null
@@ -1,22 +1,0 @@
-RRRRRRRRRRRRRRRRRRN
-
-
-
-
-
-
-
- 
!
-
-N7}~N
-
-
- 
!
-Pwwwwwwwwhiooooo`N1
-
-111117}~wVwwwwwwN1
-
-11111111N1
-
-11bQQQQQN111
-N
\ No newline at end of file
binary files a/maps/route16gate.blk /dev/null differ
binary files a/maps/route16gateupstairs.blk /dev/null differ
--- a/maps/route16house.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/route17.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-N]tt]tNeCCN'tt'tNeCCN'tt'tQQQcN'tt'ttttMN'tt'tMN'tt'tMN'tt'tMN'tt'tMN'tt'tMN'tt'tMN'tt'ttttMN'tt'ttttMN'tt'ttttMN'tt']tMN'tt'ed'tMN'tt'ed'tMN'tt'ed'tMN'tt'ed'tMN'tt^ed'tMN'1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'eded'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'eded'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'eded'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN'ed1ed'tMN't1ed'tMN't.d'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'teCCd'tMN'1111'1MN'1'1MN'1eCCd'1MN'1eCCd'1MN'11111'1MN^11111^1MNww1ww1wwMg]11]jCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd'11'eCCd^1^eCCd\eC
\ No newline at end of file
--- a/maps/route18.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-Cd1111eCCk1111111111111Cd1tt1eCCCd1111111111111Cd1tt1eCCCdwwwwV 
!11111Cd1tt1tttttttttthiwVwwwCd111111111111117}~C-bQQ@MQQcCCCCCCCCCCCCCCCCNMttMCCCCCCCCCCCCCCCCNMttMkkkkkkkkkkkkkkkkPRRRORRO
\ No newline at end of file
binary files a/maps/route18gate.blk /dev/null differ
binary files a/maps/route18gateupstairs.blk /dev/null differ
--- a/maps/route19-yellow.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-(,)(,)(,)$W%$W%CCC11111CCC111CCk1111kkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkkkkkkkkk
\ No newline at end of file
--- a/maps/route19.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-(,)(,)(,)$W%$W%CCC11111CCk1111kkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkkkkkkkkk
\ No newline at end of file
--- a/maps/route2.blk
+++ /dev/null
@@ -1,54 +1,0 @@
-11111111>??;111111$W%1lm2ll1tt
-
- !
-
-11111R|~RRRR
-
-1UUUU
-
-111112ll
-
-
-/
-
-t/
-
-tR
-R 
!lm2ll|}~
- !
-
-
-
-
-R|~RR/UUUUUn
-
-
-
-n
-
-tttn/tn
-
-
-
-t
-ooo4
-
-
-tnm
-
-
-t
-lllmt
-
-t111
-mtt
-/4/tt
-1
-m
-
-
-111
-mtt
-tt1
-mtt
-o4ooo
\ No newline at end of file
--- a/maps/route20.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkeCCCCCCCCCCCCCCCCCCCCd>?;zzzzzeCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCCCCCCd$%zzzzzeCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCCCCCCdzTzz>?;eCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCTTCCCdzTzzz$%eCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCxxCCC-CjTzCCCCCCCCCCCCCCCCCCeCCCCCCCCCCCCCCCCCCCCkkkkkCCCCCCCCCCCCCCCCCCC.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
\ No newline at end of file
--- a/maps/route21.blk
+++ /dev/null
@@ -1,10 +1,0 @@
-QcedQQQbQQ
-Med
-ttN
-
-tMedNt
-tMedN
-
-tMedN
-
-tMe-gROeCCCCCCg.CCCCkkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTTCCCCCCxxCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTTCCCCCCxxCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkCCCCCCCCCCCCTCCC
\ No newline at end of file
--- a/maps/route22.blk
+++ /dev/null
@@ -1,3 +1,0 @@
- 



!(,,,,,,+WWW*,;hi$WWWWWW%/(,)7}}:}~UUUUUUUUUU$W)UUUUUU>;/b
-
-)/ed()N)11VwwwUU()N>)$%/()UUUUUUUUUUUUUUUUUU(,??????????????????,
\ No newline at end of file
binary files a/maps/route22gate.blk /dev/null differ
--- a/maps/route23.blk
+++ /dev/null
@@ -1,57 +1,0 @@
-566CB556566CB55656++CB,,5656ACBAAA5656BAACCC5656CACBAB5656ACCCBA5656CBBBBA56,+BACBAB,+AACCCBBBAAAAAAAAAAAA)*A56A56AA''56A
-H
-
-AAA
-
-
-
-56
-
-
-
-*
-
-
-
-566
-
-
-
-D
-E
-,(+((+
-@
-,(+
-
-)*
-
-
-
-
-
-
-D
-E
-
-E
-56
-56((+
-56@@
-
-56@
-56@@5656@
-56@
-,(+
-
-
-@@@56
-
-
-D
-E,(+,(+FFGFG,((565656,+A5687FG56,((+,(+FGFG
-
-
-,(((+
-
-
-,+AAAAAAAAA)*)*AA,((+,((+AAAAA)*A)**A,((+A,(+(+AAAAAA))**A)*A,(,(+(+A,+AAAAAAA)*AA)*AA,(+AA,(((+:<<<<;>====?
\ No newline at end of file
--- a/maps/route24.blk
+++ /dev/null
@@ -1,13 +1,0 @@
-,,,,,,,,,,,+WWWWWWWW,)1111G1X
-,)\K1Z,)11111111,)
-
-
-1bQQQ,)tt
-1N
->?,)tt
-1N
-(,,)
-jTN
-(,,)eTN
-(,,)eTN
-$W,)eTNMCC,)eTNMCC,)eTNMCC,)eTNMCC,)eTNMCC,).TNMCC,)CCTNMCC
\ No newline at end of file
--- a/maps/route25.blk
+++ /dev/null
@@ -1,19 +1,0 @@
-,,,,+WWWWWWWWWWWWWWWW%89$WWWW%WWWW%n
-n
-
-n
-
-`ttttMwwV<=wwwRCC
-
-
-LLL
-nlnttntttttUUUU
-
-MCCLlL
-mln
-ttottttttUUUU
-
-MCC11111ml
-mL
-
-ttmttttTTMCCQQQQQQQQQQQQQQQQQQQeCCTTCCdMCC?????????????????;RRRRRRRRROCC,,,,,,,,,,,,,,,,,)CC,,,,,,,,,,,,,,,,,)CCCCCCCCCCCC
\ No newline at end of file
binary files a/maps/route2gate.blk /dev/null differ
--- a/maps/route2house.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/route3.blk
+++ /dev/null
@@ -1,55 +1,0 @@
-,,,,,,,,,,,,,,,,,,,,,,,,,,,)m(,,,,,,+WWWWWWWWW*,+WWWWWWWW*,)
-(,,,,,,)
-
-
-
-
-
-
-
-t(,)
-
-
-
-
-
-
-
-(,)
->?,,,WWWW%/BB/$W%/>?;/(,)/$WW*,
-@
-
-
-
-
-n
-
-n
-
-
-
-
-
-
-(,)
-
-
-$W%
-V(,
-A
-n/BB(,)tt
-
-
-
-
-(,????;
-
-
-
-
-
-n(,)ttt
-
-
-
-(,,,,,)>??????;(,)>??????????,,WWWW%(,,,,,,)(,)(,,,,,,,,,,,,
\ No newline at end of file
--- a/maps/route4.blk
+++ /dev/null
@@ -1,64 +1,0 @@
-,,,,+WW*,,,,,,,,,+WWWWWWWWWWWWWWWWWWWWWW*,,,,,+WW% !$*,,,,,,,,)
-X
-YY
-
-X
-X
-
-X
-
-
-
-
-1111$WWWW,)|r$*+WWWW%
-Z/[Y
-
-X
-X
-
-Zaaaaa,)()11
-
-
-
-
-
-
-Y
-
-X
-Z/g,)()/[
-
-Z/okkkk,)()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-mn1111111,)(,????????;//mn/bQQQQ,,;(,,,,,,,,,)ttt
-
-
-
-
-
-
-m
-
-
-N
-
-
-
-,,)>??,,,,,,,,,,,?????????????????????;tt
\ No newline at end of file
--- a/maps/route5.blk
+++ /dev/null
@@ -1,9 +1,0 @@
-m'n
-
-
-
-N'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'nN'Mm'_1111'Mm'_11'Mm^_11^Mm_Mm !m|~m_Mm 

!Mnww7}:~wwmntt
-
-
-
-ttm
\ No newline at end of file
--- a/maps/route5gate.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-kj	li
\ No newline at end of file
--- a/maps/route6.blk
+++ /dev/null
@@ -1,21 +1,0 @@
-ttt
-MM
-tttQQQQ 
!QQQttt
-hittt/7:~/
-
-
-
-
-
-
-
-
-
-/ !11111111|~11111111111111eCCCCCd1Qc
-
-11111
-MRR1
-j1bQQQQCCC1N
-
-
-
--- a/maps/route6gate.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-kj	li
\ No newline at end of file
--- a/maps/route7.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-111G_{11Gt_{\Kt111_{1111_ 
! !\7}~w|~1111_{1111111_{
\ No newline at end of file
--- a/maps/route7gate.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-p!on%m
\ No newline at end of file
--- a/maps/route8.blk
+++ /dev/null
@@ -1,45 +1,0 @@
-(,,+WWWWWWWWWWWWWWWWWWWWW%(+$WW%N
-
-
-
-
-
-
-
-
-
-
-M()NM11N
-I#######H
-Mbtt()NtttMN
-'
-RRRRR
-'
-MN
-
-$% 
!QQtM11N
-'MttN'
-MN
-www7}~wMaa
-
-'Mtt5'
-MN
-]>;N
-
-
-
-]
-
-
-
-
-'5ttN'
-
-
-
-
-'()N
-
-
-
-D#####EMtttttND#####E()>?????????????????????????,,
\ No newline at end of file
--- a/maps/route8gate.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-p!on%m
\ No newline at end of file
--- a/maps/route9.blk
+++ /dev/null
@@ -1,29 +1,0 @@
-$WWWWWWWWWWWWWWWW*+WWWWWWW*,,+ttM
-
-
-
-
->;()
-
-
-
-
-
-
-(,,)ttM>;/()/$%/>;(,,)RROL()11$%11111111$%1$WW%
-
-51111>,)/>;1>;1>;1111111QQc>;$W%1111
-$%$%/()>;>??ttM()/>;/$%$%(,,ttM()1111111()
-
-
-
-
-
-
-
-
-
-
-
-
-(,,ttM(,???????,,?????????????,,,
\ No newline at end of file
--- a/maps/safarizonecenter.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-~}}}}}X}}}}}}#",~#"#")~#"~)#"~%$~%$%$,~$#\QQQQQR|||VZ].U[.W.%Z^QQQO["~,||'&'&%"~}}"~#",#$~,%$!#$,~)%$!,,#$~~'&&X''&
\ No newline at end of file
--- a/maps/safarizoneeast.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-H}}}}IL||%$#V!<===>%H}}}}DGESF%%$$~#((",),)~( PQQQR!~((U<===>%(($PQQOD?CGFL||,T----@B,~,<====JB~}}},DGEEEGF"~V,3L||||%$~||||||||M
\ No newline at end of file
--- a/maps/safarizoneentrance.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-kj	li
\ No newline at end of file
--- a/maps/safarizonenorth.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-}}}}}}}}}}}}}}#"#"#$~%$~}}}}}}!~#"~%"~%$%\R%"~),Z["5555555%~,Z["))<==>)\R($DG?BZ[%$%,)@B,Z[,,@B)~)<====>)@B~##"@ACEGF@B\R@AB"<====JB~Z[$DGFDGEEEEF~%Z[~%!)~3~,")))W,~,~3$%$IYHIYH999IYH}}}}}}}}
\ No newline at end of file
binary files a/maps/safarizoneresthouse1.blk /dev/null differ
binary files a/maps/safarizoneresthouse2.blk /dev/null differ
binary files a/maps/safarizoneresthouse3.blk /dev/null differ
binary files a/maps/safarizoneresthouse4.blk /dev/null differ
--- a/maps/safarizonesecrethouse.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
\ No newline at end of file
--- a/maps/safarizonewest.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-|||||XX+*3)~+*.)!~+<==>))~+.DE?B))~~\QQR@B~~Z--[!@B)~@K==>~<====JCESF,~#DGEEEEF~,,~%$%$!W}}}}|||}||}}}}
\ No newline at end of file
binary files a/maps/saffroncity.blk /dev/null differ
--- a/maps/saffrongym.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-AAA@AABAAA//D//F////D//F//AAA@AABAAA//DF////D/F//AAA@AABAAA//DE/F////D,F//
\ No newline at end of file
--- a/maps/saffronhouse1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/saffronhouse2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/saffronmart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/saffronpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/school.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/seafoamislands1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-................(..<,-..xmw..m..)L^^^..m..m(...$..........$.
\ No newline at end of file
--- a/maps/seafoamislands2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-...........',->..|m..,<wmx..fL^^^..(..f-..m(m>................
\ No newline at end of file
--- a/maps/seafoamislands3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-................><..-..=xRw....)+|..(-..>y................
\ No newline at end of file
--- a/maps/seafoamislands4.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-vvvvvv=,)vy',-vvvv-+,+vvvvvav)vaxwzvm
\ No newline at end of file
--- a/maps/seafoamislands5.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-.vvu..v-v..vvvvvv,-a..vv|vvvvv..vv,vvvvv..vvf+vvvvvv..vvvvvvvvvvv..vvuvvvv..vvL.
\ No newline at end of file
--- a/maps/silphco1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-<========|==}>~""#	FD[[FD
 [[[[[[9	FD[[FD
	FDFDFHIIIX,WIIIIIIIJ
\ No newline at end of file
--- a/maps/silphco10.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-<===$}|>DFDZcgBDF
/F@*+BcgBD5F/{FD5F{7FD
-F7/FHIIJIIIJ
\ No newline at end of file
--- a/maps/silphco11.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-!"!"""#$921114($35($$*($$*($$*($768*($$*(%&&&%&.&'
\ No newline at end of file
--- a/maps/silphco2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@aaaaB====|=$}>D/F/F@cgaaaaaaAcgBDFD{{	@aab@cgAB66	UfD{F66FD7/F77YG/FHIIIIJIIIIIHIIJ
\ No newline at end of file
--- a/maps/silphco3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-<=========|=}$>D//F`aaABaAaBZaaabd4VVVfD6GGFD/7Z/ZZ/CCFPIIIJIIIJVIIIQD//FHIIIIIIIIIIIIIJ
\ No newline at end of file
--- a/maps/silphco4.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-<===>aaaa<|=$}>D55F/DFD555FGGD@cgBD55F/DD
4	FD5FcgaDD6FDF/DD
6	F@cgAcgApD6FD/D
7	FHIIIIIIIIIHIIIJ
\ No newline at end of file
--- a/maps/silphco5.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@aaB======|=}$>DV	
/FD/ZAAcgBFDZ`aBGG{FFPIIQdV6FFDVD6FFD5DZGGGFFD/5Z/HIJIIIIIJFHIIJIIIIIIIIIIJ
\ No newline at end of file
--- a/maps/silphco6.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-`aB====$}|==>d/V/FD`aAAcgBFd44444FF@ABD67776FFDV64446FFD77777FFDZgcgAAAcFHIJIIIIIIIIIJ
\ No newline at end of file
--- a/maps/silphco7.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@Aa`AAB}|=$>D/d""#qFDGDZcgBD/@cgBF
4F@aaD44FF
6FDD66FF
7FD	
D77FFcgBDHIIIJF/FHIIIIIIIJWIIJ
\ No newline at end of file
--- a/maps/silphco8.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@AABaab$}|==>D44FfFD66F/F@AAABD66VWQDCC	FD76/FDFD/7ZGFDG	FPIIJWJHXWQ/FHIIIIIIIIIIIJ
\ No newline at end of file
--- a/maps/silphco9.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-@AAAABA}$|==>D/FFDZgAAB@cgYFDVGGFD4FDg@B
D7FDZUV
@cgBFPJCCDG{VFDCCCYZD/GFHIIIHJIHIIIIJ
\ No newline at end of file
--- a/maps/silphcoelevator.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-*+()
\ No newline at end of file
--- a/maps/ssanne1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-









:
\ No newline at end of file
--- a/maps/ssanne10.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-787878;9;9;9787878;9;9;9
\ No newline at end of file
--- a/maps/ssanne2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-








\ No newline at end of file
--- a/maps/ssanne3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
\ No newline at end of file
--- a/maps/ssanne4.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-4

\ No newline at end of file
--- a/maps/ssanne5.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-##&&&&&&&&#$$$
)' )$
!"'(!"
#(%%%%%%%%
\ No newline at end of file
--- a/maps/ssanne6.blk
+++ /dev/null
@@ -1,7 +1,0 @@
-
-
-
-	
-
-
-5***5***5,,,+-+-+-+
\ No newline at end of file
--- a/maps/ssanne7.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-01/23.
\ No newline at end of file
--- a/maps/ssanne8.blk
+++ /dev/null
@@ -1,7 +1,0 @@
-	
-	
-	
-666	
-	
-	
-666
\ No newline at end of file
--- a/maps/ssanne9.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-787878;9;9;9787878;9;9;9
\ No newline at end of file
--- a/maps/tradecenter.blk
+++ /dev/null
@@ -1,4 +1,0 @@
-
-
- !"#
-
binary files a/maps/undergroundpathentranceroute5.blk /dev/null differ
binary files a/maps/undergroundpathentranceroute6.blk /dev/null differ
binary files a/maps/undergroundpathentranceroute7.blk /dev/null differ
binary files a/maps/undergroundpathentranceroute8.blk /dev/null differ
--- a/maps/undergroundpathns.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
	



















\ No newline at end of file
--- a/maps/undergroundpathwe.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
	


\ No newline at end of file
--- a/maps/unknowndungeon1.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- "||b	-}fN_vvvvvvvv#vvvvr}|qvv,-Xv=,vtfvvvfvf+}_ "vv-
-
} "$
\ No newline at end of file
--- a/maps/unknowndungeon2.blk
+++ /dev/null
@@ -1,3 +1,0 @@
-}(	((	


-

-}(#	(					}


\ No newline at end of file
--- a/maps/unknowndungeon3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-,--Nr02a}f
D+,v
 "pfvvv}fXfvv^tvvtvv)
 "vvvSvvvv
\ No newline at end of file
--- a/maps/unusedblocks58d7d.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/unusedblocks60258.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-,+>++++>
\ No newline at end of file
--- a/maps/unusedblocks60cef.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-
\ No newline at end of file
--- a/maps/vermilioncity.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-CCC ! ! !1 !11111111Ckk|~|r7~17~wVwww111Cd1111111111111111C-111111111IH111CCC-111111DE111CCC !C !11 !111111Cd|~1|~11|swwwwVwCd1111111111111111Cd1
1111 !TCdV51|~edTeCCCCd11111ed111e-T.CCCCd11111e-.CTCdC-.CCCCCCTCdCCCCCCCCTTTTTTTC-gCCCCCCCCTxxxxxxCCCkkkkkkkTkkkkkkkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCTCCCCCCCCCC
\ No newline at end of file
--- a/maps/vermiliondock.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-



	
-




























\ No newline at end of file
--- a/maps/vermiliongym.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-,%%&,,,*+*+''''''''''''''')(
\ No newline at end of file
--- a/maps/vermilionhouse1.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/vermilionhouse2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/vermilionhouse3.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/vermilionmart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/vermilionpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- a/maps/victoryroad1.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-b}}Nmt	}Mz}
-
z}-+,-}j[oL
MpOr
f%
lt^}S$}Q}}
\ No newline at end of file
--- a/maps/victoryroad2.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-b```````````````````````````````````>bc#`7`````g`T1W12````M````&````--%a`e}e``````````
\ No newline at end of file
--- a/maps/victoryroad3.blk
+++ /dev/null
@@ -1,2 +1,0 @@
-M#t```````````

````l`,-``jkko`````(	f+p``
'`%`````````````````````i(
-
\ No newline at end of file
--- a/maps/viridiancity.blk
+++ /dev/null
@@ -1,60 +1,0 @@
-,,),,)111111,,)
-RRR4111
1,,)M111,,)M,,)M1WW%Mwwwwwwww
-
-
-M1
-llllww
- !
-?;tt
-|s
-,)o
-
-
-
-,)
-4tt
-t !t
-
-,)
-
-
-|r
-
-tW%eCd//
-Mt
-
-
-
-
-
-tttt
-Mwwwwwwwwwwwwwww
-
-
-
-
-
-M
-
-MN
-
-N
-
-
-
-
-
-
-
-
-
-
-M
-
-MN
-
-N
-
-
-
-
--- a/maps/viridianforest.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-7999999999999I7;))55555);7;);7;7;7;);7;7;7;77);7);7;7;7!);7;7;7;7;7;7;)!);77X;
\ No newline at end of file
binary files a/maps/viridianforestentrance.blk /dev/null differ
binary files a/maps/viridianforestexit.blk /dev/null differ
--- a/maps/viridiangym.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-IJ_]KQdVcFF^\RFNSTULa`LUHH[L@DLLML,ULQ`G,XHHHZbCEWFFFY21@AB
\ No newline at end of file
--- a/maps/viridianhouse.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	

\ No newline at end of file
--- a/maps/viridianmart.blk
+++ /dev/null
@@ -1,1 +1,0 @@
-	
\ No newline at end of file
--- a/maps/viridianpokecenter.blk
+++ /dev/null
@@ -1,2 +1,0 @@
- 

!"#
-
\ No newline at end of file
--- /dev/null
+++ b/scripts/AgathasRoom.asm
@@ -1,0 +1,154 @@
+AgathasRoom_Script:
+	call AgathaShowOrHideExitBlock
+	call EnableAutoTextBoxDrawing
+	ld hl, AgathaTrainerHeader0
+	ld de, AgathasRoom_ScriptPointers
+	ld a, [wAgathasRoomCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wAgathasRoomCurScript], a
+	ret
+
+AgathaShowOrHideExitBlock:
+; Blocks or clears the exit to the next room.
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
+	jr z, .blockExitToNextRoom
+	ld a, $e
+	jp .setExitBlock
+.blockExitToNextRoom
+	ld a, $3b
+.setExitBlock:
+	ld [wNewTileBlockID], a
+	lb bc, 0, 2
+	predef_jump ReplaceTileBlock
+
+ResetAgathaScript:
+	xor a
+	ld [wAgathasRoomCurScript], a
+	ret
+
+AgathasRoom_ScriptPointers:
+	dw AgathaScript0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw AgathaScript2
+	dw AgathaScript3
+	dw AgathaScript4
+
+AgathaScript4:
+	ret
+
+AgathaScriptWalkIntoRoom:
+; Walk six steps upward.
+	ld hl, wSimulatedJoypadStatesEnd
+	ld a, D_UP
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld a, $6
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wAgathasRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+AgathaScript0:
+	ld hl, AgathaEntranceCoords
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	xor a
+	ld [hJoyPressed], a
+	ld [hJoyHeld], a
+	ld [wSimulatedJoypadStatesEnd], a
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, [wCoordIndex]
+	cp $3  ; Is player standing one tile above the exit?
+	jr c, .stopPlayerFromLeaving
+	CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM
+	jr z, AgathaScriptWalkIntoRoom
+.stopPlayerFromLeaving
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID  ; "Don't run away!"
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wAgathasRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+AgathaEntranceCoords:
+	db $0A,$04
+	db $0A,$05
+	db $0B,$04
+	db $0B,$05
+	db $FF
+
+AgathaScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wAgathasRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+AgathaScript2:
+	call EndTrainerBattle
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, ResetAgathaScript
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $1
+	ld [wChampionsRoomCurScript], a
+	ret
+
+AgathasRoom_TextPointers:
+	dw AgathaText1
+	dw AgathaDontRunAwayText
+
+AgathaTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
+	dw AgathaBeforeBattleText ; TextBeforeBattle
+	dw AgathaAfterBattleText ; TextAfterBattle
+	dw AgathaEndBattleText ; TextEndBattle
+	dw AgathaEndBattleText ; TextEndBattle
+
+	db $ff
+
+AgathaText1:
+	TX_ASM
+	ld hl, AgathaTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+AgathaBeforeBattleText:
+	TX_FAR _AgathaBeforeBattleText
+	db "@"
+
+AgathaEndBattleText:
+	TX_FAR _AgathaEndBattleText
+	db "@"
+
+AgathaAfterBattleText:
+	TX_FAR _AgathaAfterBattleText
+	db "@"
+
+AgathaDontRunAwayText:
+	TX_FAR _AgathaDontRunAwayText
+	db "@"
--- /dev/null
+++ b/scripts/BikeShop.asm
@@ -1,0 +1,147 @@
+BikeShop_Script:
+	jp EnableAutoTextBoxDrawing
+
+BikeShop_TextPointers:
+	dw BikeShopText1
+	dw BikeShopText2
+	dw BikeShopText3
+
+BikeShopText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_BICYCLE
+	jr z, .asm_260d4
+	ld hl, BikeShopText_1d82f
+	call PrintText
+	jp .Done
+.asm_260d4
+	ld b, BIKE_VOUCHER
+	call IsItemInBag
+	jr z, .asm_41190
+	ld hl, BikeShopText_1d81f
+	call PrintText
+	lb bc, BICYCLE, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, BIKE_VOUCHER
+	ld [$ffdb], a
+	callba RemoveItemByID
+	SetEvent EVENT_GOT_BICYCLE
+	ld hl, BikeShopText_1d824
+	call PrintText
+	jr .Done
+.BagFull
+	ld hl, BikeShopText_1d834
+	call PrintText
+	jr .Done
+.asm_41190
+	ld hl, BikeShopText_1d810
+	call PrintText
+	xor a
+	ld [wCurrentMenuItem], a
+	ld [wLastMenuItem], a
+	ld a, A_BUTTON | B_BUTTON
+	ld [wMenuWatchedKeys], a
+	ld a, $1
+	ld [wMaxMenuItem], a
+	ld a, $2
+	ld [wTopMenuItemY], a
+	ld a, $1
+	ld [wTopMenuItemX], a
+	ld hl, wd730
+	set 6, [hl]
+	coord hl, 0, 0
+	ld b, $4
+	ld c, $f
+	call TextBoxBorder
+	call UpdateSprites
+	coord hl, 2, 2
+	ld de, BikeShopMenuText
+	call PlaceString
+	coord hl, 8, 3
+	ld de, BikeShopMenuPrice
+	call PlaceString
+	ld hl, BikeShopText_1d815
+	call PrintText
+	call HandleMenuInput
+	bit 1, a
+	jr nz, .cancel
+	ld hl, wd730
+	res 6, [hl]
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .cancel
+	ld hl, BikeShopCantAffordText
+	call PrintText
+.cancel
+	ld hl, BikeShopComeAgainText
+	call PrintText
+.Done
+	jp TextScriptEnd
+
+BikeShopMenuText:
+	db   "BICYCLE"
+	next "CANCEL@"
+
+BikeShopMenuPrice:
+	db "¥1000000@"
+
+BikeShopText_1d810:
+	TX_FAR _BikeShopText_1d810
+	db "@"
+
+BikeShopText_1d815:
+	TX_FAR _BikeShopText_1d815
+	db "@"
+
+BikeShopCantAffordText:
+	TX_FAR _BikeShopCantAffordText
+	db "@"
+
+BikeShopText_1d81f:
+	TX_FAR _BikeShopText_1d81f
+	db "@"
+
+BikeShopText_1d824:
+	TX_FAR _BikeShopText_1d824
+	TX_SFX_KEY_ITEM
+	db "@"
+
+BikeShopComeAgainText:
+	TX_FAR _BikeShopComeAgainText
+	db "@"
+
+BikeShopText_1d82f:
+	TX_FAR _BikeShopText_1d82f
+	db "@"
+
+BikeShopText_1d834:
+	TX_FAR _BikeShopText_1d834
+	db "@"
+
+BikeShopText2:
+	TX_ASM
+	ld hl, BikeShopText_1d843
+	call PrintText
+	jp TextScriptEnd
+
+BikeShopText_1d843:
+	TX_FAR _BikeShopText_1d843
+	db "@"
+
+BikeShopText3:
+	TX_ASM
+	CheckEvent EVENT_GOT_BICYCLE
+	ld hl, BikeShopText_1d861
+	jr nz, .asm_34d2d
+	ld hl, BikeShopText_1d85c
+.asm_34d2d
+	call PrintText
+	jp TextScriptEnd
+
+BikeShopText_1d85c:
+	TX_FAR _BikeShopText_1d85c
+	db "@"
+
+BikeShopText_1d861:
+	TX_FAR _BikeShopText_1d861
+	db "@"
--- /dev/null
+++ b/scripts/BillsHouse.asm
@@ -1,0 +1,214 @@
+BillsHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ld a, [wBillsHouseCurScript]
+	ld hl, BillsHouse_ScriptPointers
+	jp CallFunctionInTable
+
+BillsHouse_ScriptPointers:
+	dw BillsHouseScript0
+	dw BillsHouseScript1
+	dw BillsHouseScript2
+	dw BillsHouseScript3
+	dw BillsHouseScript4
+	dw BillsHouseScript5
+
+BillsHouseScript0:
+	ret
+
+BillsHouseScript1:
+	ld a, [wSpriteStateData1 + 9]
+	and a ; cp SPRITE_FACING_DOWN
+	ld de, MovementData_1e79c
+	jr nz, .notDown
+	ld de, MovementData_1e7a0
+.notDown
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $2
+	ld [wBillsHouseCurScript], a
+	ret
+
+MovementData_1e79c:
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db $FF
+
+; make Bill walk around the player
+MovementData_1e7a0:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_UP
+	db $FF
+
+BillsHouseScript2:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_BILL_POKEMON
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $3
+	ld [wBillsHouseCurScript], a
+	ret
+
+BillsHouseScript3:
+	CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL
+	ret z
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $2
+	ld [wSpriteIndex], a
+	ld a, $c
+	ld [$ffeb], a
+	ld a, $40
+	ld [$ffec], a
+	ld a, $6
+	ld [$ffed], a
+	ld a, $5
+	ld [$ffee], a
+	call SetSpritePosition1
+	ld a, HS_BILL_1
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld c, 8
+	call DelayFrames
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	ld de, MovementData_1e807
+	call MoveSprite
+	ld a, $4
+	ld [wBillsHouseCurScript], a
+	ret
+
+MovementData_1e807:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+BillsHouseScript4:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	SetEvent EVENT_MET_BILL_2 ; this event seems redundant
+	SetEvent EVENT_MET_BILL
+	ld a, $0
+	ld [wBillsHouseCurScript], a
+	ret
+
+BillsHouseScript5:
+	ld a, $4
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $0
+	ld [wBillsHouseCurScript], a
+	ret
+
+BillsHouse_TextPointers:
+	dw BillsHouseText1
+	dw BillsHouseText2
+	dw BillsHouseText3
+	dw BillsHouseText4
+
+BillsHouseText4:
+	TX_BILLS_PC
+
+BillsHouseText1:
+	TX_ASM
+	ld hl, BillsHouseText_1e865
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_1e85a
+.asm_1e84d
+	ld hl, BillsHouseText_1e86a
+	call PrintText
+	ld a, $1
+	ld [wBillsHouseCurScript], a
+	jr .asm_1e862
+.asm_1e85a
+	ld hl, BillsHouseText_1e86f
+	call PrintText
+	jr .asm_1e84d
+.asm_1e862
+	jp TextScriptEnd
+
+BillsHouseText_1e865:
+	TX_FAR _BillsHouseText_1e865
+	db "@"
+
+BillsHouseText_1e86a:
+	TX_FAR _BillsHouseText_1e86a
+	db "@"
+
+BillsHouseText_1e86f:
+	TX_FAR _BillsHouseText_1e86f
+	db "@"
+
+BillsHouseText2:
+	TX_ASM
+	CheckEvent EVENT_GOT_SS_TICKET
+	jr nz, .asm_1e8a9
+	ld hl, BillThankYouText
+	call PrintText
+	lb bc, S_S_TICKET, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, SSTicketReceivedText
+	call PrintText
+	SetEvent EVENT_GOT_SS_TICKET
+	ld a, HS_CERULEAN_GUARD_1
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, HS_CERULEAN_GUARD_2
+	ld [wMissableObjectIndex], a
+	predef HideObject
+.asm_1e8a9
+	ld hl, BillsHouseText_1e8cb
+	call PrintText
+	jr .asm_1e8b7
+.BagFull
+	ld hl, SSTicketNoRoomText
+	call PrintText
+.asm_1e8b7
+	jp TextScriptEnd
+
+BillThankYouText:
+	TX_FAR _BillThankYouText
+	db "@"
+
+SSTicketReceivedText:
+	TX_FAR _SSTicketReceivedText
+	TX_SFX_KEY_ITEM
+	TX_BLINK
+	db "@"
+
+SSTicketNoRoomText:
+	TX_FAR _SSTicketNoRoomText
+	db "@"
+
+BillsHouseText_1e8cb:
+	TX_FAR _BillsHouseText_1e8cb
+	db "@"
+
+BillsHouseText3:
+	TX_ASM
+	ld hl, BillsHouseText_1e8da
+	call PrintText
+	jp TextScriptEnd
+
+BillsHouseText_1e8da:
+	TX_FAR _BillsHouseText_1e8da
+	db "@"
--- /dev/null
+++ b/scripts/BluesHouse.asm
@@ -1,0 +1,89 @@
+BluesHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, BluesHouse_ScriptPointers
+	ld a, [wBluesHouseCurScript]
+	jp CallFunctionInTable
+
+BluesHouse_ScriptPointers:
+	dw BluesHouseScript0
+	dw BluesHouseScript1
+
+BluesHouseScript0:
+	SetEvent EVENT_ENTERED_BLUES_HOUSE
+
+	; trigger the next script
+	ld a, 1
+	ld [wBluesHouseCurScript], a
+	ret
+
+BluesHouseScript1:
+	ret
+
+BluesHouse_TextPointers:
+	dw BluesHouseText1
+	dw BluesHouseText2
+	dw BluesHouseText3
+
+BluesHouseText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_TOWN_MAP
+	jr nz, .GotMap
+	CheckEvent EVENT_GOT_POKEDEX
+	jr nz, .GiveMap
+	ld hl, DaisyInitialText
+	call PrintText
+	jr .done
+
+.GiveMap
+	ld hl, DaisyOfferMapText
+	call PrintText
+	lb bc, TOWN_MAP, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, HS_TOWN_MAP
+	ld [wMissableObjectIndex], a
+	predef HideObject ; hide table map object
+	ld hl, GotMapText
+	call PrintText
+	SetEvent EVENT_GOT_TOWN_MAP
+	jr .done
+
+.GotMap
+	ld hl, DaisyUseMapText
+	call PrintText
+	jr .done
+
+.BagFull
+	ld hl, DaisyBagFullText
+	call PrintText
+.done
+	jp TextScriptEnd
+
+DaisyInitialText:
+	TX_FAR _DaisyInitialText
+	db "@"
+
+DaisyOfferMapText:
+	TX_FAR _DaisyOfferMapText
+	db "@"
+
+GotMapText:
+	TX_FAR _GotMapText
+	TX_SFX_KEY_ITEM
+	db "@"
+
+DaisyBagFullText:
+	TX_FAR _DaisyBagFullText
+	db "@"
+
+DaisyUseMapText:
+	TX_FAR _DaisyUseMapText
+	db "@"
+
+BluesHouseText2: ; Daisy, walking around
+	TX_FAR _BluesHouseText2
+	db "@"
+
+BluesHouseText3: ; map on table
+	TX_FAR _BluesHouseText3
+	db "@"
--- /dev/null
+++ b/scripts/BrunosRoom.asm
@@ -1,0 +1,151 @@
+BrunosRoom_Script:
+	call BrunoShowOrHideExitBlock
+	call EnableAutoTextBoxDrawing
+	ld hl, BrunoTrainerHeader0
+	ld de, BrunosRoom_ScriptPointers
+	ld a, [wBrunosRoomCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wBrunosRoomCurScript], a
+	ret
+
+BrunoShowOrHideExitBlock:
+; Blocks or clears the exit to the next room.
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
+	jr z, .blockExitToNextRoom
+	ld a, $5
+	jp .setExitBlock
+.blockExitToNextRoom
+	ld a, $24
+.setExitBlock
+	ld [wNewTileBlockID], a
+	lb bc, 0, 2
+	predef_jump ReplaceTileBlock
+
+ResetBrunoScript:
+	xor a
+	ld [wBrunosRoomCurScript], a
+	ret
+
+BrunosRoom_ScriptPointers:
+	dw BrunoScript0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw BrunoScript2
+	dw BrunoScript3
+	dw BrunoScript4
+
+BrunoScript4:
+	ret
+
+BrunoScriptWalkIntoRoom:
+; Walk six steps upward.
+	ld hl, wSimulatedJoypadStatesEnd
+	ld a, D_UP
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld a, $6
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wBrunosRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+BrunoScript0:
+	ld hl, BrunoEntranceCoords
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	xor a
+	ld [hJoyPressed], a
+	ld [hJoyHeld], a
+	ld [wSimulatedJoypadStatesEnd], a
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, [wCoordIndex]
+	cp $3  ; Is player standing one tile above the exit?
+	jr c, .stopPlayerFromLeaving
+	CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM
+	jr z, BrunoScriptWalkIntoRoom
+.stopPlayerFromLeaving
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID  ; "Don't run away!"
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wBrunosRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+BrunoEntranceCoords:
+	db $0A,$04
+	db $0A,$05
+	db $0B,$04
+	db $0B,$05
+	db $FF
+
+BrunoScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wBrunosRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+BrunoScript2:
+	call EndTrainerBattle
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, ResetBrunoScript
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+BrunosRoom_TextPointers:
+	dw BrunoText1
+	dw BrunoDontRunAwayText
+
+BrunoTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
+	dw BrunoBeforeBattleText ; TextBeforeBattle
+	dw BrunoAfterBattleText ; TextAfterBattle
+	dw BrunoEndBattleText ; TextEndBattle
+	dw BrunoEndBattleText ; TextEndBattle
+
+	db $ff
+
+BrunoText1:
+	TX_ASM
+	ld hl, BrunoTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+BrunoBeforeBattleText:
+	TX_FAR _BrunoBeforeBattleText
+	db "@"
+
+BrunoEndBattleText:
+	TX_FAR _BrunoEndBattleText
+	db "@"
+
+BrunoAfterBattleText:
+	TX_FAR _BrunoAfterBattleText
+	db "@"
+
+BrunoDontRunAwayText:
+	TX_FAR _BrunoDontRunAwayText
+	db "@"
--- /dev/null
+++ b/scripts/CeladonChiefHouse.asm
@@ -1,0 +1,20 @@
+CeladonChiefHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+CeladonChiefHouse_TextPointers:
+	dw CeladonHouseText1
+	dw CeladonHouseText2
+	dw CeladonHouseText3
+
+CeladonHouseText1:
+	TX_FAR _CeladonHouseText1
+	db "@"
+
+CeladonHouseText2:
+	TX_FAR _CeladonHouseText2
+	db "@"
+
+CeladonHouseText3:
+	TX_FAR _CeladonHouseText3
+	db "@"
--- /dev/null
+++ b/scripts/CeladonCity.asm
@@ -1,0 +1,132 @@
+CeladonCity_Script:
+	call EnableAutoTextBoxDrawing
+	ResetEvents EVENT_1B8, EVENT_1BF
+	ResetEvent EVENT_67F
+	ret
+
+CeladonCity_TextPointers:
+	dw CeladonCityText1
+	dw CeladonCityText2
+	dw CeladonCityText3
+	dw CeladonCityText4
+	dw CeladonCityText5
+	dw CeladonCityText6
+	dw CeladonCityText7
+	dw CeladonCityText8
+	dw CeladonCityText9
+	dw CeladonCityText10
+	dw CeladonCityText11
+	dw PokeCenterSignText
+	dw CeladonCityText13
+	dw CeladonCityText14
+	dw CeladonCityText15
+	dw CeladonCityText16
+	dw CeladonCityText17
+	dw CeladonCityText18
+
+CeladonCityText1:
+	TX_FAR _CeladonCityText1
+	db "@"
+
+CeladonCityText2:
+	TX_FAR _CeladonCityText2
+	db "@"
+
+CeladonCityText3:
+	TX_FAR _CeladonCityText3
+	db "@"
+
+CeladonCityText4:
+	TX_FAR _CeladonCityText4
+	db "@"
+
+CeladonCityText5:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM41
+	jr nz, .asm_7053f
+	ld hl, TM41PreText
+	call PrintText
+	lb bc, TM_41, 1
+	call GiveItem
+	jr c, .Success
+	ld hl, TM41NoRoomText
+	call PrintText
+	jr .Done
+.Success
+	ld hl, ReceivedTM41Text
+	call PrintText
+	SetEvent EVENT_GOT_TM41
+	jr .Done
+.asm_7053f
+	ld hl, TM41ExplanationText
+	call PrintText
+.Done
+	jp TextScriptEnd
+
+TM41PreText:
+	TX_FAR _TM41PreText
+	db "@"
+
+ReceivedTM41Text:
+	TX_FAR _ReceivedTM41Text
+	TX_SFX_ITEM_1
+	db "@"
+
+TM41ExplanationText:
+	TX_FAR _TM41ExplanationText
+	db "@"
+
+TM41NoRoomText:
+	TX_FAR _TM41NoRoomText
+	db "@"
+
+CeladonCityText6:
+	TX_FAR _CeladonCityText6
+	db "@"
+
+CeladonCityText7:
+	TX_FAR _CeladonCityText7
+	TX_ASM
+	ld a, POLIWRATH
+	call PlayCry
+	jp TextScriptEnd
+
+CeladonCityText8:
+	TX_FAR _CeladonCityText8
+	db "@"
+
+CeladonCityText9:
+	TX_FAR _CeladonCityText9
+	db "@"
+
+CeladonCityText10:
+	TX_FAR _CeladonCityText10
+	db "@"
+
+CeladonCityText11:
+	TX_FAR _CeladonCityText11
+	db "@"
+
+CeladonCityText13:
+	TX_FAR _CeladonCityText13
+	db "@"
+
+CeladonCityText14:
+	TX_FAR _CeladonCityText14
+	db "@"
+
+CeladonCityText15:
+	TX_FAR _CeladonCityText15
+	db "@"
+
+CeladonCityText16:
+	TX_FAR _CeladonCityText16
+	db "@"
+
+CeladonCityText17:
+	TX_FAR _CeladonCityText17
+	db "@"
+
+CeladonCityText18:
+	TX_FAR _CeladonCityText18
+	db "@"
--- /dev/null
+++ b/scripts/CeladonDiner.asm
@@ -1,0 +1,66 @@
+CeladonDiner_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+CeladonDiner_TextPointers:
+	dw CeladonDinerText1
+	dw CeladonDinerText2
+	dw CeladonDinerText3
+	dw CeladonDinerText4
+	dw CeladonDinerText5
+
+CeladonDinerText1:
+	TX_FAR _CeladonDinerText1
+	db "@"
+
+CeladonDinerText2:
+	TX_FAR _CeladonDinerText2
+	db "@"
+
+CeladonDinerText3:
+	TX_FAR _CeladonDinerText3
+	db "@"
+
+CeladonDinerText4:
+	TX_FAR _CeladonDinerText4
+	db "@"
+
+CeladonDinerText5:
+	TX_ASM
+	CheckEvent EVENT_GOT_COIN_CASE
+	jr nz, .asm_eb14d
+	ld hl, CeladonDinerText_491a7
+	call PrintText
+	lb bc, COIN_CASE, 1
+	call GiveItem
+	jr nc, .BagFull
+	SetEvent EVENT_GOT_COIN_CASE
+	ld hl, ReceivedCoinCaseText
+	call PrintText
+	jr .asm_68b61
+.BagFull
+	ld hl, CoinCaseNoRoomText
+	call PrintText
+	jr .asm_68b61
+.asm_eb14d
+	ld hl, CeladonDinerText_491b7
+	call PrintText
+.asm_68b61
+	jp TextScriptEnd
+
+CeladonDinerText_491a7:
+	TX_FAR _CeladonDinerText_491a7
+	db "@"
+
+ReceivedCoinCaseText:
+	TX_FAR _ReceivedCoinCaseText
+	TX_SFX_KEY_ITEM
+	db "@"
+
+CoinCaseNoRoomText:
+	TX_FAR _CoinCaseNoRoomText
+	db "@"
+
+CeladonDinerText_491b7:
+	TX_FAR _CeladonDinerText_491b7
+	db "@"
--- /dev/null
+++ b/scripts/CeladonGym.asm
@@ -1,0 +1,335 @@
+CeladonGym_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, CeladonGymScript_48927
+	call EnableAutoTextBoxDrawing
+	ld hl, CeladonGymTrainerHeader0
+	ld de, CeladonGym_ScriptPointers
+	ld a, [wCeladonGymCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wCeladonGymCurScript], a
+	ret
+
+CeladonGymScript_48927:
+	ld hl, Gym4CityName
+	ld de, Gym4LeaderName
+	jp LoadGymLeaderAndCityName
+
+Gym4CityName:
+	db "CELADON CITY@"
+
+Gym4LeaderName:
+	db "ERIKA@"
+
+CeladonGymText_48943:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wCeladonGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+CeladonGym_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw CeladonGymScript3
+
+CeladonGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, CeladonGymText_48943
+	ld a, $f0
+	ld [wJoyIgnore], a
+
+CeladonGymText_48963:
+	ld a, $9
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_ERIKA
+	lb bc, TM_21, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM21
+	jr .asm_4898c
+.BagFull
+	ld a, $b
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_4898c
+	ld hl, wObtainedBadges
+	set 3, [hl]
+	ld hl, wBeatGymFlags
+	set 3, [hl]
+
+	; deactivate gym trainers
+	SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6
+
+	jp CeladonGymText_48943
+
+CeladonGym_TextPointers:
+	dw CeladonGymText1
+	dw CeladonGymText2
+	dw CeladonGymText3
+	dw CeladonGymText4
+	dw CeladonGymText5
+	dw CeladonGymText6
+	dw CeladonGymText7
+	dw CeladonGymText8
+	dw CeladonGymText9
+	dw TM21Text
+	dw TM21NoRoomText
+
+CeladonGymTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0
+	dw CeladonGymBattleText2 ; TextBeforeBattle
+	dw CeladonGymAfterBattleText2 ; TextAfterBattle
+	dw CeladonGymEndBattleText2 ; TextEndBattle
+	dw CeladonGymEndBattleText2 ; TextEndBattle
+
+CeladonGymTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1
+	dw CeladonGymBattleText3 ; TextBeforeBattle
+	dw CeladonGymAfterBattleText3 ; TextAfterBattle
+	dw CeladonGymEndBattleText3 ; TextEndBattle
+	dw CeladonGymEndBattleText3 ; TextEndBattle
+
+CeladonGymTrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2
+	dw CeladonGymBattleText4 ; TextBeforeBattle
+	dw CeladonGymAfterBattleText4 ; TextAfterBattle
+	dw CeladonGymEndBattleText4 ; TextEndBattle
+	dw CeladonGymEndBattleText4 ; TextEndBattle
+
+CeladonGymTrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3
+	dw CeladonGymBattleText5 ; TextBeforeBattle
+	dw CeladonGymAfterBattleText5 ; TextAfterBattle
+	dw CeladonGymEndBattleText5 ; TextEndBattle
+	dw CeladonGymEndBattleText5 ; TextEndBattle
+
+CeladonGymTrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4
+	dw CeladonGymBattleText6 ; TextBeforeBattle
+	dw CeladonGymAfterBattleText6 ; TextAfterBattle
+	dw CeladonGymEndBattleText6 ; TextEndBattle
+	dw CeladonGymEndBattleText6 ; TextEndBattle
+
+CeladonGymTrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5
+	dw CeladonGymBattleText7 ; TextBeforeBattle
+	dw CeladonGymAfterBattleText7 ; TextAfterBattle
+	dw CeladonGymEndBattleText7 ; TextEndBattle
+	dw CeladonGymEndBattleText7 ; TextEndBattle
+
+CeladonGymTrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1
+	dw CeladonGymBattleText8 ; TextBeforeBattle
+	dw CeladonGymAfterBattleText8 ; TextAfterBattle
+	dw CeladonGymEndBattleText8 ; TextEndBattle
+	dw CeladonGymEndBattleText8 ; TextEndBattle
+
+	db $ff
+
+CeladonGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_ERIKA
+	jr z, .asm_48a2d
+	CheckEventReuseA EVENT_GOT_TM21
+	jr nz, .asm_48a25
+	call z, CeladonGymText_48963
+	call DisableWaitingAfterTextDisplay
+	jr .asm_48a5b
+.asm_48a25
+	ld hl, CeladonGymText_48a68
+	call PrintText
+	jr .asm_48a5b
+.asm_48a2d
+	ld hl, CeladonGymText_48a5e
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, CeladonGymText_48a63
+	ld de, CeladonGymText_48a63
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $4
+	ld [wGymLeaderNo], a
+	ld a, $3
+	ld [wCeladonGymCurScript], a
+	ld [wCurMapScript], a
+.asm_48a5b
+	jp TextScriptEnd
+
+CeladonGymText_48a5e:
+	TX_FAR _CeladonGymText_48a5e
+	db "@"
+
+CeladonGymText_48a63:
+	TX_FAR _CeladonGymText_48a63
+	db "@"
+
+CeladonGymText_48a68:
+	TX_FAR _CeladonGymText_48a68
+	db "@"
+
+CeladonGymText9:
+	TX_FAR _CeladonGymText9
+	db "@"
+
+TM21Text:
+	TX_FAR _ReceivedTM21Text
+	TX_SFX_ITEM_1
+	TX_FAR _TM21ExplanationText
+	db "@"
+
+TM21NoRoomText:
+	TX_FAR _TM21NoRoomText
+	db "@"
+
+CeladonGymText2:
+	TX_ASM
+	ld hl, CeladonGymTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeladonGymBattleText2:
+	TX_FAR _CeladonGymBattleText2
+	db "@"
+
+CeladonGymEndBattleText2:
+	TX_FAR _CeladonGymEndBattleText2
+	db "@"
+
+CeladonGymAfterBattleText2:
+	TX_FAR _CeladonGymAfterBattleText2
+	db "@"
+
+CeladonGymText3:
+	TX_ASM
+	ld hl, CeladonGymTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeladonGymBattleText3:
+	TX_FAR _CeladonGymBattleText3
+	db "@"
+
+CeladonGymEndBattleText3:
+	TX_FAR _CeladonGymEndBattleText3
+	db "@"
+
+CeladonGymAfterBattleText3:
+	TX_FAR _CeladonGymAfterBattleText3
+	db "@"
+
+CeladonGymText4:
+	TX_ASM
+	ld hl, CeladonGymTrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeladonGymBattleText4:
+	TX_FAR _CeladonGymBattleText4
+	db "@"
+
+CeladonGymEndBattleText4:
+	TX_FAR _CeladonGymEndBattleText4
+	db "@"
+
+CeladonGymAfterBattleText4:
+	TX_FAR _CeladonGymAfterBattleText4
+	db "@"
+
+CeladonGymText5:
+	TX_ASM
+	ld hl, CeladonGymTrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeladonGymBattleText5:
+	TX_FAR _CeladonGymBattleText5
+	db "@"
+
+CeladonGymEndBattleText5:
+	TX_FAR _CeladonGymEndBattleText5
+	db "@"
+
+CeladonGymAfterBattleText5:
+	TX_FAR _CeladonGymAfterBattleText5
+	db "@"
+
+CeladonGymText6:
+	TX_ASM
+	ld hl, CeladonGymTrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeladonGymBattleText6:
+	TX_FAR _CeladonGymBattleText6
+	db "@"
+
+CeladonGymEndBattleText6:
+	TX_FAR _CeladonGymEndBattleText6
+	db "@"
+
+CeladonGymAfterBattleText6:
+	TX_FAR _CeladonGymAfterBattleText6
+	db "@"
+
+CeladonGymText7:
+	TX_ASM
+	ld hl, CeladonGymTrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeladonGymBattleText7:
+	TX_FAR _CeladonGymBattleText7
+	db "@"
+
+CeladonGymEndBattleText7:
+	TX_FAR _CeladonGymEndBattleText7
+	db "@"
+
+CeladonGymAfterBattleText7:
+	TX_FAR _CeladonGymAfterBattleText7
+	db "@"
+
+CeladonGymText8:
+	TX_ASM
+	ld hl, CeladonGymTrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeladonGymBattleText8:
+	TX_FAR _CeladonGymBattleText8
+	db "@"
+
+CeladonGymEndBattleText8:
+	TX_FAR _CeladonGymEndBattleText8
+	db "@"
+
+CeladonGymAfterBattleText8:
+	TX_FAR _CeladonGymAfterBattleText8
+	db "@"
--- /dev/null
+++ b/scripts/CeladonHotel.asm
@@ -1,0 +1,19 @@
+CeladonHotel_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonHotel_TextPointers:
+	dw CeladonHotelText1
+	dw CeladonHotelText2
+	dw CeladonHotelText3
+
+CeladonHotelText1:
+	TX_FAR _CeladonHotelText1
+	db "@"
+
+CeladonHotelText2:
+	TX_FAR _CeladonHotelText2
+	db "@"
+
+CeladonHotelText3:
+	TX_FAR _CeladonHotelText3
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMansion1F.asm
@@ -1,0 +1,39 @@
+CeladonMansion1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMansion1F_TextPointers:
+	dw CeladonMansion1Text1
+	dw CeladonMansion1Text2
+	dw CeladonMansion1Text3
+	dw CeladonMansion1Text4
+	dw CeladonMansion1Text5
+
+CeladonMansion1_486a1:
+	call PlayCry
+	jp TextScriptEnd
+
+CeladonMansion1Text1:
+	TX_FAR _CeladonMansion1Text1
+	TX_ASM
+	ld a, MEOWTH
+	jp CeladonMansion1_486a1
+
+CeladonMansion1Text2:
+	TX_FAR _CeladonMansion1Text2
+	db "@"
+
+CeladonMansion1Text3:
+	TX_FAR _CeladonMansion1Text3
+	TX_ASM
+	ld a, CLEFAIRY
+	jp CeladonMansion1_486a1
+
+CeladonMansion1Text4:
+	TX_FAR _CeladonMansion1Text4
+	TX_ASM
+	ld a, NIDORAN_F
+	jp CeladonMansion1_486a1
+
+CeladonMansion1Text5:
+	TX_FAR _CeladonMansion1Text5
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMansion2F.asm
@@ -1,0 +1,10 @@
+CeladonMansion2F_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+CeladonMansion2F_TextPointers:
+	dw CeladonMansion2Text1
+
+CeladonMansion2Text1:
+	TX_FAR _CeladonMansion2Text1
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMansion3F.asm
@@ -1,0 +1,71 @@
+CeladonMansion3F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMansion3F_TextPointers:
+	dw ProgrammerText
+	dw GraphicArtistText
+	dw WriterText
+	dw DirectorText
+	dw GameFreakPCText1
+	dw GameFreakPCText2
+	dw GameFreakPCText3
+	dw GameFreakSignText
+
+ProgrammerText:
+	TX_FAR _ProgrammerText
+	db "@"
+
+GraphicArtistText:
+	TX_FAR _GraphicArtistText
+	db "@"
+
+WriterText:
+	TX_FAR _WriterText
+	db "@"
+
+DirectorText:
+	TX_ASM
+
+	; check pokédex
+	ld hl, wPokedexOwned
+	ld b, wPokedexOwnedEnd - wPokedexOwned
+	call CountSetBits
+	ld a, [wNumSetBits]
+	cp 150
+	jr nc, .CompletedDex
+	ld hl, .GameDesigner
+	jr .done
+.CompletedDex
+	ld hl, .CompletedDexText
+.done
+	call PrintText
+	jp TextScriptEnd
+
+.GameDesigner
+	TX_FAR _GameDesignerText
+	db "@"
+
+.CompletedDexText
+	TX_FAR _CompletedDexText
+	TX_BLINK
+	TX_ASM
+	callab DisplayDiploma
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	jp TextScriptEnd
+
+GameFreakPCText1:
+	TX_FAR _CeladonMansion3Text5
+	db "@"
+
+GameFreakPCText2:
+	TX_FAR _CeladonMansion3Text6
+	db "@"
+
+GameFreakPCText3:
+	TX_FAR _CeladonMansion3Text7
+	db "@"
+
+GameFreakSignText:
+	TX_FAR _CeladonMansion3Text8
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMansionRoof.asm
@@ -1,0 +1,9 @@
+CeladonMansionRoof_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMansionRoof_TextPointers:
+	dw CeladonMansion4Text1
+
+CeladonMansion4Text1:
+	TX_FAR _CeladonMansion4Text1
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMansionRoofHouse.asm
@@ -1,0 +1,21 @@
+CeladonMansionRoofHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMansionRoofHouse_TextPointers:
+	dw CeladonMansion5Text1
+	dw CeladonMansion5Text2
+
+CeladonMansion5Text1:
+	TX_FAR _CeladonMansion5Text1
+	db "@"
+
+CeladonMansion5Text2:
+	TX_ASM
+	lb bc, EEVEE, 25
+	call GivePokemon
+	jr nc, .asm_24365
+	ld a, HS_CELADON_MANSION_EEVEE_GIFT
+	ld [wMissableObjectIndex], a
+	predef HideObject
+.asm_24365
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/CeladonMart1F.asm
@@ -1,0 +1,19 @@
+CeladonMart1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMart1F_TextPointers:
+	dw CeladonMart1Text1
+	dw CeladonMart1Text2
+	dw CeladonMart1Text3
+
+CeladonMart1Text1:
+	TX_FAR _CeladonMart1Text1
+	db "@"
+
+CeladonMart1Text2:
+	TX_FAR _CeladonMart1Text2
+	db "@"
+
+CeladonMart1Text3:
+	TX_FAR _CeladonMart1Text3
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMart2F.asm
@@ -1,0 +1,21 @@
+CeladonMart2F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMart2F_TextPointers:
+	dw CeladonMart2Clerk1Text
+	dw CeladonMart2Clerk2Text
+	dw CeladonMart2Text3
+	dw CeladonMart2Text4
+	dw CeladonMart2Text5
+
+CeladonMart2Text3:
+	TX_FAR _CeladonMart2Text3
+	db "@"
+
+CeladonMart2Text4:
+	TX_FAR _CeladonMart2Text4
+	db "@"
+
+CeladonMart2Text5:
+	TX_FAR _CeladonMart2Text5
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMart3F.asm
@@ -1,0 +1,108 @@
+CeladonMart3F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMart3F_TextPointers:
+	dw CeladonMart3Text1
+	dw CeladonMart3Text2
+	dw CeladonMart3Text3
+	dw CeladonMart3Text4
+	dw CeladonMart3Text5
+	dw CeladonMart3Text6
+	dw CeladonMart3Text7
+	dw CeladonMart3Text8
+	dw CeladonMart3Text9
+	dw CeladonMart3Text10
+	dw CeladonMart3Text11
+	dw CeladonMart3Text12
+	dw CeladonMart3Text13
+	dw CeladonMart3Text14
+	dw CeladonMart3Text15
+	dw CeladonMart3Text16
+	dw CeladonMart3Text17
+
+CeladonMart3Text1:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM18
+	jr nz, .asm_a5463
+	ld hl, TM18PreReceiveText
+	call PrintText
+	lb bc, TM_18, 1
+	call GiveItem
+	jr nc, .BagFull
+	SetEvent EVENT_GOT_TM18
+	ld hl, ReceivedTM18Text
+	jr .asm_81359
+.BagFull
+	ld hl, TM18NoRoomText
+	jr .asm_81359
+.asm_a5463
+	ld hl, TM18ExplanationText
+.asm_81359
+	call PrintText
+	jp TextScriptEnd
+
+TM18PreReceiveText:
+	TX_FAR _TM18PreReceiveText
+	db "@"
+
+ReceivedTM18Text:
+	TX_FAR _ReceivedTM18Text
+	TX_SFX_ITEM_1
+	db "@"
+
+TM18ExplanationText:
+	TX_FAR _TM18ExplanationText
+	db "@"
+
+TM18NoRoomText:
+	TX_FAR _TM18NoRoomText
+	db "@"
+
+CeladonMart3Text2:
+	TX_FAR _CeladonMart3Text2
+	db "@"
+
+CeladonMart3Text3:
+	TX_FAR _CeladonMart3Text3
+	db "@"
+
+CeladonMart3Text4:
+	TX_FAR _CeladonMart3Text4
+	db "@"
+
+CeladonMart3Text5:
+	TX_FAR _CeladonMart3Text5
+	db "@"
+
+CeladonMart3Text12
+CeladonMart3Text10:
+CeladonMart3Text8:
+CeladonMart3Text6:
+	TX_FAR _CeladonMart3Text6
+	db "@"
+
+CeladonMart3Text7:
+	TX_FAR _CeladonMart3Text7
+	db "@"
+
+CeladonMart3Text9:
+	TX_FAR _CeladonMart3Text9
+	db "@"
+
+CeladonMart3Text11:
+	TX_FAR _CeladonMart3Text11
+	db "@"
+
+CeladonMart3Text13:
+	TX_FAR _CeladonMart3Text13
+	db "@"
+
+CeladonMart3Text14:
+	TX_FAR _CeladonMart3Text14
+	db "@"
+
+CeladonMart3Text17:
+CeladonMart3Text16:
+CeladonMart3Text15:
+	TX_FAR _CeladonMart3Text15
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMart4F.asm
@@ -1,0 +1,20 @@
+CeladonMart4F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMart4F_TextPointers:
+	dw CeladonMart4ClerkText
+	dw CeladonMart4Text2
+	dw CeladonMart4Text3
+	dw CeladonMart4Text4
+
+CeladonMart4Text2:
+	TX_FAR _CeladonMart4Text2
+	db "@"
+
+CeladonMart4Text3:
+	TX_FAR _CeladonMart4Text3
+	db "@"
+
+CeladonMart4Text4:
+	TX_FAR _CeladonMart4Text4
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMart5F.asm
@@ -1,0 +1,21 @@
+CeladonMart5F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMart5F_TextPointers:
+	dw CeladonMart5Text1
+	dw CeladonMart5Text2
+	dw CeladonMart5Clerk1Text
+	dw CeladonMart5Clerk2Text
+	dw CeladonMart5Text5
+
+CeladonMart5Text1:
+	TX_FAR _CeladonMart5Text1
+	db "@"
+
+CeladonMart5Text2:
+	TX_FAR _CeladonMart5Text2
+	db "@"
+
+CeladonMart5Text5:
+	TX_FAR _CeladonMart5Text5
+	db "@"
--- /dev/null
+++ b/scripts/CeladonMartElevator.asm
@@ -1,0 +1,73 @@
+CeladonMartElevator_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, CeladonMartElevatorScript_4861c
+	pop hl
+	bit 7, [hl]
+	res 7, [hl]
+	call nz, CeladonMartElevatorScript_48654
+	xor a
+	ld [wAutoTextBoxDrawingControl], a
+	inc a
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ret
+
+CeladonMartElevatorScript_4861c:
+	ld hl, wWarpEntries
+	ld a, [wWarpedFromWhichWarp]
+	ld b, a
+	ld a, [wWarpedFromWhichMap]
+	ld c, a
+	call CeladonMartElevatorScript_4862a
+
+CeladonMartElevatorScript_4862a:
+	inc hl
+	inc hl
+	ld a, b
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ret
+
+CeladonMartElevatorScript_48631:
+	ld hl, CeladonMartElevatorFloors
+	call LoadItemList
+	ld hl, CeladonMartElevatorWarpMaps
+	ld de, wElevatorWarpMaps
+	ld bc, CeladonMartElevatorWarpMapsEnd - CeladonMartElevatorWarpMaps
+	jp CopyData
+
+CeladonMartElevatorFloors:
+	db 5 ; number of elements in list
+	db FLOOR_1F
+	db FLOOR_2F
+	db FLOOR_3F
+	db FLOOR_4F
+	db FLOOR_5F
+	db $FF
+
+CeladonMartElevatorWarpMaps:
+; first byte is warp number
+; second byte is map number
+; These specify where the player goes after getting out of the elevator.
+	db $05, CELADON_MART_1F
+	db $02, CELADON_MART_2F
+	db $02, CELADON_MART_3F
+	db $02, CELADON_MART_4F
+	db $02, CELADON_MART_5F
+CeladonMartElevatorWarpMapsEnd:
+
+CeladonMartElevatorScript_48654:
+	jpba ShakeElevator
+
+CeladonMartElevator_TextPointers:
+	dw CeladonMartElevatorText1
+
+CeladonMartElevatorText1:
+	TX_ASM
+	call CeladonMartElevatorScript_48631
+	ld hl, CeladonMartElevatorWarpMaps
+	predef DisplayElevatorFloorMenu
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/CeladonMartRoof.asm
@@ -1,0 +1,255 @@
+CeladonMartRoof_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeladonMartRoofScript_GetDrinksInBag:
+; construct a list of all drinks in the player's bag
+	xor a
+	ld [wFilteredBagItemsCount], a
+	ld de, wFilteredBagItems
+	ld hl, CeladonMartRoofDrinkList
+.loop
+	ld a, [hli]
+	and a
+	jr z, .done
+	push hl
+	push de
+	ld [wd11e], a
+	ld b, a
+	predef GetQuantityOfItemInBag
+	pop de
+	pop hl
+	ld a, b
+	and a
+	jr z, .loop ; if the item isn't in the bag
+	ld a, [wd11e]
+	ld [de], a
+	inc de
+	push hl
+	ld hl, wFilteredBagItemsCount
+	inc [hl]
+	pop hl
+	jr .loop
+.done
+	ld a, $ff
+	ld [de], a
+	ret
+
+CeladonMartRoofDrinkList:
+	db FRESH_WATER
+	db SODA_POP
+	db LEMONADE
+	db $00
+
+CeladonMartRoofScript_GiveDrinkToGirl:
+	ld hl, wd730
+	set 6, [hl]
+	ld hl, CeladonMartRoofText_484ee
+	call PrintText
+	xor a
+	ld [wCurrentMenuItem], a
+	ld a, A_BUTTON | B_BUTTON
+	ld [wMenuWatchedKeys], a
+	ld a, [wFilteredBagItemsCount]
+	dec a
+	ld [wMaxMenuItem], a
+	ld a, 2
+	ld [wTopMenuItemY], a
+	ld a, 1
+	ld [wTopMenuItemX], a
+	ld a, [wFilteredBagItemsCount]
+	dec a
+	ld bc, 2
+	ld hl, 3
+	call AddNTimes
+	dec l
+	ld b, l
+	ld c, 12
+	coord hl, 0, 0
+	call TextBoxBorder
+	call UpdateSprites
+	call CeladonMartRoofScript_PrintDrinksInBag
+	ld hl, wd730
+	res 6, [hl]
+	call HandleMenuInput
+	bit 1, a ; pressed b
+	ret nz
+	ld hl, wFilteredBagItems
+	ld a, [wCurrentMenuItem]
+	ld d, 0
+	ld e, a
+	add hl, de
+	ld a, [hl]
+	ld [hItemToRemoveID], a
+	cp FRESH_WATER
+	jr z, .gaveFreshWater
+	cp SODA_POP
+	jr z, .gaveSodaPop
+; gave Lemonade
+	CheckEvent EVENT_GOT_TM49
+	jr nz, .alreadyGaveDrink
+	ld hl, CeladonMartRoofText_48515
+	call PrintText
+	call RemoveItemByIDBank12
+	lb bc, TM_49, 1
+	call GiveItem
+	jr nc, .bagFull
+	ld hl, ReceivedTM49Text
+	call PrintText
+	SetEvent EVENT_GOT_TM49
+	ret
+.gaveSodaPop
+	CheckEvent EVENT_GOT_TM48
+	jr nz, .alreadyGaveDrink
+	ld hl, CeladonMartRoofText_48504
+	call PrintText
+	call RemoveItemByIDBank12
+	lb bc, TM_48, 1
+	call GiveItem
+	jr nc, .bagFull
+	ld hl, CeladonMartRoofText_4850a
+	call PrintText
+	SetEvent EVENT_GOT_TM48
+	ret
+.gaveFreshWater
+	CheckEvent EVENT_GOT_TM13
+	jr nz, .alreadyGaveDrink
+	ld hl, CeladonMartRoofText_484f3
+	call PrintText
+	call RemoveItemByIDBank12
+	lb bc, TM_13, 1
+	call GiveItem
+	jr nc, .bagFull
+	ld hl, CeladonMartRoofText_484f9
+	call PrintText
+	SetEvent EVENT_GOT_TM13
+	ret
+.bagFull
+	ld hl, CeladonMartRoofText_48526
+	jp PrintText
+.alreadyGaveDrink
+	ld hl, CeladonMartRoofText_4852c
+	jp PrintText
+
+RemoveItemByIDBank12:
+	jpba RemoveItemByID
+
+CeladonMartRoofText_484ee:
+	TX_FAR _CeladonMartRoofText_484ee
+	db "@"
+
+CeladonMartRoofText_484f3:
+	TX_FAR _CeladonMartRoofText_484f3
+	TX_WAIT
+	db "@"
+
+CeladonMartRoofText_484f9:
+	TX_FAR _CeladonMartRoofText_484f9
+	TX_SFX_ITEM_1
+	TX_FAR _CeladonMartRoofText_484fe
+	TX_WAIT
+	db "@"
+
+CeladonMartRoofText_48504:
+	TX_FAR _CeladonMartRoofText_48504
+	TX_WAIT
+	db "@"
+
+CeladonMartRoofText_4850a:
+	TX_FAR _CeladonMartRoofText_4850a
+	TX_SFX_ITEM_1
+	TX_FAR _CeladonMartRoofText_4850f
+	TX_WAIT
+	db "@"
+
+CeladonMartRoofText_48515:
+	TX_FAR _CeladonMartRoofText_48515
+	TX_WAIT
+	db "@"
+
+ReceivedTM49Text:
+	TX_FAR _ReceivedTM49Text
+	TX_SFX_ITEM_1
+	TX_FAR _CeladonMartRoofText_48520
+	TX_WAIT
+	db "@"
+
+CeladonMartRoofText_48526:
+	TX_FAR _CeladonMartRoofText_48526
+	TX_WAIT
+	db "@"
+
+CeladonMartRoofText_4852c:
+	TX_FAR _CeladonMartRoofText_4852c
+	TX_WAIT
+	db "@"
+
+CeladonMartRoofScript_PrintDrinksInBag:
+	ld hl, wFilteredBagItems
+	xor a
+	ld [hItemCounter], a
+.loop
+	ld a, [hli]
+	cp $ff
+	ret z
+	push hl
+	ld [wd11e], a
+	call GetItemName
+	coord hl, 2, 2
+	ld a, [hItemCounter]
+	ld bc, SCREEN_WIDTH * 2
+	call AddNTimes
+	ld de, wcd6d
+	call PlaceString
+	ld hl, hItemCounter
+	inc [hl]
+	pop hl
+	jr .loop
+
+CeladonMartRoof_TextPointers:
+	dw CeladonMartRoofText1
+	dw CeladonMartRoofText2
+	dw CeladonMartRoofText5
+	dw CeladonMartRoofText5
+	dw CeladonMartRoofText5
+	dw CeladonMartRoofText6
+
+CeladonMartRoofText1:
+	TX_FAR _CeladonMartRoofText1
+	db "@"
+
+CeladonMartRoofText2:
+	TX_ASM
+	call CeladonMartRoofScript_GetDrinksInBag
+	ld a, [wFilteredBagItemsCount]
+	and a
+	jr z, .noDrinksInBag
+	ld a, 1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, CeladonMartRoofText4
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .done
+	call CeladonMartRoofScript_GiveDrinkToGirl
+	jr .done
+.noDrinksInBag
+	ld hl, CeladonMartRoofText3
+	call PrintText
+.done
+	jp TextScriptEnd
+
+CeladonMartRoofText3:
+	TX_FAR _CeladonMartRoofText_48598
+	db "@"
+
+CeladonMartRoofText4:
+	TX_FAR _CeladonMartRoofText4
+	db "@"
+
+CeladonMartRoofText5:
+	TX_VENDING_MACHINE
+
+CeladonMartRoofText6:
+	TX_FAR _CeladonMartRoofText6
+	db "@"
--- /dev/null
+++ b/scripts/CeladonPokecenter.asm
@@ -1,0 +1,23 @@
+CeladonPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+CeladonPokecenter_TextPointers:
+	dw CeladonHealNurseText
+	dw CeladonPokecenterText2
+	dw CeladonPokecenterText3
+	dw CeladonTradeNurseText
+
+CeladonTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
+
+CeladonHealNurseText:
+	TX_POKECENTER_NURSE
+
+CeladonPokecenterText2:
+	TX_FAR _CeladonPokecenterText2
+	db "@"
+
+CeladonPokecenterText3:
+	TX_FAR _CeladonPokecenterText3
+	db "@"
--- /dev/null
+++ b/scripts/CeruleanBadgeHouse.asm
@@ -1,0 +1,109 @@
+CeruleanBadgeHouse_Script:
+	ld a, $1
+	ld [wAutoTextBoxDrawingControl], a
+	dec a
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ret
+
+CeruleanBadgeHouse_TextPointers:
+	dw CeruleanHouse2Text1
+
+CeruleanHouse2Text1:
+	TX_ASM
+	ld hl, CeruleanHouse2Text_74e77
+	call PrintText
+	xor a
+	ld [wCurrentMenuItem], a
+	ld [wListScrollOffset], a
+.asm_74e23
+	ld hl, CeruleanHouse2Text_74e7c
+	call PrintText
+	ld hl, BadgeItemList
+	call LoadItemList
+	ld hl, wItemList
+	ld a, l
+	ld [wListPointer], a
+	ld a, h
+	ld [wListPointer + 1], a
+	xor a
+	ld [wPrintItemPrices], a
+	ld [wMenuItemToSwap], a
+	ld a, SPECIALLISTMENU
+	ld [wListMenuID], a
+	call DisplayListMenuID
+	jr c, .asm_74e60
+	ld hl, TextPointers_74e86
+	ld a, [wcf91]
+	sub $15
+	add a
+	ld d, $0
+	ld e, a
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call PrintText
+	jr .asm_74e23
+.asm_74e60
+	xor a
+	ld [wListScrollOffset], a
+	ld hl, CeruleanHouse2Text_74e81
+	call PrintText
+	jp TextScriptEnd
+
+BadgeItemList:
+	db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
+
+CeruleanHouse2Text_74e77:
+	TX_FAR _CeruleanHouse2Text_74e77
+	db "@"
+
+CeruleanHouse2Text_74e7c:
+	TX_FAR _CeruleanHouse2Text_74e7c
+	db "@"
+
+CeruleanHouse2Text_74e81:
+	TX_FAR _CeruleanHouse2Text_74e81
+	db "@"
+
+TextPointers_74e86:
+	dw CeruleanHouse2Text_74e96
+	dw CeruleanHouse2Text_74e9b
+	dw CeruleanHouse2Text_74ea0
+	dw CeruleanHouse2Text_74ea5
+	dw CeruleanHouse2Text_74eaa
+	dw CeruleanHouse2Text_74eaf
+	dw CeruleanHouse2Text_74eb4
+	dw CeruleanHouse2Text_74eb9
+
+CeruleanHouse2Text_74e96:
+	TX_FAR _CeruleanHouse2Text_74e96
+	db "@"
+
+CeruleanHouse2Text_74e9b:
+	TX_FAR _CeruleanHouse2Text_74e9b
+	db "@"
+
+CeruleanHouse2Text_74ea0:
+	TX_FAR _CeruleanHouse2Text_74ea0
+	db "@"
+
+CeruleanHouse2Text_74ea5:
+	TX_FAR _CeruleanHouse2Text_74ea5
+	db "@"
+
+CeruleanHouse2Text_74eaa:
+	TX_FAR _CeruleanHouse2Text_74eaa
+	db "@"
+
+CeruleanHouse2Text_74eaf:
+	TX_FAR _CeruleanHouse2Text_74eaf
+	db "@"
+
+CeruleanHouse2Text_74eb4:
+	TX_FAR _CeruleanHouse2Text_74eb4
+	db "@"
+
+CeruleanHouse2Text_74eb9:
+	TX_FAR _CeruleanHouse2Text_74eb9
+	db "@"
--- /dev/null
+++ b/scripts/CeruleanCave1F.asm
@@ -1,0 +1,7 @@
+CeruleanCave1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeruleanCave1F_TextPointers:
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
--- /dev/null
+++ b/scripts/CeruleanCave2F.asm
@@ -1,0 +1,7 @@
+CeruleanCave2F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeruleanCave2F_TextPointers:
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
--- /dev/null
+++ b/scripts/CeruleanCaveB1F.asm
@@ -1,0 +1,43 @@
+CeruleanCaveB1F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, MewtwoTrainerHeader
+	ld de, CeruleanCaveB1F_ScriptPointers
+	ld a, [wCeruleanCaveB1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wCeruleanCaveB1FCurScript], a
+	ret
+
+CeruleanCaveB1F_ScriptPointers
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+CeruleanCaveB1F_TextPointers:
+	dw MewtwoText
+	dw PickUpItemText
+	dw PickUpItemText
+
+MewtwoTrainerHeader:
+	dbEventFlagBit EVENT_BEAT_MEWTWO
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MEWTWO
+	dw MewtwoBattleText ; TextBeforeBattle
+	dw MewtwoBattleText ; TextAfterBattle
+	dw MewtwoBattleText ; TextEndBattle
+	dw MewtwoBattleText ; TextEndBattle
+
+	db $ff
+
+MewtwoText:
+	TX_ASM
+	ld hl, MewtwoTrainerHeader
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MewtwoBattleText:
+	TX_FAR _MewtwoBattleText
+	TX_ASM
+	ld a, MEWTWO
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/CeruleanCity.asm
@@ -1,0 +1,453 @@
+CeruleanCity_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, CeruleanCity_ScriptPointers
+	ld a, [wCeruleanCityCurScript]
+	jp CallFunctionInTable
+
+CeruleanCityScript_1948c:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wCeruleanCityCurScript], a
+	ld a, HS_CERULEAN_RIVAL
+	ld [wMissableObjectIndex], a
+	predef_jump HideObject
+
+CeruleanCity_ScriptPointers:
+	dw CeruleanCityScript0
+	dw CeruleanCityScript1
+	dw CeruleanCityScript2
+	dw CeruleanCityScript3
+	dw CeruleanCityScript4
+
+CeruleanCityScript4:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, CeruleanCityScript_1948c
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [wJoyIgnore], a
+	ld [wCeruleanCityCurScript], a
+	ret
+
+CeruleanCityScript0:
+	CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF
+	jr nz, .asm_194f7
+	ld hl, CeruleanCityCoords1
+	call ArePlayerCoordsInArray
+	jr nc, .asm_194f7
+	ld a, [wCoordIndex]
+	cp $1
+	ld a, PLAYER_DIR_UP
+	ld b, SPRITE_FACING_DOWN
+	jr nz, .asm_194e6
+	ld a, PLAYER_DIR_DOWN
+	ld b, SPRITE_FACING_UP
+.asm_194e6
+	ld [wPlayerMovingDirection], a
+	ld a, b
+	ld [wSpriteStateData1 + 2 * $10 + $9], a
+	call Delay3
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+.asm_194f7
+	CheckEvent EVENT_BEAT_CERULEAN_RIVAL
+	ret nz
+	ld hl, CeruleanCityCoords2
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, [wWalkBikeSurfState]
+	and a
+	jr z, .asm_19512
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+.asm_19512
+	ld c, BANK(Music_MeetRival)
+	ld a, MUSIC_MEET_RIVAL
+	call PlayMusic
+	xor a
+	ld [hJoyHeld], a
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, [wXCoord]
+	cp $14
+	jr z, .asm_19535
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, $5
+	ld [H_SPRITEDATAOFFSET], a
+	call GetPointerWithinSpriteStateData2
+	ld [hl], $19
+.asm_19535
+	ld a, HS_CERULEAN_RIVAL
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld de, CeruleanCityMovement1
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $1
+	ld [wCeruleanCityCurScript], a
+	ret
+
+CeruleanCityCoords1:
+	db $07,$1e
+	db $09,$1e
+	db $ff
+
+CeruleanCityCoords2:
+	db $06,$14
+	db $06,$15
+	db $ff
+
+CeruleanCityMovement1:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+CeruleanCityScript_1955d:
+	ld a, 1
+	ld [H_SPRITEINDEX], a
+	xor a ; SPRITE_FACING_DOWN
+	ld [hSpriteFacingDirection], a
+	jp SetSpriteFacingDirectionAndDelay ; face object
+
+CeruleanCityScript1:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, CeruleanCityText_1966d
+	ld de, CeruleanCityText_19672
+	call SaveEndBattleTextPointers
+	ld a, OPP_SONY1
+	ld [wCurOpponent], a
+
+	; select which team to use during the encounter
+	ld a, [wRivalStarter]
+	cp STARTER2
+	jr nz, .NotSquirtle
+	ld a, $7
+	jr .done
+.NotSquirtle
+	cp STARTER3
+	jr nz, .Charmander
+	ld a, $8
+	jr .done
+.Charmander
+	ld a, $9
+.done
+	ld [wTrainerNo], a
+
+	xor a
+	ld [hJoyHeld], a
+	call CeruleanCityScript_1955d
+	ld a, $2
+	ld [wCeruleanCityCurScript], a
+	ret
+
+CeruleanCityScript2:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, CeruleanCityScript_1948c
+	call CeruleanCityScript_1955d
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_CERULEAN_RIVAL
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStart
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld a, [wXCoord]
+	cp $14
+	jr nz, .asm_195f0
+	ld de, CeruleanCityMovement4
+	jr .asm_195f3
+.asm_195f0
+	ld de, CeruleanCityMovement3
+.asm_195f3
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $3
+	ld [wCeruleanCityCurScript], a
+	ret
+
+CeruleanCityMovement3:
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+CeruleanCityMovement4:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+CeruleanCityScript3:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_CERULEAN_RIVAL
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	xor a
+	ld [wJoyIgnore], a
+	call PlayDefaultMusic
+	ld a, $0
+	ld [wCeruleanCityCurScript], a
+	ret
+
+CeruleanCity_TextPointers:
+	dw CeruleanCityText1
+	dw CeruleanCityText2
+	dw CeruleanCityText3
+	dw CeruleanCityText4
+	dw CeruleanCityText5
+	dw CeruleanCityText6
+	dw CeruleanCityText7
+	dw CeruleanCityText8
+	dw CeruleanCityText9
+	dw CeruleanCityText10
+	dw CeruleanCityText11
+	dw CeruleanCityText12
+	dw CeruleanCityText13
+	dw MartSignText
+	dw PokeCenterSignText
+	dw CeruleanCityText16
+	dw CeruleanCityText17
+
+CeruleanCityText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_CERULEAN_RIVAL
+	; do pre-battle text
+	jr z, .PreBattleText
+	; or talk about bill
+	ld hl, CeruleanCityText_19677
+	call PrintText
+	jr .end
+.PreBattleText
+	ld hl, CeruleanCityText_19668
+	call PrintText
+.end
+	jp TextScriptEnd
+
+CeruleanCityText_19668:
+	TX_FAR _CeruleanCityText_19668
+	db "@"
+
+CeruleanCityText_1966d:
+	TX_FAR _CeruleanCityText_1966d
+	db "@"
+
+CeruleanCityText_19672:
+	TX_FAR _CeruleanCityText_19672
+	db "@"
+
+CeruleanCityText_19677:
+	TX_FAR _CeruleanCityText_19677
+	db "@"
+
+CeruleanCityText2:
+	TX_ASM
+	CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF
+	jr nz, .asm_4ca20
+	ld hl, CeruleanCityText_196d9
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, CeruleanCityText_196ee
+	ld de, CeruleanCityText_196ee
+	call SaveEndBattleTextPointers
+	ld a, [hSpriteIndexOrTextID]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $4
+	ld [wCeruleanCityCurScript], a
+	jp TextScriptEnd
+.asm_4ca20
+	ld hl, CeruleanCityText_196f3
+	call PrintText
+	lb bc, TM_28, 1
+	call GiveItem
+	jr c, .Success
+	ld hl, TM28NoRoomText
+	call PrintText
+	jr .Done
+.Success
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, ReceivedTM28Text
+	call PrintText
+	callba CeruleanHideRocket
+.Done
+	jp TextScriptEnd
+
+CeruleanCityText_196d9:
+	TX_FAR _CeruleanCityText_196d9
+	db "@"
+
+ReceivedTM28Text:
+	TX_FAR _ReceivedTM28Text
+	TX_SFX_ITEM_1
+	TX_FAR _ReceivedTM28Text2
+	TX_WAIT
+	db "@"
+
+TM28NoRoomText:
+	TX_FAR _TM28NoRoomText
+	db "@"
+
+CeruleanCityText_196ee:
+	TX_FAR _CeruleanCityText_196ee
+	db "@"
+
+CeruleanCityText_196f3:
+	TX_FAR _CeruleanCityText_196f3
+	db "@"
+
+CeruleanCityText3:
+	TX_FAR _CeruleanCityText3
+	db "@"
+
+CeruleanCityText4:
+	TX_FAR _CeruleanCityText4
+	db "@"
+
+CeruleanCityText5:
+	TX_FAR _CeruleanCityText5
+	db "@"
+
+CeruleanCityText11:
+CeruleanCityText6:
+	TX_FAR _CeruleanCityText6
+	db "@"
+
+CeruleanCityText7:
+	TX_ASM
+	ld a, [hRandomAdd]
+	cp 180
+	jr c, .asm_e9fc9
+	ld hl, CeruleanCityText_19730
+	call PrintText
+	jr .asm_d486e
+.asm_e9fc9
+	cp 100
+	jr c, .asm_df99b
+	ld hl, CeruleanCityText_19735
+	call PrintText
+	jr .asm_d486e
+.asm_df99b
+	ld hl, CeruleanCityText_1973a
+	call PrintText
+.asm_d486e
+	jp TextScriptEnd
+
+CeruleanCityText_19730:
+	TX_FAR _CeruleanCityText_19730
+	db "@"
+
+CeruleanCityText_19735:
+	TX_FAR _CeruleanCityText_19735
+	db "@"
+
+CeruleanCityText_1973a:
+	TX_FAR _CeruleanCityText_1973a
+	db "@"
+
+CeruleanCityText8:
+	TX_ASM
+	ld a, [hRandomAdd]
+	cp 180
+	jr c, .asm_e28da
+	ld hl, CeruleanCityText_1976f
+	call PrintText
+	jr .asm_f2f38
+.asm_e28da
+	cp 120
+	jr c, .asm_15d08
+	ld hl, CeruleanCityText_19774
+	call PrintText
+	jr .asm_f2f38
+.asm_15d08
+	cp 60
+	jr c, .asm_d7fea
+	ld hl, CeruleanCityText_19779
+	call PrintText
+	jr .asm_f2f38
+.asm_d7fea
+	ld hl, CeruleanCityText_1977e
+	call PrintText
+.asm_f2f38
+	jp TextScriptEnd
+
+CeruleanCityText_1976f:
+	TX_FAR _CeruleanCityText_1976f
+	db "@"
+
+CeruleanCityText_19774:
+	TX_FAR _CeruleanCityText_19774
+	db "@"
+
+CeruleanCityText_19779:
+	TX_FAR _CeruleanCityText_19779
+	db "@"
+
+CeruleanCityText_1977e:
+	TX_FAR _CeruleanCityText_1977e
+	db "@"
+
+CeruleanCityText9:
+	TX_FAR _CeruleanCityText9
+	db "@"
+
+CeruleanCityText10:
+	TX_FAR _CeruleanCityText10
+	db "@"
+
+CeruleanCityText12:
+	TX_FAR _CeruleanCityText12
+	db "@"
+
+CeruleanCityText13:
+	TX_FAR _CeruleanCityText13
+	db "@"
+
+CeruleanCityText16:
+	TX_FAR _CeruleanCityText16
+	db "@"
+
+CeruleanCityText17:
+	TX_FAR _CeruleanCityText17
+	db "@"
--- /dev/null
+++ b/scripts/CeruleanCity_2.asm
@@ -1,0 +1,16 @@
+CeruleanHideRocket:
+; code similar to this appears in a lot of banks; this particular
+; one is called after you beat the Rocket that gives you TM28 DIG.
+; the screen then fades out, he disappears, and fades back in
+	call GBFadeOutToBlack
+	ld a, HS_CERULEAN_GUARD_1
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, HS_CERULEAN_GUARD_2
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_CERULEAN_ROCKET
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call GBFadeInFromBlack
+	ret
--- /dev/null
+++ b/scripts/CeruleanGym.asm
@@ -1,0 +1,219 @@
+CeruleanGym_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, CeruleanGymScript_5c6d0
+	call EnableAutoTextBoxDrawing
+	ld hl, CeruleanGymTrainerHeader0
+	ld de, CeruleanGym_ScriptPointers
+	ld a, [wCeruleanGymCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wCeruleanGymCurScript], a
+	ret
+
+CeruleanGymScript_5c6d0:
+	ld hl, Gym2CityName
+	ld de, Gym2LeaderName
+	jp LoadGymLeaderAndCityName
+
+Gym2CityName:
+	db "CERULEAN CITY@"
+
+Gym2LeaderName:
+	db "MISTY@"
+
+CeruleanGymScript_5c6ed:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wCeruleanGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+CeruleanGym_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw CeruleanGymScript3
+
+CeruleanGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, CeruleanGymScript_5c6ed
+	ld a, $f0
+	ld [wJoyIgnore], a
+
+CeruleanGymScript_5c70d:
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_MISTY
+	lb bc, TM_11, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $6
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM11
+	jr .asm_5c736
+.BagFull
+	ld a, $7
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_5c736
+	ld hl, wObtainedBadges
+	set 1, [hl]
+	ld hl, wBeatGymFlags
+	set 1, [hl]
+
+	; deactivate gym trainers
+	SetEvents EVENT_BEAT_CERULEAN_GYM_TRAINER_0, EVENT_BEAT_CERULEAN_GYM_TRAINER_1
+
+	jp CeruleanGymScript_5c6ed
+
+CeruleanGym_TextPointers:
+	dw CeruleanGymText1
+	dw CeruleanGymText2
+	dw CeruleanGymText3
+	dw CeruleanGymText4
+	dw CeruleanGymText5
+	dw CeruleanGymText6
+	dw CeruleanGymText7
+
+CeruleanGymTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_0
+	dw CeruleanGymBattleText1 ; TextBeforeBattle
+	dw CeruleanGymAfterBattleText1 ; TextAfterBattle
+	dw CeruleanGymEndBattleText1 ; TextEndBattle
+	dw CeruleanGymEndBattleText1 ; TextEndBattle
+
+CeruleanGymTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_1
+	dw CeruleanGymBattleText2 ; TextBeforeBattle
+	dw CeruleanGymAfterBattleText2 ; TextAfterBattle
+	dw CeruleanGymEndBattleText2 ; TextEndBattle
+	dw CeruleanGymEndBattleText2 ; TextEndBattle
+
+	db $ff
+
+CeruleanGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_MISTY
+	jr z, .asm_5c78d
+	CheckEventReuseA EVENT_GOT_TM11
+	jr nz, .asm_5c785
+	call z, CeruleanGymScript_5c70d
+	call DisableWaitingAfterTextDisplay
+	jr .asm_5c7bb
+.asm_5c785
+	ld hl, CeruleanGymText_5c7c3
+	call PrintText
+	jr .asm_5c7bb
+.asm_5c78d
+	ld hl, CeruleanGymText_5c7be
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, CeruleanGymText_5c7d8
+	ld de, CeruleanGymText_5c7d8
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $2
+	ld [wGymLeaderNo], a
+	xor a
+	ld [hJoyHeld], a
+	ld a, $3
+	ld [wCeruleanGymCurScript], a
+.asm_5c7bb
+	jp TextScriptEnd
+
+CeruleanGymText_5c7be:
+	TX_FAR _CeruleanGymText_5c7be
+	db "@"
+
+CeruleanGymText_5c7c3:
+	TX_FAR _CeruleanGymText_5c7c3
+	db "@"
+
+CeruleanGymText5:
+	TX_FAR _CeruleanGymText_5c7c8
+	db "@"
+
+CeruleanGymText6:
+	TX_FAR _ReceivedTM11Text
+	TX_SFX_ITEM_1
+	db "@"
+
+CeruleanGymText7:
+	TX_FAR _CeruleanGymText_5c7d3
+	db "@"
+
+CeruleanGymText_5c7d8:
+	TX_FAR _CeruleanGymText_5c7d8
+	TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded
+	TX_BLINK
+	db "@"
+
+CeruleanGymText2:
+	TX_ASM
+	ld hl, CeruleanGymTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeruleanGymBattleText1:
+	TX_FAR _CeruleanGymBattleText1
+	db "@"
+
+CeruleanGymEndBattleText1:
+	TX_FAR _CeruleanGymEndBattleText1
+	db "@"
+
+CeruleanGymAfterBattleText1:
+	TX_FAR _CeruleanGymAfterBattleText1
+	db "@"
+
+CeruleanGymText3:
+	TX_ASM
+	ld hl, CeruleanGymTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+CeruleanGymBattleText2:
+	TX_FAR _CeruleanGymBattleText2
+	db "@"
+
+CeruleanGymEndBattleText2:
+	TX_FAR _CeruleanGymEndBattleText2
+	db "@"
+
+CeruleanGymAfterBattleText2:
+	TX_FAR _CeruleanGymAfterBattleText2
+	db "@"
+
+CeruleanGymText4:
+	TX_ASM
+	CheckEvent EVENT_BEAT_MISTY
+	jr nz, .asm_5c821
+	ld hl, CeruleanGymText_5c82a
+	call PrintText
+	jr .asm_5c827
+.asm_5c821
+	ld hl, CeruleanGymText_5c82f
+	call PrintText
+.asm_5c827
+	jp TextScriptEnd
+
+CeruleanGymText_5c82a:
+	TX_FAR _CeruleanGymText_5c82a
+	db "@"
+
+CeruleanGymText_5c82f:
+	TX_FAR _CeruleanGymText_5c82f
+	db "@"
--- /dev/null
+++ b/scripts/CeruleanMart.asm
@@ -1,0 +1,15 @@
+CeruleanMart_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeruleanMart_TextPointers:
+	dw CeruleanCashierText
+	dw CeruleanMartText2
+	dw CeruleanMartText3
+
+CeruleanMartText2:
+	TX_FAR _CeruleanMartText2
+	db "@"
+
+CeruleanMartText3:
+	TX_FAR _CeruleanMartText3
+	db "@"
--- /dev/null
+++ b/scripts/CeruleanPokecenter.asm
@@ -1,0 +1,23 @@
+CeruleanPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+CeruleanPokecenter_TextPointers:
+	dw CeruleanHealNurseText
+	dw CeruleanPokecenterText2
+	dw CeruleanPokecenterText3
+	dw CeruleanTradeNurseText
+
+CeruleanTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
+
+CeruleanHealNurseText:
+	TX_POKECENTER_NURSE
+
+CeruleanPokecenterText2:
+	TX_FAR _CeruleanPokecenterText2
+	db "@"
+
+CeruleanPokecenterText3:
+	TX_FAR _CeruleanPokecenterText3
+	db "@"
--- /dev/null
+++ b/scripts/CeruleanTradeHouse.asm
@@ -1,0 +1,17 @@
+CeruleanTradeHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+CeruleanTradeHouse_TextPointers:
+	dw CeruleanHouse1Text1
+	dw CeruleanHouse1Text2
+
+CeruleanHouse1Text1:
+	TX_FAR _CeruleanHouse1Text1
+	db "@"
+
+CeruleanHouse1Text2:
+	TX_ASM
+	ld a, $6
+	ld [wWhichTrade], a
+	predef DoInGameTradeDialogue
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/CeruleanTrashedHouse.asm
@@ -1,0 +1,39 @@
+CeruleanTrashedHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+CeruleanTrashedHouse_TextPointers:
+	dw CeruleanHouseTrashedText1
+	dw CeruleanHouseTrashedText2
+	dw CeruleanHouseTrashedText3
+
+CeruleanHouseTrashedText1:
+	TX_ASM
+	ld b, $e4
+	predef GetQuantityOfItemInBag
+	and b
+	jr z, .asm_f8734
+	ld hl, CeruleanHouseTrashedText_1d6b0
+	call PrintText
+	jr .asm_8dfe9
+.asm_f8734
+	ld hl, CeruleanHouseTrashedText_1d6ab
+	call PrintText
+.asm_8dfe9
+	jp TextScriptEnd
+
+CeruleanHouseTrashedText_1d6ab:
+	TX_FAR _CeruleanTrashedText_1d6ab
+	db "@"
+
+CeruleanHouseTrashedText_1d6b0:
+	TX_FAR _CeruleanTrashedText_1d6b0
+	db "@"
+
+CeruleanHouseTrashedText2:
+	TX_FAR _CeruleanHouseTrashedText2
+	db "@"
+
+CeruleanHouseTrashedText3:
+	TX_FAR _CeruleanHouseTrashedText3
+	db "@"
--- /dev/null
+++ b/scripts/ChampionsRoom.asm
@@ -1,0 +1,298 @@
+ChampionsRoom_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, ChampionsRoom_ScriptPointers
+	ld a, [wChampionsRoomCurScript]
+	jp CallFunctionInTable
+
+ResetGaryScript:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wChampionsRoomCurScript], a
+	ret
+
+ChampionsRoom_ScriptPointers:
+	dw GaryScript0
+	dw GaryScript1
+	dw GaryScript2
+	dw GaryScript3
+	dw GaryScript4
+	dw GaryScript5
+	dw GaryScript6
+	dw GaryScript7
+	dw GaryScript8
+	dw GaryScript9
+	dw GaryScript10
+
+GaryScript0:
+	ret
+
+GaryScript1:
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld hl, wSimulatedJoypadStatesEnd
+	ld de, GaryEntrance_RLEMovement
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $2
+	ld [wChampionsRoomCurScript], a
+	ret
+
+GaryEntrance_RLEMovement:
+	db D_UP,1
+	db D_RIGHT,1
+	db D_UP,3
+	db $ff
+
+GaryScript2:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld hl, wOptions
+	res 7, [hl]  ; Turn on battle animations to make the battle feel more epic.
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Delay3
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, GaryDefeatedText
+	ld de, GaryVictoryText
+	call SaveEndBattleTextPointers
+	ld a, OPP_SONY3
+	ld [wCurOpponent], a
+
+	; select which team to use during the encounter
+	ld a, [wRivalStarter]
+	cp STARTER2
+	jr nz, .NotStarter2
+	ld a, $1
+	jr .saveTrainerId
+.NotStarter2
+	cp STARTER3
+	jr nz, .NotStarter3
+	ld a, $2
+	jr .saveTrainerId
+.NotStarter3
+	ld a, $3
+.saveTrainerId
+	ld [wTrainerNo], a
+
+	xor a
+	ld [hJoyHeld], a
+	ld a, $3
+	ld [wChampionsRoomCurScript], a
+	ret
+
+GaryScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, ResetGaryScript
+	call UpdateSprites
+	SetEvent EVENT_BEAT_CHAMPION_RIVAL
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call GaryScript_760c8
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld a, $4
+	ld [wChampionsRoomCurScript], a
+	ret
+
+GaryScript4:
+	callba Music_Cities1AlternateTempo
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call GaryScript_760c8
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld de, OakEntranceAfterVictoryMovement
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, HS_CHAMPIONS_ROOM_OAK
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, $5
+	ld [wChampionsRoomCurScript], a
+	ret
+
+OakEntranceAfterVictoryMovement:
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db $FF
+
+GaryScript5:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, PLAYER_DIR_LEFT
+	ld [wPlayerMovingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_LEFT
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	xor a ; SPRITE_FACING_DOWN
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call GaryScript_760c8
+	ld a, $6
+	ld [wChampionsRoomCurScript], a
+	ret
+
+GaryScript6:
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_RIGHT
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $4
+	ld [hSpriteIndexOrTextID], a
+	call GaryScript_760c8
+	ld a, $7
+	ld [wChampionsRoomCurScript], a
+	ret
+
+GaryScript7:
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	xor a ; SPRITE_FACING_DOWN
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	call GaryScript_760c8
+	ld de, OakExitGaryRoomMovement
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $8
+	ld [wChampionsRoomCurScript], a
+	ret
+
+OakExitGaryRoomMovement:
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db $FF
+
+GaryScript8:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_CHAMPIONS_ROOM_OAK
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, $9
+	ld [wChampionsRoomCurScript], a
+	ret
+
+GaryScript9:
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld hl, wSimulatedJoypadStatesEnd
+	ld de, WalkToHallOfFame_RLEMovment
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $a
+	ld [wChampionsRoomCurScript], a
+	ret
+
+WalkToHallOfFame_RLEMovment:
+	db D_UP,4
+	db D_LEFT,1
+	db $ff
+
+GaryScript10:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wChampionsRoomCurScript], a
+	ret
+
+GaryScript_760c8:
+	ld a, $f0
+	ld [wJoyIgnore], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ret
+
+ChampionsRoom_TextPointers:
+	dw GaryText1
+	dw GaryText2
+	dw GaryText3
+	dw GaryText4
+	dw GaryText5
+
+GaryText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_CHAMPION_RIVAL
+	ld hl, GaryChampionIntroText
+	jr z, .printText
+	ld hl, GaryText_76103
+.printText
+	call PrintText
+	jp TextScriptEnd
+
+GaryChampionIntroText:
+	TX_FAR _GaryChampionIntroText
+	db "@"
+
+GaryDefeatedText:
+	TX_FAR _GaryDefeatedText
+	db "@"
+
+GaryVictoryText:
+	TX_FAR _GaryVictoryText
+	db "@"
+
+GaryText_76103:
+	TX_FAR _GaryText_76103
+	db "@"
+
+GaryText2:
+	TX_FAR _GaryText2
+	db "@"
+
+GaryText3:
+	TX_ASM
+	ld a, [wPlayerStarter]
+	ld [wd11e], a
+	call GetMonName
+	ld hl, GaryText_76120
+	call PrintText
+	jp TextScriptEnd
+
+GaryText_76120:
+	TX_FAR _GaryText_76120
+	db "@"
+
+GaryText4:
+	TX_FAR _GaryText_76125
+	db "@"
+
+GaryText5:
+	TX_FAR _GaryText_7612a
+	db "@"
--- /dev/null
+++ b/scripts/CinnabarGym.asm
@@ -1,0 +1,472 @@
+CinnabarGym_Script:
+	call CinnabarGymScript_75759
+	call EnableAutoTextBoxDrawing
+	ld hl, CinnabarGym_ScriptPointers
+	ld a, [wCinnabarGymCurScript]
+	jp CallFunctionInTable
+
+CinnabarGymScript_75759:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	push hl
+	call nz, CinnabarGymScript_75772
+	pop hl
+	bit 5, [hl]
+	res 5, [hl]
+	call nz, UpdateCinnabarGymGateTileBlocks
+	ResetEvent EVENT_2A7
+	ret
+CinnabarGymScript_75772:
+	ld hl, Gym7CityName
+	ld de, Gym7LeaderName
+	jp LoadGymLeaderAndCityName
+
+Gym7CityName:
+	db "CINNABAR ISLAND@"
+Gym7LeaderName:
+	db "BLAINE@"
+
+CinnabarGymScript_75792:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wCinnabarGymCurScript], a
+	ld [wCurMapScript], a
+	ld [wOpponentAfterWrongAnswer], a
+	ret
+
+CinnabarGymScript_757a0:
+	ld a, [hSpriteIndexOrTextID]
+	ld [wTrainerHeaderFlagBit], a
+	ret
+
+CinnabarGym_ScriptPointers:
+	dw CinnabarGymScript0
+	dw CinnabarGymScript1
+	dw CinnabarGymScript2
+	dw CinnabarGymScript3
+
+CinnabarGymScript0:
+	ld a, [wOpponentAfterWrongAnswer]
+	and a
+	ret z
+	ld [H_SPRITEINDEX], a
+	cp $4
+	jr nz, .asm_757c3
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	ld de, MovementData_757d7
+	jr .asm_757cb
+.asm_757c3
+	ld de, MovementData_757da
+	ld a, PLAYER_DIR_RIGHT
+	ld [wPlayerMovingDirection], a
+.asm_757cb
+	call MoveSprite
+	ld a, $1
+	ld [wCinnabarGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+MovementData_757d7:
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_UP
+	db $FF
+
+MovementData_757da:
+	db NPC_MOVEMENT_LEFT
+	db $FF
+
+CinnabarGymScript1:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, [wOpponentAfterWrongAnswer]
+	ld [wTrainerHeaderFlagBit], a
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+CinnabarGymFlagAction:
+	predef_jump FlagActionPredef
+
+CinnabarGymScript2:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, CinnabarGymScript_75792
+	ld a, [wTrainerHeaderFlagBit]
+	ld [$ffdb], a
+	AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2
+	ld c, a
+	ld b, FLAG_TEST
+	EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0
+	call CinnabarGymFlagAction
+	ld a, c
+	and a
+	jr nz, .asm_7581b
+	call WaitForSoundToFinish
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	call WaitForSoundToFinish
+.asm_7581b
+	ld a, [wTrainerHeaderFlagBit]
+	ld [$ffdb], a
+	AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2
+	ld c, a
+	ld b, FLAG_SET
+	EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0
+	call CinnabarGymFlagAction
+	ld a, [wTrainerHeaderFlagBit]
+	sub $2
+	AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0
+	ld c, a
+	ld b, FLAG_SET
+	EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED
+	call CinnabarGymFlagAction
+	call UpdateCinnabarGymGateTileBlocks
+	xor a
+	ld [wJoyIgnore], a
+	ld [wOpponentAfterWrongAnswer], a
+	ld a, $0
+	ld [wCinnabarGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+CinnabarGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, CinnabarGymScript_75792
+	ld a, $f0
+	ld [wJoyIgnore], a
+CinnabarGymScript3_75857:
+	ld a, $a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_BLAINE
+	lb bc, TM_38, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $b
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM38
+	jr .asm_75880
+.BagFull
+	ld a, $c
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_75880
+	ld hl, wObtainedBadges
+	set 6, [hl]
+	ld hl, wBeatGymFlags
+	set 6, [hl]
+
+	; deactivate gym trainers
+	SetEventRange EVENT_BEAT_CINNABAR_GYM_TRAINER_0, EVENT_BEAT_CINNABAR_GYM_TRAINER_6
+
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+
+	jp CinnabarGymScript_75792
+
+CinnabarGym_TextPointers:
+	dw CinnabarGymText1
+	dw CinnabarGymText2
+	dw CinnabarGymText3
+	dw CinnabarGymText4
+	dw CinnabarGymText5
+	dw CinnabarGymText6
+	dw CinnabarGymText7
+	dw CinnabarGymText8
+	dw CinnabarGymText9
+	dw BlaineBadgeText
+	dw ReceivedTM38Text
+	dw TM38NoRoomText
+
+CinnabarGymScript_758b7:
+	ld a, [hSpriteIndexOrTextID]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld a, [wSpriteIndex]
+	cp $1
+	jr z, .asm_758d4
+	ld a, $2
+	jr .asm_758d6
+.asm_758d4
+	ld a, $3
+.asm_758d6
+	ld [wCinnabarGymCurScript], a
+	ld [wCurMapScript], a
+	jp TextScriptEnd
+
+CinnabarGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_BLAINE
+	jr z, .asm_d9332
+	CheckEventReuseA EVENT_GOT_TM38
+	jr nz, .asm_3012f
+	call z, CinnabarGymScript3_75857
+	call DisableWaitingAfterTextDisplay
+	jp TextScriptEnd
+.asm_3012f
+	ld hl, BlaineFireBlastText
+	call PrintText
+	jp TextScriptEnd
+.asm_d9332
+	ld hl, BlaineBattleText
+	call PrintText
+	ld hl, BlaineEndBattleText
+	ld de, BlaineEndBattleText
+	call SaveEndBattleTextPointers
+	ld a, $7
+	ld [wGymLeaderNo], a
+	jp CinnabarGymScript_758b7
+
+BlaineBattleText:
+	TX_FAR _BlaineBattleText
+	db "@"
+
+BlaineEndBattleText:
+	TX_FAR _BlaineEndBattleText
+	TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded
+	TX_WAIT
+	db "@"
+
+BlaineFireBlastText:
+	TX_FAR _BlaineFireBlastText
+	db "@"
+
+BlaineBadgeText:
+	TX_FAR _BlaineBadgeText
+	db "@"
+
+ReceivedTM38Text:
+	TX_FAR _ReceivedTM38Text
+	TX_SFX_ITEM_1
+	TX_FAR _TM38ExplanationText
+	db "@"
+
+TM38NoRoomText:
+	TX_FAR _TM38NoRoomText
+	db "@"
+
+CinnabarGymText2:
+	TX_ASM
+	call CinnabarGymScript_757a0
+	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0
+	jr nz, .asm_46bb4
+	ld hl, CinnabarGymText_7595f
+	call PrintText
+	ld hl, CinnabarGymText_75964
+	ld de, CinnabarGymText_75964
+	call SaveEndBattleTextPointers
+	jp CinnabarGymScript_758b7
+.asm_46bb4
+	ld hl, CinnabarGymText_75969
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_7595f:
+	TX_FAR _CinnabarGymText_7595f
+	db "@"
+
+CinnabarGymText_75964:
+	TX_FAR _CinnabarGymText_75964
+	db "@"
+
+CinnabarGymText_75969:
+	TX_FAR _CinnabarGymText_75969
+	db "@"
+
+CinnabarGymText3:
+	TX_ASM
+	call CinnabarGymScript_757a0
+	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1
+	jr nz, .asm_4b406
+	ld hl, CinnabarGymText_75994
+	call PrintText
+	ld hl, CinnabarGymText_75999
+	ld de, CinnabarGymText_75999
+	call SaveEndBattleTextPointers
+	jp CinnabarGymScript_758b7
+.asm_4b406
+	ld hl, CinnabarGymText_7599e
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_75994:
+	TX_FAR _CinnabarGymText_75994
+	db "@"
+
+CinnabarGymText_75999:
+	TX_FAR _CinnabarGymText_75999
+	db "@"
+
+CinnabarGymText_7599e:
+	TX_FAR _CinnabarGymText_7599e
+	db "@"
+
+CinnabarGymText4:
+	TX_ASM
+	call CinnabarGymScript_757a0
+	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2
+	jr nz, .asm_c0673
+	ld hl, CinnabarGymText_759c9
+	call PrintText
+	ld hl, CinnabarGymText_759ce
+	ld de, CinnabarGymText_759ce
+	call SaveEndBattleTextPointers
+	jp CinnabarGymScript_758b7
+.asm_c0673
+	ld hl, CinnabarGymText_759d3
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_759c9:
+	TX_FAR _CinnabarGymText_759c9
+	db "@"
+
+CinnabarGymText_759ce:
+	TX_FAR _CinnabarGymText_759ce
+	db "@"
+
+CinnabarGymText_759d3:
+	TX_FAR _CinnabarGymText_759d3
+	db "@"
+
+CinnabarGymText5:
+	TX_ASM
+	call CinnabarGymScript_757a0
+	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3
+	jr nz, .asm_5cfd7
+	ld hl, CinnabarGymText_759fe
+	call PrintText
+	ld hl, CinnabarGymText_75a03
+	ld de, CinnabarGymText_75a03
+	call SaveEndBattleTextPointers
+	jp CinnabarGymScript_758b7
+.asm_5cfd7
+	ld hl, CinnabarGymText_75a08
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_759fe:
+	TX_FAR _CinnabarGymText_759fe
+	db "@"
+
+CinnabarGymText_75a03:
+	TX_FAR _CinnabarGymText_75a03
+	db "@"
+
+CinnabarGymText_75a08:
+	TX_FAR _CinnabarGymText_75a08
+	db "@"
+
+CinnabarGymText6:
+	TX_ASM
+	call CinnabarGymScript_757a0
+	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4
+	jr nz, .asm_776b4
+	ld hl, CinnabarGymText_75a33
+	call PrintText
+	ld hl, CinnabarGymText_75a38
+	ld de, CinnabarGymText_75a38
+	call SaveEndBattleTextPointers
+	jp CinnabarGymScript_758b7
+.asm_776b4
+	ld hl, CinnabarGymText_75a3d
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_75a33:
+	TX_FAR _CinnabarGymText_75a33
+	db "@"
+
+CinnabarGymText_75a38:
+	TX_FAR _CinnabarGymText_75a38
+	db "@"
+
+CinnabarGymText_75a3d:
+	TX_FAR _CinnabarGymText_75a3d
+	db "@"
+
+CinnabarGymText7:
+	TX_ASM
+	call CinnabarGymScript_757a0
+	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5
+	jr nz, .asm_2f755
+	ld hl, CinnabarGymText_75a68
+	call PrintText
+	ld hl, CinnabarGymText_75a6d
+	ld de, CinnabarGymText_75a6d
+	call SaveEndBattleTextPointers
+	jp CinnabarGymScript_758b7
+.asm_2f755
+	ld hl, CinnabarGymText_75a72
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_75a68:
+	TX_FAR _CinnabarGymText_75a68
+	db "@"
+
+CinnabarGymText_75a6d:
+	TX_FAR _CinnabarGymText_75a6d
+	db "@"
+
+CinnabarGymText_75a72:
+	TX_FAR _CinnabarGymText_75a72
+	db "@"
+
+CinnabarGymText8:
+	TX_ASM
+	call CinnabarGymScript_757a0
+	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6
+	jr nz, .asm_d87be
+	ld hl, CinnabarGymText_75a9d
+	call PrintText
+	ld hl, CinnabarGymText_75aa2
+	ld de, CinnabarGymText_75aa2
+	call SaveEndBattleTextPointers
+	jp CinnabarGymScript_758b7
+.asm_d87be
+	ld hl, CinnabarGymText_75aa7
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_75a9d:
+	TX_FAR _CinnabarGymText_75a9d
+	db "@"
+
+CinnabarGymText_75aa2:
+	TX_FAR _CinnabarGymText_75aa2
+	db "@"
+
+CinnabarGymText_75aa7:
+	TX_FAR _CinnabarGymText_75aa7
+	db "@"
+
+CinnabarGymText9:
+	TX_ASM
+	CheckEvent EVENT_BEAT_BLAINE
+	jr nz, .asm_627d9
+	ld hl, CinnabarGymText_75ac2
+	jr .asm_0b11d
+.asm_627d9
+	ld hl, CinnabarGymText_75ac7
+.asm_0b11d
+	call PrintText
+	jp TextScriptEnd
+
+CinnabarGymText_75ac2:
+	TX_FAR _CinnabarGymText_75ac2
+	db "@"
+
+CinnabarGymText_75ac7:
+	TX_FAR _CinnabarGymText_75ac7
+	db "@"
--- /dev/null
+++ b/scripts/CinnabarIsland.asm
@@ -1,0 +1,85 @@
+CinnabarIsland_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	ResetEvent EVENT_MANSION_SWITCH_ON
+	ResetEvent EVENT_LAB_STILL_REVIVING_FOSSIL
+	ld hl, CinnabarIsland_ScriptPointers
+	ld a, [wCinnabarIslandCurScript]
+	jp CallFunctionInTable
+
+CinnabarIsland_ScriptPointers:
+	dw CinnabarIslandScript0
+	dw CinnabarIslandScript1
+
+CinnabarIslandScript0:
+	ld b, SECRET_KEY
+	call IsItemInBag
+	ret nz
+	ld a, [wYCoord]
+	cp $4
+	ret nz
+	ld a, [wXCoord]
+	cp $12
+	ret nz
+	ld a, PLAYER_DIR_UP
+	ld [wPlayerMovingDirection], a
+	ld a, $8
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [hJoyHeld], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_DOWN
+	ld [wSimulatedJoypadStatesEnd], a
+	call StartSimulatingJoypadStates
+	xor a
+	ld [wSpriteStateData1 + 9], a
+	ld [wJoyIgnore], a
+	ld a, $1
+	ld [wCinnabarIslandCurScript], a
+	ret
+
+CinnabarIslandScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	ld a, $0
+	ld [wCinnabarIslandCurScript], a
+	ret
+
+CinnabarIsland_TextPointers:
+	dw CinnabarIslandText1
+	dw CinnabarIslandText2
+	dw CinnabarIslandText3
+	dw MartSignText
+	dw PokeCenterSignText
+	dw CinnabarIslandText6
+	dw CinnabarIslandText7
+	dw CinnabarIslandText8
+
+CinnabarIslandText8:
+	TX_FAR _CinnabarIslandText8
+	db "@"
+
+CinnabarIslandText1:
+	TX_FAR _CinnabarIslandText1
+	db "@"
+
+CinnabarIslandText2:
+	TX_FAR _CinnabarIslandText2
+	db "@"
+
+CinnabarIslandText3:
+	TX_FAR _CinnabarIslandText3
+	db "@"
+
+CinnabarIslandText6:
+	TX_FAR _CinnabarIslandText6
+	db "@"
+
+CinnabarIslandText7:
+	TX_FAR _CinnabarIslandText7
+	db "@"
--- /dev/null
+++ b/scripts/CinnabarLab.asm
@@ -1,0 +1,30 @@
+CinnabarLab_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+CinnabarLab_TextPointers:
+	dw Lab1Text1
+	dw Lab1Text2
+	dw Lab1Text3
+	dw Lab1Text4
+	dw Lab1Text5
+
+Lab1Text1:
+	TX_FAR _Lab1Text1
+	db "@"
+
+Lab1Text2:
+	TX_FAR _Lab1Text2
+	db "@"
+
+Lab1Text3:
+	TX_FAR _Lab1Text3
+	db "@"
+
+Lab1Text4:
+	TX_FAR _Lab1Text4
+	db "@"
+
+Lab1Text5:
+	TX_FAR _Lab1Text5
+	db "@"
--- /dev/null
+++ b/scripts/CinnabarLabFossilRoom.asm
@@ -1,0 +1,109 @@
+CinnabarLabFossilRoom_Script:
+	jp EnableAutoTextBoxDrawing
+
+CinnabarLabFossilRoom_TextPointers:
+	dw Lab4Text1
+	dw Lab4Text2
+
+Lab4Script_GetFossilsInBag:
+; construct a list of all fossils in the player's bag
+	xor a
+	ld [wFilteredBagItemsCount], a
+	ld de, wFilteredBagItems
+	ld hl, FossilsList
+.loop
+	ld a, [hli]
+	and a
+	jr z, .done
+	push hl
+	push de
+	ld [wd11e], a
+	ld b, a
+	predef GetQuantityOfItemInBag
+	pop de
+	pop hl
+	ld a, b
+	and a
+	jr z, .loop
+
+	; A fossil's in the bag
+	ld a, [wd11e]
+	ld [de], a
+	inc de
+	push hl
+	ld hl, wFilteredBagItemsCount
+	inc [hl]
+	pop hl
+	jr .loop
+.done
+	ld a, $ff
+	ld [de], a
+	ret
+
+FossilsList:
+	db DOME_FOSSIL
+	db HELIX_FOSSIL
+	db OLD_AMBER
+	db $00
+
+Lab4Text1:
+	TX_ASM
+	CheckEvent EVENT_GAVE_FOSSIL_TO_LAB
+	jr nz, .asm_75d96
+	ld hl, Lab4Text_75dc6
+	call PrintText
+	call Lab4Script_GetFossilsInBag
+	ld a, [wFilteredBagItemsCount]
+	and a
+	jr z, .asm_75d8d
+	callba GiveFossilToCinnabarLab
+	jr .asm_75d93
+.asm_75d8d
+	ld hl, Lab4Text_75dcb
+	call PrintText
+.asm_75d93
+	jp TextScriptEnd
+.asm_75d96
+	CheckEventAfterBranchReuseA EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_GAVE_FOSSIL_TO_LAB
+	jr z, .asm_75da2
+	ld hl, Lab4Text_75dd0
+	call PrintText
+	jr .asm_75d93
+.asm_75da2
+	call LoadFossilItemAndMonNameBank1D
+	ld hl, Lab4Text_75dd5
+	call PrintText
+	SetEvent EVENT_LAB_HANDING_OVER_FOSSIL_MON
+	ld a, [wFossilMon]
+	ld b, a
+	ld c, 30
+	call GivePokemon
+	jr nc, .asm_75d93
+	ResetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_LAB_HANDING_OVER_FOSSIL_MON
+	jr .asm_75d93
+
+Lab4Text_75dc6:
+	TX_FAR _Lab4Text_75dc6
+	db "@"
+
+Lab4Text_75dcb:
+	TX_FAR _Lab4Text_75dcb
+	db "@"
+
+Lab4Text_75dd0:
+	TX_FAR _Lab4Text_75dd0
+	db "@"
+
+Lab4Text_75dd5:
+	TX_FAR _Lab4Text_75dd5
+	db "@"
+
+Lab4Text2:
+	TX_ASM
+	ld a, $3
+	ld [wWhichTrade], a
+	predef DoInGameTradeDialogue
+	jp TextScriptEnd
+
+LoadFossilItemAndMonNameBank1D:
+	jpba LoadFossilItemAndMonName
--- /dev/null
+++ b/scripts/CinnabarLabMetronomeRoom.asm
@@ -1,0 +1,62 @@
+CinnabarLabMetronomeRoom_Script:
+	jp EnableAutoTextBoxDrawing
+
+CinnabarLabMetronomeRoom_TextPointers:
+	dw Lab3Text1
+	dw Lab3Text2
+	dw Lab3Text3
+	dw Lab3Text4
+	dw Lab3Text5
+
+Lab3Text1:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM35
+	jr nz, .asm_e551a
+	ld hl, TM35PreReceiveText
+	call PrintText
+	lb bc, TM_35, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedTM35Text
+	call PrintText
+	SetEvent EVENT_GOT_TM35
+	jr .asm_eb896
+.BagFull
+	ld hl, TM35NoRoomText
+	call PrintText
+	jr .asm_eb896
+.asm_e551a
+	ld hl, TM35ExplanationText
+	call PrintText
+.asm_eb896
+	jp TextScriptEnd
+
+TM35PreReceiveText:
+	TX_FAR _TM35PreReceiveText
+	db "@"
+
+ReceivedTM35Text:
+	TX_FAR _ReceivedTM35Text
+	TX_SFX_ITEM_1
+	db "@"
+
+TM35ExplanationText:
+	TX_FAR _TM35ExplanationText
+	db "@"
+
+TM35NoRoomText:
+	TX_FAR _TM35NoRoomText
+	db "@"
+
+Lab3Text2:
+	TX_FAR _Lab3Text2
+	db "@"
+
+Lab3Text4:
+Lab3Text3:
+	TX_FAR _Lab3Text3
+	db "@"
+
+Lab3Text5:
+	TX_FAR _Lab3Text5
+	db "@"
--- /dev/null
+++ b/scripts/CinnabarLabTradeRoom.asm
@@ -1,0 +1,25 @@
+CinnabarLabTradeRoom_Script:
+	jp EnableAutoTextBoxDrawing
+
+CinnabarLabTradeRoom_TextPointers:
+	dw Lab2Text1
+	dw Lab2Text2
+	dw Lab2Text3
+
+Lab2Text1:
+	TX_FAR _Lab2Text1
+	db "@"
+
+Lab2Text2:
+	TX_ASM
+	ld a, $7
+	ld [wWhichTrade], a
+	jr Lab2DoTrade
+
+Lab2Text3:
+	TX_ASM
+	ld a, $8
+	ld [wWhichTrade], a
+Lab2DoTrade:
+	predef DoInGameTradeDialogue
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/CinnabarMart.asm
@@ -1,0 +1,15 @@
+CinnabarMart_Script:
+	jp EnableAutoTextBoxDrawing
+
+CinnabarMart_TextPointers:
+	dw CinnabarCashierText
+	dw CinnabarMartText2
+	dw CinnabarMartText3
+
+CinnabarMartText2:
+	TX_FAR _CinnabarMartText2
+	db "@"
+
+CinnabarMartText3:
+	TX_FAR _CinnabarMartText3
+	db "@"
--- /dev/null
+++ b/scripts/CinnabarPokecenter.asm
@@ -1,0 +1,23 @@
+CinnabarPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+CinnabarPokecenter_TextPointers:
+	dw CinnabarHealNurseText
+	dw CinnabarPokecenterText2
+	dw CinnabarPokecenterText3
+	dw CinnabarTradeNurseText
+
+CinnabarHealNurseText:
+	TX_POKECENTER_NURSE
+
+CinnabarPokecenterText2:
+	TX_FAR _CinnabarPokecenterText2
+	db "@"
+
+CinnabarPokecenterText3:
+	TX_FAR _CinnabarPokecenterText3
+	db "@"
+
+CinnabarTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
--- /dev/null
+++ b/scripts/Colosseum.asm
@@ -1,0 +1,9 @@
+Colosseum_Script:
+	jp TradeCenter_Script
+
+Colosseum_TextPointers:
+	dw ColosseumText1
+
+ColosseumText1:
+	TX_FAR _ColosseumText1
+	db "@"
--- /dev/null
+++ b/scripts/CopycatsHouse1F.asm
@@ -1,0 +1,22 @@
+CopycatsHouse1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CopycatsHouse1F_TextPointers:
+	dw CopycatsHouse1FText1
+	dw CopycatsHouse1FText2
+	dw CopycatsHouse1FText3
+
+CopycatsHouse1FText1:
+	TX_FAR _CopycatsHouse1FText1
+	db "@"
+
+CopycatsHouse1FText2:
+	TX_FAR _CopycatsHouse1FText2
+	db "@"
+
+CopycatsHouse1FText3:
+	TX_FAR _CopycatsHouse1FText3
+	TX_ASM
+	ld a, CHANSEY
+	call PlayCry
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/CopycatsHouse2F.asm
@@ -1,0 +1,102 @@
+CopycatsHouse2F_Script:
+	jp EnableAutoTextBoxDrawing
+
+CopycatsHouse2F_TextPointers:
+	dw CopycatsHouse2FText1
+	dw CopycatsHouse2FText2
+	dw CopycatsHouse2FText3
+	dw CopycatsHouse2FText4
+	dw CopycatsHouse2FText5
+	dw CopycatsHouse2FText6
+	dw CopycatsHouse2FText7
+
+CopycatsHouse2FText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM31
+	jr nz, .asm_7ccf3
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, CopycatsHouse2FText_5ccd4
+	call PrintText
+	ld b, POKE_DOLL
+	call IsItemInBag
+	jr z, .asm_62ecd
+	ld hl, TM31PreReceiveText
+	call PrintText
+	lb bc, TM_31, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedTM31Text
+	call PrintText
+	ld a, POKE_DOLL
+	ld [$ffdb], a
+	callba RemoveItemByID
+	SetEvent EVENT_GOT_TM31
+	jr .asm_62ecd
+.BagFull
+	ld hl, TM31NoRoomText
+	call PrintText
+	jr .asm_62ecd
+.asm_7ccf3
+	ld hl, TM31ExplanationText2
+	call PrintText
+.asm_62ecd
+	jp TextScriptEnd
+
+CopycatsHouse2FText_5ccd4:
+	TX_FAR _CopycatsHouse2FText_5ccd4
+	db "@"
+
+TM31PreReceiveText:
+	TX_FAR _TM31PreReceiveText
+	db "@"
+
+ReceivedTM31Text:
+	TX_FAR _ReceivedTM31Text
+	TX_SFX_ITEM_1
+TM31ExplanationText1:
+	TX_FAR _TM31ExplanationText1
+	TX_WAIT
+	db "@"
+
+TM31ExplanationText2:
+	TX_FAR _TM31ExplanationText2
+	db "@"
+
+TM31NoRoomText:
+	TX_FAR _TM31NoRoomText
+	TX_WAIT
+	db "@"
+
+CopycatsHouse2FText2:
+	TX_FAR _CopycatsHouse2FText2
+	db "@"
+
+CopycatsHouse2FText5:
+CopycatsHouse2FText4:
+CopycatsHouse2FText3:
+	TX_FAR _CopycatsHouse2FText3
+	db "@"
+
+CopycatsHouse2FText6:
+	TX_FAR _CopycatsHouse2FText6
+	db "@"
+
+CopycatsHouse2FText7:
+	TX_ASM
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	ld hl, CopycatsHouse2FText_5cd1c
+	jr nz, .notUp
+	ld hl, CopycatsHouse2FText_5cd17
+.notUp
+	call PrintText
+	jp TextScriptEnd
+
+CopycatsHouse2FText_5cd17:
+	TX_FAR _CopycatsHouse2FText_5cd17
+	db "@"
+
+CopycatsHouse2FText_5cd1c:
+	TX_FAR _CopycatsHouse2FText_5cd1c
+	db "@"
--- /dev/null
+++ b/scripts/Daycare.asm
@@ -1,0 +1,269 @@
+Daycare_Script:
+	jp EnableAutoTextBoxDrawing
+
+Daycare_TextPointers:
+	dw DayCareMText1
+
+DayCareMText1:
+	TX_ASM
+	call SaveScreenTilesToBuffer2
+	ld a, [wDayCareInUse]
+	and a
+	jp nz, .daycareInUse
+	ld hl, DayCareIntroText
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	ld hl, DayCareComeAgainText
+	jp nz, .done
+	ld a, [wPartyCount]
+	dec a
+	ld hl, DayCareOnlyHaveOneMonText
+	jp z, .done
+	ld hl, DayCareWhichMonText
+	call PrintText
+	xor a
+	ld [wUpdateSpritesEnabled], a
+	ld [wPartyMenuTypeOrMessageID], a
+	ld [wMenuItemToSwap], a
+	call DisplayPartyMenu
+	push af
+	call GBPalWhiteOutWithDelay3
+	call RestoreScreenTilesAndReloadTilePatterns
+	call LoadGBPal
+	pop af
+	ld hl, DayCareAllRightThenText
+	jp c, .done
+	callab KnowsHMMove
+	ld hl, DayCareCantAcceptMonWithHMText
+	jp c, .done
+	xor a
+	ld [wPartyAndBillsPCSavedMenuItem], a
+	ld a, [wWhichPokemon]
+	ld hl, wPartyMonNicks
+	call GetPartyMonName
+	ld hl, DayCareWillLookAfterMonText
+	call PrintText
+	ld a, 1
+	ld [wDayCareInUse], a
+	ld a, PARTY_TO_DAYCARE
+	ld [wMoveMonType], a
+	call MoveMon
+	xor a
+	ld [wRemoveMonFromBox], a
+	call RemovePokemon
+	ld a, [wcf91]
+	call PlayCry
+	ld hl, DayCareComeSeeMeInAWhileText
+	jp .done
+
+.daycareInUse
+	xor a
+	ld hl, wDayCareMonName
+	call GetPartyMonName
+	ld a, DAYCARE_DATA
+	ld [wMonDataLocation], a
+	call LoadMonData
+	callab CalcLevelFromExperience
+	ld a, d
+	cp MAX_LEVEL
+	jr c, .skipCalcExp
+
+	ld d, MAX_LEVEL
+	callab CalcExperience
+	ld hl, wDayCareMonExp
+	ld a, [hExperience]
+	ld [hli], a
+	ld a, [hExperience + 1]
+	ld [hli], a
+	ld a, [hExperience + 2]
+	ld [hl], a
+	ld d, MAX_LEVEL
+
+.skipCalcExp
+	xor a
+	ld [wDayCareNumLevelsGrown], a
+	ld hl, wDayCareMonBoxLevel
+	ld a, [hl]
+	ld [wDayCareStartLevel], a
+	cp d
+	ld [hl], d
+	ld hl, DayCareMonNeedsMoreTimeText
+	jr z, .next
+	ld a, [wDayCareStartLevel]
+	ld b, a
+	ld a, d
+	sub b
+	ld [wDayCareNumLevelsGrown], a
+	ld hl, DayCareMonHasGrownText
+
+.next
+	call PrintText
+	ld a, [wPartyCount]
+	cp PARTY_LENGTH
+	ld hl, DayCareNoRoomForMonText
+	jp z, .leaveMonInDayCare
+	ld de, wDayCareTotalCost
+	xor a
+	ld [de], a
+	inc de
+	ld [de], a
+	ld hl, wDayCarePerLevelCost
+	ld a, $1
+	ld [hli], a
+	ld [hl], $0
+	ld a, [wDayCareNumLevelsGrown]
+	inc a
+	ld b, a
+	ld c, 2
+.calcPriceLoop
+	push hl
+	push de
+	push bc
+	predef AddBCDPredef
+	pop bc
+	pop de
+	pop hl
+	dec b
+	jr nz, .calcPriceLoop
+	ld hl, DayCareOweMoneyText
+	call PrintText
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	call YesNoChoice
+	ld hl, DayCareAllRightThenText
+	ld a, [wCurrentMenuItem]
+	and a
+	jp nz, .leaveMonInDayCare
+	ld hl, wDayCareTotalCost
+	ld [hMoney], a
+	ld a, [hli]
+	ld [hMoney + 1], a
+	ld a, [hl]
+	ld [hMoney + 2], a
+	call HasEnoughMoney
+	jr nc, .enoughMoney
+	ld hl, DayCareNotEnoughMoneyText
+	jp .leaveMonInDayCare
+
+.enoughMoney
+	xor a
+	ld [wDayCareInUse], a
+	ld hl, wDayCareNumLevelsGrown
+	ld [hli], a
+	inc hl
+	ld de, wPlayerMoney + 2
+	ld c, $3
+	predef SubBCDPredef
+	ld a, SFX_PURCHASE
+	call PlaySoundWaitForCurrent
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	ld hl, DayCareHeresYourMonText
+	call PrintText
+	ld a, DAYCARE_TO_PARTY
+	ld [wMoveMonType], a
+	call MoveMon
+	ld a, [wDayCareMonSpecies]
+	ld [wcf91], a
+	ld a, [wPartyCount]
+	dec a
+	push af
+	ld bc, wPartyMon2 - wPartyMon1
+	push bc
+	ld hl, wPartyMon1Moves
+	call AddNTimes
+	ld d, h
+	ld e, l
+	ld a, 1
+	ld [wLearningMovesFromDayCare], a
+	predef WriteMonMoves
+	pop bc
+	pop af
+
+; set mon's HP to max
+	ld hl, wPartyMon1HP
+	call AddNTimes
+	ld d, h
+	ld e, l
+	ld bc, wPartyMon1MaxHP - wPartyMon1HP
+	add hl, bc
+	ld a, [hli]
+	ld [de], a
+	inc de
+	ld a, [hl]
+	ld [de], a
+
+	ld a, [wcf91]
+	call PlayCry
+	ld hl, DayCareGotMonBackText
+	jr .done
+
+.leaveMonInDayCare
+	ld a, [wDayCareStartLevel]
+	ld [wDayCareMonBoxLevel], a
+
+.done
+	call PrintText
+	jp TextScriptEnd
+
+DayCareIntroText:
+	TX_FAR _DayCareIntroText
+	db "@"
+
+DayCareWhichMonText:
+	TX_FAR _DayCareWhichMonText
+	db "@"
+
+DayCareWillLookAfterMonText:
+	TX_FAR _DayCareWillLookAfterMonText
+	db "@"
+
+DayCareComeSeeMeInAWhileText:
+	TX_FAR _DayCareComeSeeMeInAWhileText
+	db "@"
+
+DayCareMonHasGrownText:
+	TX_FAR _DayCareMonHasGrownText
+	db "@"
+
+DayCareOweMoneyText:
+	TX_FAR _DayCareOweMoneyText
+	db "@"
+
+DayCareGotMonBackText:
+	TX_FAR _DayCareGotMonBackText
+	db "@"
+
+DayCareMonNeedsMoreTimeText:
+	TX_FAR _DayCareMonNeedsMoreTimeText
+	db "@"
+
+DayCareAllRightThenText:
+	TX_FAR _DayCareAllRightThenText
+DayCareComeAgainText:
+	TX_FAR _DayCareComeAgainText
+	db "@"
+
+DayCareNoRoomForMonText:
+	TX_FAR _DayCareNoRoomForMonText
+	db "@"
+
+DayCareOnlyHaveOneMonText:
+	TX_FAR _DayCareOnlyHaveOneMonText
+	db "@"
+
+DayCareCantAcceptMonWithHMText:
+	TX_FAR _DayCareCantAcceptMonWithHMText
+	db "@"
+
+DayCareHeresYourMonText:
+	TX_FAR _DayCareHeresYourMonText
+	db "@"
+
+DayCareNotEnoughMoneyText:
+	TX_FAR _DayCareNotEnoughMoneyText
+	db "@"
--- /dev/null
+++ b/scripts/DiglettsCave.asm
@@ -1,0 +1,5 @@
+DiglettsCave_Script:
+	jp EnableAutoTextBoxDrawing
+
+DiglettsCave_TextPointers:
+	db "@"
--- /dev/null
+++ b/scripts/DiglettsCaveRoute11.asm
@@ -1,0 +1,12 @@
+DiglettsCaveRoute11_Script:
+	call EnableAutoTextBoxDrawing
+	ld a, ROUTE_11
+	ld [wLastMap], a
+	ret
+
+DiglettsCaveRoute11_TextPointers:
+	dw DiglettsCaveEntranceRoute11Text1
+
+DiglettsCaveEntranceRoute11Text1:
+	TX_FAR _DiglettsCaveEntRoute11Text1
+	db "@"
--- /dev/null
+++ b/scripts/DiglettsCaveRoute2.asm
@@ -1,0 +1,11 @@
+DiglettsCaveRoute2_Script:
+	ld a, ROUTE_2
+	ld [wLastMap], a
+	jp EnableAutoTextBoxDrawing
+
+DiglettsCaveRoute2_TextPointers:
+	dw DiglettsCaveRoute2Text1
+
+DiglettsCaveRoute2Text1:
+	TX_FAR _DiglettsCaveRoute2Text1
+	db "@"
--- /dev/null
+++ b/scripts/FightingDojo.asm
@@ -1,0 +1,323 @@
+FightingDojo_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, FightingDojoTrainerHeader0
+	ld de, FightingDojo_ScriptPointers
+	ld a, [wFightingDojoCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wFightingDojoCurScript], a
+	ret
+
+FightingDojoScript_5cd70:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wFightingDojoCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+FightingDojo_ScriptPointers:
+	dw FightingDojoScript1
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw FightingDojoScript3
+
+FightingDojoScript1:
+	CheckEvent EVENT_DEFEATED_FIGHTING_DOJO
+	ret nz
+	call CheckFightingMapTrainers
+	ld a, [wTrainerHeaderFlagBit]
+	and a
+	ret nz
+	CheckEvent EVENT_BEAT_KARATE_MASTER
+	ret nz
+	xor a
+	ld [hJoyHeld], a
+	ld [wcf0d], a
+	ld a, [wYCoord]
+	cp $3
+	ret nz
+	ld a, [wXCoord]
+	cp $4
+	ret nz
+	ld a, $1
+	ld [wcf0d], a
+	ld a, PLAYER_DIR_RIGHT
+	ld [wPlayerMovingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_LEFT
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ret
+
+FightingDojoScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, FightingDojoScript_5cd70
+	ld a, [wcf0d]
+	and a
+	jr z, .asm_5cde4
+	ld a, PLAYER_DIR_RIGHT
+	ld [wPlayerMovingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_LEFT
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+
+.asm_5cde4
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3
+	ld a, $8
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [wJoyIgnore], a
+	ld [wFightingDojoCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+FightingDojo_TextPointers:
+	dw FightingDojoText1
+	dw FightingDojoText2
+	dw FightingDojoText3
+	dw FightingDojoText4
+	dw FightingDojoText5
+	dw FightingDojoText6
+	dw FightingDojoText7
+	dw FightingDojoText8
+
+FightingDojoTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0
+	dw FightingDojoBattleText1 ; TextBeforeBattle
+	dw FightingDojoAfterBattleText1 ; TextAfterBattle
+	dw FightingDojoEndBattleText1 ; TextEndBattle
+	dw FightingDojoEndBattleText1 ; TextEndBattle
+
+FightingDojoTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1
+	dw FightingDojoBattleText2 ; TextBeforeBattle
+	dw FightingDojoAfterBattleText2 ; TextAfterBattle
+	dw FightingDojoEndBattleText2 ; TextEndBattle
+	dw FightingDojoEndBattleText2 ; TextEndBattle
+
+FightingDojoTrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2
+	dw FightingDojoBattleText3 ; TextBeforeBattle
+	dw FightingDojoAfterBattleText3 ; TextAfterBattle
+	dw FightingDojoEndBattleText3 ; TextEndBattle
+	dw FightingDojoEndBattleText3 ; TextEndBattle
+
+FightingDojoTrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3
+	dw FightingDojoBattleText4 ; TextBeforeBattle
+	dw FightingDojoAfterBattleText4 ; TextAfterBattle
+	dw FightingDojoEndBattleText4 ; TextEndBattle
+	dw FightingDojoEndBattleText4 ; TextEndBattle
+
+	db $ff
+
+FightingDojoText1:
+	TX_ASM
+	CheckEvent EVENT_DEFEATED_FIGHTING_DOJO
+	jp nz, .continue1
+	CheckEventReuseA EVENT_BEAT_KARATE_MASTER
+	jp nz, .continue2
+	ld hl, FightingDojoText_5ce8e
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, FightingDojoText_5ce93
+	ld de, FightingDojoText_5ce93
+	call SaveEndBattleTextPointers
+	ld a, [hSpriteIndexOrTextID]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $3
+	ld [wFightingDojoCurScript], a
+	ld [wCurMapScript], a
+	jr .asm_9dba4
+.continue1
+	ld hl, FightingDojoText_5ce9d
+	call PrintText
+	jr .asm_9dba4
+.continue2
+	ld hl, FightingDojoText8
+	call PrintText
+.asm_9dba4
+	jp TextScriptEnd
+
+FightingDojoText_5ce8e:
+	TX_FAR _FightingDojoText_5ce8e
+	db "@"
+
+FightingDojoText_5ce93:
+	TX_FAR _FightingDojoText_5ce93
+	db "@"
+
+FightingDojoText8:
+	TX_FAR _FightingDojoText_5ce98
+	db "@"
+
+FightingDojoText_5ce9d:
+	TX_FAR _FightingDojoText_5ce9d
+	db "@"
+
+FightingDojoText2:
+	TX_ASM
+	ld hl, FightingDojoTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FightingDojoBattleText1:
+	TX_FAR _FightingDojoBattleText1
+	db "@"
+
+FightingDojoEndBattleText1:
+	TX_FAR _FightingDojoEndBattleText1
+	db "@"
+
+FightingDojoAfterBattleText1:
+	TX_FAR _FightingDojoAfterBattleText1
+	db "@"
+
+FightingDojoText3:
+	TX_ASM
+	ld hl, FightingDojoTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FightingDojoBattleText2:
+	TX_FAR _FightingDojoBattleText2
+	db "@"
+
+FightingDojoEndBattleText2:
+	TX_FAR _FightingDojoEndBattleText2
+	db "@"
+
+FightingDojoAfterBattleText2:
+	TX_FAR _FightingDojoAfterBattleText2
+	db "@"
+
+FightingDojoText4:
+	TX_ASM
+	ld hl, FightingDojoTrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FightingDojoBattleText3:
+	TX_FAR _FightingDojoBattleText3
+	db "@"
+
+FightingDojoEndBattleText3:
+	TX_FAR _FightingDojoEndBattleText3
+	db "@"
+
+FightingDojoAfterBattleText3:
+	TX_FAR _FightingDojoAfterBattleText3
+	db "@"
+
+FightingDojoText5:
+	TX_ASM
+	ld hl, FightingDojoTrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FightingDojoBattleText4:
+	TX_FAR _FightingDojoBattleText4
+	db "@"
+
+FightingDojoEndBattleText4:
+	TX_FAR _FightingDojoEndBattleText4
+	db "@"
+
+FightingDojoAfterBattleText4:
+	TX_FAR _FightingDojoAfterBattleText4
+	db "@"
+
+FightingDojoText6:
+; Hitmonlee Poké Ball
+	TX_ASM
+	CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN
+	jr z, .GetMon
+	ld hl, OtherHitmonText
+	call PrintText
+	jr .done
+.GetMon
+	ld a, HITMONLEE
+	call DisplayPokedex
+	ld hl, WantHitmonleeText
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .done
+	ld a, [wcf91]
+	ld b, a
+	ld c, 30
+	call GivePokemon
+	jr nc, .done
+
+	; once Poké Ball is taken, hide sprite
+	ld a, HS_FIGHTING_DOJO_GIFT_1
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO
+.done
+	jp TextScriptEnd
+
+WantHitmonleeText:
+	TX_FAR _WantHitmonleeText
+	db "@"
+
+FightingDojoText7:
+; Hitmonchan Poké Ball
+	TX_ASM
+	CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN
+	jr z, .GetMon
+	ld hl, OtherHitmonText
+	call PrintText
+	jr .done
+.GetMon
+	ld a, HITMONCHAN
+	call DisplayPokedex
+	ld hl, WantHitmonchanText
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .done
+	ld a, [wcf91]
+	ld b, a
+	ld c, 30
+	call GivePokemon
+	jr nc, .done
+	SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO
+
+	; once Poké Ball is taken, hide sprite
+	ld a, HS_FIGHTING_DOJO_GIFT_2
+	ld [wMissableObjectIndex], a
+	predef HideObject
+.done
+	jp TextScriptEnd
+
+WantHitmonchanText:
+	TX_FAR _WantHitmonchanText
+	db "@"
+
+OtherHitmonText:
+	TX_FAR _OtherHitmonText
+	db "@"
--- /dev/null
+++ b/scripts/FuchsiaBillsGrandpasHouse.asm
@@ -1,0 +1,20 @@
+FuchsiaBillsGrandpasHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+FuchsiaBillsGrandpasHouse_TextPointers:
+	dw FuchsiaHouse1Text1
+	dw FuchsiaHouse1Text2
+	dw FuchsiaHouse1Text3
+
+FuchsiaHouse1Text1:
+	TX_FAR _FuchsiaHouse1Text1
+	db "@"
+
+FuchsiaHouse1Text2:
+	TX_FAR _FuchsiaHouse1Text2
+	db "@"
+
+FuchsiaHouse1Text3:
+	TX_FAR _FuchsiaHouse1Text3
+	db "@"
--- /dev/null
+++ b/scripts/FuchsiaCity.asm
@@ -1,0 +1,169 @@
+FuchsiaCity_Script:
+	jp EnableAutoTextBoxDrawing
+
+FuchsiaCity_TextPointers:
+	dw FuchsiaCityText1
+	dw FuchsiaCityText2
+	dw FuchsiaCityText3
+	dw FuchsiaCityText4
+	dw FuchsiaCityText5
+	dw FuchsiaCityText6
+	dw FuchsiaCityText7
+	dw FuchsiaCityText8
+	dw FuchsiaCityText9
+	dw FuchsiaCityText10
+	dw FuchsiaCityText11
+	dw FuchsiaCityText12
+	dw FuchsiaCityText13
+	dw MartSignText
+	dw PokeCenterSignText
+	dw FuchsiaCityText16
+	dw FuchsiaCityText17
+	dw FuchsiaCityText18
+	dw FuchsiaCityText19
+	dw FuchsiaCityText20
+	dw FuchsiaCityText21
+	dw FuchsiaCityText22
+	dw FuchsiaCityText23
+	dw FuchsiaCityText24
+
+FuchsiaCityText1:
+	TX_FAR _FuchsiaCityText1
+	db "@"
+
+FuchsiaCityText2:
+	TX_FAR _FuchsiaCityText2
+	db "@"
+
+FuchsiaCityText3:
+	TX_FAR _FuchsiaCityText3
+	db "@"
+
+FuchsiaCityText4:
+	TX_FAR _FuchsiaCityText4
+	db "@"
+
+FuchsiaCityText5:
+FuchsiaCityText6:
+FuchsiaCityText7:
+FuchsiaCityText8:
+FuchsiaCityText9:
+FuchsiaCityText10:
+	TX_FAR _FuchsiaCityText5
+	db "@"
+
+FuchsiaCityText12:
+FuchsiaCityText11:
+	TX_FAR _FuchsiaCityText11
+	db "@"
+
+FuchsiaCityText13:
+	TX_FAR _FuchsiaCityText13
+	db "@"
+
+FuchsiaCityText16:
+	TX_FAR _FuchsiaCityText16
+	db "@"
+
+FuchsiaCityText17:
+	TX_FAR _FuchsiaCityText17
+	db "@"
+
+FuchsiaCityText18:
+	TX_FAR _FuchsiaCityText18
+	db "@"
+
+FuchsiaCityText19:
+	TX_ASM
+	ld hl, FuchsiaCityChanseyText
+	call PrintText
+	ld a, CHANSEY
+	call DisplayPokedex
+	jp TextScriptEnd
+
+FuchsiaCityChanseyText:
+	TX_FAR _FuchsiaCityChanseyText
+	db "@"
+
+FuchsiaCityText20:
+	TX_ASM
+	ld hl, FuchsiaCityVoltorbText
+	call PrintText
+	ld a, VOLTORB
+	call DisplayPokedex
+	jp TextScriptEnd
+
+FuchsiaCityVoltorbText:
+	TX_FAR _FuchsiaCityVoltorbText
+	db "@"
+
+FuchsiaCityText21:
+	TX_ASM
+	ld hl, FuchsiaCityKangaskhanText
+	call PrintText
+	ld a, KANGASKHAN
+	call DisplayPokedex
+	jp TextScriptEnd
+
+FuchsiaCityKangaskhanText:
+	TX_FAR _FuchsiaCityKangaskhanText
+	db "@"
+
+FuchsiaCityText22:
+	TX_ASM
+	ld hl, FuchsiaCitySlowpokeText
+	call PrintText
+	ld a, SLOWPOKE
+	call DisplayPokedex
+	jp TextScriptEnd
+
+FuchsiaCitySlowpokeText:
+	TX_FAR _FuchsiaCitySlowpokeText
+	db "@"
+
+FuchsiaCityText23:
+	TX_ASM
+	ld hl, FuchsiaCityLaprasText
+	call PrintText
+	ld a, LAPRAS
+	call DisplayPokedex
+	jp TextScriptEnd
+
+FuchsiaCityLaprasText:
+	TX_FAR _FuchsiaCityLaprasText
+	db "@"
+
+FuchsiaCityText24:
+	TX_ASM
+	CheckEvent EVENT_GOT_DOME_FOSSIL
+	jr nz, .asm_3b4e8
+	CheckEventReuseA EVENT_GOT_HELIX_FOSSIL
+	jr nz, .asm_667d5
+	ld hl, FuchsiaCityText_19b2a
+	call PrintText
+	jr .asm_4343f
+.asm_3b4e8
+	ld hl, FuchsiaCityOmanyteText
+	call PrintText
+	ld a, OMANYTE
+	jr .asm_81556
+.asm_667d5
+	ld hl, FuchsiaCityKabutoText
+	call PrintText
+	ld a, KABUTO
+.asm_81556
+	call DisplayPokedex
+.asm_4343f
+	jp TextScriptEnd
+
+FuchsiaCityOmanyteText:
+	TX_FAR _FuchsiaCityOmanyteText
+	db "@"
+
+FuchsiaCityKabutoText:
+	TX_FAR _FuchsiaCityKabutoText
+	db "@"
+
+FuchsiaCityText_19b2a:
+	TX_FAR _FuchsiaCityText_19b2a
+	db "@"
--- /dev/null
+++ b/scripts/FuchsiaGoodRodHouse.asm
@@ -1,0 +1,75 @@
+FuchsiaGoodRodHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+FuchsiaGoodRodHouse_TextPointers:
+	dw FuchsiaHouse3Text1
+
+FuchsiaHouse3Text1:
+	TX_ASM
+	ld a, [wd728]
+	bit 4, a
+	jr nz, .after
+
+	ld hl, FuchsiaHouse3Text_561bd
+	call PrintText
+
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .refused
+
+	lb bc, GOOD_ROD, 1
+	call GiveItem
+	jr nc, .full
+
+	ld hl, wd728
+	set 4, [hl]
+
+	ld hl, FuchsiaHouse3Text_561c2
+	jr .talk
+
+.full
+	ld hl, FuchsiaHouse3Text_5621c
+	jr .talk
+
+.refused
+	ld hl, FuchsiaHouse3Text_56212
+	jr .talk
+
+.after
+	ld hl, FuchsiaHouse3Text_56217
+
+.talk
+	call PrintText
+	jp TextScriptEnd
+
+FuchsiaHouse3Text_561bd:
+	TX_FAR _FuchsiaHouse3Text_561bd
+	db "@"
+
+FuchsiaHouse3Text_561c2:
+	TX_FAR _FuchsiaHouse3Text_561c2
+	TX_SFX_ITEM_1
+	db "@"
+
+UnusedText_561c8:
+	para "つり こそ"
+	line "おとこの ロマン だ!"
+
+	para "へぼいつりざおは"
+	line "コイキングしか つれ なんだが"
+	line "この いいつりざおなら"
+	line "もっと いいもんが つれるんじゃ!"
+	done
+
+FuchsiaHouse3Text_56212:
+	TX_FAR _FuchsiaHouse3Text_56212
+	db "@"
+
+FuchsiaHouse3Text_56217:
+	TX_FAR _FuchsiaHouse3Text_56217
+	db "@"
+
+FuchsiaHouse3Text_5621c:
+	TX_FAR _FuchsiaHouse3Text_5621c
+	db "@"
--- /dev/null
+++ b/scripts/FuchsiaGym.asm
@@ -1,0 +1,329 @@
+FuchsiaGym_Script:
+	call FuchsiaGymScript_75453
+	call EnableAutoTextBoxDrawing
+	ld hl, FuchsiaGymTrainerHeader0
+	ld de, FuchsiaGym_ScriptPointers
+	ld a, [wFuchsiaGymCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wFuchsiaGymCurScript], a
+	ret
+
+FuchsiaGymScript_75453:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	ret z
+	ld hl, Gym5CityName
+	ld de, Gym5LeaderName
+	call LoadGymLeaderAndCityName
+	ret
+
+Gym5CityName:
+	db "FUCHSIA CITY@"
+Gym5LeaderName:
+	db "KOGA@"
+
+FuchsiaGymScript_75477:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wFuchsiaGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+FuchsiaGym_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw FuchsiaGymScript3
+
+FuchsiaGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, FuchsiaGymScript_75477
+	ld a, $f0
+	ld [wJoyIgnore], a
+FuchsiaGymScript3_75497:
+	ld a, $9
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_KOGA
+	lb bc, TM_06, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM06
+	jr .asm_754c0
+.BagFull
+	ld a, $b
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_754c0
+	ld hl, wObtainedBadges
+	set 4, [hl]
+	ld hl, wBeatGymFlags
+	set 4, [hl]
+
+	; deactivate gym trainers
+	SetEventRange EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, EVENT_BEAT_FUCHSIA_GYM_TRAINER_5
+
+	jp FuchsiaGymScript_75477
+
+FuchsiaGym_TextPointers:
+	dw FuchsiaGymText1
+	dw FuchsiaGymText2
+	dw FuchsiaGymText3
+	dw FuchsiaGymText4
+	dw FuchsiaGymText5
+	dw FuchsiaGymText6
+	dw FuchsiaGymText7
+	dw FuchsiaGymText8
+	dw FuchsiaGymText9
+	dw FuchsiaGymText10
+	dw FuchsiaGymText11
+
+FuchsiaGymTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_0
+	dw FuchsiaGymBattleText1 ; TextBeforeBattle
+	dw FuchsiaGymAfterBattleText1 ; TextAfterBattle
+	dw FuchsiaGymEndBattleText1 ; TextEndBattle
+	dw FuchsiaGymEndBattleText1 ; TextEndBattle
+
+FuchsiaGymTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_1
+	dw FuchsiaGymBattleText2 ; TextBeforeBattle
+	dw FuchsiaGymAfterBattleText2 ; TextAfterBattle
+	dw FuchsiaGymEndBattleText2 ; TextEndBattle
+	dw FuchsiaGymEndBattleText2 ; TextEndBattle
+
+FuchsiaGymTrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_2
+	dw FuchsiaGymBattleText3 ; TextBeforeBattle
+	dw FuchsiaGymAfterBattleText3 ; TextAfterBattle
+	dw FuchsiaGymEndBattleText3 ; TextEndBattle
+	dw FuchsiaGymEndBattleText3 ; TextEndBattle
+
+FuchsiaGymTrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_3
+	dw FuchsiaGymBattleText4 ; TextBeforeBattle
+	dw FuchsiaGymAfterBattleText4 ; TextAfterBattle
+	dw FuchsiaGymEndBattleText4 ; TextEndBattle
+	dw FuchsiaGymEndBattleText4 ; TextEndBattle
+
+FuchsiaGymTrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_4
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_4
+	dw FuchsiaGymBattleText5 ; TextBeforeBattle
+	dw FuchsiaGymAfterBattleText5 ; TextAfterBattle
+	dw FuchsiaGymEndBattleText5 ; TextEndBattle
+	dw FuchsiaGymEndBattleText5 ; TextEndBattle
+
+FuchsiaGymTrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_5
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_5
+	dw FuchsiaGymBattleText6 ; TextBeforeBattle
+	dw FuchsiaGymAfterBattleText6 ; TextAfterBattle
+	dw FuchsiaGymEndBattleText6 ; TextEndBattle
+	dw FuchsiaGymEndBattleText6 ; TextEndBattle
+
+	db $ff
+
+FuchsiaGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_KOGA
+	jr z, .asm_181b6
+	CheckEventReuseA EVENT_GOT_TM06
+	jr nz, .asm_adc3b
+	call z, FuchsiaGymScript3_75497
+	call DisableWaitingAfterTextDisplay
+	jr .asm_e84c6
+.asm_adc3b
+	ld hl, KogaExplainToxicText
+	call PrintText
+	jr .asm_e84c6
+.asm_181b6
+	ld hl, KogaBeforeBattleText
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, KogaAfterBattleText
+	ld de, KogaAfterBattleText
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $5
+	ld [wGymLeaderNo], a
+	xor a
+	ld [hJoyHeld], a
+	ld a, $3
+	ld [wFuchsiaGymCurScript], a
+.asm_e84c6
+	jp TextScriptEnd
+
+KogaBeforeBattleText:
+	TX_FAR _KogaBeforeBattleText
+	db "@"
+
+KogaAfterBattleText:
+	TX_FAR _KogaAfterBattleText
+	db "@"
+
+KogaExplainToxicText:
+	TX_FAR _KogaExplainToxicText
+	db "@"
+
+FuchsiaGymText9:
+	TX_FAR _FuchsiaGymText9
+	db "@"
+
+FuchsiaGymText10:
+	TX_FAR _ReceivedTM06Text
+	TX_SFX_KEY_ITEM
+
+TM06ExplanationText:
+	TX_FAR _TM06ExplanationText
+	db "@"
+
+FuchsiaGymText11:
+	TX_FAR _TM06NoRoomText
+	db "@"
+
+FuchsiaGymText2:
+	TX_ASM
+	ld hl, FuchsiaGymTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FuchsiaGymBattleText1:
+	TX_FAR _FuchsiaGymBattleText1
+	db "@"
+
+FuchsiaGymEndBattleText1:
+	TX_FAR _FuchsiaGymEndBattleText1
+	db "@"
+
+FuchsiaGymAfterBattleText1:
+	TX_FAR _FuchsiaGymAfterBattleText1
+	db "@"
+
+FuchsiaGymText3:
+	TX_ASM
+	ld hl, FuchsiaGymTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FuchsiaGymBattleText2:
+	TX_FAR _FuchsiaGymBattleText2
+	db "@"
+
+FuchsiaGymEndBattleText2:
+	TX_FAR _FuchsiaGymEndBattleText2
+	db "@"
+
+FuchsiaGymAfterBattleText2:
+	TX_FAR _FuchsiaGymAfterBattleText2
+	db "@"
+
+FuchsiaGymText4:
+	TX_ASM
+	ld hl, FuchsiaGymTrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FuchsiaGymBattleText3:
+	TX_FAR _FuchsiaGymBattleText3
+	db "@"
+
+FuchsiaGymEndBattleText3:
+	TX_FAR _FuchsiaGymEndBattleText3
+	db "@"
+
+FuchsiaGymAfterBattleText3:
+	TX_FAR _FuchsiaGymAfterBattleText3
+	db "@"
+
+FuchsiaGymText5:
+	TX_ASM
+	ld hl, FuchsiaGymTrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FuchsiaGymBattleText4:
+	TX_FAR _FuchsiaGymBattleText4
+	db "@"
+
+FuchsiaGymEndBattleText4:
+	TX_FAR _FuchsiaGymEndBattleText4
+	db "@"
+
+FuchsiaGymAfterBattleText4:
+	TX_FAR _FuchsiaGymAfterBattleText4
+	db "@"
+
+FuchsiaGymText6:
+	TX_ASM
+	ld hl, FuchsiaGymTrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FuchsiaGymBattleText5:
+	TX_FAR _FuchsiaGymBattleText5
+	db "@"
+
+FuchsiaGymEndBattleText5:
+	TX_FAR _FuchsiaGymEndBattleText5
+	db "@"
+
+FuchsiaGymAfterBattleText5:
+	TX_FAR _FuchsiaGymAfterBattleText5
+	db "@"
+
+FuchsiaGymText7:
+	TX_ASM
+	ld hl, FuchsiaGymTrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+FuchsiaGymBattleText6:
+	TX_FAR _FuchsiaGymBattleText6
+	db "@"
+
+FuchsiaGymEndBattleText6:
+	TX_FAR _FuchsiaGymEndBattleText6
+	db "@"
+
+FuchsiaGymAfterBattleText6:
+	TX_FAR _FuchsiaGymAfterBattleText6
+	db "@"
+
+FuchsiaGymText8:
+	TX_ASM
+	CheckEvent EVENT_BEAT_KOGA
+	ld hl, FuchsiaGymText_75653
+	jr nz, .asm_50671
+	ld hl, FuchsiaGymText_7564e
+.asm_50671
+	call PrintText
+	jp TextScriptEnd
+
+FuchsiaGymText_7564e:
+	TX_FAR _FuchsiaGymText_7564e
+	db "@"
+
+FuchsiaGymText_75653:
+	TX_FAR _FuchsiaGymText_75653
+	db "@"
--- /dev/null
+++ b/scripts/FuchsiaMart.asm
@@ -1,0 +1,15 @@
+FuchsiaMart_Script:
+	jp EnableAutoTextBoxDrawing
+
+FuchsiaMart_TextPointers:
+	dw FuchsiaCashierText
+	dw FuchsiaMartText2
+	dw FuchsiaMartText3
+
+FuchsiaMartText2:
+	TX_FAR _FuchsiaMartText2
+	db "@"
+
+FuchsiaMartText3:
+	TX_FAR _FuchsiaMartText3
+	db "@"
--- /dev/null
+++ b/scripts/FuchsiaMeetingRoom.asm
@@ -1,0 +1,20 @@
+FuchsiaMeetingRoom_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+FuchsiaMeetingRoom_TextPointers:
+	dw FuchsiaMeetingRoomText1
+	dw FuchsiaMeetingRoomText2
+	dw FuchsiaMeetingRoomText3
+
+FuchsiaMeetingRoomText1:
+	TX_FAR _FuchsiaMeetingRoomText1
+	db "@"
+
+FuchsiaMeetingRoomText2:
+	TX_FAR _FuchsiaMeetingRoomText2
+	db "@"
+
+FuchsiaMeetingRoomText3:
+	TX_FAR _FuchsiaMeetingRoomText3
+	db "@"
--- /dev/null
+++ b/scripts/FuchsiaPokecenter.asm
@@ -1,0 +1,23 @@
+FuchsiaPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+FuchsiaPokecenter_TextPointers:
+	dw FuchsiaHealNurseText
+	dw FuchsiaPokecenterText2
+	dw FuchsiaPokecenterText3
+	dw FuchsiaTradeNurseText
+
+FuchsiaHealNurseText:
+	TX_POKECENTER_NURSE
+
+FuchsiaPokecenterText2:
+	TX_FAR _FuchsiaPokecenterText1
+	db "@"
+
+FuchsiaPokecenterText3:
+	TX_FAR _FuchsiaPokecenterText3
+	db "@"
+
+FuchsiaTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
--- /dev/null
+++ b/scripts/GameCorner.asm
@@ -1,0 +1,527 @@
+GameCorner_Script:
+	call CeladonGameCornerScript_48bcf
+	call CeladonGameCornerScript_48bec
+	call EnableAutoTextBoxDrawing
+	ld hl, GameCorner_ScriptPointers
+	ld a, [wGameCornerCurScript]
+	jp CallFunctionInTable
+
+CeladonGameCornerScript_48bcf:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	ret z
+	call Random
+	ld a, [hRandomAdd]
+	cp $7
+	jr nc, .asm_48be2
+	ld a, $8
+.asm_48be2
+	srl a
+	srl a
+	srl a
+	ld [wLuckySlotHiddenObjectIndex], a
+	ret
+
+CeladonGameCornerScript_48bec:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_FOUND_ROCKET_HIDEOUT
+	ret nz
+	ld a, $2a
+	ld [wNewTileBlockID], a
+	lb bc, 2, 8
+	predef_jump ReplaceTileBlock
+
+CeladonGameCornerScript_48c07:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wGameCornerCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+GameCorner_ScriptPointers:
+	dw CeladonGameCornerScript0
+	dw CeladonGameCornerScript1
+	dw CeladonGameCornerScript2
+
+CeladonGameCornerScript0:
+	ret
+
+CeladonGameCornerScript1:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, CeladonGameCornerScript_48c07
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $d
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $b
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld de, MovementData_48c5a
+	ld a, [wYCoord]
+	cp $6
+	jr nz, .asm_48c43
+	ld de, MovementData_48c63
+	jr .asm_48c4d
+.asm_48c43
+	ld a, [wXCoord]
+	cp $8
+	jr nz, .asm_48c4d
+	ld de, MovementData_48c63
+.asm_48c4d
+	ld a, $b
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $2
+	ld [wGameCornerCurScript], a
+	ret
+
+MovementData_48c5a:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+MovementData_48c63:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+CeladonGameCornerScript2:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, HS_GAME_CORNER_ROCKET
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	set 6, [hl]
+	ld a, $0
+	ld [wGameCornerCurScript], a
+	ret
+
+GameCorner_TextPointers:
+	dw CeladonGameCornerText1
+	dw CeladonGameCornerText2
+	dw CeladonGameCornerText3
+	dw CeladonGameCornerText4
+	dw CeladonGameCornerText5
+	dw CeladonGameCornerText6
+	dw CeladonGameCornerText7
+	dw CeladonGameCornerText8
+	dw CeladonGameCornerText9
+	dw CeladonGameCornerText10
+	dw CeladonGameCornerText11
+	dw CeladonGameCornerText12
+	dw CeladonGameCornerText13
+
+CeladonGameCornerText1:
+	TX_FAR _CeladonGameCornerText1
+	db "@"
+
+CeladonGameCornerText2:
+	TX_ASM
+	call CeladonGameCornerScript_48f1e
+	ld hl, CeladonGameCornerText_48d22
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_48d0f
+	ld b, COIN_CASE
+	call IsItemInBag
+	jr z, .asm_48d19
+	call Has9990Coins
+	jr nc, .asm_48d14
+	xor a
+	ld [hMoney], a
+	ld [hMoney + 2], a
+	ld a, $10
+	ld [hMoney + 1], a
+	call HasEnoughMoney
+	jr nc, .asm_48cdb
+	ld hl, CeladonGameCornerText_48d31
+	jr .asm_48d1c
+.asm_48cdb
+	xor a
+	ld [hMoney], a
+	ld [hMoney + 2], a
+	ld a, $10
+	ld [hMoney + 1], a
+	ld hl, hMoney + 2
+	ld de, wPlayerMoney + 2
+	ld c, $3
+	predef SubBCDPredef
+	xor a
+	ld [hUnusedCoinsByte], a
+	ld [hCoins], a
+	ld a, $50
+	ld [hCoins + 1], a
+	ld de, wPlayerCoins + 1
+	ld hl, hCoins + 1
+	ld c, $2
+	predef AddBCDPredef
+	call CeladonGameCornerScript_48f1e
+	ld hl, CeladonGameCornerText_48d27
+	jr .asm_48d1c
+.asm_48d0f
+	ld hl, CeladonGameCornerText_48d2c
+	jr .asm_48d1c
+.asm_48d14
+	ld hl, CeladonGameCornerText_48d36
+	jr .asm_48d1c
+.asm_48d19
+	ld hl, CeladonGameCornerText_48d3b
+.asm_48d1c
+	call PrintText
+	jp TextScriptEnd
+
+CeladonGameCornerText_48d22:
+	TX_FAR _CeladonGameCornerText_48d22
+	db "@"
+
+CeladonGameCornerText_48d27:
+	TX_FAR _CeladonGameCornerText_48d27
+	db "@"
+
+CeladonGameCornerText_48d2c:
+	TX_FAR _CeladonGameCornerText_48d2c
+	db "@"
+
+CeladonGameCornerText_48d31:
+	TX_FAR _CeladonGameCornerText_48d31
+	db "@"
+
+CeladonGameCornerText_48d36:
+	TX_FAR _CeladonGameCornerText_48d36
+	db "@"
+
+CeladonGameCornerText_48d3b:
+	TX_FAR _CeladonGameCornerText_48d3b
+	db "@"
+
+CeladonGameCornerText3:
+	TX_FAR _CeladonGameCornerText3
+	db "@"
+
+CeladonGameCornerText4:
+	TX_FAR _CeladonGameCornerText4
+	db "@"
+
+CeladonGameCornerText5:
+	TX_ASM
+	CheckEvent EVENT_GOT_10_COINS
+	jr nz, .asm_48d89
+	ld hl, CeladonGameCornerText_48d9c
+	call PrintText
+	ld b, COIN_CASE
+	call IsItemInBag
+	jr z, .asm_48d93
+	call Has9990Coins
+	jr nc, .asm_48d8e
+	xor a
+	ld [hUnusedCoinsByte], a
+	ld [hCoins], a
+	ld a, $10
+	ld [hCoins + 1], a
+	ld de, wPlayerCoins + 1
+	ld hl, hCoins + 1
+	ld c, $2
+	predef AddBCDPredef
+	SetEvent EVENT_GOT_10_COINS
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, Received10CoinsText
+	jr .asm_48d96
+.asm_48d89
+	ld hl, CeladonGameCornerText_48dac
+	jr .asm_48d96
+.asm_48d8e
+	ld hl, CeladonGameCornerText_48da7
+	jr .asm_48d96
+.asm_48d93
+	ld hl, CeladonGameCornerText_48f19
+.asm_48d96
+	call PrintText
+	jp TextScriptEnd
+
+CeladonGameCornerText_48d9c:
+	TX_FAR _CeladonGameCornerText_48d9c
+	db "@"
+
+Received10CoinsText:
+	TX_FAR _Received10CoinsText
+	TX_SFX_ITEM_1
+	db "@"
+
+CeladonGameCornerText_48da7:
+	TX_FAR _CeladonGameCornerText_48da7
+	db "@"
+
+CeladonGameCornerText_48dac:
+	TX_FAR _CeladonGameCornerText_48dac
+	db "@"
+
+CeladonGameCornerText6:
+	TX_FAR _CeladonGameCornerText6
+	db "@"
+
+CeladonGameCornerText7:
+	TX_ASM
+	CheckEvent EVENT_BEAT_ERIKA
+	ld hl, CeladonGameCornerText_48dca
+	jr z, .asm_48dc4
+	ld hl, CeladonGameCornerText_48dcf
+.asm_48dc4
+	call PrintText
+	jp TextScriptEnd
+
+CeladonGameCornerText_48dca:
+	TX_FAR _CeladonGameCornerText_48dca
+	db "@"
+
+CeladonGameCornerText_48dcf:
+	TX_FAR _CeladonGameCornerText_48dcf
+	db "@"
+
+CeladonGameCornerText8:
+	TX_FAR _CeladonGameCornerText8
+	db "@"
+
+CeladonGameCornerText9:
+	TX_ASM
+	CheckEvent EVENT_GOT_20_COINS_2
+	jr nz, .asm_48e13
+	ld hl, CeladonGameCornerText_48e26
+	call PrintText
+	ld b, COIN_CASE
+	call IsItemInBag
+	jr z, .asm_48e1d
+	call Has9990Coins
+	jr nc, .asm_48e18
+	xor a
+	ld [hUnusedCoinsByte], a
+	ld [hCoins], a
+	ld a, $20
+	ld [hCoins + 1], a
+	ld de, wPlayerCoins + 1
+	ld hl, hCoins + 1
+	ld c, $2
+	predef AddBCDPredef
+	SetEvent EVENT_GOT_20_COINS_2
+	ld hl, Received20CoinsText
+	jr .asm_48e20
+.asm_48e13
+	ld hl, CeladonGameCornerText_48e36
+	jr .asm_48e20
+.asm_48e18
+	ld hl, CeladonGameCornerText_48e31
+	jr .asm_48e20
+.asm_48e1d
+	ld hl, CeladonGameCornerText_48f19
+.asm_48e20
+	call PrintText
+	jp TextScriptEnd
+
+CeladonGameCornerText_48e26:
+	TX_FAR _CeladonGameCornerText_48e26
+	db "@"
+
+Received20CoinsText:
+	TX_FAR _Received20CoinsText
+	TX_SFX_ITEM_1
+	db "@"
+
+CeladonGameCornerText_48e31:
+	TX_FAR _CeladonGameCornerText_48e31
+	db "@"
+
+CeladonGameCornerText_48e36:
+	TX_FAR _CeladonGameCornerText_48e36
+	db "@"
+
+CeladonGameCornerText10:
+	TX_ASM
+	CheckEvent EVENT_GOT_20_COINS
+	jr nz, .asm_48e75
+	ld hl, CeladonGameCornerText_48e88
+	call PrintText
+	ld b, COIN_CASE
+	call IsItemInBag
+	jr z, .asm_48e7f
+	call Has9990Coins
+	jr z, .asm_48e7a
+	xor a
+	ld [hUnusedCoinsByte], a
+	ld [hCoins], a
+	ld a, $20
+	ld [hCoins + 1], a
+	ld de, wPlayerCoins + 1
+	ld hl, hCoins + 1
+	ld c, $2
+	predef AddBCDPredef
+	SetEvent EVENT_GOT_20_COINS
+	ld hl, CeladonGameCornerText_48e8d
+	jr .asm_48e82
+.asm_48e75
+	ld hl, CeladonGameCornerText_48e98
+	jr .asm_48e82
+.asm_48e7a
+	ld hl, CeladonGameCornerText_48e93
+	jr .asm_48e82
+.asm_48e7f
+	ld hl, CeladonGameCornerText_48f19
+.asm_48e82
+	call PrintText
+	jp TextScriptEnd
+
+CeladonGameCornerText_48e88:
+	TX_FAR _CeladonGameCornerText_48e88
+	db "@"
+
+CeladonGameCornerText_48e8d:
+	TX_FAR _CeladonGameCornerText_48e8d
+	TX_SFX_ITEM_1
+	db "@"
+
+CeladonGameCornerText_48e93:
+	TX_FAR _CeladonGameCornerText_48e93
+	db "@"
+
+CeladonGameCornerText_48e98:
+	TX_FAR _CeladonGameCornerText_48e98
+	db "@"
+
+CeladonGameCornerText11:
+	TX_ASM
+	ld hl, CeladonGameCornerText_48ece
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, CeladonGameCornerText_48ed3
+	ld de, CeladonGameCornerText_48ed3
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	xor a
+	ld [hJoyHeld], a
+	ld [hJoyPressed], a
+	ld [hJoyReleased], a
+	ld a, $1
+	ld [wGameCornerCurScript], a
+	jp TextScriptEnd
+
+CeladonGameCornerText_48ece:
+	TX_FAR _CeladonGameCornerText_48ece
+	db "@"
+
+CeladonGameCornerText_48ed3:
+	TX_FAR _CeladonGameCornerText_48ed3
+	db "@"
+
+CeladonGameCornerText13:
+	TX_FAR _CeladonGameCornerText_48ed8
+	db "@"
+
+CeladonGameCornerText12:
+	TX_ASM
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, CeladonGameCornerText_48f09
+	call PrintText
+	call WaitForSoundToFinish
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	call WaitForSoundToFinish
+	SetEvent EVENT_FOUND_ROCKET_HIDEOUT
+	ld a, $43
+	ld [wNewTileBlockID], a
+	lb bc, 2, 8
+	predef ReplaceTileBlock
+	jp TextScriptEnd
+
+CeladonGameCornerText_48f09:
+	TX_FAR _CeladonGameCornerText_48f09
+	TX_ASM
+	ld a, SFX_SWITCH
+	call PlaySound
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+CeladonGameCornerText_48f19:
+	TX_FAR _CeladonGameCornerText_48f19
+	db "@"
+
+CeladonGameCornerScript_48f1e:
+	ld hl, wd730
+	set 6, [hl]
+	coord hl, 11, 0
+	ld b, $5
+	ld c, $7
+	call TextBoxBorder
+	call UpdateSprites
+	coord hl, 12, 1
+	ld b, 4
+	ld c, 7
+	call ClearScreenArea
+	coord hl, 12, 2
+	ld de, GameCornerMoneyText
+	call PlaceString
+	coord hl, 12, 3
+	ld de, GameCornerBlankText1
+	call PlaceString
+	coord hl, 12, 3
+	ld de, wPlayerMoney
+	ld c, $a3
+	call PrintBCDNumber
+	coord hl, 12, 4
+	ld de, GameCornerCoinText
+	call PlaceString
+	coord hl, 12, 5
+	ld de, GameCornerBlankText2
+	call PlaceString
+	coord hl, 15, 5
+	ld de, wPlayerCoins
+	ld c, $82
+	call PrintBCDNumber
+	ld hl, wd730
+	res 6, [hl]
+	ret
+
+GameCornerMoneyText:
+	db "MONEY@"
+
+GameCornerCoinText:
+	db "COIN@"
+
+GameCornerBlankText1:
+	db "       @"
+
+GameCornerBlankText2:
+	db "       @"
+
+Has9990Coins:
+	ld a, $99
+	ld [hCoins], a
+	ld a, $90
+	ld [hCoins + 1], a
+	jp HasEnoughCoins
--- /dev/null
+++ b/scripts/GameCornerPrizeRoom.asm
@@ -1,0 +1,20 @@
+GameCornerPrizeRoom_Script:
+	jp EnableAutoTextBoxDrawing
+
+GameCornerPrizeRoom_TextPointers:
+	dw CeladonPrizeRoomText1
+	dw CeladonPrizeRoomText2
+	dw CeladonPrizeRoomText3
+	dw CeladonPrizeRoomText3
+	dw CeladonPrizeRoomText3
+
+CeladonPrizeRoomText1:
+	TX_FAR _CeladonPrizeRoomText1
+	db "@"
+
+CeladonPrizeRoomText2:
+	TX_FAR _CeladonPrizeRoomText2
+	db "@"
+
+CeladonPrizeRoomText3:
+	TX_PRIZE_VENDOR
--- /dev/null
+++ b/scripts/HallOfFame.asm
@@ -1,0 +1,109 @@
+HallOfFame_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, HallOfFame_ScriptPointers
+	ld a, [wHallOfFameCurScript]
+	jp CallFunctionInTable
+
+HallofFameRoomScript_5a4aa:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wHallOfFameCurScript], a
+	ret
+
+HallOfFame_ScriptPointers:
+	dw HallofFameRoomScript0
+	dw HallofFameRoomScript1
+	dw HallofFameRoomScript2
+	dw HallofFameRoomScript3
+
+HallofFameRoomScript3:
+	ret
+
+HallofFameRoomScript2:
+	call Delay3
+	ld a, [wLetterPrintingDelayFlags]
+	push af
+	xor a
+	ld [wJoyIgnore], a
+	predef HallOfFamePC
+	pop af
+	ld [wLetterPrintingDelayFlags], a
+	ld hl, wFlags_D733
+	res 1, [hl]
+	inc hl
+	set 0, [hl]
+	xor a
+	ld hl, wLoreleisRoomCurScript
+	ld [hli], a ; wLoreleisRoomCurScript
+	ld [hli], a ; wBrunosRoomCurScript
+	ld [hl], a ; wAgathasRoomCurScript
+	ld [wLancesRoomCurScript], a
+	ld [wHallOfFameCurScript], a
+	; Elite 4 events
+	ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1
+	xor a
+	ld [wHallOfFameCurScript], a
+	ld a, PALLET_TOWN
+	ld [wLastBlackoutMap], a
+	callba SaveSAVtoSRAM
+	ld b, 5
+.delayLoop
+	ld c, 600 / 5
+	call DelayFrames
+	dec b
+	jr nz, .delayLoop
+	call WaitForTextScrollButtonPress
+	jp Init
+
+HallofFameRoomScript0:
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld hl, wSimulatedJoypadStatesEnd
+	ld de, RLEMovement5a528
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $1
+	ld [wHallOfFameCurScript], a
+	ret
+
+RLEMovement5a528:
+	db D_UP,$5
+	db $ff
+
+HallofFameRoomScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	ld a, PLAYER_DIR_RIGHT
+	ld [wPlayerMovingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld a, SPRITE_FACING_LEFT
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	inc a ; PLAYER_DIR_RIGHT
+	ld [wPlayerMovingDirection], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld a, HS_UNKNOWN_DUNGEON_GUY
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, $2
+	ld [wHallOfFameCurScript], a
+	ret
+
+HallOfFame_TextPointers:
+	dw HallofFameRoomText1
+
+HallofFameRoomText1:
+	TX_FAR _HallofFameRoomText1
+	db "@"
--- /dev/null
+++ b/scripts/IndigoPlateau.asm
@@ -1,0 +1,4 @@
+IndigoPlateau_Script:
+	ret
+
+IndigoPlateau_TextPointers:
--- /dev/null
+++ b/scripts/IndigoPlateauLobby.asm
@@ -1,0 +1,36 @@
+IndigoPlateauLobby_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	call EnableAutoTextBoxDrawing
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	ret z
+	ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
+	ld hl, wBeatLorelei
+	bit 1, [hl]
+	res 1, [hl]
+	ret z
+	; Elite 4 events
+	ResetEventRange ELITE4_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR
+	ret
+
+IndigoPlateauLobby_TextPointers:
+	dw IndigoHealNurseText
+	dw IndigoPlateauLobbyText2
+	dw IndigoPlateauLobbyText3
+	dw IndigoCashierText
+	dw IndigoTradeNurseText
+
+IndigoHealNurseText:
+	TX_POKECENTER_NURSE
+
+IndigoPlateauLobbyText2:
+	TX_FAR _IndigoPlateauLobbyText2
+	db "@"
+
+IndigoPlateauLobbyText3:
+	TX_FAR _IndigoPlateauLobbyText3
+	db "@"
+
+IndigoTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
--- /dev/null
+++ b/scripts/LancesRoom.asm
@@ -1,0 +1,162 @@
+LancesRoom_Script:
+	call LanceShowOrHideEntranceBlocks
+	call EnableAutoTextBoxDrawing
+	ld hl, LanceTrainerHeader0
+	ld de, LancesRoom_ScriptPointers
+	ld a, [wLancesRoomCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wLancesRoomCurScript], a
+	ret
+
+LanceShowOrHideEntranceBlocks:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR
+	jr nz, .closeEntrance
+	; open entrance
+	ld a, $31
+	ld b, $32
+	jp LanceSetEntranceBlocks
+.closeEntrance
+	ld a, $72
+	ld b, $73
+
+LanceSetEntranceBlocks:
+; Replaces the tile blocks so the player can't leave.
+	push bc
+	ld [wNewTileBlockID], a
+	lb bc, 6, 2
+	call LanceSetEntranceBlock
+	pop bc
+	ld a, b
+	ld [wNewTileBlockID], a
+	lb bc, 6, 3
+
+LanceSetEntranceBlock:
+	predef_jump ReplaceTileBlock
+
+ResetLanceScript:
+	xor a
+	ld [wLancesRoomCurScript], a
+	ret
+
+LancesRoom_ScriptPointers:
+	dw LanceScript0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw LanceScript2
+	dw LanceScript3
+	dw LanceScript4
+
+LanceScript4:
+	ret
+
+LanceScript0:
+	CheckEvent EVENT_BEAT_LANCE
+	ret nz
+	ld hl, LanceTriggerMovementCoords
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	xor a
+	ld [hJoyHeld], a
+	ld a, [wCoordIndex]
+	cp $3  ; Is player standing next to Lance's sprite?
+	jr nc, .notStandingNextToLance
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+.notStandingNextToLance
+	cp $5  ; Is player standing on the entrance staircase?
+	jr z, WalkToLance
+	CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR
+	ret nz
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	jp LanceShowOrHideEntranceBlocks
+
+LanceTriggerMovementCoords:
+	db $01,$05
+	db $02,$06
+	db $0B,$05
+	db $0B,$06
+	db $10,$18
+	db $FF
+
+LanceScript2:
+	call EndTrainerBattle
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, ResetLanceScript
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+WalkToLance:
+; Moves the player down the hallway to Lance's room.
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld hl, wSimulatedJoypadStatesEnd
+	ld de, WalkToLance_RLEList
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wLancesRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+WalkToLance_RLEList:
+	db D_UP, $0C
+	db D_LEFT, $0C
+	db D_DOWN, $07
+	db D_LEFT, $06
+	db $FF
+
+LanceScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wLancesRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+LancesRoom_TextPointers:
+	dw LanceText1
+
+LanceTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_LANCES_ROOM_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_LANCES_ROOM_TRAINER_0
+	dw LanceBeforeBattleText ; TextBeforeBattle
+	dw LanceAfterBattleText ; TextAfterBattle
+	dw LanceEndBattleText ; TextEndBattle
+	dw LanceEndBattleText ; TextEndBattle
+
+	db $ff
+
+LanceText1:
+	TX_ASM
+	ld hl, LanceTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+LanceBeforeBattleText:
+	TX_FAR _LanceBeforeBattleText
+	db "@"
+
+LanceEndBattleText:
+	TX_FAR _LanceEndBattleText
+	db "@"
+
+LanceAfterBattleText:
+	TX_FAR _LanceAfterBattleText
+	TX_ASM
+	SetEvent EVENT_BEAT_LANCE
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/LavenderCuboneHouse.asm
@@ -1,0 +1,35 @@
+LavenderCuboneHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+LavenderCuboneHouse_TextPointers:
+	dw LavenderHouse2Text1
+	dw LavenderHouse2Text2
+
+LavenderHouse2Text1:
+	TX_FAR _LavenderHouse2Text1
+	TX_ASM
+	ld a, CUBONE
+	call PlayCry
+	jp TextScriptEnd
+
+LavenderHouse2Text2:
+	TX_ASM
+	CheckEvent EVENT_RESCUED_MR_FUJI
+	jr nz, .asm_65711
+	ld hl, LavenderHouse2Text_1d9dc
+	call PrintText
+	jr .asm_64be1
+.asm_65711
+	ld hl, LavenderHouse2Text_1d9e1
+	call PrintText
+.asm_64be1
+	jp TextScriptEnd
+
+LavenderHouse2Text_1d9dc:
+	TX_FAR _LavenderHouse2Text_1d9dc
+	db "@"
+
+LavenderHouse2Text_1d9e1:
+	TX_FAR _LavenderHouse2Text_1d9e1
+	db "@"
--- /dev/null
+++ b/scripts/LavenderMart.asm
@@ -1,0 +1,32 @@
+LavenderMart_Script:
+	jp EnableAutoTextBoxDrawing
+
+LavenderMart_TextPointers:
+	dw LavenderCashierText
+	dw LavenderMartText2
+	dw LavenderMartText3
+
+LavenderMartText2:
+	TX_FAR _LavenderMartText2
+	db "@"
+
+LavenderMartText3:
+	TX_ASM
+	CheckEvent EVENT_RESCUED_MR_FUJI
+	jr nz, .Nugget
+	ld hl, .ReviveText
+	call PrintText
+	jr .done
+.Nugget
+	ld hl, .NuggetText
+	call PrintText
+.done
+	jp TextScriptEnd
+
+.ReviveText
+	TX_FAR _LavenderMartReviveText
+	db "@"
+
+.NuggetText
+	TX_FAR _LavenderMartNuggetText
+	db "@"
--- /dev/null
+++ b/scripts/LavenderPokecenter.asm
@@ -1,0 +1,23 @@
+LavenderPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+LavenderPokecenter_TextPointers:
+	dw LavenderHealNurseText
+	dw LavenderPokecenterText2
+	dw LavenderPokecenterText3
+	dw LavenderTradeNurseText
+
+LavenderTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
+
+LavenderHealNurseText:
+	TX_POKECENTER_NURSE
+
+LavenderPokecenterText2:
+	TX_FAR _LavenderPokecenterText2
+	db "@"
+
+LavenderPokecenterText3:
+	TX_FAR _LavenderPokecenterText3
+	db "@"
--- /dev/null
+++ b/scripts/LavenderTown.asm
@@ -1,0 +1,63 @@
+LavenderTown_Script:
+	jp EnableAutoTextBoxDrawing
+
+LavenderTown_TextPointers:
+	dw LavenderTownText1
+	dw LavenderTownText2
+	dw LavenderTownText3
+	dw LavenderTownText4
+	dw LavenderTownText5
+	dw MartSignText
+	dw PokeCenterSignText
+	dw LavenderTownText8
+	dw LavenderTownText9
+
+LavenderTownText1:
+	TX_ASM
+	ld hl, LavenderTownText_4413c
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	ld hl, LavenderTownText_44146
+	jr nz, .asm_40831
+	ld hl, LavenderTownText_44141
+.asm_40831
+	call PrintText
+	jp TextScriptEnd
+
+LavenderTownText_4413c:
+	TX_FAR _LavenderTownText_4413c
+	db "@"
+
+LavenderTownText_44141:
+	TX_FAR _LavenderTownText_44141
+	db "@"
+
+LavenderTownText_44146:
+	TX_FAR _LavenderTownText_44146
+	db "@"
+
+LavenderTownText2:
+	TX_FAR _LavenderTownText2
+	db "@"
+
+LavenderTownText3:
+	TX_FAR _LavenderTownText3
+	db "@"
+
+LavenderTownText4:
+	TX_FAR _LavenderTownText4
+	db "@"
+
+LavenderTownText5:
+	TX_FAR _LavenderTownText5
+	db "@"
+
+LavenderTownText8:
+	TX_FAR _LavenderTownText8
+	db "@"
+
+LavenderTownText9:
+	TX_FAR _LavenderTownText9
+	db "@"
--- /dev/null
+++ b/scripts/LoreleisRoom.asm
@@ -1,0 +1,153 @@
+LoreleisRoom_Script:
+	call LoreleiShowOrHideExitBlock
+	call EnableAutoTextBoxDrawing
+	ld hl, LoreleiTrainerHeader0
+	ld de, LoreleisRoom_ScriptPointers
+	ld a, [wLoreleisRoomCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wLoreleisRoomCurScript], a
+	ret
+
+LoreleiShowOrHideExitBlock:
+; Blocks or clears the exit to the next room.
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, wBeatLorelei
+	set 1, [hl]
+	CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
+	jr z, .blockExitToNextRoom
+	ld a, $5
+	jr .setExitBlock
+.blockExitToNextRoom
+	ld a, $24
+.setExitBlock
+	ld [wNewTileBlockID], a
+	lb bc, 0, 2
+	predef_jump ReplaceTileBlock
+
+ResetLoreleiScript:
+	xor a
+	ld [wLoreleisRoomCurScript], a
+	ret
+
+LoreleisRoom_ScriptPointers:
+	dw LoreleiScript0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw LoreleiScript2
+	dw LoreleiScript3
+	dw LoreleiScript4
+
+LoreleiScript4:
+	ret
+
+LoreleiScriptWalkIntoRoom:
+; Walk six steps upward.
+	ld hl, wSimulatedJoypadStatesEnd
+	ld a, D_UP
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld a, $6
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wLoreleisRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+LoreleiScript0:
+	ld hl, LoreleiEntranceCoords
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	xor a
+	ld [hJoyPressed], a
+	ld [hJoyHeld], a
+	ld [wSimulatedJoypadStatesEnd], a
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, [wCoordIndex]
+	cp $3  ; Is player standing one tile above the exit?
+	jr c, .stopPlayerFromLeaving
+	CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM
+	jr z, LoreleiScriptWalkIntoRoom
+.stopPlayerFromLeaving
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID  ; "Don't run away!"
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wLoreleisRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+LoreleiEntranceCoords:
+	db $0A,$04
+	db $0A,$05
+	db $0B,$04
+	db $0B,$05
+	db $FF
+
+LoreleiScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wLoreleisRoomCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+LoreleiScript2:
+	call EndTrainerBattle
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, ResetLoreleiScript
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+LoreleisRoom_TextPointers:
+	dw LoreleiText1
+	dw LoreleiDontRunAwayText
+
+LoreleiTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
+	dw LoreleiBeforeBattleText ; TextBeforeBattle
+	dw LoreleiAfterBattleText ; TextAfterBattle
+	dw LoreleiEndBattleText ; TextEndBattle
+	dw LoreleiEndBattleText ; TextEndBattle
+
+	db $ff
+
+LoreleiText1:
+	TX_ASM
+	ld hl, LoreleiTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+LoreleiBeforeBattleText:
+	TX_FAR _LoreleiBeforeBattleText
+	db "@"
+
+LoreleiEndBattleText:
+	TX_FAR _LoreleiEndBattleText
+	db "@"
+
+LoreleiAfterBattleText:
+	TX_FAR _LoreleiAfterBattleText
+	db "@"
+
+LoreleiDontRunAwayText:
+	TX_FAR _LoreleiDontRunAwayText
+	db "@"
--- /dev/null
+++ b/scripts/MrFujisHouse.asm
@@ -1,0 +1,112 @@
+MrFujisHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+MrFujisHouse_TextPointers:
+	dw LavenderHouse1Text1
+	dw LavenderHouse1Text2
+	dw LavenderHouse1Text3
+	dw LavenderHouse1Text4
+	dw LavenderHouse1Text5
+	dw LavenderHouse1Text6
+
+LavenderHouse1Text1:
+	TX_ASM
+	CheckEvent EVENT_RESCUED_MR_FUJI
+	jr nz, .asm_72e5d
+	ld hl, LavenderHouse1Text_1d8d1
+	call PrintText
+	jr .asm_6957f
+.asm_72e5d
+	ld hl, LavenderHouse1Text_1d8d6
+	call PrintText
+.asm_6957f
+	jp TextScriptEnd
+
+LavenderHouse1Text_1d8d1:
+	TX_FAR _LavenderHouse1Text_1d8d1
+	db "@"
+
+LavenderHouse1Text_1d8d6:
+	TX_FAR _LavenderHouse1Text_1d8d6
+	db "@"
+
+LavenderHouse1Text2:
+	TX_ASM
+	CheckEvent EVENT_RESCUED_MR_FUJI
+	jr nz, .asm_06470
+	ld hl, LavenderHouse1Text_1d8f4
+	call PrintText
+	jr .asm_3d208
+.asm_06470
+	ld hl, LavenderHouse1Text_1d8f9
+	call PrintText
+.asm_3d208
+	jp TextScriptEnd
+
+LavenderHouse1Text_1d8f4:
+	TX_FAR _LavenderHouse1Text_1d8f4
+	db "@"
+
+LavenderHouse1Text_1d8f9:
+	TX_FAR _LavenderHouse1Text_1d8f9
+	db "@"
+
+LavenderHouse1Text3:
+	TX_FAR _LavenderHouse1Text3
+	TX_ASM
+	ld a, PSYDUCK
+	call PlayCry
+	jp TextScriptEnd
+
+LavenderHouse1Text4:
+	TX_FAR _LavenderHouse1Text4
+	TX_ASM
+	ld a, NIDORINO
+	call PlayCry
+	jp TextScriptEnd
+
+LavenderHouse1Text5:
+	TX_ASM
+	CheckEvent EVENT_GOT_POKE_FLUTE
+	jr nz, .asm_15ac2
+	ld hl, LavenderHouse1Text_1d94c
+	call PrintText
+	lb bc, POKE_FLUTE, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedFluteText
+	call PrintText
+	SetEvent EVENT_GOT_POKE_FLUTE
+	jr .asm_da749
+.BagFull
+	ld hl, FluteNoRoomText
+	call PrintText
+	jr .asm_da749
+.asm_15ac2
+	ld hl, MrFujiAfterFluteText
+	call PrintText
+.asm_da749
+	jp TextScriptEnd
+
+LavenderHouse1Text_1d94c:
+	TX_FAR _LavenderHouse1Text_1d94c
+	db "@"
+
+ReceivedFluteText:
+	TX_FAR _ReceivedFluteText
+	TX_SFX_KEY_ITEM
+	TX_FAR _FluteExplanationText
+	db "@"
+
+FluteNoRoomText:
+	TX_FAR _FluteNoRoomText
+	db "@"
+
+MrFujiAfterFluteText:
+	TX_FAR _MrFujiAfterFluteText
+	db "@"
+
+LavenderHouse1Text6:
+	TX_FAR _LavenderHouse1Text6
+	db "@"
--- /dev/null
+++ b/scripts/MrPsychicsHouse.asm
@@ -1,0 +1,45 @@
+MrPsychicsHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+MrPsychicsHouse_TextPointers:
+	dw SaffronHouse2Text1
+
+SaffronHouse2Text1:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM29
+	jr nz, .asm_9e72b
+	ld hl, TM29PreReceiveText
+	call PrintText
+	lb bc, TM_29, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedTM29Text
+	call PrintText
+	SetEvent EVENT_GOT_TM29
+	jr .asm_fe4e1
+.BagFull
+	ld hl, TM29NoRoomText
+	call PrintText
+	jr .asm_fe4e1
+.asm_9e72b
+	ld hl, TM29ExplanationText
+	call PrintText
+.asm_fe4e1
+	jp TextScriptEnd
+
+TM29PreReceiveText:
+	TX_FAR _TM29PreReceiveText
+	db "@"
+
+ReceivedTM29Text:
+	TX_FAR _ReceivedTM29Text
+	TX_SFX_ITEM_1
+	db "@"
+
+TM29ExplanationText:
+	TX_FAR _TM29ExplanationText
+	db "@"
+
+TM29NoRoomText:
+	TX_FAR _TM29NoRoomText
+	db "@"
--- /dev/null
+++ b/scripts/MtMoon1F.asm
@@ -1,0 +1,224 @@
+MtMoon1F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, MtMoon1TrainerHeader0
+	ld de, MtMoon1F_ScriptPointers
+	ld a, [wMtMoon1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wMtMoon1FCurScript], a
+	ret
+
+MtMoon1F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+MtMoon1F_TextPointers:
+	dw MtMoon1Text1
+	dw MtMoon1Text2
+	dw MtMoon1Text3
+	dw MtMoon1Text4
+	dw MtMoon1Text5
+	dw MtMoon1Text6
+	dw MtMoon1Text7
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw MtMoon1Text14
+
+MtMoon1TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_0
+	dw MtMoon1BattleText2 ; TextBeforeBattle
+	dw MtMoon1AfterBattleText2 ; TextAfterBattle
+	dw MtMoon1EndBattleText2 ; TextEndBattle
+	dw MtMoon1EndBattleText2 ; TextEndBattle
+
+MtMoon1TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_1
+	dw MtMoon1BattleText3 ; TextBeforeBattle
+	dw MtMoon1AfterBattleText3 ; TextAfterBattle
+	dw MtMoon1EndBattleText3 ; TextEndBattle
+	dw MtMoon1EndBattleText3 ; TextEndBattle
+
+MtMoon1TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_2
+	dw MtMoon1BattleText4 ; TextBeforeBattle
+	dw MtMoon1AfterBattleText4 ; TextAfterBattle
+	dw MtMoon1EndBattleText4 ; TextEndBattle
+	dw MtMoon1EndBattleText4 ; TextEndBattle
+
+MtMoon1TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_3
+	dw MtMoon1BattleText5 ; TextBeforeBattle
+	dw MtMoon1AfterBattleText5 ; TextAfterBattle
+	dw MtMoon1EndBattleText5 ; TextEndBattle
+	dw MtMoon1EndBattleText5 ; TextEndBattle
+
+MtMoon1TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_4
+	dw MtMoon1BattleText6 ; TextBeforeBattle
+	dw MtMoon1AfterBattleText6 ; TextAfterBattle
+	dw MtMoon1EndBattleText6 ; TextEndBattle
+	dw MtMoon1EndBattleText6 ; TextEndBattle
+
+MtMoon1TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_5
+	dw MtMoon1BattleText7 ; TextBeforeBattle
+	dw MtMoon1AfterBattleText7 ; TextAfterBattle
+	dw MtMoon1EndBattleText7 ; TextEndBattle
+	dw MtMoon1EndBattleText7 ; TextEndBattle
+
+MtMoon1TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_6
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_6
+	dw MtMoon1BattleText8 ; TextBeforeBattle
+	dw MtMoon1AfterBattleText8 ; TextAfterBattle
+	dw MtMoon1EndBattleText8 ; TextEndBattle
+	dw MtMoon1EndBattleText8 ; TextEndBattle
+
+	db $ff
+
+MtMoon1Text1:
+	TX_ASM
+	ld hl, MtMoon1TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon1Text2:
+	TX_ASM
+	ld hl, MtMoon1TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon1Text3:
+	TX_ASM
+	ld hl, MtMoon1TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon1Text4:
+	TX_ASM
+	ld hl, MtMoon1TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon1Text5:
+	TX_ASM
+	ld hl, MtMoon1TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon1Text6:
+	TX_ASM
+	ld hl, MtMoon1TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon1Text7:
+	TX_ASM
+	ld hl, MtMoon1TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon1BattleText2:
+	TX_FAR _MtMoon1BattleText2
+	db "@"
+
+MtMoon1EndBattleText2:
+	TX_FAR _MtMoon1EndBattleText2
+	db "@"
+
+MtMoon1AfterBattleText2:
+	TX_FAR _MtMoon1AfterBattleText2
+	db "@"
+
+MtMoon1BattleText3:
+	TX_FAR _MtMoon1BattleText3
+	db "@"
+
+MtMoon1EndBattleText3:
+	TX_FAR _MtMoon1EndBattleText3
+	db "@"
+
+MtMoon1AfterBattleText3:
+	TX_FAR _MtMoon1AfterBattleText3
+	db "@"
+
+MtMoon1BattleText4:
+	TX_FAR _MtMoon1BattleText4
+	db "@"
+
+MtMoon1EndBattleText4:
+	TX_FAR _MtMoon1EndBattleText4
+	db "@"
+
+MtMoon1AfterBattleText4:
+	TX_FAR _MtMoon1AfterBattleText4
+	db "@"
+
+MtMoon1BattleText5:
+	TX_FAR _MtMoon1BattleText5
+	db "@"
+
+MtMoon1EndBattleText5:
+	TX_FAR _MtMoon1EndBattleText5
+	db "@"
+
+MtMoon1AfterBattleText5:
+	TX_FAR _MtMoon1AfterBattleText5
+	db "@"
+
+MtMoon1BattleText6:
+	TX_FAR _MtMoon1BattleText6
+	db "@"
+
+MtMoon1EndBattleText6:
+	TX_FAR _MtMoon1EndBattleText6
+	db "@"
+
+MtMoon1AfterBattleText6:
+	TX_FAR _MtMoon1AfterBattleText6
+	db "@"
+
+MtMoon1BattleText7:
+	TX_FAR _MtMoon1BattleText7
+	db "@"
+
+MtMoon1EndBattleText7:
+	TX_FAR _MtMoon1EndBattleText7
+	db "@"
+
+MtMoon1AfterBattleText7:
+	TX_FAR _MtMoon1AfterBattleText7
+	db "@"
+
+MtMoon1BattleText8:
+	TX_FAR _MtMoon1BattleText8
+	db "@"
+
+MtMoon1EndBattleText8:
+	TX_FAR _MtMoon1EndBattleText8
+	db "@"
+
+MtMoon1AfterBattleText8:
+	TX_FAR _MtMoon1AfterBattleText8
+	db "@"
+
+MtMoon1Text14:
+	TX_FAR _MtMoon1Text14
+	db "@"
--- /dev/null
+++ b/scripts/MtMoonB1F.asm
@@ -1,0 +1,10 @@
+MtMoonB1F_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+MtMoonB1F_TextPointers:
+	dw MtMoonText1
+
+MtMoonText1:
+	TX_FAR _MtMoonText1
+	db "@"
--- /dev/null
+++ b/scripts/MtMoonB2F.asm
@@ -1,0 +1,406 @@
+MtMoonB2F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, MtMoon3TrainerHeader0
+	ld de, MtMoonB2F_ScriptPointers
+	ld a, [wMtMoonB2FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wMtMoonB2FCurScript], a
+	CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
+	ret z
+	ld hl, CoordsData_49d37
+	call ArePlayerCoordsInArray
+	jr nc, .asm_49d31
+	ld hl, wd72e
+	set 4, [hl]
+	ret
+.asm_49d31
+	ld hl, wd72e
+	res 4, [hl]
+	ret
+
+CoordsData_49d37:
+	db $05,$0B
+	db $05,$0C
+	db $05,$0D
+	db $05,$0E
+	db $06,$0B
+	db $06,$0C
+	db $06,$0D
+	db $06,$0E
+	db $07,$0B
+	db $07,$0C
+	db $07,$0D
+	db $07,$0E
+	db $08,$0B
+	db $08,$0C
+	db $08,$0D
+	db $08,$0E
+	db $FF
+
+MtMoon3Script_49d58:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wMtMoonB2FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+MtMoonB2F_ScriptPointers:
+	dw MtMoon3Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw MtMoon3Script3
+	dw MtMoon3Script4
+	dw MtMoon3Script5
+
+MtMoon3Script0:
+	CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
+	jp nz, MtMoon3Script_49d91
+	ld a, [wYCoord]
+	cp $8
+	jp nz, MtMoon3Script_49d91
+	ld a, [wXCoord]
+	cp $d
+	jp nz, MtMoon3Script_49d91
+	xor a
+	ld [hJoyHeld], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+MtMoon3Script_49d91:
+	CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL
+	jp z, CheckFightingMapTrainers
+	ret
+
+MtMoon3Script3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, MtMoon3Script_49d58
+	call UpdateSprites
+	call Delay3
+	SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wMtMoonB2FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+MtMoon3Script4:
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld hl, CoordsData_49dea
+	call ArePlayerCoordsInArray
+	jr c, .asm_49dd7
+	ld hl, CoordsData_49df1
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	ld de, MovementData_49df9
+	jr .asm_49dda
+.asm_49dd7
+	ld de, MovementData_49df8
+.asm_49dda
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $5
+	ld [wMtMoonB2FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+CoordsData_49dea:
+	db $07,$0C
+	db $06,$0B
+	db $05,$0C
+	db $FF
+
+CoordsData_49df1:
+	db $07,$0D
+	db $06,$0E
+	db $05,$0E
+	db $FF
+
+MovementData_49df8:
+	db NPC_MOVEMENT_RIGHT
+
+MovementData_49df9:
+	db NPC_MOVEMENT_UP,$FF
+
+MtMoon3Script5:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld a, $a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	CheckEvent EVENT_GOT_DOME_FOSSIL
+	jr z, .asm_49e1d
+	ld a, HS_MT_MOON_B2F_FOSSIL_2
+	jr .asm_49e1f
+.asm_49e1d
+	ld a, HS_MT_MOON_B2F_FOSSIL_1
+.asm_49e1f
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wMtMoonB2FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+MtMoonB2F_TextPointers:
+	dw MtMoon3Text1
+	dw MtMoon3Text2
+	dw MtMoon3Text3
+	dw MtMoon3Text4
+	dw MtMoon3Text5
+	dw MtMoon3Text6
+	dw MtMoon3Text7
+	dw PickUpItemText
+	dw PickUpItemText
+	dw MtMoon3Text_49f99
+
+MtMoon3TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0
+	dw MtMoon3BattleText2 ; TextBeforeBattle
+	dw MtMoon3AfterBattleText2 ; TextAfterBattle
+	dw MtMoon3EndBattleText2 ; TextEndBattle
+	dw MtMoon3EndBattleText2 ; TextEndBattle
+
+MtMoon3TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_1
+	dw MtMoon3BattleText3 ; TextBeforeBattle
+	dw MtMoon3AfterBattleText3 ; TextAfterBattle
+	dw MtMoon3EndBattleText3 ; TextEndBattle
+	dw MtMoon3EndBattleText3 ; TextEndBattle
+
+MtMoon3TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2
+	dw MtMoon3BattleText4 ; TextBeforeBattle
+	dw MtMoon3AfterBattleText4 ; TextAfterBattle
+	dw MtMoon3EndBattleText4 ; TextEndBattle
+	dw MtMoon3EndBattleText4 ; TextEndBattle
+
+MtMoon3TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3
+	dw MtMoon3BattleText5 ; TextBeforeBattle
+	dw MtMoon3AfterBattleText5 ; TextAfterBattle
+	dw MtMoon3EndBattleText5 ; TextEndBattle
+	dw MtMoon3EndBattleText5 ; TextEndBattle
+
+	db $ff
+
+MtMoon3Text1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
+	jr z, .asm_49e8d
+	and $c0
+	jr nz, .asm_49eb8
+	ld hl, MtMoon3Text_49f8f
+	call PrintText
+	jr .asm_49ebe
+.asm_49e8d
+	ld hl, MtMoon3Text_49f85
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, MtMoon3Text_49f8a
+	ld de, MtMoon3Text_49f8a
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $3
+	ld [wMtMoonB2FCurScript], a
+	ld [wCurMapScript], a
+	jr .asm_49ebe
+.asm_49eb8
+	ld hl, MtMoon3Text_49f94
+	call PrintText
+.asm_49ebe
+	jp TextScriptEnd
+
+MtMoon3Text2:
+	TX_ASM
+	ld hl, MtMoon3TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon3Text3:
+	TX_ASM
+	ld hl, MtMoon3TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon3Text4:
+	TX_ASM
+	ld hl, MtMoon3TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon3Text5:
+	TX_ASM
+	ld hl, MtMoon3TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MtMoon3Text6:
+	TX_ASM
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, MtMoon3Text_49f24
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_49f21
+	lb bc, DOME_FOSSIL, 1
+	call GiveItem
+	jp nc, MtMoon3Script_49f76
+	call MtMoon3Script_49f69
+	ld a, HS_MT_MOON_B2F_FOSSIL_1
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	SetEvent EVENT_GOT_DOME_FOSSIL
+	ld a, $4
+	ld [wMtMoonB2FCurScript], a
+	ld [wCurMapScript], a
+.asm_49f21
+	jp TextScriptEnd
+
+MtMoon3Text_49f24:
+	TX_FAR _MtMoon3Text_49f24
+	db "@"
+
+MtMoon3Text7:
+	TX_ASM
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, MtMoon3Text_49f64
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_49f61
+	lb bc, HELIX_FOSSIL, 1
+	call GiveItem
+	jp nc, MtMoon3Script_49f76
+	call MtMoon3Script_49f69
+	ld a, HS_MT_MOON_B2F_FOSSIL_2
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	SetEvent EVENT_GOT_HELIX_FOSSIL
+	ld a, $4
+	ld [wMtMoonB2FCurScript], a
+	ld [wCurMapScript], a
+.asm_49f61
+	jp TextScriptEnd
+
+MtMoon3Text_49f64:
+	TX_FAR _MtMoon3Text_49f64
+	db "@"
+
+MtMoon3Script_49f69:
+	ld hl, MtMoon3Text_49f6f
+	jp PrintText
+
+MtMoon3Text_49f6f:
+	TX_FAR _MtMoon3Text_49f6f
+	TX_SFX_KEY_ITEM
+	TX_WAIT
+	db "@"
+
+MtMoon3Script_49f76:
+	ld hl, MtMoon3Text_49f7f
+	call PrintText
+	jp TextScriptEnd
+
+MtMoon3Text_49f7f:
+	TX_FAR _MtMoon3Text_49f7f
+	TX_WAIT
+	db "@"
+
+MtMoon3Text_49f85:
+	TX_FAR _MtMoon3Text_49f85
+	db "@"
+
+MtMoon3Text_49f8a:
+	TX_FAR _MtMoon3Text_49f8a
+	db "@"
+
+MtMoon3Text_49f8f:
+	TX_FAR _MtMoon3Text_49f8f
+	db "@"
+
+MtMoon3Text_49f94:
+	TX_FAR _MtMoon3Text_49f94
+	db "@"
+
+MtMoon3Text_49f99:
+	TX_FAR _MtMoon3Text_49f99
+	TX_SFX_KEY_ITEM
+	db "@"
+
+MtMoon3BattleText2:
+	TX_FAR _MtMoon3BattleText2
+	db "@"
+
+MtMoon3EndBattleText2:
+	TX_FAR _MtMoon3EndBattleText2
+	db "@"
+
+MtMoon3AfterBattleText2:
+	TX_FAR _MtMoon3AfterBattleText2
+	db "@"
+
+MtMoon3BattleText3:
+	TX_FAR _MtMoon3BattleText3
+	db "@"
+
+MtMoon3EndBattleText3:
+	TX_FAR _MtMoon3EndBattleText3
+	db "@"
+
+MtMoon3AfterBattleText3:
+	TX_FAR _MtMoon3AfterBattleText3
+	db "@"
+
+MtMoon3BattleText4:
+	TX_FAR _MtMoon3BattleText4
+	db "@"
+
+MtMoon3EndBattleText4:
+	TX_FAR _MtMoon3EndBattleText4
+	db "@"
+
+MtMoon3AfterBattleText4:
+	TX_FAR _MtMoon3AfterBattleText4
+	db "@"
+
+MtMoon3BattleText5:
+	TX_FAR _MtMoon3BattleText5
+	db "@"
+
+MtMoon3EndBattleText5:
+	TX_FAR _MtMoon3EndBattleText5
+	db "@"
+
+MtMoon3AfterBattleText5:
+	TX_FAR _MtMoon3AfterBattleText5
+	db "@"
--- /dev/null
+++ b/scripts/MtMoonPokecenter.asm
@@ -1,0 +1,94 @@
+MtMoonPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+MtMoonPokecenter_TextPointers:
+	dw MtMoonHealNurseText
+	dw MtMoonPokecenterText2
+	dw MtMoonPokecenterText3
+	dw MagikarpSalesmanText
+	dw MtMoonPokecenterText5
+	dw MtMoonTradeNurseText
+
+MtMoonHealNurseText:
+	db $ff
+
+MtMoonPokecenterText2:
+	TX_FAR _MtMoonPokecenterText1
+	db "@"
+
+MtMoonPokecenterText3:
+	TX_FAR _MtMoonPokecenterText3
+	db "@"
+
+MagikarpSalesmanText:
+	TX_ASM
+	CheckEvent EVENT_BOUGHT_MAGIKARP, 1
+	jp c, .alreadyBoughtMagikarp
+	ld hl, .Text1
+	call PrintText
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jp nz, .choseNo
+	ld [hMoney], a
+	ld [hMoney + 2], a
+	ld a, $5
+	ld [hMoney + 1], a
+	call HasEnoughMoney
+	jr nc, .enoughMoney
+	ld hl, .NoMoneyText
+	jr .printText
+.enoughMoney
+	lb bc, MAGIKARP, 5
+	call GivePokemon
+	jr nc, .done
+	xor a
+	ld [wPriceTemp], a
+	ld [wPriceTemp + 2], a
+	ld a, $5
+	ld [wPriceTemp + 1], a
+	ld hl, wPriceTemp + 2
+	ld de, wPlayerMoney + 2
+	ld c, $3
+	predef SubBCDPredef
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	SetEvent EVENT_BOUGHT_MAGIKARP
+	jr .done
+.choseNo
+	ld hl, .RefuseText
+	jr .printText
+.alreadyBoughtMagikarp
+	ld hl, .Text2
+.printText
+	call PrintText
+.done
+	jp TextScriptEnd
+
+.Text1
+	TX_FAR _MagikarpSalesmanText1
+	db "@"
+
+.RefuseText
+	TX_FAR _MagikarpSalesmanNoText
+	db "@"
+
+.NoMoneyText
+	TX_FAR _MagikarpSalesmanNoMoneyText
+	db "@"
+
+.Text2
+	TX_FAR _MagikarpSalesmanText2
+	db "@"
+
+MtMoonPokecenterText5:
+	TX_FAR _MtMoonPokecenterText5
+	db "@"
+
+MtMoonTradeNurseText:
+	db $f6
--- /dev/null
+++ b/scripts/Museum1F.asm
@@ -1,0 +1,247 @@
+Museum1F_Script:
+	ld a, $1
+	ld [wAutoTextBoxDrawingControl], a
+	xor a
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, Museum1F_ScriptPointers
+	ld a, [wMuseum1FCurScript]
+	jp CallFunctionInTable
+
+Museum1F_ScriptPointers:
+	dw Museum1FScript0
+	dw Museum1FScript1
+
+Museum1FScript0:
+	ld a, [wYCoord]
+	cp $4
+	ret nz
+	ld a, [wXCoord]
+	cp $9
+	jr z, .asm_5c120
+	ld a, [wXCoord]
+	cp $a
+	ret nz
+.asm_5c120
+	xor a
+	ld [hJoyHeld], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+Museum1FScript1:
+	ret
+
+Museum1F_TextPointers:
+	dw Museum1FText1
+	dw Museum1FText2
+	dw Museum1FText3
+	dw Museum1FText4
+	dw Museum1FText5
+
+Museum1FText1:
+	TX_ASM
+	ld a, [wYCoord]
+	cp $4
+	jr nz, .asm_8774b
+	ld a, [wXCoord]
+	cp $d
+	jp z, Museum1FScript_5c1f9
+	jr .asm_b8709
+.asm_8774b
+	cp $3
+	jr nz, .asm_d49e7
+	ld a, [wXCoord]
+	cp $c
+	jp z, Museum1FScript_5c1f9
+.asm_d49e7
+	CheckEvent EVENT_BOUGHT_MUSEUM_TICKET
+	jr nz, .asm_31a16
+	ld hl, Museum1FText_5c23d
+	call PrintText
+	jp Museum1FScriptEnd
+.asm_b8709
+	CheckEvent EVENT_BOUGHT_MUSEUM_TICKET
+	jr z, .asm_3ded4
+.asm_31a16
+	ld hl, Museum1FText_5c242
+	call PrintText
+	jp Museum1FScriptEnd
+.asm_3ded4
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	xor a
+	ld [hJoyHeld], a
+	ld hl, Museum1FText_5c21f
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_de133
+	xor a
+	ld [hMoney], a
+	ld [hMoney + 1], a
+	ld a, $50
+	ld [hMoney + 2], a
+	call HasEnoughMoney
+	jr nc, .asm_0f3e3
+	ld hl, Museum1FText_5c229
+	call PrintText
+	jp .asm_de133
+.asm_0f3e3
+	ld hl, Museum1FText_5c224
+	call PrintText
+	SetEvent EVENT_BOUGHT_MUSEUM_TICKET
+	xor a
+	ld [wPriceTemp], a
+	ld [wPriceTemp + 1], a
+	ld a, $50
+	ld [wPriceTemp + 2], a
+	ld hl, wPriceTemp + 2
+	ld de, wPlayerMoney + 2
+	ld c, $3
+	predef SubBCDPredef
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	ld a, SFX_PURCHASE
+	call PlaySoundWaitForCurrent
+	call WaitForSoundToFinish
+	jr .asm_0b094
+.asm_de133
+	ld hl, Museum1FText_5c21a
+	call PrintText
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_DOWN
+	ld [wSimulatedJoypadStatesEnd], a
+	call StartSimulatingJoypadStates
+	call UpdateSprites
+	jr Museum1FScriptEnd
+.asm_0b094
+	ld a, $1
+	ld [wMuseum1FCurScript], a
+	jr Museum1FScriptEnd
+
+Museum1FScript_5c1f9:
+	ld hl, Museum1FText_5c22e
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	cp $0
+	jr nz, .asm_d1144
+	ld hl, Museum1FText_5c233
+	call PrintText
+	jr Museum1FScriptEnd
+.asm_d1144
+	ld hl, Museum1FText_5c238
+	call PrintText
+Museum1FScriptEnd:
+	jp TextScriptEnd
+
+Museum1FText_5c21a:
+	TX_FAR _Museum1FText_5c21a
+	db "@"
+
+Museum1FText_5c21f:
+	TX_FAR _Museum1FText_5c21f
+	db "@"
+
+Museum1FText_5c224:
+	TX_FAR _Museum1FText_5c224
+	db "@"
+
+Museum1FText_5c229:
+	TX_FAR _Museum1FText_5c229
+	db "@"
+
+Museum1FText_5c22e:
+	TX_FAR _Museum1FText_5c22e
+	db "@"
+
+Museum1FText_5c233:
+	TX_FAR _Museum1FText_5c233
+	db "@"
+
+Museum1FText_5c238:
+	TX_FAR _Museum1FText_5c238
+	db "@"
+
+Museum1FText_5c23d:
+	TX_FAR _Museum1FText_5c23d
+	db "@"
+
+Museum1FText_5c242:
+	TX_FAR _Museum1FText_5c242
+	db "@"
+
+Museum1FText2:
+	TX_ASM
+	ld hl, Museum1FText_5c251
+	call PrintText
+	jp TextScriptEnd
+
+Museum1FText_5c251:
+	TX_FAR _Museum1FText_5c251
+	db "@"
+
+Museum1FText3:
+	TX_ASM
+	CheckEvent EVENT_GOT_OLD_AMBER
+	jr nz, .asm_5c285
+	ld hl, Museum1FText_5c28e
+	call PrintText
+	lb bc, OLD_AMBER, 1
+	call GiveItem
+	jr nc, .BagFull
+	SetEvent EVENT_GOT_OLD_AMBER
+	ld a, HS_OLD_AMBER
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld hl, ReceivedOldAmberText
+	jr .asm_5c288
+.BagFull
+	ld hl, Museum1FText_5c29e
+	jr .asm_5c288
+.asm_5c285
+	ld hl, Museum1FText_5c299
+.asm_5c288
+	call PrintText
+	jp TextScriptEnd
+
+Museum1FText_5c28e:
+	TX_FAR _Museum1FText_5c28e
+	db "@"
+
+ReceivedOldAmberText:
+	TX_FAR _ReceivedOldAmberText
+	TX_SFX_ITEM_1
+	db "@"
+
+Museum1FText_5c299:
+	TX_FAR _Museum1FText_5c299
+	db "@"
+
+Museum1FText_5c29e:
+	TX_FAR _Museum1FText_5c29e
+	db "@"
+
+Museum1FText4:
+	TX_ASM
+	ld hl, Museum1FText_5c2ad
+	call PrintText
+	jp TextScriptEnd
+
+Museum1FText_5c2ad:
+	TX_FAR _Museum1FText_5c2ad
+	db "@"
+
+Museum1FText5:
+	TX_ASM
+	ld hl, Museum1FText_5c2bc
+	call PrintText
+	jp TextScriptEnd
+
+Museum1FText_5c2bc:
+	TX_FAR _Museum1FText_5c2bc
+	db "@"
--- /dev/null
+++ b/scripts/Museum2F.asm
@@ -1,0 +1,39 @@
+Museum2F_Script:
+	jp EnableAutoTextBoxDrawing
+
+Museum2F_TextPointers:
+	dw Museum2FText1
+	dw Museum2FText2
+	dw Museum2FText3
+	dw Museum2FText4
+	dw Museum2FText5
+	dw Museum2FText6
+	dw Museum2FText7
+
+Museum2FText1:
+	TX_FAR _Museum2FText1
+	db "@"
+
+Museum2FText2:
+	TX_FAR _Museum2FText2
+	db "@"
+
+Museum2FText3:
+	TX_FAR _Museum2FText3
+	db "@"
+
+Museum2FText4:
+	TX_FAR _Museum2FText4
+	db "@"
+
+Museum2FText5:
+	TX_FAR _Museum2FText5
+	db "@"
+
+Museum2FText6:
+	TX_FAR _Museum2FText6
+	db "@"
+
+Museum2FText7:
+	TX_FAR _Museum2FText7
+	db "@"
--- /dev/null
+++ b/scripts/NameRatersHouse.asm
@@ -1,0 +1,107 @@
+NameRatersHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+NameRaterScript_1da15:
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	ret
+
+NameRaterScript_1da20:
+	ld hl, wPartyMonOT
+	ld bc, NAME_LENGTH
+	ld a, [wWhichPokemon]
+	call AddNTimes
+	ld de, wPlayerName
+	ld c, NAME_LENGTH
+	call .asm_1da47
+	jr c, .asm_1da52
+	ld hl, wPartyMon1OTID
+	ld bc, wPartyMon2 - wPartyMon1
+	ld a, [wWhichPokemon]
+	call AddNTimes
+	ld de, wPlayerID
+	ld c, $2
+.asm_1da47
+	ld a, [de]
+	cp [hl]
+	jr nz, .asm_1da52
+	inc hl
+	inc de
+	dec c
+	jr nz, .asm_1da47
+	and a
+	ret
+.asm_1da52
+	scf
+	ret
+
+NameRatersHouse_TextPointers:
+	dw NameRaterText1
+
+NameRaterText1:
+	TX_ASM
+	call SaveScreenTilesToBuffer2
+	ld hl, NameRaterText_1dab3
+	call NameRaterScript_1da15
+	jr nz, .asm_1daae
+	ld hl, NameRaterText_1dab8
+	call PrintText
+	xor a
+	ld [wPartyMenuTypeOrMessageID], a
+	ld [wUpdateSpritesEnabled], a
+	ld [wMenuItemToSwap], a
+	call DisplayPartyMenu
+	push af
+	call GBPalWhiteOutWithDelay3
+	call RestoreScreenTilesAndReloadTilePatterns
+	call LoadGBPal
+	pop af
+	jr c, .asm_1daae
+	call GetPartyMonName2
+	call NameRaterScript_1da20
+	ld hl, NameRaterText_1dad1
+	jr c, .asm_1daa8
+	ld hl, NameRaterText_1dabd
+	call NameRaterScript_1da15
+	jr nz, .asm_1daae
+	ld hl, NameRaterText_1dac2
+	call PrintText
+	callba DisplayNameRaterScreen
+	jr c, .asm_1daae
+	ld hl, NameRaterText_1dac7
+.asm_1daa8
+	call PrintText
+	jp TextScriptEnd
+.asm_1daae
+	ld hl, NameRaterText_1dacc
+	jr .asm_1daa8
+
+NameRaterText_1dab3:
+	TX_FAR _NameRaterText_1dab3
+	db "@"
+
+NameRaterText_1dab8:
+	TX_FAR _NameRaterText_1dab8
+	db "@"
+
+NameRaterText_1dabd:
+	TX_FAR _NameRaterText_1dabd
+	db "@"
+
+NameRaterText_1dac2:
+	TX_FAR _NameRaterText_1dac2
+	db "@"
+
+NameRaterText_1dac7:
+	TX_FAR _NameRaterText_1dac7
+	db "@"
+
+NameRaterText_1dacc:
+	TX_FAR _NameRaterText_1dacc
+	db "@"
+
+NameRaterText_1dad1:
+	TX_FAR _NameRaterText_1dad1
+	db "@"
--- /dev/null
+++ b/scripts/OaksLab.asm
@@ -1,0 +1,1233 @@
+OaksLab_Script:
+	CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2
+	call nz, OaksLabScript_1d076
+	ld a, $1
+	ld [wAutoTextBoxDrawingControl], a
+	xor a
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, OaksLab_ScriptPointers
+	ld a, [wOaksLabCurScript]
+	jp CallFunctionInTable
+
+OaksLab_ScriptPointers:
+	dw OaksLabScript0
+	dw OaksLabScript1
+	dw OaksLabScript2
+	dw OaksLabScript3
+	dw OaksLabScript4
+	dw OaksLabScript5
+	dw OaksLabScript6
+	dw OaksLabScript7
+	dw OaksLabScript8
+	dw OaksLabScript9
+	dw OaksLabScript10
+	dw OaksLabScript11
+	dw OaksLabScript12
+	dw OaksLabScript13
+	dw OaksLabScript14
+	dw OaksLabScript15
+	dw OaksLabScript16
+	dw OaksLabScript17
+	dw OaksLabScript18
+
+OaksLabScript0:
+	CheckEvent EVENT_OAK_APPEARED_IN_PALLET
+	ret z
+	ld a, [wNPCMovementScriptFunctionNum]
+	and a
+	ret nz
+	ld a, HS_OAKS_LAB_OAK_2
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld hl, wd72e
+	res 4, [hl]
+
+	ld a, $1
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript1:
+	ld a, $8
+	ld [H_SPRITEINDEX], a
+	ld de, OakEntryMovement
+	call MoveSprite
+
+	ld a, $2
+	ld [wOaksLabCurScript], a
+	ret
+
+OakEntryMovement:
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db $FF
+
+OaksLabScript2:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_OAKS_LAB_OAK_2
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_OAKS_LAB_OAK_1
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+
+	ld a, $3
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript3:
+	call Delay3
+	ld hl, wSimulatedJoypadStatesEnd
+	ld de, PlayerEntryMovementRLE
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	xor a
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $5
+	ld [H_SPRITEINDEX], a
+	xor a
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+
+	ld a, $4
+	ld [wOaksLabCurScript], a
+	ret
+
+PlayerEntryMovementRLE:
+	db D_UP,$8
+	db $ff
+
+OaksLabScript4:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	SetEvent EVENT_FOLLOWED_OAK_INTO_LAB
+	SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_UP
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	call UpdateSprites
+	ld hl, wFlags_D733
+	res 1, [hl]
+	call PlayDefaultMusic
+
+	ld a, $5
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript5:
+	ld a, $fc
+	ld [wJoyIgnore], a
+	ld a, $11
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Delay3
+	ld a, $12
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Delay3
+	ld a, $13
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Delay3
+	ld a, $14
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON
+	xor a
+	ld [wJoyIgnore], a
+
+	ld a, $6
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript6:
+	ld a, [wYCoord]
+	cp $6
+	ret nz
+	ld a, $5
+	ld [H_SPRITEINDEX], a
+	xor a ; SPRITE_FACING_DOWN
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	xor a
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	call UpdateSprites
+	ld a, $c
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	call StartSimulatingJoypadStates
+	ld a, PLAYER_DIR_UP
+	ld [wPlayerMovingDirection], a
+
+	ld a, $7
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript7:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+
+	ld a, $6
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript8:
+	ld a, [wPlayerStarter]
+	cp STARTER1
+	jr z, .Charmander
+	cp STARTER2
+	jr z, .Squirtle
+	jr .Bulbasaur
+.Charmander
+	ld de, .MiddleBallMovement1
+	ld a, [wYCoord]
+	cp $4 ; is the player standing below the table?
+	jr z, .asm_1ccf3
+	ld de, .MiddleBallMovement2
+	jr .asm_1ccf3
+
+.MiddleBallMovement1
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_UP
+	db $FF
+
+.MiddleBallMovement2
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+.Squirtle
+	ld de, .RightBallMovement1
+	ld a, [wYCoord]
+	cp $4 ; is the player standing below the table?
+	jr z, .asm_1ccf3
+	ld de, .RightBallMovement2
+	jr .asm_1ccf3
+
+.RightBallMovement1
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_UP
+	db $FF
+
+.RightBallMovement2
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+.Bulbasaur
+	ld de, .LeftBallMovement1
+	ld a, [wXCoord]
+	cp $9 ; is the player standing to the right of the table?
+	jr nz, .asm_1ccf3
+	push hl
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, $4
+	ld [H_SPRITEDATAOFFSET], a
+	call GetPointerWithinSpriteStateData1
+	push hl
+	ld [hl], $4c
+	inc hl
+	inc hl
+	ld [hl], $0
+	pop hl
+	inc h
+	ld [hl], $8
+	inc hl
+	ld [hl], $9
+	ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that
+	pop hl
+	jr .asm_1ccf3
+
+.LeftBallMovement1
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT ; not yet terminated!
+.LeftBallMovement2
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+.asm_1ccf3
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+
+	ld a, $9
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript9:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, $fc
+	ld [wJoyIgnore], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_UP
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $d
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, [wRivalStarterBallSpriteIndex]
+	cp $2
+	jr nz, .asm_1cd28
+	ld a, HS_STARTER_BALL_1
+	jr .asm_1cd32
+.asm_1cd28
+	cp $3
+	jr nz, .asm_1cd30
+	ld a, HS_STARTER_BALL_2
+	jr .asm_1cd32
+.asm_1cd30
+	ld a, HS_STARTER_BALL_3
+.asm_1cd32
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call Delay3
+	ld a, [wRivalStarterTemp]
+	ld [wRivalStarter], a
+	ld [wcf91], a
+	ld [wd11e], a
+	call GetMonName
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_UP
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $e
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_STARTER
+	xor a
+	ld [wJoyIgnore], a
+
+	ld a, $a
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript10:
+	ld a, [wYCoord]
+	cp $6
+	ret nz
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	xor a ; SPRITE_FACING_DOWN
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, PLAYER_DIR_UP
+	ld [wPlayerMovingDirection], a
+	ld c, BANK(Music_MeetRival)
+	ld a, MUSIC_MEET_RIVAL
+	call PlayMusic
+	ld a, $f
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $1
+	ld [hNPCPlayerRelativePosPerspective], a
+	ld a, $1
+	swap a
+	ld [hNPCSpriteOffset], a
+	predef CalcPositionOfPlayerRelativeToNPC
+	ld a, [hNPCPlayerYDistance]
+	dec a
+	ld [hNPCPlayerYDistance], a
+	predef FindPathToPlayer
+	ld de, wNPCMovementDirections2
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+
+	ld a, $b
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript11:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+
+	; define which team rival uses, and fight it
+	ld a, OPP_SONY1
+	ld [wCurOpponent], a
+	ld a, [wRivalStarter]
+	cp STARTER2
+	jr nz, .NotSquirtle
+	ld a, $1
+	jr .done
+.NotSquirtle
+	cp STARTER3
+	jr nz, .Charmander
+	ld a, $2
+	jr .done
+.Charmander
+	ld a, $3
+.done
+	ld [wTrainerNo], a
+	ld a, $1
+	ld [wSpriteIndex], a
+	call GetSpritePosition1
+	ld hl, OaksLabText_1d3be
+	ld de, OaksLabText_1d3c3
+	call SaveEndBattleTextPointers
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	xor a
+	ld [wJoyIgnore], a
+	ld a, PLAYER_DIR_UP
+	ld [wPlayerMovingDirection], a
+	ld a, $c
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript12:
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, PLAYER_DIR_UP
+	ld [wPlayerMovingDirection], a
+	call UpdateSprites
+	ld a, $1
+	ld [wSpriteIndex], a
+	call SetSpritePosition1
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	xor a ; SPRITE_FACING_DOWN
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	predef HealParty
+	SetEvent EVENT_BATTLED_RIVAL_IN_OAKS_LAB
+
+	ld a, $d
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript13:
+	ld c, 20
+	call DelayFrames
+	ld a, $10
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	callba Music_RivalAlternateStart
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld de, .RivalExitMovement
+	call MoveSprite
+	ld a, [wXCoord]
+	cp $4
+	; move left or right depending on where the player is standing
+	jr nz, .moveLeft
+	ld a, NPC_MOVEMENT_RIGHT
+	jr .next
+.moveLeft
+	ld a, NPC_MOVEMENT_LEFT
+.next
+	ld [wNPCMovementDirections], a
+
+	ld a, $e
+	ld [wOaksLabCurScript], a
+	ret
+
+.RivalExitMovement
+	db $E0 ; change sprite facing direction
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+OaksLabScript14:
+	ld a, [wd730]
+	bit 0, a
+	jr nz, .asm_1ce8c
+	ld a, HS_OAKS_LAB_RIVAL
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	xor a
+	ld [wJoyIgnore], a
+	call PlayDefaultMusic ; reset to map music
+	ld a, $12
+	ld [wOaksLabCurScript], a
+	jr .done
+; make the player keep facing the rival as he walks away
+.asm_1ce8c
+	ld a, [wNPCNumScriptedSteps]
+	cp $5
+	jr nz, .asm_1cea8
+	ld a, [wXCoord]
+	cp $4
+	jr nz, .asm_1cea1
+	ld a, SPRITE_FACING_RIGHT
+	ld [wSpriteStateData1 + 9], a
+	jr .done
+.asm_1cea1
+	ld a, SPRITE_FACING_LEFT
+	ld [wSpriteStateData1 + 9], a
+	jr .done
+.asm_1cea8
+	cp $4
+	ret nz
+	xor a ; ld a, SPRITE_FACING_DOWN
+	ld [wSpriteStateData1 + 9], a
+.done
+	ret
+
+OaksLabScript15:
+	xor a
+	ld [hJoyHeld], a
+	call EnableAutoTextBoxDrawing
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStart
+	ld a, $15
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call OaksLabScript_1d02b
+	ld a, HS_OAKS_LAB_RIVAL
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, [wNPCMovementDirections2Index]
+	ld [wSavedNPCMovementDirections2Index], a
+	ld b, 0
+	ld c, a
+	ld hl, wNPCMovementDirections2
+	ld a, NPC_MOVEMENT_UP
+	call FillMemory
+	ld [hl], $ff
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld de, wNPCMovementDirections2
+	call MoveSprite
+
+	ld a, $10
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript_1cefd:
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_UP
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $8
+	ld [H_SPRITEINDEX], a
+	xor a ; SPRITE_FACING_DOWN
+	ld [hSpriteFacingDirection], a
+	jp SetSpriteFacingDirectionAndDelay
+
+OaksLabScript16:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	call EnableAutoTextBoxDrawing
+	call PlayDefaultMusic
+	ld a, $fc
+	ld [wJoyIgnore], a
+	call OaksLabScript_1cefd
+	ld a, $16
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call DelayFrame
+	call OaksLabScript_1cefd
+	ld a, $17
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call DelayFrame
+	call OaksLabScript_1cefd
+	ld a, $18
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call DelayFrame
+	ld a, $19
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Delay3
+	ld a, HS_POKEDEX_1
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_POKEDEX_2
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call OaksLabScript_1cefd
+	ld a, $1a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_RIGHT
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	call Delay3
+	ld a, $1b
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_POKEDEX
+	SetEvent EVENT_OAK_GOT_PARCEL
+	ld a, HS_LYING_OLD_MAN
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_OLD_MAN
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, [wSavedNPCMovementDirections2Index]
+	ld b, 0
+	ld c, a
+	ld hl, wNPCMovementDirections2
+	xor a ; NPC_MOVEMENT_DOWN
+	call FillMemory
+	ld [hl], $ff
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStart
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld de, wNPCMovementDirections2
+	call MoveSprite
+
+	ld a, $11
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript17:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	call PlayDefaultMusic
+	ld a, HS_OAKS_LAB_RIVAL
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE
+	ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE
+	SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE
+	ld a, HS_ROUTE_22_RIVAL_1
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, $5
+	ld [wPalletTownCurScript], a
+	xor a
+	ld [wJoyIgnore], a
+
+	ld a, $12
+	ld [wOaksLabCurScript], a
+	ret
+
+OaksLabScript18:
+	ret
+
+OaksLabScript_RemoveParcel:
+	ld hl, wBagItems
+	ld bc, $0000
+.loop
+	ld a, [hli]
+	cp $ff
+	ret z
+	cp OAKS_PARCEL
+	jr z, .foundParcel
+	inc hl
+	inc c
+	jr .loop
+.foundParcel
+	ld hl, wNumBagItems
+	ld a, c
+	ld [wWhichPokemon], a
+	ld a, $1
+	ld [wItemQuantity], a
+	jp RemoveItemFromInventory
+
+OaksLabScript_1d02b:
+	ld a, $7c
+	ld [$ffeb], a
+	ld a, $8
+	ld [$ffee], a
+	ld a, [wYCoord]
+	cp $3
+	jr nz, .asm_1d045
+	ld a, $4
+	ld [wNPCMovementDirections2Index], a
+	ld a, $30
+	ld b, $b
+	jr .asm_1d068
+.asm_1d045
+	cp $1
+	jr nz, .asm_1d054
+	ld a, $2
+	ld [wNPCMovementDirections2Index], a
+	ld a, $30
+	ld b, $9
+	jr .asm_1d068
+.asm_1d054
+	ld a, $3
+	ld [wNPCMovementDirections2Index], a
+	ld b, $a
+	ld a, [wXCoord]
+	cp $4
+	jr nz, .asm_1d066
+	ld a, $40
+	jr .asm_1d068
+.asm_1d066
+	ld a, $20
+.asm_1d068
+	ld [$ffec], a
+	ld a, b
+	ld [$ffed], a
+	ld a, $1
+	ld [wSpriteIndex], a
+	call SetSpritePosition1
+	ret
+
+OaksLabScript_1d076:
+	ld hl, OaksLab_TextPointers2
+	ld a, l
+	ld [wMapTextPtr], a
+	ld a, h
+	ld [wMapTextPtr+1], a
+	ret
+
+OaksLab_TextPointers:
+	dw OaksLabText1
+	dw OaksLabText2
+	dw OaksLabText3
+	dw OaksLabText4
+	dw OaksLabText5
+	dw OaksLabText6
+	dw OaksLabText7
+	dw OaksLabText8
+	dw OaksLabText9
+	dw OaksLabText10
+	dw OaksLabText11
+	dw OaksLabText12
+	dw OaksLabText13
+	dw OaksLabText14
+	dw OaksLabText15
+	dw OaksLabText16
+	dw OaksLabText17
+	dw OaksLabText18
+	dw OaksLabText19
+	dw OaksLabText20
+	dw OaksLabText21
+	dw OaksLabText22
+	dw OaksLabText23
+	dw OaksLabText24
+	dw OaksLabText25
+	dw OaksLabText26
+	dw OaksLabText27
+
+OaksLab_TextPointers2:
+	dw OaksLabText1
+	dw OaksLabText2
+	dw OaksLabText3
+	dw OaksLabText4
+	dw OaksLabText5
+	dw OaksLabText6
+	dw OaksLabText7
+	dw OaksLabText8
+	dw OaksLabText9
+	dw OaksLabText10
+	dw OaksLabText11
+
+OaksLabText1:
+	TX_ASM
+	CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2
+	jr nz, .asm_1d0de
+	ld hl, OaksLabGaryText1
+	call PrintText
+	jr .asm_1d0f0
+.asm_1d0de
+	bit 2, a
+	jr nz, .asm_1d0ea
+	ld hl, OaksLabText40
+	call PrintText
+	jr .asm_1d0f0
+.asm_1d0ea
+	ld hl, OaksLabText41
+	call PrintText
+.asm_1d0f0
+	jp TextScriptEnd
+
+OaksLabGaryText1:
+	TX_FAR _OaksLabGaryText1
+	db "@"
+
+OaksLabText40:
+	TX_FAR _OaksLabText40
+	db "@"
+
+OaksLabText41:
+	TX_FAR _OaksLabText41
+	db "@"
+
+OaksLabText2:
+	TX_ASM
+	ld a, STARTER2
+	ld [wRivalStarterTemp], a
+	ld a, $3
+	ld [wRivalStarterBallSpriteIndex], a
+	ld a, STARTER1
+	ld b, $2
+	jr OaksLabScript_1d133
+
+OaksLabText3:
+	TX_ASM
+	ld a, STARTER3
+	ld [wRivalStarterTemp], a
+	ld a, $4
+	ld [wRivalStarterBallSpriteIndex], a
+	ld a, STARTER2
+	ld b, $3
+	jr OaksLabScript_1d133
+
+OaksLabText4:
+	TX_ASM
+	ld a, STARTER1
+	ld [wRivalStarterTemp], a
+	ld a, $2
+	ld [wRivalStarterBallSpriteIndex], a
+	ld a, STARTER3
+	ld b, $4
+
+OaksLabScript_1d133:
+	ld [wcf91], a
+	ld [wd11e], a
+	ld a, b
+	ld [wSpriteIndex], a
+	CheckEvent EVENT_GOT_STARTER
+	jp nz, OaksLabScript_1d22d
+	CheckEventReuseA EVENT_OAK_ASKED_TO_CHOOSE_MON
+	jr nz, OaksLabScript_1d157
+	ld hl, OaksLabText39
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabText39:
+	TX_FAR _OaksLabText39
+	db "@"
+
+OaksLabScript_1d157:
+	ld a, $5
+	ld [H_SPRITEINDEX], a
+	ld a, $9
+	ld [H_SPRITEDATAOFFSET], a
+	call GetPointerWithinSpriteStateData1
+	ld [hl], SPRITE_FACING_DOWN
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, $9
+	ld [H_SPRITEDATAOFFSET], a
+	call GetPointerWithinSpriteStateData1
+	ld [hl], SPRITE_FACING_RIGHT
+	ld hl, wd730
+	set 6, [hl]
+	predef StarterDex
+	ld hl, wd730
+	res 6, [hl]
+	call ReloadMapData
+	ld c, 10
+	call DelayFrames
+	ld a, [wSpriteIndex]
+	cp $2
+	jr z, OaksLabLookAtCharmander
+	cp $3
+	jr z, OaksLabLookAtSquirtle
+	jr OaksLabLookAtBulbasaur
+
+OaksLabLookAtCharmander:
+	ld hl, OaksLabCharmanderText
+	jr OaksLabMonChoiceMenu
+OaksLabCharmanderText:
+	TX_FAR _OaksLabCharmanderText
+	db "@"
+
+OaksLabLookAtSquirtle:
+	ld hl, OaksLabSquirtleText
+	jr OaksLabMonChoiceMenu
+OaksLabSquirtleText:
+	TX_FAR _OaksLabSquirtleText
+	db "@"
+
+OaksLabLookAtBulbasaur:
+	ld hl, OaksLabBulbasaurText
+	jr OaksLabMonChoiceMenu
+OaksLabBulbasaurText:
+	TX_FAR _OaksLabBulbasaurText
+	db "@"
+
+OaksLabMonChoiceMenu:
+	call PrintText
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	call YesNoChoice ; yes/no menu
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, OaksLabMonChoiceEnd
+	ld a, [wcf91]
+	ld [wPlayerStarter], a
+	ld [wd11e], a
+	call GetMonName
+	ld a, [wSpriteIndex]
+	cp $2
+	jr nz, .asm_1d1db
+	ld a, HS_STARTER_BALL_1
+	jr .asm_1d1e5
+.asm_1d1db
+	cp $3
+	jr nz, .asm_1d1e3
+	ld a, HS_STARTER_BALL_2
+	jr .asm_1d1e5
+.asm_1d1e3
+	ld a, HS_STARTER_BALL_3
+.asm_1d1e5
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, OaksLabMonEnergeticText
+	call PrintText
+	ld hl, OaksLabReceivedMonText
+	call PrintText
+	xor a ; PLAYER_PARTY_DATA
+	ld [wMonDataLocation], a
+	ld a, 5
+	ld [wCurEnemyLVL], a
+	ld a, [wcf91]
+	ld [wd11e], a
+	call AddPartyMon
+	ld hl, wd72e
+	set 3, [hl]
+	ld a, $fc
+	ld [wJoyIgnore], a
+	ld a, $8
+	ld [wOaksLabCurScript], a
+OaksLabMonChoiceEnd:
+	jp TextScriptEnd
+
+OaksLabMonEnergeticText:
+	TX_FAR _OaksLabMonEnergeticText
+	db "@"
+
+OaksLabReceivedMonText:
+	TX_FAR _OaksLabReceivedMonText
+	TX_SFX_KEY_ITEM
+	db "@"
+
+OaksLabScript_1d22d:
+	ld a, $5
+	ld [H_SPRITEINDEX], a
+	ld a, $9
+	ld [H_SPRITEDATAOFFSET], a
+	call GetPointerWithinSpriteStateData1
+	ld [hl], $0
+	ld hl, OaksLabLastMonText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabLastMonText:
+	TX_FAR _OaksLabLastMonText
+	db "@"
+
+OaksLabText32:
+OaksLabText5:
+	TX_ASM
+	CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS
+	jr nz, .asm_1d266
+	ld hl, wPokedexOwned
+	ld b, wPokedexOwnedEnd - wPokedexOwned
+	call CountSetBits
+	ld a, [wNumSetBits]
+	cp 2
+	jr c, .asm_1d279
+	CheckEvent EVENT_GOT_POKEDEX
+	jr z, .asm_1d279
+.asm_1d266
+	ld hl, OaksLabText_1d31d
+	call PrintText
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	predef DisplayDexRating
+	jp .asm_1d2ed
+.asm_1d279
+	ld b, POKE_BALL
+	call IsItemInBag
+	jr nz, .asm_1d2e7
+	CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
+	jr nz, .asm_1d2d0
+	CheckEvent EVENT_GOT_POKEDEX
+	jr nz, .asm_1d2c8
+	CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB
+	jr nz, .asm_1d2a9
+	ld a, [wd72e]
+	bit 3, a
+	jr nz, .asm_1d2a1
+	ld hl, OaksLabText_1d2f0
+	call PrintText
+	jr .asm_1d2ed
+.asm_1d2a1
+	ld hl, OaksLabText_1d2f5
+	call PrintText
+	jr .asm_1d2ed
+.asm_1d2a9
+	ld b, OAKS_PARCEL
+	call IsItemInBag
+	jr nz, .asm_1d2b8
+	ld hl, OaksLabText_1d2fa
+	call PrintText
+	jr .asm_1d2ed
+.asm_1d2b8
+	ld hl, OaksLabDeliverParcelText
+	call PrintText
+	call OaksLabScript_RemoveParcel
+	ld a, $f
+	ld [wOaksLabCurScript], a
+	jr .asm_1d2ed
+.asm_1d2c8
+	ld hl, OaksLabAroundWorldText
+	call PrintText
+	jr .asm_1d2ed
+.asm_1d2d0
+	CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK
+	jr nz, .asm_1d2e7
+	lb bc, POKE_BALL, 5
+	call GiveItem
+	ld hl, OaksLabGivePokeballsText
+	call PrintText
+	jr .asm_1d2ed
+.asm_1d2e7
+	ld hl, OaksLabPleaseVisitText
+	call PrintText
+.asm_1d2ed
+	jp TextScriptEnd
+
+OaksLabText_1d2f0:
+	TX_FAR _OaksLabText_1d2f0
+	db "@"
+
+OaksLabText_1d2f5:
+	TX_FAR _OaksLabText_1d2f5
+	db "@"
+
+OaksLabText_1d2fa:
+	TX_FAR _OaksLabText_1d2fa
+	db "@"
+
+OaksLabDeliverParcelText:
+	TX_FAR _OaksLabDeliverParcelText1
+	TX_SFX_KEY_ITEM
+	TX_FAR _OaksLabDeliverParcelText2
+	db "@"
+
+OaksLabAroundWorldText:
+	TX_FAR _OaksLabAroundWorldText
+	db "@"
+
+OaksLabGivePokeballsText:
+	TX_FAR _OaksLabGivePokeballsText1
+	TX_SFX_KEY_ITEM
+	TX_FAR _OaksLabGivePokeballsText2
+	db "@"
+
+OaksLabPleaseVisitText:
+	TX_FAR _OaksLabPleaseVisitText
+	db "@"
+
+OaksLabText_1d31d:
+	TX_FAR _OaksLabText_1d31d
+	db "@"
+
+OaksLabText7:
+OaksLabText6:
+	TX_ASM
+	ld hl, OaksLabText_1d32c
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabText_1d32c:
+	TX_FAR _OaksLabText_1d32c
+	db "@"
+
+OaksLabText8:
+	TX_FAR _OaksLabText8
+	db "@"
+
+OaksLabText9:
+	TX_ASM
+	ld hl, OaksLabText_1d340
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabText_1d340:
+	TX_FAR _OaksLabText_1d340
+	db "@"
+
+OaksLabText17:
+	TX_ASM
+	ld hl, OaksLabRivalWaitingText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabRivalWaitingText:
+	TX_FAR _OaksLabRivalWaitingText
+	db "@"
+
+OaksLabText18:
+	TX_ASM
+	ld hl, OaksLabChooseMonText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabChooseMonText:
+	TX_FAR _OaksLabChooseMonText
+	db "@"
+
+OaksLabText19:
+	TX_ASM
+	ld hl, OaksLabRivalInterjectionText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabRivalInterjectionText:
+	TX_FAR _OaksLabRivalInterjectionText
+	db "@"
+
+OaksLabText20:
+	TX_ASM
+	ld hl, OaksLabBePatientText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabBePatientText:
+	TX_FAR _OaksLabBePatientText
+	db "@"
+
+OaksLabText12:
+	TX_ASM
+	ld hl, OaksLabLeavingText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabLeavingText:
+	TX_FAR _OaksLabLeavingText
+	db "@"
+
+OaksLabText13:
+	TX_ASM
+	ld hl, OaksLabRivalPickingMonText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabRivalPickingMonText:
+	TX_FAR _OaksLabRivalPickingMonText
+	db "@"
+
+OaksLabText14:
+	TX_ASM
+	ld hl, OaksLabRivalReceivedMonText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabRivalReceivedMonText:
+	TX_FAR _OaksLabRivalReceivedMonText
+	TX_SFX_KEY_ITEM
+	db "@"
+
+OaksLabText15:
+	TX_ASM
+	ld hl, OaksLabRivalChallengeText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabRivalChallengeText:
+	TX_FAR _OaksLabRivalChallengeText
+	db "@"
+
+OaksLabText_1d3be:
+	TX_FAR _OaksLabText_1d3be
+	db "@"
+
+OaksLabText_1d3c3:
+	TX_FAR _OaksLabText_1d3c3
+	db "@"
+
+OaksLabText16:
+	TX_ASM
+	ld hl, OaksLabRivalToughenUpText
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabRivalToughenUpText:
+	TX_FAR _OaksLabRivalToughenUpText
+	db "@"
+
+OaksLabText21:
+	TX_FAR _OaksLabText21
+	db "@"
+
+OaksLabText22:
+	TX_FAR _OaksLabText22
+	db "@"
+
+OaksLabText23:
+	TX_FAR _OaksLabText23
+	db "@"
+
+OaksLabText24:
+	TX_FAR _OaksLabText24
+	db "@"
+
+OaksLabText25:
+	TX_FAR _OaksLabText25
+	TX_SFX_KEY_ITEM
+	db "@"
+
+OaksLabText26:
+	TX_FAR _OaksLabText26
+	db "@"
+
+OaksLabText27:
+	TX_FAR _OaksLabText27
+	db "@"
+
+OaksLabText11:
+OaksLabText10:
+	TX_ASM
+	ld hl, OaksLabText_1d405
+	call PrintText
+	jp TextScriptEnd
+
+OaksLabText_1d405:
+	TX_FAR _OaksLabText_1d405
+	db "@"
--- /dev/null
+++ b/scripts/PalletTown.asm
@@ -1,0 +1,214 @@
+PalletTown_Script:
+	CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK
+	jr z, .next
+	SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS
+.next
+	call EnableAutoTextBoxDrawing
+	ld hl, PalletTown_ScriptPointers
+	ld a, [wPalletTownCurScript]
+	jp CallFunctionInTable
+
+PalletTown_ScriptPointers:
+	dw PalletTownScript0
+	dw PalletTownScript1
+	dw PalletTownScript2
+	dw PalletTownScript3
+	dw PalletTownScript4
+	dw PalletTownScript5
+	dw PalletTownScript6
+
+PalletTownScript0:
+	CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB
+	ret nz
+	ld a, [wYCoord]
+	cp 1 ; is player near north exit?
+	ret nz
+	xor a
+	ld [hJoyHeld], a
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	ld a, $FF
+	call PlaySound ; stop music
+	ld a, BANK(Music_MeetProfOak)
+	ld c, a
+	ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music
+	call PlayMusic
+	ld a, $FC
+	ld [wJoyIgnore], a
+	SetEvent EVENT_OAK_APPEARED_IN_PALLET
+
+	; trigger the next script
+	ld a, 1
+	ld [wPalletTownCurScript], a
+	ret
+
+PalletTownScript1:
+	xor a
+	ld [wcf0d], a
+	ld a, 1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $FF
+	ld [wJoyIgnore], a
+	ld a, HS_PALLET_TOWN_OAK
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+
+	; trigger the next script
+	ld a, 2
+	ld [wPalletTownCurScript], a
+	ret
+
+PalletTownScript2:
+	ld a, 1
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_UP
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	call Delay3
+	ld a, 1
+	ld [wYCoord], a
+	ld a, 1
+	ld [hNPCPlayerRelativePosPerspective], a
+	ld a, 1
+	swap a
+	ld [hNPCSpriteOffset], a
+	predef CalcPositionOfPlayerRelativeToNPC
+	ld hl, hNPCPlayerYDistance
+	dec [hl]
+	predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2
+	ld de, wNPCMovementDirections2
+	ld a, 1 ; oak
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $FF
+	ld [wJoyIgnore], a
+
+	; trigger the next script
+	ld a, 3
+	ld [wPalletTownCurScript], a
+	ret
+
+PalletTownScript3:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a ; ld a, SPRITE_FACING_DOWN
+	ld [wSpriteStateData1 + 9], a
+	ld a, 1
+	ld [wcf0d], a
+	ld a, $FC
+	ld [wJoyIgnore], a
+	ld a, 1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+; set up movement script that causes the player to follow Oak to his lab
+	ld a, $FF
+	ld [wJoyIgnore], a
+	ld a, 1
+	ld [wSpriteIndex], a
+	xor a
+	ld [wNPCMovementScriptFunctionNum], a
+	ld a, 1
+	ld [wNPCMovementScriptPointerTableNum], a
+	ld a, [H_LOADEDROMBANK]
+	ld [wNPCMovementScriptBank], a
+
+	; trigger the next script
+	ld a, 4
+	ld [wPalletTownCurScript], a
+	ret
+
+PalletTownScript4:
+	ld a, [wNPCMovementScriptPointerTableNum]
+	and a ; is the movement script over?
+	ret nz
+
+	; trigger the next script
+	ld a, 5
+	ld [wPalletTownCurScript], a
+	ret
+
+PalletTownScript5:
+	CheckEvent EVENT_DAISY_WALKING
+	jr nz, .next
+	CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1
+	jr nz, .next
+	SetEvent EVENT_DAISY_WALKING
+	ld a, HS_DAISY_SITTING
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_DAISY_WALKING
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+.next
+	CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK
+	ret z
+	SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2
+PalletTownScript6:
+	ret
+
+PalletTown_TextPointers:
+	dw PalletTownText1
+	dw PalletTownText2
+	dw PalletTownText3
+	dw PalletTownText4
+	dw PalletTownText5
+	dw PalletTownText6
+	dw PalletTownText7
+
+PalletTownText1:
+	TX_ASM
+	ld a, [wcf0d]
+	and a
+	jr nz, .next
+	ld a, 1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, OakAppearsText
+	jr .done
+.next
+	ld hl, OakWalksUpText
+.done
+	call PrintText
+	jp TextScriptEnd
+
+OakAppearsText:
+	TX_FAR _OakAppearsText
+	TX_ASM
+	ld c, 10
+	call DelayFrames
+	xor a
+	ld [wEmotionBubbleSpriteIndex], a ; player's sprite
+	ld [wWhichEmotionBubble], a ; EXCLAMATION_BUBBLE
+	predef EmotionBubble
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	jp TextScriptEnd
+
+OakWalksUpText:
+	TX_FAR _OakWalksUpText
+	db "@"
+
+PalletTownText2: ; girl
+	TX_FAR _PalletTownText2
+	db "@"
+
+PalletTownText3: ; fat man
+	TX_FAR _PalletTownText3
+	db "@"
+
+PalletTownText4: ; sign by lab
+	TX_FAR _PalletTownText4
+	db "@"
+
+PalletTownText5: ; sign by fence
+	TX_FAR _PalletTownText5
+	db "@"
+
+PalletTownText6: ; sign by Red’s house
+	TX_FAR _PalletTownText6
+	db "@"
+
+PalletTownText7: ; sign by Blue’s house
+	TX_FAR _PalletTownText7
+	db "@"
--- /dev/null
+++ b/scripts/PewterCity.asm
@@ -1,0 +1,322 @@
+PewterCity_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, PewterCity_ScriptPointers
+	ld a, [wPewterCityCurScript]
+	jp CallFunctionInTable
+
+PewterCity_ScriptPointers:
+	dw PewterCityScript0
+	dw PewterCityScript1
+	dw PewterCityScript2
+	dw PewterCityScript3
+	dw PewterCityScript4
+	dw PewterCityScript5
+	dw PewterCityScript6
+
+PewterCityScript0:
+	xor a
+	ld [wMuseum1FCurScript], a
+	ResetEvent EVENT_BOUGHT_MUSEUM_TICKET
+	call PewterCityScript_1925e
+	ret
+
+PewterCityScript_1925e:
+	CheckEvent EVENT_BEAT_BROCK
+	ret nz
+	ld hl, CoordsData_19277
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+CoordsData_19277:
+	db $11,$23
+	db $11,$24
+	db $12,$25
+	db $13,$25
+	db $ff
+
+PewterCityScript1:
+	ld a, [wNPCMovementScriptPointerTableNum]
+	and a
+	ret nz
+	ld a, $3
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_UP
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, ($3 << 4) | SPRITE_FACING_UP
+	ld [hSpriteImageIndex], a
+	call SetSpriteImageIndexAfterSettingFacingDirection
+	call PlayDefaultMusic
+	ld hl, wFlags_0xcd60
+	set 4, [hl]
+	ld a, $d
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $3c
+	ld [$ffeb], a
+	ld a, $30
+	ld [$ffec], a
+	ld a, $c
+	ld [$ffed], a
+	ld a, $11
+	ld [$ffee], a
+	ld a, $3
+	ld [wSpriteIndex], a
+	call SetSpritePosition1
+	ld a, $3
+	ld [H_SPRITEINDEX], a
+	ld de, MovementData_PewterMuseumGuyExit
+	call MoveSprite
+	ld a, $2
+	ld [wPewterCityCurScript], a
+	ret
+
+MovementData_PewterMuseumGuyExit:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+PewterCityScript2:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_MUSEUM_GUY
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, $3
+	ld [wPewterCityCurScript], a
+	ret
+
+PewterCityScript3:
+	ld a, $3
+	ld [wSpriteIndex], a
+	call SetSpritePosition2
+	ld a, HS_MUSEUM_GUY
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wPewterCityCurScript], a
+	ret
+
+PewterCityScript4:
+	ld a, [wNPCMovementScriptPointerTableNum]
+	and a
+	ret nz
+	ld a, $5
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_LEFT
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, ($1 << 4) | SPRITE_FACING_LEFT
+	ld [hSpriteImageIndex], a
+	call SetSpriteImageIndexAfterSettingFacingDirection
+	call PlayDefaultMusic
+	ld hl, wFlags_0xcd60
+	set 4, [hl]
+	ld a, $e
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $3c
+	ld [$ffeb], a
+	ld a, $40
+	ld [$ffec], a
+	ld a, $16
+	ld [$ffed], a
+	ld a, $10
+	ld [$ffee], a
+	ld a, $5
+	ld [wSpriteIndex], a
+	call SetSpritePosition1
+	ld a, $5
+	ld [H_SPRITEINDEX], a
+	ld de, MovementData_PewterGymGuyExit
+	call MoveSprite
+	ld a, $5
+	ld [wPewterCityCurScript], a
+	ret
+
+MovementData_PewterGymGuyExit:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+PewterCityScript5:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_GYM_GUY
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, $6
+	ld [wPewterCityCurScript], a
+	ret
+
+PewterCityScript6:
+	ld a, $5
+	ld [wSpriteIndex], a
+	call SetSpritePosition2
+	ld a, HS_GYM_GUY
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wPewterCityCurScript], a
+	ret
+
+PewterCity_TextPointers:
+	dw PewterCityText1
+	dw PewterCityText2
+	dw PewterCityText3
+	dw PewterCityText4
+	dw PewterCityText5
+	dw PewterCityText6
+	dw PewterCityText7
+	dw MartSignText
+	dw PokeCenterSignText
+	dw PewterCityText10
+	dw PewterCityText11
+	dw PewterCityText12
+	dw PewterCityText13
+	dw PewterCityText14
+
+PewterCityText1:
+	TX_FAR _PewterCityText1
+	db "@"
+
+PewterCityText2:
+	TX_FAR _PewterCityText2
+	db "@"
+
+PewterCityText3:
+	TX_ASM
+	ld hl, PewterCityText_193f1
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_193c9
+	ld hl, PewterCityText_193f6
+	call PrintText
+	jr .asm_193ee
+.asm_193c9
+	ld hl, PewterCityText_193fb
+	call PrintText
+	xor a
+	ld [hJoyPressed], a
+	ld [hJoyHeld], a
+	ld [wNPCMovementScriptFunctionNum], a
+	ld a, $2
+	ld [wNPCMovementScriptPointerTableNum], a
+	ld a, [H_LOADEDROMBANK]
+	ld [wNPCMovementScriptBank], a
+	ld a, $3
+	ld [wSpriteIndex], a
+	call GetSpritePosition2
+	ld a, $1
+	ld [wPewterCityCurScript], a
+.asm_193ee
+	jp TextScriptEnd
+
+PewterCityText_193f1:
+	TX_FAR _PewterCityText_193f1
+	db "@"
+
+PewterCityText_193f6:
+	TX_FAR _PewterCityText_193f6
+	db "@"
+
+PewterCityText_193fb:
+	TX_FAR _PewterCityText_193fb
+	db "@"
+
+PewterCityText13:
+	TX_FAR _PewterCityText13
+	db "@"
+
+PewterCityText4:
+	TX_ASM
+	ld hl, PewterCityText_19427
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	cp $0
+	jr nz, .asm_1941e
+	ld hl, PewterCityText_1942c
+	call PrintText
+	jr .asm_19424
+.asm_1941e
+	ld hl, PewterCityText_19431
+	call PrintText
+.asm_19424
+	jp TextScriptEnd
+
+PewterCityText_19427:
+	TX_FAR _PewterCityText_19427
+	db "@"
+
+PewterCityText_1942c:
+	TX_FAR _PewterCityText_1942c
+	db "@"
+
+PewterCityText_19431:
+	TX_FAR _PewterCityText_19431
+	db "@"
+
+PewterCityText5:
+	TX_ASM
+	ld hl, PewterCityText_1945d
+	call PrintText
+	xor a
+	ld [hJoyHeld], a
+	ld [wNPCMovementScriptFunctionNum], a
+	ld a, $3
+	ld [wNPCMovementScriptPointerTableNum], a
+	ld a, [H_LOADEDROMBANK]
+	ld [wNPCMovementScriptBank], a
+	ld a, $5
+	ld [wSpriteIndex], a
+	call GetSpritePosition2
+	ld a, $4
+	ld [wPewterCityCurScript], a
+	jp TextScriptEnd
+
+PewterCityText_1945d:
+	TX_FAR _PewterCityText_1945d
+	db "@"
+
+PewterCityText14:
+	TX_FAR _PewterCityText14
+	db "@"
+
+PewterCityText6:
+	TX_FAR _PewterCityText6
+	db "@"
+
+PewterCityText7:
+	TX_FAR _PewterCityText7
+	db "@"
+
+PewterCityText10:
+	TX_FAR _PewterCityText10
+	db "@"
+
+PewterCityText11:
+	TX_FAR _PewterCityText11
+	db "@"
+
+PewterCityText12:
+	TX_FAR _PewterCityText12
+	db "@"
--- /dev/null
+++ b/scripts/PewterGym.asm
@@ -1,0 +1,228 @@
+PewterGym_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, PewterGymScript_5c3a4
+	call EnableAutoTextBoxDrawing
+	ld hl, PewterGymTrainerHeader0
+	ld de, PewterGym_ScriptPointers
+	ld a, [wPewterGymCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPewterGymCurScript], a
+	ret
+
+PewterGymScript_5c3a4:
+	ld hl, Gym1CityName
+	ld de, Gym1LeaderName
+	jp LoadGymLeaderAndCityName
+
+Gym1CityName:
+	db "PEWTER CITY@"
+
+Gym1LeaderName:
+	db "BROCK@"
+
+PewterGymScript_5c3bf:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wPewterGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PewterGym_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw PewterGymScript3
+
+PewterGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, PewterGymScript_5c3bf
+	ld a, $f0
+	ld [wJoyIgnore], a
+
+PewterGymScript_5c3df:
+	ld a, $4
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_BROCK
+	lb bc, TM_34, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM34
+	jr .asm_5c408
+.BagFull
+	ld a, $6
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_5c408
+	ld hl, wObtainedBadges
+	set 0, [hl]
+	ld hl, wBeatGymFlags
+	set 0, [hl]
+
+	ld a, HS_GYM_GUY
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_ROUTE_22_RIVAL_1
+	ld [wMissableObjectIndex], a
+	predef HideObject
+
+	ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
+
+	; deactivate gym trainers
+	SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0
+
+	jp PewterGymScript_5c3bf
+
+PewterGym_TextPointers:
+	dw PewterGymText1
+	dw PewterGymText2
+	dw PewterGymText3
+	dw PewterGymText4
+	dw PewterGymText5
+	dw PewterGymText6
+
+PewterGymTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0
+	db ($5 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0
+	dw PewterGymBattleText1 ; TextBeforeBattle
+	dw PewterGymAfterBattleText1 ; TextAfterBattle
+	dw PewterGymEndBattleText1 ; TextEndBattle
+	dw PewterGymEndBattleText1 ; TextEndBattle
+
+	db $ff
+
+PewterGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_BROCK
+	jr z, .asm_5c46a
+	CheckEventReuseA EVENT_GOT_TM34
+	jr nz, .asm_5c462
+	call z, PewterGymScript_5c3df
+	call DisableWaitingAfterTextDisplay
+	jr .asm_5c49b
+.asm_5c462
+	ld hl, PewterGymText_5c4a3
+	call PrintText
+	jr .asm_5c49b
+.asm_5c46a
+	ld hl, PewterGymText_5c49e
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, PewterGymText_5c4bc
+	ld de, PewterGymText_5c4bc
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $1
+	ld [wGymLeaderNo], a
+	xor a
+	ld [hJoyHeld], a
+	ld a, $3
+	ld [wPewterGymCurScript], a
+	ld [wCurMapScript], a
+.asm_5c49b
+	jp TextScriptEnd
+
+PewterGymText_5c49e:
+	TX_FAR _PewterGymText_5c49e
+	db "@"
+
+PewterGymText_5c4a3:
+	TX_FAR _PewterGymText_5c4a3
+	db "@"
+
+PewterGymText4:
+	TX_FAR _TM34PreReceiveText
+	db "@"
+
+PewterGymText5:
+	TX_FAR _ReceivedTM34Text
+	TX_SFX_ITEM_1
+	TX_FAR _TM34ExplanationText
+	db "@"
+
+PewterGymText6:
+	TX_FAR _TM34NoRoomText
+	db "@"
+
+PewterGymText_5c4bc:
+	TX_FAR _PewterGymText_5c4bc
+	TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded
+	TX_FAR _PewterGymText_5c4c1
+	db "@"
+
+PewterGymText2:
+	TX_ASM
+	ld hl, PewterGymTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PewterGymBattleText1:
+	TX_FAR _PewterGymBattleText1
+	db "@"
+
+PewterGymEndBattleText1:
+	TX_FAR _PewterGymEndBattleText1
+	db "@"
+
+PewterGymAfterBattleText1:
+	TX_FAR _PewterGymAfterBattleText1
+	db "@"
+
+PewterGymText3:
+	TX_ASM
+	ld a, [wBeatGymFlags]
+	bit 0, a
+	jr nz, .asm_5c50c
+	ld hl, PewterGymText_5c515
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_5c4fe
+	ld hl, PewterGymText_5c51a
+	call PrintText
+	jr .asm_5c504
+.asm_5c4fe
+	ld hl, PewterGymText_5c524
+	call PrintText
+.asm_5c504
+	ld hl, PewterGymText_5c51f
+	call PrintText
+	jr .asm_5c512
+.asm_5c50c
+	ld hl, PewterGymText_5c529
+	call PrintText
+.asm_5c512
+	jp TextScriptEnd
+
+PewterGymText_5c515:
+	TX_FAR _PewterGymText_5c515
+	db "@"
+
+PewterGymText_5c51a:
+	TX_FAR _PewterGymText_5c51a
+	db "@"
+
+PewterGymText_5c51f:
+	TX_FAR _PewterGymText_5c51f
+	db "@"
+
+PewterGymText_5c524:
+	TX_FAR _PewterGymText_5c524
+	db "@"
+
+PewterGymText_5c529:
+	TX_FAR _PewterGymText_5c529
+	db "@"
--- /dev/null
+++ b/scripts/PewterMart.asm
@@ -1,0 +1,28 @@
+PewterMart_Script:
+	call EnableAutoTextBoxDrawing
+	ld a, $1
+	ld [wAutoTextBoxDrawingControl], a
+	ret
+
+PewterMart_TextPointers:
+	dw PewterCashierText
+	dw PewterMartText2
+	dw PewterMartText3
+
+PewterMartText2:
+	TX_ASM
+	ld hl, .Text
+	call PrintText
+	jp TextScriptEnd
+.Text
+	TX_FAR _PewterMartText2
+	db "@"
+
+PewterMartText3:
+	TX_ASM
+	ld hl, .Text
+	call PrintText
+	jp TextScriptEnd
+.Text
+	TX_FAR _PewterMartText3
+	db "@"
--- /dev/null
+++ b/scripts/PewterNidoranHouse.asm
@@ -1,0 +1,23 @@
+PewterNidoranHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+PewterNidoranHouse_TextPointers:
+	dw PewterHouse1Text1
+	dw PewterHouse1Text2
+	dw PewterHouse1Text3
+
+PewterHouse1Text1:
+	TX_FAR _PewterHouse1Text1
+	TX_ASM
+	ld a, NIDORAN_M
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+PewterHouse1Text2:
+	TX_FAR _PewterHouse1Text2
+	db "@"
+
+PewterHouse1Text3:
+	TX_FAR _PewterHouse1Text3
+	db "@"
--- /dev/null
+++ b/scripts/PewterPokecenter.asm
@@ -1,0 +1,84 @@
+PewterPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+PewterPokecenter_TextPointers:
+	dw PewterHealNurseText
+	dw PewterPokecenterText2
+	dw PewterJigglypuffText
+	dw PewterTradeNurseText
+
+PewterHealNurseText:
+	TX_POKECENTER_NURSE
+
+PewterPokecenterText2:
+	TX_FAR _PewterPokecenterText2
+	db "@"
+
+PewterJigglypuffText:
+	TX_ASM
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, .Text
+	call PrintText
+	StopAllMusic
+	ld c, 32
+	call DelayFrames
+	ld hl, JigglypuffFacingDirections
+	ld de, wJigglypuffFacingDirections
+	ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections
+	call CopyData
+
+	ld a, [wSprite03StateData1ImageIndex]
+	ld hl, wJigglypuffFacingDirections
+.findMatchingFacingDirectionLoop
+	cp [hl]
+	inc hl
+	jr nz, .findMatchingFacingDirectionLoop
+	dec hl
+	push hl
+	ld c, BANK(Music_JigglypuffSong)
+	ld a, MUSIC_JIGGLYPUFF_SONG
+	call PlayMusic
+	pop hl
+.loop
+	ld a, [hl]
+	ld [wSprite03StateData1ImageIndex], a
+
+; rotate the array
+	push hl
+	ld hl, wJigglypuffFacingDirections
+	ld de, wJigglypuffFacingDirections - 1
+	ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections
+	call CopyData
+	ld a, [wJigglypuffFacingDirections - 1]
+	ld [wJigglypuffFacingDirections + 3], a
+	pop hl
+
+	ld c, 24
+	call DelayFrames
+
+	ld a, [wChannelSoundIDs]
+	ld b, a
+	ld a, [wChannelSoundIDs + Ch1]
+	or b
+	jr nz, .loop
+
+	ld c, 48
+	call DelayFrames
+	call PlayDefaultMusic
+	jp TextScriptEnd
+
+.Text
+	TX_FAR _PewterJigglypuffText
+	db "@"
+
+JigglypuffFacingDirections:
+	db $30 | SPRITE_FACING_DOWN
+	db $30 | SPRITE_FACING_LEFT
+	db $30 | SPRITE_FACING_UP
+	db $30 | SPRITE_FACING_RIGHT
+JigglypuffFacingDirectionsEnd:
+
+PewterTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
--- /dev/null
+++ b/scripts/PewterSpeechHouse.asm
@@ -1,0 +1,14 @@
+PewterSpeechHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+PewterSpeechHouse_TextPointers:
+	dw PewterHouse2Text1
+	dw PewterHouse2Text2
+
+PewterHouse2Text1:
+	TX_FAR _PewterHouse2Text1
+	db "@"
+
+PewterHouse2Text2:
+	TX_FAR _PewterHouse2Text2
+	db "@"
--- /dev/null
+++ b/scripts/PokemonFanClub.asm
@@ -1,0 +1,173 @@
+PokemonFanClub_Script:
+	jp EnableAutoTextBoxDrawing
+
+FanClubBikeInBag:
+; check if any bike paraphernalia in bag
+	CheckEvent EVENT_GOT_BIKE_VOUCHER
+	ret nz
+	ld b, BICYCLE
+	call IsItemInBag
+	ret nz
+	ld b, BIKE_VOUCHER
+	jp IsItemInBag
+
+PokemonFanClub_TextPointers:
+	dw FanClubText1
+	dw FanClubText2
+	dw FanClubText3
+	dw FanClubText4
+	dw FanClubText5
+	dw FanClubText6
+	dw FanClubText7
+	dw FanClubText8
+
+FanClubText1:
+; pikachu fan
+	TX_ASM
+	CheckEvent EVENT_PIKACHU_FAN_BOAST
+	jr nz, .mineisbetter
+	ld hl, .normaltext
+	call PrintText
+	SetEvent EVENT_SEEL_FAN_BOAST
+	jr .done
+.mineisbetter
+	ld hl, .bettertext
+	call PrintText
+	ResetEvent EVENT_PIKACHU_FAN_BOAST
+.done
+	jp TextScriptEnd
+
+.normaltext
+	TX_FAR PikachuFanText
+	db "@"
+
+.bettertext
+	TX_FAR PikachuFanBetterText
+	db "@"
+
+FanClubText2:
+; seel fan
+	TX_ASM
+	CheckEvent EVENT_SEEL_FAN_BOAST
+	jr nz, .mineisbetter
+	ld hl, .normaltext
+	call PrintText
+	SetEvent EVENT_PIKACHU_FAN_BOAST
+	jr .done
+.mineisbetter
+	ld hl, .bettertext
+	call PrintText
+	ResetEvent EVENT_SEEL_FAN_BOAST
+.done
+	jp TextScriptEnd
+
+.normaltext
+	TX_FAR SeelFanText
+	db "@"
+
+.bettertext
+	TX_FAR SeelFanBetterText
+	db "@"
+
+FanClubText3:
+; pikachu
+	TX_ASM
+	ld hl, .text
+	call PrintText
+	ld a, PIKACHU
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+.text
+	TX_FAR FanClubPikachuText
+	db "@"
+
+FanClubText4:
+; seel
+	TX_ASM
+	ld hl, .text
+	call PrintText
+	ld a, SEEL
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+.text
+	TX_FAR FanClubSeelText
+	db "@"
+
+FanClubText5:
+; chair
+	TX_ASM
+	call FanClubBikeInBag
+	jr nz, .nothingleft
+
+	ld hl, .meetchairtext
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .nothanks
+
+	; tell the story
+	ld hl, .storytext
+	call PrintText
+	lb bc, BIKE_VOUCHER, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, .receivedvouchertext
+	call PrintText
+	SetEvent EVENT_GOT_BIKE_VOUCHER
+	jr .done
+.BagFull
+	ld hl, .bagfulltext
+	call PrintText
+	jr .done
+.nothanks
+	ld hl, .nostorytext
+	call PrintText
+	jr .done
+.nothingleft
+	ld hl, .finaltext
+	call PrintText
+.done
+	jp TextScriptEnd
+
+.meetchairtext
+	TX_FAR FanClubMeetChairText
+	db "@"
+
+.storytext
+	TX_FAR FanClubChairStoryText
+	db "@"
+
+.receivedvouchertext
+	TX_FAR ReceivedBikeVoucherText
+	TX_SFX_KEY_ITEM
+	TX_FAR ExplainBikeVoucherText
+	db "@"
+
+.nostorytext
+	TX_FAR FanClubNoStoryText
+	db "@"
+
+.finaltext
+	TX_FAR FanClubChairFinalText
+	db "@"
+
+.bagfulltext
+	TX_FAR FanClubBagFullText
+	db "@"
+
+FanClubText6:
+	TX_FAR _FanClubText6
+	db "@"
+
+FanClubText7:
+	TX_FAR _FanClubText7
+	db "@"
+
+FanClubText8:
+	TX_FAR _FanClubText8
+	db "@"
--- /dev/null
+++ b/scripts/PokemonMansion1F.asm
@@ -1,0 +1,134 @@
+PokemonMansion1F_Script:
+	call Mansion1Subscript1
+	call EnableAutoTextBoxDrawing
+	ld hl, Mansion1TrainerHeader0
+	ld de, PokemonMansion1F_ScriptPointers
+	ld a, [wPokemonMansion1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonMansion1FCurScript], a
+	ret
+
+Mansion1Subscript1:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_MANSION_SWITCH_ON
+	jr nz, .asm_442ec
+	lb bc, 6, 12
+	call Mansion1Script_4430b
+	lb bc, 3, 8
+	call Mansion1Script_44304
+	lb bc, 8, 10
+	call Mansion1Script_44304
+	lb bc, 13, 13
+	jp Mansion1Script_44304
+.asm_442ec
+	lb bc, 6, 12
+	call Mansion1Script_44304
+	lb bc, 3, 8
+	call Mansion1Script_4430b
+	lb bc, 8, 10
+	call Mansion1Script_4430b
+	lb bc, 13, 13
+	jp Mansion1Script_4430b
+
+Mansion1Script_44304:
+	ld a, $2d
+	ld [wNewTileBlockID], a
+	jr Mansion1ReplaceBlock
+
+Mansion1Script_4430b:
+	ld a, $e
+	ld [wNewTileBlockID], a
+Mansion1ReplaceBlock:
+	predef ReplaceTileBlock
+	ret
+
+Mansion1Script_Switches:
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	ret nz
+	xor a
+	ld [hJoyHeld], a
+	ld a, $4
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+PokemonMansion1F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+PokemonMansion1F_TextPointers:
+	dw Mansion1Text1
+	dw PickUpItemText
+	dw PickUpItemText
+	dw Mansion1Text4
+
+Mansion1TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_MANSION_1_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MANSION_1_TRAINER_0
+	dw Mansion1BattleText2 ; TextBeforeBattle
+	dw Mansion1AfterBattleText2 ; TextAfterBattle
+	dw Mansion1EndBattleText2 ; TextEndBattle
+	dw Mansion1EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+Mansion1Text1:
+	TX_ASM
+	ld hl, Mansion1TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Mansion1BattleText2:
+	TX_FAR _Mansion1BattleText2
+	db "@"
+
+Mansion1EndBattleText2:
+	TX_FAR _Mansion1EndBattleText2
+	db "@"
+
+Mansion1AfterBattleText2:
+	TX_FAR _Mansion1AfterBattleText2
+	db "@"
+
+Mansion1Text4:
+	TX_ASM
+	ld hl, MansionSwitchText
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_4438c
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	ld hl, MansionSwitchPressedText
+	call PrintText
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	CheckAndSetEvent EVENT_MANSION_SWITCH_ON
+	jr z, .asm_44392
+	ResetEventReuseHL EVENT_MANSION_SWITCH_ON
+	jr .asm_44392
+.asm_4438c
+	ld hl, MansionSwitchNotPressedText
+	call PrintText
+.asm_44392
+	jp TextScriptEnd
+
+MansionSwitchText:
+	TX_FAR _MansionSwitchText
+	db "@"
+
+MansionSwitchPressedText:
+	TX_FAR _MansionSwitchPressedText
+	db "@"
+
+MansionSwitchNotPressedText:
+	TX_FAR _MansionSwitchNotPressedText
+	db "@"
--- /dev/null
+++ b/scripts/PokemonMansion2F.asm
@@ -1,0 +1,140 @@
+PokemonMansion2F_Script:
+	call Mansion2Script_51fee
+	call EnableAutoTextBoxDrawing
+	ld hl, Mansion2TrainerHeader0
+	ld de, PokemonMansion2F_ScriptPointers
+	ld a, [wPokemonMansion2FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonMansion2FCurScript], a
+	ret
+
+Mansion2Script_51fee:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_MANSION_SWITCH_ON
+	jr nz, .asm_52016
+	ld a, $e
+	lb bc, 2, 4
+	call Mansion2Script_5202f
+	ld a, $54
+	lb bc, 4, 9
+	call Mansion2Script_5202f
+	ld a, $5f
+	lb bc, 11, 3
+	call Mansion2Script_5202f
+	ret
+.asm_52016
+	ld a, $5f
+	lb bc, 2, 4
+	call Mansion2Script_5202f
+	ld a, $e
+	lb bc, 4, 9
+	call Mansion2Script_5202f
+	ld a, $e
+	lb bc, 11, 3
+	call Mansion2Script_5202f
+	ret
+
+Mansion2Script_5202f:
+	ld [wNewTileBlockID], a
+	predef_jump ReplaceTileBlock
+
+Mansion2Script_Switches:
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	ret nz
+	xor a
+	ld [hJoyHeld], a
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+PokemonMansion2F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+PokemonMansion2F_TextPointers:
+	dw Mansion2Text1
+	dw PickUpItemText
+	dw Mansion2Text3
+	dw Mansion2Text4
+	dw Mansion2Text5
+
+Mansion2TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0
+	dw Mansion2BattleText1 ; TextBeforeBattle
+	dw Mansion2AfterBattleText1 ; TextAfterBattle
+	dw Mansion2EndBattleText1 ; TextEndBattle
+	dw Mansion2EndBattleText1 ; TextEndBattle
+
+	db $ff
+
+Mansion2Text1:
+	TX_ASM
+	ld hl, Mansion2TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Mansion2BattleText1:
+	TX_FAR _Mansion2BattleText1
+	db "@"
+
+Mansion2EndBattleText1:
+	TX_FAR _Mansion2EndBattleText1
+	db "@"
+
+Mansion2AfterBattleText1:
+	TX_FAR _Mansion2AfterBattleText1
+	db "@"
+
+Mansion2Text3:
+	TX_FAR _Mansion2Text3
+	db "@"
+
+Mansion2Text4:
+	TX_FAR _Mansion2Text4
+	db "@"
+
+Mansion3Text6:
+Mansion2Text5:
+	TX_ASM
+	ld hl, Mansion2Text_520c2
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_520b9
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	ld hl, Mansion2Text_520c7
+	call PrintText
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	CheckAndSetEvent EVENT_MANSION_SWITCH_ON
+	jr z, .asm_520bf
+	ResetEventReuseHL EVENT_MANSION_SWITCH_ON
+	jr .asm_520bf
+.asm_520b9
+	ld hl, Mansion2Text_520cc
+	call PrintText
+.asm_520bf
+	jp TextScriptEnd
+
+Mansion2Text_520c2:
+	TX_FAR _Mansion2Text_520c2
+	db "@"
+
+Mansion2Text_520c7:
+	TX_FAR _Mansion2Text_520c7
+	db "@"
+
+Mansion2Text_520cc:
+	TX_FAR _Mansion2Text_520cc
+	db "@"
--- /dev/null
+++ b/scripts/PokemonMansion3F.asm
@@ -1,0 +1,151 @@
+PokemonMansion3F_Script:
+	call Mansion3Script_52204
+	call EnableAutoTextBoxDrawing
+	ld hl, Mansion3TrainerHeader0
+	ld de, PokemonMansion3F_ScriptPointers
+	ld a, [wPokemonMansion3FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonMansion3FCurScript], a
+	ret
+
+Mansion3Script_52204:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_MANSION_SWITCH_ON
+	jr nz, .asm_52224
+	ld a, $e
+	ld bc, $207
+	call Mansion2Script_5202f
+	ld a, $5f
+	ld bc, $507
+	call Mansion2Script_5202f
+	ret
+.asm_52224
+	ld a, $5f
+	ld bc, $207
+	call Mansion2Script_5202f
+	ld a, $e
+	ld bc, $507
+	call Mansion2Script_5202f
+	ret
+
+PokemonMansion3F_ScriptPointers:
+	dw Mansion3Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Mansion3Script0:
+	ld hl, CoordsData_52254
+	call Mansion3Script_5225b
+	ld a, [wWhichDungeonWarp]
+	and a
+	jp z, CheckFightingMapTrainers
+	cp $3
+	ld a, $a5
+	jr nz, .asm_52250
+	ld a, $d6
+.asm_52250
+	ld [wDungeonWarpDestinationMap], a
+	ret
+
+CoordsData_52254:
+	db $0E,$10
+	db $0E,$11
+	db $0E,$13
+	db $FF
+
+Mansion3Script_5225b:
+	xor a
+	ld [wWhichDungeonWarp], a
+	ld a, [wd72d]
+	bit 4, a
+	ret nz
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, [wCoordIndex]
+	ld [wWhichDungeonWarp], a
+	ld hl, wd72d
+	set 4, [hl]
+	ld hl, wd732
+	set 4, [hl]
+	ret
+
+Mansion3Script_Switches:
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	ret nz
+	xor a
+	ld [hJoyHeld], a
+	ld a, $6
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+PokemonMansion3F_TextPointers:
+	dw Mansion3Text1
+	dw Mansion3Text2
+	dw PickUpItemText
+	dw PickUpItemText
+	dw Mansion3Text5
+	dw Mansion3Text6
+
+Mansion3TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_0
+	dw Mansion3BattleText1 ; TextBeforeBattle
+	dw Mansion3AfterBattleText1 ; TextAfterBattle
+	dw Mansion3EndBattleText1 ; TextEndBattle
+	dw Mansion3EndBattleText1 ; TextEndBattle
+
+Mansion3TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_1
+	dw Mansion3BattleText2 ; TextBeforeBattle
+	dw Mansion3AfterBattleText2 ; TextAfterBattle
+	dw Mansion3EndBattleText2 ; TextEndBattle
+	dw Mansion3EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+Mansion3Text1:
+	TX_ASM
+	ld hl, Mansion3TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Mansion3Text2:
+	TX_ASM
+	ld hl, Mansion3TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Mansion3BattleText1:
+	TX_FAR _Mansion3BattleText1
+	db "@"
+
+Mansion3EndBattleText1:
+	TX_FAR _Mansion3EndBattleText1
+	db "@"
+
+Mansion3AfterBattleText1:
+	TX_FAR _Mansion3AfterBattleText1
+	db "@"
+
+Mansion3BattleText2:
+	TX_FAR _Mansion3BattleText2
+	db "@"
+
+Mansion3EndBattleText2:
+	TX_FAR _Mansion3EndBattleText2
+	db "@"
+
+Mansion3AfterBattleText2:
+	TX_FAR _Mansion3AfterBattleText2
+	db "@"
+
+Mansion3Text5:
+	TX_FAR _Mansion3Text5
+	db "@"
--- /dev/null
+++ b/scripts/PokemonMansionB1F.asm
@@ -1,0 +1,130 @@
+PokemonMansionB1F_Script:
+	call Mansion4Script_523cf
+	call EnableAutoTextBoxDrawing
+	ld hl, Mansion4TrainerHeader0
+	ld de, PokemonMansionB1F_ScriptPointers
+	ld a, [wPokemonMansionB1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonMansionB1FCurScript], a
+	ret
+
+Mansion4Script_523cf:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_MANSION_SWITCH_ON
+	jr nz, .asm_523ff
+	ld a, $e
+	ld bc, $80d
+	call Mansion2Script_5202f
+	ld a, $e
+	ld bc, $b06
+	call Mansion2Script_5202f
+	ld a, $5f
+	ld bc, $304
+	call Mansion2Script_5202f
+	ld a, $54
+	ld bc, $808
+	call Mansion2Script_5202f
+	ret
+.asm_523ff
+	ld a, $2d
+	ld bc, $80d
+	call Mansion2Script_5202f
+	ld a, $5f
+	ld bc, $b06
+	call Mansion2Script_5202f
+	ld a, $e
+	ld bc, $304
+	call Mansion2Script_5202f
+	ld a, $e
+	ld bc, $808
+	call Mansion2Script_5202f
+	ret
+
+Mansion4Script_Switches:
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	ret nz
+	xor a
+	ld [hJoyHeld], a
+	ld a, $9
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+PokemonMansionB1F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+PokemonMansionB1F_TextPointers:
+	dw Mansion4Text1
+	dw Mansion4Text2
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw Mansion4Text7
+	dw PickUpItemText
+	dw Mansion3Text6
+
+Mansion4TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_0
+	dw Mansion4BattleText1 ; TextBeforeBattle
+	dw Mansion4AfterBattleText1 ; TextAfterBattle
+	dw Mansion4EndBattleText1 ; TextEndBattle
+	dw Mansion4EndBattleText1 ; TextEndBattle
+
+Mansion4TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_1
+	dw Mansion4BattleText2 ; TextBeforeBattle
+	dw Mansion4AfterBattleText2 ; TextAfterBattle
+	dw Mansion4EndBattleText2 ; TextEndBattle
+	dw Mansion4EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+Mansion4Text1:
+	TX_ASM
+	ld hl, Mansion4TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Mansion4Text2:
+	TX_ASM
+	ld hl, Mansion4TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Mansion4BattleText1:
+	TX_FAR _Mansion4BattleText1
+	db "@"
+
+Mansion4EndBattleText1:
+	TX_FAR _Mansion4EndBattleText1
+	db "@"
+
+Mansion4AfterBattleText1:
+	TX_FAR _Mansion4AfterBattleText1
+	db "@"
+
+Mansion4BattleText2:
+	TX_FAR _Mansion4BattleText2
+	db "@"
+
+Mansion4EndBattleText2:
+	TX_FAR _Mansion4EndBattleText2
+	db "@"
+
+Mansion4AfterBattleText2:
+	TX_FAR _Mansion4AfterBattleText2
+	db "@"
+
+Mansion4Text7:
+	TX_FAR _Mansion4Text7
+	db "@"
--- /dev/null
+++ b/scripts/PokemonTower1F.asm
@@ -1,0 +1,29 @@
+PokemonTower1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+PokemonTower1F_TextPointers:
+	dw PokemonTower1Text1
+	dw PokemonTower1Text2
+	dw PokemonTower1Text3
+	dw PokemonTower1Text4
+	dw PokemonTower1Text5
+
+PokemonTower1Text1:
+	TX_FAR _PokemonTower1Text1
+	db "@"
+
+PokemonTower1Text2:
+	TX_FAR _PokemonTower1Text2
+	db "@"
+
+PokemonTower1Text3:
+	TX_FAR _PokemonTower1Text3
+	db "@"
+
+PokemonTower1Text4:
+	TX_FAR _PokemonTower1Text4
+	db "@"
+
+PokemonTower1Text5:
+	TX_FAR _PokemonTower1Text5
+	db "@"
--- /dev/null
+++ b/scripts/PokemonTower2F.asm
@@ -1,0 +1,188 @@
+PokemonTower2F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, PokemonTower2F_ScriptPointers
+	ld a, [wPokemonTower2FCurScript]
+	jp CallFunctionInTable
+
+PokemonTower2Script_604fe:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wPokemonTower2FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower2F_ScriptPointers:
+	dw PokemonTower2Script0
+	dw PokemonTower2Script1
+	dw PokemonTower2Script2
+
+PokemonTower2Script0:
+	CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
+	ret nz
+	ld hl, CoordsData_6055e
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	ld c, BANK(Music_MeetRival)
+	ld a, MUSIC_MEET_RIVAL
+	call PlayMusic
+	ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
+	ld a, [wCoordIndex]
+	cp $1
+	ld a, PLAYER_DIR_UP
+	ld b, SPRITE_FACING_DOWN
+	jr nz, .asm_60544
+; the rival is on the left side and the player is on the right side
+	SetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
+	ld a, PLAYER_DIR_LEFT
+	ld b, SPRITE_FACING_RIGHT
+.asm_60544
+	ld [wPlayerMovingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	ld a, b
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [hJoyHeld], a
+	ld [hJoyPressed], a
+	ret
+
+CoordsData_6055e:
+	db $05,$0F
+	db $06,$0E
+	db $0F ; isn't this supposed to end in $ff?
+
+PokemonTower2Script1:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, PokemonTower2Script_604fe
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld de, MovementData_605b2
+	CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
+	jr nz, .asm_60589
+	ld de, MovementData_605a9
+.asm_60589
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStart
+	ld a, $2
+	ld [wPokemonTower2FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+MovementData_605a9:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+MovementData_605b2:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+PokemonTower2Script2:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_POKEMON_TOWER_2F_RIVAL
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	xor a
+	ld [wJoyIgnore], a
+	call PlayDefaultMusic
+	ld a, $0
+	ld [wPokemonTower2FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower2F_TextPointers:
+	dw PokemonTower2Text1
+	dw PokemonTower2Text2
+
+PokemonTower2Text1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
+	jr z, .asm_16f24
+	ld hl, PokemonTower2Text_6063c
+	call PrintText
+	jr .asm_41852
+.asm_16f24
+	ld hl, PokemonTower2Text_6062d
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, PokemonTower2Text_60632
+	ld de, PokemonTower2Text_60637
+	call SaveEndBattleTextPointers
+	ld a, OPP_SONY2
+	ld [wCurOpponent], a
+
+	; select which team to use during the encounter
+	ld a, [wRivalStarter]
+	cp STARTER2
+	jr nz, .NotSquirtle
+	ld a, $4
+	jr .done
+.NotSquirtle
+	cp STARTER3
+	jr nz, .Charmander
+	ld a, $5
+	jr .done
+.Charmander
+	ld a, $6
+.done
+	ld [wTrainerNo], a
+
+	ld a, $1
+	ld [wPokemonTower2FCurScript], a
+	ld [wCurMapScript], a
+.asm_41852
+	jp TextScriptEnd
+
+PokemonTower2Text_6062d:
+	TX_FAR _PokemonTower2Text_6062d
+	db "@"
+
+PokemonTower2Text_60632:
+	TX_FAR _PokemonTower2Text_60632
+	db "@"
+
+PokemonTower2Text_60637:
+	TX_FAR _PokemonTower2Text_60637
+	db "@"
+
+PokemonTower2Text_6063c:
+	TX_FAR _PokemonTower2Text_6063c
+	db "@"
+
+PokemonTower2Text2:
+	TX_FAR _PokemonTower2Text2
+	db "@"
--- /dev/null
+++ b/scripts/PokemonTower3F.asm
@@ -1,0 +1,101 @@
+PokemonTower3F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, PokemonTower3TrainerHeader0
+	ld de, PokemonTower3F_ScriptPointers
+	ld a, [wPokemonTower3FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonTower3FCurScript], a
+	ret
+
+PokemonTower3F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+PokemonTower3F_TextPointers:
+	dw PokemonTower3Text1
+	dw PokemonTower3Text2
+	dw PokemonTower3Text3
+	dw PickUpItemText
+
+PokemonTower3TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_0
+	dw PokemonTower3BattleText1 ; TextBeforeBattle
+	dw PokemonTower3AfterBattleText1 ; TextAfterBattle
+	dw PokemonTower3EndBattleText1 ; TextEndBattle
+	dw PokemonTower3EndBattleText1 ; TextEndBattle
+
+PokemonTower3TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_1
+	dw PokemonTower3BattleText2 ; TextBeforeBattle
+	dw PokemonTower3AfterBattleText2 ; TextAfterBattle
+	dw PokemonTower3EndBattleText2 ; TextEndBattle
+	dw PokemonTower3EndBattleText2 ; TextEndBattle
+
+PokemonTower3TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_2
+	dw PokemonTower3BattleText3 ; TextBeforeBattle
+	dw PokemonTower3AfterBattleText3 ; TextAfterBattle
+	dw PokemonTower3EndBattleText3 ; TextEndBattle
+	dw PokemonTower3EndBattleText3 ; TextEndBattle
+	db $ff
+
+PokemonTower3Text1:
+	TX_ASM
+	ld hl, PokemonTower3TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower3Text2:
+	TX_ASM
+	ld hl, PokemonTower3TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower3Text3:
+	TX_ASM
+	ld hl, PokemonTower3TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower3BattleText1:
+	TX_FAR _PokemonTower3BattleText1
+	db "@"
+
+PokemonTower3EndBattleText1:
+	TX_FAR _PokemonTower3EndBattleText1
+	db "@"
+
+PokemonTower3AfterBattleText1:
+	TX_FAR _PokemonTower3AfterBattleText1
+	db "@"
+
+PokemonTower3BattleText2:
+	TX_FAR _PokemonTower3BattleText2
+	db "@"
+
+PokemonTower3EndBattleText2:
+	TX_FAR _PokemonTower3EndBattleText2
+	db "@"
+
+PokemonTower3AfterBattleText2:
+	TX_FAR _PokemonTower3AfterBattleText2
+	db "@"
+
+PokemonTower3BattleText3:
+	TX_FAR _PokemonTower3BattleText3
+	db "@"
+
+PokemonTower3EndBattleText3:
+	TX_FAR _PokemonTower3EndBattleText3
+	db "@"
+
+PokemonTower3AfterBattleText3:
+	TX_FAR _PokemonTower3AfterBattleText3
+	db "@"
--- /dev/null
+++ b/scripts/PokemonTower4F.asm
@@ -1,0 +1,104 @@
+PokemonTower4F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, PokemonTower4TrainerHeader0
+	ld de, PokemonTower4F_ScriptPointers
+	ld a, [wPokemonTower4FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonTower4FCurScript], a
+	ret
+
+PokemonTower4F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+PokemonTower4F_TextPointers:
+	dw PokemonTower4Text1
+	dw PokemonTower4Text2
+	dw PokemonTower4Text3
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+
+PokemonTower4TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_0
+	dw PokemonTower4BattleText1 ; TextBeforeBattle
+	dw PokemonTower4AfterBattleText1 ; TextAfterBattle
+	dw PokemonTower4EndBattleText1 ; TextEndBattle
+	dw PokemonTower4EndBattleText1 ; TextEndBattle
+
+PokemonTower4TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_1
+	dw PokemonTower4BattleText2 ; TextBeforeBattle
+	dw PokemonTower4AfterBattleText2 ; TextAfterBattle
+	dw PokemonTower4EndBattleText2 ; TextEndBattle
+	dw PokemonTower4EndBattleText2 ; TextEndBattle
+
+PokemonTower4TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_2
+	dw PokemonTower4BattleText3 ; TextBeforeBattle
+	dw PokemonTower4AfterBattleText3 ; TextAfterBattle
+	dw PokemonTower4EndBattleText3 ; TextEndBattle
+	dw PokemonTower4EndBattleText3 ; TextEndBattle
+
+	db $ff
+
+PokemonTower4Text1:
+	TX_ASM
+	ld hl, PokemonTower4TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower4Text2:
+	TX_ASM
+	ld hl, PokemonTower4TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower4Text3:
+	TX_ASM
+	ld hl, PokemonTower4TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower4BattleText1:
+	TX_FAR _PokemonTower4BattleText1
+	db "@"
+
+PokemonTower4EndBattleText1:
+	TX_FAR _PokemonTower4EndBattleText1
+	db "@"
+
+PokemonTower4AfterBattleText1:
+	TX_FAR _PokemonTower4AfterBattleText1
+	db "@"
+
+PokemonTower4BattleText2:
+	TX_FAR _PokemonTower4BattleText2
+	db "@"
+
+PokemonTower4EndBattleText2:
+	TX_FAR _PokemonTower4EndBattleText2
+	db "@"
+
+PokemonTower4AfterBattleText2:
+	TX_FAR _PokemonTower4AfterBattleText2
+	db "@"
+
+PokemonTower4BattleText3:
+	TX_FAR _PokemonTower4BattleText3
+	db "@"
+
+PokemonTower4EndBattleText3:
+	TX_FAR _PokemonTower4EndBattleText3
+	db "@"
+
+PokemonTower4AfterBattleText3:
+	TX_FAR _PokemonTower4AfterBattleText3
+	db "@"
--- /dev/null
+++ b/scripts/PokemonTower5F.asm
@@ -1,0 +1,176 @@
+PokemonTower5F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, PokemonTower5TrainerHeader0
+	ld de, PokemonTower5F_ScriptPointers
+	ld a, [wPokemonTower5FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonTower5FCurScript], a
+	ret
+
+PokemonTower5F_ScriptPointers:
+	dw PokemonTower5Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+PokemonTower5Script0:
+	ld hl, CoordsData_60992
+	call ArePlayerCoordsInArray
+	jr c, .asm_60960
+	ld hl, wd72e
+	res 4, [hl]
+	ResetEvent EVENT_IN_PURIFIED_ZONE
+	jp CheckFightingMapTrainers
+.asm_60960
+	CheckAndSetEvent EVENT_IN_PURIFIED_ZONE
+	ret nz
+	xor a
+	ld [hJoyHeld], a
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld hl, wd72e
+	set 4, [hl]
+	predef HealParty
+	call GBFadeOutToWhite
+	call Delay3
+	call Delay3
+	call GBFadeInFromWhite
+	ld a, $7
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [wJoyIgnore], a
+	ret
+
+CoordsData_60992:
+	db $08,$0A
+	db $08,$0B
+	db $09,$0A
+	db $09,$0B
+	db $FF
+
+PokemonTower5F_TextPointers:
+	dw PokemonTower5Text1
+	dw PokemonTower5Text2
+	dw PokemonTower5Text3
+	dw PokemonTower5Text4
+	dw PokemonTower5Text5
+	dw PickUpItemText
+	dw PokemonTower5Text7
+
+PokemonTower5TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_0
+	dw PokemonTower5BattleText1 ; TextBeforeBattle
+	dw PokemonTower5AfterBattleText1 ; TextAfterBattle
+	dw PokemonTower5EndBattleText1 ; TextEndBattle
+	dw PokemonTower5EndBattleText1 ; TextEndBattle
+
+PokemonTower5TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_1
+	dw PokemonTower5BattleText2 ; TextBeforeBattle
+	dw PokemonTower5AfterBattleText2 ; TextAfterBattle
+	dw PokemonTower5EndBattleText2 ; TextEndBattle
+	dw PokemonTower5EndBattleText2 ; TextEndBattle
+
+PokemonTower5TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_2
+	dw PokemonTower5BattleText3 ; TextBeforeBattle
+	dw PokemonTower5AfterBattleText3 ; TextAfterBattle
+	dw PokemonTower5EndBattleText3 ; TextEndBattle
+	dw PokemonTower5EndBattleText3 ; TextEndBattle
+
+PokemonTower5TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_3
+	dw PokemonTower5BattleText4 ; TextBeforeBattle
+	dw PokemonTower5AfterBattleText4 ; TextAfterBattle
+	dw PokemonTower5EndBattleText4 ; TextEndBattle
+	dw PokemonTower5EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+PokemonTower5Text1:
+	TX_FAR _PokemonTower5Text1
+	db "@"
+
+PokemonTower5Text2:
+	TX_ASM
+	ld hl, PokemonTower5TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower5BattleText1:
+	TX_FAR _PokemonTower5BattleText1
+	db "@"
+
+PokemonTower5EndBattleText1:
+	TX_FAR _PokemonTower5EndBattleText1
+	db "@"
+
+PokemonTower5AfterBattleText1:
+	TX_FAR _PokemonTower5AfterBattleText1
+	db "@"
+
+PokemonTower5Text3:
+	TX_ASM
+	ld hl, PokemonTower5TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower5BattleText2:
+	TX_FAR _PokemonTower5BattleText2
+	db "@"
+
+PokemonTower5EndBattleText2:
+	TX_FAR _PokemonTower5EndBattleText2
+	db "@"
+
+PokemonTower5AfterBattleText2:
+	TX_FAR _PokemonTower5AfterBattleText2
+	db "@"
+
+PokemonTower5Text4:
+	TX_ASM
+	ld hl, PokemonTower5TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower5BattleText3:
+	TX_FAR _PokemonTower5BattleText3
+	db "@"
+
+PokemonTower5EndBattleText3:
+	TX_FAR _PokemonTower5EndBattleText3
+	db "@"
+
+PokemonTower5AfterBattleText3:
+	TX_FAR _PokemonTower5AfterBattleText3
+	db "@"
+
+PokemonTower5Text5:
+	TX_ASM
+	ld hl, PokemonTower5TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower5BattleText4:
+	TX_FAR _PokemonTower5BattleText4
+	db "@"
+
+PokemonTower5EndBattleText4:
+	TX_FAR _PokemonTower5EndBattleText4
+	db "@"
+
+PokemonTower5AfterBattleText4:
+	TX_FAR _PokemonTower5AfterBattleText4
+	db "@"
+
+PokemonTower5Text7:
+	TX_FAR _PokemonTower5Text7
+	db "@"
--- /dev/null
+++ b/scripts/PokemonTower6F.asm
@@ -1,0 +1,212 @@
+PokemonTower6F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, PokemonTower6TrainerHeader0
+	ld de, PokemonTower6F_ScriptPointers
+	ld a, [wPokemonTower6FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonTower6FCurScript], a
+	ret
+
+PokemonTower6Script_60b02:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wPokemonTower6FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower6F_ScriptPointers:
+	dw PokemonTower6Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw PokemonTower6Script3
+	dw PokemonTower6Script4
+
+PokemonTower6Script0:
+	CheckEvent EVENT_BEAT_GHOST_MAROWAK
+	jp nz, CheckFightingMapTrainers
+	ld hl, CoordsData_60b45
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	xor a
+	ld [hJoyHeld], a
+	ld a, $6
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, MAROWAK
+	ld [wCurOpponent], a
+	ld a, 30
+	ld [wCurEnemyLVL], a
+	ld a, $4
+	ld [wPokemonTower6FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+CoordsData_60b45:
+	db $10,$0A,$FF
+
+PokemonTower6Script4:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, PokemonTower6Script_60b02
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld a, [wd72d]
+	bit 6, a
+	ret nz
+	call UpdateSprites
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, [wBattleResult]
+	and a
+	jr nz, .asm_60b82
+	SetEvent EVENT_BEAT_GHOST_MAROWAK
+	ld a, $7
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wPokemonTower6FCurScript], a
+	ld [wCurMapScript], a
+	ret
+.asm_60b82
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, $10
+	ld [wSimulatedJoypadStatesEnd], a
+	xor a
+	ld [wSpriteStateData2 + $06], a
+	ld [wOverrideSimulatedJoypadStatesMask], a
+	ld hl, wd730
+	set 7, [hl]
+	ld a, $3
+	ld [wPokemonTower6FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower6Script3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wPokemonTower6FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower6F_TextPointers:
+	dw PokemonTower6Text1
+	dw PokemonTower6Text2
+	dw PokemonTower6Text3
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PokemonTower6Text6
+	dw PokemonTower6Text7
+
+PokemonTower6TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0
+	dw PokemonTower6BattleText1 ; TextBeforeBattle
+	dw PokemonTower6AfterBattleText1 ; TextAfterBattle
+	dw PokemonTower6EndBattleText1 ; TextEndBattle
+	dw PokemonTower6EndBattleText1 ; TextEndBattle
+
+PokemonTower6TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1
+	dw PokemonTower6BattleText2 ; TextBeforeBattle
+	dw PokemonTower6AfterBattleText2 ; TextAfterBattle
+	dw PokemonTower6EndBattleText2 ; TextEndBattle
+	dw PokemonTower6EndBattleText2 ; TextEndBattle
+
+PokemonTower6TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2
+	dw PokemonTower6BattleText3 ; TextBeforeBattle
+	dw PokemonTower6AfterBattleText3 ; TextAfterBattle
+	dw PokemonTower6EndBattleText3 ; TextEndBattle
+	dw PokemonTower6EndBattleText3 ; TextEndBattle
+
+	db $ff
+
+PokemonTower6Text1:
+	TX_ASM
+	ld hl, PokemonTower6TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower6Text2:
+	TX_ASM
+	ld hl, PokemonTower6TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower6Text3:
+	TX_ASM
+	ld hl, PokemonTower6TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower6Text7:
+	TX_ASM
+	ld hl, PokemonTower2Text_60c1f
+	call PrintText
+	ld a, MAROWAK
+	call PlayCry
+	call WaitForSoundToFinish
+	ld c, 30
+	call DelayFrames
+	ld hl, PokemonTower2Text_60c24
+	call PrintText
+	jp TextScriptEnd
+
+PokemonTower2Text_60c1f:
+	TX_FAR _PokemonTower2Text_60c1f
+	db "@"
+
+PokemonTower2Text_60c24:
+	TX_FAR _PokemonTower2Text_60c24
+	db "@"
+
+PokemonTower6BattleText1:
+	TX_FAR _PokemonTower6BattleText1
+	db "@"
+
+PokemonTower6EndBattleText1:
+	TX_FAR _PokemonTower6EndBattleText1
+	db "@"
+
+PokemonTower6AfterBattleText1:
+	TX_FAR _PokemonTower6AfterBattleText1
+	db "@"
+
+PokemonTower6BattleText2:
+	TX_FAR _PokemonTower6BattleText2
+	db "@"
+
+PokemonTower6EndBattleText2:
+	TX_FAR _PokemonTower6EndBattleText2
+	db "@"
+
+PokemonTower6AfterBattleText2:
+	TX_FAR _PokemonTower6AfterBattleText2
+	db "@"
+
+PokemonTower6BattleText3:
+	TX_FAR _PokemonTower6BattleText3
+	db "@"
+
+PokemonTower6EndBattleText3:
+	TX_FAR _PokemonTower6EndBattleText3
+	db "@"
+
+PokemonTower6AfterBattleText3:
+	TX_FAR _PokemonTower6AfterBattleText3
+	db "@"
+
+PokemonTower6Text6:
+	TX_FAR _PokemonTower6Text6
+	db "@"
--- /dev/null
+++ b/scripts/PokemonTower7F.asm
@@ -1,0 +1,312 @@
+PokemonTower7F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, PokemonTower7TrainerHeader0
+	ld de, PokemonTower7F_ScriptPointers
+	ld a, [wPokemonTower7FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPokemonTower7FCurScript], a
+	ret
+
+PokemonTower7Script_60d18:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wPokemonTower7FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower7F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw PokemonTower7Script2
+	dw PokemonTower7Script3
+	dw PokemonTower7Script4
+
+PokemonTower7Script2:
+	ld hl, wFlags_0xcd60
+	res 0, [hl]
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, PokemonTower7Script_60d18
+	call EndTrainerBattle
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, [wSpriteIndex]
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call PokemonTower7Script_60db6
+	ld a, $3
+	ld [wPokemonTower7FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower7Script3:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld hl, wMissableObjectList
+	ld a, [wSpriteIndex]
+	ld b, a
+.missableObjectsListLoop
+	ld a, [hli]
+	cp b            ; search for sprite ID in missing objects list
+	ld a, [hli]
+	jr nz, .missableObjectsListLoop
+	ld [wMissableObjectIndex], a   ; remove missable object
+	predef HideObject
+	xor a
+	ld [wJoyIgnore], a
+	ld [wSpriteIndex], a
+	ld [wTrainerHeaderFlagBit], a
+	ld [wUnusedDA38], a
+	ld a, $0
+	ld [wPokemonTower7FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower7Script4:
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld a, HS_POKEMON_TOWER_7F_MR_FUJI
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, SPRITE_FACING_UP
+	ld [wSpriteStateData1 + 9], a
+	ld a, MR_FUJIS_HOUSE
+	ld [hWarpDestinationMap], a
+	ld a, $1
+	ld [wDestinationWarpID], a
+	ld a, LAVENDER_TOWN
+	ld [wLastMap], a
+	ld hl, wd72d
+	set 3, [hl]
+	ld a, $0
+	ld [wPokemonTower7FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+PokemonTower7Script_60db6:
+	ld hl, CoordsData_60de3
+	ld a, [wSpriteIndex]
+	dec a
+	swap a
+	ld d, $0
+	ld e, a
+	add hl, de
+	ld a, [wYCoord]
+	ld b, a
+	ld a, [wXCoord]
+	ld c, a
+.asm_60dcb
+	ld a, [hli]
+	cp b
+	jr nz, .asm_60dde
+	ld a, [hli]
+	cp c
+	jr nz, .asm_60ddf
+	ld a, [hli]
+	ld d, [hl]
+	ld e, a
+	ld a, [wSpriteIndex]
+	ld [H_SPRITEINDEX], a
+	jp MoveSprite
+.asm_60dde
+	inc hl
+.asm_60ddf
+	inc hl
+	inc hl
+	jr .asm_60dcb
+
+CoordsData_60de3:
+	db $0C,$09
+	dw MovementData_60e13
+	db $0B,$0A
+	dw MovementData_60e1b
+	db $0B,$0B
+	dw MovementData_60e22
+	db $0B,$0C
+	dw MovementData_60e22
+	db $0A,$0C
+	dw MovementData_60e28
+	db $09,$0B
+	dw MovementData_60e30
+	db $09,$0A
+	dw MovementData_60e22
+	db $09,$09
+	dw MovementData_60e22
+	db $08,$09
+	dw MovementData_60e37
+	db $07,$0A
+	dw MovementData_60e22
+	db $07,$0B
+	dw MovementData_60e22
+	db $07,$0C
+	dw MovementData_60e22
+
+MovementData_60e13:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_LEFT
+	db $FF
+
+MovementData_60e1b:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+MovementData_60e22:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+MovementData_60e28:
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+MovementData_60e30:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+MovementData_60e37:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+PokemonTower7F_TextPointers:
+	dw PokemonTower7Text1
+	dw PokemonTower7Text2
+	dw PokemonTower7Text3
+	dw PokemonTower7FujiText
+
+PokemonTower7TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
+	dw PokemonTower7BattleText1 ; TextBeforeBattle
+	dw PokemonTower7AfterBattleText1 ; TextAfterBattle
+	dw PokemonTower7EndBattleText1 ; TextEndBattle
+	dw PokemonTower7EndBattleText1 ; TextEndBattle
+
+PokemonTower7TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
+	dw PokemonTower7BattleText2 ; TextBeforeBattle
+	dw PokemonTower7AfterBattleText2 ; TextAfterBattle
+	dw PokemonTower7EndBattleText2 ; TextEndBattle
+	dw PokemonTower7EndBattleText2 ; TextEndBattle
+
+PokemonTower7TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
+	dw PokemonTower7BattleText3 ; TextBeforeBattle
+	dw PokemonTower7AfterBattleText3 ; TextAfterBattle
+	dw PokemonTower7EndBattleText3 ; TextEndBattle
+	dw PokemonTower7EndBattleText3 ; TextEndBattle
+
+	db $ff
+
+PokemonTower7Text1:
+	TX_ASM
+	ld hl, PokemonTower7TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower7Text2:
+	TX_ASM
+	ld hl, PokemonTower7TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower7Text3:
+	TX_ASM
+	ld hl, PokemonTower7TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+PokemonTower7FujiText:
+	TX_ASM
+	ld hl, TowerRescueFujiText
+	call PrintText
+	SetEvent EVENT_RESCUED_MR_FUJI
+	SetEvent EVENT_RESCUED_MR_FUJI_2
+	ld a, HS_MR_FUJIS_HOUSE_MR_FUJI
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, HS_SAFFRON_CITY_E
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_SAFFRON_CITY_F
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, $4
+	ld [wPokemonTower7FCurScript], a
+	ld [wCurMapScript], a
+	jp TextScriptEnd
+
+TowerRescueFujiText:
+	TX_FAR _TowerRescueFujiText
+	db "@"
+
+PokemonTower7BattleText1:
+	TX_FAR _PokemonTower7BattleText1
+	db "@"
+
+PokemonTower7EndBattleText1:
+	TX_FAR _PokemonTower7EndBattleText1
+	db "@"
+
+PokemonTower7AfterBattleText1:
+	TX_FAR _PokemonTower7AfterBattleText1
+	db "@"
+
+PokemonTower7BattleText2:
+	TX_FAR _PokemonTower7BattleText2
+	db "@"
+
+PokemonTower7EndBattleText2:
+	TX_FAR _PokemonTower7EndBattleText2
+	db "@"
+
+PokemonTower7AfterBattleText2:
+	TX_FAR _PokemonTower7AfterBattleText2
+	db "@"
+
+PokemonTower7BattleText3:
+	TX_FAR _PokemonTower7BattleText3
+	db "@"
+
+PokemonTower7EndBattleText3:
+	TX_FAR _PokemonTower7EndBattleText3
+	db "@"
+
+PokemonTower7AfterBattleText3:
+	TX_FAR _PokemonTower7AfterBattleText3
+	db "@"
--- /dev/null
+++ b/scripts/PowerPlant.asm
@@ -1,0 +1,175 @@
+PowerPlant_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Voltorb0TrainerHeader
+	ld de, PowerPlant_ScriptPointers
+	ld a, [wPowerPlantCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wPowerPlantCurScript], a
+	ret
+
+PowerPlant_ScriptPointers
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+PowerPlant_TextPointers:
+	dw Voltorb0Text
+	dw Voltorb1Text
+	dw Voltorb2Text
+	dw Voltorb3Text
+	dw Voltorb4Text
+	dw Voltorb5Text
+	dw Voltorb6Text
+	dw Voltorb7Text
+	dw ZapdosText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+
+Voltorb0TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_0
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_0
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+Voltorb1TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_1
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_1
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+Voltorb2TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_2
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_2
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+Voltorb3TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_3
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_3
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+Voltorb4TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_4
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_4
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+Voltorb5TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_5
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_5
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+Voltorb6TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_6
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_6
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+Voltorb7TrainerHeader:
+	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1
+	dw VoltorbBattleText ; TextBeforeBattle
+	dw VoltorbBattleText ; TextAfterBattle
+	dw VoltorbBattleText ; TextEndBattle
+	dw VoltorbBattleText ; TextEndBattle
+
+ZapdosTrainerHeader:
+	dbEventFlagBit EVENT_BEAT_ZAPDOS, 1
+	db 0 ; view range
+	dwEventFlagAddress EVENT_BEAT_ZAPDOS, 1
+	dw ZapdosBattleText ; TextBeforeBattle
+	dw ZapdosBattleText ; TextAfterBattle
+	dw ZapdosBattleText ; TextEndBattle
+	dw ZapdosBattleText ; TextEndBattle
+
+	db $ff
+
+InitVoltorbBattle:
+	call TalkToTrainer
+	ld a, [wCurMapScript]
+	ld [wPowerPlantCurScript], a
+	jp TextScriptEnd
+
+Voltorb0Text:
+	TX_ASM
+	ld hl, Voltorb0TrainerHeader
+	jr InitVoltorbBattle
+
+Voltorb1Text:
+	TX_ASM
+	ld hl, Voltorb1TrainerHeader
+	jr InitVoltorbBattle
+
+Voltorb2Text:
+	TX_ASM
+	ld hl, Voltorb2TrainerHeader
+	jr InitVoltorbBattle
+
+Voltorb3Text:
+	TX_ASM
+	ld hl, Voltorb3TrainerHeader
+	jr InitVoltorbBattle
+
+Voltorb4Text:
+	TX_ASM
+	ld hl, Voltorb4TrainerHeader
+	jr InitVoltorbBattle
+
+Voltorb5Text:
+	TX_ASM
+	ld hl, Voltorb5TrainerHeader
+	jr InitVoltorbBattle
+
+Voltorb6Text:
+	TX_ASM
+	ld hl, Voltorb6TrainerHeader
+	jr InitVoltorbBattle
+
+Voltorb7Text:
+	TX_ASM
+	ld hl, Voltorb7TrainerHeader
+	jr InitVoltorbBattle
+
+ZapdosText:
+	TX_ASM
+	ld hl, ZapdosTrainerHeader
+	jr InitVoltorbBattle
+
+VoltorbBattleText:
+	TX_FAR _VoltorbBattleText
+	db "@"
+
+ZapdosBattleText:
+	TX_FAR _ZapdosBattleText
+	TX_ASM
+	ld a, ZAPDOS
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/RedsHouse1F.asm
@@ -1,0 +1,69 @@
+RedsHouse1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+RedsHouse1F_TextPointers:
+	dw RedsHouse1FText1
+	dw RedsHouse1FText2
+
+RedsHouse1FText1: ; Mom
+	TX_ASM
+	ld a, [wd72e]
+	bit 3, a
+	jr nz, .heal ; if player has received a Pokémon from Oak, heal team
+	ld hl, MomWakeUpText
+	call PrintText
+	jr .done
+.heal
+	call MomHealPokemon
+.done
+	jp TextScriptEnd
+
+MomWakeUpText:
+	TX_FAR _MomWakeUpText
+	db "@"
+
+MomHealPokemon:
+	ld hl, MomHealText1
+	call PrintText
+	call GBFadeOutToWhite
+	call ReloadMapData
+	predef HealParty
+	ld a, MUSIC_PKMN_HEALED
+	ld [wNewSoundID], a
+	call PlaySound
+.next
+	ld a, [wChannelSoundIDs]
+	cp MUSIC_PKMN_HEALED
+	jr z, .next
+	ld a, [wMapMusicSoundID]
+	ld [wNewSoundID], a
+	call PlaySound
+	call GBFadeInFromWhite
+	ld hl, MomHealText2
+	jp PrintText
+
+MomHealText1:
+	TX_FAR _MomHealText1
+	db "@"
+MomHealText2:
+	TX_FAR _MomHealText2
+	db "@"
+
+RedsHouse1FText2: ; TV
+	TX_ASM
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	ld hl, TVWrongSideText
+	jr nz, .notUp
+	ld hl, StandByMeText
+.notUp
+	call PrintText
+	jp TextScriptEnd
+
+StandByMeText:
+	TX_FAR _StandByMeText
+	db "@"
+
+TVWrongSideText:
+	TX_FAR _TVWrongSideText
+	db "@"
--- /dev/null
+++ b/scripts/RedsHouse2F.asm
@@ -1,0 +1,24 @@
+RedsHouse2F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, RedsHouse2F_ScriptPointers
+	ld a, [wRedsHouse2FCurScript]
+	jp CallFunctionInTable
+
+RedsHouse2F_ScriptPointers:
+	dw RedsHouse2FScript0
+	dw RedsHouse2FScript1
+
+RedsHouse2FScript0:
+	xor a
+	ld [hJoyHeld], a
+	ld a, PLAYER_DIR_UP
+	ld [wPlayerMovingDirection], a
+	ld a, 1
+	ld [wRedsHouse2FCurScript], a
+	ret
+
+RedsHouse2FScript1:
+	ret
+
+RedsHouse2F_TextPointers:
+	db "@"
--- /dev/null
+++ b/scripts/RockTunnel1F.asm
@@ -1,0 +1,213 @@
+RockTunnel1F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, RockTunnel1TrainerHeader0
+	ld de, RockTunnel1F_ScriptPointers
+	ld a, [wRockTunnel1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRockTunnel1FCurScript], a
+	ret
+
+RockTunnel1F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+RockTunnel1F_TextPointers:
+	dw RockTunnel1Text1
+	dw RockTunnel1Text2
+	dw RockTunnel1Text3
+	dw RockTunnel1Text4
+	dw RockTunnel1Text5
+	dw RockTunnel1Text6
+	dw RockTunnel1Text7
+	dw RockTunnel1Text8
+
+RockTunnel1TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0
+	dw RockTunnel1BattleText1 ; TextBeforeBattle
+	dw RockTunnel1AfterBattleText1 ; TextAfterBattle
+	dw RockTunnel1EndBattleText1 ; TextEndBattle
+	dw RockTunnel1EndBattleText1 ; TextEndBattle
+
+RockTunnel1TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1
+	dw RockTunnel1BattleText2 ; TextBeforeBattle
+	dw RockTunnel1AfterBattleText2 ; TextAfterBattle
+	dw RockTunnel1EndBattleText2 ; TextEndBattle
+	dw RockTunnel1EndBattleText2 ; TextEndBattle
+
+RockTunnel1TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2
+	dw RockTunnel1BattleText3 ; TextBeforeBattle
+	dw RockTunnel1AfterBattleText3 ; TextAfterBattle
+	dw RockTunnel1EndBattleText3 ; TextEndBattle
+	dw RockTunnel1EndBattleText3 ; TextEndBattle
+
+RockTunnel1TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3
+	dw RockTunnel1BattleText4 ; TextBeforeBattle
+	dw RockTunnel1AfterBattleText4 ; TextAfterBattle
+	dw RockTunnel1EndBattleText4 ; TextEndBattle
+	dw RockTunnel1EndBattleText4 ; TextEndBattle
+
+RockTunnel1TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4
+	dw RockTunnel1BattleText5 ; TextBeforeBattle
+	dw RockTunnel1AfterBattleText5 ; TextAfterBattle
+	dw RockTunnel1EndBattleText5 ; TextEndBattle
+	dw RockTunnel1EndBattleText5 ; TextEndBattle
+
+RockTunnel1TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5
+	dw RockTunnel1BattleText6 ; TextBeforeBattle
+	dw RockTunnel1AfterBattleText6 ; TextAfterBattle
+	dw RockTunnel1EndBattleText6 ; TextEndBattle
+	dw RockTunnel1EndBattleText6 ; TextEndBattle
+
+RockTunnel1TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6
+	dw RockTunnel1BattleText7 ; TextBeforeBattle
+	dw RockTunnel1AfterBattleText7 ; TextAfterBattle
+	dw RockTunnel1EndBattleText7 ; TextEndBattle
+	dw RockTunnel1EndBattleText7 ; TextEndBattle
+
+	db $ff
+
+RockTunnel1Text1:
+	TX_ASM
+	ld hl, RockTunnel1TrainerHeader0
+	jr RockTunnel1TalkToTrainer
+
+RockTunnel1Text2:
+	TX_ASM
+	ld hl, RockTunnel1TrainerHeader1
+	jr RockTunnel1TalkToTrainer
+
+RockTunnel1Text3:
+	TX_ASM
+	ld hl, RockTunnel1TrainerHeader2
+	jr RockTunnel1TalkToTrainer
+
+RockTunnel1Text4:
+	TX_ASM
+	ld hl, RockTunnel1TrainerHeader3
+	jr RockTunnel1TalkToTrainer
+
+RockTunnel1Text5:
+	TX_ASM
+	ld hl, RockTunnel1TrainerHeader4
+	jr RockTunnel1TalkToTrainer
+
+RockTunnel1Text6:
+	TX_ASM
+	ld hl, RockTunnel1TrainerHeader5
+	jr RockTunnel1TalkToTrainer
+
+RockTunnel1Text7:
+	TX_ASM
+	ld hl, RockTunnel1TrainerHeader6
+RockTunnel1TalkToTrainer:
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel1BattleText1:
+	TX_FAR _RockTunnel1BattleText1
+	db "@"
+
+RockTunnel1EndBattleText1:
+	TX_FAR _RockTunnel1EndBattleText1
+	db "@"
+
+RockTunnel1AfterBattleText1:
+	TX_FAR _RockTunnel1AfterBattleText1
+	db "@"
+
+RockTunnel1BattleText2:
+	TX_FAR _RockTunnel1BattleText2
+	db "@"
+
+RockTunnel1EndBattleText2:
+	TX_FAR _RockTunnel1EndBattleText2
+	db "@"
+
+RockTunnel1AfterBattleText2:
+	TX_FAR _RockTunnel1AfterBattleText2
+	db "@"
+
+RockTunnel1BattleText3:
+	TX_FAR _RockTunnel1BattleText3
+	db "@"
+
+RockTunnel1EndBattleText3:
+	TX_FAR _RockTunnel1EndBattleText3
+	db "@"
+
+RockTunnel1AfterBattleText3:
+	TX_FAR _RockTunnel1AfterBattleText3
+	db "@"
+
+RockTunnel1BattleText4:
+	TX_FAR _RockTunnel1BattleText4
+	db "@"
+
+RockTunnel1EndBattleText4:
+	TX_FAR _RockTunnel1EndBattleText4
+	db "@"
+
+RockTunnel1AfterBattleText4:
+	TX_FAR _RockTunnel1AfterBattleText4
+	db "@"
+
+RockTunnel1BattleText5:
+	TX_FAR _RockTunnel1BattleText5
+	db "@"
+
+RockTunnel1EndBattleText5:
+	TX_FAR _RockTunnel1EndBattleText5
+	db "@"
+
+RockTunnel1AfterBattleText5:
+	TX_FAR _RockTunnel1AfterBattleText5
+	db "@"
+
+RockTunnel1BattleText6:
+	TX_FAR _RockTunnel1BattleText6
+	db "@"
+
+RockTunnel1EndBattleText6:
+	TX_FAR _RockTunnel1EndBattleText6
+	db "@"
+
+RockTunnel1AfterBattleText6:
+	TX_FAR _RockTunnel1AfterBattleText6
+	db "@"
+
+RockTunnel1BattleText7:
+	TX_FAR _RockTunnel1BattleText7
+	db "@"
+
+RockTunnel1EndBattleText7:
+	TX_FAR _RockTunnel1EndBattleText7
+	db "@"
+
+RockTunnel1AfterBattleText7:
+	TX_FAR _RockTunnel1AfterBattleText7
+	db "@"
+
+RockTunnel1Text8:
+	TX_FAR _RockTunnel1Text8
+	db "@"
--- /dev/null
+++ b/scripts/RockTunnelB1F.asm
@@ -1,0 +1,241 @@
+RockTunnelB1F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, RockTunnel2TrainerHeader0
+	ld de, RockTunnelB1F_ScriptPointers
+	ld a, [wRockTunnelB1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRockTunnelB1FCurScript], a
+	ret
+
+RockTunnelB1F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+RockTunnelB1F_TextPointers:
+	dw RockTunnel2Text1
+	dw RockTunnel2Text2
+	dw RockTunnel2Text3
+	dw RockTunnel2Text4
+	dw RockTunnel2Text5
+	dw RockTunnel2Text6
+	dw RockTunnel2Text7
+	dw RockTunnel2Text8
+
+RockTunnel2TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0
+	dw RockTunnel2BattleText2 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText2 ; TextAfterBattle
+	dw RockTunnel2EndBattleText2 ; TextEndBattle
+	dw RockTunnel2EndBattleText2 ; TextEndBattle
+
+RockTunnel2TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1
+	dw RockTunnel2BattleText3 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText3 ; TextAfterBattle
+	dw RockTunnel2EndBattleText3 ; TextEndBattle
+	dw RockTunnel2EndBattleText3 ; TextEndBattle
+
+RockTunnel2TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2
+	dw RockTunnel2BattleText4 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText4 ; TextAfterBattle
+	dw RockTunnel2EndBattleText4 ; TextEndBattle
+	dw RockTunnel2EndBattleText4 ; TextEndBattle
+
+RockTunnel2TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3
+	dw RockTunnel2BattleText5 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText5 ; TextAfterBattle
+	dw RockTunnel2EndBattleText5 ; TextEndBattle
+	dw RockTunnel2EndBattleText5 ; TextEndBattle
+
+RockTunnel2TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4
+	dw RockTunnel2BattleText6 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText6 ; TextAfterBattle
+	dw RockTunnel2EndBattleText6 ; TextEndBattle
+	dw RockTunnel2EndBattleText6 ; TextEndBattle
+
+RockTunnel2TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5
+	dw RockTunnel2BattleText7 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText7 ; TextAfterBattle
+	dw RockTunnel2EndBattleText7 ; TextEndBattle
+	dw RockTunnel2EndBattleText7 ; TextEndBattle
+
+RockTunnel2TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6
+	dw RockTunnel2BattleText8 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText8 ; TextAfterBattle
+	dw RockTunnel2EndBattleText8 ; TextEndBattle
+	dw RockTunnel2EndBattleText8 ; TextEndBattle
+
+RockTunnel2TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1
+	dw RockTunnel2BattleText9 ; TextBeforeBattle
+	dw RockTunnel2AfterBattleText9 ; TextAfterBattle
+	dw RockTunnel2EndBattleText9 ; TextEndBattle
+	dw RockTunnel2EndBattleText9 ; TextEndBattle
+
+	db $ff
+
+RockTunnel2Text1:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2Text2:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2Text3:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2Text4:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2Text5:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2Text6:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2Text7:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2Text8:
+	TX_ASM
+	ld hl, RockTunnel2TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RockTunnel2BattleText2:
+	TX_FAR _RockTunnel2BattleText2
+	db "@"
+
+RockTunnel2EndBattleText2:
+	TX_FAR _RockTunnel2EndBattleText2
+	db "@"
+
+RockTunnel2AfterBattleText2:
+	TX_FAR _RockTunnel2AfterBattleText2
+	db "@"
+
+RockTunnel2BattleText3:
+	TX_FAR _RockTunnel2BattleText3
+	db "@"
+
+RockTunnel2EndBattleText3:
+	TX_FAR _RockTunnel2EndBattleText3
+	db "@"
+
+RockTunnel2AfterBattleText3:
+	TX_FAR _RockTunnel2AfterBattleText3
+	db "@"
+
+RockTunnel2BattleText4:
+	TX_FAR _RockTunnel2BattleText4
+	db "@"
+
+RockTunnel2EndBattleText4:
+	TX_FAR _RockTunnel2EndBattleText4
+	db "@"
+
+RockTunnel2AfterBattleText4:
+	TX_FAR _RockTunnel2AfterBattleText4
+	db "@"
+
+RockTunnel2BattleText5:
+	TX_FAR _RockTunnel2BattleText5
+	db "@"
+
+RockTunnel2EndBattleText5:
+	TX_FAR _RockTunnel2EndBattleText5
+	db "@"
+
+RockTunnel2AfterBattleText5:
+	TX_FAR _RockTunnel2AfterBattleText5
+	db "@"
+
+RockTunnel2BattleText6:
+	TX_FAR _RockTunnel2BattleText6
+	db "@"
+
+RockTunnel2EndBattleText6:
+	TX_FAR _RockTunnel2EndBattleText6
+	db "@"
+
+RockTunnel2AfterBattleText6:
+	TX_FAR _RockTunnel2AfterBattleText6
+	db "@"
+
+RockTunnel2BattleText7:
+	TX_FAR _RockTunnel2BattleText7
+	db "@"
+
+RockTunnel2EndBattleText7:
+	TX_FAR _RockTunnel2EndBattleText7
+	db "@"
+
+RockTunnel2AfterBattleText7:
+	TX_FAR _RockTunnel2AfterBattleText7
+	db "@"
+
+RockTunnel2BattleText8:
+	TX_FAR _RockTunnel2BattleText8
+	db "@"
+
+RockTunnel2EndBattleText8:
+	TX_FAR _RockTunnel2EndBattleText8
+	db "@"
+
+RockTunnel2AfterBattleText8:
+	TX_FAR _RockTunnel2AfterBattleText8
+	db "@"
+
+RockTunnel2BattleText9:
+	TX_FAR _RockTunnel2BattleText9
+	db "@"
+
+RockTunnel2EndBattleText9:
+	TX_FAR _RockTunnel2EndBattleText9
+	db "@"
+
+RockTunnel2AfterBattleText9:
+	TX_FAR _RockTunnel2AfterBattleText9
+	db "@"
--- /dev/null
+++ b/scripts/RockTunnelPokecenter.asm
@@ -1,0 +1,23 @@
+RockTunnelPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+RockTunnelPokecenter_TextPointers:
+	dw RockTunnelHealNurseText
+	dw RockTunnelPokecenterText2
+	dw RockTunnelPokecenterText3
+	dw RockTunnelTradeNurseText
+
+RockTunnelHealNurseText:
+	db $ff
+
+RockTunnelPokecenterText2:
+	TX_FAR _RockTunnelPokecenterText2
+	db "@"
+
+RockTunnelPokecenterText3:
+	TX_FAR _RockTunnelPokecenterText3
+	db "@"
+
+RockTunnelTradeNurseText:
+	db $f6
--- /dev/null
+++ b/scripts/RocketHideoutB1F.asm
@@ -1,0 +1,189 @@
+RocketHideoutB1F_Script:
+	call RocketHideout1Script_44be0
+	call EnableAutoTextBoxDrawing
+	ld hl, RocketHideout1TrainerHeader0
+	ld de, RocketHideoutB1F_ScriptPointers
+	ld a, [wRocketHideoutB1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRocketHideoutB1FCurScript], a
+	ret
+
+RocketHideout1Script_44be0:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_677
+	jr nz, .asm_44c01
+	CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
+	jr nz, .asm_44bf7
+	ld a, $54
+	jr .asm_44c03
+.asm_44bf7
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	CheckEventHL EVENT_677
+.asm_44c01
+	ld a, $e
+.asm_44c03
+	ld [wNewTileBlockID], a
+	lb bc, 8, 12
+	predef_jump ReplaceTileBlock
+
+RocketHideoutB1F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+RocketHideoutB1F_TextPointers:
+	dw RocketHideout1Text1
+	dw RocketHideout1Text2
+	dw RocketHideout1Text3
+	dw RocketHideout1Text4
+	dw RocketHideout1Text5
+	dw PickUpItemText
+	dw PickUpItemText
+
+RocketHideout1TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0
+	dw RocketHideout1BattleText2 ; TextBeforeBattle
+	dw RocketHideout1AfterBattleTxt2 ; TextAfterBattle
+	dw RocketHideout1EndBattleText2 ; TextEndBattle
+	dw RocketHideout1EndBattleText2 ; TextEndBattle
+
+RocketHideout1TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1
+	dw RocketHideout1BattleText3 ; TextBeforeBattle
+	dw RocketHideout1AfterBattleTxt3 ; TextAfterBattle
+	dw RocketHideout1EndBattleText3 ; TextEndBattle
+	dw RocketHideout1EndBattleText3 ; TextEndBattle
+
+RocketHideout1TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2
+	dw RocketHideout1BattleText4 ; TextBeforeBattle
+	dw RocketHideout1AfterBattleTxt4 ; TextAfterBattle
+	dw RocketHideout1EndBattleText4 ; TextEndBattle
+	dw RocketHideout1EndBattleText4 ; TextEndBattle
+
+RocketHideout1TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3
+	dw RocketHideout1BattleText5 ; TextBeforeBattle
+	dw RocketHideout1AfterBattleTxt5 ; TextAfterBattle
+	dw RocketHideout1EndBattleText5 ; TextEndBattle
+	dw RocketHideout1EndBattleText5 ; TextEndBattle
+
+RocketHideout1TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
+	dw RocketHideout1BattleText6 ; TextBeforeBattle
+	dw RocketHideout1AfterBattleTxt6 ; TextAfterBattle
+	dw RocketHideout1EndBattleText6 ; TextEndBattle
+	dw RocketHideout1EndBattleText6 ; TextEndBattle
+
+	db $ff
+
+RocketHideout1Text1:
+	TX_ASM
+	ld hl, RocketHideout1TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout1Text2:
+	TX_ASM
+	ld hl, RocketHideout1TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout1Text3:
+	TX_ASM
+	ld hl, RocketHideout1TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout1Text4:
+	TX_ASM
+	ld hl, RocketHideout1TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout1Text5:
+	TX_ASM
+	ld hl, RocketHideout1TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout1EndBattleText6:
+	TX_FAR _RocketHideout1EndBattleText6
+	TX_ASM
+	SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
+	ld hl, RocketHideout1Text_44c9f
+	ret
+
+RocketHideout1Text_44c9f:
+	TX_BLINK
+	db "@"
+
+RocketHideout1BattleText2:
+	TX_FAR _RocketHideout1BattleText2
+	db "@"
+
+RocketHideout1EndBattleText2:
+	TX_FAR _RocketHideout1EndBattleText2
+	db "@"
+
+RocketHideout1AfterBattleTxt2:
+	TX_FAR _RocketHideout1AfterBattleTxt2
+	db "@"
+
+RocketHideout1BattleText3:
+	TX_FAR _RocketHideout1BattleText3
+	db "@"
+
+RocketHideout1EndBattleText3:
+	TX_FAR _RocketHideout1EndBattleText3
+	db "@"
+
+RocketHideout1AfterBattleTxt3:
+	TX_FAR _RocketHideout1AfterBattleTxt3
+	db "@"
+
+RocketHideout1BattleText4:
+	TX_FAR _RocketHideout1BattleText4
+	db "@"
+
+RocketHideout1EndBattleText4:
+	TX_FAR _RocketHideout1EndBattleText4
+	db "@"
+
+RocketHideout1AfterBattleTxt4:
+	TX_FAR _RocketHideout1AfterBattleTxt4
+	db "@"
+
+RocketHideout1BattleText5:
+	TX_FAR _RocketHideout1BattleText5
+	db "@"
+
+RocketHideout1EndBattleText5:
+	TX_FAR _RocketHideout1EndBattleText5
+	db "@"
+
+RocketHideout1AfterBattleTxt5:
+	TX_FAR _RocketHideout1AfterBattleTxt5
+	db "@"
+
+RocketHideout1BattleText6:
+	TX_FAR _RocketHideout1BattleText6
+	db "@"
+
+RocketHideout1AfterBattleTxt6:
+	TX_FAR _RocketHideout1AfterBattleTxt6
+	db "@"
--- /dev/null
+++ b/scripts/RocketHideoutB2F.asm
@@ -1,0 +1,450 @@
+RocketHideoutB2F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, RocketHideout2TrainerHeader0
+	ld de, RocketHideoutB2F_ScriptPointers
+	ld a, [wRocketHideoutB2FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRocketHideoutB2FCurScript], a
+	ret
+
+RocketHideoutB2F_ScriptPointers:
+	dw RocketHideout2Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw RocketHideout2Script3
+
+RocketHideout2Script0:
+	ld a, [wYCoord]
+	ld b, a
+	ld a, [wXCoord]
+	ld c, a
+	ld hl, RocketHideout2ArrowTilePlayerMovement
+	call DecodeArrowMovementRLE
+	cp $ff
+	jp z, CheckFightingMapTrainers
+	ld hl, wd736
+	set 7, [hl]
+	call StartSimulatingJoypadStates
+	ld a, SFX_ARROW_TILES
+	call PlaySound
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld a, $3
+	ld [wCurMapScript], a
+	ret
+
+;format:
+;db y,x
+;dw pointer to movement
+RocketHideout2ArrowTilePlayerMovement:
+	db $9,$4
+	dw RocketHideout2ArrowMovement1
+	db $b,$4
+	dw RocketHideout2ArrowMovement2
+	db $f,$4
+	dw RocketHideout2ArrowMovement3
+	db $10,$4
+	dw RocketHideout2ArrowMovement4
+	db $13,$4
+	dw RocketHideout2ArrowMovement1
+	db $16,$4
+	dw RocketHideout2ArrowMovement5
+	db $e,$5
+	dw RocketHideout2ArrowMovement6
+	db $16,$6
+	dw RocketHideout2ArrowMovement7
+	db $18,$6
+	dw RocketHideout2ArrowMovement8
+	db $9,$8
+	dw RocketHideout2ArrowMovement9
+	db $c,$8
+	dw RocketHideout2ArrowMovement10
+	db $f,$8
+	dw RocketHideout2ArrowMovement8
+	db $13,$8
+	dw RocketHideout2ArrowMovement9
+	db $17,$8
+	dw RocketHideout2ArrowMovement11
+	db $e,$9
+	dw RocketHideout2ArrowMovement12
+	db $16,$9
+	dw RocketHideout2ArrowMovement12
+	db $9,$a
+	dw RocketHideout2ArrowMovement13
+	db $a,$a
+	dw RocketHideout2ArrowMovement14
+	db $f,$a
+	dw RocketHideout2ArrowMovement15
+	db $11,$a
+	dw RocketHideout2ArrowMovement16
+	db $13,$a
+	dw RocketHideout2ArrowMovement17
+	db $19,$a
+	dw RocketHideout2ArrowMovement2
+	db $e,$b
+	dw RocketHideout2ArrowMovement18
+	db $10,$b
+	dw RocketHideout2ArrowMovement19
+	db $12,$b
+	dw RocketHideout2ArrowMovement12
+	db $9,$c
+	dw RocketHideout2ArrowMovement20
+	db $b,$c
+	dw RocketHideout2ArrowMovement21
+	db $d,$c
+	dw RocketHideout2ArrowMovement22
+	db $11,$c
+	dw RocketHideout2ArrowMovement23
+	db $a,$d
+	dw RocketHideout2ArrowMovement24
+	db $c,$d
+	dw RocketHideout2ArrowMovement25
+	db $10,$d
+	dw RocketHideout2ArrowMovement26
+	db $12,$d
+	dw RocketHideout2ArrowMovement27
+	db $13,$d
+	dw RocketHideout2ArrowMovement28
+	db $16,$d
+	dw RocketHideout2ArrowMovement29
+	db $17,$d
+	dw RocketHideout2ArrowMovement30
+	db $11,$e
+	dw RocketHideout2ArrowMovement31
+	db $10,$f
+	dw RocketHideout2ArrowMovement12
+	db $e,$10
+	dw RocketHideout2ArrowMovement32
+	db $10,$10
+	dw RocketHideout2ArrowMovement33
+	db $12,$10
+	dw RocketHideout2ArrowMovement34
+	db $a,$11
+	dw RocketHideout2ArrowMovement35
+	db $b,$11
+	dw RocketHideout2ArrowMovement36
+	db $FF
+
+;format: direction, count
+;each list is read starting from the $FF and working backwards
+RocketHideout2ArrowMovement1:
+	db D_LEFT,$02
+	db $FF
+
+RocketHideout2ArrowMovement2:
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout2ArrowMovement3:
+	db D_UP,$04
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout2ArrowMovement4:
+	db D_UP,$04
+	db D_RIGHT,$04
+	db D_UP,$01
+	db $FF
+
+RocketHideout2ArrowMovement5:
+	db D_LEFT,$02
+	db D_UP,$03
+	db $FF
+
+RocketHideout2ArrowMovement6:
+	db D_DOWN,$02
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout2ArrowMovement7:
+	db D_UP,$02
+	db $FF
+
+RocketHideout2ArrowMovement8:
+	db D_UP,$04
+	db $FF
+
+RocketHideout2ArrowMovement9:
+	db D_LEFT,$06
+	db $FF
+
+RocketHideout2ArrowMovement10:
+	db D_UP,$01
+	db $FF
+
+RocketHideout2ArrowMovement11:
+	db D_LEFT,$06
+	db D_UP,$04
+	db $FF
+
+RocketHideout2ArrowMovement12:
+	db D_DOWN,$02
+	db $FF
+
+RocketHideout2ArrowMovement13:
+	db D_LEFT,$08
+	db $FF
+
+RocketHideout2ArrowMovement14:
+	db D_LEFT,$08
+	db D_UP,$01
+	db $FF
+
+RocketHideout2ArrowMovement15:
+	db D_LEFT,$08
+	db D_UP,$06
+	db $FF
+
+RocketHideout2ArrowMovement16:
+	db D_UP,$02
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout2ArrowMovement17:
+	db D_UP,$02
+	db D_RIGHT,$04
+	db D_UP,$02
+	db $FF
+
+RocketHideout2ArrowMovement18:
+	db D_DOWN,$02
+	db D_RIGHT,$04
+	db D_DOWN,$02
+	db $FF
+
+RocketHideout2ArrowMovement19:
+	db D_DOWN,$02
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout2ArrowMovement20:
+	db D_LEFT,$0A
+	db $FF
+
+RocketHideout2ArrowMovement21:
+	db D_LEFT,$0A
+	db D_UP,$02
+	db $FF
+
+RocketHideout2ArrowMovement22:
+	db D_LEFT,$0A
+	db D_UP,$04
+	db $FF
+
+RocketHideout2ArrowMovement23:
+	db D_UP,$02
+	db D_RIGHT,$02
+	db $FF
+
+RocketHideout2ArrowMovement24:
+	db D_RIGHT,$01
+	db D_DOWN,$02
+	db $FF
+
+RocketHideout2ArrowMovement25:
+	db D_RIGHT,$01
+	db $FF
+
+RocketHideout2ArrowMovement26:
+	db D_DOWN,$02
+	db D_RIGHT,$02
+	db $FF
+
+RocketHideout2ArrowMovement27:
+	db D_DOWN,$02
+	db D_LEFT,$02
+	db $FF
+
+RocketHideout2ArrowMovement28:
+	db D_UP,$02
+	db D_RIGHT,$04
+	db D_UP,$02
+	db D_LEFT,$03
+	db $FF
+
+RocketHideout2ArrowMovement29:
+	db D_DOWN,$02
+	db D_LEFT,$04
+	db $FF
+
+RocketHideout2ArrowMovement30:
+	db D_LEFT,$06
+	db D_UP,$04
+	db D_LEFT,$05
+	db $FF
+
+RocketHideout2ArrowMovement31:
+	db D_UP,$02
+	db $FF
+
+RocketHideout2ArrowMovement32:
+	db D_UP,$01
+	db $FF
+
+RocketHideout2ArrowMovement33:
+	db D_UP,$03
+	db $FF
+
+RocketHideout2ArrowMovement34:
+	db D_UP,$05
+	db $FF
+
+RocketHideout2ArrowMovement35:
+	db D_RIGHT,$01
+	db D_DOWN,$02
+	db D_LEFT,$04
+	db $FF
+
+RocketHideout2ArrowMovement36:
+	db D_LEFT,$0A
+	db D_UP,$02
+	db D_LEFT,$05
+	db $FF
+
+RocketHideout2Script3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	jr nz, LoadSpinnerArrowTiles
+	xor a
+	ld [wJoyIgnore], a
+	ld hl, wd736
+	res 7, [hl]
+	ld a, $0
+	ld [wCurMapScript], a
+	ret
+
+LoadSpinnerArrowTiles:
+	ld a, [wSpriteStateData1 + 2]
+	srl a
+	srl a
+	ld hl, SpinnerPlayerFacingDirections
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hl]
+	ld [wSpriteStateData1 + 2], a
+	ld a, [wCurMapTileset]
+	cp FACILITY
+	ld hl, FacilitySpinnerArrows
+	jr z, .asm_44ff6
+	ld hl, GymSpinnerArrows
+.asm_44ff6
+	ld a, [wSimulatedJoypadStatesIndex]
+	bit 0, a
+	jr nz, .asm_45001
+	ld de, $18
+	add hl, de
+.asm_45001
+	ld a, $4
+	ld bc, $0
+.asm_45006
+	push af
+	push hl
+	push bc
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	ld a, [hli]
+	ld c, a
+	ld a, [hli]
+	ld b, a
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	call CopyVideoData
+	pop bc
+	ld a, $6
+	add c
+	ld c, a
+	pop hl
+	pop af
+	dec a
+	jr nz, .asm_45006
+	ret
+
+spinner: MACRO
+; \1: source
+; \2: offset (BANK() chokes on literals)
+; \3: length
+; \4: dest
+	dw \1 + \2
+	db \3, BANK(\1)
+	dw \4
+ENDM
+
+FacilitySpinnerArrows:
+FACILITY_SPINNER EQU $20 * $10
+vFacilitySpinner EQU vTileset + FACILITY_SPINNER
+
+	spinner SpinnerArrowAnimTiles, $00, 1, vFacilitySpinner
+	spinner SpinnerArrowAnimTiles, $10, 1, vFacilitySpinner + $10
+	spinner SpinnerArrowAnimTiles, $20, 1, vFacilitySpinner + $100
+	spinner SpinnerArrowAnimTiles, $30, 1, vFacilitySpinner + $110
+	spinner Facility_GFX, FACILITY_SPINNER + $000, 1, vFacilitySpinner
+	spinner Facility_GFX, FACILITY_SPINNER + $010, 1, vFacilitySpinner + $10
+	spinner Facility_GFX, FACILITY_SPINNER + $100, 1, vFacilitySpinner + $100
+	spinner Facility_GFX, FACILITY_SPINNER + $110, 1, vFacilitySpinner + $110
+
+GymSpinnerArrows:
+GYM_SPINNER EQU $3c * $10
+vGymSpinner EQU vTileset + GYM_SPINNER
+
+	spinner SpinnerArrowAnimTiles, $10, 1, vGymSpinner
+	spinner SpinnerArrowAnimTiles, $30, 1, vGymSpinner + $10
+	spinner SpinnerArrowAnimTiles, $00, 1, vGymSpinner + $100
+	spinner SpinnerArrowAnimTiles, $20, 1, vGymSpinner + $110
+	spinner Gym_GFX, GYM_SPINNER + $000, 1, vGymSpinner
+	spinner Gym_GFX, GYM_SPINNER + $010, 1, vGymSpinner + $10
+	spinner Gym_GFX, GYM_SPINNER + $100, 1, vGymSpinner + $100
+	spinner Gym_GFX, GYM_SPINNER + $110, 1, vGymSpinner + $110
+
+SpinnerPlayerFacingDirections:
+; This isn't the order of the facing directions.  Rather, it's a list of
+; the facing directions that come next. For example, when the player is
+; facing down (00), the next facing direction is left (08).
+	db $08 ; down -> left
+	db $0C ; up -> right
+	db $04 ; left -> up
+	db $00 ; right -> down
+
+; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ
+SpinnerArrowAnimTiles:
+	INCBIN "gfx/spinner_arrow.2bpp"
+
+RocketHideoutB2F_TextPointers:
+	dw RocketHideout2Text1
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+
+RocketHideout2TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0
+	dw RocketHideout2BattleText2 ; TextBeforeBattle
+	dw RocketHideout2AfterBattleTxt2 ; TextAfterBattle
+	dw RocketHideout2EndBattleText2 ; TextEndBattle
+	dw RocketHideout2EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+RocketHideout2Text1:
+	TX_ASM
+	ld hl, RocketHideout2TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout2BattleText2:
+	TX_FAR _RocketHideout2BattleText2
+	db "@"
+
+RocketHideout2EndBattleText2:
+	TX_FAR _RocketHideout2EndBattleText2
+	db "@"
+
+RocketHideout2AfterBattleTxt2:
+	TX_FAR _RocketHideout2AfterBattleTxt2
+	db "@"
--- /dev/null
+++ b/scripts/RocketHideoutB3F.asm
@@ -1,0 +1,206 @@
+RocketHideoutB3F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, RocketHideout3TrainerHeader0
+	ld de, RocketHideoutB3F_ScriptPointers
+	ld a, [wRocketHideoutB3FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRocketHideoutB3FCurScript], a
+	ret
+
+RocketHideoutB3F_ScriptPointers:
+	dw RocketHideout3Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw RocketHideout3Script3
+
+RocketHideout3Script0:
+	ld a, [wYCoord]
+	ld b, a
+	ld a, [wXCoord]
+	ld c, a
+	ld hl, RocketHideout3ArrowTilePlayerMovement
+	call DecodeArrowMovementRLE
+	cp $ff
+	jp z, CheckFightingMapTrainers
+	ld hl, wd736
+	set 7, [hl]
+	call StartSimulatingJoypadStates
+	ld a, SFX_ARROW_TILES
+	call PlaySound
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld a, $3
+	ld [wCurMapScript], a
+	ret
+
+;format:
+;db y,x
+;dw pointer to movement
+RocketHideout3ArrowTilePlayerMovement:
+	db $d,$a
+	dw RocketHideout3ArrowMovement6
+	db $13,$a
+	dw RocketHideout3ArrowMovement1
+	db $12,$b
+	dw RocketHideout3ArrowMovement2
+	db $b,$c
+	dw RocketHideout3ArrowMovement3
+	db $11,$c
+	dw RocketHideout3ArrowMovement4
+	db $14,$c
+	dw RocketHideout3ArrowMovement5
+	db $10,$d
+	dw RocketHideout3ArrowMovement6
+	db $b,$e
+	dw RocketHideout3ArrowMovement7
+	db $f,$e
+	dw RocketHideout3ArrowMovement6
+	db $11,$e
+	dw RocketHideout3ArrowMovement8
+	db $13,$e
+	dw RocketHideout3ArrowMovement9
+	db $10,$f
+	dw RocketHideout3ArrowMovement7
+	db $12,$f
+	dw RocketHideout3ArrowMovement10
+	db $d,$10
+	dw RocketHideout3ArrowMovement11
+	db $c,$11
+	dw RocketHideout3ArrowMovement10
+	db $10,$12
+	dw RocketHideout3ArrowMovement12
+	db $FF
+
+;format: direction, count
+;each list is read starting from the $FF and working backwards
+RocketHideout3ArrowMovement1:
+	db D_RIGHT,$04
+	db D_UP,$04
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout3ArrowMovement2:
+	db D_DOWN,$04
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout3ArrowMovement3:
+	db D_LEFT,$02
+	db $FF
+
+RocketHideout3ArrowMovement4:
+	db D_RIGHT,$04
+	db D_UP,$02
+	db D_RIGHT,$02
+	db $FF
+
+RocketHideout3ArrowMovement5:
+	db D_RIGHT,$04
+	db D_UP,$02
+	db D_RIGHT,$02
+	db D_UP,$03
+	db $FF
+
+RocketHideout3ArrowMovement6:
+	db D_RIGHT,$04
+	db $FF
+
+RocketHideout3ArrowMovement7:
+	db D_RIGHT,$02
+	db $FF
+
+RocketHideout3ArrowMovement8:
+	db D_RIGHT,$04
+	db D_UP,$02
+	db $FF
+
+RocketHideout3ArrowMovement9:
+	db D_RIGHT,$04
+	db D_UP,$04
+	db $FF
+
+RocketHideout3ArrowMovement10:
+	db D_DOWN,$04
+	db $FF
+
+RocketHideout3ArrowMovement11:
+	db D_UP,$02
+	db $FF
+
+RocketHideout3ArrowMovement12:
+	db D_UP,$01
+	db $FF
+
+RocketHideout3Script3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	jp nz, LoadSpinnerArrowTiles
+	xor a
+	ld [wJoyIgnore], a
+	ld hl, wd736
+	res 7, [hl]
+	ld a, $0
+	ld [wCurMapScript], a
+	ret
+
+RocketHideoutB3F_TextPointers:
+	dw RocketHideout3Text1
+	dw RocketHideout3Text2
+	dw PickUpItemText
+	dw PickUpItemText
+
+RocketHideout3TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0
+	dw RocketHideout3BattleText2 ; TextBeforeBattle
+	dw RocketHideout3AfterBattleTxt2 ; TextAfterBattle
+	dw RocketHideout3EndBattleText2 ; TextEndBattle
+	dw RocketHideout3EndBattleText2 ; TextEndBattle
+
+RocketHideout3TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1
+	dw RocketHideout3BattleTxt ; TextBeforeBattle
+	dw RocketHideout3AfterBattleText3 ; TextAfterBattle
+	dw RocketHideout3EndBattleText3 ; TextEndBattle
+	dw RocketHideout3EndBattleText3 ; TextEndBattle
+
+	db $ff
+
+RocketHideout3Text1:
+	TX_ASM
+	ld hl, RocketHideout3TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout3BattleText2:
+	TX_FAR _RocketHideout3BattleText2
+	db "@"
+
+RocketHideout3EndBattleText2:
+	TX_FAR _RocketHideout3EndBattleText2
+	db "@"
+
+RocketHideout3AfterBattleTxt2:
+	TX_FAR _RocketHideout3AfterBattleTxt2
+	db "@"
+
+RocketHideout3Text2:
+	TX_ASM
+	ld hl, RocketHideout3TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout3BattleTxt:
+	TX_FAR _RocketHideout3BattleTxt
+	db "@"
+
+RocketHideout3EndBattleText3:
+	TX_FAR _RocketHideout3EndBattleText3
+	db "@"
+
+RocketHideout3AfterBattleText3:
+	TX_FAR _RocketHide3AfterBattleText3
+	db "@"
--- /dev/null
+++ b/scripts/RocketHideoutB4F.asm
@@ -1,0 +1,220 @@
+RocketHideoutB4F_Script:
+	call RocketHideout4Script_45473
+	call EnableAutoTextBoxDrawing
+	ld hl, RocketHideout4TrainerHeader0
+	ld de, RocketHideoutB4F_ScriptPointers
+	ld a, [wRocketHideoutB4FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRocketHideoutB4FCurScript], a
+	ret
+
+RocketHideout4Script_45473:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
+	jr nz, .asm_45496
+	CheckBothEventsSet EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 1
+	jr z, .asm_4548c
+	ld a, $2d
+	jr .asm_45498
+.asm_4548c
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
+.asm_45496
+	ld a, $e
+.asm_45498
+	ld [wNewTileBlockID], a
+	lb bc, 5, 12
+	predef_jump ReplaceTileBlock
+
+RocketHideout4Script_454a3:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRocketHideoutB4FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+RocketHideoutB4F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw RocketHideout4Script3
+
+RocketHideout4Script3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, RocketHideout4Script_454a3
+	call UpdateSprites
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
+	ld a, $a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call GBFadeOutToBlack
+	ld a, HS_ROCKET_HIDEOUT_B4F_GIOVANNI
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_4
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	call UpdateSprites
+	call GBFadeInFromBlack
+	xor a
+	ld [wJoyIgnore], a
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	ld a, $0
+	ld [wRocketHideoutB4FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+RocketHideoutB4F_TextPointers:
+	dw RocketHideout4Text1
+	dw RocketHideout4Text2
+	dw RocketHideout4Text3
+	dw RocketHideout4Text4
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw RocketHideout4Text10
+
+RocketHideout4TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
+	dw RocketHideout4BattleText2 ; TextBeforeBattle
+	dw RocketHideout4AfterBattleText2 ; TextAfterBattle
+	dw RocketHideout4EndBattleText2 ; TextEndBattle
+	dw RocketHideout4EndBattleText2 ; TextEndBattle
+
+RocketHideout4TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
+	dw RocketHideout4BattleText3 ; TextBeforeBattle
+	dw RocketHideout4AfterBattleText3 ; TextAfterBattle
+	dw RocketHideout4EndBattleText3 ; TextEndBattle
+	dw RocketHideout4EndBattleText3 ; TextEndBattle
+
+RocketHideout4TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
+	dw RocketHideout4BattleText4 ; TextBeforeBattle
+	dw RocketHideout4AfterBattleText4 ; TextAfterBattle
+	dw RocketHideout4EndBattleText4 ; TextEndBattle
+	dw RocketHideout4EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+RocketHideout4Text1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
+	jp nz, .asm_545571
+	ld hl, RocketHideout4Text_4557a
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, RocketHideout4Text_4557f
+	ld de, RocketHideout4Text_4557f
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	xor a
+	ld [hJoyHeld], a
+	ld a, $3
+	ld [wRocketHideoutB4FCurScript], a
+	ld [wCurMapScript], a
+	jr .asm_209f0
+.asm_545571
+	ld hl, RocketHideout4Text10
+	call PrintText
+.asm_209f0
+	jp TextScriptEnd
+
+RocketHideout4Text_4557a:
+	TX_FAR _RocketHideout4Text_4557a
+	db "@"
+
+RocketHideout4Text_4557f:
+	TX_FAR _RocketHideout4Text_4557f
+	db "@"
+
+RocketHideout4Text10:
+	TX_FAR _RocketHideout4Text_45584
+	db "@"
+
+RocketHideout4Text2:
+	TX_ASM
+	ld hl, RocketHideout4TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout4BattleText2:
+	TX_FAR _RocketHideout4BattleText2
+	db "@"
+
+RocketHideout4EndBattleText2:
+	TX_FAR _RocketHideout4EndBattleText2
+	db "@"
+
+RocketHideout4AfterBattleText2:
+	TX_FAR _RocketHide4AfterBattleText2
+	db "@"
+
+RocketHideout4Text3:
+	TX_ASM
+	ld hl, RocketHideout4TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout4BattleText3:
+	TX_FAR _RocketHideout4BattleText3
+	db "@"
+
+RocketHideout4EndBattleText3:
+	TX_FAR _RocketHideout4EndBattleText3
+	db "@"
+
+RocketHideout4AfterBattleText3:
+	TX_FAR _RocketHide4AfterBattleText3
+	db "@"
+
+RocketHideout4Text4:
+	TX_ASM
+	ld hl, RocketHideout4TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+RocketHideout4BattleText4:
+	TX_FAR _RocketHideout4BattleText4
+	db "@"
+
+RocketHideout4EndBattleText4:
+	TX_FAR _RocketHideout4EndBattleText4
+	db "@"
+
+RocketHideout4AfterBattleText4:
+	TX_ASM
+	ld hl, RocketHideout4Text_455ec
+	call PrintText
+	CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
+	jr nz, .asm_455e9
+	ld a, HS_ROCKET_HIDEOUT_B4F_ITEM_5
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+.asm_455e9
+	jp TextScriptEnd
+
+RocketHideout4Text_455ec:
+	TX_FAR _RocketHideout4Text_455ec
+	db "@"
--- /dev/null
+++ b/scripts/RocketHideoutElevator.asm
@@ -1,0 +1,85 @@
+RocketHideoutElevator_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, RocketHideoutElevatorScript_4572c
+	pop hl
+	bit 7, [hl]
+	res 7, [hl]
+	call nz, RocketHideoutElevatorScript_4575f
+	xor a
+	ld [wAutoTextBoxDrawingControl], a
+	inc a
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ret
+
+RocketHideoutElevatorScript_4572c:
+	ld hl, wWarpEntries
+	ld a, [wWarpedFromWhichWarp]
+	ld b, a
+	ld a, [wWarpedFromWhichMap]
+	ld c, a
+	call RocketHideoutElevatorScript_4573a
+
+RocketHideoutElevatorScript_4573a:
+	inc hl
+	inc hl
+	ld a, b
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ret
+
+RocketHideoutElevatorScript_45741:
+	ld hl, RocketHideoutElavatorFloors
+	call LoadItemList
+	ld hl, RocketHideoutElevatorWarpMaps
+	ld de, wElevatorWarpMaps
+	ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps
+	call CopyData
+	ret
+
+RocketHideoutElavatorFloors:
+	db $03 ; num elements in list
+	db FLOOR_B1F
+	db FLOOR_B2F
+	db FLOOR_B4F
+	db $FF ; terminator
+
+RocketHideoutElevatorWarpMaps:
+; first byte is warp number
+; second byte is map number
+; These specify where the player goes after getting out of the elevator.
+	db $04, ROCKET_HIDEOUT_B1F
+	db $04, ROCKET_HIDEOUT_B2F
+	db $02, ROCKET_HIDEOUT_B4F
+RocketHideoutElevatorWarpMapsEnd:
+
+RocketHideoutElevatorScript_4575f:
+	call Delay3
+	callba ShakeElevator
+	ret
+
+RocketHideoutElevator_TextPointers:
+	dw RocketHideoutElevatorText1
+
+RocketHideoutElevatorText1:
+	TX_ASM
+	ld b, LIFT_KEY
+	call IsItemInBag
+	jr z, .asm_45782
+	call RocketHideoutElevatorScript_45741
+	ld hl, RocketHideoutElevatorWarpMaps
+	predef DisplayElevatorFloorMenu
+	jr .asm_45788
+.asm_45782
+	ld hl, RocketHideoutElevatorText_4578b
+	call PrintText
+.asm_45788
+	jp TextScriptEnd
+
+RocketHideoutElevatorText_4578b:
+	TX_FAR _RocketElevatorText_4578b
+	TX_WAIT
+	db "@"
--- /dev/null
+++ b/scripts/Route1.asm
@@ -1,0 +1,52 @@
+Route1_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route1_TextPointers:
+	dw Route1Text1
+	dw Route1Text2
+	dw Route1Text3
+
+Route1Text1:
+	TX_ASM
+	CheckAndSetEvent EVENT_GOT_POTION_SAMPLE
+	jr nz, .asm_1cada
+	ld hl, Route1ViridianMartSampleText
+	call PrintText
+	lb bc, POTION, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, Route1Text_1cae8
+	jr .asm_1cadd
+.BagFull
+	ld hl, Route1Text_1caf3
+	jr .asm_1cadd
+.asm_1cada
+	ld hl, Route1Text_1caee
+.asm_1cadd
+	call PrintText
+	jp TextScriptEnd
+
+Route1ViridianMartSampleText:
+	TX_FAR _Route1ViridianMartSampleText
+	db "@"
+
+Route1Text_1cae8:
+	TX_FAR _Route1Text_1cae8
+	TX_SFX_ITEM_1
+	db "@"
+
+Route1Text_1caee:
+	TX_FAR _Route1Text_1caee
+	db "@"
+
+Route1Text_1caf3:
+	TX_FAR _Route1Text_1caf3
+	db "@"
+
+Route1Text2:
+	TX_FAR _Route1Text2
+	db "@"
+
+Route1Text3:
+	TX_FAR _Route1Text3
+	db "@"
--- /dev/null
+++ b/scripts/Route10.asm
@@ -1,0 +1,198 @@
+Route10_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route10TrainerHeader0
+	ld de, Route10_ScriptPointers
+	ld a, [wRoute10CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute10CurScript], a
+	ret
+
+Route10_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route10_TextPointers:
+	dw Route10Text1
+	dw Route10Text2
+	dw Route10Text3
+	dw Route10Text4
+	dw Route10Text5
+	dw Route10Text6
+	dw Route10Text7
+	dw PokeCenterSignText
+	dw Route10Text9
+	dw Route10Text10
+
+Route10TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_0
+	dw Route10BattleText1 ; TextBeforeBattle
+	dw Route10AfterBattleText1 ; TextAfterBattle
+	dw Route10EndBattleText1 ; TextEndBattle
+	dw Route10EndBattleText1 ; TextEndBattle
+
+Route10TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_1
+	dw Route10BattleText2 ; TextBeforeBattle
+	dw Route10AfterBattleText2 ; TextAfterBattle
+	dw Route10EndBattleText2 ; TextEndBattle
+	dw Route10EndBattleText2 ; TextEndBattle
+
+Route10TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_2
+	dw Route10BattleText3 ; TextBeforeBattle
+	dw Route10AfterBattleText3 ; TextAfterBattle
+	dw Route10EndBattleText3 ; TextEndBattle
+	dw Route10EndBattleText3 ; TextEndBattle
+
+Route10TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_3
+	dw Route10BattleText4 ; TextBeforeBattle
+	dw Route10AfterBattleText4 ; TextAfterBattle
+	dw Route10EndBattleText4 ; TextEndBattle
+	dw Route10EndBattleText4 ; TextEndBattle
+
+Route10TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_4
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_4
+	dw Route10BattleText5 ; TextBeforeBattle
+	dw Route10AfterBattleText5 ; TextAfterBattle
+	dw Route10EndBattleText5 ; TextEndBattle
+	dw Route10EndBattleText5 ; TextEndBattle
+
+Route10TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_5
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_5
+	dw Route10BattleText6 ; TextBeforeBattle
+	dw Route10AfterBattleText6 ; TextAfterBattle
+	dw Route10EndBattleText6 ; TextEndBattle
+	dw Route10EndBattleText6 ; TextEndBattle
+
+	db $ff
+
+Route10Text1:
+	TX_ASM
+	ld hl, Route10TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route10BattleText1:
+	TX_FAR _Route10BattleText1
+	db "@"
+
+Route10EndBattleText1:
+	TX_FAR _Route10EndBattleText1
+	db "@"
+
+Route10AfterBattleText1:
+	TX_FAR _Route10AfterBattleText1
+	db "@"
+
+Route10Text2:
+	TX_ASM
+	ld hl, Route10TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route10BattleText2:
+	TX_FAR _Route10BattleText2
+	db "@"
+
+Route10EndBattleText2:
+	TX_FAR _Route10EndBattleText2
+	db "@"
+
+Route10AfterBattleText2:
+	TX_FAR _Route10AfterBattleText2
+	db "@"
+
+Route10Text3:
+	TX_ASM
+	ld hl, Route10TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route10BattleText3:
+	TX_FAR _Route10BattleText3
+	db "@"
+
+Route10EndBattleText3:
+	TX_FAR _Route10EndBattleText3
+	db "@"
+
+Route10AfterBattleText3:
+	TX_FAR _Route10AfterBattleText3
+	db "@"
+
+Route10Text4:
+	TX_ASM
+	ld hl, Route10TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route10BattleText4:
+	TX_FAR _Route10BattleText4
+	db "@"
+
+Route10EndBattleText4:
+	TX_FAR _Route10EndBattleText4
+	db "@"
+
+Route10AfterBattleText4:
+	TX_FAR _Route10AfterBattleText4
+	db "@"
+
+Route10Text5:
+	TX_ASM
+	ld hl, Route10TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route10BattleText5:
+	TX_FAR _Route10BattleText5
+	db "@"
+
+Route10EndBattleText5:
+	TX_FAR _Route10EndBattleText5
+	db "@"
+
+Route10AfterBattleText5:
+	TX_FAR _Route10AfterBattleText5
+	db "@"
+
+Route10Text6:
+	TX_ASM
+	ld hl, Route10TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route10BattleText6:
+	TX_FAR _Route10BattleText6
+	db "@"
+
+Route10EndBattleText6:
+	TX_FAR _Route10EndBattleText6
+	db "@"
+
+Route10AfterBattleText6:
+	TX_FAR _Route10AfterBattleText6
+	db "@"
+
+Route10Text9:
+Route10Text7:
+	TX_FAR _Route10Text7 ; _Route10Text9
+	db "@"
+
+Route10Text10:
+	TX_FAR _Route10Text10
+	db "@"
--- /dev/null
+++ b/scripts/Route11.asm
@@ -1,0 +1,302 @@
+Route11_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route11TrainerHeader0
+	ld de, Route11_ScriptPointers
+	ld a, [wRoute11CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute11CurScript], a
+	ret
+
+Route11_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route11_TextPointers:
+	dw Route11Text1
+	dw Route11Text2
+	dw Route11Text3
+	dw Route11Text4
+	dw Route11Text5
+	dw Route11Text6
+	dw Route11Text7
+	dw Route11Text8
+	dw Route11Text9
+	dw Route11Text10
+	dw Route11Text11
+
+Route11TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_0
+	dw Route11BattleText1 ; TextBeforeBattle
+	dw Route11AfterBattleText1 ; TextAfterBattle
+	dw Route11EndBattleText1 ; TextEndBattle
+	dw Route11EndBattleText1 ; TextEndBattle
+
+Route11TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_1
+	dw Route11BattleText2 ; TextBeforeBattle
+	dw Route11AfterBattleText2 ; TextAfterBattle
+	dw Route11EndBattleText2 ; TextEndBattle
+	dw Route11EndBattleText2 ; TextEndBattle
+
+Route11TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_2
+	dw Route11BattleText3 ; TextBeforeBattle
+	dw Route11AfterBattleText3 ; TextAfterBattle
+	dw Route11EndBattleText3 ; TextEndBattle
+	dw Route11EndBattleText3 ; TextEndBattle
+
+Route11TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_3
+	dw Route11BattleText4 ; TextBeforeBattle
+	dw Route11AfterBattleText4 ; TextAfterBattle
+	dw Route11EndBattleText4 ; TextEndBattle
+	dw Route11EndBattleText4 ; TextEndBattle
+
+Route11TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_4
+	dw Route11BattleText5 ; TextBeforeBattle
+	dw Route11AfterBattleText5 ; TextAfterBattle
+	dw Route11EndBattleText5 ; TextEndBattle
+	dw Route11EndBattleText5 ; TextEndBattle
+
+Route11TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_5
+	dw Route11BattleText6 ; TextBeforeBattle
+	dw Route11AfterBattleText6 ; TextAfterBattle
+	dw Route11EndBattleText6 ; TextEndBattle
+	dw Route11EndBattleText6 ; TextEndBattle
+
+Route11TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_6
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_6
+	dw Route11BattleText7 ; TextBeforeBattle
+	dw Route11AfterBattleText7 ; TextAfterBattle
+	dw Route11EndBattleText7 ; TextEndBattle
+	dw Route11EndBattleText7 ; TextEndBattle
+
+Route11TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_7, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_7, 1
+	dw Route11BattleText8 ; TextBeforeBattle
+	dw Route11AfterBattleText8 ; TextAfterBattle
+	dw Route11EndBattleText8 ; TextEndBattle
+	dw Route11EndBattleText8 ; TextEndBattle
+
+Route11TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_8, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_8, 1
+	dw Route11BattleText9 ; TextBeforeBattle
+	dw Route11AfterBattleText9 ; TextAfterBattle
+	dw Route11EndBattleText9 ; TextEndBattle
+	dw Route11EndBattleText9 ; TextEndBattle
+
+Route11TrainerHeader9:
+	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_9, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_9, 1
+	dw Route11BattleText10 ; TextBeforeBattle
+	dw Route11AfterBattleText10 ; TextAfterBattle
+	dw Route11EndBattleText10 ; TextEndBattle
+	dw Route11EndBattleText10 ; TextEndBattle
+
+	db $ff
+
+Route11Text1:
+	TX_ASM
+	ld hl, Route11TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText1:
+	TX_FAR _Route11BattleText1
+	db "@"
+
+Route11EndBattleText1:
+	TX_FAR _Route11EndBattleText1
+	db "@"
+
+Route11AfterBattleText1:
+	TX_FAR _Route11AfterBattleText1
+	db "@"
+
+Route11Text2:
+	TX_ASM
+	ld hl, Route11TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText2:
+	TX_FAR _Route11BattleText2
+	db "@"
+
+Route11EndBattleText2:
+	TX_FAR _Route11EndBattleText2
+	db "@"
+
+Route11AfterBattleText2:
+	TX_FAR _Route11AfterBattleText2
+	db "@"
+
+Route11Text3:
+	TX_ASM
+	ld hl, Route11TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText3:
+	TX_FAR _Route11BattleText3
+	db "@"
+
+Route11EndBattleText3:
+	TX_FAR _Route11EndBattleText3
+	db "@"
+
+Route11AfterBattleText3:
+	TX_FAR _Route11AfterBattleText3
+	db "@"
+
+Route11Text4:
+	TX_ASM
+	ld hl, Route11TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText4:
+	TX_FAR _Route11BattleText4
+	db "@"
+
+Route11EndBattleText4:
+	TX_FAR _Route11EndBattleText4
+	db "@"
+
+Route11AfterBattleText4:
+	TX_FAR _Route11AfterBattleText4
+	db "@"
+
+Route11Text5:
+	TX_ASM
+	ld hl, Route11TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText5:
+	TX_FAR _Route11BattleText5
+	db "@"
+
+Route11EndBattleText5:
+	TX_FAR _Route11EndBattleText5
+	db "@"
+
+Route11AfterBattleText5:
+	TX_FAR _Route11AfterBattleText5
+	db "@"
+
+Route11Text6:
+	TX_ASM
+	ld hl, Route11TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText6:
+	TX_FAR _Route11BattleText6
+	db "@"
+
+Route11EndBattleText6:
+	TX_FAR _Route11EndBattleText6
+	db "@"
+
+Route11AfterBattleText6:
+	TX_FAR _Route11AfterBattleText6
+	db "@"
+
+Route11Text7:
+	TX_ASM
+	ld hl, Route11TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText7:
+	TX_FAR _Route11BattleText7
+	db "@"
+
+Route11EndBattleText7:
+	TX_FAR _Route11EndBattleText7
+	db "@"
+
+Route11AfterBattleText7:
+	TX_FAR _Route11AfterBattleText7
+	db "@"
+
+Route11Text8:
+	TX_ASM
+	ld hl, Route11TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText8:
+	TX_FAR _Route11BattleText8
+	db "@"
+
+Route11EndBattleText8:
+	TX_FAR _Route11EndBattleText8
+	db "@"
+
+Route11AfterBattleText8:
+	TX_FAR _Route11AfterBattleText8
+	db "@"
+
+Route11Text9:
+	TX_ASM
+	ld hl, Route11TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText9:
+	TX_FAR _Route11BattleText9
+	db "@"
+
+Route11EndBattleText9:
+	TX_FAR _Route11EndBattleText9
+	db "@"
+
+Route11AfterBattleText9:
+	TX_FAR _Route11AfterBattleText9
+	db "@"
+
+Route11Text10:
+	TX_ASM
+	ld hl, Route11TrainerHeader9
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route11BattleText10:
+	TX_FAR _Route11BattleText10
+	db "@"
+
+Route11EndBattleText10:
+	TX_FAR _Route11EndBattleText10
+	db "@"
+
+Route11AfterBattleText10:
+	TX_FAR _Route11AfterBattleText10
+	db "@"
+
+Route11Text11:
+	TX_FAR _Route11Text11
+	db "@"
--- /dev/null
+++ b/scripts/Route11Gate1F.asm
@@ -1,0 +1,9 @@
+Route11Gate1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route11Gate1F_TextPointers:
+	dw Route11GateText1
+
+Route11GateText1:
+	TX_FAR _Route11GateText1
+	db "@"
--- /dev/null
+++ b/scripts/Route11Gate2F.asm
@@ -1,0 +1,76 @@
+Route11Gate2F_Script:
+	jp DisableAutoTextBoxDrawing
+
+Route11Gate2F_TextPointers:
+	dw Route11GateUpstairsText1
+	dw Route11GateUpstairsText2
+	dw Route11GateUpstairsText3
+	dw Route11GateUpstairsText4
+
+Route11GateUpstairsText1:
+	TX_ASM
+	xor a
+	ld [wWhichTrade], a
+	predef DoInGameTradeDialogue
+Route11GateUpstairsScriptEnd:
+	jp TextScriptEnd
+
+Route11GateUpstairsText2:
+	TX_ASM
+	CheckEvent EVENT_GOT_ITEMFINDER, 1
+	jr c, .asm_4949b
+	ld a, 30 ; pokemon needed
+	ld [hOaksAideRequirement], a
+	ld a, ITEMFINDER ; oak's aide reward
+	ld [hOaksAideRewardItem], a
+	ld [wd11e], a
+	call GetItemName
+	ld h, d
+	ld l, e
+	ld de, wOaksAideRewardItemName
+	ld bc, ITEM_NAME_LENGTH
+	call CopyData
+	predef OaksAideScript
+	ld a, [hOaksAideResult]
+	dec a
+	jr nz, .asm_494a1
+	SetEvent EVENT_GOT_ITEMFINDER
+.asm_4949b
+	ld hl, Route11GateUpstairsText_494a3
+	call PrintText
+.asm_494a1
+	jr Route11GateUpstairsScriptEnd
+
+Route11GateUpstairsText_494a3:
+	TX_FAR _Route11GateUpstairsText_494a3
+	db "@"
+
+Route11GateUpstairsText3:
+	TX_ASM
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	jp nz, GateUpstairsScript_PrintIfFacingUp
+	CheckEvent EVENT_BEAT_ROUTE12_SNORLAX
+	ld hl, BinocularsSnorlaxText
+	jr z, .print
+	ld hl, BinocularsNoSnorlaxText
+.print
+	call PrintText
+	jp TextScriptEnd
+
+BinocularsSnorlaxText:
+	TX_FAR _BinocularsSnorlaxText
+	db "@"
+
+BinocularsNoSnorlaxText:
+	TX_FAR _BinocularsNoSnorlaxText
+	db "@"
+
+Route11GateUpstairsText4:
+	TX_ASM
+	ld hl, Route11GateUpstairsText_494d5
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route11GateUpstairsText_494d5:
+	TX_FAR _Route11GateUpstairsText_494d5
+	db "@"
--- /dev/null
+++ b/scripts/Route12.asm
@@ -1,0 +1,288 @@
+Route12_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route12TrainerHeader0
+	ld de, Route12_ScriptPointers
+	ld a, [wRoute12CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute12CurScript], a
+	ret
+
+Route12Script_59606:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute12CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route12_ScriptPointers:
+	dw Route12Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw Route12Script3
+
+Route12Script0:
+	CheckEventHL EVENT_BEAT_ROUTE12_SNORLAX
+	jp nz, CheckFightingMapTrainers
+	CheckEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX
+	ResetEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX
+	jp z, CheckFightingMapTrainers
+	ld a, $d
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, SNORLAX
+	ld [wCurOpponent], a
+	ld a, 30
+	ld [wCurEnemyLVL], a
+	ld a, HS_ROUTE_12_SNORLAX
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, $3
+	ld [wRoute12CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route12Script3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jr z, Route12Script_59606
+	call UpdateSprites
+	ld a, [wBattleResult]
+	cp $2
+	jr z, .asm_59664
+	ld a, $e
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_59664
+	SetEvent EVENT_BEAT_ROUTE12_SNORLAX
+	call Delay3
+	ld a, $0
+	ld [wRoute12CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route12_TextPointers:
+	dw Route12Text1
+	dw Route12Text2
+	dw Route12Text3
+	dw Route12Text4
+	dw Route12Text5
+	dw Route12Text6
+	dw Route12Text7
+	dw Route12Text8
+	dw PickUpItemText
+	dw PickUpItemText
+	dw Route12Text11
+	dw Route12Text12
+	dw Route12Text13
+	dw Route12Text14
+
+Route12TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0
+	dw Route12BattleText1 ; TextBeforeBattle
+	dw Route12AfterBattleText1 ; TextAfterBattle
+	dw Route12EndBattleText1 ; TextEndBattle
+	dw Route12EndBattleText1 ; TextEndBattle
+
+Route12TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1
+	dw Route12BattleText2 ; TextBeforeBattle
+	dw Route12AfterBattleText2 ; TextAfterBattle
+	dw Route12EndBattleText2 ; TextEndBattle
+	dw Route12EndBattleText2 ; TextEndBattle
+
+Route12TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2
+	dw Route12BattleText3 ; TextBeforeBattle
+	dw Route12AfterBattleText3 ; TextAfterBattle
+	dw Route12EndBattleText3 ; TextEndBattle
+	dw Route12EndBattleText3 ; TextEndBattle
+
+Route12TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3
+	dw Route12BattleText4 ; TextBeforeBattle
+	dw Route12AfterBattleText4 ; TextAfterBattle
+	dw Route12EndBattleText4 ; TextEndBattle
+	dw Route12EndBattleText4 ; TextEndBattle
+
+Route12TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4
+	dw Route12BattleText5 ; TextBeforeBattle
+	dw Route12AfterBattleText5 ; TextAfterBattle
+	dw Route12EndBattleText5 ; TextEndBattle
+	dw Route12EndBattleText5 ; TextEndBattle
+
+Route12TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5
+	dw Route12BattleText6 ; TextBeforeBattle
+	dw Route12AfterBattleText6 ; TextAfterBattle
+	dw Route12EndBattleText6 ; TextEndBattle
+	dw Route12EndBattleText6 ; TextEndBattle
+
+Route12TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1
+	dw Route12BattleText7 ; TextBeforeBattle
+	dw Route12AfterBattleText7 ; TextAfterBattle
+	dw Route12EndBattleText7 ; TextEndBattle
+	dw Route12EndBattleText7 ; TextEndBattle
+
+	db $ff
+
+Route12Text1:
+	TX_FAR _Route12Text1
+	db "@"
+
+Route12Text13:
+	TX_FAR _Route12Text13
+	db "@"
+
+Route12Text14:
+	TX_FAR _Route12Text14
+	db "@"
+
+Route12Text2:
+	TX_ASM
+	ld hl, Route12TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route12BattleText1:
+	TX_FAR _Route12BattleText1
+	db "@"
+
+Route12EndBattleText1:
+	TX_FAR _Route12EndBattleText1
+	db "@"
+
+Route12AfterBattleText1:
+	TX_FAR _Route12AfterBattleText1
+	db "@"
+
+Route12Text3:
+	TX_ASM
+	ld hl, Route12TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route12BattleText2:
+	TX_FAR _Route12BattleText2
+	db "@"
+
+Route12EndBattleText2:
+	TX_FAR _Route12EndBattleText2
+	db "@"
+
+Route12AfterBattleText2:
+	TX_FAR _Route12AfterBattleText2
+	db "@"
+
+Route12Text4:
+	TX_ASM
+	ld hl, Route12TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route12BattleText3:
+	TX_FAR _Route12BattleText3
+	db "@"
+
+Route12EndBattleText3:
+	TX_FAR _Route12EndBattleText3
+	db "@"
+
+Route12AfterBattleText3:
+	TX_FAR _Route12AfterBattleText3
+	db "@"
+
+Route12Text5:
+	TX_ASM
+	ld hl, Route12TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route12BattleText4:
+	TX_FAR _Route12BattleText4
+	db "@"
+
+Route12EndBattleText4:
+	TX_FAR _Route12EndBattleText4
+	db "@"
+
+Route12AfterBattleText4:
+	TX_FAR _Route12AfterBattleText4
+	db "@"
+
+Route12Text6:
+	TX_ASM
+	ld hl, Route12TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route12BattleText5:
+	TX_FAR _Route12BattleText5
+	db "@"
+
+Route12EndBattleText5:
+	TX_FAR _Route12EndBattleText5
+	db "@"
+
+Route12AfterBattleText5:
+	TX_FAR _Route12AfterBattleText5
+	db "@"
+
+Route12Text7:
+	TX_ASM
+	ld hl, Route12TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route12BattleText6:
+	TX_FAR _Route12BattleText6
+	db "@"
+
+Route12EndBattleText6:
+	TX_FAR _Route12EndBattleText6
+	db "@"
+
+Route12AfterBattleText6:
+	TX_FAR _Route12AfterBattleText6
+	db "@"
+
+Route12Text8:
+	TX_ASM
+	ld hl, Route12TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route12BattleText7:
+	TX_FAR _Route12BattleText7
+	db "@"
+
+Route12EndBattleText7:
+	TX_FAR _Route12EndBattleText7
+	db "@"
+
+Route12AfterBattleText7:
+	TX_FAR _Route12AfterBattleText7
+	db "@"
+
+Route12Text11:
+	TX_FAR _Route12Text11
+	db "@"
+
+Route12Text12:
+	TX_FAR _Route12Text12
+	db "@"
--- /dev/null
+++ b/scripts/Route12Gate1F.asm
@@ -1,0 +1,9 @@
+Route12Gate1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route12Gate1F_TextPointers:
+	dw Route12GateText1
+
+Route12GateText1:
+	TX_FAR _Route12GateText1
+	db "@"
--- /dev/null
+++ b/scripts/Route12Gate2F.asm
@@ -1,0 +1,78 @@
+Route12Gate2F_Script:
+	jp DisableAutoTextBoxDrawing
+
+Route12Gate2F_TextPointers:
+	dw Route12GateUpstairsText1
+	dw Route12GateUpstairsText2
+	dw Route12GateUpstairsText3
+
+Route12GateUpstairsText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM39, 1
+	jr c, .asm_0ad3c
+	ld hl, TM39PreReceiveText
+	call PrintText
+	lb bc, TM_39, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedTM39Text
+	call PrintText
+	SetEvent EVENT_GOT_TM39
+	jr .asm_4ba56
+.BagFull
+	ld hl, TM39NoRoomText
+	call PrintText
+	jr .asm_4ba56
+.asm_0ad3c
+	ld hl, TM39ExplanationText
+	call PrintText
+.asm_4ba56
+	jp TextScriptEnd
+
+TM39PreReceiveText:
+	TX_FAR _TM39PreReceiveText
+	db "@"
+
+ReceivedTM39Text:
+	TX_FAR _ReceivedTM39Text
+	TX_SFX_ITEM_1
+	db "@"
+
+TM39ExplanationText:
+	TX_FAR _TM39ExplanationText
+	db "@"
+
+TM39NoRoomText:
+	TX_FAR _TM39NoRoomText
+	db "@"
+
+Route12GateUpstairsText2:
+	TX_ASM
+	ld hl, Route12GateUpstairsText_495b8
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route12GateUpstairsText_495b8:
+	TX_FAR _Route12GateUpstairsText_495b8
+	db "@"
+
+Route12GateUpstairsText3:
+	TX_ASM
+	ld hl, Route12GateUpstairsText_495c4
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route12GateUpstairsText_495c4:
+	TX_FAR _Route12GateUpstairsText_495c4
+	db "@"
+
+GateUpstairsScript_PrintIfFacingUp:
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_UP
+	jr z, .up
+	ld a, $1
+	jr .done
+.up
+	call PrintText
+	xor a
+.done
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/Route12SuperRodHouse.asm
@@ -1,0 +1,57 @@
+Route12SuperRodHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route12SuperRodHouse_TextPointers:
+	dw Route12HouseText1
+
+Route12HouseText1:
+	TX_ASM
+	ld a, [wd728]
+	bit 5, a
+	jr nz, .asm_b4cad
+	ld hl, Route12HouseText_564c0
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_a2d76
+	lb bc, SUPER_ROD, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, wd728
+	set 5, [hl]
+	ld hl, Route12HouseText_564c5
+	jr .asm_df984
+.BagFull
+	ld hl, Route12HouseText_564d9
+	jr .asm_df984
+.asm_a2d76
+	ld hl, Route12HouseText_564cf
+	jr .asm_df984
+.asm_b4cad
+	ld hl, Route12HouseText_564d4
+.asm_df984
+	call PrintText
+	jp TextScriptEnd
+
+Route12HouseText_564c0:
+	TX_FAR _Route12HouseText_564c0
+	db "@"
+
+Route12HouseText_564c5:
+	TX_FAR _Route12HouseText_564c5
+	TX_SFX_ITEM_1
+	TX_FAR _Route12HouseText_564ca
+	db "@"
+
+Route12HouseText_564cf:
+	TX_FAR _Route12HouseText_564cf
+	db "@"
+
+Route12HouseText_564d4:
+	TX_FAR _Route12HouseText_564d4
+	db "@"
+
+Route12HouseText_564d9:
+	TX_FAR _Route12HouseText_564d9
+	db "@"
--- /dev/null
+++ b/scripts/Route13.asm
@@ -1,0 +1,312 @@
+Route13_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route13TrainerHeader0
+	ld de, Route13_ScriptPointers
+	ld a, [wRoute13CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute13CurScript], a
+	ret
+
+Route13_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route13_TextPointers:
+	dw Route13Text1
+	dw Route13Text2
+	dw Route13Text3
+	dw Route13Text4
+	dw Route13Text5
+	dw Route13Text6
+	dw Route13Text7
+	dw Route13Text8
+	dw Route13Text9
+	dw Route13Text10
+	dw Route13Text11
+	dw Route13Text12
+	dw Route13Text13
+
+Route13TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_0
+	dw Route13BattleText2 ; TextBeforeBattle
+	dw Route13AfterBattleText2 ; TextAfterBattle
+	dw Route13EndBattleText2 ; TextEndBattle
+	dw Route13EndBattleText2 ; TextEndBattle
+
+Route13TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_1
+	dw Route13BattleText3 ; TextBeforeBattle
+	dw Route13AfterBattleText3 ; TextAfterBattle
+	dw Route13EndBattleText3 ; TextEndBattle
+	dw Route13EndBattleText3 ; TextEndBattle
+
+Route13TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_2
+	dw Route13BattleText4 ; TextBeforeBattle
+	dw Route13AfterBattleText4 ; TextAfterBattle
+	dw Route13EndBattleText4 ; TextEndBattle
+	dw Route13EndBattleText4 ; TextEndBattle
+
+Route13TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_3
+	dw Route13BattleText5 ; TextBeforeBattle
+	dw Route13AfterBattleText5 ; TextAfterBattle
+	dw Route13EndBattleText5 ; TextEndBattle
+	dw Route13EndBattleText5 ; TextEndBattle
+
+Route13TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_4
+	dw Route13BattleText6 ; TextBeforeBattle
+	dw Route13AfterBattleText6 ; TextAfterBattle
+	dw Route13EndBattleText6 ; TextEndBattle
+	dw Route13EndBattleText6 ; TextEndBattle
+
+Route13TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_5
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_5
+	dw Route13BattleText7 ; TextBeforeBattle
+	dw Route13AfterBattleText7 ; TextAfterBattle
+	dw Route13EndBattleText7 ; TextEndBattle
+	dw Route13EndBattleText7 ; TextEndBattle
+
+Route13TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_6
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_6
+	dw Route13BattleText8 ; TextBeforeBattle
+	dw Route13AfterBattleText8 ; TextAfterBattle
+	dw Route13EndBattleText8 ; TextEndBattle
+	dw Route13EndBattleText8 ; TextEndBattle
+
+Route13TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_7, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_7, 1
+	dw Route13BattleText9 ; TextBeforeBattle
+	dw Route13AfterBattleText9 ; TextAfterBattle
+	dw Route13EndBattleText9 ; TextEndBattle
+	dw Route13EndBattleText9 ; TextEndBattle
+
+Route13TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_8, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_8, 1
+	dw Route13BattleText10 ; TextBeforeBattle
+	dw Route13AfterBattleText10 ; TextAfterBattle
+	dw Route13EndBattleText10 ; TextEndBattle
+	dw Route13EndBattleText10 ; TextEndBattle
+
+Route13TrainerHeader9:
+	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_9, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_9, 1
+	dw Route13BattleText11 ; TextBeforeBattle
+	dw Route13AfterBattleText11 ; TextAfterBattle
+	dw Route13EndBattleText11 ; TextEndBattle
+	dw Route13EndBattleText11 ; TextEndBattle
+
+	db $ff
+
+Route13Text1:
+	TX_ASM
+	ld hl, Route13TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText2:
+	TX_FAR _Route13BattleText2
+	db "@"
+
+Route13EndBattleText2:
+	TX_FAR _Route13EndBattleText2
+	db "@"
+
+Route13AfterBattleText2:
+	TX_FAR _Route13AfterBattleText2
+	db "@"
+
+Route13Text2:
+	TX_ASM
+	ld hl, Route13TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText3:
+	TX_FAR _Route13BattleText3
+	db "@"
+
+Route13EndBattleText3:
+	TX_FAR _Route13EndBattleText3
+	db "@"
+
+Route13AfterBattleText3:
+	TX_FAR _Route13AfterBattleText3
+	db "@"
+
+Route13Text3:
+	TX_ASM
+	ld hl, Route13TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText4:
+	TX_FAR _Route13BattleText4
+	db "@"
+
+Route13EndBattleText4:
+	TX_FAR _Route13EndBattleText4
+	db "@"
+
+Route13AfterBattleText4:
+	TX_FAR _Route13AfterBattleText4
+	db "@"
+
+Route13Text4:
+	TX_ASM
+	ld hl, Route13TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText5:
+	TX_FAR _Route13BattleText5
+	db "@"
+
+Route13EndBattleText5:
+	TX_FAR _Route13EndBattleText5
+	db "@"
+
+Route13AfterBattleText5:
+	TX_FAR _Route13AfterBattleText5
+	db "@"
+
+Route13Text5:
+	TX_ASM
+	ld hl, Route13TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText6:
+	TX_FAR _Route13BattleText6
+	db "@"
+
+Route13EndBattleText6:
+	TX_FAR _Route13EndBattleText6
+	db "@"
+
+Route13AfterBattleText6:
+	TX_FAR _Route13AfterBattleText6
+	db "@"
+
+Route13Text6:
+	TX_ASM
+	ld hl, Route13TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText7:
+	TX_FAR _Route13BattleText7
+	db "@"
+
+Route13EndBattleText7:
+	TX_FAR _Route13EndBattleText7
+	db "@"
+
+Route13AfterBattleText7:
+	TX_FAR _Route13AfterBattleText7
+	db "@"
+
+Route13Text7:
+	TX_ASM
+	ld hl, Route13TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText8:
+	TX_FAR _Route13BattleText8
+	db "@"
+
+Route13EndBattleText8:
+	TX_FAR _Route13EndBattleText8
+	db "@"
+
+Route13AfterBattleText8:
+	TX_FAR _Route13AfterBattleText8
+	db "@"
+
+Route13Text8:
+	TX_ASM
+	ld hl, Route13TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText9:
+	TX_FAR _Route13BattleText9
+	db "@"
+
+Route13EndBattleText9:
+	TX_FAR _Route13EndBattleText9
+	db "@"
+
+Route13AfterBattleText9:
+	TX_FAR _Route13AfterBattleText9
+	db "@"
+
+Route13Text9:
+	TX_ASM
+	ld hl, Route13TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText10:
+	TX_FAR _Route13BattleText10
+	db "@"
+
+Route13EndBattleText10:
+	TX_FAR _Route13EndBattleText10
+	db "@"
+
+Route13AfterBattleText10:
+	TX_FAR _Route13AfterBattleText10
+	db "@"
+
+Route13Text10:
+	TX_ASM
+	ld hl, Route13TrainerHeader9
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route13BattleText11:
+	TX_FAR _Route13BattleText11
+	db "@"
+
+Route13EndBattleText11:
+	TX_FAR _Route13EndBattleText11
+	db "@"
+
+Route13AfterBattleText11:
+	TX_FAR _Route13AfterBattleText11
+	db "@"
+
+Route13Text11:
+	TX_FAR _Route13Text11
+	db "@"
+
+Route13Text12:
+	TX_FAR _Route13Text12
+	db "@"
+
+Route13Text13:
+	TX_FAR _Route13Text13
+	db "@"
--- /dev/null
+++ b/scripts/Route14.asm
@@ -1,0 +1,302 @@
+Route14_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route14TrainerHeader0
+	ld de, Route14_ScriptPointers
+	ld a, [wRoute14CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute14CurScript], a
+	ret
+
+Route14_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route14_TextPointers:
+	dw Route14Text1
+	dw Route14Text2
+	dw Route14Text3
+	dw Route14Text4
+	dw Route14Text5
+	dw Route14Text6
+	dw Route14Text7
+	dw Route14Text8
+	dw Route14Text9
+	dw Route14Text10
+	dw Route14Text11
+
+Route14TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_0
+	dw Route14BattleText1 ; TextBeforeBattle
+	dw Route14AfterBattleText1 ; TextAfterBattle
+	dw Route14EndBattleText1 ; TextEndBattle
+	dw Route14EndBattleText1 ; TextEndBattle
+
+Route14TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_1
+	dw Route14BattleText2 ; TextBeforeBattle
+	dw Route14AfterBattleText2 ; TextAfterBattle
+	dw Route14EndBattleText2 ; TextEndBattle
+	dw Route14EndBattleText2 ; TextEndBattle
+
+Route14TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_2
+	dw Route14BattleText3 ; TextBeforeBattle
+	dw Route14AfterBattleText3 ; TextAfterBattle
+	dw Route14EndBattleText3 ; TextEndBattle
+	dw Route14EndBattleText3 ; TextEndBattle
+
+Route14TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_3
+	dw Route14BattleText4 ; TextBeforeBattle
+	dw Route14AfterBattleText4 ; TextAfterBattle
+	dw Route14EndBattleText4 ; TextEndBattle
+	dw Route14EndBattleText4 ; TextEndBattle
+
+Route14TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_4
+	dw Route14BattleText5 ; TextBeforeBattle
+	dw Route14AfterBattleText5 ; TextAfterBattle
+	dw Route14EndBattleText5 ; TextEndBattle
+	dw Route14EndBattleText5 ; TextEndBattle
+
+Route14TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_5
+	dw Route14BattleText6 ; TextBeforeBattle
+	dw Route14AfterBattleText6 ; TextAfterBattle
+	dw Route14EndBattleText6 ; TextEndBattle
+	dw Route14EndBattleText6 ; TextEndBattle
+
+Route14TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_6
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_6
+	dw Route14BattleText7 ; TextBeforeBattle
+	dw Route14AfterBattleText7 ; TextAfterBattle
+	dw Route14EndBattleText7 ; TextEndBattle
+	dw Route14EndBattleText7 ; TextEndBattle
+
+Route14TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_7, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_7, 1
+	dw Route14BattleText8 ; TextBeforeBattle
+	dw Route14AfterBattleText8 ; TextAfterBattle
+	dw Route14EndBattleText8 ; TextEndBattle
+	dw Route14EndBattleText8 ; TextEndBattle
+
+Route14TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_8, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_8, 1
+	dw Route14BattleText9 ; TextBeforeBattle
+	dw Route14AfterBattleText9 ; TextAfterBattle
+	dw Route14EndBattleText9 ; TextEndBattle
+	dw Route14EndBattleText9 ; TextEndBattle
+
+Route14TrainerHeader9:
+	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_9, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_9, 1
+	dw Route14BattleText10 ; TextBeforeBattle
+	dw Route14AfterBattleText10 ; TextAfterBattle
+	dw Route14EndBattleText10 ; TextEndBattle
+	dw Route14EndBattleText10 ; TextEndBattle
+
+	db $ff
+
+Route14Text1:
+	TX_ASM
+	ld hl, Route14TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText1:
+	TX_FAR _Route14BattleText1
+	db "@"
+
+Route14EndBattleText1:
+	TX_FAR _Route14EndBattleText1
+	db "@"
+
+Route14AfterBattleText1:
+	TX_FAR _Route14AfterBattleText1
+	db "@"
+
+Route14Text2:
+	TX_ASM
+	ld hl, Route14TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText2:
+	TX_FAR _Route14BattleText2
+	db "@"
+
+Route14EndBattleText2:
+	TX_FAR _Route14EndBattleText2
+	db "@"
+
+Route14AfterBattleText2:
+	TX_FAR _Route14AfterBattleText2
+	db "@"
+
+Route14Text3:
+	TX_ASM
+	ld hl, Route14TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText3:
+	TX_FAR _Route14BattleText3
+	db "@"
+
+Route14EndBattleText3:
+	TX_FAR _Route14EndBattleText3
+	db "@"
+
+Route14AfterBattleText3:
+	TX_FAR _Route14AfterBattleText3
+	db "@"
+
+Route14Text4:
+	TX_ASM
+	ld hl, Route14TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText4:
+	TX_FAR _Route14BattleText4
+	db "@"
+
+Route14EndBattleText4:
+	TX_FAR _Route14EndBattleText4
+	db "@"
+
+Route14AfterBattleText4:
+	TX_FAR _Route14AfterBattleText4
+	db "@"
+
+Route14Text5:
+	TX_ASM
+	ld hl, Route14TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText5:
+	TX_FAR _Route14BattleText5
+	db "@"
+
+Route14EndBattleText5:
+	TX_FAR _Route14EndBattleText5
+	db "@"
+
+Route14AfterBattleText5:
+	TX_FAR _Route14AfterBattleText5
+	db "@"
+
+Route14Text6:
+	TX_ASM
+	ld hl, Route14TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText6:
+	TX_FAR _Route14BattleText6
+	db "@"
+
+Route14EndBattleText6:
+	TX_FAR _Route14EndBattleText6
+	db "@"
+
+Route14AfterBattleText6:
+	TX_FAR _Route14AfterBattleText6
+	db "@"
+
+Route14Text7:
+	TX_ASM
+	ld hl, Route14TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText7:
+	TX_FAR _Route14BattleText7
+	db "@"
+
+Route14EndBattleText7:
+	TX_FAR _Route14EndBattleText7
+	db "@"
+
+Route14AfterBattleText7:
+	TX_FAR _Route14AfterBattleText7
+	db "@"
+
+Route14Text8:
+	TX_ASM
+	ld hl, Route14TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText8:
+	TX_FAR _Route14BattleText8
+	db "@"
+
+Route14EndBattleText8:
+	TX_FAR _Route14EndBattleText8
+	db "@"
+
+Route14AfterBattleText8:
+	TX_FAR _Route14AfterBattleText8
+	db "@"
+
+Route14Text9:
+	TX_ASM
+	ld hl, Route14TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText9:
+	TX_FAR _Route14BattleText9
+	db "@"
+
+Route14EndBattleText9:
+	TX_FAR _Route14EndBattleText9
+	db "@"
+
+Route14AfterBattleText9:
+	TX_FAR _Route14AfterBattleText9
+	db "@"
+
+Route14Text10:
+	TX_ASM
+	ld hl, Route14TrainerHeader9
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route14BattleText10:
+	TX_FAR _Route14BattleText10
+	db "@"
+
+Route14EndBattleText10:
+	TX_FAR _Route14EndBattleText10
+	db "@"
+
+Route14AfterBattleText10:
+	TX_FAR _Route14AfterBattleText10
+	db "@"
+
+Route14Text11:
+	TX_FAR _Route14Text11
+	db "@"
--- /dev/null
+++ b/scripts/Route15.asm
@@ -1,0 +1,295 @@
+Route15_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route15TrainerHeader0
+	ld de, Route15_ScriptPointers
+	ld a, [wRoute15CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute15CurScript], a
+	ret
+
+Route15_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route15_TextPointers:
+	dw Route15Text1
+	dw Route15Text2
+	dw Route15Text3
+	dw Route15Text4
+	dw Route15Text5
+	dw Route15Text6
+	dw Route15Text7
+	dw Route15Text8
+	dw Route15Text9
+	dw Route15Text10
+	dw PickUpItemText
+	dw Route15Text12
+
+Route15TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_0
+	dw Route15BattleText1 ; TextBeforeBattle
+	dw Route15AfterBattleText1 ; TextAfterBattle
+	dw Route15EndBattleText1 ; TextEndBattle
+	dw Route15EndBattleText1 ; TextEndBattle
+
+Route15TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_1
+	dw Route15BattleText2 ; TextBeforeBattle
+	dw Route15AfterBattleText2 ; TextAfterBattle
+	dw Route15EndBattleText2 ; TextEndBattle
+	dw Route15EndBattleText2 ; TextEndBattle
+
+Route15TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_2
+	dw Route15BattleText3 ; TextBeforeBattle
+	dw Route15AfterBattleText3 ; TextAfterBattle
+	dw Route15EndBattleText3 ; TextEndBattle
+	dw Route15EndBattleText3 ; TextEndBattle
+
+Route15TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_3
+	dw Route15BattleText4 ; TextBeforeBattle
+	dw Route15AfterBattleText4 ; TextAfterBattle
+	dw Route15EndBattleText4 ; TextEndBattle
+	dw Route15EndBattleText4 ; TextEndBattle
+
+Route15TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_4
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_4
+	dw Route15BattleText5 ; TextBeforeBattle
+	dw Route15AfterBattleText5 ; TextAfterBattle
+	dw Route15EndBattleText5 ; TextEndBattle
+	dw Route15EndBattleText5 ; TextEndBattle
+
+Route15TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_5
+	dw Route15BattleText6 ; TextBeforeBattle
+	dw Route15AfterBattleText6 ; TextAfterBattle
+	dw Route15EndBattleText6 ; TextEndBattle
+	dw Route15EndBattleText6 ; TextEndBattle
+
+Route15TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_6
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_6
+	dw Route15BattleText7 ; TextBeforeBattle
+	dw Route15AfterBattleText7 ; TextAfterBattle
+	dw Route15EndBattleText7 ; TextEndBattle
+	dw Route15EndBattleText7 ; TextEndBattle
+
+Route15TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_7, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_7, 1
+	dw Route15BattleText8 ; TextBeforeBattle
+	dw Route15AfterBattleText8 ; TextAfterBattle
+	dw Route15EndBattleText8 ; TextEndBattle
+	dw Route15EndBattleText8 ; TextEndBattle
+
+Route15TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_8, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_8, 1
+	dw Route15BattleText9 ; TextBeforeBattle
+	dw Route15AfterBattleText9 ; TextAfterBattle
+	dw Route15EndBattleText9 ; TextEndBattle
+	dw Route15EndBattleText9 ; TextEndBattle
+
+Route15TrainerHeader9:
+	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_9, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_9, 1
+	dw Route15BattleText10 ; TextBeforeBattle
+	dw Route15AfterBattleText10 ; TextAfterBattle
+	dw Route15EndBattleText10 ; TextEndBattle
+	dw Route15EndBattleText10 ; TextEndBattle
+
+	db $ff
+
+Route15Text1:
+	TX_ASM
+	ld hl, Route15TrainerHeader0
+	jr Route15TalkToTrainer
+
+Route15Text2:
+	TX_ASM
+	ld hl, Route15TrainerHeader1
+	jr Route15TalkToTrainer
+
+Route15Text3:
+	TX_ASM
+	ld hl, Route15TrainerHeader2
+	jr Route15TalkToTrainer
+
+Route15Text4:
+	TX_ASM
+	ld hl, Route15TrainerHeader3
+	jr Route15TalkToTrainer
+
+Route15Text5:
+	TX_ASM
+	ld hl, Route15TrainerHeader4
+	jr Route15TalkToTrainer
+
+Route15Text6:
+	TX_ASM
+	ld hl, Route15TrainerHeader5
+	jr Route15TalkToTrainer
+
+Route15Text7:
+	TX_ASM
+	ld hl, Route15TrainerHeader6
+	jr Route15TalkToTrainer
+
+Route15Text8:
+	TX_ASM
+	ld hl, Route15TrainerHeader7
+	jr Route15TalkToTrainer
+
+Route15Text9:
+	TX_ASM
+	ld hl, Route15TrainerHeader8
+	jr Route15TalkToTrainer
+
+Route15Text10:
+	TX_ASM
+	ld hl, Route15TrainerHeader9
+Route15TalkToTrainer:
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route15BattleText1:
+	TX_FAR _Route15BattleText1
+	db "@"
+
+Route15EndBattleText1:
+	TX_FAR _Route15EndBattleText1
+	db "@"
+
+Route15AfterBattleText1:
+	TX_FAR _Route15AfterBattleText1
+	db "@"
+
+Route15BattleText2:
+	TX_FAR _Route15BattleText2
+	db "@"
+
+Route15EndBattleText2:
+	TX_FAR _Route15EndBattleText2
+	db "@"
+
+Route15AfterBattleText2:
+	TX_FAR _Route15AfterBattleText2
+	db "@"
+
+Route15BattleText3:
+	TX_FAR _Route15BattleText3
+	db "@"
+
+Route15EndBattleText3:
+	TX_FAR _Route15EndBattleText3
+	db "@"
+
+Route15AfterBattleText3:
+	TX_FAR _Route15AfterBattleText3
+	db "@"
+
+Route15BattleText4:
+	TX_FAR _Route15BattleText4
+	db "@"
+
+Route15EndBattleText4:
+	TX_FAR _Route15EndBattleText4
+	db "@"
+
+Route15AfterBattleText4:
+	TX_FAR _Route15AfterBattleText4
+	db "@"
+
+Route15BattleText5:
+	TX_FAR _Route15BattleText5
+	db "@"
+
+Route15EndBattleText5:
+	TX_FAR _Route15EndBattleText5
+	db "@"
+
+Route15AfterBattleText5:
+	TX_FAR _Route15AfterBattleText5
+	db "@"
+
+Route15BattleText6:
+	TX_FAR _Route15BattleText6
+	db "@"
+
+Route15EndBattleText6:
+	TX_FAR _Route15EndBattleText6
+	db "@"
+
+Route15AfterBattleText6:
+	TX_FAR _Route15AfterBattleText6
+	db "@"
+
+Route15BattleText7:
+	TX_FAR _Route15BattleText7
+	db "@"
+
+Route15EndBattleText7:
+	TX_FAR _Route15EndBattleText7
+	db "@"
+
+Route15AfterBattleText7:
+	TX_FAR _Route15AfterBattleText7
+	db "@"
+
+Route15BattleText8:
+	TX_FAR _Route15BattleText8
+	db "@"
+
+Route15EndBattleText8:
+	TX_FAR _Route15EndBattleText8
+	db "@"
+
+Route15AfterBattleText8:
+	TX_FAR _Route15AfterBattleText8
+	db "@"
+
+Route15BattleText9:
+	TX_FAR _Route15BattleText9
+	db "@"
+
+Route15EndBattleText9:
+	TX_FAR _Route15EndBattleText9
+	db "@"
+
+Route15AfterBattleText9:
+	TX_FAR _Route15AfterBattleText9
+	db "@"
+
+Route15BattleText10:
+	TX_FAR _Route15BattleText10
+	db "@"
+
+Route15EndBattleText10:
+	TX_FAR _Route15EndBattleText10
+	db "@"
+
+Route15AfterBattleText10:
+	TX_FAR _Route15AfterBattleText10
+	db "@"
+
+Route15Text12:
+	TX_FAR _Route15Text12
+	db "@"
--- /dev/null
+++ b/scripts/Route15Gate1F.asm
@@ -1,0 +1,9 @@
+Route15Gate1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route15Gate1F_TextPointers:
+	dw Route15GateText1
+
+Route15GateText1:
+	TX_FAR _Route15GateText1
+	db "@"
--- /dev/null
+++ b/scripts/Route15Gate2F.asm
@@ -1,0 +1,44 @@
+Route15Gate2F_Script:
+	jp DisableAutoTextBoxDrawing
+
+Route15Gate2F_TextPointers:
+	dw Route15GateUpstairsText1
+	dw Route15GateUpstairsText2
+
+Route15GateUpstairsText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_EXP_ALL
+	jr nz, .asm_49683
+	ld a, 50 ; pokemon needed
+	ld [hOaksAideRequirement], a
+	ld a, EXP_ALL ; oak's aide reward
+	ld [hOaksAideRewardItem], a
+	ld [wd11e], a
+	call GetItemName
+	ld hl, wcd6d
+	ld de, wOaksAideRewardItemName
+	ld bc, ITEM_NAME_LENGTH
+	call CopyData
+	predef OaksAideScript
+	ld a, [hOaksAideResult]
+	cp $1
+	jr nz, .asm_49689
+	SetEvent EVENT_GOT_EXP_ALL
+.asm_49683
+	ld hl, Route15GateUpstairsText_4968c
+	call PrintText
+.asm_49689
+	jp TextScriptEnd
+
+Route15GateUpstairsText_4968c:
+	TX_FAR _Route15GateUpstairsText_4968c
+	db "@"
+
+Route15GateUpstairsText2:
+	TX_ASM
+	ld hl, Route15GateUpstairsText_49698
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route15GateUpstairsText_49698:
+	TX_FAR _Route15GateUpstairsText_49698
+	db "@"
--- /dev/null
+++ b/scripts/Route16.asm
@@ -1,0 +1,259 @@
+Route16_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route16TrainerHeader0
+	ld de, Route16_ScriptPointers
+	ld a, [wRoute16CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute16CurScript], a
+	ret
+
+Route16Script_59946:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute16CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route16_ScriptPointers:
+	dw Route16Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw Route16Script3
+
+Route16Script0:
+	CheckEventHL EVENT_BEAT_ROUTE16_SNORLAX
+	jp nz, CheckFightingMapTrainers
+	CheckEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX
+	ResetEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX
+	jp z, CheckFightingMapTrainers
+	ld a, $a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, SNORLAX
+	ld [wCurOpponent], a
+	ld a, 30
+	ld [wCurEnemyLVL], a
+	ld a, HS_ROUTE_16_SNORLAX
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call UpdateSprites
+	ld a, $3
+	ld [wRoute16CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route16Script3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, Route16Script_59946
+	call UpdateSprites
+	ld a, [wBattleResult]
+	cp $2
+	jr z, .asm_599a8
+	ld a, $b
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_599a8
+	SetEvent EVENT_BEAT_ROUTE16_SNORLAX
+	call Delay3
+	ld a, $0
+	ld [wRoute16CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route16_TextPointers:
+	dw Route16Text1
+	dw Route16Text2
+	dw Route16Text3
+	dw Route16Text4
+	dw Route16Text5
+	dw Route16Text6
+	dw Route16Text7
+	dw Route16Text8
+	dw Route16Text9
+	dw Route16Text10
+	dw Route16Text11
+
+Route16TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_0
+	dw Route16BattleText1 ; TextBeforeBattle
+	dw Route16AfterBattleText1 ; TextAfterBattle
+	dw Route16EndBattleText1 ; TextEndBattle
+	dw Route16EndBattleText1 ; TextEndBattle
+
+Route16TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_1
+	dw Route16BattleText2 ; TextBeforeBattle
+	dw Route16AfterBattleText2 ; TextAfterBattle
+	dw Route16EndBattleText2 ; TextEndBattle
+	dw Route16EndBattleText2 ; TextEndBattle
+
+Route16TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_2
+	dw Route16BattleText3 ; TextBeforeBattle
+	dw Route16AfterBattleText3 ; TextAfterBattle
+	dw Route16EndBattleText3 ; TextEndBattle
+	dw Route16EndBattleText3 ; TextEndBattle
+
+Route16TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_3
+	dw Route16BattleText4 ; TextBeforeBattle
+	dw Route16AfterBattleText4 ; TextAfterBattle
+	dw Route16EndBattleText4 ; TextEndBattle
+	dw Route16EndBattleText4 ; TextEndBattle
+
+Route16TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_4
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_4
+	dw Route16BattleText5 ; TextBeforeBattle
+	dw Route16AfterBattleText5 ; TextAfterBattle
+	dw Route16EndBattleText5 ; TextEndBattle
+	dw Route16EndBattleText5 ; TextEndBattle
+
+Route16TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_5
+	dw Route16BattleText6 ; TextBeforeBattle
+	dw Route16AfterBattleText6 ; TextAfterBattle
+	dw Route16EndBattleText6 ; TextEndBattle
+	dw Route16EndBattleText6 ; TextEndBattle
+
+	db $ff
+
+Route16Text1:
+	TX_ASM
+	ld hl, Route16TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route16BattleText1:
+	TX_FAR _Route16BattleText1
+	db "@"
+
+Route16EndBattleText1:
+	TX_FAR _Route16EndBattleText1
+	db "@"
+
+Route16AfterBattleText1:
+	TX_FAR _Route16AfterBattleText1
+	db "@"
+
+Route16Text2:
+	TX_ASM
+	ld hl, Route16TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route16BattleText2:
+	TX_FAR _Route16BattleText2
+	db "@"
+
+Route16EndBattleText2:
+	TX_FAR _Route16EndBattleText2
+	db "@"
+
+Route16AfterBattleText2:
+	TX_FAR _Route16AfterBattleText2
+	db "@"
+
+Route16Text3:
+	TX_ASM
+	ld hl, Route16TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route16BattleText3:
+	TX_FAR _Route16BattleText3
+	db "@"
+
+Route16EndBattleText3:
+	TX_FAR _Route16EndBattleText3
+	db "@"
+
+Route16AfterBattleText3:
+	TX_FAR _Route16AfterBattleText3
+	db "@"
+
+Route16Text4:
+	TX_ASM
+	ld hl, Route16TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route16BattleText4:
+	TX_FAR _Route16BattleText4
+	db "@"
+
+Route16EndBattleText4:
+	TX_FAR _Route16EndBattleText4
+	db "@"
+
+Route16AfterBattleText4:
+	TX_FAR _Route16AfterBattleText4
+	db "@"
+
+Route16Text5:
+	TX_ASM
+	ld hl, Route16TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route16BattleText5:
+	TX_FAR _Route16BattleText5
+	db "@"
+
+Route16EndBattleText5:
+	TX_FAR _Route16EndBattleText5
+	db "@"
+
+Route16AfterBattleText5:
+	TX_FAR _Route16AfterBattleText5
+	db "@"
+
+Route16Text6:
+	TX_ASM
+	ld hl, Route16TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route16BattleText6:
+	TX_FAR _Route16BattleText6
+	db "@"
+
+Route16EndBattleText6:
+	TX_FAR _Route16EndBattleText6
+	db "@"
+
+Route16AfterBattleText6:
+	TX_FAR _Route16AfterBattleText6
+	db "@"
+
+Route16Text7:
+	TX_FAR _Route16Text7
+	db "@"
+
+Route16Text10:
+	TX_FAR _Route16Text10
+	db "@"
+
+Route16Text11:
+	TX_FAR _Route16Text11
+	db "@"
+
+Route16Text8:
+	TX_FAR _Route16Text8
+	db "@"
+
+Route16Text9:
+	TX_FAR _Route16Text9
+	db "@"
--- /dev/null
+++ b/scripts/Route16FlyHouse.asm
@@ -1,0 +1,55 @@
+Route16FlyHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route16FlyHouse_TextPointers:
+	dw Route16HouseText1
+	dw Route16HouseText2
+
+Route16HouseText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_HM02
+	ld hl, HM02ExplanationText
+	jr nz, .asm_13616
+	ld hl, Route16HouseText3
+	call PrintText
+	lb bc, HM_02, 1
+	call GiveItem
+	jr nc, .BagFull
+	SetEvent EVENT_GOT_HM02
+	ld hl, ReceivedHM02Text
+	jr .asm_13616
+.BagFull
+	ld hl, HM02NoRoomText
+.asm_13616
+	call PrintText
+	jp TextScriptEnd
+
+Route16HouseText3:
+	TX_FAR _Route16HouseText3
+	db "@"
+
+ReceivedHM02Text:
+	TX_FAR _ReceivedHM02Text
+	TX_SFX_KEY_ITEM
+	db "@"
+
+HM02ExplanationText:
+	TX_FAR _HM02ExplanationText
+	db "@"
+
+HM02NoRoomText:
+	TX_FAR _HM02NoRoomText
+	db "@"
+
+Route16HouseText2:
+	TX_ASM
+	ld hl, Route16HouseText_1e652
+	call PrintText
+	ld a, FEAROW
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+Route16HouseText_1e652:
+	TX_FAR _Route16HouseText_1e652
+	db "@"
--- /dev/null
+++ b/scripts/Route16Gate1F.asm
@@ -1,0 +1,121 @@
+Route16Gate1F_Script:
+	ld hl, wd732
+	res 5, [hl]
+	call EnableAutoTextBoxDrawing
+	ld a, [wRoute16Gate1FCurScript]
+	ld hl, Route16Gate1F_ScriptPointers
+	jp CallFunctionInTable
+
+Route16Gate1F_ScriptPointers:
+	dw Route16GateScript0
+	dw Route16GateScript1
+	dw Route16GateScript2
+	dw Route16GateScript3
+
+Route16GateScript0:
+	call Route16GateScript_49755
+	ret nz
+	ld hl, CoordsData_49714
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [hJoyHeld], a
+	ld a, [wCoordIndex]
+	cp $1
+	jr z, .asm_4970e
+	ld a, [wCoordIndex]
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	ld b, $0
+	ld c, a
+	ld a, D_UP
+	ld hl, wSimulatedJoypadStatesEnd
+	call FillMemory
+	call StartSimulatingJoypadStates
+	ld a, $1
+	ld [wRoute16Gate1FCurScript], a
+	ret
+.asm_4970e
+	ld a, $2
+	ld [wRoute16Gate1FCurScript], a
+	ret
+
+CoordsData_49714:
+	db $07,$04
+	db $08,$04
+	db $09,$04
+	db $0A,$04
+	db $FF
+
+Route16GateScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	ld a, $f0
+	ld [wJoyIgnore], a
+
+Route16GateScript2:
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_RIGHT
+	ld [wSimulatedJoypadStatesEnd], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wRoute16Gate1FCurScript], a
+	ret
+
+Route16GateScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld hl, wd730
+	res 7, [hl]
+	ld a, $0
+	ld [wRoute16Gate1FCurScript], a
+	ret
+
+Route16GateScript_49755:
+	ld b, BICYCLE
+	jp IsItemInBag
+
+Route16Gate1F_TextPointers:
+	dw Route16GateText1
+	dw Route16GateText2
+	dw Route16GateText3
+
+Route16GateText1:
+	TX_ASM
+	call Route16GateScript_49755
+	jr z, .asm_0bdf3
+	ld hl, Route16GateText_4977c
+	call PrintText
+	jr .asm_56c9d
+.asm_0bdf3
+	ld hl, Route16GateText_49777
+	call PrintText
+.asm_56c9d
+	jp TextScriptEnd
+
+Route16GateText_49777:
+	TX_FAR _Route16GateText_49777
+	db "@"
+
+Route16GateText_4977c:
+	TX_FAR _Route16GateText_4977c
+	db "@"
+
+Route16GateText3:
+	TX_FAR _Route16GateText_49781
+	db "@"
+
+Route16GateText2:
+	TX_FAR _Route16GateText2
+	db "@"
--- /dev/null
+++ b/scripts/Route16Gate2F.asm
@@ -1,0 +1,46 @@
+Route16Gate2F_Script:
+	jp DisableAutoTextBoxDrawing
+
+Route16Gate2F_TextPointers:
+	dw Route16GateUpstairsText1
+	dw Route16GateUpstairsText2
+	dw Route16GateUpstairsText3
+	dw Route16GateUpstairsText4
+
+Route16GateUpstairsText1:
+	TX_ASM
+	ld hl, Route16GateUpstairsText_49820
+	call PrintText
+	jp TextScriptEnd
+
+Route16GateUpstairsText_49820:
+	TX_FAR _Route16GateUpstairsText_49820
+	db "@"
+
+Route16GateUpstairsText2:
+	TX_ASM
+	ld hl, Route16GateUpstairsText_4982f
+	call PrintText
+	jp TextScriptEnd
+
+Route16GateUpstairsText_4982f:
+	TX_FAR _Route16GateUpstairsText_4982f
+	db "@"
+
+Route16GateUpstairsText3:
+	TX_ASM
+	ld hl, Route16GateUpstairsText_4983b
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route16GateUpstairsText_4983b:
+	TX_FAR _Route16GateUpstairsText_4983b
+	db "@"
+
+Route16GateUpstairsText4:
+	TX_ASM
+	ld hl, Route16GateUpstairsText_49847
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route16GateUpstairsText_49847:
+	TX_FAR _Route16GateUpstairsText_49847
+	db "@"
--- /dev/null
+++ b/scripts/Route17.asm
@@ -1,0 +1,327 @@
+Route17_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route17TrainerHeader0
+	ld de, Route17_ScriptPointers
+	ld a, [wRoute17CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute17CurScript], a
+	ret
+
+Route17_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route17_TextPointers:
+	dw Route17Text1
+	dw Route17Text2
+	dw Route17Text3
+	dw Route17Text4
+	dw Route17Text5
+	dw Route17Text6
+	dw Route17Text7
+	dw Route17Text8
+	dw Route17Text9
+	dw Route17Text10
+	dw Route17Text11
+	dw Route17Text12
+	dw Route17Text13
+	dw Route17Text14
+	dw Route17Text15
+	dw Route17Text16
+
+Route17TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_0
+	dw Route17BattleText1 ; TextBeforeBattle
+	dw Route17AfterBattleText1 ; TextAfterBattle
+	dw Route17EndBattleText1 ; TextEndBattle
+	dw Route17EndBattleText1 ; TextEndBattle
+
+Route17TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_1
+	dw Route17BattleText2 ; TextBeforeBattle
+	dw Route17AfterBattleText2 ; TextAfterBattle
+	dw Route17EndBattleText2 ; TextEndBattle
+	dw Route17EndBattleText2 ; TextEndBattle
+
+Route17TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_2
+	dw Route17BattleText3 ; TextBeforeBattle
+	dw Route17AfterBattleText3 ; TextAfterBattle
+	dw Route17EndBattleText3 ; TextEndBattle
+	dw Route17EndBattleText3 ; TextEndBattle
+
+Route17TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_3
+	dw Route17BattleText4 ; TextBeforeBattle
+	dw Route17AfterBattleText4 ; TextAfterBattle
+	dw Route17EndBattleText4 ; TextEndBattle
+	dw Route17EndBattleText4 ; TextEndBattle
+
+Route17TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_4
+	dw Route17BattleText5 ; TextBeforeBattle
+	dw Route17AfterBattleText5 ; TextAfterBattle
+	dw Route17EndBattleText5 ; TextEndBattle
+	dw Route17EndBattleText5 ; TextEndBattle
+
+Route17TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_5
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_5
+	dw Route17BattleText6 ; TextBeforeBattle
+	dw Route17AfterBattleText6 ; TextAfterBattle
+	dw Route17EndBattleText6 ; TextEndBattle
+	dw Route17EndBattleText6 ; TextEndBattle
+
+Route17TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_6
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_6
+	dw Route17BattleText7 ; TextBeforeBattle
+	dw Route17AfterBattleText7 ; TextAfterBattle
+	dw Route17EndBattleText7 ; TextEndBattle
+	dw Route17EndBattleText7 ; TextEndBattle
+
+Route17TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_7, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_7, 1
+	dw Route17BattleText8 ; TextBeforeBattle
+	dw Route17AfterBattleText8 ; TextAfterBattle
+	dw Route17EndBattleText8 ; TextEndBattle
+	dw Route17EndBattleText8 ; TextEndBattle
+
+Route17TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_8, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_8, 1
+	dw Route17BattleText9 ; TextBeforeBattle
+	dw Route17AfterBattleText9 ; TextAfterBattle
+	dw Route17EndBattleText9 ; TextEndBattle
+	dw Route17EndBattleText9 ; TextEndBattle
+
+Route17TrainerHeader9:
+	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_9, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_9, 1
+	dw Route17BattleText10 ; TextBeforeBattle
+	dw Route17AfterBattleText10 ; TextAfterBattle
+	dw Route17EndBattleText10 ; TextEndBattle
+	dw Route17EndBattleText10 ; TextEndBattle
+
+	db $ff
+
+Route17Text1:
+	TX_ASM
+	ld hl, Route17TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText1:
+	TX_FAR _Route17BattleText1
+	db "@"
+
+Route17EndBattleText1:
+	TX_FAR _Route17EndBattleText1
+	db "@"
+
+Route17AfterBattleText1:
+	TX_FAR _Route17AfterBattleText1
+	db "@"
+
+Route17Text2:
+	TX_ASM
+	ld hl, Route17TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText2:
+	TX_FAR _Route17BattleText2
+	db "@"
+
+Route17EndBattleText2:
+	TX_FAR _Route17EndBattleText2
+	db "@"
+
+Route17AfterBattleText2:
+	TX_FAR _Route17AfterBattleText2
+	db "@"
+
+Route17Text3:
+	TX_ASM
+	ld hl, Route17TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText3:
+	TX_FAR _Route17BattleText3
+	db "@"
+
+Route17EndBattleText3:
+	TX_FAR _Route17EndBattleText3
+	db "@"
+
+Route17AfterBattleText3:
+	TX_FAR _Route17AfterBattleText3
+	db "@"
+
+Route17Text4:
+	TX_ASM
+	ld hl, Route17TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText4:
+	TX_FAR _Route17BattleText4
+	db "@"
+
+Route17EndBattleText4:
+	TX_FAR _Route17EndBattleText4
+	db "@"
+
+Route17AfterBattleText4:
+	TX_FAR _Route17AfterBattleText4
+	db "@"
+
+Route17Text5:
+	TX_ASM
+	ld hl, Route17TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText5:
+	TX_FAR _Route17BattleText5
+	db "@"
+
+Route17EndBattleText5:
+	TX_FAR _Route17EndBattleText5
+	db "@"
+
+Route17AfterBattleText5:
+	TX_FAR _Route17AfterBattleText5
+	db "@"
+
+Route17Text6:
+	TX_ASM
+	ld hl, Route17TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText6:
+	TX_FAR _Route17BattleText6
+	db "@"
+
+Route17EndBattleText6:
+	TX_FAR _Route17EndBattleText6
+	db "@"
+
+Route17AfterBattleText6:
+	TX_FAR _Route17AfterBattleText6
+	db "@"
+
+Route17Text7:
+	TX_ASM
+	ld hl, Route17TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText7:
+	TX_FAR _Route17BattleText7
+	db "@"
+
+Route17EndBattleText7:
+	TX_FAR _Route17EndBattleText7
+	db "@"
+
+Route17AfterBattleText7:
+	TX_FAR _Route17AfterBattleText7
+	db "@"
+
+Route17Text8:
+	TX_ASM
+	ld hl, Route17TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText8:
+	TX_FAR _Route17BattleText8
+	db "@"
+
+Route17EndBattleText8:
+	TX_FAR _Route17EndBattleText8
+	db "@"
+
+Route17AfterBattleText8:
+	TX_FAR _Route17AfterBattleText8
+	db "@"
+
+Route17Text9:
+	TX_ASM
+	ld hl, Route17TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText9:
+	TX_FAR _Route17BattleText9
+	db "@"
+
+Route17EndBattleText9:
+	TX_FAR _Route17EndBattleText9
+	db "@"
+
+Route17AfterBattleText9:
+	TX_FAR _Route17AfterBattleText9
+	db "@"
+
+Route17Text10:
+	TX_ASM
+	ld hl, Route17TrainerHeader9
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route17BattleText10:
+	TX_FAR _Route17BattleText10
+	db "@"
+
+Route17EndBattleText10:
+	TX_FAR _Route17EndBattleText10
+	db "@"
+
+Route17AfterBattleText10:
+	TX_FAR _Route17AfterBattleText10
+	db "@"
+
+Route17Text11:
+	TX_FAR _Route17Text11
+	db "@"
+
+Route17Text12:
+	TX_FAR _Route17Text12
+	db "@"
+
+Route17Text13:
+	TX_FAR _Route17Text13
+	db "@"
+
+Route17Text14:
+	TX_FAR _Route17Text14
+	db "@"
+
+Route17Text15:
+	TX_FAR _Route17Text15
+	db "@"
+
+Route17Text16:
+	TX_FAR _Route17Text16
+	db "@"
--- /dev/null
+++ b/scripts/Route18.asm
@@ -1,0 +1,111 @@
+Route18_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route18TrainerHeader0
+	ld de, Route18_ScriptPointers
+	ld a, [wRoute18CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute18CurScript], a
+	ret
+
+Route18_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route18_TextPointers:
+	dw Route18Text1
+	dw Route18Text2
+	dw Route18Text3
+	dw Route18Text4
+	dw Route18Text5
+
+Route18TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_0
+	dw Route18BattleText1 ; TextBeforeBattle
+	dw Route18AfterBattleText1 ; TextAfterBattle
+	dw Route18EndBattleText1 ; TextEndBattle
+	dw Route18EndBattleText1 ; TextEndBattle
+
+Route18TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_1
+	dw Route18BattleText2 ; TextBeforeBattle
+	dw Route18AfterBattleText2 ; TextAfterBattle
+	dw Route18EndBattleText2 ; TextEndBattle
+	dw Route18EndBattleText2 ; TextEndBattle
+
+Route18TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_2
+	dw Route18BattleText3 ; TextBeforeBattle
+	dw Route18AfterBattleText3 ; TextAfterBattle
+	dw Route18EndBattleText3 ; TextEndBattle
+	dw Route18EndBattleText3 ; TextEndBattle
+
+	db $ff
+
+Route18Text1:
+	TX_ASM
+	ld hl, Route18TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route18BattleText1:
+	TX_FAR _Route18BattleText1
+	db "@"
+
+Route18EndBattleText1:
+	TX_FAR _Route18EndBattleText1
+	db "@"
+
+Route18AfterBattleText1:
+	TX_FAR _Route18AfterBattleText1
+	db "@"
+
+Route18Text2:
+	TX_ASM
+	ld hl, Route18TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route18BattleText2:
+	TX_FAR _Route18BattleText2
+	db "@"
+
+Route18EndBattleText2:
+	TX_FAR _Route18EndBattleText2
+	db "@"
+
+Route18AfterBattleText2:
+	TX_FAR _Route18AfterBattleText2
+	db "@"
+
+Route18Text3:
+	TX_ASM
+	ld hl, Route18TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route18BattleText3:
+	TX_FAR _Route18BattleText3
+	db "@"
+
+Route18EndBattleText3:
+	TX_FAR _Route18EndBattleText3
+	db "@"
+
+Route18AfterBattleText3:
+	TX_FAR _Route18AfterBattleText3
+	db "@"
+
+Route18Text4:
+	TX_FAR _Route18Text4
+	db "@"
+
+Route18Text5:
+	TX_FAR _Route18Text5
+	db "@"
--- /dev/null
+++ b/scripts/Route18Gate1F.asm
@@ -1,0 +1,112 @@
+Route18Gate1F_Script:
+	ld hl, wd732
+	res 5, [hl]
+	call EnableAutoTextBoxDrawing
+	ld a, [wRoute18Gate1FCurScript]
+	ld hl, Route18Gate1F_ScriptPointers
+	jp CallFunctionInTable
+
+Route18Gate1F_ScriptPointers:
+	dw Route18GateScript0
+	dw Route18GateScript1
+	dw Route18GateScript2
+	dw Route18GateScript3
+
+Route18GateScript0:
+	call Route16GateScript_49755
+	ret nz
+	ld hl, CoordsData_498cc
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [hJoyHeld], a
+	ld a, [wCoordIndex]
+	cp $1
+	jr z, .asm_498c6
+	ld a, [wCoordIndex]
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	ld b, 0
+	ld c, a
+	ld a, D_UP
+	ld hl, wSimulatedJoypadStatesEnd
+	call FillMemory
+	call StartSimulatingJoypadStates
+	ld a, $1
+	ld [wRoute18Gate1FCurScript], a
+	ret
+.asm_498c6
+	ld a, $2
+	ld [wRoute18Gate1FCurScript], a
+	ret
+
+CoordsData_498cc:
+	db $03,$04
+	db $04,$04
+	db $05,$04
+	db $06,$04
+	db $FF
+
+Route18GateScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	ld a, $f0
+	ld [wJoyIgnore], a
+
+Route18GateScript2:
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_RIGHT
+	ld [wSimulatedJoypadStatesEnd], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wRoute18Gate1FCurScript], a
+	ret
+
+Route18GateScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld hl, wd730
+	res 7, [hl]
+	ld a, $0
+	ld [wRoute18Gate1FCurScript], a
+	ret
+
+Route18Gate1F_TextPointers:
+	dw Route18GateText1
+	dw Route18GateText2
+
+Route18GateText1:
+	TX_ASM
+	call Route16GateScript_49755
+	jr z, .asm_3c84d
+	ld hl, Route18GateText_4992d
+	call PrintText
+	jr .asm_a8410
+.asm_3c84d
+	ld hl, Route18GateText_49928
+	call PrintText
+.asm_a8410
+	jp TextScriptEnd
+
+Route18GateText_49928:
+	TX_FAR _Route18GateText_49928
+	db "@"
+
+Route18GateText_4992d:
+	TX_FAR _Route18GateText_4992d
+	db "@"
+
+Route18GateText2:
+	TX_FAR _Route18GateText_49932
+	db "@"
--- /dev/null
+++ b/scripts/Route18Gate2F.asm
@@ -1,0 +1,32 @@
+Route18Gate2F_Script:
+	jp DisableAutoTextBoxDrawing
+
+Route18Gate2F_TextPointers:
+	dw Route18GateUpstairsText1
+	dw Route18GateUpstairsText2
+	dw Route18GateUpstairsText3
+
+Route18GateUpstairsText1:
+	TX_ASM
+	ld a, $5
+	ld [wWhichTrade], a
+	predef DoInGameTradeDialogue
+	jp TextScriptEnd
+
+Route18GateUpstairsText2:
+	TX_ASM
+	ld hl, Route18GateUpstairsText_49993
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route18GateUpstairsText_49993:
+	TX_FAR _Route18GateUpstairsText_49993
+	db "@"
+
+Route18GateUpstairsText3:
+	TX_ASM
+	ld hl, Route18GateUpstairsText_4999f
+	jp GateUpstairsScript_PrintIfFacingUp
+
+Route18GateUpstairsText_4999f:
+	TX_FAR _Route18GateUpstairsText_4999f
+	db "@"
--- /dev/null
+++ b/scripts/Route19.asm
@@ -1,0 +1,302 @@
+Route19_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route19TrainerHeader0
+	ld de, Route19_ScriptPointers
+	ld a, [wRoute19CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute19CurScript], a
+	ret
+
+Route19_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route19_TextPointers:
+	dw Route19Text1
+	dw Route19Text2
+	dw Route19Text3
+	dw Route19Text4
+	dw Route19Text5
+	dw Route19Text6
+	dw Route19Text7
+	dw Route19Text8
+	dw Route19Text9
+	dw Route19Text10
+	dw Route19Text11
+
+Route19TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_0
+	dw Route19BattleText1 ; TextBeforeBattle
+	dw Route19AfterBattleText1 ; TextAfterBattle
+	dw Route19EndBattleText1 ; TextEndBattle
+	dw Route19EndBattleText1 ; TextEndBattle
+
+Route19TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_1
+	dw Route19BattleText2 ; TextBeforeBattle
+	dw Route19AfterBattleText2 ; TextAfterBattle
+	dw Route19EndBattleText2 ; TextEndBattle
+	dw Route19EndBattleText2 ; TextEndBattle
+
+Route19TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_2
+	dw Route19BattleText3 ; TextBeforeBattle
+	dw Route19AfterBattleText3 ; TextAfterBattle
+	dw Route19EndBattleText3 ; TextEndBattle
+	dw Route19EndBattleText3 ; TextEndBattle
+
+Route19TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_3
+	dw Route19BattleText4 ; TextBeforeBattle
+	dw Route19AfterBattleText4 ; TextAfterBattle
+	dw Route19EndBattleText4 ; TextEndBattle
+	dw Route19EndBattleText4 ; TextEndBattle
+
+Route19TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_4
+	dw Route19BattleText5 ; TextBeforeBattle
+	dw Route19AfterBattleText5 ; TextAfterBattle
+	dw Route19EndBattleText5 ; TextEndBattle
+	dw Route19EndBattleText5 ; TextEndBattle
+
+Route19TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_5
+	dw Route19BattleText6 ; TextBeforeBattle
+	dw Route19AfterBattleText6 ; TextAfterBattle
+	dw Route19EndBattleText6 ; TextEndBattle
+	dw Route19EndBattleText6 ; TextEndBattle
+
+Route19TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_6
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_6
+	dw Route19BattleText7 ; TextBeforeBattle
+	dw Route19AfterBattleText7 ; TextAfterBattle
+	dw Route19EndBattleText7 ; TextEndBattle
+	dw Route19EndBattleText7 ; TextEndBattle
+
+Route19TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_7, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_7, 1
+	dw Route19BattleText8 ; TextBeforeBattle
+	dw Route19AfterBattleText8 ; TextAfterBattle
+	dw Route19EndBattleText8 ; TextEndBattle
+	dw Route19EndBattleText8 ; TextEndBattle
+
+Route19TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_8, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_8, 1
+	dw Route19BattleText9 ; TextBeforeBattle
+	dw Route19AfterBattleText9 ; TextAfterBattle
+	dw Route19EndBattleText9 ; TextEndBattle
+	dw Route19EndBattleText9 ; TextEndBattle
+
+Route19TrainerHeader9:
+	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_9, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_9, 1
+	dw Route19BattleText10 ; TextBeforeBattle
+	dw Route19AfterBattleText10 ; TextAfterBattle
+	dw Route19EndBattleText10 ; TextEndBattle
+	dw Route19EndBattleText10 ; TextEndBattle
+
+	db $ff
+
+Route19Text1:
+	TX_ASM
+	ld hl, Route19TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text2:
+	TX_ASM
+	ld hl, Route19TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text3:
+	TX_ASM
+	ld hl, Route19TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text4:
+	TX_ASM
+	ld hl, Route19TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text5:
+	TX_ASM
+	ld hl, Route19TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text6:
+	TX_ASM
+	ld hl, Route19TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text7:
+	TX_ASM
+	ld hl, Route19TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text8:
+	TX_ASM
+	ld hl, Route19TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text9:
+	TX_ASM
+	ld hl, Route19TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19Text10:
+	TX_ASM
+	ld hl, Route19TrainerHeader9
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route19BattleText1:
+	TX_FAR _Route19BattleText1
+	db "@"
+
+Route19EndBattleText1:
+	TX_FAR _Route19EndBattleText1
+	db "@"
+
+Route19AfterBattleText1:
+	TX_FAR _Route19AfterBattleText1
+	db "@"
+
+Route19BattleText2:
+	TX_FAR _Route19BattleText2
+	db "@"
+
+Route19EndBattleText2:
+	TX_FAR _Route19EndBattleText2
+	db "@"
+
+Route19AfterBattleText2:
+	TX_FAR _Route19AfterBattleText2
+	db "@"
+
+Route19BattleText3:
+	TX_FAR _Route19BattleText3
+	db "@"
+
+Route19EndBattleText3:
+	TX_FAR _Route19EndBattleText3
+	db "@"
+
+Route19AfterBattleText3:
+	TX_FAR _Route19AfterBattleText3
+	db "@"
+
+Route19BattleText4:
+	TX_FAR _Route19BattleText4
+	db "@"
+
+Route19EndBattleText4:
+	TX_FAR _Route19EndBattleText4
+	db "@"
+
+Route19AfterBattleText4:
+	TX_FAR _Route19AfterBattleText4
+	db "@"
+
+Route19BattleText5:
+	TX_FAR _Route19BattleText5
+	db "@"
+
+Route19EndBattleText5:
+	TX_FAR _Route19EndBattleText5
+	db "@"
+
+Route19AfterBattleText5:
+	TX_FAR _Route19AfterBattleText5
+	db "@"
+
+Route19BattleText6:
+	TX_FAR _Route19BattleText6
+	db "@"
+
+Route19EndBattleText6:
+	TX_FAR _Route19EndBattleText6
+	db "@"
+
+Route19AfterBattleText6:
+	TX_FAR _Route19AfterBattleText6
+	db "@"
+
+Route19BattleText7:
+	TX_FAR _Route19BattleText7
+	db "@"
+
+Route19EndBattleText7:
+	TX_FAR _Route19EndBattleText7
+	db "@"
+
+Route19AfterBattleText7:
+	TX_FAR _Route19AfterBattleText7
+	db "@"
+
+Route19BattleText8:
+	TX_FAR _Route19BattleText8
+	db "@"
+
+Route19EndBattleText8:
+	TX_FAR _Route19EndBattleText8
+	db "@"
+
+Route19AfterBattleText8:
+	TX_FAR _Route19AfterBattleText8
+	db "@"
+
+Route19BattleText9:
+	TX_FAR _Route19BattleText9
+	db "@"
+
+Route19EndBattleText9:
+	TX_FAR _Route19EndBattleText9
+	db "@"
+
+Route19AfterBattleText9:
+	TX_FAR _Route19AfterBattleText9
+	db "@"
+
+Route19BattleText10:
+	TX_FAR _Route19BattleText10
+	db "@"
+
+Route19EndBattleText10:
+	TX_FAR _Route19EndBattleText10
+	db "@"
+
+Route19AfterBattleText10:
+	TX_FAR _Route19AfterBattleText10
+	db "@"
+
+Route19Text11:
+	TX_FAR _Route19Text11
+	db "@"
--- /dev/null
+++ b/scripts/Route2.asm
@@ -1,0 +1,16 @@
+Route2_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route2_TextPointers:
+	dw PickUpItemText
+	dw PickUpItemText
+	dw Route2Text3
+	dw Route2Text4
+
+Route2Text3:
+	TX_FAR _Route2Text3
+	db "@"
+
+Route2Text4:
+	TX_FAR _Route2Text4
+	db "@"
--- /dev/null
+++ b/scripts/Route20.asm
@@ -1,0 +1,353 @@
+Route20_Script:
+	CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS
+	call nz, Route20Script_50cc6
+	call EnableAutoTextBoxDrawing
+	ld hl, Route20TrainerHeader0
+	ld de, Route20_ScriptPointers
+	ld a, [wRoute20CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute20CurScript], a
+	ret
+
+Route20Script_50cc6:
+	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
+	jr z, .asm_50cef
+	ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_1
+	call Route20Script_50d0c
+	ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_2
+	call Route20Script_50d0c
+	ld hl, .MissableObjectIDs
+.asm_50cdc
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_50cef
+	push hl
+	call Route20Script_50d14
+	pop hl
+	jr .asm_50cdc
+
+.MissableObjectIDs:
+	db HS_SEAFOAM_ISLANDS_B1F_BOULDER_1
+	db HS_SEAFOAM_ISLANDS_B1F_BOULDER_2
+	db HS_SEAFOAM_ISLANDS_B2F_BOULDER_1
+	db HS_SEAFOAM_ISLANDS_B2F_BOULDER_2
+	db HS_SEAFOAM_ISLANDS_B3F_BOULDER_3
+	db HS_SEAFOAM_ISLANDS_B3F_BOULDER_4
+	db $FF
+
+.asm_50cef
+	CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
+	ret z
+	ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1
+	call Route20Script_50d0c
+	ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2
+	call Route20Script_50d0c
+	ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1
+	call Route20Script_50d14
+	ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2
+	call Route20Script_50d14
+	ret
+
+Route20Script_50d0c:
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+
+Route20Script_50d14:
+	ld [wMissableObjectIndex], a
+	predef_jump HideObject
+
+Route20_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route20_TextPointers:
+	dw Route20Text1
+	dw Route20Text2
+	dw Route20Text3
+	dw Route20Text4
+	dw Route20Text5
+	dw Route20Text6
+	dw Route20Text7
+	dw Route20Text8
+	dw Route20Text9
+	dw Route20Text10
+	dw Route20Text11
+	dw Route20Text12
+
+Route20TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0
+	dw Route20BattleText1 ; TextBeforeBattle
+	dw Route20AfterBattleText1 ; TextAfterBattle
+	dw Route20EndBattleText1 ; TextEndBattle
+	dw Route20EndBattleText1 ; TextEndBattle
+
+Route20TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_1
+	dw Route20BattleText2 ; TextBeforeBattle
+	dw Route20AfterBattleText2 ; TextAfterBattle
+	dw Route20EndBattleText2 ; TextEndBattle
+	dw Route20EndBattleText2 ; TextEndBattle
+
+Route20TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2
+	dw Route20BattleText3 ; TextBeforeBattle
+	dw Route20AfterBattleText3 ; TextAfterBattle
+	dw Route20EndBattleText3 ; TextEndBattle
+	dw Route20EndBattleText3 ; TextEndBattle
+
+Route20TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3
+	dw Route20BattleText4 ; TextBeforeBattle
+	dw Route20AfterBattleText4 ; TextAfterBattle
+	dw Route20EndBattleText4 ; TextEndBattle
+	dw Route20EndBattleText4 ; TextEndBattle
+
+Route20TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4
+	dw Route20BattleText5 ; TextBeforeBattle
+	dw Route20AfterBattleText5 ; TextAfterBattle
+	dw Route20EndBattleText5 ; TextEndBattle
+	dw Route20EndBattleText5 ; TextEndBattle
+
+Route20TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5
+	dw Route20BattleText6 ; TextBeforeBattle
+	dw Route20AfterBattleText6 ; TextAfterBattle
+	dw Route20EndBattleText6 ; TextEndBattle
+	dw Route20EndBattleText6 ; TextEndBattle
+
+Route20TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6
+	dw Route20BattleText7 ; TextBeforeBattle
+	dw Route20AfterBattleText7 ; TextAfterBattle
+	dw Route20EndBattleText7 ; TextEndBattle
+	dw Route20EndBattleText7 ; TextEndBattle
+
+Route20TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7, 1
+	dw Route20BattleText8 ; TextBeforeBattle
+	dw Route20AfterBattleText8 ; TextAfterBattle
+	dw Route20EndBattleText8 ; TextEndBattle
+	dw Route20EndBattleText8 ; TextEndBattle
+
+Route20TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1
+	dw Route20BattleText9 ; TextBeforeBattle
+	dw Route20AfterBattleText9 ; TextAfterBattle
+	dw Route20EndBattleText9 ; TextEndBattle
+	dw Route20EndBattleText9 ; TextEndBattle
+
+Route20TrainerHeader9:
+	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1
+	dw Route20BattleText10 ; TextBeforeBattle
+	dw Route20AfterBattleText10 ; TextAfterBattle
+	dw Route20EndBattleText10 ; TextEndBattle
+	dw Route20EndBattleText10 ; TextEndBattle
+
+	db $ff
+
+Route20Text1:
+	TX_ASM
+	ld hl, Route20TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text2:
+	TX_ASM
+	ld hl, Route20TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text3:
+	TX_ASM
+	ld hl, Route20TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text4:
+	TX_ASM
+	ld hl, Route20TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text5:
+	TX_ASM
+	ld hl, Route20TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text6:
+	TX_ASM
+	ld hl, Route20TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text7:
+	TX_ASM
+	ld hl, Route20TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text8:
+	TX_ASM
+	ld hl, Route20TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text9:
+	TX_ASM
+	ld hl, Route20TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20Text10:
+	TX_ASM
+	ld hl, Route20TrainerHeader9
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route20BattleText1:
+	TX_FAR _Route20BattleText1
+	db "@"
+
+Route20EndBattleText1:
+	TX_FAR _Route20EndBattleText1
+	db "@"
+
+Route20AfterBattleText1:
+	TX_FAR _Route20AfterBattleText1
+	db "@"
+
+Route20BattleText2:
+	TX_FAR _Route20BattleText2
+	db "@"
+
+Route20EndBattleText2:
+	TX_FAR _Route20EndBattleText2
+	db "@"
+
+Route20AfterBattleText2:
+	TX_FAR _Route20AfterBattleText2
+	db "@"
+
+Route20BattleText3:
+	TX_FAR _Route20BattleText3
+	db "@"
+
+Route20EndBattleText3:
+	TX_FAR _Route20EndBattleText3
+	db "@"
+
+Route20AfterBattleText3:
+	TX_FAR _Route20AfterBattleText3
+	db "@"
+
+Route20BattleText4:
+	TX_FAR _Route20BattleText4
+	db "@"
+
+Route20EndBattleText4:
+	TX_FAR _Route20EndBattleText4
+	db "@"
+
+Route20AfterBattleText4:
+	TX_FAR _Route20AfterBattleText4
+	db "@"
+
+Route20BattleText5:
+	TX_FAR _Route20BattleText5
+	db "@"
+
+Route20EndBattleText5:
+	TX_FAR _Route20EndBattleText5
+	db "@"
+
+Route20AfterBattleText5:
+	TX_FAR _Route20AfterBattleText5
+	db "@"
+
+Route20BattleText6:
+	TX_FAR _Route20BattleText6
+	db "@"
+
+Route20EndBattleText6:
+	TX_FAR _Route20EndBattleText6
+	db "@"
+
+Route20AfterBattleText6:
+	TX_FAR _Route20AfterBattleText6
+	db "@"
+
+Route20BattleText7:
+	TX_FAR _Route20BattleText7
+	db "@"
+
+Route20EndBattleText7:
+	TX_FAR _Route20EndBattleText7
+	db "@"
+
+Route20AfterBattleText7:
+	TX_FAR _Route20AfterBattleText7
+	db "@"
+
+Route20BattleText8:
+	TX_FAR _Route20BattleText8
+	db "@"
+
+Route20EndBattleText8:
+	TX_FAR _Route20EndBattleText8
+	db "@"
+
+Route20AfterBattleText8:
+	TX_FAR _Route20AfterBattleText8
+	db "@"
+
+Route20BattleText9:
+	TX_FAR _Route20BattleText9
+	db "@"
+
+Route20EndBattleText9:
+	TX_FAR _Route20EndBattleText9
+	db "@"
+
+Route20AfterBattleText9:
+	TX_FAR _Route20AfterBattleText9
+	db "@"
+
+Route20BattleText10:
+	TX_FAR _Route20BattleText10
+	db "@"
+
+Route20EndBattleText10:
+	TX_FAR _Route20EndBattleText10
+	db "@"
+
+Route20AfterBattleText10:
+	TX_FAR _Route20AfterBattleText10
+	db "@"
+
+Route20Text12:
+Route20Text11:
+	TX_FAR _Route20Text11
+	db "@"
--- /dev/null
+++ b/scripts/Route21.asm
@@ -1,0 +1,269 @@
+Route21_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route21TrainerHeader0
+	ld de, Route21_ScriptPointers
+	ld a, [wRoute21CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute21CurScript], a
+	ret
+
+Route21_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route21_TextPointers:
+	dw Route21Text1
+	dw Route21Text2
+	dw Route21Text3
+	dw Route21Text4
+	dw Route21Text5
+	dw Route21Text6
+	dw Route21Text7
+	dw Route21Text8
+	dw Route21Text9
+
+Route21TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_0
+	dw Route21BattleText1 ; TextBeforeBattle
+	dw Route21AfterBattleText1 ; TextAfterBattle
+	dw Route21EndBattleText1 ; TextEndBattle
+	dw Route21EndBattleText1 ; TextEndBattle
+
+Route21TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_1
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_1
+	dw Route21BattleText2 ; TextBeforeBattle
+	dw Route21AfterBattleText2 ; TextAfterBattle
+	dw Route21EndBattleText2 ; TextEndBattle
+	dw Route21EndBattleText2 ; TextEndBattle
+
+Route21TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_2
+	dw Route21BattleText3 ; TextBeforeBattle
+	dw Route21AfterBattleText3 ; TextAfterBattle
+	dw Route21EndBattleText3 ; TextEndBattle
+	dw Route21EndBattleText3 ; TextEndBattle
+
+Route21TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_3
+	dw Route21BattleText4 ; TextBeforeBattle
+	dw Route21AfterBattleText4 ; TextAfterBattle
+	dw Route21EndBattleText4 ; TextEndBattle
+	dw Route21EndBattleText4 ; TextEndBattle
+
+Route21TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_4
+	dw Route21BattleText5 ; TextBeforeBattle
+	dw Route21AfterBattleText5 ; TextAfterBattle
+	dw Route21EndBattleText5 ; TextEndBattle
+	dw Route21EndBattleText5 ; TextEndBattle
+
+Route21TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_5
+	dw Route21BattleText6 ; TextBeforeBattle
+	dw Route21AfterBattleText6 ; TextAfterBattle
+	dw Route21EndBattleText6 ; TextEndBattle
+	dw Route21EndBattleText6 ; TextEndBattle
+
+Route21TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_6
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_6
+	dw Route21BattleText7 ; TextBeforeBattle
+	dw Route21AfterBattleText7 ; TextAfterBattle
+	dw Route21EndBattleText7 ; TextEndBattle
+	dw Route21EndBattleText7 ; TextEndBattle
+
+Route21TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_7, 1
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_7, 1
+	dw Route21BattleText8 ; TextBeforeBattle
+	dw Route21AfterBattleText8 ; TextAfterBattle
+	dw Route21EndBattleText8 ; TextEndBattle
+	dw Route21EndBattleText8 ; TextEndBattle
+
+Route21TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_8, 1
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_8, 1
+	dw Route21BattleText9 ; TextBeforeBattle
+	dw Route21AfterBattleText9 ; TextAfterBattle
+	dw Route21EndBattleText9 ; TextEndBattle
+	dw Route21EndBattleText9 ; TextEndBattle
+
+	db $ff
+
+Route21Text1:
+	TX_ASM
+	ld hl, Route21TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text2:
+	TX_ASM
+	ld hl, Route21TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text3:
+	TX_ASM
+	ld hl, Route21TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text4:
+	TX_ASM
+	ld hl, Route21TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text5:
+	TX_ASM
+	ld hl, Route21TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text6:
+	TX_ASM
+	ld hl, Route21TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text7:
+	TX_ASM
+	ld hl, Route21TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text8:
+	TX_ASM
+	ld hl, Route21TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21Text9:
+	TX_ASM
+	ld hl, Route21TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route21BattleText1:
+	TX_FAR _Route21BattleText1
+	db "@"
+
+Route21EndBattleText1:
+	TX_FAR _Route21EndBattleText1
+	db "@"
+
+Route21AfterBattleText1:
+	TX_FAR _Route21AfterBattleText1
+	db "@"
+
+Route21BattleText2:
+	TX_FAR _Route21BattleText2
+	db "@"
+
+Route21EndBattleText2:
+	TX_FAR _Route21EndBattleText2
+	db "@"
+
+Route21AfterBattleText2:
+	TX_FAR _Route21AfterBattleText2
+	db "@"
+
+Route21BattleText3:
+	TX_FAR _Route21BattleText3
+	db "@"
+
+Route21EndBattleText3:
+	TX_FAR _Route21EndBattleText3
+	db "@"
+
+Route21AfterBattleText3:
+	TX_FAR _Route21AfterBattleText3
+	db "@"
+
+Route21BattleText4:
+	TX_FAR _Route21BattleText4
+	db "@"
+
+Route21EndBattleText4:
+	TX_FAR _Route21EndBattleText4
+	db "@"
+
+Route21AfterBattleText4:
+	TX_FAR _Route21AfterBattleText4
+	db "@"
+
+Route21BattleText5:
+	TX_FAR _Route21BattleText5
+	db "@"
+
+Route21EndBattleText5:
+	TX_FAR _Route21EndBattleText5
+	db "@"
+
+Route21AfterBattleText5:
+	TX_FAR _Route21AfterBattleText5
+	db "@"
+
+Route21BattleText6:
+	TX_FAR _Route21BattleText6
+	db "@"
+
+Route21EndBattleText6:
+	TX_FAR _Route21EndBattleText6
+	db "@"
+
+Route21AfterBattleText6:
+	TX_FAR _Route21AfterBattleText6
+	db "@"
+
+Route21BattleText7:
+	TX_FAR _Route21BattleText7
+	db "@"
+
+Route21EndBattleText7:
+	TX_FAR _Route21EndBattleText7
+	db "@"
+
+Route21AfterBattleText7:
+	TX_FAR _Route21AfterBattleText7
+	db "@"
+
+Route21BattleText8:
+	TX_FAR _Route21BattleText8
+	db "@"
+
+Route21EndBattleText8:
+	TX_FAR _Route21EndBattleText8
+	db "@"
+
+Route21AfterBattleText8:
+	TX_FAR _Route21AfterBattleText8
+	db "@"
+
+Route21BattleText9:
+	TX_FAR _Route21BattleText9
+	db "@"
+
+Route21EndBattleText9:
+	TX_FAR _Route21EndBattleText9
+	db "@"
+
+Route21AfterBattleText9:
+	TX_FAR _Route21AfterBattleText9
+	db "@"
--- /dev/null
+++ b/scripts/Route22.asm
@@ -1,0 +1,445 @@
+Route22_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route22_ScriptPointers
+	ld a, [wRoute22CurScript]
+	jp CallFunctionInTable
+
+Route22_ScriptPointers:
+	dw Route22Script0
+	dw Route22Script1
+	dw Route22Script2
+	dw Route22Script3
+	dw Route22Script4
+	dw Route22Script5
+	dw Route22Script6
+	dw Route22Script7
+
+Route22Script_50ece:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute22CurScript], a
+Route22Script7:
+	ret
+
+Route22Script_50ed6:
+	ld a, [wRivalStarter]
+	ld b, a
+.asm_50eda
+	ld a, [hli]
+	cp b
+	jr z, .asm_50ee1
+	inc hl
+	jr .asm_50eda
+.asm_50ee1
+	ld a, [hl]
+	ld [wTrainerNo], a
+	ret
+
+Route22MoveRivalSprite:
+	ld de, Route22RivalMovementData
+	ld a, [wcf0d]
+	cp $1
+	jr z, .asm_50ef1
+	inc de
+.asm_50ef1
+	call MoveSprite
+	ld a, SPRITE_FACING_RIGHT
+	ld [hSpriteFacingDirection], a
+	jp SetSpriteFacingDirectionAndDelay
+
+Route22RivalMovementData:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+Route22Script0:
+	CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE
+	ret z
+	ld hl, .Route22RivalBattleCoords
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, [wCoordIndex]
+	ld [wcf0d], a
+	xor a
+	ld [hJoyHeld], a
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, PLAYER_DIR_LEFT
+	ld [wPlayerMovingDirection], a
+	CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE
+	jr nz, .firstRivalBattle
+	CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE ; is this the rival at the end of the game?
+	jp nz, Route22Script_5104e
+	ret
+
+.Route22RivalBattleCoords
+	db $04, $1D
+	db $05, $1D
+	db $FF
+
+.firstRivalBattle
+	ld a, $1
+	ld [wEmotionBubbleSpriteIndex], a
+	xor a ; EXCLAMATION_BUBBLE
+	ld [wWhichEmotionBubble], a
+	predef EmotionBubble
+	ld a, [wWalkBikeSurfState]
+	and a
+	jr z, .asm_50f4e
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+.asm_50f4e
+	ld c, BANK(Music_MeetRival)
+	ld a, MUSIC_MEET_RIVAL
+	call PlayMusic
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call Route22MoveRivalSprite
+	ld a, $1
+	ld [wRoute22CurScript], a
+	ret
+
+Route22Script1:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, [wcf0d]
+	cp $1
+	jr nz, .asm_50f78
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	ld a, SPRITE_FACING_UP
+	jr .asm_50f7a
+.asm_50f78
+	ld a, SPRITE_FACING_RIGHT
+.asm_50f7a
+	ld [hSpriteFacingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call SetSpriteFacingDirectionAndDelay
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, Route22RivalDefeatedText1
+	ld de, Route22Text_511bc
+	call SaveEndBattleTextPointers
+	ld a, OPP_SONY1
+	ld [wCurOpponent], a
+	ld hl, StarterMons_50faf
+	call Route22Script_50ed6
+	ld a, $2
+	ld [wRoute22CurScript], a
+	ret
+
+StarterMons_50faf:
+; starter the rival picked, rival trainer number
+	db STARTER2,$04
+	db STARTER3,$05
+	db STARTER1,$06
+
+Route22Script2:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, Route22Script_50ece
+	ld a, [wSpriteStateData1 + 9]
+	and a ; cp SPRITE_FACING_DOWN
+	jr nz, .notDown
+	ld a, SPRITE_FACING_UP
+	jr .done
+.notDown
+	ld a, SPRITE_FACING_RIGHT
+.done
+	ld [hSpriteFacingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStart
+	ld a, [wcf0d]
+	cp $1
+	jr nz, .asm_50fff
+	call Route22Script_51008
+	jr .asm_51002
+.asm_50fff
+	call Route22Script_5100d
+.asm_51002
+	ld a, $3
+	ld [wRoute22CurScript], a
+	ret
+
+Route22Script_51008:
+	ld de, Route22RivalExitMovementData1
+	jr Route22MoveRival1
+
+Route22Script_5100d:
+	ld de, Route22RivalExitMovementData2
+Route22MoveRival1:
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	jp MoveSprite
+
+Route22RivalExitMovementData1:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+Route22RivalExitMovementData2:
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+Route22Script3:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, HS_ROUTE_22_RIVAL_1
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call PlayDefaultMusic
+	ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
+	ld a, $0
+	ld [wRoute22CurScript], a
+	ret
+
+Route22Script_5104e:
+	ld a, $2
+	ld [wEmotionBubbleSpriteIndex], a
+	xor a ; EXCLAMATION_BUBBLE
+	ld [wWhichEmotionBubble], a
+	predef EmotionBubble
+	ld a, [wWalkBikeSurfState]
+	and a
+	jr z, .skipYVisibilityTesta
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+.skipYVisibilityTesta
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateTempo
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	call Route22MoveRivalSprite
+	ld a, $4
+	ld [wRoute22CurScript], a
+	ret
+
+Route22Script4:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	ld a, [wcf0d]
+	cp $1
+	jr nz, .asm_510a1
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	ld a, SPRITE_FACING_UP
+	jr .asm_510a8
+.asm_510a1
+	ld a, PLAYER_DIR_LEFT
+	ld [wPlayerMovingDirection], a
+	ld a, SPRITE_FACING_RIGHT
+.asm_510a8
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, Route22RivalDefeatedText2
+	ld de, Route22Text_511d0
+	call SaveEndBattleTextPointers
+	ld a, OPP_SONY2
+	ld [wCurOpponent], a
+	ld hl, StarterMons_510d9
+	call Route22Script_50ed6
+	ld a, $5
+	ld [wRoute22CurScript], a
+	ret
+
+StarterMons_510d9:
+	db STARTER2,$0a
+	db STARTER3,$0b
+	db STARTER1,$0c
+
+Route22Script5:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, Route22Script_50ece
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	ld a, [wcf0d]
+	cp $1
+	jr nz, .asm_510fb
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	ld a, SPRITE_FACING_UP
+	jr .asm_51102
+.asm_510fb
+	ld a, PLAYER_DIR_LEFT
+	ld [wPlayerMovingDirection], a
+	ld a, SPRITE_FACING_RIGHT
+.asm_51102
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStartAndTempo
+	ld a, [wcf0d]
+	cp $1
+	jr nz, .asm_51134
+	call Route22Script_5113d
+	jr .asm_51137
+.asm_51134
+	call Route22Script_51142
+.asm_51137
+	ld a, $6
+	ld [wRoute22CurScript], a
+	ret
+
+Route22Script_5113d:
+	ld de, MovementData_5114c
+	jr Route22MoveRival2
+
+Route22Script_51142:
+	ld de, MovementData_5114d
+Route22MoveRival2:
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	jp MoveSprite
+
+MovementData_5114c:
+	db NPC_MOVEMENT_LEFT
+
+MovementData_5114d:
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_LEFT
+	db $FF
+
+Route22Script6:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, HS_ROUTE_22_RIVAL_2
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call PlayDefaultMusic
+	ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
+	ld a, $7
+	ld [wRoute22CurScript], a
+	ret
+
+Route22_TextPointers:
+	dw Route22Text1
+	dw Route22Text2
+	dw Route22FrontGateText
+
+Route22Text1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
+	jr z, .asm_5118b
+	ld hl, Route22RivalAfterBattleText1
+	call PrintText
+	jr .asm_51191
+.asm_5118b
+	ld hl, Route22RivalBeforeBattleText1
+	call PrintText
+.asm_51191
+	jp TextScriptEnd
+
+Route22Text2:
+	TX_ASM
+	CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE
+	jr z, .asm_511a4
+	ld hl, Route22RivalAfterBattleText2
+	call PrintText
+	jr .asm_511aa
+.asm_511a4
+	ld hl, Route22RivalBeforeBattleText2
+	call PrintText
+.asm_511aa
+	jp TextScriptEnd
+
+Route22RivalBeforeBattleText1:
+	TX_FAR _Route22RivalBeforeBattleText1
+	db "@"
+
+Route22RivalAfterBattleText1:
+	TX_FAR _Route22RivalAfterBattleText1
+	db "@"
+
+Route22RivalDefeatedText1:
+	TX_FAR _Route22RivalDefeatedText1
+	db "@"
+
+Route22Text_511bc:
+	TX_FAR _Route22Text_511bc
+	db "@"
+
+Route22RivalBeforeBattleText2:
+	TX_FAR _Route22RivalBeforeBattleText2
+	db "@"
+
+Route22RivalAfterBattleText2:
+	TX_FAR _Route22RivalAfterBattleText2
+	db "@"
+
+Route22RivalDefeatedText2:
+	TX_FAR _Route22RivalDefeatedText2
+	db "@"
+
+Route22Text_511d0:
+	TX_FAR _Route22Text_511d0
+	db "@"
+
+Route22FrontGateText:
+	TX_FAR _Route22FrontGateText
+	db "@"
--- /dev/null
+++ b/scripts/Route22Gate.asm
@@ -1,0 +1,93 @@
+Route22Gate_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route22Gate_ScriptPointers
+	ld a, [wRoute22GateCurScript]
+	call CallFunctionInTable
+	ld a, [wYCoord]
+	cp $4
+	ld a, ROUTE_23
+	jr c, .asm_1e69a
+	ld a, ROUTE_22
+.asm_1e69a
+	ld [wLastMap], a
+	ret
+
+Route22Gate_ScriptPointers:
+	dw Route22GateScript0
+	dw Route22GateScript1
+	dw Route22GateScript2
+
+Route22GateScript0:
+	ld hl, Route22GateScriptCoords
+	call ArePlayerCoordsInArray
+	ret nc
+	xor a
+	ld [hJoyHeld], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+Route22GateScriptCoords:
+	db 2,4
+	db 2,5
+	db $ff
+
+Route22GateScript_1e6ba:
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_DOWN
+	ld [wSimulatedJoypadStatesEnd], a
+	ld [wSpriteStateData1 + 9], a
+	ld [wJoyIgnore], a
+	jp StartSimulatingJoypadStates
+
+Route22GateScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	call Delay3
+	ld a, $0
+	ld [wRoute22GateCurScript], a
+Route22GateScript2:
+	ret
+
+Route22Gate_TextPointers:
+	dw Route22GateText1
+
+Route22GateText1:
+	TX_ASM
+	ld a, [wObtainedBadges]
+	bit 0, a
+	jr nz, .asm_1e6f6
+	ld hl, Route22GateText_1e704
+	call PrintText
+	call Route22GateScript_1e6ba
+	ld a, $1
+	jr .asm_1e6fe
+.asm_1e6f6
+	ld hl, Route22GateText_1e71a
+	call PrintText
+	ld a, $2
+.asm_1e6fe
+	ld [wRoute22GateCurScript], a
+	jp TextScriptEnd
+
+Route22GateText_1e704:
+	TX_FAR _Route22GateText_1e704
+	TX_ASM
+	ld a, SFX_DENIED
+	call PlaySoundWaitForCurrent
+	call WaitForSoundToFinish
+	ld hl, Route22GateText_1e715
+	ret
+
+Route22GateText_1e715:
+	TX_FAR _Route22GateText_1e715
+	db "@"
+
+Route22GateText_1e71a:
+	TX_FAR _Route22GateText_1e71a
+	TX_SFX_ITEM_1
+	db "@"
--- /dev/null
+++ b/scripts/Route23.asm
@@ -1,0 +1,236 @@
+Route23_Script:
+	call Route23Script_511e9
+	call EnableAutoTextBoxDrawing
+	ld hl, Route23_ScriptPointers
+	ld a, [wRoute23CurScript]
+	jp CallFunctionInTable
+
+Route23Script_511e9:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	ret z
+	ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2
+	ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
+	ld a, HS_VICTORY_ROAD_3F_BOULDER
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	ld a, HS_VICTORY_ROAD_2F_BOULDER
+	ld [wMissableObjectIndex], a
+	predef_jump HideObject
+
+Route23_ScriptPointers:
+	dw Route23Script0
+	dw Route23Script1
+	dw Route23Script2
+
+Route23Script0:
+	ld hl, YCoordsData_51255
+	ld a, [wYCoord]
+	ld b, a
+	ld e, $0
+	EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK
+.asm_51224
+	ld a, [hli]
+	cp $ff
+	ret z
+	inc e
+	dec c
+	cp b
+	jr nz, .asm_51224
+	cp $23
+	jr nz, .asm_51237
+	ld a, [wXCoord]
+	cp $e
+	ret nc
+.asm_51237
+	ld a, e
+	ld [hSpriteIndexOrTextID], a
+	ld a, c
+	ld [wWhichBadge], a
+	ld b, FLAG_TEST
+	EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK
+	predef FlagActionPredef
+	ld a, c
+	and a
+	ret nz
+	call Route23Script_5125d
+	call DisplayTextID
+	xor a
+	ld [hJoyHeld], a
+	ret
+
+YCoordsData_51255:
+	db $23,$38,$55,$60,$69,$77,$88,$FF
+
+Route23Script_5125d:
+	ld hl, BadgeTextPointers
+	ld a, [wWhichBadge]
+	ld c, a
+	ld b, 0
+	add hl, bc
+	add hl, bc
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld de, wcd6d
+.copyTextLoop
+	ld a, [hli]
+	ld [de], a
+	inc de
+	cp "@"
+	jr nz, .copyTextLoop
+	ret
+
+BadgeTextPointers:
+	dw CascadeBadgeText
+	dw ThunderBadgeText
+	dw RainbowBadgeText
+	dw SoulBadgeText
+	dw MarshBadgeText
+	dw VolcanoBadgeText
+	dw EarthBadgeText
+
+EarthBadgeText:
+	db "EARTHBADGE@"
+
+VolcanoBadgeText:
+	db "VOLCANOBADGE@"
+
+MarshBadgeText:
+	db "MARSHBADGE@"
+
+SoulBadgeText:
+	db "SOULBADGE@"
+
+RainbowBadgeText:
+	db "RAINBOWBADGE@"
+
+ThunderBadgeText:
+	db "THUNDERBADGE@"
+
+CascadeBadgeText:
+	db "CASCADEBADGE@"
+
+Route23Script_512d8:
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_DOWN
+	ld [wSimulatedJoypadStatesEnd], a
+	xor a
+	ld [wSpriteStateData1 + 9], a
+	ld [wJoyIgnore], a
+	jp StartSimulatingJoypadStates
+
+Route23Script1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+Route23Script2:
+	ld a, $0
+	ld [wRoute23CurScript], a
+	ret
+
+Route23_TextPointers:
+	dw Route23Text1
+	dw Route23Text2
+	dw Route23Text3
+	dw Route23Text4
+	dw Route23Text5
+	dw Route23Text6
+	dw Route23Text7
+	dw Route23Text8
+
+Route23Text1:
+	TX_ASM
+	EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
+	call Route23Script_51346
+	jp TextScriptEnd
+
+Route23Text2:
+	TX_ASM
+	EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
+	call Route23Script_51346
+	jp TextScriptEnd
+
+Route23Text3:
+	TX_ASM
+	EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
+	call Route23Script_51346
+	jp TextScriptEnd
+
+Route23Text4:
+	TX_ASM
+	EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
+	call Route23Script_51346
+	jp TextScriptEnd
+
+Route23Text5:
+	TX_ASM
+	EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
+	call Route23Script_51346
+	jp TextScriptEnd
+
+Route23Text6:
+	TX_ASM
+	EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
+	call Route23Script_51346
+	jp TextScriptEnd
+
+Route23Text7:
+	TX_ASM
+	EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK
+	call Route23Script_51346
+	jp TextScriptEnd
+
+Route23Script_51346:
+	ld [wWhichBadge], a
+	call Route23Script_5125d
+	ld a, [wWhichBadge]
+	inc a
+	ld c, a
+	ld b, FLAG_TEST
+	ld hl, wObtainedBadges
+	predef FlagActionPredef
+	ld a, c
+	and a
+	jr nz, .asm_5136e
+	ld hl, VictoryRoadGuardText1
+	call PrintText
+	call Route23Script_512d8
+	ld a, $1
+	ld [wRoute23CurScript], a
+	ret
+.asm_5136e
+	ld hl, VictoryRoadGuardText2
+	call PrintText
+	ld a, [wWhichBadge]
+	ld c, a
+	ld b, FLAG_SET
+	EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK
+	predef FlagActionPredef
+	ld a, $2
+	ld [wRoute23CurScript], a
+	ret
+
+Route23Script_51388:
+	ld hl, VictoryRoadGuardText2
+	jp PrintText
+
+VictoryRoadGuardText1:
+	TX_FAR _VictoryRoadGuardText1
+	TX_ASM
+	ld a, SFX_DENIED
+	call PlaySoundWaitForCurrent
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+VictoryRoadGuardText2:
+	TX_FAR _VictoryRoadGuardText2
+	TX_SFX_ITEM_1
+	TX_FAR _VictoryRoadGuardText_513a3
+	db "@"
+
+Route23Text8:
+	TX_FAR _Route23Text8
+	db "@"
--- /dev/null
+++ b/scripts/Route24.asm
@@ -1,0 +1,319 @@
+Route24_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route24TrainerHeader0
+	ld de, Route24_ScriptPointers
+	ld a, [wRoute24CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute24CurScript], a
+	ret
+
+Route24Script_513c0:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute24CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route24_ScriptPointers:
+	dw Route24Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw Route24Script3
+	dw Route24Script4
+
+Route24Script0:
+	CheckEvent EVENT_GOT_NUGGET
+	jp nz, CheckFightingMapTrainers
+	ld hl, CoordsData_5140e
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	xor a
+	ld [hJoyHeld], a
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE
+	ret z
+	ld a, D_DOWN
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $4
+	ld [wRoute24CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+CoordsData_5140e:
+	db $0F,$0A,$FF
+
+Route24Script4:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	ld a, $0
+	ld [wRoute24CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route24Script3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, Route24Script_513c0
+	call UpdateSprites
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_ROUTE24_ROCKET
+	ld a, $1
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wRoute24CurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route24_TextPointers:
+	dw Route24Text1
+	dw Route24Text2
+	dw Route24Text3
+	dw Route24Text4
+	dw Route24Text5
+	dw Route24Text6
+	dw Route24Text7
+	dw PickUpItemText
+
+Route24TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0
+	dw Route24BattleText1 ; TextBeforeBattle
+	dw Route24AfterBattleText1 ; TextAfterBattle
+	dw Route24EndBattleText1 ; TextEndBattle
+	dw Route24EndBattleText1 ; TextEndBattle
+
+Route24TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_1
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_1
+	dw Route24BattleText2 ; TextBeforeBattle
+	dw Route24AfterBattleText2 ; TextAfterBattle
+	dw Route24EndBattleText2 ; TextEndBattle
+	dw Route24EndBattleText2 ; TextEndBattle
+
+Route24TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2
+	dw Route24BattleText3 ; TextBeforeBattle
+	dw Route24AfterBattleText3 ; TextAfterBattle
+	dw Route24EndBattleText3 ; TextEndBattle
+	dw Route24EndBattleText3 ; TextEndBattle
+
+Route24TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3
+	dw Route24BattleText4 ; TextBeforeBattle
+	dw Route24AfterBattleText4 ; TextAfterBattle
+	dw Route24EndBattleText4 ; TextEndBattle
+	dw Route24EndBattleText4 ; TextEndBattle
+
+Route24TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4
+	dw Route24BattleText5 ; TextBeforeBattle
+	dw Route24AfterBattleText5 ; TextAfterBattle
+	dw Route24EndBattleText5 ; TextEndBattle
+	dw Route24EndBattleText5 ; TextEndBattle
+
+Route24TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5
+	dw Route24BattleText6 ; TextBeforeBattle
+	dw Route24AfterBattleText6 ; TextAfterBattle
+	dw Route24EndBattleText6 ; TextEndBattle
+	dw Route24EndBattleText6 ; TextEndBattle
+
+	db $ff
+
+Route24Text1:
+	TX_ASM
+	ResetEvent EVENT_NUGGET_REWARD_AVAILABLE
+	CheckEvent EVENT_GOT_NUGGET
+	jr nz, .asm_514f9
+	ld hl, Route24Text_51510
+	call PrintText
+	lb bc, NUGGET, 1
+	call GiveItem
+	jr nc, .BagFull
+	SetEvent EVENT_GOT_NUGGET
+	ld hl, Route24Text_5151a
+	call PrintText
+	ld hl, Route24Text_51526
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, Route24Text_5152b
+	ld de, Route24Text_5152b
+	call SaveEndBattleTextPointers
+	ld a, [hSpriteIndexOrTextID]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	xor a
+	ld [hJoyHeld], a
+	ld a, $3
+	ld [wRoute24CurScript], a
+	ld [wCurMapScript], a
+	jp TextScriptEnd
+.asm_514f9
+	ld hl, Route24Text_51530
+	call PrintText
+	jp TextScriptEnd
+.BagFull
+	ld hl, Route24Text_51521
+	call PrintText
+	SetEvent EVENT_NUGGET_REWARD_AVAILABLE
+	jp TextScriptEnd
+
+Route24Text_51510:
+	TX_FAR _Route24Text_51510
+	TX_SFX_ITEM_1
+	TX_FAR _Route24Text_51515
+	db "@"
+
+Route24Text_5151a:
+	TX_FAR _Route24Text_5151a
+	TX_SFX_ITEM_1
+	TX_BLINK
+	db "@"
+
+Route24Text_51521:
+	TX_FAR _Route24Text_51521
+	db "@"
+
+Route24Text_51526:
+	TX_FAR _Route24Text_51526
+	db "@"
+
+Route24Text_5152b:
+	TX_FAR _Route24Text_5152b
+	db "@"
+
+Route24Text_51530:
+	TX_FAR _Route24Text_51530
+	db "@"
+
+Route24Text2:
+	TX_ASM
+	ld hl, Route24TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route24Text3:
+	TX_ASM
+	ld hl, Route24TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route24Text4:
+	TX_ASM
+	ld hl, Route24TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route24Text5:
+	TX_ASM
+	ld hl, Route24TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route24Text6:
+	TX_ASM
+	ld hl, Route24TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route24Text7:
+	TX_ASM
+	ld hl, Route24TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route24BattleText1:
+	TX_FAR _Route24BattleText1
+	db "@"
+
+Route24EndBattleText1:
+	TX_FAR _Route24EndBattleText1
+	db "@"
+
+Route24AfterBattleText1:
+	TX_FAR _Route24AfterBattleText1
+	db "@"
+
+Route24BattleText2:
+	TX_FAR _Route24BattleText2
+	db "@"
+
+Route24EndBattleText2:
+	TX_FAR _Route24EndBattleText2
+	db "@"
+
+Route24AfterBattleText2:
+	TX_FAR _Route24AfterBattleText2
+	db "@"
+
+Route24BattleText3:
+	TX_FAR _Route24BattleText3
+	db "@"
+
+Route24EndBattleText3:
+	TX_FAR _Route24EndBattleText3
+	db "@"
+
+Route24AfterBattleText3:
+	TX_FAR _Route24AfterBattleText3
+	db "@"
+
+Route24BattleText4:
+	TX_FAR _Route24BattleText4
+	db "@"
+
+Route24EndBattleText4:
+	TX_FAR _Route24EndBattleText4
+	db "@"
+
+Route24AfterBattleText4:
+	TX_FAR _Route24AfterBattleText4
+	db "@"
+
+Route24BattleText5:
+	TX_FAR _Route24BattleText5
+	db "@"
+
+Route24EndBattleText5:
+	TX_FAR _Route24EndBattleText5
+	db "@"
+
+Route24AfterBattleText5:
+	TX_FAR _Route24AfterBattleText5
+	db "@"
+
+Route24BattleText6:
+	TX_FAR _Route24BattleText6
+	db "@"
+
+Route24EndBattleText6:
+	TX_FAR _Route24EndBattleText6
+	db "@"
+
+Route24AfterBattleText6:
+	TX_FAR _Route24AfterBattleText6
+	db "@"
--- /dev/null
+++ b/scripts/Route25.asm
@@ -1,0 +1,303 @@
+Route25_Script:
+	call Route25Script_515e1
+	call EnableAutoTextBoxDrawing
+	ld hl, Route25TrainerHeader0
+	ld de, Route25_ScriptPointers
+	ld a, [wRoute25CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute25CurScript], a
+	ret
+
+Route25Script_515e1:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	ret z
+	CheckEventHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING
+	ret nz
+	CheckEventReuseHL EVENT_MET_BILL_2
+	jr nz, .asm_515ff
+	ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR
+	ld a, HS_BILL_POKEMON
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+.asm_515ff
+	CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2
+	ret z
+	SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING
+	ld a, HS_NUGGET_BRIDGE_GUY
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_BILL_1
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_BILL_2
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+
+Route25_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route25_TextPointers:
+	dw Route25Text1
+	dw Route25Text2
+	dw Route25Text3
+	dw Route25Text4
+	dw Route25Text5
+	dw Route25Text6
+	dw Route25Text7
+	dw Route25Text8
+	dw Route25Text9
+	dw PickUpItemText
+	dw Route25Text11
+
+Route25TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_0
+	dw Route25BattleText1 ; TextBeforeBattle
+	dw Route25AfterBattleText1 ; TextAfterBattle
+	dw Route25EndBattleText1 ; TextEndBattle
+	dw Route25EndBattleText1 ; TextEndBattle
+
+Route25TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_1
+	dw Route25BattleText2 ; TextBeforeBattle
+	dw Route25AfterBattleText2 ; TextAfterBattle
+	dw Route25EndBattleText2 ; TextEndBattle
+	dw Route25EndBattleText2 ; TextEndBattle
+
+Route25TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_2
+	dw Route25BattleText3 ; TextBeforeBattle
+	dw Route25AfterBattleText3 ; TextAfterBattle
+	dw Route25EndBattleText3 ; TextEndBattle
+	dw Route25EndBattleText3 ; TextEndBattle
+
+Route25TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_3
+	dw Route25BattleText4 ; TextBeforeBattle
+	dw Route25AfterBattleText4 ; TextAfterBattle
+	dw Route25EndBattleText4 ; TextEndBattle
+	dw Route25EndBattleText4 ; TextEndBattle
+
+Route25TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_4
+	dw Route25BattleText5 ; TextBeforeBattle
+	dw Route25AfterBattleText5 ; TextAfterBattle
+	dw Route25EndBattleText5 ; TextEndBattle
+	dw Route25EndBattleText5 ; TextEndBattle
+
+Route25TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_5
+	dw Route25BattleText6 ; TextBeforeBattle
+	dw Route25AfterBattleText6 ; TextAfterBattle
+	dw Route25EndBattleText6 ; TextEndBattle
+	dw Route25EndBattleText6 ; TextEndBattle
+
+Route25TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_6
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_6
+	dw Route25BattleText7 ; TextBeforeBattle
+	dw Route25AfterBattleText7 ; TextAfterBattle
+	dw Route25EndBattleText7 ; TextEndBattle
+	dw Route25EndBattleText7 ; TextEndBattle
+
+Route25TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_7, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_7, 1
+	dw Route25BattleText8 ; TextBeforeBattle
+	dw Route25AfterBattleText8 ; TextAfterBattle
+	dw Route25EndBattleText8 ; TextEndBattle
+	dw Route25EndBattleText8 ; TextEndBattle
+
+Route25TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_8, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_8, 1
+	dw Route25BattleText9 ; TextBeforeBattle
+	dw Route25AfterBattleText9 ; TextAfterBattle
+	dw Route25EndBattleText9 ; TextEndBattle
+	dw Route25EndBattleText9 ; TextEndBattle
+
+	db $ff
+
+Route25Text1:
+	TX_ASM
+	ld hl, Route25TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text2:
+	TX_ASM
+	ld hl, Route25TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text3:
+	TX_ASM
+	ld hl, Route25TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text4:
+	TX_ASM
+	ld hl, Route25TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text5:
+	TX_ASM
+	ld hl, Route25TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text6:
+	TX_ASM
+	ld hl, Route25TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text7:
+	TX_ASM
+	ld hl, Route25TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text8:
+	TX_ASM
+	ld hl, Route25TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25Text9:
+	TX_ASM
+	ld hl, Route25TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route25BattleText1:
+	TX_FAR _Route25BattleText1
+	db "@"
+
+Route25EndBattleText1:
+	TX_FAR _Route25EndBattleText1
+	db "@"
+
+Route25AfterBattleText1:
+	TX_FAR _Route25AfterBattleText1
+	db "@"
+
+Route25BattleText2:
+	TX_FAR _Route25BattleText2
+	db "@"
+
+Route25EndBattleText2:
+	TX_FAR _Route25EndBattleText2
+	db "@"
+
+Route25AfterBattleText2:
+	TX_FAR _Route25AfterBattleText2
+	db "@"
+
+Route25BattleText3:
+	TX_FAR _Route25BattleText3
+	db "@"
+
+Route25EndBattleText3:
+	TX_FAR _Route25EndBattleText3
+	db "@"
+
+Route25AfterBattleText3:
+	TX_FAR _Route25AfterBattleText3
+	db "@"
+
+Route25BattleText4:
+	TX_FAR _Route25BattleText4
+	db "@"
+
+Route25EndBattleText4:
+	TX_FAR _Route25EndBattleText4
+	db "@"
+
+Route25AfterBattleText4:
+	TX_FAR _Route25AfterBattleText4
+	db "@"
+
+Route25BattleText5:
+	TX_FAR _Route25BattleText5
+	db "@"
+
+Route25EndBattleText5:
+	TX_FAR _Route25EndBattleText5
+	db "@"
+
+Route25AfterBattleText5:
+	TX_FAR _Route25AfterBattleText5
+	db "@"
+
+Route25BattleText6:
+	TX_FAR _Route25BattleText6
+	db "@"
+
+Route25EndBattleText6:
+	TX_FAR _Route25EndBattleText6
+	db "@"
+
+Route25AfterBattleText6:
+	TX_FAR _Route25AfterBattleText6
+	db "@"
+
+Route25BattleText7:
+	TX_FAR _Route25BattleText7
+	db "@"
+
+Route25EndBattleText7:
+	TX_FAR _Route25EndBattleText7
+	db "@"
+
+Route25AfterBattleText7:
+	TX_FAR _Route25AfterBattleText7
+	db "@"
+
+Route25BattleText8:
+	TX_FAR _Route25BattleText8
+	db "@"
+
+Route25EndBattleText8:
+	TX_FAR _Route25EndBattleText8
+	db "@"
+
+Route25AfterBattleText8:
+	TX_FAR _Route25AfterBattleText8
+	db "@"
+
+Route25BattleText9:
+	TX_FAR _Route25BattleText9
+	db "@"
+
+Route25EndBattleText9:
+	TX_FAR _Route25EndBattleText9
+	db "@"
+
+Route25AfterBattleText9:
+	TX_FAR _Route25AfterBattleText9
+	db "@"
+
+Route25Text11:
+	TX_FAR _Route25Text11
+	db "@"
--- /dev/null
+++ b/scripts/Route2Gate.asm
@@ -1,0 +1,39 @@
+Route2Gate_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route2Gate_TextPointers:
+	dw Route2GateText1
+	dw Route2GateText2
+
+Route2GateText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_HM05
+	jr nz, .asm_5d60d
+	ld a, 10 ; pokemon needed
+	ld [hOaksAideRequirement], a
+	ld a, HM_05 ; oak's aide reward
+	ld [hOaksAideRewardItem], a
+	ld [wd11e], a
+	call GetItemName
+	ld hl, wcd6d
+	ld de, wOaksAideRewardItemName
+	ld bc, ITEM_NAME_LENGTH
+	call CopyData
+	predef OaksAideScript
+	ld a, [hOaksAideResult]
+	cp $1
+	jr nz, .asm_5d613
+	SetEvent EVENT_GOT_HM05
+.asm_5d60d
+	ld hl, Route2GateText_5d616
+	call PrintText
+.asm_5d613
+	jp TextScriptEnd
+
+Route2GateText_5d616:
+	TX_FAR _Route2GateText_5d616
+	db "@"
+
+Route2GateText2:
+	TX_FAR _Route2GateText2
+	db "@"
--- /dev/null
+++ b/scripts/Route2TradeHouse.asm
@@ -1,0 +1,17 @@
+Route2TradeHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route2TradeHouse_TextPointers:
+	dw Route2HouseText1
+	dw Route2HouseText2
+
+Route2HouseText1:
+	TX_FAR _Route2HouseText1
+	db "@"
+
+Route2HouseText2:
+	TX_ASM
+	ld a, $1
+	ld [wWhichTrade], a
+	predef DoInGameTradeDialogue
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/Route3.asm
@@ -1,0 +1,251 @@
+Route3_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route3TrainerHeader0
+	ld de, Route3_ScriptPointers
+	ld a, [wRoute3CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute3CurScript], a
+	ret
+
+Route3_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route3_TextPointers:
+	dw Route3Text1
+	dw Route3Text2
+	dw Route3Text3
+	dw Route3Text4
+	dw Route3Text5
+	dw Route3Text6
+	dw Route3Text7
+	dw Route3Text8
+	dw Route3Text9
+	dw Route3Text10
+
+Route3TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_0
+	dw Route3BattleText1 ; TextBeforeBattle
+	dw Route3AfterBattleText1 ; TextAfterBattle
+	dw Route3EndBattleText1 ; TextEndBattle
+	dw Route3EndBattleText1 ; TextEndBattle
+
+Route3TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_1
+	dw Route3BattleText2 ; TextBeforeBattle
+	dw Route3AfterBattleText2 ; TextAfterBattle
+	dw Route3EndBattleText2 ; TextEndBattle
+	dw Route3EndBattleText2 ; TextEndBattle
+
+Route3TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_2
+	dw Route3BattleText3 ; TextBeforeBattle
+	dw Route3AfterBattleText3 ; TextAfterBattle
+	dw Route3EndBattleText3 ; TextEndBattle
+	dw Route3EndBattleText3 ; TextEndBattle
+
+Route3TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_3
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_3
+	dw Route3BattleText4 ; TextBeforeBattle
+	dw Route3AfterBattleText4 ; TextAfterBattle
+	dw Route3EndBattleText4 ; TextEndBattle
+	dw Route3EndBattleText4 ; TextEndBattle
+
+Route3TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_4
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_4
+	dw Route3BattleText5 ; TextBeforeBattle
+	dw Route3AfterBattleText5 ; TextAfterBattle
+	dw Route3EndBattleText5 ; TextEndBattle
+	dw Route3EndBattleText5 ; TextEndBattle
+
+Route3TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_5
+	dw Route3BattleText6 ; TextBeforeBattle
+	dw Route3AfterBattleText6 ; TextAfterBattle
+	dw Route3EndBattleText6 ; TextEndBattle
+	dw Route3EndBattleText6 ; TextEndBattle
+
+Route3TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_6, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_6, 1
+	dw Route3BattleText7 ; TextBeforeBattle
+	dw Route3AfterBattleText7 ; TextAfterBattle
+	dw Route3EndBattleText7 ; TextEndBattle
+	dw Route3EndBattleText7 ; TextEndBattle
+
+Route3TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_7, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_7, 1
+	dw Route3BattleText8 ; TextBeforeBattle
+	dw Route3AfterBattleText8 ; TextAfterBattle
+	dw Route3EndBattleText8 ; TextEndBattle
+	dw Route3EndBattleText8 ; TextEndBattle
+
+	db $ff
+
+Route3Text1:
+	TX_FAR _Route3Text1
+	db "@"
+
+Route3Text2:
+	TX_ASM
+	ld hl, Route3TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText1:
+	TX_FAR _Route3BattleText1
+	db "@"
+
+Route3EndBattleText1:
+	TX_FAR _Route3EndBattleText1
+	db "@"
+
+Route3AfterBattleText1:
+	TX_FAR _Route3AfterBattleText1
+	db "@"
+
+Route3Text3:
+	TX_ASM
+	ld hl, Route3TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText2:
+	TX_FAR _Route3BattleText2
+	db "@"
+
+Route3EndBattleText2:
+	TX_FAR _Route3EndBattleText2
+	db "@"
+
+Route3AfterBattleText2:
+	TX_FAR _Route3AfterBattleText2
+	db "@"
+
+Route3Text4:
+	TX_ASM
+	ld hl, Route3TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText3:
+	TX_FAR _Route3BattleText3
+	db "@"
+
+Route3EndBattleText3:
+	TX_FAR _Route3EndBattleText3
+	db "@"
+
+Route3AfterBattleText3:
+	TX_FAR _Route3AfterBattleText3
+	db "@"
+
+Route3Text5:
+	TX_ASM
+	ld hl, Route3TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText4:
+	TX_FAR _Route3BattleText4
+	db "@"
+
+Route3EndBattleText4:
+	TX_FAR _Route3EndBattleText4
+	db "@"
+
+Route3AfterBattleText4:
+	TX_FAR _Route3AfterBattleText4
+	db "@"
+
+Route3Text6:
+	TX_ASM
+	ld hl, Route3TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText5:
+	TX_FAR _Route3BattleText5
+	db "@"
+
+Route3EndBattleText5:
+	TX_FAR _Route3EndBattleText5
+	db "@"
+
+Route3AfterBattleText5:
+	TX_FAR _Route3AfterBattleText5
+	db "@"
+
+Route3Text7:
+	TX_ASM
+	ld hl, Route3TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText6:
+	TX_FAR _Route3BattleText6
+	db "@"
+
+Route3EndBattleText6:
+	TX_FAR _Route3EndBattleText6
+	db "@"
+
+Route3AfterBattleText6:
+	TX_FAR _Route3AfterBattleText6
+	db "@"
+
+Route3Text8:
+	TX_ASM
+	ld hl, Route3TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText7:
+	TX_FAR _Route3BattleText7
+	db "@"
+
+Route3EndBattleText7:
+	TX_FAR _Route3EndBattleText7
+	db "@"
+
+Route3AfterBattleText7:
+	TX_FAR _Route3AfterBattleText7
+	db "@"
+
+Route3Text9:
+	TX_ASM
+	ld hl, Route3TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route3BattleText8:
+	TX_FAR _Route3BattleText8
+	db "@"
+
+Route3EndBattleText8:
+	TX_FAR _Route3EndBattleText8
+	db "@"
+
+Route3AfterBattleText8:
+	TX_FAR _Route3AfterBattleText8
+	db "@"
+
+Route3Text10:
+	TX_FAR _Route3Text10
+	db "@"
--- /dev/null
+++ b/scripts/Route4.asm
@@ -1,0 +1,62 @@
+Route4_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route4TrainerHeader0
+	ld de, Route4_ScriptPointers
+	ld a, [wRoute4CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute4CurScript], a
+	ret
+
+Route4_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route4_TextPointers:
+	dw Route4Text1
+	dw Route4Text2
+	dw PickUpItemText
+	dw PokeCenterSignText
+	dw Route4Text5
+	dw Route4Text6
+
+Route4TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_4_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_4_TRAINER_0
+	dw Route4BattleText1 ; TextBeforeBattle
+	dw Route4AfterBattleText1 ; TextAfterBattle
+	dw Route4EndBattleText1 ; TextEndBattle
+	dw Route4EndBattleText1 ; TextEndBattle
+
+	db $ff
+
+Route4Text1:
+	TX_FAR _Route4Text1
+	db "@"
+
+Route4Text2:
+	TX_ASM
+	ld hl, Route4TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route4BattleText1:
+	TX_FAR _Route4BattleText1
+	db "@"
+
+Route4EndBattleText1:
+	TX_FAR _Route4EndBattleText1
+	db "@"
+
+Route4AfterBattleText1:
+	TX_FAR _Route4AfterBattleText1
+	db "@"
+
+Route4Text5:
+	TX_FAR _Route4Text5
+	db "@"
+
+Route4Text6:
+	TX_FAR _Route4Text6
+	db "@"
--- /dev/null
+++ b/scripts/Route5.asm
@@ -1,0 +1,9 @@
+Route5_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route5_TextPointers:
+	dw Route5Text1
+
+Route5Text1:
+	TX_FAR _Route5Text1
+	db "@"
--- /dev/null
+++ b/scripts/Route5Gate.asm
@@ -1,0 +1,117 @@
+Route5Gate_Script:
+	call EnableAutoTextBoxDrawing
+	ld a, [wRoute5GateCurScript]
+	ld hl, Route5Gate_ScriptPointers
+	jp CallFunctionInTable
+
+Route5Gate_ScriptPointers:
+	dw Route5GateScript0
+	dw Route5GateScript1
+
+Route5GateScript_1df43:
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	jp StartSimulatingJoypadStates
+
+Route5GateScript0:
+	ld a, [wd728]
+	bit 6, a
+	ret nz
+	ld hl, CoordsData_1df8f
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, PLAYER_DIR_LEFT
+	ld [wPlayerMovingDirection], a
+	xor a
+	ld [hJoyHeld], a
+	callba RemoveGuardDrink
+	ld a, [$ffdb]
+	and a
+	jr nz, .asm_1df82
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Route5GateScript_1df43
+	ld a, $1
+	ld [wRoute5GateCurScript], a
+	ret
+.asm_1df82
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld hl, wd728
+	set 6, [hl]
+	ret
+
+CoordsData_1df8f:
+	db 3,3
+	db 3,4
+	db $ff
+
+Route5GateScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute5GateCurScript], a
+	ret
+
+Route5Gate_TextPointers:
+	dw Route5GateText1
+	dw Route5GateText2
+	dw Route5GateText3
+
+Route8GateText1:
+Route7GateText1:
+Route6GateText1:
+Route5GateText1:
+	TX_ASM
+	ld a, [wd728]
+	bit 6, a
+	jr nz, .asm_88856
+	callba RemoveGuardDrink
+	ld a, [$ffdb]
+	and a
+	jr nz, .asm_768a2
+	ld hl, Route5GateText2
+	call PrintText
+	call Route5GateScript_1df43
+	ld a, $1
+	ld [wRoute5GateCurScript], a
+	jp TextScriptEnd
+.asm_768a2
+	ld hl, Route5GateText3
+	call PrintText
+	ld hl, wd728
+	set 6, [hl]
+	jp TextScriptEnd
+.asm_88856
+	ld hl, SaffronGateText_1dff6
+	call PrintText
+	jp TextScriptEnd
+
+Route8GateText2:
+Route7GateText2:
+Route6GateText2:
+Route5GateText2:
+	TX_FAR _SaffronGateText_1dfe7
+	db "@"
+
+Route8GateText3:
+Route7GateText3:
+Route6GateText3:
+Route5GateText3:
+	TX_FAR _SaffronGateText_8aaa9
+	TX_SFX_KEY_ITEM
+	TX_FAR _SaffronGateText_1dff1
+	db "@"
+
+SaffronGateText_1dff6:
+	TX_FAR _SaffronGateText_1dff6
+	db "@"
+
+
--- /dev/null
+++ b/scripts/Route6.asm
@@ -1,0 +1,186 @@
+Route6_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route6TrainerHeader0
+	ld de, Route6_ScriptPointers
+	ld a, [wRoute6CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute6CurScript], a
+	ret
+
+Route6_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route6_TextPointers:
+	dw Route6Text1
+	dw Route6Text2
+	dw Route6Text3
+	dw Route6Text4
+	dw Route6Text5
+	dw Route6Text6
+	dw Route6Text7
+
+Route6TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_0
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_0
+	dw Route6BattleText1 ; TextBeforeBattle
+	dw Route6AfterBattleText1 ; TextAfterBattle
+	dw Route6EndBattleText1 ; TextEndBattle
+	dw Route6EndBattleText1 ; TextEndBattle
+
+Route6TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_1
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_1
+	dw Route6BattleText2 ; TextBeforeBattle
+	dw Route6AfterBattleText1 ; TextAfterBattle
+	dw Route6EndBattleText2 ; TextEndBattle
+	dw Route6EndBattleText2 ; TextEndBattle
+
+Route6TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_2
+	dw Route6BattleText3 ; TextBeforeBattle
+	dw Route6AfterBattleText3 ; TextAfterBattle
+	dw Route6EndBattleText3 ; TextEndBattle
+	dw Route6EndBattleText3 ; TextEndBattle
+
+Route6TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_3
+	dw Route6BattleText4 ; TextBeforeBattle
+	dw Route6AfterBattleText4 ; TextAfterBattle
+	dw Route6EndBattleText4 ; TextEndBattle
+	dw Route6EndBattleText4 ; TextEndBattle
+
+Route6TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_4
+	dw Route6BattleText5 ; TextBeforeBattle
+	dw Route6AfterBattleText5 ; TextAfterBattle
+	dw Route6EndBattleText5 ; TextEndBattle
+	dw Route6EndBattleText5 ; TextEndBattle
+
+Route6TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_5
+	dw Route6BattleText6 ; TextBeforeBattle
+	dw Route6AfterBattleText6 ; TextAfterBattle
+	dw Route6EndBattleText6 ; TextEndBattle
+	dw Route6EndBattleText6 ; TextEndBattle
+
+	db $ff
+
+Route6Text1:
+	TX_ASM
+	ld hl, Route6TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route6BattleText1:
+	TX_FAR _Route6BattleText1
+	db "@"
+
+Route6EndBattleText1:
+	TX_FAR _Route6EndBattleText1
+	db "@"
+
+Route6AfterBattleText1:
+	TX_FAR _Route6AfterBattleText1
+	db "@"
+
+Route6Text2:
+	TX_ASM
+	ld hl, Route6TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route6BattleText2:
+	TX_FAR _Route6BattleText2
+	db "@"
+
+Route6EndBattleText2:
+	TX_FAR _Route6EndBattleText2
+	db "@"
+
+Route6Text3:
+	TX_ASM
+	ld hl, Route6TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route6BattleText3:
+	TX_FAR _Route6BattleText3
+	db "@"
+
+Route6EndBattleText3:
+	TX_FAR _Route6EndBattleText3
+	db "@"
+
+Route6AfterBattleText3:
+	TX_FAR _Route6AfterBattleText3
+	db "@"
+
+Route6Text4:
+	TX_ASM
+	ld hl, Route6TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route6BattleText4:
+	TX_FAR _Route6BattleText4
+	db "@"
+
+Route6EndBattleText4:
+	TX_FAR _Route6EndBattleText4
+	db "@"
+
+Route6AfterBattleText4:
+	TX_FAR _Route6AfterBattleText4
+	db "@"
+
+Route6Text5:
+	TX_ASM
+	ld hl, Route6TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route6BattleText5:
+	TX_FAR _Route6BattleText5
+	db "@"
+
+Route6EndBattleText5:
+	TX_FAR _Route6EndBattleText5
+	db "@"
+
+Route6AfterBattleText5:
+	TX_FAR _Route6AfterBattleText5
+	db "@"
+
+Route6Text6:
+	TX_ASM
+	ld hl, Route6TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route6BattleText6:
+	TX_FAR _Route6BattleText6
+	db "@"
+
+Route6EndBattleText6:
+	TX_FAR _Route6EndBattleText6
+	db "@"
+
+Route6AfterBattleText6:
+	TX_FAR _Route6AfterBattleText6
+	db "@"
+
+Route6Text7:
+	TX_FAR _Route6Text7
+	db "@"
--- /dev/null
+++ b/scripts/Route6Gate.asm
@@ -1,0 +1,70 @@
+Route6Gate_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route6Gate_ScriptPointers
+	ld a, [wRoute6GateCurScript]
+	call CallFunctionInTable
+	ret
+
+Route6Gate_ScriptPointers:
+	dw Route6GateScript0
+	dw Route6GateScript1
+
+Route6GateScript0:
+	ld a, [wd728]
+	bit 6, a
+	ret nz
+	ld hl, CoordsData_1e08c
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, PLAYER_DIR_RIGHT
+	ld [wPlayerMovingDirection], a
+	xor a
+	ld [hJoyHeld], a
+	callba RemoveGuardDrink
+	ld a, [$ffdb]
+	and a
+	jr nz, .asm_1e080
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Route6GateScript_1e0a1
+	ld a, $1
+	ld [wRoute6GateCurScript], a
+	ret
+.asm_1e080
+	ld hl, wd728
+	set 6, [hl]
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+CoordsData_1e08c:
+	db $02,$03
+	db $02,$04,$FF
+
+Route6GateScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute6GateCurScript], a
+	ret
+
+Route6GateScript_1e0a1:
+	ld hl, wd730
+	set 7, [hl]
+	ld a, $80
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	xor a
+	ld [wSpriteStateData2 + $06], a
+	ld [wOverrideSimulatedJoypadStatesMask], a
+	ret
+
+Route6Gate_TextPointers:
+	dw Route6GateText1
+	dw Route6GateText2
+	dw Route6GateText3
--- /dev/null
+++ b/scripts/Route7.asm
@@ -1,0 +1,9 @@
+Route7_Script:
+	jp EnableAutoTextBoxDrawing
+
+Route7_TextPointers:
+	dw Route7Text1
+
+Route7Text1:
+	TX_FAR _Route7Text1
+	db "@"
--- /dev/null
+++ b/scripts/Route7Gate.asm
@@ -1,0 +1,73 @@
+Route7Gate_Script:
+	call EnableAutoTextBoxDrawing
+	ld a, [wRoute7GateCurScript]
+	ld hl, Route7Gate_ScriptPointers
+	call CallFunctionInTable
+	ret
+
+Route7Gate_ScriptPointers:
+	dw Route7GateScript0
+	dw Route7GateScript1
+
+Route7GateScript_1e111:
+	ld hl, wd730
+	set 7, [hl]
+	ld a, $20
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	xor a
+	ld [wSpriteStateData2 + $06], a
+	ld [wOverrideSimulatedJoypadStatesMask], a
+	ret
+
+Route7GateScript0:
+	ld a, [wd728]
+	bit 6, a
+	ret nz
+	ld hl, CoordsData_1e167
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, PLAYER_DIR_UP
+	ld [wPlayerMovingDirection], a
+	xor a
+	ld [hJoyHeld], a
+	callba RemoveGuardDrink
+	ld a, [$ffdb]
+	and a
+	jr nz, .asm_1e15a
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Route7GateScript_1e111
+	ld a, $1
+	ld [wRoute7GateCurScript], a
+	ret
+.asm_1e15a
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld hl, wd728
+	set 6, [hl]
+	ret
+
+CoordsData_1e167:
+	db 3,3
+	db 4,3
+	db $ff
+
+Route7GateScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute7GateCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+Route7Gate_TextPointers:
+	dw Route7GateText1
+	dw Route7GateText2
+	dw Route7GateText3
--- /dev/null
+++ b/scripts/Route8.asm
@@ -1,0 +1,274 @@
+Route8_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route8TrainerHeader0
+	ld de, Route8_ScriptPointers
+	ld a, [wRoute8CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute8CurScript], a
+	ret
+
+Route8_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route8_TextPointers:
+	dw Route8Text1
+	dw Route8Text2
+	dw Route8Text3
+	dw Route8Text4
+	dw Route8Text5
+	dw Route8Text6
+	dw Route8Text7
+	dw Route8Text8
+	dw Route8Text9
+	dw Route8Text10
+
+Route8TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_0
+	dw Route8BattleText1 ; TextBeforeBattle
+	dw Route8AfterBattleText1 ; TextAfterBattle
+	dw Route8EndBattleText1 ; TextEndBattle
+	dw Route8EndBattleText1 ; TextEndBattle
+
+Route8TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_1
+	dw Route8BattleText2 ; TextBeforeBattle
+	dw Route8AfterBattleText2 ; TextAfterBattle
+	dw Route8EndBattleText2 ; TextEndBattle
+	dw Route8EndBattleText2 ; TextEndBattle
+
+Route8TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_2
+	dw Route8BattleText3 ; TextBeforeBattle
+	dw Route8AfterBattleText3 ; TextAfterBattle
+	dw Route8EndBattleText3 ; TextEndBattle
+	dw Route8EndBattleText3 ; TextEndBattle
+
+Route8TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_3
+	dw Route8BattleText4 ; TextBeforeBattle
+	dw Route8AfterBattleText4 ; TextAfterBattle
+	dw Route8EndBattleText4 ; TextEndBattle
+	dw Route8EndBattleText4 ; TextEndBattle
+
+Route8TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_4
+	dw Route8BattleText5 ; TextBeforeBattle
+	dw Route8AfterBattleText5 ; TextAfterBattle
+	dw Route8EndBattleText5 ; TextEndBattle
+	dw Route8EndBattleText5 ; TextEndBattle
+
+Route8TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_5
+	dw Route8BattleText6 ; TextBeforeBattle
+	dw Route8AfterBattleText6 ; TextAfterBattle
+	dw Route8EndBattleText6 ; TextEndBattle
+	dw Route8EndBattleText6 ; TextEndBattle
+
+Route8TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_6
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_6
+	dw Route8BattleText7 ; TextBeforeBattle
+	dw Route8AfterBattleText7 ; TextAfterBattle
+	dw Route8EndBattleText7 ; TextEndBattle
+	dw Route8EndBattleText7 ; TextEndBattle
+
+Route8TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_7, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_7, 1
+	dw Route8BattleText8 ; TextBeforeBattle
+	dw Route8AfterBattleText8 ; TextAfterBattle
+	dw Route8EndBattleText8 ; TextEndBattle
+	dw Route8EndBattleText8 ; TextEndBattle
+
+Route8TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_8, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_8, 1
+	dw Route8BattleText9 ; TextBeforeBattle
+	dw Route8AfterBattleText9 ; TextAfterBattle
+	dw Route8EndBattleText9 ; TextEndBattle
+	dw Route8EndBattleText9 ; TextEndBattle
+
+	db $ff
+
+Route8Text1:
+	TX_ASM
+	ld hl, Route8TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText1:
+	TX_FAR _Route8BattleText1
+	db "@"
+
+Route8EndBattleText1:
+	TX_FAR _Route8EndBattleText1
+	db "@"
+
+Route8AfterBattleText1:
+	TX_FAR _Route8AfterBattleText1
+	db "@"
+
+Route8Text2:
+	TX_ASM
+	ld hl, Route8TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText2:
+	TX_FAR _Route8BattleText2
+	db "@"
+
+Route8EndBattleText2:
+	TX_FAR _Route8EndBattleText2
+	db "@"
+
+Route8AfterBattleText2:
+	TX_FAR _Route8AfterBattleText2
+	db "@"
+
+Route8Text3:
+	TX_ASM
+	ld hl, Route8TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText3:
+	TX_FAR _Route8BattleText3
+	db "@"
+
+Route8EndBattleText3:
+	TX_FAR _Route8EndBattleText3
+	db "@"
+
+Route8AfterBattleText3:
+	TX_FAR _Route8AfterBattleText3
+	db "@"
+
+Route8Text4:
+	TX_ASM
+	ld hl, Route8TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText4:
+	TX_FAR _Route8BattleText4
+	db "@"
+
+Route8EndBattleText4:
+	TX_FAR _Route8EndBattleText4
+	db "@"
+
+Route8AfterBattleText4:
+	TX_FAR _Route8AfterBattleText4
+	db "@"
+
+Route8Text5:
+	TX_ASM
+	ld hl, Route8TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText5:
+	TX_FAR _Route8BattleText5
+	db "@"
+
+Route8EndBattleText5:
+	TX_FAR _Route8EndBattleText5
+	db "@"
+
+Route8AfterBattleText5:
+	TX_FAR _Route8AfterBattleText5
+	db "@"
+
+Route8Text6:
+	TX_ASM
+	ld hl, Route8TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText6:
+	TX_FAR _Route8BattleText6
+	db "@"
+
+Route8EndBattleText6:
+	TX_FAR _Route8EndBattleText6
+	db "@"
+
+Route8AfterBattleText6:
+	TX_FAR _Route8AfterBattleText6
+	db "@"
+
+Route8Text7:
+	TX_ASM
+	ld hl, Route8TrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText7:
+	TX_FAR _Route8BattleText7
+	db "@"
+
+Route8EndBattleText7:
+	TX_FAR _Route8EndBattleText7
+	db "@"
+
+Route8AfterBattleText7:
+	TX_FAR _Route8AfterBattleText7
+	db "@"
+
+Route8Text8:
+	TX_ASM
+	ld hl, Route8TrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText8:
+	TX_FAR _Route8BattleText8
+	db "@"
+
+Route8EndBattleText8:
+	TX_FAR _Route8EndBattleText8
+	db "@"
+
+Route8AfterBattleText8:
+	TX_FAR _Route8AfterBattleText8
+	db "@"
+
+Route8Text9:
+	TX_ASM
+	ld hl, Route8TrainerHeader8
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route8BattleText9:
+	TX_FAR _Route8BattleText9
+	db "@"
+
+Route8EndBattleText9:
+	TX_FAR _Route8EndBattleText9
+	db "@"
+
+Route8AfterBattleText9:
+	TX_FAR _Route8AfterBattleText9
+	db "@"
+
+Route8Text10:
+	TX_FAR _Route8Text10
+	db "@"
--- /dev/null
+++ b/scripts/Route8Gate.asm
@@ -1,0 +1,70 @@
+Route8Gate_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route8Gate_ScriptPointers
+	ld a, [wRoute8GateCurScript]
+	jp CallFunctionInTable
+
+Route8Gate_ScriptPointers:
+	dw Route8GateScript0
+	dw Route8GateScript1
+
+Route8GateScript_1e1d7:
+	ld hl, wd730
+	set 7, [hl]
+	ld a, $10
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	xor a
+	ld [wSpriteStateData2 + $06], a
+	ld [wOverrideSimulatedJoypadStatesMask], a
+	ret
+
+Route8GateScript0:
+	ld a, [wd728]
+	bit 6, a
+	ret nz
+	ld hl, CoordsData_1e22c
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, PLAYER_DIR_LEFT
+	ld [wPlayerMovingDirection], a
+	xor a
+	ld [hJoyHeld], a
+	callba RemoveGuardDrink
+	ld a, [$ffdb]
+	and a
+	jr nz, .asm_1e220
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Route8GateScript_1e1d7
+	ld a, $1
+	ld [wRoute8GateCurScript], a
+	ret
+.asm_1e220
+	ld hl, wd728
+	set 6, [hl]
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	jp DisplayTextID
+
+CoordsData_1e22c:
+	db 3,2
+	db 4,2
+	db $ff
+
+Route8GateScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld [wRoute8GateCurScript], a
+	ret
+
+Route8Gate_TextPointers:
+	dw Route8GateText1
+	dw Route8GateText2
+	dw Route8GateText3
--- /dev/null
+++ b/scripts/Route9.asm
@@ -1,0 +1,268 @@
+Route9_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, Route9TrainerHeader0
+	ld de, Route9_ScriptPointers
+	ld a, [wRoute9CurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wRoute9CurScript], a
+	ret
+
+Route9_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+Route9_TextPointers:
+	dw Route9Text1
+	dw Route9Text2
+	dw Route9Text3
+	dw Route9Text4
+	dw Route9Text5
+	dw Route9Text6
+	dw Route9Text7
+	dw Route9Text8
+	dw Route9Text9
+	dw PickUpItemText
+	dw Route9Text11
+
+Route9TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_0
+	dw Route9BattleText1 ; TextBeforeBattle
+	dw Route9AfterBattleText1 ; TextAfterBattle
+	dw Route9EndBattleText1 ; TextEndBattle
+	dw Route9EndBattleText1 ; TextEndBattle
+
+Route9TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_1
+	dw Route9BattleText2 ; TextBeforeBattle
+	dw Route9AfterBattleText2 ; TextAfterBattle
+	dw Route9EndBattleText2 ; TextEndBattle
+	dw Route9EndBattleText2 ; TextEndBattle
+
+Route9TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_2
+	dw Route9BattleText3 ; TextBeforeBattle
+	dw Route9AfterBattleText3 ; TextAfterBattle
+	dw Route9EndBattleText3 ; TextEndBattle
+	dw Route9EndBattleText3 ; TextEndBattle
+
+Route9TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_3
+	dw Route9BattleText4 ; TextBeforeBattle
+	dw Route9AfterBattleText4 ; TextAfterBattle
+	dw Route9EndBattleText4 ; TextEndBattle
+	dw Route9EndBattleText4 ; TextEndBattle
+
+Route9TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_4
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_4
+	dw Route9BattleText5 ; TextBeforeBattle
+	dw Route9AfterBattleText5 ; TextAfterBattle
+	dw Route9EndBattleText5 ; TextEndBattle
+	dw Route9EndBattleText5 ; TextEndBattle
+
+Route9TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_5
+	dw Route9BattleText6 ; TextBeforeBattle
+	dw Route9AfterBattleText6 ; TextAfterBattle
+	dw Route9EndBattleText6 ; TextEndBattle
+	dw Route9EndBattleText6 ; TextEndBattle
+
+Route9TrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_6
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_6
+	dw Route9BattleText7 ; TextBeforeBattle
+	dw Route9AfterBattleText7 ; TextAfterBattle
+	dw Route9EndBattleText7 ; TextEndBattle
+	dw Route9EndBattleText7 ; TextEndBattle
+
+Route9TrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_7, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_7, 1
+	dw Route9BattleText8 ; TextBeforeBattle
+	dw Route9AfterBattleText8 ; TextAfterBattle
+	dw Route9EndBattleText8 ; TextEndBattle
+	dw Route9EndBattleText8 ; TextEndBattle
+
+Route9TrainerHeader8:
+	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_8, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_8, 1
+	dw Route9BattleText9 ; TextBeforeBattle
+	dw Route9AfterBattleText9 ; TextAfterBattle
+	dw Route9EndBattleText9 ; TextEndBattle
+	dw Route9EndBattleText9 ; TextEndBattle
+
+	db $ff
+
+Route9Text1:
+	TX_ASM
+	ld hl, Route9TrainerHeader0
+	jr Route9TalkToTrainer
+
+Route9Text2:
+	TX_ASM
+	ld hl, Route9TrainerHeader1
+	jr Route9TalkToTrainer
+
+Route9Text3:
+	TX_ASM
+	ld hl, Route9TrainerHeader2
+	jr Route9TalkToTrainer
+
+Route9Text4:
+	TX_ASM
+	ld hl, Route9TrainerHeader3
+	jr Route9TalkToTrainer
+
+Route9Text5:
+	TX_ASM
+	ld hl, Route9TrainerHeader4
+	jr Route9TalkToTrainer
+
+Route9Text6:
+	TX_ASM
+	ld hl, Route9TrainerHeader5
+	jr Route9TalkToTrainer
+
+Route9Text7:
+	TX_ASM
+	ld hl, Route9TrainerHeader6
+	jr Route9TalkToTrainer
+
+Route9Text8:
+	TX_ASM
+	ld hl, Route9TrainerHeader7
+	jr Route9TalkToTrainer
+
+Route9Text9:
+	TX_ASM
+	ld hl, Route9TrainerHeader8
+Route9TalkToTrainer:
+	call TalkToTrainer
+	jp TextScriptEnd
+
+Route9BattleText1:
+	TX_FAR _Route9BattleText1
+	db "@"
+
+Route9EndBattleText1:
+	TX_FAR _Route9EndBattleText1
+	db "@"
+
+Route9AfterBattleText1:
+	TX_FAR _Route9AfterBattleText1
+	db "@"
+
+Route9BattleText2:
+	TX_FAR _Route9BattleText2
+	db "@"
+
+Route9EndBattleText2:
+	TX_FAR _Route9EndBattleText2
+	db "@"
+
+Route9AfterBattleText2:
+	TX_FAR _Route9AfterBattleText2
+	db "@"
+
+Route9BattleText3:
+	TX_FAR _Route9BattleText3
+	db "@"
+
+Route9EndBattleText3:
+	TX_FAR _Route9EndBattleText3
+	db "@"
+
+Route9AfterBattleText3:
+	TX_FAR _Route9AfterBattleText3
+	db "@"
+
+Route9BattleText4:
+	TX_FAR _Route9BattleText4
+	db "@"
+
+Route9EndBattleText4:
+	TX_FAR _Route9EndBattleText4
+	db "@"
+
+Route9AfterBattleText4:
+	TX_FAR _Route9AfterBattleText4
+	db "@"
+
+Route9BattleText5:
+	TX_FAR _Route9BattleText5
+	db "@"
+
+Route9EndBattleText5:
+	TX_FAR _Route9EndBattleText5
+	db "@"
+
+Route9AfterBattleText5:
+	TX_FAR _Route9AfterBattleText5
+	db "@"
+
+Route9BattleText6:
+	TX_FAR _Route9BattleText6
+	db "@"
+
+Route9EndBattleText6:
+	TX_FAR _Route9EndBattleText6
+	db "@"
+
+Route9AfterBattleText6:
+	TX_FAR _Route9AfterBattleText6
+	db "@"
+
+Route9BattleText7:
+	TX_FAR _Route9BattleText7
+	db "@"
+
+Route9EndBattleText7:
+	TX_FAR _Route9EndBattleText7
+	db "@"
+
+Route9AfterBattleText7:
+	TX_FAR _Route9AfterBattleText7
+	db "@"
+
+Route9BattleText8:
+	TX_FAR _Route9BattleText8
+	db "@"
+
+Route9EndBattleText8:
+	TX_FAR _Route9EndBattleText8
+	db "@"
+
+Route9AfterBattleText8:
+	TX_FAR _Route9AfterBattleText8
+	db "@"
+
+Route9BattleText9:
+	TX_FAR _Route9BattleText9
+	db "@"
+
+Route9EndBattleText9:
+	TX_FAR _Route9EndBattleText9
+	db "@"
+
+Route9AfterBattleText9:
+	TX_FAR _Route9AfterBattleText9
+	db "@"
+
+Route9Text11:
+	TX_FAR _Route9Text11
+	db "@"
--- /dev/null
+++ b/scripts/SSAnne1F.asm
@@ -1,0 +1,15 @@
+SSAnne1F_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+SSAnne1F_TextPointers:
+	dw SSAnne1Text1
+	dw SSAnne1Text2
+
+SSAnne1Text1:
+	TX_FAR _SSAnne1Text1
+	db "@"
+
+SSAnne1Text2:
+	TX_FAR _SSAnne1Text2
+	db "@"
--- /dev/null
+++ b/scripts/SSAnne1FRooms.asm
@@ -1,0 +1,163 @@
+SSAnne1FRooms_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, SSAnne8TrainerHeader0
+	ld de, SSAnne1FRooms_ScriptPointers
+	ld a, [wSSAnne1FRoomsCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSSAnne1FRoomsCurScript], a
+	ret
+
+SSAnne1FRooms_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SSAnne1FRooms_TextPointers:
+	dw SSAnne8Text1
+	dw SSAnne8Text2
+	dw SSAnne8Text3
+	dw SSAnne8Text4
+	dw SSAnne8Text5
+	dw SSAnne8Text6
+	dw SSAnne8Text7
+	dw SSAnne8Text8
+	dw SSAnne8Text9
+	dw PickUpItemText
+	dw SSAnne8Text11
+
+SSAnne8TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_0
+	dw SSAnne8BattleText1 ; TextBeforeBattle
+	dw SSAnne8AfterBattleText1 ; TextAfterBattle
+	dw SSAnne8EndBattleText1 ; TextEndBattle
+	dw SSAnne8EndBattleText1 ; TextEndBattle
+
+SSAnne8TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_1
+	dw SSAnne8BattleText2 ; TextBeforeBattle
+	dw SSAnne8AfterBattleText2 ; TextAfterBattle
+	dw SSAnne8EndBattleText2 ; TextEndBattle
+	dw SSAnne8EndBattleText2 ; TextEndBattle
+
+SSAnne8TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_2
+	dw SSAnne8BattleText3 ; TextBeforeBattle
+	dw SSAnne8AfterBattleText3 ; TextAfterBattle
+	dw SSAnne8EndBattleText3 ; TextEndBattle
+	dw SSAnne8EndBattleText3 ; TextEndBattle
+
+SSAnne8TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_3
+	dw SSAnne8BattleText4 ; TextBeforeBattle
+	dw SSAnne8AfterBattleText4 ; TextAfterBattle
+	dw SSAnne8EndBattleText4 ; TextEndBattle
+	dw SSAnne8EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+SSAnne8Text1:
+	TX_ASM
+	ld hl, SSAnne8TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne8Text2:
+	TX_ASM
+	ld hl, SSAnne8TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne8Text3:
+	TX_ASM
+	ld hl, SSAnne8TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne8Text4:
+	TX_ASM
+	ld hl, SSAnne8TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne8Text8:
+	TX_FAR _SSAnne8Text8
+	TX_ASM
+	ld a, WIGGLYTUFF
+	call PlayCry
+	jp TextScriptEnd
+
+SSAnne8BattleText1:
+	TX_FAR _SSAnne8BattleText1
+	db "@"
+
+SSAnne8EndBattleText1:
+	TX_FAR _SSAnne8EndBattleText1
+	db "@"
+
+SSAnne8AfterBattleText1:
+	TX_FAR _SSAnne8AfterBattleText1
+	db "@"
+
+SSAnne8BattleText2:
+	TX_FAR _SSAnne8BattleText2
+	db "@"
+
+SSAnne8EndBattleText2:
+	TX_FAR _SSAnne8EndBattleText2
+	db "@"
+
+SSAnne8AfterBattleText2:
+	TX_FAR _SSAnne8AfterBattleText2
+	db "@"
+
+SSAnne8BattleText3:
+	TX_FAR _SSAnne8BattleText3
+	db "@"
+
+SSAnne8EndBattleText3:
+	TX_FAR _SSAnne8EndBattleText3
+	db "@"
+
+SSAnne8AfterBattleText3:
+	TX_FAR _SSAnne8AfterBattleText3
+	db "@"
+
+SSAnne8BattleText4:
+	TX_FAR _SSAnne8BattleText4
+	db "@"
+
+SSAnne8EndBattleText4:
+	TX_FAR _SSAnne8EndBattleText4
+	db "@"
+
+SSAnne8AfterBattleText4:
+	TX_FAR _SSAnne8AfterBattleText4
+	db "@"
+
+SSAnne8Text5:
+	TX_FAR _SSAnne8Text5
+	db "@"
+
+SSAnne8Text6:
+	TX_FAR _SSAnne8Text6
+	db "@"
+
+SSAnne8Text7:
+	TX_FAR _SSAnne8Text7
+	db "@"
+
+SSAnne8Text9:
+	TX_FAR _SSAnne8Text9
+	db "@"
+
+SSAnne8Text11:
+	TX_FAR _SSAnne8Text11
+	db "@"
--- /dev/null
+++ b/scripts/SSAnne2F.asm
@@ -1,0 +1,216 @@
+SSAnne2F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, SSAnne2F_ScriptPointers
+	ld a, [wSSAnne2FCurScript]
+	jp CallFunctionInTable
+
+SSAnne2Script_613ab:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wSSAnne2FCurScript], a
+	ret
+
+SSAnne2F_ScriptPointers:
+	dw SSAnne2Script0
+	dw SSAnne2Script1
+	dw SSAnne2Script2
+	dw SSAnne2Script3
+	dw SSAnne2Script4
+
+SSAnne2Script4:
+	ret
+
+SSAnne2Script0:
+	ld hl, CoordsData_61411
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	ld c, BANK(Music_MeetRival)
+	ld a, MUSIC_MEET_RIVAL
+	call PlayMusic
+	ld a, [wCoordIndex]
+	ld [$ffdb], a
+	ld a, HS_SS_ANNE_2F_RIVAL
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	call Delay3
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	xor a
+	ld [hJoyHeld], a
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, [$ffdb]
+	cp $2
+	jr nz, .asm_61400
+	ld de, MovementData_6140c
+	jr .asm_61403
+.asm_61400
+	ld de, MovementData_6140d
+.asm_61403
+	call MoveSprite
+	ld a, $1
+	ld [wSSAnne2FCurScript], a
+	ret
+
+MovementData_6140c:
+	db NPC_MOVEMENT_DOWN
+
+MovementData_6140d:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+CoordsData_61411:
+	db $08,$24
+	db $08,$25
+	db $FF
+
+SSAnne2Script_61416:
+	ld a, [wXCoord]
+	cp $25
+	jr nz, .asm_61426
+	ld a, PLAYER_DIR_LEFT
+	ld [wPlayerMovingDirection], a
+	ld a, SPRITE_FACING_RIGHT
+	jr .asm_61427
+.asm_61426
+	xor a ; SPRITE_FACING_DOWN
+.asm_61427
+	ld [hSpriteFacingDirection], a
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	jp SetSpriteFacingDirectionAndDelay
+
+SSAnne2Script1:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	call SSAnne2Script_61416
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $2
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Delay3
+	ld a, OPP_SONY2
+	ld [wCurOpponent], a
+
+	; select which team to use during the encounter
+	ld a, [wRivalStarter]
+	cp STARTER2
+	jr nz, .NotSquirtle
+	ld a, $1
+	jr .done
+.NotSquirtle
+	cp STARTER3
+	jr nz, .Charmander
+	ld a, $2
+	jr .done
+.Charmander
+	ld a, $3
+.done
+	ld [wTrainerNo], a
+
+	call SSAnne2Script_61416
+	ld a, $2
+	ld [wSSAnne2FCurScript], a
+	ret
+
+SSAnne2Script2:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, SSAnne2Script_613ab
+	call SSAnne2Script_61416
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld a, [wXCoord]
+	cp $25
+	jr nz, .asm_61497
+	ld de, MovementData_614b9
+	jr .asm_6149a
+.asm_61497
+	ld de, MovementData_614b7
+.asm_6149a
+	ld a, $2
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStart
+	ld a, $3
+	ld [wSSAnne2FCurScript], a
+	ret
+
+MovementData_614b7:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+
+MovementData_614b9:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+SSAnne2Script3:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, HS_SS_ANNE_2F_RIVAL
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call PlayDefaultMusic
+	ld a, $4
+	ld [wSSAnne2FCurScript], a
+	ret
+
+SSAnne2F_TextPointers:
+	dw SSAnne2Text1
+	dw SSAnne2Text2
+	dw SSAnne2Text3
+
+SSAnne2Text1:
+	TX_FAR _SSAnne2Text1
+	db "@"
+
+SSAnne2Text2:
+	TX_ASM
+	ld hl, SSAnneRivalBeforeBattleText
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, SSAnneRivalDefeatedText
+	ld de, SSAnneRivalWonText
+	call SaveEndBattleTextPointers
+	jp TextScriptEnd
+
+SSAnneRivalBeforeBattleText:
+	TX_FAR _SSAnneRivalBeforeBattleText
+	db "@"
+
+SSAnneRivalDefeatedText:
+	TX_FAR _SSAnneRivalDefeatedText
+	db "@"
+
+SSAnneRivalWonText:
+	TX_FAR _SSAnneRivalWonText
+	db "@"
+
+SSAnne2Text3:
+	TX_FAR _SSAnneRivalCaptainText
+	db "@"
--- /dev/null
+++ b/scripts/SSAnne2FRooms.asm
@@ -1,0 +1,215 @@
+SSAnne2FRooms_Script:
+	ld a, $1
+	ld [wAutoTextBoxDrawingControl], a
+	xor a
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, SSAnne9TrainerHeader0
+	ld de, SSAnne2FRooms_ScriptPointers
+	ld a, [wSSAnne2FRoomsCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSSAnne2FRoomsCurScript], a
+	ret
+
+SSAnne2FRooms_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SSAnne2FRooms_TextPointers:
+	dw SSAnne9Text1
+	dw SSAnne9Text2
+	dw SSAnne9Text3
+	dw SSAnne9Text4
+	dw SSAnne9Text5
+	dw PickUpItemText
+	dw SSAnne9Text7
+	dw SSAnne9Text8
+	dw PickUpItemText
+	dw SSAnne9Text10
+	dw SSAnne9Text11
+	dw SSAnne9Text12
+	dw SSAnne9Text13
+
+SSAnne9TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_0
+	dw SSAnne9BattleText1 ; TextBeforeBattle
+	dw SSAnne9AfterBattleText1 ; TextAfterBattle
+	dw SSAnne9EndBattleText1 ; TextEndBattle
+	dw SSAnne9EndBattleText1 ; TextEndBattle
+
+SSAnne9TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_1
+	dw SSAnne9BattleText2 ; TextBeforeBattle
+	dw SSAnne9AfterBattleText2 ; TextAfterBattle
+	dw SSAnne9EndBattleText2 ; TextEndBattle
+	dw SSAnne9EndBattleText2 ; TextEndBattle
+
+SSAnne9TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_2
+	dw SSAnne9BattleText3 ; TextBeforeBattle
+	dw SSAnne9AfterBattleText3 ; TextAfterBattle
+	dw SSAnne9EndBattleText3 ; TextEndBattle
+	dw SSAnne9EndBattleText3 ; TextEndBattle
+
+SSAnne9TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_3
+	dw SSAnne9BattleText4 ; TextBeforeBattle
+	dw SSAnne9AfterBattleText4 ; TextAfterBattle
+	dw SSAnne9EndBattleText4 ; TextEndBattle
+	dw SSAnne9EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+SSAnne9Text1:
+	TX_ASM
+	ld hl, SSAnne9TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne9Text2:
+	TX_ASM
+	ld hl, SSAnne9TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne9Text3:
+	TX_ASM
+	ld hl, SSAnne9TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne9Text4:
+	TX_ASM
+	ld hl, SSAnne9TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne9Text5:
+	TX_ASM
+	call SaveScreenTilesToBuffer1
+	ld hl, SSAnne9Text_61bf2
+	call PrintText
+	call LoadScreenTilesFromBuffer1
+	ld a, SNORLAX
+	call DisplayPokedex
+	jp TextScriptEnd
+
+SSAnne9Text_61bf2:
+	TX_FAR _SSAnne9Text_61bf2
+	db "@"
+
+SSAnne9Text7:
+	TX_ASM
+	ld hl, SSAnne9Text_61c01
+	call PrintText
+	jp TextScriptEnd
+
+SSAnne9Text_61c01:
+	TX_FAR _SSAnne9Text_61c01
+	db "@"
+
+SSAnne9Text8:
+	TX_ASM
+	ld hl, SSAnne9Text_61c10
+	call PrintText
+	jp TextScriptEnd
+
+SSAnne9Text_61c10:
+	TX_FAR _SSAnne9Text_61c10
+	db "@"
+
+SSAnne9Text10:
+	TX_ASM
+	ld hl, SSAnne9Text_61c1f
+	call PrintText
+	jp TextScriptEnd
+
+SSAnne9Text_61c1f:
+	TX_FAR _SSAnne9Text_61c1f
+	db "@"
+
+SSAnne9Text11:
+	TX_ASM
+	ld hl, SSAnne9Text_61c2e
+	call PrintText
+	jp TextScriptEnd
+
+SSAnne9Text_61c2e:
+	TX_FAR _SSAnne9Text_61c2e
+	db "@"
+
+SSAnne9Text12:
+	TX_ASM
+	ld hl, SSAnne9Text_61c3d
+	call PrintText
+	jp TextScriptEnd
+
+SSAnne9Text_61c3d:
+	TX_FAR _SSAnne9Text_61c3d
+	db "@"
+
+SSAnne9Text13:
+	TX_ASM
+	ld hl, SSAnne9Text_61c4c
+	call PrintText
+	jp TextScriptEnd
+
+SSAnne9Text_61c4c:
+	TX_FAR _SSAnne9Text_61c4c
+	db "@"
+
+SSAnne9BattleText1:
+	TX_FAR _SSAnne9BattleText1
+	db "@"
+
+SSAnne9EndBattleText1:
+	TX_FAR _SSAnne9EndBattleText1
+	db "@"
+
+SSAnne9AfterBattleText1:
+	TX_FAR _SSAnne9AfterBattleText1
+	db "@"
+
+SSAnne9BattleText2:
+	TX_FAR _SSAnne9BattleText2
+	db "@"
+
+SSAnne9EndBattleText2:
+	TX_FAR _SSAnne9EndBattleText2
+	db "@"
+
+SSAnne9AfterBattleText2:
+	TX_FAR _SSAnne9AfterBattleText2
+	db "@"
+
+SSAnne9BattleText3:
+	TX_FAR _SSAnne9BattleText3
+	db "@"
+
+SSAnne9EndBattleText3:
+	TX_FAR _SSAnne9EndBattleText3
+	db "@"
+
+SSAnne9AfterBattleText3:
+	TX_FAR _SSAnne9AfterBattleText3
+	db "@"
+
+SSAnne9BattleText4:
+	TX_FAR _SSAnne9BattleText4
+	db "@"
+
+SSAnne9EndBattleText4:
+	TX_FAR _SSAnne9EndBattleText4
+	db "@"
+
+SSAnne9AfterBattleText4:
+	TX_FAR _SSAnne9AfterBattleText4
+	db "@"
--- /dev/null
+++ b/scripts/SSAnne3F.asm
@@ -1,0 +1,9 @@
+SSAnne3F_Script:
+	jp EnableAutoTextBoxDrawing
+
+SSAnne3F_TextPointers:
+	dw SSAnne3Text1
+
+SSAnne3Text1:
+	TX_FAR _SSAnne3Text1
+	db "@"
--- /dev/null
+++ b/scripts/SSAnneB1F.asm
@@ -1,0 +1,5 @@
+SSAnneB1F_Script:
+	jp EnableAutoTextBoxDrawing
+
+SSAnneB1F_TextPointers:
+	db "@"
--- /dev/null
+++ b/scripts/SSAnneB1FRooms.asm
@@ -1,0 +1,201 @@
+SSAnneB1FRooms_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, SSAnne10TrainerHeader0
+	ld de, SSAnneB1FRooms_ScriptPointers
+	ld a, [wSSAnneB1FRoomsCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSSAnneB1FRoomsCurScript], a
+	ret
+
+SSAnneB1FRooms_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SSAnneB1FRooms_TextPointers:
+	dw SSAnne10Text1
+	dw SSAnne10Text2
+	dw SSAnne10Text3
+	dw SSAnne10Text4
+	dw SSAnne10Text5
+	dw SSAnne10Text6
+	dw SSAnne10Text7
+	dw SSAnne10Text8
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+
+SSAnne10TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_0
+	dw SSAnne10BattleText1 ; TextBeforeBattle
+	dw SSAnne10AfterBattleText1 ; TextAfterBattle
+	dw SSAnne10EndBattleText1 ; TextEndBattle
+	dw SSAnne10EndBattleText1 ; TextEndBattle
+
+SSAnne10TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_1
+	dw SSAnne10BattleText2 ; TextBeforeBattle
+	dw SSAnne10AfterBattleText2 ; TextAfterBattle
+	dw SSAnne10EndBattleText2 ; TextEndBattle
+	dw SSAnne10EndBattleText2 ; TextEndBattle
+
+SSAnne10TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_2
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_2
+	dw SSAnne10BattleText3 ; TextBeforeBattle
+	dw SSAnne10AfterBattleText3 ; TextAfterBattle
+	dw SSAnne10EndBattleText3 ; TextEndBattle
+	dw SSAnne10EndBattleText3 ; TextEndBattle
+
+SSAnne10TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_3
+	dw SSAnne10BattleText4 ; TextBeforeBattle
+	dw SSAnne10AfterBattleText4 ; TextAfterBattle
+	dw SSAnne10EndBattleText4 ; TextEndBattle
+	dw SSAnne10EndBattleText4 ; TextEndBattle
+
+SSAnne10TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_4
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_4
+	dw SSAnne10BattleText5 ; TextBeforeBattle
+	dw SSAnne10AfterBattleText5 ; TextAfterBattle
+	dw SSAnne10EndBattleText5 ; TextEndBattle
+	dw SSAnne10EndBattleText5 ; TextEndBattle
+
+SSAnne10TrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_5
+	dw SSAnne10BattleText6 ; TextBeforeBattle
+	dw SSAnne10AfterBattleText6 ; TextAfterBattle
+	dw SSAnne10EndBattleText6 ; TextEndBattle
+	dw SSAnne10EndBattleText6 ; TextEndBattle
+
+	db $ff
+
+SSAnne10Text1:
+	TX_ASM
+	ld hl, SSAnne10TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne10Text2:
+	TX_ASM
+	ld hl, SSAnne10TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne10Text3:
+	TX_ASM
+	ld hl, SSAnne10TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne10Text4:
+	TX_ASM
+	ld hl, SSAnne10TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne10Text5:
+	TX_ASM
+	ld hl, SSAnne10TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne10Text6:
+	TX_ASM
+	ld hl, SSAnne10TrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne10Text8:
+	TX_FAR _SSAnne10Text8
+	TX_ASM
+	ld a, MACHOKE
+	call PlayCry
+	jp TextScriptEnd
+
+SSAnne10BattleText1:
+	TX_FAR _SSAnne10BattleText1
+	db "@"
+
+SSAnne10EndBattleText1:
+	TX_FAR _SSAnne10EndBattleText1
+	db "@"
+
+SSAnne10AfterBattleText1:
+	TX_FAR _SSAnne10AfterBattleText1
+	db "@"
+
+SSAnne10BattleText2:
+	TX_FAR _SSAnne10BattleText2
+	db "@"
+
+SSAnne10EndBattleText2:
+	TX_FAR _SSAnne10EndBattleText2
+	db "@"
+
+SSAnne10AfterBattleText2:
+	TX_FAR _SSAnne10AfterBattleText2
+	db "@"
+
+SSAnne10BattleText3:
+	TX_FAR _SSAnne10BattleText3
+	db "@"
+
+SSAnne10EndBattleText3:
+	TX_FAR _SSAnne10EndBattleText3
+	db "@"
+
+SSAnne10AfterBattleText3:
+	TX_FAR _SSAnne10AfterBattleText3
+	db "@"
+
+SSAnne10BattleText4:
+	TX_FAR _SSAnne10BattleText4
+	db "@"
+
+SSAnne10EndBattleText4:
+	TX_FAR _SSAnne10EndBattleText4
+	db "@"
+
+SSAnne10AfterBattleText4:
+	TX_FAR _SSAnne10AfterBattleText4
+	db "@"
+
+SSAnne10BattleText5:
+	TX_FAR _SSAnne10BattleText5
+	db "@"
+
+SSAnne10EndBattleText5:
+	TX_FAR _SSAnne10EndBattleText5
+	db "@"
+
+SSAnne10AfterBattleText5:
+	TX_FAR _SSAnne10AfterBattleText5
+	db "@"
+
+SSAnne10BattleText6:
+	TX_FAR _SSAnne10BattleText6
+	db "@"
+
+SSAnne10EndBattleText6:
+	TX_FAR _SSAnne10EndBattleText6
+	db "@"
+
+SSAnne10AfterBattleText6:
+	TX_FAR _SSAnne10AfterBattleText6
+	db "@"
+
+SSAnne10Text7:
+	TX_FAR _SSAnne10Text7
+	db "@"
--- /dev/null
+++ b/scripts/SSAnneBow.asm
@@ -1,0 +1,88 @@
+SSAnneBow_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, SSAnne5TrainerHeader0
+	ld de, SSAnneBow_ScriptPointers
+	ld a, [wSSAnneBowCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSSAnneBowCurScript], a
+	ret
+
+SSAnneBow_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SSAnneBow_TextPointers:
+	dw SSAnne5Text1
+	dw SSAnne5Text2
+	dw SSAnne5Text3
+	dw SSAnne5Text4
+	dw SSAnne5Text5
+
+SSAnne5TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_0
+	dw SSAnne5BattleText1 ; TextBeforeBattle
+	dw SSAnne5AfterBattleText1 ; TextAfterBattle
+	dw SSAnne5EndBattleText1 ; TextEndBattle
+	dw SSAnne5EndBattleText1 ; TextEndBattle
+
+SSAnne5TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_1
+	dw SSAnne5BattleText2 ; TextBeforeBattle
+	dw SSAnne5AfterBattleText2 ; TextAfterBattle
+	dw SSAnne5EndBattleText2 ; TextEndBattle
+	dw SSAnne5EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+SSAnne5Text1:
+	TX_FAR _SSAnne5Text1
+	db "@"
+
+SSAnne5Text2:
+	TX_FAR _SSAnne5Text2
+	db "@"
+
+SSAnne5Text3:
+	TX_FAR _SSAnne5Text3
+	db "@"
+
+SSAnne5Text4:
+	TX_ASM
+	ld hl, SSAnne5TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne5BattleText1:
+	TX_FAR _SSAnne5BattleText1
+	db "@"
+
+SSAnne5EndBattleText1:
+	TX_FAR _SSAnne5EndBattleText1
+	db "@"
+
+SSAnne5AfterBattleText1:
+	TX_FAR _SSAnne5AfterBattleText1
+	db "@"
+
+SSAnne5Text5:
+	TX_ASM
+	ld hl, SSAnne5TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SSAnne5BattleText2:
+	TX_FAR _SSAnne5BattleText2
+	db "@"
+
+SSAnne5EndBattleText2:
+	TX_FAR _SSAnne5EndBattleText2
+	db "@"
+
+SSAnne5AfterBattleText2:
+	TX_FAR _SSAnne5AfterBattleText2
+	db "@"
--- /dev/null
+++ b/scripts/SSAnneCaptainsRoom.asm
@@ -1,0 +1,93 @@
+SSAnneCaptainsRoom_Script:
+	call SSAnne7Script_6189b
+	jp EnableAutoTextBoxDrawing
+
+SSAnne7Script_6189b:
+	CheckEvent EVENT_RUBBED_CAPTAINS_BACK
+	ret nz
+	ld hl, wd72d
+	set 5, [hl]
+	ret
+
+SSAnneCaptainsRoom_TextPointers:
+	dw SSAnne7Text1
+	dw SSAnne7Text2
+	dw SSAnne7Text3
+
+SSAnne7Text1:
+	TX_ASM
+	CheckEvent EVENT_GOT_HM01
+	jr nz, .asm_797c4
+	ld hl, SSAnne7RubText
+	call PrintText
+	ld hl, ReceivingHM01Text
+	call PrintText
+	lb bc, HM_01, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedHM01Text
+	call PrintText
+	SetEvent EVENT_GOT_HM01
+	jr .asm_0faf5
+.BagFull
+	ld hl, HM01NoRoomText
+	call PrintText
+	ld hl, wd72d
+	set 5, [hl]
+	jr .asm_0faf5
+.asm_797c4
+	ld hl, SSAnne7Text_61932
+	call PrintText
+.asm_0faf5
+	jp TextScriptEnd
+
+SSAnne7RubText:
+	TX_FAR _SSAnne7RubText
+	TX_ASM
+	ld a, [wAudioROMBank]
+	cp BANK(Audio3_UpdateMusic)
+	ld [wAudioSavedROMBank], a
+	jr nz, .asm_61908
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	ld a, Bank(Music_PkmnHealed)
+	ld [wAudioROMBank], a
+.asm_61908
+	ld a, MUSIC_PKMN_HEALED
+	ld [wNewSoundID], a
+	call PlaySound
+.asm_61910
+	ld a, [wChannelSoundIDs]
+	cp MUSIC_PKMN_HEALED
+	jr z, .asm_61910
+	call PlayDefaultMusic
+	SetEvent EVENT_RUBBED_CAPTAINS_BACK
+	ld hl, wd72d
+	res 5, [hl]
+	jp TextScriptEnd
+
+ReceivingHM01Text:
+	TX_FAR _ReceivingHM01Text
+	db "@"
+
+ReceivedHM01Text:
+	TX_FAR _ReceivedHM01Text
+	TX_SFX_KEY_ITEM
+	db "@"
+
+SSAnne7Text_61932:
+	TX_FAR _SSAnne7Text_61932
+	db "@"
+
+HM01NoRoomText:
+	TX_FAR _HM01NoRoomText
+	db "@"
+
+SSAnne7Text2:
+	TX_FAR _SSAnne7Text2
+	db "@"
+
+SSAnne7Text3:
+	TX_FAR _SSAnne7Text3
+	db "@"
--- /dev/null
+++ b/scripts/SSAnneKitchen.asm
@@ -1,0 +1,72 @@
+SSAnneKitchen_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+SSAnneKitchen_TextPointers:
+	dw SSAnne6Text1
+	dw SSAnne6Text2
+	dw SSAnne6Text3
+	dw SSAnne6Text4
+	dw SSAnne6Text5
+	dw SSAnne6Text6
+	dw SSAnne6Text7
+
+SSAnne6Text1:
+	TX_FAR _SSAnne6Text1
+	db "@"
+
+SSAnne6Text2:
+	TX_FAR _SSAnne6Text2
+	db "@"
+
+SSAnne6Text3:
+	TX_FAR _SSAnne6Text3
+	db "@"
+
+SSAnne6Text4:
+	TX_FAR _SSAnne6Text4
+	db "@"
+
+SSAnne6Text5:
+	TX_FAR _SSAnne6Text5
+	db "@"
+
+SSAnne6Text6:
+	TX_FAR _SSAnne6Text6
+	db "@"
+
+SSAnne6Text7:
+	TX_ASM
+	ld hl, SSAnne6Text_61807
+	call PrintText
+	ld a, [hRandomAdd]
+	bit 7, a
+	jr z, .asm_93eb1
+	ld hl, SSAnne6Text_6180c
+	jr .asm_63292
+.asm_93eb1
+	bit 4, a
+	jr z, .asm_7436c
+	ld hl, SSAnne6Text_61811
+	jr .asm_63292
+.asm_7436c
+	ld hl, SSAnne6Text_61816
+.asm_63292
+	call PrintText
+	jp TextScriptEnd
+
+SSAnne6Text_61807:
+	TX_FAR _SSAnne6Text_61807
+	db "@"
+
+SSAnne6Text_6180c:
+	TX_FAR _SSAnne6Text_6180c
+	db "@"
+
+SSAnne6Text_61811:
+	TX_FAR _SSAnne6Text_61811
+	db "@"
+
+SSAnne6Text_61816:
+	TX_FAR _SSAnne6Text_61816
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneCenter.asm
@@ -1,0 +1,15 @@
+SafariZoneCenter_Script:
+	jp EnableAutoTextBoxDrawing
+
+SafariZoneCenter_TextPointers:
+	dw PickUpItemText
+	dw SafariZoneCenterText2
+	dw SafariZoneCenterText3
+
+SafariZoneCenterText2:
+	TX_FAR _SafariZoneCenterText2
+	db "@"
+
+SafariZoneCenterText3:
+	TX_FAR _SafariZoneCenterText3
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneCenterRestHouse.asm
@@ -1,0 +1,14 @@
+SafariZoneCenterRestHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+SafariZoneCenterRestHouse_TextPointers:
+	dw SafariZoneRestHouse1Text1
+	dw SafariZoneRestHouse1Text2
+
+SafariZoneRestHouse1Text1:
+	TX_FAR _SafariZoneRestHouse1Text1
+	db "@"
+
+SafariZoneRestHouse1Text2:
+	TX_FAR _SafariZoneRestHouse1Text2
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneEast.asm
@@ -1,0 +1,23 @@
+SafariZoneEast_Script:
+	jp EnableAutoTextBoxDrawing
+
+SafariZoneEast_TextPointers:
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw SafariZoneEastText5
+	dw SafariZoneEastText6
+	dw SafariZoneEastText7
+
+SafariZoneEastText5:
+	TX_FAR _SafariZoneEastText5
+	db "@"
+
+SafariZoneEastText6:
+	TX_FAR _SafariZoneEastText6
+	db "@"
+
+SafariZoneEastText7:
+	TX_FAR _SafariZoneEastText7
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneEastRestHouse.asm
@@ -1,0 +1,20 @@
+SafariZoneEastRestHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+SafariZoneEastRestHouse_TextPointers:
+	dw SafariZoneRestHouse3Text1
+	dw SafariZoneRestHouse3Text2
+	dw SafariZoneRestHouse3Text3
+
+SafariZoneRestHouse3Text1:
+	TX_FAR _SafariZoneRestHouse3Text1
+	db "@"
+
+SafariZoneRestHouse3Text2:
+	TX_FAR _SafariZoneRestHouse3Text2
+	db "@"
+
+SafariZoneRestHouse3Text3:
+	TX_FAR _SafariZoneRestHouse3Text3
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneGate.asm
@@ -1,0 +1,293 @@
+SafariZoneGate_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, SafariZoneGate_ScriptPointers
+	ld a, [wSafariZoneGateCurScript]
+	jp CallFunctionInTable
+
+SafariZoneGate_ScriptPointers:
+	dw .SafariZoneEntranceScript0
+	dw .SafariZoneEntranceScript1
+	dw .SafariZoneEntranceScript2
+	dw .SafariZoneEntranceScript3
+	dw .SafariZoneEntranceScript4
+	dw .SafariZoneEntranceScript5
+	dw .SafariZoneEntranceScript6
+
+.SafariZoneEntranceScript0
+	ld hl, .CoordsData_75221
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wJoyIgnore], a
+	xor a
+	ld [hJoyHeld], a
+	ld a, SPRITE_FACING_RIGHT
+	ld [wSpriteStateData1 + 9], a
+	ld a, [wCoordIndex]
+	cp $1
+	jr z, .asm_7520f
+	ld a, $2
+	ld [wSafariZoneGateCurScript], a
+	ret
+.asm_7520f
+	ld a, D_RIGHT
+	ld c, $1
+	call SafariZoneEntranceAutoWalk
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $1
+	ld [wSafariZoneGateCurScript], a
+	ret
+
+.CoordsData_75221:
+	db $02,$03
+	db $02,$04
+	db $FF
+
+.SafariZoneEntranceScript1
+	call SafariZoneEntranceScript_752b4
+	ret nz
+.SafariZoneEntranceScript2
+	xor a
+	ld [hJoyHeld], a
+	ld [wJoyIgnore], a
+	call UpdateSprites
+	ld a, $4
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ret
+
+.SafariZoneEntranceScript3
+	call SafariZoneEntranceScript_752b4
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $5
+	ld [wSafariZoneGateCurScript], a
+	ret
+
+.SafariZoneEntranceScript5
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	CheckAndResetEvent EVENT_SAFARI_GAME_OVER
+	jr z, .asm_7527f
+	ResetEventReuseHL EVENT_IN_SAFARI_ZONE
+	call UpdateSprites
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $6
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [wNumSafariBalls], a
+	ld a, D_DOWN
+	ld c, $3
+	call SafariZoneEntranceAutoWalk
+	ld a, $4
+	ld [wSafariZoneGateCurScript], a
+	jr .asm_75286
+.asm_7527f
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_75286
+	ret
+
+.SafariZoneEntranceScript4
+	call SafariZoneEntranceScript_752b4
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wSafariZoneGateCurScript], a
+	ret
+
+.SafariZoneEntranceScript6
+	call SafariZoneEntranceScript_752b4
+	ret nz
+	call Delay3
+	ld a, [wcf0d]
+	ld [wSafariZoneGateCurScript], a
+	ret
+
+SafariZoneEntranceAutoWalk:
+	push af
+	ld b, 0
+	ld a, c
+	ld [wSimulatedJoypadStatesIndex], a
+	ld hl, wSimulatedJoypadStatesEnd
+	pop af
+	call FillMemory
+	jp StartSimulatingJoypadStates
+
+SafariZoneEntranceScript_752b4:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret
+
+SafariZoneGate_TextPointers:
+	dw .SafariZoneEntranceText1
+	dw .SafariZoneEntranceText2
+	dw .SafariZoneEntranceText1
+	dw .SafariZoneEntranceText4
+	dw .SafariZoneEntranceText5
+	dw .SafariZoneEntranceText6
+
+.SafariZoneEntranceText1
+	TX_FAR _SafariZoneEntranceText1
+	db "@"
+
+.SafariZoneEntranceText4
+	TX_FAR SafariZoneEntranceText_9e6e4
+	TX_ASM
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jp nz, .PleaseComeAgain
+	xor a
+	ld [hMoney], a
+	ld a, $05
+	ld [hMoney + 1], a
+	ld a, $00
+	ld [hMoney + 2], a
+	call HasEnoughMoney
+	jr nc, .success
+	ld hl, .NotEnoughMoneyText
+	call PrintText
+	jr .CantPayWalkDown
+
+.success
+	xor a
+	ld [wPriceTemp], a
+	ld a, $05
+	ld [wPriceTemp + 1], a
+	ld a, $00
+	ld [wPriceTemp + 2], a
+	ld hl, wPriceTemp + 2
+	ld de, wPlayerMoney + 2
+	ld c, 3
+	predef SubBCDPredef
+	ld a, MONEY_BOX
+	ld [wTextBoxID], a
+	call DisplayTextBoxID
+	ld hl, .MakePaymentText
+	call PrintText
+	ld a, 30
+	ld [wNumSafariBalls], a
+	ld a, 502 / $100
+	ld [wSafariSteps], a
+	ld a, 502 % $100
+	ld [wSafariSteps + 1], a
+	ld a, D_UP
+	ld c, 3
+	call SafariZoneEntranceAutoWalk
+	SetEvent EVENT_IN_SAFARI_ZONE
+	ResetEventReuseHL EVENT_SAFARI_GAME_OVER
+	ld a, 3
+	ld [wSafariZoneGateCurScript], a
+	jr .done
+
+.PleaseComeAgain
+	ld hl, .PleaseComeAgainText
+	call PrintText
+.CantPayWalkDown
+	ld a, D_DOWN
+	ld c, 1
+	call SafariZoneEntranceAutoWalk
+	ld a, 4
+	ld [wSafariZoneGateCurScript], a
+.done
+	jp TextScriptEnd
+
+.MakePaymentText
+	TX_FAR SafariZoneEntranceText_9e747
+	TX_SFX_ITEM_1
+	TX_FAR _SafariZoneEntranceText_75360
+	db "@"
+
+.PleaseComeAgainText
+	TX_FAR _SafariZoneEntranceText_75365
+	db "@"
+
+.NotEnoughMoneyText
+	TX_FAR _SafariZoneEntranceText_7536a
+	db "@"
+
+.SafariZoneEntranceText5
+	TX_FAR SafariZoneEntranceText_9e814
+	TX_ASM
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_7539c
+	ld hl, .SafariZoneEntranceText_753bb
+	call PrintText
+	xor a
+	ld [wSpriteStateData1 + 9], a
+	ld a, D_DOWN
+	ld c, $3
+	call SafariZoneEntranceAutoWalk
+	ResetEvents EVENT_SAFARI_GAME_OVER, EVENT_IN_SAFARI_ZONE
+	ld a, $0
+	ld [wcf0d], a
+	jr .asm_753b3
+.asm_7539c
+	ld hl, .SafariZoneEntranceText_753c0
+	call PrintText
+	ld a, SPRITE_FACING_UP
+	ld [wSpriteStateData1 + 9], a
+	ld a, D_UP
+	ld c, $1
+	call SafariZoneEntranceAutoWalk
+	ld a, $5
+	ld [wcf0d], a
+.asm_753b3
+	ld a, $6
+	ld [wSafariZoneGateCurScript], a
+	jp TextScriptEnd
+
+.SafariZoneEntranceText_753bb
+	TX_FAR _SafariZoneEntranceText_753bb
+	db "@"
+
+.SafariZoneEntranceText_753c0
+	TX_FAR _SafariZoneEntranceText_753c0
+	db "@"
+
+.SafariZoneEntranceText6
+	TX_FAR _SafariZoneEntranceText_753c5
+	db "@"
+
+.SafariZoneEntranceText2
+	TX_ASM
+	ld hl, .FirstTimeQuestionText
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	ld hl, .RegularText
+	jr nz, .Explanation
+	ld hl, .ExplanationText
+.Explanation
+	call PrintText
+	jp TextScriptEnd
+
+.FirstTimeQuestionText
+	TX_FAR _SafariZoneEntranceText_753e6
+	db "@"
+
+.ExplanationText
+	TX_FAR _SafariZoneEntranceText_753eb
+	db "@"
+
+.RegularText
+	TX_FAR _SafariZoneEntranceText_753f0
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneNorth.asm
@@ -1,0 +1,31 @@
+SafariZoneNorth_Script:
+	jp EnableAutoTextBoxDrawing
+
+SafariZoneNorth_TextPointers:
+	dw PickUpItemText
+	dw PickUpItemText
+	dw SafariZoneNorthText3
+	dw SafariZoneNorthText4
+	dw SafariZoneNorthText5
+	dw SafariZoneNorthText6
+	dw SafariZoneNorthText7
+
+SafariZoneNorthText3:
+	TX_FAR _SafariZoneNorthText3
+	db "@"
+
+SafariZoneNorthText4:
+	TX_FAR _SafariZoneNorthText4
+	db "@"
+
+SafariZoneNorthText5:
+	TX_FAR _SafariZoneNorthText5
+	db "@"
+
+SafariZoneNorthText6:
+	TX_FAR _SafariZoneNorthText6
+	db "@"
+
+SafariZoneNorthText7:
+	TX_FAR _SafariZoneNorthText7
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneNorthRestHouse.asm
@@ -1,0 +1,20 @@
+SafariZoneNorthRestHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+SafariZoneNorthRestHouse_TextPointers:
+	dw SafariZoneRestHouse4Text1
+	dw SafariZoneRestHouse4Text2
+	dw SafariZoneRestHouse4Text3
+
+SafariZoneRestHouse4Text1:
+	TX_FAR _SafariZoneRestHouse4Text1
+	db "@"
+
+SafariZoneRestHouse4Text2:
+	TX_FAR _SafariZoneRestHouse4Text2
+	db "@"
+
+SafariZoneRestHouse4Text3:
+	TX_FAR _SafariZoneRestHouse4Text3
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneSecretHouse.asm
@@ -1,0 +1,45 @@
+SafariZoneSecretHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+SafariZoneSecretHouse_TextPointers:
+	dw SafariZoneSecretHouseText1
+
+SafariZoneSecretHouseText1:
+	TX_ASM
+	CheckEvent EVENT_GOT_HM03
+	jr nz, .asm_20a9b
+	ld hl, SafariZoneSecretHouseText_4a350
+	call PrintText
+	lb bc, HM_03, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedHM03Text
+	call PrintText
+	SetEvent EVENT_GOT_HM03
+	jr .asm_8f1fc
+.BagFull
+	ld hl, HM03NoRoomText
+	call PrintText
+	jr .asm_8f1fc
+.asm_20a9b
+	ld hl, HM03ExplanationText
+	call PrintText
+.asm_8f1fc
+	jp TextScriptEnd
+
+SafariZoneSecretHouseText_4a350:
+	TX_FAR _SecretHouseText_4a350
+	db "@"
+
+ReceivedHM03Text:
+	TX_FAR _ReceivedHM03Text
+	TX_SFX_ITEM_1
+	db "@"
+
+HM03ExplanationText:
+	TX_FAR _HM03ExplanationText
+	db "@"
+
+HM03NoRoomText:
+	TX_FAR _HM03NoRoomText
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneWest.asm
@@ -1,0 +1,28 @@
+SafariZoneWest_Script:
+	jp EnableAutoTextBoxDrawing
+
+SafariZoneWest_TextPointers:
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw SafariZoneWestText5
+	dw SafariZoneWestText6
+	dw SafariZoneWestText7
+	dw SafariZoneWestText8
+
+SafariZoneWestText5:
+	TX_FAR _SafariZoneWestText5
+	db "@"
+
+SafariZoneWestText6:
+	TX_FAR _SafariZoneWestText6
+	db "@"
+
+SafariZoneWestText7:
+	TX_FAR _SafariZoneWestText7
+	db "@"
+
+SafariZoneWestText8:
+	TX_FAR _SafariZoneWestText8
+	db "@"
--- /dev/null
+++ b/scripts/SafariZoneWestRestHouse.asm
@@ -1,0 +1,20 @@
+SafariZoneWestRestHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+SafariZoneWestRestHouse_TextPointers:
+	dw SafariZoneRestHouse2Text1
+	dw SafariZoneRestHouse2Text2
+	dw SafariZoneRestHouse2Text3
+
+SafariZoneRestHouse2Text1:
+	TX_FAR _SafariZoneRestHouse2Text1
+	db "@"
+
+SafariZoneRestHouse2Text2:
+	TX_FAR _SafariZoneRestHouse2Text2
+	db "@"
+
+SafariZoneRestHouse2Text3:
+	TX_FAR _SafariZoneRestHouse2Text3
+	db "@"
--- /dev/null
+++ b/scripts/SaffronCity.asm
@@ -1,0 +1,122 @@
+SaffronCity_Script:
+	jp EnableAutoTextBoxDrawing
+
+SaffronCity_TextPointers:
+	dw SaffronCityText1
+	dw SaffronCityText2
+	dw SaffronCityText3
+	dw SaffronCityText4
+	dw SaffronCityText5
+	dw SaffronCityText6
+	dw SaffronCityText7
+	dw SaffronCityText8
+	dw SaffronCityText9
+	dw SaffronCityText10
+	dw SaffronCityText11
+	dw SaffronCityText12
+	dw SaffronCityText13
+	dw SaffronCityText14
+	dw SaffronCityText15
+	dw SaffronCityText16
+	dw SaffronCityText17
+	dw SaffronCityText18
+	dw MartSignText
+	dw SaffronCityText20
+	dw SaffronCityText21
+	dw SaffronCityText22
+	dw PokeCenterSignText
+	dw SaffronCityText24
+	dw SaffronCityText25
+
+SaffronCityText1:
+	TX_FAR _SaffronCityText1
+	db "@"
+
+SaffronCityText2:
+	TX_FAR _SaffronCityText2
+	db "@"
+
+SaffronCityText3:
+	TX_FAR _SaffronCityText3
+	db "@"
+
+SaffronCityText4:
+	TX_FAR _SaffronCityText4
+	db "@"
+
+SaffronCityText5:
+	TX_FAR _SaffronCityText5
+	db "@"
+
+SaffronCityText6:
+	TX_FAR _SaffronCityText6
+	db "@"
+
+SaffronCityText7:
+	TX_FAR _SaffronCityText7
+	db "@"
+
+SaffronCityText8:
+	TX_FAR _SaffronCityText8
+	db "@"
+
+SaffronCityText9:
+	TX_FAR _SaffronCityText9
+	db "@"
+
+SaffronCityText10:
+	TX_FAR _SaffronCityText10
+	db "@"
+
+SaffronCityText11:
+	TX_FAR _SaffronCityText11
+	db "@"
+
+SaffronCityText12:
+	TX_FAR _SaffronCityText12
+	TX_CRY_PIDGEOT
+	db "@"
+
+SaffronCityText13:
+	TX_FAR _SaffronCityText13
+	db "@"
+
+SaffronCityText14:
+	TX_FAR _SaffronCityText14
+	db "@"
+
+SaffronCityText15:
+	TX_FAR _SaffronCityText15
+	db "@"
+
+SaffronCityText16:
+	TX_FAR _SaffronCityText16
+	db "@"
+
+SaffronCityText17:
+	TX_FAR _SaffronCityText17
+	db "@"
+
+SaffronCityText18:
+	TX_FAR _SaffronCityText18
+	db "@"
+
+SaffronCityText20:
+	TX_FAR _SaffronCityText20
+	db "@"
+
+SaffronCityText21:
+	TX_FAR _SaffronCityText21
+	db "@"
+
+SaffronCityText22:
+	TX_FAR _SaffronCityText22
+	db "@"
+
+SaffronCityText24:
+	TX_FAR _SaffronCityText24
+	db "@"
+
+SaffronCityText25:
+	TX_FAR _SaffronCityText25
+	db "@"
--- /dev/null
+++ b/scripts/SaffronGym.asm
@@ -1,0 +1,358 @@
+SaffronGym_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, .extra
+	call EnableAutoTextBoxDrawing
+	ld hl, SaffronGymTrainerHeader0
+	ld de, SaffronGym_ScriptPointers
+	ld a, [wSaffronGymCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSaffronGymCurScript], a
+	ret
+
+.extra
+	ld hl, Gym6CityName
+	ld de, Gym6LeaderName
+	jp LoadGymLeaderAndCityName
+
+Gym6CityName:
+	db "SAFFRON CITY@"
+
+Gym6LeaderName:
+	db "SABRINA@"
+
+SaffronGymText_5d048:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wSaffronGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+SaffronGym_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw SaffronGymScript3
+
+SaffronGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, SaffronGymText_5d048
+	ld a, $f0
+	ld [wJoyIgnore], a
+
+SaffronGymText_5d068:
+	ld a, $a
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_SABRINA
+	lb bc, TM_46, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $b
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM46
+	jr .asm_5d091
+.BagFull
+	ld a, $c
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_5d091
+	ld hl, wObtainedBadges
+	set 5, [hl]
+	ld hl, wBeatGymFlags
+	set 5, [hl]
+
+	; deactivate gym trainers
+	SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6
+
+	jp SaffronGymText_5d048
+
+SaffronGym_TextPointers:
+	dw SaffronGymText1
+	dw SaffronGymText2
+	dw SaffronGymText3
+	dw SaffronGymText4
+	dw SaffronGymText5
+	dw SaffronGymText6
+	dw SaffronGymText7
+	dw SaffronGymText8
+	dw SaffronGymText9
+	dw SaffronGymText10
+	dw SaffronGymText11
+	dw SaffronGymText12
+
+SaffronGymTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0
+	dw SaffronGymBattleText1 ; TextBeforeBattle
+	dw SaffronGymAfterBattleText1 ; TextAfterBattle
+	dw SaffronGymEndBattleText1 ; TextEndBattle
+	dw SaffronGymEndBattleText1 ; TextEndBattle
+
+SaffronGymTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1
+	dw SaffronGymBattleText2 ; TextBeforeBattle
+	dw SaffronGymAfterBattleText2 ; TextAfterBattle
+	dw SaffronGymEndBattleText2 ; TextEndBattle
+	dw SaffronGymEndBattleText2 ; TextEndBattle
+
+SaffronGymTrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2
+	dw SaffronGymBattleText3 ; TextBeforeBattle
+	dw SaffronGymAfterBattleText3 ; TextAfterBattle
+	dw SaffronGymEndBattleText3 ; TextEndBattle
+	dw SaffronGymEndBattleText3 ; TextEndBattle
+
+SaffronGymTrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3
+	dw SaffronGymBattleText4 ; TextBeforeBattle
+	dw SaffronGymAfterBattleText4 ; TextAfterBattle
+	dw SaffronGymEndBattleText4 ; TextEndBattle
+	dw SaffronGymEndBattleText4 ; TextEndBattle
+
+SaffronGymTrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4
+	dw SaffronGymBattleText5 ; TextBeforeBattle
+	dw SaffronGymAfterBattleText5 ; TextAfterBattle
+	dw SaffronGymEndBattleText5 ; TextEndBattle
+	dw SaffronGymEndBattleText5 ; TextEndBattle
+
+SaffronGymTrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5
+	dw SaffronGymBattleText6 ; TextBeforeBattle
+	dw SaffronGymAfterBattleText6 ; TextAfterBattle
+	dw SaffronGymEndBattleText6 ; TextEndBattle
+	dw SaffronGymEndBattleText6 ; TextEndBattle
+
+SaffronGymTrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
+	dw SaffronGymBattleText7 ; TextBeforeBattle
+	dw SaffronGymAfterBattleText7 ; TextAfterBattle
+	dw SaffronGymEndBattleText7 ; TextEndBattle
+	dw SaffronGymEndBattleText7 ; TextEndBattle
+
+	db $ff
+
+SaffronGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SABRINA
+	jr z, .asm_5d134
+	CheckEventReuseA EVENT_GOT_TM46
+	jr nz, .asm_5d12c
+	call z, SaffronGymText_5d068
+	call DisableWaitingAfterTextDisplay
+	jr .asm_5d15f
+.asm_5d12c
+	ld hl, SaffronGymText_5d16e
+	call PrintText
+	jr .asm_5d15f
+.asm_5d134
+	ld hl, SaffronGymText_5d162
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, SaffronGymText_5d167
+	ld de, SaffronGymText_5d167
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $6
+	ld [wGymLeaderNo], a
+	ld a, $3
+	ld [wSaffronGymCurScript], a
+.asm_5d15f
+	jp TextScriptEnd
+
+SaffronGymText_5d162:
+	TX_FAR _SaffronGymText_5d162
+	db "@"
+
+SaffronGymText_5d167:
+	TX_FAR _SaffronGymText_5d167
+	TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded
+	TX_BLINK
+	db "@"
+
+SaffronGymText_5d16e:
+	TX_FAR _SaffronGymText_5d16e
+	db "@"
+
+SaffronGymText10:
+	TX_FAR _SaffronGymText_5d173
+	db "@"
+
+SaffronGymText11:
+	TX_FAR ReceivedTM46Text
+	TX_SFX_ITEM_1
+	TX_FAR _TM46ExplanationText
+	db "@"
+
+SaffronGymText12:
+	TX_FAR _TM46NoRoomText
+	db "@"
+
+SaffronGymText2:
+	TX_ASM
+	ld hl, SaffronGymTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SaffronGymText3:
+	TX_ASM
+	ld hl, SaffronGymTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SaffronGymText4:
+	TX_ASM
+	ld hl, SaffronGymTrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SaffronGymText5:
+	TX_ASM
+	ld hl, SaffronGymTrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SaffronGymText6:
+	TX_ASM
+	ld hl, SaffronGymTrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SaffronGymText7:
+	TX_ASM
+	ld hl, SaffronGymTrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SaffronGymText8:
+	TX_ASM
+	ld hl, SaffronGymTrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SaffronGymText9:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SABRINA
+	jr nz, .asm_5d1dd
+	ld hl, SaffronGymText_5d1e6
+	call PrintText
+	jr .asm_5d1e3
+.asm_5d1dd
+	ld hl, SaffronGymText_5d1eb
+	call PrintText
+.asm_5d1e3
+	jp TextScriptEnd
+
+SaffronGymText_5d1e6:
+	TX_FAR _SaffronGymText_5d1e6
+	db "@"
+
+SaffronGymText_5d1eb:
+	TX_FAR _SaffronGymText_5d1eb
+	db "@"
+
+SaffronGymBattleText1:
+	TX_FAR _SaffronGymBattleText1
+	db "@"
+
+SaffronGymEndBattleText1:
+	TX_FAR _SaffronGymEndBattleText1
+	db "@"
+
+SaffronGymAfterBattleText1:
+	TX_FAR _SaffronGymAfterBattleText1
+	db "@"
+
+SaffronGymBattleText2:
+	TX_FAR _SaffronGymBattleText2
+	db "@"
+
+SaffronGymEndBattleText2:
+	TX_FAR _SaffronGymEndBattleText2
+	db "@"
+
+SaffronGymAfterBattleText2:
+	TX_FAR _SaffronGymAfterBattleText2
+	db "@"
+
+SaffronGymBattleText3:
+	TX_FAR _SaffronGymBattleText3
+	db "@"
+
+SaffronGymEndBattleText3:
+	TX_FAR _SaffronGymEndBattleText3
+	db "@"
+
+SaffronGymAfterBattleText3:
+	TX_FAR _SaffronGymAfterBattleText3
+	db "@"
+
+SaffronGymBattleText4:
+	TX_FAR _SaffronGymBattleText4
+	db "@"
+
+SaffronGymEndBattleText4:
+	TX_FAR _SaffronGymEndBattleText4
+	db "@"
+
+SaffronGymAfterBattleText4:
+	TX_FAR _SaffronGymAfterBattleText4
+	db "@"
+
+SaffronGymBattleText5:
+	TX_FAR _SaffronGymBattleText5
+	db "@"
+
+SaffronGymEndBattleText5:
+	TX_FAR _SaffronGymEndBattleText5
+	db "@"
+
+SaffronGymAfterBattleText5:
+	TX_FAR _SaffronGymAfterBattleText5
+	db "@"
+
+SaffronGymBattleText6:
+	TX_FAR _SaffronGymBattleText6
+	db "@"
+
+SaffronGymEndBattleText6:
+	TX_FAR _SaffronGymEndBattleText6
+	db "@"
+
+SaffronGymAfterBattleText6:
+	TX_FAR _SaffronGymAfterBattleText6
+	db "@"
+
+SaffronGymBattleText7:
+	TX_FAR _SaffronGymBattleText7
+	db "@"
+
+SaffronGymEndBattleText7:
+	TX_FAR _SaffronGymEndBattleText7
+	db "@"
+
+SaffronGymAfterBattleText7:
+	TX_FAR _SaffronGymAfterBattleText7
+	db "@"
--- /dev/null
+++ b/scripts/SaffronMart.asm
@@ -1,0 +1,15 @@
+SaffronMart_Script:
+	jp EnableAutoTextBoxDrawing
+
+SaffronMart_TextPointers:
+	dw SaffronCashierText
+	dw SaffronMartText2
+	dw SaffronMartText3
+
+SaffronMartText2:
+	TX_FAR _SaffronMartText2
+	db "@"
+
+SaffronMartText3:
+	TX_FAR _SaffronMartText3
+	db "@"
--- /dev/null
+++ b/scripts/SaffronPidgeyHouse.asm
@@ -1,0 +1,27 @@
+SaffronPidgeyHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+SaffronPidgeyHouse_TextPointers:
+	dw SaffronHouse1Text1
+	dw SaffronHouse1Text2
+	dw SaffronHouse1Text3
+	dw SaffronHouse1Text4
+
+SaffronHouse1Text1:
+	TX_FAR _SaffronHouse1Text1
+	db "@"
+
+SaffronHouse1Text2:
+	TX_FAR _SaffronHouse1Text2
+	TX_ASM
+	ld a, PIDGEY
+	call PlayCry
+	jp TextScriptEnd
+
+SaffronHouse1Text3:
+	TX_FAR _SaffronHouse1Text3
+	db "@"
+
+SaffronHouse1Text4:
+	TX_FAR _SaffronHouse1Text4
+	db "@"
--- /dev/null
+++ b/scripts/SaffronPokecenter.asm
@@ -1,0 +1,23 @@
+SaffronPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+SaffronPokecenter_TextPointers:
+	dw SaffronHealNurseText
+	dw SaffronPokecenterText2
+	dw SaffronPokecenterText3
+	dw SaffronTradeNurseText
+
+SaffronHealNurseText:
+	TX_POKECENTER_NURSE
+
+SaffronPokecenterText2:
+	TX_FAR _SaffronPokecenterText2
+	db "@"
+
+SaffronPokecenterText3:
+	TX_FAR _SaffronPokecenterText3
+	db "@"
+
+SaffronTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
--- /dev/null
+++ b/scripts/SeafoamIslands1F.asm
@@ -1,0 +1,47 @@
+SeafoamIslands1F_Script:
+	call EnableAutoTextBoxDrawing
+	SetEvent EVENT_IN_SEAFOAM_ISLANDS
+	ld hl, wFlags_0xcd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_4483b
+	ld hl, Seafoam1HolesCoords
+	call CheckBoulderCoords
+	ret nc
+	EventFlagAddress hl, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
+	ld a, [wCoordIndex]
+	cp $1
+	jr nz, .asm_44819
+	SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_1
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_1
+	ld [wObjectToShow], a
+	jr .asm_44825
+.asm_44819
+	SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_1F_BOULDER_2
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_2
+	ld [wObjectToShow], a
+.asm_44825
+	ld a, [wObjectToHide]
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, [wObjectToShow]
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+.asm_4483b
+	ld a, $9f
+	ld [wDungeonWarpDestinationMap], a
+	ld hl, Seafoam1HolesCoords
+	jp IsPlayerOnDungeonWarp
+
+Seafoam1HolesCoords:
+	db $06,$11
+	db $06,$18
+	db $ff
+
+SeafoamIslands1F_TextPointers:
+	dw BoulderText
+	dw BoulderText
--- /dev/null
+++ b/scripts/SeafoamIslandsB1F.asm
@@ -1,0 +1,46 @@
+SeafoamIslandsB1F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, wFlags_0xcd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_46362
+	ld hl, Seafoam2HolesCoords
+	call CheckBoulderCoords
+	ret nc
+	EventFlagAddress hl, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
+	ld a, [wCoordIndex]
+	cp $1
+	jr nz, .asm_46340
+	SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_1
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_1
+	ld [wObjectToShow], a
+	jr .asm_4634c
+.asm_46340
+	SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_B1F_BOULDER_2
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_2
+	ld [wObjectToShow], a
+.asm_4634c
+	ld a, [wObjectToHide]
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, [wObjectToShow]
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+.asm_46362
+	ld a, $a0
+	ld [wDungeonWarpDestinationMap], a
+	ld hl, Seafoam2HolesCoords
+	jp IsPlayerOnDungeonWarp
+
+Seafoam2HolesCoords:
+	db $06,$12
+	db $06,$17
+	db $ff
+
+SeafoamIslandsB1F_TextPointers:
+	dw BoulderText
+	dw BoulderText
--- /dev/null
+++ b/scripts/SeafoamIslandsB2F.asm
@@ -1,0 +1,46 @@
+SeafoamIslandsB2F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, wFlags_0xcd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_4649e
+	ld hl, Seafoam3HolesCoords
+	call CheckBoulderCoords
+	ret nc
+	EventFlagAddress hl, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
+	ld a, [wCoordIndex]
+	cp $1
+	jr nz, .asm_4647c
+	SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_1
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_3
+	ld [wObjectToShow], a
+	jr .asm_46488
+.asm_4647c
+	SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_B2F_BOULDER_2
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_4
+	ld [wObjectToShow], a
+.asm_46488
+	ld a, [wObjectToHide]
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, [wObjectToShow]
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+.asm_4649e
+	ld a, $a1
+	ld [wDungeonWarpDestinationMap], a
+	ld hl, Seafoam3HolesCoords
+	jp IsPlayerOnDungeonWarp
+
+Seafoam3HolesCoords:
+	db $06,$13
+	db $06,$16
+	db $ff
+
+SeafoamIslandsB2F_TextPointers:
+	dw BoulderText
+	dw BoulderText
--- /dev/null
+++ b/scripts/SeafoamIslandsB3F.asm
@@ -1,0 +1,149 @@
+SeafoamIslandsB3F_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, wFlags_0xcd60
+	bit 7, [hl]
+	res 7, [hl]
+	jr z, .asm_465dc
+	ld hl, Seafoam4HolesCoords
+	call CheckBoulderCoords
+	ret nc
+	EventFlagAddress hl, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
+	ld a, [wCoordIndex]
+	cp $1
+	jr nz, .asm_465b8
+	SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_1
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_1
+	ld [wObjectToShow], a
+	jr .asm_465c4
+.asm_465b8
+	SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
+	ld a, HS_SEAFOAM_ISLANDS_B3F_BOULDER_2
+	ld [wObjectToHide], a
+	ld a, HS_SEAFOAM_ISLANDS_B4F_BOULDER_2
+	ld [wObjectToShow], a
+.asm_465c4
+	ld a, [wObjectToHide]
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, [wObjectToShow]
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	jr .asm_465ed
+.asm_465dc
+	ld a, $a2
+	ld [wDungeonWarpDestinationMap], a
+	ld hl, Seafoam4HolesCoords
+	call IsPlayerOnDungeonWarp
+	ld a, [wd732]
+	bit 4, a
+	ret nz
+.asm_465ed
+	ld hl, SeafoamIslandsB3F_ScriptPointers
+	ld a, [wSeafoamIslandsB3FCurScript]
+	jp CallFunctionInTable
+
+Seafoam4HolesCoords:
+	db $10,$03
+	db $10,$06
+	db $ff
+
+SeafoamIslandsB3F_ScriptPointers:
+	dw SeafoamIslands4Script0
+	dw SeafoamIslands4Script1
+	dw SeafoamIslands4Script2
+	dw SeafoamIslands4Script3
+
+SeafoamIslands4Script0:
+	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
+	ret z
+	ld a, [wYCoord]
+	cp $8
+	ret nz
+	ld a, [wXCoord]
+	cp $f
+	ret nz
+	ld hl, wSimulatedJoypadStatesEnd
+	ld de, RLEMovement46632
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld hl, wFlags_D733
+	set 2, [hl]
+	ld a, $1
+	ld [wSeafoamIslandsB3FCurScript], a
+	ret
+
+RLEMovement46632:
+	db D_DOWN,6
+	db D_RIGHT,5
+	db D_DOWN,3
+	db $ff
+
+SeafoamIslands4Script1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	ld a, $0
+	ld [wSeafoamIslandsB3FCurScript], a
+	ret
+
+SeafoamIslands4Script2:
+	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
+	ret z
+	ld a, [wXCoord]
+	cp $12
+	jr z, .asm_4665e
+	cp $13
+	ld a, $0
+	jr nz, .asm_4667b
+	ld de, RLEData_4667f
+	jr .asm_46661
+.asm_4665e
+	ld de, RLEData_46688
+.asm_46661
+	ld hl, wSimulatedJoypadStatesEnd
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	xor a
+	ld [wSpriteStateData2 + $06], a
+	ld hl, wd730
+	set 7, [hl]
+	ld hl, wFlags_D733
+	set 2, [hl]
+	ld a, $3
+.asm_4667b
+	ld [wSeafoamIslandsB3FCurScript], a
+	ret
+
+RLEData_4667f:
+	db D_DOWN,$06
+	db D_RIGHT,$02
+	db D_DOWN,$04
+	db D_LEFT,$01
+	db $FF
+
+RLEData_46688:
+	db D_DOWN,$06
+	db D_RIGHT,$02
+	db D_DOWN,$04
+	db $FF
+
+SeafoamIslands4Script3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	ld a, $0
+	ld [wSeafoamIslandsB3FCurScript], a
+	ret
+
+SeafoamIslandsB3F_TextPointers:
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
--- /dev/null
+++ b/scripts/SeafoamIslandsB4F.asm
@@ -1,0 +1,173 @@
+SeafoamIslandsB4F_Script:
+	call EnableAutoTextBoxDrawing
+	ld a, [wSeafoamIslandsB4FCurScript]
+	ld hl, SeafoamIslandsB4F_ScriptPointers
+	jp CallFunctionInTable
+
+SeafoamIslands5Script_467a5:
+	xor a
+	ld [wSeafoamIslandsB4FCurScript], a
+	ld [wJoyIgnore], a
+	ret
+
+SeafoamIslandsB4F_ScriptPointers:
+	dw SeafoamIslands5Script0
+	dw SeafoamIslands5Script1
+	dw SeafoamIslands5Script2
+	dw SeafoamIslands5Script3
+	dw SeafoamIslands5Script4
+
+SeafoamIslands5Script4:
+	ld a, [wIsInBattle]
+	cp $ff
+	jr z, SeafoamIslands5Script_467a5
+	call EndTrainerBattle
+	ld a, $0
+	ld [wSeafoamIslandsB4FCurScript], a
+	ret
+
+SeafoamIslands5Script0:
+	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
+	ret z
+	ld hl, .Coords
+	call ArePlayerCoordsInArray
+	ret nc
+	ld a, [wCoordIndex]
+	cp $3
+	jr nc, .asm_467e6
+	ld a, NPC_MOVEMENT_UP
+	ld [wSimulatedJoypadStatesEnd + 1], a
+	ld a, 2
+	jr .asm_467e8
+.asm_467e6
+	ld a, 1
+.asm_467e8
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	call StartSimulatingJoypadStates
+	ld hl, wFlags_D733
+	res 2, [hl]
+	ld a, $1
+	ld [wSeafoamIslandsB4FCurScript], a
+	ret
+
+.Coords
+	db $11,$14
+	db $11,$15
+	db $10,$14
+	db $10,$15
+	db $FF
+
+SeafoamIslands5Script1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wSeafoamIslandsB4FCurScript], a
+	ret
+
+SeafoamIslands5Script2:
+	CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
+	ld a, $0
+	jr z, .asm_46849
+	ld hl, .Coords
+	call ArePlayerCoordsInArray
+	ld a, $0
+	jr nc, .asm_46849
+	ld a, [wCoordIndex]
+	cp $1
+	jr nz, .asm_46837
+	ld de, RLEMovementData_46859
+	jr .asm_4683a
+.asm_46837
+	ld de, RLEMovementData_46852
+.asm_4683a
+	ld hl, wSimulatedJoypadStatesEnd
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+.asm_46849
+	ld [wSeafoamIslandsB4FCurScript], a
+	ret
+
+.Coords
+	db $0E,$04
+	db $0E,$05
+	db $FF
+
+RLEMovementData_46852:
+	db D_UP,$03
+	db D_RIGHT,$02
+	db D_UP,$01
+	db $FF
+
+RLEMovementData_46859:
+	db D_UP,$03
+	db D_RIGHT,$03
+	db D_UP,$01
+	db $FF
+
+SeafoamIslands5Script3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	ld b, a
+	cp $1
+	call z, SeaFoamIslands5Script_46872
+	ld a, b
+	and a
+	ret nz
+	ld a, $0
+	ld [wSeafoamIslandsB4FCurScript], a
+	ret
+
+SeaFoamIslands5Script_46872:
+	xor a
+	ld [wWalkBikeSurfState], a
+	ld [wWalkBikeSurfStateCopy], a
+	jp ForceBikeOrSurf
+
+SeafoamIslandsB4F_TextPointers:
+	dw BoulderText
+	dw BoulderText
+	dw ArticunoText
+	dw SeafoamIslands5Text4
+	dw SeafoamIslands5Text5
+
+ArticunoTrainerHeader:
+	dbEventFlagBit EVENT_BEAT_ARTICUNO
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_ARTICUNO
+	dw ArticunoBattleText ; TextBeforeBattle
+	dw ArticunoBattleText ; TextAfterBattle
+	dw ArticunoBattleText ; TextEndBattle
+	dw ArticunoBattleText ; TextEndBattle
+
+	db $ff
+
+ArticunoText:
+	TX_ASM
+	ld hl, ArticunoTrainerHeader
+	call TalkToTrainer
+	ld a, $4
+	ld [wSeafoamIslandsB4FCurScript], a
+	jp TextScriptEnd
+
+ArticunoBattleText:
+	TX_FAR _ArticunoBattleText
+	TX_ASM
+	ld a, ARTICUNO
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+SeafoamIslands5Text4:
+	TX_FAR _SeafoamIslands5Text4
+	db "@"
+
+SeafoamIslands5Text5:
+	TX_FAR _SeafoamIslands5Text5
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo10F.asm
@@ -1,0 +1,122 @@
+SilphCo10F_Script:
+	call SilphCo10Script_5a14f
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo10TrainerHeader0
+	ld de, SilphCo10F_ScriptPointers
+	ld a, [wSilphCo10FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo10FCurScript], a
+	ret
+
+SilphCo10Script_5a14f:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo10GateCoords
+	call SilphCo2Script_59d43
+	call SilphCo10Text_5a176
+	CheckEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR
+	ret nz
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 4, 5
+	predef_jump ReplaceTileBlock
+
+SilphCo10GateCoords:
+	db $04,$05
+	db $FF
+
+SilphCo10Text_5a176:
+	ld a, [$ffe0]
+	and a
+	ret z
+	SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR
+	ret
+
+SilphCo10F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo10F_TextPointers:
+	dw SilphCo10Text1
+	dw SilphCo10Text2
+	dw SilphCo10Text3
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+
+SilphCo10TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_0
+	dw SilphCo10BattleText1 ; TextBeforeBattle
+	dw SilphCo10AfterBattleText1 ; TextAfterBattle
+	dw SilphCo10EndBattleText1 ; TextEndBattle
+	dw SilphCo10EndBattleText1 ; TextEndBattle
+
+SilphCo10TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_1
+	dw SilphCo10BattleText2 ; TextBeforeBattle
+	dw SilphCo10AfterBattleText2 ; TextAfterBattle
+	dw SilphCo10EndBattleText2 ; TextEndBattle
+	dw SilphCo10EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+SilphCo10Text1:
+	TX_ASM
+	ld hl, SilphCo10TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo10Text2:
+	TX_ASM
+	ld hl, SilphCo10TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo10Text3:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	ld hl, SilphCo10Text_5a1d8
+	jr nz, .asm_cf85f
+	ld hl, SilphCo10Text_5a1d3
+.asm_cf85f
+	call PrintText
+	jp TextScriptEnd
+
+SilphCo10Text_5a1d3:
+	TX_FAR _SilphCo10Text_5a1d3
+	db "@"
+
+SilphCo10Text_5a1d8:
+	TX_FAR _SilphCo10Text_5a1d8
+	db "@"
+
+SilphCo10BattleText1:
+	TX_FAR _SilphCo10BattleText1
+	db "@"
+
+SilphCo10EndBattleText1:
+	TX_FAR _SilphCo10EndBattleText1
+	db "@"
+
+SilphCo10AfterBattleText1:
+	TX_FAR _SilphCo10AfterBattleText1
+	db "@"
+
+SilphCo10BattleText2:
+	TX_FAR _SilphCo10BattleText2
+	db "@"
+
+SilphCo10EndBattleText2:
+	TX_FAR _SilphCo10EndBattleText2
+	db "@"
+
+SilphCo10AfterBattleText2:
+	TX_FAR _SilphCo10AfterBattleText2
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo11F.asm
@@ -1,0 +1,405 @@
+SilphCo11F_Script:
+	call SilphCo11Script_62110
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo11TrainerHeader0
+	ld de, SilphCo11F_ScriptPointers
+	ld a, [wSilphCo11FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo11FCurScript], a
+	ret
+
+SilphCo11Script_62110:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo11GateCoords
+	call SilphCo11Script_62137
+	call SilphCo11Script_62163
+	CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR
+	ret nz
+	ld a, $20
+	ld [wNewTileBlockID], a
+	lb bc, 6, 3
+	predef_jump ReplaceTileBlock
+
+SilphCo11GateCoords:
+	db $06,$03
+	db $FF
+
+SilphCo11Script_62137:
+	push hl
+	ld hl, wCardKeyDoorY
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld c, a
+	xor a
+	ld [$ffe0], a
+	pop hl
+.asm_62143
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_6215f
+	push hl
+	ld hl, $ffe0
+	inc [hl]
+	pop hl
+	cp b
+	jr z, .asm_62154
+	inc hl
+	jr .asm_62143
+.asm_62154
+	ld a, [hli]
+	cp c
+	jr nz, .asm_62143
+	ld hl, wCardKeyDoorY
+	xor a
+	ld [hli], a
+	ld [hl], a
+	ret
+.asm_6215f
+	xor a
+	ld [$ffe0], a
+	ret
+
+SilphCo11Script_62163:
+	ld a, [$ffe0]
+	and a
+	ret z
+	SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR
+	ret
+
+SilphCo11Script_6216d:
+	ld hl, MissableObjectIDs_6219b
+.asm_62170
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_62181
+	push hl
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	pop hl
+	jr .asm_62170
+.asm_62181
+	ld hl, MissableObjectIDs_62194
+.asm_62184
+	ld a, [hli]
+	cp $ff
+	ret z
+	push hl
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	pop hl
+	jr .asm_62184
+
+MissableObjectIDs_62194:
+	db HS_SAFFRON_CITY_8
+	db HS_SAFFRON_CITY_9
+	db HS_SAFFRON_CITY_A
+	db HS_SAFFRON_CITY_B
+	db HS_SAFFRON_CITY_C
+	db HS_SAFFRON_CITY_D
+	db $FF
+
+MissableObjectIDs_6219b:
+	db HS_SAFFRON_CITY_1
+	db HS_SAFFRON_CITY_2
+	db HS_SAFFRON_CITY_3
+	db HS_SAFFRON_CITY_4
+	db HS_SAFFRON_CITY_5
+	db HS_SAFFRON_CITY_6
+	db HS_SAFFRON_CITY_7
+	db HS_SAFFRON_CITY_E
+	db HS_SAFFRON_CITY_F
+	db HS_SILPH_CO_2F_2
+	db HS_SILPH_CO_2F_3
+	db HS_SILPH_CO_2F_4
+	db HS_SILPH_CO_2F_5
+	db HS_SILPH_CO_3F_1
+	db HS_SILPH_CO_3F_2
+	db HS_SILPH_CO_4F_1
+	db HS_SILPH_CO_4F_2
+	db HS_SILPH_CO_4F_3
+	db HS_SILPH_CO_5F_1
+	db HS_SILPH_CO_5F_2
+	db HS_SILPH_CO_5F_3
+	db HS_SILPH_CO_5F_4
+	db HS_SILPH_CO_6F_1
+	db HS_SILPH_CO_6F_2
+	db HS_SILPH_CO_6F_3
+	db HS_SILPH_CO_7F_1
+	db HS_SILPH_CO_7F_2
+	db HS_SILPH_CO_7F_3
+	db HS_SILPH_CO_7F_4
+	db HS_SILPH_CO_8F_1
+	db HS_SILPH_CO_8F_2
+	db HS_SILPH_CO_8F_3
+	db HS_SILPH_CO_9F_1
+	db HS_SILPH_CO_9F_2
+	db HS_SILPH_CO_9F_3
+	db HS_SILPH_CO_10F_1
+	db HS_SILPH_CO_10F_2
+	db HS_SILPH_CO_11F_1
+	db HS_SILPH_CO_11F_2
+	db HS_SILPH_CO_11F_3
+	db $FF
+
+SilphCo11Script_621c4:
+	xor a
+	ld [wJoyIgnore], a
+
+SilphCo11Script_621c8:
+	ld [wSilphCo11FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+SilphCo11F_ScriptPointers:
+	dw SilphCo11Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw SilphCo11Script3
+	dw SilphCo11Script4
+	dw SilphCo11Script5
+
+SilphCo11Script0:
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	ret nz
+	ld hl, CoordsData_62211
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	ld a, [wCoordIndex]
+	ld [wcf0d], a
+	xor a
+	ld [hJoyHeld], a
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $3
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld de, MovementData_62216
+	call MoveSprite
+	ld a, $3
+	jp SilphCo11Script_621c8
+
+CoordsData_62211:
+	db $0D,$06
+	db $0C,$07
+	db $FF
+
+MovementData_62216:
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+SilphCo11Script_6221a:
+	ld [wPlayerMovingDirection], a
+	ld a, $3
+	ld [H_SPRITEINDEX], a
+	ld a, b
+	ld [hSpriteFacingDirection], a
+	jp SetSpriteFacingDirectionAndDelay
+
+SilphCo11Script5:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, SilphCo11Script_621c4
+	ld a, [wcf0d]
+	cp $1
+	jr z, .asm_6223c
+	ld a, PLAYER_DIR_LEFT
+	ld b, SPRITE_FACING_RIGHT
+	jr .asm_62240
+.asm_6223c
+	ld a, PLAYER_DIR_UP
+	ld b, SPRITE_FACING_DOWN
+.asm_62240
+	call SilphCo11Script_6221a
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, $6
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call GBFadeOutToBlack
+	call SilphCo11Script_6216d
+	call UpdateSprites
+	call Delay3
+	call GBFadeInFromBlack
+	SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	xor a
+	ld [wJoyIgnore], a
+	jp SilphCo11Script_621c8
+
+SilphCo11Script3:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, $3
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld a, [wcf0d]
+	cp $1
+	jr z, .asm_62284
+	ld a, PLAYER_DIR_LEFT
+	ld b, SPRITE_FACING_RIGHT
+	jr .asm_62288
+.asm_62284
+	ld a, PLAYER_DIR_UP
+	ld b, SPRITE_FACING_DOWN
+.asm_62288
+	call SilphCo11Script_6221a
+	call Delay3
+	ld a, $4
+	jp SilphCo11Script_621c8
+
+SilphCo11Script4:
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, SilphCo10Text_62330
+	ld de, SilphCo10Text_62330
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $5
+	jp SilphCo11Script_621c8
+
+SilphCo11F_TextPointers:
+	dw SilphCo11Text1
+	dw SilphCo11Text2
+	dw SilphCo11Text3
+	dw SilphCo11Text4
+	dw SilphCo11Text5
+	dw SilphCo11Text6
+
+SilphCo11TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0
+	dw SilphCo11BattleText1 ; TextBeforeBattle
+	dw SilphCo11AfterBattleText1 ; TextAfterBattle
+	dw SilphCo11EndBattleText1 ; TextEndBattle
+	dw SilphCo11EndBattleText1 ; TextEndBattle
+
+SilphCo11TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1
+	dw SilphCo11BattleText2 ; TextBeforeBattle
+	dw SilphCo11AfterBattleText2 ; TextAfterBattle
+	dw SilphCo11EndBattleText2 ; TextEndBattle
+	dw SilphCo11EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+SilphCo11Text1:
+	TX_ASM
+	CheckEvent EVENT_GOT_MASTER_BALL
+	jp nz, .asm_62308
+	ld hl, SilphCoPresidentText
+	call PrintText
+	lb bc, MASTER_BALL, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedSilphCoMasterBallText
+	call PrintText
+	SetEvent EVENT_GOT_MASTER_BALL
+	jr .asm_6230e
+.BagFull
+	ld hl, SilphCoMasterBallNoRoomText
+	call PrintText
+	jr .asm_6230e
+.asm_62308
+	ld hl, SilphCo10Text_6231c
+	call PrintText
+.asm_6230e
+	jp TextScriptEnd
+
+SilphCoPresidentText:
+	TX_FAR _SilphCoPresidentText
+	db "@"
+
+ReceivedSilphCoMasterBallText:
+	TX_FAR _ReceivedSilphCoMasterBallText
+	TX_SFX_KEY_ITEM
+	db "@"
+
+SilphCo10Text_6231c:
+	TX_FAR _SilphCo10Text_6231c
+	db "@"
+
+SilphCoMasterBallNoRoomText:
+	TX_FAR _SilphCoMasterBallNoRoomText
+	db "@"
+
+SilphCo11Text2:
+	TX_FAR _SilphCo11Text2
+	db "@"
+
+SilphCo11Text3:
+	TX_FAR _SilphCo11Text3
+	db "@"
+
+SilphCo10Text_62330:
+	TX_FAR _SilphCo10Text_62330
+	db "@"
+
+SilphCo11Text6:
+	TX_FAR _SilphCo10Text_62335
+	db "@"
+
+SilphCo11Text4:
+	TX_ASM
+	ld hl, SilphCo11TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo11BattleText1:
+	TX_FAR _SilphCo11BattleText1
+	db "@"
+
+SilphCo11EndBattleText1:
+	TX_FAR _SilphCo11EndBattleText1
+	db "@"
+
+SilphCo11AfterBattleText1:
+	TX_FAR _SilphCo11AfterBattleText1
+	db "@"
+
+SilphCo11Text5:
+	TX_ASM
+	ld hl, SilphCo11TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo11BattleText2:
+	TX_FAR _SilphCo11BattleText2
+	db "@"
+
+SilphCo11EndBattleText2:
+	TX_FAR _SilphCo11EndBattleText2
+	db "@"
+
+SilphCo11AfterBattleText2:
+	TX_FAR _SilphCo11AfterBattleText2
+	db "@"
+
+SilphCo10Text_6236c:
+	TX_ASM
+	ld hl, SilphCo10Text_6237b
+	call PrintText
+	ld a, PORYGON
+	call DisplayPokedex
+	jp TextScriptEnd
+
+SilphCo10Text_6237b:
+	TX_FAR _SilphCo10Text_6237b
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo1F.asm
@@ -1,0 +1,16 @@
+SilphCo1F_Script:
+	call EnableAutoTextBoxDrawing
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	ret z
+	CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK
+	ret nz
+	ld a, HS_SILPH_CO_1F_RECEPTIONIST
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+
+SilphCo1F_TextPointers:
+	dw SilphCo1Text1
+
+SilphCo1Text1:
+	TX_FAR _SilphCo1Text1
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo2F.asm
@@ -1,0 +1,245 @@
+SilphCo2F_Script:
+	call SilphCo2Script_59d07
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo2TrainerHeader0
+	ld de, SilphCo2F_ScriptPointers
+	ld a, [wSilphCo2FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo2FCurScript], a
+	ret
+
+SilphCo2Script_59d07:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo2GateCoords
+	call SilphCo2Script_59d43
+	call SilphCo2Script_59d6f
+	CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1
+	jr nz, .asm_59d2e
+	push af
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 2, 2
+	predef ReplaceTileBlock
+	pop af
+.asm_59d2e
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1
+	ret nz
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 5, 2
+	predef_jump ReplaceTileBlock
+
+SilphCo2GateCoords:
+	db $02,$02
+	db $05,$02
+	db $FF
+
+SilphCo2Script_59d43:
+	push hl
+	ld hl, wCardKeyDoorY
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld c, a
+	xor a
+	ld [$ffe0], a
+	pop hl
+.asm_59d4f
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_59d6b
+	push hl
+	ld hl, $ffe0
+	inc [hl]
+	pop hl
+	cp b
+	jr z, .asm_59d60
+	inc hl
+	jr .asm_59d4f
+.asm_59d60
+	ld a, [hli]
+	cp c
+	jr nz, .asm_59d4f
+	ld hl, wCardKeyDoorY
+	xor a
+	ld [hli], a
+	ld [hl], a
+	ret
+.asm_59d6b
+	xor a
+	ld [$ffe0], a
+	ret
+
+SilphCo2Script_59d6f:
+	EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1
+	ld a, [$ffe0]
+	and a
+	ret z
+	cp $1
+	jr nz, .next
+	SetEventReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR1
+	ret
+.next
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1
+	ret
+
+SilphCo2F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo2F_TextPointers:
+	dw SilphCo2Text1
+	dw SilphCo2Text2
+	dw SilphCo2Text3
+	dw SilphCo2Text4
+	dw SilphCo2Text5
+
+SilphCo2TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0
+	dw SilphCo2BattleText1 ; TextBeforeBattle
+	dw SilphCo2AfterBattleText1 ; TextAfterBattle
+	dw SilphCo2EndBattleText1 ; TextEndBattle
+	dw SilphCo2EndBattleText1 ; TextEndBattle
+
+SilphCo2TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1
+	dw SilphCo2BattleText2 ; TextBeforeBattle
+	dw SilphCo2AfterBattleText2 ; TextAfterBattle
+	dw SilphCo2EndBattleText2 ; TextEndBattle
+	dw SilphCo2EndBattleText2 ; TextEndBattle
+
+SilphCo2TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2
+	dw SilphCo2BattleText3 ; TextBeforeBattle
+	dw SilphCo2AfterBattleText3 ; TextAfterBattle
+	dw SilphCo2EndBattleText3 ; TextEndBattle
+	dw SilphCo2EndBattleText3 ; TextEndBattle
+
+SilphCo2TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3
+	dw SilphCo2BattleText4 ; TextBeforeBattle
+	dw SilphCo2AfterBattleText4 ; TextAfterBattle
+	dw SilphCo2EndBattleText4 ; TextEndBattle
+	dw SilphCo2EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+SilphCo2Text1:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM36
+	jr nz, .asm_59de4
+	ld hl, SilphCo2Text_59ded
+	call PrintText
+	lb bc, TM_36, 1
+	call GiveItem
+	ld hl, TM36NoRoomText
+	jr nc, .asm_59de7
+	SetEvent EVENT_GOT_TM36
+	ld hl, ReceivedTM36Text
+	jr .asm_59de7
+.asm_59de4
+	ld hl, TM36ExplanationText
+.asm_59de7
+	call PrintText
+	jp TextScriptEnd
+
+SilphCo2Text_59ded:
+	TX_FAR _SilphCo2Text_59ded
+	db "@"
+
+ReceivedTM36Text:
+	TX_FAR _ReceivedTM36Text
+	TX_SFX_ITEM_1
+	db "@"
+
+TM36ExplanationText:
+	TX_FAR _TM36ExplanationText
+	db "@"
+
+TM36NoRoomText:
+	TX_FAR _TM36NoRoomText
+	db "@"
+
+SilphCo2Text2:
+	TX_ASM
+	ld hl, SilphCo2TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo2Text3:
+	TX_ASM
+	ld hl, SilphCo2TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo2Text4:
+	TX_ASM
+	ld hl, SilphCo2TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo2Text5:
+	TX_ASM
+	ld hl, SilphCo2TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo2BattleText1:
+	TX_FAR _SilphCo2BattleText1
+	db "@"
+
+SilphCo2EndBattleText1:
+	TX_FAR _SilphCo2EndBattleText1
+	db "@"
+
+SilphCo2AfterBattleText1:
+	TX_FAR _SilphCo2AfterBattleText1
+	db "@"
+
+SilphCo2BattleText2:
+	TX_FAR _SilphCo2BattleText2
+	db "@"
+
+SilphCo2EndBattleText2:
+	TX_FAR _SilphCo2EndBattleText2
+	db "@"
+
+SilphCo2AfterBattleText2:
+	TX_FAR _SilphCo2AfterBattleText2
+	db "@"
+
+SilphCo2BattleText3:
+	TX_FAR _SilphCo2BattleText3
+	db "@"
+
+SilphCo2EndBattleText3:
+	TX_FAR _SilphCo2EndBattleText3
+	db "@"
+
+SilphCo2AfterBattleText3:
+	TX_FAR _SilphCo2AfterBattleText3
+	db "@"
+
+SilphCo2BattleText4:
+	TX_FAR _SilphCo2BattleText4
+	db "@"
+
+SilphCo2EndBattleText4:
+	TX_FAR _SilphCo2EndBattleText4
+	db "@"
+
+SilphCo2AfterBattleText4:
+	TX_FAR _SilphCo2AfterBattleText4
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo3F.asm
@@ -1,0 +1,136 @@
+SilphCo3F_Script:
+	call SilphCo3Script_59f71
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo3TrainerHeader0
+	ld de, SilphCo3F_ScriptPointers
+	ld a, [wSilphCo3FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo3FCurScript], a
+	ret
+
+SilphCo3Script_59f71:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo3GateCoords
+	call SilphCo2Script_59d43
+	call SilphCo3Script_59fad
+	CheckEvent EVENT_SILPH_CO_3_UNLOCKED_DOOR1
+	jr nz, .asm_59f98
+	push af
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 4, 4
+	predef ReplaceTileBlock
+	pop af
+.asm_59f98
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1
+	ret nz
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 4, 8
+	predef_jump ReplaceTileBlock
+
+SilphCo3GateCoords:
+	db $04,$04
+	db $04,$08
+	db $FF
+
+SilphCo3Script_59fad:
+	EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1
+	ld a, [$ffe0]
+	and a
+	ret z
+	cp $1
+	jr nz, .next
+	SetEventReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR1
+	ret
+.next
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1
+	ret
+
+SilphCo3F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo3F_TextPointers:
+	dw SilphCo3Text1
+	dw SilphCo3Text2
+	dw SilphCo3Text3
+	dw PickUpItemText
+
+SilphCo3TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_0
+	dw SilphCo3BattleText1 ; TextBeforeBattle
+	dw SilphCo3AfterBattleText1 ; TextAfterBattle
+	dw SilphCo3EndBattleText1 ; TextEndBattle
+	dw SilphCo3EndBattleText1 ; TextEndBattle
+
+SilphCo3TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_1
+	dw SilphCo3BattleText2 ; TextBeforeBattle
+	dw SilphCo3AfterBattleText2 ; TextAfterBattle
+	dw SilphCo3EndBattleText2 ; TextEndBattle
+	dw SilphCo3EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+SilphCo3Text1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	ld hl, SilphCo3Text_59ffe
+	jr nz, .asm_59fee
+	ld hl, SilphCo3Text_59ff9
+.asm_59fee
+	call PrintText
+	jp TextScriptEnd
+
+SilphCo3Text_59ff9:
+	TX_FAR _SilphCo3Text_59ff9
+	db "@"
+
+SilphCo3Text_59ffe:
+	TX_FAR _SilphCo3Text_59ffe
+	db "@"
+
+SilphCo3Text2:
+	TX_ASM
+	ld hl, SilphCo3TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo3BattleText1:
+	TX_FAR _SilphCo3BattleText1
+	db "@"
+
+SilphCo3EndBattleText1:
+	TX_FAR _SilphCo3EndBattleText1
+	db "@"
+
+SilphCo3AfterBattleText1:
+	TX_FAR _SilphCo3AfterBattleText1
+	db "@"
+
+SilphCo3Text3:
+	TX_ASM
+	ld hl, SilphCo3TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo3BattleText2:
+	TX_FAR _SilphCo3BattleText2
+	db "@"
+
+SilphCo3EndBattleText2:
+	TX_FAR _SilphCo3EndBattleText2
+	db "@"
+
+SilphCo3AfterBattleText2:
+	TX_FAR _SilphCo3AfterBattleText2
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo4F.asm
@@ -1,0 +1,199 @@
+SilphCo4F_Script:
+	call SilphCo4Script_19d21
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo4TrainerHeader0
+	ld de, SilphCo4F_ScriptPointers
+	ld a, [wSilphCo4FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo4FCurScript], a
+	ret
+
+SilphCo4Script_19d21:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo4GateCoords
+	call SilphCo4Script_19d5d
+	call SilphCo4Script_19d89
+	CheckEvent EVENT_SILPH_CO_4_UNLOCKED_DOOR1
+	jr nz, .asm_19d48
+	push af
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 6, 2
+	predef ReplaceTileBlock
+	pop af
+.asm_19d48
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1
+	ret nz
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 4, 6
+	predef_jump ReplaceTileBlock
+
+SilphCo4GateCoords:
+	db $06,$02
+	db $04,$06
+	db $FF
+
+SilphCo4Script_19d5d:
+	push hl
+	ld hl, wCardKeyDoorY
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld c, a
+	xor a
+	ld [$ffe0], a
+	pop hl
+.asm_19d69
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_19d85
+	push hl
+	ld hl, $ffe0
+	inc [hl]
+	pop hl
+	cp b
+	jr z, .asm_19d7a
+	inc hl
+	jr .asm_19d69
+.asm_19d7a
+	ld a, [hli]
+	cp c
+	jr nz, .asm_19d69
+	ld hl, wCardKeyDoorY
+	xor a
+	ld [hli], a
+	ld [hl], a
+	ret
+.asm_19d85
+	xor a
+	ld [$ffe0], a
+	ret
+
+SilphCo4Script_19d89:
+	EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1
+	ld a, [$ffe0]
+	and a
+	ret z
+	cp $1
+	jr nz, .next
+	SetEventReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR1
+	ret
+.next
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1
+	ret
+
+SilphCo4F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo4F_TextPointers:
+	dw SilphCo4Text1
+	dw SilphCo4Text2
+	dw SilphCo4Text3
+	dw SilphCo4Text4
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+
+SilphCo4TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_0
+	dw SilphCo4BattleText2 ; TextBeforeBattle
+	dw SilphCo4AfterBattleText2 ; TextAfterBattle
+	dw SilphCo4EndBattleText2 ; TextEndBattle
+	dw SilphCo4EndBattleText2 ; TextEndBattle
+
+SilphCo4TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_1
+	dw SilphCo4BattleText3 ; TextBeforeBattle
+	dw SilphCo4AfterBattleText3 ; TextAfterBattle
+	dw SilphCo4EndBattleText3 ; TextEndBattle
+	dw SilphCo4EndBattleText3 ; TextEndBattle
+
+SilphCo4TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_2
+	dw SilphCo4BattleText4 ; TextBeforeBattle
+	dw SilphCo4AfterBattleText4 ; TextAfterBattle
+	dw SilphCo4EndBattleText4 ; TextEndBattle
+	dw SilphCo4EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+SilphCo4Text1:
+	TX_ASM
+	ld hl, SilphCo4Text_19de0
+	ld de, SilphCo4Text_19de5
+	call SilphCo6Script_1a22f
+	jp TextScriptEnd
+
+SilphCo4Text_19de0:
+	TX_FAR _SilphCo4Text_19de0
+	db "@"
+
+SilphCo4Text_19de5:
+	TX_FAR _SilphCo4Text_19de5
+	db "@"
+
+SilphCo4Text2:
+	TX_ASM
+	ld hl, SilphCo4TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo4BattleText2:
+	TX_FAR _SilphCo4BattleText2
+	db "@"
+
+SilphCo4EndBattleText2:
+	TX_FAR _SilphCo4EndBattleText2
+	db "@"
+
+SilphCo4AfterBattleText2:
+	TX_FAR _SilphCo4AfterBattleText2
+	db "@"
+
+SilphCo4Text3:
+	TX_ASM
+	ld hl, SilphCo4TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo4BattleText3:
+	TX_FAR _SilphCo4BattleText3
+	db "@"
+
+SilphCo4EndBattleText3:
+	TX_FAR _SilphCo4EndBattleText3
+	db "@"
+
+SilphCo4AfterBattleText3:
+	TX_FAR _SilphCo4AfterBattleText3
+	db "@"
+
+SilphCo4Text4:
+	TX_ASM
+	ld hl, SilphCo4TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo4BattleText4:
+	TX_FAR _SilphCo4BattleText4
+	db "@"
+
+SilphCo4EndBattleText4:
+	TX_FAR _SilphCo4EndBattleText4
+	db "@"
+
+SilphCo4AfterBattleText4:
+	TX_FAR _SilphCo4AfterBattleText4
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo5F.asm
@@ -1,0 +1,221 @@
+SilphCo5F_Script:
+	call SilphCo5Script_19f4d
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo5TrainerHeader0
+	ld de, SilphCo5F_ScriptPointers
+	ld a, [wSilphCo5FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo5FCurScript], a
+	ret
+
+SilphCo5Script_19f4d:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo5GateCoords
+	call SilphCo4Script_19d5d
+	call SilphCo5Script_19f9e
+	CheckEvent EVENT_SILPH_CO_5_UNLOCKED_DOOR1
+	jr nz, .asm_19f74
+	push af
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 2, 3
+	predef ReplaceTileBlock
+	pop af
+.asm_19f74
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
+	jr nz, .asm_19f87
+	push af
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 6, 3
+	predef ReplaceTileBlock
+	pop af
+.asm_19f87
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR2
+	ret nz
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 5, 7
+	predef_jump ReplaceTileBlock
+
+SilphCo5GateCoords:
+	db $02,$03
+	db $06,$03
+	db $05,$07
+	db $FF
+
+SilphCo5Script_19f9e:
+	EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
+	ld a, [$ffe0]
+	and a
+	ret z
+	cp $1
+	jr nz, .next1
+	SetEventReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR1
+	ret
+.next1
+	cp $2
+	jr nz, .next2
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
+	ret
+.next2
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
+	ret
+
+SilphCo5F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo5F_TextPointers:
+	dw SilphCo5Text1
+	dw SilphCo5Text2
+	dw SilphCo5Text3
+	dw SilphCo5Text4
+	dw SilphCo5Text5
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw SilphCo5Text9
+	dw SilphCo5Text10
+	dw SilphCo5Text11
+
+SilphCo5TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_0
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_0
+	dw SilphCo5BattleText2 ; TextBeforeBattle
+	dw SilphCo5AfterBattleText2 ; TextAfterBattle
+	dw SilphCo5EndBattleText2 ; TextEndBattle
+	dw SilphCo5EndBattleText2 ; TextEndBattle
+
+SilphCo5TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_1
+	dw SilphCo5BattleText3 ; TextBeforeBattle
+	dw SilphCo5AfterBattleText3 ; TextAfterBattle
+	dw SilphCo5EndBattleText3 ; TextEndBattle
+	dw SilphCo5EndBattleText3 ; TextEndBattle
+
+SilphCo5TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_2
+	dw SilphCo5BattleText4 ; TextBeforeBattle
+	dw SilphCo5AfterBattleText4 ; TextAfterBattle
+	dw SilphCo5EndBattleText4 ; TextEndBattle
+	dw SilphCo5EndBattleText4 ; TextEndBattle
+
+SilphCo5TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_3
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_3
+	dw SilphCo5BattleText5 ; TextBeforeBattle
+	dw SilphCo5AfterBattleText5 ; TextAfterBattle
+	dw SilphCo5EndBattleText5 ; TextEndBattle
+	dw SilphCo5EndBattleText5 ; TextEndBattle
+
+	db $ff
+
+SilphCo5Text1:
+	TX_ASM
+	ld hl, SilphCo5Text_1a010
+	ld de, SilphCo5Text_1a015
+	call SilphCo6Script_1a22f
+	jp TextScriptEnd
+
+SilphCo5Text_1a010:
+	TX_FAR _SilphCo5Text_1a010
+	db "@"
+
+SilphCo5Text_1a015:
+	TX_FAR _SilphCo5Text_1a015
+	db "@"
+
+SilphCo5Text2:
+	TX_ASM
+	ld hl, SilphCo5TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo5BattleText2:
+	TX_FAR _SilphCo5BattleText2
+	db "@"
+
+SilphCo5EndBattleText2:
+	TX_FAR _SilphCo5EndBattleText2
+	db "@"
+
+SilphCo5AfterBattleText2:
+	TX_FAR _SilphCo5AfterBattleText2
+	db "@"
+
+SilphCo5Text3:
+	TX_ASM
+	ld hl, SilphCo5TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo5BattleText3:
+	TX_FAR _SilphCo5BattleText3
+	db "@"
+
+SilphCo5EndBattleText3:
+	TX_FAR _SilphCo5EndBattleText3
+	db "@"
+
+SilphCo5AfterBattleText3:
+	TX_FAR _SilphCo5AfterBattleText3
+	db "@"
+
+SilphCo5Text4:
+	TX_ASM
+	ld hl, SilphCo5TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo5BattleText4:
+	TX_FAR _SilphCo5BattleText4
+	db "@"
+
+SilphCo5EndBattleText4:
+	TX_FAR _SilphCo5EndBattleText4
+	db "@"
+
+SilphCo5AfterBattleText4:
+	TX_FAR _SilphCo5AfterBattleText4
+	db "@"
+
+SilphCo5Text5:
+	TX_ASM
+	ld hl, SilphCo5TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo5BattleText5:
+	TX_FAR _SilphCo5BattleText5
+	db "@"
+
+SilphCo5EndBattleText5:
+	TX_FAR _SilphCo5EndBattleText5
+	db "@"
+
+SilphCo5AfterBattleText5:
+	TX_FAR _SilphCo5AfterBattleText5
+	db "@"
+
+SilphCo5Text9:
+	TX_FAR _SilphCo5Text9
+	db "@"
+
+SilphCo5Text10:
+	TX_FAR _SilphCo5Text10
+	db "@"
+
+SilphCo5Text11:
+	TX_FAR _SilphCo5Text11
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo6F.asm
@@ -1,0 +1,220 @@
+SilphCo6F_Script:
+	call SilphCo6Script_1a1bf
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo6TrainerHeader0
+	ld de, SilphCo6F_ScriptPointers
+	ld a, [wSilphCo6FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo6FCurScript], a
+	ret
+
+SilphCo6Script_1a1bf:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo6GateCoords
+	call SilphCo4Script_19d5d
+	call SilphCo6Script_1a1e6
+	CheckEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR
+	ret nz
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 6, 2
+	predef_jump ReplaceTileBlock
+
+SilphCo6GateCoords:
+	db $06,$02
+	db $FF
+
+SilphCo6Script_1a1e6:
+	ld a, [$ffe0]
+	and a
+	ret z
+	SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR
+	ret
+
+SilphCo6F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo6F_TextPointers:
+	dw SilphCo6Text1
+	dw SilphCo6Text2
+	dw SilphCo6Text3
+	dw SilphCo6Text4
+	dw SilphCo6Text5
+	dw SilphCo6Text6
+	dw SilphCo6Text7
+	dw SilphCo6Text8
+	dw PickUpItemText
+	dw PickUpItemText
+
+SilphCo6TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_0
+	dw SilphCo6BattleText2 ; TextBeforeBattle
+	dw SilphCo6AfterBattleText2 ; TextAfterBattle
+	dw SilphCo6EndBattleText2 ; TextEndBattle
+	dw SilphCo6EndBattleText2 ; TextEndBattle
+
+SilphCo6TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_1
+	dw SilphCo6BattleText3 ; TextBeforeBattle
+	dw SilphCo6AfterBattleText3 ; TextAfterBattle
+	dw SilphCo6EndBattleText3 ; TextEndBattle
+	dw SilphCo6EndBattleText3 ; TextEndBattle
+
+SilphCo6TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1
+	dw SilphCo6BattleText4 ; TextBeforeBattle
+	dw SilphCo6AfterBattleText4 ; TextAfterBattle
+	dw SilphCo6EndBattleText4 ; TextEndBattle
+	dw SilphCo6EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+SilphCo6Script_1a22f:
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	jr nz, .asm_1a238
+	jr .asm_1a23a
+.asm_1a238
+	ld h, d
+	ld l, e
+.asm_1a23a
+	jp PrintText
+
+SilphCo6Text1:
+	TX_ASM
+	ld hl, SilphCo6Text_1a24a
+	ld de, SilphCo6Text_1a24f
+	call SilphCo6Script_1a22f
+	jp TextScriptEnd
+
+SilphCo6Text_1a24a:
+	TX_FAR _SilphCo6Text_1a24a
+	db "@"
+
+SilphCo6Text_1a24f:
+	TX_FAR _SilphCo6Text_1a24f
+	db "@"
+
+SilphCo6Text2:
+	TX_ASM
+	ld hl, SilphCo6Text_1a261
+	ld de, SilphCo6Text_1a266
+	call SilphCo6Script_1a22f
+	jp TextScriptEnd
+
+SilphCo6Text_1a261:
+	TX_FAR _SilphCo6Text_1a261
+	db "@"
+
+SilphCo6Text_1a266:
+	TX_FAR _SilphCo6Text_1a266
+	db "@"
+
+SilphCo6Text3:
+	TX_ASM
+	ld hl, SilphCo6Text_1a278
+	ld de, SilphCo6Text_1a27d
+	call SilphCo6Script_1a22f
+	jp TextScriptEnd
+
+SilphCo6Text_1a278:
+	TX_FAR _SilphCo6Text_1a278
+	db "@"
+
+SilphCo6Text_1a27d:
+	TX_FAR _SilphCo6Text_1a27d
+	db "@"
+
+SilphCo6Text4:
+	TX_ASM
+	ld hl, SilphCo6Text_1a28f
+	ld de, SilphCo6Text_1a294
+	call SilphCo6Script_1a22f
+	jp TextScriptEnd
+
+SilphCo6Text_1a28f:
+	TX_FAR _SilphCo6Text_1a28f
+	db "@"
+
+SilphCo6Text_1a294:
+	TX_FAR _SilphCo6Text_1a294
+	db "@"
+
+SilphCo6Text5:
+	TX_ASM
+	ld hl, SilphCo6Text_1a2a6
+	ld de, SilphCo6Text_1a2ab
+	call SilphCo6Script_1a22f
+	jp TextScriptEnd
+
+SilphCo6Text_1a2a6:
+	TX_FAR _SilphCo6Text_1a2a6
+	db "@"
+
+SilphCo6Text_1a2ab:
+	TX_FAR _SilphCo6Text_1a2ab
+	db "@"
+
+SilphCo6Text6:
+	TX_ASM
+	ld hl, SilphCo6TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo6BattleText2:
+	TX_FAR _SilphCo6BattleText2
+	db "@"
+
+SilphCo6EndBattleText2:
+	TX_FAR _SilphCo6EndBattleText2
+	db "@"
+
+SilphCo6AfterBattleText2:
+	TX_FAR _SilphCo6AfterBattleText2
+	db "@"
+
+SilphCo6Text7:
+	TX_ASM
+	ld hl, SilphCo6TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo6BattleText3:
+	TX_FAR _SilphCo6BattleText3
+	db "@"
+
+SilphCo6EndBattleText3:
+	TX_FAR _SilphCo6EndBattleText3
+	db "@"
+
+SilphCo6AfterBattleText3:
+	TX_FAR _SilphCo6AfterBattleText3
+	db "@"
+
+SilphCo6Text8:
+	TX_ASM
+	ld hl, SilphCo6TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo6BattleText4:
+	TX_FAR _SilphCo6BattleText4
+	db "@"
+
+SilphCo6EndBattleText4:
+	TX_FAR _SilphCo6EndBattleText4
+	db "@"
+
+SilphCo6AfterBattleText4:
+	TX_FAR _SilphCo6AfterBattleText4
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo7F.asm
@@ -1,0 +1,527 @@
+SilphCo7F_Script:
+	call SilphCo7Script_51b77
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo7TrainerHeader0
+	ld de, SilphCo7F_ScriptPointers
+	ld a, [wSilphCo7FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo7FCurScript], a
+	ret
+
+SilphCo7Script_51b77:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo7GateCoords
+	call SilphCo7Text_51bc8
+	call SilphCo7Text_51bf4
+	CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1
+	jr nz, .asm_51b9e
+	push af
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 3, 5
+	predef ReplaceTileBlock
+	pop af
+.asm_51b9e
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
+	jr nz, .asm_51bb1
+	push af
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 2, 10
+	predef ReplaceTileBlock
+	pop af
+.asm_51bb1
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR2
+	ret nz
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 6, 10
+	predef_jump ReplaceTileBlock
+
+SilphCo7GateCoords:
+	db $03,$05
+	db $02,$0A
+	db $06,$0A
+	db $FF
+
+SilphCo7Text_51bc8:
+	push hl
+	ld hl, wCardKeyDoorY
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld c, a
+	xor a
+	ld [$ffe0], a
+	pop hl
+.asm_51bd4
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_51bf0
+	push hl
+	ld hl, $ffe0
+	inc [hl]
+	pop hl
+	cp b
+	jr z, .asm_51be5
+	inc hl
+	jr .asm_51bd4
+.asm_51be5
+	ld a, [hli]
+	cp c
+	jr nz, .asm_51bd4
+	ld hl, wCardKeyDoorY
+	xor a
+	ld [hli], a
+	ld [hl], a
+	ret
+.asm_51bf0
+	xor a
+	ld [$ffe0], a
+	ret
+
+SilphCo7Text_51bf4:
+	EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
+	ld a, [$ffe0]
+	and a
+	ret z
+	cp $1
+	jr nz, .next1
+	SetEventReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR1
+	ret
+.next1
+	cp $2
+	jr nz, .next2
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
+	ret
+.next2
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
+	ret
+
+SilphCo7Text_51c0c:
+	xor a
+	ld [wJoyIgnore], a
+
+SilphCo7Text_51c10:
+	ld [wSilphCo7FCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+SilphCo7F_ScriptPointers:
+	dw SilphCo7Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw SilphCo7Script3
+	dw SilphCo7Script4
+	dw SilphCo7Script5
+
+SilphCo7Script0:
+	CheckEvent EVENT_BEAT_SILPH_CO_RIVAL
+	jp nz, CheckFightingMapTrainers
+	ld hl, CoordsData_51c78
+	call ArePlayerCoordsInArray
+	jp nc, CheckFightingMapTrainers
+	xor a
+	ld [hJoyHeld], a
+	ld a, $f0
+	ld [wJoyIgnore], a
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	ld c, BANK(Music_MeetRival)
+	ld a, MUSIC_MEET_RIVAL
+	call PlayMusic
+	ld a, $9
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $9
+	ld [H_SPRITEINDEX], a
+	call SetSpriteMovementBytesToFF
+	ld de, MovementData_51c7d
+	ld a, [wCoordIndex]
+	ld [wcf0d], a
+	cp $1
+	jr z, .asm_51c6c
+	inc de
+.asm_51c6c
+	ld a, $9
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $3
+	jp SilphCo7Text_51c10
+
+CoordsData_51c78:
+	db $02,$03
+	db $03,$03
+	db $FF
+
+MovementData_51c7d:
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db $FF
+
+SilphCo7Script3:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $d
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	call Delay3
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, SilphCo7Text14
+	ld de, SilphCo7Text_51ecd
+	call SaveEndBattleTextPointers
+	ld a, OPP_SONY2
+	ld [wCurOpponent], a
+	ld a, [wRivalStarter]
+	cp STARTER2
+	jr nz, .asm_51cb6
+	ld a, $7
+	jr .asm_51cc0
+.asm_51cb6
+	cp STARTER3
+	jr nz, .asm_51cbe
+	ld a, $8
+	jr .asm_51cc0
+.asm_51cbe
+	ld a, $9
+.asm_51cc0
+	ld [wTrainerNo], a
+	ld a, $4
+	jp SilphCo7Text_51c10
+
+SilphCo7Script4:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, SilphCo7Text_51c0c
+	ld a, $f0
+	ld [wJoyIgnore], a
+	SetEvent EVENT_BEAT_SILPH_CO_RIVAL
+	ld a, PLAYER_DIR_DOWN
+	ld [wPlayerMovingDirection], a
+	ld a, $9
+	ld [H_SPRITEINDEX], a
+	ld a, SPRITE_FACING_UP
+	ld [hSpriteFacingDirection], a
+	call SetSpriteFacingDirectionAndDelay
+	ld a, $f
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld a, $ff
+	ld [wNewSoundID], a
+	call PlaySound
+	callba Music_RivalAlternateStart
+	ld de, MovementData_51d1d
+	ld a, [wcf0d]
+	cp $1
+	jr nz, .asm_51d0e
+	ld de, MovementData_51d1a
+.asm_51d0e
+	ld a, $9
+	ld [H_SPRITEINDEX], a
+	call MoveSprite
+	ld a, $5
+	jp SilphCo7Text_51c10
+
+MovementData_51d1a:
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db $FF
+
+MovementData_51d1d:
+	db NPC_MOVEMENT_LEFT
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_UP
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_RIGHT
+	db NPC_MOVEMENT_DOWN
+	db $FF
+
+SilphCo7Script5:
+	ld a, [wd730]
+	bit 0, a
+	ret nz
+	ld a, HS_SILPH_CO_7F_RIVAL
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call PlayDefaultMusic
+	xor a
+	ld [wJoyIgnore], a
+	jp SilphCo7Text_51c10
+
+SilphCo7F_TextPointers:
+	dw SilphCo7Text1
+	dw SilphCo7Text2
+	dw SilphCo7Text3
+	dw SilphCo7Text4
+	dw SilphCo7Text5
+	dw SilphCo7Text6
+	dw SilphCo7Text7
+	dw SilphCo7Text8
+	dw SilphCo7Text9
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw SilphCo7Text13
+	dw SilphCo7Text14
+	dw SilphCo7Text15
+
+SilphCo7TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0
+	dw SilphCo7BattleText1 ; TextBeforeBattle
+	dw SilphCo7AfterBattleText1 ; TextAfterBattle
+	dw SilphCo7EndBattleText1 ; TextEndBattle
+	dw SilphCo7EndBattleText1 ; TextEndBattle
+
+SilphCo7TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_1
+	dw SilphCo7BattleText2 ; TextBeforeBattle
+	dw SilphCo7AfterBattleText2 ; TextAfterBattle
+	dw SilphCo7EndBattleText2 ; TextEndBattle
+	dw SilphCo7EndBattleText2 ; TextEndBattle
+
+SilphCo7TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2
+	dw SilphCo7BattleText3 ; TextBeforeBattle
+	dw SilphCo7AfterBattleText3 ; TextAfterBattle
+	dw SilphCo7EndBattleText3 ; TextEndBattle
+	dw SilphCo7EndBattleText3 ; TextEndBattle
+
+SilphCo7TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1
+	dw SilphCo7BattleText4 ; TextBeforeBattle
+	dw SilphCo7AfterBattleText4 ; TextAfterBattle
+	dw SilphCo7EndBattleText4 ; TextEndBattle
+	dw SilphCo7EndBattleText4 ; TextEndBattle
+
+	db $ff
+
+SilphCo7Text1:
+; lapras guy
+	TX_ASM
+	ld a, [wd72e]
+	bit 0, a ; got lapras?
+	jr z, .givelapras
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	jr nz, .savedsilph
+	ld hl, .LaprasGuyText
+	call PrintText
+	jr .done
+.givelapras
+	ld hl, .MeetLaprasGuyText
+	call PrintText
+	lb bc, LAPRAS, 15
+	call GivePokemon
+	jr nc, .done
+	ld a, [wSimulatedJoypadStatesEnd]
+	and a
+	call z, WaitForTextScrollButtonPress
+	call EnableAutoTextBoxDrawing
+	ld hl, .HeresYourLaprasText
+	call PrintText
+	ld hl, wd72e
+	set 0, [hl]
+	jr .done
+.savedsilph
+	ld hl, .LaprasGuySavedText
+	call PrintText
+.done
+	jp TextScriptEnd
+
+.MeetLaprasGuyText
+	TX_FAR _MeetLaprasGuyText
+	db "@"
+
+.HeresYourLaprasText
+	TX_FAR _HeresYourLaprasText
+	db "@"
+
+.LaprasGuyText
+	TX_FAR _LaprasGuyText
+	db "@"
+
+.LaprasGuySavedText
+	TX_FAR _LaprasGuySavedText
+	db "@"
+
+SilphCo7Text2:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	jr nz, .savedsilph
+	ld hl, .rockettext
+	call PrintText
+	jr .done
+.savedsilph
+	ld hl, .savedtext
+	call PrintText
+.done
+	jp TextScriptEnd
+
+.rockettext
+	TX_FAR _SilphCo7Text_51e00
+	db "@"
+
+.savedtext
+	TX_FAR _CanceledMasterBallText
+	db "@"
+
+SilphCo7Text3:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	jr nz, .savedsilph
+	ld hl, .rockettext
+	call PrintText
+	jr .done
+.savedsilph
+	ld hl, .savedtext
+	call PrintText
+.done
+	jp TextScriptEnd
+
+.rockettext
+	TX_FAR _SilphCo7Text_51e23
+	db "@"
+
+.savedtext
+	TX_FAR _SilphCo7Text_51e28
+	db "@"
+
+SilphCo7Text4:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	jr nz, .savedsilph
+	ld hl, .rockettext
+	call PrintText
+	jr .done
+.savedsilph
+	ld hl, .savedtext
+	call PrintText
+.done
+	jp TextScriptEnd
+
+.rockettext
+	TX_FAR _SilphCo7Text_51e46
+	db "@"
+
+.savedtext
+	TX_FAR _SilphCo7Text_51e4b
+	db "@"
+
+SilphCo7Text5:
+	TX_ASM
+	ld hl, SilphCo7TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo7BattleText1:
+	TX_FAR _SilphCo7BattleText1
+	db "@"
+
+SilphCo7EndBattleText1:
+	TX_FAR _SilphCo7EndBattleText1
+	db "@"
+
+SilphCo7AfterBattleText1:
+	TX_FAR _SilphCo7AfterBattleText1
+	db "@"
+
+SilphCo7Text6:
+	TX_ASM
+	ld hl, SilphCo7TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo7BattleText2:
+	TX_FAR _SilphCo7BattleText2
+	db "@"
+
+SilphCo7EndBattleText2:
+	TX_FAR _SilphCo7EndBattleText2
+	db "@"
+
+SilphCo7AfterBattleText2:
+	TX_FAR _SilphCo7AfterBattleText2
+	db "@"
+
+SilphCo7Text7:
+	TX_ASM
+	ld hl, SilphCo7TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo7BattleText3:
+	TX_FAR _SilphCo7BattleText3
+	db "@"
+
+SilphCo7EndBattleText3:
+	TX_FAR _SilphCo7EndBattleText3
+	db "@"
+
+SilphCo7AfterBattleText3:
+	TX_FAR _SilphCo7AfterBattleText3
+	db "@"
+
+SilphCo7Text8:
+	TX_ASM
+	ld hl, SilphCo7TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo7BattleText4:
+	TX_FAR _SilphCo7BattleText4
+	db "@"
+
+SilphCo7EndBattleText4:
+	TX_FAR _SilphCo7EndBattleText4
+	db "@"
+
+SilphCo7AfterBattleText4:
+	TX_FAR _SilphCo7AfterBattleText4
+	db "@"
+
+SilphCo7Text9:
+	TX_ASM
+	ld hl, SilphCo7Text_51ebe
+	call PrintText
+	jp TextScriptEnd
+
+SilphCo7Text_51ebe:
+	TX_FAR _SilphCo7Text_51ebe
+	db "@"
+
+SilphCo7Text13:
+	TX_FAR _SilphCo7Text_51ec3
+	db "@"
+
+SilphCo7Text14:
+	TX_FAR _SilphCo7Text_51ec8
+	db "@"
+
+SilphCo7Text_51ecd:
+	TX_FAR _SilphCo7Text_51ecd
+	db "@"
+
+SilphCo7Text15:
+	TX_FAR _SilphCo7Text_51ed2
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo8F.asm
@@ -1,0 +1,183 @@
+SilphCo8F_Script:
+	call SilphCo8Script_5651a
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo8TrainerHeader0
+	ld de, SilphCo8F_ScriptPointers
+	ld a, [wSilphCo8FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo8FCurScript], a
+	ret
+
+SilphCo8Script_5651a:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo8GateCoords
+	call SilphCo8Script_56541
+	call SilphCo8Script_5656d
+	CheckEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR
+	ret nz
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 4, 3
+	predef_jump ReplaceTileBlock
+
+SilphCo8GateCoords:
+	db $04,$03
+	db $FF
+
+SilphCo8Script_56541:
+	push hl
+	ld hl, wCardKeyDoorY
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld c, a
+	xor a
+	ld [$ffe0], a
+	pop hl
+.asm_5654d
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_56569
+	push hl
+	ld hl, $ffe0
+	inc [hl]
+	pop hl
+	cp b
+	jr z, .asm_5655e
+	inc hl
+	jr .asm_5654d
+.asm_5655e
+	ld a, [hli]
+	cp c
+	jr nz, .asm_5654d
+	ld hl, wCardKeyDoorY
+	xor a
+	ld [hli], a
+	ld [hl], a
+	ret
+.asm_56569
+	xor a
+	ld [$ffe0], a
+	ret
+
+SilphCo8Script_5656d:
+	ld a, [$ffe0]
+	and a
+	ret z
+	SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR
+	ret
+
+SilphCo8F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo8F_TextPointers:
+	dw SilphCo8Text1
+	dw SilphCo8Text2
+	dw SilphCo8Text3
+	dw SilphCo8Text4
+
+SilphCo8TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_0
+	dw SilphCo8BattleText1 ; TextBeforeBattle
+	dw SilphCo8AfterBattleText1 ; TextAfterBattle
+	dw SilphCo8EndBattleText1 ; TextEndBattle
+	dw SilphCo8EndBattleText1 ; TextEndBattle
+
+SilphCo8TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_1
+	dw SilphCo8BattleText2 ; TextBeforeBattle
+	dw SilphCo8AfterBattleText2 ; TextAfterBattle
+	dw SilphCo8EndBattleText2 ; TextEndBattle
+	dw SilphCo8EndBattleText2 ; TextEndBattle
+
+SilphCo8TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_2
+	dw SilphCo8BattleText3 ; TextBeforeBattle
+	dw SilphCo8AfterBattleText3 ; TextAfterBattle
+	dw SilphCo8EndBattleText3 ; TextEndBattle
+	dw SilphCo8EndBattleText3 ; TextEndBattle
+
+	db $ff
+
+SilphCo8Text1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	ld hl, SilphCo8Text_565c3
+	jr nz, .asm_565b8
+	ld hl, SilphCo8Text_565be
+.asm_565b8
+	call PrintText
+	jp TextScriptEnd
+
+SilphCo8Text_565be:
+	TX_FAR _SilphCo8Text_565be
+	db "@"
+
+SilphCo8Text_565c3:
+	TX_FAR _SilphCo8Text_565c3
+	db "@"
+
+SilphCo8Text2:
+	TX_ASM
+	ld hl, SilphCo8TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo8Text3:
+	TX_ASM
+	ld hl, SilphCo8TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo8Text4:
+	TX_ASM
+	ld hl, SilphCo8TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo8BattleText1:
+	TX_FAR _SilphCo8BattleText1
+	db "@"
+
+SilphCo8EndBattleText1:
+	TX_FAR _SilphCo8EndBattleText1
+	db "@"
+
+SilphCo8AfterBattleText1:
+	TX_FAR _SilphCo8AfterBattleText1
+	db "@"
+
+SilphCo8BattleText2:
+	TX_FAR _SilphCo8BattleText2
+	db "@"
+
+SilphCo8EndBattleText2:
+	TX_FAR _SilphCo8EndBattleText2
+	db "@"
+
+SilphCo8AfterBattleText2:
+	TX_FAR _SilphCo8AfterBattleText2
+	db "@"
+
+SilphCo8BattleText3:
+	TX_FAR _SilphCo8BattleText3
+	db "@"
+
+SilphCo8EndBattleText3:
+	TX_FAR _SilphCo8EndBattleText3
+	db "@"
+
+SilphCo8AfterBattleText3:
+	TX_FAR _SilphCo8AfterBattleText3
+	db "@"
--- /dev/null
+++ b/scripts/SilphCo9F.asm
@@ -1,0 +1,244 @@
+SilphCo9F_Script:
+	call SilphCo9Script_5d7d1
+	call EnableAutoTextBoxDrawing
+	ld hl, SilphCo9TrainerHeader0
+	ld de, SilphCo9F_ScriptPointers
+	ld a, [wSilphCo9FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wSilphCo9FCurScript], a
+	ret
+
+SilphCo9Script_5d7d1:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	ld hl, SilphCo9GateCoords
+	call SilphCo9Script_5d837
+	call SilphCo9Script_5d863
+	CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1
+	jr nz, .asm_5d7f8
+	push af
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 4, 1
+	predef ReplaceTileBlock
+	pop af
+.asm_5d7f8
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
+	jr nz, .asm_5d80b
+	push af
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 2, 9
+	predef ReplaceTileBlock
+	pop af
+.asm_5d80b
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR2
+	jr nz, .asm_5d81e
+	push af
+	ld a, $54
+	ld [wNewTileBlockID], a
+	lb bc, 5, 9
+	predef ReplaceTileBlock
+	pop af
+.asm_5d81e
+	CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR3
+	ret nz
+	ld a, $5f
+	ld [wNewTileBlockID], a
+	lb bc, 6, 5
+	predef_jump ReplaceTileBlock
+
+SilphCo9GateCoords:
+	db $04,$01
+	db $02,$09
+	db $05,$09
+	db $06,$05
+	db $FF
+
+SilphCo9Script_5d837:
+	push hl
+	ld hl, wCardKeyDoorY
+	ld a, [hli]
+	ld b, a
+	ld a, [hl]
+	ld c, a
+	xor a
+	ld [$ffe0], a
+	pop hl
+.asm_5d843
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_5d85f
+	push hl
+	ld hl, $ffe0
+	inc [hl]
+	pop hl
+	cp b
+	jr z, .asm_5d854
+	inc hl
+	jr .asm_5d843
+.asm_5d854
+	ld a, [hli]
+	cp c
+	jr nz, .asm_5d843
+	ld hl, wCardKeyDoorY
+	xor a
+	ld [hli], a
+	ld [hl], a
+	ret
+.asm_5d85f
+	xor a
+	ld [$ffe0], a
+	ret
+
+SilphCo9Script_5d863:
+	EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
+	ld a, [$ffe0]
+	and a
+	ret z
+	cp $1
+	jr nz, .next1
+	SetEventReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR1
+	ret
+.next1
+	cp $2
+	jr nz, .next2
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
+	ret
+.next2
+	cp $3
+	jr nz, .next3
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
+	ret
+.next3
+	cp $4
+	ret nz
+	SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
+	ret
+
+SilphCo9F_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+SilphCo9F_TextPointers:
+	dw SilphCo9Text1
+	dw SilphCo9Text2
+	dw SilphCo9Text3
+	dw SilphCo9Text4
+
+SilphCo9TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0
+	dw SilphCo9BattleText1 ; TextBeforeBattle
+	dw SilphCo9AfterBattleText1 ; TextAfterBattle
+	dw SilphCo9EndBattleText1 ; TextEndBattle
+	dw SilphCo9EndBattleText1 ; TextEndBattle
+
+SilphCo9TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1
+	dw SilphCo9BattleText2 ; TextBeforeBattle
+	dw SilphCo9AfterBattleText2 ; TextAfterBattle
+	dw SilphCo9EndBattleText2 ; TextEndBattle
+	dw SilphCo9EndBattleText2 ; TextEndBattle
+
+SilphCo9TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2
+	dw SilphCo9BattleText3 ; TextBeforeBattle
+	dw SilphCo9AfterBattleText3 ; TextAfterBattle
+	dw SilphCo9EndBattleText3 ; TextEndBattle
+	dw SilphCo9EndBattleText3 ; TextEndBattle
+
+	db $ff
+
+SilphCo9Text1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
+	jr nz, .asm_5d8dc
+	ld hl, SilphCo9Text_5d8e5
+	call PrintText
+	predef HealParty
+	call GBFadeOutToWhite
+	call Delay3
+	call GBFadeInFromWhite
+	ld hl, SilphCo9Text_5d8ea
+	call PrintText
+	jr .asm_5d8e2
+.asm_5d8dc
+	ld hl, SilphCo9Text_5d8ef
+	call PrintText
+.asm_5d8e2
+	jp TextScriptEnd
+
+SilphCo9Text_5d8e5:
+	TX_FAR _SilphCo9Text_5d8e5
+	db "@"
+
+SilphCo9Text_5d8ea:
+	TX_FAR _SilphCo9Text_5d8ea
+	db "@"
+
+SilphCo9Text_5d8ef:
+	TX_FAR _SilphCo9Text_5d8ef
+	db "@"
+
+SilphCo9Text2:
+	TX_ASM
+	ld hl, SilphCo9TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo9Text3:
+	TX_ASM
+	ld hl, SilphCo9TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo9Text4:
+	TX_ASM
+	ld hl, SilphCo9TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+SilphCo9BattleText1:
+	TX_FAR _SilphCo9BattleText1
+	db "@"
+
+SilphCo9EndBattleText1:
+	TX_FAR _SilphCo9EndBattleText1
+	db "@"
+
+SilphCo9AfterBattleText1:
+	TX_FAR _SilphCo9AfterBattleText1
+	db "@"
+
+SilphCo9BattleText2:
+	TX_FAR _SilphCo9BattleText2
+	db "@"
+
+SilphCo9EndBattleText2:
+	TX_FAR _SilphCo9EndBattleText2
+	db "@"
+
+SilphCo9AfterBattleText2:
+	TX_FAR _SilphCo9AfterBattleText2
+	db "@"
+
+SilphCo9BattleText3:
+	TX_FAR _SilphCo9BattleText3
+	db "@"
+
+SilphCo9EndBattleText3:
+	TX_FAR _SilphCo9EndBattleText3
+	db "@"
+
+SilphCo9AfterBattleText3:
+	TX_FAR _SilphCo9AfterBattleText3
+	db "@"
--- /dev/null
+++ b/scripts/SilphCoElevator.asm
@@ -1,0 +1,88 @@
+SilphCoElevator_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, SilphCoElevatorScript_457dc
+	pop hl
+	bit 7, [hl]
+	res 7, [hl]
+	call nz, SilphCoElevatorScript_45827
+	xor a
+	ld [wAutoTextBoxDrawingControl], a
+	inc a
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ret
+
+SilphCoElevatorScript_457dc:
+	ld hl, wWarpEntries
+	ld a, [wWarpedFromWhichWarp]
+	ld b, a
+	ld a, [wWarpedFromWhichMap]
+	ld c, a
+	call SilphCoElevatorScript_457ea
+
+SilphCoElevatorScript_457ea:
+	inc hl
+	inc hl
+	ld a, b
+	ld [hli], a
+	ld a, c
+	ld [hli], a
+	ret
+
+SilphCoElevatorScript_457f1:
+	ld hl, SilphCoElevatorFloors
+	call LoadItemList
+	ld hl, SilphCoElevatorWarpMaps
+	ld de, wElevatorWarpMaps
+	ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps
+	call CopyData
+	ret
+
+SilphCoElevatorFloors:
+	db $0B ; num elements in list
+	db FLOOR_1F
+	db FLOOR_2F
+	db FLOOR_3F
+	db FLOOR_4F
+	db FLOOR_5F
+	db FLOOR_6F
+	db FLOOR_7F
+	db FLOOR_8F
+	db FLOOR_9F
+	db FLOOR_10F
+	db FLOOR_11F
+	db $FF ; terminator
+
+SilphCoElevatorWarpMaps:
+; first byte is warp number
+; second byte is map number
+; These specify where the player goes after getting out of the elevator.
+	db $03, SILPH_CO_1F
+	db $02, SILPH_CO_2F
+	db $02, SILPH_CO_3F
+	db $02, SILPH_CO_4F
+	db $02, SILPH_CO_5F
+	db $02, SILPH_CO_6F
+	db $02, SILPH_CO_7F
+	db $02, SILPH_CO_8F
+	db $02, SILPH_CO_9F
+	db $02, SILPH_CO_10F
+	db $01, SILPH_CO_11F
+SilphCoElevatorWarpMapsEnd:
+
+SilphCoElevatorScript_45827:
+	call Delay3
+	callba ShakeElevator
+	ret
+
+SilphCoElevator_TextPointers:
+	dw SilphCoElevatorText1
+
+SilphCoElevatorText1:
+	TX_ASM
+	call SilphCoElevatorScript_457f1
+	ld hl, SilphCoElevatorWarpMaps
+	predef DisplayElevatorFloorMenu
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/TradeCenter.asm
@@ -1,0 +1,38 @@
+TradeCenter_Script:
+	call EnableAutoTextBoxDrawing
+	ld a, [hSerialConnectionStatus]
+	cp USING_INTERNAL_CLOCK
+	ld a, SPRITE_FACING_LEFT
+	jr z, .next
+	ld a, SPRITE_FACING_RIGHT
+.next
+	ld [hSpriteFacingDirection], a
+	ld a, $1
+	ld [H_SPRITEINDEX], a
+	call SetSpriteFacingDirection
+	ld hl, wd72d
+	bit 0, [hl]
+	set 0, [hl]
+	ret nz
+	ld hl, wSpriteStateData2 + $14
+	ld a, $8
+	ld [hli], a
+	ld a, $a
+	ld [hl], a
+	ld a, SPRITE_FACING_LEFT
+	ld [wSpriteStateData1 + $19], a
+	ld a, [hSerialConnectionStatus]
+	cp USING_INTERNAL_CLOCK
+	ret z
+	ld a, $7
+	ld [wSpriteStateData2 + $15], a
+	ld a, SPRITE_FACING_RIGHT
+	ld [wSpriteStateData1 + $19], a
+	ret
+
+TradeCenter_TextPointers:
+	dw TradeCenterText1
+
+TradeCenterText1:
+	TX_FAR _TradeCenterText1
+	db "@"
--- /dev/null
+++ b/scripts/UndergroundPathNorthSouth.asm
@@ -1,0 +1,5 @@
+UndergroundPathNorthSouth_Script:
+	jp EnableAutoTextBoxDrawing
+
+UndergroundPathNorthSouth_TextPointers:
+	db "@"
--- /dev/null
+++ b/scripts/UndergroundPathRoute5.asm
@@ -1,0 +1,18 @@
+UndergroundPathRoute5_Script:
+	ld a, ROUTE_5
+	ld [wLastMap], a
+	ret
+
+UndergroundPathEntranceRoute5_5d6af:
+	db "@"
+
+UndergroundPathRoute5_TextPointers:
+	dw UndergroundPathEntranceRoute5Text1
+
+UndergroundPathEntranceRoute5Text1:
+	TX_ASM
+	ld a, $9
+	ld [wWhichTrade], a
+	predef DoInGameTradeDialogue
+	ld hl, UndergroundPathEntranceRoute5_5d6af
+	ret
--- /dev/null
+++ b/scripts/UndergroundPathRoute6.asm
@@ -1,0 +1,11 @@
+UndergroundPathRoute6_Script:
+	ld a, ROUTE_6
+	ld [wLastMap], a
+	jp EnableAutoTextBoxDrawing
+
+UndergroundPathRoute6_TextPointers:
+	dw UndergroundPathEntranceRoute6Text1
+
+UndergroundPathEntranceRoute6Text1:
+	TX_FAR _UndergrdTunnelEntRoute6Text1
+	db "@"
--- /dev/null
+++ b/scripts/UndergroundPathRoute7.asm
@@ -1,0 +1,11 @@
+UndergroundPathRoute7_Script:
+	ld a, ROUTE_7
+	ld [wLastMap], a
+	jp EnableAutoTextBoxDrawing
+
+UndergroundPathRoute7_TextPointers:
+	dw UndergroundPathEntranceRoute7Text1
+
+UndergroundPathEntranceRoute7Text1:
+	TX_FAR _UndergroundPathEntRoute7Text1
+	db "@"
--- /dev/null
+++ b/scripts/UndergroundPathRoute7Copy.asm
@@ -1,0 +1,24 @@
+UndergroundPathRoute7Copy_Script:
+	ld a, ROUTE_7
+	ld [wLastMap], a
+	ret
+
+UndergroundPathRoute7Copy_TextPointers:
+	dw UGPathRoute7EntranceUnusedText_5d773
+	dw UGPathRoute7EntranceUnusedText_5d77d
+
+UGPathRoute7EntranceUnusedText_5d773:
+	TX_FAR _UGPathRoute7EntranceUnusedText_5d773
+	db "@"
+
+UGPathRoute7EntranceUnusedText_5d778:
+	TX_FAR _UGPathRoute7EntranceUnusedText_5d778
+	db "@"
+
+UGPathRoute7EntranceUnusedText_5d77d:
+	TX_FAR _UGPathRoute7EntranceUnusedText_5d77d
+	db "@"
+
+UGPathRoute7EntranceUnusedText_5d782:
+	TX_FAR _UGPathRoute7EntranceUnusedText_5d782
+	db "@"
--- /dev/null
+++ b/scripts/UndergroundPathRoute8.asm
@@ -1,0 +1,11 @@
+UndergroundPathRoute8_Script:
+	ld a, ROUTE_8
+	ld [wLastMap], a
+	jp EnableAutoTextBoxDrawing
+
+UndergroundPathRoute8_TextPointers:
+	dw UndergroundPathEntranceRoute8Text1
+
+UndergroundPathEntranceRoute8Text1:
+	TX_FAR _UndergroundPathEntRoute8Text1
+	db "@"
--- /dev/null
+++ b/scripts/UndergroundPathWestEast.asm
@@ -1,0 +1,5 @@
+UndergroundPathWestEast_Script:
+	jp EnableAutoTextBoxDrawing
+
+UndergroundPathWestEast_TextPointers:
+	db "@"
--- /dev/null
+++ b/scripts/VermilionCity.asm
@@ -1,0 +1,257 @@
+VermilionCity_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	push hl
+	call nz, VermilionCityScript_197cb
+	pop hl
+	bit 5, [hl]
+	res 5, [hl]
+	call nz, VermilionCityScript_197c0
+	ld hl, VermilionCity_ScriptPointers
+	ld a, [wVermilionCityCurScript]
+	jp CallFunctionInTable
+
+VermilionCityScript_197c0:
+	call Random
+	ld a, [$ffd4]
+	and $e
+	ld [wFirstLockTrashCanIndex], a
+	ret
+
+VermilionCityScript_197cb:
+	CheckEventHL EVENT_SS_ANNE_LEFT
+	ret z
+	CheckEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT
+	SetEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT
+	ret nz
+	ld a, $2
+	ld [wVermilionCityCurScript], a
+	ret
+
+VermilionCity_ScriptPointers:
+	dw VermilionCityScript0
+	dw VermilionCityScript1
+	dw VermilionCityScript2
+	dw VermilionCityScript3
+	dw VermilionCityScript4
+
+VermilionCityScript0:
+	ld a, [wSpriteStateData1 + 9]
+	and a ; cp SPRITE_FACING_DOWN
+	ret nz
+	ld hl, CoordsData_19823
+	call ArePlayerCoordsInArray
+	ret nc
+	xor a
+	ld [hJoyHeld], a
+	ld [wcf0d], a
+	ld a, $3
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	CheckEvent EVENT_SS_ANNE_LEFT
+	jr nz, .asm_19810
+	ld b, S_S_TICKET
+	predef GetQuantityOfItemInBag
+	ld a, b
+	and a
+	ret nz
+.asm_19810
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $1
+	ld [wVermilionCityCurScript], a
+	ret
+
+CoordsData_19823:
+	db $1e,$12
+	db $ff
+
+VermilionCityScript4:
+	ld hl, CoordsData_19823
+	call ArePlayerCoordsInArray
+	ret c
+	ld a, $0
+	ld [wVermilionCityCurScript], a
+	ret
+
+VermilionCityScript2:
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld a, D_UP
+	ld [wSimulatedJoypadStatesEnd], a
+	ld [wSimulatedJoypadStatesEnd + 1], a
+	ld a, 2
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $3
+	ld [wVermilionCityCurScript], a
+	ret
+
+VermilionCityScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	xor a
+	ld [wJoyIgnore], a
+	ld [hJoyHeld], a
+	ld a, $0
+	ld [wVermilionCityCurScript], a
+	ret
+
+VermilionCityScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	ld c, 10
+	call DelayFrames
+	ld a, $0
+	ld [wVermilionCityCurScript], a
+	ret
+
+VermilionCity_TextPointers:
+	dw VermilionCityText1
+	dw VermilionCityText2
+	dw VermilionCityText3
+	dw VermilionCityText4
+	dw VermilionCityText5
+	dw VermilionCityText6
+	dw VermilionCityText7
+	dw VermilionCityText8
+	dw MartSignText
+	dw PokeCenterSignText
+	dw VermilionCityText11
+	dw VermilionCityText12
+	dw VermilionCityText13
+
+VermilionCityText1:
+	TX_FAR _VermilionCityText1
+	db "@"
+
+VermilionCityText2:
+	TX_ASM
+	CheckEvent EVENT_SS_ANNE_LEFT
+	jr nz, .asm_1989e
+	ld hl, VermilionCityText_198a7
+	call PrintText
+	jr .asm_198a4
+.asm_1989e
+	ld hl, VermilionCityText_198ac
+	call PrintText
+.asm_198a4
+	jp TextScriptEnd
+
+VermilionCityText_198a7:
+	TX_FAR _VermilionCityText_198a7
+	db "@"
+
+VermilionCityText_198ac:
+	TX_FAR _VermilionCityText_198ac
+	db "@"
+
+VermilionCityText3:
+	TX_ASM
+	CheckEvent EVENT_SS_ANNE_LEFT
+	jr nz, .asm_198f6
+	ld a, [wSpriteStateData1 + 9]
+	cp SPRITE_FACING_RIGHT
+	jr z, .asm_198c8
+	ld hl, VermilionCityCoords1
+	call ArePlayerCoordsInArray
+	jr nc, .asm_198d0
+.asm_198c8
+	ld hl, SSAnneWelcomeText4
+	call PrintText
+	jr .asm_198fc
+.asm_198d0
+	ld hl, SSAnneWelcomeText9
+	call PrintText
+	ld b, S_S_TICKET
+	predef GetQuantityOfItemInBag
+	ld a, b
+	and a
+	jr nz, .asm_198e9
+	ld hl, SSAnneNoTicketText
+	call PrintText
+	jr .asm_198fc
+.asm_198e9
+	ld hl, SSAnneFlashedTicketText
+	call PrintText
+	ld a, $4
+	ld [wVermilionCityCurScript], a
+	jr .asm_198fc
+.asm_198f6
+	ld hl, SSAnneNotHereText
+	call PrintText
+.asm_198fc
+	jp TextScriptEnd
+
+VermilionCityCoords1:
+	db $1d,$13
+	db $1f,$13
+	db $ff
+
+SSAnneWelcomeText4:
+	TX_FAR _SSAnneWelcomeText4
+	db "@"
+
+SSAnneWelcomeText9:
+	TX_FAR _SSAnneWelcomeText9
+	db "@"
+
+SSAnneFlashedTicketText:
+	TX_FAR _SSAnneFlashedTicketText
+	db "@"
+
+SSAnneNoTicketText:
+	TX_FAR _SSAnneNoTicketText
+	db "@"
+
+SSAnneNotHereText:
+	TX_FAR _SSAnneNotHereText
+	db "@"
+
+VermilionCityText4:
+	TX_FAR _VermilionCityText4
+	db "@"
+
+VermilionCityText5:
+	TX_FAR _VermilionCityText5
+	TX_ASM
+	ld a, MACHOP
+	call PlayCry
+	call WaitForSoundToFinish
+	ld hl, VermilionCityText14
+	ret
+
+VermilionCityText14:
+	TX_FAR _VermilionCityText14
+	db "@"
+
+VermilionCityText6:
+	TX_FAR _VermilionCityText6
+	db "@"
+
+VermilionCityText7:
+	TX_FAR _VermilionCityText7
+	db "@"
+
+VermilionCityText8:
+	TX_FAR _VermilionCityText8
+	db "@"
+
+VermilionCityText11:
+	TX_FAR _VermilionCityText11
+	db "@"
+
+VermilionCityText12:
+	TX_FAR _VermilionCityText12
+	db "@"
+
+VermilionCityText13:
+	TX_FAR _VermilionCityText13
+	db "@"
--- /dev/null
+++ b/scripts/VermilionDock.asm
@@ -1,0 +1,215 @@
+VermilionDock_Script:
+	call EnableAutoTextBoxDrawing
+	CheckEventHL EVENT_STARTED_WALKING_OUT_OF_DOCK
+	jr nz, .asm_1db8d
+	CheckEventReuseHL EVENT_GOT_HM01
+	ret z
+	ld a, [wDestinationWarpID]
+	cp $1
+	ret nz
+	CheckEventReuseHL EVENT_SS_ANNE_LEFT
+	jp z, VermilionDock_1db9b
+	SetEventReuseHL EVENT_STARTED_WALKING_OUT_OF_DOCK
+	call Delay3
+	ld hl, wd730
+	set 7, [hl]
+	ld hl, wSimulatedJoypadStatesEnd
+	ld a, D_UP
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+	ld a, $3
+	ld [wSimulatedJoypadStatesIndex], a
+	xor a
+	ld [wSpriteStateData2 + $06], a
+	ld [wOverrideSimulatedJoypadStatesMask], a
+	dec a
+	ld [wJoyIgnore], a
+	ret
+.asm_1db8d
+	CheckEventAfterBranchReuseHL EVENT_WALKED_OUT_OF_DOCK, EVENT_STARTED_WALKING_OUT_OF_DOCK
+	ret nz
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	ld [wJoyIgnore], a
+	SetEventReuseHL EVENT_WALKED_OUT_OF_DOCK
+	ret
+
+VermilionDock_1db9b:
+	SetEventForceReuseHL EVENT_SS_ANNE_LEFT
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld [wNewSoundID], a
+	call PlaySound
+	ld c, BANK(Music_Surfing)
+	ld a, MUSIC_SURFING
+	call PlayMusic
+	callba LoadSmokeTileFourTimes
+	xor a
+	ld [wSpriteStateData1 + 2], a
+	ld c, 120
+	call DelayFrames
+	ld b, $9c
+	call CopyScreenTileBufferToVRAM
+	coord hl, 0, 10
+	ld bc, SCREEN_WIDTH * 6
+	ld a, $14 ; water tile
+	call FillMemory
+	ld a, 1
+	ld [H_AUTOBGTRANSFERENABLED], a
+	call Delay3
+	xor a
+	ld [H_AUTOBGTRANSFERENABLED], a
+	ld [wSSAnneSmokeDriftAmount], a
+	ld [rOBP1], a
+	ld a, 88
+	ld [wSSAnneSmokeX], a
+	ld hl, wMapViewVRAMPointer
+	ld c, [hl]
+	inc hl
+	ld b, [hl]
+	push bc
+	push hl
+	ld a, SFX_SS_ANNE_HORN
+	call PlaySoundWaitForCurrent
+	ld a, $ff
+	ld [wUpdateSpritesEnabled], a
+	ld d, $0
+	ld e, $8
+.asm_1dbfa
+	ld hl, $0002
+	add hl, bc
+	ld a, l
+	ld [wMapViewVRAMPointer], a
+	ld a, h
+	ld [wMapViewVRAMPointer + 1], a
+	push hl
+	push de
+	call ScheduleEastColumnRedraw
+	call VermilionDock_EmitSmokePuff
+	pop de
+	ld b, $10
+.asm_1dc11
+	call VermilionDock_AnimSmokePuffDriftRight
+	ld c, $8
+.asm_1dc16
+	call VermilionDock_1dc7c
+	dec c
+	jr nz, .asm_1dc16
+	inc d
+	dec b
+	jr nz, .asm_1dc11
+	pop bc
+	dec e
+	jr nz, .asm_1dbfa
+	xor a
+	ld [rWY], a
+	ld [hWY], a
+	call VermilionDock_EraseSSAnne
+	ld a, $90
+	ld [hWY], a
+	ld a, $1
+	ld [wUpdateSpritesEnabled], a
+	pop hl
+	pop bc
+	ld [hl], b
+	dec hl
+	ld [hl], c
+	call LoadPlayerSpriteGraphics
+	ld hl, wNumberOfWarps
+	dec [hl]
+	ret
+
+VermilionDock_AnimSmokePuffDriftRight:
+	push bc
+	push de
+	ld hl, wOAMBuffer + $11
+	ld a, [wSSAnneSmokeDriftAmount]
+	swap a
+	ld c, a
+	ld de, 4
+.loop
+	inc [hl]
+	inc [hl]
+	add hl, de
+	dec c
+	jr nz, .loop
+	pop de
+	pop bc
+	ret
+
+VermilionDock_EmitSmokePuff:
+; new smoke puff above the S.S. Anne's front smokestack
+	ld a, [wSSAnneSmokeX]
+	sub 16
+	ld [wSSAnneSmokeX], a
+	ld c, a
+	ld b, 100 ; Y
+	ld a, [wSSAnneSmokeDriftAmount]
+	inc a
+	ld [wSSAnneSmokeDriftAmount], a
+	ld a, $1
+	ld de, VermilionDockOAMBlock
+	call WriteOAMBlock
+	ret
+
+VermilionDockOAMBlock:
+	db $fc, $10
+	db $fd, $10
+	db $fe, $10
+	db $ff, $10
+
+VermilionDock_1dc7c:
+	ld h, d
+	ld l, $50
+	call .asm_1dc86
+	ld h, $0
+	ld l, $80
+.asm_1dc86
+	ld a, [rLY]
+	cp l
+	jr nz, .asm_1dc86
+	ld a, h
+	ld [rSCX], a
+.asm_1dc8e
+	ld a, [rLY]
+	cp h
+	jr z, .asm_1dc8e
+	ret
+
+VermilionDock_EraseSSAnne:
+; Fill the area the S.S. Anne occupies in BG map 0 with water tiles.
+	ld hl, wVermilionDockTileMapBuffer
+	ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH
+	ld a, $14 ; water tile
+	call FillMemory
+	ld hl, vBGMap0 + 10 * BG_MAP_WIDTH
+	ld de, wVermilionDockTileMapBuffer
+	ld bc, (6 * BG_MAP_WIDTH) / 16
+	call CopyVideoData
+
+; Replace the blocks of the lower half of the ship with water blocks. This
+; leaves the upper half alone, but that doesn't matter because replacing any of
+; the blocks is unnecessary because the blocks the ship occupies are south of
+; the player and won't be redrawn when the player automatically walks north and
+; exits the map. This code could be removed without affecting anything.
+	overworldMapCoord hl, 5, 2, VERMILION_DOCK_WIDTH
+	ld a, $d ; water block
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
+	ld [hl], a
+
+	ld a, SFX_SS_ANNE_HORN
+	call PlaySound
+	ld c, 120
+	call DelayFrames
+	ret
+
+VermilionDock_TextPointers:
+	dw VermilionDockText1
+
+VermilionDockText1:
+	TX_FAR _VermilionDockText1
+	db "@"
--- /dev/null
+++ b/scripts/VermilionGym.asm
@@ -1,0 +1,267 @@
+VermilionGym_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	push hl
+	call nz, VermilionGymScript_5ca4c
+	pop hl
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, VermilionGymScript_5ca6d
+	call EnableAutoTextBoxDrawing
+	ld hl, VermilionGymTrainerHeader0
+	ld de, VermilionGym_ScriptPointers
+	ld a, [wVermilionGymCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wVermilionGymCurScript], a
+	ret
+
+VermilionGymScript_5ca4c:
+	ld hl, Gym3CityName
+	ld de, Gym3LeaderName
+	jp LoadGymLeaderAndCityName
+
+Gym3CityName:
+	db "VERMILION CITY@"
+
+Gym3LeaderName:
+	db "LT.SURGE@"
+
+VermilionGymScript_5ca6d:
+	CheckEvent EVENT_2ND_LOCK_OPENED
+	jr nz, .asm_5ca78
+	ld a, $24
+	jr .asm_5ca7f
+.asm_5ca78
+	ld a, SFX_GO_INSIDE
+	call PlaySound
+	ld a, $5
+.asm_5ca7f
+	ld [wNewTileBlockID], a
+	lb bc, 2, 2
+	predef_jump ReplaceTileBlock
+
+VermilionGymScript_5ca8a:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wVermilionGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+VermilionGym_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw VermilionGymScript3
+
+VermilionGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, VermilionGymScript_5ca8a
+	ld a, $f0
+	ld [wJoyIgnore], a
+
+VermilionGymScript_5caaa:
+	ld a, $6
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_LT_SURGE
+	lb bc, TM_24, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $7
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM24
+	jr .asm_5cad3
+.BagFull
+	ld a, $8
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_5cad3
+	ld hl, wObtainedBadges
+	set 2, [hl]
+	ld hl, wBeatGymFlags
+	set 2, [hl]
+
+	; deactivate gym trainers
+	SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2
+
+	jp VermilionGymScript_5ca8a
+
+VermilionGym_TextPointers:
+	dw VermilionGymText1
+	dw VermilionGymText2
+	dw VermilionGymText3
+	dw VermilionGymText4
+	dw VermilionGymText5
+	dw VermilionGymText6
+	dw VermilionGymText7
+	dw VermilionGymText8
+
+VermilionGymTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0
+	dw VermilionGymBattleText1 ; TextBeforeBattle
+	dw VermilionGymAfterBattleText1 ; TextAfterBattle
+	dw VermilionGymEndBattleText1 ; TextEndBattle
+	dw VermilionGymEndBattleText1 ; TextEndBattle
+
+VermilionGymTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1
+	dw VermilionGymBattleText2 ; TextBeforeBattle
+	dw VermilionGymAfterBattleText2 ; TextAfterBattle
+	dw VermilionGymEndBattleText2 ; TextEndBattle
+	dw VermilionGymEndBattleText2 ; TextEndBattle
+
+VermilionGymTrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2
+	dw VermilionGymBattleText3 ; TextBeforeBattle
+	dw VermilionGymAfterBattleText3 ; TextAfterBattle
+	dw VermilionGymEndBattleText3 ; TextEndBattle
+	dw VermilionGymEndBattleText3 ; TextEndBattle
+
+	db $ff
+
+VermilionGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_LT_SURGE
+	jr z, .asm_5cb39
+	CheckEventReuseA EVENT_GOT_TM24
+	jr nz, .asm_5cb31
+	call z, VermilionGymScript_5caaa
+	call DisableWaitingAfterTextDisplay
+	jr .asm_5cb6a
+.asm_5cb31
+	ld hl, VermilionGymText_5cb72
+	call PrintText
+	jr .asm_5cb6a
+.asm_5cb39
+	ld hl, VermilionGymText_5cb6d
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, ReceivedThunderbadgeText
+	ld de, ReceivedThunderbadgeText
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $3
+	ld [wGymLeaderNo], a
+	xor a
+	ld [hJoyHeld], a
+	ld a, $3
+	ld [wVermilionGymCurScript], a
+	ld [wCurMapScript], a
+.asm_5cb6a
+	jp TextScriptEnd
+
+VermilionGymText_5cb6d:
+	TX_FAR _VermilionGymText_5cb6d
+	db "@"
+
+VermilionGymText_5cb72:
+	TX_FAR _VermilionGymText_5cb72
+	db "@"
+
+VermilionGymText6:
+	TX_FAR _VermilionGymText_5cb77
+	db "@"
+
+VermilionGymText7:
+	TX_FAR _ReceivedTM24Text
+	TX_SFX_KEY_ITEM
+	TX_FAR _TM24ExplanationText
+	db "@"
+
+VermilionGymText8:
+	TX_FAR _TM24NoRoomText
+	db "@"
+
+ReceivedThunderbadgeText:
+	TX_FAR _ReceivedThunderbadgeText
+	db "@"
+
+VermilionGymText2:
+	TX_ASM
+	ld hl, VermilionGymTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VermilionGymBattleText1:
+	TX_FAR _VermilionGymBattleText1
+	db "@"
+
+VermilionGymEndBattleText1:
+	TX_FAR _VermilionGymEndBattleText1
+	db "@"
+
+VermilionGymAfterBattleText1:
+	TX_FAR _VermilionGymAfterBattleText1
+	db "@"
+
+VermilionGymText3:
+	TX_ASM
+	ld hl, VermilionGymTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VermilionGymBattleText2:
+	TX_FAR _VermilionGymBattleText2
+	db "@"
+
+VermilionGymEndBattleText2:
+	TX_FAR _VermilionGymEndBattleText2
+	db "@"
+
+VermilionGymAfterBattleText2:
+	TX_FAR _VermilionGymAfterBattleText2
+	db "@"
+
+VermilionGymText4:
+	TX_ASM
+	ld hl, VermilionGymTrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VermilionGymBattleText3:
+	TX_FAR _VermilionGymBattleText3
+	db "@"
+
+VermilionGymEndBattleText3:
+	TX_FAR _VermilionGymEndBattleText3
+	db "@"
+
+VermilionGymAfterBattleText3:
+	TX_FAR _VermilionGymAfterBattleText3
+	db "@"
+
+VermilionGymText5:
+	TX_ASM
+	ld a, [wBeatGymFlags]
+	bit 2, a
+	jr nz, .asm_5cbeb
+	ld hl, VermilionGymText_5cbf4
+	call PrintText
+	jr .asm_5cbf1
+.asm_5cbeb
+	ld hl, VermilionGymText_5cbf9
+	call PrintText
+.asm_5cbf1
+	jp TextScriptEnd
+
+VermilionGymText_5cbf4:
+	TX_FAR _VermilionGymText_5cbf4
+	db "@"
+
+VermilionGymText_5cbf9:
+	TX_FAR _VermilionGymText_5cbf9
+	db "@"
--- /dev/null
+++ b/scripts/VermilionMart.asm
@@ -1,0 +1,15 @@
+VermilionMart_Script:
+	jp EnableAutoTextBoxDrawing
+
+VermilionMart_TextPointers:
+	dw VermilionCashierText
+	dw VermilionMartText2
+	dw VermilionMartText3
+
+VermilionMartText2:
+	TX_FAR _VermilionMartText2
+	db "@"
+
+VermilionMartText3:
+	TX_FAR _VermilionMartText3
+	db "@"
--- /dev/null
+++ b/scripts/VermilionOldRodHouse.asm
@@ -1,0 +1,57 @@
+VermilionOldRodHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+VermilionOldRodHouse_TextPointers:
+	dw VermilionHouse2Text1
+
+VermilionHouse2Text1:
+	TX_ASM
+	ld a, [wd728]
+	bit 3, a
+	jr nz, .asm_03ef5
+	ld hl, VermilionHouse2Text_560b1
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_eb1b7
+	lb bc, OLD_ROD, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, wd728
+	set 3, [hl]
+	ld hl, VermilionHouse2Text_560b6
+	jr .asm_5dd95
+.BagFull
+	ld hl, VermilionHouse2Text_560ca
+	jr .asm_5dd95
+.asm_eb1b7
+	ld hl, VermilionHouse2Text_560c0
+	jr .asm_5dd95
+.asm_03ef5
+	ld hl, VermilionHouse2Text_560c5
+.asm_5dd95
+	call PrintText
+	jp TextScriptEnd
+
+VermilionHouse2Text_560b1:
+	TX_FAR _VermilionHouse2Text_560b1
+	db "@"
+
+VermilionHouse2Text_560b6:
+	TX_FAR _VermilionHouse2Text_560b6
+	TX_SFX_ITEM_1
+	TX_FAR _VermilionHouse2Text_560bb
+	db "@"
+
+VermilionHouse2Text_560c0:
+	TX_FAR _VermilionHouse2Text_560c0
+	db "@"
+
+VermilionHouse2Text_560c5:
+	TX_FAR _VermilionHouse2Text_560c5
+	db "@"
+
+VermilionHouse2Text_560ca:
+	TX_FAR _VermilionHouse2Text_560ca
+	db "@"
--- /dev/null
+++ b/scripts/VermilionPidgeyHouse.asm
@@ -1,0 +1,24 @@
+VermilionPidgeyHouse_Script:
+	call EnableAutoTextBoxDrawing
+	ret
+
+VermilionPidgeyHouse_TextPointers:
+	dw VermilionHouse1Text1
+	dw VermilionHouse1Text2
+	dw VermilionHouse1Text3
+
+VermilionHouse1Text1:
+	TX_FAR _VermilionHouse1Text1
+	db "@"
+
+VermilionHouse1Text2:
+	TX_FAR _VermilionHouse1Text2
+	TX_ASM
+	ld a, PIDGEY
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+VermilionHouse1Text3:
+	TX_FAR _VermilionHouse1Text3
+	db "@"
--- /dev/null
+++ b/scripts/VermilionPokecenter.asm
@@ -1,0 +1,23 @@
+VermilionPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+VermilionPokecenter_TextPointers:
+	dw VermilionHealNurseText
+	dw VermilionPokecenterText2
+	dw VermilionPokecenterText3
+	dw VermilionTradeNurseText
+
+VermilionHealNurseText:
+	TX_POKECENTER_NURSE
+
+VermilionPokecenterText2:
+	TX_FAR _VermilionPokecenterText2
+	db "@"
+
+VermilionPokecenterText3:
+	TX_FAR _VermilionPokecenterText3
+	db "@"
+
+VermilionTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
--- /dev/null
+++ b/scripts/VermilionTradeHouse.asm
@@ -1,0 +1,12 @@
+VermilionTradeHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+VermilionTradeHouse_TextPointers:
+	dw VermilionHouse3Text1
+
+VermilionHouse3Text1:
+	TX_ASM
+	ld a, $4
+	ld [wWhichTrade], a
+	predef DoInGameTradeDialogue
+	jp TextScriptEnd
--- /dev/null
+++ b/scripts/VictoryRoad1F.asm
@@ -1,0 +1,103 @@
+VictoryRoad1F_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	call nz, .next
+	call EnableAutoTextBoxDrawing
+	ld hl, VictoryRoad1TrainerHeader0
+	ld de, VictoryRoad1F_ScriptPointers
+	ld a, [wVictoryRoad1FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wVictoryRoad1FCurScript], a
+	ret
+.next
+	CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
+	ret z
+	ld a, $1d
+	ld [wNewTileBlockID], a
+	lb bc, 6, 4
+	predef_jump ReplaceTileBlock
+
+VictoryRoad1F_ScriptPointers:
+	dw VictoryRoad1Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+VictoryRoad1Script0:
+	CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
+	jp nz, CheckFightingMapTrainers
+	ld hl, CoordsData_5da5c
+	call CheckBoulderCoords
+	jp nc, CheckFightingMapTrainers
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	SetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
+	ret
+
+CoordsData_5da5c:
+	db $0D,$11,$FF
+
+VictoryRoad1F_TextPointers:
+	dw VictoryRoad1Text1
+	dw VictoryRoad1Text2
+	dw PickUpItemText
+	dw PickUpItemText
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
+
+VictoryRoad1TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0
+	dw VictoryRoad1BattleText1 ; TextBeforeBattle
+	dw VictoryRoad1AfterBattleText1 ; TextAfterBattle
+	dw VictoryRoad1EndBattleText1 ; TextEndBattle
+	dw VictoryRoad1EndBattleText1 ; TextEndBattle
+
+VictoryRoad1TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1
+	dw VictoryRoad1BattleText2 ; TextBeforeBattle
+	dw VictoryRoad1AfterBattleText2 ; TextAfterBattle
+	dw VictoryRoad1EndBattleText2 ; TextEndBattle
+	dw VictoryRoad1EndBattleText2 ; TextEndBattle
+
+	db $ff
+
+VictoryRoad1Text1:
+	TX_ASM
+	ld hl, VictoryRoad1TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad1Text2:
+	TX_ASM
+	ld hl, VictoryRoad1TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad1BattleText1:
+	TX_FAR _VictoryRoad1BattleText1
+	db "@"
+
+VictoryRoad1EndBattleText1:
+	TX_FAR _VictoryRoad1EndBattleText1
+	db "@"
+
+VictoryRoad1AfterBattleText1:
+	TX_FAR _VictoryRoad1AfterBattleText1
+	db "@"
+
+VictoryRoad1BattleText2:
+	TX_FAR _VictoryRoad1BattleText2
+	db "@"
+
+VictoryRoad1EndBattleText2:
+	TX_FAR _VictoryRoad1EndBattleText2
+	db "@"
+
+VictoryRoad1AfterBattleText2:
+	TX_FAR _VictoryRoad1AfterBattleText2
+	db "@"
--- /dev/null
+++ b/scripts/VictoryRoad2F.asm
@@ -1,0 +1,244 @@
+VictoryRoad2F_Script:
+	ld hl, wCurrentMapScriptFlags
+	bit 6, [hl]
+	res 6, [hl]
+	call nz, VictoryRoad2Script_517c4
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	call nz, VictoryRoad2Script_517c9
+	call EnableAutoTextBoxDrawing
+	ld hl, VictoryRoad2TrainerHeader0
+	ld de, VictoryRoad2F_ScriptPointers
+	ld a, [wVictoryRoad2FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wVictoryRoad2FCurScript], a
+	ret
+
+VictoryRoad2Script_517c4:
+	ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
+
+VictoryRoad2Script_517c9:
+	CheckEvent EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
+	jr z, .asm_517da
+	push af
+	ld a, $15
+	lb bc, 4, 3
+	call VictoryRoad2Script_517e2
+	pop af
+.asm_517da
+	bit 7, a
+	ret z
+	ld a, $1d
+	lb bc, 7, 11
+
+VictoryRoad2Script_517e2:
+	ld [wNewTileBlockID], a
+	predef ReplaceTileBlock
+	ret
+
+VictoryRoad2F_ScriptPointers:
+	dw VictoryRoad2Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+VictoryRoad2Script0:
+	ld hl, CoordsData_51816
+	call CheckBoulderCoords
+	jp nc, CheckFightingMapTrainers
+	EventFlagAddress hl, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
+	ld a, [wCoordIndex]
+	cp $2
+	jr z, .asm_5180b
+	CheckEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
+	SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
+	ret nz
+	jr .asm_51810
+.asm_5180b
+	CheckEventAfterBranchReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
+	SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2
+	ret nz
+.asm_51810
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	ret
+
+CoordsData_51816:
+	db $10,$01
+	db $10,$09
+	db $FF
+
+VictoryRoad2F_TextPointers:
+	dw VictoryRoad2Text1
+	dw VictoryRoad2Text2
+	dw VictoryRoad2Text3
+	dw VictoryRoad2Text4
+	dw VictoryRoad2Text5
+	dw MoltresText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
+
+VictoryRoad2TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0
+	dw VictoryRoad2BattleText1 ; TextBeforeBattle
+	dw VictoryRoad2AfterBattleText1 ; TextAfterBattle
+	dw VictoryRoad2EndBattleText1 ; TextEndBattle
+	dw VictoryRoad2EndBattleText1 ; TextEndBattle
+
+VictoryRoad2TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1
+	dw VictoryRoad2BattleText2 ; TextBeforeBattle
+	dw VictoryRoad2AfterBattleText2 ; TextAfterBattle
+	dw VictoryRoad2EndBattleText2 ; TextEndBattle
+	dw VictoryRoad2EndBattleText2 ; TextEndBattle
+
+VictoryRoad2TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2
+	dw VictoryRoad2BattleText3 ; TextBeforeBattle
+	dw VictoryRoad2AfterBattleText3 ; TextAfterBattle
+	dw VictoryRoad2EndBattleText3 ; TextEndBattle
+	dw VictoryRoad2EndBattleText3 ; TextEndBattle
+
+VictoryRoad2TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3
+	dw VictoryRoad2BattleText4 ; TextBeforeBattle
+	dw VictoryRoad2AfterBattleText4 ; TextAfterBattle
+	dw VictoryRoad2EndBattleText4 ; TextEndBattle
+	dw VictoryRoad2EndBattleText4 ; TextEndBattle
+
+VictoryRoad2TrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4
+	dw VictoryRoad2BattleText5 ; TextBeforeBattle
+	dw VictoryRoad2AfterBattleText5 ; TextAfterBattle
+	dw VictoryRoad2EndBattleText5 ; TextEndBattle
+	dw VictoryRoad2EndBattleText5 ; TextEndBattle
+
+MoltresTrainerHeader:
+	dbEventFlagBit EVENT_BEAT_MOLTRES
+	db ($0 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_MOLTRES
+	dw MoltresBattleText ; TextBeforeBattle
+	dw MoltresBattleText ; TextAfterBattle
+	dw MoltresBattleText ; TextEndBattle
+	dw MoltresBattleText ; TextEndBattle
+
+	db $ff
+
+VictoryRoad2Text1:
+	TX_ASM
+	ld hl, VictoryRoad2TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad2Text2:
+	TX_ASM
+	ld hl, VictoryRoad2TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad2Text3:
+	TX_ASM
+	ld hl, VictoryRoad2TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad2Text4:
+	TX_ASM
+	ld hl, VictoryRoad2TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad2Text5:
+	TX_ASM
+	ld hl, VictoryRoad2TrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MoltresText:
+	TX_ASM
+	ld hl, MoltresTrainerHeader
+	call TalkToTrainer
+	jp TextScriptEnd
+
+MoltresBattleText:
+	TX_FAR _MoltresBattleText
+	TX_ASM
+	ld a, MOLTRES
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+VictoryRoad2BattleText1:
+	TX_FAR _VictoryRoad2BattleText1
+	db "@"
+
+VictoryRoad2EndBattleText1:
+	TX_FAR _VictoryRoad2EndBattleText1
+	db "@"
+
+VictoryRoad2AfterBattleText1:
+	TX_FAR _VictoryRoad2AfterBattleText1
+	db "@"
+
+VictoryRoad2BattleText2:
+	TX_FAR _VictoryRoad2BattleText2
+	db "@"
+
+VictoryRoad2EndBattleText2:
+	TX_FAR _VictoryRoad2EndBattleText2
+	db "@"
+
+VictoryRoad2AfterBattleText2:
+	TX_FAR _VictoryRoad2AfterBattleText2
+	db "@"
+
+VictoryRoad2BattleText3:
+	TX_FAR _VictoryRoad2BattleText3
+	db "@"
+
+VictoryRoad2EndBattleText3:
+	TX_FAR _VictoryRoad2EndBattleText3
+	db "@"
+
+VictoryRoad2AfterBattleText3:
+	TX_FAR _VictoryRoad2AfterBattleText3
+	db "@"
+
+VictoryRoad2BattleText4:
+	TX_FAR _VictoryRoad2BattleText4
+	db "@"
+
+VictoryRoad2EndBattleText4:
+	TX_FAR _VictoryRoad2EndBattleText4
+	db "@"
+
+VictoryRoad2AfterBattleText4:
+	TX_FAR _VictoryRoad2AfterBattleText4
+	db "@"
+
+VictoryRoad2BattleText5:
+	TX_FAR _VictoryRoad2BattleText5
+	db "@"
+
+VictoryRoad2EndBattleText5:
+	TX_FAR _VictoryRoad2EndBattleText5
+	db "@"
+
+VictoryRoad2AfterBattleText5:
+	TX_FAR _VictoryRoad2AfterBattleText5
+	db "@"
--- /dev/null
+++ b/scripts/VictoryRoad3F.asm
@@ -1,0 +1,197 @@
+VictoryRoad3F_Script:
+	call VictoryRoad3Script_44996
+	call EnableAutoTextBoxDrawing
+	ld hl, VictoryRoad3TrainerHeader0
+	ld de, VictoryRoad3F_ScriptPointers
+	ld a, [wVictoryRoad3FCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wVictoryRoad3FCurScript], a
+	ret
+
+VictoryRoad3Script_44996:
+	ld hl, wCurrentMapScriptFlags
+	bit 5, [hl]
+	res 5, [hl]
+	ret z
+	CheckEventHL EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1
+	ret z
+	ld a, $1d
+	ld [wNewTileBlockID], a
+	lb bc, 5, 3
+	predef_jump ReplaceTileBlock
+
+VictoryRoad3F_ScriptPointers:
+	dw VictoryRoad3Script0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+VictoryRoad3Script0:
+	ld hl, wFlags_0xcd60
+	bit 7, [hl]
+	res 7, [hl]
+	jp z, .asm_449fe
+	ld hl, .coordsData_449f9
+	call CheckBoulderCoords
+	jp nc, .asm_449fe
+	ld a, [wCoordIndex]
+	cp $1
+	jr nz, .asm_449dc
+	ld hl, wCurrentMapScriptFlags
+	set 5, [hl]
+	SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1
+	ret
+.asm_449dc
+	CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
+	jr nz, .asm_449fe
+	ld a, HS_VICTORY_ROAD_3F_BOULDER
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	ld a, HS_VICTORY_ROAD_2F_BOULDER
+	ld [wMissableObjectIndex], a
+	predef_jump ShowObject
+
+.coordsData_449f9:
+	db $05,$03
+	db $0F,$17
+	db $FF
+
+.asm_449fe
+	ld a, VICTORY_ROAD_2F
+	ld [wDungeonWarpDestinationMap], a
+	ld hl, .coordsData_449f9
+	call IsPlayerOnDungeonWarp
+	ld a, [wCoordIndex]
+	cp $1
+	jr nz, .asm_44a1b
+	ld hl, wd72d
+	res 4, [hl]
+	ld hl, wd732
+	res 4, [hl]
+	ret
+.asm_44a1b
+	ld a, [wd72d]
+	bit 4, a
+	jp z, CheckFightingMapTrainers
+	ret
+
+VictoryRoad3F_TextPointers:
+	dw VictoryRoad3Text1
+	dw VictoryRoad3Text2
+	dw VictoryRoad3Text3
+	dw VictoryRoad3Text4
+	dw PickUpItemText
+	dw PickUpItemText
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
+	dw BoulderText
+
+VictoryRoad3TrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0
+	dw VictoryRoad3BattleText2 ; TextBeforeBattle
+	dw VictoryRoad3AfterBattleText2 ; TextAfterBattle
+	dw VictoryRoad3EndBattleText2 ; TextEndBattle
+	dw VictoryRoad3EndBattleText2 ; TextEndBattle
+
+VictoryRoad3TrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1
+	dw VictoryRoad3BattleText3 ; TextBeforeBattle
+	dw VictoryRoad3AfterBattleText3 ; TextAfterBattle
+	dw VictoryRoad3EndBattleText3 ; TextEndBattle
+	dw VictoryRoad3EndBattleText3 ; TextEndBattle
+
+VictoryRoad3TrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2
+	dw VictoryRoad3BattleText4 ; TextBeforeBattle
+	dw VictoryRoad3AfterBattleText4 ; TextAfterBattle
+	dw VictoryRoad3EndBattleText4 ; TextEndBattle
+	dw VictoryRoad3EndBattleText4 ; TextEndBattle
+
+VictoryRoad3TrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3
+	dw VictoryRoad3BattleText5 ; TextBeforeBattle
+	dw VictoryRoad3AfterBattleText5 ; TextAfterBattle
+	dw VictoryRoad3EndBattleText5 ; TextEndBattle
+	dw VictoryRoad3EndBattleText5 ; TextEndBattle
+
+	db $ff
+
+VictoryRoad3Text1:
+	TX_ASM
+	ld hl, VictoryRoad3TrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad3Text2:
+	TX_ASM
+	ld hl, VictoryRoad3TrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad3Text3:
+	TX_ASM
+	ld hl, VictoryRoad3TrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad3Text4:
+	TX_ASM
+	ld hl, VictoryRoad3TrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+VictoryRoad3BattleText2:
+	TX_FAR _VictoryRoad3BattleText2
+	db "@"
+
+VictoryRoad3EndBattleText2:
+	TX_FAR _VictoryRoad3EndBattleText2
+	db "@"
+
+VictoryRoad3AfterBattleText2:
+	TX_FAR _VictoryRoad3AfterBattleText2
+	db "@"
+
+VictoryRoad3BattleText3:
+	TX_FAR _VictoryRoad3BattleText3
+	db "@"
+
+VictoryRoad3EndBattleText3:
+	TX_FAR _VictoryRoad3EndBattleText3
+	db "@"
+
+VictoryRoad3AfterBattleText3:
+	TX_FAR _VictoryRoad3AfterBattleText3
+	db "@"
+
+VictoryRoad3BattleText4:
+	TX_FAR _VictoryRoad3BattleText4
+	db "@"
+
+VictoryRoad3EndBattleText4:
+	TX_FAR _VictoryRoad3EndBattleText4
+	db "@"
+
+VictoryRoad3AfterBattleText4:
+	TX_FAR _VictoryRoad3AfterBattleText4
+	db "@"
+
+VictoryRoad3BattleText5:
+	TX_FAR _VictoryRoad3BattleText5
+	db "@"
+
+VictoryRoad3EndBattleText5:
+	TX_FAR _VictoryRoad3EndBattleText5
+	db "@"
+
+VictoryRoad3AfterBattleText5:
+	TX_FAR _VictoryRoad3AfterBattleText5
+	db "@"
--- /dev/null
+++ b/scripts/ViridianCity.asm
@@ -1,0 +1,327 @@
+ViridianCity_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, ViridianCity_ScriptPointers
+	ld a, [wViridianCityCurScript]
+	jp CallFunctionInTable
+
+ViridianCity_ScriptPointers:
+	dw ViridianCityScript0
+	dw ViridianCityScript1
+	dw ViridianCityScript2
+	dw ViridianCityScript3
+
+ViridianCityScript0:
+	call ViridianCityScript_1900b
+	jp ViridianCityScript_1903d
+
+ViridianCityScript_1900b:
+	CheckEvent EVENT_VIRIDIAN_GYM_OPEN
+	ret nz
+	ld a, [wObtainedBadges]
+	cp %01111111
+	jr nz, .asm_1901e
+	SetEvent EVENT_VIRIDIAN_GYM_OPEN
+	ret
+.asm_1901e
+	ld a, [wYCoord]
+	cp $8
+	ret nz
+	ld a, [wXCoord]
+	cp $20
+	ret nz
+	ld a, $e
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [hJoyHeld], a
+	call ViridianCityScript_190cf
+	ld a, $3
+	ld [wViridianCityCurScript], a
+	ret
+
+ViridianCityScript_1903d:
+	CheckEvent EVENT_GOT_POKEDEX
+	ret nz
+	ld a, [wYCoord]
+	cp $9
+	ret nz
+	ld a, [wXCoord]
+	cp $13
+	ret nz
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [hJoyHeld], a
+	call ViridianCityScript_190cf
+	ld a, $3
+	ld [wViridianCityCurScript], a
+	ret
+
+ViridianCityScript1:
+	ld a, [wSpriteStateData1 + $34]
+	ld [$ffeb], a
+	ld a, [wSpriteStateData1 + $36]
+	ld [$ffec], a
+	ld a, [wSpriteStateData2 + $34]
+	ld [$ffed], a
+	ld a, [wSpriteStateData2 + $35]
+	ld [$ffee], a
+	xor a
+	ld [wListScrollOffset], a
+
+	; set up battle for Old Man
+	ld a, BATTLE_TYPE_OLD_MAN
+	ld [wBattleType], a
+	ld a, 5
+	ld [wCurEnemyLVL], a
+	ld a, WEEDLE
+	ld [wCurOpponent], a
+	ld a, $2
+	ld [wViridianCityCurScript], a
+	ret
+
+ViridianCityScript2:
+	ld a, [$ffeb]
+	ld [wSpriteStateData1 + $34], a
+	ld a, [$ffec]
+	ld [wSpriteStateData1 + $36], a
+	ld a, [$ffed]
+	ld [wSpriteStateData2 + $34], a
+	ld a, [$ffee]
+	ld [wSpriteStateData2 + $35], a
+	call UpdateSprites
+	call Delay3
+	xor a
+	ld [wJoyIgnore], a
+	ld a, $f
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	xor a
+	ld [wBattleType], a
+	ld [wJoyIgnore], a
+	ld a, $0
+	ld [wViridianCityCurScript], a
+	ret
+
+ViridianCityScript3:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	ld a, 0
+	ld [wViridianCityCurScript], a
+	ret
+
+ViridianCityScript_190cf:
+	call StartSimulatingJoypadStates
+	ld a, $1
+	ld [wSimulatedJoypadStatesIndex], a
+	ld a, D_DOWN
+	ld [wSimulatedJoypadStatesEnd], a
+	xor a
+	ld [wSpriteStateData1 + 9], a
+	ld [wJoyIgnore], a
+	ret
+
+ViridianCity_TextPointers:
+	dw ViridianCityText1
+	dw ViridianCityText2
+	dw ViridianCityText3
+	dw ViridianCityText4
+	dw ViridianCityText5
+	dw ViridianCityText6
+	dw ViridianCityText7
+	dw ViridianCityText8
+	dw ViridianCityText9
+	dw ViridianCityText10
+	dw MartSignText
+	dw PokeCenterSignText
+	dw ViridianCityText13
+	dw ViridianCityText14
+	dw ViridianCityText15
+
+ViridianCityText1:
+	TX_FAR _ViridianCityText1
+	db "@"
+
+ViridianCityText2:
+	TX_ASM
+	ld a, [wObtainedBadges]
+	cp %01111111
+	ld hl, ViridianCityText_19127
+	jr z, .asm_ae9fe
+	CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
+	jr nz, .asm_ae9fe
+	ld hl, ViridianCityText_19122
+.asm_ae9fe
+	call PrintText
+	jp TextScriptEnd
+
+ViridianCityText_19122:
+	TX_FAR _ViridianCityText_19122
+	db "@"
+
+ViridianCityText_19127:
+	TX_FAR _ViridianCityText_19127
+	db "@"
+
+ViridianCityText3:
+	TX_ASM
+	ld hl, ViridianCityText_1914d
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr nz, .asm_6dfea
+	ld hl, ViridianCityText_19157
+	call PrintText
+	jr .asm_d611f
+.asm_6dfea
+	ld hl, ViridianCityText_19152
+	call PrintText
+.asm_d611f
+	jp TextScriptEnd
+
+ViridianCityText_1914d:
+	TX_FAR _ViridianCityText_1914d
+	db "@"
+
+ViridianCityText_19152:
+	TX_FAR _ViridianCityText_19152
+	db "@"
+
+ViridianCityText_19157:
+	TX_FAR _ViridianCityText_19157
+	db "@"
+
+ViridianCityText4:
+	TX_ASM
+	CheckEvent EVENT_GOT_POKEDEX
+	jr nz, .asm_83894
+	ld hl, ViridianCityText_19175
+	call PrintText
+	jr .asm_700a6
+.asm_83894
+	ld hl, ViridianCityText_1917a
+	call PrintText
+.asm_700a6
+	jp TextScriptEnd
+
+ViridianCityText_19175:
+	TX_FAR _ViridianCityText_19175
+	db "@"
+
+ViridianCityText_1917a:
+	TX_FAR _ViridianCityText_1917a
+	db "@"
+
+ViridianCityText5:
+	TX_ASM
+	ld hl, ViridianCityText_19191
+	call PrintText
+	call ViridianCityScript_190cf
+	ld a, $3
+	ld [wViridianCityCurScript], a
+	jp TextScriptEnd
+
+ViridianCityText_19191:
+	TX_FAR _ViridianCityText_19191
+	db "@"
+
+ViridianCityText6:
+	TX_ASM
+	CheckEvent EVENT_GOT_TM42
+	jr nz, .asm_4e5a0
+	ld hl, ViridianCityText_191ca
+	call PrintText
+	lb bc, TM_42, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedTM42Text
+	call PrintText
+	SetEvent EVENT_GOT_TM42
+	jr .asm_3c73c
+.BagFull
+	ld hl, TM42NoRoomText
+	call PrintText
+	jr .asm_3c73c
+.asm_4e5a0
+	ld hl, TM42Explanation
+	call PrintText
+.asm_3c73c
+	jp TextScriptEnd
+
+ViridianCityText_191ca:
+	TX_FAR _ViridianCityText_191ca
+	db "@"
+
+ReceivedTM42Text:
+	TX_FAR _ReceivedTM42Text
+	TX_SFX_ITEM_2
+	db "@"
+
+TM42Explanation:
+	TX_FAR _TM42Explanation
+	db "@"
+
+TM42NoRoomText:
+	TX_FAR _TM42NoRoomText
+	db "@"
+
+ViridianCityText7:
+	TX_ASM
+	ld hl, ViridianCityText_1920a
+	call PrintText
+	ld c, 2
+	call DelayFrames
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	jr z, .asm_42f68
+	ld hl, ViridianCityText_1920f
+	call PrintText
+	ld a, $1
+	ld [wViridianCityCurScript], a
+	jr .asm_2413a
+.asm_42f68
+	ld hl, ViridianCityText_19214
+	call PrintText
+.asm_2413a
+	jp TextScriptEnd
+
+ViridianCityText_1920a:
+	TX_FAR _ViridianCityText_1920a
+	db "@"
+
+ViridianCityText_1920f:
+	TX_FAR _ViridianCityText_1920f
+	db "@"
+
+ViridianCityText_19214:
+	TX_FAR _ViridianCityText_19214
+	db "@"
+
+ViridianCityText15:
+	TX_FAR _ViridianCityText_19219
+	db "@"
+
+ViridianCityText8:
+	TX_FAR _ViridianCityText8
+	db "@"
+
+ViridianCityText9:
+	TX_FAR _ViridianCityText9
+	db "@"
+
+ViridianCityText10:
+	TX_FAR _ViridianCityText10
+	db "@"
+
+ViridianCityText13:
+	TX_FAR _ViridianCityText13
+	db "@"
+
+ViridianCityText14:
+	TX_FAR _ViridianCityText14
+	db "@"
--- /dev/null
+++ b/scripts/ViridianForest.asm
@@ -1,0 +1,144 @@
+ViridianForest_Script:
+	call EnableAutoTextBoxDrawing
+	ld hl, ViridianForestTrainerHeader0
+	ld de, ViridianForest_ScriptPointers
+	ld a, [wViridianForestCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wViridianForestCurScript], a
+	ret
+
+ViridianForest_ScriptPointers:
+	dw CheckFightingMapTrainers
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+
+ViridianForest_TextPointers:
+	dw ViridianForestText1
+	dw ViridianForestText2
+	dw ViridianForestText3
+	dw ViridianForestText4
+	dw PickUpItemText
+	dw PickUpItemText
+	dw PickUpItemText
+	dw ViridianForestText8
+	dw ViridianForestText9
+	dw ViridianForestText10
+	dw ViridianForestText11
+	dw ViridianForestText12
+	dw ViridianForestText13
+	dw ViridianForestText14
+
+ViridianForestTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0
+	dw ViridianForestBattleText1 ; TextBeforeBattle
+	dw ViridianForestAfterBattleText1 ; TextAfterBattle
+	dw ViridianForestEndBattleText1 ; TextEndBattle
+	dw ViridianForestEndBattleText1 ; TextEndBattle
+
+ViridianForestTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1
+	dw ViridianForestBattleText2 ; TextBeforeBattle
+	dw ViridianForestAfterBattleText2 ; TextAfterBattle
+	dw ViridianForestEndBattleText2 ; TextEndBattle
+	dw ViridianForestEndBattleText2 ; TextEndBattle
+
+ViridianForestTrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2
+	db ($1 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2
+	dw ViridianForestBattleText3 ; TextBeforeBattle
+	dw ViridianForestAfterBattleText3 ; TextAfterBattle
+	dw ViridianForestEndBattleText3 ; TextEndBattle
+	dw ViridianForestEndBattleText3 ; TextEndBattle
+
+	db $ff
+
+ViridianForestText1:
+	TX_FAR _ViridianForestText1
+	db "@"
+
+ViridianForestText2:
+	TX_ASM
+	ld hl, ViridianForestTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianForestText3:
+	TX_ASM
+	ld hl, ViridianForestTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianForestText4:
+	TX_ASM
+	ld hl, ViridianForestTrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianForestBattleText1:
+	TX_FAR _ViridianForestBattleText1
+	db "@"
+
+ViridianForestEndBattleText1:
+	TX_FAR _ViridianForestEndBattleText1
+	db "@"
+
+ViridianForestAfterBattleText1:
+	TX_FAR _ViridianFrstAfterBattleText1
+	db "@"
+
+ViridianForestBattleText2:
+	TX_FAR _ViridianForestBattleText2
+	db "@"
+
+ViridianForestEndBattleText2:
+	TX_FAR _ViridianForestEndBattleText2
+	db "@"
+
+ViridianForestAfterBattleText2:
+	TX_FAR _ViridianFrstAfterBattleText2
+	db "@"
+
+ViridianForestBattleText3:
+	TX_FAR _ViridianForestBattleText3
+	db "@"
+
+ViridianForestEndBattleText3:
+	TX_FAR _ViridianForestEndBattleText3
+	db "@"
+
+ViridianForestAfterBattleText3:
+	TX_FAR _ViridianFrstAfterBattleText3
+	db "@"
+
+ViridianForestText8:
+	TX_FAR _ViridianForestText8
+	db "@"
+
+ViridianForestText9:
+	TX_FAR _ViridianForestText9
+	db "@"
+
+ViridianForestText10:
+	TX_FAR _ViridianForestText10
+	db "@"
+
+ViridianForestText11:
+	TX_FAR _ViridianForestText11
+	db "@"
+
+ViridianForestText12:
+	TX_FAR _ViridianForestText12
+	db "@"
+
+ViridianForestText13:
+	TX_FAR _ViridianForestText13
+	db "@"
+
+ViridianForestText14:
+	TX_FAR _ViridianForestText14
+	db "@"
--- /dev/null
+++ b/scripts/ViridianForestNorthGate.asm
@@ -1,0 +1,14 @@
+ViridianForestNorthGate_Script:
+	jp EnableAutoTextBoxDrawing
+
+ViridianForestNorthGate_TextPointers:
+	dw ViridianForestExitText1
+	dw ViridianForestExitText2
+
+ViridianForestExitText1:
+	TX_FAR _ViridianForestExitText1
+	db "@"
+
+ViridianForestExitText2:
+	TX_FAR _ViridianForestExitText2
+	db "@"
--- /dev/null
+++ b/scripts/ViridianForestSouthGate.asm
@@ -1,0 +1,14 @@
+ViridianForestSouthGate_Script:
+	jp EnableAutoTextBoxDrawing
+
+ViridianForestSouthGate_TextPointers:
+	dw ViridianForestEntranceText1
+	dw ViridianForestEntranceText2
+
+ViridianForestEntranceText1:
+	TX_FAR _ViridianForestEntranceText1
+	db "@"
+
+ViridianForestEntranceText2:
+	TX_FAR _ViridianForestEntranceText2
+	db "@"
--- /dev/null
+++ b/scripts/ViridianGym.asm
@@ -1,0 +1,496 @@
+ViridianGym_Script:
+	ld hl, Gym8CityName
+	ld de, Gym8LeaderName
+	call LoadGymLeaderAndCityName
+	call EnableAutoTextBoxDrawing
+	ld hl, ViridianGymTrainerHeader0
+	ld de, ViridianGym_ScriptPointers
+	ld a, [wViridianGymCurScript]
+	call ExecuteCurMapScriptInTable
+	ld [wViridianGymCurScript], a
+	ret
+
+Gym8CityName:
+	db "VIRIDIAN CITY@"
+Gym8LeaderName:
+	db "GIOVANNI@"
+
+ViridianGymScript_748d6:
+	xor a
+	ld [wJoyIgnore], a
+	ld [wViridianGymCurScript], a
+	ld [wCurMapScript], a
+	ret
+
+ViridianGym_ScriptPointers:
+	dw ViridianGymScript0
+	dw DisplayEnemyTrainerTextAndStartBattle
+	dw EndTrainerBattle
+	dw ViridianGymScript3
+	dw ViridianGymScript4
+
+ViridianGymScript0:
+	ld a, [wYCoord]
+	ld b, a
+	ld a, [wXCoord]
+	ld c, a
+	ld hl, ViridianGymArrowTilePlayerMovement
+	call DecodeArrowMovementRLE
+	cp $ff
+	jp z, CheckFightingMapTrainers
+	call StartSimulatingJoypadStates
+	ld hl, wd736
+	set 7, [hl]
+	ld a, SFX_ARROW_TILES
+	call PlaySound
+	ld a, $ff
+	ld [wJoyIgnore], a
+	ld a, $4
+	ld [wCurMapScript], a
+	ret
+
+;format:
+;db y,x
+;dw pointer to movement
+ViridianGymArrowTilePlayerMovement:
+	db $b,$13
+	dw ViridianGymArrowMovement1
+	db $1,$13
+	dw ViridianGymArrowMovement2
+	db $2,$12
+	dw ViridianGymArrowMovement3
+	db $2,$b
+	dw ViridianGymArrowMovement4
+	db $a,$10
+	dw ViridianGymArrowMovement5
+	db $6,$4
+	dw ViridianGymArrowMovement6
+	db $d,$5
+	dw ViridianGymArrowMovement7
+	db $e,$4
+	dw ViridianGymArrowMovement8
+	db $f,$0
+	dw ViridianGymArrowMovement9
+	db $f,$1
+	dw ViridianGymArrowMovement10
+	db $10,$d
+	dw ViridianGymArrowMovement11
+	db $11,$d
+	dw ViridianGymArrowMovement12
+	db $FF
+
+;format: direction, count
+ViridianGymArrowMovement1:
+	db D_UP,$09,$FF
+
+ViridianGymArrowMovement2:
+	db D_LEFT,$08,$FF
+
+ViridianGymArrowMovement3:
+	db D_DOWN,$09,$FF
+
+ViridianGymArrowMovement4:
+	db D_RIGHT,$06,$FF
+
+ViridianGymArrowMovement5:
+	db D_DOWN,$02,$FF
+
+ViridianGymArrowMovement6:
+	db D_DOWN,$07,$FF
+
+ViridianGymArrowMovement7:
+	db D_RIGHT,$08,$FF
+
+ViridianGymArrowMovement8:
+	db D_RIGHT,$09,$FF
+
+ViridianGymArrowMovement9:
+	db D_UP,$08,$FF
+
+ViridianGymArrowMovement10:
+	db D_UP,$06,$FF
+
+ViridianGymArrowMovement11:
+	db D_LEFT,$06,$FF
+
+ViridianGymArrowMovement12:
+	db D_LEFT,$0C,$FF
+
+ViridianGymScript4:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	jr nz, .asm_74980
+	xor a
+	ld [wJoyIgnore], a
+	ld hl, wd736
+	res 7, [hl]
+	ld a, $0
+	ld [wCurMapScript], a
+	ret
+.asm_74980
+	jpba LoadSpinnerArrowTiles
+
+ViridianGymScript3:
+	ld a, [wIsInBattle]
+	cp $ff
+	jp z, ViridianGymScript_748d6
+	ld a, $f0
+	ld [wJoyIgnore], a
+ViridianGymScript3_74995:
+	ld a, $c
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
+	lb bc, TM_27, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld a, $d
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	SetEvent EVENT_GOT_TM27
+	jr .asm_749be
+.BagFull
+	ld a, $e
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+.asm_749be
+	ld hl, wObtainedBadges
+	set 7, [hl]
+	ld hl, wBeatGymFlags
+	set 7, [hl]
+
+	; deactivate gym trainers
+	SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7
+
+	ld a, HS_ROUTE_22_RIVAL_2
+	ld [wMissableObjectIndex], a
+	predef ShowObject
+	SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
+	jp ViridianGymScript_748d6
+
+ViridianGym_TextPointers:
+	dw ViridianGymText1
+	dw ViridianGymText2
+	dw ViridianGymText3
+	dw ViridianGymText4
+	dw ViridianGymText5
+	dw ViridianGymText6
+	dw ViridianGymText7
+	dw ViridianGymText8
+	dw ViridianGymText9
+	dw ViridianGymText10
+	dw PickUpItemText
+	dw ViridianGymText12
+	dw ViridianGymText13
+	dw ViridianGymText14
+
+ViridianGymTrainerHeader0:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0
+	dw ViridianGymBattleText1 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText1 ; TextAfterBattle
+	dw ViridianGymEndBattleText1 ; TextEndBattle
+	dw ViridianGymEndBattleText1 ; TextEndBattle
+
+ViridianGymTrainerHeader1:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1
+	dw ViridianGymBattleText2 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText2 ; TextAfterBattle
+	dw ViridianGymEndBattleText2 ; TextEndBattle
+	dw ViridianGymEndBattleText2 ; TextEndBattle
+
+ViridianGymTrainerHeader2:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2
+	dw ViridianGymBattleText3 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText3 ; TextAfterBattle
+	dw ViridianGymEndBattleText3 ; TextEndBattle
+	dw ViridianGymEndBattleText3 ; TextEndBattle
+
+ViridianGymTrainerHeader3:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3
+	db ($2 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3
+	dw ViridianGymBattleText4 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText4 ; TextAfterBattle
+	dw ViridianGymEndBattleText4 ; TextEndBattle
+	dw ViridianGymEndBattleText4 ; TextEndBattle
+
+ViridianGymTrainerHeader4:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4
+	dw ViridianGymBattleText5 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText5 ; TextAfterBattle
+	dw ViridianGymEndBattleText5 ; TextEndBattle
+	dw ViridianGymEndBattleText5 ; TextEndBattle
+
+ViridianGymTrainerHeader5:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5
+	dw ViridianGymBattleText6 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText6 ; TextAfterBattle
+	dw ViridianGymEndBattleText6 ; TextEndBattle
+	dw ViridianGymEndBattleText6 ; TextEndBattle
+
+ViridianGymTrainerHeader6:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1
+	db ($3 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1
+	dw ViridianGymBattleText7 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText7 ; TextAfterBattle
+	dw ViridianGymEndBattleText7 ; TextEndBattle
+	dw ViridianGymEndBattleText7 ; TextEndBattle
+
+ViridianGymTrainerHeader7:
+	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1
+	db ($4 << 4) ; trainer's view range
+	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1
+	dw ViridianGymBattleText8 ; TextBeforeBattle
+	dw ViridianGymAfterBattleText8 ; TextAfterBattle
+	dw ViridianGymEndBattleText8 ; TextEndBattle
+	dw ViridianGymEndBattleText8 ; TextEndBattle
+
+	db $ff
+
+ViridianGymText1:
+	TX_ASM
+	CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
+	jr z, .asm_6de66
+	CheckEventReuseA EVENT_GOT_TM27
+	jr nz, .asm_9fc95
+	call z, ViridianGymScript3_74995
+	call DisableWaitingAfterTextDisplay
+	jr .asm_6dff7
+.asm_9fc95
+	ld a, $1
+	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+	ld hl, ViridianGymText_74ad9
+	call PrintText
+	call GBFadeOutToBlack
+	ld a, HS_VIRIDIAN_GYM_GIOVANNI
+	ld [wMissableObjectIndex], a
+	predef HideObject
+	call UpdateSprites
+	call Delay3
+	call GBFadeInFromBlack
+	jr .asm_6dff7
+.asm_6de66
+	ld hl, ViridianGymText_74ace
+	call PrintText
+	ld hl, wd72d
+	set 6, [hl]
+	set 7, [hl]
+	ld hl, ViridianGymText_74ad3
+	ld de, ViridianGymText_74ad3
+	call SaveEndBattleTextPointers
+	ld a, [H_SPRITEINDEX]
+	ld [wSpriteIndex], a
+	call EngageMapTrainer
+	call InitBattleEnemyParameters
+	ld a, $8
+	ld [wGymLeaderNo], a
+	ld a, $3
+	ld [wViridianGymCurScript], a
+.asm_6dff7
+	jp TextScriptEnd
+
+ViridianGymText_74ace:
+	TX_FAR _ViridianGymText_74ace
+	db "@"
+
+ViridianGymText_74ad3:
+	TX_FAR _ViridianGymText_74ad3
+	TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded
+	db "@"
+
+ViridianGymText_74ad9:
+	TX_FAR _ViridianGymText_74ad9
+	TX_WAIT
+	db "@"
+
+ViridianGymText12:
+	TX_FAR _ViridianGymText12
+	db "@"
+
+ViridianGymText13:
+	TX_FAR _ReceivedTM27Text
+	TX_SFX_ITEM_1
+
+TM27ExplanationText:
+	TX_FAR _TM27ExplanationText
+	db "@"
+
+ViridianGymText14:
+	TX_FAR _TM27NoRoomText
+	db "@"
+
+ViridianGymText2:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader0
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText1:
+	TX_FAR _ViridianGymBattleText1
+	db "@"
+
+ViridianGymEndBattleText1:
+	TX_FAR _ViridianGymEndBattleText1
+	db "@"
+
+ViridianGymAfterBattleText1:
+	TX_FAR _ViridianGymAfterBattleText1
+	db "@"
+
+ViridianGymText3:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader1
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText2:
+	TX_FAR _ViridianGymBattleText2
+	db "@"
+
+ViridianGymEndBattleText2:
+	TX_FAR _ViridianGymEndBattleText2
+	db "@"
+
+ViridianGymAfterBattleText2:
+	TX_FAR _ViridianGymAfterBattleText2
+	db "@"
+
+ViridianGymText4:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader2
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText3:
+	TX_FAR _ViridianGymBattleText3
+	db "@"
+
+ViridianGymEndBattleText3:
+	TX_FAR _ViridianGymEndBattleText3
+	db "@"
+
+ViridianGymAfterBattleText3:
+	TX_FAR _ViridianGymAfterBattleText3
+	db "@"
+
+ViridianGymText5:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader3
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText4:
+	TX_FAR _ViridianGymBattleText4
+	db "@"
+
+ViridianGymEndBattleText4:
+	TX_FAR _ViridianGymEndBattleText4
+	db "@"
+
+ViridianGymAfterBattleText4:
+	TX_FAR _ViridianGymAfterBattleText4
+	db "@"
+
+ViridianGymText6:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader4
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText5:
+	TX_FAR _ViridianGymBattleText5
+	db "@"
+
+ViridianGymEndBattleText5:
+	TX_FAR _ViridianGymEndBattleText5
+	db "@"
+
+ViridianGymAfterBattleText5:
+	TX_FAR _ViridianGymAfterBattleText5
+	db "@"
+
+ViridianGymText7:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader5
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText6:
+	TX_FAR _ViridianGymBattleText6
+	db "@"
+
+ViridianGymEndBattleText6:
+	TX_FAR _ViridianGymEndBattleText6
+	db "@"
+
+ViridianGymAfterBattleText6:
+	TX_FAR _ViridianGymAfterBattleText6
+	db "@"
+
+ViridianGymText8:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader6
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText7:
+	TX_FAR _ViridianGymBattleText7
+	db "@"
+
+ViridianGymEndBattleText7:
+	TX_FAR _ViridianGymEndBattleText7
+	db "@"
+
+ViridianGymAfterBattleText7:
+	TX_FAR _ViridianGymAfterBattleText7
+	db "@"
+
+ViridianGymText9:
+	TX_ASM
+	ld hl, ViridianGymTrainerHeader7
+	call TalkToTrainer
+	jp TextScriptEnd
+
+ViridianGymBattleText8:
+	TX_FAR _ViridianGymBattleText8
+	db "@"
+
+ViridianGymEndBattleText8:
+	TX_FAR _ViridianGymEndBattleText8
+	db "@"
+
+ViridianGymAfterBattleText8:
+	TX_FAR _ViridianGymAfterBattleText8
+	db "@"
+
+ViridianGymText10:
+	TX_ASM
+	CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
+	jr nz, .asm_1abd1
+	ld hl, ViridianGymText_74bd4
+	call PrintText
+	jr .asm_6064d
+.asm_1abd1
+	ld hl, ViridianGymText_74bd9
+	call PrintText
+.asm_6064d
+	jp TextScriptEnd
+
+ViridianGymText_74bd4:
+	TX_FAR _ViridianGymText_74bd4
+	db "@"
+
+ViridianGymText_74bd9:
+	TX_FAR _ViridianGymText_74bd9
+	db "@"
--- /dev/null
+++ b/scripts/ViridianMart.asm
@@ -1,0 +1,94 @@
+ViridianMart_Script:
+	call ViridianMartScript_1d47d
+	call EnableAutoTextBoxDrawing
+	ld hl, ViridianMart_ScriptPointers
+	ld a, [wViridianMartCurScript]
+	jp CallFunctionInTable
+
+ViridianMartScript_1d47d:
+	CheckEvent EVENT_OAK_GOT_PARCEL
+	jr nz, .asm_1d489
+	ld hl, ViridianMart_TextPointers
+	jr .asm_1d48c
+.asm_1d489
+	ld hl, ViridianMart_TextPointers2
+.asm_1d48c
+	ld a, l
+	ld [wMapTextPtr], a
+	ld a, h
+	ld [wMapTextPtr+1], a
+	ret
+
+ViridianMart_ScriptPointers:
+	dw ViridianMartScript0
+	dw ViridianMartScript1
+	dw ViridianMartScript2
+
+ViridianMartScript0:
+	call UpdateSprites
+	ld a, $4
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	ld hl, wSimulatedJoypadStatesEnd
+	ld de, RLEMovement1d4bb
+	call DecodeRLEList
+	dec a
+	ld [wSimulatedJoypadStatesIndex], a
+	call StartSimulatingJoypadStates
+	ld a, $1
+	ld [wViridianMartCurScript], a
+	ret
+
+RLEMovement1d4bb:
+	db D_LEFT, $01
+	db D_UP, $02
+	db $ff
+
+ViridianMartScript1:
+	ld a, [wSimulatedJoypadStatesIndex]
+	and a
+	ret nz
+	call Delay3
+	ld a, $5
+	ld [hSpriteIndexOrTextID], a
+	call DisplayTextID
+	lb bc, OAKS_PARCEL, 1
+	call GiveItem
+	SetEvent EVENT_GOT_OAKS_PARCEL
+	ld a, $2
+	ld [wViridianMartCurScript], a
+	; fallthrough
+ViridianMartScript2:
+	ret
+
+ViridianMart_TextPointers:
+	dw ViridianMartText1
+	dw ViridianMartText2
+	dw ViridianMartText3
+	dw ViridianMartText4
+	dw ViridianMartText5
+ViridianMart_TextPointers2:
+	dw ViridianCashierText
+	dw ViridianMartText2
+	dw ViridianMartText3
+
+ViridianMartText1:
+	TX_FAR _ViridianMartText1
+	db "@"
+
+ViridianMartText4:
+	TX_FAR _ViridianMartText4
+	db "@"
+
+ViridianMartText5:
+	TX_FAR ViridianMartParcelQuestText
+	TX_SFX_KEY_ITEM
+	db "@"
+
+ViridianMartText2:
+	TX_FAR _ViridianMartText2
+	db "@"
+
+ViridianMartText3:
+	TX_FAR _ViridianMartText3
+	db "@"
--- /dev/null
+++ b/scripts/ViridianNicknameHouse.asm
@@ -1,0 +1,33 @@
+ViridianNicknameHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+ViridianNicknameHouse_TextPointers:
+	dw ViridianHouseText1
+	dw ViridianHouseText2
+	dw ViridianHouseText3
+	dw ViridianHouseText4
+
+ViridianHouseText1:
+	TX_FAR _ViridianHouseText1
+	db "@"
+
+ViridianHouseText2:
+	TX_FAR _ViridianHouseText2
+	db "@"
+
+ViridianHouseText3:
+	TX_ASM
+	ld hl, ViridianHouseText_1d5b1
+	call PrintText
+	ld a, SPEAROW
+	call PlayCry
+	call WaitForSoundToFinish
+	jp TextScriptEnd
+
+ViridianHouseText_1d5b1:
+	TX_FAR _ViridianHouseText_1d5b1
+	db "@"
+
+ViridianHouseText4:
+	TX_FAR _ViridianHouseText4
+	db "@"
--- /dev/null
+++ b/scripts/ViridianPokecenter.asm
@@ -1,0 +1,23 @@
+ViridianPokecenter_Script:
+	call Serial_TryEstablishingExternallyClockedConnection
+	jp EnableAutoTextBoxDrawing
+
+ViridianPokecenter_TextPointers:
+	dw ViridianHealNurseText
+	dw ViridianPokeCenterText2
+	dw ViridianPokeCenterText3
+	dw ViridianTradeNurseText
+
+ViridianHealNurseText:
+	TX_POKECENTER_NURSE
+
+ViridianPokeCenterText2:
+	TX_FAR _ViridianPokeCenterText2
+	db "@"
+
+ViridianPokeCenterText3:
+	TX_FAR _ViridianPokeCenterText3
+	db "@"
+
+ViridianTradeNurseText:
+	TX_CABLE_CLUB_RECEPTIONIST
--- /dev/null
+++ b/scripts/ViridianSchoolHouse.asm
@@ -1,0 +1,14 @@
+ViridianSchoolHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+ViridianSchoolHouse_TextPointers:
+	dw SchoolText1
+	dw SchoolText2
+
+SchoolText1:
+	TX_FAR _SchoolText1
+	db "@"
+
+SchoolText2:
+	TX_FAR _SchoolText2
+	db "@"
--- /dev/null
+++ b/scripts/WardensHouse.asm
@@ -1,0 +1,113 @@
+WardensHouse_Script:
+	jp EnableAutoTextBoxDrawing
+
+WardensHouse_TextPointers:
+	dw FuchsiaHouse2Text1
+	dw PickUpItemText
+	dw BoulderText
+	dw FuchsiaHouse2Text4
+	dw FuchsiaHouse2Text5
+
+FuchsiaHouse2Text1:
+	TX_ASM
+	CheckEvent EVENT_GOT_HM04
+	jr nz, .subtract
+	ld b, GOLD_TEETH
+	call IsItemInBag
+	jr nz, .asm_3f30f
+	CheckEvent EVENT_GAVE_GOLD_TEETH
+	jr nz, .asm_60cba
+	ld hl, WardenGibberishText1
+	call PrintText
+	call YesNoChoice
+	ld a, [wCurrentMenuItem]
+	and a
+	ld hl, WardenGibberishText3
+	jr nz, .asm_61238
+	ld hl, WardenGibberishText2
+.asm_61238
+	call PrintText
+	jr .asm_52039
+.asm_3f30f
+	ld hl, WardenTeethText1
+	call PrintText
+	ld a, GOLD_TEETH
+	ld [$ffdb], a
+	callba RemoveItemByID
+	SetEvent EVENT_GAVE_GOLD_TEETH
+.asm_60cba
+	ld hl, WardenThankYouText
+	call PrintText
+	lb bc, HM_04, 1
+	call GiveItem
+	jr nc, .BagFull
+	ld hl, ReceivedHM04Text
+	call PrintText
+	SetEvent EVENT_GOT_HM04
+	jr .asm_52039
+.subtract
+	ld hl, HM04ExplanationText
+	call PrintText
+	jr .asm_52039
+.BagFull
+	ld hl, HM04NoRoomText
+	call PrintText
+.asm_52039
+	jp TextScriptEnd
+
+WardenGibberishText1:
+	TX_FAR _WardenGibberishText1
+	db "@"
+
+WardenGibberishText2:
+	TX_FAR _WardenGibberishText2
+	db "@"
+
+WardenGibberishText3:
+	TX_FAR _WardenGibberishText3
+	db "@"
+
+WardenTeethText1:
+	TX_FAR _WardenTeethText1
+	TX_SFX_ITEM_1
+
+WardenTeethText2:
+	TX_FAR _WardenTeethText2
+	db "@"
+
+WardenThankYouText:
+	TX_FAR _WardenThankYouText
+	db "@"
+
+ReceivedHM04Text:
+	TX_FAR _ReceivedHM04Text
+	TX_SFX_ITEM_1
+	db "@"
+
+HM04ExplanationText:
+	TX_FAR _HM04ExplanationText
+	db "@"
+
+HM04NoRoomText:
+	TX_FAR _HM04NoRoomText
+	db "@"
+
+FuchsiaHouse2Text5:
+FuchsiaHouse2Text4:
+	TX_ASM
+	ld a, [H_SPRITEINDEX]
+	cp $4
+	ld hl, FuchsiaHouse2Text_7517b
+	jr nz, .asm_4c9a2
+	ld hl, FuchsiaHouse2Text_75176
+.asm_4c9a2
+	call PrintText
+	jp TextScriptEnd
+
+FuchsiaHouse2Text_75176:
+	TX_FAR _FuchsiaHouse2Text_75176
+	db "@"
+
+FuchsiaHouse2Text_7517b:
+	TX_FAR _FuchsiaHouse2Text_7517b
+	db "@"
--- a/scripts/agatha.asm
+++ /dev/null
@@ -1,154 +1,0 @@
-AgathaScript:
-	call AgathaShowOrHideExitBlock
-	call EnableAutoTextBoxDrawing
-	ld hl, AgathaTrainerHeader0
-	ld de, AgathaScriptPointers
-	ld a, [wAgathaCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wAgathaCurScript], a
-	ret
-
-AgathaShowOrHideExitBlock:
-; Blocks or clears the exit to the next room.
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
-	jr z, .blockExitToNextRoom
-	ld a, $e
-	jp .setExitBlock
-.blockExitToNextRoom
-	ld a, $3b
-.setExitBlock:
-	ld [wNewTileBlockID], a
-	lb bc, 0, 2
-	predef_jump ReplaceTileBlock
-
-ResetAgathaScript:
-	xor a
-	ld [wAgathaCurScript], a
-	ret
-
-AgathaScriptPointers:
-	dw AgathaScript0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw AgathaScript2
-	dw AgathaScript3
-	dw AgathaScript4
-
-AgathaScript4:
-	ret
-
-AgathaScriptWalkIntoRoom:
-; Walk six steps upward.
-	ld hl, wSimulatedJoypadStatesEnd
-	ld a, D_UP
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld a, $6
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wAgathaCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-AgathaScript0:
-	ld hl, AgathaEntranceCoords
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	xor a
-	ld [hJoyPressed], a
-	ld [hJoyHeld], a
-	ld [wSimulatedJoypadStatesEnd], a
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, [wCoordIndex]
-	cp $3  ; Is player standing one tile above the exit?
-	jr c, .stopPlayerFromLeaving
-	CheckAndSetEvent EVENT_AUTOWALKED_INTO_AGATHAS_ROOM
-	jr z, AgathaScriptWalkIntoRoom
-.stopPlayerFromLeaving
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID  ; "Don't run away!"
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wAgathaCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-AgathaEntranceCoords:
-	db $0A,$04
-	db $0A,$05
-	db $0B,$04
-	db $0B,$05
-	db $FF
-
-AgathaScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wAgathaCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-AgathaScript2:
-	call EndTrainerBattle
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, ResetAgathaScript
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $1
-	ld [wGaryCurScript], a
-	ret
-
-AgathaTextPointers:
-	dw AgathaText1
-	dw AgathaDontRunAwayText
-
-AgathaTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0
-	dw AgathaBeforeBattleText ; TextBeforeBattle
-	dw AgathaAfterBattleText ; TextAfterBattle
-	dw AgathaEndBattleText ; TextEndBattle
-	dw AgathaEndBattleText ; TextEndBattle
-
-	db $ff
-
-AgathaText1:
-	TX_ASM
-	ld hl, AgathaTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-AgathaBeforeBattleText:
-	TX_FAR _AgathaBeforeBattleText
-	db "@"
-
-AgathaEndBattleText:
-	TX_FAR _AgathaEndBattleText
-	db "@"
-
-AgathaAfterBattleText:
-	TX_FAR _AgathaAfterBattleText
-	db "@"
-
-AgathaDontRunAwayText:
-	TX_FAR _AgathaDontRunAwayText
-	db "@"
--- a/scripts/bikeshop.asm
+++ /dev/null
@@ -1,147 +1,0 @@
-BikeShopScript:
-	jp EnableAutoTextBoxDrawing
-
-BikeShopTextPointers:
-	dw BikeShopText1
-	dw BikeShopText2
-	dw BikeShopText3
-
-BikeShopText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_BICYCLE
-	jr z, .asm_260d4
-	ld hl, BikeShopText_1d82f
-	call PrintText
-	jp .Done
-.asm_260d4
-	ld b, BIKE_VOUCHER
-	call IsItemInBag
-	jr z, .asm_41190
-	ld hl, BikeShopText_1d81f
-	call PrintText
-	lb bc, BICYCLE, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, BIKE_VOUCHER
-	ld [$ffdb], a
-	callba RemoveItemByID
-	SetEvent EVENT_GOT_BICYCLE
-	ld hl, BikeShopText_1d824
-	call PrintText
-	jr .Done
-.BagFull
-	ld hl, BikeShopText_1d834
-	call PrintText
-	jr .Done
-.asm_41190
-	ld hl, BikeShopText_1d810
-	call PrintText
-	xor a
-	ld [wCurrentMenuItem], a
-	ld [wLastMenuItem], a
-	ld a, A_BUTTON | B_BUTTON
-	ld [wMenuWatchedKeys], a
-	ld a, $1
-	ld [wMaxMenuItem], a
-	ld a, $2
-	ld [wTopMenuItemY], a
-	ld a, $1
-	ld [wTopMenuItemX], a
-	ld hl, wd730
-	set 6, [hl]
-	coord hl, 0, 0
-	ld b, $4
-	ld c, $f
-	call TextBoxBorder
-	call UpdateSprites
-	coord hl, 2, 2
-	ld de, BikeShopMenuText
-	call PlaceString
-	coord hl, 8, 3
-	ld de, BikeShopMenuPrice
-	call PlaceString
-	ld hl, BikeShopText_1d815
-	call PrintText
-	call HandleMenuInput
-	bit 1, a
-	jr nz, .cancel
-	ld hl, wd730
-	res 6, [hl]
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .cancel
-	ld hl, BikeShopCantAffordText
-	call PrintText
-.cancel
-	ld hl, BikeShopComeAgainText
-	call PrintText
-.Done
-	jp TextScriptEnd
-
-BikeShopMenuText:
-	db   "BICYCLE"
-	next "CANCEL@"
-
-BikeShopMenuPrice:
-	db "¥1000000@"
-
-BikeShopText_1d810:
-	TX_FAR _BikeShopText_1d810
-	db "@"
-
-BikeShopText_1d815:
-	TX_FAR _BikeShopText_1d815
-	db "@"
-
-BikeShopCantAffordText:
-	TX_FAR _BikeShopCantAffordText
-	db "@"
-
-BikeShopText_1d81f:
-	TX_FAR _BikeShopText_1d81f
-	db "@"
-
-BikeShopText_1d824:
-	TX_FAR _BikeShopText_1d824
-	TX_SFX_KEY_ITEM
-	db "@"
-
-BikeShopComeAgainText:
-	TX_FAR _BikeShopComeAgainText
-	db "@"
-
-BikeShopText_1d82f:
-	TX_FAR _BikeShopText_1d82f
-	db "@"
-
-BikeShopText_1d834:
-	TX_FAR _BikeShopText_1d834
-	db "@"
-
-BikeShopText2:
-	TX_ASM
-	ld hl, BikeShopText_1d843
-	call PrintText
-	jp TextScriptEnd
-
-BikeShopText_1d843:
-	TX_FAR _BikeShopText_1d843
-	db "@"
-
-BikeShopText3:
-	TX_ASM
-	CheckEvent EVENT_GOT_BICYCLE
-	ld hl, BikeShopText_1d861
-	jr nz, .asm_34d2d
-	ld hl, BikeShopText_1d85c
-.asm_34d2d
-	call PrintText
-	jp TextScriptEnd
-
-BikeShopText_1d85c:
-	TX_FAR _BikeShopText_1d85c
-	db "@"
-
-BikeShopText_1d861:
-	TX_FAR _BikeShopText_1d861
-	db "@"
--- a/scripts/billshouse.asm
+++ /dev/null
@@ -1,214 +1,0 @@
-BillsHouseScript:
-	call EnableAutoTextBoxDrawing
-	ld a, [wBillsHouseCurScript]
-	ld hl, BillsHouseScriptPointers
-	jp CallFunctionInTable
-
-BillsHouseScriptPointers:
-	dw BillsHouseScript0
-	dw BillsHouseScript1
-	dw BillsHouseScript2
-	dw BillsHouseScript3
-	dw BillsHouseScript4
-	dw BillsHouseScript5
-
-BillsHouseScript0:
-	ret
-
-BillsHouseScript1:
-	ld a, [wSpriteStateData1 + 9]
-	and a ; cp SPRITE_FACING_DOWN
-	ld de, MovementData_1e79c
-	jr nz, .notDown
-	ld de, MovementData_1e7a0
-.notDown
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $2
-	ld [wBillsHouseCurScript], a
-	ret
-
-MovementData_1e79c:
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db $FF
-
-; make Bill walk around the player
-MovementData_1e7a0:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_UP
-	db $FF
-
-BillsHouseScript2:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_BILL_POKEMON
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	SetEvent EVENT_BILL_SAID_USE_CELL_SEPARATOR
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $3
-	ld [wBillsHouseCurScript], a
-	ret
-
-BillsHouseScript3:
-	CheckEvent EVENT_USED_CELL_SEPARATOR_ON_BILL
-	ret z
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $2
-	ld [wSpriteIndex], a
-	ld a, $c
-	ld [$ffeb], a
-	ld a, $40
-	ld [$ffec], a
-	ld a, $6
-	ld [$ffed], a
-	ld a, $5
-	ld [$ffee], a
-	call SetSpritePosition1
-	ld a, HS_BILL_1
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld c, 8
-	call DelayFrames
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	ld de, MovementData_1e807
-	call MoveSprite
-	ld a, $4
-	ld [wBillsHouseCurScript], a
-	ret
-
-MovementData_1e807:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-BillsHouseScript4:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	SetEvent EVENT_MET_BILL_2 ; this event seems redundant
-	SetEvent EVENT_MET_BILL
-	ld a, $0
-	ld [wBillsHouseCurScript], a
-	ret
-
-BillsHouseScript5:
-	ld a, $4
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $0
-	ld [wBillsHouseCurScript], a
-	ret
-
-BillsHouseTextPointers:
-	dw BillsHouseText1
-	dw BillsHouseText2
-	dw BillsHouseText3
-	dw BillsHouseText4
-
-BillsHouseText4:
-	TX_BILLS_PC
-
-BillsHouseText1:
-	TX_ASM
-	ld hl, BillsHouseText_1e865
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_1e85a
-.asm_1e84d
-	ld hl, BillsHouseText_1e86a
-	call PrintText
-	ld a, $1
-	ld [wBillsHouseCurScript], a
-	jr .asm_1e862
-.asm_1e85a
-	ld hl, BillsHouseText_1e86f
-	call PrintText
-	jr .asm_1e84d
-.asm_1e862
-	jp TextScriptEnd
-
-BillsHouseText_1e865:
-	TX_FAR _BillsHouseText_1e865
-	db "@"
-
-BillsHouseText_1e86a:
-	TX_FAR _BillsHouseText_1e86a
-	db "@"
-
-BillsHouseText_1e86f:
-	TX_FAR _BillsHouseText_1e86f
-	db "@"
-
-BillsHouseText2:
-	TX_ASM
-	CheckEvent EVENT_GOT_SS_TICKET
-	jr nz, .asm_1e8a9
-	ld hl, BillThankYouText
-	call PrintText
-	lb bc, S_S_TICKET, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, SSTicketReceivedText
-	call PrintText
-	SetEvent EVENT_GOT_SS_TICKET
-	ld a, HS_CERULEAN_GUARD_1
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, HS_CERULEAN_GUARD_2
-	ld [wMissableObjectIndex], a
-	predef HideObject
-.asm_1e8a9
-	ld hl, BillsHouseText_1e8cb
-	call PrintText
-	jr .asm_1e8b7
-.BagFull
-	ld hl, SSTicketNoRoomText
-	call PrintText
-.asm_1e8b7
-	jp TextScriptEnd
-
-BillThankYouText:
-	TX_FAR _BillThankYouText
-	db "@"
-
-SSTicketReceivedText:
-	TX_FAR _SSTicketReceivedText
-	TX_SFX_KEY_ITEM
-	TX_BLINK
-	db "@"
-
-SSTicketNoRoomText:
-	TX_FAR _SSTicketNoRoomText
-	db "@"
-
-BillsHouseText_1e8cb:
-	TX_FAR _BillsHouseText_1e8cb
-	db "@"
-
-BillsHouseText3:
-	TX_ASM
-	ld hl, BillsHouseText_1e8da
-	call PrintText
-	jp TextScriptEnd
-
-BillsHouseText_1e8da:
-	TX_FAR _BillsHouseText_1e8da
-	db "@"
--- a/scripts/blueshouse.asm
+++ /dev/null
@@ -1,89 +1,0 @@
-BluesHouseScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, BluesHouseScriptPointers
-	ld a, [wBluesHouseCurScript]
-	jp CallFunctionInTable
-
-BluesHouseScriptPointers:
-	dw BluesHouseScript0
-	dw BluesHouseScript1
-
-BluesHouseScript0:
-	SetEvent EVENT_ENTERED_BLUES_HOUSE
-
-	; trigger the next script
-	ld a, 1
-	ld [wBluesHouseCurScript], a
-	ret
-
-BluesHouseScript1:
-	ret
-
-BluesHouseTextPointers:
-	dw BluesHouseText1
-	dw BluesHouseText2
-	dw BluesHouseText3
-
-BluesHouseText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_TOWN_MAP
-	jr nz, .GotMap
-	CheckEvent EVENT_GOT_POKEDEX
-	jr nz, .GiveMap
-	ld hl, DaisyInitialText
-	call PrintText
-	jr .done
-
-.GiveMap
-	ld hl, DaisyOfferMapText
-	call PrintText
-	lb bc, TOWN_MAP, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, HS_TOWN_MAP
-	ld [wMissableObjectIndex], a
-	predef HideObject ; hide table map object
-	ld hl, GotMapText
-	call PrintText
-	SetEvent EVENT_GOT_TOWN_MAP
-	jr .done
-
-.GotMap
-	ld hl, DaisyUseMapText
-	call PrintText
-	jr .done
-
-.BagFull
-	ld hl, DaisyBagFullText
-	call PrintText
-.done
-	jp TextScriptEnd
-
-DaisyInitialText:
-	TX_FAR _DaisyInitialText
-	db "@"
-
-DaisyOfferMapText:
-	TX_FAR _DaisyOfferMapText
-	db "@"
-
-GotMapText:
-	TX_FAR _GotMapText
-	TX_SFX_KEY_ITEM
-	db "@"
-
-DaisyBagFullText:
-	TX_FAR _DaisyBagFullText
-	db "@"
-
-DaisyUseMapText:
-	TX_FAR _DaisyUseMapText
-	db "@"
-
-BluesHouseText2: ; Daisy, walking around
-	TX_FAR _BluesHouseText2
-	db "@"
-
-BluesHouseText3: ; map on table
-	TX_FAR _BluesHouseText3
-	db "@"
--- a/scripts/bruno.asm
+++ /dev/null
@@ -1,151 +1,0 @@
-BrunoScript:
-	call BrunoShowOrHideExitBlock
-	call EnableAutoTextBoxDrawing
-	ld hl, BrunoTrainerHeader0
-	ld de, BrunoScriptPointers
-	ld a, [wBrunoCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wBrunoCurScript], a
-	ret
-
-BrunoShowOrHideExitBlock:
-; Blocks or clears the exit to the next room.
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
-	jr z, .blockExitToNextRoom
-	ld a, $5
-	jp .setExitBlock
-.blockExitToNextRoom
-	ld a, $24
-.setExitBlock
-	ld [wNewTileBlockID], a
-	lb bc, 0, 2
-	predef_jump ReplaceTileBlock
-
-ResetBrunoScript:
-	xor a
-	ld [wBrunoCurScript], a
-	ret
-
-BrunoScriptPointers:
-	dw BrunoScript0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw BrunoScript2
-	dw BrunoScript3
-	dw BrunoScript4
-
-BrunoScript4:
-	ret
-
-BrunoScriptWalkIntoRoom:
-; Walk six steps upward.
-	ld hl, wSimulatedJoypadStatesEnd
-	ld a, D_UP
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld a, $6
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wBrunoCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-BrunoScript0:
-	ld hl, BrunoEntranceCoords
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	xor a
-	ld [hJoyPressed], a
-	ld [hJoyHeld], a
-	ld [wSimulatedJoypadStatesEnd], a
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, [wCoordIndex]
-	cp $3  ; Is player standing one tile above the exit?
-	jr c, .stopPlayerFromLeaving
-	CheckAndSetEvent EVENT_AUTOWALKED_INTO_BRUNOS_ROOM
-	jr z, BrunoScriptWalkIntoRoom
-.stopPlayerFromLeaving
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID  ; "Don't run away!"
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wBrunoCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-BrunoEntranceCoords:
-	db $0A,$04
-	db $0A,$05
-	db $0B,$04
-	db $0B,$05
-	db $FF
-
-BrunoScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wBrunoCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-BrunoScript2:
-	call EndTrainerBattle
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, ResetBrunoScript
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-BrunoTextPointers:
-	dw BrunoText1
-	dw BrunoDontRunAwayText
-
-BrunoTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_BRUNOS_ROOM_TRAINER_0
-	dw BrunoBeforeBattleText ; TextBeforeBattle
-	dw BrunoAfterBattleText ; TextAfterBattle
-	dw BrunoEndBattleText ; TextEndBattle
-	dw BrunoEndBattleText ; TextEndBattle
-
-	db $ff
-
-BrunoText1:
-	TX_ASM
-	ld hl, BrunoTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-BrunoBeforeBattleText:
-	TX_FAR _BrunoBeforeBattleText
-	db "@"
-
-BrunoEndBattleText:
-	TX_FAR _BrunoEndBattleText
-	db "@"
-
-BrunoAfterBattleText:
-	TX_FAR _BrunoAfterBattleText
-	db "@"
-
-BrunoDontRunAwayText:
-	TX_FAR _BrunoDontRunAwayText
-	db "@"
--- a/scripts/celadoncity.asm
+++ /dev/null
@@ -1,132 +1,0 @@
-CeladonCityScript:
-	call EnableAutoTextBoxDrawing
-	ResetEvents EVENT_1B8, EVENT_1BF
-	ResetEvent EVENT_67F
-	ret
-
-CeladonCityTextPointers:
-	dw CeladonCityText1
-	dw CeladonCityText2
-	dw CeladonCityText3
-	dw CeladonCityText4
-	dw CeladonCityText5
-	dw CeladonCityText6
-	dw CeladonCityText7
-	dw CeladonCityText8
-	dw CeladonCityText9
-	dw CeladonCityText10
-	dw CeladonCityText11
-	dw PokeCenterSignText
-	dw CeladonCityText13
-	dw CeladonCityText14
-	dw CeladonCityText15
-	dw CeladonCityText16
-	dw CeladonCityText17
-	dw CeladonCityText18
-
-CeladonCityText1:
-	TX_FAR _CeladonCityText1
-	db "@"
-
-CeladonCityText2:
-	TX_FAR _CeladonCityText2
-	db "@"
-
-CeladonCityText3:
-	TX_FAR _CeladonCityText3
-	db "@"
-
-CeladonCityText4:
-	TX_FAR _CeladonCityText4
-	db "@"
-
-CeladonCityText5:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM41
-	jr nz, .asm_7053f
-	ld hl, TM41PreText
-	call PrintText
-	lb bc, TM_41, 1
-	call GiveItem
-	jr c, .Success
-	ld hl, TM41NoRoomText
-	call PrintText
-	jr .Done
-.Success
-	ld hl, ReceivedTM41Text
-	call PrintText
-	SetEvent EVENT_GOT_TM41
-	jr .Done
-.asm_7053f
-	ld hl, TM41ExplanationText
-	call PrintText
-.Done
-	jp TextScriptEnd
-
-TM41PreText:
-	TX_FAR _TM41PreText
-	db "@"
-
-ReceivedTM41Text:
-	TX_FAR _ReceivedTM41Text
-	TX_SFX_ITEM_1
-	db "@"
-
-TM41ExplanationText:
-	TX_FAR _TM41ExplanationText
-	db "@"
-
-TM41NoRoomText:
-	TX_FAR _TM41NoRoomText
-	db "@"
-
-CeladonCityText6:
-	TX_FAR _CeladonCityText6
-	db "@"
-
-CeladonCityText7:
-	TX_FAR _CeladonCityText7
-	TX_ASM
-	ld a, POLIWRATH
-	call PlayCry
-	jp TextScriptEnd
-
-CeladonCityText8:
-	TX_FAR _CeladonCityText8
-	db "@"
-
-CeladonCityText9:
-	TX_FAR _CeladonCityText9
-	db "@"
-
-CeladonCityText10:
-	TX_FAR _CeladonCityText10
-	db "@"
-
-CeladonCityText11:
-	TX_FAR _CeladonCityText11
-	db "@"
-
-CeladonCityText13:
-	TX_FAR _CeladonCityText13
-	db "@"
-
-CeladonCityText14:
-	TX_FAR _CeladonCityText14
-	db "@"
-
-CeladonCityText15:
-	TX_FAR _CeladonCityText15
-	db "@"
-
-CeladonCityText16:
-	TX_FAR _CeladonCityText16
-	db "@"
-
-CeladonCityText17:
-	TX_FAR _CeladonCityText17
-	db "@"
-
-CeladonCityText18:
-	TX_FAR _CeladonCityText18
-	db "@"
--- a/scripts/celadondiner.asm
+++ /dev/null
@@ -1,66 +1,0 @@
-CeladonDinerScript:
-	call EnableAutoTextBoxDrawing
-	ret
-
-CeladonDinerTextPointers:
-	dw CeladonDinerText1
-	dw CeladonDinerText2
-	dw CeladonDinerText3
-	dw CeladonDinerText4
-	dw CeladonDinerText5
-
-CeladonDinerText1:
-	TX_FAR _CeladonDinerText1
-	db "@"
-
-CeladonDinerText2:
-	TX_FAR _CeladonDinerText2
-	db "@"
-
-CeladonDinerText3:
-	TX_FAR _CeladonDinerText3
-	db "@"
-
-CeladonDinerText4:
-	TX_FAR _CeladonDinerText4
-	db "@"
-
-CeladonDinerText5:
-	TX_ASM
-	CheckEvent EVENT_GOT_COIN_CASE
-	jr nz, .asm_eb14d
-	ld hl, CeladonDinerText_491a7
-	call PrintText
-	lb bc, COIN_CASE, 1
-	call GiveItem
-	jr nc, .BagFull
-	SetEvent EVENT_GOT_COIN_CASE
-	ld hl, ReceivedCoinCaseText
-	call PrintText
-	jr .asm_68b61
-.BagFull
-	ld hl, CoinCaseNoRoomText
-	call PrintText
-	jr .asm_68b61
-.asm_eb14d
-	ld hl, CeladonDinerText_491b7
-	call PrintText
-.asm_68b61
-	jp TextScriptEnd
-
-CeladonDinerText_491a7:
-	TX_FAR _CeladonDinerText_491a7
-	db "@"
-
-ReceivedCoinCaseText:
-	TX_FAR _ReceivedCoinCaseText
-	TX_SFX_KEY_ITEM
-	db "@"
-
-CoinCaseNoRoomText:
-	TX_FAR _CoinCaseNoRoomText
-	db "@"
-
-CeladonDinerText_491b7:
-	TX_FAR _CeladonDinerText_491b7
-	db "@"
--- a/scripts/celadongamecorner.asm
+++ /dev/null
@@ -1,527 +1,0 @@
-CeladonGameCornerScript:
-	call CeladonGameCornerScript_48bcf
-	call CeladonGameCornerScript_48bec
-	call EnableAutoTextBoxDrawing
-	ld hl, CeladonGameCornerScriptPointers
-	ld a, [wCeladonGameCornerCurScript]
-	jp CallFunctionInTable
-
-CeladonGameCornerScript_48bcf:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	ret z
-	call Random
-	ld a, [hRandomAdd]
-	cp $7
-	jr nc, .asm_48be2
-	ld a, $8
-.asm_48be2
-	srl a
-	srl a
-	srl a
-	ld [wLuckySlotHiddenObjectIndex], a
-	ret
-
-CeladonGameCornerScript_48bec:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_FOUND_ROCKET_HIDEOUT
-	ret nz
-	ld a, $2a
-	ld [wNewTileBlockID], a
-	lb bc, 2, 8
-	predef_jump ReplaceTileBlock
-
-CeladonGameCornerScript_48c07:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wCeladonGameCornerCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-CeladonGameCornerScriptPointers:
-	dw CeladonGameCornerScript0
-	dw CeladonGameCornerScript1
-	dw CeladonGameCornerScript2
-
-CeladonGameCornerScript0:
-	ret
-
-CeladonGameCornerScript1:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, CeladonGameCornerScript_48c07
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $d
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $b
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld de, MovementData_48c5a
-	ld a, [wYCoord]
-	cp $6
-	jr nz, .asm_48c43
-	ld de, MovementData_48c63
-	jr .asm_48c4d
-.asm_48c43
-	ld a, [wXCoord]
-	cp $8
-	jr nz, .asm_48c4d
-	ld de, MovementData_48c63
-.asm_48c4d
-	ld a, $b
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $2
-	ld [wCeladonGameCornerCurScript], a
-	ret
-
-MovementData_48c5a:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-MovementData_48c63:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-CeladonGameCornerScript2:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, HS_GAME_CORNER_ROCKET
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	set 6, [hl]
-	ld a, $0
-	ld [wCeladonGameCornerCurScript], a
-	ret
-
-CeladonGameCornerTextPointers:
-	dw CeladonGameCornerText1
-	dw CeladonGameCornerText2
-	dw CeladonGameCornerText3
-	dw CeladonGameCornerText4
-	dw CeladonGameCornerText5
-	dw CeladonGameCornerText6
-	dw CeladonGameCornerText7
-	dw CeladonGameCornerText8
-	dw CeladonGameCornerText9
-	dw CeladonGameCornerText10
-	dw CeladonGameCornerText11
-	dw CeladonGameCornerText12
-	dw CeladonGameCornerText13
-
-CeladonGameCornerText1:
-	TX_FAR _CeladonGameCornerText1
-	db "@"
-
-CeladonGameCornerText2:
-	TX_ASM
-	call CeladonGameCornerScript_48f1e
-	ld hl, CeladonGameCornerText_48d22
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_48d0f
-	ld b, COIN_CASE
-	call IsItemInBag
-	jr z, .asm_48d19
-	call Has9990Coins
-	jr nc, .asm_48d14
-	xor a
-	ld [hMoney], a
-	ld [hMoney + 2], a
-	ld a, $10
-	ld [hMoney + 1], a
-	call HasEnoughMoney
-	jr nc, .asm_48cdb
-	ld hl, CeladonGameCornerText_48d31
-	jr .asm_48d1c
-.asm_48cdb
-	xor a
-	ld [hMoney], a
-	ld [hMoney + 2], a
-	ld a, $10
-	ld [hMoney + 1], a
-	ld hl, hMoney + 2
-	ld de, wPlayerMoney + 2
-	ld c, $3
-	predef SubBCDPredef
-	xor a
-	ld [hUnusedCoinsByte], a
-	ld [hCoins], a
-	ld a, $50
-	ld [hCoins + 1], a
-	ld de, wPlayerCoins + 1
-	ld hl, hCoins + 1
-	ld c, $2
-	predef AddBCDPredef
-	call CeladonGameCornerScript_48f1e
-	ld hl, CeladonGameCornerText_48d27
-	jr .asm_48d1c
-.asm_48d0f
-	ld hl, CeladonGameCornerText_48d2c
-	jr .asm_48d1c
-.asm_48d14
-	ld hl, CeladonGameCornerText_48d36
-	jr .asm_48d1c
-.asm_48d19
-	ld hl, CeladonGameCornerText_48d3b
-.asm_48d1c
-	call PrintText
-	jp TextScriptEnd
-
-CeladonGameCornerText_48d22:
-	TX_FAR _CeladonGameCornerText_48d22
-	db "@"
-
-CeladonGameCornerText_48d27:
-	TX_FAR _CeladonGameCornerText_48d27
-	db "@"
-
-CeladonGameCornerText_48d2c:
-	TX_FAR _CeladonGameCornerText_48d2c
-	db "@"
-
-CeladonGameCornerText_48d31:
-	TX_FAR _CeladonGameCornerText_48d31
-	db "@"
-
-CeladonGameCornerText_48d36:
-	TX_FAR _CeladonGameCornerText_48d36
-	db "@"
-
-CeladonGameCornerText_48d3b:
-	TX_FAR _CeladonGameCornerText_48d3b
-	db "@"
-
-CeladonGameCornerText3:
-	TX_FAR _CeladonGameCornerText3
-	db "@"
-
-CeladonGameCornerText4:
-	TX_FAR _CeladonGameCornerText4
-	db "@"
-
-CeladonGameCornerText5:
-	TX_ASM
-	CheckEvent EVENT_GOT_10_COINS
-	jr nz, .asm_48d89
-	ld hl, CeladonGameCornerText_48d9c
-	call PrintText
-	ld b, COIN_CASE
-	call IsItemInBag
-	jr z, .asm_48d93
-	call Has9990Coins
-	jr nc, .asm_48d8e
-	xor a
-	ld [hUnusedCoinsByte], a
-	ld [hCoins], a
-	ld a, $10
-	ld [hCoins + 1], a
-	ld de, wPlayerCoins + 1
-	ld hl, hCoins + 1
-	ld c, $2
-	predef AddBCDPredef
-	SetEvent EVENT_GOT_10_COINS
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, Received10CoinsText
-	jr .asm_48d96
-.asm_48d89
-	ld hl, CeladonGameCornerText_48dac
-	jr .asm_48d96
-.asm_48d8e
-	ld hl, CeladonGameCornerText_48da7
-	jr .asm_48d96
-.asm_48d93
-	ld hl, CeladonGameCornerText_48f19
-.asm_48d96
-	call PrintText
-	jp TextScriptEnd
-
-CeladonGameCornerText_48d9c:
-	TX_FAR _CeladonGameCornerText_48d9c
-	db "@"
-
-Received10CoinsText:
-	TX_FAR _Received10CoinsText
-	TX_SFX_ITEM_1
-	db "@"
-
-CeladonGameCornerText_48da7:
-	TX_FAR _CeladonGameCornerText_48da7
-	db "@"
-
-CeladonGameCornerText_48dac:
-	TX_FAR _CeladonGameCornerText_48dac
-	db "@"
-
-CeladonGameCornerText6:
-	TX_FAR _CeladonGameCornerText6
-	db "@"
-
-CeladonGameCornerText7:
-	TX_ASM
-	CheckEvent EVENT_BEAT_ERIKA
-	ld hl, CeladonGameCornerText_48dca
-	jr z, .asm_48dc4
-	ld hl, CeladonGameCornerText_48dcf
-.asm_48dc4
-	call PrintText
-	jp TextScriptEnd
-
-CeladonGameCornerText_48dca:
-	TX_FAR _CeladonGameCornerText_48dca
-	db "@"
-
-CeladonGameCornerText_48dcf:
-	TX_FAR _CeladonGameCornerText_48dcf
-	db "@"
-
-CeladonGameCornerText8:
-	TX_FAR _CeladonGameCornerText8
-	db "@"
-
-CeladonGameCornerText9:
-	TX_ASM
-	CheckEvent EVENT_GOT_20_COINS_2
-	jr nz, .asm_48e13
-	ld hl, CeladonGameCornerText_48e26
-	call PrintText
-	ld b, COIN_CASE
-	call IsItemInBag
-	jr z, .asm_48e1d
-	call Has9990Coins
-	jr nc, .asm_48e18
-	xor a
-	ld [hUnusedCoinsByte], a
-	ld [hCoins], a
-	ld a, $20
-	ld [hCoins + 1], a
-	ld de, wPlayerCoins + 1
-	ld hl, hCoins + 1
-	ld c, $2
-	predef AddBCDPredef
-	SetEvent EVENT_GOT_20_COINS_2
-	ld hl, Received20CoinsText
-	jr .asm_48e20
-.asm_48e13
-	ld hl, CeladonGameCornerText_48e36
-	jr .asm_48e20
-.asm_48e18
-	ld hl, CeladonGameCornerText_48e31
-	jr .asm_48e20
-.asm_48e1d
-	ld hl, CeladonGameCornerText_48f19
-.asm_48e20
-	call PrintText
-	jp TextScriptEnd
-
-CeladonGameCornerText_48e26:
-	TX_FAR _CeladonGameCornerText_48e26
-	db "@"
-
-Received20CoinsText:
-	TX_FAR _Received20CoinsText
-	TX_SFX_ITEM_1
-	db "@"
-
-CeladonGameCornerText_48e31:
-	TX_FAR _CeladonGameCornerText_48e31
-	db "@"
-
-CeladonGameCornerText_48e36:
-	TX_FAR _CeladonGameCornerText_48e36
-	db "@"
-
-CeladonGameCornerText10:
-	TX_ASM
-	CheckEvent EVENT_GOT_20_COINS
-	jr nz, .asm_48e75
-	ld hl, CeladonGameCornerText_48e88
-	call PrintText
-	ld b, COIN_CASE
-	call IsItemInBag
-	jr z, .asm_48e7f
-	call Has9990Coins
-	jr z, .asm_48e7a
-	xor a
-	ld [hUnusedCoinsByte], a
-	ld [hCoins], a
-	ld a, $20
-	ld [hCoins + 1], a
-	ld de, wPlayerCoins + 1
-	ld hl, hCoins + 1
-	ld c, $2
-	predef AddBCDPredef
-	SetEvent EVENT_GOT_20_COINS
-	ld hl, CeladonGameCornerText_48e8d
-	jr .asm_48e82
-.asm_48e75
-	ld hl, CeladonGameCornerText_48e98
-	jr .asm_48e82
-.asm_48e7a
-	ld hl, CeladonGameCornerText_48e93
-	jr .asm_48e82
-.asm_48e7f
-	ld hl, CeladonGameCornerText_48f19
-.asm_48e82
-	call PrintText
-	jp TextScriptEnd
-
-CeladonGameCornerText_48e88:
-	TX_FAR _CeladonGameCornerText_48e88
-	db "@"
-
-CeladonGameCornerText_48e8d:
-	TX_FAR _CeladonGameCornerText_48e8d
-	TX_SFX_ITEM_1
-	db "@"
-
-CeladonGameCornerText_48e93:
-	TX_FAR _CeladonGameCornerText_48e93
-	db "@"
-
-CeladonGameCornerText_48e98:
-	TX_FAR _CeladonGameCornerText_48e98
-	db "@"
-
-CeladonGameCornerText11:
-	TX_ASM
-	ld hl, CeladonGameCornerText_48ece
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, CeladonGameCornerText_48ed3
-	ld de, CeladonGameCornerText_48ed3
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	xor a
-	ld [hJoyHeld], a
-	ld [hJoyPressed], a
-	ld [hJoyReleased], a
-	ld a, $1
-	ld [wCeladonGameCornerCurScript], a
-	jp TextScriptEnd
-
-CeladonGameCornerText_48ece:
-	TX_FAR _CeladonGameCornerText_48ece
-	db "@"
-
-CeladonGameCornerText_48ed3:
-	TX_FAR _CeladonGameCornerText_48ed3
-	db "@"
-
-CeladonGameCornerText13:
-	TX_FAR _CeladonGameCornerText_48ed8
-	db "@"
-
-CeladonGameCornerText12:
-	TX_ASM
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, CeladonGameCornerText_48f09
-	call PrintText
-	call WaitForSoundToFinish
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	call WaitForSoundToFinish
-	SetEvent EVENT_FOUND_ROCKET_HIDEOUT
-	ld a, $43
-	ld [wNewTileBlockID], a
-	lb bc, 2, 8
-	predef ReplaceTileBlock
-	jp TextScriptEnd
-
-CeladonGameCornerText_48f09:
-	TX_FAR _CeladonGameCornerText_48f09
-	TX_ASM
-	ld a, SFX_SWITCH
-	call PlaySound
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-CeladonGameCornerText_48f19:
-	TX_FAR _CeladonGameCornerText_48f19
-	db "@"
-
-CeladonGameCornerScript_48f1e:
-	ld hl, wd730
-	set 6, [hl]
-	coord hl, 11, 0
-	ld b, $5
-	ld c, $7
-	call TextBoxBorder
-	call UpdateSprites
-	coord hl, 12, 1
-	ld b, 4
-	ld c, 7
-	call ClearScreenArea
-	coord hl, 12, 2
-	ld de, GameCornerMoneyText
-	call PlaceString
-	coord hl, 12, 3
-	ld de, GameCornerBlankText1
-	call PlaceString
-	coord hl, 12, 3
-	ld de, wPlayerMoney
-	ld c, $a3
-	call PrintBCDNumber
-	coord hl, 12, 4
-	ld de, GameCornerCoinText
-	call PlaceString
-	coord hl, 12, 5
-	ld de, GameCornerBlankText2
-	call PlaceString
-	coord hl, 15, 5
-	ld de, wPlayerCoins
-	ld c, $82
-	call PrintBCDNumber
-	ld hl, wd730
-	res 6, [hl]
-	ret
-
-GameCornerMoneyText:
-	db "MONEY@"
-
-GameCornerCoinText:
-	db "COIN@"
-
-GameCornerBlankText1:
-	db "       @"
-
-GameCornerBlankText2:
-	db "       @"
-
-Has9990Coins:
-	ld a, $99
-	ld [hCoins], a
-	ld a, $90
-	ld [hCoins + 1], a
-	jp HasEnoughCoins
--- a/scripts/celadongym.asm
+++ /dev/null
@@ -1,335 +1,0 @@
-CeladonGymScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, CeladonGymScript_48927
-	call EnableAutoTextBoxDrawing
-	ld hl, CeladonGymTrainerHeader0
-	ld de, CeladonGymScriptPointers
-	ld a, [wCeladonGymCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wCeladonGymCurScript], a
-	ret
-
-CeladonGymScript_48927:
-	ld hl, Gym4CityName
-	ld de, Gym4LeaderName
-	jp LoadGymLeaderAndCityName
-
-Gym4CityName:
-	db "CELADON CITY@"
-
-Gym4LeaderName:
-	db "ERIKA@"
-
-CeladonGymText_48943:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wCeladonGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-CeladonGymScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw CeladonGymScript3
-
-CeladonGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, CeladonGymText_48943
-	ld a, $f0
-	ld [wJoyIgnore], a
-
-CeladonGymText_48963:
-	ld a, $9
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_ERIKA
-	lb bc, TM_21, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM21
-	jr .asm_4898c
-.BagFull
-	ld a, $b
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_4898c
-	ld hl, wObtainedBadges
-	set 3, [hl]
-	ld hl, wBeatGymFlags
-	set 3, [hl]
-
-	; deactivate gym trainers
-	SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6
-
-	jp CeladonGymText_48943
-
-CeladonGymTextPointers:
-	dw CeladonGymText1
-	dw CeladonGymText2
-	dw CeladonGymText3
-	dw CeladonGymText4
-	dw CeladonGymText5
-	dw CeladonGymText6
-	dw CeladonGymText7
-	dw CeladonGymText8
-	dw CeladonGymText9
-	dw TM21Text
-	dw TM21NoRoomText
-
-CeladonGymTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0
-	dw CeladonGymBattleText2 ; TextBeforeBattle
-	dw CeladonGymAfterBattleText2 ; TextAfterBattle
-	dw CeladonGymEndBattleText2 ; TextEndBattle
-	dw CeladonGymEndBattleText2 ; TextEndBattle
-
-CeladonGymTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1
-	dw CeladonGymBattleText3 ; TextBeforeBattle
-	dw CeladonGymAfterBattleText3 ; TextAfterBattle
-	dw CeladonGymEndBattleText3 ; TextEndBattle
-	dw CeladonGymEndBattleText3 ; TextEndBattle
-
-CeladonGymTrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2
-	dw CeladonGymBattleText4 ; TextBeforeBattle
-	dw CeladonGymAfterBattleText4 ; TextAfterBattle
-	dw CeladonGymEndBattleText4 ; TextEndBattle
-	dw CeladonGymEndBattleText4 ; TextEndBattle
-
-CeladonGymTrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3
-	dw CeladonGymBattleText5 ; TextBeforeBattle
-	dw CeladonGymAfterBattleText5 ; TextAfterBattle
-	dw CeladonGymEndBattleText5 ; TextEndBattle
-	dw CeladonGymEndBattleText5 ; TextEndBattle
-
-CeladonGymTrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4
-	dw CeladonGymBattleText6 ; TextBeforeBattle
-	dw CeladonGymAfterBattleText6 ; TextAfterBattle
-	dw CeladonGymEndBattleText6 ; TextEndBattle
-	dw CeladonGymEndBattleText6 ; TextEndBattle
-
-CeladonGymTrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5
-	dw CeladonGymBattleText7 ; TextBeforeBattle
-	dw CeladonGymAfterBattleText7 ; TextAfterBattle
-	dw CeladonGymEndBattleText7 ; TextEndBattle
-	dw CeladonGymEndBattleText7 ; TextEndBattle
-
-CeladonGymTrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1
-	dw CeladonGymBattleText8 ; TextBeforeBattle
-	dw CeladonGymAfterBattleText8 ; TextAfterBattle
-	dw CeladonGymEndBattleText8 ; TextEndBattle
-	dw CeladonGymEndBattleText8 ; TextEndBattle
-
-	db $ff
-
-CeladonGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_ERIKA
-	jr z, .asm_48a2d
-	CheckEventReuseA EVENT_GOT_TM21
-	jr nz, .asm_48a25
-	call z, CeladonGymText_48963
-	call DisableWaitingAfterTextDisplay
-	jr .asm_48a5b
-.asm_48a25
-	ld hl, CeladonGymText_48a68
-	call PrintText
-	jr .asm_48a5b
-.asm_48a2d
-	ld hl, CeladonGymText_48a5e
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, CeladonGymText_48a63
-	ld de, CeladonGymText_48a63
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $4
-	ld [wGymLeaderNo], a
-	ld a, $3
-	ld [wCeladonGymCurScript], a
-	ld [wCurMapScript], a
-.asm_48a5b
-	jp TextScriptEnd
-
-CeladonGymText_48a5e:
-	TX_FAR _CeladonGymText_48a5e
-	db "@"
-
-CeladonGymText_48a63:
-	TX_FAR _CeladonGymText_48a63
-	db "@"
-
-CeladonGymText_48a68:
-	TX_FAR _CeladonGymText_48a68
-	db "@"
-
-CeladonGymText9:
-	TX_FAR _CeladonGymText9
-	db "@"
-
-TM21Text:
-	TX_FAR _ReceivedTM21Text
-	TX_SFX_ITEM_1
-	TX_FAR _TM21ExplanationText
-	db "@"
-
-TM21NoRoomText:
-	TX_FAR _TM21NoRoomText
-	db "@"
-
-CeladonGymText2:
-	TX_ASM
-	ld hl, CeladonGymTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeladonGymBattleText2:
-	TX_FAR _CeladonGymBattleText2
-	db "@"
-
-CeladonGymEndBattleText2:
-	TX_FAR _CeladonGymEndBattleText2
-	db "@"
-
-CeladonGymAfterBattleText2:
-	TX_FAR _CeladonGymAfterBattleText2
-	db "@"
-
-CeladonGymText3:
-	TX_ASM
-	ld hl, CeladonGymTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeladonGymBattleText3:
-	TX_FAR _CeladonGymBattleText3
-	db "@"
-
-CeladonGymEndBattleText3:
-	TX_FAR _CeladonGymEndBattleText3
-	db "@"
-
-CeladonGymAfterBattleText3:
-	TX_FAR _CeladonGymAfterBattleText3
-	db "@"
-
-CeladonGymText4:
-	TX_ASM
-	ld hl, CeladonGymTrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeladonGymBattleText4:
-	TX_FAR _CeladonGymBattleText4
-	db "@"
-
-CeladonGymEndBattleText4:
-	TX_FAR _CeladonGymEndBattleText4
-	db "@"
-
-CeladonGymAfterBattleText4:
-	TX_FAR _CeladonGymAfterBattleText4
-	db "@"
-
-CeladonGymText5:
-	TX_ASM
-	ld hl, CeladonGymTrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeladonGymBattleText5:
-	TX_FAR _CeladonGymBattleText5
-	db "@"
-
-CeladonGymEndBattleText5:
-	TX_FAR _CeladonGymEndBattleText5
-	db "@"
-
-CeladonGymAfterBattleText5:
-	TX_FAR _CeladonGymAfterBattleText5
-	db "@"
-
-CeladonGymText6:
-	TX_ASM
-	ld hl, CeladonGymTrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeladonGymBattleText6:
-	TX_FAR _CeladonGymBattleText6
-	db "@"
-
-CeladonGymEndBattleText6:
-	TX_FAR _CeladonGymEndBattleText6
-	db "@"
-
-CeladonGymAfterBattleText6:
-	TX_FAR _CeladonGymAfterBattleText6
-	db "@"
-
-CeladonGymText7:
-	TX_ASM
-	ld hl, CeladonGymTrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeladonGymBattleText7:
-	TX_FAR _CeladonGymBattleText7
-	db "@"
-
-CeladonGymEndBattleText7:
-	TX_FAR _CeladonGymEndBattleText7
-	db "@"
-
-CeladonGymAfterBattleText7:
-	TX_FAR _CeladonGymAfterBattleText7
-	db "@"
-
-CeladonGymText8:
-	TX_ASM
-	ld hl, CeladonGymTrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeladonGymBattleText8:
-	TX_FAR _CeladonGymBattleText8
-	db "@"
-
-CeladonGymEndBattleText8:
-	TX_FAR _CeladonGymEndBattleText8
-	db "@"
-
-CeladonGymAfterBattleText8:
-	TX_FAR _CeladonGymAfterBattleText8
-	db "@"
--- a/scripts/celadonhotel.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CeladonHotelScript:
-	jp EnableAutoTextBoxDrawing
-
-CeladonHotelTextPointers:
-	dw CeladonHotelText1
-	dw CeladonHotelText2
-	dw CeladonHotelText3
-
-CeladonHotelText1:
-	TX_FAR _CeladonHotelText1
-	db "@"
-
-CeladonHotelText2:
-	TX_FAR _CeladonHotelText2
-	db "@"
-
-CeladonHotelText3:
-	TX_FAR _CeladonHotelText3
-	db "@"
--- a/scripts/celadonhouse.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-CeladonHouseScript:
-	call EnableAutoTextBoxDrawing
-	ret
-
-CeladonHouseTextPointers:
-	dw CeladonHouseText1
-	dw CeladonHouseText2
-	dw CeladonHouseText3
-
-CeladonHouseText1:
-	TX_FAR _CeladonHouseText1
-	db "@"
-
-CeladonHouseText2:
-	TX_FAR _CeladonHouseText2
-	db "@"
-
-CeladonHouseText3:
-	TX_FAR _CeladonHouseText3
-	db "@"
--- a/scripts/celadonmansion1.asm
+++ /dev/null
@@ -1,39 +1,0 @@
-CeladonMansion1Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMansion1TextPointers:
-	dw CeladonMansion1Text1
-	dw CeladonMansion1Text2
-	dw CeladonMansion1Text3
-	dw CeladonMansion1Text4
-	dw CeladonMansion1Text5
-
-CeladonMansion1_486a1:
-	call PlayCry
-	jp TextScriptEnd
-
-CeladonMansion1Text1:
-	TX_FAR _CeladonMansion1Text1
-	TX_ASM
-	ld a, MEOWTH
-	jp CeladonMansion1_486a1
-
-CeladonMansion1Text2:
-	TX_FAR _CeladonMansion1Text2
-	db "@"
-
-CeladonMansion1Text3:
-	TX_FAR _CeladonMansion1Text3
-	TX_ASM
-	ld a, CLEFAIRY
-	jp CeladonMansion1_486a1
-
-CeladonMansion1Text4:
-	TX_FAR _CeladonMansion1Text4
-	TX_ASM
-	ld a, NIDORAN_F
-	jp CeladonMansion1_486a1
-
-CeladonMansion1Text5:
-	TX_FAR _CeladonMansion1Text5
-	db "@"
--- a/scripts/celadonmansion2.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-CeladonMansion2Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-CeladonMansion2TextPointers:
-	dw CeladonMansion2Text1
-
-CeladonMansion2Text1:
-	TX_FAR _CeladonMansion2Text1
-	db "@"
--- a/scripts/celadonmansion3.asm
+++ /dev/null
@@ -1,71 +1,0 @@
-CeladonMansion3Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMansion3TextPointers:
-	dw ProgrammerText
-	dw GraphicArtistText
-	dw WriterText
-	dw DirectorText
-	dw GameFreakPCText1
-	dw GameFreakPCText2
-	dw GameFreakPCText3
-	dw GameFreakSignText
-
-ProgrammerText:
-	TX_FAR _ProgrammerText
-	db "@"
-
-GraphicArtistText:
-	TX_FAR _GraphicArtistText
-	db "@"
-
-WriterText:
-	TX_FAR _WriterText
-	db "@"
-
-DirectorText:
-	TX_ASM
-
-	; check pokédex
-	ld hl, wPokedexOwned
-	ld b, wPokedexOwnedEnd - wPokedexOwned
-	call CountSetBits
-	ld a, [wNumSetBits]
-	cp 150
-	jr nc, .CompletedDex
-	ld hl, .GameDesigner
-	jr .done
-.CompletedDex
-	ld hl, .CompletedDexText
-.done
-	call PrintText
-	jp TextScriptEnd
-
-.GameDesigner
-	TX_FAR _GameDesignerText
-	db "@"
-
-.CompletedDexText
-	TX_FAR _CompletedDexText
-	TX_BLINK
-	TX_ASM
-	callab DisplayDiploma
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	jp TextScriptEnd
-
-GameFreakPCText1:
-	TX_FAR _CeladonMansion3Text5
-	db "@"
-
-GameFreakPCText2:
-	TX_FAR _CeladonMansion3Text6
-	db "@"
-
-GameFreakPCText3:
-	TX_FAR _CeladonMansion3Text7
-	db "@"
-
-GameFreakSignText:
-	TX_FAR _CeladonMansion3Text8
-	db "@"
--- a/scripts/celadonmansion4.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-CeladonMansion4Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMansion4TextPointers:
-	dw CeladonMansion4Text1
-
-CeladonMansion4Text1:
-	TX_FAR _CeladonMansion4Text1
-	db "@"
--- a/scripts/celadonmansion5.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-CeladonMansion5Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMansion5TextPointers:
-	dw CeladonMansion5Text1
-	dw CeladonMansion5Text2
-
-CeladonMansion5Text1:
-	TX_FAR _CeladonMansion5Text1
-	db "@"
-
-CeladonMansion5Text2:
-	TX_ASM
-	lb bc, EEVEE, 25
-	call GivePokemon
-	jr nc, .asm_24365
-	ld a, HS_CELADON_MANSION_5_GIFT
-	ld [wMissableObjectIndex], a
-	predef HideObject
-.asm_24365
-	jp TextScriptEnd
--- a/scripts/celadonmart1.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-CeladonMart1Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMart1TextPointers:
-	dw CeladonMart1Text1
-	dw CeladonMart1Text2
-	dw CeladonMart1Text3
-
-CeladonMart1Text1:
-	TX_FAR _CeladonMart1Text1
-	db "@"
-
-CeladonMart1Text2:
-	TX_FAR _CeladonMart1Text2
-	db "@"
-
-CeladonMart1Text3:
-	TX_FAR _CeladonMart1Text3
-	db "@"
--- a/scripts/celadonmart2.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-CeladonMart2Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMart2TextPointers:
-	dw CeladonMart2Clerk1Text
-	dw CeladonMart2Clerk2Text
-	dw CeladonMart2Text3
-	dw CeladonMart2Text4
-	dw CeladonMart2Text5
-
-CeladonMart2Text3:
-	TX_FAR _CeladonMart2Text3
-	db "@"
-
-CeladonMart2Text4:
-	TX_FAR _CeladonMart2Text4
-	db "@"
-
-CeladonMart2Text5:
-	TX_FAR _CeladonMart2Text5
-	db "@"
--- a/scripts/celadonmart3.asm
+++ /dev/null
@@ -1,108 +1,0 @@
-CeladonMart3Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMart3TextPointers:
-	dw CeladonMart3Text1
-	dw CeladonMart3Text2
-	dw CeladonMart3Text3
-	dw CeladonMart3Text4
-	dw CeladonMart3Text5
-	dw CeladonMart3Text6
-	dw CeladonMart3Text7
-	dw CeladonMart3Text8
-	dw CeladonMart3Text9
-	dw CeladonMart3Text10
-	dw CeladonMart3Text11
-	dw CeladonMart3Text12
-	dw CeladonMart3Text13
-	dw CeladonMart3Text14
-	dw CeladonMart3Text15
-	dw CeladonMart3Text16
-	dw CeladonMart3Text17
-
-CeladonMart3Text1:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM18
-	jr nz, .asm_a5463
-	ld hl, TM18PreReceiveText
-	call PrintText
-	lb bc, TM_18, 1
-	call GiveItem
-	jr nc, .BagFull
-	SetEvent EVENT_GOT_TM18
-	ld hl, ReceivedTM18Text
-	jr .asm_81359
-.BagFull
-	ld hl, TM18NoRoomText
-	jr .asm_81359
-.asm_a5463
-	ld hl, TM18ExplanationText
-.asm_81359
-	call PrintText
-	jp TextScriptEnd
-
-TM18PreReceiveText:
-	TX_FAR _TM18PreReceiveText
-	db "@"
-
-ReceivedTM18Text:
-	TX_FAR _ReceivedTM18Text
-	TX_SFX_ITEM_1
-	db "@"
-
-TM18ExplanationText:
-	TX_FAR _TM18ExplanationText
-	db "@"
-
-TM18NoRoomText:
-	TX_FAR _TM18NoRoomText
-	db "@"
-
-CeladonMart3Text2:
-	TX_FAR _CeladonMart3Text2
-	db "@"
-
-CeladonMart3Text3:
-	TX_FAR _CeladonMart3Text3
-	db "@"
-
-CeladonMart3Text4:
-	TX_FAR _CeladonMart3Text4
-	db "@"
-
-CeladonMart3Text5:
-	TX_FAR _CeladonMart3Text5
-	db "@"
-
-CeladonMart3Text12
-CeladonMart3Text10:
-CeladonMart3Text8:
-CeladonMart3Text6:
-	TX_FAR _CeladonMart3Text6
-	db "@"
-
-CeladonMart3Text7:
-	TX_FAR _CeladonMart3Text7
-	db "@"
-
-CeladonMart3Text9:
-	TX_FAR _CeladonMart3Text9
-	db "@"
-
-CeladonMart3Text11:
-	TX_FAR _CeladonMart3Text11
-	db "@"
-
-CeladonMart3Text13:
-	TX_FAR _CeladonMart3Text13
-	db "@"
-
-CeladonMart3Text14:
-	TX_FAR _CeladonMart3Text14
-	db "@"
-
-CeladonMart3Text17:
-CeladonMart3Text16:
-CeladonMart3Text15:
-	TX_FAR _CeladonMart3Text15
-	db "@"
--- a/scripts/celadonmart4.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-CeladonMart4Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMart4TextPointers:
-	dw CeladonMart4ClerkText
-	dw CeladonMart4Text2
-	dw CeladonMart4Text3
-	dw CeladonMart4Text4
-
-CeladonMart4Text2:
-	TX_FAR _CeladonMart4Text2
-	db "@"
-
-CeladonMart4Text3:
-	TX_FAR _CeladonMart4Text3
-	db "@"
-
-CeladonMart4Text4:
-	TX_FAR _CeladonMart4Text4
-	db "@"
--- a/scripts/celadonmart5.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-CeladonMart5Script:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMart5TextPointers:
-	dw CeladonMart5Text1
-	dw CeladonMart5Text2
-	dw CeladonMart5Clerk1Text
-	dw CeladonMart5Clerk2Text
-	dw CeladonMart5Text5
-
-CeladonMart5Text1:
-	TX_FAR _CeladonMart5Text1
-	db "@"
-
-CeladonMart5Text2:
-	TX_FAR _CeladonMart5Text2
-	db "@"
-
-CeladonMart5Text5:
-	TX_FAR _CeladonMart5Text5
-	db "@"
--- a/scripts/celadonmartelevator.asm
+++ /dev/null
@@ -1,73 +1,0 @@
-CeladonMartElevatorScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, CeladonMartElevatorScript_4861c
-	pop hl
-	bit 7, [hl]
-	res 7, [hl]
-	call nz, CeladonMartElevatorScript_48654
-	xor a
-	ld [wAutoTextBoxDrawingControl], a
-	inc a
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ret
-
-CeladonMartElevatorScript_4861c:
-	ld hl, wWarpEntries
-	ld a, [wWarpedFromWhichWarp]
-	ld b, a
-	ld a, [wWarpedFromWhichMap]
-	ld c, a
-	call CeladonMartElevatorScript_4862a
-
-CeladonMartElevatorScript_4862a:
-	inc hl
-	inc hl
-	ld a, b
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ret
-
-CeladonMartElevatorScript_48631:
-	ld hl, CeladonMartElevatorFloors
-	call LoadItemList
-	ld hl, CeladonMartElevatorWarpMaps
-	ld de, wElevatorWarpMaps
-	ld bc, CeladonMartElevatorWarpMapsEnd - CeladonMartElevatorWarpMaps
-	jp CopyData
-
-CeladonMartElevatorFloors:
-	db 5 ; number of elements in list
-	db FLOOR_1F
-	db FLOOR_2F
-	db FLOOR_3F
-	db FLOOR_4F
-	db FLOOR_5F
-	db $FF
-
-CeladonMartElevatorWarpMaps:
-; first byte is warp number
-; second byte is map number
-; These specify where the player goes after getting out of the elevator.
-	db $05, CELADON_MART_1
-	db $02, CELADON_MART_2
-	db $02, CELADON_MART_3
-	db $02, CELADON_MART_4
-	db $02, CELADON_MART_5
-CeladonMartElevatorWarpMapsEnd:
-
-CeladonMartElevatorScript_48654:
-	jpba ShakeElevator
-
-CeladonMartElevatorTextPointers:
-	dw CeladonMartElevatorText1
-
-CeladonMartElevatorText1:
-	TX_ASM
-	call CeladonMartElevatorScript_48631
-	ld hl, CeladonMartElevatorWarpMaps
-	predef DisplayElevatorFloorMenu
-	jp TextScriptEnd
--- a/scripts/celadonmartroof.asm
+++ /dev/null
@@ -1,255 +1,0 @@
-CeladonMartRoofScript:
-	jp EnableAutoTextBoxDrawing
-
-CeladonMartRoofScript_GetDrinksInBag:
-; construct a list of all drinks in the player's bag
-	xor a
-	ld [wFilteredBagItemsCount], a
-	ld de, wFilteredBagItems
-	ld hl, CeladonMartRoofDrinkList
-.loop
-	ld a, [hli]
-	and a
-	jr z, .done
-	push hl
-	push de
-	ld [wd11e], a
-	ld b, a
-	predef GetQuantityOfItemInBag
-	pop de
-	pop hl
-	ld a, b
-	and a
-	jr z, .loop ; if the item isn't in the bag
-	ld a, [wd11e]
-	ld [de], a
-	inc de
-	push hl
-	ld hl, wFilteredBagItemsCount
-	inc [hl]
-	pop hl
-	jr .loop
-.done
-	ld a, $ff
-	ld [de], a
-	ret
-
-CeladonMartRoofDrinkList:
-	db FRESH_WATER
-	db SODA_POP
-	db LEMONADE
-	db $00
-
-CeladonMartRoofScript_GiveDrinkToGirl:
-	ld hl, wd730
-	set 6, [hl]
-	ld hl, CeladonMartRoofText_484ee
-	call PrintText
-	xor a
-	ld [wCurrentMenuItem], a
-	ld a, A_BUTTON | B_BUTTON
-	ld [wMenuWatchedKeys], a
-	ld a, [wFilteredBagItemsCount]
-	dec a
-	ld [wMaxMenuItem], a
-	ld a, 2
-	ld [wTopMenuItemY], a
-	ld a, 1
-	ld [wTopMenuItemX], a
-	ld a, [wFilteredBagItemsCount]
-	dec a
-	ld bc, 2
-	ld hl, 3
-	call AddNTimes
-	dec l
-	ld b, l
-	ld c, 12
-	coord hl, 0, 0
-	call TextBoxBorder
-	call UpdateSprites
-	call CeladonMartRoofScript_PrintDrinksInBag
-	ld hl, wd730
-	res 6, [hl]
-	call HandleMenuInput
-	bit 1, a ; pressed b
-	ret nz
-	ld hl, wFilteredBagItems
-	ld a, [wCurrentMenuItem]
-	ld d, 0
-	ld e, a
-	add hl, de
-	ld a, [hl]
-	ld [hItemToRemoveID], a
-	cp FRESH_WATER
-	jr z, .gaveFreshWater
-	cp SODA_POP
-	jr z, .gaveSodaPop
-; gave Lemonade
-	CheckEvent EVENT_GOT_TM49
-	jr nz, .alreadyGaveDrink
-	ld hl, CeladonMartRoofText_48515
-	call PrintText
-	call RemoveItemByIDBank12
-	lb bc, TM_49, 1
-	call GiveItem
-	jr nc, .bagFull
-	ld hl, ReceivedTM49Text
-	call PrintText
-	SetEvent EVENT_GOT_TM49
-	ret
-.gaveSodaPop
-	CheckEvent EVENT_GOT_TM48
-	jr nz, .alreadyGaveDrink
-	ld hl, CeladonMartRoofText_48504
-	call PrintText
-	call RemoveItemByIDBank12
-	lb bc, TM_48, 1
-	call GiveItem
-	jr nc, .bagFull
-	ld hl, CeladonMartRoofText_4850a
-	call PrintText
-	SetEvent EVENT_GOT_TM48
-	ret
-.gaveFreshWater
-	CheckEvent EVENT_GOT_TM13
-	jr nz, .alreadyGaveDrink
-	ld hl, CeladonMartRoofText_484f3
-	call PrintText
-	call RemoveItemByIDBank12
-	lb bc, TM_13, 1
-	call GiveItem
-	jr nc, .bagFull
-	ld hl, CeladonMartRoofText_484f9
-	call PrintText
-	SetEvent EVENT_GOT_TM13
-	ret
-.bagFull
-	ld hl, CeladonMartRoofText_48526
-	jp PrintText
-.alreadyGaveDrink
-	ld hl, CeladonMartRoofText_4852c
-	jp PrintText
-
-RemoveItemByIDBank12:
-	jpba RemoveItemByID
-
-CeladonMartRoofText_484ee:
-	TX_FAR _CeladonMartRoofText_484ee
-	db "@"
-
-CeladonMartRoofText_484f3:
-	TX_FAR _CeladonMartRoofText_484f3
-	TX_WAIT
-	db "@"
-
-CeladonMartRoofText_484f9:
-	TX_FAR _CeladonMartRoofText_484f9
-	TX_SFX_ITEM_1
-	TX_FAR _CeladonMartRoofText_484fe
-	TX_WAIT
-	db "@"
-
-CeladonMartRoofText_48504:
-	TX_FAR _CeladonMartRoofText_48504
-	TX_WAIT
-	db "@"
-
-CeladonMartRoofText_4850a:
-	TX_FAR _CeladonMartRoofText_4850a
-	TX_SFX_ITEM_1
-	TX_FAR _CeladonMartRoofText_4850f
-	TX_WAIT
-	db "@"
-
-CeladonMartRoofText_48515:
-	TX_FAR _CeladonMartRoofText_48515
-	TX_WAIT
-	db "@"
-
-ReceivedTM49Text:
-	TX_FAR _ReceivedTM49Text
-	TX_SFX_ITEM_1
-	TX_FAR _CeladonMartRoofText_48520
-	TX_WAIT
-	db "@"
-
-CeladonMartRoofText_48526:
-	TX_FAR _CeladonMartRoofText_48526
-	TX_WAIT
-	db "@"
-
-CeladonMartRoofText_4852c:
-	TX_FAR _CeladonMartRoofText_4852c
-	TX_WAIT
-	db "@"
-
-CeladonMartRoofScript_PrintDrinksInBag:
-	ld hl, wFilteredBagItems
-	xor a
-	ld [hItemCounter], a
-.loop
-	ld a, [hli]
-	cp $ff
-	ret z
-	push hl
-	ld [wd11e], a
-	call GetItemName
-	coord hl, 2, 2
-	ld a, [hItemCounter]
-	ld bc, SCREEN_WIDTH * 2
-	call AddNTimes
-	ld de, wcd6d
-	call PlaceString
-	ld hl, hItemCounter
-	inc [hl]
-	pop hl
-	jr .loop
-
-CeladonMartRoofTextPointers:
-	dw CeladonMartRoofText1
-	dw CeladonMartRoofText2
-	dw CeladonMartRoofText5
-	dw CeladonMartRoofText5
-	dw CeladonMartRoofText5
-	dw CeladonMartRoofText6
-
-CeladonMartRoofText1:
-	TX_FAR _CeladonMartRoofText1
-	db "@"
-
-CeladonMartRoofText2:
-	TX_ASM
-	call CeladonMartRoofScript_GetDrinksInBag
-	ld a, [wFilteredBagItemsCount]
-	and a
-	jr z, .noDrinksInBag
-	ld a, 1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, CeladonMartRoofText4
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .done
-	call CeladonMartRoofScript_GiveDrinkToGirl
-	jr .done
-.noDrinksInBag
-	ld hl, CeladonMartRoofText3
-	call PrintText
-.done
-	jp TextScriptEnd
-
-CeladonMartRoofText3:
-	TX_FAR _CeladonMartRoofText_48598
-	db "@"
-
-CeladonMartRoofText4:
-	TX_FAR _CeladonMartRoofText4
-	db "@"
-
-CeladonMartRoofText5:
-	TX_VENDING_MACHINE
-
-CeladonMartRoofText6:
-	TX_FAR _CeladonMartRoofText6
-	db "@"
--- a/scripts/celadonpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-CeladonPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-CeladonPokecenterTextPointers:
-	dw CeladonHealNurseText
-	dw CeladonPokecenterText2
-	dw CeladonPokecenterText3
-	dw CeladonTradeNurseText
-
-CeladonTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
-
-CeladonHealNurseText:
-	TX_POKECENTER_NURSE
-
-CeladonPokecenterText2:
-	TX_FAR _CeladonPokecenterText2
-	db "@"
-
-CeladonPokecenterText3:
-	TX_FAR _CeladonPokecenterText3
-	db "@"
--- a/scripts/celadonprizeroom.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-CeladonPrizeRoomScript:
-	jp EnableAutoTextBoxDrawing
-
-CeladonPrizeRoomTextPointers:
-	dw CeladonPrizeRoomText1
-	dw CeladonPrizeRoomText2
-	dw CeladonPrizeRoomText3
-	dw CeladonPrizeRoomText3
-	dw CeladonPrizeRoomText3
-
-CeladonPrizeRoomText1:
-	TX_FAR _CeladonPrizeRoomText1
-	db "@"
-
-CeladonPrizeRoomText2:
-	TX_FAR _CeladonPrizeRoomText2
-	db "@"
-
-CeladonPrizeRoomText3:
-	TX_PRIZE_VENDOR
--- a/scripts/ceruleancity.asm
+++ /dev/null
@@ -1,453 +1,0 @@
-CeruleanCityScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, CeruleanCityScriptPointers
-	ld a, [wCeruleanCityCurScript]
-	jp CallFunctionInTable
-
-CeruleanCityScript_1948c:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wCeruleanCityCurScript], a
-	ld a, HS_CERULEAN_RIVAL
-	ld [wMissableObjectIndex], a
-	predef_jump HideObject
-
-CeruleanCityScriptPointers:
-	dw CeruleanCityScript0
-	dw CeruleanCityScript1
-	dw CeruleanCityScript2
-	dw CeruleanCityScript3
-	dw CeruleanCityScript4
-
-CeruleanCityScript4:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, CeruleanCityScript_1948c
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [wJoyIgnore], a
-	ld [wCeruleanCityCurScript], a
-	ret
-
-CeruleanCityScript0:
-	CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF
-	jr nz, .asm_194f7
-	ld hl, CeruleanCityCoords1
-	call ArePlayerCoordsInArray
-	jr nc, .asm_194f7
-	ld a, [wCoordIndex]
-	cp $1
-	ld a, PLAYER_DIR_UP
-	ld b, SPRITE_FACING_DOWN
-	jr nz, .asm_194e6
-	ld a, PLAYER_DIR_DOWN
-	ld b, SPRITE_FACING_UP
-.asm_194e6
-	ld [wPlayerMovingDirection], a
-	ld a, b
-	ld [wSpriteStateData1 + 2 * $10 + $9], a
-	call Delay3
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-.asm_194f7
-	CheckEvent EVENT_BEAT_CERULEAN_RIVAL
-	ret nz
-	ld hl, CeruleanCityCoords2
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, [wWalkBikeSurfState]
-	and a
-	jr z, .asm_19512
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-.asm_19512
-	ld c, BANK(Music_MeetRival)
-	ld a, MUSIC_MEET_RIVAL
-	call PlayMusic
-	xor a
-	ld [hJoyHeld], a
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, [wXCoord]
-	cp $14
-	jr z, .asm_19535
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, $5
-	ld [H_SPRITEDATAOFFSET], a
-	call GetPointerWithinSpriteStateData2
-	ld [hl], $19
-.asm_19535
-	ld a, HS_CERULEAN_RIVAL
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld de, CeruleanCityMovement1
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $1
-	ld [wCeruleanCityCurScript], a
-	ret
-
-CeruleanCityCoords1:
-	db $07,$1e
-	db $09,$1e
-	db $ff
-
-CeruleanCityCoords2:
-	db $06,$14
-	db $06,$15
-	db $ff
-
-CeruleanCityMovement1:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-CeruleanCityScript_1955d:
-	ld a, 1
-	ld [H_SPRITEINDEX], a
-	xor a ; SPRITE_FACING_DOWN
-	ld [hSpriteFacingDirection], a
-	jp SetSpriteFacingDirectionAndDelay ; face object
-
-CeruleanCityScript1:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, CeruleanCityText_1966d
-	ld de, CeruleanCityText_19672
-	call SaveEndBattleTextPointers
-	ld a, OPP_SONY1
-	ld [wCurOpponent], a
-
-	; select which team to use during the encounter
-	ld a, [wRivalStarter]
-	cp STARTER2
-	jr nz, .NotSquirtle
-	ld a, $7
-	jr .done
-.NotSquirtle
-	cp STARTER3
-	jr nz, .Charmander
-	ld a, $8
-	jr .done
-.Charmander
-	ld a, $9
-.done
-	ld [wTrainerNo], a
-
-	xor a
-	ld [hJoyHeld], a
-	call CeruleanCityScript_1955d
-	ld a, $2
-	ld [wCeruleanCityCurScript], a
-	ret
-
-CeruleanCityScript2:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, CeruleanCityScript_1948c
-	call CeruleanCityScript_1955d
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_CERULEAN_RIVAL
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStart
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld a, [wXCoord]
-	cp $14
-	jr nz, .asm_195f0
-	ld de, CeruleanCityMovement4
-	jr .asm_195f3
-.asm_195f0
-	ld de, CeruleanCityMovement3
-.asm_195f3
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $3
-	ld [wCeruleanCityCurScript], a
-	ret
-
-CeruleanCityMovement3:
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-CeruleanCityMovement4:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-CeruleanCityScript3:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_CERULEAN_RIVAL
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	xor a
-	ld [wJoyIgnore], a
-	call PlayDefaultMusic
-	ld a, $0
-	ld [wCeruleanCityCurScript], a
-	ret
-
-CeruleanCityTextPointers:
-	dw CeruleanCityText1
-	dw CeruleanCityText2
-	dw CeruleanCityText3
-	dw CeruleanCityText4
-	dw CeruleanCityText5
-	dw CeruleanCityText6
-	dw CeruleanCityText7
-	dw CeruleanCityText8
-	dw CeruleanCityText9
-	dw CeruleanCityText10
-	dw CeruleanCityText11
-	dw CeruleanCityText12
-	dw CeruleanCityText13
-	dw MartSignText
-	dw PokeCenterSignText
-	dw CeruleanCityText16
-	dw CeruleanCityText17
-
-CeruleanCityText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_CERULEAN_RIVAL
-	; do pre-battle text
-	jr z, .PreBattleText
-	; or talk about bill
-	ld hl, CeruleanCityText_19677
-	call PrintText
-	jr .end
-.PreBattleText
-	ld hl, CeruleanCityText_19668
-	call PrintText
-.end
-	jp TextScriptEnd
-
-CeruleanCityText_19668:
-	TX_FAR _CeruleanCityText_19668
-	db "@"
-
-CeruleanCityText_1966d:
-	TX_FAR _CeruleanCityText_1966d
-	db "@"
-
-CeruleanCityText_19672:
-	TX_FAR _CeruleanCityText_19672
-	db "@"
-
-CeruleanCityText_19677:
-	TX_FAR _CeruleanCityText_19677
-	db "@"
-
-CeruleanCityText2:
-	TX_ASM
-	CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF
-	jr nz, .asm_4ca20
-	ld hl, CeruleanCityText_196d9
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, CeruleanCityText_196ee
-	ld de, CeruleanCityText_196ee
-	call SaveEndBattleTextPointers
-	ld a, [hSpriteIndexOrTextID]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $4
-	ld [wCeruleanCityCurScript], a
-	jp TextScriptEnd
-.asm_4ca20
-	ld hl, CeruleanCityText_196f3
-	call PrintText
-	lb bc, TM_28, 1
-	call GiveItem
-	jr c, .Success
-	ld hl, TM28NoRoomText
-	call PrintText
-	jr .Done
-.Success
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, ReceivedTM28Text
-	call PrintText
-	callba CeruleanHideRocket
-.Done
-	jp TextScriptEnd
-
-CeruleanCityText_196d9:
-	TX_FAR _CeruleanCityText_196d9
-	db "@"
-
-ReceivedTM28Text:
-	TX_FAR _ReceivedTM28Text
-	TX_SFX_ITEM_1
-	TX_FAR _ReceivedTM28Text2
-	TX_WAIT
-	db "@"
-
-TM28NoRoomText:
-	TX_FAR _TM28NoRoomText
-	db "@"
-
-CeruleanCityText_196ee:
-	TX_FAR _CeruleanCityText_196ee
-	db "@"
-
-CeruleanCityText_196f3:
-	TX_FAR _CeruleanCityText_196f3
-	db "@"
-
-CeruleanCityText3:
-	TX_FAR _CeruleanCityText3
-	db "@"
-
-CeruleanCityText4:
-	TX_FAR _CeruleanCityText4
-	db "@"
-
-CeruleanCityText5:
-	TX_FAR _CeruleanCityText5
-	db "@"
-
-CeruleanCityText11:
-CeruleanCityText6:
-	TX_FAR _CeruleanCityText6
-	db "@"
-
-CeruleanCityText7:
-	TX_ASM
-	ld a, [hRandomAdd]
-	cp 180
-	jr c, .asm_e9fc9
-	ld hl, CeruleanCityText_19730
-	call PrintText
-	jr .asm_d486e
-.asm_e9fc9
-	cp 100
-	jr c, .asm_df99b
-	ld hl, CeruleanCityText_19735
-	call PrintText
-	jr .asm_d486e
-.asm_df99b
-	ld hl, CeruleanCityText_1973a
-	call PrintText
-.asm_d486e
-	jp TextScriptEnd
-
-CeruleanCityText_19730:
-	TX_FAR _CeruleanCityText_19730
-	db "@"
-
-CeruleanCityText_19735:
-	TX_FAR _CeruleanCityText_19735
-	db "@"
-
-CeruleanCityText_1973a:
-	TX_FAR _CeruleanCityText_1973a
-	db "@"
-
-CeruleanCityText8:
-	TX_ASM
-	ld a, [hRandomAdd]
-	cp 180
-	jr c, .asm_e28da
-	ld hl, CeruleanCityText_1976f
-	call PrintText
-	jr .asm_f2f38
-.asm_e28da
-	cp 120
-	jr c, .asm_15d08
-	ld hl, CeruleanCityText_19774
-	call PrintText
-	jr .asm_f2f38
-.asm_15d08
-	cp 60
-	jr c, .asm_d7fea
-	ld hl, CeruleanCityText_19779
-	call PrintText
-	jr .asm_f2f38
-.asm_d7fea
-	ld hl, CeruleanCityText_1977e
-	call PrintText
-.asm_f2f38
-	jp TextScriptEnd
-
-CeruleanCityText_1976f:
-	TX_FAR _CeruleanCityText_1976f
-	db "@"
-
-CeruleanCityText_19774:
-	TX_FAR _CeruleanCityText_19774
-	db "@"
-
-CeruleanCityText_19779:
-	TX_FAR _CeruleanCityText_19779
-	db "@"
-
-CeruleanCityText_1977e:
-	TX_FAR _CeruleanCityText_1977e
-	db "@"
-
-CeruleanCityText9:
-	TX_FAR _CeruleanCityText9
-	db "@"
-
-CeruleanCityText10:
-	TX_FAR _CeruleanCityText10
-	db "@"
-
-CeruleanCityText12:
-	TX_FAR _CeruleanCityText12
-	db "@"
-
-CeruleanCityText13:
-	TX_FAR _CeruleanCityText13
-	db "@"
-
-CeruleanCityText16:
-	TX_FAR _CeruleanCityText16
-	db "@"
-
-CeruleanCityText17:
-	TX_FAR _CeruleanCityText17
-	db "@"
--- a/scripts/ceruleancity2.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-CeruleanHideRocket:
-; code similar to this appears in a lot of banks; this particular
-; one is called after you beat the Rocket that gives you TM28 DIG.
-; the screen then fades out, he disappears, and fades back in
-	call GBFadeOutToBlack
-	ld a, HS_CERULEAN_GUARD_1
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, HS_CERULEAN_GUARD_2
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_CERULEAN_ROCKET
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call GBFadeInFromBlack
-	ret
--- a/scripts/ceruleangym.asm
+++ /dev/null
@@ -1,219 +1,0 @@
-CeruleanGymScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, CeruleanGymScript_5c6d0
-	call EnableAutoTextBoxDrawing
-	ld hl, CeruleanGymTrainerHeader0
-	ld de, CeruleanGymScriptPointers
-	ld a, [wCeruleanGymCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wCeruleanGymCurScript], a
-	ret
-
-CeruleanGymScript_5c6d0:
-	ld hl, Gym2CityName
-	ld de, Gym2LeaderName
-	jp LoadGymLeaderAndCityName
-
-Gym2CityName:
-	db "CERULEAN CITY@"
-
-Gym2LeaderName:
-	db "MISTY@"
-
-CeruleanGymScript_5c6ed:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wCeruleanGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-CeruleanGymScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw CeruleanGymScript3
-
-CeruleanGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, CeruleanGymScript_5c6ed
-	ld a, $f0
-	ld [wJoyIgnore], a
-
-CeruleanGymScript_5c70d:
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_MISTY
-	lb bc, TM_11, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $6
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM11
-	jr .asm_5c736
-.BagFull
-	ld a, $7
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_5c736
-	ld hl, wObtainedBadges
-	set 1, [hl]
-	ld hl, wBeatGymFlags
-	set 1, [hl]
-
-	; deactivate gym trainers
-	SetEvents EVENT_BEAT_CERULEAN_GYM_TRAINER_0, EVENT_BEAT_CERULEAN_GYM_TRAINER_1
-
-	jp CeruleanGymScript_5c6ed
-
-CeruleanGymTextPointers:
-	dw CeruleanGymText1
-	dw CeruleanGymText2
-	dw CeruleanGymText3
-	dw CeruleanGymText4
-	dw CeruleanGymText5
-	dw CeruleanGymText6
-	dw CeruleanGymText7
-
-CeruleanGymTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_0
-	dw CeruleanGymBattleText1 ; TextBeforeBattle
-	dw CeruleanGymAfterBattleText1 ; TextAfterBattle
-	dw CeruleanGymEndBattleText1 ; TextEndBattle
-	dw CeruleanGymEndBattleText1 ; TextEndBattle
-
-CeruleanGymTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_1
-	dw CeruleanGymBattleText2 ; TextBeforeBattle
-	dw CeruleanGymAfterBattleText2 ; TextAfterBattle
-	dw CeruleanGymEndBattleText2 ; TextEndBattle
-	dw CeruleanGymEndBattleText2 ; TextEndBattle
-
-	db $ff
-
-CeruleanGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_MISTY
-	jr z, .asm_5c78d
-	CheckEventReuseA EVENT_GOT_TM11
-	jr nz, .asm_5c785
-	call z, CeruleanGymScript_5c70d
-	call DisableWaitingAfterTextDisplay
-	jr .asm_5c7bb
-.asm_5c785
-	ld hl, CeruleanGymText_5c7c3
-	call PrintText
-	jr .asm_5c7bb
-.asm_5c78d
-	ld hl, CeruleanGymText_5c7be
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, CeruleanGymText_5c7d8
-	ld de, CeruleanGymText_5c7d8
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $2
-	ld [wGymLeaderNo], a
-	xor a
-	ld [hJoyHeld], a
-	ld a, $3
-	ld [wCeruleanGymCurScript], a
-.asm_5c7bb
-	jp TextScriptEnd
-
-CeruleanGymText_5c7be:
-	TX_FAR _CeruleanGymText_5c7be
-	db "@"
-
-CeruleanGymText_5c7c3:
-	TX_FAR _CeruleanGymText_5c7c3
-	db "@"
-
-CeruleanGymText5:
-	TX_FAR _CeruleanGymText_5c7c8
-	db "@"
-
-CeruleanGymText6:
-	TX_FAR _ReceivedTM11Text
-	TX_SFX_ITEM_1
-	db "@"
-
-CeruleanGymText7:
-	TX_FAR _CeruleanGymText_5c7d3
-	db "@"
-
-CeruleanGymText_5c7d8:
-	TX_FAR _CeruleanGymText_5c7d8
-	TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded
-	TX_BLINK
-	db "@"
-
-CeruleanGymText2:
-	TX_ASM
-	ld hl, CeruleanGymTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeruleanGymBattleText1:
-	TX_FAR _CeruleanGymBattleText1
-	db "@"
-
-CeruleanGymEndBattleText1:
-	TX_FAR _CeruleanGymEndBattleText1
-	db "@"
-
-CeruleanGymAfterBattleText1:
-	TX_FAR _CeruleanGymAfterBattleText1
-	db "@"
-
-CeruleanGymText3:
-	TX_ASM
-	ld hl, CeruleanGymTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-CeruleanGymBattleText2:
-	TX_FAR _CeruleanGymBattleText2
-	db "@"
-
-CeruleanGymEndBattleText2:
-	TX_FAR _CeruleanGymEndBattleText2
-	db "@"
-
-CeruleanGymAfterBattleText2:
-	TX_FAR _CeruleanGymAfterBattleText2
-	db "@"
-
-CeruleanGymText4:
-	TX_ASM
-	CheckEvent EVENT_BEAT_MISTY
-	jr nz, .asm_5c821
-	ld hl, CeruleanGymText_5c82a
-	call PrintText
-	jr .asm_5c827
-.asm_5c821
-	ld hl, CeruleanGymText_5c82f
-	call PrintText
-.asm_5c827
-	jp TextScriptEnd
-
-CeruleanGymText_5c82a:
-	TX_FAR _CeruleanGymText_5c82a
-	db "@"
-
-CeruleanGymText_5c82f:
-	TX_FAR _CeruleanGymText_5c82f
-	db "@"
--- a/scripts/ceruleanhouse1.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-CeruleanHouse1Script:
-	jp EnableAutoTextBoxDrawing
-
-CeruleanHouse1TextPointers:
-	dw CeruleanHouse1Text1
-	dw CeruleanHouse1Text2
-
-CeruleanHouse1Text1:
-	TX_FAR _CeruleanHouse1Text1
-	db "@"
-
-CeruleanHouse1Text2:
-	TX_ASM
-	ld a, $6
-	ld [wWhichTrade], a
-	predef DoInGameTradeDialogue
-	jp TextScriptEnd
--- a/scripts/ceruleanhouse2.asm
+++ /dev/null
@@ -1,109 +1,0 @@
-CeruleanHouse2Script:
-	ld a, $1
-	ld [wAutoTextBoxDrawingControl], a
-	dec a
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ret
-
-CeruleanHouse2TextPointers:
-	dw CeruleanHouse2Text1
-
-CeruleanHouse2Text1:
-	TX_ASM
-	ld hl, CeruleanHouse2Text_74e77
-	call PrintText
-	xor a
-	ld [wCurrentMenuItem], a
-	ld [wListScrollOffset], a
-.asm_74e23
-	ld hl, CeruleanHouse2Text_74e7c
-	call PrintText
-	ld hl, BadgeItemList
-	call LoadItemList
-	ld hl, wItemList
-	ld a, l
-	ld [wListPointer], a
-	ld a, h
-	ld [wListPointer + 1], a
-	xor a
-	ld [wPrintItemPrices], a
-	ld [wMenuItemToSwap], a
-	ld a, SPECIALLISTMENU
-	ld [wListMenuID], a
-	call DisplayListMenuID
-	jr c, .asm_74e60
-	ld hl, TextPointers_74e86
-	ld a, [wcf91]
-	sub $15
-	add a
-	ld d, $0
-	ld e, a
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call PrintText
-	jr .asm_74e23
-.asm_74e60
-	xor a
-	ld [wListScrollOffset], a
-	ld hl, CeruleanHouse2Text_74e81
-	call PrintText
-	jp TextScriptEnd
-
-BadgeItemList:
-	db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF
-
-CeruleanHouse2Text_74e77:
-	TX_FAR _CeruleanHouse2Text_74e77
-	db "@"
-
-CeruleanHouse2Text_74e7c:
-	TX_FAR _CeruleanHouse2Text_74e7c
-	db "@"
-
-CeruleanHouse2Text_74e81:
-	TX_FAR _CeruleanHouse2Text_74e81
-	db "@"
-
-TextPointers_74e86:
-	dw CeruleanHouse2Text_74e96
-	dw CeruleanHouse2Text_74e9b
-	dw CeruleanHouse2Text_74ea0
-	dw CeruleanHouse2Text_74ea5
-	dw CeruleanHouse2Text_74eaa
-	dw CeruleanHouse2Text_74eaf
-	dw CeruleanHouse2Text_74eb4
-	dw CeruleanHouse2Text_74eb9
-
-CeruleanHouse2Text_74e96:
-	TX_FAR _CeruleanHouse2Text_74e96
-	db "@"
-
-CeruleanHouse2Text_74e9b:
-	TX_FAR _CeruleanHouse2Text_74e9b
-	db "@"
-
-CeruleanHouse2Text_74ea0:
-	TX_FAR _CeruleanHouse2Text_74ea0
-	db "@"
-
-CeruleanHouse2Text_74ea5:
-	TX_FAR _CeruleanHouse2Text_74ea5
-	db "@"
-
-CeruleanHouse2Text_74eaa:
-	TX_FAR _CeruleanHouse2Text_74eaa
-	db "@"
-
-CeruleanHouse2Text_74eaf:
-	TX_FAR _CeruleanHouse2Text_74eaf
-	db "@"
-
-CeruleanHouse2Text_74eb4:
-	TX_FAR _CeruleanHouse2Text_74eb4
-	db "@"
-
-CeruleanHouse2Text_74eb9:
-	TX_FAR _CeruleanHouse2Text_74eb9
-	db "@"
--- a/scripts/ceruleanhousetrashed.asm
+++ /dev/null
@@ -1,39 +1,0 @@
-CeruleanHouseTrashedScript:
-	call EnableAutoTextBoxDrawing
-	ret
-
-CeruleanHouseTrashedTextPointers:
-	dw CeruleanHouseTrashedText1
-	dw CeruleanHouseTrashedText2
-	dw CeruleanHouseTrashedText3
-
-CeruleanHouseTrashedText1:
-	TX_ASM
-	ld b, $e4
-	predef GetQuantityOfItemInBag
-	and b
-	jr z, .asm_f8734
-	ld hl, CeruleanHouseTrashedText_1d6b0
-	call PrintText
-	jr .asm_8dfe9
-.asm_f8734
-	ld hl, CeruleanHouseTrashedText_1d6ab
-	call PrintText
-.asm_8dfe9
-	jp TextScriptEnd
-
-CeruleanHouseTrashedText_1d6ab:
-	TX_FAR _CeruleanTrashedText_1d6ab
-	db "@"
-
-CeruleanHouseTrashedText_1d6b0:
-	TX_FAR _CeruleanTrashedText_1d6b0
-	db "@"
-
-CeruleanHouseTrashedText2:
-	TX_FAR _CeruleanHouseTrashedText2
-	db "@"
-
-CeruleanHouseTrashedText3:
-	TX_FAR _CeruleanHouseTrashedText3
-	db "@"
--- a/scripts/ceruleanmart.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-CeruleanMartScript:
-	jp EnableAutoTextBoxDrawing
-
-CeruleanMartTextPointers:
-	dw CeruleanCashierText
-	dw CeruleanMartText2
-	dw CeruleanMartText3
-
-CeruleanMartText2:
-	TX_FAR _CeruleanMartText2
-	db "@"
-
-CeruleanMartText3:
-	TX_FAR _CeruleanMartText3
-	db "@"
--- a/scripts/ceruleanpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-CeruleanPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-CeruleanPokecenterTextPointers:
-	dw CeruleanHealNurseText
-	dw CeruleanPokecenterText2
-	dw CeruleanPokecenterText3
-	dw CeruleanTradeNurseText
-
-CeruleanTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
-
-CeruleanHealNurseText:
-	TX_POKECENTER_NURSE
-
-CeruleanPokecenterText2:
-	TX_FAR _CeruleanPokecenterText2
-	db "@"
-
-CeruleanPokecenterText3:
-	TX_FAR _CeruleanPokecenterText3
-	db "@"
--- a/scripts/cinnabargym.asm
+++ /dev/null
@@ -1,472 +1,0 @@
-CinnabarGymScript:
-	call CinnabarGymScript_75759
-	call EnableAutoTextBoxDrawing
-	ld hl, CinnabarGymScriptPointers
-	ld a, [wCinnabarGymCurScript]
-	jp CallFunctionInTable
-
-CinnabarGymScript_75759:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	push hl
-	call nz, CinnabarGymScript_75772
-	pop hl
-	bit 5, [hl]
-	res 5, [hl]
-	call nz, UpdateCinnabarGymGateTileBlocks
-	ResetEvent EVENT_2A7
-	ret
-CinnabarGymScript_75772:
-	ld hl, Gym7CityName
-	ld de, Gym7LeaderName
-	jp LoadGymLeaderAndCityName
-
-Gym7CityName:
-	db "CINNABAR ISLAND@"
-Gym7LeaderName:
-	db "BLAINE@"
-
-CinnabarGymScript_75792:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wCinnabarGymCurScript], a
-	ld [wCurMapScript], a
-	ld [wOpponentAfterWrongAnswer], a
-	ret
-
-CinnabarGymScript_757a0:
-	ld a, [hSpriteIndexOrTextID]
-	ld [wTrainerHeaderFlagBit], a
-	ret
-
-CinnabarGymScriptPointers:
-	dw CinnabarGymScript0
-	dw CinnabarGymScript1
-	dw CinnabarGymScript2
-	dw CinnabarGymScript3
-
-CinnabarGymScript0:
-	ld a, [wOpponentAfterWrongAnswer]
-	and a
-	ret z
-	ld [H_SPRITEINDEX], a
-	cp $4
-	jr nz, .asm_757c3
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	ld de, MovementData_757d7
-	jr .asm_757cb
-.asm_757c3
-	ld de, MovementData_757da
-	ld a, PLAYER_DIR_RIGHT
-	ld [wPlayerMovingDirection], a
-.asm_757cb
-	call MoveSprite
-	ld a, $1
-	ld [wCinnabarGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-MovementData_757d7:
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_UP
-	db $FF
-
-MovementData_757da:
-	db NPC_MOVEMENT_LEFT
-	db $FF
-
-CinnabarGymScript1:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, [wOpponentAfterWrongAnswer]
-	ld [wTrainerHeaderFlagBit], a
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-CinnabarGymFlagAction:
-	predef_jump FlagActionPredef
-
-CinnabarGymScript2:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, CinnabarGymScript_75792
-	ld a, [wTrainerHeaderFlagBit]
-	ld [$ffdb], a
-	AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2
-	ld c, a
-	ld b, FLAG_TEST
-	EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0
-	call CinnabarGymFlagAction
-	ld a, c
-	and a
-	jr nz, .asm_7581b
-	call WaitForSoundToFinish
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	call WaitForSoundToFinish
-.asm_7581b
-	ld a, [wTrainerHeaderFlagBit]
-	ld [$ffdb], a
-	AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2
-	ld c, a
-	ld b, FLAG_SET
-	EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0
-	call CinnabarGymFlagAction
-	ld a, [wTrainerHeaderFlagBit]
-	sub $2
-	AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0
-	ld c, a
-	ld b, FLAG_SET
-	EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED
-	call CinnabarGymFlagAction
-	call UpdateCinnabarGymGateTileBlocks
-	xor a
-	ld [wJoyIgnore], a
-	ld [wOpponentAfterWrongAnswer], a
-	ld a, $0
-	ld [wCinnabarGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-CinnabarGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, CinnabarGymScript_75792
-	ld a, $f0
-	ld [wJoyIgnore], a
-CinnabarGymScript3_75857:
-	ld a, $a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_BLAINE
-	lb bc, TM_38, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $b
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM38
-	jr .asm_75880
-.BagFull
-	ld a, $c
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_75880
-	ld hl, wObtainedBadges
-	set 6, [hl]
-	ld hl, wBeatGymFlags
-	set 6, [hl]
-
-	; deactivate gym trainers
-	SetEventRange EVENT_BEAT_CINNABAR_GYM_TRAINER_0, EVENT_BEAT_CINNABAR_GYM_TRAINER_6
-
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-
-	jp CinnabarGymScript_75792
-
-CinnabarGymTextPointers:
-	dw CinnabarGymText1
-	dw CinnabarGymText2
-	dw CinnabarGymText3
-	dw CinnabarGymText4
-	dw CinnabarGymText5
-	dw CinnabarGymText6
-	dw CinnabarGymText7
-	dw CinnabarGymText8
-	dw CinnabarGymText9
-	dw BlaineBadgeText
-	dw ReceivedTM38Text
-	dw TM38NoRoomText
-
-CinnabarGymScript_758b7:
-	ld a, [hSpriteIndexOrTextID]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld a, [wSpriteIndex]
-	cp $1
-	jr z, .asm_758d4
-	ld a, $2
-	jr .asm_758d6
-.asm_758d4
-	ld a, $3
-.asm_758d6
-	ld [wCinnabarGymCurScript], a
-	ld [wCurMapScript], a
-	jp TextScriptEnd
-
-CinnabarGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_BLAINE
-	jr z, .asm_d9332
-	CheckEventReuseA EVENT_GOT_TM38
-	jr nz, .asm_3012f
-	call z, CinnabarGymScript3_75857
-	call DisableWaitingAfterTextDisplay
-	jp TextScriptEnd
-.asm_3012f
-	ld hl, BlaineFireBlastText
-	call PrintText
-	jp TextScriptEnd
-.asm_d9332
-	ld hl, BlaineBattleText
-	call PrintText
-	ld hl, BlaineEndBattleText
-	ld de, BlaineEndBattleText
-	call SaveEndBattleTextPointers
-	ld a, $7
-	ld [wGymLeaderNo], a
-	jp CinnabarGymScript_758b7
-
-BlaineBattleText:
-	TX_FAR _BlaineBattleText
-	db "@"
-
-BlaineEndBattleText:
-	TX_FAR _BlaineEndBattleText
-	TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded
-	TX_WAIT
-	db "@"
-
-BlaineFireBlastText:
-	TX_FAR _BlaineFireBlastText
-	db "@"
-
-BlaineBadgeText:
-	TX_FAR _BlaineBadgeText
-	db "@"
-
-ReceivedTM38Text:
-	TX_FAR _ReceivedTM38Text
-	TX_SFX_ITEM_1
-	TX_FAR _TM38ExplanationText
-	db "@"
-
-TM38NoRoomText:
-	TX_FAR _TM38NoRoomText
-	db "@"
-
-CinnabarGymText2:
-	TX_ASM
-	call CinnabarGymScript_757a0
-	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0
-	jr nz, .asm_46bb4
-	ld hl, CinnabarGymText_7595f
-	call PrintText
-	ld hl, CinnabarGymText_75964
-	ld de, CinnabarGymText_75964
-	call SaveEndBattleTextPointers
-	jp CinnabarGymScript_758b7
-.asm_46bb4
-	ld hl, CinnabarGymText_75969
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_7595f:
-	TX_FAR _CinnabarGymText_7595f
-	db "@"
-
-CinnabarGymText_75964:
-	TX_FAR _CinnabarGymText_75964
-	db "@"
-
-CinnabarGymText_75969:
-	TX_FAR _CinnabarGymText_75969
-	db "@"
-
-CinnabarGymText3:
-	TX_ASM
-	call CinnabarGymScript_757a0
-	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1
-	jr nz, .asm_4b406
-	ld hl, CinnabarGymText_75994
-	call PrintText
-	ld hl, CinnabarGymText_75999
-	ld de, CinnabarGymText_75999
-	call SaveEndBattleTextPointers
-	jp CinnabarGymScript_758b7
-.asm_4b406
-	ld hl, CinnabarGymText_7599e
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_75994:
-	TX_FAR _CinnabarGymText_75994
-	db "@"
-
-CinnabarGymText_75999:
-	TX_FAR _CinnabarGymText_75999
-	db "@"
-
-CinnabarGymText_7599e:
-	TX_FAR _CinnabarGymText_7599e
-	db "@"
-
-CinnabarGymText4:
-	TX_ASM
-	call CinnabarGymScript_757a0
-	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2
-	jr nz, .asm_c0673
-	ld hl, CinnabarGymText_759c9
-	call PrintText
-	ld hl, CinnabarGymText_759ce
-	ld de, CinnabarGymText_759ce
-	call SaveEndBattleTextPointers
-	jp CinnabarGymScript_758b7
-.asm_c0673
-	ld hl, CinnabarGymText_759d3
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_759c9:
-	TX_FAR _CinnabarGymText_759c9
-	db "@"
-
-CinnabarGymText_759ce:
-	TX_FAR _CinnabarGymText_759ce
-	db "@"
-
-CinnabarGymText_759d3:
-	TX_FAR _CinnabarGymText_759d3
-	db "@"
-
-CinnabarGymText5:
-	TX_ASM
-	call CinnabarGymScript_757a0
-	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3
-	jr nz, .asm_5cfd7
-	ld hl, CinnabarGymText_759fe
-	call PrintText
-	ld hl, CinnabarGymText_75a03
-	ld de, CinnabarGymText_75a03
-	call SaveEndBattleTextPointers
-	jp CinnabarGymScript_758b7
-.asm_5cfd7
-	ld hl, CinnabarGymText_75a08
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_759fe:
-	TX_FAR _CinnabarGymText_759fe
-	db "@"
-
-CinnabarGymText_75a03:
-	TX_FAR _CinnabarGymText_75a03
-	db "@"
-
-CinnabarGymText_75a08:
-	TX_FAR _CinnabarGymText_75a08
-	db "@"
-
-CinnabarGymText6:
-	TX_ASM
-	call CinnabarGymScript_757a0
-	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4
-	jr nz, .asm_776b4
-	ld hl, CinnabarGymText_75a33
-	call PrintText
-	ld hl, CinnabarGymText_75a38
-	ld de, CinnabarGymText_75a38
-	call SaveEndBattleTextPointers
-	jp CinnabarGymScript_758b7
-.asm_776b4
-	ld hl, CinnabarGymText_75a3d
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_75a33:
-	TX_FAR _CinnabarGymText_75a33
-	db "@"
-
-CinnabarGymText_75a38:
-	TX_FAR _CinnabarGymText_75a38
-	db "@"
-
-CinnabarGymText_75a3d:
-	TX_FAR _CinnabarGymText_75a3d
-	db "@"
-
-CinnabarGymText7:
-	TX_ASM
-	call CinnabarGymScript_757a0
-	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5
-	jr nz, .asm_2f755
-	ld hl, CinnabarGymText_75a68
-	call PrintText
-	ld hl, CinnabarGymText_75a6d
-	ld de, CinnabarGymText_75a6d
-	call SaveEndBattleTextPointers
-	jp CinnabarGymScript_758b7
-.asm_2f755
-	ld hl, CinnabarGymText_75a72
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_75a68:
-	TX_FAR _CinnabarGymText_75a68
-	db "@"
-
-CinnabarGymText_75a6d:
-	TX_FAR _CinnabarGymText_75a6d
-	db "@"
-
-CinnabarGymText_75a72:
-	TX_FAR _CinnabarGymText_75a72
-	db "@"
-
-CinnabarGymText8:
-	TX_ASM
-	call CinnabarGymScript_757a0
-	CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6
-	jr nz, .asm_d87be
-	ld hl, CinnabarGymText_75a9d
-	call PrintText
-	ld hl, CinnabarGymText_75aa2
-	ld de, CinnabarGymText_75aa2
-	call SaveEndBattleTextPointers
-	jp CinnabarGymScript_758b7
-.asm_d87be
-	ld hl, CinnabarGymText_75aa7
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_75a9d:
-	TX_FAR _CinnabarGymText_75a9d
-	db "@"
-
-CinnabarGymText_75aa2:
-	TX_FAR _CinnabarGymText_75aa2
-	db "@"
-
-CinnabarGymText_75aa7:
-	TX_FAR _CinnabarGymText_75aa7
-	db "@"
-
-CinnabarGymText9:
-	TX_ASM
-	CheckEvent EVENT_BEAT_BLAINE
-	jr nz, .asm_627d9
-	ld hl, CinnabarGymText_75ac2
-	jr .asm_0b11d
-.asm_627d9
-	ld hl, CinnabarGymText_75ac7
-.asm_0b11d
-	call PrintText
-	jp TextScriptEnd
-
-CinnabarGymText_75ac2:
-	TX_FAR _CinnabarGymText_75ac2
-	db "@"
-
-CinnabarGymText_75ac7:
-	TX_FAR _CinnabarGymText_75ac7
-	db "@"
--- a/scripts/cinnabarisland.asm
+++ /dev/null
@@ -1,85 +1,0 @@
-CinnabarIslandScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	ResetEvent EVENT_MANSION_SWITCH_ON
-	ResetEvent EVENT_LAB_STILL_REVIVING_FOSSIL
-	ld hl, CinnabarIslandScriptPointers
-	ld a, [wCinnabarIslandCurScript]
-	jp CallFunctionInTable
-
-CinnabarIslandScriptPointers:
-	dw CinnabarIslandScript0
-	dw CinnabarIslandScript1
-
-CinnabarIslandScript0:
-	ld b, SECRET_KEY
-	call IsItemInBag
-	ret nz
-	ld a, [wYCoord]
-	cp $4
-	ret nz
-	ld a, [wXCoord]
-	cp $12
-	ret nz
-	ld a, PLAYER_DIR_UP
-	ld [wPlayerMovingDirection], a
-	ld a, $8
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [hJoyHeld], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_DOWN
-	ld [wSimulatedJoypadStatesEnd], a
-	call StartSimulatingJoypadStates
-	xor a
-	ld [wSpriteStateData1 + 9], a
-	ld [wJoyIgnore], a
-	ld a, $1
-	ld [wCinnabarIslandCurScript], a
-	ret
-
-CinnabarIslandScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	ld a, $0
-	ld [wCinnabarIslandCurScript], a
-	ret
-
-CinnabarIslandTextPointers:
-	dw CinnabarIslandText1
-	dw CinnabarIslandText2
-	dw CinnabarIslandText3
-	dw MartSignText
-	dw PokeCenterSignText
-	dw CinnabarIslandText6
-	dw CinnabarIslandText7
-	dw CinnabarIslandText8
-
-CinnabarIslandText8:
-	TX_FAR _CinnabarIslandText8
-	db "@"
-
-CinnabarIslandText1:
-	TX_FAR _CinnabarIslandText1
-	db "@"
-
-CinnabarIslandText2:
-	TX_FAR _CinnabarIslandText2
-	db "@"
-
-CinnabarIslandText3:
-	TX_FAR _CinnabarIslandText3
-	db "@"
-
-CinnabarIslandText6:
-	TX_FAR _CinnabarIslandText6
-	db "@"
-
-CinnabarIslandText7:
-	TX_FAR _CinnabarIslandText7
-	db "@"
--- a/scripts/cinnabarmart.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-CinnabarMartScript:
-	jp EnableAutoTextBoxDrawing
-
-CinnabarMartTextPointers:
-	dw CinnabarCashierText
-	dw CinnabarMartText2
-	dw CinnabarMartText3
-
-CinnabarMartText2:
-	TX_FAR _CinnabarMartText2
-	db "@"
-
-CinnabarMartText3:
-	TX_FAR _CinnabarMartText3
-	db "@"
--- a/scripts/cinnabarpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-CinnabarPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-CinnabarPokecenterTextPointers:
-	dw CinnabarHealNurseText
-	dw CinnabarPokecenterText2
-	dw CinnabarPokecenterText3
-	dw CinnabarTradeNurseText
-
-CinnabarHealNurseText:
-	TX_POKECENTER_NURSE
-
-CinnabarPokecenterText2:
-	TX_FAR _CinnabarPokecenterText2
-	db "@"
-
-CinnabarPokecenterText3:
-	TX_FAR _CinnabarPokecenterText3
-	db "@"
-
-CinnabarTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
--- a/scripts/colosseum.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-ColosseumScript:
-	jp TradeCenterScript
-
-ColosseumTextPointers:
-	dw ColosseumText1
-
-ColosseumText1:
-	TX_FAR _ColosseumText1
-	db "@"
--- a/scripts/copycatshouse1f.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-CopycatsHouse1FScript:
-	jp EnableAutoTextBoxDrawing
-
-CopycatsHouse1FTextPointers:
-	dw CopycatsHouse1FText1
-	dw CopycatsHouse1FText2
-	dw CopycatsHouse1FText3
-
-CopycatsHouse1FText1:
-	TX_FAR _CopycatsHouse1FText1
-	db "@"
-
-CopycatsHouse1FText2:
-	TX_FAR _CopycatsHouse1FText2
-	db "@"
-
-CopycatsHouse1FText3:
-	TX_FAR _CopycatsHouse1FText3
-	TX_ASM
-	ld a, CHANSEY
-	call PlayCry
-	jp TextScriptEnd
--- a/scripts/copycatshouse2f.asm
+++ /dev/null
@@ -1,102 +1,0 @@
-CopycatsHouse2FScript:
-	jp EnableAutoTextBoxDrawing
-
-CopycatsHouse2FTextPointers:
-	dw CopycatsHouse2FText1
-	dw CopycatsHouse2FText2
-	dw CopycatsHouse2FText3
-	dw CopycatsHouse2FText4
-	dw CopycatsHouse2FText5
-	dw CopycatsHouse2FText6
-	dw CopycatsHouse2FText7
-
-CopycatsHouse2FText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM31
-	jr nz, .asm_7ccf3
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, CopycatsHouse2FText_5ccd4
-	call PrintText
-	ld b, POKE_DOLL
-	call IsItemInBag
-	jr z, .asm_62ecd
-	ld hl, TM31PreReceiveText
-	call PrintText
-	lb bc, TM_31, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedTM31Text
-	call PrintText
-	ld a, POKE_DOLL
-	ld [$ffdb], a
-	callba RemoveItemByID
-	SetEvent EVENT_GOT_TM31
-	jr .asm_62ecd
-.BagFull
-	ld hl, TM31NoRoomText
-	call PrintText
-	jr .asm_62ecd
-.asm_7ccf3
-	ld hl, TM31ExplanationText2
-	call PrintText
-.asm_62ecd
-	jp TextScriptEnd
-
-CopycatsHouse2FText_5ccd4:
-	TX_FAR _CopycatsHouse2FText_5ccd4
-	db "@"
-
-TM31PreReceiveText:
-	TX_FAR _TM31PreReceiveText
-	db "@"
-
-ReceivedTM31Text:
-	TX_FAR _ReceivedTM31Text
-	TX_SFX_ITEM_1
-TM31ExplanationText1:
-	TX_FAR _TM31ExplanationText1
-	TX_WAIT
-	db "@"
-
-TM31ExplanationText2:
-	TX_FAR _TM31ExplanationText2
-	db "@"
-
-TM31NoRoomText:
-	TX_FAR _TM31NoRoomText
-	TX_WAIT
-	db "@"
-
-CopycatsHouse2FText2:
-	TX_FAR _CopycatsHouse2FText2
-	db "@"
-
-CopycatsHouse2FText5:
-CopycatsHouse2FText4:
-CopycatsHouse2FText3:
-	TX_FAR _CopycatsHouse2FText3
-	db "@"
-
-CopycatsHouse2FText6:
-	TX_FAR _CopycatsHouse2FText6
-	db "@"
-
-CopycatsHouse2FText7:
-	TX_ASM
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	ld hl, CopycatsHouse2FText_5cd1c
-	jr nz, .notUp
-	ld hl, CopycatsHouse2FText_5cd17
-.notUp
-	call PrintText
-	jp TextScriptEnd
-
-CopycatsHouse2FText_5cd17:
-	TX_FAR _CopycatsHouse2FText_5cd17
-	db "@"
-
-CopycatsHouse2FText_5cd1c:
-	TX_FAR _CopycatsHouse2FText_5cd1c
-	db "@"
--- a/scripts/daycarem.asm
+++ /dev/null
@@ -1,269 +1,0 @@
-DayCareMScript:
-	jp EnableAutoTextBoxDrawing
-
-DayCareMTextPointers:
-	dw DayCareMText1
-
-DayCareMText1:
-	TX_ASM
-	call SaveScreenTilesToBuffer2
-	ld a, [wDayCareInUse]
-	and a
-	jp nz, .daycareInUse
-	ld hl, DayCareIntroText
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	ld hl, DayCareComeAgainText
-	jp nz, .done
-	ld a, [wPartyCount]
-	dec a
-	ld hl, DayCareOnlyHaveOneMonText
-	jp z, .done
-	ld hl, DayCareWhichMonText
-	call PrintText
-	xor a
-	ld [wUpdateSpritesEnabled], a
-	ld [wPartyMenuTypeOrMessageID], a
-	ld [wMenuItemToSwap], a
-	call DisplayPartyMenu
-	push af
-	call GBPalWhiteOutWithDelay3
-	call RestoreScreenTilesAndReloadTilePatterns
-	call LoadGBPal
-	pop af
-	ld hl, DayCareAllRightThenText
-	jp c, .done
-	callab KnowsHMMove
-	ld hl, DayCareCantAcceptMonWithHMText
-	jp c, .done
-	xor a
-	ld [wPartyAndBillsPCSavedMenuItem], a
-	ld a, [wWhichPokemon]
-	ld hl, wPartyMonNicks
-	call GetPartyMonName
-	ld hl, DayCareWillLookAfterMonText
-	call PrintText
-	ld a, 1
-	ld [wDayCareInUse], a
-	ld a, PARTY_TO_DAYCARE
-	ld [wMoveMonType], a
-	call MoveMon
-	xor a
-	ld [wRemoveMonFromBox], a
-	call RemovePokemon
-	ld a, [wcf91]
-	call PlayCry
-	ld hl, DayCareComeSeeMeInAWhileText
-	jp .done
-
-.daycareInUse
-	xor a
-	ld hl, wDayCareMonName
-	call GetPartyMonName
-	ld a, DAYCARE_DATA
-	ld [wMonDataLocation], a
-	call LoadMonData
-	callab CalcLevelFromExperience
-	ld a, d
-	cp MAX_LEVEL
-	jr c, .skipCalcExp
-
-	ld d, MAX_LEVEL
-	callab CalcExperience
-	ld hl, wDayCareMonExp
-	ld a, [hExperience]
-	ld [hli], a
-	ld a, [hExperience + 1]
-	ld [hli], a
-	ld a, [hExperience + 2]
-	ld [hl], a
-	ld d, MAX_LEVEL
-
-.skipCalcExp
-	xor a
-	ld [wDayCareNumLevelsGrown], a
-	ld hl, wDayCareMonBoxLevel
-	ld a, [hl]
-	ld [wDayCareStartLevel], a
-	cp d
-	ld [hl], d
-	ld hl, DayCareMonNeedsMoreTimeText
-	jr z, .next
-	ld a, [wDayCareStartLevel]
-	ld b, a
-	ld a, d
-	sub b
-	ld [wDayCareNumLevelsGrown], a
-	ld hl, DayCareMonHasGrownText
-
-.next
-	call PrintText
-	ld a, [wPartyCount]
-	cp PARTY_LENGTH
-	ld hl, DayCareNoRoomForMonText
-	jp z, .leaveMonInDayCare
-	ld de, wDayCareTotalCost
-	xor a
-	ld [de], a
-	inc de
-	ld [de], a
-	ld hl, wDayCarePerLevelCost
-	ld a, $1
-	ld [hli], a
-	ld [hl], $0
-	ld a, [wDayCareNumLevelsGrown]
-	inc a
-	ld b, a
-	ld c, 2
-.calcPriceLoop
-	push hl
-	push de
-	push bc
-	predef AddBCDPredef
-	pop bc
-	pop de
-	pop hl
-	dec b
-	jr nz, .calcPriceLoop
-	ld hl, DayCareOweMoneyText
-	call PrintText
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	call YesNoChoice
-	ld hl, DayCareAllRightThenText
-	ld a, [wCurrentMenuItem]
-	and a
-	jp nz, .leaveMonInDayCare
-	ld hl, wDayCareTotalCost
-	ld [hMoney], a
-	ld a, [hli]
-	ld [hMoney + 1], a
-	ld a, [hl]
-	ld [hMoney + 2], a
-	call HasEnoughMoney
-	jr nc, .enoughMoney
-	ld hl, DayCareNotEnoughMoneyText
-	jp .leaveMonInDayCare
-
-.enoughMoney
-	xor a
-	ld [wDayCareInUse], a
-	ld hl, wDayCareNumLevelsGrown
-	ld [hli], a
-	inc hl
-	ld de, wPlayerMoney + 2
-	ld c, $3
-	predef SubBCDPredef
-	ld a, SFX_PURCHASE
-	call PlaySoundWaitForCurrent
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	ld hl, DayCareHeresYourMonText
-	call PrintText
-	ld a, DAYCARE_TO_PARTY
-	ld [wMoveMonType], a
-	call MoveMon
-	ld a, [wDayCareMonSpecies]
-	ld [wcf91], a
-	ld a, [wPartyCount]
-	dec a
-	push af
-	ld bc, wPartyMon2 - wPartyMon1
-	push bc
-	ld hl, wPartyMon1Moves
-	call AddNTimes
-	ld d, h
-	ld e, l
-	ld a, 1
-	ld [wLearningMovesFromDayCare], a
-	predef WriteMonMoves
-	pop bc
-	pop af
-
-; set mon's HP to max
-	ld hl, wPartyMon1HP
-	call AddNTimes
-	ld d, h
-	ld e, l
-	ld bc, wPartyMon1MaxHP - wPartyMon1HP
-	add hl, bc
-	ld a, [hli]
-	ld [de], a
-	inc de
-	ld a, [hl]
-	ld [de], a
-
-	ld a, [wcf91]
-	call PlayCry
-	ld hl, DayCareGotMonBackText
-	jr .done
-
-.leaveMonInDayCare
-	ld a, [wDayCareStartLevel]
-	ld [wDayCareMonBoxLevel], a
-
-.done
-	call PrintText
-	jp TextScriptEnd
-
-DayCareIntroText:
-	TX_FAR _DayCareIntroText
-	db "@"
-
-DayCareWhichMonText:
-	TX_FAR _DayCareWhichMonText
-	db "@"
-
-DayCareWillLookAfterMonText:
-	TX_FAR _DayCareWillLookAfterMonText
-	db "@"
-
-DayCareComeSeeMeInAWhileText:
-	TX_FAR _DayCareComeSeeMeInAWhileText
-	db "@"
-
-DayCareMonHasGrownText:
-	TX_FAR _DayCareMonHasGrownText
-	db "@"
-
-DayCareOweMoneyText:
-	TX_FAR _DayCareOweMoneyText
-	db "@"
-
-DayCareGotMonBackText:
-	TX_FAR _DayCareGotMonBackText
-	db "@"
-
-DayCareMonNeedsMoreTimeText:
-	TX_FAR _DayCareMonNeedsMoreTimeText
-	db "@"
-
-DayCareAllRightThenText:
-	TX_FAR _DayCareAllRightThenText
-DayCareComeAgainText:
-	TX_FAR _DayCareComeAgainText
-	db "@"
-
-DayCareNoRoomForMonText:
-	TX_FAR _DayCareNoRoomForMonText
-	db "@"
-
-DayCareOnlyHaveOneMonText:
-	TX_FAR _DayCareOnlyHaveOneMonText
-	db "@"
-
-DayCareCantAcceptMonWithHMText:
-	TX_FAR _DayCareCantAcceptMonWithHMText
-	db "@"
-
-DayCareHeresYourMonText:
-	TX_FAR _DayCareHeresYourMonText
-	db "@"
-
-DayCareNotEnoughMoneyText:
-	TX_FAR _DayCareNotEnoughMoneyText
-	db "@"
--- a/scripts/diglettscave.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-DiglettsCaveScript:
-	jp EnableAutoTextBoxDrawing
-
-DiglettsCaveTextPointers:
-	db "@"
--- a/scripts/diglettscaveroute11.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-DiglettsCaveEntranceRoute11Script:
-	call EnableAutoTextBoxDrawing
-	ld a, ROUTE_11
-	ld [wLastMap], a
-	ret
-
-DiglettsCaveEntranceRoute11TextPointers:
-	dw DiglettsCaveEntranceRoute11Text1
-
-DiglettsCaveEntranceRoute11Text1:
-	TX_FAR _DiglettsCaveEntRoute11Text1
-	db "@"
--- a/scripts/diglettscaveroute2.asm
+++ /dev/null
@@ -1,11 +1,0 @@
-DiglettsCaveRoute2Script:
-	ld a, ROUTE_2
-	ld [wLastMap], a
-	jp EnableAutoTextBoxDrawing
-
-DiglettsCaveRoute2TextPointers:
-	dw DiglettsCaveRoute2Text1
-
-DiglettsCaveRoute2Text1:
-	TX_FAR _DiglettsCaveRoute2Text1
-	db "@"
--- a/scripts/fanclub.asm
+++ /dev/null
@@ -1,173 +1,0 @@
-FanClubScript:
-	jp EnableAutoTextBoxDrawing
-
-FanClubBikeInBag:
-; check if any bike paraphernalia in bag
-	CheckEvent EVENT_GOT_BIKE_VOUCHER
-	ret nz
-	ld b, BICYCLE
-	call IsItemInBag
-	ret nz
-	ld b, BIKE_VOUCHER
-	jp IsItemInBag
-
-FanClubTextPointers:
-	dw FanClubText1
-	dw FanClubText2
-	dw FanClubText3
-	dw FanClubText4
-	dw FanClubText5
-	dw FanClubText6
-	dw FanClubText7
-	dw FanClubText8
-
-FanClubText1:
-; pikachu fan
-	TX_ASM
-	CheckEvent EVENT_PIKACHU_FAN_BOAST
-	jr nz, .mineisbetter
-	ld hl, .normaltext
-	call PrintText
-	SetEvent EVENT_SEEL_FAN_BOAST
-	jr .done
-.mineisbetter
-	ld hl, .bettertext
-	call PrintText
-	ResetEvent EVENT_PIKACHU_FAN_BOAST
-.done
-	jp TextScriptEnd
-
-.normaltext
-	TX_FAR PikachuFanText
-	db "@"
-
-.bettertext
-	TX_FAR PikachuFanBetterText
-	db "@"
-
-FanClubText2:
-; seel fan
-	TX_ASM
-	CheckEvent EVENT_SEEL_FAN_BOAST
-	jr nz, .mineisbetter
-	ld hl, .normaltext
-	call PrintText
-	SetEvent EVENT_PIKACHU_FAN_BOAST
-	jr .done
-.mineisbetter
-	ld hl, .bettertext
-	call PrintText
-	ResetEvent EVENT_SEEL_FAN_BOAST
-.done
-	jp TextScriptEnd
-
-.normaltext
-	TX_FAR SeelFanText
-	db "@"
-
-.bettertext
-	TX_FAR SeelFanBetterText
-	db "@"
-
-FanClubText3:
-; pikachu
-	TX_ASM
-	ld hl, .text
-	call PrintText
-	ld a, PIKACHU
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-.text
-	TX_FAR FanClubPikachuText
-	db "@"
-
-FanClubText4:
-; seel
-	TX_ASM
-	ld hl, .text
-	call PrintText
-	ld a, SEEL
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-.text
-	TX_FAR FanClubSeelText
-	db "@"
-
-FanClubText5:
-; chair
-	TX_ASM
-	call FanClubBikeInBag
-	jr nz, .nothingleft
-
-	ld hl, .meetchairtext
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .nothanks
-
-	; tell the story
-	ld hl, .storytext
-	call PrintText
-	lb bc, BIKE_VOUCHER, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, .receivedvouchertext
-	call PrintText
-	SetEvent EVENT_GOT_BIKE_VOUCHER
-	jr .done
-.BagFull
-	ld hl, .bagfulltext
-	call PrintText
-	jr .done
-.nothanks
-	ld hl, .nostorytext
-	call PrintText
-	jr .done
-.nothingleft
-	ld hl, .finaltext
-	call PrintText
-.done
-	jp TextScriptEnd
-
-.meetchairtext
-	TX_FAR FanClubMeetChairText
-	db "@"
-
-.storytext
-	TX_FAR FanClubChairStoryText
-	db "@"
-
-.receivedvouchertext
-	TX_FAR ReceivedBikeVoucherText
-	TX_SFX_KEY_ITEM
-	TX_FAR ExplainBikeVoucherText
-	db "@"
-
-.nostorytext
-	TX_FAR FanClubNoStoryText
-	db "@"
-
-.finaltext
-	TX_FAR FanClubChairFinalText
-	db "@"
-
-.bagfulltext
-	TX_FAR FanClubBagFullText
-	db "@"
-
-FanClubText6:
-	TX_FAR _FanClubText6
-	db "@"
-
-FanClubText7:
-	TX_FAR _FanClubText7
-	db "@"
-
-FanClubText8:
-	TX_FAR _FanClubText8
-	db "@"
--- a/scripts/fightingdojo.asm
+++ /dev/null
@@ -1,323 +1,0 @@
-FightingDojoScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, FightingDojoTrainerHeader0
-	ld de, FightingDojoScriptPointers
-	ld a, [wFightingDojoCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wFightingDojoCurScript], a
-	ret
-
-FightingDojoScript_5cd70:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wFightingDojoCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-FightingDojoScriptPointers:
-	dw FightingDojoScript1
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw FightingDojoScript3
-
-FightingDojoScript1:
-	CheckEvent EVENT_DEFEATED_FIGHTING_DOJO
-	ret nz
-	call CheckFightingMapTrainers
-	ld a, [wTrainerHeaderFlagBit]
-	and a
-	ret nz
-	CheckEvent EVENT_BEAT_KARATE_MASTER
-	ret nz
-	xor a
-	ld [hJoyHeld], a
-	ld [wcf0d], a
-	ld a, [wYCoord]
-	cp $3
-	ret nz
-	ld a, [wXCoord]
-	cp $4
-	ret nz
-	ld a, $1
-	ld [wcf0d], a
-	ld a, PLAYER_DIR_RIGHT
-	ld [wPlayerMovingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_LEFT
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ret
-
-FightingDojoScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, FightingDojoScript_5cd70
-	ld a, [wcf0d]
-	and a
-	jr z, .asm_5cde4
-	ld a, PLAYER_DIR_RIGHT
-	ld [wPlayerMovingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_LEFT
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-
-.asm_5cde4
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3
-	ld a, $8
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [wJoyIgnore], a
-	ld [wFightingDojoCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-FightingDojoTextPointers:
-	dw FightingDojoText1
-	dw FightingDojoText2
-	dw FightingDojoText3
-	dw FightingDojoText4
-	dw FightingDojoText5
-	dw FightingDojoText6
-	dw FightingDojoText7
-	dw FightingDojoText8
-
-FightingDojoTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0
-	dw FightingDojoBattleText1 ; TextBeforeBattle
-	dw FightingDojoAfterBattleText1 ; TextAfterBattle
-	dw FightingDojoEndBattleText1 ; TextEndBattle
-	dw FightingDojoEndBattleText1 ; TextEndBattle
-
-FightingDojoTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1
-	dw FightingDojoBattleText2 ; TextBeforeBattle
-	dw FightingDojoAfterBattleText2 ; TextAfterBattle
-	dw FightingDojoEndBattleText2 ; TextEndBattle
-	dw FightingDojoEndBattleText2 ; TextEndBattle
-
-FightingDojoTrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2
-	dw FightingDojoBattleText3 ; TextBeforeBattle
-	dw FightingDojoAfterBattleText3 ; TextAfterBattle
-	dw FightingDojoEndBattleText3 ; TextEndBattle
-	dw FightingDojoEndBattleText3 ; TextEndBattle
-
-FightingDojoTrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3
-	dw FightingDojoBattleText4 ; TextBeforeBattle
-	dw FightingDojoAfterBattleText4 ; TextAfterBattle
-	dw FightingDojoEndBattleText4 ; TextEndBattle
-	dw FightingDojoEndBattleText4 ; TextEndBattle
-
-	db $ff
-
-FightingDojoText1:
-	TX_ASM
-	CheckEvent EVENT_DEFEATED_FIGHTING_DOJO
-	jp nz, .continue1
-	CheckEventReuseA EVENT_BEAT_KARATE_MASTER
-	jp nz, .continue2
-	ld hl, FightingDojoText_5ce8e
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, FightingDojoText_5ce93
-	ld de, FightingDojoText_5ce93
-	call SaveEndBattleTextPointers
-	ld a, [hSpriteIndexOrTextID]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $3
-	ld [wFightingDojoCurScript], a
-	ld [wCurMapScript], a
-	jr .asm_9dba4
-.continue1
-	ld hl, FightingDojoText_5ce9d
-	call PrintText
-	jr .asm_9dba4
-.continue2
-	ld hl, FightingDojoText8
-	call PrintText
-.asm_9dba4
-	jp TextScriptEnd
-
-FightingDojoText_5ce8e:
-	TX_FAR _FightingDojoText_5ce8e
-	db "@"
-
-FightingDojoText_5ce93:
-	TX_FAR _FightingDojoText_5ce93
-	db "@"
-
-FightingDojoText8:
-	TX_FAR _FightingDojoText_5ce98
-	db "@"
-
-FightingDojoText_5ce9d:
-	TX_FAR _FightingDojoText_5ce9d
-	db "@"
-
-FightingDojoText2:
-	TX_ASM
-	ld hl, FightingDojoTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FightingDojoBattleText1:
-	TX_FAR _FightingDojoBattleText1
-	db "@"
-
-FightingDojoEndBattleText1:
-	TX_FAR _FightingDojoEndBattleText1
-	db "@"
-
-FightingDojoAfterBattleText1:
-	TX_FAR _FightingDojoAfterBattleText1
-	db "@"
-
-FightingDojoText3:
-	TX_ASM
-	ld hl, FightingDojoTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FightingDojoBattleText2:
-	TX_FAR _FightingDojoBattleText2
-	db "@"
-
-FightingDojoEndBattleText2:
-	TX_FAR _FightingDojoEndBattleText2
-	db "@"
-
-FightingDojoAfterBattleText2:
-	TX_FAR _FightingDojoAfterBattleText2
-	db "@"
-
-FightingDojoText4:
-	TX_ASM
-	ld hl, FightingDojoTrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FightingDojoBattleText3:
-	TX_FAR _FightingDojoBattleText3
-	db "@"
-
-FightingDojoEndBattleText3:
-	TX_FAR _FightingDojoEndBattleText3
-	db "@"
-
-FightingDojoAfterBattleText3:
-	TX_FAR _FightingDojoAfterBattleText3
-	db "@"
-
-FightingDojoText5:
-	TX_ASM
-	ld hl, FightingDojoTrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FightingDojoBattleText4:
-	TX_FAR _FightingDojoBattleText4
-	db "@"
-
-FightingDojoEndBattleText4:
-	TX_FAR _FightingDojoEndBattleText4
-	db "@"
-
-FightingDojoAfterBattleText4:
-	TX_FAR _FightingDojoAfterBattleText4
-	db "@"
-
-FightingDojoText6:
-; Hitmonlee Poké Ball
-	TX_ASM
-	CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN
-	jr z, .GetMon
-	ld hl, OtherHitmonText
-	call PrintText
-	jr .done
-.GetMon
-	ld a, HITMONLEE
-	call DisplayPokedex
-	ld hl, WantHitmonleeText
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .done
-	ld a, [wcf91]
-	ld b, a
-	ld c, 30
-	call GivePokemon
-	jr nc, .done
-
-	; once Poké Ball is taken, hide sprite
-	ld a, HS_FIGHTING_DOJO_GIFT_1
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	SetEvents EVENT_GOT_HITMONLEE, EVENT_DEFEATED_FIGHTING_DOJO
-.done
-	jp TextScriptEnd
-
-WantHitmonleeText:
-	TX_FAR _WantHitmonleeText
-	db "@"
-
-FightingDojoText7:
-; Hitmonchan Poké Ball
-	TX_ASM
-	CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN
-	jr z, .GetMon
-	ld hl, OtherHitmonText
-	call PrintText
-	jr .done
-.GetMon
-	ld a, HITMONCHAN
-	call DisplayPokedex
-	ld hl, WantHitmonchanText
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .done
-	ld a, [wcf91]
-	ld b, a
-	ld c, 30
-	call GivePokemon
-	jr nc, .done
-	SetEvents EVENT_GOT_HITMONCHAN, EVENT_DEFEATED_FIGHTING_DOJO
-
-	; once Poké Ball is taken, hide sprite
-	ld a, HS_FIGHTING_DOJO_GIFT_2
-	ld [wMissableObjectIndex], a
-	predef HideObject
-.done
-	jp TextScriptEnd
-
-WantHitmonchanText:
-	TX_FAR _WantHitmonchanText
-	db "@"
-
-OtherHitmonText:
-	TX_FAR _OtherHitmonText
-	db "@"
--- a/scripts/fuchsiacity.asm
+++ /dev/null
@@ -1,169 +1,0 @@
-FuchsiaCityScript:
-	jp EnableAutoTextBoxDrawing
-
-FuchsiaCityTextPointers:
-	dw FuchsiaCityText1
-	dw FuchsiaCityText2
-	dw FuchsiaCityText3
-	dw FuchsiaCityText4
-	dw FuchsiaCityText5
-	dw FuchsiaCityText6
-	dw FuchsiaCityText7
-	dw FuchsiaCityText8
-	dw FuchsiaCityText9
-	dw FuchsiaCityText10
-	dw FuchsiaCityText11
-	dw FuchsiaCityText12
-	dw FuchsiaCityText13
-	dw MartSignText
-	dw PokeCenterSignText
-	dw FuchsiaCityText16
-	dw FuchsiaCityText17
-	dw FuchsiaCityText18
-	dw FuchsiaCityText19
-	dw FuchsiaCityText20
-	dw FuchsiaCityText21
-	dw FuchsiaCityText22
-	dw FuchsiaCityText23
-	dw FuchsiaCityText24
-
-FuchsiaCityText1:
-	TX_FAR _FuchsiaCityText1
-	db "@"
-
-FuchsiaCityText2:
-	TX_FAR _FuchsiaCityText2
-	db "@"
-
-FuchsiaCityText3:
-	TX_FAR _FuchsiaCityText3
-	db "@"
-
-FuchsiaCityText4:
-	TX_FAR _FuchsiaCityText4
-	db "@"
-
-FuchsiaCityText5:
-FuchsiaCityText6:
-FuchsiaCityText7:
-FuchsiaCityText8:
-FuchsiaCityText9:
-FuchsiaCityText10:
-	TX_FAR _FuchsiaCityText5
-	db "@"
-
-FuchsiaCityText12:
-FuchsiaCityText11:
-	TX_FAR _FuchsiaCityText11
-	db "@"
-
-FuchsiaCityText13:
-	TX_FAR _FuchsiaCityText13
-	db "@"
-
-FuchsiaCityText16:
-	TX_FAR _FuchsiaCityText16
-	db "@"
-
-FuchsiaCityText17:
-	TX_FAR _FuchsiaCityText17
-	db "@"
-
-FuchsiaCityText18:
-	TX_FAR _FuchsiaCityText18
-	db "@"
-
-FuchsiaCityText19:
-	TX_ASM
-	ld hl, FuchsiaCityChanseyText
-	call PrintText
-	ld a, CHANSEY
-	call DisplayPokedex
-	jp TextScriptEnd
-
-FuchsiaCityChanseyText:
-	TX_FAR _FuchsiaCityChanseyText
-	db "@"
-
-FuchsiaCityText20:
-	TX_ASM
-	ld hl, FuchsiaCityVoltorbText
-	call PrintText
-	ld a, VOLTORB
-	call DisplayPokedex
-	jp TextScriptEnd
-
-FuchsiaCityVoltorbText:
-	TX_FAR _FuchsiaCityVoltorbText
-	db "@"
-
-FuchsiaCityText21:
-	TX_ASM
-	ld hl, FuchsiaCityKangaskhanText
-	call PrintText
-	ld a, KANGASKHAN
-	call DisplayPokedex
-	jp TextScriptEnd
-
-FuchsiaCityKangaskhanText:
-	TX_FAR _FuchsiaCityKangaskhanText
-	db "@"
-
-FuchsiaCityText22:
-	TX_ASM
-	ld hl, FuchsiaCitySlowpokeText
-	call PrintText
-	ld a, SLOWPOKE
-	call DisplayPokedex
-	jp TextScriptEnd
-
-FuchsiaCitySlowpokeText:
-	TX_FAR _FuchsiaCitySlowpokeText
-	db "@"
-
-FuchsiaCityText23:
-	TX_ASM
-	ld hl, FuchsiaCityLaprasText
-	call PrintText
-	ld a, LAPRAS
-	call DisplayPokedex
-	jp TextScriptEnd
-
-FuchsiaCityLaprasText:
-	TX_FAR _FuchsiaCityLaprasText
-	db "@"
-
-FuchsiaCityText24:
-	TX_ASM
-	CheckEvent EVENT_GOT_DOME_FOSSIL
-	jr nz, .asm_3b4e8
-	CheckEventReuseA EVENT_GOT_HELIX_FOSSIL
-	jr nz, .asm_667d5
-	ld hl, FuchsiaCityText_19b2a
-	call PrintText
-	jr .asm_4343f
-.asm_3b4e8
-	ld hl, FuchsiaCityOmanyteText
-	call PrintText
-	ld a, OMANYTE
-	jr .asm_81556
-.asm_667d5
-	ld hl, FuchsiaCityKabutoText
-	call PrintText
-	ld a, KABUTO
-.asm_81556
-	call DisplayPokedex
-.asm_4343f
-	jp TextScriptEnd
-
-FuchsiaCityOmanyteText:
-	TX_FAR _FuchsiaCityOmanyteText
-	db "@"
-
-FuchsiaCityKabutoText:
-	TX_FAR _FuchsiaCityKabutoText
-	db "@"
-
-FuchsiaCityText_19b2a:
-	TX_FAR _FuchsiaCityText_19b2a
-	db "@"
--- a/scripts/fuchsiagym.asm
+++ /dev/null
@@ -1,329 +1,0 @@
-FuchsiaGymScript:
-	call FuchsiaGymScript_75453
-	call EnableAutoTextBoxDrawing
-	ld hl, FuchsiaGymTrainerHeader0
-	ld de, FuchsiaGymScriptPointers
-	ld a, [wFuchsiaGymCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wFuchsiaGymCurScript], a
-	ret
-
-FuchsiaGymScript_75453:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	ret z
-	ld hl, Gym5CityName
-	ld de, Gym5LeaderName
-	call LoadGymLeaderAndCityName
-	ret
-
-Gym5CityName:
-	db "FUCHSIA CITY@"
-Gym5LeaderName:
-	db "KOGA@"
-
-FuchsiaGymScript_75477:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wFuchsiaGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-FuchsiaGymScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw FuchsiaGymScript3
-
-FuchsiaGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, FuchsiaGymScript_75477
-	ld a, $f0
-	ld [wJoyIgnore], a
-FuchsiaGymScript3_75497:
-	ld a, $9
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_KOGA
-	lb bc, TM_06, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM06
-	jr .asm_754c0
-.BagFull
-	ld a, $b
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_754c0
-	ld hl, wObtainedBadges
-	set 4, [hl]
-	ld hl, wBeatGymFlags
-	set 4, [hl]
-
-	; deactivate gym trainers
-	SetEventRange EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, EVENT_BEAT_FUCHSIA_GYM_TRAINER_5
-
-	jp FuchsiaGymScript_75477
-
-FuchsiaGymTextPointers:
-	dw FuchsiaGymText1
-	dw FuchsiaGymText2
-	dw FuchsiaGymText3
-	dw FuchsiaGymText4
-	dw FuchsiaGymText5
-	dw FuchsiaGymText6
-	dw FuchsiaGymText7
-	dw FuchsiaGymText8
-	dw FuchsiaGymText9
-	dw FuchsiaGymText10
-	dw FuchsiaGymText11
-
-FuchsiaGymTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_0
-	dw FuchsiaGymBattleText1 ; TextBeforeBattle
-	dw FuchsiaGymAfterBattleText1 ; TextAfterBattle
-	dw FuchsiaGymEndBattleText1 ; TextEndBattle
-	dw FuchsiaGymEndBattleText1 ; TextEndBattle
-
-FuchsiaGymTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_1
-	dw FuchsiaGymBattleText2 ; TextBeforeBattle
-	dw FuchsiaGymAfterBattleText2 ; TextAfterBattle
-	dw FuchsiaGymEndBattleText2 ; TextEndBattle
-	dw FuchsiaGymEndBattleText2 ; TextEndBattle
-
-FuchsiaGymTrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_2
-	dw FuchsiaGymBattleText3 ; TextBeforeBattle
-	dw FuchsiaGymAfterBattleText3 ; TextAfterBattle
-	dw FuchsiaGymEndBattleText3 ; TextEndBattle
-	dw FuchsiaGymEndBattleText3 ; TextEndBattle
-
-FuchsiaGymTrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_3
-	dw FuchsiaGymBattleText4 ; TextBeforeBattle
-	dw FuchsiaGymAfterBattleText4 ; TextAfterBattle
-	dw FuchsiaGymEndBattleText4 ; TextEndBattle
-	dw FuchsiaGymEndBattleText4 ; TextEndBattle
-
-FuchsiaGymTrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_4
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_4
-	dw FuchsiaGymBattleText5 ; TextBeforeBattle
-	dw FuchsiaGymAfterBattleText5 ; TextAfterBattle
-	dw FuchsiaGymEndBattleText5 ; TextEndBattle
-	dw FuchsiaGymEndBattleText5 ; TextEndBattle
-
-FuchsiaGymTrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_5
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_5
-	dw FuchsiaGymBattleText6 ; TextBeforeBattle
-	dw FuchsiaGymAfterBattleText6 ; TextAfterBattle
-	dw FuchsiaGymEndBattleText6 ; TextEndBattle
-	dw FuchsiaGymEndBattleText6 ; TextEndBattle
-
-	db $ff
-
-FuchsiaGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_KOGA
-	jr z, .asm_181b6
-	CheckEventReuseA EVENT_GOT_TM06
-	jr nz, .asm_adc3b
-	call z, FuchsiaGymScript3_75497
-	call DisableWaitingAfterTextDisplay
-	jr .asm_e84c6
-.asm_adc3b
-	ld hl, KogaExplainToxicText
-	call PrintText
-	jr .asm_e84c6
-.asm_181b6
-	ld hl, KogaBeforeBattleText
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, KogaAfterBattleText
-	ld de, KogaAfterBattleText
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $5
-	ld [wGymLeaderNo], a
-	xor a
-	ld [hJoyHeld], a
-	ld a, $3
-	ld [wFuchsiaGymCurScript], a
-.asm_e84c6
-	jp TextScriptEnd
-
-KogaBeforeBattleText:
-	TX_FAR _KogaBeforeBattleText
-	db "@"
-
-KogaAfterBattleText:
-	TX_FAR _KogaAfterBattleText
-	db "@"
-
-KogaExplainToxicText:
-	TX_FAR _KogaExplainToxicText
-	db "@"
-
-FuchsiaGymText9:
-	TX_FAR _FuchsiaGymText9
-	db "@"
-
-FuchsiaGymText10:
-	TX_FAR _ReceivedTM06Text
-	TX_SFX_KEY_ITEM
-
-TM06ExplanationText:
-	TX_FAR _TM06ExplanationText
-	db "@"
-
-FuchsiaGymText11:
-	TX_FAR _TM06NoRoomText
-	db "@"
-
-FuchsiaGymText2:
-	TX_ASM
-	ld hl, FuchsiaGymTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FuchsiaGymBattleText1:
-	TX_FAR _FuchsiaGymBattleText1
-	db "@"
-
-FuchsiaGymEndBattleText1:
-	TX_FAR _FuchsiaGymEndBattleText1
-	db "@"
-
-FuchsiaGymAfterBattleText1:
-	TX_FAR _FuchsiaGymAfterBattleText1
-	db "@"
-
-FuchsiaGymText3:
-	TX_ASM
-	ld hl, FuchsiaGymTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FuchsiaGymBattleText2:
-	TX_FAR _FuchsiaGymBattleText2
-	db "@"
-
-FuchsiaGymEndBattleText2:
-	TX_FAR _FuchsiaGymEndBattleText2
-	db "@"
-
-FuchsiaGymAfterBattleText2:
-	TX_FAR _FuchsiaGymAfterBattleText2
-	db "@"
-
-FuchsiaGymText4:
-	TX_ASM
-	ld hl, FuchsiaGymTrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FuchsiaGymBattleText3:
-	TX_FAR _FuchsiaGymBattleText3
-	db "@"
-
-FuchsiaGymEndBattleText3:
-	TX_FAR _FuchsiaGymEndBattleText3
-	db "@"
-
-FuchsiaGymAfterBattleText3:
-	TX_FAR _FuchsiaGymAfterBattleText3
-	db "@"
-
-FuchsiaGymText5:
-	TX_ASM
-	ld hl, FuchsiaGymTrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FuchsiaGymBattleText4:
-	TX_FAR _FuchsiaGymBattleText4
-	db "@"
-
-FuchsiaGymEndBattleText4:
-	TX_FAR _FuchsiaGymEndBattleText4
-	db "@"
-
-FuchsiaGymAfterBattleText4:
-	TX_FAR _FuchsiaGymAfterBattleText4
-	db "@"
-
-FuchsiaGymText6:
-	TX_ASM
-	ld hl, FuchsiaGymTrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FuchsiaGymBattleText5:
-	TX_FAR _FuchsiaGymBattleText5
-	db "@"
-
-FuchsiaGymEndBattleText5:
-	TX_FAR _FuchsiaGymEndBattleText5
-	db "@"
-
-FuchsiaGymAfterBattleText5:
-	TX_FAR _FuchsiaGymAfterBattleText5
-	db "@"
-
-FuchsiaGymText7:
-	TX_ASM
-	ld hl, FuchsiaGymTrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-FuchsiaGymBattleText6:
-	TX_FAR _FuchsiaGymBattleText6
-	db "@"
-
-FuchsiaGymEndBattleText6:
-	TX_FAR _FuchsiaGymEndBattleText6
-	db "@"
-
-FuchsiaGymAfterBattleText6:
-	TX_FAR _FuchsiaGymAfterBattleText6
-	db "@"
-
-FuchsiaGymText8:
-	TX_ASM
-	CheckEvent EVENT_BEAT_KOGA
-	ld hl, FuchsiaGymText_75653
-	jr nz, .asm_50671
-	ld hl, FuchsiaGymText_7564e
-.asm_50671
-	call PrintText
-	jp TextScriptEnd
-
-FuchsiaGymText_7564e:
-	TX_FAR _FuchsiaGymText_7564e
-	db "@"
-
-FuchsiaGymText_75653:
-	TX_FAR _FuchsiaGymText_75653
-	db "@"
--- a/scripts/fuchsiahouse1.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-FuchsiaHouse1Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-FuchsiaHouse1TextPointers:
-	dw FuchsiaHouse1Text1
-	dw FuchsiaHouse1Text2
-	dw FuchsiaHouse1Text3
-
-FuchsiaHouse1Text1:
-	TX_FAR _FuchsiaHouse1Text1
-	db "@"
-
-FuchsiaHouse1Text2:
-	TX_FAR _FuchsiaHouse1Text2
-	db "@"
-
-FuchsiaHouse1Text3:
-	TX_FAR _FuchsiaHouse1Text3
-	db "@"
--- a/scripts/fuchsiahouse2.asm
+++ /dev/null
@@ -1,113 +1,0 @@
-FuchsiaHouse2Script:
-	jp EnableAutoTextBoxDrawing
-
-FuchsiaHouse2TextPointers:
-	dw FuchsiaHouse2Text1
-	dw PickUpItemText
-	dw BoulderText
-	dw FuchsiaHouse2Text4
-	dw FuchsiaHouse2Text5
-
-FuchsiaHouse2Text1:
-	TX_ASM
-	CheckEvent EVENT_GOT_HM04
-	jr nz, .subtract
-	ld b, GOLD_TEETH
-	call IsItemInBag
-	jr nz, .asm_3f30f
-	CheckEvent EVENT_GAVE_GOLD_TEETH
-	jr nz, .asm_60cba
-	ld hl, WardenGibberishText1
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	ld hl, WardenGibberishText3
-	jr nz, .asm_61238
-	ld hl, WardenGibberishText2
-.asm_61238
-	call PrintText
-	jr .asm_52039
-.asm_3f30f
-	ld hl, WardenTeethText1
-	call PrintText
-	ld a, GOLD_TEETH
-	ld [$ffdb], a
-	callba RemoveItemByID
-	SetEvent EVENT_GAVE_GOLD_TEETH
-.asm_60cba
-	ld hl, WardenThankYouText
-	call PrintText
-	lb bc, HM_04, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedHM04Text
-	call PrintText
-	SetEvent EVENT_GOT_HM04
-	jr .asm_52039
-.subtract
-	ld hl, HM04ExplanationText
-	call PrintText
-	jr .asm_52039
-.BagFull
-	ld hl, HM04NoRoomText
-	call PrintText
-.asm_52039
-	jp TextScriptEnd
-
-WardenGibberishText1:
-	TX_FAR _WardenGibberishText1
-	db "@"
-
-WardenGibberishText2:
-	TX_FAR _WardenGibberishText2
-	db "@"
-
-WardenGibberishText3:
-	TX_FAR _WardenGibberishText3
-	db "@"
-
-WardenTeethText1:
-	TX_FAR _WardenTeethText1
-	TX_SFX_ITEM_1
-
-WardenTeethText2:
-	TX_FAR _WardenTeethText2
-	db "@"
-
-WardenThankYouText:
-	TX_FAR _WardenThankYouText
-	db "@"
-
-ReceivedHM04Text:
-	TX_FAR _ReceivedHM04Text
-	TX_SFX_ITEM_1
-	db "@"
-
-HM04ExplanationText:
-	TX_FAR _HM04ExplanationText
-	db "@"
-
-HM04NoRoomText:
-	TX_FAR _HM04NoRoomText
-	db "@"
-
-FuchsiaHouse2Text5:
-FuchsiaHouse2Text4:
-	TX_ASM
-	ld a, [H_SPRITEINDEX]
-	cp $4
-	ld hl, FuchsiaHouse2Text_7517b
-	jr nz, .asm_4c9a2
-	ld hl, FuchsiaHouse2Text_75176
-.asm_4c9a2
-	call PrintText
-	jp TextScriptEnd
-
-FuchsiaHouse2Text_75176:
-	TX_FAR _FuchsiaHouse2Text_75176
-	db "@"
-
-FuchsiaHouse2Text_7517b:
-	TX_FAR _FuchsiaHouse2Text_7517b
-	db "@"
--- a/scripts/fuchsiahouse3.asm
+++ /dev/null
@@ -1,75 +1,0 @@
-FuchsiaHouse3Script:
-	jp EnableAutoTextBoxDrawing
-
-FuchsiaHouse3TextPointers:
-	dw FuchsiaHouse3Text1
-
-FuchsiaHouse3Text1:
-	TX_ASM
-	ld a, [wd728]
-	bit 4, a
-	jr nz, .after
-
-	ld hl, FuchsiaHouse3Text_561bd
-	call PrintText
-
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .refused
-
-	lb bc, GOOD_ROD, 1
-	call GiveItem
-	jr nc, .full
-
-	ld hl, wd728
-	set 4, [hl]
-
-	ld hl, FuchsiaHouse3Text_561c2
-	jr .talk
-
-.full
-	ld hl, FuchsiaHouse3Text_5621c
-	jr .talk
-
-.refused
-	ld hl, FuchsiaHouse3Text_56212
-	jr .talk
-
-.after
-	ld hl, FuchsiaHouse3Text_56217
-
-.talk
-	call PrintText
-	jp TextScriptEnd
-
-FuchsiaHouse3Text_561bd:
-	TX_FAR _FuchsiaHouse3Text_561bd
-	db "@"
-
-FuchsiaHouse3Text_561c2:
-	TX_FAR _FuchsiaHouse3Text_561c2
-	TX_SFX_ITEM_1
-	db "@"
-
-UnusedText_561c8:
-	para "つり こそ"
-	line "おとこの ロマン だ!"
-
-	para "へぼいつりざおは"
-	line "コイキングしか つれ なんだが"
-	line "この いいつりざおなら"
-	line "もっと いいもんが つれるんじゃ!"
-	done
-
-FuchsiaHouse3Text_56212:
-	TX_FAR _FuchsiaHouse3Text_56212
-	db "@"
-
-FuchsiaHouse3Text_56217:
-	TX_FAR _FuchsiaHouse3Text_56217
-	db "@"
-
-FuchsiaHouse3Text_5621c:
-	TX_FAR _FuchsiaHouse3Text_5621c
-	db "@"
--- a/scripts/fuchsiamart.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-FuchsiaMartScript:
-	jp EnableAutoTextBoxDrawing
-
-FuchsiaMartTextPointers:
-	dw FuchsiaCashierText
-	dw FuchsiaMartText2
-	dw FuchsiaMartText3
-
-FuchsiaMartText2:
-	TX_FAR _FuchsiaMartText2
-	db "@"
-
-FuchsiaMartText3:
-	TX_FAR _FuchsiaMartText3
-	db "@"
--- a/scripts/fuchsiameetingroom.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-FuchsiaMeetingRoomScript:
-	call EnableAutoTextBoxDrawing
-	ret
-
-FuchsiaMeetingRoomTextPointers:
-	dw FuchsiaMeetingRoomText1
-	dw FuchsiaMeetingRoomText2
-	dw FuchsiaMeetingRoomText3
-
-FuchsiaMeetingRoomText1:
-	TX_FAR _FuchsiaMeetingRoomText1
-	db "@"
-
-FuchsiaMeetingRoomText2:
-	TX_FAR _FuchsiaMeetingRoomText2
-	db "@"
-
-FuchsiaMeetingRoomText3:
-	TX_FAR _FuchsiaMeetingRoomText3
-	db "@"
--- a/scripts/fuchsiapokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-FuchsiaPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-FuchsiaPokecenterTextPointers:
-	dw FuchsiaHealNurseText
-	dw FuchsiaPokecenterText2
-	dw FuchsiaPokecenterText3
-	dw FuchsiaTradeNurseText
-
-FuchsiaHealNurseText:
-	TX_POKECENTER_NURSE
-
-FuchsiaPokecenterText2:
-	TX_FAR _FuchsiaPokecenterText1
-	db "@"
-
-FuchsiaPokecenterText3:
-	TX_FAR _FuchsiaPokecenterText3
-	db "@"
-
-FuchsiaTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
--- a/scripts/gary.asm
+++ /dev/null
@@ -1,298 +1,0 @@
-GaryScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, GaryScriptPointers
-	ld a, [wGaryCurScript]
-	jp CallFunctionInTable
-
-ResetGaryScript:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wGaryCurScript], a
-	ret
-
-GaryScriptPointers:
-	dw GaryScript0
-	dw GaryScript1
-	dw GaryScript2
-	dw GaryScript3
-	dw GaryScript4
-	dw GaryScript5
-	dw GaryScript6
-	dw GaryScript7
-	dw GaryScript8
-	dw GaryScript9
-	dw GaryScript10
-
-GaryScript0:
-	ret
-
-GaryScript1:
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld hl, wSimulatedJoypadStatesEnd
-	ld de, GaryEntrance_RLEMovement
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $2
-	ld [wGaryCurScript], a
-	ret
-
-GaryEntrance_RLEMovement:
-	db D_UP,1
-	db D_RIGHT,1
-	db D_UP,3
-	db $ff
-
-GaryScript2:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld hl, wOptions
-	res 7, [hl]  ; Turn on battle animations to make the battle feel more epic.
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Delay3
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, GaryDefeatedText
-	ld de, GaryVictoryText
-	call SaveEndBattleTextPointers
-	ld a, OPP_SONY3
-	ld [wCurOpponent], a
-
-	; select which team to use during the encounter
-	ld a, [wRivalStarter]
-	cp STARTER2
-	jr nz, .NotStarter2
-	ld a, $1
-	jr .saveTrainerId
-.NotStarter2
-	cp STARTER3
-	jr nz, .NotStarter3
-	ld a, $2
-	jr .saveTrainerId
-.NotStarter3
-	ld a, $3
-.saveTrainerId
-	ld [wTrainerNo], a
-
-	xor a
-	ld [hJoyHeld], a
-	ld a, $3
-	ld [wGaryCurScript], a
-	ret
-
-GaryScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, ResetGaryScript
-	call UpdateSprites
-	SetEvent EVENT_BEAT_CHAMPION_RIVAL
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call GaryScript_760c8
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld a, $4
-	ld [wGaryCurScript], a
-	ret
-
-GaryScript4:
-	callba Music_Cities1AlternateTempo
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call GaryScript_760c8
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld de, OakEntranceAfterVictoryMovement
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, HS_CHAMPIONS_ROOM_OAK
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, $5
-	ld [wGaryCurScript], a
-	ret
-
-OakEntranceAfterVictoryMovement:
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db $FF
-
-GaryScript5:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, PLAYER_DIR_LEFT
-	ld [wPlayerMovingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_LEFT
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	xor a ; SPRITE_FACING_DOWN
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call GaryScript_760c8
-	ld a, $6
-	ld [wGaryCurScript], a
-	ret
-
-GaryScript6:
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_RIGHT
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $4
-	ld [hSpriteIndexOrTextID], a
-	call GaryScript_760c8
-	ld a, $7
-	ld [wGaryCurScript], a
-	ret
-
-GaryScript7:
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	xor a ; SPRITE_FACING_DOWN
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	call GaryScript_760c8
-	ld de, OakExitGaryRoomMovement
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $8
-	ld [wGaryCurScript], a
-	ret
-
-OakExitGaryRoomMovement:
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db $FF
-
-GaryScript8:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_CHAMPIONS_ROOM_OAK
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, $9
-	ld [wGaryCurScript], a
-	ret
-
-GaryScript9:
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld hl, wSimulatedJoypadStatesEnd
-	ld de, WalkToHallOfFame_RLEMovment
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $a
-	ld [wGaryCurScript], a
-	ret
-
-WalkToHallOfFame_RLEMovment:
-	db D_UP,4
-	db D_LEFT,1
-	db $ff
-
-GaryScript10:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wGaryCurScript], a
-	ret
-
-GaryScript_760c8:
-	ld a, $f0
-	ld [wJoyIgnore], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ret
-
-GaryTextPointers:
-	dw GaryText1
-	dw GaryText2
-	dw GaryText3
-	dw GaryText4
-	dw GaryText5
-
-GaryText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_CHAMPION_RIVAL
-	ld hl, GaryChampionIntroText
-	jr z, .printText
-	ld hl, GaryText_76103
-.printText
-	call PrintText
-	jp TextScriptEnd
-
-GaryChampionIntroText:
-	TX_FAR _GaryChampionIntroText
-	db "@"
-
-GaryDefeatedText:
-	TX_FAR _GaryDefeatedText
-	db "@"
-
-GaryVictoryText:
-	TX_FAR _GaryVictoryText
-	db "@"
-
-GaryText_76103:
-	TX_FAR _GaryText_76103
-	db "@"
-
-GaryText2:
-	TX_FAR _GaryText2
-	db "@"
-
-GaryText3:
-	TX_ASM
-	ld a, [wPlayerStarter]
-	ld [wd11e], a
-	call GetMonName
-	ld hl, GaryText_76120
-	call PrintText
-	jp TextScriptEnd
-
-GaryText_76120:
-	TX_FAR _GaryText_76120
-	db "@"
-
-GaryText4:
-	TX_FAR _GaryText_76125
-	db "@"
-
-GaryText5:
-	TX_FAR _GaryText_7612a
-	db "@"
--- a/scripts/halloffameroom.asm
+++ /dev/null
@@ -1,109 +1,0 @@
-HallofFameRoomScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, HallofFameRoomScriptPointers
-	ld a, [wHallOfFameRoomCurScript]
-	jp CallFunctionInTable
-
-HallofFameRoomScript_5a4aa:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wHallOfFameRoomCurScript], a
-	ret
-
-HallofFameRoomScriptPointers:
-	dw HallofFameRoomScript0
-	dw HallofFameRoomScript1
-	dw HallofFameRoomScript2
-	dw HallofFameRoomScript3
-
-HallofFameRoomScript3:
-	ret
-
-HallofFameRoomScript2:
-	call Delay3
-	ld a, [wLetterPrintingDelayFlags]
-	push af
-	xor a
-	ld [wJoyIgnore], a
-	predef HallOfFamePC
-	pop af
-	ld [wLetterPrintingDelayFlags], a
-	ld hl, wFlags_D733
-	res 1, [hl]
-	inc hl
-	set 0, [hl]
-	xor a
-	ld hl, wLoreleiCurScript
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld [wLanceCurScript], a
-	ld [wHallOfFameRoomCurScript], a
-	; Elite 4 events
-	ResetEventRange ELITE4_EVENTS_START, ELITE4_CHAMPION_EVENTS_END, 1
-	xor a
-	ld [wHallOfFameRoomCurScript], a
-	ld a, PALLET_TOWN
-	ld [wLastBlackoutMap], a
-	callba SaveSAVtoSRAM
-	ld b, 5
-.delayLoop
-	ld c, 600 / 5
-	call DelayFrames
-	dec b
-	jr nz, .delayLoop
-	call WaitForTextScrollButtonPress
-	jp Init
-
-HallofFameRoomScript0:
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld hl, wSimulatedJoypadStatesEnd
-	ld de, RLEMovement5a528
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $1
-	ld [wHallOfFameRoomCurScript], a
-	ret
-
-RLEMovement5a528:
-	db D_UP,$5
-	db $ff
-
-HallofFameRoomScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	ld a, PLAYER_DIR_RIGHT
-	ld [wPlayerMovingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld a, SPRITE_FACING_LEFT
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	inc a ; PLAYER_DIR_RIGHT
-	ld [wPlayerMovingDirection], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld a, HS_UNKNOWN_DUNGEON_GUY
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, $2
-	ld [wHallOfFameRoomCurScript], a
-	ret
-
-HallofFameRoomTextPointers:
-	dw HallofFameRoomText1
-
-HallofFameRoomText1:
-	TX_FAR _HallofFameRoomText1
-	db "@"
--- a/scripts/indigoplateau.asm
+++ /dev/null
@@ -1,4 +1,0 @@
-IndigoPlateauScript:
-	ret
-
-IndigoPlateauTextPointers:
--- a/scripts/indigoplateaulobby.asm
+++ /dev/null
@@ -1,36 +1,0 @@
-IndigoPlateauLobbyScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	call EnableAutoTextBoxDrawing
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	ret z
-	ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
-	ld hl, wBeatLorelei
-	bit 1, [hl]
-	res 1, [hl]
-	ret z
-	; Elite 4 events
-	ResetEventRange ELITE4_EVENTS_START, EVENT_LANCES_ROOM_LOCK_DOOR
-	ret
-
-IndigoPlateauLobbyTextPointers:
-	dw IndigoHealNurseText
-	dw IndigoPlateauLobbyText2
-	dw IndigoPlateauLobbyText3
-	dw IndigoCashierText
-	dw IndigoTradeNurseText
-
-IndigoHealNurseText:
-	TX_POKECENTER_NURSE
-
-IndigoPlateauLobbyText2:
-	TX_FAR _IndigoPlateauLobbyText2
-	db "@"
-
-IndigoPlateauLobbyText3:
-	TX_FAR _IndigoPlateauLobbyText3
-	db "@"
-
-IndigoTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
--- a/scripts/lab1.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-Lab1Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-Lab1TextPointers:
-	dw Lab1Text1
-	dw Lab1Text2
-	dw Lab1Text3
-	dw Lab1Text4
-	dw Lab1Text5
-
-Lab1Text1:
-	TX_FAR _Lab1Text1
-	db "@"
-
-Lab1Text2:
-	TX_FAR _Lab1Text2
-	db "@"
-
-Lab1Text3:
-	TX_FAR _Lab1Text3
-	db "@"
-
-Lab1Text4:
-	TX_FAR _Lab1Text4
-	db "@"
-
-Lab1Text5:
-	TX_FAR _Lab1Text5
-	db "@"
--- a/scripts/lab2.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-Lab2Script:
-	jp EnableAutoTextBoxDrawing
-
-Lab2TextPointers:
-	dw Lab2Text1
-	dw Lab2Text2
-	dw Lab2Text3
-
-Lab2Text1:
-	TX_FAR _Lab2Text1
-	db "@"
-
-Lab2Text2:
-	TX_ASM
-	ld a, $7
-	ld [wWhichTrade], a
-	jr Lab2DoTrade
-
-Lab2Text3:
-	TX_ASM
-	ld a, $8
-	ld [wWhichTrade], a
-Lab2DoTrade:
-	predef DoInGameTradeDialogue
-	jp TextScriptEnd
--- a/scripts/lab3.asm
+++ /dev/null
@@ -1,62 +1,0 @@
-Lab3Script:
-	jp EnableAutoTextBoxDrawing
-
-Lab3TextPointers:
-	dw Lab3Text1
-	dw Lab3Text2
-	dw Lab3Text3
-	dw Lab3Text4
-	dw Lab3Text5
-
-Lab3Text1:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM35
-	jr nz, .asm_e551a
-	ld hl, TM35PreReceiveText
-	call PrintText
-	lb bc, TM_35, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedTM35Text
-	call PrintText
-	SetEvent EVENT_GOT_TM35
-	jr .asm_eb896
-.BagFull
-	ld hl, TM35NoRoomText
-	call PrintText
-	jr .asm_eb896
-.asm_e551a
-	ld hl, TM35ExplanationText
-	call PrintText
-.asm_eb896
-	jp TextScriptEnd
-
-TM35PreReceiveText:
-	TX_FAR _TM35PreReceiveText
-	db "@"
-
-ReceivedTM35Text:
-	TX_FAR _ReceivedTM35Text
-	TX_SFX_ITEM_1
-	db "@"
-
-TM35ExplanationText:
-	TX_FAR _TM35ExplanationText
-	db "@"
-
-TM35NoRoomText:
-	TX_FAR _TM35NoRoomText
-	db "@"
-
-Lab3Text2:
-	TX_FAR _Lab3Text2
-	db "@"
-
-Lab3Text4:
-Lab3Text3:
-	TX_FAR _Lab3Text3
-	db "@"
-
-Lab3Text5:
-	TX_FAR _Lab3Text5
-	db "@"
--- a/scripts/lab4.asm
+++ /dev/null
@@ -1,109 +1,0 @@
-Lab4Script:
-	jp EnableAutoTextBoxDrawing
-
-Lab4TextPointers:
-	dw Lab4Text1
-	dw Lab4Text2
-
-Lab4Script_GetFossilsInBag:
-; construct a list of all fossils in the player's bag
-	xor a
-	ld [wFilteredBagItemsCount], a
-	ld de, wFilteredBagItems
-	ld hl, FossilsList
-.loop
-	ld a, [hli]
-	and a
-	jr z, .done
-	push hl
-	push de
-	ld [wd11e], a
-	ld b, a
-	predef GetQuantityOfItemInBag
-	pop de
-	pop hl
-	ld a, b
-	and a
-	jr z, .loop
-
-	; A fossil's in the bag
-	ld a, [wd11e]
-	ld [de], a
-	inc de
-	push hl
-	ld hl, wFilteredBagItemsCount
-	inc [hl]
-	pop hl
-	jr .loop
-.done
-	ld a, $ff
-	ld [de], a
-	ret
-
-FossilsList:
-	db DOME_FOSSIL
-	db HELIX_FOSSIL
-	db OLD_AMBER
-	db $00
-
-Lab4Text1:
-	TX_ASM
-	CheckEvent EVENT_GAVE_FOSSIL_TO_LAB
-	jr nz, .asm_75d96
-	ld hl, Lab4Text_75dc6
-	call PrintText
-	call Lab4Script_GetFossilsInBag
-	ld a, [wFilteredBagItemsCount]
-	and a
-	jr z, .asm_75d8d
-	callba GiveFossilToCinnabarLab
-	jr .asm_75d93
-.asm_75d8d
-	ld hl, Lab4Text_75dcb
-	call PrintText
-.asm_75d93
-	jp TextScriptEnd
-.asm_75d96
-	CheckEventAfterBranchReuseA EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_GAVE_FOSSIL_TO_LAB
-	jr z, .asm_75da2
-	ld hl, Lab4Text_75dd0
-	call PrintText
-	jr .asm_75d93
-.asm_75da2
-	call LoadFossilItemAndMonNameBank1D
-	ld hl, Lab4Text_75dd5
-	call PrintText
-	SetEvent EVENT_LAB_HANDING_OVER_FOSSIL_MON
-	ld a, [wFossilMon]
-	ld b, a
-	ld c, 30
-	call GivePokemon
-	jr nc, .asm_75d93
-	ResetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL, EVENT_LAB_HANDING_OVER_FOSSIL_MON
-	jr .asm_75d93
-
-Lab4Text_75dc6:
-	TX_FAR _Lab4Text_75dc6
-	db "@"
-
-Lab4Text_75dcb:
-	TX_FAR _Lab4Text_75dcb
-	db "@"
-
-Lab4Text_75dd0:
-	TX_FAR _Lab4Text_75dd0
-	db "@"
-
-Lab4Text_75dd5:
-	TX_FAR _Lab4Text_75dd5
-	db "@"
-
-Lab4Text2:
-	TX_ASM
-	ld a, $3
-	ld [wWhichTrade], a
-	predef DoInGameTradeDialogue
-	jp TextScriptEnd
-
-LoadFossilItemAndMonNameBank1D:
-	jpba LoadFossilItemAndMonName
--- a/scripts/lance.asm
+++ /dev/null
@@ -1,162 +1,0 @@
-LanceScript:
-	call LanceShowOrHideEntranceBlocks
-	call EnableAutoTextBoxDrawing
-	ld hl, LanceTrainerHeader0
-	ld de, LanceScriptPointers
-	ld a, [wLanceCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wLanceCurScript], a
-	ret
-
-LanceShowOrHideEntranceBlocks:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_LANCES_ROOM_LOCK_DOOR
-	jr nz, .closeEntrance
-	; open entrance
-	ld a, $31
-	ld b, $32
-	jp LanceSetEntranceBlocks
-.closeEntrance
-	ld a, $72
-	ld b, $73
-
-LanceSetEntranceBlocks:
-; Replaces the tile blocks so the player can't leave.
-	push bc
-	ld [wNewTileBlockID], a
-	lb bc, 6, 2
-	call LanceSetEntranceBlock
-	pop bc
-	ld a, b
-	ld [wNewTileBlockID], a
-	lb bc, 6, 3
-
-LanceSetEntranceBlock:
-	predef_jump ReplaceTileBlock
-
-ResetLanceScript:
-	xor a
-	ld [wLanceCurScript], a
-	ret
-
-LanceScriptPointers:
-	dw LanceScript0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw LanceScript2
-	dw LanceScript3
-	dw LanceScript4
-
-LanceScript4:
-	ret
-
-LanceScript0:
-	CheckEvent EVENT_BEAT_LANCE
-	ret nz
-	ld hl, LanceTriggerMovementCoords
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	xor a
-	ld [hJoyHeld], a
-	ld a, [wCoordIndex]
-	cp $3  ; Is player standing next to Lance's sprite?
-	jr nc, .notStandingNextToLance
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-.notStandingNextToLance
-	cp $5  ; Is player standing on the entrance staircase?
-	jr z, WalkToLance
-	CheckAndSetEvent EVENT_LANCES_ROOM_LOCK_DOOR
-	ret nz
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	jp LanceShowOrHideEntranceBlocks
-
-LanceTriggerMovementCoords:
-	db $01,$05
-	db $02,$06
-	db $0B,$05
-	db $0B,$06
-	db $10,$18
-	db $FF
-
-LanceScript2:
-	call EndTrainerBattle
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, ResetLanceScript
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-WalkToLance:
-; Moves the player down the hallway to Lance's room.
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld hl, wSimulatedJoypadStatesEnd
-	ld de, WalkToLance_RLEList
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wLanceCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-WalkToLance_RLEList:
-	db D_UP, $0C
-	db D_LEFT, $0C
-	db D_DOWN, $07
-	db D_LEFT, $06
-	db $FF
-
-LanceScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wLanceCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-LanceTextPointers:
-	dw LanceText1
-
-LanceTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_LANCES_ROOM_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_LANCES_ROOM_TRAINER_0
-	dw LanceBeforeBattleText ; TextBeforeBattle
-	dw LanceAfterBattleText ; TextAfterBattle
-	dw LanceEndBattleText ; TextEndBattle
-	dw LanceEndBattleText ; TextEndBattle
-
-	db $ff
-
-LanceText1:
-	TX_ASM
-	ld hl, LanceTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-LanceBeforeBattleText:
-	TX_FAR _LanceBeforeBattleText
-	db "@"
-
-LanceEndBattleText:
-	TX_FAR _LanceEndBattleText
-	db "@"
-
-LanceAfterBattleText:
-	TX_FAR _LanceAfterBattleText
-	TX_ASM
-	SetEvent EVENT_BEAT_LANCE
-	jp TextScriptEnd
--- a/scripts/lavenderhouse1.asm
+++ /dev/null
@@ -1,112 +1,0 @@
-LavenderHouse1Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-LavenderHouse1TextPointers:
-	dw LavenderHouse1Text1
-	dw LavenderHouse1Text2
-	dw LavenderHouse1Text3
-	dw LavenderHouse1Text4
-	dw LavenderHouse1Text5
-	dw LavenderHouse1Text6
-
-LavenderHouse1Text1:
-	TX_ASM
-	CheckEvent EVENT_RESCUED_MR_FUJI
-	jr nz, .asm_72e5d
-	ld hl, LavenderHouse1Text_1d8d1
-	call PrintText
-	jr .asm_6957f
-.asm_72e5d
-	ld hl, LavenderHouse1Text_1d8d6
-	call PrintText
-.asm_6957f
-	jp TextScriptEnd
-
-LavenderHouse1Text_1d8d1:
-	TX_FAR _LavenderHouse1Text_1d8d1
-	db "@"
-
-LavenderHouse1Text_1d8d6:
-	TX_FAR _LavenderHouse1Text_1d8d6
-	db "@"
-
-LavenderHouse1Text2:
-	TX_ASM
-	CheckEvent EVENT_RESCUED_MR_FUJI
-	jr nz, .asm_06470
-	ld hl, LavenderHouse1Text_1d8f4
-	call PrintText
-	jr .asm_3d208
-.asm_06470
-	ld hl, LavenderHouse1Text_1d8f9
-	call PrintText
-.asm_3d208
-	jp TextScriptEnd
-
-LavenderHouse1Text_1d8f4:
-	TX_FAR _LavenderHouse1Text_1d8f4
-	db "@"
-
-LavenderHouse1Text_1d8f9:
-	TX_FAR _LavenderHouse1Text_1d8f9
-	db "@"
-
-LavenderHouse1Text3:
-	TX_FAR _LavenderHouse1Text3
-	TX_ASM
-	ld a, PSYDUCK
-	call PlayCry
-	jp TextScriptEnd
-
-LavenderHouse1Text4:
-	TX_FAR _LavenderHouse1Text4
-	TX_ASM
-	ld a, NIDORINO
-	call PlayCry
-	jp TextScriptEnd
-
-LavenderHouse1Text5:
-	TX_ASM
-	CheckEvent EVENT_GOT_POKE_FLUTE
-	jr nz, .asm_15ac2
-	ld hl, LavenderHouse1Text_1d94c
-	call PrintText
-	lb bc, POKE_FLUTE, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedFluteText
-	call PrintText
-	SetEvent EVENT_GOT_POKE_FLUTE
-	jr .asm_da749
-.BagFull
-	ld hl, FluteNoRoomText
-	call PrintText
-	jr .asm_da749
-.asm_15ac2
-	ld hl, MrFujiAfterFluteText
-	call PrintText
-.asm_da749
-	jp TextScriptEnd
-
-LavenderHouse1Text_1d94c:
-	TX_FAR _LavenderHouse1Text_1d94c
-	db "@"
-
-ReceivedFluteText:
-	TX_FAR _ReceivedFluteText
-	TX_SFX_KEY_ITEM
-	TX_FAR _FluteExplanationText
-	db "@"
-
-FluteNoRoomText:
-	TX_FAR _FluteNoRoomText
-	db "@"
-
-MrFujiAfterFluteText:
-	TX_FAR _MrFujiAfterFluteText
-	db "@"
-
-LavenderHouse1Text6:
-	TX_FAR _LavenderHouse1Text6
-	db "@"
--- a/scripts/lavenderhouse2.asm
+++ /dev/null
@@ -1,35 +1,0 @@
-LavenderHouse2Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-LavenderHouse2TextPointers:
-	dw LavenderHouse2Text1
-	dw LavenderHouse2Text2
-
-LavenderHouse2Text1:
-	TX_FAR _LavenderHouse2Text1
-	TX_ASM
-	ld a, CUBONE
-	call PlayCry
-	jp TextScriptEnd
-
-LavenderHouse2Text2:
-	TX_ASM
-	CheckEvent EVENT_RESCUED_MR_FUJI
-	jr nz, .asm_65711
-	ld hl, LavenderHouse2Text_1d9dc
-	call PrintText
-	jr .asm_64be1
-.asm_65711
-	ld hl, LavenderHouse2Text_1d9e1
-	call PrintText
-.asm_64be1
-	jp TextScriptEnd
-
-LavenderHouse2Text_1d9dc:
-	TX_FAR _LavenderHouse2Text_1d9dc
-	db "@"
-
-LavenderHouse2Text_1d9e1:
-	TX_FAR _LavenderHouse2Text_1d9e1
-	db "@"
--- a/scripts/lavendermart.asm
+++ /dev/null
@@ -1,32 +1,0 @@
-LavenderMartScript:
-	jp EnableAutoTextBoxDrawing
-
-LavenderMartTextPointers:
-	dw LavenderCashierText
-	dw LavenderMartText2
-	dw LavenderMartText3
-
-LavenderMartText2:
-	TX_FAR _LavenderMartText2
-	db "@"
-
-LavenderMartText3:
-	TX_ASM
-	CheckEvent EVENT_RESCUED_MR_FUJI
-	jr nz, .Nugget
-	ld hl, .ReviveText
-	call PrintText
-	jr .done
-.Nugget
-	ld hl, .NuggetText
-	call PrintText
-.done
-	jp TextScriptEnd
-
-.ReviveText
-	TX_FAR _LavenderMartReviveText
-	db "@"
-
-.NuggetText
-	TX_FAR _LavenderMartNuggetText
-	db "@"
--- a/scripts/lavenderpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-LavenderPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-LavenderPokecenterTextPointers:
-	dw LavenderHealNurseText
-	dw LavenderPokecenterText2
-	dw LavenderPokecenterText3
-	dw LavenderTradeNurseText
-
-LavenderTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
-
-LavenderHealNurseText:
-	TX_POKECENTER_NURSE
-
-LavenderPokecenterText2:
-	TX_FAR _LavenderPokecenterText2
-	db "@"
-
-LavenderPokecenterText3:
-	TX_FAR _LavenderPokecenterText3
-	db "@"
--- a/scripts/lavendertown.asm
+++ /dev/null
@@ -1,63 +1,0 @@
-LavenderTownScript:
-	jp EnableAutoTextBoxDrawing
-
-LavenderTownTextPointers:
-	dw LavenderTownText1
-	dw LavenderTownText2
-	dw LavenderTownText3
-	dw LavenderTownText4
-	dw LavenderTownText5
-	dw MartSignText
-	dw PokeCenterSignText
-	dw LavenderTownText8
-	dw LavenderTownText9
-
-LavenderTownText1:
-	TX_ASM
-	ld hl, LavenderTownText_4413c
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	ld hl, LavenderTownText_44146
-	jr nz, .asm_40831
-	ld hl, LavenderTownText_44141
-.asm_40831
-	call PrintText
-	jp TextScriptEnd
-
-LavenderTownText_4413c:
-	TX_FAR _LavenderTownText_4413c
-	db "@"
-
-LavenderTownText_44141:
-	TX_FAR _LavenderTownText_44141
-	db "@"
-
-LavenderTownText_44146:
-	TX_FAR _LavenderTownText_44146
-	db "@"
-
-LavenderTownText2:
-	TX_FAR _LavenderTownText2
-	db "@"
-
-LavenderTownText3:
-	TX_FAR _LavenderTownText3
-	db "@"
-
-LavenderTownText4:
-	TX_FAR _LavenderTownText4
-	db "@"
-
-LavenderTownText5:
-	TX_FAR _LavenderTownText5
-	db "@"
-
-LavenderTownText8:
-	TX_FAR _LavenderTownText8
-	db "@"
-
-LavenderTownText9:
-	TX_FAR _LavenderTownText9
-	db "@"
--- a/scripts/lorelei.asm
+++ /dev/null
@@ -1,153 +1,0 @@
-LoreleiScript:
-	call LoreleiShowOrHideExitBlock
-	call EnableAutoTextBoxDrawing
-	ld hl, LoreleiTrainerHeader0
-	ld de, LoreleiScriptPointers
-	ld a, [wLoreleiCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wLoreleiCurScript], a
-	ret
-
-LoreleiShowOrHideExitBlock:
-; Blocks or clears the exit to the next room.
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, wBeatLorelei
-	set 1, [hl]
-	CheckEvent EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
-	jr z, .blockExitToNextRoom
-	ld a, $5
-	jr .setExitBlock
-.blockExitToNextRoom
-	ld a, $24
-.setExitBlock
-	ld [wNewTileBlockID], a
-	lb bc, 0, 2
-	predef_jump ReplaceTileBlock
-
-ResetLoreleiScript:
-	xor a
-	ld [wLoreleiCurScript], a
-	ret
-
-LoreleiScriptPointers:
-	dw LoreleiScript0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw LoreleiScript2
-	dw LoreleiScript3
-	dw LoreleiScript4
-
-LoreleiScript4:
-	ret
-
-LoreleiScriptWalkIntoRoom:
-; Walk six steps upward.
-	ld hl, wSimulatedJoypadStatesEnd
-	ld a, D_UP
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld a, $6
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wLoreleiCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-LoreleiScript0:
-	ld hl, LoreleiEntranceCoords
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	xor a
-	ld [hJoyPressed], a
-	ld [hJoyHeld], a
-	ld [wSimulatedJoypadStatesEnd], a
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, [wCoordIndex]
-	cp $3  ; Is player standing one tile above the exit?
-	jr c, .stopPlayerFromLeaving
-	CheckAndSetEvent EVENT_AUTOWALKED_INTO_LORELEIS_ROOM
-	jr z, LoreleiScriptWalkIntoRoom
-.stopPlayerFromLeaving
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID  ; "Don't run away!"
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wLoreleiCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-LoreleiEntranceCoords:
-	db $0A,$04
-	db $0A,$05
-	db $0B,$04
-	db $0B,$05
-	db $FF
-
-LoreleiScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wLoreleiCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-LoreleiScript2:
-	call EndTrainerBattle
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, ResetLoreleiScript
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-LoreleiTextPointers:
-	dw LoreleiText1
-	dw LoreleiDontRunAwayText
-
-LoreleiTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0
-	dw LoreleiBeforeBattleText ; TextBeforeBattle
-	dw LoreleiAfterBattleText ; TextAfterBattle
-	dw LoreleiEndBattleText ; TextEndBattle
-	dw LoreleiEndBattleText ; TextEndBattle
-
-	db $ff
-
-LoreleiText1:
-	TX_ASM
-	ld hl, LoreleiTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-LoreleiBeforeBattleText:
-	TX_FAR _LoreleiBeforeBattleText
-	db "@"
-
-LoreleiEndBattleText:
-	TX_FAR _LoreleiEndBattleText
-	db "@"
-
-LoreleiAfterBattleText:
-	TX_FAR _LoreleiAfterBattleText
-	db "@"
-
-LoreleiDontRunAwayText:
-	TX_FAR _LoreleiDontRunAwayText
-	db "@"
--- a/scripts/mansion1.asm
+++ /dev/null
@@ -1,134 +1,0 @@
-Mansion1Script:
-	call Mansion1Subscript1
-	call EnableAutoTextBoxDrawing
-	ld hl, Mansion1TrainerHeader0
-	ld de, Mansion1ScriptPointers
-	ld a, [wMansion1CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wMansion1CurScript], a
-	ret
-
-Mansion1Subscript1:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_MANSION_SWITCH_ON
-	jr nz, .asm_442ec
-	lb bc, 6, 12
-	call Mansion1Script_4430b
-	lb bc, 3, 8
-	call Mansion1Script_44304
-	lb bc, 8, 10
-	call Mansion1Script_44304
-	lb bc, 13, 13
-	jp Mansion1Script_44304
-.asm_442ec
-	lb bc, 6, 12
-	call Mansion1Script_44304
-	lb bc, 3, 8
-	call Mansion1Script_4430b
-	lb bc, 8, 10
-	call Mansion1Script_4430b
-	lb bc, 13, 13
-	jp Mansion1Script_4430b
-
-Mansion1Script_44304:
-	ld a, $2d
-	ld [wNewTileBlockID], a
-	jr Mansion1ReplaceBlock
-
-Mansion1Script_4430b:
-	ld a, $e
-	ld [wNewTileBlockID], a
-Mansion1ReplaceBlock:
-	predef ReplaceTileBlock
-	ret
-
-Mansion1Script_Switches:
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	ret nz
-	xor a
-	ld [hJoyHeld], a
-	ld a, $4
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-Mansion1ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Mansion1TextPointers:
-	dw Mansion1Text1
-	dw PickUpItemText
-	dw PickUpItemText
-	dw Mansion1Text4
-
-Mansion1TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_MANSION_1_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MANSION_1_TRAINER_0
-	dw Mansion1BattleText2 ; TextBeforeBattle
-	dw Mansion1AfterBattleText2 ; TextAfterBattle
-	dw Mansion1EndBattleText2 ; TextEndBattle
-	dw Mansion1EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-Mansion1Text1:
-	TX_ASM
-	ld hl, Mansion1TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Mansion1BattleText2:
-	TX_FAR _Mansion1BattleText2
-	db "@"
-
-Mansion1EndBattleText2:
-	TX_FAR _Mansion1EndBattleText2
-	db "@"
-
-Mansion1AfterBattleText2:
-	TX_FAR _Mansion1AfterBattleText2
-	db "@"
-
-Mansion1Text4:
-	TX_ASM
-	ld hl, MansionSwitchText
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_4438c
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	ld hl, MansionSwitchPressedText
-	call PrintText
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	CheckAndSetEvent EVENT_MANSION_SWITCH_ON
-	jr z, .asm_44392
-	ResetEventReuseHL EVENT_MANSION_SWITCH_ON
-	jr .asm_44392
-.asm_4438c
-	ld hl, MansionSwitchNotPressedText
-	call PrintText
-.asm_44392
-	jp TextScriptEnd
-
-MansionSwitchText:
-	TX_FAR _MansionSwitchText
-	db "@"
-
-MansionSwitchPressedText:
-	TX_FAR _MansionSwitchPressedText
-	db "@"
-
-MansionSwitchNotPressedText:
-	TX_FAR _MansionSwitchNotPressedText
-	db "@"
--- a/scripts/mansion2.asm
+++ /dev/null
@@ -1,140 +1,0 @@
-Mansion2Script:
-	call Mansion2Script_51fee
-	call EnableAutoTextBoxDrawing
-	ld hl, Mansion2TrainerHeader0
-	ld de, Mansion2ScriptPointers
-	ld a, [wMansion2CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wMansion2CurScript], a
-	ret
-
-Mansion2Script_51fee:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_MANSION_SWITCH_ON
-	jr nz, .asm_52016
-	ld a, $e
-	lb bc, 2, 4
-	call Mansion2Script_5202f
-	ld a, $54
-	lb bc, 4, 9
-	call Mansion2Script_5202f
-	ld a, $5f
-	lb bc, 11, 3
-	call Mansion2Script_5202f
-	ret
-.asm_52016
-	ld a, $5f
-	lb bc, 2, 4
-	call Mansion2Script_5202f
-	ld a, $e
-	lb bc, 4, 9
-	call Mansion2Script_5202f
-	ld a, $e
-	lb bc, 11, 3
-	call Mansion2Script_5202f
-	ret
-
-Mansion2Script_5202f:
-	ld [wNewTileBlockID], a
-	predef_jump ReplaceTileBlock
-
-Mansion2Script_Switches:
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	ret nz
-	xor a
-	ld [hJoyHeld], a
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-Mansion2ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Mansion2TextPointers:
-	dw Mansion2Text1
-	dw PickUpItemText
-	dw Mansion2Text3
-	dw Mansion2Text4
-	dw Mansion2Text5
-
-Mansion2TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0
-	dw Mansion2BattleText1 ; TextBeforeBattle
-	dw Mansion2AfterBattleText1 ; TextAfterBattle
-	dw Mansion2EndBattleText1 ; TextEndBattle
-	dw Mansion2EndBattleText1 ; TextEndBattle
-
-	db $ff
-
-Mansion2Text1:
-	TX_ASM
-	ld hl, Mansion2TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Mansion2BattleText1:
-	TX_FAR _Mansion2BattleText1
-	db "@"
-
-Mansion2EndBattleText1:
-	TX_FAR _Mansion2EndBattleText1
-	db "@"
-
-Mansion2AfterBattleText1:
-	TX_FAR _Mansion2AfterBattleText1
-	db "@"
-
-Mansion2Text3:
-	TX_FAR _Mansion2Text3
-	db "@"
-
-Mansion2Text4:
-	TX_FAR _Mansion2Text4
-	db "@"
-
-Mansion3Text6:
-Mansion2Text5:
-	TX_ASM
-	ld hl, Mansion2Text_520c2
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_520b9
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	ld hl, Mansion2Text_520c7
-	call PrintText
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	CheckAndSetEvent EVENT_MANSION_SWITCH_ON
-	jr z, .asm_520bf
-	ResetEventReuseHL EVENT_MANSION_SWITCH_ON
-	jr .asm_520bf
-.asm_520b9
-	ld hl, Mansion2Text_520cc
-	call PrintText
-.asm_520bf
-	jp TextScriptEnd
-
-Mansion2Text_520c2:
-	TX_FAR _Mansion2Text_520c2
-	db "@"
-
-Mansion2Text_520c7:
-	TX_FAR _Mansion2Text_520c7
-	db "@"
-
-Mansion2Text_520cc:
-	TX_FAR _Mansion2Text_520cc
-	db "@"
--- a/scripts/mansion3.asm
+++ /dev/null
@@ -1,151 +1,0 @@
-Mansion3Script:
-	call Mansion3Script_52204
-	call EnableAutoTextBoxDrawing
-	ld hl, Mansion3TrainerHeader0
-	ld de, Mansion3ScriptPointers
-	ld a, [wMansion3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wMansion3CurScript], a
-	ret
-
-Mansion3Script_52204:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_MANSION_SWITCH_ON
-	jr nz, .asm_52224
-	ld a, $e
-	ld bc, $207
-	call Mansion2Script_5202f
-	ld a, $5f
-	ld bc, $507
-	call Mansion2Script_5202f
-	ret
-.asm_52224
-	ld a, $5f
-	ld bc, $207
-	call Mansion2Script_5202f
-	ld a, $e
-	ld bc, $507
-	call Mansion2Script_5202f
-	ret
-
-Mansion3ScriptPointers:
-	dw Mansion3Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Mansion3Script0:
-	ld hl, CoordsData_52254
-	call Mansion3Script_5225b
-	ld a, [wWhichDungeonWarp]
-	and a
-	jp z, CheckFightingMapTrainers
-	cp $3
-	ld a, $a5
-	jr nz, .asm_52250
-	ld a, $d6
-.asm_52250
-	ld [wDungeonWarpDestinationMap], a
-	ret
-
-CoordsData_52254:
-	db $0E,$10
-	db $0E,$11
-	db $0E,$13
-	db $FF
-
-Mansion3Script_5225b:
-	xor a
-	ld [wWhichDungeonWarp], a
-	ld a, [wd72d]
-	bit 4, a
-	ret nz
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, [wCoordIndex]
-	ld [wWhichDungeonWarp], a
-	ld hl, wd72d
-	set 4, [hl]
-	ld hl, wd732
-	set 4, [hl]
-	ret
-
-Mansion3Script_Switches:
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	ret nz
-	xor a
-	ld [hJoyHeld], a
-	ld a, $6
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-Mansion3TextPointers:
-	dw Mansion3Text1
-	dw Mansion3Text2
-	dw PickUpItemText
-	dw PickUpItemText
-	dw Mansion3Text5
-	dw Mansion3Text6
-
-Mansion3TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_0
-	dw Mansion3BattleText1 ; TextBeforeBattle
-	dw Mansion3AfterBattleText1 ; TextAfterBattle
-	dw Mansion3EndBattleText1 ; TextEndBattle
-	dw Mansion3EndBattleText1 ; TextEndBattle
-
-Mansion3TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_1
-	dw Mansion3BattleText2 ; TextBeforeBattle
-	dw Mansion3AfterBattleText2 ; TextAfterBattle
-	dw Mansion3EndBattleText2 ; TextEndBattle
-	dw Mansion3EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-Mansion3Text1:
-	TX_ASM
-	ld hl, Mansion3TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Mansion3Text2:
-	TX_ASM
-	ld hl, Mansion3TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Mansion3BattleText1:
-	TX_FAR _Mansion3BattleText1
-	db "@"
-
-Mansion3EndBattleText1:
-	TX_FAR _Mansion3EndBattleText1
-	db "@"
-
-Mansion3AfterBattleText1:
-	TX_FAR _Mansion3AfterBattleText1
-	db "@"
-
-Mansion3BattleText2:
-	TX_FAR _Mansion3BattleText2
-	db "@"
-
-Mansion3EndBattleText2:
-	TX_FAR _Mansion3EndBattleText2
-	db "@"
-
-Mansion3AfterBattleText2:
-	TX_FAR _Mansion3AfterBattleText2
-	db "@"
-
-Mansion3Text5:
-	TX_FAR _Mansion3Text5
-	db "@"
--- a/scripts/mansion4.asm
+++ /dev/null
@@ -1,130 +1,0 @@
-Mansion4Script:
-	call Mansion4Script_523cf
-	call EnableAutoTextBoxDrawing
-	ld hl, Mansion4TrainerHeader0
-	ld de, Mansion4ScriptPointers
-	ld a, [wMansion4CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wMansion4CurScript], a
-	ret
-
-Mansion4Script_523cf:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_MANSION_SWITCH_ON
-	jr nz, .asm_523ff
-	ld a, $e
-	ld bc, $80d
-	call Mansion2Script_5202f
-	ld a, $e
-	ld bc, $b06
-	call Mansion2Script_5202f
-	ld a, $5f
-	ld bc, $304
-	call Mansion2Script_5202f
-	ld a, $54
-	ld bc, $808
-	call Mansion2Script_5202f
-	ret
-.asm_523ff
-	ld a, $2d
-	ld bc, $80d
-	call Mansion2Script_5202f
-	ld a, $5f
-	ld bc, $b06
-	call Mansion2Script_5202f
-	ld a, $e
-	ld bc, $304
-	call Mansion2Script_5202f
-	ld a, $e
-	ld bc, $808
-	call Mansion2Script_5202f
-	ret
-
-Mansion4Script_Switches:
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	ret nz
-	xor a
-	ld [hJoyHeld], a
-	ld a, $9
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-Mansion4ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Mansion4TextPointers:
-	dw Mansion4Text1
-	dw Mansion4Text2
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw Mansion4Text7
-	dw PickUpItemText
-	dw Mansion3Text6
-
-Mansion4TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_0
-	dw Mansion4BattleText1 ; TextBeforeBattle
-	dw Mansion4AfterBattleText1 ; TextAfterBattle
-	dw Mansion4EndBattleText1 ; TextEndBattle
-	dw Mansion4EndBattleText1 ; TextEndBattle
-
-Mansion4TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_1
-	dw Mansion4BattleText2 ; TextBeforeBattle
-	dw Mansion4AfterBattleText2 ; TextAfterBattle
-	dw Mansion4EndBattleText2 ; TextEndBattle
-	dw Mansion4EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-Mansion4Text1:
-	TX_ASM
-	ld hl, Mansion4TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Mansion4Text2:
-	TX_ASM
-	ld hl, Mansion4TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Mansion4BattleText1:
-	TX_FAR _Mansion4BattleText1
-	db "@"
-
-Mansion4EndBattleText1:
-	TX_FAR _Mansion4EndBattleText1
-	db "@"
-
-Mansion4AfterBattleText1:
-	TX_FAR _Mansion4AfterBattleText1
-	db "@"
-
-Mansion4BattleText2:
-	TX_FAR _Mansion4BattleText2
-	db "@"
-
-Mansion4EndBattleText2:
-	TX_FAR _Mansion4EndBattleText2
-	db "@"
-
-Mansion4AfterBattleText2:
-	TX_FAR _Mansion4AfterBattleText2
-	db "@"
-
-Mansion4Text7:
-	TX_FAR _Mansion4Text7
-	db "@"
--- a/scripts/mtmoon1.asm
+++ /dev/null
@@ -1,224 +1,0 @@
-MtMoon1Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, MtMoon1TrainerHeader0
-	ld de, MtMoon1ScriptPointers
-	ld a, [wMtMoon1CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wMtMoon1CurScript], a
-	ret
-
-MtMoon1ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-MtMoon1TextPointers:
-	dw MtMoon1Text1
-	dw MtMoon1Text2
-	dw MtMoon1Text3
-	dw MtMoon1Text4
-	dw MtMoon1Text5
-	dw MtMoon1Text6
-	dw MtMoon1Text7
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw MtMoon1Text14
-
-MtMoon1TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_0
-	dw MtMoon1BattleText2 ; TextBeforeBattle
-	dw MtMoon1AfterBattleText2 ; TextAfterBattle
-	dw MtMoon1EndBattleText2 ; TextEndBattle
-	dw MtMoon1EndBattleText2 ; TextEndBattle
-
-MtMoon1TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_1
-	dw MtMoon1BattleText3 ; TextBeforeBattle
-	dw MtMoon1AfterBattleText3 ; TextAfterBattle
-	dw MtMoon1EndBattleText3 ; TextEndBattle
-	dw MtMoon1EndBattleText3 ; TextEndBattle
-
-MtMoon1TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_2
-	dw MtMoon1BattleText4 ; TextBeforeBattle
-	dw MtMoon1AfterBattleText4 ; TextAfterBattle
-	dw MtMoon1EndBattleText4 ; TextEndBattle
-	dw MtMoon1EndBattleText4 ; TextEndBattle
-
-MtMoon1TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_3
-	dw MtMoon1BattleText5 ; TextBeforeBattle
-	dw MtMoon1AfterBattleText5 ; TextAfterBattle
-	dw MtMoon1EndBattleText5 ; TextEndBattle
-	dw MtMoon1EndBattleText5 ; TextEndBattle
-
-MtMoon1TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_4
-	dw MtMoon1BattleText6 ; TextBeforeBattle
-	dw MtMoon1AfterBattleText6 ; TextAfterBattle
-	dw MtMoon1EndBattleText6 ; TextEndBattle
-	dw MtMoon1EndBattleText6 ; TextEndBattle
-
-MtMoon1TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_5
-	dw MtMoon1BattleText7 ; TextBeforeBattle
-	dw MtMoon1AfterBattleText7 ; TextAfterBattle
-	dw MtMoon1EndBattleText7 ; TextEndBattle
-	dw MtMoon1EndBattleText7 ; TextEndBattle
-
-MtMoon1TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_6
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_6
-	dw MtMoon1BattleText8 ; TextBeforeBattle
-	dw MtMoon1AfterBattleText8 ; TextAfterBattle
-	dw MtMoon1EndBattleText8 ; TextEndBattle
-	dw MtMoon1EndBattleText8 ; TextEndBattle
-
-	db $ff
-
-MtMoon1Text1:
-	TX_ASM
-	ld hl, MtMoon1TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon1Text2:
-	TX_ASM
-	ld hl, MtMoon1TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon1Text3:
-	TX_ASM
-	ld hl, MtMoon1TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon1Text4:
-	TX_ASM
-	ld hl, MtMoon1TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon1Text5:
-	TX_ASM
-	ld hl, MtMoon1TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon1Text6:
-	TX_ASM
-	ld hl, MtMoon1TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon1Text7:
-	TX_ASM
-	ld hl, MtMoon1TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon1BattleText2:
-	TX_FAR _MtMoon1BattleText2
-	db "@"
-
-MtMoon1EndBattleText2:
-	TX_FAR _MtMoon1EndBattleText2
-	db "@"
-
-MtMoon1AfterBattleText2:
-	TX_FAR _MtMoon1AfterBattleText2
-	db "@"
-
-MtMoon1BattleText3:
-	TX_FAR _MtMoon1BattleText3
-	db "@"
-
-MtMoon1EndBattleText3:
-	TX_FAR _MtMoon1EndBattleText3
-	db "@"
-
-MtMoon1AfterBattleText3:
-	TX_FAR _MtMoon1AfterBattleText3
-	db "@"
-
-MtMoon1BattleText4:
-	TX_FAR _MtMoon1BattleText4
-	db "@"
-
-MtMoon1EndBattleText4:
-	TX_FAR _MtMoon1EndBattleText4
-	db "@"
-
-MtMoon1AfterBattleText4:
-	TX_FAR _MtMoon1AfterBattleText4
-	db "@"
-
-MtMoon1BattleText5:
-	TX_FAR _MtMoon1BattleText5
-	db "@"
-
-MtMoon1EndBattleText5:
-	TX_FAR _MtMoon1EndBattleText5
-	db "@"
-
-MtMoon1AfterBattleText5:
-	TX_FAR _MtMoon1AfterBattleText5
-	db "@"
-
-MtMoon1BattleText6:
-	TX_FAR _MtMoon1BattleText6
-	db "@"
-
-MtMoon1EndBattleText6:
-	TX_FAR _MtMoon1EndBattleText6
-	db "@"
-
-MtMoon1AfterBattleText6:
-	TX_FAR _MtMoon1AfterBattleText6
-	db "@"
-
-MtMoon1BattleText7:
-	TX_FAR _MtMoon1BattleText7
-	db "@"
-
-MtMoon1EndBattleText7:
-	TX_FAR _MtMoon1EndBattleText7
-	db "@"
-
-MtMoon1AfterBattleText7:
-	TX_FAR _MtMoon1AfterBattleText7
-	db "@"
-
-MtMoon1BattleText8:
-	TX_FAR _MtMoon1BattleText8
-	db "@"
-
-MtMoon1EndBattleText8:
-	TX_FAR _MtMoon1EndBattleText8
-	db "@"
-
-MtMoon1AfterBattleText8:
-	TX_FAR _MtMoon1AfterBattleText8
-	db "@"
-
-MtMoon1Text14:
-	TX_FAR _MtMoon1Text14
-	db "@"
--- a/scripts/mtmoon2.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-MtMoon2Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-MtMoon2TextPointers:
-	dw MtMoonText1
-
-MtMoonText1:
-	TX_FAR _MtMoonText1
-	db "@"
--- a/scripts/mtmoon3.asm
+++ /dev/null
@@ -1,406 +1,0 @@
-MtMoon3Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, MtMoon3TrainerHeader0
-	ld de, MtMoon3ScriptPointers
-	ld a, [wMtMoon3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wMtMoon3CurScript], a
-	CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
-	ret z
-	ld hl, CoordsData_49d37
-	call ArePlayerCoordsInArray
-	jr nc, .asm_49d31
-	ld hl, wd72e
-	set 4, [hl]
-	ret
-.asm_49d31
-	ld hl, wd72e
-	res 4, [hl]
-	ret
-
-CoordsData_49d37:
-	db $05,$0B
-	db $05,$0C
-	db $05,$0D
-	db $05,$0E
-	db $06,$0B
-	db $06,$0C
-	db $06,$0D
-	db $06,$0E
-	db $07,$0B
-	db $07,$0C
-	db $07,$0D
-	db $07,$0E
-	db $08,$0B
-	db $08,$0C
-	db $08,$0D
-	db $08,$0E
-	db $FF
-
-MtMoon3Script_49d58:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wMtMoon3CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-MtMoon3ScriptPointers:
-	dw MtMoon3Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw MtMoon3Script3
-	dw MtMoon3Script4
-	dw MtMoon3Script5
-
-MtMoon3Script0:
-	CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
-	jp nz, MtMoon3Script_49d91
-	ld a, [wYCoord]
-	cp $8
-	jp nz, MtMoon3Script_49d91
-	ld a, [wXCoord]
-	cp $d
-	jp nz, MtMoon3Script_49d91
-	xor a
-	ld [hJoyHeld], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-MtMoon3Script_49d91:
-	CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL
-	jp z, CheckFightingMapTrainers
-	ret
-
-MtMoon3Script3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, MtMoon3Script_49d58
-	call UpdateSprites
-	call Delay3
-	SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wMtMoon3CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-MtMoon3Script4:
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld hl, CoordsData_49dea
-	call ArePlayerCoordsInArray
-	jr c, .asm_49dd7
-	ld hl, CoordsData_49df1
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	ld de, MovementData_49df9
-	jr .asm_49dda
-.asm_49dd7
-	ld de, MovementData_49df8
-.asm_49dda
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $5
-	ld [wMtMoon3CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-CoordsData_49dea:
-	db $07,$0C
-	db $06,$0B
-	db $05,$0C
-	db $FF
-
-CoordsData_49df1:
-	db $07,$0D
-	db $06,$0E
-	db $05,$0E
-	db $FF
-
-MovementData_49df8:
-	db NPC_MOVEMENT_RIGHT
-
-MovementData_49df9:
-	db NPC_MOVEMENT_UP,$FF
-
-MtMoon3Script5:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld a, $a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	CheckEvent EVENT_GOT_DOME_FOSSIL
-	jr z, .asm_49e1d
-	ld a, HS_MT_MOON_3_FOSSIL_2
-	jr .asm_49e1f
-.asm_49e1d
-	ld a, HS_MT_MOON_3_FOSSIL_1
-.asm_49e1f
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wMtMoon3CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-MtMoon3TextPointers:
-	dw MtMoon3Text1
-	dw MtMoon3Text2
-	dw MtMoon3Text3
-	dw MtMoon3Text4
-	dw MtMoon3Text5
-	dw MtMoon3Text6
-	dw MtMoon3Text7
-	dw PickUpItemText
-	dw PickUpItemText
-	dw MtMoon3Text_49f99
-
-MtMoon3TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0
-	dw MtMoon3BattleText2 ; TextBeforeBattle
-	dw MtMoon3AfterBattleText2 ; TextAfterBattle
-	dw MtMoon3EndBattleText2 ; TextEndBattle
-	dw MtMoon3EndBattleText2 ; TextEndBattle
-
-MtMoon3TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_1
-	dw MtMoon3BattleText3 ; TextBeforeBattle
-	dw MtMoon3AfterBattleText3 ; TextAfterBattle
-	dw MtMoon3EndBattleText3 ; TextEndBattle
-	dw MtMoon3EndBattleText3 ; TextEndBattle
-
-MtMoon3TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2
-	dw MtMoon3BattleText4 ; TextBeforeBattle
-	dw MtMoon3AfterBattleText4 ; TextAfterBattle
-	dw MtMoon3EndBattleText4 ; TextEndBattle
-	dw MtMoon3EndBattleText4 ; TextEndBattle
-
-MtMoon3TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3
-	dw MtMoon3BattleText5 ; TextBeforeBattle
-	dw MtMoon3AfterBattleText5 ; TextAfterBattle
-	dw MtMoon3EndBattleText5 ; TextEndBattle
-	dw MtMoon3EndBattleText5 ; TextEndBattle
-
-	db $ff
-
-MtMoon3Text1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
-	jr z, .asm_49e8d
-	and $c0
-	jr nz, .asm_49eb8
-	ld hl, MtMoon3Text_49f8f
-	call PrintText
-	jr .asm_49ebe
-.asm_49e8d
-	ld hl, MtMoon3Text_49f85
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, MtMoon3Text_49f8a
-	ld de, MtMoon3Text_49f8a
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $3
-	ld [wMtMoon3CurScript], a
-	ld [wCurMapScript], a
-	jr .asm_49ebe
-.asm_49eb8
-	ld hl, MtMoon3Text_49f94
-	call PrintText
-.asm_49ebe
-	jp TextScriptEnd
-
-MtMoon3Text2:
-	TX_ASM
-	ld hl, MtMoon3TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon3Text3:
-	TX_ASM
-	ld hl, MtMoon3TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon3Text4:
-	TX_ASM
-	ld hl, MtMoon3TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon3Text5:
-	TX_ASM
-	ld hl, MtMoon3TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MtMoon3Text6:
-	TX_ASM
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, MtMoon3Text_49f24
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_49f21
-	lb bc, DOME_FOSSIL, 1
-	call GiveItem
-	jp nc, MtMoon3Script_49f76
-	call MtMoon3Script_49f69
-	ld a, HS_MT_MOON_3_FOSSIL_1
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	SetEvent EVENT_GOT_DOME_FOSSIL
-	ld a, $4
-	ld [wMtMoon3CurScript], a
-	ld [wCurMapScript], a
-.asm_49f21
-	jp TextScriptEnd
-
-MtMoon3Text_49f24:
-	TX_FAR _MtMoon3Text_49f24
-	db "@"
-
-MtMoon3Text7:
-	TX_ASM
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, MtMoon3Text_49f64
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_49f61
-	lb bc, HELIX_FOSSIL, 1
-	call GiveItem
-	jp nc, MtMoon3Script_49f76
-	call MtMoon3Script_49f69
-	ld a, HS_MT_MOON_3_FOSSIL_2
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	SetEvent EVENT_GOT_HELIX_FOSSIL
-	ld a, $4
-	ld [wMtMoon3CurScript], a
-	ld [wCurMapScript], a
-.asm_49f61
-	jp TextScriptEnd
-
-MtMoon3Text_49f64:
-	TX_FAR _MtMoon3Text_49f64
-	db "@"
-
-MtMoon3Script_49f69:
-	ld hl, MtMoon3Text_49f6f
-	jp PrintText
-
-MtMoon3Text_49f6f:
-	TX_FAR _MtMoon3Text_49f6f
-	TX_SFX_KEY_ITEM
-	TX_WAIT
-	db "@"
-
-MtMoon3Script_49f76:
-	ld hl, MtMoon3Text_49f7f
-	call PrintText
-	jp TextScriptEnd
-
-MtMoon3Text_49f7f:
-	TX_FAR _MtMoon3Text_49f7f
-	TX_WAIT
-	db "@"
-
-MtMoon3Text_49f85:
-	TX_FAR _MtMoon3Text_49f85
-	db "@"
-
-MtMoon3Text_49f8a:
-	TX_FAR _MtMoon3Text_49f8a
-	db "@"
-
-MtMoon3Text_49f8f:
-	TX_FAR _MtMoon3Text_49f8f
-	db "@"
-
-MtMoon3Text_49f94:
-	TX_FAR _MtMoon3Text_49f94
-	db "@"
-
-MtMoon3Text_49f99:
-	TX_FAR _MtMoon3Text_49f99
-	TX_SFX_KEY_ITEM
-	db "@"
-
-MtMoon3BattleText2:
-	TX_FAR _MtMoon3BattleText2
-	db "@"
-
-MtMoon3EndBattleText2:
-	TX_FAR _MtMoon3EndBattleText2
-	db "@"
-
-MtMoon3AfterBattleText2:
-	TX_FAR _MtMoon3AfterBattleText2
-	db "@"
-
-MtMoon3BattleText3:
-	TX_FAR _MtMoon3BattleText3
-	db "@"
-
-MtMoon3EndBattleText3:
-	TX_FAR _MtMoon3EndBattleText3
-	db "@"
-
-MtMoon3AfterBattleText3:
-	TX_FAR _MtMoon3AfterBattleText3
-	db "@"
-
-MtMoon3BattleText4:
-	TX_FAR _MtMoon3BattleText4
-	db "@"
-
-MtMoon3EndBattleText4:
-	TX_FAR _MtMoon3EndBattleText4
-	db "@"
-
-MtMoon3AfterBattleText4:
-	TX_FAR _MtMoon3AfterBattleText4
-	db "@"
-
-MtMoon3BattleText5:
-	TX_FAR _MtMoon3BattleText5
-	db "@"
-
-MtMoon3EndBattleText5:
-	TX_FAR _MtMoon3EndBattleText5
-	db "@"
-
-MtMoon3AfterBattleText5:
-	TX_FAR _MtMoon3AfterBattleText5
-	db "@"
--- a/scripts/mtmoonpokecenter.asm
+++ /dev/null
@@ -1,94 +1,0 @@
-MtMoonPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-MtMoonPokecenterTextPointers:
-	dw MtMoonHealNurseText
-	dw MtMoonPokecenterText2
-	dw MtMoonPokecenterText3
-	dw MagikarpSalesmanText
-	dw MtMoonPokecenterText5
-	dw MtMoonTradeNurseText
-
-MtMoonHealNurseText:
-	db $ff
-
-MtMoonPokecenterText2:
-	TX_FAR _MtMoonPokecenterText1
-	db "@"
-
-MtMoonPokecenterText3:
-	TX_FAR _MtMoonPokecenterText3
-	db "@"
-
-MagikarpSalesmanText:
-	TX_ASM
-	CheckEvent EVENT_BOUGHT_MAGIKARP, 1
-	jp c, .alreadyBoughtMagikarp
-	ld hl, .Text1
-	call PrintText
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jp nz, .choseNo
-	ld [hMoney], a
-	ld [hMoney + 2], a
-	ld a, $5
-	ld [hMoney + 1], a
-	call HasEnoughMoney
-	jr nc, .enoughMoney
-	ld hl, .NoMoneyText
-	jr .printText
-.enoughMoney
-	lb bc, MAGIKARP, 5
-	call GivePokemon
-	jr nc, .done
-	xor a
-	ld [wPriceTemp], a
-	ld [wPriceTemp + 2], a
-	ld a, $5
-	ld [wPriceTemp + 1], a
-	ld hl, wPriceTemp + 2
-	ld de, wPlayerMoney + 2
-	ld c, $3
-	predef SubBCDPredef
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	SetEvent EVENT_BOUGHT_MAGIKARP
-	jr .done
-.choseNo
-	ld hl, .RefuseText
-	jr .printText
-.alreadyBoughtMagikarp
-	ld hl, .Text2
-.printText
-	call PrintText
-.done
-	jp TextScriptEnd
-
-.Text1
-	TX_FAR _MagikarpSalesmanText1
-	db "@"
-
-.RefuseText
-	TX_FAR _MagikarpSalesmanNoText
-	db "@"
-
-.NoMoneyText
-	TX_FAR _MagikarpSalesmanNoMoneyText
-	db "@"
-
-.Text2
-	TX_FAR _MagikarpSalesmanText2
-	db "@"
-
-MtMoonPokecenterText5:
-	TX_FAR _MtMoonPokecenterText5
-	db "@"
-
-MtMoonTradeNurseText:
-	db $f6
--- a/scripts/museum1f.asm
+++ /dev/null
@@ -1,247 +1,0 @@
-Museum1FScript:
-	ld a, $1
-	ld [wAutoTextBoxDrawingControl], a
-	xor a
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, Museum1FScriptPointers
-	ld a, [wMuseum1fCurScript]
-	jp CallFunctionInTable
-
-Museum1FScriptPointers:
-	dw Museum1FScript0
-	dw Museum1FScript1
-
-Museum1FScript0:
-	ld a, [wYCoord]
-	cp $4
-	ret nz
-	ld a, [wXCoord]
-	cp $9
-	jr z, .asm_5c120
-	ld a, [wXCoord]
-	cp $a
-	ret nz
-.asm_5c120
-	xor a
-	ld [hJoyHeld], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-Museum1FScript1:
-	ret
-
-Museum1FTextPointers:
-	dw Museum1FText1
-	dw Museum1FText2
-	dw Museum1FText3
-	dw Museum1FText4
-	dw Museum1FText5
-
-Museum1FText1:
-	TX_ASM
-	ld a, [wYCoord]
-	cp $4
-	jr nz, .asm_8774b
-	ld a, [wXCoord]
-	cp $d
-	jp z, Museum1FScript_5c1f9
-	jr .asm_b8709
-.asm_8774b
-	cp $3
-	jr nz, .asm_d49e7
-	ld a, [wXCoord]
-	cp $c
-	jp z, Museum1FScript_5c1f9
-.asm_d49e7
-	CheckEvent EVENT_BOUGHT_MUSEUM_TICKET
-	jr nz, .asm_31a16
-	ld hl, Museum1FText_5c23d
-	call PrintText
-	jp Museum1FScriptEnd
-.asm_b8709
-	CheckEvent EVENT_BOUGHT_MUSEUM_TICKET
-	jr z, .asm_3ded4
-.asm_31a16
-	ld hl, Museum1FText_5c242
-	call PrintText
-	jp Museum1FScriptEnd
-.asm_3ded4
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	xor a
-	ld [hJoyHeld], a
-	ld hl, Museum1FText_5c21f
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_de133
-	xor a
-	ld [hMoney], a
-	ld [hMoney + 1], a
-	ld a, $50
-	ld [hMoney + 2], a
-	call HasEnoughMoney
-	jr nc, .asm_0f3e3
-	ld hl, Museum1FText_5c229
-	call PrintText
-	jp .asm_de133
-.asm_0f3e3
-	ld hl, Museum1FText_5c224
-	call PrintText
-	SetEvent EVENT_BOUGHT_MUSEUM_TICKET
-	xor a
-	ld [wPriceTemp], a
-	ld [wPriceTemp + 1], a
-	ld a, $50
-	ld [wPriceTemp + 2], a
-	ld hl, wPriceTemp + 2
-	ld de, wPlayerMoney + 2
-	ld c, $3
-	predef SubBCDPredef
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	ld a, SFX_PURCHASE
-	call PlaySoundWaitForCurrent
-	call WaitForSoundToFinish
-	jr .asm_0b094
-.asm_de133
-	ld hl, Museum1FText_5c21a
-	call PrintText
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_DOWN
-	ld [wSimulatedJoypadStatesEnd], a
-	call StartSimulatingJoypadStates
-	call UpdateSprites
-	jr Museum1FScriptEnd
-.asm_0b094
-	ld a, $1
-	ld [wMuseum1fCurScript], a
-	jr Museum1FScriptEnd
-
-Museum1FScript_5c1f9:
-	ld hl, Museum1FText_5c22e
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	cp $0
-	jr nz, .asm_d1144
-	ld hl, Museum1FText_5c233
-	call PrintText
-	jr Museum1FScriptEnd
-.asm_d1144
-	ld hl, Museum1FText_5c238
-	call PrintText
-Museum1FScriptEnd:
-	jp TextScriptEnd
-
-Museum1FText_5c21a:
-	TX_FAR _Museum1FText_5c21a
-	db "@"
-
-Museum1FText_5c21f:
-	TX_FAR _Museum1FText_5c21f
-	db "@"
-
-Museum1FText_5c224:
-	TX_FAR _Museum1FText_5c224
-	db "@"
-
-Museum1FText_5c229:
-	TX_FAR _Museum1FText_5c229
-	db "@"
-
-Museum1FText_5c22e:
-	TX_FAR _Museum1FText_5c22e
-	db "@"
-
-Museum1FText_5c233:
-	TX_FAR _Museum1FText_5c233
-	db "@"
-
-Museum1FText_5c238:
-	TX_FAR _Museum1FText_5c238
-	db "@"
-
-Museum1FText_5c23d:
-	TX_FAR _Museum1FText_5c23d
-	db "@"
-
-Museum1FText_5c242:
-	TX_FAR _Museum1FText_5c242
-	db "@"
-
-Museum1FText2:
-	TX_ASM
-	ld hl, Museum1FText_5c251
-	call PrintText
-	jp TextScriptEnd
-
-Museum1FText_5c251:
-	TX_FAR _Museum1FText_5c251
-	db "@"
-
-Museum1FText3:
-	TX_ASM
-	CheckEvent EVENT_GOT_OLD_AMBER
-	jr nz, .asm_5c285
-	ld hl, Museum1FText_5c28e
-	call PrintText
-	lb bc, OLD_AMBER, 1
-	call GiveItem
-	jr nc, .BagFull
-	SetEvent EVENT_GOT_OLD_AMBER
-	ld a, HS_OLD_AMBER
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld hl, ReceivedOldAmberText
-	jr .asm_5c288
-.BagFull
-	ld hl, Museum1FText_5c29e
-	jr .asm_5c288
-.asm_5c285
-	ld hl, Museum1FText_5c299
-.asm_5c288
-	call PrintText
-	jp TextScriptEnd
-
-Museum1FText_5c28e:
-	TX_FAR _Museum1FText_5c28e
-	db "@"
-
-ReceivedOldAmberText:
-	TX_FAR _ReceivedOldAmberText
-	TX_SFX_ITEM_1
-	db "@"
-
-Museum1FText_5c299:
-	TX_FAR _Museum1FText_5c299
-	db "@"
-
-Museum1FText_5c29e:
-	TX_FAR _Museum1FText_5c29e
-	db "@"
-
-Museum1FText4:
-	TX_ASM
-	ld hl, Museum1FText_5c2ad
-	call PrintText
-	jp TextScriptEnd
-
-Museum1FText_5c2ad:
-	TX_FAR _Museum1FText_5c2ad
-	db "@"
-
-Museum1FText5:
-	TX_ASM
-	ld hl, Museum1FText_5c2bc
-	call PrintText
-	jp TextScriptEnd
-
-Museum1FText_5c2bc:
-	TX_FAR _Museum1FText_5c2bc
-	db "@"
--- a/scripts/museum2f.asm
+++ /dev/null
@@ -1,39 +1,0 @@
-Museum2FScript:
-	jp EnableAutoTextBoxDrawing
-
-Museum2FTextPointers:
-	dw Museum2FText1
-	dw Museum2FText2
-	dw Museum2FText3
-	dw Museum2FText4
-	dw Museum2FText5
-	dw Museum2FText6
-	dw Museum2FText7
-
-Museum2FText1:
-	TX_FAR _Museum2FText1
-	db "@"
-
-Museum2FText2:
-	TX_FAR _Museum2FText2
-	db "@"
-
-Museum2FText3:
-	TX_FAR _Museum2FText3
-	db "@"
-
-Museum2FText4:
-	TX_FAR _Museum2FText4
-	db "@"
-
-Museum2FText5:
-	TX_FAR _Museum2FText5
-	db "@"
-
-Museum2FText6:
-	TX_FAR _Museum2FText6
-	db "@"
-
-Museum2FText7:
-	TX_FAR _Museum2FText7
-	db "@"
--- a/scripts/namerater.asm
+++ /dev/null
@@ -1,107 +1,0 @@
-NameRaterScript:
-	jp EnableAutoTextBoxDrawing
-
-NameRaterScript_1da15:
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	ret
-
-NameRaterScript_1da20:
-	ld hl, wPartyMonOT
-	ld bc, NAME_LENGTH
-	ld a, [wWhichPokemon]
-	call AddNTimes
-	ld de, wPlayerName
-	ld c, NAME_LENGTH
-	call .asm_1da47
-	jr c, .asm_1da52
-	ld hl, wPartyMon1OTID
-	ld bc, wPartyMon2 - wPartyMon1
-	ld a, [wWhichPokemon]
-	call AddNTimes
-	ld de, wPlayerID
-	ld c, $2
-.asm_1da47
-	ld a, [de]
-	cp [hl]
-	jr nz, .asm_1da52
-	inc hl
-	inc de
-	dec c
-	jr nz, .asm_1da47
-	and a
-	ret
-.asm_1da52
-	scf
-	ret
-
-NameRaterTextPointers:
-	dw NameRaterText1
-
-NameRaterText1:
-	TX_ASM
-	call SaveScreenTilesToBuffer2
-	ld hl, NameRaterText_1dab3
-	call NameRaterScript_1da15
-	jr nz, .asm_1daae
-	ld hl, NameRaterText_1dab8
-	call PrintText
-	xor a
-	ld [wPartyMenuTypeOrMessageID], a
-	ld [wUpdateSpritesEnabled], a
-	ld [wMenuItemToSwap], a
-	call DisplayPartyMenu
-	push af
-	call GBPalWhiteOutWithDelay3
-	call RestoreScreenTilesAndReloadTilePatterns
-	call LoadGBPal
-	pop af
-	jr c, .asm_1daae
-	call GetPartyMonName2
-	call NameRaterScript_1da20
-	ld hl, NameRaterText_1dad1
-	jr c, .asm_1daa8
-	ld hl, NameRaterText_1dabd
-	call NameRaterScript_1da15
-	jr nz, .asm_1daae
-	ld hl, NameRaterText_1dac2
-	call PrintText
-	callba DisplayNameRaterScreen
-	jr c, .asm_1daae
-	ld hl, NameRaterText_1dac7
-.asm_1daa8
-	call PrintText
-	jp TextScriptEnd
-.asm_1daae
-	ld hl, NameRaterText_1dacc
-	jr .asm_1daa8
-
-NameRaterText_1dab3:
-	TX_FAR _NameRaterText_1dab3
-	db "@"
-
-NameRaterText_1dab8:
-	TX_FAR _NameRaterText_1dab8
-	db "@"
-
-NameRaterText_1dabd:
-	TX_FAR _NameRaterText_1dabd
-	db "@"
-
-NameRaterText_1dac2:
-	TX_FAR _NameRaterText_1dac2
-	db "@"
-
-NameRaterText_1dac7:
-	TX_FAR _NameRaterText_1dac7
-	db "@"
-
-NameRaterText_1dacc:
-	TX_FAR _NameRaterText_1dacc
-	db "@"
-
-NameRaterText_1dad1:
-	TX_FAR _NameRaterText_1dad1
-	db "@"
--- a/scripts/oakslab.asm
+++ /dev/null
@@ -1,1233 +1,0 @@
-OaksLabScript:
-	CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2
-	call nz, OaksLabScript_1d076
-	ld a, $1
-	ld [wAutoTextBoxDrawingControl], a
-	xor a
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, OaksLabScriptPointers
-	ld a, [wOaksLabCurScript]
-	jp CallFunctionInTable
-
-OaksLabScriptPointers:
-	dw OaksLabScript0
-	dw OaksLabScript1
-	dw OaksLabScript2
-	dw OaksLabScript3
-	dw OaksLabScript4
-	dw OaksLabScript5
-	dw OaksLabScript6
-	dw OaksLabScript7
-	dw OaksLabScript8
-	dw OaksLabScript9
-	dw OaksLabScript10
-	dw OaksLabScript11
-	dw OaksLabScript12
-	dw OaksLabScript13
-	dw OaksLabScript14
-	dw OaksLabScript15
-	dw OaksLabScript16
-	dw OaksLabScript17
-	dw OaksLabScript18
-
-OaksLabScript0:
-	CheckEvent EVENT_OAK_APPEARED_IN_PALLET
-	ret z
-	ld a, [wNPCMovementScriptFunctionNum]
-	and a
-	ret nz
-	ld a, HS_OAKS_LAB_OAK_2
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld hl, wd72e
-	res 4, [hl]
-
-	ld a, $1
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript1:
-	ld a, $8
-	ld [H_SPRITEINDEX], a
-	ld de, OakEntryMovement
-	call MoveSprite
-
-	ld a, $2
-	ld [wOaksLabCurScript], a
-	ret
-
-OakEntryMovement:
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db $FF
-
-OaksLabScript2:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_OAKS_LAB_OAK_2
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_OAKS_LAB_OAK_1
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-
-	ld a, $3
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript3:
-	call Delay3
-	ld hl, wSimulatedJoypadStatesEnd
-	ld de, PlayerEntryMovementRLE
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	xor a
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $5
-	ld [H_SPRITEINDEX], a
-	xor a
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-
-	ld a, $4
-	ld [wOaksLabCurScript], a
-	ret
-
-PlayerEntryMovementRLE:
-	db D_UP,$8
-	db $ff
-
-OaksLabScript4:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	SetEvent EVENT_FOLLOWED_OAK_INTO_LAB
-	SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_UP
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	call UpdateSprites
-	ld hl, wFlags_D733
-	res 1, [hl]
-	call PlayDefaultMusic
-
-	ld a, $5
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript5:
-	ld a, $fc
-	ld [wJoyIgnore], a
-	ld a, $11
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Delay3
-	ld a, $12
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Delay3
-	ld a, $13
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Delay3
-	ld a, $14
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON
-	xor a
-	ld [wJoyIgnore], a
-
-	ld a, $6
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript6:
-	ld a, [wYCoord]
-	cp $6
-	ret nz
-	ld a, $5
-	ld [H_SPRITEINDEX], a
-	xor a ; SPRITE_FACING_DOWN
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	xor a
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	call UpdateSprites
-	ld a, $c
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	call StartSimulatingJoypadStates
-	ld a, PLAYER_DIR_UP
-	ld [wPlayerMovingDirection], a
-
-	ld a, $7
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript7:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-
-	ld a, $6
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript8:
-	ld a, [wPlayerStarter]
-	cp STARTER1
-	jr z, .Charmander
-	cp STARTER2
-	jr z, .Squirtle
-	jr .Bulbasaur
-.Charmander
-	ld de, .MiddleBallMovement1
-	ld a, [wYCoord]
-	cp $4 ; is the player standing below the table?
-	jr z, .asm_1ccf3
-	ld de, .MiddleBallMovement2
-	jr .asm_1ccf3
-
-.MiddleBallMovement1
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_UP
-	db $FF
-
-.MiddleBallMovement2
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-.Squirtle
-	ld de, .RightBallMovement1
-	ld a, [wYCoord]
-	cp $4 ; is the player standing below the table?
-	jr z, .asm_1ccf3
-	ld de, .RightBallMovement2
-	jr .asm_1ccf3
-
-.RightBallMovement1
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_UP
-	db $FF
-
-.RightBallMovement2
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-.Bulbasaur
-	ld de, .LeftBallMovement1
-	ld a, [wXCoord]
-	cp $9 ; is the player standing to the right of the table?
-	jr nz, .asm_1ccf3
-	push hl
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, $4
-	ld [H_SPRITEDATAOFFSET], a
-	call GetPointerWithinSpriteStateData1
-	push hl
-	ld [hl], $4c
-	inc hl
-	inc hl
-	ld [hl], $0
-	pop hl
-	inc h
-	ld [hl], $8
-	inc hl
-	ld [hl], $9
-	ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that
-	pop hl
-	jr .asm_1ccf3
-
-.LeftBallMovement1
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT ; not yet terminated!
-.LeftBallMovement2
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-.asm_1ccf3
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-
-	ld a, $9
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript9:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, $fc
-	ld [wJoyIgnore], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_UP
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $d
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, [wRivalStarterBallSpriteIndex]
-	cp $2
-	jr nz, .asm_1cd28
-	ld a, HS_STARTER_BALL_1
-	jr .asm_1cd32
-.asm_1cd28
-	cp $3
-	jr nz, .asm_1cd30
-	ld a, HS_STARTER_BALL_2
-	jr .asm_1cd32
-.asm_1cd30
-	ld a, HS_STARTER_BALL_3
-.asm_1cd32
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call Delay3
-	ld a, [wRivalStarterTemp]
-	ld [wRivalStarter], a
-	ld [wcf91], a
-	ld [wd11e], a
-	call GetMonName
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_UP
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $e
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_STARTER
-	xor a
-	ld [wJoyIgnore], a
-
-	ld a, $a
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript10:
-	ld a, [wYCoord]
-	cp $6
-	ret nz
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	xor a ; SPRITE_FACING_DOWN
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, PLAYER_DIR_UP
-	ld [wPlayerMovingDirection], a
-	ld c, BANK(Music_MeetRival)
-	ld a, MUSIC_MEET_RIVAL
-	call PlayMusic
-	ld a, $f
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $1
-	ld [hNPCPlayerRelativePosPerspective], a
-	ld a, $1
-	swap a
-	ld [hNPCSpriteOffset], a
-	predef CalcPositionOfPlayerRelativeToNPC
-	ld a, [hNPCPlayerYDistance]
-	dec a
-	ld [hNPCPlayerYDistance], a
-	predef FindPathToPlayer
-	ld de, wNPCMovementDirections2
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-
-	ld a, $b
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript11:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-
-	; define which team rival uses, and fight it
-	ld a, OPP_SONY1
-	ld [wCurOpponent], a
-	ld a, [wRivalStarter]
-	cp STARTER2
-	jr nz, .NotSquirtle
-	ld a, $1
-	jr .done
-.NotSquirtle
-	cp STARTER3
-	jr nz, .Charmander
-	ld a, $2
-	jr .done
-.Charmander
-	ld a, $3
-.done
-	ld [wTrainerNo], a
-	ld a, $1
-	ld [wSpriteIndex], a
-	call GetSpritePosition1
-	ld hl, OaksLabText_1d3be
-	ld de, OaksLabText_1d3c3
-	call SaveEndBattleTextPointers
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	xor a
-	ld [wJoyIgnore], a
-	ld a, PLAYER_DIR_UP
-	ld [wPlayerMovingDirection], a
-	ld a, $c
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript12:
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, PLAYER_DIR_UP
-	ld [wPlayerMovingDirection], a
-	call UpdateSprites
-	ld a, $1
-	ld [wSpriteIndex], a
-	call SetSpritePosition1
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	xor a ; SPRITE_FACING_DOWN
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	predef HealParty
-	SetEvent EVENT_BATTLED_RIVAL_IN_OAKS_LAB
-
-	ld a, $d
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript13:
-	ld c, 20
-	call DelayFrames
-	ld a, $10
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	callba Music_RivalAlternateStart
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld de, .RivalExitMovement
-	call MoveSprite
-	ld a, [wXCoord]
-	cp $4
-	; move left or right depending on where the player is standing
-	jr nz, .moveLeft
-	ld a, NPC_MOVEMENT_RIGHT
-	jr .next
-.moveLeft
-	ld a, NPC_MOVEMENT_LEFT
-.next
-	ld [wNPCMovementDirections], a
-
-	ld a, $e
-	ld [wOaksLabCurScript], a
-	ret
-
-.RivalExitMovement
-	db $E0 ; change sprite facing direction
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-OaksLabScript14:
-	ld a, [wd730]
-	bit 0, a
-	jr nz, .asm_1ce8c
-	ld a, HS_OAKS_LAB_RIVAL
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	xor a
-	ld [wJoyIgnore], a
-	call PlayDefaultMusic ; reset to map music
-	ld a, $12
-	ld [wOaksLabCurScript], a
-	jr .done
-; make the player keep facing the rival as he walks away
-.asm_1ce8c
-	ld a, [wNPCNumScriptedSteps]
-	cp $5
-	jr nz, .asm_1cea8
-	ld a, [wXCoord]
-	cp $4
-	jr nz, .asm_1cea1
-	ld a, SPRITE_FACING_RIGHT
-	ld [wSpriteStateData1 + 9], a
-	jr .done
-.asm_1cea1
-	ld a, SPRITE_FACING_LEFT
-	ld [wSpriteStateData1 + 9], a
-	jr .done
-.asm_1cea8
-	cp $4
-	ret nz
-	xor a ; ld a, SPRITE_FACING_DOWN
-	ld [wSpriteStateData1 + 9], a
-.done
-	ret
-
-OaksLabScript15:
-	xor a
-	ld [hJoyHeld], a
-	call EnableAutoTextBoxDrawing
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStart
-	ld a, $15
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call OaksLabScript_1d02b
-	ld a, HS_OAKS_LAB_RIVAL
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, [wNPCMovementDirections2Index]
-	ld [wSavedNPCMovementDirections2Index], a
-	ld b, 0
-	ld c, a
-	ld hl, wNPCMovementDirections2
-	ld a, NPC_MOVEMENT_UP
-	call FillMemory
-	ld [hl], $ff
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld de, wNPCMovementDirections2
-	call MoveSprite
-
-	ld a, $10
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript_1cefd:
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_UP
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $8
-	ld [H_SPRITEINDEX], a
-	xor a ; SPRITE_FACING_DOWN
-	ld [hSpriteFacingDirection], a
-	jp SetSpriteFacingDirectionAndDelay
-
-OaksLabScript16:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	call EnableAutoTextBoxDrawing
-	call PlayDefaultMusic
-	ld a, $fc
-	ld [wJoyIgnore], a
-	call OaksLabScript_1cefd
-	ld a, $16
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call DelayFrame
-	call OaksLabScript_1cefd
-	ld a, $17
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call DelayFrame
-	call OaksLabScript_1cefd
-	ld a, $18
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call DelayFrame
-	ld a, $19
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Delay3
-	ld a, HS_POKEDEX_1
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_POKEDEX_2
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call OaksLabScript_1cefd
-	ld a, $1a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_RIGHT
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	call Delay3
-	ld a, $1b
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_POKEDEX
-	SetEvent EVENT_OAK_GOT_PARCEL
-	ld a, HS_LYING_OLD_MAN
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_OLD_MAN
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, [wSavedNPCMovementDirections2Index]
-	ld b, 0
-	ld c, a
-	ld hl, wNPCMovementDirections2
-	xor a ; NPC_MOVEMENT_DOWN
-	call FillMemory
-	ld [hl], $ff
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStart
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld de, wNPCMovementDirections2
-	call MoveSprite
-
-	ld a, $11
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript17:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	call PlayDefaultMusic
-	ld a, HS_OAKS_LAB_RIVAL
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE
-	ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE
-	SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE
-	ld a, HS_ROUTE_22_RIVAL_1
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, $5
-	ld [wPalletTownCurScript], a
-	xor a
-	ld [wJoyIgnore], a
-
-	ld a, $12
-	ld [wOaksLabCurScript], a
-	ret
-
-OaksLabScript18:
-	ret
-
-OaksLabScript_RemoveParcel:
-	ld hl, wBagItems
-	ld bc, $0000
-.loop
-	ld a, [hli]
-	cp $ff
-	ret z
-	cp OAKS_PARCEL
-	jr z, .foundParcel
-	inc hl
-	inc c
-	jr .loop
-.foundParcel
-	ld hl, wNumBagItems
-	ld a, c
-	ld [wWhichPokemon], a
-	ld a, $1
-	ld [wItemQuantity], a
-	jp RemoveItemFromInventory
-
-OaksLabScript_1d02b:
-	ld a, $7c
-	ld [$ffeb], a
-	ld a, $8
-	ld [$ffee], a
-	ld a, [wYCoord]
-	cp $3
-	jr nz, .asm_1d045
-	ld a, $4
-	ld [wNPCMovementDirections2Index], a
-	ld a, $30
-	ld b, $b
-	jr .asm_1d068
-.asm_1d045
-	cp $1
-	jr nz, .asm_1d054
-	ld a, $2
-	ld [wNPCMovementDirections2Index], a
-	ld a, $30
-	ld b, $9
-	jr .asm_1d068
-.asm_1d054
-	ld a, $3
-	ld [wNPCMovementDirections2Index], a
-	ld b, $a
-	ld a, [wXCoord]
-	cp $4
-	jr nz, .asm_1d066
-	ld a, $40
-	jr .asm_1d068
-.asm_1d066
-	ld a, $20
-.asm_1d068
-	ld [$ffec], a
-	ld a, b
-	ld [$ffed], a
-	ld a, $1
-	ld [wSpriteIndex], a
-	call SetSpritePosition1
-	ret
-
-OaksLabScript_1d076:
-	ld hl, OaksLabTextPointers2
-	ld a, l
-	ld [wMapTextPtr], a
-	ld a, h
-	ld [wMapTextPtr+1], a
-	ret
-
-OaksLabTextPointers:
-	dw OaksLabText1
-	dw OaksLabText2
-	dw OaksLabText3
-	dw OaksLabText4
-	dw OaksLabText5
-	dw OaksLabText6
-	dw OaksLabText7
-	dw OaksLabText8
-	dw OaksLabText9
-	dw OaksLabText10
-	dw OaksLabText11
-	dw OaksLabText12
-	dw OaksLabText13
-	dw OaksLabText14
-	dw OaksLabText15
-	dw OaksLabText16
-	dw OaksLabText17
-	dw OaksLabText18
-	dw OaksLabText19
-	dw OaksLabText20
-	dw OaksLabText21
-	dw OaksLabText22
-	dw OaksLabText23
-	dw OaksLabText24
-	dw OaksLabText25
-	dw OaksLabText26
-	dw OaksLabText27
-
-OaksLabTextPointers2:
-	dw OaksLabText1
-	dw OaksLabText2
-	dw OaksLabText3
-	dw OaksLabText4
-	dw OaksLabText5
-	dw OaksLabText6
-	dw OaksLabText7
-	dw OaksLabText8
-	dw OaksLabText9
-	dw OaksLabText10
-	dw OaksLabText11
-
-OaksLabText1:
-	TX_ASM
-	CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2
-	jr nz, .asm_1d0de
-	ld hl, OaksLabGaryText1
-	call PrintText
-	jr .asm_1d0f0
-.asm_1d0de
-	bit 2, a
-	jr nz, .asm_1d0ea
-	ld hl, OaksLabText40
-	call PrintText
-	jr .asm_1d0f0
-.asm_1d0ea
-	ld hl, OaksLabText41
-	call PrintText
-.asm_1d0f0
-	jp TextScriptEnd
-
-OaksLabGaryText1:
-	TX_FAR _OaksLabGaryText1
-	db "@"
-
-OaksLabText40:
-	TX_FAR _OaksLabText40
-	db "@"
-
-OaksLabText41:
-	TX_FAR _OaksLabText41
-	db "@"
-
-OaksLabText2:
-	TX_ASM
-	ld a, STARTER2
-	ld [wRivalStarterTemp], a
-	ld a, $3
-	ld [wRivalStarterBallSpriteIndex], a
-	ld a, STARTER1
-	ld b, $2
-	jr OaksLabScript_1d133
-
-OaksLabText3:
-	TX_ASM
-	ld a, STARTER3
-	ld [wRivalStarterTemp], a
-	ld a, $4
-	ld [wRivalStarterBallSpriteIndex], a
-	ld a, STARTER2
-	ld b, $3
-	jr OaksLabScript_1d133
-
-OaksLabText4:
-	TX_ASM
-	ld a, STARTER1
-	ld [wRivalStarterTemp], a
-	ld a, $2
-	ld [wRivalStarterBallSpriteIndex], a
-	ld a, STARTER3
-	ld b, $4
-
-OaksLabScript_1d133:
-	ld [wcf91], a
-	ld [wd11e], a
-	ld a, b
-	ld [wSpriteIndex], a
-	CheckEvent EVENT_GOT_STARTER
-	jp nz, OaksLabScript_1d22d
-	CheckEventReuseA EVENT_OAK_ASKED_TO_CHOOSE_MON
-	jr nz, OaksLabScript_1d157
-	ld hl, OaksLabText39
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabText39:
-	TX_FAR _OaksLabText39
-	db "@"
-
-OaksLabScript_1d157:
-	ld a, $5
-	ld [H_SPRITEINDEX], a
-	ld a, $9
-	ld [H_SPRITEDATAOFFSET], a
-	call GetPointerWithinSpriteStateData1
-	ld [hl], SPRITE_FACING_DOWN
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, $9
-	ld [H_SPRITEDATAOFFSET], a
-	call GetPointerWithinSpriteStateData1
-	ld [hl], SPRITE_FACING_RIGHT
-	ld hl, wd730
-	set 6, [hl]
-	predef StarterDex
-	ld hl, wd730
-	res 6, [hl]
-	call ReloadMapData
-	ld c, 10
-	call DelayFrames
-	ld a, [wSpriteIndex]
-	cp $2
-	jr z, OaksLabLookAtCharmander
-	cp $3
-	jr z, OaksLabLookAtSquirtle
-	jr OaksLabLookAtBulbasaur
-
-OaksLabLookAtCharmander:
-	ld hl, OaksLabCharmanderText
-	jr OaksLabMonChoiceMenu
-OaksLabCharmanderText:
-	TX_FAR _OaksLabCharmanderText
-	db "@"
-
-OaksLabLookAtSquirtle:
-	ld hl, OaksLabSquirtleText
-	jr OaksLabMonChoiceMenu
-OaksLabSquirtleText:
-	TX_FAR _OaksLabSquirtleText
-	db "@"
-
-OaksLabLookAtBulbasaur:
-	ld hl, OaksLabBulbasaurText
-	jr OaksLabMonChoiceMenu
-OaksLabBulbasaurText:
-	TX_FAR _OaksLabBulbasaurText
-	db "@"
-
-OaksLabMonChoiceMenu:
-	call PrintText
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	call YesNoChoice ; yes/no menu
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, OaksLabMonChoiceEnd
-	ld a, [wcf91]
-	ld [wPlayerStarter], a
-	ld [wd11e], a
-	call GetMonName
-	ld a, [wSpriteIndex]
-	cp $2
-	jr nz, .asm_1d1db
-	ld a, HS_STARTER_BALL_1
-	jr .asm_1d1e5
-.asm_1d1db
-	cp $3
-	jr nz, .asm_1d1e3
-	ld a, HS_STARTER_BALL_2
-	jr .asm_1d1e5
-.asm_1d1e3
-	ld a, HS_STARTER_BALL_3
-.asm_1d1e5
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, OaksLabMonEnergeticText
-	call PrintText
-	ld hl, OaksLabReceivedMonText
-	call PrintText
-	xor a ; PLAYER_PARTY_DATA
-	ld [wMonDataLocation], a
-	ld a, 5
-	ld [wCurEnemyLVL], a
-	ld a, [wcf91]
-	ld [wd11e], a
-	call AddPartyMon
-	ld hl, wd72e
-	set 3, [hl]
-	ld a, $fc
-	ld [wJoyIgnore], a
-	ld a, $8
-	ld [wOaksLabCurScript], a
-OaksLabMonChoiceEnd:
-	jp TextScriptEnd
-
-OaksLabMonEnergeticText:
-	TX_FAR _OaksLabMonEnergeticText
-	db "@"
-
-OaksLabReceivedMonText:
-	TX_FAR _OaksLabReceivedMonText
-	TX_SFX_KEY_ITEM
-	db "@"
-
-OaksLabScript_1d22d:
-	ld a, $5
-	ld [H_SPRITEINDEX], a
-	ld a, $9
-	ld [H_SPRITEDATAOFFSET], a
-	call GetPointerWithinSpriteStateData1
-	ld [hl], $0
-	ld hl, OaksLabLastMonText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabLastMonText:
-	TX_FAR _OaksLabLastMonText
-	db "@"
-
-OaksLabText32:
-OaksLabText5:
-	TX_ASM
-	CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS
-	jr nz, .asm_1d266
-	ld hl, wPokedexOwned
-	ld b, wPokedexOwnedEnd - wPokedexOwned
-	call CountSetBits
-	ld a, [wNumSetBits]
-	cp 2
-	jr c, .asm_1d279
-	CheckEvent EVENT_GOT_POKEDEX
-	jr z, .asm_1d279
-.asm_1d266
-	ld hl, OaksLabText_1d31d
-	call PrintText
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	predef DisplayDexRating
-	jp .asm_1d2ed
-.asm_1d279
-	ld b, POKE_BALL
-	call IsItemInBag
-	jr nz, .asm_1d2e7
-	CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
-	jr nz, .asm_1d2d0
-	CheckEvent EVENT_GOT_POKEDEX
-	jr nz, .asm_1d2c8
-	CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB
-	jr nz, .asm_1d2a9
-	ld a, [wd72e]
-	bit 3, a
-	jr nz, .asm_1d2a1
-	ld hl, OaksLabText_1d2f0
-	call PrintText
-	jr .asm_1d2ed
-.asm_1d2a1
-	ld hl, OaksLabText_1d2f5
-	call PrintText
-	jr .asm_1d2ed
-.asm_1d2a9
-	ld b, OAKS_PARCEL
-	call IsItemInBag
-	jr nz, .asm_1d2b8
-	ld hl, OaksLabText_1d2fa
-	call PrintText
-	jr .asm_1d2ed
-.asm_1d2b8
-	ld hl, OaksLabDeliverParcelText
-	call PrintText
-	call OaksLabScript_RemoveParcel
-	ld a, $f
-	ld [wOaksLabCurScript], a
-	jr .asm_1d2ed
-.asm_1d2c8
-	ld hl, OaksLabAroundWorldText
-	call PrintText
-	jr .asm_1d2ed
-.asm_1d2d0
-	CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK
-	jr nz, .asm_1d2e7
-	lb bc, POKE_BALL, 5
-	call GiveItem
-	ld hl, OaksLabGivePokeballsText
-	call PrintText
-	jr .asm_1d2ed
-.asm_1d2e7
-	ld hl, OaksLabPleaseVisitText
-	call PrintText
-.asm_1d2ed
-	jp TextScriptEnd
-
-OaksLabText_1d2f0:
-	TX_FAR _OaksLabText_1d2f0
-	db "@"
-
-OaksLabText_1d2f5:
-	TX_FAR _OaksLabText_1d2f5
-	db "@"
-
-OaksLabText_1d2fa:
-	TX_FAR _OaksLabText_1d2fa
-	db "@"
-
-OaksLabDeliverParcelText:
-	TX_FAR _OaksLabDeliverParcelText1
-	TX_SFX_KEY_ITEM
-	TX_FAR _OaksLabDeliverParcelText2
-	db "@"
-
-OaksLabAroundWorldText:
-	TX_FAR _OaksLabAroundWorldText
-	db "@"
-
-OaksLabGivePokeballsText:
-	TX_FAR _OaksLabGivePokeballsText1
-	TX_SFX_KEY_ITEM
-	TX_FAR _OaksLabGivePokeballsText2
-	db "@"
-
-OaksLabPleaseVisitText:
-	TX_FAR _OaksLabPleaseVisitText
-	db "@"
-
-OaksLabText_1d31d:
-	TX_FAR _OaksLabText_1d31d
-	db "@"
-
-OaksLabText7:
-OaksLabText6:
-	TX_ASM
-	ld hl, OaksLabText_1d32c
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabText_1d32c:
-	TX_FAR _OaksLabText_1d32c
-	db "@"
-
-OaksLabText8:
-	TX_FAR _OaksLabText8
-	db "@"
-
-OaksLabText9:
-	TX_ASM
-	ld hl, OaksLabText_1d340
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabText_1d340:
-	TX_FAR _OaksLabText_1d340
-	db "@"
-
-OaksLabText17:
-	TX_ASM
-	ld hl, OaksLabRivalWaitingText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabRivalWaitingText:
-	TX_FAR _OaksLabRivalWaitingText
-	db "@"
-
-OaksLabText18:
-	TX_ASM
-	ld hl, OaksLabChooseMonText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabChooseMonText:
-	TX_FAR _OaksLabChooseMonText
-	db "@"
-
-OaksLabText19:
-	TX_ASM
-	ld hl, OaksLabRivalInterjectionText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabRivalInterjectionText:
-	TX_FAR _OaksLabRivalInterjectionText
-	db "@"
-
-OaksLabText20:
-	TX_ASM
-	ld hl, OaksLabBePatientText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabBePatientText:
-	TX_FAR _OaksLabBePatientText
-	db "@"
-
-OaksLabText12:
-	TX_ASM
-	ld hl, OaksLabLeavingText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabLeavingText:
-	TX_FAR _OaksLabLeavingText
-	db "@"
-
-OaksLabText13:
-	TX_ASM
-	ld hl, OaksLabRivalPickingMonText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabRivalPickingMonText:
-	TX_FAR _OaksLabRivalPickingMonText
-	db "@"
-
-OaksLabText14:
-	TX_ASM
-	ld hl, OaksLabRivalReceivedMonText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabRivalReceivedMonText:
-	TX_FAR _OaksLabRivalReceivedMonText
-	TX_SFX_KEY_ITEM
-	db "@"
-
-OaksLabText15:
-	TX_ASM
-	ld hl, OaksLabRivalChallengeText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabRivalChallengeText:
-	TX_FAR _OaksLabRivalChallengeText
-	db "@"
-
-OaksLabText_1d3be:
-	TX_FAR _OaksLabText_1d3be
-	db "@"
-
-OaksLabText_1d3c3:
-	TX_FAR _OaksLabText_1d3c3
-	db "@"
-
-OaksLabText16:
-	TX_ASM
-	ld hl, OaksLabRivalToughenUpText
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabRivalToughenUpText:
-	TX_FAR _OaksLabRivalToughenUpText
-	db "@"
-
-OaksLabText21:
-	TX_FAR _OaksLabText21
-	db "@"
-
-OaksLabText22:
-	TX_FAR _OaksLabText22
-	db "@"
-
-OaksLabText23:
-	TX_FAR _OaksLabText23
-	db "@"
-
-OaksLabText24:
-	TX_FAR _OaksLabText24
-	db "@"
-
-OaksLabText25:
-	TX_FAR _OaksLabText25
-	TX_SFX_KEY_ITEM
-	db "@"
-
-OaksLabText26:
-	TX_FAR _OaksLabText26
-	db "@"
-
-OaksLabText27:
-	TX_FAR _OaksLabText27
-	db "@"
-
-OaksLabText11:
-OaksLabText10:
-	TX_ASM
-	ld hl, OaksLabText_1d405
-	call PrintText
-	jp TextScriptEnd
-
-OaksLabText_1d405:
-	TX_FAR _OaksLabText_1d405
-	db "@"
--- a/scripts/pallettown.asm
+++ /dev/null
@@ -1,214 +1,0 @@
-PalletTownScript:
-	CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK
-	jr z, .next
-	SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS
-.next
-	call EnableAutoTextBoxDrawing
-	ld hl, PalletTownScriptPointers
-	ld a, [wPalletTownCurScript]
-	jp CallFunctionInTable
-
-PalletTownScriptPointers:
-	dw PalletTownScript0
-	dw PalletTownScript1
-	dw PalletTownScript2
-	dw PalletTownScript3
-	dw PalletTownScript4
-	dw PalletTownScript5
-	dw PalletTownScript6
-
-PalletTownScript0:
-	CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB
-	ret nz
-	ld a, [wYCoord]
-	cp 1 ; is player near north exit?
-	ret nz
-	xor a
-	ld [hJoyHeld], a
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	ld a, $FF
-	call PlaySound ; stop music
-	ld a, BANK(Music_MeetProfOak)
-	ld c, a
-	ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music
-	call PlayMusic
-	ld a, $FC
-	ld [wJoyIgnore], a
-	SetEvent EVENT_OAK_APPEARED_IN_PALLET
-
-	; trigger the next script
-	ld a, 1
-	ld [wPalletTownCurScript], a
-	ret
-
-PalletTownScript1:
-	xor a
-	ld [wcf0d], a
-	ld a, 1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $FF
-	ld [wJoyIgnore], a
-	ld a, HS_PALLET_TOWN_OAK
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-
-	; trigger the next script
-	ld a, 2
-	ld [wPalletTownCurScript], a
-	ret
-
-PalletTownScript2:
-	ld a, 1
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_UP
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	call Delay3
-	ld a, 1
-	ld [wYCoord], a
-	ld a, 1
-	ld [hNPCPlayerRelativePosPerspective], a
-	ld a, 1
-	swap a
-	ld [hNPCSpriteOffset], a
-	predef CalcPositionOfPlayerRelativeToNPC
-	ld hl, hNPCPlayerYDistance
-	dec [hl]
-	predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2
-	ld de, wNPCMovementDirections2
-	ld a, 1 ; oak
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $FF
-	ld [wJoyIgnore], a
-
-	; trigger the next script
-	ld a, 3
-	ld [wPalletTownCurScript], a
-	ret
-
-PalletTownScript3:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a ; ld a, SPRITE_FACING_DOWN
-	ld [wSpriteStateData1 + 9], a
-	ld a, 1
-	ld [wcf0d], a
-	ld a, $FC
-	ld [wJoyIgnore], a
-	ld a, 1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-; set up movement script that causes the player to follow Oak to his lab
-	ld a, $FF
-	ld [wJoyIgnore], a
-	ld a, 1
-	ld [wSpriteIndex], a
-	xor a
-	ld [wNPCMovementScriptFunctionNum], a
-	ld a, 1
-	ld [wNPCMovementScriptPointerTableNum], a
-	ld a, [H_LOADEDROMBANK]
-	ld [wNPCMovementScriptBank], a
-
-	; trigger the next script
-	ld a, 4
-	ld [wPalletTownCurScript], a
-	ret
-
-PalletTownScript4:
-	ld a, [wNPCMovementScriptPointerTableNum]
-	and a ; is the movement script over?
-	ret nz
-
-	; trigger the next script
-	ld a, 5
-	ld [wPalletTownCurScript], a
-	ret
-
-PalletTownScript5:
-	CheckEvent EVENT_DAISY_WALKING
-	jr nz, .next
-	CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1
-	jr nz, .next
-	SetEvent EVENT_DAISY_WALKING
-	ld a, HS_DAISY_SITTING
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_DAISY_WALKING
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-.next
-	CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK
-	ret z
-	SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2
-PalletTownScript6:
-	ret
-
-PalletTownTextPointers:
-	dw PalletTownText1
-	dw PalletTownText2
-	dw PalletTownText3
-	dw PalletTownText4
-	dw PalletTownText5
-	dw PalletTownText6
-	dw PalletTownText7
-
-PalletTownText1:
-	TX_ASM
-	ld a, [wcf0d]
-	and a
-	jr nz, .next
-	ld a, 1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, OakAppearsText
-	jr .done
-.next
-	ld hl, OakWalksUpText
-.done
-	call PrintText
-	jp TextScriptEnd
-
-OakAppearsText:
-	TX_FAR _OakAppearsText
-	TX_ASM
-	ld c, 10
-	call DelayFrames
-	xor a
-	ld [wEmotionBubbleSpriteIndex], a ; player's sprite
-	ld [wWhichEmotionBubble], a ; EXCLAMATION_BUBBLE
-	predef EmotionBubble
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	jp TextScriptEnd
-
-OakWalksUpText:
-	TX_FAR _OakWalksUpText
-	db "@"
-
-PalletTownText2: ; girl
-	TX_FAR _PalletTownText2
-	db "@"
-
-PalletTownText3: ; fat man
-	TX_FAR _PalletTownText3
-	db "@"
-
-PalletTownText4: ; sign by lab
-	TX_FAR _PalletTownText4
-	db "@"
-
-PalletTownText5: ; sign by fence
-	TX_FAR _PalletTownText5
-	db "@"
-
-PalletTownText6: ; sign by Red’s house
-	TX_FAR _PalletTownText6
-	db "@"
-
-PalletTownText7: ; sign by Blue’s house
-	TX_FAR _PalletTownText7
-	db "@"
--- a/scripts/pewtercity.asm
+++ /dev/null
@@ -1,322 +1,0 @@
-PewterCityScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, PewterCityScriptPointers
-	ld a, [wPewterCityCurScript]
-	jp CallFunctionInTable
-
-PewterCityScriptPointers:
-	dw PewterCityScript0
-	dw PewterCityScript1
-	dw PewterCityScript2
-	dw PewterCityScript3
-	dw PewterCityScript4
-	dw PewterCityScript5
-	dw PewterCityScript6
-
-PewterCityScript0:
-	xor a
-	ld [wMuseum1fCurScript], a
-	ResetEvent EVENT_BOUGHT_MUSEUM_TICKET
-	call PewterCityScript_1925e
-	ret
-
-PewterCityScript_1925e:
-	CheckEvent EVENT_BEAT_BROCK
-	ret nz
-	ld hl, CoordsData_19277
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-CoordsData_19277:
-	db $11,$23
-	db $11,$24
-	db $12,$25
-	db $13,$25
-	db $ff
-
-PewterCityScript1:
-	ld a, [wNPCMovementScriptPointerTableNum]
-	and a
-	ret nz
-	ld a, $3
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_UP
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, ($3 << 4) | SPRITE_FACING_UP
-	ld [hSpriteImageIndex], a
-	call SetSpriteImageIndexAfterSettingFacingDirection
-	call PlayDefaultMusic
-	ld hl, wFlags_0xcd60
-	set 4, [hl]
-	ld a, $d
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $3c
-	ld [$ffeb], a
-	ld a, $30
-	ld [$ffec], a
-	ld a, $c
-	ld [$ffed], a
-	ld a, $11
-	ld [$ffee], a
-	ld a, $3
-	ld [wSpriteIndex], a
-	call SetSpritePosition1
-	ld a, $3
-	ld [H_SPRITEINDEX], a
-	ld de, MovementData_PewterMuseumGuyExit
-	call MoveSprite
-	ld a, $2
-	ld [wPewterCityCurScript], a
-	ret
-
-MovementData_PewterMuseumGuyExit:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-PewterCityScript2:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_MUSEUM_GUY
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, $3
-	ld [wPewterCityCurScript], a
-	ret
-
-PewterCityScript3:
-	ld a, $3
-	ld [wSpriteIndex], a
-	call SetSpritePosition2
-	ld a, HS_MUSEUM_GUY
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wPewterCityCurScript], a
-	ret
-
-PewterCityScript4:
-	ld a, [wNPCMovementScriptPointerTableNum]
-	and a
-	ret nz
-	ld a, $5
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_LEFT
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, ($1 << 4) | SPRITE_FACING_LEFT
-	ld [hSpriteImageIndex], a
-	call SetSpriteImageIndexAfterSettingFacingDirection
-	call PlayDefaultMusic
-	ld hl, wFlags_0xcd60
-	set 4, [hl]
-	ld a, $e
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $3c
-	ld [$ffeb], a
-	ld a, $40
-	ld [$ffec], a
-	ld a, $16
-	ld [$ffed], a
-	ld a, $10
-	ld [$ffee], a
-	ld a, $5
-	ld [wSpriteIndex], a
-	call SetSpritePosition1
-	ld a, $5
-	ld [H_SPRITEINDEX], a
-	ld de, MovementData_PewterGymGuyExit
-	call MoveSprite
-	ld a, $5
-	ld [wPewterCityCurScript], a
-	ret
-
-MovementData_PewterGymGuyExit:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-PewterCityScript5:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_GYM_GUY
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, $6
-	ld [wPewterCityCurScript], a
-	ret
-
-PewterCityScript6:
-	ld a, $5
-	ld [wSpriteIndex], a
-	call SetSpritePosition2
-	ld a, HS_GYM_GUY
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wPewterCityCurScript], a
-	ret
-
-PewterCityTextPointers:
-	dw PewterCityText1
-	dw PewterCityText2
-	dw PewterCityText3
-	dw PewterCityText4
-	dw PewterCityText5
-	dw PewterCityText6
-	dw PewterCityText7
-	dw MartSignText
-	dw PokeCenterSignText
-	dw PewterCityText10
-	dw PewterCityText11
-	dw PewterCityText12
-	dw PewterCityText13
-	dw PewterCityText14
-
-PewterCityText1:
-	TX_FAR _PewterCityText1
-	db "@"
-
-PewterCityText2:
-	TX_FAR _PewterCityText2
-	db "@"
-
-PewterCityText3:
-	TX_ASM
-	ld hl, PewterCityText_193f1
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_193c9
-	ld hl, PewterCityText_193f6
-	call PrintText
-	jr .asm_193ee
-.asm_193c9
-	ld hl, PewterCityText_193fb
-	call PrintText
-	xor a
-	ld [hJoyPressed], a
-	ld [hJoyHeld], a
-	ld [wNPCMovementScriptFunctionNum], a
-	ld a, $2
-	ld [wNPCMovementScriptPointerTableNum], a
-	ld a, [H_LOADEDROMBANK]
-	ld [wNPCMovementScriptBank], a
-	ld a, $3
-	ld [wSpriteIndex], a
-	call GetSpritePosition2
-	ld a, $1
-	ld [wPewterCityCurScript], a
-.asm_193ee
-	jp TextScriptEnd
-
-PewterCityText_193f1:
-	TX_FAR _PewterCityText_193f1
-	db "@"
-
-PewterCityText_193f6:
-	TX_FAR _PewterCityText_193f6
-	db "@"
-
-PewterCityText_193fb:
-	TX_FAR _PewterCityText_193fb
-	db "@"
-
-PewterCityText13:
-	TX_FAR _PewterCityText13
-	db "@"
-
-PewterCityText4:
-	TX_ASM
-	ld hl, PewterCityText_19427
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	cp $0
-	jr nz, .asm_1941e
-	ld hl, PewterCityText_1942c
-	call PrintText
-	jr .asm_19424
-.asm_1941e
-	ld hl, PewterCityText_19431
-	call PrintText
-.asm_19424
-	jp TextScriptEnd
-
-PewterCityText_19427:
-	TX_FAR _PewterCityText_19427
-	db "@"
-
-PewterCityText_1942c:
-	TX_FAR _PewterCityText_1942c
-	db "@"
-
-PewterCityText_19431:
-	TX_FAR _PewterCityText_19431
-	db "@"
-
-PewterCityText5:
-	TX_ASM
-	ld hl, PewterCityText_1945d
-	call PrintText
-	xor a
-	ld [hJoyHeld], a
-	ld [wNPCMovementScriptFunctionNum], a
-	ld a, $3
-	ld [wNPCMovementScriptPointerTableNum], a
-	ld a, [H_LOADEDROMBANK]
-	ld [wNPCMovementScriptBank], a
-	ld a, $5
-	ld [wSpriteIndex], a
-	call GetSpritePosition2
-	ld a, $4
-	ld [wPewterCityCurScript], a
-	jp TextScriptEnd
-
-PewterCityText_1945d:
-	TX_FAR _PewterCityText_1945d
-	db "@"
-
-PewterCityText14:
-	TX_FAR _PewterCityText14
-	db "@"
-
-PewterCityText6:
-	TX_FAR _PewterCityText6
-	db "@"
-
-PewterCityText7:
-	TX_FAR _PewterCityText7
-	db "@"
-
-PewterCityText10:
-	TX_FAR _PewterCityText10
-	db "@"
-
-PewterCityText11:
-	TX_FAR _PewterCityText11
-	db "@"
-
-PewterCityText12:
-	TX_FAR _PewterCityText12
-	db "@"
--- a/scripts/pewtergym.asm
+++ /dev/null
@@ -1,228 +1,0 @@
-PewterGymScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, PewterGymScript_5c3a4
-	call EnableAutoTextBoxDrawing
-	ld hl, PewterGymTrainerHeader0
-	ld de, PewterGymScriptPointers
-	ld a, [wPewterGymCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wPewterGymCurScript], a
-	ret
-
-PewterGymScript_5c3a4:
-	ld hl, Gym1CityName
-	ld de, Gym1LeaderName
-	jp LoadGymLeaderAndCityName
-
-Gym1CityName:
-	db "PEWTER CITY@"
-
-Gym1LeaderName:
-	db "BROCK@"
-
-PewterGymScript_5c3bf:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wPewterGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PewterGymScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw PewterGymScript3
-
-PewterGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, PewterGymScript_5c3bf
-	ld a, $f0
-	ld [wJoyIgnore], a
-
-PewterGymScript_5c3df:
-	ld a, $4
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_BROCK
-	lb bc, TM_34, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM34
-	jr .asm_5c408
-.BagFull
-	ld a, $6
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_5c408
-	ld hl, wObtainedBadges
-	set 0, [hl]
-	ld hl, wBeatGymFlags
-	set 0, [hl]
-
-	ld a, HS_GYM_GUY
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_ROUTE_22_RIVAL_1
-	ld [wMissableObjectIndex], a
-	predef HideObject
-
-	ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
-
-	; deactivate gym trainers
-	SetEvent EVENT_BEAT_PEWTER_GYM_TRAINER_0
-
-	jp PewterGymScript_5c3bf
-
-PewterGymTextPointers:
-	dw PewterGymText1
-	dw PewterGymText2
-	dw PewterGymText3
-	dw PewterGymText4
-	dw PewterGymText5
-	dw PewterGymText6
-
-PewterGymTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0
-	db ($5 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0
-	dw PewterGymBattleText1 ; TextBeforeBattle
-	dw PewterGymAfterBattleText1 ; TextAfterBattle
-	dw PewterGymEndBattleText1 ; TextEndBattle
-	dw PewterGymEndBattleText1 ; TextEndBattle
-
-	db $ff
-
-PewterGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_BROCK
-	jr z, .asm_5c46a
-	CheckEventReuseA EVENT_GOT_TM34
-	jr nz, .asm_5c462
-	call z, PewterGymScript_5c3df
-	call DisableWaitingAfterTextDisplay
-	jr .asm_5c49b
-.asm_5c462
-	ld hl, PewterGymText_5c4a3
-	call PrintText
-	jr .asm_5c49b
-.asm_5c46a
-	ld hl, PewterGymText_5c49e
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, PewterGymText_5c4bc
-	ld de, PewterGymText_5c4bc
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $1
-	ld [wGymLeaderNo], a
-	xor a
-	ld [hJoyHeld], a
-	ld a, $3
-	ld [wPewterGymCurScript], a
-	ld [wCurMapScript], a
-.asm_5c49b
-	jp TextScriptEnd
-
-PewterGymText_5c49e:
-	TX_FAR _PewterGymText_5c49e
-	db "@"
-
-PewterGymText_5c4a3:
-	TX_FAR _PewterGymText_5c4a3
-	db "@"
-
-PewterGymText4:
-	TX_FAR _TM34PreReceiveText
-	db "@"
-
-PewterGymText5:
-	TX_FAR _ReceivedTM34Text
-	TX_SFX_ITEM_1
-	TX_FAR _TM34ExplanationText
-	db "@"
-
-PewterGymText6:
-	TX_FAR _TM34NoRoomText
-	db "@"
-
-PewterGymText_5c4bc:
-	TX_FAR _PewterGymText_5c4bc
-	TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded
-	TX_FAR _PewterGymText_5c4c1
-	db "@"
-
-PewterGymText2:
-	TX_ASM
-	ld hl, PewterGymTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PewterGymBattleText1:
-	TX_FAR _PewterGymBattleText1
-	db "@"
-
-PewterGymEndBattleText1:
-	TX_FAR _PewterGymEndBattleText1
-	db "@"
-
-PewterGymAfterBattleText1:
-	TX_FAR _PewterGymAfterBattleText1
-	db "@"
-
-PewterGymText3:
-	TX_ASM
-	ld a, [wBeatGymFlags]
-	bit 0, a
-	jr nz, .asm_5c50c
-	ld hl, PewterGymText_5c515
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_5c4fe
-	ld hl, PewterGymText_5c51a
-	call PrintText
-	jr .asm_5c504
-.asm_5c4fe
-	ld hl, PewterGymText_5c524
-	call PrintText
-.asm_5c504
-	ld hl, PewterGymText_5c51f
-	call PrintText
-	jr .asm_5c512
-.asm_5c50c
-	ld hl, PewterGymText_5c529
-	call PrintText
-.asm_5c512
-	jp TextScriptEnd
-
-PewterGymText_5c515:
-	TX_FAR _PewterGymText_5c515
-	db "@"
-
-PewterGymText_5c51a:
-	TX_FAR _PewterGymText_5c51a
-	db "@"
-
-PewterGymText_5c51f:
-	TX_FAR _PewterGymText_5c51f
-	db "@"
-
-PewterGymText_5c524:
-	TX_FAR _PewterGymText_5c524
-	db "@"
-
-PewterGymText_5c529:
-	TX_FAR _PewterGymText_5c529
-	db "@"
--- a/scripts/pewterhouse1.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-PewterHouse1Script:
-	jp EnableAutoTextBoxDrawing
-
-PewterHouse1TextPointers:
-	dw PewterHouse1Text1
-	dw PewterHouse1Text2
-	dw PewterHouse1Text3
-
-PewterHouse1Text1:
-	TX_FAR _PewterHouse1Text1
-	TX_ASM
-	ld a, NIDORAN_M
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-PewterHouse1Text2:
-	TX_FAR _PewterHouse1Text2
-	db "@"
-
-PewterHouse1Text3:
-	TX_FAR _PewterHouse1Text3
-	db "@"
--- a/scripts/pewterhouse2.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-PewterHouse2Script:
-	jp EnableAutoTextBoxDrawing
-
-PewterHouse2TextPointers:
-	dw PewterHouse2Text1
-	dw PewterHouse2Text2
-
-PewterHouse2Text1:
-	TX_FAR _PewterHouse2Text1
-	db "@"
-
-PewterHouse2Text2:
-	TX_FAR _PewterHouse2Text2
-	db "@"
--- a/scripts/pewtermart.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-PewterMartScript:
-	call EnableAutoTextBoxDrawing
-	ld a, $1
-	ld [wAutoTextBoxDrawingControl], a
-	ret
-
-PewterMartTextPointers:
-	dw PewterCashierText
-	dw PewterMartText2
-	dw PewterMartText3
-
-PewterMartText2:
-	TX_ASM
-	ld hl, .Text
-	call PrintText
-	jp TextScriptEnd
-.Text
-	TX_FAR _PewterMartText2
-	db "@"
-
-PewterMartText3:
-	TX_ASM
-	ld hl, .Text
-	call PrintText
-	jp TextScriptEnd
-.Text
-	TX_FAR _PewterMartText3
-	db "@"
--- a/scripts/pewterpokecenter.asm
+++ /dev/null
@@ -1,84 +1,0 @@
-PewterPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-PewterPokecenterTextPointers:
-	dw PewterHealNurseText
-	dw PewterPokecenterText2
-	dw PewterJigglypuffText
-	dw PewterTradeNurseText
-
-PewterHealNurseText:
-	TX_POKECENTER_NURSE
-
-PewterPokecenterText2:
-	TX_FAR _PewterPokecenterText2
-	db "@"
-
-PewterJigglypuffText:
-	TX_ASM
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, .Text
-	call PrintText
-	StopAllMusic
-	ld c, 32
-	call DelayFrames
-	ld hl, JigglypuffFacingDirections
-	ld de, wJigglypuffFacingDirections
-	ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections
-	call CopyData
-
-	ld a, [wSprite03StateData1ImageIndex]
-	ld hl, wJigglypuffFacingDirections
-.findMatchingFacingDirectionLoop
-	cp [hl]
-	inc hl
-	jr nz, .findMatchingFacingDirectionLoop
-	dec hl
-	push hl
-	ld c, BANK(Music_JigglypuffSong)
-	ld a, MUSIC_JIGGLYPUFF_SONG
-	call PlayMusic
-	pop hl
-.loop
-	ld a, [hl]
-	ld [wSprite03StateData1ImageIndex], a
-
-; rotate the array
-	push hl
-	ld hl, wJigglypuffFacingDirections
-	ld de, wJigglypuffFacingDirections - 1
-	ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections
-	call CopyData
-	ld a, [wJigglypuffFacingDirections - 1]
-	ld [wJigglypuffFacingDirections + 3], a
-	pop hl
-
-	ld c, 24
-	call DelayFrames
-
-	ld a, [wChannelSoundIDs]
-	ld b, a
-	ld a, [wChannelSoundIDs + Ch1]
-	or b
-	jr nz, .loop
-
-	ld c, 48
-	call DelayFrames
-	call PlayDefaultMusic
-	jp TextScriptEnd
-
-.Text
-	TX_FAR _PewterJigglypuffText
-	db "@"
-
-JigglypuffFacingDirections:
-	db $30 | SPRITE_FACING_DOWN
-	db $30 | SPRITE_FACING_LEFT
-	db $30 | SPRITE_FACING_UP
-	db $30 | SPRITE_FACING_RIGHT
-JigglypuffFacingDirectionsEnd:
-
-PewterTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
--- a/scripts/pokemontower1.asm
+++ /dev/null
@@ -1,29 +1,0 @@
-PokemonTower1Script:
-	jp EnableAutoTextBoxDrawing
-
-PokemonTower1TextPointers:
-	dw PokemonTower1Text1
-	dw PokemonTower1Text2
-	dw PokemonTower1Text3
-	dw PokemonTower1Text4
-	dw PokemonTower1Text5
-
-PokemonTower1Text1:
-	TX_FAR _PokemonTower1Text1
-	db "@"
-
-PokemonTower1Text2:
-	TX_FAR _PokemonTower1Text2
-	db "@"
-
-PokemonTower1Text3:
-	TX_FAR _PokemonTower1Text3
-	db "@"
-
-PokemonTower1Text4:
-	TX_FAR _PokemonTower1Text4
-	db "@"
-
-PokemonTower1Text5:
-	TX_FAR _PokemonTower1Text5
-	db "@"
--- a/scripts/pokemontower2.asm
+++ /dev/null
@@ -1,188 +1,0 @@
-PokemonTower2Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, PokemonTower2ScriptPointers
-	ld a, [wPokemonTower2CurScript]
-	jp CallFunctionInTable
-
-PokemonTower2Script_604fe:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wPokemonTower2CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower2ScriptPointers:
-	dw PokemonTower2Script0
-	dw PokemonTower2Script1
-	dw PokemonTower2Script2
-
-PokemonTower2Script0:
-	CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
-	ret nz
-	ld hl, CoordsData_6055e
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	ld c, BANK(Music_MeetRival)
-	ld a, MUSIC_MEET_RIVAL
-	call PlayMusic
-	ResetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
-	ld a, [wCoordIndex]
-	cp $1
-	ld a, PLAYER_DIR_UP
-	ld b, SPRITE_FACING_DOWN
-	jr nz, .asm_60544
-; the rival is on the left side and the player is on the right side
-	SetEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
-	ld a, PLAYER_DIR_LEFT
-	ld b, SPRITE_FACING_RIGHT
-.asm_60544
-	ld [wPlayerMovingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	ld a, b
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [hJoyHeld], a
-	ld [hJoyPressed], a
-	ret
-
-CoordsData_6055e:
-	db $05,$0F
-	db $06,$0E
-	db $0F ; isn't this supposed to end in $ff?
-
-PokemonTower2Script1:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, PokemonTower2Script_604fe
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld de, MovementData_605b2
-	CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT
-	jr nz, .asm_60589
-	ld de, MovementData_605a9
-.asm_60589
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStart
-	ld a, $2
-	ld [wPokemonTower2CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-MovementData_605a9:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-MovementData_605b2:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-PokemonTower2Script2:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_POKEMONTOWER_2_RIVAL
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	xor a
-	ld [wJoyIgnore], a
-	call PlayDefaultMusic
-	ld a, $0
-	ld [wPokemonTower2CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower2TextPointers:
-	dw PokemonTower2Text1
-	dw PokemonTower2Text2
-
-PokemonTower2Text1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL
-	jr z, .asm_16f24
-	ld hl, PokemonTower2Text_6063c
-	call PrintText
-	jr .asm_41852
-.asm_16f24
-	ld hl, PokemonTower2Text_6062d
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, PokemonTower2Text_60632
-	ld de, PokemonTower2Text_60637
-	call SaveEndBattleTextPointers
-	ld a, OPP_SONY2
-	ld [wCurOpponent], a
-
-	; select which team to use during the encounter
-	ld a, [wRivalStarter]
-	cp STARTER2
-	jr nz, .NotSquirtle
-	ld a, $4
-	jr .done
-.NotSquirtle
-	cp STARTER3
-	jr nz, .Charmander
-	ld a, $5
-	jr .done
-.Charmander
-	ld a, $6
-.done
-	ld [wTrainerNo], a
-
-	ld a, $1
-	ld [wPokemonTower2CurScript], a
-	ld [wCurMapScript], a
-.asm_41852
-	jp TextScriptEnd
-
-PokemonTower2Text_6062d:
-	TX_FAR _PokemonTower2Text_6062d
-	db "@"
-
-PokemonTower2Text_60632:
-	TX_FAR _PokemonTower2Text_60632
-	db "@"
-
-PokemonTower2Text_60637:
-	TX_FAR _PokemonTower2Text_60637
-	db "@"
-
-PokemonTower2Text_6063c:
-	TX_FAR _PokemonTower2Text_6063c
-	db "@"
-
-PokemonTower2Text2:
-	TX_FAR _PokemonTower2Text2
-	db "@"
--- a/scripts/pokemontower3.asm
+++ /dev/null
@@ -1,101 +1,0 @@
-PokemonTower3Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, PokemonTower3TrainerHeader0
-	ld de, PokemonTower3ScriptPointers
-	ld a, [wPokemonTower3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wPokemonTower3CurScript], a
-	ret
-
-PokemonTower3ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-PokemonTower3TextPointers:
-	dw PokemonTower3Text1
-	dw PokemonTower3Text2
-	dw PokemonTower3Text3
-	dw PickUpItemText
-
-PokemonTower3TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_0
-	dw PokemonTower3BattleText1 ; TextBeforeBattle
-	dw PokemonTower3AfterBattleText1 ; TextAfterBattle
-	dw PokemonTower3EndBattleText1 ; TextEndBattle
-	dw PokemonTower3EndBattleText1 ; TextEndBattle
-
-PokemonTower3TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_1
-	dw PokemonTower3BattleText2 ; TextBeforeBattle
-	dw PokemonTower3AfterBattleText2 ; TextAfterBattle
-	dw PokemonTower3EndBattleText2 ; TextEndBattle
-	dw PokemonTower3EndBattleText2 ; TextEndBattle
-
-PokemonTower3TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_2
-	dw PokemonTower3BattleText3 ; TextBeforeBattle
-	dw PokemonTower3AfterBattleText3 ; TextAfterBattle
-	dw PokemonTower3EndBattleText3 ; TextEndBattle
-	dw PokemonTower3EndBattleText3 ; TextEndBattle
-	db $ff
-
-PokemonTower3Text1:
-	TX_ASM
-	ld hl, PokemonTower3TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower3Text2:
-	TX_ASM
-	ld hl, PokemonTower3TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower3Text3:
-	TX_ASM
-	ld hl, PokemonTower3TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower3BattleText1:
-	TX_FAR _PokemonTower3BattleText1
-	db "@"
-
-PokemonTower3EndBattleText1:
-	TX_FAR _PokemonTower3EndBattleText1
-	db "@"
-
-PokemonTower3AfterBattleText1:
-	TX_FAR _PokemonTower3AfterBattleText1
-	db "@"
-
-PokemonTower3BattleText2:
-	TX_FAR _PokemonTower3BattleText2
-	db "@"
-
-PokemonTower3EndBattleText2:
-	TX_FAR _PokemonTower3EndBattleText2
-	db "@"
-
-PokemonTower3AfterBattleText2:
-	TX_FAR _PokemonTower3AfterBattleText2
-	db "@"
-
-PokemonTower3BattleText3:
-	TX_FAR _PokemonTower3BattleText3
-	db "@"
-
-PokemonTower3EndBattleText3:
-	TX_FAR _PokemonTower3EndBattleText3
-	db "@"
-
-PokemonTower3AfterBattleText3:
-	TX_FAR _PokemonTower3AfterBattleText3
-	db "@"
--- a/scripts/pokemontower4.asm
+++ /dev/null
@@ -1,104 +1,0 @@
-PokemonTower4Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, PokemonTower4TrainerHeader0
-	ld de, PokemonTower4ScriptPointers
-	ld a, [wPokemonTower4CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wPokemonTower4CurScript], a
-	ret
-
-PokemonTower4ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-PokemonTower4TextPointers:
-	dw PokemonTower4Text1
-	dw PokemonTower4Text2
-	dw PokemonTower4Text3
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-
-PokemonTower4TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_0
-	dw PokemonTower4BattleText1 ; TextBeforeBattle
-	dw PokemonTower4AfterBattleText1 ; TextAfterBattle
-	dw PokemonTower4EndBattleText1 ; TextEndBattle
-	dw PokemonTower4EndBattleText1 ; TextEndBattle
-
-PokemonTower4TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_1
-	dw PokemonTower4BattleText2 ; TextBeforeBattle
-	dw PokemonTower4AfterBattleText2 ; TextAfterBattle
-	dw PokemonTower4EndBattleText2 ; TextEndBattle
-	dw PokemonTower4EndBattleText2 ; TextEndBattle
-
-PokemonTower4TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_2
-	dw PokemonTower4BattleText3 ; TextBeforeBattle
-	dw PokemonTower4AfterBattleText3 ; TextAfterBattle
-	dw PokemonTower4EndBattleText3 ; TextEndBattle
-	dw PokemonTower4EndBattleText3 ; TextEndBattle
-
-	db $ff
-
-PokemonTower4Text1:
-	TX_ASM
-	ld hl, PokemonTower4TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower4Text2:
-	TX_ASM
-	ld hl, PokemonTower4TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower4Text3:
-	TX_ASM
-	ld hl, PokemonTower4TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower4BattleText1:
-	TX_FAR _PokemonTower4BattleText1
-	db "@"
-
-PokemonTower4EndBattleText1:
-	TX_FAR _PokemonTower4EndBattleText1
-	db "@"
-
-PokemonTower4AfterBattleText1:
-	TX_FAR _PokemonTower4AfterBattleText1
-	db "@"
-
-PokemonTower4BattleText2:
-	TX_FAR _PokemonTower4BattleText2
-	db "@"
-
-PokemonTower4EndBattleText2:
-	TX_FAR _PokemonTower4EndBattleText2
-	db "@"
-
-PokemonTower4AfterBattleText2:
-	TX_FAR _PokemonTower4AfterBattleText2
-	db "@"
-
-PokemonTower4BattleText3:
-	TX_FAR _PokemonTower4BattleText3
-	db "@"
-
-PokemonTower4EndBattleText3:
-	TX_FAR _PokemonTower4EndBattleText3
-	db "@"
-
-PokemonTower4AfterBattleText3:
-	TX_FAR _PokemonTower4AfterBattleText3
-	db "@"
--- a/scripts/pokemontower5.asm
+++ /dev/null
@@ -1,176 +1,0 @@
-PokemonTower5Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, PokemonTower5TrainerHeader0
-	ld de, PokemonTower5ScriptPointers
-	ld a, [wPokemonTower5CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wPokemonTower5CurScript], a
-	ret
-
-PokemonTower5ScriptPointers:
-	dw PokemonTower5Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-PokemonTower5Script0:
-	ld hl, CoordsData_60992
-	call ArePlayerCoordsInArray
-	jr c, .asm_60960
-	ld hl, wd72e
-	res 4, [hl]
-	ResetEvent EVENT_IN_PURIFIED_ZONE
-	jp CheckFightingMapTrainers
-.asm_60960
-	CheckAndSetEvent EVENT_IN_PURIFIED_ZONE
-	ret nz
-	xor a
-	ld [hJoyHeld], a
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld hl, wd72e
-	set 4, [hl]
-	predef HealParty
-	call GBFadeOutToWhite
-	call Delay3
-	call Delay3
-	call GBFadeInFromWhite
-	ld a, $7
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [wJoyIgnore], a
-	ret
-
-CoordsData_60992:
-	db $08,$0A
-	db $08,$0B
-	db $09,$0A
-	db $09,$0B
-	db $FF
-
-PokemonTower5TextPointers:
-	dw PokemonTower5Text1
-	dw PokemonTower5Text2
-	dw PokemonTower5Text3
-	dw PokemonTower5Text4
-	dw PokemonTower5Text5
-	dw PickUpItemText
-	dw PokemonTower5Text7
-
-PokemonTower5TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_0
-	dw PokemonTower5BattleText1 ; TextBeforeBattle
-	dw PokemonTower5AfterBattleText1 ; TextAfterBattle
-	dw PokemonTower5EndBattleText1 ; TextEndBattle
-	dw PokemonTower5EndBattleText1 ; TextEndBattle
-
-PokemonTower5TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_1
-	dw PokemonTower5BattleText2 ; TextBeforeBattle
-	dw PokemonTower5AfterBattleText2 ; TextAfterBattle
-	dw PokemonTower5EndBattleText2 ; TextEndBattle
-	dw PokemonTower5EndBattleText2 ; TextEndBattle
-
-PokemonTower5TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_2
-	dw PokemonTower5BattleText3 ; TextBeforeBattle
-	dw PokemonTower5AfterBattleText3 ; TextAfterBattle
-	dw PokemonTower5EndBattleText3 ; TextEndBattle
-	dw PokemonTower5EndBattleText3 ; TextEndBattle
-
-PokemonTower5TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_3
-	dw PokemonTower5BattleText4 ; TextBeforeBattle
-	dw PokemonTower5AfterBattleText4 ; TextAfterBattle
-	dw PokemonTower5EndBattleText4 ; TextEndBattle
-	dw PokemonTower5EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-PokemonTower5Text1:
-	TX_FAR _PokemonTower5Text1
-	db "@"
-
-PokemonTower5Text2:
-	TX_ASM
-	ld hl, PokemonTower5TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower5BattleText1:
-	TX_FAR _PokemonTower5BattleText1
-	db "@"
-
-PokemonTower5EndBattleText1:
-	TX_FAR _PokemonTower5EndBattleText1
-	db "@"
-
-PokemonTower5AfterBattleText1:
-	TX_FAR _PokemonTower5AfterBattleText1
-	db "@"
-
-PokemonTower5Text3:
-	TX_ASM
-	ld hl, PokemonTower5TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower5BattleText2:
-	TX_FAR _PokemonTower5BattleText2
-	db "@"
-
-PokemonTower5EndBattleText2:
-	TX_FAR _PokemonTower5EndBattleText2
-	db "@"
-
-PokemonTower5AfterBattleText2:
-	TX_FAR _PokemonTower5AfterBattleText2
-	db "@"
-
-PokemonTower5Text4:
-	TX_ASM
-	ld hl, PokemonTower5TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower5BattleText3:
-	TX_FAR _PokemonTower5BattleText3
-	db "@"
-
-PokemonTower5EndBattleText3:
-	TX_FAR _PokemonTower5EndBattleText3
-	db "@"
-
-PokemonTower5AfterBattleText3:
-	TX_FAR _PokemonTower5AfterBattleText3
-	db "@"
-
-PokemonTower5Text5:
-	TX_ASM
-	ld hl, PokemonTower5TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower5BattleText4:
-	TX_FAR _PokemonTower5BattleText4
-	db "@"
-
-PokemonTower5EndBattleText4:
-	TX_FAR _PokemonTower5EndBattleText4
-	db "@"
-
-PokemonTower5AfterBattleText4:
-	TX_FAR _PokemonTower5AfterBattleText4
-	db "@"
-
-PokemonTower5Text7:
-	TX_FAR _PokemonTower5Text7
-	db "@"
--- a/scripts/pokemontower6.asm
+++ /dev/null
@@ -1,212 +1,0 @@
-PokemonTower6Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, PokemonTower6TrainerHeader0
-	ld de, PokemonTower6ScriptPointers
-	ld a, [wPokemonTower6CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wPokemonTower6CurScript], a
-	ret
-
-PokemonTower6Script_60b02:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wPokemonTower6CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower6ScriptPointers:
-	dw PokemonTower6Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw PokemonTower6Script3
-	dw PokemonTower6Script4
-
-PokemonTower6Script0:
-	CheckEvent EVENT_BEAT_GHOST_MAROWAK
-	jp nz, CheckFightingMapTrainers
-	ld hl, CoordsData_60b45
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	xor a
-	ld [hJoyHeld], a
-	ld a, $6
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, MAROWAK
-	ld [wCurOpponent], a
-	ld a, 30
-	ld [wCurEnemyLVL], a
-	ld a, $4
-	ld [wPokemonTower6CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-CoordsData_60b45:
-	db $10,$0A,$FF
-
-PokemonTower6Script4:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, PokemonTower6Script_60b02
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld a, [wd72d]
-	bit 6, a
-	ret nz
-	call UpdateSprites
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, [wBattleResult]
-	and a
-	jr nz, .asm_60b82
-	SetEvent EVENT_BEAT_GHOST_MAROWAK
-	ld a, $7
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wPokemonTower6CurScript], a
-	ld [wCurMapScript], a
-	ret
-.asm_60b82
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, $10
-	ld [wSimulatedJoypadStatesEnd], a
-	xor a
-	ld [wSpriteStateData2 + $06], a
-	ld [wOverrideSimulatedJoypadStatesMask], a
-	ld hl, wd730
-	set 7, [hl]
-	ld a, $3
-	ld [wPokemonTower6CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower6Script3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wPokemonTower6CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower6TextPointers:
-	dw PokemonTower6Text1
-	dw PokemonTower6Text2
-	dw PokemonTower6Text3
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PokemonTower6Text6
-	dw PokemonTower6Text7
-
-PokemonTower6TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0
-	dw PokemonTower6BattleText1 ; TextBeforeBattle
-	dw PokemonTower6AfterBattleText1 ; TextAfterBattle
-	dw PokemonTower6EndBattleText1 ; TextEndBattle
-	dw PokemonTower6EndBattleText1 ; TextEndBattle
-
-PokemonTower6TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1
-	dw PokemonTower6BattleText2 ; TextBeforeBattle
-	dw PokemonTower6AfterBattleText2 ; TextAfterBattle
-	dw PokemonTower6EndBattleText2 ; TextEndBattle
-	dw PokemonTower6EndBattleText2 ; TextEndBattle
-
-PokemonTower6TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2
-	dw PokemonTower6BattleText3 ; TextBeforeBattle
-	dw PokemonTower6AfterBattleText3 ; TextAfterBattle
-	dw PokemonTower6EndBattleText3 ; TextEndBattle
-	dw PokemonTower6EndBattleText3 ; TextEndBattle
-
-	db $ff
-
-PokemonTower6Text1:
-	TX_ASM
-	ld hl, PokemonTower6TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower6Text2:
-	TX_ASM
-	ld hl, PokemonTower6TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower6Text3:
-	TX_ASM
-	ld hl, PokemonTower6TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower6Text7:
-	TX_ASM
-	ld hl, PokemonTower2Text_60c1f
-	call PrintText
-	ld a, MAROWAK
-	call PlayCry
-	call WaitForSoundToFinish
-	ld c, 30
-	call DelayFrames
-	ld hl, PokemonTower2Text_60c24
-	call PrintText
-	jp TextScriptEnd
-
-PokemonTower2Text_60c1f:
-	TX_FAR _PokemonTower2Text_60c1f
-	db "@"
-
-PokemonTower2Text_60c24:
-	TX_FAR _PokemonTower2Text_60c24
-	db "@"
-
-PokemonTower6BattleText1:
-	TX_FAR _PokemonTower6BattleText1
-	db "@"
-
-PokemonTower6EndBattleText1:
-	TX_FAR _PokemonTower6EndBattleText1
-	db "@"
-
-PokemonTower6AfterBattleText1:
-	TX_FAR _PokemonTower6AfterBattleText1
-	db "@"
-
-PokemonTower6BattleText2:
-	TX_FAR _PokemonTower6BattleText2
-	db "@"
-
-PokemonTower6EndBattleText2:
-	TX_FAR _PokemonTower6EndBattleText2
-	db "@"
-
-PokemonTower6AfterBattleText2:
-	TX_FAR _PokemonTower6AfterBattleText2
-	db "@"
-
-PokemonTower6BattleText3:
-	TX_FAR _PokemonTower6BattleText3
-	db "@"
-
-PokemonTower6EndBattleText3:
-	TX_FAR _PokemonTower6EndBattleText3
-	db "@"
-
-PokemonTower6AfterBattleText3:
-	TX_FAR _PokemonTower6AfterBattleText3
-	db "@"
-
-PokemonTower6Text6:
-	TX_FAR _PokemonTower6Text6
-	db "@"
--- a/scripts/pokemontower7.asm
+++ /dev/null
@@ -1,312 +1,0 @@
-PokemonTower7Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, PokemonTower7TrainerHeader0
-	ld de, PokemonTower7ScriptPointers
-	ld a, [wPokemonTower7CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wPokemonTower7CurScript], a
-	ret
-
-PokemonTower7Script_60d18:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wPokemonTower7CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower7ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw PokemonTower7Script2
-	dw PokemonTower7Script3
-	dw PokemonTower7Script4
-
-PokemonTower7Script2:
-	ld hl, wFlags_0xcd60
-	res 0, [hl]
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, PokemonTower7Script_60d18
-	call EndTrainerBattle
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, [wSpriteIndex]
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call PokemonTower7Script_60db6
-	ld a, $3
-	ld [wPokemonTower7CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower7Script3:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld hl, wMissableObjectList
-	ld a, [wSpriteIndex]
-	ld b, a
-.missableObjectsListLoop
-	ld a, [hli]
-	cp b            ; search for sprite ID in missing objects list
-	ld a, [hli]
-	jr nz, .missableObjectsListLoop
-	ld [wMissableObjectIndex], a   ; remove missable object
-	predef HideObject
-	xor a
-	ld [wJoyIgnore], a
-	ld [wSpriteIndex], a
-	ld [wTrainerHeaderFlagBit], a
-	ld [wUnusedDA38], a
-	ld a, $0
-	ld [wPokemonTower7CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower7Script4:
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld a, HS_POKEMONTOWER_7_MR_FUJI
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, SPRITE_FACING_UP
-	ld [wSpriteStateData1 + 9], a
-	ld a, LAVENDER_HOUSE_1
-	ld [hWarpDestinationMap], a
-	ld a, $1
-	ld [wDestinationWarpID], a
-	ld a, LAVENDER_TOWN
-	ld [wLastMap], a
-	ld hl, wd72d
-	set 3, [hl]
-	ld a, $0
-	ld [wPokemonTower7CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-PokemonTower7Script_60db6:
-	ld hl, CoordsData_60de3
-	ld a, [wSpriteIndex]
-	dec a
-	swap a
-	ld d, $0
-	ld e, a
-	add hl, de
-	ld a, [wYCoord]
-	ld b, a
-	ld a, [wXCoord]
-	ld c, a
-.asm_60dcb
-	ld a, [hli]
-	cp b
-	jr nz, .asm_60dde
-	ld a, [hli]
-	cp c
-	jr nz, .asm_60ddf
-	ld a, [hli]
-	ld d, [hl]
-	ld e, a
-	ld a, [wSpriteIndex]
-	ld [H_SPRITEINDEX], a
-	jp MoveSprite
-.asm_60dde
-	inc hl
-.asm_60ddf
-	inc hl
-	inc hl
-	jr .asm_60dcb
-
-CoordsData_60de3:
-	db $0C,$09
-	dw MovementData_60e13
-	db $0B,$0A
-	dw MovementData_60e1b
-	db $0B,$0B
-	dw MovementData_60e22
-	db $0B,$0C
-	dw MovementData_60e22
-	db $0A,$0C
-	dw MovementData_60e28
-	db $09,$0B
-	dw MovementData_60e30
-	db $09,$0A
-	dw MovementData_60e22
-	db $09,$09
-	dw MovementData_60e22
-	db $08,$09
-	dw MovementData_60e37
-	db $07,$0A
-	dw MovementData_60e22
-	db $07,$0B
-	dw MovementData_60e22
-	db $07,$0C
-	dw MovementData_60e22
-
-MovementData_60e13:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_LEFT
-	db $FF
-
-MovementData_60e1b:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-MovementData_60e22:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-MovementData_60e28:
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-MovementData_60e30:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-MovementData_60e37:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-PokemonTower7TextPointers:
-	dw PokemonTower7Text1
-	dw PokemonTower7Text2
-	dw PokemonTower7Text3
-	dw PokemonTower7FujiText
-
-PokemonTower7TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0
-	dw PokemonTower7BattleText1 ; TextBeforeBattle
-	dw PokemonTower7AfterBattleText1 ; TextAfterBattle
-	dw PokemonTower7EndBattleText1 ; TextEndBattle
-	dw PokemonTower7EndBattleText1 ; TextEndBattle
-
-PokemonTower7TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1
-	dw PokemonTower7BattleText2 ; TextBeforeBattle
-	dw PokemonTower7AfterBattleText2 ; TextAfterBattle
-	dw PokemonTower7EndBattleText2 ; TextEndBattle
-	dw PokemonTower7EndBattleText2 ; TextEndBattle
-
-PokemonTower7TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2
-	dw PokemonTower7BattleText3 ; TextBeforeBattle
-	dw PokemonTower7AfterBattleText3 ; TextAfterBattle
-	dw PokemonTower7EndBattleText3 ; TextEndBattle
-	dw PokemonTower7EndBattleText3 ; TextEndBattle
-
-	db $ff
-
-PokemonTower7Text1:
-	TX_ASM
-	ld hl, PokemonTower7TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower7Text2:
-	TX_ASM
-	ld hl, PokemonTower7TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower7Text3:
-	TX_ASM
-	ld hl, PokemonTower7TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-PokemonTower7FujiText:
-	TX_ASM
-	ld hl, TowerRescueFujiText
-	call PrintText
-	SetEvent EVENT_RESCUED_MR_FUJI
-	SetEvent EVENT_RESCUED_MR_FUJI_2
-	ld a, HS_LAVENDER_HOUSE_1_MR_FUJI
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, HS_SAFFRON_CITY_E
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_SAFFRON_CITY_F
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, $4
-	ld [wPokemonTower7CurScript], a
-	ld [wCurMapScript], a
-	jp TextScriptEnd
-
-TowerRescueFujiText:
-	TX_FAR _TowerRescueFujiText
-	db "@"
-
-PokemonTower7BattleText1:
-	TX_FAR _PokemonTower7BattleText1
-	db "@"
-
-PokemonTower7EndBattleText1:
-	TX_FAR _PokemonTower7EndBattleText1
-	db "@"
-
-PokemonTower7AfterBattleText1:
-	TX_FAR _PokemonTower7AfterBattleText1
-	db "@"
-
-PokemonTower7BattleText2:
-	TX_FAR _PokemonTower7BattleText2
-	db "@"
-
-PokemonTower7EndBattleText2:
-	TX_FAR _PokemonTower7EndBattleText2
-	db "@"
-
-PokemonTower7AfterBattleText2:
-	TX_FAR _PokemonTower7AfterBattleText2
-	db "@"
-
-PokemonTower7BattleText3:
-	TX_FAR _PokemonTower7BattleText3
-	db "@"
-
-PokemonTower7EndBattleText3:
-	TX_FAR _PokemonTower7EndBattleText3
-	db "@"
-
-PokemonTower7AfterBattleText3:
-	TX_FAR _PokemonTower7AfterBattleText3
-	db "@"
--- a/scripts/powerplant.asm
+++ /dev/null
@@ -1,175 +1,0 @@
-PowerPlantScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, Voltorb0TrainerHeader
-	ld de, .ScriptPointers
-	ld a, [wPowerPlantCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wPowerPlantCurScript], a
-	ret
-
-.ScriptPointers
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-PowerPlantTextPointers:
-	dw Voltorb0Text
-	dw Voltorb1Text
-	dw Voltorb2Text
-	dw Voltorb3Text
-	dw Voltorb4Text
-	dw Voltorb5Text
-	dw Voltorb6Text
-	dw Voltorb7Text
-	dw ZapdosText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-
-Voltorb0TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_0
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_0
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-Voltorb1TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_1
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_1
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-Voltorb2TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_2
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_2
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-Voltorb3TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_3
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_3
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-Voltorb4TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_4
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_4
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-Voltorb5TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_5
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_5
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-Voltorb6TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_6
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_6
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-Voltorb7TrainerHeader:
-	dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1
-	dw VoltorbBattleText ; TextBeforeBattle
-	dw VoltorbBattleText ; TextAfterBattle
-	dw VoltorbBattleText ; TextEndBattle
-	dw VoltorbBattleText ; TextEndBattle
-
-ZapdosTrainerHeader:
-	dbEventFlagBit EVENT_BEAT_ZAPDOS, 1
-	db 0 ; view range
-	dwEventFlagAddress EVENT_BEAT_ZAPDOS, 1
-	dw ZapdosBattleText ; TextBeforeBattle
-	dw ZapdosBattleText ; TextAfterBattle
-	dw ZapdosBattleText ; TextEndBattle
-	dw ZapdosBattleText ; TextEndBattle
-
-	db $ff
-
-InitVoltorbBattle:
-	call TalkToTrainer
-	ld a, [wCurMapScript]
-	ld [wPowerPlantCurScript], a
-	jp TextScriptEnd
-
-Voltorb0Text:
-	TX_ASM
-	ld hl, Voltorb0TrainerHeader
-	jr InitVoltorbBattle
-
-Voltorb1Text:
-	TX_ASM
-	ld hl, Voltorb1TrainerHeader
-	jr InitVoltorbBattle
-
-Voltorb2Text:
-	TX_ASM
-	ld hl, Voltorb2TrainerHeader
-	jr InitVoltorbBattle
-
-Voltorb3Text:
-	TX_ASM
-	ld hl, Voltorb3TrainerHeader
-	jr InitVoltorbBattle
-
-Voltorb4Text:
-	TX_ASM
-	ld hl, Voltorb4TrainerHeader
-	jr InitVoltorbBattle
-
-Voltorb5Text:
-	TX_ASM
-	ld hl, Voltorb5TrainerHeader
-	jr InitVoltorbBattle
-
-Voltorb6Text:
-	TX_ASM
-	ld hl, Voltorb6TrainerHeader
-	jr InitVoltorbBattle
-
-Voltorb7Text:
-	TX_ASM
-	ld hl, Voltorb7TrainerHeader
-	jr InitVoltorbBattle
-
-ZapdosText:
-	TX_ASM
-	ld hl, ZapdosTrainerHeader
-	jr InitVoltorbBattle
-
-VoltorbBattleText:
-	TX_FAR _VoltorbBattleText
-	db "@"
-
-ZapdosBattleText:
-	TX_FAR _ZapdosBattleText
-	TX_ASM
-	ld a, ZAPDOS
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
--- a/scripts/redshouse1f.asm
+++ /dev/null
@@ -1,69 +1,0 @@
-RedsHouse1FScript:
-	jp EnableAutoTextBoxDrawing
-
-RedsHouse1FTextPointers:
-	dw RedsHouse1FText1
-	dw RedsHouse1FText2
-
-RedsHouse1FText1: ; Mom
-	TX_ASM
-	ld a, [wd72e]
-	bit 3, a
-	jr nz, .heal ; if player has received a Pokémon from Oak, heal team
-	ld hl, MomWakeUpText
-	call PrintText
-	jr .done
-.heal
-	call MomHealPokemon
-.done
-	jp TextScriptEnd
-
-MomWakeUpText:
-	TX_FAR _MomWakeUpText
-	db "@"
-
-MomHealPokemon:
-	ld hl, MomHealText1
-	call PrintText
-	call GBFadeOutToWhite
-	call ReloadMapData
-	predef HealParty
-	ld a, MUSIC_PKMN_HEALED
-	ld [wNewSoundID], a
-	call PlaySound
-.next
-	ld a, [wChannelSoundIDs]
-	cp MUSIC_PKMN_HEALED
-	jr z, .next
-	ld a, [wMapMusicSoundID]
-	ld [wNewSoundID], a
-	call PlaySound
-	call GBFadeInFromWhite
-	ld hl, MomHealText2
-	jp PrintText
-
-MomHealText1:
-	TX_FAR _MomHealText1
-	db "@"
-MomHealText2:
-	TX_FAR _MomHealText2
-	db "@"
-
-RedsHouse1FText2: ; TV
-	TX_ASM
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	ld hl, TVWrongSideText
-	jr nz, .notUp
-	ld hl, StandByMeText
-.notUp
-	call PrintText
-	jp TextScriptEnd
-
-StandByMeText:
-	TX_FAR _StandByMeText
-	db "@"
-
-TVWrongSideText:
-	TX_FAR _TVWrongSideText
-	db "@"
--- a/scripts/redshouse2f.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-RedsHouse2FScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, RedsHouse2FScriptPointers
-	ld a, [wRedsHouse2CurScript]
-	jp CallFunctionInTable
-
-RedsHouse2FScriptPointers:
-	dw RedsHouse2FScript0
-	dw RedsHouse2FScript1
-
-RedsHouse2FScript0:
-	xor a
-	ld [hJoyHeld], a
-	ld a, PLAYER_DIR_UP
-	ld [wPlayerMovingDirection], a
-	ld a, 1
-	ld [wRedsHouse2CurScript], a
-	ret
-
-RedsHouse2FScript1:
-	ret
-
-RedsHouse2FTextPointers:
-	db "@"
--- a/scripts/rockethideout1.asm
+++ /dev/null
@@ -1,189 +1,0 @@
-RocketHideout1Script:
-	call RocketHideout1Script_44be0
-	call EnableAutoTextBoxDrawing
-	ld hl, RocketHideout1TrainerHeader0
-	ld de, RocketHideout1ScriptPointers
-	ld a, [wRocketHideout1CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRocketHideout1CurScript], a
-	ret
-
-RocketHideout1Script_44be0:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_677
-	jr nz, .asm_44c01
-	CheckEventReuseA EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
-	jr nz, .asm_44bf7
-	ld a, $54
-	jr .asm_44c03
-.asm_44bf7
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	CheckEventHL EVENT_677
-.asm_44c01
-	ld a, $e
-.asm_44c03
-	ld [wNewTileBlockID], a
-	lb bc, 8, 12
-	predef_jump ReplaceTileBlock
-
-RocketHideout1ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-RocketHideout1TextPointers:
-	dw RocketHideout1Text1
-	dw RocketHideout1Text2
-	dw RocketHideout1Text3
-	dw RocketHideout1Text4
-	dw RocketHideout1Text5
-	dw PickUpItemText
-	dw PickUpItemText
-
-RocketHideout1TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0
-	dw RocketHideout1BattleText2 ; TextBeforeBattle
-	dw RocketHideout1AfterBattleTxt2 ; TextAfterBattle
-	dw RocketHideout1EndBattleText2 ; TextEndBattle
-	dw RocketHideout1EndBattleText2 ; TextEndBattle
-
-RocketHideout1TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1
-	dw RocketHideout1BattleText3 ; TextBeforeBattle
-	dw RocketHideout1AfterBattleTxt3 ; TextAfterBattle
-	dw RocketHideout1EndBattleText3 ; TextEndBattle
-	dw RocketHideout1EndBattleText3 ; TextEndBattle
-
-RocketHideout1TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2
-	dw RocketHideout1BattleText4 ; TextBeforeBattle
-	dw RocketHideout1AfterBattleTxt4 ; TextAfterBattle
-	dw RocketHideout1EndBattleText4 ; TextEndBattle
-	dw RocketHideout1EndBattleText4 ; TextEndBattle
-
-RocketHideout1TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3
-	dw RocketHideout1BattleText5 ; TextBeforeBattle
-	dw RocketHideout1AfterBattleTxt5 ; TextAfterBattle
-	dw RocketHideout1EndBattleText5 ; TextEndBattle
-	dw RocketHideout1EndBattleText5 ; TextEndBattle
-
-RocketHideout1TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
-	dw RocketHideout1BattleText6 ; TextBeforeBattle
-	dw RocketHideout1AfterBattleTxt6 ; TextAfterBattle
-	dw RocketHideout1EndBattleText6 ; TextEndBattle
-	dw RocketHideout1EndBattleText6 ; TextEndBattle
-
-	db $ff
-
-RocketHideout1Text1:
-	TX_ASM
-	ld hl, RocketHideout1TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout1Text2:
-	TX_ASM
-	ld hl, RocketHideout1TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout1Text3:
-	TX_ASM
-	ld hl, RocketHideout1TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout1Text4:
-	TX_ASM
-	ld hl, RocketHideout1TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout1Text5:
-	TX_ASM
-	ld hl, RocketHideout1TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout1EndBattleText6:
-	TX_FAR _RocketHideout1EndBattleText6
-	TX_ASM
-	SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4
-	ld hl, RocketHideout1Text_44c9f
-	ret
-
-RocketHideout1Text_44c9f:
-	TX_BLINK
-	db "@"
-
-RocketHideout1BattleText2:
-	TX_FAR _RocketHideout1BattleText2
-	db "@"
-
-RocketHideout1EndBattleText2:
-	TX_FAR _RocketHideout1EndBattleText2
-	db "@"
-
-RocketHideout1AfterBattleTxt2:
-	TX_FAR _RocketHideout1AfterBattleTxt2
-	db "@"
-
-RocketHideout1BattleText3:
-	TX_FAR _RocketHideout1BattleText3
-	db "@"
-
-RocketHideout1EndBattleText3:
-	TX_FAR _RocketHideout1EndBattleText3
-	db "@"
-
-RocketHideout1AfterBattleTxt3:
-	TX_FAR _RocketHideout1AfterBattleTxt3
-	db "@"
-
-RocketHideout1BattleText4:
-	TX_FAR _RocketHideout1BattleText4
-	db "@"
-
-RocketHideout1EndBattleText4:
-	TX_FAR _RocketHideout1EndBattleText4
-	db "@"
-
-RocketHideout1AfterBattleTxt4:
-	TX_FAR _RocketHideout1AfterBattleTxt4
-	db "@"
-
-RocketHideout1BattleText5:
-	TX_FAR _RocketHideout1BattleText5
-	db "@"
-
-RocketHideout1EndBattleText5:
-	TX_FAR _RocketHideout1EndBattleText5
-	db "@"
-
-RocketHideout1AfterBattleTxt5:
-	TX_FAR _RocketHideout1AfterBattleTxt5
-	db "@"
-
-RocketHideout1BattleText6:
-	TX_FAR _RocketHideout1BattleText6
-	db "@"
-
-RocketHideout1AfterBattleTxt6:
-	TX_FAR _RocketHideout1AfterBattleTxt6
-	db "@"
--- a/scripts/rockethideout2.asm
+++ /dev/null
@@ -1,450 +1,0 @@
-RocketHideout2Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, RocketHideout2TrainerHeader0
-	ld de, RocketHideout2ScriptPointers
-	ld a, [wRocketHideout2CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRocketHideout2CurScript], a
-	ret
-
-RocketHideout2ScriptPointers:
-	dw RocketHideout2Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw RocketHideout2Script3
-
-RocketHideout2Script0:
-	ld a, [wYCoord]
-	ld b, a
-	ld a, [wXCoord]
-	ld c, a
-	ld hl, RocketHideout2ArrowTilePlayerMovement
-	call DecodeArrowMovementRLE
-	cp $ff
-	jp z, CheckFightingMapTrainers
-	ld hl, wd736
-	set 7, [hl]
-	call StartSimulatingJoypadStates
-	ld a, SFX_ARROW_TILES
-	call PlaySound
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld a, $3
-	ld [wCurMapScript], a
-	ret
-
-;format:
-;db y,x
-;dw pointer to movement
-RocketHideout2ArrowTilePlayerMovement:
-	db $9,$4
-	dw RocketHideout2ArrowMovement1
-	db $b,$4
-	dw RocketHideout2ArrowMovement2
-	db $f,$4
-	dw RocketHideout2ArrowMovement3
-	db $10,$4
-	dw RocketHideout2ArrowMovement4
-	db $13,$4
-	dw RocketHideout2ArrowMovement1
-	db $16,$4
-	dw RocketHideout2ArrowMovement5
-	db $e,$5
-	dw RocketHideout2ArrowMovement6
-	db $16,$6
-	dw RocketHideout2ArrowMovement7
-	db $18,$6
-	dw RocketHideout2ArrowMovement8
-	db $9,$8
-	dw RocketHideout2ArrowMovement9
-	db $c,$8
-	dw RocketHideout2ArrowMovement10
-	db $f,$8
-	dw RocketHideout2ArrowMovement8
-	db $13,$8
-	dw RocketHideout2ArrowMovement9
-	db $17,$8
-	dw RocketHideout2ArrowMovement11
-	db $e,$9
-	dw RocketHideout2ArrowMovement12
-	db $16,$9
-	dw RocketHideout2ArrowMovement12
-	db $9,$a
-	dw RocketHideout2ArrowMovement13
-	db $a,$a
-	dw RocketHideout2ArrowMovement14
-	db $f,$a
-	dw RocketHideout2ArrowMovement15
-	db $11,$a
-	dw RocketHideout2ArrowMovement16
-	db $13,$a
-	dw RocketHideout2ArrowMovement17
-	db $19,$a
-	dw RocketHideout2ArrowMovement2
-	db $e,$b
-	dw RocketHideout2ArrowMovement18
-	db $10,$b
-	dw RocketHideout2ArrowMovement19
-	db $12,$b
-	dw RocketHideout2ArrowMovement12
-	db $9,$c
-	dw RocketHideout2ArrowMovement20
-	db $b,$c
-	dw RocketHideout2ArrowMovement21
-	db $d,$c
-	dw RocketHideout2ArrowMovement22
-	db $11,$c
-	dw RocketHideout2ArrowMovement23
-	db $a,$d
-	dw RocketHideout2ArrowMovement24
-	db $c,$d
-	dw RocketHideout2ArrowMovement25
-	db $10,$d
-	dw RocketHideout2ArrowMovement26
-	db $12,$d
-	dw RocketHideout2ArrowMovement27
-	db $13,$d
-	dw RocketHideout2ArrowMovement28
-	db $16,$d
-	dw RocketHideout2ArrowMovement29
-	db $17,$d
-	dw RocketHideout2ArrowMovement30
-	db $11,$e
-	dw RocketHideout2ArrowMovement31
-	db $10,$f
-	dw RocketHideout2ArrowMovement12
-	db $e,$10
-	dw RocketHideout2ArrowMovement32
-	db $10,$10
-	dw RocketHideout2ArrowMovement33
-	db $12,$10
-	dw RocketHideout2ArrowMovement34
-	db $a,$11
-	dw RocketHideout2ArrowMovement35
-	db $b,$11
-	dw RocketHideout2ArrowMovement36
-	db $FF
-
-;format: direction, count
-;each list is read starting from the $FF and working backwards
-RocketHideout2ArrowMovement1:
-	db D_LEFT,$02
-	db $FF
-
-RocketHideout2ArrowMovement2:
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout2ArrowMovement3:
-	db D_UP,$04
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout2ArrowMovement4:
-	db D_UP,$04
-	db D_RIGHT,$04
-	db D_UP,$01
-	db $FF
-
-RocketHideout2ArrowMovement5:
-	db D_LEFT,$02
-	db D_UP,$03
-	db $FF
-
-RocketHideout2ArrowMovement6:
-	db D_DOWN,$02
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout2ArrowMovement7:
-	db D_UP,$02
-	db $FF
-
-RocketHideout2ArrowMovement8:
-	db D_UP,$04
-	db $FF
-
-RocketHideout2ArrowMovement9:
-	db D_LEFT,$06
-	db $FF
-
-RocketHideout2ArrowMovement10:
-	db D_UP,$01
-	db $FF
-
-RocketHideout2ArrowMovement11:
-	db D_LEFT,$06
-	db D_UP,$04
-	db $FF
-
-RocketHideout2ArrowMovement12:
-	db D_DOWN,$02
-	db $FF
-
-RocketHideout2ArrowMovement13:
-	db D_LEFT,$08
-	db $FF
-
-RocketHideout2ArrowMovement14:
-	db D_LEFT,$08
-	db D_UP,$01
-	db $FF
-
-RocketHideout2ArrowMovement15:
-	db D_LEFT,$08
-	db D_UP,$06
-	db $FF
-
-RocketHideout2ArrowMovement16:
-	db D_UP,$02
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout2ArrowMovement17:
-	db D_UP,$02
-	db D_RIGHT,$04
-	db D_UP,$02
-	db $FF
-
-RocketHideout2ArrowMovement18:
-	db D_DOWN,$02
-	db D_RIGHT,$04
-	db D_DOWN,$02
-	db $FF
-
-RocketHideout2ArrowMovement19:
-	db D_DOWN,$02
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout2ArrowMovement20:
-	db D_LEFT,$0A
-	db $FF
-
-RocketHideout2ArrowMovement21:
-	db D_LEFT,$0A
-	db D_UP,$02
-	db $FF
-
-RocketHideout2ArrowMovement22:
-	db D_LEFT,$0A
-	db D_UP,$04
-	db $FF
-
-RocketHideout2ArrowMovement23:
-	db D_UP,$02
-	db D_RIGHT,$02
-	db $FF
-
-RocketHideout2ArrowMovement24:
-	db D_RIGHT,$01
-	db D_DOWN,$02
-	db $FF
-
-RocketHideout2ArrowMovement25:
-	db D_RIGHT,$01
-	db $FF
-
-RocketHideout2ArrowMovement26:
-	db D_DOWN,$02
-	db D_RIGHT,$02
-	db $FF
-
-RocketHideout2ArrowMovement27:
-	db D_DOWN,$02
-	db D_LEFT,$02
-	db $FF
-
-RocketHideout2ArrowMovement28:
-	db D_UP,$02
-	db D_RIGHT,$04
-	db D_UP,$02
-	db D_LEFT,$03
-	db $FF
-
-RocketHideout2ArrowMovement29:
-	db D_DOWN,$02
-	db D_LEFT,$04
-	db $FF
-
-RocketHideout2ArrowMovement30:
-	db D_LEFT,$06
-	db D_UP,$04
-	db D_LEFT,$05
-	db $FF
-
-RocketHideout2ArrowMovement31:
-	db D_UP,$02
-	db $FF
-
-RocketHideout2ArrowMovement32:
-	db D_UP,$01
-	db $FF
-
-RocketHideout2ArrowMovement33:
-	db D_UP,$03
-	db $FF
-
-RocketHideout2ArrowMovement34:
-	db D_UP,$05
-	db $FF
-
-RocketHideout2ArrowMovement35:
-	db D_RIGHT,$01
-	db D_DOWN,$02
-	db D_LEFT,$04
-	db $FF
-
-RocketHideout2ArrowMovement36:
-	db D_LEFT,$0A
-	db D_UP,$02
-	db D_LEFT,$05
-	db $FF
-
-RocketHideout2Script3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	jr nz, LoadSpinnerArrowTiles
-	xor a
-	ld [wJoyIgnore], a
-	ld hl, wd736
-	res 7, [hl]
-	ld a, $0
-	ld [wCurMapScript], a
-	ret
-
-LoadSpinnerArrowTiles:
-	ld a, [wSpriteStateData1 + 2]
-	srl a
-	srl a
-	ld hl, SpinnerPlayerFacingDirections
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hl]
-	ld [wSpriteStateData1 + 2], a
-	ld a, [wCurMapTileset]
-	cp FACILITY
-	ld hl, FacilitySpinnerArrows
-	jr z, .asm_44ff6
-	ld hl, GymSpinnerArrows
-.asm_44ff6
-	ld a, [wSimulatedJoypadStatesIndex]
-	bit 0, a
-	jr nz, .asm_45001
-	ld de, $18
-	add hl, de
-.asm_45001
-	ld a, $4
-	ld bc, $0
-.asm_45006
-	push af
-	push hl
-	push bc
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	ld a, [hli]
-	ld c, a
-	ld a, [hli]
-	ld b, a
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	call CopyVideoData
-	pop bc
-	ld a, $6
-	add c
-	ld c, a
-	pop hl
-	pop af
-	dec a
-	jr nz, .asm_45006
-	ret
-
-spinner: MACRO
-; \1: source
-; \2: offset (BANK() chokes on literals)
-; \3: length
-; \4: dest
-	dw \1 + \2
-	db \3, BANK(\1)
-	dw \4
-ENDM
-
-FacilitySpinnerArrows:
-FACILITY_SPINNER EQU $20 * $10
-vFacilitySpinner EQU vTileset + FACILITY_SPINNER
-
-	spinner SpinnerArrowAnimTiles, $00, 1, vFacilitySpinner
-	spinner SpinnerArrowAnimTiles, $10, 1, vFacilitySpinner + $10
-	spinner SpinnerArrowAnimTiles, $20, 1, vFacilitySpinner + $100
-	spinner SpinnerArrowAnimTiles, $30, 1, vFacilitySpinner + $110
-	spinner Facility_GFX, FACILITY_SPINNER + $000, 1, vFacilitySpinner
-	spinner Facility_GFX, FACILITY_SPINNER + $010, 1, vFacilitySpinner + $10
-	spinner Facility_GFX, FACILITY_SPINNER + $100, 1, vFacilitySpinner + $100
-	spinner Facility_GFX, FACILITY_SPINNER + $110, 1, vFacilitySpinner + $110
-
-GymSpinnerArrows:
-GYM_SPINNER EQU $3c * $10
-vGymSpinner EQU vTileset + GYM_SPINNER
-
-	spinner SpinnerArrowAnimTiles, $10, 1, vGymSpinner
-	spinner SpinnerArrowAnimTiles, $30, 1, vGymSpinner + $10
-	spinner SpinnerArrowAnimTiles, $00, 1, vGymSpinner + $100
-	spinner SpinnerArrowAnimTiles, $20, 1, vGymSpinner + $110
-	spinner Gym_GFX, GYM_SPINNER + $000, 1, vGymSpinner
-	spinner Gym_GFX, GYM_SPINNER + $010, 1, vGymSpinner + $10
-	spinner Gym_GFX, GYM_SPINNER + $100, 1, vGymSpinner + $100
-	spinner Gym_GFX, GYM_SPINNER + $110, 1, vGymSpinner + $110
-
-SpinnerPlayerFacingDirections:
-; This isn't the order of the facing directions.  Rather, it's a list of
-; the facing directions that come next. For example, when the player is
-; facing down (00), the next facing direction is left (08).
-	db $08 ; down -> left
-	db $0C ; up -> right
-	db $04 ; left -> up
-	db $00 ; right -> down
-
-; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ
-SpinnerArrowAnimTiles:
-	INCBIN "gfx/spinner_arrow.2bpp"
-
-RocketHideout2TextPointers:
-	dw RocketHideout2Text1
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-
-RocketHideout2TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0
-	dw RocketHideout2BattleText2 ; TextBeforeBattle
-	dw RocketHideout2AfterBattleTxt2 ; TextAfterBattle
-	dw RocketHideout2EndBattleText2 ; TextEndBattle
-	dw RocketHideout2EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-RocketHideout2Text1:
-	TX_ASM
-	ld hl, RocketHideout2TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout2BattleText2:
-	TX_FAR _RocketHideout2BattleText2
-	db "@"
-
-RocketHideout2EndBattleText2:
-	TX_FAR _RocketHideout2EndBattleText2
-	db "@"
-
-RocketHideout2AfterBattleTxt2:
-	TX_FAR _RocketHideout2AfterBattleTxt2
-	db "@"
--- a/scripts/rockethideout3.asm
+++ /dev/null
@@ -1,206 +1,0 @@
-RocketHideout3Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, RocketHideout3TrainerHeader0
-	ld de, RocketHideout3ScriptPointers
-	ld a, [wRocketHideout3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRocketHideout3CurScript], a
-	ret
-
-RocketHideout3ScriptPointers:
-	dw RocketHideout3Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw RocketHideout3Script3
-
-RocketHideout3Script0:
-	ld a, [wYCoord]
-	ld b, a
-	ld a, [wXCoord]
-	ld c, a
-	ld hl, RocketHideout3ArrowTilePlayerMovement
-	call DecodeArrowMovementRLE
-	cp $ff
-	jp z, CheckFightingMapTrainers
-	ld hl, wd736
-	set 7, [hl]
-	call StartSimulatingJoypadStates
-	ld a, SFX_ARROW_TILES
-	call PlaySound
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld a, $3
-	ld [wCurMapScript], a
-	ret
-
-;format:
-;db y,x
-;dw pointer to movement
-RocketHideout3ArrowTilePlayerMovement:
-	db $d,$a
-	dw RocketHideout3ArrowMovement6
-	db $13,$a
-	dw RocketHideout3ArrowMovement1
-	db $12,$b
-	dw RocketHideout3ArrowMovement2
-	db $b,$c
-	dw RocketHideout3ArrowMovement3
-	db $11,$c
-	dw RocketHideout3ArrowMovement4
-	db $14,$c
-	dw RocketHideout3ArrowMovement5
-	db $10,$d
-	dw RocketHideout3ArrowMovement6
-	db $b,$e
-	dw RocketHideout3ArrowMovement7
-	db $f,$e
-	dw RocketHideout3ArrowMovement6
-	db $11,$e
-	dw RocketHideout3ArrowMovement8
-	db $13,$e
-	dw RocketHideout3ArrowMovement9
-	db $10,$f
-	dw RocketHideout3ArrowMovement7
-	db $12,$f
-	dw RocketHideout3ArrowMovement10
-	db $d,$10
-	dw RocketHideout3ArrowMovement11
-	db $c,$11
-	dw RocketHideout3ArrowMovement10
-	db $10,$12
-	dw RocketHideout3ArrowMovement12
-	db $FF
-
-;format: direction, count
-;each list is read starting from the $FF and working backwards
-RocketHideout3ArrowMovement1:
-	db D_RIGHT,$04
-	db D_UP,$04
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout3ArrowMovement2:
-	db D_DOWN,$04
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout3ArrowMovement3:
-	db D_LEFT,$02
-	db $FF
-
-RocketHideout3ArrowMovement4:
-	db D_RIGHT,$04
-	db D_UP,$02
-	db D_RIGHT,$02
-	db $FF
-
-RocketHideout3ArrowMovement5:
-	db D_RIGHT,$04
-	db D_UP,$02
-	db D_RIGHT,$02
-	db D_UP,$03
-	db $FF
-
-RocketHideout3ArrowMovement6:
-	db D_RIGHT,$04
-	db $FF
-
-RocketHideout3ArrowMovement7:
-	db D_RIGHT,$02
-	db $FF
-
-RocketHideout3ArrowMovement8:
-	db D_RIGHT,$04
-	db D_UP,$02
-	db $FF
-
-RocketHideout3ArrowMovement9:
-	db D_RIGHT,$04
-	db D_UP,$04
-	db $FF
-
-RocketHideout3ArrowMovement10:
-	db D_DOWN,$04
-	db $FF
-
-RocketHideout3ArrowMovement11:
-	db D_UP,$02
-	db $FF
-
-RocketHideout3ArrowMovement12:
-	db D_UP,$01
-	db $FF
-
-RocketHideout3Script3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	jp nz, LoadSpinnerArrowTiles
-	xor a
-	ld [wJoyIgnore], a
-	ld hl, wd736
-	res 7, [hl]
-	ld a, $0
-	ld [wCurMapScript], a
-	ret
-
-RocketHideout3TextPointers:
-	dw RocketHideout3Text1
-	dw RocketHideout3Text2
-	dw PickUpItemText
-	dw PickUpItemText
-
-RocketHideout3TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0
-	dw RocketHideout3BattleText2 ; TextBeforeBattle
-	dw RocketHideout3AfterBattleTxt2 ; TextAfterBattle
-	dw RocketHideout3EndBattleText2 ; TextEndBattle
-	dw RocketHideout3EndBattleText2 ; TextEndBattle
-
-RocketHideout3TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1
-	dw RocketHideout3BattleTxt ; TextBeforeBattle
-	dw RocketHideout3AfterBattleText3 ; TextAfterBattle
-	dw RocketHideout3EndBattleText3 ; TextEndBattle
-	dw RocketHideout3EndBattleText3 ; TextEndBattle
-
-	db $ff
-
-RocketHideout3Text1:
-	TX_ASM
-	ld hl, RocketHideout3TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout3BattleText2:
-	TX_FAR _RocketHideout3BattleText2
-	db "@"
-
-RocketHideout3EndBattleText2:
-	TX_FAR _RocketHideout3EndBattleText2
-	db "@"
-
-RocketHideout3AfterBattleTxt2:
-	TX_FAR _RocketHideout3AfterBattleTxt2
-	db "@"
-
-RocketHideout3Text2:
-	TX_ASM
-	ld hl, RocketHideout3TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout3BattleTxt:
-	TX_FAR _RocketHideout3BattleTxt
-	db "@"
-
-RocketHideout3EndBattleText3:
-	TX_FAR _RocketHideout3EndBattleText3
-	db "@"
-
-RocketHideout3AfterBattleText3:
-	TX_FAR _RocketHide3AfterBattleText3
-	db "@"
--- a/scripts/rockethideout4.asm
+++ /dev/null
@@ -1,220 +1,0 @@
-RocketHideout4Script:
-	call RocketHideout4Script_45473
-	call EnableAutoTextBoxDrawing
-	ld hl, RocketHideout4TrainerHeader0
-	ld de, RocketHideout4ScriptPointers
-	ld a, [wRocketHideout4CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRocketHideout4CurScript], a
-	ret
-
-RocketHideout4Script_45473:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
-	jr nz, .asm_45496
-	CheckBothEventsSet EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 1
-	jr z, .asm_4548c
-	ld a, $2d
-	jr .asm_45498
-.asm_4548c
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	SetEvent EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED
-.asm_45496
-	ld a, $e
-.asm_45498
-	ld [wNewTileBlockID], a
-	lb bc, 5, 12
-	predef_jump ReplaceTileBlock
-
-RocketHideout4Script_454a3:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRocketHideout4CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-RocketHideout4ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw RocketHideout4Script3
-
-RocketHideout4Script3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, RocketHideout4Script_454a3
-	call UpdateSprites
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
-	ld a, $a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call GBFadeOutToBlack
-	ld a, HS_ROCKET_HIDEOUT_4_GIOVANNI
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_ROCKET_HIDEOUT_4_ITEM_4
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	call UpdateSprites
-	call GBFadeInFromBlack
-	xor a
-	ld [wJoyIgnore], a
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	ld a, $0
-	ld [wRocketHideout4CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-RocketHideout4TextPointers:
-	dw RocketHideout4Text1
-	dw RocketHideout4Text2
-	dw RocketHideout4Text3
-	dw RocketHideout4Text4
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw RocketHideout4Text10
-
-RocketHideout4TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0
-	dw RocketHideout4BattleText2 ; TextBeforeBattle
-	dw RocketHideout4AfterBattleText2 ; TextAfterBattle
-	dw RocketHideout4EndBattleText2 ; TextEndBattle
-	dw RocketHideout4EndBattleText2 ; TextEndBattle
-
-RocketHideout4TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1
-	dw RocketHideout4BattleText3 ; TextBeforeBattle
-	dw RocketHideout4AfterBattleText3 ; TextAfterBattle
-	dw RocketHideout4EndBattleText3 ; TextEndBattle
-	dw RocketHideout4EndBattleText3 ; TextEndBattle
-
-RocketHideout4TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2
-	dw RocketHideout4BattleText4 ; TextBeforeBattle
-	dw RocketHideout4AfterBattleText4 ; TextAfterBattle
-	dw RocketHideout4EndBattleText4 ; TextEndBattle
-	dw RocketHideout4EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-RocketHideout4Text1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI
-	jp nz, .asm_545571
-	ld hl, RocketHideout4Text_4557a
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, RocketHideout4Text_4557f
-	ld de, RocketHideout4Text_4557f
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	xor a
-	ld [hJoyHeld], a
-	ld a, $3
-	ld [wRocketHideout4CurScript], a
-	ld [wCurMapScript], a
-	jr .asm_209f0
-.asm_545571
-	ld hl, RocketHideout4Text10
-	call PrintText
-.asm_209f0
-	jp TextScriptEnd
-
-RocketHideout4Text_4557a:
-	TX_FAR _RocketHideout4Text_4557a
-	db "@"
-
-RocketHideout4Text_4557f:
-	TX_FAR _RocketHideout4Text_4557f
-	db "@"
-
-RocketHideout4Text10:
-	TX_FAR _RocketHideout4Text_45584
-	db "@"
-
-RocketHideout4Text2:
-	TX_ASM
-	ld hl, RocketHideout4TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout4BattleText2:
-	TX_FAR _RocketHideout4BattleText2
-	db "@"
-
-RocketHideout4EndBattleText2:
-	TX_FAR _RocketHideout4EndBattleText2
-	db "@"
-
-RocketHideout4AfterBattleText2:
-	TX_FAR _RocketHide4AfterBattleText2
-	db "@"
-
-RocketHideout4Text3:
-	TX_ASM
-	ld hl, RocketHideout4TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout4BattleText3:
-	TX_FAR _RocketHideout4BattleText3
-	db "@"
-
-RocketHideout4EndBattleText3:
-	TX_FAR _RocketHideout4EndBattleText3
-	db "@"
-
-RocketHideout4AfterBattleText3:
-	TX_FAR _RocketHide4AfterBattleText3
-	db "@"
-
-RocketHideout4Text4:
-	TX_ASM
-	ld hl, RocketHideout4TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RocketHideout4BattleText4:
-	TX_FAR _RocketHideout4BattleText4
-	db "@"
-
-RocketHideout4EndBattleText4:
-	TX_FAR _RocketHideout4EndBattleText4
-	db "@"
-
-RocketHideout4AfterBattleText4:
-	TX_ASM
-	ld hl, RocketHideout4Text_455ec
-	call PrintText
-	CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY
-	jr nz, .asm_455e9
-	ld a, HS_ROCKET_HIDEOUT_4_ITEM_5
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-.asm_455e9
-	jp TextScriptEnd
-
-RocketHideout4Text_455ec:
-	TX_FAR _RocketHideout4Text_455ec
-	db "@"
--- a/scripts/rockethideoutelevator.asm
+++ /dev/null
@@ -1,85 +1,0 @@
-RocketHideoutElevatorScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, RocketHideoutElevatorScript_4572c
-	pop hl
-	bit 7, [hl]
-	res 7, [hl]
-	call nz, RocketHideoutElevatorScript_4575f
-	xor a
-	ld [wAutoTextBoxDrawingControl], a
-	inc a
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ret
-
-RocketHideoutElevatorScript_4572c:
-	ld hl, wWarpEntries
-	ld a, [wWarpedFromWhichWarp]
-	ld b, a
-	ld a, [wWarpedFromWhichMap]
-	ld c, a
-	call RocketHideoutElevatorScript_4573a
-
-RocketHideoutElevatorScript_4573a:
-	inc hl
-	inc hl
-	ld a, b
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ret
-
-RocketHideoutElevatorScript_45741:
-	ld hl, RocketHideoutElavatorFloors
-	call LoadItemList
-	ld hl, RocketHideoutElevatorWarpMaps
-	ld de, wElevatorWarpMaps
-	ld bc, RocketHideoutElevatorWarpMapsEnd - RocketHideoutElevatorWarpMaps
-	call CopyData
-	ret
-
-RocketHideoutElavatorFloors:
-	db $03 ; num elements in list
-	db FLOOR_B1F
-	db FLOOR_B2F
-	db FLOOR_B4F
-	db $FF ; terminator
-
-RocketHideoutElevatorWarpMaps:
-; first byte is warp number
-; second byte is map number
-; These specify where the player goes after getting out of the elevator.
-	db $04, ROCKET_HIDEOUT_1
-	db $04, ROCKET_HIDEOUT_2
-	db $02, ROCKET_HIDEOUT_4
-RocketHideoutElevatorWarpMapsEnd:
-
-RocketHideoutElevatorScript_4575f:
-	call Delay3
-	callba ShakeElevator
-	ret
-
-RocketHideoutElevatorTextPointers:
-	dw RocketHideoutElevatorText1
-
-RocketHideoutElevatorText1:
-	TX_ASM
-	ld b, LIFT_KEY
-	call IsItemInBag
-	jr z, .asm_45782
-	call RocketHideoutElevatorScript_45741
-	ld hl, RocketHideoutElevatorWarpMaps
-	predef DisplayElevatorFloorMenu
-	jr .asm_45788
-.asm_45782
-	ld hl, RocketHideoutElevatorText_4578b
-	call PrintText
-.asm_45788
-	jp TextScriptEnd
-
-RocketHideoutElevatorText_4578b:
-	TX_FAR _RocketElevatorText_4578b
-	TX_WAIT
-	db "@"
--- a/scripts/rocktunnel1.asm
+++ /dev/null
@@ -1,213 +1,0 @@
-RockTunnel1Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, RockTunnel1TrainerHeader0
-	ld de, RockTunnel1ScriptPointers
-	ld a, [wRockTunnel1CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRockTunnel1CurScript], a
-	ret
-
-RockTunnel1ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-RockTunnel1TextPointers:
-	dw RockTunnel1Text1
-	dw RockTunnel1Text2
-	dw RockTunnel1Text3
-	dw RockTunnel1Text4
-	dw RockTunnel1Text5
-	dw RockTunnel1Text6
-	dw RockTunnel1Text7
-	dw RockTunnel1Text8
-
-RockTunnel1TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0
-	dw RockTunnel1BattleText1 ; TextBeforeBattle
-	dw RockTunnel1AfterBattleText1 ; TextAfterBattle
-	dw RockTunnel1EndBattleText1 ; TextEndBattle
-	dw RockTunnel1EndBattleText1 ; TextEndBattle
-
-RockTunnel1TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1
-	dw RockTunnel1BattleText2 ; TextBeforeBattle
-	dw RockTunnel1AfterBattleText2 ; TextAfterBattle
-	dw RockTunnel1EndBattleText2 ; TextEndBattle
-	dw RockTunnel1EndBattleText2 ; TextEndBattle
-
-RockTunnel1TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2
-	dw RockTunnel1BattleText3 ; TextBeforeBattle
-	dw RockTunnel1AfterBattleText3 ; TextAfterBattle
-	dw RockTunnel1EndBattleText3 ; TextEndBattle
-	dw RockTunnel1EndBattleText3 ; TextEndBattle
-
-RockTunnel1TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3
-	dw RockTunnel1BattleText4 ; TextBeforeBattle
-	dw RockTunnel1AfterBattleText4 ; TextAfterBattle
-	dw RockTunnel1EndBattleText4 ; TextEndBattle
-	dw RockTunnel1EndBattleText4 ; TextEndBattle
-
-RockTunnel1TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4
-	dw RockTunnel1BattleText5 ; TextBeforeBattle
-	dw RockTunnel1AfterBattleText5 ; TextAfterBattle
-	dw RockTunnel1EndBattleText5 ; TextEndBattle
-	dw RockTunnel1EndBattleText5 ; TextEndBattle
-
-RockTunnel1TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5
-	dw RockTunnel1BattleText6 ; TextBeforeBattle
-	dw RockTunnel1AfterBattleText6 ; TextAfterBattle
-	dw RockTunnel1EndBattleText6 ; TextEndBattle
-	dw RockTunnel1EndBattleText6 ; TextEndBattle
-
-RockTunnel1TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6
-	dw RockTunnel1BattleText7 ; TextBeforeBattle
-	dw RockTunnel1AfterBattleText7 ; TextAfterBattle
-	dw RockTunnel1EndBattleText7 ; TextEndBattle
-	dw RockTunnel1EndBattleText7 ; TextEndBattle
-
-	db $ff
-
-RockTunnel1Text1:
-	TX_ASM
-	ld hl, RockTunnel1TrainerHeader0
-	jr RockTunnel1TalkToTrainer
-
-RockTunnel1Text2:
-	TX_ASM
-	ld hl, RockTunnel1TrainerHeader1
-	jr RockTunnel1TalkToTrainer
-
-RockTunnel1Text3:
-	TX_ASM
-	ld hl, RockTunnel1TrainerHeader2
-	jr RockTunnel1TalkToTrainer
-
-RockTunnel1Text4:
-	TX_ASM
-	ld hl, RockTunnel1TrainerHeader3
-	jr RockTunnel1TalkToTrainer
-
-RockTunnel1Text5:
-	TX_ASM
-	ld hl, RockTunnel1TrainerHeader4
-	jr RockTunnel1TalkToTrainer
-
-RockTunnel1Text6:
-	TX_ASM
-	ld hl, RockTunnel1TrainerHeader5
-	jr RockTunnel1TalkToTrainer
-
-RockTunnel1Text7:
-	TX_ASM
-	ld hl, RockTunnel1TrainerHeader6
-RockTunnel1TalkToTrainer:
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel1BattleText1:
-	TX_FAR _RockTunnel1BattleText1
-	db "@"
-
-RockTunnel1EndBattleText1:
-	TX_FAR _RockTunnel1EndBattleText1
-	db "@"
-
-RockTunnel1AfterBattleText1:
-	TX_FAR _RockTunnel1AfterBattleText1
-	db "@"
-
-RockTunnel1BattleText2:
-	TX_FAR _RockTunnel1BattleText2
-	db "@"
-
-RockTunnel1EndBattleText2:
-	TX_FAR _RockTunnel1EndBattleText2
-	db "@"
-
-RockTunnel1AfterBattleText2:
-	TX_FAR _RockTunnel1AfterBattleText2
-	db "@"
-
-RockTunnel1BattleText3:
-	TX_FAR _RockTunnel1BattleText3
-	db "@"
-
-RockTunnel1EndBattleText3:
-	TX_FAR _RockTunnel1EndBattleText3
-	db "@"
-
-RockTunnel1AfterBattleText3:
-	TX_FAR _RockTunnel1AfterBattleText3
-	db "@"
-
-RockTunnel1BattleText4:
-	TX_FAR _RockTunnel1BattleText4
-	db "@"
-
-RockTunnel1EndBattleText4:
-	TX_FAR _RockTunnel1EndBattleText4
-	db "@"
-
-RockTunnel1AfterBattleText4:
-	TX_FAR _RockTunnel1AfterBattleText4
-	db "@"
-
-RockTunnel1BattleText5:
-	TX_FAR _RockTunnel1BattleText5
-	db "@"
-
-RockTunnel1EndBattleText5:
-	TX_FAR _RockTunnel1EndBattleText5
-	db "@"
-
-RockTunnel1AfterBattleText5:
-	TX_FAR _RockTunnel1AfterBattleText5
-	db "@"
-
-RockTunnel1BattleText6:
-	TX_FAR _RockTunnel1BattleText6
-	db "@"
-
-RockTunnel1EndBattleText6:
-	TX_FAR _RockTunnel1EndBattleText6
-	db "@"
-
-RockTunnel1AfterBattleText6:
-	TX_FAR _RockTunnel1AfterBattleText6
-	db "@"
-
-RockTunnel1BattleText7:
-	TX_FAR _RockTunnel1BattleText7
-	db "@"
-
-RockTunnel1EndBattleText7:
-	TX_FAR _RockTunnel1EndBattleText7
-	db "@"
-
-RockTunnel1AfterBattleText7:
-	TX_FAR _RockTunnel1AfterBattleText7
-	db "@"
-
-RockTunnel1Text8:
-	TX_FAR _RockTunnel1Text8
-	db "@"
--- a/scripts/rocktunnel2.asm
+++ /dev/null
@@ -1,241 +1,0 @@
-RockTunnel2Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, RockTunnel2TrainerHeader0
-	ld de, RockTunnel2ScriptPointers
-	ld a, [wRockTunnel2CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRockTunnel2CurScript], a
-	ret
-
-RockTunnel2ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-RockTunnel2TextPointers:
-	dw RockTunnel2Text1
-	dw RockTunnel2Text2
-	dw RockTunnel2Text3
-	dw RockTunnel2Text4
-	dw RockTunnel2Text5
-	dw RockTunnel2Text6
-	dw RockTunnel2Text7
-	dw RockTunnel2Text8
-
-RockTunnel2TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0
-	dw RockTunnel2BattleText2 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText2 ; TextAfterBattle
-	dw RockTunnel2EndBattleText2 ; TextEndBattle
-	dw RockTunnel2EndBattleText2 ; TextEndBattle
-
-RockTunnel2TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1
-	dw RockTunnel2BattleText3 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText3 ; TextAfterBattle
-	dw RockTunnel2EndBattleText3 ; TextEndBattle
-	dw RockTunnel2EndBattleText3 ; TextEndBattle
-
-RockTunnel2TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2
-	dw RockTunnel2BattleText4 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText4 ; TextAfterBattle
-	dw RockTunnel2EndBattleText4 ; TextEndBattle
-	dw RockTunnel2EndBattleText4 ; TextEndBattle
-
-RockTunnel2TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3
-	dw RockTunnel2BattleText5 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText5 ; TextAfterBattle
-	dw RockTunnel2EndBattleText5 ; TextEndBattle
-	dw RockTunnel2EndBattleText5 ; TextEndBattle
-
-RockTunnel2TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4
-	dw RockTunnel2BattleText6 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText6 ; TextAfterBattle
-	dw RockTunnel2EndBattleText6 ; TextEndBattle
-	dw RockTunnel2EndBattleText6 ; TextEndBattle
-
-RockTunnel2TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5
-	dw RockTunnel2BattleText7 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText7 ; TextAfterBattle
-	dw RockTunnel2EndBattleText7 ; TextEndBattle
-	dw RockTunnel2EndBattleText7 ; TextEndBattle
-
-RockTunnel2TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6
-	dw RockTunnel2BattleText8 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText8 ; TextAfterBattle
-	dw RockTunnel2EndBattleText8 ; TextEndBattle
-	dw RockTunnel2EndBattleText8 ; TextEndBattle
-
-RockTunnel2TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1
-	dw RockTunnel2BattleText9 ; TextBeforeBattle
-	dw RockTunnel2AfterBattleText9 ; TextAfterBattle
-	dw RockTunnel2EndBattleText9 ; TextEndBattle
-	dw RockTunnel2EndBattleText9 ; TextEndBattle
-
-	db $ff
-
-RockTunnel2Text1:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2Text2:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2Text3:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2Text4:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2Text5:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2Text6:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2Text7:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2Text8:
-	TX_ASM
-	ld hl, RockTunnel2TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-RockTunnel2BattleText2:
-	TX_FAR _RockTunnel2BattleText2
-	db "@"
-
-RockTunnel2EndBattleText2:
-	TX_FAR _RockTunnel2EndBattleText2
-	db "@"
-
-RockTunnel2AfterBattleText2:
-	TX_FAR _RockTunnel2AfterBattleText2
-	db "@"
-
-RockTunnel2BattleText3:
-	TX_FAR _RockTunnel2BattleText3
-	db "@"
-
-RockTunnel2EndBattleText3:
-	TX_FAR _RockTunnel2EndBattleText3
-	db "@"
-
-RockTunnel2AfterBattleText3:
-	TX_FAR _RockTunnel2AfterBattleText3
-	db "@"
-
-RockTunnel2BattleText4:
-	TX_FAR _RockTunnel2BattleText4
-	db "@"
-
-RockTunnel2EndBattleText4:
-	TX_FAR _RockTunnel2EndBattleText4
-	db "@"
-
-RockTunnel2AfterBattleText4:
-	TX_FAR _RockTunnel2AfterBattleText4
-	db "@"
-
-RockTunnel2BattleText5:
-	TX_FAR _RockTunnel2BattleText5
-	db "@"
-
-RockTunnel2EndBattleText5:
-	TX_FAR _RockTunnel2EndBattleText5
-	db "@"
-
-RockTunnel2AfterBattleText5:
-	TX_FAR _RockTunnel2AfterBattleText5
-	db "@"
-
-RockTunnel2BattleText6:
-	TX_FAR _RockTunnel2BattleText6
-	db "@"
-
-RockTunnel2EndBattleText6:
-	TX_FAR _RockTunnel2EndBattleText6
-	db "@"
-
-RockTunnel2AfterBattleText6:
-	TX_FAR _RockTunnel2AfterBattleText6
-	db "@"
-
-RockTunnel2BattleText7:
-	TX_FAR _RockTunnel2BattleText7
-	db "@"
-
-RockTunnel2EndBattleText7:
-	TX_FAR _RockTunnel2EndBattleText7
-	db "@"
-
-RockTunnel2AfterBattleText7:
-	TX_FAR _RockTunnel2AfterBattleText7
-	db "@"
-
-RockTunnel2BattleText8:
-	TX_FAR _RockTunnel2BattleText8
-	db "@"
-
-RockTunnel2EndBattleText8:
-	TX_FAR _RockTunnel2EndBattleText8
-	db "@"
-
-RockTunnel2AfterBattleText8:
-	TX_FAR _RockTunnel2AfterBattleText8
-	db "@"
-
-RockTunnel2BattleText9:
-	TX_FAR _RockTunnel2BattleText9
-	db "@"
-
-RockTunnel2EndBattleText9:
-	TX_FAR _RockTunnel2EndBattleText9
-	db "@"
-
-RockTunnel2AfterBattleText9:
-	TX_FAR _RockTunnel2AfterBattleText9
-	db "@"
--- a/scripts/rocktunnelpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-RockTunnelPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-RockTunnelPokecenterTextPointers:
-	dw RockTunnelHealNurseText
-	dw RockTunnelPokecenterText2
-	dw RockTunnelPokecenterText3
-	dw RockTunnelTradeNurseText
-
-RockTunnelHealNurseText:
-	db $ff
-
-RockTunnelPokecenterText2:
-	TX_FAR _RockTunnelPokecenterText2
-	db "@"
-
-RockTunnelPokecenterText3:
-	TX_FAR _RockTunnelPokecenterText3
-	db "@"
-
-RockTunnelTradeNurseText:
-	db $f6
--- a/scripts/route1.asm
+++ /dev/null
@@ -1,52 +1,0 @@
-Route1Script:
-	jp EnableAutoTextBoxDrawing
-
-Route1TextPointers:
-	dw Route1Text1
-	dw Route1Text2
-	dw Route1Text3
-
-Route1Text1:
-	TX_ASM
-	CheckAndSetEvent EVENT_GOT_POTION_SAMPLE
-	jr nz, .asm_1cada
-	ld hl, Route1ViridianMartSampleText
-	call PrintText
-	lb bc, POTION, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, Route1Text_1cae8
-	jr .asm_1cadd
-.BagFull
-	ld hl, Route1Text_1caf3
-	jr .asm_1cadd
-.asm_1cada
-	ld hl, Route1Text_1caee
-.asm_1cadd
-	call PrintText
-	jp TextScriptEnd
-
-Route1ViridianMartSampleText:
-	TX_FAR _Route1ViridianMartSampleText
-	db "@"
-
-Route1Text_1cae8:
-	TX_FAR _Route1Text_1cae8
-	TX_SFX_ITEM_1
-	db "@"
-
-Route1Text_1caee:
-	TX_FAR _Route1Text_1caee
-	db "@"
-
-Route1Text_1caf3:
-	TX_FAR _Route1Text_1caf3
-	db "@"
-
-Route1Text2:
-	TX_FAR _Route1Text2
-	db "@"
-
-Route1Text3:
-	TX_FAR _Route1Text3
-	db "@"
--- a/scripts/route10.asm
+++ /dev/null
@@ -1,198 +1,0 @@
-Route10Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route10TrainerHeader0
-	ld de, Route10ScriptPointers
-	ld a, [wRoute10CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute10CurScript], a
-	ret
-
-Route10ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route10TextPointers:
-	dw Route10Text1
-	dw Route10Text2
-	dw Route10Text3
-	dw Route10Text4
-	dw Route10Text5
-	dw Route10Text6
-	dw Route10Text7
-	dw PokeCenterSignText
-	dw Route10Text9
-	dw Route10Text10
-
-Route10TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_0
-	dw Route10BattleText1 ; TextBeforeBattle
-	dw Route10AfterBattleText1 ; TextAfterBattle
-	dw Route10EndBattleText1 ; TextEndBattle
-	dw Route10EndBattleText1 ; TextEndBattle
-
-Route10TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_1
-	dw Route10BattleText2 ; TextBeforeBattle
-	dw Route10AfterBattleText2 ; TextAfterBattle
-	dw Route10EndBattleText2 ; TextEndBattle
-	dw Route10EndBattleText2 ; TextEndBattle
-
-Route10TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_2
-	dw Route10BattleText3 ; TextBeforeBattle
-	dw Route10AfterBattleText3 ; TextAfterBattle
-	dw Route10EndBattleText3 ; TextEndBattle
-	dw Route10EndBattleText3 ; TextEndBattle
-
-Route10TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_3
-	dw Route10BattleText4 ; TextBeforeBattle
-	dw Route10AfterBattleText4 ; TextAfterBattle
-	dw Route10EndBattleText4 ; TextEndBattle
-	dw Route10EndBattleText4 ; TextEndBattle
-
-Route10TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_4
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_4
-	dw Route10BattleText5 ; TextBeforeBattle
-	dw Route10AfterBattleText5 ; TextAfterBattle
-	dw Route10EndBattleText5 ; TextEndBattle
-	dw Route10EndBattleText5 ; TextEndBattle
-
-Route10TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_5
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_5
-	dw Route10BattleText6 ; TextBeforeBattle
-	dw Route10AfterBattleText6 ; TextAfterBattle
-	dw Route10EndBattleText6 ; TextEndBattle
-	dw Route10EndBattleText6 ; TextEndBattle
-
-	db $ff
-
-Route10Text1:
-	TX_ASM
-	ld hl, Route10TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route10BattleText1:
-	TX_FAR _Route10BattleText1
-	db "@"
-
-Route10EndBattleText1:
-	TX_FAR _Route10EndBattleText1
-	db "@"
-
-Route10AfterBattleText1:
-	TX_FAR _Route10AfterBattleText1
-	db "@"
-
-Route10Text2:
-	TX_ASM
-	ld hl, Route10TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route10BattleText2:
-	TX_FAR _Route10BattleText2
-	db "@"
-
-Route10EndBattleText2:
-	TX_FAR _Route10EndBattleText2
-	db "@"
-
-Route10AfterBattleText2:
-	TX_FAR _Route10AfterBattleText2
-	db "@"
-
-Route10Text3:
-	TX_ASM
-	ld hl, Route10TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route10BattleText3:
-	TX_FAR _Route10BattleText3
-	db "@"
-
-Route10EndBattleText3:
-	TX_FAR _Route10EndBattleText3
-	db "@"
-
-Route10AfterBattleText3:
-	TX_FAR _Route10AfterBattleText3
-	db "@"
-
-Route10Text4:
-	TX_ASM
-	ld hl, Route10TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route10BattleText4:
-	TX_FAR _Route10BattleText4
-	db "@"
-
-Route10EndBattleText4:
-	TX_FAR _Route10EndBattleText4
-	db "@"
-
-Route10AfterBattleText4:
-	TX_FAR _Route10AfterBattleText4
-	db "@"
-
-Route10Text5:
-	TX_ASM
-	ld hl, Route10TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route10BattleText5:
-	TX_FAR _Route10BattleText5
-	db "@"
-
-Route10EndBattleText5:
-	TX_FAR _Route10EndBattleText5
-	db "@"
-
-Route10AfterBattleText5:
-	TX_FAR _Route10AfterBattleText5
-	db "@"
-
-Route10Text6:
-	TX_ASM
-	ld hl, Route10TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route10BattleText6:
-	TX_FAR _Route10BattleText6
-	db "@"
-
-Route10EndBattleText6:
-	TX_FAR _Route10EndBattleText6
-	db "@"
-
-Route10AfterBattleText6:
-	TX_FAR _Route10AfterBattleText6
-	db "@"
-
-Route10Text9:
-Route10Text7:
-	TX_FAR _Route10Text7 ; _Route10Text9
-	db "@"
-
-Route10Text10:
-	TX_FAR _Route10Text10
-	db "@"
--- a/scripts/route11.asm
+++ /dev/null
@@ -1,302 +1,0 @@
-Route11Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route11TrainerHeader0
-	ld de, Route11ScriptPointers
-	ld a, [wRoute11CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute11CurScript], a
-	ret
-
-Route11ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route11TextPointers:
-	dw Route11Text1
-	dw Route11Text2
-	dw Route11Text3
-	dw Route11Text4
-	dw Route11Text5
-	dw Route11Text6
-	dw Route11Text7
-	dw Route11Text8
-	dw Route11Text9
-	dw Route11Text10
-	dw Route11Text11
-
-Route11TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_0
-	dw Route11BattleText1 ; TextBeforeBattle
-	dw Route11AfterBattleText1 ; TextAfterBattle
-	dw Route11EndBattleText1 ; TextEndBattle
-	dw Route11EndBattleText1 ; TextEndBattle
-
-Route11TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_1
-	dw Route11BattleText2 ; TextBeforeBattle
-	dw Route11AfterBattleText2 ; TextAfterBattle
-	dw Route11EndBattleText2 ; TextEndBattle
-	dw Route11EndBattleText2 ; TextEndBattle
-
-Route11TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_2
-	dw Route11BattleText3 ; TextBeforeBattle
-	dw Route11AfterBattleText3 ; TextAfterBattle
-	dw Route11EndBattleText3 ; TextEndBattle
-	dw Route11EndBattleText3 ; TextEndBattle
-
-Route11TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_3
-	dw Route11BattleText4 ; TextBeforeBattle
-	dw Route11AfterBattleText4 ; TextAfterBattle
-	dw Route11EndBattleText4 ; TextEndBattle
-	dw Route11EndBattleText4 ; TextEndBattle
-
-Route11TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_4
-	dw Route11BattleText5 ; TextBeforeBattle
-	dw Route11AfterBattleText5 ; TextAfterBattle
-	dw Route11EndBattleText5 ; TextEndBattle
-	dw Route11EndBattleText5 ; TextEndBattle
-
-Route11TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_5
-	dw Route11BattleText6 ; TextBeforeBattle
-	dw Route11AfterBattleText6 ; TextAfterBattle
-	dw Route11EndBattleText6 ; TextEndBattle
-	dw Route11EndBattleText6 ; TextEndBattle
-
-Route11TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_6
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_6
-	dw Route11BattleText7 ; TextBeforeBattle
-	dw Route11AfterBattleText7 ; TextAfterBattle
-	dw Route11EndBattleText7 ; TextEndBattle
-	dw Route11EndBattleText7 ; TextEndBattle
-
-Route11TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_7, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_7, 1
-	dw Route11BattleText8 ; TextBeforeBattle
-	dw Route11AfterBattleText8 ; TextAfterBattle
-	dw Route11EndBattleText8 ; TextEndBattle
-	dw Route11EndBattleText8 ; TextEndBattle
-
-Route11TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_8, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_8, 1
-	dw Route11BattleText9 ; TextBeforeBattle
-	dw Route11AfterBattleText9 ; TextAfterBattle
-	dw Route11EndBattleText9 ; TextEndBattle
-	dw Route11EndBattleText9 ; TextEndBattle
-
-Route11TrainerHeader9:
-	dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_9, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_9, 1
-	dw Route11BattleText10 ; TextBeforeBattle
-	dw Route11AfterBattleText10 ; TextAfterBattle
-	dw Route11EndBattleText10 ; TextEndBattle
-	dw Route11EndBattleText10 ; TextEndBattle
-
-	db $ff
-
-Route11Text1:
-	TX_ASM
-	ld hl, Route11TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText1:
-	TX_FAR _Route11BattleText1
-	db "@"
-
-Route11EndBattleText1:
-	TX_FAR _Route11EndBattleText1
-	db "@"
-
-Route11AfterBattleText1:
-	TX_FAR _Route11AfterBattleText1
-	db "@"
-
-Route11Text2:
-	TX_ASM
-	ld hl, Route11TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText2:
-	TX_FAR _Route11BattleText2
-	db "@"
-
-Route11EndBattleText2:
-	TX_FAR _Route11EndBattleText2
-	db "@"
-
-Route11AfterBattleText2:
-	TX_FAR _Route11AfterBattleText2
-	db "@"
-
-Route11Text3:
-	TX_ASM
-	ld hl, Route11TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText3:
-	TX_FAR _Route11BattleText3
-	db "@"
-
-Route11EndBattleText3:
-	TX_FAR _Route11EndBattleText3
-	db "@"
-
-Route11AfterBattleText3:
-	TX_FAR _Route11AfterBattleText3
-	db "@"
-
-Route11Text4:
-	TX_ASM
-	ld hl, Route11TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText4:
-	TX_FAR _Route11BattleText4
-	db "@"
-
-Route11EndBattleText4:
-	TX_FAR _Route11EndBattleText4
-	db "@"
-
-Route11AfterBattleText4:
-	TX_FAR _Route11AfterBattleText4
-	db "@"
-
-Route11Text5:
-	TX_ASM
-	ld hl, Route11TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText5:
-	TX_FAR _Route11BattleText5
-	db "@"
-
-Route11EndBattleText5:
-	TX_FAR _Route11EndBattleText5
-	db "@"
-
-Route11AfterBattleText5:
-	TX_FAR _Route11AfterBattleText5
-	db "@"
-
-Route11Text6:
-	TX_ASM
-	ld hl, Route11TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText6:
-	TX_FAR _Route11BattleText6
-	db "@"
-
-Route11EndBattleText6:
-	TX_FAR _Route11EndBattleText6
-	db "@"
-
-Route11AfterBattleText6:
-	TX_FAR _Route11AfterBattleText6
-	db "@"
-
-Route11Text7:
-	TX_ASM
-	ld hl, Route11TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText7:
-	TX_FAR _Route11BattleText7
-	db "@"
-
-Route11EndBattleText7:
-	TX_FAR _Route11EndBattleText7
-	db "@"
-
-Route11AfterBattleText7:
-	TX_FAR _Route11AfterBattleText7
-	db "@"
-
-Route11Text8:
-	TX_ASM
-	ld hl, Route11TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText8:
-	TX_FAR _Route11BattleText8
-	db "@"
-
-Route11EndBattleText8:
-	TX_FAR _Route11EndBattleText8
-	db "@"
-
-Route11AfterBattleText8:
-	TX_FAR _Route11AfterBattleText8
-	db "@"
-
-Route11Text9:
-	TX_ASM
-	ld hl, Route11TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText9:
-	TX_FAR _Route11BattleText9
-	db "@"
-
-Route11EndBattleText9:
-	TX_FAR _Route11EndBattleText9
-	db "@"
-
-Route11AfterBattleText9:
-	TX_FAR _Route11AfterBattleText9
-	db "@"
-
-Route11Text10:
-	TX_ASM
-	ld hl, Route11TrainerHeader9
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route11BattleText10:
-	TX_FAR _Route11BattleText10
-	db "@"
-
-Route11EndBattleText10:
-	TX_FAR _Route11EndBattleText10
-	db "@"
-
-Route11AfterBattleText10:
-	TX_FAR _Route11AfterBattleText10
-	db "@"
-
-Route11Text11:
-	TX_FAR _Route11Text11
-	db "@"
--- a/scripts/route11gate.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-Route11GateScript:
-	jp EnableAutoTextBoxDrawing
-
-Route11GateTextPointers:
-	dw Route11GateText1
-
-Route11GateText1:
-	TX_FAR _Route11GateText1
-	db "@"
--- a/scripts/route11gateupstairs.asm
+++ /dev/null
@@ -1,76 +1,0 @@
-Route11GateUpstairsScript:
-	jp DisableAutoTextBoxDrawing
-
-Route11GateUpstairsTextPointers:
-	dw Route11GateUpstairsText1
-	dw Route11GateUpstairsText2
-	dw Route11GateUpstairsText3
-	dw Route11GateUpstairsText4
-
-Route11GateUpstairsText1:
-	TX_ASM
-	xor a
-	ld [wWhichTrade], a
-	predef DoInGameTradeDialogue
-Route11GateUpstairsScriptEnd:
-	jp TextScriptEnd
-
-Route11GateUpstairsText2:
-	TX_ASM
-	CheckEvent EVENT_GOT_ITEMFINDER, 1
-	jr c, .asm_4949b
-	ld a, 30 ; pokemon needed
-	ld [hOaksAideRequirement], a
-	ld a, ITEMFINDER ; oak's aide reward
-	ld [hOaksAideRewardItem], a
-	ld [wd11e], a
-	call GetItemName
-	ld h, d
-	ld l, e
-	ld de, wOaksAideRewardItemName
-	ld bc, ITEM_NAME_LENGTH
-	call CopyData
-	predef OaksAideScript
-	ld a, [hOaksAideResult]
-	dec a
-	jr nz, .asm_494a1
-	SetEvent EVENT_GOT_ITEMFINDER
-.asm_4949b
-	ld hl, Route11GateUpstairsText_494a3
-	call PrintText
-.asm_494a1
-	jr Route11GateUpstairsScriptEnd
-
-Route11GateUpstairsText_494a3:
-	TX_FAR _Route11GateUpstairsText_494a3
-	db "@"
-
-Route11GateUpstairsText3:
-	TX_ASM
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	jp nz, GateUpstairsScript_PrintIfFacingUp
-	CheckEvent EVENT_BEAT_ROUTE12_SNORLAX
-	ld hl, BinocularsSnorlaxText
-	jr z, .print
-	ld hl, BinocularsNoSnorlaxText
-.print
-	call PrintText
-	jp TextScriptEnd
-
-BinocularsSnorlaxText:
-	TX_FAR _BinocularsSnorlaxText
-	db "@"
-
-BinocularsNoSnorlaxText:
-	TX_FAR _BinocularsNoSnorlaxText
-	db "@"
-
-Route11GateUpstairsText4:
-	TX_ASM
-	ld hl, Route11GateUpstairsText_494d5
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route11GateUpstairsText_494d5:
-	TX_FAR _Route11GateUpstairsText_494d5
-	db "@"
--- a/scripts/route12.asm
+++ /dev/null
@@ -1,288 +1,0 @@
-Route12Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route12TrainerHeader0
-	ld de, Route12ScriptPointers
-	ld a, [wRoute12CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute12CurScript], a
-	ret
-
-Route12Script_59606:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute12CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route12ScriptPointers:
-	dw Route12Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw Route12Script3
-
-Route12Script0:
-	CheckEventHL EVENT_BEAT_ROUTE12_SNORLAX
-	jp nz, CheckFightingMapTrainers
-	CheckEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX
-	ResetEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX
-	jp z, CheckFightingMapTrainers
-	ld a, $d
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, SNORLAX
-	ld [wCurOpponent], a
-	ld a, 30
-	ld [wCurEnemyLVL], a
-	ld a, HS_ROUTE_12_SNORLAX
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, $3
-	ld [wRoute12CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route12Script3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jr z, Route12Script_59606
-	call UpdateSprites
-	ld a, [wBattleResult]
-	cp $2
-	jr z, .asm_59664
-	ld a, $e
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_59664
-	SetEvent EVENT_BEAT_ROUTE12_SNORLAX
-	call Delay3
-	ld a, $0
-	ld [wRoute12CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route12TextPointers:
-	dw Route12Text1
-	dw Route12Text2
-	dw Route12Text3
-	dw Route12Text4
-	dw Route12Text5
-	dw Route12Text6
-	dw Route12Text7
-	dw Route12Text8
-	dw PickUpItemText
-	dw PickUpItemText
-	dw Route12Text11
-	dw Route12Text12
-	dw Route12Text13
-	dw Route12Text14
-
-Route12TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0
-	dw Route12BattleText1 ; TextBeforeBattle
-	dw Route12AfterBattleText1 ; TextAfterBattle
-	dw Route12EndBattleText1 ; TextEndBattle
-	dw Route12EndBattleText1 ; TextEndBattle
-
-Route12TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1
-	dw Route12BattleText2 ; TextBeforeBattle
-	dw Route12AfterBattleText2 ; TextAfterBattle
-	dw Route12EndBattleText2 ; TextEndBattle
-	dw Route12EndBattleText2 ; TextEndBattle
-
-Route12TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2
-	dw Route12BattleText3 ; TextBeforeBattle
-	dw Route12AfterBattleText3 ; TextAfterBattle
-	dw Route12EndBattleText3 ; TextEndBattle
-	dw Route12EndBattleText3 ; TextEndBattle
-
-Route12TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3
-	dw Route12BattleText4 ; TextBeforeBattle
-	dw Route12AfterBattleText4 ; TextAfterBattle
-	dw Route12EndBattleText4 ; TextEndBattle
-	dw Route12EndBattleText4 ; TextEndBattle
-
-Route12TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4
-	dw Route12BattleText5 ; TextBeforeBattle
-	dw Route12AfterBattleText5 ; TextAfterBattle
-	dw Route12EndBattleText5 ; TextEndBattle
-	dw Route12EndBattleText5 ; TextEndBattle
-
-Route12TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5
-	dw Route12BattleText6 ; TextBeforeBattle
-	dw Route12AfterBattleText6 ; TextAfterBattle
-	dw Route12EndBattleText6 ; TextEndBattle
-	dw Route12EndBattleText6 ; TextEndBattle
-
-Route12TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1
-	dw Route12BattleText7 ; TextBeforeBattle
-	dw Route12AfterBattleText7 ; TextAfterBattle
-	dw Route12EndBattleText7 ; TextEndBattle
-	dw Route12EndBattleText7 ; TextEndBattle
-
-	db $ff
-
-Route12Text1:
-	TX_FAR _Route12Text1
-	db "@"
-
-Route12Text13:
-	TX_FAR _Route12Text13
-	db "@"
-
-Route12Text14:
-	TX_FAR _Route12Text14
-	db "@"
-
-Route12Text2:
-	TX_ASM
-	ld hl, Route12TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route12BattleText1:
-	TX_FAR _Route12BattleText1
-	db "@"
-
-Route12EndBattleText1:
-	TX_FAR _Route12EndBattleText1
-	db "@"
-
-Route12AfterBattleText1:
-	TX_FAR _Route12AfterBattleText1
-	db "@"
-
-Route12Text3:
-	TX_ASM
-	ld hl, Route12TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route12BattleText2:
-	TX_FAR _Route12BattleText2
-	db "@"
-
-Route12EndBattleText2:
-	TX_FAR _Route12EndBattleText2
-	db "@"
-
-Route12AfterBattleText2:
-	TX_FAR _Route12AfterBattleText2
-	db "@"
-
-Route12Text4:
-	TX_ASM
-	ld hl, Route12TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route12BattleText3:
-	TX_FAR _Route12BattleText3
-	db "@"
-
-Route12EndBattleText3:
-	TX_FAR _Route12EndBattleText3
-	db "@"
-
-Route12AfterBattleText3:
-	TX_FAR _Route12AfterBattleText3
-	db "@"
-
-Route12Text5:
-	TX_ASM
-	ld hl, Route12TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route12BattleText4:
-	TX_FAR _Route12BattleText4
-	db "@"
-
-Route12EndBattleText4:
-	TX_FAR _Route12EndBattleText4
-	db "@"
-
-Route12AfterBattleText4:
-	TX_FAR _Route12AfterBattleText4
-	db "@"
-
-Route12Text6:
-	TX_ASM
-	ld hl, Route12TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route12BattleText5:
-	TX_FAR _Route12BattleText5
-	db "@"
-
-Route12EndBattleText5:
-	TX_FAR _Route12EndBattleText5
-	db "@"
-
-Route12AfterBattleText5:
-	TX_FAR _Route12AfterBattleText5
-	db "@"
-
-Route12Text7:
-	TX_ASM
-	ld hl, Route12TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route12BattleText6:
-	TX_FAR _Route12BattleText6
-	db "@"
-
-Route12EndBattleText6:
-	TX_FAR _Route12EndBattleText6
-	db "@"
-
-Route12AfterBattleText6:
-	TX_FAR _Route12AfterBattleText6
-	db "@"
-
-Route12Text8:
-	TX_ASM
-	ld hl, Route12TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route12BattleText7:
-	TX_FAR _Route12BattleText7
-	db "@"
-
-Route12EndBattleText7:
-	TX_FAR _Route12EndBattleText7
-	db "@"
-
-Route12AfterBattleText7:
-	TX_FAR _Route12AfterBattleText7
-	db "@"
-
-Route12Text11:
-	TX_FAR _Route12Text11
-	db "@"
-
-Route12Text12:
-	TX_FAR _Route12Text12
-	db "@"
--- a/scripts/route12gate.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-Route12GateScript:
-	jp EnableAutoTextBoxDrawing
-
-Route12GateTextPointers:
-	dw Route12GateText1
-
-Route12GateText1:
-	TX_FAR _Route12GateText1
-	db "@"
--- a/scripts/route12gateupstairs.asm
+++ /dev/null
@@ -1,78 +1,0 @@
-Route12GateUpstairsScript:
-	jp DisableAutoTextBoxDrawing
-
-Route12GateUpstairsTextPointers:
-	dw Route12GateUpstairsText1
-	dw Route12GateUpstairsText2
-	dw Route12GateUpstairsText3
-
-Route12GateUpstairsText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM39, 1
-	jr c, .asm_0ad3c
-	ld hl, TM39PreReceiveText
-	call PrintText
-	lb bc, TM_39, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedTM39Text
-	call PrintText
-	SetEvent EVENT_GOT_TM39
-	jr .asm_4ba56
-.BagFull
-	ld hl, TM39NoRoomText
-	call PrintText
-	jr .asm_4ba56
-.asm_0ad3c
-	ld hl, TM39ExplanationText
-	call PrintText
-.asm_4ba56
-	jp TextScriptEnd
-
-TM39PreReceiveText:
-	TX_FAR _TM39PreReceiveText
-	db "@"
-
-ReceivedTM39Text:
-	TX_FAR _ReceivedTM39Text
-	TX_SFX_ITEM_1
-	db "@"
-
-TM39ExplanationText:
-	TX_FAR _TM39ExplanationText
-	db "@"
-
-TM39NoRoomText:
-	TX_FAR _TM39NoRoomText
-	db "@"
-
-Route12GateUpstairsText2:
-	TX_ASM
-	ld hl, Route12GateUpstairsText_495b8
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route12GateUpstairsText_495b8:
-	TX_FAR _Route12GateUpstairsText_495b8
-	db "@"
-
-Route12GateUpstairsText3:
-	TX_ASM
-	ld hl, Route12GateUpstairsText_495c4
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route12GateUpstairsText_495c4:
-	TX_FAR _Route12GateUpstairsText_495c4
-	db "@"
-
-GateUpstairsScript_PrintIfFacingUp:
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_UP
-	jr z, .up
-	ld a, $1
-	jr .done
-.up
-	call PrintText
-	xor a
-.done
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	jp TextScriptEnd
--- a/scripts/route12house.asm
+++ /dev/null
@@ -1,57 +1,0 @@
-Route12HouseScript:
-	jp EnableAutoTextBoxDrawing
-
-Route12HouseTextPointers:
-	dw Route12HouseText1
-
-Route12HouseText1:
-	TX_ASM
-	ld a, [wd728]
-	bit 5, a
-	jr nz, .asm_b4cad
-	ld hl, Route12HouseText_564c0
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_a2d76
-	lb bc, SUPER_ROD, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, wd728
-	set 5, [hl]
-	ld hl, Route12HouseText_564c5
-	jr .asm_df984
-.BagFull
-	ld hl, Route12HouseText_564d9
-	jr .asm_df984
-.asm_a2d76
-	ld hl, Route12HouseText_564cf
-	jr .asm_df984
-.asm_b4cad
-	ld hl, Route12HouseText_564d4
-.asm_df984
-	call PrintText
-	jp TextScriptEnd
-
-Route12HouseText_564c0:
-	TX_FAR _Route12HouseText_564c0
-	db "@"
-
-Route12HouseText_564c5:
-	TX_FAR _Route12HouseText_564c5
-	TX_SFX_ITEM_1
-	TX_FAR _Route12HouseText_564ca
-	db "@"
-
-Route12HouseText_564cf:
-	TX_FAR _Route12HouseText_564cf
-	db "@"
-
-Route12HouseText_564d4:
-	TX_FAR _Route12HouseText_564d4
-	db "@"
-
-Route12HouseText_564d9:
-	TX_FAR _Route12HouseText_564d9
-	db "@"
--- a/scripts/route13.asm
+++ /dev/null
@@ -1,312 +1,0 @@
-Route13Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route13TrainerHeader0
-	ld de, Route13ScriptPointers
-	ld a, [wRoute13CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute13CurScript], a
-	ret
-
-Route13ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route13TextPointers:
-	dw Route13Text1
-	dw Route13Text2
-	dw Route13Text3
-	dw Route13Text4
-	dw Route13Text5
-	dw Route13Text6
-	dw Route13Text7
-	dw Route13Text8
-	dw Route13Text9
-	dw Route13Text10
-	dw Route13Text11
-	dw Route13Text12
-	dw Route13Text13
-
-Route13TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_0
-	dw Route13BattleText2 ; TextBeforeBattle
-	dw Route13AfterBattleText2 ; TextAfterBattle
-	dw Route13EndBattleText2 ; TextEndBattle
-	dw Route13EndBattleText2 ; TextEndBattle
-
-Route13TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_1
-	dw Route13BattleText3 ; TextBeforeBattle
-	dw Route13AfterBattleText3 ; TextAfterBattle
-	dw Route13EndBattleText3 ; TextEndBattle
-	dw Route13EndBattleText3 ; TextEndBattle
-
-Route13TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_2
-	dw Route13BattleText4 ; TextBeforeBattle
-	dw Route13AfterBattleText4 ; TextAfterBattle
-	dw Route13EndBattleText4 ; TextEndBattle
-	dw Route13EndBattleText4 ; TextEndBattle
-
-Route13TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_3
-	dw Route13BattleText5 ; TextBeforeBattle
-	dw Route13AfterBattleText5 ; TextAfterBattle
-	dw Route13EndBattleText5 ; TextEndBattle
-	dw Route13EndBattleText5 ; TextEndBattle
-
-Route13TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_4
-	dw Route13BattleText6 ; TextBeforeBattle
-	dw Route13AfterBattleText6 ; TextAfterBattle
-	dw Route13EndBattleText6 ; TextEndBattle
-	dw Route13EndBattleText6 ; TextEndBattle
-
-Route13TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_5
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_5
-	dw Route13BattleText7 ; TextBeforeBattle
-	dw Route13AfterBattleText7 ; TextAfterBattle
-	dw Route13EndBattleText7 ; TextEndBattle
-	dw Route13EndBattleText7 ; TextEndBattle
-
-Route13TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_6
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_6
-	dw Route13BattleText8 ; TextBeforeBattle
-	dw Route13AfterBattleText8 ; TextAfterBattle
-	dw Route13EndBattleText8 ; TextEndBattle
-	dw Route13EndBattleText8 ; TextEndBattle
-
-Route13TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_7, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_7, 1
-	dw Route13BattleText9 ; TextBeforeBattle
-	dw Route13AfterBattleText9 ; TextAfterBattle
-	dw Route13EndBattleText9 ; TextEndBattle
-	dw Route13EndBattleText9 ; TextEndBattle
-
-Route13TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_8, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_8, 1
-	dw Route13BattleText10 ; TextBeforeBattle
-	dw Route13AfterBattleText10 ; TextAfterBattle
-	dw Route13EndBattleText10 ; TextEndBattle
-	dw Route13EndBattleText10 ; TextEndBattle
-
-Route13TrainerHeader9:
-	dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_9, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_9, 1
-	dw Route13BattleText11 ; TextBeforeBattle
-	dw Route13AfterBattleText11 ; TextAfterBattle
-	dw Route13EndBattleText11 ; TextEndBattle
-	dw Route13EndBattleText11 ; TextEndBattle
-
-	db $ff
-
-Route13Text1:
-	TX_ASM
-	ld hl, Route13TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText2:
-	TX_FAR _Route13BattleText2
-	db "@"
-
-Route13EndBattleText2:
-	TX_FAR _Route13EndBattleText2
-	db "@"
-
-Route13AfterBattleText2:
-	TX_FAR _Route13AfterBattleText2
-	db "@"
-
-Route13Text2:
-	TX_ASM
-	ld hl, Route13TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText3:
-	TX_FAR _Route13BattleText3
-	db "@"
-
-Route13EndBattleText3:
-	TX_FAR _Route13EndBattleText3
-	db "@"
-
-Route13AfterBattleText3:
-	TX_FAR _Route13AfterBattleText3
-	db "@"
-
-Route13Text3:
-	TX_ASM
-	ld hl, Route13TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText4:
-	TX_FAR _Route13BattleText4
-	db "@"
-
-Route13EndBattleText4:
-	TX_FAR _Route13EndBattleText4
-	db "@"
-
-Route13AfterBattleText4:
-	TX_FAR _Route13AfterBattleText4
-	db "@"
-
-Route13Text4:
-	TX_ASM
-	ld hl, Route13TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText5:
-	TX_FAR _Route13BattleText5
-	db "@"
-
-Route13EndBattleText5:
-	TX_FAR _Route13EndBattleText5
-	db "@"
-
-Route13AfterBattleText5:
-	TX_FAR _Route13AfterBattleText5
-	db "@"
-
-Route13Text5:
-	TX_ASM
-	ld hl, Route13TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText6:
-	TX_FAR _Route13BattleText6
-	db "@"
-
-Route13EndBattleText6:
-	TX_FAR _Route13EndBattleText6
-	db "@"
-
-Route13AfterBattleText6:
-	TX_FAR _Route13AfterBattleText6
-	db "@"
-
-Route13Text6:
-	TX_ASM
-	ld hl, Route13TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText7:
-	TX_FAR _Route13BattleText7
-	db "@"
-
-Route13EndBattleText7:
-	TX_FAR _Route13EndBattleText7
-	db "@"
-
-Route13AfterBattleText7:
-	TX_FAR _Route13AfterBattleText7
-	db "@"
-
-Route13Text7:
-	TX_ASM
-	ld hl, Route13TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText8:
-	TX_FAR _Route13BattleText8
-	db "@"
-
-Route13EndBattleText8:
-	TX_FAR _Route13EndBattleText8
-	db "@"
-
-Route13AfterBattleText8:
-	TX_FAR _Route13AfterBattleText8
-	db "@"
-
-Route13Text8:
-	TX_ASM
-	ld hl, Route13TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText9:
-	TX_FAR _Route13BattleText9
-	db "@"
-
-Route13EndBattleText9:
-	TX_FAR _Route13EndBattleText9
-	db "@"
-
-Route13AfterBattleText9:
-	TX_FAR _Route13AfterBattleText9
-	db "@"
-
-Route13Text9:
-	TX_ASM
-	ld hl, Route13TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText10:
-	TX_FAR _Route13BattleText10
-	db "@"
-
-Route13EndBattleText10:
-	TX_FAR _Route13EndBattleText10
-	db "@"
-
-Route13AfterBattleText10:
-	TX_FAR _Route13AfterBattleText10
-	db "@"
-
-Route13Text10:
-	TX_ASM
-	ld hl, Route13TrainerHeader9
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route13BattleText11:
-	TX_FAR _Route13BattleText11
-	db "@"
-
-Route13EndBattleText11:
-	TX_FAR _Route13EndBattleText11
-	db "@"
-
-Route13AfterBattleText11:
-	TX_FAR _Route13AfterBattleText11
-	db "@"
-
-Route13Text11:
-	TX_FAR _Route13Text11
-	db "@"
-
-Route13Text12:
-	TX_FAR _Route13Text12
-	db "@"
-
-Route13Text13:
-	TX_FAR _Route13Text13
-	db "@"
--- a/scripts/route14.asm
+++ /dev/null
@@ -1,302 +1,0 @@
-Route14Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route14TrainerHeader0
-	ld de, Route14ScriptPointers
-	ld a, [wRoute14CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute14CurScript], a
-	ret
-
-Route14ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route14TextPointers:
-	dw Route14Text1
-	dw Route14Text2
-	dw Route14Text3
-	dw Route14Text4
-	dw Route14Text5
-	dw Route14Text6
-	dw Route14Text7
-	dw Route14Text8
-	dw Route14Text9
-	dw Route14Text10
-	dw Route14Text11
-
-Route14TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_0
-	dw Route14BattleText1 ; TextBeforeBattle
-	dw Route14AfterBattleText1 ; TextAfterBattle
-	dw Route14EndBattleText1 ; TextEndBattle
-	dw Route14EndBattleText1 ; TextEndBattle
-
-Route14TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_1
-	dw Route14BattleText2 ; TextBeforeBattle
-	dw Route14AfterBattleText2 ; TextAfterBattle
-	dw Route14EndBattleText2 ; TextEndBattle
-	dw Route14EndBattleText2 ; TextEndBattle
-
-Route14TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_2
-	dw Route14BattleText3 ; TextBeforeBattle
-	dw Route14AfterBattleText3 ; TextAfterBattle
-	dw Route14EndBattleText3 ; TextEndBattle
-	dw Route14EndBattleText3 ; TextEndBattle
-
-Route14TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_3
-	dw Route14BattleText4 ; TextBeforeBattle
-	dw Route14AfterBattleText4 ; TextAfterBattle
-	dw Route14EndBattleText4 ; TextEndBattle
-	dw Route14EndBattleText4 ; TextEndBattle
-
-Route14TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_4
-	dw Route14BattleText5 ; TextBeforeBattle
-	dw Route14AfterBattleText5 ; TextAfterBattle
-	dw Route14EndBattleText5 ; TextEndBattle
-	dw Route14EndBattleText5 ; TextEndBattle
-
-Route14TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_5
-	dw Route14BattleText6 ; TextBeforeBattle
-	dw Route14AfterBattleText6 ; TextAfterBattle
-	dw Route14EndBattleText6 ; TextEndBattle
-	dw Route14EndBattleText6 ; TextEndBattle
-
-Route14TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_6
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_6
-	dw Route14BattleText7 ; TextBeforeBattle
-	dw Route14AfterBattleText7 ; TextAfterBattle
-	dw Route14EndBattleText7 ; TextEndBattle
-	dw Route14EndBattleText7 ; TextEndBattle
-
-Route14TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_7, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_7, 1
-	dw Route14BattleText8 ; TextBeforeBattle
-	dw Route14AfterBattleText8 ; TextAfterBattle
-	dw Route14EndBattleText8 ; TextEndBattle
-	dw Route14EndBattleText8 ; TextEndBattle
-
-Route14TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_8, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_8, 1
-	dw Route14BattleText9 ; TextBeforeBattle
-	dw Route14AfterBattleText9 ; TextAfterBattle
-	dw Route14EndBattleText9 ; TextEndBattle
-	dw Route14EndBattleText9 ; TextEndBattle
-
-Route14TrainerHeader9:
-	dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_9, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_9, 1
-	dw Route14BattleText10 ; TextBeforeBattle
-	dw Route14AfterBattleText10 ; TextAfterBattle
-	dw Route14EndBattleText10 ; TextEndBattle
-	dw Route14EndBattleText10 ; TextEndBattle
-
-	db $ff
-
-Route14Text1:
-	TX_ASM
-	ld hl, Route14TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText1:
-	TX_FAR _Route14BattleText1
-	db "@"
-
-Route14EndBattleText1:
-	TX_FAR _Route14EndBattleText1
-	db "@"
-
-Route14AfterBattleText1:
-	TX_FAR _Route14AfterBattleText1
-	db "@"
-
-Route14Text2:
-	TX_ASM
-	ld hl, Route14TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText2:
-	TX_FAR _Route14BattleText2
-	db "@"
-
-Route14EndBattleText2:
-	TX_FAR _Route14EndBattleText2
-	db "@"
-
-Route14AfterBattleText2:
-	TX_FAR _Route14AfterBattleText2
-	db "@"
-
-Route14Text3:
-	TX_ASM
-	ld hl, Route14TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText3:
-	TX_FAR _Route14BattleText3
-	db "@"
-
-Route14EndBattleText3:
-	TX_FAR _Route14EndBattleText3
-	db "@"
-
-Route14AfterBattleText3:
-	TX_FAR _Route14AfterBattleText3
-	db "@"
-
-Route14Text4:
-	TX_ASM
-	ld hl, Route14TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText4:
-	TX_FAR _Route14BattleText4
-	db "@"
-
-Route14EndBattleText4:
-	TX_FAR _Route14EndBattleText4
-	db "@"
-
-Route14AfterBattleText4:
-	TX_FAR _Route14AfterBattleText4
-	db "@"
-
-Route14Text5:
-	TX_ASM
-	ld hl, Route14TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText5:
-	TX_FAR _Route14BattleText5
-	db "@"
-
-Route14EndBattleText5:
-	TX_FAR _Route14EndBattleText5
-	db "@"
-
-Route14AfterBattleText5:
-	TX_FAR _Route14AfterBattleText5
-	db "@"
-
-Route14Text6:
-	TX_ASM
-	ld hl, Route14TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText6:
-	TX_FAR _Route14BattleText6
-	db "@"
-
-Route14EndBattleText6:
-	TX_FAR _Route14EndBattleText6
-	db "@"
-
-Route14AfterBattleText6:
-	TX_FAR _Route14AfterBattleText6
-	db "@"
-
-Route14Text7:
-	TX_ASM
-	ld hl, Route14TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText7:
-	TX_FAR _Route14BattleText7
-	db "@"
-
-Route14EndBattleText7:
-	TX_FAR _Route14EndBattleText7
-	db "@"
-
-Route14AfterBattleText7:
-	TX_FAR _Route14AfterBattleText7
-	db "@"
-
-Route14Text8:
-	TX_ASM
-	ld hl, Route14TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText8:
-	TX_FAR _Route14BattleText8
-	db "@"
-
-Route14EndBattleText8:
-	TX_FAR _Route14EndBattleText8
-	db "@"
-
-Route14AfterBattleText8:
-	TX_FAR _Route14AfterBattleText8
-	db "@"
-
-Route14Text9:
-	TX_ASM
-	ld hl, Route14TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText9:
-	TX_FAR _Route14BattleText9
-	db "@"
-
-Route14EndBattleText9:
-	TX_FAR _Route14EndBattleText9
-	db "@"
-
-Route14AfterBattleText9:
-	TX_FAR _Route14AfterBattleText9
-	db "@"
-
-Route14Text10:
-	TX_ASM
-	ld hl, Route14TrainerHeader9
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route14BattleText10:
-	TX_FAR _Route14BattleText10
-	db "@"
-
-Route14EndBattleText10:
-	TX_FAR _Route14EndBattleText10
-	db "@"
-
-Route14AfterBattleText10:
-	TX_FAR _Route14AfterBattleText10
-	db "@"
-
-Route14Text11:
-	TX_FAR _Route14Text11
-	db "@"
--- a/scripts/route15.asm
+++ /dev/null
@@ -1,295 +1,0 @@
-Route15Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route15TrainerHeader0
-	ld de, Route15ScriptPointers
-	ld a, [wRoute15CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute15CurScript], a
-	ret
-
-Route15ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route15TextPointers:
-	dw Route15Text1
-	dw Route15Text2
-	dw Route15Text3
-	dw Route15Text4
-	dw Route15Text5
-	dw Route15Text6
-	dw Route15Text7
-	dw Route15Text8
-	dw Route15Text9
-	dw Route15Text10
-	dw PickUpItemText
-	dw Route15Text12
-
-Route15TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_0
-	dw Route15BattleText1 ; TextBeforeBattle
-	dw Route15AfterBattleText1 ; TextAfterBattle
-	dw Route15EndBattleText1 ; TextEndBattle
-	dw Route15EndBattleText1 ; TextEndBattle
-
-Route15TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_1
-	dw Route15BattleText2 ; TextBeforeBattle
-	dw Route15AfterBattleText2 ; TextAfterBattle
-	dw Route15EndBattleText2 ; TextEndBattle
-	dw Route15EndBattleText2 ; TextEndBattle
-
-Route15TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_2
-	dw Route15BattleText3 ; TextBeforeBattle
-	dw Route15AfterBattleText3 ; TextAfterBattle
-	dw Route15EndBattleText3 ; TextEndBattle
-	dw Route15EndBattleText3 ; TextEndBattle
-
-Route15TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_3
-	dw Route15BattleText4 ; TextBeforeBattle
-	dw Route15AfterBattleText4 ; TextAfterBattle
-	dw Route15EndBattleText4 ; TextEndBattle
-	dw Route15EndBattleText4 ; TextEndBattle
-
-Route15TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_4
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_4
-	dw Route15BattleText5 ; TextBeforeBattle
-	dw Route15AfterBattleText5 ; TextAfterBattle
-	dw Route15EndBattleText5 ; TextEndBattle
-	dw Route15EndBattleText5 ; TextEndBattle
-
-Route15TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_5
-	dw Route15BattleText6 ; TextBeforeBattle
-	dw Route15AfterBattleText6 ; TextAfterBattle
-	dw Route15EndBattleText6 ; TextEndBattle
-	dw Route15EndBattleText6 ; TextEndBattle
-
-Route15TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_6
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_6
-	dw Route15BattleText7 ; TextBeforeBattle
-	dw Route15AfterBattleText7 ; TextAfterBattle
-	dw Route15EndBattleText7 ; TextEndBattle
-	dw Route15EndBattleText7 ; TextEndBattle
-
-Route15TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_7, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_7, 1
-	dw Route15BattleText8 ; TextBeforeBattle
-	dw Route15AfterBattleText8 ; TextAfterBattle
-	dw Route15EndBattleText8 ; TextEndBattle
-	dw Route15EndBattleText8 ; TextEndBattle
-
-Route15TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_8, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_8, 1
-	dw Route15BattleText9 ; TextBeforeBattle
-	dw Route15AfterBattleText9 ; TextAfterBattle
-	dw Route15EndBattleText9 ; TextEndBattle
-	dw Route15EndBattleText9 ; TextEndBattle
-
-Route15TrainerHeader9:
-	dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_9, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_9, 1
-	dw Route15BattleText10 ; TextBeforeBattle
-	dw Route15AfterBattleText10 ; TextAfterBattle
-	dw Route15EndBattleText10 ; TextEndBattle
-	dw Route15EndBattleText10 ; TextEndBattle
-
-	db $ff
-
-Route15Text1:
-	TX_ASM
-	ld hl, Route15TrainerHeader0
-	jr Route15TalkToTrainer
-
-Route15Text2:
-	TX_ASM
-	ld hl, Route15TrainerHeader1
-	jr Route15TalkToTrainer
-
-Route15Text3:
-	TX_ASM
-	ld hl, Route15TrainerHeader2
-	jr Route15TalkToTrainer
-
-Route15Text4:
-	TX_ASM
-	ld hl, Route15TrainerHeader3
-	jr Route15TalkToTrainer
-
-Route15Text5:
-	TX_ASM
-	ld hl, Route15TrainerHeader4
-	jr Route15TalkToTrainer
-
-Route15Text6:
-	TX_ASM
-	ld hl, Route15TrainerHeader5
-	jr Route15TalkToTrainer
-
-Route15Text7:
-	TX_ASM
-	ld hl, Route15TrainerHeader6
-	jr Route15TalkToTrainer
-
-Route15Text8:
-	TX_ASM
-	ld hl, Route15TrainerHeader7
-	jr Route15TalkToTrainer
-
-Route15Text9:
-	TX_ASM
-	ld hl, Route15TrainerHeader8
-	jr Route15TalkToTrainer
-
-Route15Text10:
-	TX_ASM
-	ld hl, Route15TrainerHeader9
-Route15TalkToTrainer:
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route15BattleText1:
-	TX_FAR _Route15BattleText1
-	db "@"
-
-Route15EndBattleText1:
-	TX_FAR _Route15EndBattleText1
-	db "@"
-
-Route15AfterBattleText1:
-	TX_FAR _Route15AfterBattleText1
-	db "@"
-
-Route15BattleText2:
-	TX_FAR _Route15BattleText2
-	db "@"
-
-Route15EndBattleText2:
-	TX_FAR _Route15EndBattleText2
-	db "@"
-
-Route15AfterBattleText2:
-	TX_FAR _Route15AfterBattleText2
-	db "@"
-
-Route15BattleText3:
-	TX_FAR _Route15BattleText3
-	db "@"
-
-Route15EndBattleText3:
-	TX_FAR _Route15EndBattleText3
-	db "@"
-
-Route15AfterBattleText3:
-	TX_FAR _Route15AfterBattleText3
-	db "@"
-
-Route15BattleText4:
-	TX_FAR _Route15BattleText4
-	db "@"
-
-Route15EndBattleText4:
-	TX_FAR _Route15EndBattleText4
-	db "@"
-
-Route15AfterBattleText4:
-	TX_FAR _Route15AfterBattleText4
-	db "@"
-
-Route15BattleText5:
-	TX_FAR _Route15BattleText5
-	db "@"
-
-Route15EndBattleText5:
-	TX_FAR _Route15EndBattleText5
-	db "@"
-
-Route15AfterBattleText5:
-	TX_FAR _Route15AfterBattleText5
-	db "@"
-
-Route15BattleText6:
-	TX_FAR _Route15BattleText6
-	db "@"
-
-Route15EndBattleText6:
-	TX_FAR _Route15EndBattleText6
-	db "@"
-
-Route15AfterBattleText6:
-	TX_FAR _Route15AfterBattleText6
-	db "@"
-
-Route15BattleText7:
-	TX_FAR _Route15BattleText7
-	db "@"
-
-Route15EndBattleText7:
-	TX_FAR _Route15EndBattleText7
-	db "@"
-
-Route15AfterBattleText7:
-	TX_FAR _Route15AfterBattleText7
-	db "@"
-
-Route15BattleText8:
-	TX_FAR _Route15BattleText8
-	db "@"
-
-Route15EndBattleText8:
-	TX_FAR _Route15EndBattleText8
-	db "@"
-
-Route15AfterBattleText8:
-	TX_FAR _Route15AfterBattleText8
-	db "@"
-
-Route15BattleText9:
-	TX_FAR _Route15BattleText9
-	db "@"
-
-Route15EndBattleText9:
-	TX_FAR _Route15EndBattleText9
-	db "@"
-
-Route15AfterBattleText9:
-	TX_FAR _Route15AfterBattleText9
-	db "@"
-
-Route15BattleText10:
-	TX_FAR _Route15BattleText10
-	db "@"
-
-Route15EndBattleText10:
-	TX_FAR _Route15EndBattleText10
-	db "@"
-
-Route15AfterBattleText10:
-	TX_FAR _Route15AfterBattleText10
-	db "@"
-
-Route15Text12:
-	TX_FAR _Route15Text12
-	db "@"
--- a/scripts/route15gate.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-Route15GateScript:
-	jp EnableAutoTextBoxDrawing
-
-Route15GateTextPointers:
-	dw Route15GateText1
-
-Route15GateText1:
-	TX_FAR _Route15GateText1
-	db "@"
--- a/scripts/route15gateupstairs.asm
+++ /dev/null
@@ -1,44 +1,0 @@
-Route15GateUpstairsScript:
-	jp DisableAutoTextBoxDrawing
-
-Route15GateUpstairsTextPointers:
-	dw Route15GateUpstairsText1
-	dw Route15GateUpstairsText2
-
-Route15GateUpstairsText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_EXP_ALL
-	jr nz, .asm_49683
-	ld a, 50 ; pokemon needed
-	ld [hOaksAideRequirement], a
-	ld a, EXP_ALL ; oak's aide reward
-	ld [hOaksAideRewardItem], a
-	ld [wd11e], a
-	call GetItemName
-	ld hl, wcd6d
-	ld de, wOaksAideRewardItemName
-	ld bc, ITEM_NAME_LENGTH
-	call CopyData
-	predef OaksAideScript
-	ld a, [hOaksAideResult]
-	cp $1
-	jr nz, .asm_49689
-	SetEvent EVENT_GOT_EXP_ALL
-.asm_49683
-	ld hl, Route15GateUpstairsText_4968c
-	call PrintText
-.asm_49689
-	jp TextScriptEnd
-
-Route15GateUpstairsText_4968c:
-	TX_FAR _Route15GateUpstairsText_4968c
-	db "@"
-
-Route15GateUpstairsText2:
-	TX_ASM
-	ld hl, Route15GateUpstairsText_49698
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route15GateUpstairsText_49698:
-	TX_FAR _Route15GateUpstairsText_49698
-	db "@"
--- a/scripts/route16.asm
+++ /dev/null
@@ -1,259 +1,0 @@
-Route16Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route16TrainerHeader0
-	ld de, Route16ScriptPointers
-	ld a, [wRoute16CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute16CurScript], a
-	ret
-
-Route16Script_59946:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute16CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route16ScriptPointers:
-	dw Route16Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw Route16Script3
-
-Route16Script0:
-	CheckEventHL EVENT_BEAT_ROUTE16_SNORLAX
-	jp nz, CheckFightingMapTrainers
-	CheckEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX
-	ResetEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX
-	jp z, CheckFightingMapTrainers
-	ld a, $a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, SNORLAX
-	ld [wCurOpponent], a
-	ld a, 30
-	ld [wCurEnemyLVL], a
-	ld a, HS_ROUTE_16_SNORLAX
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call UpdateSprites
-	ld a, $3
-	ld [wRoute16CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route16Script3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, Route16Script_59946
-	call UpdateSprites
-	ld a, [wBattleResult]
-	cp $2
-	jr z, .asm_599a8
-	ld a, $b
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_599a8
-	SetEvent EVENT_BEAT_ROUTE16_SNORLAX
-	call Delay3
-	ld a, $0
-	ld [wRoute16CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route16TextPointers:
-	dw Route16Text1
-	dw Route16Text2
-	dw Route16Text3
-	dw Route16Text4
-	dw Route16Text5
-	dw Route16Text6
-	dw Route16Text7
-	dw Route16Text8
-	dw Route16Text9
-	dw Route16Text10
-	dw Route16Text11
-
-Route16TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_0
-	dw Route16BattleText1 ; TextBeforeBattle
-	dw Route16AfterBattleText1 ; TextAfterBattle
-	dw Route16EndBattleText1 ; TextEndBattle
-	dw Route16EndBattleText1 ; TextEndBattle
-
-Route16TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_1
-	dw Route16BattleText2 ; TextBeforeBattle
-	dw Route16AfterBattleText2 ; TextAfterBattle
-	dw Route16EndBattleText2 ; TextEndBattle
-	dw Route16EndBattleText2 ; TextEndBattle
-
-Route16TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_2
-	dw Route16BattleText3 ; TextBeforeBattle
-	dw Route16AfterBattleText3 ; TextAfterBattle
-	dw Route16EndBattleText3 ; TextEndBattle
-	dw Route16EndBattleText3 ; TextEndBattle
-
-Route16TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_3
-	dw Route16BattleText4 ; TextBeforeBattle
-	dw Route16AfterBattleText4 ; TextAfterBattle
-	dw Route16EndBattleText4 ; TextEndBattle
-	dw Route16EndBattleText4 ; TextEndBattle
-
-Route16TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_4
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_4
-	dw Route16BattleText5 ; TextBeforeBattle
-	dw Route16AfterBattleText5 ; TextAfterBattle
-	dw Route16EndBattleText5 ; TextEndBattle
-	dw Route16EndBattleText5 ; TextEndBattle
-
-Route16TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_5
-	dw Route16BattleText6 ; TextBeforeBattle
-	dw Route16AfterBattleText6 ; TextAfterBattle
-	dw Route16EndBattleText6 ; TextEndBattle
-	dw Route16EndBattleText6 ; TextEndBattle
-
-	db $ff
-
-Route16Text1:
-	TX_ASM
-	ld hl, Route16TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route16BattleText1:
-	TX_FAR _Route16BattleText1
-	db "@"
-
-Route16EndBattleText1:
-	TX_FAR _Route16EndBattleText1
-	db "@"
-
-Route16AfterBattleText1:
-	TX_FAR _Route16AfterBattleText1
-	db "@"
-
-Route16Text2:
-	TX_ASM
-	ld hl, Route16TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route16BattleText2:
-	TX_FAR _Route16BattleText2
-	db "@"
-
-Route16EndBattleText2:
-	TX_FAR _Route16EndBattleText2
-	db "@"
-
-Route16AfterBattleText2:
-	TX_FAR _Route16AfterBattleText2
-	db "@"
-
-Route16Text3:
-	TX_ASM
-	ld hl, Route16TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route16BattleText3:
-	TX_FAR _Route16BattleText3
-	db "@"
-
-Route16EndBattleText3:
-	TX_FAR _Route16EndBattleText3
-	db "@"
-
-Route16AfterBattleText3:
-	TX_FAR _Route16AfterBattleText3
-	db "@"
-
-Route16Text4:
-	TX_ASM
-	ld hl, Route16TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route16BattleText4:
-	TX_FAR _Route16BattleText4
-	db "@"
-
-Route16EndBattleText4:
-	TX_FAR _Route16EndBattleText4
-	db "@"
-
-Route16AfterBattleText4:
-	TX_FAR _Route16AfterBattleText4
-	db "@"
-
-Route16Text5:
-	TX_ASM
-	ld hl, Route16TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route16BattleText5:
-	TX_FAR _Route16BattleText5
-	db "@"
-
-Route16EndBattleText5:
-	TX_FAR _Route16EndBattleText5
-	db "@"
-
-Route16AfterBattleText5:
-	TX_FAR _Route16AfterBattleText5
-	db "@"
-
-Route16Text6:
-	TX_ASM
-	ld hl, Route16TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route16BattleText6:
-	TX_FAR _Route16BattleText6
-	db "@"
-
-Route16EndBattleText6:
-	TX_FAR _Route16EndBattleText6
-	db "@"
-
-Route16AfterBattleText6:
-	TX_FAR _Route16AfterBattleText6
-	db "@"
-
-Route16Text7:
-	TX_FAR _Route16Text7
-	db "@"
-
-Route16Text10:
-	TX_FAR _Route16Text10
-	db "@"
-
-Route16Text11:
-	TX_FAR _Route16Text11
-	db "@"
-
-Route16Text8:
-	TX_FAR _Route16Text8
-	db "@"
-
-Route16Text9:
-	TX_FAR _Route16Text9
-	db "@"
--- a/scripts/route16gate.asm
+++ /dev/null
@@ -1,121 +1,0 @@
-Route16GateScript:
-	ld hl, wd732
-	res 5, [hl]
-	call EnableAutoTextBoxDrawing
-	ld a, [wRoute16GateCurScript]
-	ld hl, Route16GateScriptPointers
-	jp CallFunctionInTable
-
-Route16GateScriptPointers:
-	dw Route16GateScript0
-	dw Route16GateScript1
-	dw Route16GateScript2
-	dw Route16GateScript3
-
-Route16GateScript0:
-	call Route16GateScript_49755
-	ret nz
-	ld hl, CoordsData_49714
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [hJoyHeld], a
-	ld a, [wCoordIndex]
-	cp $1
-	jr z, .asm_4970e
-	ld a, [wCoordIndex]
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	ld b, $0
-	ld c, a
-	ld a, D_UP
-	ld hl, wSimulatedJoypadStatesEnd
-	call FillMemory
-	call StartSimulatingJoypadStates
-	ld a, $1
-	ld [wRoute16GateCurScript], a
-	ret
-.asm_4970e
-	ld a, $2
-	ld [wRoute16GateCurScript], a
-	ret
-
-CoordsData_49714:
-	db $07,$04
-	db $08,$04
-	db $09,$04
-	db $0A,$04
-	db $FF
-
-Route16GateScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	ld a, $f0
-	ld [wJoyIgnore], a
-
-Route16GateScript2:
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_RIGHT
-	ld [wSimulatedJoypadStatesEnd], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wRoute16GateCurScript], a
-	ret
-
-Route16GateScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld hl, wd730
-	res 7, [hl]
-	ld a, $0
-	ld [wRoute16GateCurScript], a
-	ret
-
-Route16GateScript_49755:
-	ld b, BICYCLE
-	jp IsItemInBag
-
-Route16GateTextPointers:
-	dw Route16GateText1
-	dw Route16GateText2
-	dw Route16GateText3
-
-Route16GateText1:
-	TX_ASM
-	call Route16GateScript_49755
-	jr z, .asm_0bdf3
-	ld hl, Route16GateText_4977c
-	call PrintText
-	jr .asm_56c9d
-.asm_0bdf3
-	ld hl, Route16GateText_49777
-	call PrintText
-.asm_56c9d
-	jp TextScriptEnd
-
-Route16GateText_49777:
-	TX_FAR _Route16GateText_49777
-	db "@"
-
-Route16GateText_4977c:
-	TX_FAR _Route16GateText_4977c
-	db "@"
-
-Route16GateText3:
-	TX_FAR _Route16GateText_49781
-	db "@"
-
-Route16GateText2:
-	TX_FAR _Route16GateText2
-	db "@"
--- a/scripts/route16gateupstairs.asm
+++ /dev/null
@@ -1,46 +1,0 @@
-Route16GateUpstairsScript:
-	jp DisableAutoTextBoxDrawing
-
-Route16GateUpstairsTextPointers:
-	dw Route16GateUpstairsText1
-	dw Route16GateUpstairsText2
-	dw Route16GateUpstairsText3
-	dw Route16GateUpstairsText4
-
-Route16GateUpstairsText1:
-	TX_ASM
-	ld hl, Route16GateUpstairsText_49820
-	call PrintText
-	jp TextScriptEnd
-
-Route16GateUpstairsText_49820:
-	TX_FAR _Route16GateUpstairsText_49820
-	db "@"
-
-Route16GateUpstairsText2:
-	TX_ASM
-	ld hl, Route16GateUpstairsText_4982f
-	call PrintText
-	jp TextScriptEnd
-
-Route16GateUpstairsText_4982f:
-	TX_FAR _Route16GateUpstairsText_4982f
-	db "@"
-
-Route16GateUpstairsText3:
-	TX_ASM
-	ld hl, Route16GateUpstairsText_4983b
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route16GateUpstairsText_4983b:
-	TX_FAR _Route16GateUpstairsText_4983b
-	db "@"
-
-Route16GateUpstairsText4:
-	TX_ASM
-	ld hl, Route16GateUpstairsText_49847
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route16GateUpstairsText_49847:
-	TX_FAR _Route16GateUpstairsText_49847
-	db "@"
--- a/scripts/route16house.asm
+++ /dev/null
@@ -1,55 +1,0 @@
-Route16HouseScript:
-	jp EnableAutoTextBoxDrawing
-
-Route16HouseTextPointers:
-	dw Route16HouseText1
-	dw Route16HouseText2
-
-Route16HouseText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_HM02
-	ld hl, HM02ExplanationText
-	jr nz, .asm_13616
-	ld hl, Route16HouseText3
-	call PrintText
-	lb bc, HM_02, 1
-	call GiveItem
-	jr nc, .BagFull
-	SetEvent EVENT_GOT_HM02
-	ld hl, ReceivedHM02Text
-	jr .asm_13616
-.BagFull
-	ld hl, HM02NoRoomText
-.asm_13616
-	call PrintText
-	jp TextScriptEnd
-
-Route16HouseText3:
-	TX_FAR _Route16HouseText3
-	db "@"
-
-ReceivedHM02Text:
-	TX_FAR _ReceivedHM02Text
-	TX_SFX_KEY_ITEM
-	db "@"
-
-HM02ExplanationText:
-	TX_FAR _HM02ExplanationText
-	db "@"
-
-HM02NoRoomText:
-	TX_FAR _HM02NoRoomText
-	db "@"
-
-Route16HouseText2:
-	TX_ASM
-	ld hl, Route16HouseText_1e652
-	call PrintText
-	ld a, FEAROW
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-Route16HouseText_1e652:
-	TX_FAR _Route16HouseText_1e652
-	db "@"
--- a/scripts/route17.asm
+++ /dev/null
@@ -1,327 +1,0 @@
-Route17Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route17TrainerHeader0
-	ld de, Route17ScriptPointers
-	ld a, [wRoute17CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute17CurScript], a
-	ret
-
-Route17ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route17TextPointers:
-	dw Route17Text1
-	dw Route17Text2
-	dw Route17Text3
-	dw Route17Text4
-	dw Route17Text5
-	dw Route17Text6
-	dw Route17Text7
-	dw Route17Text8
-	dw Route17Text9
-	dw Route17Text10
-	dw Route17Text11
-	dw Route17Text12
-	dw Route17Text13
-	dw Route17Text14
-	dw Route17Text15
-	dw Route17Text16
-
-Route17TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_0
-	dw Route17BattleText1 ; TextBeforeBattle
-	dw Route17AfterBattleText1 ; TextAfterBattle
-	dw Route17EndBattleText1 ; TextEndBattle
-	dw Route17EndBattleText1 ; TextEndBattle
-
-Route17TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_1
-	dw Route17BattleText2 ; TextBeforeBattle
-	dw Route17AfterBattleText2 ; TextAfterBattle
-	dw Route17EndBattleText2 ; TextEndBattle
-	dw Route17EndBattleText2 ; TextEndBattle
-
-Route17TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_2
-	dw Route17BattleText3 ; TextBeforeBattle
-	dw Route17AfterBattleText3 ; TextAfterBattle
-	dw Route17EndBattleText3 ; TextEndBattle
-	dw Route17EndBattleText3 ; TextEndBattle
-
-Route17TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_3
-	dw Route17BattleText4 ; TextBeforeBattle
-	dw Route17AfterBattleText4 ; TextAfterBattle
-	dw Route17EndBattleText4 ; TextEndBattle
-	dw Route17EndBattleText4 ; TextEndBattle
-
-Route17TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_4
-	dw Route17BattleText5 ; TextBeforeBattle
-	dw Route17AfterBattleText5 ; TextAfterBattle
-	dw Route17EndBattleText5 ; TextEndBattle
-	dw Route17EndBattleText5 ; TextEndBattle
-
-Route17TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_5
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_5
-	dw Route17BattleText6 ; TextBeforeBattle
-	dw Route17AfterBattleText6 ; TextAfterBattle
-	dw Route17EndBattleText6 ; TextEndBattle
-	dw Route17EndBattleText6 ; TextEndBattle
-
-Route17TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_6
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_6
-	dw Route17BattleText7 ; TextBeforeBattle
-	dw Route17AfterBattleText7 ; TextAfterBattle
-	dw Route17EndBattleText7 ; TextEndBattle
-	dw Route17EndBattleText7 ; TextEndBattle
-
-Route17TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_7, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_7, 1
-	dw Route17BattleText8 ; TextBeforeBattle
-	dw Route17AfterBattleText8 ; TextAfterBattle
-	dw Route17EndBattleText8 ; TextEndBattle
-	dw Route17EndBattleText8 ; TextEndBattle
-
-Route17TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_8, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_8, 1
-	dw Route17BattleText9 ; TextBeforeBattle
-	dw Route17AfterBattleText9 ; TextAfterBattle
-	dw Route17EndBattleText9 ; TextEndBattle
-	dw Route17EndBattleText9 ; TextEndBattle
-
-Route17TrainerHeader9:
-	dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_9, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_9, 1
-	dw Route17BattleText10 ; TextBeforeBattle
-	dw Route17AfterBattleText10 ; TextAfterBattle
-	dw Route17EndBattleText10 ; TextEndBattle
-	dw Route17EndBattleText10 ; TextEndBattle
-
-	db $ff
-
-Route17Text1:
-	TX_ASM
-	ld hl, Route17TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText1:
-	TX_FAR _Route17BattleText1
-	db "@"
-
-Route17EndBattleText1:
-	TX_FAR _Route17EndBattleText1
-	db "@"
-
-Route17AfterBattleText1:
-	TX_FAR _Route17AfterBattleText1
-	db "@"
-
-Route17Text2:
-	TX_ASM
-	ld hl, Route17TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText2:
-	TX_FAR _Route17BattleText2
-	db "@"
-
-Route17EndBattleText2:
-	TX_FAR _Route17EndBattleText2
-	db "@"
-
-Route17AfterBattleText2:
-	TX_FAR _Route17AfterBattleText2
-	db "@"
-
-Route17Text3:
-	TX_ASM
-	ld hl, Route17TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText3:
-	TX_FAR _Route17BattleText3
-	db "@"
-
-Route17EndBattleText3:
-	TX_FAR _Route17EndBattleText3
-	db "@"
-
-Route17AfterBattleText3:
-	TX_FAR _Route17AfterBattleText3
-	db "@"
-
-Route17Text4:
-	TX_ASM
-	ld hl, Route17TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText4:
-	TX_FAR _Route17BattleText4
-	db "@"
-
-Route17EndBattleText4:
-	TX_FAR _Route17EndBattleText4
-	db "@"
-
-Route17AfterBattleText4:
-	TX_FAR _Route17AfterBattleText4
-	db "@"
-
-Route17Text5:
-	TX_ASM
-	ld hl, Route17TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText5:
-	TX_FAR _Route17BattleText5
-	db "@"
-
-Route17EndBattleText5:
-	TX_FAR _Route17EndBattleText5
-	db "@"
-
-Route17AfterBattleText5:
-	TX_FAR _Route17AfterBattleText5
-	db "@"
-
-Route17Text6:
-	TX_ASM
-	ld hl, Route17TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText6:
-	TX_FAR _Route17BattleText6
-	db "@"
-
-Route17EndBattleText6:
-	TX_FAR _Route17EndBattleText6
-	db "@"
-
-Route17AfterBattleText6:
-	TX_FAR _Route17AfterBattleText6
-	db "@"
-
-Route17Text7:
-	TX_ASM
-	ld hl, Route17TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText7:
-	TX_FAR _Route17BattleText7
-	db "@"
-
-Route17EndBattleText7:
-	TX_FAR _Route17EndBattleText7
-	db "@"
-
-Route17AfterBattleText7:
-	TX_FAR _Route17AfterBattleText7
-	db "@"
-
-Route17Text8:
-	TX_ASM
-	ld hl, Route17TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText8:
-	TX_FAR _Route17BattleText8
-	db "@"
-
-Route17EndBattleText8:
-	TX_FAR _Route17EndBattleText8
-	db "@"
-
-Route17AfterBattleText8:
-	TX_FAR _Route17AfterBattleText8
-	db "@"
-
-Route17Text9:
-	TX_ASM
-	ld hl, Route17TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText9:
-	TX_FAR _Route17BattleText9
-	db "@"
-
-Route17EndBattleText9:
-	TX_FAR _Route17EndBattleText9
-	db "@"
-
-Route17AfterBattleText9:
-	TX_FAR _Route17AfterBattleText9
-	db "@"
-
-Route17Text10:
-	TX_ASM
-	ld hl, Route17TrainerHeader9
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route17BattleText10:
-	TX_FAR _Route17BattleText10
-	db "@"
-
-Route17EndBattleText10:
-	TX_FAR _Route17EndBattleText10
-	db "@"
-
-Route17AfterBattleText10:
-	TX_FAR _Route17AfterBattleText10
-	db "@"
-
-Route17Text11:
-	TX_FAR _Route17Text11
-	db "@"
-
-Route17Text12:
-	TX_FAR _Route17Text12
-	db "@"
-
-Route17Text13:
-	TX_FAR _Route17Text13
-	db "@"
-
-Route17Text14:
-	TX_FAR _Route17Text14
-	db "@"
-
-Route17Text15:
-	TX_FAR _Route17Text15
-	db "@"
-
-Route17Text16:
-	TX_FAR _Route17Text16
-	db "@"
--- a/scripts/route18.asm
+++ /dev/null
@@ -1,111 +1,0 @@
-Route18Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route18TrainerHeader0
-	ld de, Route18ScriptPointers
-	ld a, [wRoute18CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute18CurScript], a
-	ret
-
-Route18ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route18TextPointers:
-	dw Route18Text1
-	dw Route18Text2
-	dw Route18Text3
-	dw Route18Text4
-	dw Route18Text5
-
-Route18TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_0
-	dw Route18BattleText1 ; TextBeforeBattle
-	dw Route18AfterBattleText1 ; TextAfterBattle
-	dw Route18EndBattleText1 ; TextEndBattle
-	dw Route18EndBattleText1 ; TextEndBattle
-
-Route18TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_1
-	dw Route18BattleText2 ; TextBeforeBattle
-	dw Route18AfterBattleText2 ; TextAfterBattle
-	dw Route18EndBattleText2 ; TextEndBattle
-	dw Route18EndBattleText2 ; TextEndBattle
-
-Route18TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_2
-	dw Route18BattleText3 ; TextBeforeBattle
-	dw Route18AfterBattleText3 ; TextAfterBattle
-	dw Route18EndBattleText3 ; TextEndBattle
-	dw Route18EndBattleText3 ; TextEndBattle
-
-	db $ff
-
-Route18Text1:
-	TX_ASM
-	ld hl, Route18TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route18BattleText1:
-	TX_FAR _Route18BattleText1
-	db "@"
-
-Route18EndBattleText1:
-	TX_FAR _Route18EndBattleText1
-	db "@"
-
-Route18AfterBattleText1:
-	TX_FAR _Route18AfterBattleText1
-	db "@"
-
-Route18Text2:
-	TX_ASM
-	ld hl, Route18TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route18BattleText2:
-	TX_FAR _Route18BattleText2
-	db "@"
-
-Route18EndBattleText2:
-	TX_FAR _Route18EndBattleText2
-	db "@"
-
-Route18AfterBattleText2:
-	TX_FAR _Route18AfterBattleText2
-	db "@"
-
-Route18Text3:
-	TX_ASM
-	ld hl, Route18TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route18BattleText3:
-	TX_FAR _Route18BattleText3
-	db "@"
-
-Route18EndBattleText3:
-	TX_FAR _Route18EndBattleText3
-	db "@"
-
-Route18AfterBattleText3:
-	TX_FAR _Route18AfterBattleText3
-	db "@"
-
-Route18Text4:
-	TX_FAR _Route18Text4
-	db "@"
-
-Route18Text5:
-	TX_FAR _Route18Text5
-	db "@"
--- a/scripts/route18gate.asm
+++ /dev/null
@@ -1,112 +1,0 @@
-Route18GateScript:
-	ld hl, wd732
-	res 5, [hl]
-	call EnableAutoTextBoxDrawing
-	ld a, [wRoute18GateCurScript]
-	ld hl, Route18GateScriptPointers
-	jp CallFunctionInTable
-
-Route18GateScriptPointers:
-	dw Route18GateScript0
-	dw Route18GateScript1
-	dw Route18GateScript2
-	dw Route18GateScript3
-
-Route18GateScript0:
-	call Route16GateScript_49755
-	ret nz
-	ld hl, CoordsData_498cc
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [hJoyHeld], a
-	ld a, [wCoordIndex]
-	cp $1
-	jr z, .asm_498c6
-	ld a, [wCoordIndex]
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	ld b, 0
-	ld c, a
-	ld a, D_UP
-	ld hl, wSimulatedJoypadStatesEnd
-	call FillMemory
-	call StartSimulatingJoypadStates
-	ld a, $1
-	ld [wRoute18GateCurScript], a
-	ret
-.asm_498c6
-	ld a, $2
-	ld [wRoute18GateCurScript], a
-	ret
-
-CoordsData_498cc:
-	db $03,$04
-	db $04,$04
-	db $05,$04
-	db $06,$04
-	db $FF
-
-Route18GateScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	ld a, $f0
-	ld [wJoyIgnore], a
-
-Route18GateScript2:
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_RIGHT
-	ld [wSimulatedJoypadStatesEnd], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wRoute18GateCurScript], a
-	ret
-
-Route18GateScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld hl, wd730
-	res 7, [hl]
-	ld a, $0
-	ld [wRoute18GateCurScript], a
-	ret
-
-Route18GateTextPointers:
-	dw Route18GateText1
-	dw Route18GateText2
-
-Route18GateText1:
-	TX_ASM
-	call Route16GateScript_49755
-	jr z, .asm_3c84d
-	ld hl, Route18GateText_4992d
-	call PrintText
-	jr .asm_a8410
-.asm_3c84d
-	ld hl, Route18GateText_49928
-	call PrintText
-.asm_a8410
-	jp TextScriptEnd
-
-Route18GateText_49928:
-	TX_FAR _Route18GateText_49928
-	db "@"
-
-Route18GateText_4992d:
-	TX_FAR _Route18GateText_4992d
-	db "@"
-
-Route18GateText2:
-	TX_FAR _Route18GateText_49932
-	db "@"
--- a/scripts/route18gateupstairs.asm
+++ /dev/null
@@ -1,32 +1,0 @@
-Route18GateUpstairsScript:
-	jp DisableAutoTextBoxDrawing
-
-Route18GateUpstairsTextPointers:
-	dw Route18GateUpstairsText1
-	dw Route18GateUpstairsText2
-	dw Route18GateUpstairsText3
-
-Route18GateUpstairsText1:
-	TX_ASM
-	ld a, $5
-	ld [wWhichTrade], a
-	predef DoInGameTradeDialogue
-	jp TextScriptEnd
-
-Route18GateUpstairsText2:
-	TX_ASM
-	ld hl, Route18GateUpstairsText_49993
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route18GateUpstairsText_49993:
-	TX_FAR _Route18GateUpstairsText_49993
-	db "@"
-
-Route18GateUpstairsText3:
-	TX_ASM
-	ld hl, Route18GateUpstairsText_4999f
-	jp GateUpstairsScript_PrintIfFacingUp
-
-Route18GateUpstairsText_4999f:
-	TX_FAR _Route18GateUpstairsText_4999f
-	db "@"
--- a/scripts/route19.asm
+++ /dev/null
@@ -1,302 +1,0 @@
-Route19Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route19TrainerHeader0
-	ld de, Route19ScriptPointers
-	ld a, [wRoute19CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute19CurScript], a
-	ret
-
-Route19ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route19TextPointers:
-	dw Route19Text1
-	dw Route19Text2
-	dw Route19Text3
-	dw Route19Text4
-	dw Route19Text5
-	dw Route19Text6
-	dw Route19Text7
-	dw Route19Text8
-	dw Route19Text9
-	dw Route19Text10
-	dw Route19Text11
-
-Route19TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_0
-	dw Route19BattleText1 ; TextBeforeBattle
-	dw Route19AfterBattleText1 ; TextAfterBattle
-	dw Route19EndBattleText1 ; TextEndBattle
-	dw Route19EndBattleText1 ; TextEndBattle
-
-Route19TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_1
-	dw Route19BattleText2 ; TextBeforeBattle
-	dw Route19AfterBattleText2 ; TextAfterBattle
-	dw Route19EndBattleText2 ; TextEndBattle
-	dw Route19EndBattleText2 ; TextEndBattle
-
-Route19TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_2
-	dw Route19BattleText3 ; TextBeforeBattle
-	dw Route19AfterBattleText3 ; TextAfterBattle
-	dw Route19EndBattleText3 ; TextEndBattle
-	dw Route19EndBattleText3 ; TextEndBattle
-
-Route19TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_3
-	dw Route19BattleText4 ; TextBeforeBattle
-	dw Route19AfterBattleText4 ; TextAfterBattle
-	dw Route19EndBattleText4 ; TextEndBattle
-	dw Route19EndBattleText4 ; TextEndBattle
-
-Route19TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_4
-	dw Route19BattleText5 ; TextBeforeBattle
-	dw Route19AfterBattleText5 ; TextAfterBattle
-	dw Route19EndBattleText5 ; TextEndBattle
-	dw Route19EndBattleText5 ; TextEndBattle
-
-Route19TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_5
-	dw Route19BattleText6 ; TextBeforeBattle
-	dw Route19AfterBattleText6 ; TextAfterBattle
-	dw Route19EndBattleText6 ; TextEndBattle
-	dw Route19EndBattleText6 ; TextEndBattle
-
-Route19TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_6
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_6
-	dw Route19BattleText7 ; TextBeforeBattle
-	dw Route19AfterBattleText7 ; TextAfterBattle
-	dw Route19EndBattleText7 ; TextEndBattle
-	dw Route19EndBattleText7 ; TextEndBattle
-
-Route19TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_7, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_7, 1
-	dw Route19BattleText8 ; TextBeforeBattle
-	dw Route19AfterBattleText8 ; TextAfterBattle
-	dw Route19EndBattleText8 ; TextEndBattle
-	dw Route19EndBattleText8 ; TextEndBattle
-
-Route19TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_8, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_8, 1
-	dw Route19BattleText9 ; TextBeforeBattle
-	dw Route19AfterBattleText9 ; TextAfterBattle
-	dw Route19EndBattleText9 ; TextEndBattle
-	dw Route19EndBattleText9 ; TextEndBattle
-
-Route19TrainerHeader9:
-	dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_9, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_9, 1
-	dw Route19BattleText10 ; TextBeforeBattle
-	dw Route19AfterBattleText10 ; TextAfterBattle
-	dw Route19EndBattleText10 ; TextEndBattle
-	dw Route19EndBattleText10 ; TextEndBattle
-
-	db $ff
-
-Route19Text1:
-	TX_ASM
-	ld hl, Route19TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text2:
-	TX_ASM
-	ld hl, Route19TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text3:
-	TX_ASM
-	ld hl, Route19TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text4:
-	TX_ASM
-	ld hl, Route19TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text5:
-	TX_ASM
-	ld hl, Route19TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text6:
-	TX_ASM
-	ld hl, Route19TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text7:
-	TX_ASM
-	ld hl, Route19TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text8:
-	TX_ASM
-	ld hl, Route19TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text9:
-	TX_ASM
-	ld hl, Route19TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19Text10:
-	TX_ASM
-	ld hl, Route19TrainerHeader9
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route19BattleText1:
-	TX_FAR _Route19BattleText1
-	db "@"
-
-Route19EndBattleText1:
-	TX_FAR _Route19EndBattleText1
-	db "@"
-
-Route19AfterBattleText1:
-	TX_FAR _Route19AfterBattleText1
-	db "@"
-
-Route19BattleText2:
-	TX_FAR _Route19BattleText2
-	db "@"
-
-Route19EndBattleText2:
-	TX_FAR _Route19EndBattleText2
-	db "@"
-
-Route19AfterBattleText2:
-	TX_FAR _Route19AfterBattleText2
-	db "@"
-
-Route19BattleText3:
-	TX_FAR _Route19BattleText3
-	db "@"
-
-Route19EndBattleText3:
-	TX_FAR _Route19EndBattleText3
-	db "@"
-
-Route19AfterBattleText3:
-	TX_FAR _Route19AfterBattleText3
-	db "@"
-
-Route19BattleText4:
-	TX_FAR _Route19BattleText4
-	db "@"
-
-Route19EndBattleText4:
-	TX_FAR _Route19EndBattleText4
-	db "@"
-
-Route19AfterBattleText4:
-	TX_FAR _Route19AfterBattleText4
-	db "@"
-
-Route19BattleText5:
-	TX_FAR _Route19BattleText5
-	db "@"
-
-Route19EndBattleText5:
-	TX_FAR _Route19EndBattleText5
-	db "@"
-
-Route19AfterBattleText5:
-	TX_FAR _Route19AfterBattleText5
-	db "@"
-
-Route19BattleText6:
-	TX_FAR _Route19BattleText6
-	db "@"
-
-Route19EndBattleText6:
-	TX_FAR _Route19EndBattleText6
-	db "@"
-
-Route19AfterBattleText6:
-	TX_FAR _Route19AfterBattleText6
-	db "@"
-
-Route19BattleText7:
-	TX_FAR _Route19BattleText7
-	db "@"
-
-Route19EndBattleText7:
-	TX_FAR _Route19EndBattleText7
-	db "@"
-
-Route19AfterBattleText7:
-	TX_FAR _Route19AfterBattleText7
-	db "@"
-
-Route19BattleText8:
-	TX_FAR _Route19BattleText8
-	db "@"
-
-Route19EndBattleText8:
-	TX_FAR _Route19EndBattleText8
-	db "@"
-
-Route19AfterBattleText8:
-	TX_FAR _Route19AfterBattleText8
-	db "@"
-
-Route19BattleText9:
-	TX_FAR _Route19BattleText9
-	db "@"
-
-Route19EndBattleText9:
-	TX_FAR _Route19EndBattleText9
-	db "@"
-
-Route19AfterBattleText9:
-	TX_FAR _Route19AfterBattleText9
-	db "@"
-
-Route19BattleText10:
-	TX_FAR _Route19BattleText10
-	db "@"
-
-Route19EndBattleText10:
-	TX_FAR _Route19EndBattleText10
-	db "@"
-
-Route19AfterBattleText10:
-	TX_FAR _Route19AfterBattleText10
-	db "@"
-
-Route19Text11:
-	TX_FAR _Route19Text11
-	db "@"
--- a/scripts/route2.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-Route2Script:
-	jp EnableAutoTextBoxDrawing
-
-Route2TextPointers:
-	dw PickUpItemText
-	dw PickUpItemText
-	dw Route2Text3
-	dw Route2Text4
-
-Route2Text3:
-	TX_FAR _Route2Text3
-	db "@"
-
-Route2Text4:
-	TX_FAR _Route2Text4
-	db "@"
--- a/scripts/route20.asm
+++ /dev/null
@@ -1,353 +1,0 @@
-Route20Script:
-	CheckAndResetEvent EVENT_IN_SEAFOAM_ISLANDS
-	call nz, Route20Script_50cc6
-	call EnableAutoTextBoxDrawing
-	ld hl, Route20TrainerHeader0
-	ld de, Route20ScriptPointers
-	ld a, [wRoute20CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute20CurScript], a
-	ret
-
-Route20Script_50cc6:
-	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
-	jr z, .asm_50cef
-	ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1
-	call Route20Script_50d0c
-	ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2
-	call Route20Script_50d0c
-	ld hl, .MissableObjectIDs
-.asm_50cdc
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_50cef
-	push hl
-	call Route20Script_50d14
-	pop hl
-	jr .asm_50cdc
-
-.MissableObjectIDs:
-	db HS_SEAFOAM_ISLANDS_2_BOULDER_1
-	db HS_SEAFOAM_ISLANDS_2_BOULDER_2
-	db HS_SEAFOAM_ISLANDS_3_BOULDER_1
-	db HS_SEAFOAM_ISLANDS_3_BOULDER_2
-	db HS_SEAFOAM_ISLANDS_4_BOULDER_3
-	db HS_SEAFOAM_ISLANDS_4_BOULDER_4
-	db $FF
-
-.asm_50cef
-	CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
-	ret z
-	ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1
-	call Route20Script_50d0c
-	ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2
-	call Route20Script_50d0c
-	ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1
-	call Route20Script_50d14
-	ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2
-	call Route20Script_50d14
-	ret
-
-Route20Script_50d0c:
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-
-Route20Script_50d14:
-	ld [wMissableObjectIndex], a
-	predef_jump HideObject
-
-Route20ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route20TextPointers:
-	dw Route20Text1
-	dw Route20Text2
-	dw Route20Text3
-	dw Route20Text4
-	dw Route20Text5
-	dw Route20Text6
-	dw Route20Text7
-	dw Route20Text8
-	dw Route20Text9
-	dw Route20Text10
-	dw Route20Text11
-	dw Route20Text12
-
-Route20TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0
-	dw Route20BattleText1 ; TextBeforeBattle
-	dw Route20AfterBattleText1 ; TextAfterBattle
-	dw Route20EndBattleText1 ; TextEndBattle
-	dw Route20EndBattleText1 ; TextEndBattle
-
-Route20TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_1
-	dw Route20BattleText2 ; TextBeforeBattle
-	dw Route20AfterBattleText2 ; TextAfterBattle
-	dw Route20EndBattleText2 ; TextEndBattle
-	dw Route20EndBattleText2 ; TextEndBattle
-
-Route20TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2
-	dw Route20BattleText3 ; TextBeforeBattle
-	dw Route20AfterBattleText3 ; TextAfterBattle
-	dw Route20EndBattleText3 ; TextEndBattle
-	dw Route20EndBattleText3 ; TextEndBattle
-
-Route20TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3
-	dw Route20BattleText4 ; TextBeforeBattle
-	dw Route20AfterBattleText4 ; TextAfterBattle
-	dw Route20EndBattleText4 ; TextEndBattle
-	dw Route20EndBattleText4 ; TextEndBattle
-
-Route20TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4
-	dw Route20BattleText5 ; TextBeforeBattle
-	dw Route20AfterBattleText5 ; TextAfterBattle
-	dw Route20EndBattleText5 ; TextEndBattle
-	dw Route20EndBattleText5 ; TextEndBattle
-
-Route20TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5
-	dw Route20BattleText6 ; TextBeforeBattle
-	dw Route20AfterBattleText6 ; TextAfterBattle
-	dw Route20EndBattleText6 ; TextEndBattle
-	dw Route20EndBattleText6 ; TextEndBattle
-
-Route20TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6
-	dw Route20BattleText7 ; TextBeforeBattle
-	dw Route20AfterBattleText7 ; TextAfterBattle
-	dw Route20EndBattleText7 ; TextEndBattle
-	dw Route20EndBattleText7 ; TextEndBattle
-
-Route20TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7, 1
-	dw Route20BattleText8 ; TextBeforeBattle
-	dw Route20AfterBattleText8 ; TextAfterBattle
-	dw Route20EndBattleText8 ; TextEndBattle
-	dw Route20EndBattleText8 ; TextEndBattle
-
-Route20TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1
-	dw Route20BattleText9 ; TextBeforeBattle
-	dw Route20AfterBattleText9 ; TextAfterBattle
-	dw Route20EndBattleText9 ; TextEndBattle
-	dw Route20EndBattleText9 ; TextEndBattle
-
-Route20TrainerHeader9:
-	dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1
-	dw Route20BattleText10 ; TextBeforeBattle
-	dw Route20AfterBattleText10 ; TextAfterBattle
-	dw Route20EndBattleText10 ; TextEndBattle
-	dw Route20EndBattleText10 ; TextEndBattle
-
-	db $ff
-
-Route20Text1:
-	TX_ASM
-	ld hl, Route20TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text2:
-	TX_ASM
-	ld hl, Route20TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text3:
-	TX_ASM
-	ld hl, Route20TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text4:
-	TX_ASM
-	ld hl, Route20TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text5:
-	TX_ASM
-	ld hl, Route20TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text6:
-	TX_ASM
-	ld hl, Route20TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text7:
-	TX_ASM
-	ld hl, Route20TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text8:
-	TX_ASM
-	ld hl, Route20TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text9:
-	TX_ASM
-	ld hl, Route20TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20Text10:
-	TX_ASM
-	ld hl, Route20TrainerHeader9
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route20BattleText1:
-	TX_FAR _Route20BattleText1
-	db "@"
-
-Route20EndBattleText1:
-	TX_FAR _Route20EndBattleText1
-	db "@"
-
-Route20AfterBattleText1:
-	TX_FAR _Route20AfterBattleText1
-	db "@"
-
-Route20BattleText2:
-	TX_FAR _Route20BattleText2
-	db "@"
-
-Route20EndBattleText2:
-	TX_FAR _Route20EndBattleText2
-	db "@"
-
-Route20AfterBattleText2:
-	TX_FAR _Route20AfterBattleText2
-	db "@"
-
-Route20BattleText3:
-	TX_FAR _Route20BattleText3
-	db "@"
-
-Route20EndBattleText3:
-	TX_FAR _Route20EndBattleText3
-	db "@"
-
-Route20AfterBattleText3:
-	TX_FAR _Route20AfterBattleText3
-	db "@"
-
-Route20BattleText4:
-	TX_FAR _Route20BattleText4
-	db "@"
-
-Route20EndBattleText4:
-	TX_FAR _Route20EndBattleText4
-	db "@"
-
-Route20AfterBattleText4:
-	TX_FAR _Route20AfterBattleText4
-	db "@"
-
-Route20BattleText5:
-	TX_FAR _Route20BattleText5
-	db "@"
-
-Route20EndBattleText5:
-	TX_FAR _Route20EndBattleText5
-	db "@"
-
-Route20AfterBattleText5:
-	TX_FAR _Route20AfterBattleText5
-	db "@"
-
-Route20BattleText6:
-	TX_FAR _Route20BattleText6
-	db "@"
-
-Route20EndBattleText6:
-	TX_FAR _Route20EndBattleText6
-	db "@"
-
-Route20AfterBattleText6:
-	TX_FAR _Route20AfterBattleText6
-	db "@"
-
-Route20BattleText7:
-	TX_FAR _Route20BattleText7
-	db "@"
-
-Route20EndBattleText7:
-	TX_FAR _Route20EndBattleText7
-	db "@"
-
-Route20AfterBattleText7:
-	TX_FAR _Route20AfterBattleText7
-	db "@"
-
-Route20BattleText8:
-	TX_FAR _Route20BattleText8
-	db "@"
-
-Route20EndBattleText8:
-	TX_FAR _Route20EndBattleText8
-	db "@"
-
-Route20AfterBattleText8:
-	TX_FAR _Route20AfterBattleText8
-	db "@"
-
-Route20BattleText9:
-	TX_FAR _Route20BattleText9
-	db "@"
-
-Route20EndBattleText9:
-	TX_FAR _Route20EndBattleText9
-	db "@"
-
-Route20AfterBattleText9:
-	TX_FAR _Route20AfterBattleText9
-	db "@"
-
-Route20BattleText10:
-	TX_FAR _Route20BattleText10
-	db "@"
-
-Route20EndBattleText10:
-	TX_FAR _Route20EndBattleText10
-	db "@"
-
-Route20AfterBattleText10:
-	TX_FAR _Route20AfterBattleText10
-	db "@"
-
-Route20Text12:
-Route20Text11:
-	TX_FAR _Route20Text11
-	db "@"
--- a/scripts/route21.asm
+++ /dev/null
@@ -1,269 +1,0 @@
-Route21Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route21TrainerHeader0
-	ld de, Route21ScriptPointers
-	ld a, [wRoute21CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute21CurScript], a
-	ret
-
-Route21ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route21TextPointers:
-	dw Route21Text1
-	dw Route21Text2
-	dw Route21Text3
-	dw Route21Text4
-	dw Route21Text5
-	dw Route21Text6
-	dw Route21Text7
-	dw Route21Text8
-	dw Route21Text9
-
-Route21TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_0
-	dw Route21BattleText1 ; TextBeforeBattle
-	dw Route21AfterBattleText1 ; TextAfterBattle
-	dw Route21EndBattleText1 ; TextEndBattle
-	dw Route21EndBattleText1 ; TextEndBattle
-
-Route21TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_1
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_1
-	dw Route21BattleText2 ; TextBeforeBattle
-	dw Route21AfterBattleText2 ; TextAfterBattle
-	dw Route21EndBattleText2 ; TextEndBattle
-	dw Route21EndBattleText2 ; TextEndBattle
-
-Route21TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_2
-	dw Route21BattleText3 ; TextBeforeBattle
-	dw Route21AfterBattleText3 ; TextAfterBattle
-	dw Route21EndBattleText3 ; TextEndBattle
-	dw Route21EndBattleText3 ; TextEndBattle
-
-Route21TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_3
-	dw Route21BattleText4 ; TextBeforeBattle
-	dw Route21AfterBattleText4 ; TextAfterBattle
-	dw Route21EndBattleText4 ; TextEndBattle
-	dw Route21EndBattleText4 ; TextEndBattle
-
-Route21TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_4
-	dw Route21BattleText5 ; TextBeforeBattle
-	dw Route21AfterBattleText5 ; TextAfterBattle
-	dw Route21EndBattleText5 ; TextEndBattle
-	dw Route21EndBattleText5 ; TextEndBattle
-
-Route21TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_5
-	dw Route21BattleText6 ; TextBeforeBattle
-	dw Route21AfterBattleText6 ; TextAfterBattle
-	dw Route21EndBattleText6 ; TextEndBattle
-	dw Route21EndBattleText6 ; TextEndBattle
-
-Route21TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_6
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_6
-	dw Route21BattleText7 ; TextBeforeBattle
-	dw Route21AfterBattleText7 ; TextAfterBattle
-	dw Route21EndBattleText7 ; TextEndBattle
-	dw Route21EndBattleText7 ; TextEndBattle
-
-Route21TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_7, 1
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_7, 1
-	dw Route21BattleText8 ; TextBeforeBattle
-	dw Route21AfterBattleText8 ; TextAfterBattle
-	dw Route21EndBattleText8 ; TextEndBattle
-	dw Route21EndBattleText8 ; TextEndBattle
-
-Route21TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_8, 1
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_8, 1
-	dw Route21BattleText9 ; TextBeforeBattle
-	dw Route21AfterBattleText9 ; TextAfterBattle
-	dw Route21EndBattleText9 ; TextEndBattle
-	dw Route21EndBattleText9 ; TextEndBattle
-
-	db $ff
-
-Route21Text1:
-	TX_ASM
-	ld hl, Route21TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text2:
-	TX_ASM
-	ld hl, Route21TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text3:
-	TX_ASM
-	ld hl, Route21TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text4:
-	TX_ASM
-	ld hl, Route21TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text5:
-	TX_ASM
-	ld hl, Route21TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text6:
-	TX_ASM
-	ld hl, Route21TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text7:
-	TX_ASM
-	ld hl, Route21TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text8:
-	TX_ASM
-	ld hl, Route21TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21Text9:
-	TX_ASM
-	ld hl, Route21TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route21BattleText1:
-	TX_FAR _Route21BattleText1
-	db "@"
-
-Route21EndBattleText1:
-	TX_FAR _Route21EndBattleText1
-	db "@"
-
-Route21AfterBattleText1:
-	TX_FAR _Route21AfterBattleText1
-	db "@"
-
-Route21BattleText2:
-	TX_FAR _Route21BattleText2
-	db "@"
-
-Route21EndBattleText2:
-	TX_FAR _Route21EndBattleText2
-	db "@"
-
-Route21AfterBattleText2:
-	TX_FAR _Route21AfterBattleText2
-	db "@"
-
-Route21BattleText3:
-	TX_FAR _Route21BattleText3
-	db "@"
-
-Route21EndBattleText3:
-	TX_FAR _Route21EndBattleText3
-	db "@"
-
-Route21AfterBattleText3:
-	TX_FAR _Route21AfterBattleText3
-	db "@"
-
-Route21BattleText4:
-	TX_FAR _Route21BattleText4
-	db "@"
-
-Route21EndBattleText4:
-	TX_FAR _Route21EndBattleText4
-	db "@"
-
-Route21AfterBattleText4:
-	TX_FAR _Route21AfterBattleText4
-	db "@"
-
-Route21BattleText5:
-	TX_FAR _Route21BattleText5
-	db "@"
-
-Route21EndBattleText5:
-	TX_FAR _Route21EndBattleText5
-	db "@"
-
-Route21AfterBattleText5:
-	TX_FAR _Route21AfterBattleText5
-	db "@"
-
-Route21BattleText6:
-	TX_FAR _Route21BattleText6
-	db "@"
-
-Route21EndBattleText6:
-	TX_FAR _Route21EndBattleText6
-	db "@"
-
-Route21AfterBattleText6:
-	TX_FAR _Route21AfterBattleText6
-	db "@"
-
-Route21BattleText7:
-	TX_FAR _Route21BattleText7
-	db "@"
-
-Route21EndBattleText7:
-	TX_FAR _Route21EndBattleText7
-	db "@"
-
-Route21AfterBattleText7:
-	TX_FAR _Route21AfterBattleText7
-	db "@"
-
-Route21BattleText8:
-	TX_FAR _Route21BattleText8
-	db "@"
-
-Route21EndBattleText8:
-	TX_FAR _Route21EndBattleText8
-	db "@"
-
-Route21AfterBattleText8:
-	TX_FAR _Route21AfterBattleText8
-	db "@"
-
-Route21BattleText9:
-	TX_FAR _Route21BattleText9
-	db "@"
-
-Route21EndBattleText9:
-	TX_FAR _Route21EndBattleText9
-	db "@"
-
-Route21AfterBattleText9:
-	TX_FAR _Route21AfterBattleText9
-	db "@"
--- a/scripts/route22.asm
+++ /dev/null
@@ -1,445 +1,0 @@
-Route22Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route22ScriptPointers
-	ld a, [wRoute22CurScript]
-	jp CallFunctionInTable
-
-Route22ScriptPointers:
-	dw Route22Script0
-	dw Route22Script1
-	dw Route22Script2
-	dw Route22Script3
-	dw Route22Script4
-	dw Route22Script5
-	dw Route22Script6
-	dw Route22Script7
-
-Route22Script_50ece:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute22CurScript], a
-Route22Script7:
-	ret
-
-Route22Script_50ed6:
-	ld a, [wRivalStarter]
-	ld b, a
-.asm_50eda
-	ld a, [hli]
-	cp b
-	jr z, .asm_50ee1
-	inc hl
-	jr .asm_50eda
-.asm_50ee1
-	ld a, [hl]
-	ld [wTrainerNo], a
-	ret
-
-Route22MoveRivalSprite:
-	ld de, Route22RivalMovementData
-	ld a, [wcf0d]
-	cp $1
-	jr z, .asm_50ef1
-	inc de
-.asm_50ef1
-	call MoveSprite
-	ld a, SPRITE_FACING_RIGHT
-	ld [hSpriteFacingDirection], a
-	jp SetSpriteFacingDirectionAndDelay
-
-Route22RivalMovementData:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-Route22Script0:
-	CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE
-	ret z
-	ld hl, .Route22RivalBattleCoords
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, [wCoordIndex]
-	ld [wcf0d], a
-	xor a
-	ld [hJoyHeld], a
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, PLAYER_DIR_LEFT
-	ld [wPlayerMovingDirection], a
-	CheckEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE
-	jr nz, .firstRivalBattle
-	CheckEventReuseA EVENT_2ND_ROUTE22_RIVAL_BATTLE ; is this the rival at the end of the game?
-	jp nz, Route22Script_5104e
-	ret
-
-.Route22RivalBattleCoords
-	db $04, $1D
-	db $05, $1D
-	db $FF
-
-.firstRivalBattle
-	ld a, $1
-	ld [wEmotionBubbleSpriteIndex], a
-	xor a ; EXCLAMATION_BUBBLE
-	ld [wWhichEmotionBubble], a
-	predef EmotionBubble
-	ld a, [wWalkBikeSurfState]
-	and a
-	jr z, .asm_50f4e
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-.asm_50f4e
-	ld c, BANK(Music_MeetRival)
-	ld a, MUSIC_MEET_RIVAL
-	call PlayMusic
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call Route22MoveRivalSprite
-	ld a, $1
-	ld [wRoute22CurScript], a
-	ret
-
-Route22Script1:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, [wcf0d]
-	cp $1
-	jr nz, .asm_50f78
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	ld a, SPRITE_FACING_UP
-	jr .asm_50f7a
-.asm_50f78
-	ld a, SPRITE_FACING_RIGHT
-.asm_50f7a
-	ld [hSpriteFacingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call SetSpriteFacingDirectionAndDelay
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, Route22RivalDefeatedText1
-	ld de, Route22Text_511bc
-	call SaveEndBattleTextPointers
-	ld a, OPP_SONY1
-	ld [wCurOpponent], a
-	ld hl, StarterMons_50faf
-	call Route22Script_50ed6
-	ld a, $2
-	ld [wRoute22CurScript], a
-	ret
-
-StarterMons_50faf:
-; starter the rival picked, rival trainer number
-	db STARTER2,$04
-	db STARTER3,$05
-	db STARTER1,$06
-
-Route22Script2:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, Route22Script_50ece
-	ld a, [wSpriteStateData1 + 9]
-	and a ; cp SPRITE_FACING_DOWN
-	jr nz, .notDown
-	ld a, SPRITE_FACING_UP
-	jr .done
-.notDown
-	ld a, SPRITE_FACING_RIGHT
-.done
-	ld [hSpriteFacingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStart
-	ld a, [wcf0d]
-	cp $1
-	jr nz, .asm_50fff
-	call Route22Script_51008
-	jr .asm_51002
-.asm_50fff
-	call Route22Script_5100d
-.asm_51002
-	ld a, $3
-	ld [wRoute22CurScript], a
-	ret
-
-Route22Script_51008:
-	ld de, Route22RivalExitMovementData1
-	jr Route22MoveRival1
-
-Route22Script_5100d:
-	ld de, Route22RivalExitMovementData2
-Route22MoveRival1:
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	jp MoveSprite
-
-Route22RivalExitMovementData1:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-Route22RivalExitMovementData2:
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-Route22Script3:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, HS_ROUTE_22_RIVAL_1
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call PlayDefaultMusic
-	ResetEvents EVENT_1ST_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
-	ld a, $0
-	ld [wRoute22CurScript], a
-	ret
-
-Route22Script_5104e:
-	ld a, $2
-	ld [wEmotionBubbleSpriteIndex], a
-	xor a ; EXCLAMATION_BUBBLE
-	ld [wWhichEmotionBubble], a
-	predef EmotionBubble
-	ld a, [wWalkBikeSurfState]
-	and a
-	jr z, .skipYVisibilityTesta
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-.skipYVisibilityTesta
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateTempo
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	call Route22MoveRivalSprite
-	ld a, $4
-	ld [wRoute22CurScript], a
-	ret
-
-Route22Script4:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	ld a, [wcf0d]
-	cp $1
-	jr nz, .asm_510a1
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	ld a, SPRITE_FACING_UP
-	jr .asm_510a8
-.asm_510a1
-	ld a, PLAYER_DIR_LEFT
-	ld [wPlayerMovingDirection], a
-	ld a, SPRITE_FACING_RIGHT
-.asm_510a8
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, Route22RivalDefeatedText2
-	ld de, Route22Text_511d0
-	call SaveEndBattleTextPointers
-	ld a, OPP_SONY2
-	ld [wCurOpponent], a
-	ld hl, StarterMons_510d9
-	call Route22Script_50ed6
-	ld a, $5
-	ld [wRoute22CurScript], a
-	ret
-
-StarterMons_510d9:
-	db STARTER2,$0a
-	db STARTER3,$0b
-	db STARTER1,$0c
-
-Route22Script5:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, Route22Script_50ece
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	ld a, [wcf0d]
-	cp $1
-	jr nz, .asm_510fb
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	ld a, SPRITE_FACING_UP
-	jr .asm_51102
-.asm_510fb
-	ld a, PLAYER_DIR_LEFT
-	ld [wPlayerMovingDirection], a
-	ld a, SPRITE_FACING_RIGHT
-.asm_51102
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStartAndTempo
-	ld a, [wcf0d]
-	cp $1
-	jr nz, .asm_51134
-	call Route22Script_5113d
-	jr .asm_51137
-.asm_51134
-	call Route22Script_51142
-.asm_51137
-	ld a, $6
-	ld [wRoute22CurScript], a
-	ret
-
-Route22Script_5113d:
-	ld de, MovementData_5114c
-	jr Route22MoveRival2
-
-Route22Script_51142:
-	ld de, MovementData_5114d
-Route22MoveRival2:
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	jp MoveSprite
-
-MovementData_5114c:
-	db NPC_MOVEMENT_LEFT
-
-MovementData_5114d:
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_LEFT
-	db $FF
-
-Route22Script6:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, HS_ROUTE_22_RIVAL_2
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call PlayDefaultMusic
-	ResetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
-	ld a, $7
-	ld [wRoute22CurScript], a
-	ret
-
-Route22TextPointers:
-	dw Route22Text1
-	dw Route22Text2
-	dw Route22FrontGateText
-
-Route22Text1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE
-	jr z, .asm_5118b
-	ld hl, Route22RivalAfterBattleText1
-	call PrintText
-	jr .asm_51191
-.asm_5118b
-	ld hl, Route22RivalBeforeBattleText1
-	call PrintText
-.asm_51191
-	jp TextScriptEnd
-
-Route22Text2:
-	TX_ASM
-	CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE
-	jr z, .asm_511a4
-	ld hl, Route22RivalAfterBattleText2
-	call PrintText
-	jr .asm_511aa
-.asm_511a4
-	ld hl, Route22RivalBeforeBattleText2
-	call PrintText
-.asm_511aa
-	jp TextScriptEnd
-
-Route22RivalBeforeBattleText1:
-	TX_FAR _Route22RivalBeforeBattleText1
-	db "@"
-
-Route22RivalAfterBattleText1:
-	TX_FAR _Route22RivalAfterBattleText1
-	db "@"
-
-Route22RivalDefeatedText1:
-	TX_FAR _Route22RivalDefeatedText1
-	db "@"
-
-Route22Text_511bc:
-	TX_FAR _Route22Text_511bc
-	db "@"
-
-Route22RivalBeforeBattleText2:
-	TX_FAR _Route22RivalBeforeBattleText2
-	db "@"
-
-Route22RivalAfterBattleText2:
-	TX_FAR _Route22RivalAfterBattleText2
-	db "@"
-
-Route22RivalDefeatedText2:
-	TX_FAR _Route22RivalDefeatedText2
-	db "@"
-
-Route22Text_511d0:
-	TX_FAR _Route22Text_511d0
-	db "@"
-
-Route22FrontGateText:
-	TX_FAR _Route22FrontGateText
-	db "@"
--- a/scripts/route22gate.asm
+++ /dev/null
@@ -1,93 +1,0 @@
-Route22GateScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route22GateScriptPointers
-	ld a, [wRoute22GateCurScript]
-	call CallFunctionInTable
-	ld a, [wYCoord]
-	cp $4
-	ld a, ROUTE_23
-	jr c, .asm_1e69a
-	ld a, ROUTE_22
-.asm_1e69a
-	ld [wLastMap], a
-	ret
-
-Route22GateScriptPointers:
-	dw Route22GateScript0
-	dw Route22GateScript1
-	dw Route22GateScript2
-
-Route22GateScript0:
-	ld hl, Route22GateScriptCoords
-	call ArePlayerCoordsInArray
-	ret nc
-	xor a
-	ld [hJoyHeld], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-Route22GateScriptCoords:
-	db 2,4
-	db 2,5
-	db $ff
-
-Route22GateScript_1e6ba:
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_DOWN
-	ld [wSimulatedJoypadStatesEnd], a
-	ld [wSpriteStateData1 + 9], a
-	ld [wJoyIgnore], a
-	jp StartSimulatingJoypadStates
-
-Route22GateScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	call Delay3
-	ld a, $0
-	ld [wRoute22GateCurScript], a
-Route22GateScript2:
-	ret
-
-Route22GateTextPointers:
-	dw Route22GateText1
-
-Route22GateText1:
-	TX_ASM
-	ld a, [wObtainedBadges]
-	bit 0, a
-	jr nz, .asm_1e6f6
-	ld hl, Route22GateText_1e704
-	call PrintText
-	call Route22GateScript_1e6ba
-	ld a, $1
-	jr .asm_1e6fe
-.asm_1e6f6
-	ld hl, Route22GateText_1e71a
-	call PrintText
-	ld a, $2
-.asm_1e6fe
-	ld [wRoute22GateCurScript], a
-	jp TextScriptEnd
-
-Route22GateText_1e704:
-	TX_FAR _Route22GateText_1e704
-	TX_ASM
-	ld a, SFX_DENIED
-	call PlaySoundWaitForCurrent
-	call WaitForSoundToFinish
-	ld hl, Route22GateText_1e715
-	ret
-
-Route22GateText_1e715:
-	TX_FAR _Route22GateText_1e715
-	db "@"
-
-Route22GateText_1e71a:
-	TX_FAR _Route22GateText_1e71a
-	TX_SFX_ITEM_1
-	db "@"
--- a/scripts/route23.asm
+++ /dev/null
@@ -1,236 +1,0 @@
-Route23Script:
-	call Route23Script_511e9
-	call EnableAutoTextBoxDrawing
-	ld hl, Route23ScriptPointers
-	ld a, [wRoute23CurScript]
-	jp CallFunctionInTable
-
-Route23Script_511e9:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	ret z
-	ResetEvents EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2
-	ResetEvents EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1, EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
-	ld a, HS_VICTORY_ROAD_3_BOULDER
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	ld a, HS_VICTORY_ROAD_2_BOULDER
-	ld [wMissableObjectIndex], a
-	predef_jump HideObject
-
-Route23ScriptPointers:
-	dw Route23Script0
-	dw Route23Script1
-	dw Route23Script2
-
-Route23Script0:
-	ld hl, YCoordsData_51255
-	ld a, [wYCoord]
-	ld b, a
-	ld e, $0
-	EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK
-.asm_51224
-	ld a, [hli]
-	cp $ff
-	ret z
-	inc e
-	dec c
-	cp b
-	jr nz, .asm_51224
-	cp $23
-	jr nz, .asm_51237
-	ld a, [wXCoord]
-	cp $e
-	ret nc
-.asm_51237
-	ld a, e
-	ld [hSpriteIndexOrTextID], a
-	ld a, c
-	ld [wWhichBadge], a
-	ld b, FLAG_TEST
-	EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK
-	predef FlagActionPredef
-	ld a, c
-	and a
-	ret nz
-	call Route23Script_5125d
-	call DisplayTextID
-	xor a
-	ld [hJoyHeld], a
-	ret
-
-YCoordsData_51255:
-	db $23,$38,$55,$60,$69,$77,$88,$FF
-
-Route23Script_5125d:
-	ld hl, BadgeTextPointers
-	ld a, [wWhichBadge]
-	ld c, a
-	ld b, 0
-	add hl, bc
-	add hl, bc
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld de, wcd6d
-.copyTextLoop
-	ld a, [hli]
-	ld [de], a
-	inc de
-	cp "@"
-	jr nz, .copyTextLoop
-	ret
-
-BadgeTextPointers:
-	dw CascadeBadgeText
-	dw ThunderBadgeText
-	dw RainbowBadgeText
-	dw SoulBadgeText
-	dw MarshBadgeText
-	dw VolcanoBadgeText
-	dw EarthBadgeText
-
-EarthBadgeText:
-	db "EARTHBADGE@"
-
-VolcanoBadgeText:
-	db "VOLCANOBADGE@"
-
-MarshBadgeText:
-	db "MARSHBADGE@"
-
-SoulBadgeText:
-	db "SOULBADGE@"
-
-RainbowBadgeText:
-	db "RAINBOWBADGE@"
-
-ThunderBadgeText:
-	db "THUNDERBADGE@"
-
-CascadeBadgeText:
-	db "CASCADEBADGE@"
-
-Route23Script_512d8:
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_DOWN
-	ld [wSimulatedJoypadStatesEnd], a
-	xor a
-	ld [wSpriteStateData1 + 9], a
-	ld [wJoyIgnore], a
-	jp StartSimulatingJoypadStates
-
-Route23Script1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-Route23Script2:
-	ld a, $0
-	ld [wRoute23CurScript], a
-	ret
-
-Route23TextPointers:
-	dw Route23Text1
-	dw Route23Text2
-	dw Route23Text3
-	dw Route23Text4
-	dw Route23Text5
-	dw Route23Text6
-	dw Route23Text7
-	dw Route23Text8
-
-Route23Text1:
-	TX_ASM
-	EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
-	call Route23Script_51346
-	jp TextScriptEnd
-
-Route23Text2:
-	TX_ASM
-	EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
-	call Route23Script_51346
-	jp TextScriptEnd
-
-Route23Text3:
-	TX_ASM
-	EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
-	call Route23Script_51346
-	jp TextScriptEnd
-
-Route23Text4:
-	TX_ASM
-	EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
-	call Route23Script_51346
-	jp TextScriptEnd
-
-Route23Text5:
-	TX_ASM
-	EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
-	call Route23Script_51346
-	jp TextScriptEnd
-
-Route23Text6:
-	TX_ASM
-	EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK
-	call Route23Script_51346
-	jp TextScriptEnd
-
-Route23Text7:
-	TX_ASM
-	EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK
-	call Route23Script_51346
-	jp TextScriptEnd
-
-Route23Script_51346:
-	ld [wWhichBadge], a
-	call Route23Script_5125d
-	ld a, [wWhichBadge]
-	inc a
-	ld c, a
-	ld b, FLAG_TEST
-	ld hl, wObtainedBadges
-	predef FlagActionPredef
-	ld a, c
-	and a
-	jr nz, .asm_5136e
-	ld hl, VictoryRoadGuardText1
-	call PrintText
-	call Route23Script_512d8
-	ld a, $1
-	ld [wRoute23CurScript], a
-	ret
-.asm_5136e
-	ld hl, VictoryRoadGuardText2
-	call PrintText
-	ld a, [wWhichBadge]
-	ld c, a
-	ld b, FLAG_SET
-	EventFlagAddress hl, EVENT_PASSED_CASCADEBADGE_CHECK
-	predef FlagActionPredef
-	ld a, $2
-	ld [wRoute23CurScript], a
-	ret
-
-Route23Script_51388:
-	ld hl, VictoryRoadGuardText2
-	jp PrintText
-
-VictoryRoadGuardText1:
-	TX_FAR _VictoryRoadGuardText1
-	TX_ASM
-	ld a, SFX_DENIED
-	call PlaySoundWaitForCurrent
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-VictoryRoadGuardText2:
-	TX_FAR _VictoryRoadGuardText2
-	TX_SFX_ITEM_1
-	TX_FAR _VictoryRoadGuardText_513a3
-	db "@"
-
-Route23Text8:
-	TX_FAR _Route23Text8
-	db "@"
--- a/scripts/route24.asm
+++ /dev/null
@@ -1,319 +1,0 @@
-Route24Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route24TrainerHeader0
-	ld de, Route24ScriptPointers
-	ld a, [wRoute24CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute24CurScript], a
-	ret
-
-Route24Script_513c0:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute24CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route24ScriptPointers:
-	dw Route24Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw Route24Script3
-	dw Route24Script4
-
-Route24Script0:
-	CheckEvent EVENT_GOT_NUGGET
-	jp nz, CheckFightingMapTrainers
-	ld hl, CoordsData_5140e
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	xor a
-	ld [hJoyHeld], a
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE
-	ret z
-	ld a, D_DOWN
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $4
-	ld [wRoute24CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-CoordsData_5140e:
-	db $0F,$0A,$FF
-
-Route24Script4:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	ld a, $0
-	ld [wRoute24CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route24Script3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, Route24Script_513c0
-	call UpdateSprites
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_ROUTE24_ROCKET
-	ld a, $1
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wRoute24CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route24TextPointers:
-	dw Route24Text1
-	dw Route24Text2
-	dw Route24Text3
-	dw Route24Text4
-	dw Route24Text5
-	dw Route24Text6
-	dw Route24Text7
-	dw PickUpItemText
-
-Route24TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0
-	dw Route24BattleText1 ; TextBeforeBattle
-	dw Route24AfterBattleText1 ; TextAfterBattle
-	dw Route24EndBattleText1 ; TextEndBattle
-	dw Route24EndBattleText1 ; TextEndBattle
-
-Route24TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_1
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_1
-	dw Route24BattleText2 ; TextBeforeBattle
-	dw Route24AfterBattleText2 ; TextAfterBattle
-	dw Route24EndBattleText2 ; TextEndBattle
-	dw Route24EndBattleText2 ; TextEndBattle
-
-Route24TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2
-	dw Route24BattleText3 ; TextBeforeBattle
-	dw Route24AfterBattleText3 ; TextAfterBattle
-	dw Route24EndBattleText3 ; TextEndBattle
-	dw Route24EndBattleText3 ; TextEndBattle
-
-Route24TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3
-	dw Route24BattleText4 ; TextBeforeBattle
-	dw Route24AfterBattleText4 ; TextAfterBattle
-	dw Route24EndBattleText4 ; TextEndBattle
-	dw Route24EndBattleText4 ; TextEndBattle
-
-Route24TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4
-	dw Route24BattleText5 ; TextBeforeBattle
-	dw Route24AfterBattleText5 ; TextAfterBattle
-	dw Route24EndBattleText5 ; TextEndBattle
-	dw Route24EndBattleText5 ; TextEndBattle
-
-Route24TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5
-	dw Route24BattleText6 ; TextBeforeBattle
-	dw Route24AfterBattleText6 ; TextAfterBattle
-	dw Route24EndBattleText6 ; TextEndBattle
-	dw Route24EndBattleText6 ; TextEndBattle
-
-	db $ff
-
-Route24Text1:
-	TX_ASM
-	ResetEvent EVENT_NUGGET_REWARD_AVAILABLE
-	CheckEvent EVENT_GOT_NUGGET
-	jr nz, .asm_514f9
-	ld hl, Route24Text_51510
-	call PrintText
-	lb bc, NUGGET, 1
-	call GiveItem
-	jr nc, .BagFull
-	SetEvent EVENT_GOT_NUGGET
-	ld hl, Route24Text_5151a
-	call PrintText
-	ld hl, Route24Text_51526
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, Route24Text_5152b
-	ld de, Route24Text_5152b
-	call SaveEndBattleTextPointers
-	ld a, [hSpriteIndexOrTextID]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	xor a
-	ld [hJoyHeld], a
-	ld a, $3
-	ld [wRoute24CurScript], a
-	ld [wCurMapScript], a
-	jp TextScriptEnd
-.asm_514f9
-	ld hl, Route24Text_51530
-	call PrintText
-	jp TextScriptEnd
-.BagFull
-	ld hl, Route24Text_51521
-	call PrintText
-	SetEvent EVENT_NUGGET_REWARD_AVAILABLE
-	jp TextScriptEnd
-
-Route24Text_51510:
-	TX_FAR _Route24Text_51510
-	TX_SFX_ITEM_1
-	TX_FAR _Route24Text_51515
-	db "@"
-
-Route24Text_5151a:
-	TX_FAR _Route24Text_5151a
-	TX_SFX_ITEM_1
-	TX_BLINK
-	db "@"
-
-Route24Text_51521:
-	TX_FAR _Route24Text_51521
-	db "@"
-
-Route24Text_51526:
-	TX_FAR _Route24Text_51526
-	db "@"
-
-Route24Text_5152b:
-	TX_FAR _Route24Text_5152b
-	db "@"
-
-Route24Text_51530:
-	TX_FAR _Route24Text_51530
-	db "@"
-
-Route24Text2:
-	TX_ASM
-	ld hl, Route24TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route24Text3:
-	TX_ASM
-	ld hl, Route24TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route24Text4:
-	TX_ASM
-	ld hl, Route24TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route24Text5:
-	TX_ASM
-	ld hl, Route24TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route24Text6:
-	TX_ASM
-	ld hl, Route24TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route24Text7:
-	TX_ASM
-	ld hl, Route24TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route24BattleText1:
-	TX_FAR _Route24BattleText1
-	db "@"
-
-Route24EndBattleText1:
-	TX_FAR _Route24EndBattleText1
-	db "@"
-
-Route24AfterBattleText1:
-	TX_FAR _Route24AfterBattleText1
-	db "@"
-
-Route24BattleText2:
-	TX_FAR _Route24BattleText2
-	db "@"
-
-Route24EndBattleText2:
-	TX_FAR _Route24EndBattleText2
-	db "@"
-
-Route24AfterBattleText2:
-	TX_FAR _Route24AfterBattleText2
-	db "@"
-
-Route24BattleText3:
-	TX_FAR _Route24BattleText3
-	db "@"
-
-Route24EndBattleText3:
-	TX_FAR _Route24EndBattleText3
-	db "@"
-
-Route24AfterBattleText3:
-	TX_FAR _Route24AfterBattleText3
-	db "@"
-
-Route24BattleText4:
-	TX_FAR _Route24BattleText4
-	db "@"
-
-Route24EndBattleText4:
-	TX_FAR _Route24EndBattleText4
-	db "@"
-
-Route24AfterBattleText4:
-	TX_FAR _Route24AfterBattleText4
-	db "@"
-
-Route24BattleText5:
-	TX_FAR _Route24BattleText5
-	db "@"
-
-Route24EndBattleText5:
-	TX_FAR _Route24EndBattleText5
-	db "@"
-
-Route24AfterBattleText5:
-	TX_FAR _Route24AfterBattleText5
-	db "@"
-
-Route24BattleText6:
-	TX_FAR _Route24BattleText6
-	db "@"
-
-Route24EndBattleText6:
-	TX_FAR _Route24EndBattleText6
-	db "@"
-
-Route24AfterBattleText6:
-	TX_FAR _Route24AfterBattleText6
-	db "@"
--- a/scripts/route25.asm
+++ /dev/null
@@ -1,303 +1,0 @@
-Route25Script:
-	call Route25Script_515e1
-	call EnableAutoTextBoxDrawing
-	ld hl, Route25TrainerHeader0
-	ld de, Route25ScriptPointers
-	ld a, [wRoute25CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute25CurScript], a
-	ret
-
-Route25Script_515e1:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	ret z
-	CheckEventHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING
-	ret nz
-	CheckEventReuseHL EVENT_MET_BILL_2
-	jr nz, .asm_515ff
-	ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR
-	ld a, HS_BILL_POKEMON
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-.asm_515ff
-	CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2
-	ret z
-	SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING
-	ld a, HS_NUGGET_BRIDGE_GUY
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_BILL_1
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_BILL_2
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-
-Route25ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route25TextPointers:
-	dw Route25Text1
-	dw Route25Text2
-	dw Route25Text3
-	dw Route25Text4
-	dw Route25Text5
-	dw Route25Text6
-	dw Route25Text7
-	dw Route25Text8
-	dw Route25Text9
-	dw PickUpItemText
-	dw Route25Text11
-
-Route25TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_0
-	dw Route25BattleText1 ; TextBeforeBattle
-	dw Route25AfterBattleText1 ; TextAfterBattle
-	dw Route25EndBattleText1 ; TextEndBattle
-	dw Route25EndBattleText1 ; TextEndBattle
-
-Route25TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_1
-	dw Route25BattleText2 ; TextBeforeBattle
-	dw Route25AfterBattleText2 ; TextAfterBattle
-	dw Route25EndBattleText2 ; TextEndBattle
-	dw Route25EndBattleText2 ; TextEndBattle
-
-Route25TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_2
-	dw Route25BattleText3 ; TextBeforeBattle
-	dw Route25AfterBattleText3 ; TextAfterBattle
-	dw Route25EndBattleText3 ; TextEndBattle
-	dw Route25EndBattleText3 ; TextEndBattle
-
-Route25TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_3
-	dw Route25BattleText4 ; TextBeforeBattle
-	dw Route25AfterBattleText4 ; TextAfterBattle
-	dw Route25EndBattleText4 ; TextEndBattle
-	dw Route25EndBattleText4 ; TextEndBattle
-
-Route25TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_4
-	dw Route25BattleText5 ; TextBeforeBattle
-	dw Route25AfterBattleText5 ; TextAfterBattle
-	dw Route25EndBattleText5 ; TextEndBattle
-	dw Route25EndBattleText5 ; TextEndBattle
-
-Route25TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_5
-	dw Route25BattleText6 ; TextBeforeBattle
-	dw Route25AfterBattleText6 ; TextAfterBattle
-	dw Route25EndBattleText6 ; TextEndBattle
-	dw Route25EndBattleText6 ; TextEndBattle
-
-Route25TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_6
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_6
-	dw Route25BattleText7 ; TextBeforeBattle
-	dw Route25AfterBattleText7 ; TextAfterBattle
-	dw Route25EndBattleText7 ; TextEndBattle
-	dw Route25EndBattleText7 ; TextEndBattle
-
-Route25TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_7, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_7, 1
-	dw Route25BattleText8 ; TextBeforeBattle
-	dw Route25AfterBattleText8 ; TextAfterBattle
-	dw Route25EndBattleText8 ; TextEndBattle
-	dw Route25EndBattleText8 ; TextEndBattle
-
-Route25TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_8, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_8, 1
-	dw Route25BattleText9 ; TextBeforeBattle
-	dw Route25AfterBattleText9 ; TextAfterBattle
-	dw Route25EndBattleText9 ; TextEndBattle
-	dw Route25EndBattleText9 ; TextEndBattle
-
-	db $ff
-
-Route25Text1:
-	TX_ASM
-	ld hl, Route25TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text2:
-	TX_ASM
-	ld hl, Route25TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text3:
-	TX_ASM
-	ld hl, Route25TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text4:
-	TX_ASM
-	ld hl, Route25TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text5:
-	TX_ASM
-	ld hl, Route25TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text6:
-	TX_ASM
-	ld hl, Route25TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text7:
-	TX_ASM
-	ld hl, Route25TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text8:
-	TX_ASM
-	ld hl, Route25TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25Text9:
-	TX_ASM
-	ld hl, Route25TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route25BattleText1:
-	TX_FAR _Route25BattleText1
-	db "@"
-
-Route25EndBattleText1:
-	TX_FAR _Route25EndBattleText1
-	db "@"
-
-Route25AfterBattleText1:
-	TX_FAR _Route25AfterBattleText1
-	db "@"
-
-Route25BattleText2:
-	TX_FAR _Route25BattleText2
-	db "@"
-
-Route25EndBattleText2:
-	TX_FAR _Route25EndBattleText2
-	db "@"
-
-Route25AfterBattleText2:
-	TX_FAR _Route25AfterBattleText2
-	db "@"
-
-Route25BattleText3:
-	TX_FAR _Route25BattleText3
-	db "@"
-
-Route25EndBattleText3:
-	TX_FAR _Route25EndBattleText3
-	db "@"
-
-Route25AfterBattleText3:
-	TX_FAR _Route25AfterBattleText3
-	db "@"
-
-Route25BattleText4:
-	TX_FAR _Route25BattleText4
-	db "@"
-
-Route25EndBattleText4:
-	TX_FAR _Route25EndBattleText4
-	db "@"
-
-Route25AfterBattleText4:
-	TX_FAR _Route25AfterBattleText4
-	db "@"
-
-Route25BattleText5:
-	TX_FAR _Route25BattleText5
-	db "@"
-
-Route25EndBattleText5:
-	TX_FAR _Route25EndBattleText5
-	db "@"
-
-Route25AfterBattleText5:
-	TX_FAR _Route25AfterBattleText5
-	db "@"
-
-Route25BattleText6:
-	TX_FAR _Route25BattleText6
-	db "@"
-
-Route25EndBattleText6:
-	TX_FAR _Route25EndBattleText6
-	db "@"
-
-Route25AfterBattleText6:
-	TX_FAR _Route25AfterBattleText6
-	db "@"
-
-Route25BattleText7:
-	TX_FAR _Route25BattleText7
-	db "@"
-
-Route25EndBattleText7:
-	TX_FAR _Route25EndBattleText7
-	db "@"
-
-Route25AfterBattleText7:
-	TX_FAR _Route25AfterBattleText7
-	db "@"
-
-Route25BattleText8:
-	TX_FAR _Route25BattleText8
-	db "@"
-
-Route25EndBattleText8:
-	TX_FAR _Route25EndBattleText8
-	db "@"
-
-Route25AfterBattleText8:
-	TX_FAR _Route25AfterBattleText8
-	db "@"
-
-Route25BattleText9:
-	TX_FAR _Route25BattleText9
-	db "@"
-
-Route25EndBattleText9:
-	TX_FAR _Route25EndBattleText9
-	db "@"
-
-Route25AfterBattleText9:
-	TX_FAR _Route25AfterBattleText9
-	db "@"
-
-Route25Text11:
-	TX_FAR _Route25Text11
-	db "@"
--- a/scripts/route2gate.asm
+++ /dev/null
@@ -1,39 +1,0 @@
-Route2GateScript:
-	jp EnableAutoTextBoxDrawing
-
-Route2GateTextPointers:
-	dw Route2GateText1
-	dw Route2GateText2
-
-Route2GateText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_HM05
-	jr nz, .asm_5d60d
-	ld a, 10 ; pokemon needed
-	ld [hOaksAideRequirement], a
-	ld a, HM_05 ; oak's aide reward
-	ld [hOaksAideRewardItem], a
-	ld [wd11e], a
-	call GetItemName
-	ld hl, wcd6d
-	ld de, wOaksAideRewardItemName
-	ld bc, ITEM_NAME_LENGTH
-	call CopyData
-	predef OaksAideScript
-	ld a, [hOaksAideResult]
-	cp $1
-	jr nz, .asm_5d613
-	SetEvent EVENT_GOT_HM05
-.asm_5d60d
-	ld hl, Route2GateText_5d616
-	call PrintText
-.asm_5d613
-	jp TextScriptEnd
-
-Route2GateText_5d616:
-	TX_FAR _Route2GateText_5d616
-	db "@"
-
-Route2GateText2:
-	TX_FAR _Route2GateText2
-	db "@"
--- a/scripts/route2house.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-Route2HouseScript:
-	jp EnableAutoTextBoxDrawing
-
-Route2HouseTextPointers:
-	dw Route2HouseText1
-	dw Route2HouseText2
-
-Route2HouseText1:
-	TX_FAR _Route2HouseText1
-	db "@"
-
-Route2HouseText2:
-	TX_ASM
-	ld a, $1
-	ld [wWhichTrade], a
-	predef DoInGameTradeDialogue
-	jp TextScriptEnd
--- a/scripts/route3.asm
+++ /dev/null
@@ -1,251 +1,0 @@
-Route3Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route3TrainerHeader0
-	ld de, Route3ScriptPointers
-	ld a, [wRoute3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute3CurScript], a
-	ret
-
-Route3ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route3TextPointers:
-	dw Route3Text1
-	dw Route3Text2
-	dw Route3Text3
-	dw Route3Text4
-	dw Route3Text5
-	dw Route3Text6
-	dw Route3Text7
-	dw Route3Text8
-	dw Route3Text9
-	dw Route3Text10
-
-Route3TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_0
-	dw Route3BattleText1 ; TextBeforeBattle
-	dw Route3AfterBattleText1 ; TextAfterBattle
-	dw Route3EndBattleText1 ; TextEndBattle
-	dw Route3EndBattleText1 ; TextEndBattle
-
-Route3TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_1
-	dw Route3BattleText2 ; TextBeforeBattle
-	dw Route3AfterBattleText2 ; TextAfterBattle
-	dw Route3EndBattleText2 ; TextEndBattle
-	dw Route3EndBattleText2 ; TextEndBattle
-
-Route3TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_2
-	dw Route3BattleText3 ; TextBeforeBattle
-	dw Route3AfterBattleText3 ; TextAfterBattle
-	dw Route3EndBattleText3 ; TextEndBattle
-	dw Route3EndBattleText3 ; TextEndBattle
-
-Route3TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_3
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_3
-	dw Route3BattleText4 ; TextBeforeBattle
-	dw Route3AfterBattleText4 ; TextAfterBattle
-	dw Route3EndBattleText4 ; TextEndBattle
-	dw Route3EndBattleText4 ; TextEndBattle
-
-Route3TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_4
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_4
-	dw Route3BattleText5 ; TextBeforeBattle
-	dw Route3AfterBattleText5 ; TextAfterBattle
-	dw Route3EndBattleText5 ; TextEndBattle
-	dw Route3EndBattleText5 ; TextEndBattle
-
-Route3TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_5
-	dw Route3BattleText6 ; TextBeforeBattle
-	dw Route3AfterBattleText6 ; TextAfterBattle
-	dw Route3EndBattleText6 ; TextEndBattle
-	dw Route3EndBattleText6 ; TextEndBattle
-
-Route3TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_6, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_6, 1
-	dw Route3BattleText7 ; TextBeforeBattle
-	dw Route3AfterBattleText7 ; TextAfterBattle
-	dw Route3EndBattleText7 ; TextEndBattle
-	dw Route3EndBattleText7 ; TextEndBattle
-
-Route3TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_7, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_7, 1
-	dw Route3BattleText8 ; TextBeforeBattle
-	dw Route3AfterBattleText8 ; TextAfterBattle
-	dw Route3EndBattleText8 ; TextEndBattle
-	dw Route3EndBattleText8 ; TextEndBattle
-
-	db $ff
-
-Route3Text1:
-	TX_FAR _Route3Text1
-	db "@"
-
-Route3Text2:
-	TX_ASM
-	ld hl, Route3TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText1:
-	TX_FAR _Route3BattleText1
-	db "@"
-
-Route3EndBattleText1:
-	TX_FAR _Route3EndBattleText1
-	db "@"
-
-Route3AfterBattleText1:
-	TX_FAR _Route3AfterBattleText1
-	db "@"
-
-Route3Text3:
-	TX_ASM
-	ld hl, Route3TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText2:
-	TX_FAR _Route3BattleText2
-	db "@"
-
-Route3EndBattleText2:
-	TX_FAR _Route3EndBattleText2
-	db "@"
-
-Route3AfterBattleText2:
-	TX_FAR _Route3AfterBattleText2
-	db "@"
-
-Route3Text4:
-	TX_ASM
-	ld hl, Route3TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText3:
-	TX_FAR _Route3BattleText3
-	db "@"
-
-Route3EndBattleText3:
-	TX_FAR _Route3EndBattleText3
-	db "@"
-
-Route3AfterBattleText3:
-	TX_FAR _Route3AfterBattleText3
-	db "@"
-
-Route3Text5:
-	TX_ASM
-	ld hl, Route3TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText4:
-	TX_FAR _Route3BattleText4
-	db "@"
-
-Route3EndBattleText4:
-	TX_FAR _Route3EndBattleText4
-	db "@"
-
-Route3AfterBattleText4:
-	TX_FAR _Route3AfterBattleText4
-	db "@"
-
-Route3Text6:
-	TX_ASM
-	ld hl, Route3TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText5:
-	TX_FAR _Route3BattleText5
-	db "@"
-
-Route3EndBattleText5:
-	TX_FAR _Route3EndBattleText5
-	db "@"
-
-Route3AfterBattleText5:
-	TX_FAR _Route3AfterBattleText5
-	db "@"
-
-Route3Text7:
-	TX_ASM
-	ld hl, Route3TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText6:
-	TX_FAR _Route3BattleText6
-	db "@"
-
-Route3EndBattleText6:
-	TX_FAR _Route3EndBattleText6
-	db "@"
-
-Route3AfterBattleText6:
-	TX_FAR _Route3AfterBattleText6
-	db "@"
-
-Route3Text8:
-	TX_ASM
-	ld hl, Route3TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText7:
-	TX_FAR _Route3BattleText7
-	db "@"
-
-Route3EndBattleText7:
-	TX_FAR _Route3EndBattleText7
-	db "@"
-
-Route3AfterBattleText7:
-	TX_FAR _Route3AfterBattleText7
-	db "@"
-
-Route3Text9:
-	TX_ASM
-	ld hl, Route3TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route3BattleText8:
-	TX_FAR _Route3BattleText8
-	db "@"
-
-Route3EndBattleText8:
-	TX_FAR _Route3EndBattleText8
-	db "@"
-
-Route3AfterBattleText8:
-	TX_FAR _Route3AfterBattleText8
-	db "@"
-
-Route3Text10:
-	TX_FAR _Route3Text10
-	db "@"
--- a/scripts/route4.asm
+++ /dev/null
@@ -1,62 +1,0 @@
-Route4Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route4TrainerHeader0
-	ld de, Route4ScriptPointers
-	ld a, [wRoute4CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute4CurScript], a
-	ret
-
-Route4ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route4TextPointers:
-	dw Route4Text1
-	dw Route4Text2
-	dw PickUpItemText
-	dw PokeCenterSignText
-	dw Route4Text5
-	dw Route4Text6
-
-Route4TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_4_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_4_TRAINER_0
-	dw Route4BattleText1 ; TextBeforeBattle
-	dw Route4AfterBattleText1 ; TextAfterBattle
-	dw Route4EndBattleText1 ; TextEndBattle
-	dw Route4EndBattleText1 ; TextEndBattle
-
-	db $ff
-
-Route4Text1:
-	TX_FAR _Route4Text1
-	db "@"
-
-Route4Text2:
-	TX_ASM
-	ld hl, Route4TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route4BattleText1:
-	TX_FAR _Route4BattleText1
-	db "@"
-
-Route4EndBattleText1:
-	TX_FAR _Route4EndBattleText1
-	db "@"
-
-Route4AfterBattleText1:
-	TX_FAR _Route4AfterBattleText1
-	db "@"
-
-Route4Text5:
-	TX_FAR _Route4Text5
-	db "@"
-
-Route4Text6:
-	TX_FAR _Route4Text6
-	db "@"
--- a/scripts/route5.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-Route5Script:
-	jp EnableAutoTextBoxDrawing
-
-Route5TextPointers:
-	dw Route5Text1
-
-Route5Text1:
-	TX_FAR _Route5Text1
-	db "@"
--- a/scripts/route5gate.asm
+++ /dev/null
@@ -1,117 +1,0 @@
-Route5GateScript:
-	call EnableAutoTextBoxDrawing
-	ld a, [wRoute5GateCurScript]
-	ld hl, Route5GateScriptPointers
-	jp CallFunctionInTable
-
-Route5GateScriptPointers:
-	dw Route5GateScript0
-	dw Route5GateScript1
-
-Route5GateScript_1df43:
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	jp StartSimulatingJoypadStates
-
-Route5GateScript0:
-	ld a, [wd728]
-	bit 6, a
-	ret nz
-	ld hl, CoordsData_1df8f
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, PLAYER_DIR_LEFT
-	ld [wPlayerMovingDirection], a
-	xor a
-	ld [hJoyHeld], a
-	callba RemoveGuardDrink
-	ld a, [$ffdb]
-	and a
-	jr nz, .asm_1df82
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Route5GateScript_1df43
-	ld a, $1
-	ld [wRoute5GateCurScript], a
-	ret
-.asm_1df82
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld hl, wd728
-	set 6, [hl]
-	ret
-
-CoordsData_1df8f:
-	db 3,3
-	db 3,4
-	db $ff
-
-Route5GateScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute5GateCurScript], a
-	ret
-
-Route5GateTextPointers:
-	dw Route5GateText1
-	dw Route5GateText2
-	dw Route5GateText3
-
-Route8GateText1:
-Route7GateText1:
-Route6GateText1:
-Route5GateText1:
-	TX_ASM
-	ld a, [wd728]
-	bit 6, a
-	jr nz, .asm_88856
-	callba RemoveGuardDrink
-	ld a, [$ffdb]
-	and a
-	jr nz, .asm_768a2
-	ld hl, Route5GateText2
-	call PrintText
-	call Route5GateScript_1df43
-	ld a, $1
-	ld [wRoute5GateCurScript], a
-	jp TextScriptEnd
-.asm_768a2
-	ld hl, Route5GateText3
-	call PrintText
-	ld hl, wd728
-	set 6, [hl]
-	jp TextScriptEnd
-.asm_88856
-	ld hl, SaffronGateText_1dff6
-	call PrintText
-	jp TextScriptEnd
-
-Route8GateText2:
-Route7GateText2:
-Route6GateText2:
-Route5GateText2:
-	TX_FAR _SaffronGateText_1dfe7
-	db "@"
-
-Route8GateText3:
-Route7GateText3:
-Route6GateText3:
-Route5GateText3:
-	TX_FAR _SaffronGateText_8aaa9
-	TX_SFX_KEY_ITEM
-	TX_FAR _SaffronGateText_1dff1
-	db "@"
-
-SaffronGateText_1dff6:
-	TX_FAR _SaffronGateText_1dff6
-	db "@"
-
-
--- a/scripts/route6.asm
+++ /dev/null
@@ -1,186 +1,0 @@
-Route6Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route6TrainerHeader0
-	ld de, Route6ScriptPointers
-	ld a, [wRoute6CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute6CurScript], a
-	ret
-
-Route6ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route6TextPointers:
-	dw Route6Text1
-	dw Route6Text2
-	dw Route6Text3
-	dw Route6Text4
-	dw Route6Text5
-	dw Route6Text6
-	dw Route6Text7
-
-Route6TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_0
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_0
-	dw Route6BattleText1 ; TextBeforeBattle
-	dw Route6AfterBattleText1 ; TextAfterBattle
-	dw Route6EndBattleText1 ; TextEndBattle
-	dw Route6EndBattleText1 ; TextEndBattle
-
-Route6TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_1
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_1
-	dw Route6BattleText2 ; TextBeforeBattle
-	dw Route6AfterBattleText1 ; TextAfterBattle
-	dw Route6EndBattleText2 ; TextEndBattle
-	dw Route6EndBattleText2 ; TextEndBattle
-
-Route6TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_2
-	dw Route6BattleText3 ; TextBeforeBattle
-	dw Route6AfterBattleText3 ; TextAfterBattle
-	dw Route6EndBattleText3 ; TextEndBattle
-	dw Route6EndBattleText3 ; TextEndBattle
-
-Route6TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_3
-	dw Route6BattleText4 ; TextBeforeBattle
-	dw Route6AfterBattleText4 ; TextAfterBattle
-	dw Route6EndBattleText4 ; TextEndBattle
-	dw Route6EndBattleText4 ; TextEndBattle
-
-Route6TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_4
-	dw Route6BattleText5 ; TextBeforeBattle
-	dw Route6AfterBattleText5 ; TextAfterBattle
-	dw Route6EndBattleText5 ; TextEndBattle
-	dw Route6EndBattleText5 ; TextEndBattle
-
-Route6TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_5
-	dw Route6BattleText6 ; TextBeforeBattle
-	dw Route6AfterBattleText6 ; TextAfterBattle
-	dw Route6EndBattleText6 ; TextEndBattle
-	dw Route6EndBattleText6 ; TextEndBattle
-
-	db $ff
-
-Route6Text1:
-	TX_ASM
-	ld hl, Route6TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route6BattleText1:
-	TX_FAR _Route6BattleText1
-	db "@"
-
-Route6EndBattleText1:
-	TX_FAR _Route6EndBattleText1
-	db "@"
-
-Route6AfterBattleText1:
-	TX_FAR _Route6AfterBattleText1
-	db "@"
-
-Route6Text2:
-	TX_ASM
-	ld hl, Route6TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route6BattleText2:
-	TX_FAR _Route6BattleText2
-	db "@"
-
-Route6EndBattleText2:
-	TX_FAR _Route6EndBattleText2
-	db "@"
-
-Route6Text3:
-	TX_ASM
-	ld hl, Route6TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route6BattleText3:
-	TX_FAR _Route6BattleText3
-	db "@"
-
-Route6EndBattleText3:
-	TX_FAR _Route6EndBattleText3
-	db "@"
-
-Route6AfterBattleText3:
-	TX_FAR _Route6AfterBattleText3
-	db "@"
-
-Route6Text4:
-	TX_ASM
-	ld hl, Route6TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route6BattleText4:
-	TX_FAR _Route6BattleText4
-	db "@"
-
-Route6EndBattleText4:
-	TX_FAR _Route6EndBattleText4
-	db "@"
-
-Route6AfterBattleText4:
-	TX_FAR _Route6AfterBattleText4
-	db "@"
-
-Route6Text5:
-	TX_ASM
-	ld hl, Route6TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route6BattleText5:
-	TX_FAR _Route6BattleText5
-	db "@"
-
-Route6EndBattleText5:
-	TX_FAR _Route6EndBattleText5
-	db "@"
-
-Route6AfterBattleText5:
-	TX_FAR _Route6AfterBattleText5
-	db "@"
-
-Route6Text6:
-	TX_ASM
-	ld hl, Route6TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route6BattleText6:
-	TX_FAR _Route6BattleText6
-	db "@"
-
-Route6EndBattleText6:
-	TX_FAR _Route6EndBattleText6
-	db "@"
-
-Route6AfterBattleText6:
-	TX_FAR _Route6AfterBattleText6
-	db "@"
-
-Route6Text7:
-	TX_FAR _Route6Text7
-	db "@"
--- a/scripts/route6gate.asm
+++ /dev/null
@@ -1,70 +1,0 @@
-Route6GateScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route6GateScriptPointers
-	ld a, [wRoute6GateCurScript]
-	call CallFunctionInTable
-	ret
-
-Route6GateScriptPointers:
-	dw Route6GateScript0
-	dw Route6GateScript1
-
-Route6GateScript0:
-	ld a, [wd728]
-	bit 6, a
-	ret nz
-	ld hl, CoordsData_1e08c
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, PLAYER_DIR_RIGHT
-	ld [wPlayerMovingDirection], a
-	xor a
-	ld [hJoyHeld], a
-	callba RemoveGuardDrink
-	ld a, [$ffdb]
-	and a
-	jr nz, .asm_1e080
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Route6GateScript_1e0a1
-	ld a, $1
-	ld [wRoute6GateCurScript], a
-	ret
-.asm_1e080
-	ld hl, wd728
-	set 6, [hl]
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-CoordsData_1e08c:
-	db $02,$03
-	db $02,$04,$FF
-
-Route6GateScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute6GateCurScript], a
-	ret
-
-Route6GateScript_1e0a1:
-	ld hl, wd730
-	set 7, [hl]
-	ld a, $80
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	xor a
-	ld [wSpriteStateData2 + $06], a
-	ld [wOverrideSimulatedJoypadStatesMask], a
-	ret
-
-Route6GateTextPointers:
-	dw Route6GateText1
-	dw Route6GateText2
-	dw Route6GateText3
--- a/scripts/route7.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-Route7Script:
-	jp EnableAutoTextBoxDrawing
-
-Route7TextPointers:
-	dw Route7Text1
-
-Route7Text1:
-	TX_FAR _Route7Text1
-	db "@"
--- a/scripts/route7gate.asm
+++ /dev/null
@@ -1,73 +1,0 @@
-Route7GateScript:
-	call EnableAutoTextBoxDrawing
-	ld a, [wRoute7GateCurScript]
-	ld hl, Route7GateScriptPointers
-	call CallFunctionInTable
-	ret
-
-Route7GateScriptPointers:
-	dw Route7GateScript0
-	dw Route7GateScript1
-
-Route7GateScript_1e111:
-	ld hl, wd730
-	set 7, [hl]
-	ld a, $20
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	xor a
-	ld [wSpriteStateData2 + $06], a
-	ld [wOverrideSimulatedJoypadStatesMask], a
-	ret
-
-Route7GateScript0:
-	ld a, [wd728]
-	bit 6, a
-	ret nz
-	ld hl, CoordsData_1e167
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, PLAYER_DIR_UP
-	ld [wPlayerMovingDirection], a
-	xor a
-	ld [hJoyHeld], a
-	callba RemoveGuardDrink
-	ld a, [$ffdb]
-	and a
-	jr nz, .asm_1e15a
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Route7GateScript_1e111
-	ld a, $1
-	ld [wRoute7GateCurScript], a
-	ret
-.asm_1e15a
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld hl, wd728
-	set 6, [hl]
-	ret
-
-CoordsData_1e167:
-	db 3,3
-	db 4,3
-	db $ff
-
-Route7GateScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute7GateCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-Route7GateTextPointers:
-	dw Route7GateText1
-	dw Route7GateText2
-	dw Route7GateText3
--- a/scripts/route8.asm
+++ /dev/null
@@ -1,274 +1,0 @@
-Route8Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route8TrainerHeader0
-	ld de, Route8ScriptPointers
-	ld a, [wRoute8CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute8CurScript], a
-	ret
-
-Route8ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route8TextPointers:
-	dw Route8Text1
-	dw Route8Text2
-	dw Route8Text3
-	dw Route8Text4
-	dw Route8Text5
-	dw Route8Text6
-	dw Route8Text7
-	dw Route8Text8
-	dw Route8Text9
-	dw Route8Text10
-
-Route8TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_0
-	dw Route8BattleText1 ; TextBeforeBattle
-	dw Route8AfterBattleText1 ; TextAfterBattle
-	dw Route8EndBattleText1 ; TextEndBattle
-	dw Route8EndBattleText1 ; TextEndBattle
-
-Route8TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_1
-	dw Route8BattleText2 ; TextBeforeBattle
-	dw Route8AfterBattleText2 ; TextAfterBattle
-	dw Route8EndBattleText2 ; TextEndBattle
-	dw Route8EndBattleText2 ; TextEndBattle
-
-Route8TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_2
-	dw Route8BattleText3 ; TextBeforeBattle
-	dw Route8AfterBattleText3 ; TextAfterBattle
-	dw Route8EndBattleText3 ; TextEndBattle
-	dw Route8EndBattleText3 ; TextEndBattle
-
-Route8TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_3
-	dw Route8BattleText4 ; TextBeforeBattle
-	dw Route8AfterBattleText4 ; TextAfterBattle
-	dw Route8EndBattleText4 ; TextEndBattle
-	dw Route8EndBattleText4 ; TextEndBattle
-
-Route8TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_4
-	dw Route8BattleText5 ; TextBeforeBattle
-	dw Route8AfterBattleText5 ; TextAfterBattle
-	dw Route8EndBattleText5 ; TextEndBattle
-	dw Route8EndBattleText5 ; TextEndBattle
-
-Route8TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_5
-	dw Route8BattleText6 ; TextBeforeBattle
-	dw Route8AfterBattleText6 ; TextAfterBattle
-	dw Route8EndBattleText6 ; TextEndBattle
-	dw Route8EndBattleText6 ; TextEndBattle
-
-Route8TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_6
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_6
-	dw Route8BattleText7 ; TextBeforeBattle
-	dw Route8AfterBattleText7 ; TextAfterBattle
-	dw Route8EndBattleText7 ; TextEndBattle
-	dw Route8EndBattleText7 ; TextEndBattle
-
-Route8TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_7, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_7, 1
-	dw Route8BattleText8 ; TextBeforeBattle
-	dw Route8AfterBattleText8 ; TextAfterBattle
-	dw Route8EndBattleText8 ; TextEndBattle
-	dw Route8EndBattleText8 ; TextEndBattle
-
-Route8TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_8, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_8, 1
-	dw Route8BattleText9 ; TextBeforeBattle
-	dw Route8AfterBattleText9 ; TextAfterBattle
-	dw Route8EndBattleText9 ; TextEndBattle
-	dw Route8EndBattleText9 ; TextEndBattle
-
-	db $ff
-
-Route8Text1:
-	TX_ASM
-	ld hl, Route8TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText1:
-	TX_FAR _Route8BattleText1
-	db "@"
-
-Route8EndBattleText1:
-	TX_FAR _Route8EndBattleText1
-	db "@"
-
-Route8AfterBattleText1:
-	TX_FAR _Route8AfterBattleText1
-	db "@"
-
-Route8Text2:
-	TX_ASM
-	ld hl, Route8TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText2:
-	TX_FAR _Route8BattleText2
-	db "@"
-
-Route8EndBattleText2:
-	TX_FAR _Route8EndBattleText2
-	db "@"
-
-Route8AfterBattleText2:
-	TX_FAR _Route8AfterBattleText2
-	db "@"
-
-Route8Text3:
-	TX_ASM
-	ld hl, Route8TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText3:
-	TX_FAR _Route8BattleText3
-	db "@"
-
-Route8EndBattleText3:
-	TX_FAR _Route8EndBattleText3
-	db "@"
-
-Route8AfterBattleText3:
-	TX_FAR _Route8AfterBattleText3
-	db "@"
-
-Route8Text4:
-	TX_ASM
-	ld hl, Route8TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText4:
-	TX_FAR _Route8BattleText4
-	db "@"
-
-Route8EndBattleText4:
-	TX_FAR _Route8EndBattleText4
-	db "@"
-
-Route8AfterBattleText4:
-	TX_FAR _Route8AfterBattleText4
-	db "@"
-
-Route8Text5:
-	TX_ASM
-	ld hl, Route8TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText5:
-	TX_FAR _Route8BattleText5
-	db "@"
-
-Route8EndBattleText5:
-	TX_FAR _Route8EndBattleText5
-	db "@"
-
-Route8AfterBattleText5:
-	TX_FAR _Route8AfterBattleText5
-	db "@"
-
-Route8Text6:
-	TX_ASM
-	ld hl, Route8TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText6:
-	TX_FAR _Route8BattleText6
-	db "@"
-
-Route8EndBattleText6:
-	TX_FAR _Route8EndBattleText6
-	db "@"
-
-Route8AfterBattleText6:
-	TX_FAR _Route8AfterBattleText6
-	db "@"
-
-Route8Text7:
-	TX_ASM
-	ld hl, Route8TrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText7:
-	TX_FAR _Route8BattleText7
-	db "@"
-
-Route8EndBattleText7:
-	TX_FAR _Route8EndBattleText7
-	db "@"
-
-Route8AfterBattleText7:
-	TX_FAR _Route8AfterBattleText7
-	db "@"
-
-Route8Text8:
-	TX_ASM
-	ld hl, Route8TrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText8:
-	TX_FAR _Route8BattleText8
-	db "@"
-
-Route8EndBattleText8:
-	TX_FAR _Route8EndBattleText8
-	db "@"
-
-Route8AfterBattleText8:
-	TX_FAR _Route8AfterBattleText8
-	db "@"
-
-Route8Text9:
-	TX_ASM
-	ld hl, Route8TrainerHeader8
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route8BattleText9:
-	TX_FAR _Route8BattleText9
-	db "@"
-
-Route8EndBattleText9:
-	TX_FAR _Route8EndBattleText9
-	db "@"
-
-Route8AfterBattleText9:
-	TX_FAR _Route8AfterBattleText9
-	db "@"
-
-Route8Text10:
-	TX_FAR _Route8Text10
-	db "@"
--- a/scripts/route8gate.asm
+++ /dev/null
@@ -1,70 +1,0 @@
-Route8GateScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route8GateScriptPointers
-	ld a, [wRoute8GateCurScript]
-	jp CallFunctionInTable
-
-Route8GateScriptPointers:
-	dw Route8GateScript0
-	dw Route8GateScript1
-
-Route8GateScript_1e1d7:
-	ld hl, wd730
-	set 7, [hl]
-	ld a, $10
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	xor a
-	ld [wSpriteStateData2 + $06], a
-	ld [wOverrideSimulatedJoypadStatesMask], a
-	ret
-
-Route8GateScript0:
-	ld a, [wd728]
-	bit 6, a
-	ret nz
-	ld hl, CoordsData_1e22c
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, PLAYER_DIR_LEFT
-	ld [wPlayerMovingDirection], a
-	xor a
-	ld [hJoyHeld], a
-	callba RemoveGuardDrink
-	ld a, [$ffdb]
-	and a
-	jr nz, .asm_1e220
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Route8GateScript_1e1d7
-	ld a, $1
-	ld [wRoute8GateCurScript], a
-	ret
-.asm_1e220
-	ld hl, wd728
-	set 6, [hl]
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	jp DisplayTextID
-
-CoordsData_1e22c:
-	db 3,2
-	db 4,2
-	db $ff
-
-Route8GateScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld [wRoute8GateCurScript], a
-	ret
-
-Route8GateTextPointers:
-	dw Route8GateText1
-	dw Route8GateText2
-	dw Route8GateText3
--- a/scripts/route9.asm
+++ /dev/null
@@ -1,268 +1,0 @@
-Route9Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, Route9TrainerHeader0
-	ld de, Route9ScriptPointers
-	ld a, [wRoute9CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wRoute9CurScript], a
-	ret
-
-Route9ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-Route9TextPointers:
-	dw Route9Text1
-	dw Route9Text2
-	dw Route9Text3
-	dw Route9Text4
-	dw Route9Text5
-	dw Route9Text6
-	dw Route9Text7
-	dw Route9Text8
-	dw Route9Text9
-	dw PickUpItemText
-	dw Route9Text11
-
-Route9TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_0
-	dw Route9BattleText1 ; TextBeforeBattle
-	dw Route9AfterBattleText1 ; TextAfterBattle
-	dw Route9EndBattleText1 ; TextEndBattle
-	dw Route9EndBattleText1 ; TextEndBattle
-
-Route9TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_1
-	dw Route9BattleText2 ; TextBeforeBattle
-	dw Route9AfterBattleText2 ; TextAfterBattle
-	dw Route9EndBattleText2 ; TextEndBattle
-	dw Route9EndBattleText2 ; TextEndBattle
-
-Route9TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_2
-	dw Route9BattleText3 ; TextBeforeBattle
-	dw Route9AfterBattleText3 ; TextAfterBattle
-	dw Route9EndBattleText3 ; TextEndBattle
-	dw Route9EndBattleText3 ; TextEndBattle
-
-Route9TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_3
-	dw Route9BattleText4 ; TextBeforeBattle
-	dw Route9AfterBattleText4 ; TextAfterBattle
-	dw Route9EndBattleText4 ; TextEndBattle
-	dw Route9EndBattleText4 ; TextEndBattle
-
-Route9TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_4
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_4
-	dw Route9BattleText5 ; TextBeforeBattle
-	dw Route9AfterBattleText5 ; TextAfterBattle
-	dw Route9EndBattleText5 ; TextEndBattle
-	dw Route9EndBattleText5 ; TextEndBattle
-
-Route9TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_5
-	dw Route9BattleText6 ; TextBeforeBattle
-	dw Route9AfterBattleText6 ; TextAfterBattle
-	dw Route9EndBattleText6 ; TextEndBattle
-	dw Route9EndBattleText6 ; TextEndBattle
-
-Route9TrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_6
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_6
-	dw Route9BattleText7 ; TextBeforeBattle
-	dw Route9AfterBattleText7 ; TextAfterBattle
-	dw Route9EndBattleText7 ; TextEndBattle
-	dw Route9EndBattleText7 ; TextEndBattle
-
-Route9TrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_7, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_7, 1
-	dw Route9BattleText8 ; TextBeforeBattle
-	dw Route9AfterBattleText8 ; TextAfterBattle
-	dw Route9EndBattleText8 ; TextEndBattle
-	dw Route9EndBattleText8 ; TextEndBattle
-
-Route9TrainerHeader8:
-	dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_8, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_8, 1
-	dw Route9BattleText9 ; TextBeforeBattle
-	dw Route9AfterBattleText9 ; TextAfterBattle
-	dw Route9EndBattleText9 ; TextEndBattle
-	dw Route9EndBattleText9 ; TextEndBattle
-
-	db $ff
-
-Route9Text1:
-	TX_ASM
-	ld hl, Route9TrainerHeader0
-	jr Route9TalkToTrainer
-
-Route9Text2:
-	TX_ASM
-	ld hl, Route9TrainerHeader1
-	jr Route9TalkToTrainer
-
-Route9Text3:
-	TX_ASM
-	ld hl, Route9TrainerHeader2
-	jr Route9TalkToTrainer
-
-Route9Text4:
-	TX_ASM
-	ld hl, Route9TrainerHeader3
-	jr Route9TalkToTrainer
-
-Route9Text5:
-	TX_ASM
-	ld hl, Route9TrainerHeader4
-	jr Route9TalkToTrainer
-
-Route9Text6:
-	TX_ASM
-	ld hl, Route9TrainerHeader5
-	jr Route9TalkToTrainer
-
-Route9Text7:
-	TX_ASM
-	ld hl, Route9TrainerHeader6
-	jr Route9TalkToTrainer
-
-Route9Text8:
-	TX_ASM
-	ld hl, Route9TrainerHeader7
-	jr Route9TalkToTrainer
-
-Route9Text9:
-	TX_ASM
-	ld hl, Route9TrainerHeader8
-Route9TalkToTrainer:
-	call TalkToTrainer
-	jp TextScriptEnd
-
-Route9BattleText1:
-	TX_FAR _Route9BattleText1
-	db "@"
-
-Route9EndBattleText1:
-	TX_FAR _Route9EndBattleText1
-	db "@"
-
-Route9AfterBattleText1:
-	TX_FAR _Route9AfterBattleText1
-	db "@"
-
-Route9BattleText2:
-	TX_FAR _Route9BattleText2
-	db "@"
-
-Route9EndBattleText2:
-	TX_FAR _Route9EndBattleText2
-	db "@"
-
-Route9AfterBattleText2:
-	TX_FAR _Route9AfterBattleText2
-	db "@"
-
-Route9BattleText3:
-	TX_FAR _Route9BattleText3
-	db "@"
-
-Route9EndBattleText3:
-	TX_FAR _Route9EndBattleText3
-	db "@"
-
-Route9AfterBattleText3:
-	TX_FAR _Route9AfterBattleText3
-	db "@"
-
-Route9BattleText4:
-	TX_FAR _Route9BattleText4
-	db "@"
-
-Route9EndBattleText4:
-	TX_FAR _Route9EndBattleText4
-	db "@"
-
-Route9AfterBattleText4:
-	TX_FAR _Route9AfterBattleText4
-	db "@"
-
-Route9BattleText5:
-	TX_FAR _Route9BattleText5
-	db "@"
-
-Route9EndBattleText5:
-	TX_FAR _Route9EndBattleText5
-	db "@"
-
-Route9AfterBattleText5:
-	TX_FAR _Route9AfterBattleText5
-	db "@"
-
-Route9BattleText6:
-	TX_FAR _Route9BattleText6
-	db "@"
-
-Route9EndBattleText6:
-	TX_FAR _Route9EndBattleText6
-	db "@"
-
-Route9AfterBattleText6:
-	TX_FAR _Route9AfterBattleText6
-	db "@"
-
-Route9BattleText7:
-	TX_FAR _Route9BattleText7
-	db "@"
-
-Route9EndBattleText7:
-	TX_FAR _Route9EndBattleText7
-	db "@"
-
-Route9AfterBattleText7:
-	TX_FAR _Route9AfterBattleText7
-	db "@"
-
-Route9BattleText8:
-	TX_FAR _Route9BattleText8
-	db "@"
-
-Route9EndBattleText8:
-	TX_FAR _Route9EndBattleText8
-	db "@"
-
-Route9AfterBattleText8:
-	TX_FAR _Route9AfterBattleText8
-	db "@"
-
-Route9BattleText9:
-	TX_FAR _Route9BattleText9
-	db "@"
-
-Route9EndBattleText9:
-	TX_FAR _Route9EndBattleText9
-	db "@"
-
-Route9AfterBattleText9:
-	TX_FAR _Route9AfterBattleText9
-	db "@"
-
-Route9Text11:
-	TX_FAR _Route9Text11
-	db "@"
--- a/scripts/safarizonecenter.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SafariZoneCenterScript:
-	jp EnableAutoTextBoxDrawing
-
-SafariZoneCenterTextPointers:
-	dw PickUpItemText
-	dw SafariZoneCenterText2
-	dw SafariZoneCenterText3
-
-SafariZoneCenterText2:
-	TX_FAR _SafariZoneCenterText2
-	db "@"
-
-SafariZoneCenterText3:
-	TX_FAR _SafariZoneCenterText3
-	db "@"
--- a/scripts/safarizoneeast.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-SafariZoneEastScript:
-	jp EnableAutoTextBoxDrawing
-
-SafariZoneEastTextPointers:
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw SafariZoneEastText5
-	dw SafariZoneEastText6
-	dw SafariZoneEastText7
-
-SafariZoneEastText5:
-	TX_FAR _SafariZoneEastText5
-	db "@"
-
-SafariZoneEastText6:
-	TX_FAR _SafariZoneEastText6
-	db "@"
-
-SafariZoneEastText7:
-	TX_FAR _SafariZoneEastText7
-	db "@"
--- a/scripts/safarizoneentrance.asm
+++ /dev/null
@@ -1,293 +1,0 @@
-SafariZoneEntranceScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, SafariZoneEntranceScriptPointers
-	ld a, [wSafariZoneEntranceCurScript]
-	jp CallFunctionInTable
-
-SafariZoneEntranceScriptPointers:
-	dw .SafariZoneEntranceScript0
-	dw .SafariZoneEntranceScript1
-	dw .SafariZoneEntranceScript2
-	dw .SafariZoneEntranceScript3
-	dw .SafariZoneEntranceScript4
-	dw .SafariZoneEntranceScript5
-	dw .SafariZoneEntranceScript6
-
-.SafariZoneEntranceScript0
-	ld hl, .CoordsData_75221
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wJoyIgnore], a
-	xor a
-	ld [hJoyHeld], a
-	ld a, SPRITE_FACING_RIGHT
-	ld [wSpriteStateData1 + 9], a
-	ld a, [wCoordIndex]
-	cp $1
-	jr z, .asm_7520f
-	ld a, $2
-	ld [wSafariZoneEntranceCurScript], a
-	ret
-.asm_7520f
-	ld a, D_RIGHT
-	ld c, $1
-	call SafariZoneEntranceAutoWalk
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $1
-	ld [wSafariZoneEntranceCurScript], a
-	ret
-
-.CoordsData_75221:
-	db $02,$03
-	db $02,$04
-	db $FF
-
-.SafariZoneEntranceScript1
-	call SafariZoneEntranceScript_752b4
-	ret nz
-.SafariZoneEntranceScript2
-	xor a
-	ld [hJoyHeld], a
-	ld [wJoyIgnore], a
-	call UpdateSprites
-	ld a, $4
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ret
-
-.SafariZoneEntranceScript3
-	call SafariZoneEntranceScript_752b4
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $5
-	ld [wSafariZoneEntranceCurScript], a
-	ret
-
-.SafariZoneEntranceScript5
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	CheckAndResetEvent EVENT_SAFARI_GAME_OVER
-	jr z, .asm_7527f
-	ResetEventReuseHL EVENT_IN_SAFARI_ZONE
-	call UpdateSprites
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $6
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [wNumSafariBalls], a
-	ld a, D_DOWN
-	ld c, $3
-	call SafariZoneEntranceAutoWalk
-	ld a, $4
-	ld [wSafariZoneEntranceCurScript], a
-	jr .asm_75286
-.asm_7527f
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_75286
-	ret
-
-.SafariZoneEntranceScript4
-	call SafariZoneEntranceScript_752b4
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wSafariZoneEntranceCurScript], a
-	ret
-
-.SafariZoneEntranceScript6
-	call SafariZoneEntranceScript_752b4
-	ret nz
-	call Delay3
-	ld a, [wcf0d]
-	ld [wSafariZoneEntranceCurScript], a
-	ret
-
-SafariZoneEntranceAutoWalk:
-	push af
-	ld b, 0
-	ld a, c
-	ld [wSimulatedJoypadStatesIndex], a
-	ld hl, wSimulatedJoypadStatesEnd
-	pop af
-	call FillMemory
-	jp StartSimulatingJoypadStates
-
-SafariZoneEntranceScript_752b4:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret
-
-SafariZoneEntranceTextPointers:
-	dw .SafariZoneEntranceText1
-	dw .SafariZoneEntranceText2
-	dw .SafariZoneEntranceText1
-	dw .SafariZoneEntranceText4
-	dw .SafariZoneEntranceText5
-	dw .SafariZoneEntranceText6
-
-.SafariZoneEntranceText1
-	TX_FAR _SafariZoneEntranceText1
-	db "@"
-
-.SafariZoneEntranceText4
-	TX_FAR SafariZoneEntranceText_9e6e4
-	TX_ASM
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jp nz, .PleaseComeAgain
-	xor a
-	ld [hMoney], a
-	ld a, $05
-	ld [hMoney + 1], a
-	ld a, $00
-	ld [hMoney + 2], a
-	call HasEnoughMoney
-	jr nc, .success
-	ld hl, .NotEnoughMoneyText
-	call PrintText
-	jr .CantPayWalkDown
-
-.success
-	xor a
-	ld [wPriceTemp], a
-	ld a, $05
-	ld [wPriceTemp + 1], a
-	ld a, $00
-	ld [wPriceTemp + 2], a
-	ld hl, wPriceTemp + 2
-	ld de, wPlayerMoney + 2
-	ld c, 3
-	predef SubBCDPredef
-	ld a, MONEY_BOX
-	ld [wTextBoxID], a
-	call DisplayTextBoxID
-	ld hl, .MakePaymentText
-	call PrintText
-	ld a, 30
-	ld [wNumSafariBalls], a
-	ld a, 502 / $100
-	ld [wSafariSteps], a
-	ld a, 502 % $100
-	ld [wSafariSteps + 1], a
-	ld a, D_UP
-	ld c, 3
-	call SafariZoneEntranceAutoWalk
-	SetEvent EVENT_IN_SAFARI_ZONE
-	ResetEventReuseHL EVENT_SAFARI_GAME_OVER
-	ld a, 3
-	ld [wSafariZoneEntranceCurScript], a
-	jr .done
-
-.PleaseComeAgain
-	ld hl, .PleaseComeAgainText
-	call PrintText
-.CantPayWalkDown
-	ld a, D_DOWN
-	ld c, 1
-	call SafariZoneEntranceAutoWalk
-	ld a, 4
-	ld [wSafariZoneEntranceCurScript], a
-.done
-	jp TextScriptEnd
-
-.MakePaymentText
-	TX_FAR SafariZoneEntranceText_9e747
-	TX_SFX_ITEM_1
-	TX_FAR _SafariZoneEntranceText_75360
-	db "@"
-
-.PleaseComeAgainText
-	TX_FAR _SafariZoneEntranceText_75365
-	db "@"
-
-.NotEnoughMoneyText
-	TX_FAR _SafariZoneEntranceText_7536a
-	db "@"
-
-.SafariZoneEntranceText5
-	TX_FAR SafariZoneEntranceText_9e814
-	TX_ASM
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_7539c
-	ld hl, .SafariZoneEntranceText_753bb
-	call PrintText
-	xor a
-	ld [wSpriteStateData1 + 9], a
-	ld a, D_DOWN
-	ld c, $3
-	call SafariZoneEntranceAutoWalk
-	ResetEvents EVENT_SAFARI_GAME_OVER, EVENT_IN_SAFARI_ZONE
-	ld a, $0
-	ld [wcf0d], a
-	jr .asm_753b3
-.asm_7539c
-	ld hl, .SafariZoneEntranceText_753c0
-	call PrintText
-	ld a, SPRITE_FACING_UP
-	ld [wSpriteStateData1 + 9], a
-	ld a, D_UP
-	ld c, $1
-	call SafariZoneEntranceAutoWalk
-	ld a, $5
-	ld [wcf0d], a
-.asm_753b3
-	ld a, $6
-	ld [wSafariZoneEntranceCurScript], a
-	jp TextScriptEnd
-
-.SafariZoneEntranceText_753bb
-	TX_FAR _SafariZoneEntranceText_753bb
-	db "@"
-
-.SafariZoneEntranceText_753c0
-	TX_FAR _SafariZoneEntranceText_753c0
-	db "@"
-
-.SafariZoneEntranceText6
-	TX_FAR _SafariZoneEntranceText_753c5
-	db "@"
-
-.SafariZoneEntranceText2
-	TX_ASM
-	ld hl, .FirstTimeQuestionText
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	ld hl, .RegularText
-	jr nz, .Explanation
-	ld hl, .ExplanationText
-.Explanation
-	call PrintText
-	jp TextScriptEnd
-
-.FirstTimeQuestionText
-	TX_FAR _SafariZoneEntranceText_753e6
-	db "@"
-
-.ExplanationText
-	TX_FAR _SafariZoneEntranceText_753eb
-	db "@"
-
-.RegularText
-	TX_FAR _SafariZoneEntranceText_753f0
-	db "@"
--- a/scripts/safarizonenorth.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-SafariZoneNorthScript:
-	jp EnableAutoTextBoxDrawing
-
-SafariZoneNorthTextPointers:
-	dw PickUpItemText
-	dw PickUpItemText
-	dw SafariZoneNorthText3
-	dw SafariZoneNorthText4
-	dw SafariZoneNorthText5
-	dw SafariZoneNorthText6
-	dw SafariZoneNorthText7
-
-SafariZoneNorthText3:
-	TX_FAR _SafariZoneNorthText3
-	db "@"
-
-SafariZoneNorthText4:
-	TX_FAR _SafariZoneNorthText4
-	db "@"
-
-SafariZoneNorthText5:
-	TX_FAR _SafariZoneNorthText5
-	db "@"
-
-SafariZoneNorthText6:
-	TX_FAR _SafariZoneNorthText6
-	db "@"
-
-SafariZoneNorthText7:
-	TX_FAR _SafariZoneNorthText7
-	db "@"
--- a/scripts/safarizoneresthouse1.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-SafariZoneRestHouse1Script:
-	jp EnableAutoTextBoxDrawing
-
-SafariZoneRestHouse1TextPointers:
-	dw SafariZoneRestHouse1Text1
-	dw SafariZoneRestHouse1Text2
-
-SafariZoneRestHouse1Text1:
-	TX_FAR _SafariZoneRestHouse1Text1
-	db "@"
-
-SafariZoneRestHouse1Text2:
-	TX_FAR _SafariZoneRestHouse1Text2
-	db "@"
--- a/scripts/safarizoneresthouse2.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-SafariZoneRestHouse2Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-SafariZoneRestHouse2TextPointers:
-	dw SafariZoneRestHouse2Text1
-	dw SafariZoneRestHouse2Text2
-	dw SafariZoneRestHouse2Text3
-
-SafariZoneRestHouse2Text1:
-	TX_FAR _SafariZoneRestHouse2Text1
-	db "@"
-
-SafariZoneRestHouse2Text2:
-	TX_FAR _SafariZoneRestHouse2Text2
-	db "@"
-
-SafariZoneRestHouse2Text3:
-	TX_FAR _SafariZoneRestHouse2Text3
-	db "@"
--- a/scripts/safarizoneresthouse3.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-SafariZoneRestHouse3Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-SafariZoneRestHouse3TextPointers:
-	dw SafariZoneRestHouse3Text1
-	dw SafariZoneRestHouse3Text2
-	dw SafariZoneRestHouse3Text3
-
-SafariZoneRestHouse3Text1:
-	TX_FAR _SafariZoneRestHouse3Text1
-	db "@"
-
-SafariZoneRestHouse3Text2:
-	TX_FAR _SafariZoneRestHouse3Text2
-	db "@"
-
-SafariZoneRestHouse3Text3:
-	TX_FAR _SafariZoneRestHouse3Text3
-	db "@"
--- a/scripts/safarizoneresthouse4.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-SafariZoneRestHouse4Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-SafariZoneRestHouse4TextPointers:
-	dw SafariZoneRestHouse4Text1
-	dw SafariZoneRestHouse4Text2
-	dw SafariZoneRestHouse4Text3
-
-SafariZoneRestHouse4Text1:
-	TX_FAR _SafariZoneRestHouse4Text1
-	db "@"
-
-SafariZoneRestHouse4Text2:
-	TX_FAR _SafariZoneRestHouse4Text2
-	db "@"
-
-SafariZoneRestHouse4Text3:
-	TX_FAR _SafariZoneRestHouse4Text3
-	db "@"
--- a/scripts/safarizonesecrethouse.asm
+++ /dev/null
@@ -1,45 +1,0 @@
-SafariZoneSecretHouseScript:
-	jp EnableAutoTextBoxDrawing
-
-SafariZoneSecretHouseTextPointers:
-	dw SafariZoneSecretHouseText1
-
-SafariZoneSecretHouseText1:
-	TX_ASM
-	CheckEvent EVENT_GOT_HM03
-	jr nz, .asm_20a9b
-	ld hl, SafariZoneSecretHouseText_4a350
-	call PrintText
-	lb bc, HM_03, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedHM03Text
-	call PrintText
-	SetEvent EVENT_GOT_HM03
-	jr .asm_8f1fc
-.BagFull
-	ld hl, HM03NoRoomText
-	call PrintText
-	jr .asm_8f1fc
-.asm_20a9b
-	ld hl, HM03ExplanationText
-	call PrintText
-.asm_8f1fc
-	jp TextScriptEnd
-
-SafariZoneSecretHouseText_4a350:
-	TX_FAR _SecretHouseText_4a350
-	db "@"
-
-ReceivedHM03Text:
-	TX_FAR _ReceivedHM03Text
-	TX_SFX_ITEM_1
-	db "@"
-
-HM03ExplanationText:
-	TX_FAR _HM03ExplanationText
-	db "@"
-
-HM03NoRoomText:
-	TX_FAR _HM03NoRoomText
-	db "@"
--- a/scripts/safarizonewest.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-SafariZoneWestScript:
-	jp EnableAutoTextBoxDrawing
-
-SafariZoneWestTextPointers:
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw SafariZoneWestText5
-	dw SafariZoneWestText6
-	dw SafariZoneWestText7
-	dw SafariZoneWestText8
-
-SafariZoneWestText5:
-	TX_FAR _SafariZoneWestText5
-	db "@"
-
-SafariZoneWestText6:
-	TX_FAR _SafariZoneWestText6
-	db "@"
-
-SafariZoneWestText7:
-	TX_FAR _SafariZoneWestText7
-	db "@"
-
-SafariZoneWestText8:
-	TX_FAR _SafariZoneWestText8
-	db "@"
--- a/scripts/saffroncity.asm
+++ /dev/null
@@ -1,122 +1,0 @@
-SaffronCityScript:
-	jp EnableAutoTextBoxDrawing
-
-SaffronCityTextPointers:
-	dw SaffronCityText1
-	dw SaffronCityText2
-	dw SaffronCityText3
-	dw SaffronCityText4
-	dw SaffronCityText5
-	dw SaffronCityText6
-	dw SaffronCityText7
-	dw SaffronCityText8
-	dw SaffronCityText9
-	dw SaffronCityText10
-	dw SaffronCityText11
-	dw SaffronCityText12
-	dw SaffronCityText13
-	dw SaffronCityText14
-	dw SaffronCityText15
-	dw SaffronCityText16
-	dw SaffronCityText17
-	dw SaffronCityText18
-	dw MartSignText
-	dw SaffronCityText20
-	dw SaffronCityText21
-	dw SaffronCityText22
-	dw PokeCenterSignText
-	dw SaffronCityText24
-	dw SaffronCityText25
-
-SaffronCityText1:
-	TX_FAR _SaffronCityText1
-	db "@"
-
-SaffronCityText2:
-	TX_FAR _SaffronCityText2
-	db "@"
-
-SaffronCityText3:
-	TX_FAR _SaffronCityText3
-	db "@"
-
-SaffronCityText4:
-	TX_FAR _SaffronCityText4
-	db "@"
-
-SaffronCityText5:
-	TX_FAR _SaffronCityText5
-	db "@"
-
-SaffronCityText6:
-	TX_FAR _SaffronCityText6
-	db "@"
-
-SaffronCityText7:
-	TX_FAR _SaffronCityText7
-	db "@"
-
-SaffronCityText8:
-	TX_FAR _SaffronCityText8
-	db "@"
-
-SaffronCityText9:
-	TX_FAR _SaffronCityText9
-	db "@"
-
-SaffronCityText10:
-	TX_FAR _SaffronCityText10
-	db "@"
-
-SaffronCityText11:
-	TX_FAR _SaffronCityText11
-	db "@"
-
-SaffronCityText12:
-	TX_FAR _SaffronCityText12
-	TX_CRY_PIDGEOT
-	db "@"
-
-SaffronCityText13:
-	TX_FAR _SaffronCityText13
-	db "@"
-
-SaffronCityText14:
-	TX_FAR _SaffronCityText14
-	db "@"
-
-SaffronCityText15:
-	TX_FAR _SaffronCityText15
-	db "@"
-
-SaffronCityText16:
-	TX_FAR _SaffronCityText16
-	db "@"
-
-SaffronCityText17:
-	TX_FAR _SaffronCityText17
-	db "@"
-
-SaffronCityText18:
-	TX_FAR _SaffronCityText18
-	db "@"
-
-SaffronCityText20:
-	TX_FAR _SaffronCityText20
-	db "@"
-
-SaffronCityText21:
-	TX_FAR _SaffronCityText21
-	db "@"
-
-SaffronCityText22:
-	TX_FAR _SaffronCityText22
-	db "@"
-
-SaffronCityText24:
-	TX_FAR _SaffronCityText24
-	db "@"
-
-SaffronCityText25:
-	TX_FAR _SaffronCityText25
-	db "@"
--- a/scripts/saffrongym.asm
+++ /dev/null
@@ -1,358 +1,0 @@
-SaffronGymScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, .extra
-	call EnableAutoTextBoxDrawing
-	ld hl, SaffronGymTrainerHeader0
-	ld de, SaffronGymScriptPointers
-	ld a, [wSaffronGymCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSaffronGymCurScript], a
-	ret
-
-.extra
-	ld hl, Gym6CityName
-	ld de, Gym6LeaderName
-	jp LoadGymLeaderAndCityName
-
-Gym6CityName:
-	db "SAFFRON CITY@"
-
-Gym6LeaderName:
-	db "SABRINA@"
-
-SaffronGymText_5d048:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wSaffronGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-SaffronGymScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw SaffronGymScript3
-
-SaffronGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, SaffronGymText_5d048
-	ld a, $f0
-	ld [wJoyIgnore], a
-
-SaffronGymText_5d068:
-	ld a, $a
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_SABRINA
-	lb bc, TM_46, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $b
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM46
-	jr .asm_5d091
-.BagFull
-	ld a, $c
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_5d091
-	ld hl, wObtainedBadges
-	set 5, [hl]
-	ld hl, wBeatGymFlags
-	set 5, [hl]
-
-	; deactivate gym trainers
-	SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6
-
-	jp SaffronGymText_5d048
-
-SaffronGymTextPointers:
-	dw SaffronGymText1
-	dw SaffronGymText2
-	dw SaffronGymText3
-	dw SaffronGymText4
-	dw SaffronGymText5
-	dw SaffronGymText6
-	dw SaffronGymText7
-	dw SaffronGymText8
-	dw SaffronGymText9
-	dw SaffronGymText10
-	dw SaffronGymText11
-	dw SaffronGymText12
-
-SaffronGymTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0
-	dw SaffronGymBattleText1 ; TextBeforeBattle
-	dw SaffronGymAfterBattleText1 ; TextAfterBattle
-	dw SaffronGymEndBattleText1 ; TextEndBattle
-	dw SaffronGymEndBattleText1 ; TextEndBattle
-
-SaffronGymTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1
-	dw SaffronGymBattleText2 ; TextBeforeBattle
-	dw SaffronGymAfterBattleText2 ; TextAfterBattle
-	dw SaffronGymEndBattleText2 ; TextEndBattle
-	dw SaffronGymEndBattleText2 ; TextEndBattle
-
-SaffronGymTrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2
-	dw SaffronGymBattleText3 ; TextBeforeBattle
-	dw SaffronGymAfterBattleText3 ; TextAfterBattle
-	dw SaffronGymEndBattleText3 ; TextEndBattle
-	dw SaffronGymEndBattleText3 ; TextEndBattle
-
-SaffronGymTrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3
-	dw SaffronGymBattleText4 ; TextBeforeBattle
-	dw SaffronGymAfterBattleText4 ; TextAfterBattle
-	dw SaffronGymEndBattleText4 ; TextEndBattle
-	dw SaffronGymEndBattleText4 ; TextEndBattle
-
-SaffronGymTrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4
-	dw SaffronGymBattleText5 ; TextBeforeBattle
-	dw SaffronGymAfterBattleText5 ; TextAfterBattle
-	dw SaffronGymEndBattleText5 ; TextEndBattle
-	dw SaffronGymEndBattleText5 ; TextEndBattle
-
-SaffronGymTrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5
-	dw SaffronGymBattleText6 ; TextBeforeBattle
-	dw SaffronGymAfterBattleText6 ; TextAfterBattle
-	dw SaffronGymEndBattleText6 ; TextEndBattle
-	dw SaffronGymEndBattleText6 ; TextEndBattle
-
-SaffronGymTrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1
-	dw SaffronGymBattleText7 ; TextBeforeBattle
-	dw SaffronGymAfterBattleText7 ; TextAfterBattle
-	dw SaffronGymEndBattleText7 ; TextEndBattle
-	dw SaffronGymEndBattleText7 ; TextEndBattle
-
-	db $ff
-
-SaffronGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SABRINA
-	jr z, .asm_5d134
-	CheckEventReuseA EVENT_GOT_TM46
-	jr nz, .asm_5d12c
-	call z, SaffronGymText_5d068
-	call DisableWaitingAfterTextDisplay
-	jr .asm_5d15f
-.asm_5d12c
-	ld hl, SaffronGymText_5d16e
-	call PrintText
-	jr .asm_5d15f
-.asm_5d134
-	ld hl, SaffronGymText_5d162
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, SaffronGymText_5d167
-	ld de, SaffronGymText_5d167
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $6
-	ld [wGymLeaderNo], a
-	ld a, $3
-	ld [wSaffronGymCurScript], a
-.asm_5d15f
-	jp TextScriptEnd
-
-SaffronGymText_5d162:
-	TX_FAR _SaffronGymText_5d162
-	db "@"
-
-SaffronGymText_5d167:
-	TX_FAR _SaffronGymText_5d167
-	TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded
-	TX_BLINK
-	db "@"
-
-SaffronGymText_5d16e:
-	TX_FAR _SaffronGymText_5d16e
-	db "@"
-
-SaffronGymText10:
-	TX_FAR _SaffronGymText_5d173
-	db "@"
-
-SaffronGymText11:
-	TX_FAR ReceivedTM46Text
-	TX_SFX_ITEM_1
-	TX_FAR _TM46ExplanationText
-	db "@"
-
-SaffronGymText12:
-	TX_FAR _TM46NoRoomText
-	db "@"
-
-SaffronGymText2:
-	TX_ASM
-	ld hl, SaffronGymTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SaffronGymText3:
-	TX_ASM
-	ld hl, SaffronGymTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SaffronGymText4:
-	TX_ASM
-	ld hl, SaffronGymTrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SaffronGymText5:
-	TX_ASM
-	ld hl, SaffronGymTrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SaffronGymText6:
-	TX_ASM
-	ld hl, SaffronGymTrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SaffronGymText7:
-	TX_ASM
-	ld hl, SaffronGymTrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SaffronGymText8:
-	TX_ASM
-	ld hl, SaffronGymTrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SaffronGymText9:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SABRINA
-	jr nz, .asm_5d1dd
-	ld hl, SaffronGymText_5d1e6
-	call PrintText
-	jr .asm_5d1e3
-.asm_5d1dd
-	ld hl, SaffronGymText_5d1eb
-	call PrintText
-.asm_5d1e3
-	jp TextScriptEnd
-
-SaffronGymText_5d1e6:
-	TX_FAR _SaffronGymText_5d1e6
-	db "@"
-
-SaffronGymText_5d1eb:
-	TX_FAR _SaffronGymText_5d1eb
-	db "@"
-
-SaffronGymBattleText1:
-	TX_FAR _SaffronGymBattleText1
-	db "@"
-
-SaffronGymEndBattleText1:
-	TX_FAR _SaffronGymEndBattleText1
-	db "@"
-
-SaffronGymAfterBattleText1:
-	TX_FAR _SaffronGymAfterBattleText1
-	db "@"
-
-SaffronGymBattleText2:
-	TX_FAR _SaffronGymBattleText2
-	db "@"
-
-SaffronGymEndBattleText2:
-	TX_FAR _SaffronGymEndBattleText2
-	db "@"
-
-SaffronGymAfterBattleText2:
-	TX_FAR _SaffronGymAfterBattleText2
-	db "@"
-
-SaffronGymBattleText3:
-	TX_FAR _SaffronGymBattleText3
-	db "@"
-
-SaffronGymEndBattleText3:
-	TX_FAR _SaffronGymEndBattleText3
-	db "@"
-
-SaffronGymAfterBattleText3:
-	TX_FAR _SaffronGymAfterBattleText3
-	db "@"
-
-SaffronGymBattleText4:
-	TX_FAR _SaffronGymBattleText4
-	db "@"
-
-SaffronGymEndBattleText4:
-	TX_FAR _SaffronGymEndBattleText4
-	db "@"
-
-SaffronGymAfterBattleText4:
-	TX_FAR _SaffronGymAfterBattleText4
-	db "@"
-
-SaffronGymBattleText5:
-	TX_FAR _SaffronGymBattleText5
-	db "@"
-
-SaffronGymEndBattleText5:
-	TX_FAR _SaffronGymEndBattleText5
-	db "@"
-
-SaffronGymAfterBattleText5:
-	TX_FAR _SaffronGymAfterBattleText5
-	db "@"
-
-SaffronGymBattleText6:
-	TX_FAR _SaffronGymBattleText6
-	db "@"
-
-SaffronGymEndBattleText6:
-	TX_FAR _SaffronGymEndBattleText6
-	db "@"
-
-SaffronGymAfterBattleText6:
-	TX_FAR _SaffronGymAfterBattleText6
-	db "@"
-
-SaffronGymBattleText7:
-	TX_FAR _SaffronGymBattleText7
-	db "@"
-
-SaffronGymEndBattleText7:
-	TX_FAR _SaffronGymEndBattleText7
-	db "@"
-
-SaffronGymAfterBattleText7:
-	TX_FAR _SaffronGymAfterBattleText7
-	db "@"
--- a/scripts/saffronhouse1.asm
+++ /dev/null
@@ -1,27 +1,0 @@
-SaffronHouse1Script:
-	jp EnableAutoTextBoxDrawing
-
-SaffronHouse1TextPointers:
-	dw SaffronHouse1Text1
-	dw SaffronHouse1Text2
-	dw SaffronHouse1Text3
-	dw SaffronHouse1Text4
-
-SaffronHouse1Text1:
-	TX_FAR _SaffronHouse1Text1
-	db "@"
-
-SaffronHouse1Text2:
-	TX_FAR _SaffronHouse1Text2
-	TX_ASM
-	ld a, PIDGEY
-	call PlayCry
-	jp TextScriptEnd
-
-SaffronHouse1Text3:
-	TX_FAR _SaffronHouse1Text3
-	db "@"
-
-SaffronHouse1Text4:
-	TX_FAR _SaffronHouse1Text4
-	db "@"
--- a/scripts/saffronhouse2.asm
+++ /dev/null
@@ -1,45 +1,0 @@
-SaffronHouse2Script:
-	jp EnableAutoTextBoxDrawing
-
-SaffronHouse2TextPointers:
-	dw SaffronHouse2Text1
-
-SaffronHouse2Text1:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM29
-	jr nz, .asm_9e72b
-	ld hl, TM29PreReceiveText
-	call PrintText
-	lb bc, TM_29, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedTM29Text
-	call PrintText
-	SetEvent EVENT_GOT_TM29
-	jr .asm_fe4e1
-.BagFull
-	ld hl, TM29NoRoomText
-	call PrintText
-	jr .asm_fe4e1
-.asm_9e72b
-	ld hl, TM29ExplanationText
-	call PrintText
-.asm_fe4e1
-	jp TextScriptEnd
-
-TM29PreReceiveText:
-	TX_FAR _TM29PreReceiveText
-	db "@"
-
-ReceivedTM29Text:
-	TX_FAR _ReceivedTM29Text
-	TX_SFX_ITEM_1
-	db "@"
-
-TM29ExplanationText:
-	TX_FAR _TM29ExplanationText
-	db "@"
-
-TM29NoRoomText:
-	TX_FAR _TM29NoRoomText
-	db "@"
--- a/scripts/saffronmart.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SaffronMartScript:
-	jp EnableAutoTextBoxDrawing
-
-SaffronMartTextPointers:
-	dw SaffronCashierText
-	dw SaffronMartText2
-	dw SaffronMartText3
-
-SaffronMartText2:
-	TX_FAR _SaffronMartText2
-	db "@"
-
-SaffronMartText3:
-	TX_FAR _SaffronMartText3
-	db "@"
--- a/scripts/saffronpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-SaffronPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-SaffronPokecenterTextPointers:
-	dw SaffronHealNurseText
-	dw SaffronPokecenterText2
-	dw SaffronPokecenterText3
-	dw SaffronTradeNurseText
-
-SaffronHealNurseText:
-	TX_POKECENTER_NURSE
-
-SaffronPokecenterText2:
-	TX_FAR _SaffronPokecenterText2
-	db "@"
-
-SaffronPokecenterText3:
-	TX_FAR _SaffronPokecenterText3
-	db "@"
-
-SaffronTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
--- a/scripts/school.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-SchoolScript:
-	jp EnableAutoTextBoxDrawing
-
-SchoolTextPointers:
-	dw SchoolText1
-	dw SchoolText2
-
-SchoolText1:
-	TX_FAR _SchoolText1
-	db "@"
-
-SchoolText2:
-	TX_FAR _SchoolText2
-	db "@"
--- a/scripts/seafoamislands1.asm
+++ /dev/null
@@ -1,47 +1,0 @@
-SeafoamIslands1Script:
-	call EnableAutoTextBoxDrawing
-	SetEvent EVENT_IN_SEAFOAM_ISLANDS
-	ld hl, wFlags_0xcd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_4483b
-	ld hl, Seafoam1HolesCoords
-	call CheckBoulderCoords
-	ret nc
-	EventFlagAddress hl, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
-	ld a, [wCoordIndex]
-	cp $1
-	jr nz, .asm_44819
-	SetEventReuseHL EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_1
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1
-	ld [wObjectToShow], a
-	jr .asm_44825
-.asm_44819
-	SetEventAfterBranchReuseHL EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_1_BOULDER_2
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2
-	ld [wObjectToShow], a
-.asm_44825
-	ld a, [wObjectToHide]
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, [wObjectToShow]
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-.asm_4483b
-	ld a, $9f
-	ld [wDungeonWarpDestinationMap], a
-	ld hl, Seafoam1HolesCoords
-	jp IsPlayerOnDungeonWarp
-
-Seafoam1HolesCoords:
-	db $06,$11
-	db $06,$18
-	db $ff
-
-SeafoamIslands1TextPointers:
-	dw BoulderText
-	dw BoulderText
--- a/scripts/seafoamislands2.asm
+++ /dev/null
@@ -1,46 +1,0 @@
-SeafoamIslands2Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, wFlags_0xcd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_46362
-	ld hl, Seafoam2HolesCoords
-	call CheckBoulderCoords
-	ret nc
-	EventFlagAddress hl, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
-	ld a, [wCoordIndex]
-	cp $1
-	jr nz, .asm_46340
-	SetEventReuseHL EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_1
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1
-	ld [wObjectToShow], a
-	jr .asm_4634c
-.asm_46340
-	SetEventAfterBranchReuseHL EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_2_BOULDER_2
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2
-	ld [wObjectToShow], a
-.asm_4634c
-	ld a, [wObjectToHide]
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, [wObjectToShow]
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-.asm_46362
-	ld a, $a0
-	ld [wDungeonWarpDestinationMap], a
-	ld hl, Seafoam2HolesCoords
-	jp IsPlayerOnDungeonWarp
-
-Seafoam2HolesCoords:
-	db $06,$12
-	db $06,$17
-	db $ff
-
-SeafoamIslands2TextPointers:
-	dw BoulderText
-	dw BoulderText
--- a/scripts/seafoamislands3.asm
+++ /dev/null
@@ -1,46 +1,0 @@
-SeafoamIslands3Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, wFlags_0xcd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_4649e
-	ld hl, Seafoam3HolesCoords
-	call CheckBoulderCoords
-	ret nc
-	EventFlagAddress hl, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
-	ld a, [wCoordIndex]
-	cp $1
-	jr nz, .asm_4647c
-	SetEventReuseHL EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_1
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_3
-	ld [wObjectToShow], a
-	jr .asm_46488
-.asm_4647c
-	SetEventAfterBranchReuseHL EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_3_BOULDER_2
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_4
-	ld [wObjectToShow], a
-.asm_46488
-	ld a, [wObjectToHide]
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, [wObjectToShow]
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-.asm_4649e
-	ld a, $a1
-	ld [wDungeonWarpDestinationMap], a
-	ld hl, Seafoam3HolesCoords
-	jp IsPlayerOnDungeonWarp
-
-Seafoam3HolesCoords:
-	db $06,$13
-	db $06,$16
-	db $ff
-
-SeafoamIslands3TextPointers:
-	dw BoulderText
-	dw BoulderText
--- a/scripts/seafoamislands4.asm
+++ /dev/null
@@ -1,149 +1,0 @@
-SeafoamIslands4Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, wFlags_0xcd60
-	bit 7, [hl]
-	res 7, [hl]
-	jr z, .asm_465dc
-	ld hl, Seafoam4HolesCoords
-	call CheckBoulderCoords
-	ret nc
-	EventFlagAddress hl, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
-	ld a, [wCoordIndex]
-	cp $1
-	jr nz, .asm_465b8
-	SetEventReuseHL EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_1
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_1
-	ld [wObjectToShow], a
-	jr .asm_465c4
-.asm_465b8
-	SetEventAfterBranchReuseHL EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE
-	ld a, HS_SEAFOAM_ISLANDS_4_BOULDER_2
-	ld [wObjectToHide], a
-	ld a, HS_SEAFOAM_ISLANDS_5_BOULDER_2
-	ld [wObjectToShow], a
-.asm_465c4
-	ld a, [wObjectToHide]
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, [wObjectToShow]
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	jr .asm_465ed
-.asm_465dc
-	ld a, $a2
-	ld [wDungeonWarpDestinationMap], a
-	ld hl, Seafoam4HolesCoords
-	call IsPlayerOnDungeonWarp
-	ld a, [wd732]
-	bit 4, a
-	ret nz
-.asm_465ed
-	ld hl, SeafoamIslands4ScriptPointers
-	ld a, [wSeafoamIslands4CurScript]
-	jp CallFunctionInTable
-
-Seafoam4HolesCoords:
-	db $10,$03
-	db $10,$06
-	db $ff
-
-SeafoamIslands4ScriptPointers:
-	dw SeafoamIslands4Script0
-	dw SeafoamIslands4Script1
-	dw SeafoamIslands4Script2
-	dw SeafoamIslands4Script3
-
-SeafoamIslands4Script0:
-	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
-	ret z
-	ld a, [wYCoord]
-	cp $8
-	ret nz
-	ld a, [wXCoord]
-	cp $f
-	ret nz
-	ld hl, wSimulatedJoypadStatesEnd
-	ld de, RLEMovement46632
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld hl, wFlags_D733
-	set 2, [hl]
-	ld a, $1
-	ld [wSeafoamIslands4CurScript], a
-	ret
-
-RLEMovement46632:
-	db D_DOWN,6
-	db D_RIGHT,5
-	db D_DOWN,3
-	db $ff
-
-SeafoamIslands4Script1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	ld a, $0
-	ld [wSeafoamIslands4CurScript], a
-	ret
-
-SeafoamIslands4Script2:
-	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
-	ret z
-	ld a, [wXCoord]
-	cp $12
-	jr z, .asm_4665e
-	cp $13
-	ld a, $0
-	jr nz, .asm_4667b
-	ld de, RLEData_4667f
-	jr .asm_46661
-.asm_4665e
-	ld de, RLEData_46688
-.asm_46661
-	ld hl, wSimulatedJoypadStatesEnd
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	xor a
-	ld [wSpriteStateData2 + $06], a
-	ld hl, wd730
-	set 7, [hl]
-	ld hl, wFlags_D733
-	set 2, [hl]
-	ld a, $3
-.asm_4667b
-	ld [wSeafoamIslands4CurScript], a
-	ret
-
-RLEData_4667f:
-	db D_DOWN,$06
-	db D_RIGHT,$02
-	db D_DOWN,$04
-	db D_LEFT,$01
-	db $FF
-
-RLEData_46688:
-	db D_DOWN,$06
-	db D_RIGHT,$02
-	db D_DOWN,$04
-	db $FF
-
-SeafoamIslands4Script3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	ld a, $0
-	ld [wSeafoamIslands4CurScript], a
-	ret
-
-SeafoamIslands4TextPointers:
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
--- a/scripts/seafoamislands5.asm
+++ /dev/null
@@ -1,173 +1,0 @@
-SeafoamIslands5Script:
-	call EnableAutoTextBoxDrawing
-	ld a, [wSeafoamIslands5CurScript]
-	ld hl, SeafoamIslands5ScriptPointers
-	jp CallFunctionInTable
-
-SeafoamIslands5Script_467a5:
-	xor a
-	ld [wSeafoamIslands5CurScript], a
-	ld [wJoyIgnore], a
-	ret
-
-SeafoamIslands5ScriptPointers:
-	dw SeafoamIslands5Script0
-	dw SeafoamIslands5Script1
-	dw SeafoamIslands5Script2
-	dw SeafoamIslands5Script3
-	dw SeafoamIslands5Script4
-
-SeafoamIslands5Script4:
-	ld a, [wIsInBattle]
-	cp $ff
-	jr z, SeafoamIslands5Script_467a5
-	call EndTrainerBattle
-	ld a, $0
-	ld [wSeafoamIslands5CurScript], a
-	ret
-
-SeafoamIslands5Script0:
-	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
-	ret z
-	ld hl, .Coords
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, [wCoordIndex]
-	cp $3
-	jr nc, .asm_467e6
-	ld a, NPC_MOVEMENT_UP
-	ld [wSimulatedJoypadStatesEnd + 1], a
-	ld a, 2
-	jr .asm_467e8
-.asm_467e6
-	ld a, 1
-.asm_467e8
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	call StartSimulatingJoypadStates
-	ld hl, wFlags_D733
-	res 2, [hl]
-	ld a, $1
-	ld [wSeafoamIslands5CurScript], a
-	ret
-
-.Coords
-	db $11,$14
-	db $11,$15
-	db $10,$14
-	db $10,$15
-	db $FF
-
-SeafoamIslands5Script1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wSeafoamIslands5CurScript], a
-	ret
-
-SeafoamIslands5Script2:
-	CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE
-	ld a, $0
-	jr z, .asm_46849
-	ld hl, .Coords
-	call ArePlayerCoordsInArray
-	ld a, $0
-	jr nc, .asm_46849
-	ld a, [wCoordIndex]
-	cp $1
-	jr nz, .asm_46837
-	ld de, RLEMovementData_46859
-	jr .asm_4683a
-.asm_46837
-	ld de, RLEMovementData_46852
-.asm_4683a
-	ld hl, wSimulatedJoypadStatesEnd
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-.asm_46849
-	ld [wSeafoamIslands5CurScript], a
-	ret
-
-.Coords
-	db $0E,$04
-	db $0E,$05
-	db $FF
-
-RLEMovementData_46852:
-	db D_UP,$03
-	db D_RIGHT,$02
-	db D_UP,$01
-	db $FF
-
-RLEMovementData_46859:
-	db D_UP,$03
-	db D_RIGHT,$03
-	db D_UP,$01
-	db $FF
-
-SeafoamIslands5Script3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	ld b, a
-	cp $1
-	call z, SeaFoamIslands5Script_46872
-	ld a, b
-	and a
-	ret nz
-	ld a, $0
-	ld [wSeafoamIslands5CurScript], a
-	ret
-
-SeaFoamIslands5Script_46872:
-	xor a
-	ld [wWalkBikeSurfState], a
-	ld [wWalkBikeSurfStateCopy], a
-	jp ForceBikeOrSurf
-
-SeafoamIslands5TextPointers:
-	dw BoulderText
-	dw BoulderText
-	dw ArticunoText
-	dw SeafoamIslands5Text4
-	dw SeafoamIslands5Text5
-
-ArticunoTrainerHeader:
-	dbEventFlagBit EVENT_BEAT_ARTICUNO
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_ARTICUNO
-	dw ArticunoBattleText ; TextBeforeBattle
-	dw ArticunoBattleText ; TextAfterBattle
-	dw ArticunoBattleText ; TextEndBattle
-	dw ArticunoBattleText ; TextEndBattle
-
-	db $ff
-
-ArticunoText:
-	TX_ASM
-	ld hl, ArticunoTrainerHeader
-	call TalkToTrainer
-	ld a, $4
-	ld [wSeafoamIslands5CurScript], a
-	jp TextScriptEnd
-
-ArticunoBattleText:
-	TX_FAR _ArticunoBattleText
-	TX_ASM
-	ld a, ARTICUNO
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-SeafoamIslands5Text4:
-	TX_FAR _SeafoamIslands5Text4
-	db "@"
-
-SeafoamIslands5Text5:
-	TX_FAR _SeafoamIslands5Text5
-	db "@"
--- a/scripts/silphco1.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-SilphCo1Script:
-	call EnableAutoTextBoxDrawing
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	ret z
-	CheckAndSetEvent EVENT_SILPH_CO_RECEPTIONIST_AT_DESK
-	ret nz
-	ld a, HS_SILPH_CO_1F_RECEPTIONIST
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-
-SilphCo1TextPointers:
-	dw SilphCo1Text1
-
-SilphCo1Text1:
-	TX_FAR _SilphCo1Text1
-	db "@"
--- a/scripts/silphco10.asm
+++ /dev/null
@@ -1,122 +1,0 @@
-SilphCo10Script:
-	call SilphCo10Script_5a14f
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo10TrainerHeader0
-	ld de, SilphCo10ScriptPointers
-	ld a, [wSilphCo10CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo10CurScript], a
-	ret
-
-SilphCo10Script_5a14f:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo10GateCoords
-	call SilphCo2Script_59d43
-	call SilphCo10Text_5a176
-	CheckEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR
-	ret nz
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 4, 5
-	predef_jump ReplaceTileBlock
-
-SilphCo10GateCoords:
-	db $04,$05
-	db $FF
-
-SilphCo10Text_5a176:
-	ld a, [$ffe0]
-	and a
-	ret z
-	SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR
-	ret
-
-SilphCo10ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo10TextPointers:
-	dw SilphCo10Text1
-	dw SilphCo10Text2
-	dw SilphCo10Text3
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-
-SilphCo10TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_0
-	dw SilphCo10BattleText1 ; TextBeforeBattle
-	dw SilphCo10AfterBattleText1 ; TextAfterBattle
-	dw SilphCo10EndBattleText1 ; TextEndBattle
-	dw SilphCo10EndBattleText1 ; TextEndBattle
-
-SilphCo10TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_1
-	dw SilphCo10BattleText2 ; TextBeforeBattle
-	dw SilphCo10AfterBattleText2 ; TextAfterBattle
-	dw SilphCo10EndBattleText2 ; TextEndBattle
-	dw SilphCo10EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-SilphCo10Text1:
-	TX_ASM
-	ld hl, SilphCo10TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo10Text2:
-	TX_ASM
-	ld hl, SilphCo10TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo10Text3:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	ld hl, SilphCo10Text_5a1d8
-	jr nz, .asm_cf85f
-	ld hl, SilphCo10Text_5a1d3
-.asm_cf85f
-	call PrintText
-	jp TextScriptEnd
-
-SilphCo10Text_5a1d3:
-	TX_FAR _SilphCo10Text_5a1d3
-	db "@"
-
-SilphCo10Text_5a1d8:
-	TX_FAR _SilphCo10Text_5a1d8
-	db "@"
-
-SilphCo10BattleText1:
-	TX_FAR _SilphCo10BattleText1
-	db "@"
-
-SilphCo10EndBattleText1:
-	TX_FAR _SilphCo10EndBattleText1
-	db "@"
-
-SilphCo10AfterBattleText1:
-	TX_FAR _SilphCo10AfterBattleText1
-	db "@"
-
-SilphCo10BattleText2:
-	TX_FAR _SilphCo10BattleText2
-	db "@"
-
-SilphCo10EndBattleText2:
-	TX_FAR _SilphCo10EndBattleText2
-	db "@"
-
-SilphCo10AfterBattleText2:
-	TX_FAR _SilphCo10AfterBattleText2
-	db "@"
--- a/scripts/silphco11.asm
+++ /dev/null
@@ -1,405 +1,0 @@
-SilphCo11Script:
-	call SilphCo11Script_62110
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo11TrainerHeader0
-	ld de, SilphCo11ScriptPointers
-	ld a, [wSilphCo11CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo11CurScript], a
-	ret
-
-SilphCo11Script_62110:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo11GateCoords
-	call SilphCo11Script_62137
-	call SilphCo11Script_62163
-	CheckEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR
-	ret nz
-	ld a, $20
-	ld [wNewTileBlockID], a
-	lb bc, 6, 3
-	predef_jump ReplaceTileBlock
-
-SilphCo11GateCoords:
-	db $06,$03
-	db $FF
-
-SilphCo11Script_62137:
-	push hl
-	ld hl, wCardKeyDoorY
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld c, a
-	xor a
-	ld [$ffe0], a
-	pop hl
-.asm_62143
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_6215f
-	push hl
-	ld hl, $ffe0
-	inc [hl]
-	pop hl
-	cp b
-	jr z, .asm_62154
-	inc hl
-	jr .asm_62143
-.asm_62154
-	ld a, [hli]
-	cp c
-	jr nz, .asm_62143
-	ld hl, wCardKeyDoorY
-	xor a
-	ld [hli], a
-	ld [hl], a
-	ret
-.asm_6215f
-	xor a
-	ld [$ffe0], a
-	ret
-
-SilphCo11Script_62163:
-	ld a, [$ffe0]
-	and a
-	ret z
-	SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR
-	ret
-
-SilphCo11Script_6216d:
-	ld hl, MissableObjectIDs_6219b
-.asm_62170
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_62181
-	push hl
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	pop hl
-	jr .asm_62170
-.asm_62181
-	ld hl, MissableObjectIDs_62194
-.asm_62184
-	ld a, [hli]
-	cp $ff
-	ret z
-	push hl
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	pop hl
-	jr .asm_62184
-
-MissableObjectIDs_62194:
-	db HS_SAFFRON_CITY_8
-	db HS_SAFFRON_CITY_9
-	db HS_SAFFRON_CITY_A
-	db HS_SAFFRON_CITY_B
-	db HS_SAFFRON_CITY_C
-	db HS_SAFFRON_CITY_D
-	db $FF
-
-MissableObjectIDs_6219b:
-	db HS_SAFFRON_CITY_1
-	db HS_SAFFRON_CITY_2
-	db HS_SAFFRON_CITY_3
-	db HS_SAFFRON_CITY_4
-	db HS_SAFFRON_CITY_5
-	db HS_SAFFRON_CITY_6
-	db HS_SAFFRON_CITY_7
-	db HS_SAFFRON_CITY_E
-	db HS_SAFFRON_CITY_F
-	db HS_SILPH_CO_2F_2
-	db HS_SILPH_CO_2F_3
-	db HS_SILPH_CO_2F_4
-	db HS_SILPH_CO_2F_5
-	db HS_SILPH_CO_3F_1
-	db HS_SILPH_CO_3F_2
-	db HS_SILPH_CO_4F_1
-	db HS_SILPH_CO_4F_2
-	db HS_SILPH_CO_4F_3
-	db HS_SILPH_CO_5F_1
-	db HS_SILPH_CO_5F_2
-	db HS_SILPH_CO_5F_3
-	db HS_SILPH_CO_5F_4
-	db HS_SILPH_CO_6F_1
-	db HS_SILPH_CO_6F_2
-	db HS_SILPH_CO_6F_3
-	db HS_SILPH_CO_7F_1
-	db HS_SILPH_CO_7F_2
-	db HS_SILPH_CO_7F_3
-	db HS_SILPH_CO_7F_4
-	db HS_SILPH_CO_8F_1
-	db HS_SILPH_CO_8F_2
-	db HS_SILPH_CO_8F_3
-	db HS_SILPH_CO_9F_1
-	db HS_SILPH_CO_9F_2
-	db HS_SILPH_CO_9F_3
-	db HS_SILPH_CO_10F_1
-	db HS_SILPH_CO_10F_2
-	db HS_SILPH_CO_11F_1
-	db HS_SILPH_CO_11F_2
-	db HS_SILPH_CO_11F_3
-	db $FF
-
-SilphCo11Script_621c4:
-	xor a
-	ld [wJoyIgnore], a
-
-SilphCo11Script_621c8:
-	ld [wSilphCo11CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-SilphCo11ScriptPointers:
-	dw SilphCo11Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw SilphCo11Script3
-	dw SilphCo11Script4
-	dw SilphCo11Script5
-
-SilphCo11Script0:
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	ret nz
-	ld hl, CoordsData_62211
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	ld a, [wCoordIndex]
-	ld [wcf0d], a
-	xor a
-	ld [hJoyHeld], a
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $3
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld de, MovementData_62216
-	call MoveSprite
-	ld a, $3
-	jp SilphCo11Script_621c8
-
-CoordsData_62211:
-	db $0D,$06
-	db $0C,$07
-	db $FF
-
-MovementData_62216:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-SilphCo11Script_6221a:
-	ld [wPlayerMovingDirection], a
-	ld a, $3
-	ld [H_SPRITEINDEX], a
-	ld a, b
-	ld [hSpriteFacingDirection], a
-	jp SetSpriteFacingDirectionAndDelay
-
-SilphCo11Script5:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, SilphCo11Script_621c4
-	ld a, [wcf0d]
-	cp $1
-	jr z, .asm_6223c
-	ld a, PLAYER_DIR_LEFT
-	ld b, SPRITE_FACING_RIGHT
-	jr .asm_62240
-.asm_6223c
-	ld a, PLAYER_DIR_UP
-	ld b, SPRITE_FACING_DOWN
-.asm_62240
-	call SilphCo11Script_6221a
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $6
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call GBFadeOutToBlack
-	call SilphCo11Script_6216d
-	call UpdateSprites
-	call Delay3
-	call GBFadeInFromBlack
-	SetEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	xor a
-	ld [wJoyIgnore], a
-	jp SilphCo11Script_621c8
-
-SilphCo11Script3:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, $3
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld a, [wcf0d]
-	cp $1
-	jr z, .asm_62284
-	ld a, PLAYER_DIR_LEFT
-	ld b, SPRITE_FACING_RIGHT
-	jr .asm_62288
-.asm_62284
-	ld a, PLAYER_DIR_UP
-	ld b, SPRITE_FACING_DOWN
-.asm_62288
-	call SilphCo11Script_6221a
-	call Delay3
-	ld a, $4
-	jp SilphCo11Script_621c8
-
-SilphCo11Script4:
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, SilphCo10Text_62330
-	ld de, SilphCo10Text_62330
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $5
-	jp SilphCo11Script_621c8
-
-SilphCo11TextPointers:
-	dw SilphCo11Text1
-	dw SilphCo11Text2
-	dw SilphCo11Text3
-	dw SilphCo11Text4
-	dw SilphCo11Text5
-	dw SilphCo11Text6
-
-SilphCo11TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0
-	dw SilphCo11BattleText1 ; TextBeforeBattle
-	dw SilphCo11AfterBattleText1 ; TextAfterBattle
-	dw SilphCo11EndBattleText1 ; TextEndBattle
-	dw SilphCo11EndBattleText1 ; TextEndBattle
-
-SilphCo11TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1
-	dw SilphCo11BattleText2 ; TextBeforeBattle
-	dw SilphCo11AfterBattleText2 ; TextAfterBattle
-	dw SilphCo11EndBattleText2 ; TextEndBattle
-	dw SilphCo11EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-SilphCo11Text1:
-	TX_ASM
-	CheckEvent EVENT_GOT_MASTER_BALL
-	jp nz, .asm_62308
-	ld hl, SilphCoPresidentText
-	call PrintText
-	lb bc, MASTER_BALL, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedSilphCoMasterBallText
-	call PrintText
-	SetEvent EVENT_GOT_MASTER_BALL
-	jr .asm_6230e
-.BagFull
-	ld hl, SilphCoMasterBallNoRoomText
-	call PrintText
-	jr .asm_6230e
-.asm_62308
-	ld hl, SilphCo10Text_6231c
-	call PrintText
-.asm_6230e
-	jp TextScriptEnd
-
-SilphCoPresidentText:
-	TX_FAR _SilphCoPresidentText
-	db "@"
-
-ReceivedSilphCoMasterBallText:
-	TX_FAR _ReceivedSilphCoMasterBallText
-	TX_SFX_KEY_ITEM
-	db "@"
-
-SilphCo10Text_6231c:
-	TX_FAR _SilphCo10Text_6231c
-	db "@"
-
-SilphCoMasterBallNoRoomText:
-	TX_FAR _SilphCoMasterBallNoRoomText
-	db "@"
-
-SilphCo11Text2:
-	TX_FAR _SilphCo11Text2
-	db "@"
-
-SilphCo11Text3:
-	TX_FAR _SilphCo11Text3
-	db "@"
-
-SilphCo10Text_62330:
-	TX_FAR _SilphCo10Text_62330
-	db "@"
-
-SilphCo11Text6:
-	TX_FAR _SilphCo10Text_62335
-	db "@"
-
-SilphCo11Text4:
-	TX_ASM
-	ld hl, SilphCo11TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo11BattleText1:
-	TX_FAR _SilphCo11BattleText1
-	db "@"
-
-SilphCo11EndBattleText1:
-	TX_FAR _SilphCo11EndBattleText1
-	db "@"
-
-SilphCo11AfterBattleText1:
-	TX_FAR _SilphCo11AfterBattleText1
-	db "@"
-
-SilphCo11Text5:
-	TX_ASM
-	ld hl, SilphCo11TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo11BattleText2:
-	TX_FAR _SilphCo11BattleText2
-	db "@"
-
-SilphCo11EndBattleText2:
-	TX_FAR _SilphCo11EndBattleText2
-	db "@"
-
-SilphCo11AfterBattleText2:
-	TX_FAR _SilphCo11AfterBattleText2
-	db "@"
-
-SilphCo10Text_6236c:
-	TX_ASM
-	ld hl, SilphCo10Text_6237b
-	call PrintText
-	ld a, PORYGON
-	call DisplayPokedex
-	jp TextScriptEnd
-
-SilphCo10Text_6237b:
-	TX_FAR _SilphCo10Text_6237b
-	db "@"
--- a/scripts/silphco2.asm
+++ /dev/null
@@ -1,245 +1,0 @@
-SilphCo2Script:
-	call SilphCo2Script_59d07
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo2TrainerHeader0
-	ld de, SilphCo2ScriptPointers
-	ld a, [wSilphCo2CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo2CurScript], a
-	ret
-
-SilphCo2Script_59d07:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo2GateCoords
-	call SilphCo2Script_59d43
-	call SilphCo2Script_59d6f
-	CheckEvent EVENT_SILPH_CO_2_UNLOCKED_DOOR1
-	jr nz, .asm_59d2e
-	push af
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 2, 2
-	predef ReplaceTileBlock
-	pop af
-.asm_59d2e
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1
-	ret nz
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 5, 2
-	predef_jump ReplaceTileBlock
-
-SilphCo2GateCoords:
-	db $02,$02
-	db $05,$02
-	db $FF
-
-SilphCo2Script_59d43:
-	push hl
-	ld hl, wCardKeyDoorY
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld c, a
-	xor a
-	ld [$ffe0], a
-	pop hl
-.asm_59d4f
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_59d6b
-	push hl
-	ld hl, $ffe0
-	inc [hl]
-	pop hl
-	cp b
-	jr z, .asm_59d60
-	inc hl
-	jr .asm_59d4f
-.asm_59d60
-	ld a, [hli]
-	cp c
-	jr nz, .asm_59d4f
-	ld hl, wCardKeyDoorY
-	xor a
-	ld [hli], a
-	ld [hl], a
-	ret
-.asm_59d6b
-	xor a
-	ld [$ffe0], a
-	ret
-
-SilphCo2Script_59d6f:
-	EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1
-	ld a, [$ffe0]
-	and a
-	ret z
-	cp $1
-	jr nz, .next
-	SetEventReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR1
-	ret
-.next
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_2_UNLOCKED_DOOR2, EVENT_SILPH_CO_2_UNLOCKED_DOOR1
-	ret
-
-SilphCo2ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo2TextPointers:
-	dw SilphCo2Text1
-	dw SilphCo2Text2
-	dw SilphCo2Text3
-	dw SilphCo2Text4
-	dw SilphCo2Text5
-
-SilphCo2TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0
-	dw SilphCo2BattleText1 ; TextBeforeBattle
-	dw SilphCo2AfterBattleText1 ; TextAfterBattle
-	dw SilphCo2EndBattleText1 ; TextEndBattle
-	dw SilphCo2EndBattleText1 ; TextEndBattle
-
-SilphCo2TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1
-	dw SilphCo2BattleText2 ; TextBeforeBattle
-	dw SilphCo2AfterBattleText2 ; TextAfterBattle
-	dw SilphCo2EndBattleText2 ; TextEndBattle
-	dw SilphCo2EndBattleText2 ; TextEndBattle
-
-SilphCo2TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2
-	dw SilphCo2BattleText3 ; TextBeforeBattle
-	dw SilphCo2AfterBattleText3 ; TextAfterBattle
-	dw SilphCo2EndBattleText3 ; TextEndBattle
-	dw SilphCo2EndBattleText3 ; TextEndBattle
-
-SilphCo2TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3
-	dw SilphCo2BattleText4 ; TextBeforeBattle
-	dw SilphCo2AfterBattleText4 ; TextAfterBattle
-	dw SilphCo2EndBattleText4 ; TextEndBattle
-	dw SilphCo2EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-SilphCo2Text1:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM36
-	jr nz, .asm_59de4
-	ld hl, SilphCo2Text_59ded
-	call PrintText
-	lb bc, TM_36, 1
-	call GiveItem
-	ld hl, TM36NoRoomText
-	jr nc, .asm_59de7
-	SetEvent EVENT_GOT_TM36
-	ld hl, ReceivedTM36Text
-	jr .asm_59de7
-.asm_59de4
-	ld hl, TM36ExplanationText
-.asm_59de7
-	call PrintText
-	jp TextScriptEnd
-
-SilphCo2Text_59ded:
-	TX_FAR _SilphCo2Text_59ded
-	db "@"
-
-ReceivedTM36Text:
-	TX_FAR _ReceivedTM36Text
-	TX_SFX_ITEM_1
-	db "@"
-
-TM36ExplanationText:
-	TX_FAR _TM36ExplanationText
-	db "@"
-
-TM36NoRoomText:
-	TX_FAR _TM36NoRoomText
-	db "@"
-
-SilphCo2Text2:
-	TX_ASM
-	ld hl, SilphCo2TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo2Text3:
-	TX_ASM
-	ld hl, SilphCo2TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo2Text4:
-	TX_ASM
-	ld hl, SilphCo2TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo2Text5:
-	TX_ASM
-	ld hl, SilphCo2TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo2BattleText1:
-	TX_FAR _SilphCo2BattleText1
-	db "@"
-
-SilphCo2EndBattleText1:
-	TX_FAR _SilphCo2EndBattleText1
-	db "@"
-
-SilphCo2AfterBattleText1:
-	TX_FAR _SilphCo2AfterBattleText1
-	db "@"
-
-SilphCo2BattleText2:
-	TX_FAR _SilphCo2BattleText2
-	db "@"
-
-SilphCo2EndBattleText2:
-	TX_FAR _SilphCo2EndBattleText2
-	db "@"
-
-SilphCo2AfterBattleText2:
-	TX_FAR _SilphCo2AfterBattleText2
-	db "@"
-
-SilphCo2BattleText3:
-	TX_FAR _SilphCo2BattleText3
-	db "@"
-
-SilphCo2EndBattleText3:
-	TX_FAR _SilphCo2EndBattleText3
-	db "@"
-
-SilphCo2AfterBattleText3:
-	TX_FAR _SilphCo2AfterBattleText3
-	db "@"
-
-SilphCo2BattleText4:
-	TX_FAR _SilphCo2BattleText4
-	db "@"
-
-SilphCo2EndBattleText4:
-	TX_FAR _SilphCo2EndBattleText4
-	db "@"
-
-SilphCo2AfterBattleText4:
-	TX_FAR _SilphCo2AfterBattleText4
-	db "@"
--- a/scripts/silphco3.asm
+++ /dev/null
@@ -1,136 +1,0 @@
-SilphCo3Script:
-	call SilphCo3Script_59f71
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo3TrainerHeader0
-	ld de, SilphCo3ScriptPointers
-	ld a, [wSilphCo3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo3CurScript], a
-	ret
-
-SilphCo3Script_59f71:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo3GateCoords
-	call SilphCo2Script_59d43
-	call SilphCo3Script_59fad
-	CheckEvent EVENT_SILPH_CO_3_UNLOCKED_DOOR1
-	jr nz, .asm_59f98
-	push af
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 4, 4
-	predef ReplaceTileBlock
-	pop af
-.asm_59f98
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1
-	ret nz
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 4, 8
-	predef_jump ReplaceTileBlock
-
-SilphCo3GateCoords:
-	db $04,$04
-	db $04,$08
-	db $FF
-
-SilphCo3Script_59fad:
-	EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1
-	ld a, [$ffe0]
-	and a
-	ret z
-	cp $1
-	jr nz, .next
-	SetEventReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR1
-	ret
-.next
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_3_UNLOCKED_DOOR2, EVENT_SILPH_CO_3_UNLOCKED_DOOR1
-	ret
-
-SilphCo3ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo3TextPointers:
-	dw SilphCo3Text1
-	dw SilphCo3Text2
-	dw SilphCo3Text3
-	dw PickUpItemText
-
-SilphCo3TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_0
-	dw SilphCo3BattleText1 ; TextBeforeBattle
-	dw SilphCo3AfterBattleText1 ; TextAfterBattle
-	dw SilphCo3EndBattleText1 ; TextEndBattle
-	dw SilphCo3EndBattleText1 ; TextEndBattle
-
-SilphCo3TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_1
-	dw SilphCo3BattleText2 ; TextBeforeBattle
-	dw SilphCo3AfterBattleText2 ; TextAfterBattle
-	dw SilphCo3EndBattleText2 ; TextEndBattle
-	dw SilphCo3EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-SilphCo3Text1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	ld hl, SilphCo3Text_59ffe
-	jr nz, .asm_59fee
-	ld hl, SilphCo3Text_59ff9
-.asm_59fee
-	call PrintText
-	jp TextScriptEnd
-
-SilphCo3Text_59ff9:
-	TX_FAR _SilphCo3Text_59ff9
-	db "@"
-
-SilphCo3Text_59ffe:
-	TX_FAR _SilphCo3Text_59ffe
-	db "@"
-
-SilphCo3Text2:
-	TX_ASM
-	ld hl, SilphCo3TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo3BattleText1:
-	TX_FAR _SilphCo3BattleText1
-	db "@"
-
-SilphCo3EndBattleText1:
-	TX_FAR _SilphCo3EndBattleText1
-	db "@"
-
-SilphCo3AfterBattleText1:
-	TX_FAR _SilphCo3AfterBattleText1
-	db "@"
-
-SilphCo3Text3:
-	TX_ASM
-	ld hl, SilphCo3TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo3BattleText2:
-	TX_FAR _SilphCo3BattleText2
-	db "@"
-
-SilphCo3EndBattleText2:
-	TX_FAR _SilphCo3EndBattleText2
-	db "@"
-
-SilphCo3AfterBattleText2:
-	TX_FAR _SilphCo3AfterBattleText2
-	db "@"
--- a/scripts/silphco4.asm
+++ /dev/null
@@ -1,199 +1,0 @@
-SilphCo4Script:
-	call SilphCo4Script_19d21
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo4TrainerHeader0
-	ld de, SilphCo4ScriptPointers
-	ld a, [wSilphCo4CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo4CurScript], a
-	ret
-
-SilphCo4Script_19d21:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo4GateCoords
-	call SilphCo4Script_19d5d
-	call SilphCo4Script_19d89
-	CheckEvent EVENT_SILPH_CO_4_UNLOCKED_DOOR1
-	jr nz, .asm_19d48
-	push af
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 6, 2
-	predef ReplaceTileBlock
-	pop af
-.asm_19d48
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1
-	ret nz
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 4, 6
-	predef_jump ReplaceTileBlock
-
-SilphCo4GateCoords:
-	db $06,$02
-	db $04,$06
-	db $FF
-
-SilphCo4Script_19d5d:
-	push hl
-	ld hl, wCardKeyDoorY
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld c, a
-	xor a
-	ld [$ffe0], a
-	pop hl
-.asm_19d69
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_19d85
-	push hl
-	ld hl, $ffe0
-	inc [hl]
-	pop hl
-	cp b
-	jr z, .asm_19d7a
-	inc hl
-	jr .asm_19d69
-.asm_19d7a
-	ld a, [hli]
-	cp c
-	jr nz, .asm_19d69
-	ld hl, wCardKeyDoorY
-	xor a
-	ld [hli], a
-	ld [hl], a
-	ret
-.asm_19d85
-	xor a
-	ld [$ffe0], a
-	ret
-
-SilphCo4Script_19d89:
-	EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1
-	ld a, [$ffe0]
-	and a
-	ret z
-	cp $1
-	jr nz, .next
-	SetEventReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR1
-	ret
-.next
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_4_UNLOCKED_DOOR2, EVENT_SILPH_CO_4_UNLOCKED_DOOR1
-	ret
-
-SilphCo4ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo4TextPointers:
-	dw SilphCo4Text1
-	dw SilphCo4Text2
-	dw SilphCo4Text3
-	dw SilphCo4Text4
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-
-SilphCo4TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_0
-	dw SilphCo4BattleText2 ; TextBeforeBattle
-	dw SilphCo4AfterBattleText2 ; TextAfterBattle
-	dw SilphCo4EndBattleText2 ; TextEndBattle
-	dw SilphCo4EndBattleText2 ; TextEndBattle
-
-SilphCo4TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_1
-	dw SilphCo4BattleText3 ; TextBeforeBattle
-	dw SilphCo4AfterBattleText3 ; TextAfterBattle
-	dw SilphCo4EndBattleText3 ; TextEndBattle
-	dw SilphCo4EndBattleText3 ; TextEndBattle
-
-SilphCo4TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_2
-	dw SilphCo4BattleText4 ; TextBeforeBattle
-	dw SilphCo4AfterBattleText4 ; TextAfterBattle
-	dw SilphCo4EndBattleText4 ; TextEndBattle
-	dw SilphCo4EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-SilphCo4Text1:
-	TX_ASM
-	ld hl, SilphCo4Text_19de0
-	ld de, SilphCo4Text_19de5
-	call SilphCo6Script_1a22f
-	jp TextScriptEnd
-
-SilphCo4Text_19de0:
-	TX_FAR _SilphCo4Text_19de0
-	db "@"
-
-SilphCo4Text_19de5:
-	TX_FAR _SilphCo4Text_19de5
-	db "@"
-
-SilphCo4Text2:
-	TX_ASM
-	ld hl, SilphCo4TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo4BattleText2:
-	TX_FAR _SilphCo4BattleText2
-	db "@"
-
-SilphCo4EndBattleText2:
-	TX_FAR _SilphCo4EndBattleText2
-	db "@"
-
-SilphCo4AfterBattleText2:
-	TX_FAR _SilphCo4AfterBattleText2
-	db "@"
-
-SilphCo4Text3:
-	TX_ASM
-	ld hl, SilphCo4TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo4BattleText3:
-	TX_FAR _SilphCo4BattleText3
-	db "@"
-
-SilphCo4EndBattleText3:
-	TX_FAR _SilphCo4EndBattleText3
-	db "@"
-
-SilphCo4AfterBattleText3:
-	TX_FAR _SilphCo4AfterBattleText3
-	db "@"
-
-SilphCo4Text4:
-	TX_ASM
-	ld hl, SilphCo4TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo4BattleText4:
-	TX_FAR _SilphCo4BattleText4
-	db "@"
-
-SilphCo4EndBattleText4:
-	TX_FAR _SilphCo4EndBattleText4
-	db "@"
-
-SilphCo4AfterBattleText4:
-	TX_FAR _SilphCo4AfterBattleText4
-	db "@"
--- a/scripts/silphco5.asm
+++ /dev/null
@@ -1,221 +1,0 @@
-SilphCo5Script:
-	call SilphCo5Script_19f4d
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo5TrainerHeader0
-	ld de, SilphCo5ScriptPointers
-	ld a, [wSilphCo5CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo5CurScript], a
-	ret
-
-SilphCo5Script_19f4d:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo5GateCoords
-	call SilphCo4Script_19d5d
-	call SilphCo5Script_19f9e
-	CheckEvent EVENT_SILPH_CO_5_UNLOCKED_DOOR1
-	jr nz, .asm_19f74
-	push af
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 2, 3
-	predef ReplaceTileBlock
-	pop af
-.asm_19f74
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
-	jr nz, .asm_19f87
-	push af
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 6, 3
-	predef ReplaceTileBlock
-	pop af
-.asm_19f87
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR2
-	ret nz
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 5, 7
-	predef_jump ReplaceTileBlock
-
-SilphCo5GateCoords:
-	db $02,$03
-	db $06,$03
-	db $05,$07
-	db $FF
-
-SilphCo5Script_19f9e:
-	EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
-	ld a, [$ffe0]
-	and a
-	ret z
-	cp $1
-	jr nz, .next1
-	SetEventReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR1
-	ret
-.next1
-	cp $2
-	jr nz, .next2
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR2, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
-	ret
-.next2
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_5_UNLOCKED_DOOR3, EVENT_SILPH_CO_5_UNLOCKED_DOOR1
-	ret
-
-SilphCo5ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo5TextPointers:
-	dw SilphCo5Text1
-	dw SilphCo5Text2
-	dw SilphCo5Text3
-	dw SilphCo5Text4
-	dw SilphCo5Text5
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw SilphCo5Text9
-	dw SilphCo5Text10
-	dw SilphCo5Text11
-
-SilphCo5TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_0
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_0
-	dw SilphCo5BattleText2 ; TextBeforeBattle
-	dw SilphCo5AfterBattleText2 ; TextAfterBattle
-	dw SilphCo5EndBattleText2 ; TextEndBattle
-	dw SilphCo5EndBattleText2 ; TextEndBattle
-
-SilphCo5TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_1
-	dw SilphCo5BattleText3 ; TextBeforeBattle
-	dw SilphCo5AfterBattleText3 ; TextAfterBattle
-	dw SilphCo5EndBattleText3 ; TextEndBattle
-	dw SilphCo5EndBattleText3 ; TextEndBattle
-
-SilphCo5TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_2
-	dw SilphCo5BattleText4 ; TextBeforeBattle
-	dw SilphCo5AfterBattleText4 ; TextAfterBattle
-	dw SilphCo5EndBattleText4 ; TextEndBattle
-	dw SilphCo5EndBattleText4 ; TextEndBattle
-
-SilphCo5TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_3
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_3
-	dw SilphCo5BattleText5 ; TextBeforeBattle
-	dw SilphCo5AfterBattleText5 ; TextAfterBattle
-	dw SilphCo5EndBattleText5 ; TextEndBattle
-	dw SilphCo5EndBattleText5 ; TextEndBattle
-
-	db $ff
-
-SilphCo5Text1:
-	TX_ASM
-	ld hl, SilphCo5Text_1a010
-	ld de, SilphCo5Text_1a015
-	call SilphCo6Script_1a22f
-	jp TextScriptEnd
-
-SilphCo5Text_1a010:
-	TX_FAR _SilphCo5Text_1a010
-	db "@"
-
-SilphCo5Text_1a015:
-	TX_FAR _SilphCo5Text_1a015
-	db "@"
-
-SilphCo5Text2:
-	TX_ASM
-	ld hl, SilphCo5TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo5BattleText2:
-	TX_FAR _SilphCo5BattleText2
-	db "@"
-
-SilphCo5EndBattleText2:
-	TX_FAR _SilphCo5EndBattleText2
-	db "@"
-
-SilphCo5AfterBattleText2:
-	TX_FAR _SilphCo5AfterBattleText2
-	db "@"
-
-SilphCo5Text3:
-	TX_ASM
-	ld hl, SilphCo5TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo5BattleText3:
-	TX_FAR _SilphCo5BattleText3
-	db "@"
-
-SilphCo5EndBattleText3:
-	TX_FAR _SilphCo5EndBattleText3
-	db "@"
-
-SilphCo5AfterBattleText3:
-	TX_FAR _SilphCo5AfterBattleText3
-	db "@"
-
-SilphCo5Text4:
-	TX_ASM
-	ld hl, SilphCo5TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo5BattleText4:
-	TX_FAR _SilphCo5BattleText4
-	db "@"
-
-SilphCo5EndBattleText4:
-	TX_FAR _SilphCo5EndBattleText4
-	db "@"
-
-SilphCo5AfterBattleText4:
-	TX_FAR _SilphCo5AfterBattleText4
-	db "@"
-
-SilphCo5Text5:
-	TX_ASM
-	ld hl, SilphCo5TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo5BattleText5:
-	TX_FAR _SilphCo5BattleText5
-	db "@"
-
-SilphCo5EndBattleText5:
-	TX_FAR _SilphCo5EndBattleText5
-	db "@"
-
-SilphCo5AfterBattleText5:
-	TX_FAR _SilphCo5AfterBattleText5
-	db "@"
-
-SilphCo5Text9:
-	TX_FAR _SilphCo5Text9
-	db "@"
-
-SilphCo5Text10:
-	TX_FAR _SilphCo5Text10
-	db "@"
-
-SilphCo5Text11:
-	TX_FAR _SilphCo5Text11
-	db "@"
--- a/scripts/silphco6.asm
+++ /dev/null
@@ -1,220 +1,0 @@
-SilphCo6Script:
-	call SilphCo6Script_1a1bf
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo6TrainerHeader0
-	ld de, SilphCo6ScriptPointers
-	ld a, [wSilphCo6CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo6CurScript], a
-	ret
-
-SilphCo6Script_1a1bf:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo6GateCoords
-	call SilphCo4Script_19d5d
-	call SilphCo6Script_1a1e6
-	CheckEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR
-	ret nz
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 6, 2
-	predef_jump ReplaceTileBlock
-
-SilphCo6GateCoords:
-	db $06,$02
-	db $FF
-
-SilphCo6Script_1a1e6:
-	ld a, [$ffe0]
-	and a
-	ret z
-	SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR
-	ret
-
-SilphCo6ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo6TextPointers:
-	dw SilphCo6Text1
-	dw SilphCo6Text2
-	dw SilphCo6Text3
-	dw SilphCo6Text4
-	dw SilphCo6Text5
-	dw SilphCo6Text6
-	dw SilphCo6Text7
-	dw SilphCo6Text8
-	dw PickUpItemText
-	dw PickUpItemText
-
-SilphCo6TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_0
-	dw SilphCo6BattleText2 ; TextBeforeBattle
-	dw SilphCo6AfterBattleText2 ; TextAfterBattle
-	dw SilphCo6EndBattleText2 ; TextEndBattle
-	dw SilphCo6EndBattleText2 ; TextEndBattle
-
-SilphCo6TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_1
-	dw SilphCo6BattleText3 ; TextBeforeBattle
-	dw SilphCo6AfterBattleText3 ; TextAfterBattle
-	dw SilphCo6EndBattleText3 ; TextEndBattle
-	dw SilphCo6EndBattleText3 ; TextEndBattle
-
-SilphCo6TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1
-	dw SilphCo6BattleText4 ; TextBeforeBattle
-	dw SilphCo6AfterBattleText4 ; TextAfterBattle
-	dw SilphCo6EndBattleText4 ; TextEndBattle
-	dw SilphCo6EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-SilphCo6Script_1a22f:
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	jr nz, .asm_1a238
-	jr .asm_1a23a
-.asm_1a238
-	ld h, d
-	ld l, e
-.asm_1a23a
-	jp PrintText
-
-SilphCo6Text1:
-	TX_ASM
-	ld hl, SilphCo6Text_1a24a
-	ld de, SilphCo6Text_1a24f
-	call SilphCo6Script_1a22f
-	jp TextScriptEnd
-
-SilphCo6Text_1a24a:
-	TX_FAR _SilphCo6Text_1a24a
-	db "@"
-
-SilphCo6Text_1a24f:
-	TX_FAR _SilphCo6Text_1a24f
-	db "@"
-
-SilphCo6Text2:
-	TX_ASM
-	ld hl, SilphCo6Text_1a261
-	ld de, SilphCo6Text_1a266
-	call SilphCo6Script_1a22f
-	jp TextScriptEnd
-
-SilphCo6Text_1a261:
-	TX_FAR _SilphCo6Text_1a261
-	db "@"
-
-SilphCo6Text_1a266:
-	TX_FAR _SilphCo6Text_1a266
-	db "@"
-
-SilphCo6Text3:
-	TX_ASM
-	ld hl, SilphCo6Text_1a278
-	ld de, SilphCo6Text_1a27d
-	call SilphCo6Script_1a22f
-	jp TextScriptEnd
-
-SilphCo6Text_1a278:
-	TX_FAR _SilphCo6Text_1a278
-	db "@"
-
-SilphCo6Text_1a27d:
-	TX_FAR _SilphCo6Text_1a27d
-	db "@"
-
-SilphCo6Text4:
-	TX_ASM
-	ld hl, SilphCo6Text_1a28f
-	ld de, SilphCo6Text_1a294
-	call SilphCo6Script_1a22f
-	jp TextScriptEnd
-
-SilphCo6Text_1a28f:
-	TX_FAR _SilphCo6Text_1a28f
-	db "@"
-
-SilphCo6Text_1a294:
-	TX_FAR _SilphCo6Text_1a294
-	db "@"
-
-SilphCo6Text5:
-	TX_ASM
-	ld hl, SilphCo6Text_1a2a6
-	ld de, SilphCo6Text_1a2ab
-	call SilphCo6Script_1a22f
-	jp TextScriptEnd
-
-SilphCo6Text_1a2a6:
-	TX_FAR _SilphCo6Text_1a2a6
-	db "@"
-
-SilphCo6Text_1a2ab:
-	TX_FAR _SilphCo6Text_1a2ab
-	db "@"
-
-SilphCo6Text6:
-	TX_ASM
-	ld hl, SilphCo6TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo6BattleText2:
-	TX_FAR _SilphCo6BattleText2
-	db "@"
-
-SilphCo6EndBattleText2:
-	TX_FAR _SilphCo6EndBattleText2
-	db "@"
-
-SilphCo6AfterBattleText2:
-	TX_FAR _SilphCo6AfterBattleText2
-	db "@"
-
-SilphCo6Text7:
-	TX_ASM
-	ld hl, SilphCo6TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo6BattleText3:
-	TX_FAR _SilphCo6BattleText3
-	db "@"
-
-SilphCo6EndBattleText3:
-	TX_FAR _SilphCo6EndBattleText3
-	db "@"
-
-SilphCo6AfterBattleText3:
-	TX_FAR _SilphCo6AfterBattleText3
-	db "@"
-
-SilphCo6Text8:
-	TX_ASM
-	ld hl, SilphCo6TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo6BattleText4:
-	TX_FAR _SilphCo6BattleText4
-	db "@"
-
-SilphCo6EndBattleText4:
-	TX_FAR _SilphCo6EndBattleText4
-	db "@"
-
-SilphCo6AfterBattleText4:
-	TX_FAR _SilphCo6AfterBattleText4
-	db "@"
--- a/scripts/silphco7.asm
+++ /dev/null
@@ -1,527 +1,0 @@
-SilphCo7Script:
-	call SilphCo7Script_51b77
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo7TrainerHeader0
-	ld de, SilphCo7ScriptPointers
-	ld a, [wSilphCo7CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo7CurScript], a
-	ret
-
-SilphCo7Script_51b77:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo7GateCoords
-	call SilphCo7Text_51bc8
-	call SilphCo7Text_51bf4
-	CheckEvent EVENT_SILPH_CO_7_UNLOCKED_DOOR1
-	jr nz, .asm_51b9e
-	push af
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 3, 5
-	predef ReplaceTileBlock
-	pop af
-.asm_51b9e
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
-	jr nz, .asm_51bb1
-	push af
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 2, 10
-	predef ReplaceTileBlock
-	pop af
-.asm_51bb1
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR2
-	ret nz
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 6, 10
-	predef_jump ReplaceTileBlock
-
-SilphCo7GateCoords:
-	db $03,$05
-	db $02,$0A
-	db $06,$0A
-	db $FF
-
-SilphCo7Text_51bc8:
-	push hl
-	ld hl, wCardKeyDoorY
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld c, a
-	xor a
-	ld [$ffe0], a
-	pop hl
-.asm_51bd4
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_51bf0
-	push hl
-	ld hl, $ffe0
-	inc [hl]
-	pop hl
-	cp b
-	jr z, .asm_51be5
-	inc hl
-	jr .asm_51bd4
-.asm_51be5
-	ld a, [hli]
-	cp c
-	jr nz, .asm_51bd4
-	ld hl, wCardKeyDoorY
-	xor a
-	ld [hli], a
-	ld [hl], a
-	ret
-.asm_51bf0
-	xor a
-	ld [$ffe0], a
-	ret
-
-SilphCo7Text_51bf4:
-	EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
-	ld a, [$ffe0]
-	and a
-	ret z
-	cp $1
-	jr nz, .next1
-	SetEventReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR1
-	ret
-.next1
-	cp $2
-	jr nz, .next2
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR2, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
-	ret
-.next2
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_7_UNLOCKED_DOOR3, EVENT_SILPH_CO_7_UNLOCKED_DOOR1
-	ret
-
-SilphCo7Text_51c0c:
-	xor a
-	ld [wJoyIgnore], a
-
-SilphCo7Text_51c10:
-	ld [wSilphCo7CurScript], a
-	ld [wCurMapScript], a
-	ret
-
-SilphCo7ScriptPointers:
-	dw SilphCo7Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw SilphCo7Script3
-	dw SilphCo7Script4
-	dw SilphCo7Script5
-
-SilphCo7Script0:
-	CheckEvent EVENT_BEAT_SILPH_CO_RIVAL
-	jp nz, CheckFightingMapTrainers
-	ld hl, CoordsData_51c78
-	call ArePlayerCoordsInArray
-	jp nc, CheckFightingMapTrainers
-	xor a
-	ld [hJoyHeld], a
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	ld c, BANK(Music_MeetRival)
-	ld a, MUSIC_MEET_RIVAL
-	call PlayMusic
-	ld a, $9
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $9
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld de, MovementData_51c7d
-	ld a, [wCoordIndex]
-	ld [wcf0d], a
-	cp $1
-	jr z, .asm_51c6c
-	inc de
-.asm_51c6c
-	ld a, $9
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $3
-	jp SilphCo7Text_51c10
-
-CoordsData_51c78:
-	db $02,$03
-	db $03,$03
-	db $FF
-
-MovementData_51c7d:
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db $FF
-
-SilphCo7Script3:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $d
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Delay3
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, SilphCo7Text14
-	ld de, SilphCo7Text_51ecd
-	call SaveEndBattleTextPointers
-	ld a, OPP_SONY2
-	ld [wCurOpponent], a
-	ld a, [wRivalStarter]
-	cp STARTER2
-	jr nz, .asm_51cb6
-	ld a, $7
-	jr .asm_51cc0
-.asm_51cb6
-	cp STARTER3
-	jr nz, .asm_51cbe
-	ld a, $8
-	jr .asm_51cc0
-.asm_51cbe
-	ld a, $9
-.asm_51cc0
-	ld [wTrainerNo], a
-	ld a, $4
-	jp SilphCo7Text_51c10
-
-SilphCo7Script4:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, SilphCo7Text_51c0c
-	ld a, $f0
-	ld [wJoyIgnore], a
-	SetEvent EVENT_BEAT_SILPH_CO_RIVAL
-	ld a, PLAYER_DIR_DOWN
-	ld [wPlayerMovingDirection], a
-	ld a, $9
-	ld [H_SPRITEINDEX], a
-	ld a, SPRITE_FACING_UP
-	ld [hSpriteFacingDirection], a
-	call SetSpriteFacingDirectionAndDelay
-	ld a, $f
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStart
-	ld de, MovementData_51d1d
-	ld a, [wcf0d]
-	cp $1
-	jr nz, .asm_51d0e
-	ld de, MovementData_51d1a
-.asm_51d0e
-	ld a, $9
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $5
-	jp SilphCo7Text_51c10
-
-MovementData_51d1a:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db $FF
-
-MovementData_51d1d:
-	db NPC_MOVEMENT_LEFT
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_UP
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-SilphCo7Script5:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	ld a, HS_SILPH_CO_7F_RIVAL
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call PlayDefaultMusic
-	xor a
-	ld [wJoyIgnore], a
-	jp SilphCo7Text_51c10
-
-SilphCo7TextPointers:
-	dw SilphCo7Text1
-	dw SilphCo7Text2
-	dw SilphCo7Text3
-	dw SilphCo7Text4
-	dw SilphCo7Text5
-	dw SilphCo7Text6
-	dw SilphCo7Text7
-	dw SilphCo7Text8
-	dw SilphCo7Text9
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw SilphCo7Text13
-	dw SilphCo7Text14
-	dw SilphCo7Text15
-
-SilphCo7TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0
-	dw SilphCo7BattleText1 ; TextBeforeBattle
-	dw SilphCo7AfterBattleText1 ; TextAfterBattle
-	dw SilphCo7EndBattleText1 ; TextEndBattle
-	dw SilphCo7EndBattleText1 ; TextEndBattle
-
-SilphCo7TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_1
-	dw SilphCo7BattleText2 ; TextBeforeBattle
-	dw SilphCo7AfterBattleText2 ; TextAfterBattle
-	dw SilphCo7EndBattleText2 ; TextEndBattle
-	dw SilphCo7EndBattleText2 ; TextEndBattle
-
-SilphCo7TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2
-	dw SilphCo7BattleText3 ; TextBeforeBattle
-	dw SilphCo7AfterBattleText3 ; TextAfterBattle
-	dw SilphCo7EndBattleText3 ; TextEndBattle
-	dw SilphCo7EndBattleText3 ; TextEndBattle
-
-SilphCo7TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1
-	dw SilphCo7BattleText4 ; TextBeforeBattle
-	dw SilphCo7AfterBattleText4 ; TextAfterBattle
-	dw SilphCo7EndBattleText4 ; TextEndBattle
-	dw SilphCo7EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-SilphCo7Text1:
-; lapras guy
-	TX_ASM
-	ld a, [wd72e]
-	bit 0, a ; got lapras?
-	jr z, .givelapras
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	jr nz, .savedsilph
-	ld hl, .LaprasGuyText
-	call PrintText
-	jr .done
-.givelapras
-	ld hl, .MeetLaprasGuyText
-	call PrintText
-	lb bc, LAPRAS, 15
-	call GivePokemon
-	jr nc, .done
-	ld a, [wSimulatedJoypadStatesEnd]
-	and a
-	call z, WaitForTextScrollButtonPress
-	call EnableAutoTextBoxDrawing
-	ld hl, .HeresYourLaprasText
-	call PrintText
-	ld hl, wd72e
-	set 0, [hl]
-	jr .done
-.savedsilph
-	ld hl, .LaprasGuySavedText
-	call PrintText
-.done
-	jp TextScriptEnd
-
-.MeetLaprasGuyText
-	TX_FAR _MeetLaprasGuyText
-	db "@"
-
-.HeresYourLaprasText
-	TX_FAR _HeresYourLaprasText
-	db "@"
-
-.LaprasGuyText
-	TX_FAR _LaprasGuyText
-	db "@"
-
-.LaprasGuySavedText
-	TX_FAR _LaprasGuySavedText
-	db "@"
-
-SilphCo7Text2:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	jr nz, .savedsilph
-	ld hl, .rockettext
-	call PrintText
-	jr .done
-.savedsilph
-	ld hl, .savedtext
-	call PrintText
-.done
-	jp TextScriptEnd
-
-.rockettext
-	TX_FAR _SilphCo7Text_51e00
-	db "@"
-
-.savedtext
-	TX_FAR _CanceledMasterBallText
-	db "@"
-
-SilphCo7Text3:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	jr nz, .savedsilph
-	ld hl, .rockettext
-	call PrintText
-	jr .done
-.savedsilph
-	ld hl, .savedtext
-	call PrintText
-.done
-	jp TextScriptEnd
-
-.rockettext
-	TX_FAR _SilphCo7Text_51e23
-	db "@"
-
-.savedtext
-	TX_FAR _SilphCo7Text_51e28
-	db "@"
-
-SilphCo7Text4:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	jr nz, .savedsilph
-	ld hl, .rockettext
-	call PrintText
-	jr .done
-.savedsilph
-	ld hl, .savedtext
-	call PrintText
-.done
-	jp TextScriptEnd
-
-.rockettext
-	TX_FAR _SilphCo7Text_51e46
-	db "@"
-
-.savedtext
-	TX_FAR _SilphCo7Text_51e4b
-	db "@"
-
-SilphCo7Text5:
-	TX_ASM
-	ld hl, SilphCo7TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo7BattleText1:
-	TX_FAR _SilphCo7BattleText1
-	db "@"
-
-SilphCo7EndBattleText1:
-	TX_FAR _SilphCo7EndBattleText1
-	db "@"
-
-SilphCo7AfterBattleText1:
-	TX_FAR _SilphCo7AfterBattleText1
-	db "@"
-
-SilphCo7Text6:
-	TX_ASM
-	ld hl, SilphCo7TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo7BattleText2:
-	TX_FAR _SilphCo7BattleText2
-	db "@"
-
-SilphCo7EndBattleText2:
-	TX_FAR _SilphCo7EndBattleText2
-	db "@"
-
-SilphCo7AfterBattleText2:
-	TX_FAR _SilphCo7AfterBattleText2
-	db "@"
-
-SilphCo7Text7:
-	TX_ASM
-	ld hl, SilphCo7TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo7BattleText3:
-	TX_FAR _SilphCo7BattleText3
-	db "@"
-
-SilphCo7EndBattleText3:
-	TX_FAR _SilphCo7EndBattleText3
-	db "@"
-
-SilphCo7AfterBattleText3:
-	TX_FAR _SilphCo7AfterBattleText3
-	db "@"
-
-SilphCo7Text8:
-	TX_ASM
-	ld hl, SilphCo7TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo7BattleText4:
-	TX_FAR _SilphCo7BattleText4
-	db "@"
-
-SilphCo7EndBattleText4:
-	TX_FAR _SilphCo7EndBattleText4
-	db "@"
-
-SilphCo7AfterBattleText4:
-	TX_FAR _SilphCo7AfterBattleText4
-	db "@"
-
-SilphCo7Text9:
-	TX_ASM
-	ld hl, SilphCo7Text_51ebe
-	call PrintText
-	jp TextScriptEnd
-
-SilphCo7Text_51ebe:
-	TX_FAR _SilphCo7Text_51ebe
-	db "@"
-
-SilphCo7Text13:
-	TX_FAR _SilphCo7Text_51ec3
-	db "@"
-
-SilphCo7Text14:
-	TX_FAR _SilphCo7Text_51ec8
-	db "@"
-
-SilphCo7Text_51ecd:
-	TX_FAR _SilphCo7Text_51ecd
-	db "@"
-
-SilphCo7Text15:
-	TX_FAR _SilphCo7Text_51ed2
-	db "@"
--- a/scripts/silphco8.asm
+++ /dev/null
@@ -1,183 +1,0 @@
-SilphCo8Script:
-	call SilphCo8Script_5651a
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo8TrainerHeader0
-	ld de, SilphCo8ScriptPointers
-	ld a, [wSilphCo8CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo8CurScript], a
-	ret
-
-SilphCo8Script_5651a:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo8GateCoords
-	call SilphCo8Script_56541
-	call SilphCo8Script_5656d
-	CheckEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR
-	ret nz
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 4, 3
-	predef_jump ReplaceTileBlock
-
-SilphCo8GateCoords:
-	db $04,$03
-	db $FF
-
-SilphCo8Script_56541:
-	push hl
-	ld hl, wCardKeyDoorY
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld c, a
-	xor a
-	ld [$ffe0], a
-	pop hl
-.asm_5654d
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_56569
-	push hl
-	ld hl, $ffe0
-	inc [hl]
-	pop hl
-	cp b
-	jr z, .asm_5655e
-	inc hl
-	jr .asm_5654d
-.asm_5655e
-	ld a, [hli]
-	cp c
-	jr nz, .asm_5654d
-	ld hl, wCardKeyDoorY
-	xor a
-	ld [hli], a
-	ld [hl], a
-	ret
-.asm_56569
-	xor a
-	ld [$ffe0], a
-	ret
-
-SilphCo8Script_5656d:
-	ld a, [$ffe0]
-	and a
-	ret z
-	SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR
-	ret
-
-SilphCo8ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo8TextPointers:
-	dw SilphCo8Text1
-	dw SilphCo8Text2
-	dw SilphCo8Text3
-	dw SilphCo8Text4
-
-SilphCo8TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_0
-	dw SilphCo8BattleText1 ; TextBeforeBattle
-	dw SilphCo8AfterBattleText1 ; TextAfterBattle
-	dw SilphCo8EndBattleText1 ; TextEndBattle
-	dw SilphCo8EndBattleText1 ; TextEndBattle
-
-SilphCo8TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_1
-	dw SilphCo8BattleText2 ; TextBeforeBattle
-	dw SilphCo8AfterBattleText2 ; TextAfterBattle
-	dw SilphCo8EndBattleText2 ; TextEndBattle
-	dw SilphCo8EndBattleText2 ; TextEndBattle
-
-SilphCo8TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_2
-	dw SilphCo8BattleText3 ; TextBeforeBattle
-	dw SilphCo8AfterBattleText3 ; TextAfterBattle
-	dw SilphCo8EndBattleText3 ; TextEndBattle
-	dw SilphCo8EndBattleText3 ; TextEndBattle
-
-	db $ff
-
-SilphCo8Text1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	ld hl, SilphCo8Text_565c3
-	jr nz, .asm_565b8
-	ld hl, SilphCo8Text_565be
-.asm_565b8
-	call PrintText
-	jp TextScriptEnd
-
-SilphCo8Text_565be:
-	TX_FAR _SilphCo8Text_565be
-	db "@"
-
-SilphCo8Text_565c3:
-	TX_FAR _SilphCo8Text_565c3
-	db "@"
-
-SilphCo8Text2:
-	TX_ASM
-	ld hl, SilphCo8TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo8Text3:
-	TX_ASM
-	ld hl, SilphCo8TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo8Text4:
-	TX_ASM
-	ld hl, SilphCo8TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo8BattleText1:
-	TX_FAR _SilphCo8BattleText1
-	db "@"
-
-SilphCo8EndBattleText1:
-	TX_FAR _SilphCo8EndBattleText1
-	db "@"
-
-SilphCo8AfterBattleText1:
-	TX_FAR _SilphCo8AfterBattleText1
-	db "@"
-
-SilphCo8BattleText2:
-	TX_FAR _SilphCo8BattleText2
-	db "@"
-
-SilphCo8EndBattleText2:
-	TX_FAR _SilphCo8EndBattleText2
-	db "@"
-
-SilphCo8AfterBattleText2:
-	TX_FAR _SilphCo8AfterBattleText2
-	db "@"
-
-SilphCo8BattleText3:
-	TX_FAR _SilphCo8BattleText3
-	db "@"
-
-SilphCo8EndBattleText3:
-	TX_FAR _SilphCo8EndBattleText3
-	db "@"
-
-SilphCo8AfterBattleText3:
-	TX_FAR _SilphCo8AfterBattleText3
-	db "@"
--- a/scripts/silphco9.asm
+++ /dev/null
@@ -1,244 +1,0 @@
-SilphCo9Script:
-	call SilphCo9Script_5d7d1
-	call EnableAutoTextBoxDrawing
-	ld hl, SilphCo9TrainerHeader0
-	ld de, SilphCo9ScriptPointers
-	ld a, [wSilphCo9CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSilphCo9CurScript], a
-	ret
-
-SilphCo9Script_5d7d1:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	ld hl, SilphCo9GateCoords
-	call SilphCo9Script_5d837
-	call SilphCo9Script_5d863
-	CheckEvent EVENT_SILPH_CO_9_UNLOCKED_DOOR1
-	jr nz, .asm_5d7f8
-	push af
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 4, 1
-	predef ReplaceTileBlock
-	pop af
-.asm_5d7f8
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
-	jr nz, .asm_5d80b
-	push af
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 2, 9
-	predef ReplaceTileBlock
-	pop af
-.asm_5d80b
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR2
-	jr nz, .asm_5d81e
-	push af
-	ld a, $54
-	ld [wNewTileBlockID], a
-	lb bc, 5, 9
-	predef ReplaceTileBlock
-	pop af
-.asm_5d81e
-	CheckEventAfterBranchReuseA EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR3
-	ret nz
-	ld a, $5f
-	ld [wNewTileBlockID], a
-	lb bc, 6, 5
-	predef_jump ReplaceTileBlock
-
-SilphCo9GateCoords:
-	db $04,$01
-	db $02,$09
-	db $05,$09
-	db $06,$05
-	db $FF
-
-SilphCo9Script_5d837:
-	push hl
-	ld hl, wCardKeyDoorY
-	ld a, [hli]
-	ld b, a
-	ld a, [hl]
-	ld c, a
-	xor a
-	ld [$ffe0], a
-	pop hl
-.asm_5d843
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_5d85f
-	push hl
-	ld hl, $ffe0
-	inc [hl]
-	pop hl
-	cp b
-	jr z, .asm_5d854
-	inc hl
-	jr .asm_5d843
-.asm_5d854
-	ld a, [hli]
-	cp c
-	jr nz, .asm_5d843
-	ld hl, wCardKeyDoorY
-	xor a
-	ld [hli], a
-	ld [hl], a
-	ret
-.asm_5d85f
-	xor a
-	ld [$ffe0], a
-	ret
-
-SilphCo9Script_5d863:
-	EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
-	ld a, [$ffe0]
-	and a
-	ret z
-	cp $1
-	jr nz, .next1
-	SetEventReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR1
-	ret
-.next1
-	cp $2
-	jr nz, .next2
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR2, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
-	ret
-.next2
-	cp $3
-	jr nz, .next3
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR3, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
-	ret
-.next3
-	cp $4
-	ret nz
-	SetEventAfterBranchReuseHL EVENT_SILPH_CO_9_UNLOCKED_DOOR4, EVENT_SILPH_CO_9_UNLOCKED_DOOR1
-	ret
-
-SilphCo9ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SilphCo9TextPointers:
-	dw SilphCo9Text1
-	dw SilphCo9Text2
-	dw SilphCo9Text3
-	dw SilphCo9Text4
-
-SilphCo9TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0
-	dw SilphCo9BattleText1 ; TextBeforeBattle
-	dw SilphCo9AfterBattleText1 ; TextAfterBattle
-	dw SilphCo9EndBattleText1 ; TextEndBattle
-	dw SilphCo9EndBattleText1 ; TextEndBattle
-
-SilphCo9TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1
-	dw SilphCo9BattleText2 ; TextBeforeBattle
-	dw SilphCo9AfterBattleText2 ; TextAfterBattle
-	dw SilphCo9EndBattleText2 ; TextEndBattle
-	dw SilphCo9EndBattleText2 ; TextEndBattle
-
-SilphCo9TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2
-	dw SilphCo9BattleText3 ; TextBeforeBattle
-	dw SilphCo9AfterBattleText3 ; TextAfterBattle
-	dw SilphCo9EndBattleText3 ; TextEndBattle
-	dw SilphCo9EndBattleText3 ; TextEndBattle
-
-	db $ff
-
-SilphCo9Text1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
-	jr nz, .asm_5d8dc
-	ld hl, SilphCo9Text_5d8e5
-	call PrintText
-	predef HealParty
-	call GBFadeOutToWhite
-	call Delay3
-	call GBFadeInFromWhite
-	ld hl, SilphCo9Text_5d8ea
-	call PrintText
-	jr .asm_5d8e2
-.asm_5d8dc
-	ld hl, SilphCo9Text_5d8ef
-	call PrintText
-.asm_5d8e2
-	jp TextScriptEnd
-
-SilphCo9Text_5d8e5:
-	TX_FAR _SilphCo9Text_5d8e5
-	db "@"
-
-SilphCo9Text_5d8ea:
-	TX_FAR _SilphCo9Text_5d8ea
-	db "@"
-
-SilphCo9Text_5d8ef:
-	TX_FAR _SilphCo9Text_5d8ef
-	db "@"
-
-SilphCo9Text2:
-	TX_ASM
-	ld hl, SilphCo9TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo9Text3:
-	TX_ASM
-	ld hl, SilphCo9TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo9Text4:
-	TX_ASM
-	ld hl, SilphCo9TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SilphCo9BattleText1:
-	TX_FAR _SilphCo9BattleText1
-	db "@"
-
-SilphCo9EndBattleText1:
-	TX_FAR _SilphCo9EndBattleText1
-	db "@"
-
-SilphCo9AfterBattleText1:
-	TX_FAR _SilphCo9AfterBattleText1
-	db "@"
-
-SilphCo9BattleText2:
-	TX_FAR _SilphCo9BattleText2
-	db "@"
-
-SilphCo9EndBattleText2:
-	TX_FAR _SilphCo9EndBattleText2
-	db "@"
-
-SilphCo9AfterBattleText2:
-	TX_FAR _SilphCo9AfterBattleText2
-	db "@"
-
-SilphCo9BattleText3:
-	TX_FAR _SilphCo9BattleText3
-	db "@"
-
-SilphCo9EndBattleText3:
-	TX_FAR _SilphCo9EndBattleText3
-	db "@"
-
-SilphCo9AfterBattleText3:
-	TX_FAR _SilphCo9AfterBattleText3
-	db "@"
--- a/scripts/silphcoelevator.asm
+++ /dev/null
@@ -1,88 +1,0 @@
-SilphCoElevatorScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, SilphCoElevatorScript_457dc
-	pop hl
-	bit 7, [hl]
-	res 7, [hl]
-	call nz, SilphCoElevatorScript_45827
-	xor a
-	ld [wAutoTextBoxDrawingControl], a
-	inc a
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ret
-
-SilphCoElevatorScript_457dc:
-	ld hl, wWarpEntries
-	ld a, [wWarpedFromWhichWarp]
-	ld b, a
-	ld a, [wWarpedFromWhichMap]
-	ld c, a
-	call SilphCoElevatorScript_457ea
-
-SilphCoElevatorScript_457ea:
-	inc hl
-	inc hl
-	ld a, b
-	ld [hli], a
-	ld a, c
-	ld [hli], a
-	ret
-
-SilphCoElevatorScript_457f1:
-	ld hl, SilphCoElavatorFloors
-	call LoadItemList
-	ld hl, SilphCoElevatorWarpMaps
-	ld de, wElevatorWarpMaps
-	ld bc, SilphCoElevatorWarpMapsEnd - SilphCoElevatorWarpMaps
-	call CopyData
-	ret
-
-SilphCoElavatorFloors:
-	db $0B ; num elements in list
-	db FLOOR_1F
-	db FLOOR_2F
-	db FLOOR_3F
-	db FLOOR_4F
-	db FLOOR_5F
-	db FLOOR_6F
-	db FLOOR_7F
-	db FLOOR_8F
-	db FLOOR_9F
-	db FLOOR_10F
-	db FLOOR_11F
-	db $FF ; terminator
-
-SilphCoElevatorWarpMaps:
-; first byte is warp number
-; second byte is map number
-; These specify where the player goes after getting out of the elevator.
-	db $03, SILPH_CO_1F
-	db $02, SILPH_CO_2F
-	db $02, SILPH_CO_3F
-	db $02, SILPH_CO_4F
-	db $02, SILPH_CO_5F
-	db $02, SILPH_CO_6F
-	db $02, SILPH_CO_7F
-	db $02, SILPH_CO_8F
-	db $02, SILPH_CO_9F
-	db $02, SILPH_CO_10F
-	db $01, SILPH_CO_11F
-SilphCoElevatorWarpMapsEnd:
-
-SilphCoElevatorScript_45827:
-	call Delay3
-	callba ShakeElevator
-	ret
-
-SilphCoElevatorTextPointers:
-	dw SilphCoElevatorText1
-
-SilphCoElevatorText1:
-	TX_ASM
-	call SilphCoElevatorScript_457f1
-	ld hl, SilphCoElevatorWarpMaps
-	predef DisplayElevatorFloorMenu
-	jp TextScriptEnd
--- a/scripts/ssanne1.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-SSAnne1Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-SSAnne1TextPointers:
-	dw SSAnne1Text1
-	dw SSAnne1Text2
-
-SSAnne1Text1:
-	TX_FAR _SSAnne1Text1
-	db "@"
-
-SSAnne1Text2:
-	TX_FAR _SSAnne1Text2
-	db "@"
--- a/scripts/ssanne10.asm
+++ /dev/null
@@ -1,201 +1,0 @@
-SSAnne10Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, SSAnne10TrainerHeader0
-	ld de, SSAnne10ScriptPointers
-	ld a, [wSSAnne10CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSSAnne10CurScript], a
-	ret
-
-SSAnne10ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SSAnne10TextPointers:
-	dw SSAnne10Text1
-	dw SSAnne10Text2
-	dw SSAnne10Text3
-	dw SSAnne10Text4
-	dw SSAnne10Text5
-	dw SSAnne10Text6
-	dw SSAnne10Text7
-	dw SSAnne10Text8
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-
-SSAnne10TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_0
-	dw SSAnne10BattleText1 ; TextBeforeBattle
-	dw SSAnne10AfterBattleText1 ; TextAfterBattle
-	dw SSAnne10EndBattleText1 ; TextEndBattle
-	dw SSAnne10EndBattleText1 ; TextEndBattle
-
-SSAnne10TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_1
-	dw SSAnne10BattleText2 ; TextBeforeBattle
-	dw SSAnne10AfterBattleText2 ; TextAfterBattle
-	dw SSAnne10EndBattleText2 ; TextEndBattle
-	dw SSAnne10EndBattleText2 ; TextEndBattle
-
-SSAnne10TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_2
-	dw SSAnne10BattleText3 ; TextBeforeBattle
-	dw SSAnne10AfterBattleText3 ; TextAfterBattle
-	dw SSAnne10EndBattleText3 ; TextEndBattle
-	dw SSAnne10EndBattleText3 ; TextEndBattle
-
-SSAnne10TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_3
-	dw SSAnne10BattleText4 ; TextBeforeBattle
-	dw SSAnne10AfterBattleText4 ; TextAfterBattle
-	dw SSAnne10EndBattleText4 ; TextEndBattle
-	dw SSAnne10EndBattleText4 ; TextEndBattle
-
-SSAnne10TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_4
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_4
-	dw SSAnne10BattleText5 ; TextBeforeBattle
-	dw SSAnne10AfterBattleText5 ; TextAfterBattle
-	dw SSAnne10EndBattleText5 ; TextEndBattle
-	dw SSAnne10EndBattleText5 ; TextEndBattle
-
-SSAnne10TrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_5
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_5
-	dw SSAnne10BattleText6 ; TextBeforeBattle
-	dw SSAnne10AfterBattleText6 ; TextAfterBattle
-	dw SSAnne10EndBattleText6 ; TextEndBattle
-	dw SSAnne10EndBattleText6 ; TextEndBattle
-
-	db $ff
-
-SSAnne10Text1:
-	TX_ASM
-	ld hl, SSAnne10TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne10Text2:
-	TX_ASM
-	ld hl, SSAnne10TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne10Text3:
-	TX_ASM
-	ld hl, SSAnne10TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne10Text4:
-	TX_ASM
-	ld hl, SSAnne10TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne10Text5:
-	TX_ASM
-	ld hl, SSAnne10TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne10Text6:
-	TX_ASM
-	ld hl, SSAnne10TrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne10Text8:
-	TX_FAR _SSAnne10Text8
-	TX_ASM
-	ld a, MACHOKE
-	call PlayCry
-	jp TextScriptEnd
-
-SSAnne10BattleText1:
-	TX_FAR _SSAnne10BattleText1
-	db "@"
-
-SSAnne10EndBattleText1:
-	TX_FAR _SSAnne10EndBattleText1
-	db "@"
-
-SSAnne10AfterBattleText1:
-	TX_FAR _SSAnne10AfterBattleText1
-	db "@"
-
-SSAnne10BattleText2:
-	TX_FAR _SSAnne10BattleText2
-	db "@"
-
-SSAnne10EndBattleText2:
-	TX_FAR _SSAnne10EndBattleText2
-	db "@"
-
-SSAnne10AfterBattleText2:
-	TX_FAR _SSAnne10AfterBattleText2
-	db "@"
-
-SSAnne10BattleText3:
-	TX_FAR _SSAnne10BattleText3
-	db "@"
-
-SSAnne10EndBattleText3:
-	TX_FAR _SSAnne10EndBattleText3
-	db "@"
-
-SSAnne10AfterBattleText3:
-	TX_FAR _SSAnne10AfterBattleText3
-	db "@"
-
-SSAnne10BattleText4:
-	TX_FAR _SSAnne10BattleText4
-	db "@"
-
-SSAnne10EndBattleText4:
-	TX_FAR _SSAnne10EndBattleText4
-	db "@"
-
-SSAnne10AfterBattleText4:
-	TX_FAR _SSAnne10AfterBattleText4
-	db "@"
-
-SSAnne10BattleText5:
-	TX_FAR _SSAnne10BattleText5
-	db "@"
-
-SSAnne10EndBattleText5:
-	TX_FAR _SSAnne10EndBattleText5
-	db "@"
-
-SSAnne10AfterBattleText5:
-	TX_FAR _SSAnne10AfterBattleText5
-	db "@"
-
-SSAnne10BattleText6:
-	TX_FAR _SSAnne10BattleText6
-	db "@"
-
-SSAnne10EndBattleText6:
-	TX_FAR _SSAnne10EndBattleText6
-	db "@"
-
-SSAnne10AfterBattleText6:
-	TX_FAR _SSAnne10AfterBattleText6
-	db "@"
-
-SSAnne10Text7:
-	TX_FAR _SSAnne10Text7
-	db "@"
--- a/scripts/ssanne2.asm
+++ /dev/null
@@ -1,216 +1,0 @@
-SSAnne2Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, SSAnne2ScriptPointers
-	ld a, [wSSAnne2CurScript]
-	jp CallFunctionInTable
-
-SSAnne2Script_613ab:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wSSAnne2CurScript], a
-	ret
-
-SSAnne2ScriptPointers:
-	dw SSAnne2Script0
-	dw SSAnne2Script1
-	dw SSAnne2Script2
-	dw SSAnne2Script3
-	dw SSAnne2Script4
-
-SSAnne2Script4:
-	ret
-
-SSAnne2Script0:
-	ld hl, CoordsData_61411
-	call ArePlayerCoordsInArray
-	ret nc
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	ld c, BANK(Music_MeetRival)
-	ld a, MUSIC_MEET_RIVAL
-	call PlayMusic
-	ld a, [wCoordIndex]
-	ld [$ffdb], a
-	ld a, HS_SS_ANNE_2_RIVAL
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	call Delay3
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	xor a
-	ld [hJoyHeld], a
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, [$ffdb]
-	cp $2
-	jr nz, .asm_61400
-	ld de, MovementData_6140c
-	jr .asm_61403
-.asm_61400
-	ld de, MovementData_6140d
-.asm_61403
-	call MoveSprite
-	ld a, $1
-	ld [wSSAnne2CurScript], a
-	ret
-
-MovementData_6140c:
-	db NPC_MOVEMENT_DOWN
-
-MovementData_6140d:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-CoordsData_61411:
-	db $08,$24
-	db $08,$25
-	db $FF
-
-SSAnne2Script_61416:
-	ld a, [wXCoord]
-	cp $25
-	jr nz, .asm_61426
-	ld a, PLAYER_DIR_LEFT
-	ld [wPlayerMovingDirection], a
-	ld a, SPRITE_FACING_RIGHT
-	jr .asm_61427
-.asm_61426
-	xor a ; SPRITE_FACING_DOWN
-.asm_61427
-	ld [hSpriteFacingDirection], a
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	jp SetSpriteFacingDirectionAndDelay
-
-SSAnne2Script1:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	call SSAnne2Script_61416
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $2
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	call Delay3
-	ld a, OPP_SONY2
-	ld [wCurOpponent], a
-
-	; select which team to use during the encounter
-	ld a, [wRivalStarter]
-	cp STARTER2
-	jr nz, .NotSquirtle
-	ld a, $1
-	jr .done
-.NotSquirtle
-	cp STARTER3
-	jr nz, .Charmander
-	ld a, $2
-	jr .done
-.Charmander
-	ld a, $3
-.done
-	ld [wTrainerNo], a
-
-	call SSAnne2Script_61416
-	ld a, $2
-	ld [wSSAnne2CurScript], a
-	ret
-
-SSAnne2Script2:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, SSAnne2Script_613ab
-	call SSAnne2Script_61416
-	ld a, $f0
-	ld [wJoyIgnore], a
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	call SetSpriteMovementBytesToFF
-	ld a, [wXCoord]
-	cp $25
-	jr nz, .asm_61497
-	ld de, MovementData_614b9
-	jr .asm_6149a
-.asm_61497
-	ld de, MovementData_614b7
-.asm_6149a
-	ld a, $2
-	ld [H_SPRITEINDEX], a
-	call MoveSprite
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	callba Music_RivalAlternateStart
-	ld a, $3
-	ld [wSSAnne2CurScript], a
-	ret
-
-MovementData_614b7:
-	db NPC_MOVEMENT_RIGHT
-	db NPC_MOVEMENT_DOWN
-
-MovementData_614b9:
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db NPC_MOVEMENT_DOWN
-	db $FF
-
-SSAnne2Script3:
-	ld a, [wd730]
-	bit 0, a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld a, HS_SS_ANNE_2_RIVAL
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call PlayDefaultMusic
-	ld a, $4
-	ld [wSSAnne2CurScript], a
-	ret
-
-SSAnne2TextPointers:
-	dw SSAnne2Text1
-	dw SSAnne2Text2
-	dw SSAnne2Text3
-
-SSAnne2Text1:
-	TX_FAR _SSAnne2Text1
-	db "@"
-
-SSAnne2Text2:
-	TX_ASM
-	ld hl, SSAnneRivalBeforeBattleText
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, SSAnneRivalDefeatedText
-	ld de, SSAnneRivalWonText
-	call SaveEndBattleTextPointers
-	jp TextScriptEnd
-
-SSAnneRivalBeforeBattleText:
-	TX_FAR _SSAnneRivalBeforeBattleText
-	db "@"
-
-SSAnneRivalDefeatedText:
-	TX_FAR _SSAnneRivalDefeatedText
-	db "@"
-
-SSAnneRivalWonText:
-	TX_FAR _SSAnneRivalWonText
-	db "@"
-
-SSAnne2Text3:
-	TX_FAR _SSAnneRivalCaptainText
-	db "@"
--- a/scripts/ssanne3.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-SSAnne3Script:
-	jp EnableAutoTextBoxDrawing
-
-SSAnne3TextPointers:
-	dw SSAnne3Text1
-
-SSAnne3Text1:
-	TX_FAR _SSAnne3Text1
-	db "@"
--- a/scripts/ssanne4.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-SSAnne4Script:
-	jp EnableAutoTextBoxDrawing
-
-SSAnne4TextPointers:
-	db "@"
--- a/scripts/ssanne5.asm
+++ /dev/null
@@ -1,88 +1,0 @@
-SSAnne5Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, SSAnne5TrainerHeader0
-	ld de, SSAnne5ScriptPointers
-	ld a, [wSSAnne5CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSSAnne5CurScript], a
-	ret
-
-SSAnne5ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SSAnne5TextPointers:
-	dw SSAnne5Text1
-	dw SSAnne5Text2
-	dw SSAnne5Text3
-	dw SSAnne5Text4
-	dw SSAnne5Text5
-
-SSAnne5TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_0
-	dw SSAnne5BattleText1 ; TextBeforeBattle
-	dw SSAnne5AfterBattleText1 ; TextAfterBattle
-	dw SSAnne5EndBattleText1 ; TextEndBattle
-	dw SSAnne5EndBattleText1 ; TextEndBattle
-
-SSAnne5TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_1
-	dw SSAnne5BattleText2 ; TextBeforeBattle
-	dw SSAnne5AfterBattleText2 ; TextAfterBattle
-	dw SSAnne5EndBattleText2 ; TextEndBattle
-	dw SSAnne5EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-SSAnne5Text1:
-	TX_FAR _SSAnne5Text1
-	db "@"
-
-SSAnne5Text2:
-	TX_FAR _SSAnne5Text2
-	db "@"
-
-SSAnne5Text3:
-	TX_FAR _SSAnne5Text3
-	db "@"
-
-SSAnne5Text4:
-	TX_ASM
-	ld hl, SSAnne5TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne5BattleText1:
-	TX_FAR _SSAnne5BattleText1
-	db "@"
-
-SSAnne5EndBattleText1:
-	TX_FAR _SSAnne5EndBattleText1
-	db "@"
-
-SSAnne5AfterBattleText1:
-	TX_FAR _SSAnne5AfterBattleText1
-	db "@"
-
-SSAnne5Text5:
-	TX_ASM
-	ld hl, SSAnne5TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne5BattleText2:
-	TX_FAR _SSAnne5BattleText2
-	db "@"
-
-SSAnne5EndBattleText2:
-	TX_FAR _SSAnne5EndBattleText2
-	db "@"
-
-SSAnne5AfterBattleText2:
-	TX_FAR _SSAnne5AfterBattleText2
-	db "@"
--- a/scripts/ssanne6.asm
+++ /dev/null
@@ -1,72 +1,0 @@
-SSAnne6Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-SSAnne6TextPointers:
-	dw SSAnne6Text1
-	dw SSAnne6Text2
-	dw SSAnne6Text3
-	dw SSAnne6Text4
-	dw SSAnne6Text5
-	dw SSAnne6Text6
-	dw SSAnne6Text7
-
-SSAnne6Text1:
-	TX_FAR _SSAnne6Text1
-	db "@"
-
-SSAnne6Text2:
-	TX_FAR _SSAnne6Text2
-	db "@"
-
-SSAnne6Text3:
-	TX_FAR _SSAnne6Text3
-	db "@"
-
-SSAnne6Text4:
-	TX_FAR _SSAnne6Text4
-	db "@"
-
-SSAnne6Text5:
-	TX_FAR _SSAnne6Text5
-	db "@"
-
-SSAnne6Text6:
-	TX_FAR _SSAnne6Text6
-	db "@"
-
-SSAnne6Text7:
-	TX_ASM
-	ld hl, SSAnne6Text_61807
-	call PrintText
-	ld a, [hRandomAdd]
-	bit 7, a
-	jr z, .asm_93eb1
-	ld hl, SSAnne6Text_6180c
-	jr .asm_63292
-.asm_93eb1
-	bit 4, a
-	jr z, .asm_7436c
-	ld hl, SSAnne6Text_61811
-	jr .asm_63292
-.asm_7436c
-	ld hl, SSAnne6Text_61816
-.asm_63292
-	call PrintText
-	jp TextScriptEnd
-
-SSAnne6Text_61807:
-	TX_FAR _SSAnne6Text_61807
-	db "@"
-
-SSAnne6Text_6180c:
-	TX_FAR _SSAnne6Text_6180c
-	db "@"
-
-SSAnne6Text_61811:
-	TX_FAR _SSAnne6Text_61811
-	db "@"
-
-SSAnne6Text_61816:
-	TX_FAR _SSAnne6Text_61816
-	db "@"
--- a/scripts/ssanne7.asm
+++ /dev/null
@@ -1,93 +1,0 @@
-SSAnne7Script:
-	call SSAnne7Script_6189b
-	jp EnableAutoTextBoxDrawing
-
-SSAnne7Script_6189b:
-	CheckEvent EVENT_RUBBED_CAPTAINS_BACK
-	ret nz
-	ld hl, wd72d
-	set 5, [hl]
-	ret
-
-SSAnne7TextPointers:
-	dw SSAnne7Text1
-	dw SSAnne7Text2
-	dw SSAnne7Text3
-
-SSAnne7Text1:
-	TX_ASM
-	CheckEvent EVENT_GOT_HM01
-	jr nz, .asm_797c4
-	ld hl, SSAnne7RubText
-	call PrintText
-	ld hl, ReceivingHM01Text
-	call PrintText
-	lb bc, HM_01, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedHM01Text
-	call PrintText
-	SetEvent EVENT_GOT_HM01
-	jr .asm_0faf5
-.BagFull
-	ld hl, HM01NoRoomText
-	call PrintText
-	ld hl, wd72d
-	set 5, [hl]
-	jr .asm_0faf5
-.asm_797c4
-	ld hl, SSAnne7Text_61932
-	call PrintText
-.asm_0faf5
-	jp TextScriptEnd
-
-SSAnne7RubText:
-	TX_FAR _SSAnne7RubText
-	TX_ASM
-	ld a, [wAudioROMBank]
-	cp BANK(Audio3_UpdateMusic)
-	ld [wAudioSavedROMBank], a
-	jr nz, .asm_61908
-	ld a, $ff
-	ld [wNewSoundID], a
-	call PlaySound
-	ld a, Bank(Music_PkmnHealed)
-	ld [wAudioROMBank], a
-.asm_61908
-	ld a, MUSIC_PKMN_HEALED
-	ld [wNewSoundID], a
-	call PlaySound
-.asm_61910
-	ld a, [wChannelSoundIDs]
-	cp MUSIC_PKMN_HEALED
-	jr z, .asm_61910
-	call PlayDefaultMusic
-	SetEvent EVENT_RUBBED_CAPTAINS_BACK
-	ld hl, wd72d
-	res 5, [hl]
-	jp TextScriptEnd
-
-ReceivingHM01Text:
-	TX_FAR _ReceivingHM01Text
-	db "@"
-
-ReceivedHM01Text:
-	TX_FAR _ReceivedHM01Text
-	TX_SFX_KEY_ITEM
-	db "@"
-
-SSAnne7Text_61932:
-	TX_FAR _SSAnne7Text_61932
-	db "@"
-
-HM01NoRoomText:
-	TX_FAR _HM01NoRoomText
-	db "@"
-
-SSAnne7Text2:
-	TX_FAR _SSAnne7Text2
-	db "@"
-
-SSAnne7Text3:
-	TX_FAR _SSAnne7Text3
-	db "@"
--- a/scripts/ssanne8.asm
+++ /dev/null
@@ -1,163 +1,0 @@
-SSAnne8Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, SSAnne8TrainerHeader0
-	ld de, SSAnne8ScriptPointers
-	ld a, [wSSAnne8CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSSAnne8CurScript], a
-	ret
-
-SSAnne8ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SSAnne8TextPointers:
-	dw SSAnne8Text1
-	dw SSAnne8Text2
-	dw SSAnne8Text3
-	dw SSAnne8Text4
-	dw SSAnne8Text5
-	dw SSAnne8Text6
-	dw SSAnne8Text7
-	dw SSAnne8Text8
-	dw SSAnne8Text9
-	dw PickUpItemText
-	dw SSAnne8Text11
-
-SSAnne8TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_0
-	dw SSAnne8BattleText1 ; TextBeforeBattle
-	dw SSAnne8AfterBattleText1 ; TextAfterBattle
-	dw SSAnne8EndBattleText1 ; TextEndBattle
-	dw SSAnne8EndBattleText1 ; TextEndBattle
-
-SSAnne8TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_1
-	dw SSAnne8BattleText2 ; TextBeforeBattle
-	dw SSAnne8AfterBattleText2 ; TextAfterBattle
-	dw SSAnne8EndBattleText2 ; TextEndBattle
-	dw SSAnne8EndBattleText2 ; TextEndBattle
-
-SSAnne8TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_2
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_2
-	dw SSAnne8BattleText3 ; TextBeforeBattle
-	dw SSAnne8AfterBattleText3 ; TextAfterBattle
-	dw SSAnne8EndBattleText3 ; TextEndBattle
-	dw SSAnne8EndBattleText3 ; TextEndBattle
-
-SSAnne8TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_3
-	dw SSAnne8BattleText4 ; TextBeforeBattle
-	dw SSAnne8AfterBattleText4 ; TextAfterBattle
-	dw SSAnne8EndBattleText4 ; TextEndBattle
-	dw SSAnne8EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-SSAnne8Text1:
-	TX_ASM
-	ld hl, SSAnne8TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne8Text2:
-	TX_ASM
-	ld hl, SSAnne8TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne8Text3:
-	TX_ASM
-	ld hl, SSAnne8TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne8Text4:
-	TX_ASM
-	ld hl, SSAnne8TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne8Text8:
-	TX_FAR _SSAnne8Text8
-	TX_ASM
-	ld a, WIGGLYTUFF
-	call PlayCry
-	jp TextScriptEnd
-
-SSAnne8BattleText1:
-	TX_FAR _SSAnne8BattleText1
-	db "@"
-
-SSAnne8EndBattleText1:
-	TX_FAR _SSAnne8EndBattleText1
-	db "@"
-
-SSAnne8AfterBattleText1:
-	TX_FAR _SSAnne8AfterBattleText1
-	db "@"
-
-SSAnne8BattleText2:
-	TX_FAR _SSAnne8BattleText2
-	db "@"
-
-SSAnne8EndBattleText2:
-	TX_FAR _SSAnne8EndBattleText2
-	db "@"
-
-SSAnne8AfterBattleText2:
-	TX_FAR _SSAnne8AfterBattleText2
-	db "@"
-
-SSAnne8BattleText3:
-	TX_FAR _SSAnne8BattleText3
-	db "@"
-
-SSAnne8EndBattleText3:
-	TX_FAR _SSAnne8EndBattleText3
-	db "@"
-
-SSAnne8AfterBattleText3:
-	TX_FAR _SSAnne8AfterBattleText3
-	db "@"
-
-SSAnne8BattleText4:
-	TX_FAR _SSAnne8BattleText4
-	db "@"
-
-SSAnne8EndBattleText4:
-	TX_FAR _SSAnne8EndBattleText4
-	db "@"
-
-SSAnne8AfterBattleText4:
-	TX_FAR _SSAnne8AfterBattleText4
-	db "@"
-
-SSAnne8Text5:
-	TX_FAR _SSAnne8Text5
-	db "@"
-
-SSAnne8Text6:
-	TX_FAR _SSAnne8Text6
-	db "@"
-
-SSAnne8Text7:
-	TX_FAR _SSAnne8Text7
-	db "@"
-
-SSAnne8Text9:
-	TX_FAR _SSAnne8Text9
-	db "@"
-
-SSAnne8Text11:
-	TX_FAR _SSAnne8Text11
-	db "@"
--- a/scripts/ssanne9.asm
+++ /dev/null
@@ -1,215 +1,0 @@
-SSAnne9Script:
-	ld a, $1
-	ld [wAutoTextBoxDrawingControl], a
-	xor a
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, SSAnne9TrainerHeader0
-	ld de, SSAnne9ScriptPointers
-	ld a, [wSSAnne9CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wSSAnne9CurScript], a
-	ret
-
-SSAnne9ScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-SSAnne9TextPointers:
-	dw SSAnne9Text1
-	dw SSAnne9Text2
-	dw SSAnne9Text3
-	dw SSAnne9Text4
-	dw SSAnne9Text5
-	dw PickUpItemText
-	dw SSAnne9Text7
-	dw SSAnne9Text8
-	dw PickUpItemText
-	dw SSAnne9Text10
-	dw SSAnne9Text11
-	dw SSAnne9Text12
-	dw SSAnne9Text13
-
-SSAnne9TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_0
-	dw SSAnne9BattleText1 ; TextBeforeBattle
-	dw SSAnne9AfterBattleText1 ; TextAfterBattle
-	dw SSAnne9EndBattleText1 ; TextEndBattle
-	dw SSAnne9EndBattleText1 ; TextEndBattle
-
-SSAnne9TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_1
-	dw SSAnne9BattleText2 ; TextBeforeBattle
-	dw SSAnne9AfterBattleText2 ; TextAfterBattle
-	dw SSAnne9EndBattleText2 ; TextEndBattle
-	dw SSAnne9EndBattleText2 ; TextEndBattle
-
-SSAnne9TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_2
-	dw SSAnne9BattleText3 ; TextBeforeBattle
-	dw SSAnne9AfterBattleText3 ; TextAfterBattle
-	dw SSAnne9EndBattleText3 ; TextEndBattle
-	dw SSAnne9EndBattleText3 ; TextEndBattle
-
-SSAnne9TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_3
-	dw SSAnne9BattleText4 ; TextBeforeBattle
-	dw SSAnne9AfterBattleText4 ; TextAfterBattle
-	dw SSAnne9EndBattleText4 ; TextEndBattle
-	dw SSAnne9EndBattleText4 ; TextEndBattle
-
-	db $ff
-
-SSAnne9Text1:
-	TX_ASM
-	ld hl, SSAnne9TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne9Text2:
-	TX_ASM
-	ld hl, SSAnne9TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne9Text3:
-	TX_ASM
-	ld hl, SSAnne9TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne9Text4:
-	TX_ASM
-	ld hl, SSAnne9TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-SSAnne9Text5:
-	TX_ASM
-	call SaveScreenTilesToBuffer1
-	ld hl, SSAnne9Text_61bf2
-	call PrintText
-	call LoadScreenTilesFromBuffer1
-	ld a, SNORLAX
-	call DisplayPokedex
-	jp TextScriptEnd
-
-SSAnne9Text_61bf2:
-	TX_FAR _SSAnne9Text_61bf2
-	db "@"
-
-SSAnne9Text7:
-	TX_ASM
-	ld hl, SSAnne9Text_61c01
-	call PrintText
-	jp TextScriptEnd
-
-SSAnne9Text_61c01:
-	TX_FAR _SSAnne9Text_61c01
-	db "@"
-
-SSAnne9Text8:
-	TX_ASM
-	ld hl, SSAnne9Text_61c10
-	call PrintText
-	jp TextScriptEnd
-
-SSAnne9Text_61c10:
-	TX_FAR _SSAnne9Text_61c10
-	db "@"
-
-SSAnne9Text10:
-	TX_ASM
-	ld hl, SSAnne9Text_61c1f
-	call PrintText
-	jp TextScriptEnd
-
-SSAnne9Text_61c1f:
-	TX_FAR _SSAnne9Text_61c1f
-	db "@"
-
-SSAnne9Text11:
-	TX_ASM
-	ld hl, SSAnne9Text_61c2e
-	call PrintText
-	jp TextScriptEnd
-
-SSAnne9Text_61c2e:
-	TX_FAR _SSAnne9Text_61c2e
-	db "@"
-
-SSAnne9Text12:
-	TX_ASM
-	ld hl, SSAnne9Text_61c3d
-	call PrintText
-	jp TextScriptEnd
-
-SSAnne9Text_61c3d:
-	TX_FAR _SSAnne9Text_61c3d
-	db "@"
-
-SSAnne9Text13:
-	TX_ASM
-	ld hl, SSAnne9Text_61c4c
-	call PrintText
-	jp TextScriptEnd
-
-SSAnne9Text_61c4c:
-	TX_FAR _SSAnne9Text_61c4c
-	db "@"
-
-SSAnne9BattleText1:
-	TX_FAR _SSAnne9BattleText1
-	db "@"
-
-SSAnne9EndBattleText1:
-	TX_FAR _SSAnne9EndBattleText1
-	db "@"
-
-SSAnne9AfterBattleText1:
-	TX_FAR _SSAnne9AfterBattleText1
-	db "@"
-
-SSAnne9BattleText2:
-	TX_FAR _SSAnne9BattleText2
-	db "@"
-
-SSAnne9EndBattleText2:
-	TX_FAR _SSAnne9EndBattleText2
-	db "@"
-
-SSAnne9AfterBattleText2:
-	TX_FAR _SSAnne9AfterBattleText2
-	db "@"
-
-SSAnne9BattleText3:
-	TX_FAR _SSAnne9BattleText3
-	db "@"
-
-SSAnne9EndBattleText3:
-	TX_FAR _SSAnne9EndBattleText3
-	db "@"
-
-SSAnne9AfterBattleText3:
-	TX_FAR _SSAnne9AfterBattleText3
-	db "@"
-
-SSAnne9BattleText4:
-	TX_FAR _SSAnne9BattleText4
-	db "@"
-
-SSAnne9EndBattleText4:
-	TX_FAR _SSAnne9EndBattleText4
-	db "@"
-
-SSAnne9AfterBattleText4:
-	TX_FAR _SSAnne9AfterBattleText4
-	db "@"
--- a/scripts/tradecenter.asm
+++ /dev/null
@@ -1,38 +1,0 @@
-TradeCenterScript:
-	call EnableAutoTextBoxDrawing
-	ld a, [hSerialConnectionStatus]
-	cp USING_INTERNAL_CLOCK
-	ld a, SPRITE_FACING_LEFT
-	jr z, .next
-	ld a, SPRITE_FACING_RIGHT
-.next
-	ld [hSpriteFacingDirection], a
-	ld a, $1
-	ld [H_SPRITEINDEX], a
-	call SetSpriteFacingDirection
-	ld hl, wd72d
-	bit 0, [hl]
-	set 0, [hl]
-	ret nz
-	ld hl, wSpriteStateData2 + $14
-	ld a, $8
-	ld [hli], a
-	ld a, $a
-	ld [hl], a
-	ld a, SPRITE_FACING_LEFT
-	ld [wSpriteStateData1 + $19], a
-	ld a, [hSerialConnectionStatus]
-	cp USING_INTERNAL_CLOCK
-	ret z
-	ld a, $7
-	ld [wSpriteStateData2 + $15], a
-	ld a, SPRITE_FACING_RIGHT
-	ld [wSpriteStateData1 + $19], a
-	ret
-
-TradeCenterTextPointers:
-	dw TradeCenterText1
-
-TradeCenterText1:
-	TX_FAR _TradeCenterText1
-	db "@"
--- a/scripts/undergroundpathentranceroute5.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-UndergroundPathEntranceRoute5Script:
-	ld a, ROUTE_5
-	ld [wLastMap], a
-	ret
-
-UndergroundPathEntranceRoute5_5d6af:
-	db "@"
-
-UndergroundPathEntranceRoute5TextPointers:
-	dw UndergroundPathEntranceRoute5Text1
-
-UndergroundPathEntranceRoute5Text1:
-	TX_ASM
-	ld a, $9
-	ld [wWhichTrade], a
-	predef DoInGameTradeDialogue
-	ld hl, UndergroundPathEntranceRoute5_5d6af
-	ret
--- a/scripts/undergroundpathentranceroute6.asm
+++ /dev/null
@@ -1,11 +1,0 @@
-UndergroundPathEntranceRoute6Script:
-	ld a, ROUTE_6
-	ld [wLastMap], a
-	jp EnableAutoTextBoxDrawing
-
-UndergroundPathEntranceRoute6TextPointers:
-	dw UndergroundPathEntranceRoute6Text1
-
-UndergroundPathEntranceRoute6Text1:
-	TX_FAR _UndergrdTunnelEntRoute6Text1
-	db "@"
--- a/scripts/undergroundpathentranceroute7.asm
+++ /dev/null
@@ -1,11 +1,0 @@
-UndergroundPathEntranceRoute7Script:
-	ld a, ROUTE_7
-	ld [wLastMap], a
-	jp EnableAutoTextBoxDrawing
-
-UndergroundPathEntranceRoute7TextPointers:
-	dw UndergroundPathEntranceRoute7Text1
-
-UndergroundPathEntranceRoute7Text1:
-	TX_FAR _UndergroundPathEntRoute7Text1
-	db "@"
--- a/scripts/undergroundpathentranceroute7copy.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-UndergroundPathEntranceRoute7CopyScript:
-	ld a, ROUTE_7
-	ld [wLastMap], a
-	ret
-
-UndergroundPathEntranceRoute7CopyTextPointers:
-	dw UGPathRoute7EntranceUnusedText_5d773
-	dw UGPathRoute7EntranceUnusedText_5d77d
-
-UGPathRoute7EntranceUnusedText_5d773:
-	TX_FAR _UGPathRoute7EntranceUnusedText_5d773
-	db "@"
-
-UGPathRoute7EntranceUnusedText_5d778:
-	TX_FAR _UGPathRoute7EntranceUnusedText_5d778
-	db "@"
-
-UGPathRoute7EntranceUnusedText_5d77d:
-	TX_FAR _UGPathRoute7EntranceUnusedText_5d77d
-	db "@"
-
-UGPathRoute7EntranceUnusedText_5d782:
-	TX_FAR _UGPathRoute7EntranceUnusedText_5d782
-	db "@"
--- a/scripts/undergroundpathentranceroute8.asm
+++ /dev/null
@@ -1,11 +1,0 @@
-UndergroundPathEntranceRoute8Script:
-	ld a, ROUTE_8
-	ld [wLastMap], a
-	jp EnableAutoTextBoxDrawing
-
-UndergroundPathEntranceRoute8TextPointers:
-	dw UndergroundPathEntranceRoute8Text1
-
-UndergroundPathEntranceRoute8Text1:
-	TX_FAR _UndergroundPathEntRoute8Text1
-	db "@"
--- a/scripts/undergroundpathns.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-UndergroundPathNSScript:
-	jp EnableAutoTextBoxDrawing
-
-UndergroundPathNSTextPointers:
-	db "@"
--- a/scripts/undergroundpathwe.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-UndergroundPathWEScript:
-	jp EnableAutoTextBoxDrawing
-
-UndergroundPathWETextPointers:
-	db "@"
--- a/scripts/unknowndungeon1.asm
+++ /dev/null
@@ -1,7 +1,0 @@
-UnknownDungeon1Script:
-	jp EnableAutoTextBoxDrawing
-
-UnknownDungeon1TextPointers:
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
--- a/scripts/unknowndungeon2.asm
+++ /dev/null
@@ -1,7 +1,0 @@
-UnknownDungeon2Script:
-	jp EnableAutoTextBoxDrawing
-
-UnknownDungeon2TextPointers:
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
--- a/scripts/unknowndungeon3.asm
+++ /dev/null
@@ -1,43 +1,0 @@
-UnknownDungeon3Script:
-	call EnableAutoTextBoxDrawing
-	ld hl, MewtwoTrainerHeader
-	ld de, .ScriptPointers
-	ld a, [wUnknownDungeon3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wUnknownDungeon3CurScript], a
-	ret
-
-.ScriptPointers
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-UnknownDungeon3TextPointers:
-	dw MewtwoText
-	dw PickUpItemText
-	dw PickUpItemText
-
-MewtwoTrainerHeader:
-	dbEventFlagBit EVENT_BEAT_MEWTWO
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MEWTWO
-	dw MewtwoBattleText ; TextBeforeBattle
-	dw MewtwoBattleText ; TextAfterBattle
-	dw MewtwoBattleText ; TextEndBattle
-	dw MewtwoBattleText ; TextEndBattle
-
-	db $ff
-
-MewtwoText:
-	TX_ASM
-	ld hl, MewtwoTrainerHeader
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MewtwoBattleText:
-	TX_FAR _MewtwoBattleText
-	TX_ASM
-	ld a, MEWTWO
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
--- a/scripts/vermilioncity.asm
+++ /dev/null
@@ -1,257 +1,0 @@
-VermilionCityScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	push hl
-	call nz, VermilionCityScript_197cb
-	pop hl
-	bit 5, [hl]
-	res 5, [hl]
-	call nz, VermilionCityScript_197c0
-	ld hl, VermilionCityScriptPointers
-	ld a, [wVermilionCityCurScript]
-	jp CallFunctionInTable
-
-VermilionCityScript_197c0:
-	call Random
-	ld a, [$ffd4]
-	and $e
-	ld [wFirstLockTrashCanIndex], a
-	ret
-
-VermilionCityScript_197cb:
-	CheckEventHL EVENT_SS_ANNE_LEFT
-	ret z
-	CheckEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT
-	SetEventReuseHL EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT
-	ret nz
-	ld a, $2
-	ld [wVermilionCityCurScript], a
-	ret
-
-VermilionCityScriptPointers:
-	dw VermilionCityScript0
-	dw VermilionCityScript1
-	dw VermilionCityScript2
-	dw VermilionCityScript3
-	dw VermilionCityScript4
-
-VermilionCityScript0:
-	ld a, [wSpriteStateData1 + 9]
-	and a ; cp SPRITE_FACING_DOWN
-	ret nz
-	ld hl, CoordsData_19823
-	call ArePlayerCoordsInArray
-	ret nc
-	xor a
-	ld [hJoyHeld], a
-	ld [wcf0d], a
-	ld a, $3
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	CheckEvent EVENT_SS_ANNE_LEFT
-	jr nz, .asm_19810
-	ld b, S_S_TICKET
-	predef GetQuantityOfItemInBag
-	ld a, b
-	and a
-	ret nz
-.asm_19810
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $1
-	ld [wVermilionCityCurScript], a
-	ret
-
-CoordsData_19823:
-	db $1e,$12
-	db $ff
-
-VermilionCityScript4:
-	ld hl, CoordsData_19823
-	call ArePlayerCoordsInArray
-	ret c
-	ld a, $0
-	ld [wVermilionCityCurScript], a
-	ret
-
-VermilionCityScript2:
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld a, D_UP
-	ld [wSimulatedJoypadStatesEnd], a
-	ld [wSimulatedJoypadStatesEnd + 1], a
-	ld a, 2
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $3
-	ld [wVermilionCityCurScript], a
-	ret
-
-VermilionCityScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	xor a
-	ld [wJoyIgnore], a
-	ld [hJoyHeld], a
-	ld a, $0
-	ld [wVermilionCityCurScript], a
-	ret
-
-VermilionCityScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	ld c, 10
-	call DelayFrames
-	ld a, $0
-	ld [wVermilionCityCurScript], a
-	ret
-
-VermilionCityTextPointers:
-	dw VermilionCityText1
-	dw VermilionCityText2
-	dw VermilionCityText3
-	dw VermilionCityText4
-	dw VermilionCityText5
-	dw VermilionCityText6
-	dw VermilionCityText7
-	dw VermilionCityText8
-	dw MartSignText
-	dw PokeCenterSignText
-	dw VermilionCityText11
-	dw VermilionCityText12
-	dw VermilionCityText13
-
-VermilionCityText1:
-	TX_FAR _VermilionCityText1
-	db "@"
-
-VermilionCityText2:
-	TX_ASM
-	CheckEvent EVENT_SS_ANNE_LEFT
-	jr nz, .asm_1989e
-	ld hl, VermilionCityText_198a7
-	call PrintText
-	jr .asm_198a4
-.asm_1989e
-	ld hl, VermilionCityText_198ac
-	call PrintText
-.asm_198a4
-	jp TextScriptEnd
-
-VermilionCityText_198a7:
-	TX_FAR _VermilionCityText_198a7
-	db "@"
-
-VermilionCityText_198ac:
-	TX_FAR _VermilionCityText_198ac
-	db "@"
-
-VermilionCityText3:
-	TX_ASM
-	CheckEvent EVENT_SS_ANNE_LEFT
-	jr nz, .asm_198f6
-	ld a, [wSpriteStateData1 + 9]
-	cp SPRITE_FACING_RIGHT
-	jr z, .asm_198c8
-	ld hl, VermilionCityCoords1
-	call ArePlayerCoordsInArray
-	jr nc, .asm_198d0
-.asm_198c8
-	ld hl, SSAnneWelcomeText4
-	call PrintText
-	jr .asm_198fc
-.asm_198d0
-	ld hl, SSAnneWelcomeText9
-	call PrintText
-	ld b, S_S_TICKET
-	predef GetQuantityOfItemInBag
-	ld a, b
-	and a
-	jr nz, .asm_198e9
-	ld hl, SSAnneNoTicketText
-	call PrintText
-	jr .asm_198fc
-.asm_198e9
-	ld hl, SSAnneFlashedTicketText
-	call PrintText
-	ld a, $4
-	ld [wVermilionCityCurScript], a
-	jr .asm_198fc
-.asm_198f6
-	ld hl, SSAnneNotHereText
-	call PrintText
-.asm_198fc
-	jp TextScriptEnd
-
-VermilionCityCoords1:
-	db $1d,$13
-	db $1f,$13
-	db $ff
-
-SSAnneWelcomeText4:
-	TX_FAR _SSAnneWelcomeText4
-	db "@"
-
-SSAnneWelcomeText9:
-	TX_FAR _SSAnneWelcomeText9
-	db "@"
-
-SSAnneFlashedTicketText:
-	TX_FAR _SSAnneFlashedTicketText
-	db "@"
-
-SSAnneNoTicketText:
-	TX_FAR _SSAnneNoTicketText
-	db "@"
-
-SSAnneNotHereText:
-	TX_FAR _SSAnneNotHereText
-	db "@"
-
-VermilionCityText4:
-	TX_FAR _VermilionCityText4
-	db "@"
-
-VermilionCityText5:
-	TX_FAR _VermilionCityText5
-	TX_ASM
-	ld a, MACHOP
-	call PlayCry
-	call WaitForSoundToFinish
-	ld hl, VermilionCityText14
-	ret
-
-VermilionCityText14:
-	TX_FAR _VermilionCityText14
-	db "@"
-
-VermilionCityText6:
-	TX_FAR _VermilionCityText6
-	db "@"
-
-VermilionCityText7:
-	TX_FAR _VermilionCityText7
-	db "@"
-
-VermilionCityText8:
-	TX_FAR _VermilionCityText8
-	db "@"
-
-VermilionCityText11:
-	TX_FAR _VermilionCityText11
-	db "@"
-
-VermilionCityText12:
-	TX_FAR _VermilionCityText12
-	db "@"
-
-VermilionCityText13:
-	TX_FAR _VermilionCityText13
-	db "@"
--- a/scripts/vermiliondock.asm
+++ /dev/null
@@ -1,215 +1,0 @@
-VermilionDockScript:
-	call EnableAutoTextBoxDrawing
-	CheckEventHL EVENT_STARTED_WALKING_OUT_OF_DOCK
-	jr nz, .asm_1db8d
-	CheckEventReuseHL EVENT_GOT_HM01
-	ret z
-	ld a, [wDestinationWarpID]
-	cp $1
-	ret nz
-	CheckEventReuseHL EVENT_SS_ANNE_LEFT
-	jp z, VermilionDock_1db9b
-	SetEventReuseHL EVENT_STARTED_WALKING_OUT_OF_DOCK
-	call Delay3
-	ld hl, wd730
-	set 7, [hl]
-	ld hl, wSimulatedJoypadStatesEnd
-	ld a, D_UP
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-	ld a, $3
-	ld [wSimulatedJoypadStatesIndex], a
-	xor a
-	ld [wSpriteStateData2 + $06], a
-	ld [wOverrideSimulatedJoypadStatesMask], a
-	dec a
-	ld [wJoyIgnore], a
-	ret
-.asm_1db8d
-	CheckEventAfterBranchReuseHL EVENT_WALKED_OUT_OF_DOCK, EVENT_STARTED_WALKING_OUT_OF_DOCK
-	ret nz
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	ld [wJoyIgnore], a
-	SetEventReuseHL EVENT_WALKED_OUT_OF_DOCK
-	ret
-
-VermilionDock_1db9b:
-	SetEventForceReuseHL EVENT_SS_ANNE_LEFT
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld [wNewSoundID], a
-	call PlaySound
-	ld c, BANK(Music_Surfing)
-	ld a, MUSIC_SURFING
-	call PlayMusic
-	callba LoadSmokeTileFourTimes
-	xor a
-	ld [wSpriteStateData1 + 2], a
-	ld c, 120
-	call DelayFrames
-	ld b, $9c
-	call CopyScreenTileBufferToVRAM
-	coord hl, 0, 10
-	ld bc, SCREEN_WIDTH * 6
-	ld a, $14 ; water tile
-	call FillMemory
-	ld a, 1
-	ld [H_AUTOBGTRANSFERENABLED], a
-	call Delay3
-	xor a
-	ld [H_AUTOBGTRANSFERENABLED], a
-	ld [wSSAnneSmokeDriftAmount], a
-	ld [rOBP1], a
-	ld a, 88
-	ld [wSSAnneSmokeX], a
-	ld hl, wMapViewVRAMPointer
-	ld c, [hl]
-	inc hl
-	ld b, [hl]
-	push bc
-	push hl
-	ld a, SFX_SS_ANNE_HORN
-	call PlaySoundWaitForCurrent
-	ld a, $ff
-	ld [wUpdateSpritesEnabled], a
-	ld d, $0
-	ld e, $8
-.asm_1dbfa
-	ld hl, $0002
-	add hl, bc
-	ld a, l
-	ld [wMapViewVRAMPointer], a
-	ld a, h
-	ld [wMapViewVRAMPointer + 1], a
-	push hl
-	push de
-	call ScheduleEastColumnRedraw
-	call VermilionDock_EmitSmokePuff
-	pop de
-	ld b, $10
-.asm_1dc11
-	call VermilionDock_AnimSmokePuffDriftRight
-	ld c, $8
-.asm_1dc16
-	call VermilionDock_1dc7c
-	dec c
-	jr nz, .asm_1dc16
-	inc d
-	dec b
-	jr nz, .asm_1dc11
-	pop bc
-	dec e
-	jr nz, .asm_1dbfa
-	xor a
-	ld [rWY], a
-	ld [hWY], a
-	call VermilionDock_EraseSSAnne
-	ld a, $90
-	ld [hWY], a
-	ld a, $1
-	ld [wUpdateSpritesEnabled], a
-	pop hl
-	pop bc
-	ld [hl], b
-	dec hl
-	ld [hl], c
-	call LoadPlayerSpriteGraphics
-	ld hl, wNumberOfWarps
-	dec [hl]
-	ret
-
-VermilionDock_AnimSmokePuffDriftRight:
-	push bc
-	push de
-	ld hl, wOAMBuffer + $11
-	ld a, [wSSAnneSmokeDriftAmount]
-	swap a
-	ld c, a
-	ld de, 4
-.loop
-	inc [hl]
-	inc [hl]
-	add hl, de
-	dec c
-	jr nz, .loop
-	pop de
-	pop bc
-	ret
-
-VermilionDock_EmitSmokePuff:
-; new smoke puff above the S.S. Anne's front smokestack
-	ld a, [wSSAnneSmokeX]
-	sub 16
-	ld [wSSAnneSmokeX], a
-	ld c, a
-	ld b, 100 ; Y
-	ld a, [wSSAnneSmokeDriftAmount]
-	inc a
-	ld [wSSAnneSmokeDriftAmount], a
-	ld a, $1
-	ld de, VermilionDockOAMBlock
-	call WriteOAMBlock
-	ret
-
-VermilionDockOAMBlock:
-	db $fc, $10
-	db $fd, $10
-	db $fe, $10
-	db $ff, $10
-
-VermilionDock_1dc7c:
-	ld h, d
-	ld l, $50
-	call .asm_1dc86
-	ld h, $0
-	ld l, $80
-.asm_1dc86
-	ld a, [rLY]
-	cp l
-	jr nz, .asm_1dc86
-	ld a, h
-	ld [rSCX], a
-.asm_1dc8e
-	ld a, [rLY]
-	cp h
-	jr z, .asm_1dc8e
-	ret
-
-VermilionDock_EraseSSAnne:
-; Fill the area the S.S. Anne occupies in BG map 0 with water tiles.
-	ld hl, wVermilionDockTileMapBuffer
-	ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH
-	ld a, $14 ; water tile
-	call FillMemory
-	ld hl, vBGMap0 + 10 * BG_MAP_WIDTH
-	ld de, wVermilionDockTileMapBuffer
-	ld bc, (6 * BG_MAP_WIDTH) / 16
-	call CopyVideoData
-
-; Replace the blocks of the lower half of the ship with water blocks. This
-; leaves the upper half alone, but that doesn't matter because replacing any of
-; the blocks is unnecessary because the blocks the ship occupies are south of
-; the player and won't be redrawn when the player automatically walks north and
-; exits the map. This code could be removed without affecting anything.
-	overworldMapCoord hl, 5, 2, VERMILION_DOCK_WIDTH
-	ld a, $d ; water block
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	ld [hl], a
-
-	ld a, SFX_SS_ANNE_HORN
-	call PlaySound
-	ld c, 120
-	call DelayFrames
-	ret
-
-VermilionDockTextPointers:
-	dw VermilionDockText1
-
-VermilionDockText1:
-	TX_FAR _VermilionDockText1
-	db "@"
--- a/scripts/vermiliongym.asm
+++ /dev/null
@@ -1,267 +1,0 @@
-VermilionGymScript:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	push hl
-	call nz, VermilionGymScript_5ca4c
-	pop hl
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, VermilionGymScript_5ca6d
-	call EnableAutoTextBoxDrawing
-	ld hl, VermilionGymTrainerHeader0
-	ld de, VermilionGymScriptPointers
-	ld a, [wVermilionGymCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wVermilionGymCurScript], a
-	ret
-
-VermilionGymScript_5ca4c:
-	ld hl, Gym3CityName
-	ld de, Gym3LeaderName
-	jp LoadGymLeaderAndCityName
-
-Gym3CityName:
-	db "VERMILION CITY@"
-
-Gym3LeaderName:
-	db "LT.SURGE@"
-
-VermilionGymScript_5ca6d:
-	CheckEvent EVENT_2ND_LOCK_OPENED
-	jr nz, .asm_5ca78
-	ld a, $24
-	jr .asm_5ca7f
-.asm_5ca78
-	ld a, SFX_GO_INSIDE
-	call PlaySound
-	ld a, $5
-.asm_5ca7f
-	ld [wNewTileBlockID], a
-	lb bc, 2, 2
-	predef_jump ReplaceTileBlock
-
-VermilionGymScript_5ca8a:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wVermilionGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-VermilionGymScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw VermilionGymScript3
-
-VermilionGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, VermilionGymScript_5ca8a
-	ld a, $f0
-	ld [wJoyIgnore], a
-
-VermilionGymScript_5caaa:
-	ld a, $6
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_LT_SURGE
-	lb bc, TM_24, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $7
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM24
-	jr .asm_5cad3
-.BagFull
-	ld a, $8
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_5cad3
-	ld hl, wObtainedBadges
-	set 2, [hl]
-	ld hl, wBeatGymFlags
-	set 2, [hl]
-
-	; deactivate gym trainers
-	SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2
-
-	jp VermilionGymScript_5ca8a
-
-VermilionGymTextPointers:
-	dw VermilionGymText1
-	dw VermilionGymText2
-	dw VermilionGymText3
-	dw VermilionGymText4
-	dw VermilionGymText5
-	dw VermilionGymText6
-	dw VermilionGymText7
-	dw VermilionGymText8
-
-VermilionGymTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0
-	dw VermilionGymBattleText1 ; TextBeforeBattle
-	dw VermilionGymAfterBattleText1 ; TextAfterBattle
-	dw VermilionGymEndBattleText1 ; TextEndBattle
-	dw VermilionGymEndBattleText1 ; TextEndBattle
-
-VermilionGymTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1
-	dw VermilionGymBattleText2 ; TextBeforeBattle
-	dw VermilionGymAfterBattleText2 ; TextAfterBattle
-	dw VermilionGymEndBattleText2 ; TextEndBattle
-	dw VermilionGymEndBattleText2 ; TextEndBattle
-
-VermilionGymTrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2
-	dw VermilionGymBattleText3 ; TextBeforeBattle
-	dw VermilionGymAfterBattleText3 ; TextAfterBattle
-	dw VermilionGymEndBattleText3 ; TextEndBattle
-	dw VermilionGymEndBattleText3 ; TextEndBattle
-
-	db $ff
-
-VermilionGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_LT_SURGE
-	jr z, .asm_5cb39
-	CheckEventReuseA EVENT_GOT_TM24
-	jr nz, .asm_5cb31
-	call z, VermilionGymScript_5caaa
-	call DisableWaitingAfterTextDisplay
-	jr .asm_5cb6a
-.asm_5cb31
-	ld hl, VermilionGymText_5cb72
-	call PrintText
-	jr .asm_5cb6a
-.asm_5cb39
-	ld hl, VermilionGymText_5cb6d
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, ReceivedThunderbadgeText
-	ld de, ReceivedThunderbadgeText
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $3
-	ld [wGymLeaderNo], a
-	xor a
-	ld [hJoyHeld], a
-	ld a, $3
-	ld [wVermilionGymCurScript], a
-	ld [wCurMapScript], a
-.asm_5cb6a
-	jp TextScriptEnd
-
-VermilionGymText_5cb6d:
-	TX_FAR _VermilionGymText_5cb6d
-	db "@"
-
-VermilionGymText_5cb72:
-	TX_FAR _VermilionGymText_5cb72
-	db "@"
-
-VermilionGymText6:
-	TX_FAR _VermilionGymText_5cb77
-	db "@"
-
-VermilionGymText7:
-	TX_FAR _ReceivedTM24Text
-	TX_SFX_KEY_ITEM
-	TX_FAR _TM24ExplanationText
-	db "@"
-
-VermilionGymText8:
-	TX_FAR _TM24NoRoomText
-	db "@"
-
-ReceivedThunderbadgeText:
-	TX_FAR _ReceivedThunderbadgeText
-	db "@"
-
-VermilionGymText2:
-	TX_ASM
-	ld hl, VermilionGymTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VermilionGymBattleText1:
-	TX_FAR _VermilionGymBattleText1
-	db "@"
-
-VermilionGymEndBattleText1:
-	TX_FAR _VermilionGymEndBattleText1
-	db "@"
-
-VermilionGymAfterBattleText1:
-	TX_FAR _VermilionGymAfterBattleText1
-	db "@"
-
-VermilionGymText3:
-	TX_ASM
-	ld hl, VermilionGymTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VermilionGymBattleText2:
-	TX_FAR _VermilionGymBattleText2
-	db "@"
-
-VermilionGymEndBattleText2:
-	TX_FAR _VermilionGymEndBattleText2
-	db "@"
-
-VermilionGymAfterBattleText2:
-	TX_FAR _VermilionGymAfterBattleText2
-	db "@"
-
-VermilionGymText4:
-	TX_ASM
-	ld hl, VermilionGymTrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VermilionGymBattleText3:
-	TX_FAR _VermilionGymBattleText3
-	db "@"
-
-VermilionGymEndBattleText3:
-	TX_FAR _VermilionGymEndBattleText3
-	db "@"
-
-VermilionGymAfterBattleText3:
-	TX_FAR _VermilionGymAfterBattleText3
-	db "@"
-
-VermilionGymText5:
-	TX_ASM
-	ld a, [wBeatGymFlags]
-	bit 2, a
-	jr nz, .asm_5cbeb
-	ld hl, VermilionGymText_5cbf4
-	call PrintText
-	jr .asm_5cbf1
-.asm_5cbeb
-	ld hl, VermilionGymText_5cbf9
-	call PrintText
-.asm_5cbf1
-	jp TextScriptEnd
-
-VermilionGymText_5cbf4:
-	TX_FAR _VermilionGymText_5cbf4
-	db "@"
-
-VermilionGymText_5cbf9:
-	TX_FAR _VermilionGymText_5cbf9
-	db "@"
--- a/scripts/vermilionhouse1.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-VermilionHouse1Script:
-	call EnableAutoTextBoxDrawing
-	ret
-
-VermilionHouse1TextPointers:
-	dw VermilionHouse1Text1
-	dw VermilionHouse1Text2
-	dw VermilionHouse1Text3
-
-VermilionHouse1Text1:
-	TX_FAR _VermilionHouse1Text1
-	db "@"
-
-VermilionHouse1Text2:
-	TX_FAR _VermilionHouse1Text2
-	TX_ASM
-	ld a, PIDGEY
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-VermilionHouse1Text3:
-	TX_FAR _VermilionHouse1Text3
-	db "@"
--- a/scripts/vermilionhouse2.asm
+++ /dev/null
@@ -1,57 +1,0 @@
-VermilionHouse2Script:
-	jp EnableAutoTextBoxDrawing
-
-VermilionHouse2TextPointers:
-	dw VermilionHouse2Text1
-
-VermilionHouse2Text1:
-	TX_ASM
-	ld a, [wd728]
-	bit 3, a
-	jr nz, .asm_03ef5
-	ld hl, VermilionHouse2Text_560b1
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_eb1b7
-	lb bc, OLD_ROD, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, wd728
-	set 3, [hl]
-	ld hl, VermilionHouse2Text_560b6
-	jr .asm_5dd95
-.BagFull
-	ld hl, VermilionHouse2Text_560ca
-	jr .asm_5dd95
-.asm_eb1b7
-	ld hl, VermilionHouse2Text_560c0
-	jr .asm_5dd95
-.asm_03ef5
-	ld hl, VermilionHouse2Text_560c5
-.asm_5dd95
-	call PrintText
-	jp TextScriptEnd
-
-VermilionHouse2Text_560b1:
-	TX_FAR _VermilionHouse2Text_560b1
-	db "@"
-
-VermilionHouse2Text_560b6:
-	TX_FAR _VermilionHouse2Text_560b6
-	TX_SFX_ITEM_1
-	TX_FAR _VermilionHouse2Text_560bb
-	db "@"
-
-VermilionHouse2Text_560c0:
-	TX_FAR _VermilionHouse2Text_560c0
-	db "@"
-
-VermilionHouse2Text_560c5:
-	TX_FAR _VermilionHouse2Text_560c5
-	db "@"
-
-VermilionHouse2Text_560ca:
-	TX_FAR _VermilionHouse2Text_560ca
-	db "@"
--- a/scripts/vermilionhouse3.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-VermilionHouse3Script:
-	jp EnableAutoTextBoxDrawing
-
-VermilionHouse3TextPointers:
-	dw VermilionHouse3Text1
-
-VermilionHouse3Text1:
-	TX_ASM
-	ld a, $4
-	ld [wWhichTrade], a
-	predef DoInGameTradeDialogue
-	jp TextScriptEnd
--- a/scripts/vermilionmart.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-VermilionMartScript:
-	jp EnableAutoTextBoxDrawing
-
-VermilionMartTextPointers:
-	dw VermilionCashierText
-	dw VermilionMartText2
-	dw VermilionMartText3
-
-VermilionMartText2:
-	TX_FAR _VermilionMartText2
-	db "@"
-
-VermilionMartText3:
-	TX_FAR _VermilionMartText3
-	db "@"
--- a/scripts/vermilionpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-VermilionPokecenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-VermilionPokecenterTextPointers:
-	dw VermilionHealNurseText
-	dw VermilionPokecenterText2
-	dw VermilionPokecenterText3
-	dw VermilionTradeNurseText
-
-VermilionHealNurseText:
-	TX_POKECENTER_NURSE
-
-VermilionPokecenterText2:
-	TX_FAR _VermilionPokecenterText2
-	db "@"
-
-VermilionPokecenterText3:
-	TX_FAR _VermilionPokecenterText3
-	db "@"
-
-VermilionTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
--- a/scripts/victoryroad1.asm
+++ /dev/null
@@ -1,103 +1,0 @@
-VictoryRoad1Script:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	call nz, .next
-	call EnableAutoTextBoxDrawing
-	ld hl, VictoryRoad1TrainerHeader0
-	ld de, VictoryRoad1ScriptPointers
-	ld a, [wVictoryRoad1CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wVictoryRoad1CurScript], a
-	ret
-.next
-	CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
-	ret z
-	ld a, $1d
-	ld [wNewTileBlockID], a
-	lb bc, 6, 4
-	predef_jump ReplaceTileBlock
-
-VictoryRoad1ScriptPointers:
-	dw VictoryRoad1Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-VictoryRoad1Script0:
-	CheckEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
-	jp nz, CheckFightingMapTrainers
-	ld hl, CoordsData_5da5c
-	call CheckBoulderCoords
-	jp nc, CheckFightingMapTrainers
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	SetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
-	ret
-
-CoordsData_5da5c:
-	db $0D,$11,$FF
-
-VictoryRoad1TextPointers:
-	dw VictoryRoad1Text1
-	dw VictoryRoad1Text2
-	dw PickUpItemText
-	dw PickUpItemText
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
-
-VictoryRoad1TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0
-	dw VictoryRoad1BattleText1 ; TextBeforeBattle
-	dw VictoryRoad1AfterBattleText1 ; TextAfterBattle
-	dw VictoryRoad1EndBattleText1 ; TextEndBattle
-	dw VictoryRoad1EndBattleText1 ; TextEndBattle
-
-VictoryRoad1TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1
-	dw VictoryRoad1BattleText2 ; TextBeforeBattle
-	dw VictoryRoad1AfterBattleText2 ; TextAfterBattle
-	dw VictoryRoad1EndBattleText2 ; TextEndBattle
-	dw VictoryRoad1EndBattleText2 ; TextEndBattle
-
-	db $ff
-
-VictoryRoad1Text1:
-	TX_ASM
-	ld hl, VictoryRoad1TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad1Text2:
-	TX_ASM
-	ld hl, VictoryRoad1TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad1BattleText1:
-	TX_FAR _VictoryRoad1BattleText1
-	db "@"
-
-VictoryRoad1EndBattleText1:
-	TX_FAR _VictoryRoad1EndBattleText1
-	db "@"
-
-VictoryRoad1AfterBattleText1:
-	TX_FAR _VictoryRoad1AfterBattleText1
-	db "@"
-
-VictoryRoad1BattleText2:
-	TX_FAR _VictoryRoad1BattleText2
-	db "@"
-
-VictoryRoad1EndBattleText2:
-	TX_FAR _VictoryRoad1EndBattleText2
-	db "@"
-
-VictoryRoad1AfterBattleText2:
-	TX_FAR _VictoryRoad1AfterBattleText2
-	db "@"
--- a/scripts/victoryroad2.asm
+++ /dev/null
@@ -1,244 +1,0 @@
-VictoryRoad2Script:
-	ld hl, wCurrentMapScriptFlags
-	bit 6, [hl]
-	res 6, [hl]
-	call nz, VictoryRoad2Script_517c4
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	call nz, VictoryRoad2Script_517c9
-	call EnableAutoTextBoxDrawing
-	ld hl, VictoryRoad2TrainerHeader0
-	ld de, VictoryRoad2ScriptPointers
-	ld a, [wVictoryRoad2CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wVictoryRoad2CurScript], a
-	ret
-
-VictoryRoad2Script_517c4:
-	ResetEvent EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH
-
-VictoryRoad2Script_517c9:
-	CheckEvent EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
-	jr z, .asm_517da
-	push af
-	ld a, $15
-	lb bc, 4, 3
-	call VictoryRoad2Script_517e2
-	pop af
-.asm_517da
-	bit 7, a
-	ret z
-	ld a, $1d
-	lb bc, 7, 11
-
-VictoryRoad2Script_517e2:
-	ld [wNewTileBlockID], a
-	predef ReplaceTileBlock
-	ret
-
-VictoryRoad2ScriptPointers:
-	dw VictoryRoad2Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-VictoryRoad2Script0:
-	ld hl, CoordsData_51816
-	call CheckBoulderCoords
-	jp nc, CheckFightingMapTrainers
-	EventFlagAddress hl, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
-	ld a, [wCoordIndex]
-	cp $2
-	jr z, .asm_5180b
-	CheckEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
-	SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
-	ret nz
-	jr .asm_51810
-.asm_5180b
-	CheckEventAfterBranchReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2, EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1
-	SetEventReuseHL EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2
-	ret nz
-.asm_51810
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	ret
-
-CoordsData_51816:
-	db $10,$01
-	db $10,$09
-	db $FF
-
-VictoryRoad2TextPointers:
-	dw VictoryRoad2Text1
-	dw VictoryRoad2Text2
-	dw VictoryRoad2Text3
-	dw VictoryRoad2Text4
-	dw VictoryRoad2Text5
-	dw MoltresText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
-
-VictoryRoad2TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0
-	dw VictoryRoad2BattleText1 ; TextBeforeBattle
-	dw VictoryRoad2AfterBattleText1 ; TextAfterBattle
-	dw VictoryRoad2EndBattleText1 ; TextEndBattle
-	dw VictoryRoad2EndBattleText1 ; TextEndBattle
-
-VictoryRoad2TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1
-	dw VictoryRoad2BattleText2 ; TextBeforeBattle
-	dw VictoryRoad2AfterBattleText2 ; TextAfterBattle
-	dw VictoryRoad2EndBattleText2 ; TextEndBattle
-	dw VictoryRoad2EndBattleText2 ; TextEndBattle
-
-VictoryRoad2TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2
-	dw VictoryRoad2BattleText3 ; TextBeforeBattle
-	dw VictoryRoad2AfterBattleText3 ; TextAfterBattle
-	dw VictoryRoad2EndBattleText3 ; TextEndBattle
-	dw VictoryRoad2EndBattleText3 ; TextEndBattle
-
-VictoryRoad2TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3
-	dw VictoryRoad2BattleText4 ; TextBeforeBattle
-	dw VictoryRoad2AfterBattleText4 ; TextAfterBattle
-	dw VictoryRoad2EndBattleText4 ; TextEndBattle
-	dw VictoryRoad2EndBattleText4 ; TextEndBattle
-
-VictoryRoad2TrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4
-	dw VictoryRoad2BattleText5 ; TextBeforeBattle
-	dw VictoryRoad2AfterBattleText5 ; TextAfterBattle
-	dw VictoryRoad2EndBattleText5 ; TextEndBattle
-	dw VictoryRoad2EndBattleText5 ; TextEndBattle
-
-MoltresTrainerHeader:
-	dbEventFlagBit EVENT_BEAT_MOLTRES
-	db ($0 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_MOLTRES
-	dw MoltresBattleText ; TextBeforeBattle
-	dw MoltresBattleText ; TextAfterBattle
-	dw MoltresBattleText ; TextEndBattle
-	dw MoltresBattleText ; TextEndBattle
-
-	db $ff
-
-VictoryRoad2Text1:
-	TX_ASM
-	ld hl, VictoryRoad2TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad2Text2:
-	TX_ASM
-	ld hl, VictoryRoad2TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad2Text3:
-	TX_ASM
-	ld hl, VictoryRoad2TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad2Text4:
-	TX_ASM
-	ld hl, VictoryRoad2TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad2Text5:
-	TX_ASM
-	ld hl, VictoryRoad2TrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MoltresText:
-	TX_ASM
-	ld hl, MoltresTrainerHeader
-	call TalkToTrainer
-	jp TextScriptEnd
-
-MoltresBattleText:
-	TX_FAR _MoltresBattleText
-	TX_ASM
-	ld a, MOLTRES
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-VictoryRoad2BattleText1:
-	TX_FAR _VictoryRoad2BattleText1
-	db "@"
-
-VictoryRoad2EndBattleText1:
-	TX_FAR _VictoryRoad2EndBattleText1
-	db "@"
-
-VictoryRoad2AfterBattleText1:
-	TX_FAR _VictoryRoad2AfterBattleText1
-	db "@"
-
-VictoryRoad2BattleText2:
-	TX_FAR _VictoryRoad2BattleText2
-	db "@"
-
-VictoryRoad2EndBattleText2:
-	TX_FAR _VictoryRoad2EndBattleText2
-	db "@"
-
-VictoryRoad2AfterBattleText2:
-	TX_FAR _VictoryRoad2AfterBattleText2
-	db "@"
-
-VictoryRoad2BattleText3:
-	TX_FAR _VictoryRoad2BattleText3
-	db "@"
-
-VictoryRoad2EndBattleText3:
-	TX_FAR _VictoryRoad2EndBattleText3
-	db "@"
-
-VictoryRoad2AfterBattleText3:
-	TX_FAR _VictoryRoad2AfterBattleText3
-	db "@"
-
-VictoryRoad2BattleText4:
-	TX_FAR _VictoryRoad2BattleText4
-	db "@"
-
-VictoryRoad2EndBattleText4:
-	TX_FAR _VictoryRoad2EndBattleText4
-	db "@"
-
-VictoryRoad2AfterBattleText4:
-	TX_FAR _VictoryRoad2AfterBattleText4
-	db "@"
-
-VictoryRoad2BattleText5:
-	TX_FAR _VictoryRoad2BattleText5
-	db "@"
-
-VictoryRoad2EndBattleText5:
-	TX_FAR _VictoryRoad2EndBattleText5
-	db "@"
-
-VictoryRoad2AfterBattleText5:
-	TX_FAR _VictoryRoad2AfterBattleText5
-	db "@"
--- a/scripts/victoryroad3.asm
+++ /dev/null
@@ -1,197 +1,0 @@
-VictoryRoad3Script:
-	call VictoryRoad3Script_44996
-	call EnableAutoTextBoxDrawing
-	ld hl, VictoryRoad3TrainerHeader0
-	ld de, VictoryRoad3ScriptPointers
-	ld a, [wVictoryRoad3CurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wVictoryRoad3CurScript], a
-	ret
-
-VictoryRoad3Script_44996:
-	ld hl, wCurrentMapScriptFlags
-	bit 5, [hl]
-	res 5, [hl]
-	ret z
-	CheckEventHL EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1
-	ret z
-	ld a, $1d
-	ld [wNewTileBlockID], a
-	lb bc, 5, 3
-	predef_jump ReplaceTileBlock
-
-VictoryRoad3ScriptPointers:
-	dw VictoryRoad3Script0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-VictoryRoad3Script0:
-	ld hl, wFlags_0xcd60
-	bit 7, [hl]
-	res 7, [hl]
-	jp z, .asm_449fe
-	ld hl, .coordsData_449f9
-	call CheckBoulderCoords
-	jp nc, .asm_449fe
-	ld a, [wCoordIndex]
-	cp $1
-	jr nz, .asm_449dc
-	ld hl, wCurrentMapScriptFlags
-	set 5, [hl]
-	SetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1
-	ret
-.asm_449dc
-	CheckAndSetEvent EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2
-	jr nz, .asm_449fe
-	ld a, HS_VICTORY_ROAD_3_BOULDER
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	ld a, HS_VICTORY_ROAD_2_BOULDER
-	ld [wMissableObjectIndex], a
-	predef_jump ShowObject
-
-.coordsData_449f9:
-	db $05,$03
-	db $0F,$17
-	db $FF
-
-.asm_449fe
-	ld a, VICTORY_ROAD_2
-	ld [wDungeonWarpDestinationMap], a
-	ld hl, .coordsData_449f9
-	call IsPlayerOnDungeonWarp
-	ld a, [wCoordIndex]
-	cp $1
-	jr nz, .asm_44a1b
-	ld hl, wd72d
-	res 4, [hl]
-	ld hl, wd732
-	res 4, [hl]
-	ret
-.asm_44a1b
-	ld a, [wd72d]
-	bit 4, a
-	jp z, CheckFightingMapTrainers
-	ret
-
-VictoryRoad3TextPointers:
-	dw VictoryRoad3Text1
-	dw VictoryRoad3Text2
-	dw VictoryRoad3Text3
-	dw VictoryRoad3Text4
-	dw PickUpItemText
-	dw PickUpItemText
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
-	dw BoulderText
-
-VictoryRoad3TrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0
-	dw VictoryRoad3BattleText2 ; TextBeforeBattle
-	dw VictoryRoad3AfterBattleText2 ; TextAfterBattle
-	dw VictoryRoad3EndBattleText2 ; TextEndBattle
-	dw VictoryRoad3EndBattleText2 ; TextEndBattle
-
-VictoryRoad3TrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1
-	dw VictoryRoad3BattleText3 ; TextBeforeBattle
-	dw VictoryRoad3AfterBattleText3 ; TextAfterBattle
-	dw VictoryRoad3EndBattleText3 ; TextEndBattle
-	dw VictoryRoad3EndBattleText3 ; TextEndBattle
-
-VictoryRoad3TrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2
-	dw VictoryRoad3BattleText4 ; TextBeforeBattle
-	dw VictoryRoad3AfterBattleText4 ; TextAfterBattle
-	dw VictoryRoad3EndBattleText4 ; TextEndBattle
-	dw VictoryRoad3EndBattleText4 ; TextEndBattle
-
-VictoryRoad3TrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3
-	dw VictoryRoad3BattleText5 ; TextBeforeBattle
-	dw VictoryRoad3AfterBattleText5 ; TextAfterBattle
-	dw VictoryRoad3EndBattleText5 ; TextEndBattle
-	dw VictoryRoad3EndBattleText5 ; TextEndBattle
-
-	db $ff
-
-VictoryRoad3Text1:
-	TX_ASM
-	ld hl, VictoryRoad3TrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad3Text2:
-	TX_ASM
-	ld hl, VictoryRoad3TrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad3Text3:
-	TX_ASM
-	ld hl, VictoryRoad3TrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad3Text4:
-	TX_ASM
-	ld hl, VictoryRoad3TrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-VictoryRoad3BattleText2:
-	TX_FAR _VictoryRoad3BattleText2
-	db "@"
-
-VictoryRoad3EndBattleText2:
-	TX_FAR _VictoryRoad3EndBattleText2
-	db "@"
-
-VictoryRoad3AfterBattleText2:
-	TX_FAR _VictoryRoad3AfterBattleText2
-	db "@"
-
-VictoryRoad3BattleText3:
-	TX_FAR _VictoryRoad3BattleText3
-	db "@"
-
-VictoryRoad3EndBattleText3:
-	TX_FAR _VictoryRoad3EndBattleText3
-	db "@"
-
-VictoryRoad3AfterBattleText3:
-	TX_FAR _VictoryRoad3AfterBattleText3
-	db "@"
-
-VictoryRoad3BattleText4:
-	TX_FAR _VictoryRoad3BattleText4
-	db "@"
-
-VictoryRoad3EndBattleText4:
-	TX_FAR _VictoryRoad3EndBattleText4
-	db "@"
-
-VictoryRoad3AfterBattleText4:
-	TX_FAR _VictoryRoad3AfterBattleText4
-	db "@"
-
-VictoryRoad3BattleText5:
-	TX_FAR _VictoryRoad3BattleText5
-	db "@"
-
-VictoryRoad3EndBattleText5:
-	TX_FAR _VictoryRoad3EndBattleText5
-	db "@"
-
-VictoryRoad3AfterBattleText5:
-	TX_FAR _VictoryRoad3AfterBattleText5
-	db "@"
--- a/scripts/viridiancity.asm
+++ /dev/null
@@ -1,327 +1,0 @@
-ViridianCityScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, ViridianCityScriptPointers
-	ld a, [wViridianCityCurScript]
-	jp CallFunctionInTable
-
-ViridianCityScriptPointers:
-	dw ViridianCityScript0
-	dw ViridianCityScript1
-	dw ViridianCityScript2
-	dw ViridianCityScript3
-
-ViridianCityScript0:
-	call ViridianCityScript_1900b
-	jp ViridianCityScript_1903d
-
-ViridianCityScript_1900b:
-	CheckEvent EVENT_VIRIDIAN_GYM_OPEN
-	ret nz
-	ld a, [wObtainedBadges]
-	cp %01111111
-	jr nz, .asm_1901e
-	SetEvent EVENT_VIRIDIAN_GYM_OPEN
-	ret
-.asm_1901e
-	ld a, [wYCoord]
-	cp $8
-	ret nz
-	ld a, [wXCoord]
-	cp $20
-	ret nz
-	ld a, $e
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [hJoyHeld], a
-	call ViridianCityScript_190cf
-	ld a, $3
-	ld [wViridianCityCurScript], a
-	ret
-
-ViridianCityScript_1903d:
-	CheckEvent EVENT_GOT_POKEDEX
-	ret nz
-	ld a, [wYCoord]
-	cp $9
-	ret nz
-	ld a, [wXCoord]
-	cp $13
-	ret nz
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [hJoyHeld], a
-	call ViridianCityScript_190cf
-	ld a, $3
-	ld [wViridianCityCurScript], a
-	ret
-
-ViridianCityScript1:
-	ld a, [wSpriteStateData1 + $34]
-	ld [$ffeb], a
-	ld a, [wSpriteStateData1 + $36]
-	ld [$ffec], a
-	ld a, [wSpriteStateData2 + $34]
-	ld [$ffed], a
-	ld a, [wSpriteStateData2 + $35]
-	ld [$ffee], a
-	xor a
-	ld [wListScrollOffset], a
-
-	; set up battle for Old Man
-	ld a, BATTLE_TYPE_OLD_MAN
-	ld [wBattleType], a
-	ld a, 5
-	ld [wCurEnemyLVL], a
-	ld a, WEEDLE
-	ld [wCurOpponent], a
-	ld a, $2
-	ld [wViridianCityCurScript], a
-	ret
-
-ViridianCityScript2:
-	ld a, [$ffeb]
-	ld [wSpriteStateData1 + $34], a
-	ld a, [$ffec]
-	ld [wSpriteStateData1 + $36], a
-	ld a, [$ffed]
-	ld [wSpriteStateData2 + $34], a
-	ld a, [$ffee]
-	ld [wSpriteStateData2 + $35], a
-	call UpdateSprites
-	call Delay3
-	xor a
-	ld [wJoyIgnore], a
-	ld a, $f
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	xor a
-	ld [wBattleType], a
-	ld [wJoyIgnore], a
-	ld a, $0
-	ld [wViridianCityCurScript], a
-	ret
-
-ViridianCityScript3:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	ld a, 0
-	ld [wViridianCityCurScript], a
-	ret
-
-ViridianCityScript_190cf:
-	call StartSimulatingJoypadStates
-	ld a, $1
-	ld [wSimulatedJoypadStatesIndex], a
-	ld a, D_DOWN
-	ld [wSimulatedJoypadStatesEnd], a
-	xor a
-	ld [wSpriteStateData1 + 9], a
-	ld [wJoyIgnore], a
-	ret
-
-ViridianCityTextPointers:
-	dw ViridianCityText1
-	dw ViridianCityText2
-	dw ViridianCityText3
-	dw ViridianCityText4
-	dw ViridianCityText5
-	dw ViridianCityText6
-	dw ViridianCityText7
-	dw ViridianCityText8
-	dw ViridianCityText9
-	dw ViridianCityText10
-	dw MartSignText
-	dw PokeCenterSignText
-	dw ViridianCityText13
-	dw ViridianCityText14
-	dw ViridianCityText15
-
-ViridianCityText1:
-	TX_FAR _ViridianCityText1
-	db "@"
-
-ViridianCityText2:
-	TX_ASM
-	ld a, [wObtainedBadges]
-	cp %01111111
-	ld hl, ViridianCityText_19127
-	jr z, .asm_ae9fe
-	CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
-	jr nz, .asm_ae9fe
-	ld hl, ViridianCityText_19122
-.asm_ae9fe
-	call PrintText
-	jp TextScriptEnd
-
-ViridianCityText_19122:
-	TX_FAR _ViridianCityText_19122
-	db "@"
-
-ViridianCityText_19127:
-	TX_FAR _ViridianCityText_19127
-	db "@"
-
-ViridianCityText3:
-	TX_ASM
-	ld hl, ViridianCityText_1914d
-	call PrintText
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr nz, .asm_6dfea
-	ld hl, ViridianCityText_19157
-	call PrintText
-	jr .asm_d611f
-.asm_6dfea
-	ld hl, ViridianCityText_19152
-	call PrintText
-.asm_d611f
-	jp TextScriptEnd
-
-ViridianCityText_1914d:
-	TX_FAR _ViridianCityText_1914d
-	db "@"
-
-ViridianCityText_19152:
-	TX_FAR _ViridianCityText_19152
-	db "@"
-
-ViridianCityText_19157:
-	TX_FAR _ViridianCityText_19157
-	db "@"
-
-ViridianCityText4:
-	TX_ASM
-	CheckEvent EVENT_GOT_POKEDEX
-	jr nz, .asm_83894
-	ld hl, ViridianCityText_19175
-	call PrintText
-	jr .asm_700a6
-.asm_83894
-	ld hl, ViridianCityText_1917a
-	call PrintText
-.asm_700a6
-	jp TextScriptEnd
-
-ViridianCityText_19175:
-	TX_FAR _ViridianCityText_19175
-	db "@"
-
-ViridianCityText_1917a:
-	TX_FAR _ViridianCityText_1917a
-	db "@"
-
-ViridianCityText5:
-	TX_ASM
-	ld hl, ViridianCityText_19191
-	call PrintText
-	call ViridianCityScript_190cf
-	ld a, $3
-	ld [wViridianCityCurScript], a
-	jp TextScriptEnd
-
-ViridianCityText_19191:
-	TX_FAR _ViridianCityText_19191
-	db "@"
-
-ViridianCityText6:
-	TX_ASM
-	CheckEvent EVENT_GOT_TM42
-	jr nz, .asm_4e5a0
-	ld hl, ViridianCityText_191ca
-	call PrintText
-	lb bc, TM_42, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld hl, ReceivedTM42Text
-	call PrintText
-	SetEvent EVENT_GOT_TM42
-	jr .asm_3c73c
-.BagFull
-	ld hl, TM42NoRoomText
-	call PrintText
-	jr .asm_3c73c
-.asm_4e5a0
-	ld hl, TM42Explanation
-	call PrintText
-.asm_3c73c
-	jp TextScriptEnd
-
-ViridianCityText_191ca:
-	TX_FAR _ViridianCityText_191ca
-	db "@"
-
-ReceivedTM42Text:
-	TX_FAR _ReceivedTM42Text
-	TX_SFX_ITEM_2
-	db "@"
-
-TM42Explanation:
-	TX_FAR _TM42Explanation
-	db "@"
-
-TM42NoRoomText:
-	TX_FAR _TM42NoRoomText
-	db "@"
-
-ViridianCityText7:
-	TX_ASM
-	ld hl, ViridianCityText_1920a
-	call PrintText
-	ld c, 2
-	call DelayFrames
-	call YesNoChoice
-	ld a, [wCurrentMenuItem]
-	and a
-	jr z, .asm_42f68
-	ld hl, ViridianCityText_1920f
-	call PrintText
-	ld a, $1
-	ld [wViridianCityCurScript], a
-	jr .asm_2413a
-.asm_42f68
-	ld hl, ViridianCityText_19214
-	call PrintText
-.asm_2413a
-	jp TextScriptEnd
-
-ViridianCityText_1920a:
-	TX_FAR _ViridianCityText_1920a
-	db "@"
-
-ViridianCityText_1920f:
-	TX_FAR _ViridianCityText_1920f
-	db "@"
-
-ViridianCityText_19214:
-	TX_FAR _ViridianCityText_19214
-	db "@"
-
-ViridianCityText15:
-	TX_FAR _ViridianCityText_19219
-	db "@"
-
-ViridianCityText8:
-	TX_FAR _ViridianCityText8
-	db "@"
-
-ViridianCityText9:
-	TX_FAR _ViridianCityText9
-	db "@"
-
-ViridianCityText10:
-	TX_FAR _ViridianCityText10
-	db "@"
-
-ViridianCityText13:
-	TX_FAR _ViridianCityText13
-	db "@"
-
-ViridianCityText14:
-	TX_FAR _ViridianCityText14
-	db "@"
--- a/scripts/viridianforest.asm
+++ /dev/null
@@ -1,144 +1,0 @@
-ViridianForestScript:
-	call EnableAutoTextBoxDrawing
-	ld hl, ViridianForestTrainerHeader0
-	ld de, ViridianForestScriptPointers
-	ld a, [wViridianForestCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wViridianForestCurScript], a
-	ret
-
-ViridianForestScriptPointers:
-	dw CheckFightingMapTrainers
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-
-ViridianForestTextPointers:
-	dw ViridianForestText1
-	dw ViridianForestText2
-	dw ViridianForestText3
-	dw ViridianForestText4
-	dw PickUpItemText
-	dw PickUpItemText
-	dw PickUpItemText
-	dw ViridianForestText8
-	dw ViridianForestText9
-	dw ViridianForestText10
-	dw ViridianForestText11
-	dw ViridianForestText12
-	dw ViridianForestText13
-	dw ViridianForestText14
-
-ViridianForestTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0
-	dw ViridianForestBattleText1 ; TextBeforeBattle
-	dw ViridianForestAfterBattleText1 ; TextAfterBattle
-	dw ViridianForestEndBattleText1 ; TextEndBattle
-	dw ViridianForestEndBattleText1 ; TextEndBattle
-
-ViridianForestTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1
-	dw ViridianForestBattleText2 ; TextBeforeBattle
-	dw ViridianForestAfterBattleText2 ; TextAfterBattle
-	dw ViridianForestEndBattleText2 ; TextEndBattle
-	dw ViridianForestEndBattleText2 ; TextEndBattle
-
-ViridianForestTrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2
-	db ($1 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2
-	dw ViridianForestBattleText3 ; TextBeforeBattle
-	dw ViridianForestAfterBattleText3 ; TextAfterBattle
-	dw ViridianForestEndBattleText3 ; TextEndBattle
-	dw ViridianForestEndBattleText3 ; TextEndBattle
-
-	db $ff
-
-ViridianForestText1:
-	TX_FAR _ViridianForestText1
-	db "@"
-
-ViridianForestText2:
-	TX_ASM
-	ld hl, ViridianForestTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianForestText3:
-	TX_ASM
-	ld hl, ViridianForestTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianForestText4:
-	TX_ASM
-	ld hl, ViridianForestTrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianForestBattleText1:
-	TX_FAR _ViridianForestBattleText1
-	db "@"
-
-ViridianForestEndBattleText1:
-	TX_FAR _ViridianForestEndBattleText1
-	db "@"
-
-ViridianForestAfterBattleText1:
-	TX_FAR _ViridianFrstAfterBattleText1
-	db "@"
-
-ViridianForestBattleText2:
-	TX_FAR _ViridianForestBattleText2
-	db "@"
-
-ViridianForestEndBattleText2:
-	TX_FAR _ViridianForestEndBattleText2
-	db "@"
-
-ViridianForestAfterBattleText2:
-	TX_FAR _ViridianFrstAfterBattleText2
-	db "@"
-
-ViridianForestBattleText3:
-	TX_FAR _ViridianForestBattleText3
-	db "@"
-
-ViridianForestEndBattleText3:
-	TX_FAR _ViridianForestEndBattleText3
-	db "@"
-
-ViridianForestAfterBattleText3:
-	TX_FAR _ViridianFrstAfterBattleText3
-	db "@"
-
-ViridianForestText8:
-	TX_FAR _ViridianForestText8
-	db "@"
-
-ViridianForestText9:
-	TX_FAR _ViridianForestText9
-	db "@"
-
-ViridianForestText10:
-	TX_FAR _ViridianForestText10
-	db "@"
-
-ViridianForestText11:
-	TX_FAR _ViridianForestText11
-	db "@"
-
-ViridianForestText12:
-	TX_FAR _ViridianForestText12
-	db "@"
-
-ViridianForestText13:
-	TX_FAR _ViridianForestText13
-	db "@"
-
-ViridianForestText14:
-	TX_FAR _ViridianForestText14
-	db "@"
--- a/scripts/viridianforestentrance.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-ViridianForestEntranceScript:
-	jp EnableAutoTextBoxDrawing
-
-ViridianForestEntranceTextPointers:
-	dw ViridianForestEntranceText1
-	dw ViridianForestEntranceText2
-
-ViridianForestEntranceText1:
-	TX_FAR _ViridianForestEntranceText1
-	db "@"
-
-ViridianForestEntranceText2:
-	TX_FAR _ViridianForestEntranceText2
-	db "@"
--- a/scripts/viridianforestexit.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-ViridianForestExitScript:
-	jp EnableAutoTextBoxDrawing
-
-ViridianForestExitTextPointers:
-	dw ViridianForestExitText1
-	dw ViridianForestExitText2
-
-ViridianForestExitText1:
-	TX_FAR _ViridianForestExitText1
-	db "@"
-
-ViridianForestExitText2:
-	TX_FAR _ViridianForestExitText2
-	db "@"
--- a/scripts/viridiangym.asm
+++ /dev/null
@@ -1,496 +1,0 @@
-ViridianGymScript:
-	ld hl, Gym8CityName
-	ld de, Gym8LeaderName
-	call LoadGymLeaderAndCityName
-	call EnableAutoTextBoxDrawing
-	ld hl, ViridianGymTrainerHeader0
-	ld de, ViridianGymScriptPointers
-	ld a, [wViridianGymCurScript]
-	call ExecuteCurMapScriptInTable
-	ld [wViridianGymCurScript], a
-	ret
-
-Gym8CityName:
-	db "VIRIDIAN CITY@"
-Gym8LeaderName:
-	db "GIOVANNI@"
-
-ViridianGymScript_748d6:
-	xor a
-	ld [wJoyIgnore], a
-	ld [wViridianGymCurScript], a
-	ld [wCurMapScript], a
-	ret
-
-ViridianGymScriptPointers:
-	dw ViridianGymScript0
-	dw DisplayEnemyTrainerTextAndStartBattle
-	dw EndTrainerBattle
-	dw ViridianGymScript3
-	dw ViridianGymScript4
-
-ViridianGymScript0:
-	ld a, [wYCoord]
-	ld b, a
-	ld a, [wXCoord]
-	ld c, a
-	ld hl, ViridianGymArrowTilePlayerMovement
-	call DecodeArrowMovementRLE
-	cp $ff
-	jp z, CheckFightingMapTrainers
-	call StartSimulatingJoypadStates
-	ld hl, wd736
-	set 7, [hl]
-	ld a, SFX_ARROW_TILES
-	call PlaySound
-	ld a, $ff
-	ld [wJoyIgnore], a
-	ld a, $4
-	ld [wCurMapScript], a
-	ret
-
-;format:
-;db y,x
-;dw pointer to movement
-ViridianGymArrowTilePlayerMovement:
-	db $b,$13
-	dw ViridianGymArrowMovement1
-	db $1,$13
-	dw ViridianGymArrowMovement2
-	db $2,$12
-	dw ViridianGymArrowMovement3
-	db $2,$b
-	dw ViridianGymArrowMovement4
-	db $a,$10
-	dw ViridianGymArrowMovement5
-	db $6,$4
-	dw ViridianGymArrowMovement6
-	db $d,$5
-	dw ViridianGymArrowMovement7
-	db $e,$4
-	dw ViridianGymArrowMovement8
-	db $f,$0
-	dw ViridianGymArrowMovement9
-	db $f,$1
-	dw ViridianGymArrowMovement10
-	db $10,$d
-	dw ViridianGymArrowMovement11
-	db $11,$d
-	dw ViridianGymArrowMovement12
-	db $FF
-
-;format: direction, count
-ViridianGymArrowMovement1:
-	db D_UP,$09,$FF
-
-ViridianGymArrowMovement2:
-	db D_LEFT,$08,$FF
-
-ViridianGymArrowMovement3:
-	db D_DOWN,$09,$FF
-
-ViridianGymArrowMovement4:
-	db D_RIGHT,$06,$FF
-
-ViridianGymArrowMovement5:
-	db D_DOWN,$02,$FF
-
-ViridianGymArrowMovement6:
-	db D_DOWN,$07,$FF
-
-ViridianGymArrowMovement7:
-	db D_RIGHT,$08,$FF
-
-ViridianGymArrowMovement8:
-	db D_RIGHT,$09,$FF
-
-ViridianGymArrowMovement9:
-	db D_UP,$08,$FF
-
-ViridianGymArrowMovement10:
-	db D_UP,$06,$FF
-
-ViridianGymArrowMovement11:
-	db D_LEFT,$06,$FF
-
-ViridianGymArrowMovement12:
-	db D_LEFT,$0C,$FF
-
-ViridianGymScript4:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	jr nz, .asm_74980
-	xor a
-	ld [wJoyIgnore], a
-	ld hl, wd736
-	res 7, [hl]
-	ld a, $0
-	ld [wCurMapScript], a
-	ret
-.asm_74980
-	jpba LoadSpinnerArrowTiles
-
-ViridianGymScript3:
-	ld a, [wIsInBattle]
-	cp $ff
-	jp z, ViridianGymScript_748d6
-	ld a, $f0
-	ld [wJoyIgnore], a
-ViridianGymScript3_74995:
-	ld a, $c
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
-	lb bc, TM_27, 1
-	call GiveItem
-	jr nc, .BagFull
-	ld a, $d
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	SetEvent EVENT_GOT_TM27
-	jr .asm_749be
-.BagFull
-	ld a, $e
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-.asm_749be
-	ld hl, wObtainedBadges
-	set 7, [hl]
-	ld hl, wBeatGymFlags
-	set 7, [hl]
-
-	; deactivate gym trainers
-	SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7
-
-	ld a, HS_ROUTE_22_RIVAL_2
-	ld [wMissableObjectIndex], a
-	predef ShowObject
-	SetEvents EVENT_2ND_ROUTE22_RIVAL_BATTLE, EVENT_ROUTE22_RIVAL_WANTS_BATTLE
-	jp ViridianGymScript_748d6
-
-ViridianGymTextPointers:
-	dw ViridianGymText1
-	dw ViridianGymText2
-	dw ViridianGymText3
-	dw ViridianGymText4
-	dw ViridianGymText5
-	dw ViridianGymText6
-	dw ViridianGymText7
-	dw ViridianGymText8
-	dw ViridianGymText9
-	dw ViridianGymText10
-	dw PickUpItemText
-	dw ViridianGymText12
-	dw ViridianGymText13
-	dw ViridianGymText14
-
-ViridianGymTrainerHeader0:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0
-	dw ViridianGymBattleText1 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText1 ; TextAfterBattle
-	dw ViridianGymEndBattleText1 ; TextEndBattle
-	dw ViridianGymEndBattleText1 ; TextEndBattle
-
-ViridianGymTrainerHeader1:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1
-	dw ViridianGymBattleText2 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText2 ; TextAfterBattle
-	dw ViridianGymEndBattleText2 ; TextEndBattle
-	dw ViridianGymEndBattleText2 ; TextEndBattle
-
-ViridianGymTrainerHeader2:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2
-	dw ViridianGymBattleText3 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText3 ; TextAfterBattle
-	dw ViridianGymEndBattleText3 ; TextEndBattle
-	dw ViridianGymEndBattleText3 ; TextEndBattle
-
-ViridianGymTrainerHeader3:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3
-	db ($2 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3
-	dw ViridianGymBattleText4 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText4 ; TextAfterBattle
-	dw ViridianGymEndBattleText4 ; TextEndBattle
-	dw ViridianGymEndBattleText4 ; TextEndBattle
-
-ViridianGymTrainerHeader4:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4
-	dw ViridianGymBattleText5 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText5 ; TextAfterBattle
-	dw ViridianGymEndBattleText5 ; TextEndBattle
-	dw ViridianGymEndBattleText5 ; TextEndBattle
-
-ViridianGymTrainerHeader5:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5
-	dw ViridianGymBattleText6 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText6 ; TextAfterBattle
-	dw ViridianGymEndBattleText6 ; TextEndBattle
-	dw ViridianGymEndBattleText6 ; TextEndBattle
-
-ViridianGymTrainerHeader6:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1
-	db ($3 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1
-	dw ViridianGymBattleText7 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText7 ; TextAfterBattle
-	dw ViridianGymEndBattleText7 ; TextEndBattle
-	dw ViridianGymEndBattleText7 ; TextEndBattle
-
-ViridianGymTrainerHeader7:
-	dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1
-	db ($4 << 4) ; trainer's view range
-	dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1
-	dw ViridianGymBattleText8 ; TextBeforeBattle
-	dw ViridianGymAfterBattleText8 ; TextAfterBattle
-	dw ViridianGymEndBattleText8 ; TextEndBattle
-	dw ViridianGymEndBattleText8 ; TextEndBattle
-
-	db $ff
-
-ViridianGymText1:
-	TX_ASM
-	CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
-	jr z, .asm_6de66
-	CheckEventReuseA EVENT_GOT_TM27
-	jr nz, .asm_9fc95
-	call z, ViridianGymScript3_74995
-	call DisableWaitingAfterTextDisplay
-	jr .asm_6dff7
-.asm_9fc95
-	ld a, $1
-	ld [wDoNotWaitForButtonPressAfterDisplayingText], a
-	ld hl, ViridianGymText_74ad9
-	call PrintText
-	call GBFadeOutToBlack
-	ld a, HS_VIRIDIAN_GYM_GIOVANNI
-	ld [wMissableObjectIndex], a
-	predef HideObject
-	call UpdateSprites
-	call Delay3
-	call GBFadeInFromBlack
-	jr .asm_6dff7
-.asm_6de66
-	ld hl, ViridianGymText_74ace
-	call PrintText
-	ld hl, wd72d
-	set 6, [hl]
-	set 7, [hl]
-	ld hl, ViridianGymText_74ad3
-	ld de, ViridianGymText_74ad3
-	call SaveEndBattleTextPointers
-	ld a, [H_SPRITEINDEX]
-	ld [wSpriteIndex], a
-	call EngageMapTrainer
-	call InitBattleEnemyParameters
-	ld a, $8
-	ld [wGymLeaderNo], a
-	ld a, $3
-	ld [wViridianGymCurScript], a
-.asm_6dff7
-	jp TextScriptEnd
-
-ViridianGymText_74ace:
-	TX_FAR _ViridianGymText_74ace
-	db "@"
-
-ViridianGymText_74ad3:
-	TX_FAR _ViridianGymText_74ad3
-	TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded
-	db "@"
-
-ViridianGymText_74ad9:
-	TX_FAR _ViridianGymText_74ad9
-	TX_WAIT
-	db "@"
-
-ViridianGymText12:
-	TX_FAR _ViridianGymText12
-	db "@"
-
-ViridianGymText13:
-	TX_FAR _ReceivedTM27Text
-	TX_SFX_ITEM_1
-
-TM27ExplanationText:
-	TX_FAR _TM27ExplanationText
-	db "@"
-
-ViridianGymText14:
-	TX_FAR _TM27NoRoomText
-	db "@"
-
-ViridianGymText2:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader0
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText1:
-	TX_FAR _ViridianGymBattleText1
-	db "@"
-
-ViridianGymEndBattleText1:
-	TX_FAR _ViridianGymEndBattleText1
-	db "@"
-
-ViridianGymAfterBattleText1:
-	TX_FAR _ViridianGymAfterBattleText1
-	db "@"
-
-ViridianGymText3:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader1
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText2:
-	TX_FAR _ViridianGymBattleText2
-	db "@"
-
-ViridianGymEndBattleText2:
-	TX_FAR _ViridianGymEndBattleText2
-	db "@"
-
-ViridianGymAfterBattleText2:
-	TX_FAR _ViridianGymAfterBattleText2
-	db "@"
-
-ViridianGymText4:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader2
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText3:
-	TX_FAR _ViridianGymBattleText3
-	db "@"
-
-ViridianGymEndBattleText3:
-	TX_FAR _ViridianGymEndBattleText3
-	db "@"
-
-ViridianGymAfterBattleText3:
-	TX_FAR _ViridianGymAfterBattleText3
-	db "@"
-
-ViridianGymText5:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader3
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText4:
-	TX_FAR _ViridianGymBattleText4
-	db "@"
-
-ViridianGymEndBattleText4:
-	TX_FAR _ViridianGymEndBattleText4
-	db "@"
-
-ViridianGymAfterBattleText4:
-	TX_FAR _ViridianGymAfterBattleText4
-	db "@"
-
-ViridianGymText6:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader4
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText5:
-	TX_FAR _ViridianGymBattleText5
-	db "@"
-
-ViridianGymEndBattleText5:
-	TX_FAR _ViridianGymEndBattleText5
-	db "@"
-
-ViridianGymAfterBattleText5:
-	TX_FAR _ViridianGymAfterBattleText5
-	db "@"
-
-ViridianGymText7:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader5
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText6:
-	TX_FAR _ViridianGymBattleText6
-	db "@"
-
-ViridianGymEndBattleText6:
-	TX_FAR _ViridianGymEndBattleText6
-	db "@"
-
-ViridianGymAfterBattleText6:
-	TX_FAR _ViridianGymAfterBattleText6
-	db "@"
-
-ViridianGymText8:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader6
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText7:
-	TX_FAR _ViridianGymBattleText7
-	db "@"
-
-ViridianGymEndBattleText7:
-	TX_FAR _ViridianGymEndBattleText7
-	db "@"
-
-ViridianGymAfterBattleText7:
-	TX_FAR _ViridianGymAfterBattleText7
-	db "@"
-
-ViridianGymText9:
-	TX_ASM
-	ld hl, ViridianGymTrainerHeader7
-	call TalkToTrainer
-	jp TextScriptEnd
-
-ViridianGymBattleText8:
-	TX_FAR _ViridianGymBattleText8
-	db "@"
-
-ViridianGymEndBattleText8:
-	TX_FAR _ViridianGymEndBattleText8
-	db "@"
-
-ViridianGymAfterBattleText8:
-	TX_FAR _ViridianGymAfterBattleText8
-	db "@"
-
-ViridianGymText10:
-	TX_ASM
-	CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI
-	jr nz, .asm_1abd1
-	ld hl, ViridianGymText_74bd4
-	call PrintText
-	jr .asm_6064d
-.asm_1abd1
-	ld hl, ViridianGymText_74bd9
-	call PrintText
-.asm_6064d
-	jp TextScriptEnd
-
-ViridianGymText_74bd4:
-	TX_FAR _ViridianGymText_74bd4
-	db "@"
-
-ViridianGymText_74bd9:
-	TX_FAR _ViridianGymText_74bd9
-	db "@"
--- a/scripts/viridianhouse.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-ViridianHouseScript:
-	jp EnableAutoTextBoxDrawing
-
-ViridianHouseTextPointers:
-	dw ViridianHouseText1
-	dw ViridianHouseText2
-	dw ViridianHouseText3
-	dw ViridianHouseText4
-
-ViridianHouseText1:
-	TX_FAR _ViridianHouseText1
-	db "@"
-
-ViridianHouseText2:
-	TX_FAR _ViridianHouseText2
-	db "@"
-
-ViridianHouseText3:
-	TX_ASM
-	ld hl, ViridianHouseText_1d5b1
-	call PrintText
-	ld a, SPEAROW
-	call PlayCry
-	call WaitForSoundToFinish
-	jp TextScriptEnd
-
-ViridianHouseText_1d5b1:
-	TX_FAR _ViridianHouseText_1d5b1
-	db "@"
-
-ViridianHouseText4:
-	TX_FAR _ViridianHouseText4
-	db "@"
--- a/scripts/viridianmart.asm
+++ /dev/null
@@ -1,93 +1,0 @@
-ViridianMartScript:
-	call ViridianMartScript_1d47d
-	call EnableAutoTextBoxDrawing
-	ld hl, ViridianMartScriptPointers
-	ld a, [wViridianMarketCurScript]
-	jp CallFunctionInTable
-
-ViridianMartScript_1d47d:
-	CheckEvent EVENT_OAK_GOT_PARCEL
-	jr nz, .asm_1d489
-	ld hl, ViridianMartTextPointers
-	jr .asm_1d48c
-.asm_1d489
-	ld hl, ViridianMartTextPointers + $a ; starts at ViridianMartText6
-.asm_1d48c
-	ld a, l
-	ld [wMapTextPtr], a
-	ld a, h
-	ld [wMapTextPtr+1], a
-	ret
-
-ViridianMartScriptPointers:
-	dw ViridianMartScript0
-	dw ViridianMartScript1
-	dw ViridianMartScript2
-
-ViridianMartScript0:
-	call UpdateSprites
-	ld a, $4
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	ld hl, wSimulatedJoypadStatesEnd
-	ld de, RLEMovement1d4bb
-	call DecodeRLEList
-	dec a
-	ld [wSimulatedJoypadStatesIndex], a
-	call StartSimulatingJoypadStates
-	ld a, $1
-	ld [wViridianMarketCurScript], a
-	ret
-
-RLEMovement1d4bb:
-	db D_LEFT, $01
-	db D_UP, $02
-	db $ff
-
-ViridianMartScript1:
-	ld a, [wSimulatedJoypadStatesIndex]
-	and a
-	ret nz
-	call Delay3
-	ld a, $5
-	ld [hSpriteIndexOrTextID], a
-	call DisplayTextID
-	lb bc, OAKS_PARCEL, 1
-	call GiveItem
-	SetEvent EVENT_GOT_OAKS_PARCEL
-	ld a, $2
-	ld [wViridianMarketCurScript], a
-	; fallthrough
-ViridianMartScript2:
-	ret
-
-ViridianMartTextPointers:
-	dw ViridianMartText1
-	dw ViridianMartText2
-	dw ViridianMartText3
-	dw ViridianMartText4
-	dw ViridianMartText5
-	dw ViridianCashierText
-	dw ViridianMartText2
-	dw ViridianMartText3
-
-ViridianMartText1:
-	TX_FAR _ViridianMartText1
-	db "@"
-
-ViridianMartText4:
-	TX_FAR _ViridianMartText4
-	db "@"
-
-ViridianMartText5:
-	TX_FAR ViridianMartParcelQuestText
-	TX_SFX_KEY_ITEM
-	db "@"
-
-ViridianMartText2:
-	TX_FAR _ViridianMartText2
-	db "@"
-
-ViridianMartText3:
-	TX_FAR _ViridianMartText3
-	db "@"
--- a/scripts/viridianpokecenter.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-ViridianPokeCenterScript:
-	call Serial_TryEstablishingExternallyClockedConnection
-	jp EnableAutoTextBoxDrawing
-
-ViridianPokecenterTextPointers:
-	dw ViridianHealNurseText
-	dw ViridianPokeCenterText2
-	dw ViridianPokeCenterText3
-	dw ViridianTradeNurseText
-
-ViridianHealNurseText:
-	TX_POKECENTER_NURSE
-
-ViridianPokeCenterText2:
-	TX_FAR _ViridianPokeCenterText2
-	db "@"
-
-ViridianPokeCenterText3:
-	TX_FAR _ViridianPokeCenterText3
-	db "@"
-
-ViridianTradeNurseText:
-	TX_CABLE_CLUB_RECEPTIONIST
--- a/text.asm
+++ b/text.asm
@@ -1,5 +1,7 @@
 INCLUDE "charmap.asm"
+
 INCLUDE "constants/text_constants.asm"
+
 TEXT_1  EQU $20
 TEXT_2  EQU TEXT_1 + 1
 TEXT_3  EQU TEXT_2 + 1
@@ -16,6 +18,7 @@
 MOVE_NAMES   EQU POKEDEX_TEXT + 1
 
 INCLUDE "macros.asm"
+
 INCLUDE "hram.asm"
 
 
@@ -167,67 +170,67 @@
 	text "."
 	done
 
-INCLUDE "text/maps/viridian_forest.asm"
-INCLUDE "text/maps/mt_moon_1f.asm"
-INCLUDE "text/maps/mt_moon_b1f.asm"
-INCLUDE "text/maps/mt_moon_b2f.asm"
-INCLUDE "text/maps/ss_anne_1.asm"
-INCLUDE "text/maps/ss_anne_2.asm"
-INCLUDE "text/maps/ss_anne_3.asm"
-INCLUDE "text/maps/ss_anne_5.asm"
-INCLUDE "text/maps/ss_anne_6.asm"
-INCLUDE "text/maps/ss_anne_7.asm"
-INCLUDE "text/maps/ss_anne_8.asm"
-INCLUDE "text/maps/ss_anne_9.asm"
-INCLUDE "text/maps/ss_anne_10.asm"
-INCLUDE "text/maps/victory_road_3f.asm"
-INCLUDE "text/maps/rocket_hideout_b1f.asm"
-INCLUDE "text/maps/rocket_hideout_b2f.asm"
-INCLUDE "text/maps/rocket_hideout_b3f.asm"
-INCLUDE "text/maps/rocket_hideout_b4f.asm"
-INCLUDE "text/maps/rocket_hideout_elevator.asm"
-INCLUDE "text/maps/silph_co_2f.asm"
-INCLUDE "text/maps/silph_co_3f.asm"
-INCLUDE "text/maps/silph_co_4f.asm"
-INCLUDE "text/maps/silph_co_5f_1.asm"
+INCLUDE "text/maps/ViridianForest.asm"
+INCLUDE "text/maps/MtMoon1F.asm"
+INCLUDE "text/maps/MtMoonB1F.asm"
+INCLUDE "text/maps/MtMoonB2F.asm"
+INCLUDE "text/maps/SSAnne1F.asm"
+INCLUDE "text/maps/SSAnne2F.asm"
+INCLUDE "text/maps/SSAnne3F.asm"
+INCLUDE "text/maps/SSAnneBow.asm"
+INCLUDE "text/maps/SSAnneKitchen.asm"
+INCLUDE "text/maps/SSAnneCaptainsRoom.asm"
+INCLUDE "text/maps/SSAnne1FRooms.asm"
+INCLUDE "text/maps/SSAnne2FRooms.asm"
+INCLUDE "text/maps/SSAnneB1FRooms.asm"
+INCLUDE "text/maps/VictoryRoad3F.asm"
+INCLUDE "text/maps/RocketHideoutB1F.asm"
+INCLUDE "text/maps/RocketHideoutB2F.asm"
+INCLUDE "text/maps/RocketHideoutB3F.asm"
+INCLUDE "text/maps/RocketHideoutB4F.asm"
+INCLUDE "text/maps/RocketHideoutElevator.asm"
+INCLUDE "text/maps/SilphCo2F.asm"
+INCLUDE "text/maps/SilphCo3F.asm"
+INCLUDE "text/maps/SilphCo4F.asm"
+INCLUDE "text/maps/SilphCo5F.asm"
 
 
 SECTION "Text 2", ROMX ; BANK $21
 
-INCLUDE "text/maps/silph_co_5f_2.asm"
-INCLUDE "text/maps/silph_co_6f.asm"
-INCLUDE "text/maps/silph_co_7f.asm"
-INCLUDE "text/maps/silph_co_8f.asm"
-INCLUDE "text/maps/silph_co_9f.asm"
-INCLUDE "text/maps/silph_co_10f.asm"
-INCLUDE "text/maps/silph_co_11f.asm"
-INCLUDE "text/maps/mansion_2f.asm"
-INCLUDE "text/maps/mansion_3f.asm"
-INCLUDE "text/maps/mansion_b1f.asm"
-INCLUDE "text/maps/safari_zone_east.asm"
-INCLUDE "text/maps/safari_zone_north.asm"
-INCLUDE "text/maps/safari_zone_west.asm"
-INCLUDE "text/maps/safari_zone_center.asm"
-INCLUDE "text/maps/safari_zone_rest_house_1.asm"
-INCLUDE "text/maps/safari_zone_secret_house.asm"
-INCLUDE "text/maps/safari_zone_rest_house_2.asm"
-INCLUDE "text/maps/safari_zone_rest_house_3.asm"
-INCLUDE "text/maps/safari_zone_rest_house_4.asm"
-INCLUDE "text/maps/unknown_dungeon_b1f.asm"
-INCLUDE "text/maps/victory_road_1f.asm"
-INCLUDE "text/maps/lance.asm"
-INCLUDE "text/maps/hall_of_fame.asm"
-INCLUDE "text/maps/champion.asm"
-INCLUDE "text/maps/lorelei.asm"
-INCLUDE "text/maps/bruno.asm"
-INCLUDE "text/maps/agatha.asm"
-INCLUDE "text/maps/rock_tunnel_b2f_1.asm"
+INCLUDE "text/maps/SilphCo5F_2.asm"
+INCLUDE "text/maps/SilphCo6F.asm"
+INCLUDE "text/maps/SilphCo7F.asm"
+INCLUDE "text/maps/SilphCo8F.asm"
+INCLUDE "text/maps/SilphCo9F.asm"
+INCLUDE "text/maps/SilphCo10F.asm"
+INCLUDE "text/maps/SilphCo11F.asm"
+INCLUDE "text/maps/PokemonMansion2F.asm"
+INCLUDE "text/maps/PokemonMansion3F.asm"
+INCLUDE "text/maps/PokemonMansionB1F.asm"
+INCLUDE "text/maps/SafariZoneEast.asm"
+INCLUDE "text/maps/SafariZoneNorth.asm"
+INCLUDE "text/maps/SafariZoneWest.asm"
+INCLUDE "text/maps/SafariZoneCenter.asm"
+INCLUDE "text/maps/SafariZoneCenterRestHouse.asm"
+INCLUDE "text/maps/SafariZoneSecretHouse.asm"
+INCLUDE "text/maps/SafariZoneWestRestHouse.asm"
+INCLUDE "text/maps/SafariZoneEastRestHouse.asm"
+INCLUDE "text/maps/SafariZoneNorthRestHouse.asm"
+INCLUDE "text/maps/CeruleanCaveB1F.asm"
+INCLUDE "text/maps/VictoryRoad1F.asm"
+INCLUDE "text/maps/LancesRoom.asm"
+INCLUDE "text/maps/HallOfFame.asm"
+INCLUDE "text/maps/ChampionsRoom.asm"
+INCLUDE "text/maps/LoreleisRoom.asm"
+INCLUDE "text/maps/BrunosRoom.asm"
+INCLUDE "text/maps/AgathasRoom.asm"
+INCLUDE "text/maps/RockTunnelB1F.asm"
 
 
 SECTION "Text 3", ROMX ; BANK $22
 
-INCLUDE "text/maps/rock_tunnel_b2f_2.asm"
-INCLUDE "text/maps/seafoam_islands_b4f.asm"
+INCLUDE "text/maps/RockTunnelB1F_2.asm"
+INCLUDE "text/maps/SeafoamIslandsB4F.asm"
 
 _AIBattleWithdrawText::
 	TX_RAM wTrainerName
@@ -1531,7 +1534,7 @@
 _SafariZoneEatingText::
 	text "Wild @"
 	TX_RAM wEnemyMonNick
-	db $0
+	text ""
 	line "is eating!"
 	prompt
 
@@ -1538,7 +1541,7 @@
 _SafariZoneAngryText::
 	text "Wild @"
 	TX_RAM wEnemyMonNick
-	db $0
+	text ""
 	line "is angry!"
 	prompt
 
@@ -1929,77 +1932,77 @@
 _Char55Text::
 	text $4B,"@@"
 
-INCLUDE "text/maps/digletts_cave_route_2_entrance.asm"
-INCLUDE "text/maps/viridian_forest_exit.asm"
-INCLUDE "text/maps/route_2_house.asm"
-INCLUDE "text/maps/route_2_gate.asm"
-INCLUDE "text/maps/viridian_forest_entrance.asm"
-INCLUDE "text/maps/mt_moon_pokecenter.asm"
-INCLUDE "text/maps/saffron_gates.asm"
-INCLUDE "text/maps/daycare_1.asm"
+INCLUDE "text/maps/DiglettsCaveRoute2.asm"
+INCLUDE "text/maps/ViridianForestNorthGate.asm"
+INCLUDE "text/maps/Route2TradeHouse.asm"
+INCLUDE "text/maps/Route2Gate.asm"
+INCLUDE "text/maps/ViridianForestSouthGate.asm"
+INCLUDE "text/maps/MtMoonPokecenter.asm"
+INCLUDE "text/maps/SaffronGates.asm"
+INCLUDE "text/maps/Daycare.asm"
 
 
 SECTION "Text 4", ROMX ; BANK $23
 
-INCLUDE "text/maps/daycare_2.asm"
-INCLUDE "text/maps/underground_path_route_6_entrance.asm"
-INCLUDE "text/maps/underground_path_route_7_entrance.asm"
-INCLUDE "text/maps/underground_path_route_7_entrance_unused.asm"
-INCLUDE "text/maps/underground_path_route_8_entrance.asm"
-INCLUDE "text/maps/rock_tunnel_pokecenter.asm"
-INCLUDE "text/maps/rock_tunnel_b1f.asm"
-INCLUDE "text/maps/power_plant.asm"
-INCLUDE "text/maps/route_11_gate.asm"
-INCLUDE "text/maps/route_11_gate_upstairs.asm"
-INCLUDE "text/maps/digletts_cave_route_11_entrance.asm"
-INCLUDE "text/maps/route_12_gate.asm"
-INCLUDE "text/maps/route_12_gate_upstairs.asm"
-INCLUDE "text/maps/route_12_house.asm"
-INCLUDE "text/maps/route_15_gate.asm"
-INCLUDE "text/maps/route_15_gate_upstairs.asm"
-INCLUDE "text/maps/route_16_gate.asm"
-INCLUDE "text/maps/route_16_gate_upstairs.asm"
-INCLUDE "text/maps/route_16_house.asm"
-INCLUDE "text/maps/route_18_gate.asm"
-INCLUDE "text/maps/route_18_gate_upstairs.asm"
-INCLUDE "text/maps/pokemon_league_gate.asm"
-INCLUDE "text/maps/victory_road_2f.asm"
-INCLUDE "text/maps/bills_house.asm"
-INCLUDE "text/maps/route_1.asm"
-INCLUDE "text/maps/route_2.asm"
-INCLUDE "text/maps/route_3.asm"
-INCLUDE "text/maps/route_4.asm"
-INCLUDE "text/maps/route_5.asm"
-INCLUDE "text/maps/route_6.asm"
-INCLUDE "text/maps/route_7.asm"
-INCLUDE "text/maps/route_8.asm"
-INCLUDE "text/maps/route_9.asm"
-INCLUDE "text/maps/route_10.asm"
-INCLUDE "text/maps/route_11_1.asm"
+INCLUDE "text/maps/Daycare_2.asm"
+INCLUDE "text/maps/UndergroundPathRoute6.asm"
+INCLUDE "text/maps/UndergroundPathRoute7.asm"
+INCLUDE "text/maps/UndergroundPathRoute7Copy.asm"
+INCLUDE "text/maps/UndergroundPathRoute8.asm"
+INCLUDE "text/maps/RockTunnelPokecenter.asm"
+INCLUDE "text/maps/RockTunnel1F.asm"
+INCLUDE "text/maps/PowerPlant.asm"
+INCLUDE "text/maps/Route11Gate1F.asm"
+INCLUDE "text/maps/Route11Gate2F.asm"
+INCLUDE "text/maps/DiglettsCaveRoute11.asm"
+INCLUDE "text/maps/Route12Gate1F.asm"
+INCLUDE "text/maps/Route12Gate2F.asm"
+INCLUDE "text/maps/Route12SuperRodHouse.asm"
+INCLUDE "text/maps/Route15Gate1F.asm"
+INCLUDE "text/maps/Route15Gate2F.asm"
+INCLUDE "text/maps/Route16Gate1F.asm"
+INCLUDE "text/maps/Route16Gate2F.asm"
+INCLUDE "text/maps/Route16FlyHouse.asm"
+INCLUDE "text/maps/Route18Gate1F.asm"
+INCLUDE "text/maps/Route18Gate2F.asm"
+INCLUDE "text/maps/Route22Gate.asm"
+INCLUDE "text/maps/VictoryRoad2F.asm"
+INCLUDE "text/maps/BillsHouse.asm"
+INCLUDE "text/maps/Route1.asm"
+INCLUDE "text/maps/Route2.asm"
+INCLUDE "text/maps/Route3.asm"
+INCLUDE "text/maps/Route4.asm"
+INCLUDE "text/maps/Route5.asm"
+INCLUDE "text/maps/Route6.asm"
+INCLUDE "text/maps/Route7.asm"
+INCLUDE "text/maps/Route8.asm"
+INCLUDE "text/maps/Route9.asm"
+INCLUDE "text/maps/Route10.asm"
+INCLUDE "text/maps/Route11.asm"
 
 
 SECTION "Text 5", ROMX ; BANK $24
 
-INCLUDE "text/maps/route_11_2.asm"
-INCLUDE "text/maps/route_12.asm"
-INCLUDE "text/maps/route_13.asm"
-INCLUDE "text/maps/route_14.asm"
-INCLUDE "text/maps/route_15.asm"
-INCLUDE "text/maps/route_16.asm"
-INCLUDE "text/maps/route_17.asm"
-INCLUDE "text/maps/route_18.asm"
-INCLUDE "text/maps/route_19.asm"
-INCLUDE "text/maps/route_20.asm"
-INCLUDE "text/maps/route_21.asm"
-INCLUDE "text/maps/route_22.asm"
-INCLUDE "text/maps/route_23.asm"
-INCLUDE "text/maps/route_24_1.asm"
+INCLUDE "text/maps/Route11_2.asm"
+INCLUDE "text/maps/Route12.asm"
+INCLUDE "text/maps/Route13.asm"
+INCLUDE "text/maps/Route14.asm"
+INCLUDE "text/maps/Route15.asm"
+INCLUDE "text/maps/Route16.asm"
+INCLUDE "text/maps/Route17.asm"
+INCLUDE "text/maps/Route18.asm"
+INCLUDE "text/maps/Route19.asm"
+INCLUDE "text/maps/Route20.asm"
+INCLUDE "text/maps/Route21.asm"
+INCLUDE "text/maps/Route22.asm"
+INCLUDE "text/maps/Route23.asm"
+INCLUDE "text/maps/Route24.asm"
 
 
 SECTION "Text 6", ROMX ; BANK $25
 
-INCLUDE "text/maps/route_24_2.asm"
-INCLUDE "text/maps/route_25.asm"
+INCLUDE "text/maps/Route24_2.asm"
+INCLUDE "text/maps/Route25.asm"
 
 _FileDataDestroyedText::
 	text "The file data is"
@@ -2326,106 +2329,106 @@
 	text "!"
 	done
 
-INCLUDE "text/maps/reds_house_1f.asm"
-INCLUDE "text/maps/blues_house.asm"
-INCLUDE "text/maps/oaks_lab.asm"
-INCLUDE "text/maps/viridian_pokecenter.asm"
-INCLUDE "text/maps/viridian_mart.asm"
-INCLUDE "text/maps/school.asm"
-INCLUDE "text/maps/viridian_house.asm"
-INCLUDE "text/maps/viridian_gym.asm"
-INCLUDE "text/maps/museum_1f.asm"
-INCLUDE "text/maps/museum_2f.asm"
-INCLUDE "text/maps/pewter_gym_1.asm"
+INCLUDE "text/maps/RedsHouse1F.asm"
+INCLUDE "text/maps/BluesHouse.asm"
+INCLUDE "text/maps/OaksLab.asm"
+INCLUDE "text/maps/ViridianPokecenter.asm"
+INCLUDE "text/maps/ViridianMart.asm"
+INCLUDE "text/maps/ViridianSchoolHouse.asm"
+INCLUDE "text/maps/ViridianNicknameHouse.asm"
+INCLUDE "text/maps/ViridianGym.asm"
+INCLUDE "text/maps/Museum1F.asm"
+INCLUDE "text/maps/Museum2F.asm"
+INCLUDE "text/maps/PewterGym.asm"
 
 
 SECTION "Text 7", ROMX ; BANK $26
 
-INCLUDE "text/maps/pewter_gym_2.asm"
-INCLUDE "text/maps/pewter_house_1.asm"
-INCLUDE "text/maps/pewter_mart.asm"
-INCLUDE "text/maps/pewter_house_2.asm"
-INCLUDE "text/maps/pewter_pokecenter.asm"
-INCLUDE "text/maps/cerulean_trashed_house.asm"
-INCLUDE "text/maps/cerulean_trade_house.asm"
-INCLUDE "text/maps/cerulean_pokecenter.asm"
-INCLUDE "text/maps/cerulean_gym.asm"
-INCLUDE "text/maps/bike_shop.asm"
-INCLUDE "text/maps/cerulean_mart.asm"
-INCLUDE "text/maps/cerulean_badge_house.asm"
-INCLUDE "text/maps/lavender_pokecenter.asm"
-INCLUDE "text/maps/pokemon_tower_1f.asm"
-INCLUDE "text/maps/pokemon_tower_2f.asm"
-INCLUDE "text/maps/pokemon_tower_3f.asm"
-INCLUDE "text/maps/pokemon_tower_4f.asm"
-INCLUDE "text/maps/pokemon_tower_5f.asm"
-INCLUDE "text/maps/pokemon_tower_6f.asm"
-INCLUDE "text/maps/pokemon_tower_7f.asm"
-INCLUDE "text/maps/fujis_house.asm"
-INCLUDE "text/maps/lavender_mart.asm"
-INCLUDE "text/maps/lavender_house.asm"
-INCLUDE "text/maps/name_rater.asm"
-INCLUDE "text/maps/vermilion_pokecenter.asm"
-INCLUDE "text/maps/fan_club.asm"
-INCLUDE "text/maps/vermilion_mart.asm"
-INCLUDE "text/maps/vermilion_gym_1.asm"
+INCLUDE "text/maps/PewterGym_2.asm"
+INCLUDE "text/maps/PewterNidoranHouse.asm"
+INCLUDE "text/maps/PewterMart.asm"
+INCLUDE "text/maps/PewterSpeechHouse.asm"
+INCLUDE "text/maps/PewterPokecenter.asm"
+INCLUDE "text/maps/CeruleanTrashedHouse.asm"
+INCLUDE "text/maps/CeruleanTradeHouse.asm"
+INCLUDE "text/maps/CeruleanPokecenter.asm"
+INCLUDE "text/maps/CeruleanGym.asm"
+INCLUDE "text/maps/BikeShop.asm"
+INCLUDE "text/maps/CeruleanMart.asm"
+INCLUDE "text/maps/CeruleanBadgeHouse.asm"
+INCLUDE "text/maps/LavenderPokecenter.asm"
+INCLUDE "text/maps/PokemonTower1F.asm"
+INCLUDE "text/maps/PokemonTower2F.asm"
+INCLUDE "text/maps/PokemonTower3F.asm"
+INCLUDE "text/maps/PokemonTower4F.asm"
+INCLUDE "text/maps/PokemonTower5F.asm"
+INCLUDE "text/maps/PokemonTower6F.asm"
+INCLUDE "text/maps/PokemonTower7F.asm"
+INCLUDE "text/maps/MrFujisHouse.asm"
+INCLUDE "text/maps/LavenderMart.asm"
+INCLUDE "text/maps/LavenderCuboneHouse.asm"
+INCLUDE "text/maps/NameRatersHouse.asm"
+INCLUDE "text/maps/VermilionPokecenter.asm"
+INCLUDE "text/maps/PokemonFanClub.asm"
+INCLUDE "text/maps/VermilionMart.asm"
+INCLUDE "text/maps/VermilionGym.asm"
 
 
 SECTION "Text 8", ROMX ; BANK $27
 
-INCLUDE "text/maps/vermilion_gym_2.asm"
-INCLUDE "text/maps/vermilion_house.asm"
-INCLUDE "text/maps/vermilion_dock.asm"
-INCLUDE "text/maps/vermilion_fishing_house.asm"
-INCLUDE "text/maps/celadon_dept_store_1f.asm"
-INCLUDE "text/maps/celadon_dept_store_2f.asm"
-INCLUDE "text/maps/celadon_dept_store_3f.asm"
-INCLUDE "text/maps/celadon_dept_store_4f.asm"
-INCLUDE "text/maps/celadon_dept_store_roof.asm"
-INCLUDE "text/maps/celadon_mansion_1f.asm"
-INCLUDE "text/maps/celadon_mansion_2f.asm"
-INCLUDE "text/maps/celadon_mansion_3f.asm"
-INCLUDE "text/maps/celadon_mansion_4f_outside.asm"
-INCLUDE "text/maps/celadon_mansion_4f_inside.asm"
-INCLUDE "text/maps/celadon_pokecenter.asm"
-INCLUDE "text/maps/celadon_gym.asm"
-INCLUDE "text/maps/celadon_game_corner.asm"
-INCLUDE "text/maps/celadon_dept_store_5f.asm"
-INCLUDE "text/maps/celadon_prize_room.asm"
-INCLUDE "text/maps/celadon_diner.asm"
-INCLUDE "text/maps/celadon_house.asm"
-INCLUDE "text/maps/celadon_hotel.asm"
-INCLUDE "text/maps/fuchsia_mart.asm"
-INCLUDE "text/maps/fuchsia_house.asm"
-INCLUDE "text/maps/fuchsia_pokecenter.asm"
-INCLUDE "text/maps/wardens_house.asm"
-INCLUDE "text/maps/safari_zone_entrance.asm"
-INCLUDE "text/maps/fuchsia_gym_1.asm"
+INCLUDE "text/maps/VermilionGym_2.asm"
+INCLUDE "text/maps/VermilionPidgeyHouse.asm"
+INCLUDE "text/maps/VermilionDock.asm"
+INCLUDE "text/maps/VermilionOldRodHouse.asm"
+INCLUDE "text/maps/CeladonMart1F.asm"
+INCLUDE "text/maps/CeladonMart2F.asm"
+INCLUDE "text/maps/CeladonMart3F.asm"
+INCLUDE "text/maps/CeladonMart4F.asm"
+INCLUDE "text/maps/CeladonMartRoof.asm"
+INCLUDE "text/maps/CeladonMansion1F.asm"
+INCLUDE "text/maps/CeladonMansion2F.asm"
+INCLUDE "text/maps/CeladonMansion3F.asm"
+INCLUDE "text/maps/CeladonMansionRoof.asm"
+INCLUDE "text/maps/CeladonMansionRoofHouse.asm"
+INCLUDE "text/maps/CeladonPokecenter.asm"
+INCLUDE "text/maps/CeladonGym.asm"
+INCLUDE "text/maps/GameCorner.asm"
+INCLUDE "text/maps/CeladonMart5F.asm"
+INCLUDE "text/maps/GameCornerPrizeRoom.asm"
+INCLUDE "text/maps/CeladonDiner.asm"
+INCLUDE "text/maps/CeladonChiefHouse.asm"
+INCLUDE "text/maps/CeladonHotel.asm"
+INCLUDE "text/maps/FuchsiaMart.asm"
+INCLUDE "text/maps/FuchsiaBillsGrandpasHouse.asm"
+INCLUDE "text/maps/FuchsiaPokecenter.asm"
+INCLUDE "text/maps/WardensHouse.asm"
+INCLUDE "text/maps/SafariZoneGate.asm"
+INCLUDE "text/maps/FuchsiaGym.asm"
 
 
 SECTION "Text 9", ROMX ; BANK $28
 
-INCLUDE "text/maps/fuchsia_gym_2.asm"
-INCLUDE "text/maps/fuchsia_meeting_room.asm"
-INCLUDE "text/maps/fuchsia_fishing_house.asm"
-INCLUDE "text/maps/mansion_1f.asm"
-INCLUDE "text/maps/cinnabar_gym.asm"
-INCLUDE "text/maps/cinnabar_lab.asm"
-INCLUDE "text/maps/cinnabar_lab_trade_room.asm"
-INCLUDE "text/maps/cinnabar_lab_metronome_room.asm"
-INCLUDE "text/maps/cinnabar_lab_fossil_room.asm"
-INCLUDE "text/maps/cinnabar_pokecenter.asm"
-INCLUDE "text/maps/cinnabar_mart.asm"
-INCLUDE "text/maps/indigo_plateau_lobby.asm"
-INCLUDE "text/maps/copycats_house_1f.asm"
-INCLUDE "text/maps/copycats_house_2f.asm"
-INCLUDE "text/maps/fighting_dojo.asm"
-INCLUDE "text/maps/saffron_gym.asm"
-INCLUDE "text/maps/saffron_house.asm"
-INCLUDE "text/maps/saffron_mart.asm"
-INCLUDE "text/maps/silph_co_1f.asm"
-INCLUDE "text/maps/saffron_pokecenter.asm"
-INCLUDE "text/maps/mr_psychics_house.asm"
+INCLUDE "text/maps/FuchsiaGym_2.asm"
+INCLUDE "text/maps/FuchsiaMeetingRoom.asm"
+INCLUDE "text/maps/FuchsiaGoodRodHouse.asm"
+INCLUDE "text/maps/PokemonMansion1F.asm"
+INCLUDE "text/maps/CinnabarGym.asm"
+INCLUDE "text/maps/CinnabarLab.asm"
+INCLUDE "text/maps/CinnabarLabTradeRoom.asm"
+INCLUDE "text/maps/CinnabarLabMetronomeRoom.asm"
+INCLUDE "text/maps/CinnabarLabFossilRoom.asm"
+INCLUDE "text/maps/CinnabarPokecenter.asm"
+INCLUDE "text/maps/CinnabarMart.asm"
+INCLUDE "text/maps/IndigoPlateauLobby.asm"
+INCLUDE "text/maps/CopycatsHouse1F.asm"
+INCLUDE "text/maps/CopycatsHouse2F.asm"
+INCLUDE "text/maps/FightingDojo.asm"
+INCLUDE "text/maps/SaffronGym.asm"
+INCLUDE "text/maps/SaffronPidgeyHouse.asm"
+INCLUDE "text/maps/SaffronMart.asm"
+INCLUDE "text/maps/SilphCo1F.asm"
+INCLUDE "text/maps/SaffronPokecenter.asm"
+INCLUDE "text/maps/MrPsychicsHouse.asm"
 
 _PokemartGreetingText::
 	text "Hi there!"
@@ -2751,16 +2754,16 @@
 	line "a #MON CENTER!"
 	done
 
-INCLUDE "text/maps/pallet_town.asm"
-INCLUDE "text/maps/viridian_city.asm"
-INCLUDE "text/maps/pewter_city.asm"
-INCLUDE "text/maps/cerulean_city.asm"
-INCLUDE "text/maps/lavender_town.asm"
-INCLUDE "text/maps/vermilion_city.asm"
-INCLUDE "text/maps/celadon_city.asm"
-INCLUDE "text/maps/fuchsia_city.asm"
-INCLUDE "text/maps/cinnabar_island.asm"
-INCLUDE "text/maps/saffron_city.asm"
+INCLUDE "text/maps/PalletTown.asm"
+INCLUDE "text/maps/ViridianCity.asm"
+INCLUDE "text/maps/PewterCity.asm"
+INCLUDE "text/maps/CeruleanCity.asm"
+INCLUDE "text/maps/LavenderTown.asm"
+INCLUDE "text/maps/VermilionCity.asm"
+INCLUDE "text/maps/CeladonCity.asm"
+INCLUDE "text/maps/FuchsiaCity.asm"
+INCLUDE "text/maps/CinnabarIsland.asm"
+INCLUDE "text/maps/SaffronCity.asm"
 
 _ItemUseBallText00::
 	text "It dodged the"
--- /dev/null
+++ b/text/maps/AgathasRoom.asm
@@ -1,0 +1,44 @@
+_AgathaBeforeBattleText::
+	text "I am AGATHA of"
+	line "the ELITE FOUR!"
+
+	para "OAK's taken a lot"
+	line "of interest in"
+	cont "you, child!"
+
+	para "That old duff was"
+	line "once tough and"
+	cont "handsome! That"
+	cont "was decades ago!"
+
+	para "Now he just wants"
+	line "to fiddle with"
+	cont "his #DEX! He's"
+	cont "wrong! #MON"
+	cont "are for fighting!"
+
+	para "<PLAYER>! I'll show"
+	line "you how a real"
+	cont "trainer fights!"
+	done
+
+_AgathaEndBattleText::
+	text "Oh ho!"
+	line "You're something"
+	cont "special, child!"
+	prompt
+
+_AgathaAfterBattleText::
+	text "You win! I see"
+	line "what the old duff"
+	cont "sees in you now!"
+
+	para "I have nothing"
+	line "else to say! Run"
+	cont "along now, child!"
+	done
+
+_AgathaDontRunAwayText::
+	text "Someone's voice:"
+	line "Don't run away!"
+	done
--- /dev/null
+++ b/text/maps/BikeShop.asm
@@ -1,0 +1,70 @@
+_BikeShopText_1d810::
+	text "Hi! Welcome to"
+	line "our BIKE SHOP."
+
+	para "Have we got just"
+	line "the BIKE for you!"
+	prompt
+
+_BikeShopText_1d815::
+	text "It's a cool BIKE!"
+	line "Do you want it?"
+	done
+
+_BikeShopCantAffordText::
+	text "Sorry! You can't"
+	line "afford it!"
+	prompt
+
+_BikeShopText_1d81f::
+	text "Oh, that's..."
+
+	para "A BIKE VOUCHER!"
+
+	para "OK! Here you go!"
+	prompt
+
+_BikeShopText_1d824::
+	text "<PLAYER> exchanged"
+	line "the BIKE VOUCHER"
+	cont "for a BICYCLE.@@"
+
+_BikeShopComeAgainText::
+	text "Come back again"
+	line "some time!"
+	done
+
+_BikeShopText_1d82f::
+	text "How do you like"
+	line "your new BICYCLE?"
+
+	para "You can take it"
+	line "on CYCLING ROAD"
+	cont "and in caves!"
+	done
+
+_BikeShopText_1d834::
+	text "You better make"
+	line "room for this!"
+	done
+
+_BikeShopText_1d843::
+	text "A plain city BIKE"
+	line "is good enough"
+	cont "for me!"
+
+	para "You can't put a"
+	line "shopping basket"
+	cont "on an MTB!"
+	done
+
+_BikeShopText_1d85c::
+	text "These BIKEs are"
+	line "cool, but they're"
+	cont "way expensive!"
+	done
+
+_BikeShopText_1d861::
+	text "Wow. Your BIKE is"
+	line "really cool!"
+	done
--- /dev/null
+++ b/text/maps/BillsHouse.asm
@@ -1,0 +1,87 @@
+_BillsHouseText_1e865::
+	text "Hiya! I'm a"
+	line "#MON..."
+	cont "...No I'm not!"
+
+	para "Call me BILL!"
+	line "I'm a true blue"
+	cont "#MANIAC! Hey!"
+	cont "What's with that"
+	cont "skeptical look?"
+
+	para "I'm not joshing"
+	line "you, I screwed up"
+	cont "an experiment and"
+	cont "got combined with"
+	cont "a #MON!"
+
+	para "So, how about it?"
+	line "Help me out here!"
+	done
+
+_BillsHouseText_1e86a::
+	text "When I'm in the"
+	line "TELEPORTER, go to"
+	cont "my PC and run the"
+	cont "Cell Separation"
+	cont "System!"
+	done
+
+_BillsHouseText_1e86f::
+	text "No!? Come on, you"
+	line "gotta help a guy"
+	cont "in deep trouble!"
+
+	para "What do you say,"
+	line "chief? Please?"
+	cont "OK? All right!"
+	prompt
+
+_BillThankYouText::
+	text "BILL: Yeehah!"
+	line "Thanks, bud! I"
+	cont "owe you one!"
+
+	para "So, did you come"
+	line "to see my #MON"
+	cont "collection?"
+	cont "You didn't?"
+	cont "That's a bummer."
+
+	para "I've got to thank"
+	line "you... Oh here,"
+	cont "maybe this'll do."
+	prompt
+
+_SSTicketReceivedText::
+	text "<PLAYER> received"
+	line "an @"
+	TX_RAM wcf4b
+	text "!@@"
+
+_SSTicketNoRoomText::
+	text "You've got too"
+	line "much stuff, bud!"
+	done
+
+_BillsHouseText_1e8cb::
+	text "That cruise ship,"
+	line "S.S.ANNE, is in"
+	cont "VERMILION CITY."
+	cont "Its passengers"
+	cont "are all trainers!"
+
+	para "They invited me"
+	line "to their party,"
+	cont "but I can't stand"
+	cont "fancy do's. Why"
+	cont "don't you go"
+	cont "instead of me?"
+	done
+
+_BillsHouseText_1e8da::
+	text "BILL: Look, bud,"
+	line "just check out"
+	cont "some of my rare"
+	cont "#MON on my PC!"
+	done
--- /dev/null
+++ b/text/maps/BluesHouse.asm
@@ -1,0 +1,41 @@
+_DaisyInitialText::
+	text "Hi <PLAYER>!"
+	line "<RIVAL> is out at"
+	cont "Grandpa's lab."
+	done
+
+_DaisyOfferMapText::
+	text "Grandpa asked you"
+	line "to run an errand?"
+	cont "Here, this will"
+	cont "help you!"
+	prompt
+
+_GotMapText::
+	text "<PLAYER> got a"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_DaisyBagFullText::
+	text "You have too much"
+	line "stuff with you."
+	done
+
+_DaisyUseMapText::
+	text "Use the TOWN MAP"
+	line "to find out where"
+	cont "you are."
+	done
+
+_BluesHouseText2::
+	text "#MON are living"
+	line "things! If they"
+	cont "get tired, give"
+	cont "them a rest!"
+	done
+
+_BluesHouseText3::
+	text "It's a big map!"
+	line "This is useful!"
+	done
--- /dev/null
+++ b/text/maps/BrunosRoom.asm
@@ -1,0 +1,37 @@
+_BrunoBeforeBattleText::
+	text "I am BRUNO of"
+	line "the ELITE FOUR!"
+
+	para "Through rigorous"
+	line "training, people"
+	cont "and #MON can"
+	cont "become stronger!"
+
+	para "I've weight"
+	line "trained with"
+	cont "my #MON!"
+
+	para "<PLAYER>!"
+
+	para "We will grind you"
+	line "down with our"
+	cont "superior power!"
+
+	para "Hoo hah!"
+	done
+
+_BrunoEndBattleText::
+	text "Why?"
+	line "How could I lose?"
+	prompt
+
+_BrunoAfterBattleText::
+	text "My job is done!"
+	line "Go face your next"
+	cont "challenge!"
+	done
+
+_BrunoDontRunAwayText::
+	text "Someone's voice:"
+	line "Don't run away!"
+	done
--- /dev/null
+++ b/text/maps/CeladonChiefHouse.asm
@@ -1,0 +1,22 @@
+_CeladonHouseText1::
+	text "Hehehe! The slots"
+	line "just reel in the"
+	cont "dough, big time!"
+	done
+
+_CeladonHouseText2::
+	text "CHIEF!"
+
+	para "We just shipped"
+	line "2000 #MON as"
+	cont "slot prizes!"
+	done
+
+_CeladonHouseText3::
+	text "Don't touch the"
+	line "poster at the"
+	cont "GAME CORNER!"
+
+	para "There's no secret"
+	line "switch behind it!"
+	done
--- /dev/null
+++ b/text/maps/CeladonCity.asm
@@ -1,0 +1,152 @@
+_CeladonCityText1::
+	text "I got my KOFFING"
+	line "in CINNABAR!"
+
+	para "It's nice, but it"
+	line "breathes poison"
+	cont "when it's angry!"
+	done
+
+_CeladonCityText2::
+	text "Heheh! This GYM"
+	line "is great! It's"
+	cont "full of women!"
+	done
+
+_CeladonCityText3::
+	text "The GAME CORNER"
+	line "is bad for our"
+	cont "city's image!"
+	done
+
+_CeladonCityText4::
+	text "Moan! I blew it"
+	line "all at the slots!"
+
+	para "I knew I should"
+	line "have cashed in my"
+	cont "coins for prizes!"
+	done
+
+_TM41PreText::
+	text "Hello, there!"
+
+	para "I've seen you,"
+	line "but I never had a"
+	cont "chance to talk!"
+
+	para "Here's a gift for"
+	line "dropping by!"
+	prompt
+
+_ReceivedTM41Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM41ExplanationText::
+	text "TM41 teaches"
+	line "SOFTBOILED!"
+
+	para "Only one #MON"
+	line "can use it!"
+
+	para "That #MON is"
+	line "CHANSEY!"
+	done
+
+_TM41NoRoomText::
+	text "Oh, your pack is"
+	line "full of items!"
+	done
+
+_CeladonCityText6::
+	text "This is my trusted"
+	line "pal, POLIWRATH!"
+
+	para "It evolved from"
+	line "POLIWHIRL when I"
+	cont "used WATER STONE!"
+	done
+
+_CeladonCityText7::
+	text "POLIWRATH: Ribi"
+	line "ribit!@@"
+
+_CeladonCityText8::
+	text "What are you"
+	line "staring at?"
+	done
+
+_CeladonCityText9::
+	text "Keep out of TEAM"
+	line "ROCKET's way!"
+	done
+
+_CeladonCityText10::
+	text "TRAINER TIPS"
+
+	para "X ACCURACY boosts"
+	line "the accuracy of"
+	cont "techniques!"
+
+	para "DIRE HIT jacks up"
+	line "the likelihood of"
+	cont "critical hits!"
+
+	para "Get your items at"
+	line "CELADON DEPT."
+	cont "STORE!"
+	done
+
+_CeladonCityText11::
+	text "CELADON CITY"
+	line "The City of"
+	cont "Rainbow Dreams"
+	done
+
+_CeladonCityText13::
+	text "CELADON CITY"
+	line "#MON GYM"
+	cont "LEADER: ERIKA"
+
+	para "The Nature Loving"
+	line "Princess!"
+	done
+
+_CeladonCityText14::
+	text "CELADON MANSION"
+	done
+
+_CeladonCityText15::
+	text "Find what you"
+	line "need at CELADON"
+	cont "DEPT. STORE!"
+	done
+
+_CeladonCityText16::
+	text "TRAINER TIPS"
+
+	para "GUARD SPEC."
+	line "protects #MON"
+	cont "against SPECIAL"
+	cont "attacks such as"
+	cont "fire and water!"
+
+	para "Get your items at"
+	line "CELADON DEPT."
+	cont "STORE!"
+	done
+
+_CeladonCityText17::
+	text "Coins exchanged"
+	line "for prizes!"
+	cont "PRIZE EXCHANGE"
+	done
+
+_CeladonCityText18::
+	text "ROCKET GAME CORNER"
+	line "The playground"
+	cont "for grown-ups!"
+	done
--- /dev/null
+++ b/text/maps/CeladonDiner.asm
@@ -1,0 +1,59 @@
+_CeladonDinerText1::
+	text "Hi!"
+
+	para "We're taking a"
+	line "break now."
+	done
+
+_CeladonDinerText2::
+	text "My #MON are"
+	line "weak, so I often"
+	cont "have to go to the"
+	cont "DRUG STORE."
+	done
+
+_CeladonDinerText3::
+	text "Psst! There's a"
+	line "basement under"
+	cont "the GAME CORNER."
+	done
+
+_CeladonDinerText4::
+	text "Munch..."
+
+	para "The man at that"
+	line "table lost it all"
+	cont "at the slots."
+	done
+
+_CeladonDinerText_491a7::
+	text "Go ahead! Laugh!"
+
+	para "I'm flat out"
+	line "busted!"
+
+	para "No more slots for"
+	line "me! I'm going"
+	cont "straight!"
+
+	para "Here! I won't be"
+	line "needing this any-"
+	cont "more!"
+	prompt
+
+_ReceivedCoinCaseText::
+	text "<PLAYER> received"
+	line "a @"
+	TX_RAM wcf4b
+	text "!@@"
+
+_CoinCaseNoRoomText::
+	text "Make room for"
+	line "this!"
+	done
+
+_CeladonDinerText_491b7::
+	text "I always thought"
+	line "I was going to"
+	cont "win it back..."
+	done
--- /dev/null
+++ b/text/maps/CeladonGym.asm
@@ -1,0 +1,219 @@
+_CeladonGymText_48a5e::
+	text "Hello. Lovely"
+	line "weather isn't it?"
+	cont "It's so pleasant."
+
+	para "...Oh dear..."
+	line "I must have dozed"
+	cont "off. Welcome."
+
+	para "My name is ERIKA."
+	line "I am the LEADER"
+	cont "of CELADON GYM."
+
+	para "I teach the art of"
+	line "flower arranging."
+	cont "My #MON are of"
+	cont "the grass-type."
+
+	para "Oh, I'm sorry, I"
+	line "had no idea that"
+	cont "you wished to"
+	cont "challenge me."
+
+	para "Very well, but I"
+	line "shall not lose."
+	done
+
+_CeladonGymText_48a63::
+	text "Oh!"
+	line "I concede defeat."
+
+	para "You are remarkably"
+	line "strong."
+
+	para "I must confer you"
+	line "the RAINBOWBADGE."
+	prompt
+
+_CeladonGymText_48a68::
+	text "You are cataloging"
+	line "#MON? I must"
+	cont "say I'm impressed."
+
+	para "I would never"
+	line "collect #MON"
+	cont "if they were"
+	cont "unattractive."
+	done
+
+_CeladonGymText9::
+	text "The RAINBOWBADGE"
+	line "will make #MON"
+	cont "up to L50 obey."
+
+	para "It also allows"
+	line "#MON to use"
+	cont "STRENGTH in and"
+	cont "out of battle."
+
+	para "Please also take"
+	line "this with you."
+	done
+
+_ReceivedTM21Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM21ExplanationText::
+	text ""
+
+	para "TM21 contains"
+	line "MEGA DRAIN."
+
+	para "Half the damage"
+	line "it inflicts is"
+	cont "drained to heal"
+	cont "your #MON!"
+	done
+
+_TM21NoRoomText::
+	text "You should make"
+	line "room for this."
+	done
+
+_CeladonGymBattleText2::
+	text "Hey!"
+
+	para "You are not"
+	line "allowed in here!"
+	done
+
+_CeladonGymEndBattleText2::
+	text "You're"
+	line "too rough!"
+	prompt
+
+_CeladonGymAfterBattleText2::
+	text "Bleaah!"
+	line "I hope ERIKA"
+	cont "wipes you out!"
+	done
+
+_CeladonGymBattleText3::
+	text "I was getting"
+	line "bored."
+	done
+
+_CeladonGymEndBattleText3::
+	text "My"
+	line "makeup!"
+	prompt
+
+_CeladonGymAfterBattleText3::
+	text "Grass-type #MON"
+	line "are tough against"
+	cont "the water-type!"
+
+	para "They also have an"
+	line "edge on rock and"
+	cont "ground #MON!"
+	done
+
+_CeladonGymBattleText4::
+	text "Aren't you the"
+	line "peeping Tom?"
+	done
+
+_CeladonGymEndBattleText4::
+	text "I'm"
+	line "in shock!"
+	prompt
+
+_CeladonGymAfterBattleText4::
+	text "Oh, you weren't"
+	line "peeping? We get a"
+	cont "lot of gawkers!"
+	done
+
+_CeladonGymBattleText5::
+	text "Look at my grass"
+	line "#MON!"
+
+	para "They're so easy"
+	line "to raise!"
+	done
+
+_CeladonGymEndBattleText5::
+	text "No!"
+	prompt
+
+_CeladonGymAfterBattleText5::
+	text "We only use grass-"
+	line "type #MON at"
+	cont "our GYM!"
+
+	para "We also use them"
+	line "for making flower"
+	cont "arrangements!"
+	done
+
+_CeladonGymBattleText6::
+	text "Don't bring any"
+	line "bugs or fire"
+	cont "#MON in here!"
+	done
+
+_CeladonGymEndBattleText6::
+	text "Oh!"
+	line "You!"
+	prompt
+
+_CeladonGymAfterBattleText6::
+	text "Our LEADER, ERIKA,"
+	line "might be quiet,"
+	cont "but she's also"
+	cont "very skilled!"
+	done
+
+_CeladonGymBattleText7::
+	text "Pleased to meet"
+	line "you. My hobby is"
+	cont "#MON training."
+	done
+
+_CeladonGymEndBattleText7::
+	text "Oh!"
+	line "Splendid!"
+	prompt
+
+_CeladonGymAfterBattleText7::
+	text "I have a blind"
+	line "date coming up."
+	cont "I have to learn"
+	cont "to be polite."
+	done
+
+_CeladonGymBattleText8::
+	text "Welcome to"
+	line "CELADON GYM!"
+
+	para "You better not"
+	line "underestimate"
+	cont "girl power!"
+	done
+
+_CeladonGymEndBattleText8::
+	text "Oh!"
+	line "Beaten!"
+	prompt
+
+_CeladonGymAfterBattleText8::
+	text "I didn't bring my"
+	line "best #MON!"
+
+	para "Wait 'til next"
+	line "time!"
+	done
--- /dev/null
+++ b/text/maps/CeladonHotel.asm
@@ -1,0 +1,21 @@
+_CeladonHotelText1::
+	text "#MON? No, this"
+	line "is a hotel for"
+	cont "people."
+
+	para "We're full up."
+	done
+
+_CeladonHotelText2::
+	text "I'm on vacation"
+	line "with my brother"
+	cont "and boy friend."
+
+	para "CELADON is such a"
+	line "pretty city!"
+	done
+
+_CeladonHotelText3::
+	text "Why did she bring"
+	line "her brother?"
+	done
--- /dev/null
+++ b/text/maps/CeladonMansion1F.asm
@@ -1,0 +1,23 @@
+_CeladonMansion1Text1::
+	text "MEOWTH: Meow!@@"
+
+_CeladonMansion1Text2::
+	text "My dear #MON"
+	line "keep me company."
+
+	para "MEOWTH even brings"
+	line "money home!"
+	done
+
+_CeladonMansion1Text3::
+	text "CLEFAIRY: Pi"
+	line "pippippi!@@"
+
+_CeladonMansion1Text4::
+	text "NIDORAN: Kya"
+	line "kyaoo!@@"
+
+_CeladonMansion1Text5::
+	text "CELADON MANSION"
+	line "Manager's Suite"
+	done
--- /dev/null
+++ b/text/maps/CeladonMansion2F.asm
@@ -1,0 +1,4 @@
+_CeladonMansion2Text1::
+	text "GAME FREAK"
+	line "Meeting Room"
+	done
--- /dev/null
+++ b/text/maps/CeladonMansion3F.asm
@@ -1,0 +1,66 @@
+_ProgrammerText::
+	text "Me? I'm the"
+	line "programmer!"
+	done
+
+_GraphicArtistText::
+	text "I'm the graphic"
+	line "artist!"
+	cont "I drew you!"
+	done
+
+_WriterText::
+	text "I wrote the story!"
+	line "Isn't ERIKA cute?"
+
+	para "I like MISTY a"
+	line "lot too!"
+
+	para "Oh, and SABRINA,"
+	line "I like her!"
+	done
+
+_GameDesignerText::
+	text "Is that right?"
+
+	para "I'm the game"
+	line "designer!"
+
+	para "Filling up your"
+	line "#DEX is tough,"
+	cont "but don't quit!"
+
+	para "When you finish,"
+	line "come tell me!"
+	done
+
+_CompletedDexText::
+	text "Wow! Excellent!"
+	line "You completed"
+	cont "your #DEX!"
+	cont "Congratulations!"
+	cont "...@@"
+
+_CeladonMansion3Text5::
+	text "It's the game"
+	line "program! Messing"
+	cont "with it could bug"
+	cont "out the game!"
+	done
+
+_CeladonMansion3Text6::
+	text "Someone's playing"
+	line "a game instead of"
+	cont "working!"
+	done
+
+_CeladonMansion3Text7::
+	text "It's the script!"
+	line "Better not look"
+	cont "at the ending!"
+	done
+
+_CeladonMansion3Text8::
+	text "GAME FREAK"
+	line "Development Room"
+	done
--- /dev/null
+++ b/text/maps/CeladonMansionRoof.asm
@@ -1,0 +1,3 @@
+_CeladonMansion4Text1::
+	text "I KNOW EVERYTHING!"
+	done
--- /dev/null
+++ b/text/maps/CeladonMansionRoofHouse.asm
@@ -1,0 +1,10 @@
+_CeladonMansion5Text1::
+	text "I know everything"
+	line "about the world"
+	cont "of #MON in"
+	cont "your GAME BOY!"
+
+	para "Get together with"
+	line "your friends and"
+	cont "trade #MON!"
+	done
--- /dev/null
+++ b/text/maps/CeladonMart1F.asm
@@ -1,0 +1,31 @@
+_CeladonMart1Text1::
+	text "Hello! Welcome to"
+	line "CELADON DEPT."
+	cont "STORE."
+
+	para "The board on the"
+	line "right describes"
+	cont "the store layout."
+	done
+
+_CeladonMart1Text2::
+	text "1F: SERVICE"
+	line "    COUNTER"
+
+	para "2F: TRAINER'S"
+	line "    MARKET"
+
+	para "3F: TV GAME SHOP"
+
+	para "4F: WISEMAN GIFTS"
+
+	para "5F: DRUG STORE"
+
+	para "ROOFTOP SQUARE:"
+	line "VENDING MACHINES"
+	done
+
+_CeladonMart1Text3::
+	text "1F: SERVICE"
+	line "    COUNTER"
+	done
--- /dev/null
+++ b/text/maps/CeladonMart2F.asm
@@ -1,0 +1,22 @@
+_CeladonMart2Text3::
+	text "SUPER REPEL keeps"
+	line "weak #MON at"
+	cont "bay..."
+
+	para "Hmm, it's a more"
+	line "powerful REPEL!"
+	done
+
+_CeladonMart2Text4::
+	text "For long outings,"
+	line "you should buy"
+	cont "REVIVE."
+	done
+
+_CeladonMart2Text5::
+	text "Top Grade Items"
+	line "for Trainers!"
+
+	para "2F: TRAINER'S"
+	line "    MARKET"
+	done
--- /dev/null
+++ b/text/maps/CeladonMart3F.asm
@@ -1,0 +1,98 @@
+_TM18PreReceiveText::
+	text "Oh, hi! I finally"
+	line "finished #MON!"
+
+	para "Not done yet?"
+	line "This might be"
+	cont "useful!"
+	prompt
+
+_ReceivedTM18Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM18ExplanationText::
+	text "TM18 is COUNTER!"
+	line "Not like the one"
+	cont "I'm leaning on,"
+	cont "mind you!"
+	done
+
+_TM18NoRoomText::
+	text "Your pack is full"
+	line "of items!"
+	done
+
+_CeladonMart3Text2::
+	text "Captured #MON"
+	line "are registered"
+	cont "with an ID No."
+	cont "and OT, the name"
+	cont "of the Original"
+	cont "Trainer that"
+	cont "caught it!"
+	done
+
+_CeladonMart3Text3::
+	text "All right!"
+
+	para "My buddy's going"
+	line "to trade me his"
+	cont "KANGASKHAN for my"
+	cont "GRAVELER!"
+	done
+
+_CeladonMart3Text4::
+	text "Come on GRAVELER!"
+
+	para "I love GRAVELER!"
+	line "I collect them!"
+
+	para "Huh?"
+
+	para "GRAVELER turned"
+	line "into a different"
+	cont "#MON!"
+	done
+
+_CeladonMart3Text5::
+	text "You can identify"
+	line "#MON you got"
+	cont "in trades by"
+	cont "their ID Numbers!"
+	done
+
+_CeladonMart3Text6::
+	text "It's an SNES!"
+	done
+
+_CeladonMart3Text7::
+	text "An RPG! There's"
+	line "no time for that!"
+	done
+
+_CeladonMart3Text9::
+	text "A sports game!"
+	line "Dad'll like that!"
+	done
+
+_CeladonMart3Text11::
+	text "A puzzle game!"
+	line "Looks addictive!"
+	done
+
+_CeladonMart3Text13::
+	text "A fighting game!"
+	line "Looks tough!"
+	done
+
+_CeladonMart3Text14::
+	text "3F: TV GAME SHOP"
+	done
+
+_CeladonMart3Text15::
+	text "Red and Blue!"
+	line "Both are #MON!"
+	done
--- /dev/null
+++ b/text/maps/CeladonMart4F.asm
@@ -1,0 +1,26 @@
+_CeladonMart4Text2::
+	text "I'm getting a"
+	line "# DOLL for my"
+	cont "girl friend!"
+	done
+
+_CeladonMart4Text3::
+	text "I heard something"
+	line "useful."
+
+	para "You can run from"
+	line "wild #MON by"
+	cont "distracting them"
+	cont "with a # DOLL!"
+	done
+
+_CeladonMart4Text4::
+	text "Express yourself"
+	line "with gifts!"
+
+	para "4F: WISEMAN GIFTS"
+
+	para "Evolution Special!"
+	line "Element STONEs on"
+	cont "sale now!"
+	done
--- /dev/null
+++ b/text/maps/CeladonMart5F.asm
@@ -1,0 +1,28 @@
+_CeladonMart5Text1::
+	text "#MON ability"
+	line "enhancers can be"
+	cont "bought only here."
+
+	para "Use CALCIUM to"
+	line "increase SPECIAL"
+	cont "abilities."
+
+	para "Use CARBOS to"
+	line "increase SPEED."
+	done
+
+_CeladonMart5Text2::
+	text "I'm here for"
+	line "#MON ability"
+	cont "enhancers."
+
+	para "PROTEIN increases"
+	line "ATTACK power."
+
+	para "IRON increases"
+	line "DEFENSE!"
+	done
+
+_CeladonMart5Text5::
+	text "5F: DRUG STORE"
+	done
--- /dev/null
+++ b/text/maps/CeladonMartRoof.asm
@@ -1,0 +1,141 @@
+_CeladonMartRoofText_484ee::
+	text "Give her which"
+	line "drink?"
+	done
+
+_CeladonMartRoofText_484f3::
+	text "Yay!"
+
+	para "FRESH WATER!"
+
+	para "Thank you!"
+
+	para "You can have this"
+	line "from me!@@"
+
+_CeladonMartRoofText_484f9::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_CeladonMartRoofText_484fe::
+	text ""
+
+	para "@"
+	TX_RAM wcf4b
+	text " contains"
+	line "ICE BEAM!"
+
+	para "It can freeze the"
+	line "target sometimes!@@"
+
+_CeladonMartRoofText_48504::
+	text "Yay!"
+
+	para "SODA POP!"
+
+	para "Thank you!"
+
+	para "You can have this"
+	line "from me!@@"
+
+_CeladonMartRoofText_4850a::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_CeladonMartRoofText_4850f::
+	text ""
+
+	para "@"
+	TX_RAM wcf4b
+	text " contains"
+	line "ROCK SLIDE!"
+
+	para "It can spook the"
+	line "target sometimes!@@"
+
+_CeladonMartRoofText_48515::
+	text "Yay!"
+
+	para "LEMONADE!"
+
+	para "Thank you!"
+
+	para "You can have this"
+	line "from me!@@"
+
+_ReceivedTM49Text::
+	text "<PLAYER> received"
+	line "TM49!@@"
+
+_CeladonMartRoofText_48520::
+	text ""
+
+	para "TM49 contains"
+	line "TRI ATTACK!@@"
+
+_CeladonMartRoofText_48526::
+	text "You don't have"
+	line "space for this!@@"
+
+_CeladonMartRoofText_4852c::
+	text "No thank you!"
+	line "I'm not thirsty"
+	cont "after all!@@"
+
+_CeladonMartRoofText1::
+	text "My sister is a"
+	line "trainer, believe"
+	cont "it or not."
+
+	para "But, she's so"
+	line "immature, she"
+	cont "drives me nuts!"
+	done
+
+_CeladonMartRoofText_48598::
+	text "I'm thirsty!"
+	line "I want something"
+	cont "to drink!"
+	done
+
+_CeladonMartRoofText4::
+	text "I'm thirsty!"
+	line "I want something"
+	cont "to drink!"
+
+	para "Give her a drink?"
+	done
+
+_CeladonMartRoofText6::
+	text "ROOFTOP SQUARE:"
+	line "VENDING MACHINES"
+	done
+
+_VendingMachineText1::
+	text "A vending machine!"
+	line "Here's the menu!"
+	prompt
+
+_VendingMachineText4::
+	text "Oops, not enough"
+	line "money!"
+	done
+
+_VendingMachineText5::
+	TX_RAM wcf4b
+	text ""
+	line "popped out!"
+	done
+
+_VendingMachineText6::
+	text "There's no more"
+	line "room for stuff!"
+	done
+
+_VendingMachineText7::
+	text "Not thirsty!"
+	done
--- /dev/null
+++ b/text/maps/CeladonPokecenter.asm
@@ -1,0 +1,12 @@
+_CeladonPokecenterText2::
+	text "# FLUTE awakens"
+	line "#MON with a"
+	cont "sound that only"
+	cont "they can hear!"
+	done
+
+_CeladonPokecenterText3::
+	text "I rode uphill on"
+	line "CYCLING ROAD from"
+	cont "FUCHSIA!"
+	done
--- /dev/null
+++ b/text/maps/CeruleanBadgeHouse.asm
@@ -1,0 +1,97 @@
+_CeruleanHouse2Text_74e77::
+	text "#MON BADGEs"
+	line "are owned only by"
+	cont "skilled trainers."
+
+	para "I see you have"
+	line "at least one."
+
+	para "Those BADGEs have"
+	line "amazing secrets!"
+	prompt
+
+_CeruleanHouse2Text_74e7c::
+	text "Now then..."
+
+	para "Which of the 8"
+	line "BADGEs should I"
+	cont "describe?"
+	done
+
+_CeruleanHouse2Text_74e81::
+	text "Come visit me any"
+	line "time you wish."
+	done
+
+_CeruleanHouse2Text_74e96::
+	text "The ATTACK of all"
+	line "#MON increases"
+	cont "a little bit."
+
+	para "It also lets you"
+	line "use FLASH any"
+	cont "time you desire."
+	prompt
+
+_CeruleanHouse2Text_74e9b::
+	text "#MON up to L30"
+	line "will obey you."
+
+	para "Any higher, they"
+	line "become unruly!"
+
+	para "It also lets you"
+	line "use CUT outside"
+	cont "of battle."
+	prompt
+
+_CeruleanHouse2Text_74ea0::
+	text "The SPEED of all"
+	line "#MON increases"
+	cont "a little bit."
+
+	para "It also lets you"
+	line "use FLY outside"
+	cont "of battle."
+	prompt
+
+_CeruleanHouse2Text_74ea5::
+	text "#MON up to L50"
+	line "will obey you."
+
+	para "Any higher, they"
+	line "become unruly!"
+
+	para "It also lets you"
+	line "use STRENGTH out-"
+	cont "side of battle."
+	prompt
+
+_CeruleanHouse2Text_74eaa::
+	text "The DEFENSE of all"
+	line "#MON increases"
+	cont "a little bit."
+
+	para "It also lets you"
+	line "use SURF outside"
+	cont "of battle."
+	prompt
+
+_CeruleanHouse2Text_74eaf::
+	text "#MON up to L70"
+	line "will obey you."
+
+	para "Any higher, they"
+	line "become unruly!"
+	prompt
+
+_CeruleanHouse2Text_74eb4::
+	text "Your #MON's"
+	line "SPECIAL abilities"
+	cont "increase a bit."
+	prompt
+
+_CeruleanHouse2Text_74eb9::
+	text "All #MON will"
+	line "obey you!"
+	prompt
--- /dev/null
+++ b/text/maps/CeruleanCaveB1F.asm
@@ -1,0 +1,2 @@
+_MewtwoBattleText::
+	text "Mew!@@"
--- /dev/null
+++ b/text/maps/CeruleanCity.asm
@@ -1,0 +1,233 @@
+_CeruleanCityText_19668::
+	text "<RIVAL>: Yo!"
+	line "<PLAYER>!"
+
+	para "You're still"
+	line "struggling along"
+	cont "back here?"
+
+	para "I'm doing great!"
+	line "I caught a bunch"
+	cont "of strong and"
+	cont "smart #MON!"
+
+	para "Here, let me see"
+	line "what you caught,"
+	cont "<PLAYER>!"
+	done
+
+_CeruleanCityText_1966d::
+	text "Hey!"
+	line "Take it easy!"
+	cont "You won already!"
+	prompt
+
+_CeruleanCityText_19672::
+	text "Heh!"
+	line "You're no match"
+	cont "for my genius!"
+	prompt
+
+_CeruleanCityText_19677::
+	text "<RIVAL>: Hey,"
+	line "guess what?"
+
+	para "I went to BILL's"
+	line "and got him to"
+	cont "show me his rare"
+	cont "#MON!"
+
+	para "That added a lot"
+	line "of pages to my"
+	cont "#DEX!"
+
+	para "After all, BILL's"
+	line "world famous as a"
+	cont "#MANIAC!"
+
+	para "He invented the"
+	line "#MON Storage"
+	cont "System on PC!"
+
+	para "Since you're using"
+	line "his system, go"
+	cont "thank him!"
+
+	para "Well, I better"
+	line "get rolling!"
+	cont "Smell ya later!"
+	done
+
+_CeruleanCityText_196d9::
+	text "Hey! Stay out!"
+	line "It's not your"
+	cont "yard! Huh? Me?"
+
+	para "I'm an innocent"
+	line "bystander! Don't"
+	cont "you believe me?"
+	done
+
+_ReceivedTM28Text::
+	text "<PLAYER> recovered"
+	line "TM28!@@"
+
+_ReceivedTM28Text2::
+	text ""
+
+	para "I better get"
+	line "moving! Bye!@@"
+
+_TM28NoRoomText::
+	text "Make room for"
+	line "this!"
+
+	para "I can't run until"
+	line "I give it to you!"
+	done
+
+_CeruleanCityText_196ee::
+	text "Stop!"
+	line "I give up! I'll"
+	cont "leave quietly!"
+	prompt
+
+_CeruleanCityText_196f3::
+	text "OK! I'll return"
+	line "the TM I stole!"
+	prompt
+
+_CeruleanCityText3::
+	text "You're a trainer"
+	line "too? Collecting,"
+	cont "fighting, it's a"
+	cont "tough life."
+	done
+
+_CeruleanCityText4::
+	text "That bush in"
+	line "front of the shop"
+	cont "is in the way."
+
+	para "There might be a"
+	line "way around."
+	done
+
+_CeruleanCityText5::
+	text "You're making an"
+	line "encyclopedia on"
+	cont "#MON? That"
+	cont "sounds amusing."
+	done
+
+_CeruleanCityText6::
+	text "The people here"
+	line "were robbed."
+
+	para "It's obvious that"
+	line "TEAM ROCKET is"
+	cont "behind this most"
+	cont "heinous crime!"
+
+	para "Even our POLICE"
+	line "force has trouble"
+	cont "with the ROCKETs!"
+	done
+
+_CeruleanCityText_19730::
+	text "OK! SLOWBRO!"
+	line "Use SONICBOOM!"
+	cont "Come on, SLOWBRO"
+	cont "pay attention!"
+	done
+
+_CeruleanCityText_19735::
+	text "SLOWBRO punch!"
+	line "No! You blew it"
+	cont "again!"
+	done
+
+_CeruleanCityText_1973a::
+	text "SLOWBRO, WITHDRAW!"
+	line "No! That's wrong!"
+
+	para "It's so hard to"
+	line "control #MON!"
+
+	para "Your #MON's"
+	line "obedience depends"
+	cont "on your abilities"
+	cont "as a trainer!"
+	done
+
+_CeruleanCityText_1976f::
+	text "SLOWBRO took a"
+	line "snooze..."
+	done
+
+_CeruleanCityText_19774::
+	text "SLOWBRO is"
+	line "loafing around..."
+	done
+
+_CeruleanCityText_19779::
+	text "SLOWBRO turned"
+	line "away..."
+	done
+
+_CeruleanCityText_1977e::
+	text "SLOWBRO"
+	line "ignored orders..."
+	done
+
+_CeruleanCityText9::
+	text "I want a bright"
+	line "red BICYCLE!"
+
+	para "I'll keep it at"
+	line "home, so it won't"
+	cont "get dirty!"
+	done
+
+_CeruleanCityText10::
+	text "This is CERULEAN"
+	line "CAVE! Horribly"
+	cont "strong #MON"
+	cont "live in there!"
+
+	para "The #MON LEAGUE"
+	line "champion is the"
+	cont "only person who"
+	cont "is allowed in!"
+	done
+
+_CeruleanCityText12::
+	text "CERULEAN CITY"
+	line "A Mysterious,"
+	cont "Blue Aura"
+	cont "Surrounds It"
+	done
+
+_CeruleanCityText13::
+	text "TRAINER TIPS"
+
+	para "Pressing B Button"
+	line "during evolution"
+	cont "cancels the whole"
+	cont "process."
+	done
+
+_CeruleanCityText16::
+	text "Grass and caves"
+	line "handled easily!"
+	cont "BIKE SHOP"
+	done
+
+_CeruleanCityText17::
+	text "CERULEAN CITY"
+	line "#MON GYM"
+	cont "LEADER: MISTY"
+
+	para "The Tomboyish"
+	line "Mermaid!"
+	done
--- /dev/null
+++ b/text/maps/CeruleanGym.asm
@@ -1,0 +1,131 @@
+_CeruleanGymText_5c7be::
+	text "Hi, you're a new"
+	line "face!"
+
+	para "Trainers who want"
+	line "to turn pro have"
+	cont "to have a policy"
+	cont "about #MON!"
+
+	para "What is your"
+	line "approach when you"
+	cont "catch #MON?"
+
+	para "My policy is an"
+	line "all-out offensive"
+	cont "with water-type"
+	cont "#MON!"
+	done
+
+_CeruleanGymText_5c7c3::
+	text "TM11 teaches"
+	line "BUBBLEBEAM!"
+
+	para "Use it on an"
+	line "aquatic #MON!"
+	done
+
+_CeruleanGymText_5c7c8::
+	text "The CASCADEBADGE"
+	line "makes all #MON"
+	cont "up to L30 obey!"
+
+	para "That includes"
+	line "even outsiders!"
+
+	para "There's more, you"
+	line "can now use CUT"
+	cont "any time!"
+
+	para "You can CUT down"
+	line "small bushes to"
+	cont "open new paths!"
+
+	para "You can also have"
+	line "my favorite TM!"
+	done
+
+_ReceivedTM11Text::
+	text "<PLAYER> received"
+	line "TM11!@@"
+
+_CeruleanGymText_5c7d3::
+	text "You better make"
+	line "room for this!"
+	done
+
+_CeruleanGymText_5c7d8::
+	text "Wow!"
+	line "You're too much!"
+
+	para "All right!"
+
+	para "You can have the"
+	line "CASCADEBADGE to"
+	cont "show you beat me!@@"
+
+_CeruleanGymBattleText1::
+	text "I'm more than good"
+	line "enough for you!"
+
+	para "MISTY can wait!"
+	done
+
+_CeruleanGymEndBattleText1::
+	text "You"
+	line "overwhelmed me!"
+	prompt
+
+_CeruleanGymAfterBattleText1::
+	text "You have to face"
+	line "other trainers to"
+	cont "find out how good"
+	cont "you really are."
+	done
+
+_CeruleanGymBattleText2::
+	text "Splash!"
+
+	para "I'm first up!"
+	line "Let's do it!"
+	done
+
+_CeruleanGymEndBattleText2::
+	text "That"
+	line "can't be!"
+	prompt
+
+_CeruleanGymAfterBattleText2::
+	text "MISTY is going to"
+	line "keep improving!"
+
+	para "She won't lose to"
+	line "someone like you!"
+	done
+
+_CeruleanGymText_5c82a::
+	text "Yo! Champ in"
+	line "making!"
+
+	para "Here's my advice!"
+
+	para "The LEADER, MISTY,"
+	line "is a pro who uses"
+	cont "water #MON!"
+
+	para "You can drain all"
+	line "their water with"
+	cont "plant #MON!"
+
+	para "Or, zap them with"
+	line "electricity!"
+	done
+
+_CeruleanGymText_5c82f::
+	text "You beat MISTY!"
+	line "What'd I tell ya?"
+
+	para "You and me kid,"
+	line "we make a pretty"
+	cont "darn good team!"
+	done
--- /dev/null
+++ b/text/maps/CeruleanMart.asm
@@ -1,0 +1,19 @@
+_CeruleanMartText2::
+	text "Use REPEL to keep"
+	line "bugs and weak"
+	cont "#MON away."
+
+	para "Put your strongest"
+	line "#MON at the"
+	cont "top of the list"
+	cont "for best results!"
+	done
+
+_CeruleanMartText3::
+	text "Have you seen any"
+	line "RARE CANDY?"
+
+	para "It's supposed to"
+	line "make #MON go"
+	cont "up one level!"
+	done
--- /dev/null
+++ b/text/maps/CeruleanPokecenter.asm
@@ -1,0 +1,24 @@
+_CeruleanPokecenterText2::
+	text "That BILL!"
+
+	para "I heard that"
+	line "he'll do whatever"
+	cont "it takes to get"
+	cont "rare #MON!"
+	done
+
+_CeruleanPokecenterText3::
+	text "Have you heard"
+	line "about BILL?"
+
+	para "Everyone calls"
+	line "him a #MANIAC!"
+
+	para "I think people"
+	line "are just jealous"
+	cont "of BILL, though."
+
+	para "Who wouldn't want"
+	line "to boast about"
+	cont "their #MON?"
+	done
--- /dev/null
+++ b/text/maps/CeruleanTradeHouse.asm
@@ -1,0 +1,9 @@
+_CeruleanHouse1Text1::
+	text "My husband likes"
+	line "trading #MON."
+
+	para "If you are a"
+	line "collector, would"
+	cont "you please trade"
+	cont "with him?"
+	done
--- /dev/null
+++ b/text/maps/CeruleanTrashedHouse.asm
@@ -1,0 +1,36 @@
+_CeruleanTrashedText_1d6ab::
+	text "Those miserable"
+	line "ROCKETs!"
+
+	para "Look what they"
+	line "did here!"
+
+	para "They stole a TM"
+	line "for teaching"
+	cont "#MON how to"
+	cont "DIG holes!"
+
+	para "That cost me a"
+	line "bundle, it did!"
+	done
+
+_CeruleanTrashedText_1d6b0::
+	text "I figure what's"
+	line "lost is lost!"
+
+	para "I decided to teach"
+	line "DIGLETT how to"
+	cont "DIG without a TM!"
+	done
+
+_CeruleanHouseTrashedText2::
+	text "TEAM ROCKET must"
+	line "be trying to DIG"
+	cont "their way into no"
+	cont "good!"
+	done
+
+_CeruleanHouseTrashedText3::
+	text "TEAM ROCKET left"
+	line "a way out!"
+	done
--- /dev/null
+++ b/text/maps/ChampionsRoom.asm
@@ -1,0 +1,146 @@
+_GaryChampionIntroText::
+	text "<RIVAL>: Hey!"
+
+	para "I was looking"
+	line "forward to seeing"
+	cont "you, <PLAYER>!"
+
+	para "My rival should"
+	line "be strong to keep"
+	cont "me sharp!"
+
+	para "While working on"
+	line "#DEX, I looked"
+	cont "all over for"
+	cont "powerful #MON!"
+
+	para "Not only that, I"
+	line "assembled teams"
+	cont "that would beat"
+	cont "any #MON type!"
+
+	para "And now!"
+
+	para "I'm the #MON"
+	line "LEAGUE champion!"
+
+	para "<PLAYER>! Do you"
+	line "know what that"
+	cont "means?"
+
+	para "I'll tell you!"
+
+	para "I am the most"
+	line "powerful trainer"
+	cont "in the world!"
+	done
+
+_GaryDefeatedText::
+	text "NO!"
+	line "That can't be!"
+	cont "You beat my best!"
+
+	para "After all that"
+	line "work to become"
+	cont "LEAGUE champ?"
+
+	para "My reign is over"
+	line "already?"
+	cont "It's not fair!"
+	prompt
+
+_GaryVictoryText::
+	text "Hahaha!"
+	line "I won, I won!"
+
+	para "I'm too good for"
+	line "you, <PLAYER>!"
+
+	para "You did well to"
+	line "even reach me,"
+	cont "<RIVAL>, the"
+	cont "#MON genius!"
+
+	para "Nice try, loser!"
+	line "Hahaha!"
+	prompt
+
+_GaryText_76103::
+	text "Why?"
+	line "Why did I lose?"
+
+	para "I never made any"
+	line "mistakes raising"
+	cont "my #MON..."
+
+	para "Darn it! You're"
+	line "the new #MON"
+	cont "LEAGUE champion!"
+
+	para "Although I don't"
+	line "like to admit it."
+	done
+
+_GaryText2::
+	text "OAK: <PLAYER>!"
+	done
+
+_GaryText_76120::
+	text "OAK: So, you won!"
+	line "Congratulations!"
+	cont "You're the new"
+	cont "#MON LEAGUE"
+	cont "champion!"
+
+	para "You've grown up so"
+	line "much since you"
+	cont "first left with"
+	cont "@"
+	TX_RAM wcd6d
+	text "!"
+
+	para "<PLAYER>, you have"
+	line "come of age!"
+	done
+
+_GaryText_76125::
+	text "OAK: <RIVAL>! I'm"
+	line "disappointed!"
+
+	para "I came when I"
+	line "heard you beat"
+	cont "the ELITE FOUR!"
+
+	para "But, when I got"
+	line "here, you had"
+	cont "already lost!"
+
+	para "<RIVAL>! Do you"
+	line "understand why"
+	cont "you lost?"
+
+	para "You have forgotten"
+	line "to treat your"
+	cont "#MON with"
+	cont "trust and love!"
+
+	para "Without them, you"
+	line "will never become"
+	cont "a champ again!"
+	done
+
+_GaryText_7612a::
+	text "OAK: <PLAYER>!"
+
+	para "You understand"
+	line "that your victory"
+	cont "was not just your"
+	cont "own doing!"
+
+	para "The bond you share"
+	line "with your #MON"
+	cont "is marvelous!"
+
+	para "<PLAYER>!"
+	line "Come with me!"
+	done
--- /dev/null
+++ b/text/maps/CinnabarGym.asm
@@ -1,0 +1,210 @@
+_BlaineBattleText::
+	text "Hah!"
+
+	para "I am BLAINE! I"
+	line "am the LEADER of"
+	cont "CINNABAR GYM!"
+
+	para "My fiery #MON"
+	line "will incinerate"
+	cont "all challengers!"
+
+	para "Hah! You better"
+	line "have BURN HEAL!"
+	done
+
+_BlaineEndBattleText::
+	text "I have"
+	line "burnt out!"
+
+	para "You have earned"
+	line "the VOLCANOBADGE!@@"
+
+_BlaineFireBlastText::
+	text "FIRE BLAST is the"
+	line "ultimate fire"
+	cont "technique!"
+
+	para "Don't waste it on"
+	line "water #MON!"
+	done
+
+_BlaineBadgeText::
+	text "Hah!"
+
+	para "The VOLCANOBADGE"
+	line "heightens the"
+	cont "SPECIAL abilities"
+	cont "of your #MON!"
+
+	para "Here, you can"
+	line "have this too!"
+	done
+
+_ReceivedTM38Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM38ExplanationText::
+	text ""
+
+	para "TM38 contains"
+	line "FIRE BLAST!"
+
+	para "Teach it to fire-"
+	line "type #MON!"
+
+	para "CHARMELEON or"
+	line "PONYTA would be"
+	cont "good bets!"
+	done
+
+_TM38NoRoomText::
+	text "Make room for my"
+	line "gift!"
+	done
+
+_CinnabarGymText_7595f::
+	text "Do you know how"
+	line "hot #MON fire"
+	cont "breath can get?"
+	done
+
+_CinnabarGymText_75964::
+	text "Yow!"
+	line "Hot, hot, hot!"
+	prompt
+
+_CinnabarGymText_75969::
+	text "Fire, or to be"
+	line "more precise,"
+	cont "combustion..."
+
+	para "Blah, blah, blah,"
+	line "blah..."
+	done
+
+_CinnabarGymText_75994::
+	text "I was a thief, but"
+	line "I became straight"
+	cont "as a trainer!"
+	done
+
+_CinnabarGymText_75999::
+	text "I"
+	line "surrender!"
+	prompt
+
+_CinnabarGymText_7599e::
+	text "I can't help"
+	line "stealing other"
+	cont "people's #MON!"
+	done
+
+_CinnabarGymText_759c9::
+	text "You can't win!"
+	line "I have studied"
+	cont "#MON totally!"
+	done
+
+_CinnabarGymText_759ce::
+	text "Waah!"
+	line "My studies!"
+	prompt
+
+_CinnabarGymText_759d3::
+	text "My theories are"
+	line "too complicated"
+	cont "for you!"
+	done
+
+_CinnabarGymText_759fe::
+	text "I just like using"
+	line "fire #MON!"
+	done
+
+_CinnabarGymText_75a03::
+	text "Too hot"
+	line "to handle!"
+	prompt
+
+_CinnabarGymText_75a08::
+	text "I wish there was"
+	line "a thief #MON!"
+	cont "I'd use that!"
+	done
+
+_CinnabarGymText_75a33::
+	text "I know why BLAINE"
+	line "became a trainer!"
+	done
+
+_CinnabarGymText_75a38::
+	text "Ow!"
+	prompt
+
+_CinnabarGymText_75a3d::
+	text "BLAINE was lost"
+	line "in the mountains"
+	cont "when a fiery bird"
+	cont "#MON appeared."
+
+	para "Its light enabled"
+	line "BLAINE to find"
+	cont "his way down!"
+	done
+
+_CinnabarGymText_75a68::
+	text "I've been to many"
+	line "GYMs, but this is"
+	cont "my favorite!"
+	done
+
+_CinnabarGymText_75a6d::
+	text "Yowza!"
+	line "Too hot!"
+	prompt
+
+_CinnabarGymText_75a72::
+	text "Us fire #MON"
+	line "fans like PONYTA"
+	cont "and NINETALES!"
+	done
+
+_CinnabarGymText_75a9d::
+	text "Fire is weak"
+	line "against H2O!"
+	done
+
+_CinnabarGymText_75aa2::
+	text "Oh!"
+	line "Snuffed out!"
+	prompt
+
+_CinnabarGymText_75aa7::
+	text "Water beats fire!"
+	line "But, fire melts"
+	cont "ice #MON!"
+	done
+
+_CinnabarGymText_75ac2::
+	text "Yo! Champ in"
+	line "making!"
+
+	para "The hot-headed"
+	line "BLAINE is a fire"
+	cont "#MON pro!"
+
+	para "Douse his spirits"
+	line "with water!"
+
+	para "You better take"
+	line "some BURN HEALs!"
+	done
+
+_CinnabarGymText_75ac7::
+	text "<PLAYER>! You beat"
+	line "that fire brand!"
+	done
--- /dev/null
+++ b/text/maps/CinnabarIsland.asm
@@ -1,0 +1,37 @@
+_CinnabarIslandText8::
+	text "The door is"
+	line "locked..."
+	done
+
+_CinnabarIslandText1::
+	text "CINNABAR GYM's"
+	line "BLAINE is an odd"
+	cont "man who has lived"
+	cont "here for decades."
+	done
+
+_CinnabarIslandText2::
+	text "Scientists conduct"
+	line "experiments in"
+	cont "the burned out"
+	cont "building."
+	done
+
+_CinnabarIslandText3::
+	text "CINNABAR ISLAND"
+	line "The Fiery Town of"
+	cont "Burning Desire"
+	done
+
+_CinnabarIslandText6::
+	text "#MON LAB"
+	done
+
+_CinnabarIslandText7::
+	text "CINNABAR ISLAND"
+	line "#MON GYM"
+	cont "LEADER: BLAINE"
+
+	para "The Hot-Headed"
+	line "Quiz Master!"
+	done
--- /dev/null
+++ b/text/maps/CinnabarLab.asm
@@ -1,0 +1,29 @@
+_Lab1Text1::
+	text "We study #MON"
+	line "extensively here."
+
+	para "People often bring"
+	line "us rare #MON"
+	cont "for examination."
+	done
+
+_Lab1Text2::
+	text "A photo of the"
+	line "LAB's founder,"
+	cont "DR.FUJI!"
+	done
+
+_Lab1Text3::
+	text "#MON LAB"
+	line "Meeting Room"
+	done
+
+_Lab1Text4::
+	text "#MON LAB"
+	line "R-and-D Room"
+	done
+
+_Lab1Text5::
+	text "#MON LAB"
+	line "Testing Room"
+	done
--- /dev/null
+++ b/text/maps/CinnabarLabFossilRoom.asm
@@ -1,0 +1,78 @@
+_Lab4Text_75dc6::
+	text "Hiya!"
+
+	para "I am important"
+	line "doctor!"
+
+	para "I study here rare"
+	line "#MON fossils!"
+
+	para "You! Have you a"
+	line "fossil for me?"
+	prompt
+
+_Lab4Text_75dcb::
+	text "No! Is too bad!"
+	done
+
+_Lab4Text_75dd0::
+	text "I take a little"
+	line "time!"
+
+	para "You go for walk a"
+	line "little while!"
+	done
+
+_Lab4Text_75dd5::
+	text "Where were you?"
+
+	para "Your fossil is"
+	line "back to life!"
+
+	para "It was @"
+	TX_RAM wcf4b
+	text ""
+	line "like I think!"
+	prompt
+
+_Lab4Text_610ae::
+	text "Oh! That is"
+	line "@"
+	TX_RAM wcd6d
+	text "!"
+
+	para "It is fossil of"
+	line "@"
+	TX_RAM wcf4b
+	text ", a"
+	cont "#MON that is"
+	cont "already extinct!"
+
+	para "My Resurrection"
+	line "Machine will make"
+	cont "that #MON live"
+	cont "again!"
+	done
+
+_Lab4Text_610b3::
+	text "So! You hurry and"
+	line "give me that!"
+
+	para "<PLAYER> handed"
+	line "over @"
+	TX_RAM wcd6d
+	text "!"
+	prompt
+
+_Lab4Text_610b8::
+	text "I take a little"
+	line "time!"
+
+	para "You go for walk a"
+	line "little while!"
+	done
+
+_Lab4Text_610bd::
+	text "Aiyah! You come"
+	line "again!"
+	done
--- /dev/null
+++ b/text/maps/CinnabarLabMetronomeRoom.asm
@@ -1,0 +1,63 @@
+_TM35PreReceiveText::
+	text "Tch-tch-tch!"
+	line "I made a cool TM!"
+
+	para "It can cause all"
+	line "kinds of fun!"
+	prompt
+
+_ReceivedTM35Text::
+	text "<PLAYER> received "
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM35ExplanationText::
+	text "Tch-tch-tch!"
+	line "That's the sound"
+	cont "of a METRONOME!"
+
+	para "It tweaks your"
+	line "#MON's brain"
+	cont "into using moves"
+	cont "it doesn't know!"
+	done
+
+_TM35NoRoomText::
+	text "Your pack is"
+	line "crammed full!"
+	done
+
+_Lab3Text2::
+	text "EEVEE can evolve"
+	line "into 1 of 3 kinds"
+	cont "of #MON."
+	done
+
+_Lab3Text3::
+	text "There's an e-mail"
+	line "message!"
+
+	para "..."
+
+	para "The 3 legendary"
+	line "bird #MON are"
+	cont "ARTICUNO, ZAPDOS"
+	cont "and MOLTRES."
+
+	para "Their whereabouts"
+	line "are unknown."
+
+	para "We plan to explore"
+	line "the cavern close"
+	cont "to CERULEAN."
+
+	para "From: #MON"
+	line "RESEARCH TEAM"
+
+	para "..."
+	done
+
+_Lab3Text5::
+	text "An amber pipe!"
+	done
--- /dev/null
+++ b/text/maps/CinnabarLabTradeRoom.asm
@@ -1,0 +1,9 @@
+_Lab2Text1::
+	text "I found this very"
+	line "strange fossil in"
+	cont "MT.MOON!"
+
+	para "I think it's a"
+	line "rare, prehistoric"
+	cont "#MON!"
+	done
--- /dev/null
+++ b/text/maps/CinnabarMart.asm
@@ -1,0 +1,10 @@
+_CinnabarMartText2::
+	text "Don't they have X"
+	line "ATTACK? It's good"
+	cont "for battles!"
+	done
+
+_CinnabarMartText3::
+	text "It never hurts to"
+	line "have extra items!"
+	done
--- /dev/null
+++ b/text/maps/CinnabarPokecenter.asm
@@ -1,0 +1,21 @@
+_CinnabarPokecenterText2::
+	text "You can cancel"
+	line "evolution."
+
+	para "When a #MON is"
+	line "evolving, you can"
+	cont "stop it and leave"
+	cont "it the way it is."
+	done
+
+_CinnabarPokecenterText3::
+	text "Do you have any"
+	line "friends?"
+
+	para "#MON you get"
+	line "in trades grow"
+	cont "very quickly."
+
+	para "I think it's"
+	line "worth a try!"
+	done
--- /dev/null
+++ b/text/maps/CopycatsHouse1F.asm
@@ -1,0 +1,20 @@
+_CopycatsHouse1FText1::
+	text "My daughter is so"
+	line "self-centered."
+	cont "She only has a"
+	cont "few friends."
+	done
+
+_CopycatsHouse1FText2::
+	text "My daughter likes"
+	line "to mimic people."
+
+	para "Her mimicry has"
+	line "earned her the"
+	cont "nickname COPYCAT"
+	cont "around here!"
+	done
+
+_CopycatsHouse1FText3::
+	text "CHANSEY: Chaan!"
+	line "Sii!@@"
--- /dev/null
+++ b/text/maps/CopycatsHouse2F.asm
@@ -1,0 +1,97 @@
+_CopycatsHouse2FText_5ccd4::
+	text "<PLAYER>: Hi! Do"
+	line "you like #MON?"
+
+	para "<PLAYER>: Uh no, I"
+	line "just asked you."
+
+	para "<PLAYER>: Huh?"
+	line "You're strange!"
+
+	para "COPYCAT: Hmm?"
+	line "Quit mimicking?"
+
+	para "But, that's my"
+	line "favorite hobby!"
+	prompt
+
+_TM31PreReceiveText::
+	text "Oh wow!"
+	line "A # DOLL!"
+
+	para "For me?"
+	line "Thank you!"
+
+	para "You can have"
+	line "this, then!"
+	prompt
+
+_ReceivedTM31Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM31ExplanationText1::
+	text ""
+
+	para "TM31 contains my"
+	line "favorite, MIMIC!"
+
+	para "Use it on a good"
+	line "#MON!@@"
+
+_TM31ExplanationText2::
+	text "<PLAYER>: Hi!"
+	line "Thanks for TM31!"
+
+	para "<PLAYER>: Pardon?"
+
+	para "<PLAYER>: Is it"
+	line "that fun to mimic"
+	cont "my every move?"
+
+	para "COPYCAT: You bet!"
+	line "It's a scream!"
+	done
+
+_TM31NoRoomText::
+	text "Don't you want"
+	line "this?@@"
+
+_CopycatsHouse2FText2::
+	text "DODUO: Giiih!"
+
+	para "MIRROR MIRROR ON"
+	line "THE WALL, WHO IS"
+	cont "THE FAIREST ONE"
+	cont "OF ALL?"
+	done
+
+_CopycatsHouse2FText3::
+	text "This is a rare"
+	line "#MON! Huh?"
+	cont "It's only a doll!"
+	done
+
+_CopycatsHouse2FText6::
+	text "A game with MARIO"
+	line "wearing a bucket"
+	cont "on his head!"
+	done
+
+_CopycatsHouse2FText_5cd17::
+	text "..."
+
+	para "My Secrets!"
+
+	para "Skill: Mimicry!"
+	line "Hobby: Collecting"
+	cont "dolls!"
+	cont "Favorite #MON:"
+	cont "CLEFAIRY!"
+	done
+
+_CopycatsHouse2FText_5cd1c::
+	text "Huh? Can't see!"
+	done
--- /dev/null
+++ b/text/maps/Daycare.asm
@@ -1,0 +1,62 @@
+_DayCareIntroText::
+	text "I run a DAYCARE."
+	line "Would you like me"
+	cont "to raise one of"
+	cont "your #MON?"
+	done
+
+_DayCareWhichMonText::
+	text "Which #MON"
+	line "should I raise?"
+	prompt
+
+_DayCareWillLookAfterMonText::
+	text "Fine, I'll look"
+	line "after @"
+	TX_RAM wcd6d
+	text ""
+	cont "for a while."
+	prompt
+
+_DayCareComeSeeMeInAWhileText::
+	text "Come see me in"
+	line "a while."
+	done
+
+_DayCareMonHasGrownText::
+	text "Your @"
+	TX_RAM wcd6d
+	text ""
+	line "has grown a lot!"
+
+	para "By level, it's"
+	line "grown by @"
+	TX_NUM wDayCareNumLevelsGrown,$1,$3
+	text "!"
+
+	para "Aren't I great?"
+	prompt
+
+_DayCareOweMoneyText::
+	text "You owe me ¥@"
+	TX_BCD wDayCareTotalCost, $c2
+	text ""
+	line "for the return"
+	cont "of this #MON."
+	done
+
+_DayCareGotMonBackText::
+	text "<PLAYER> got"
+	line "@"
+	TX_RAM wDayCareMonName
+	text " back!"
+	done
+
+_DayCareMonNeedsMoreTimeText::
+	text "Back already?"
+	line "Your @"
+	TX_RAM wcd6d
+	text ""
+	cont "needs some more"
+	cont "time with me."
+	prompt
--- /dev/null
+++ b/text/maps/Daycare_2.asm
@@ -1,0 +1,33 @@
+_DayCareAllRightThenText::
+	text "All right then,"
+	line "@@"
+
+_DayCareComeAgainText::
+	text "come again."
+	done
+
+_DayCareNoRoomForMonText::
+	text "You have no room"
+	line "for this #MON!"
+	done
+
+_DayCareOnlyHaveOneMonText::
+	text "You only have one"
+	line "#MON with you."
+	done
+
+_DayCareCantAcceptMonWithHMText::
+	text "I can't accept a"
+	line "#MON that"
+	cont "knows an HM move."
+	done
+
+_DayCareHeresYourMonText::
+	text "Thank you! Here's"
+	line "your #MON!"
+	prompt
+
+_DayCareNotEnoughMoneyText::
+	text "Hey, you don't"
+	line "have enough ¥!"
+	done
--- /dev/null
+++ b/text/maps/DiglettsCaveRoute11.asm
@@ -1,0 +1,8 @@
+_DiglettsCaveEntRoute11Text1::
+	text "What a surprise!"
+	line "DIGLETTs dug this"
+	cont "long tunnel!"
+
+	para "It goes right to"
+	line "VIRIDIAN CITY!"
+	done
--- /dev/null
+++ b/text/maps/DiglettsCaveRoute2.asm
@@ -1,0 +1,9 @@
+_DiglettsCaveRoute2Text1::
+	text "I went to ROCK"
+	line "TUNNEL, but it's"
+	cont "dark and scary."
+
+	para "If a #MON's"
+	line "FLASH could light"
+	cont "it up..."
+	done
--- /dev/null
+++ b/text/maps/FightingDojo.asm
@@ -1,0 +1,130 @@
+_FightingDojoText_5ce8e::
+	text "Grunt!"
+
+	para "I am the KARATE"
+	line "MASTER! I am the"
+	cont "LEADER here!"
+
+	para "You wish to"
+	line "challenge us?"
+	cont "Expect no mercy!"
+
+	para "Fwaaa!"
+	done
+
+_FightingDojoText_5ce93::
+	text "Hwa!"
+	line "Arrgh! Beaten!"
+	prompt
+
+_FightingDojoText_5ce98::
+	text "Indeed, I have"
+	line "lost!"
+
+	para "But, I beseech"
+	line "you, do not take"
+	cont "our emblem as"
+	cont "your trophy!"
+
+	para "In return, I will"
+	line "give you a prized"
+	cont "fighting #MON!"
+
+	para "Choose whichever"
+	line "one you like!"
+	done
+
+_FightingDojoText_5ce9d::
+	text "Ho!"
+
+	para "Stay and train at"
+	line "Karate with us!"
+	done
+
+_FightingDojoBattleText1::
+	text "Hoargh! Take your"
+	line "shoes off!"
+	done
+
+_FightingDojoEndBattleText1::
+	text "I give"
+	line "up!"
+	prompt
+
+_FightingDojoAfterBattleText1::
+	text "You wait 'til you"
+	line "see our Master!"
+
+	para "I'm a small fry"
+	line "compared to him!"
+	done
+
+_FightingDojoBattleText2::
+	text "I hear you're"
+	line "good! Show me!"
+	done
+
+_FightingDojoEndBattleText2::
+	text "Judge!"
+	line "1 point!"
+	prompt
+
+_FightingDojoAfterBattleText2::
+	text "Our Master is a"
+	line "pro fighter!"
+	done
+
+_FightingDojoBattleText3::
+	text "Nothing tough"
+	line "frightens me!"
+
+	para "I break boulders"
+	line "for training!"
+	done
+
+_FightingDojoEndBattleText3::
+	text "Yow!"
+	line "Stubbed fingers!"
+	prompt
+
+_FightingDojoAfterBattleText3::
+	text "The only thing"
+	line "that frightens us"
+	cont "is psychic power!"
+	done
+
+_FightingDojoBattleText4::
+	text "Hoohah!"
+
+	para "You're trespassing"
+	line "in our FIGHTING"
+	cont "DOJO!"
+	done
+
+_FightingDojoEndBattleText4::
+	text "Oof!"
+	line "I give up!"
+	prompt
+
+_FightingDojoAfterBattleText4::
+	text "The prime fighters"
+	line "across the land"
+	cont "train here."
+	done
+
+_WantHitmonleeText::
+	text "You want the"
+	line "hard kicking"
+	cont "HITMONLEE?"
+	done
+
+_WantHitmonchanText::
+	text "You want the"
+	line "piston punching"
+	cont "HITMONCHAN?"
+	done
+
+_OtherHitmonText::
+	text "Better not get"
+	line "greedy..."
+	done
--- /dev/null
+++ b/text/maps/FuchsiaBillsGrandpasHouse.asm
@@ -1,0 +1,27 @@
+_FuchsiaHouse1Text1::
+	text "SAFARI ZONE's"
+	line "WARDEN is old,"
+	cont "but still active!"
+
+	para "All his teeth are"
+	line "false, though."
+	done
+
+_FuchsiaHouse1Text2::
+	text "Hmm? You've met"
+	line "BILL?"
+
+	para "He's my grandson!"
+
+	para "He always liked"
+	line "collecting things"
+	cont "even as a child!"
+	done
+
+_FuchsiaHouse1Text3::
+	text "BILL files his"
+	line "own #MON data"
+	cont "on his PC!"
+
+	para "Did he show you?"
+	done
--- /dev/null
+++ b/text/maps/FuchsiaCity.asm
@@ -1,0 +1,119 @@
+_FuchsiaCityText1::
+	text "Did you try the"
+	line "SAFARI GAME? Some"
+	cont "#MON can only"
+	cont "be caught there."
+	done
+
+_FuchsiaCityText2::
+	text "SAFARI ZONE has a"
+	line "zoo in front of"
+	cont "the entrance."
+
+	para "Out back is the"
+	line "SAFARI GAME for"
+	cont "catching #MON."
+	done
+
+_FuchsiaCityText3::
+	text "ERIK: Where's"
+	line "SARA? I said I'd"
+	cont "meet her here."
+	done
+
+_FuchsiaCityText4::
+	text "That item ball in"
+	line "there is really a"
+	cont "#MON."
+	done
+
+_FuchsiaCityText5::
+	text "!"
+	done
+
+_FuchsiaCityText11::
+	text "FUCHSIA CITY"
+	line "Behold! It's"
+	cont "Passion Pink!"
+	done
+
+_FuchsiaCityText13::
+	text "SAFARI GAME"
+	line "#MON-U-CATCH!"
+	done
+
+_FuchsiaCityText16::
+	text "SAFARI ZONE"
+	line "WARDEN's HOME"
+	done
+
+_FuchsiaCityText17::
+	text "#MON PARADISE"
+	line "SAFARI ZONE"
+	done
+
+_FuchsiaCityText18::
+	text "FUCHSIA CITY"
+	line "#MON GYM"
+	cont "LEADER: KOGA"
+
+	para "The Poisonous"
+	line "Ninja Master"
+	done
+
+_FuchsiaCityChanseyText::
+	text "Name: CHANSEY"
+
+	para "Catching one is"
+	line "all up to chance."
+	prompt
+
+_FuchsiaCityVoltorbText::
+	text "Name: VOLTORB"
+
+	para "The very image of"
+	line "a # BALL."
+	prompt
+
+_FuchsiaCityKangaskhanText::
+	text "Name: KANGASKHAN"
+
+	para "A maternal #MON"
+	line "that raises its"
+	cont "young in a pouch"
+	cont "on its belly."
+	prompt
+
+_FuchsiaCitySlowpokeText::
+	text "Name: SLOWPOKE"
+
+	para "Friendly and very"
+	line "slow moving."
+	prompt
+
+_FuchsiaCityLaprasText::
+	text "Name: LAPRAS"
+
+	para "A.K.A. the king"
+	line "of the seas."
+	prompt
+
+_FuchsiaCityOmanyteText::
+	text "Name: OMANYTE"
+
+	para "A #MON that"
+	line "was resurrected"
+	cont "from a fossil."
+	prompt
+
+_FuchsiaCityKabutoText::
+	text "Name: KABUTO"
+
+	para "A #MON that"
+	line "was resurrected"
+	cont "from a fossil."
+	prompt
+
+_FuchsiaCityText_19b2a::
+	text "..."
+	done
--- /dev/null
+++ b/text/maps/FuchsiaGoodRodHouse.asm
@@ -1,0 +1,43 @@
+_FuchsiaHouse3Text_561bd::
+	text "I'm the FISHING"
+	line "GURU's older"
+	cont "brother!"
+
+	para "I simply Looove"
+	line "fishing!"
+
+	para "Do you like to"
+	line "fish?"
+	done
+
+_FuchsiaHouse3Text_561c2::
+	text "Grand! I like"
+	line "your style!"
+
+	para "Take this and"
+	line "fish, young one!"
+
+	para "<PLAYER> received"
+	line "a @"
+	TX_RAM wcf4b
+	text "!@@"
+
+_FuchsiaHouse3Text_56212::
+	text "Oh... That's so"
+	line "disappointing..."
+	done
+
+_FuchsiaHouse3Text_56217::
+	text "Hello there,"
+	line "<PLAYER>!"
+
+	para "How are the fish"
+	line "biting?"
+	done
+
+_FuchsiaHouse3Text_5621c::
+	text "Oh no!"
+
+	para "You have no room"
+	line "for my gift!"
+	done
--- /dev/null
+++ b/text/maps/FuchsiaGym.asm
@@ -1,0 +1,26 @@
+_KogaBeforeBattleText::
+	text "KOGA: Fwahahaha!"
+
+	para "A mere child like"
+	line "you dares to"
+	cont "challenge me?"
+
+	para "Very well, I"
+	line "shall show you"
+	cont "true terror as a"
+	cont "ninja master!"
+
+	para "You shall feel"
+	line "the despair of"
+	cont "poison and sleep"
+	cont "techniques!"
+	done
+
+_KogaAfterBattleText::
+	text "Humph!"
+	line "You have proven"
+	cont "your worth!"
+
+	para "Here! Take the"
+	line "SOULBADGE!"
+	prompt
--- /dev/null
+++ b/text/maps/FuchsiaGym_2.asm
@@ -1,0 +1,193 @@
+_KogaExplainToxicText::
+	text "When afflicted by"
+	line "TOXIC, #MON"
+	cont "suffer more and"
+	cont "more as battle"
+	cont "progresses!"
+
+	para "It will surely"
+	line "terrorize foes!"
+	done
+
+_FuchsiaGymText9::
+	text "Now that you have"
+	line "the SOULBADGE,"
+	cont "the DEFENSE of"
+	cont "your #MON"
+	cont "increases!"
+
+	para "It also lets you"
+	line "SURF outside of"
+	cont "battle!"
+
+	para "Ah! Take this"
+	line "too!"
+	done
+
+_ReceivedTM06Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM06ExplanationText::
+	text ""
+	para "TM06 contains"
+	line "TOXIC!"
+
+	para "It is a secret"
+	line "technique over"
+	cont "400 years old!"
+	done
+
+_TM06NoRoomText::
+	text "Make space for"
+	line "this, child!"
+	done
+
+_FuchsiaGymBattleText1::
+	text "Strength isn't"
+	line "the key for"
+	cont "#MON!"
+
+	para "It's strategy!"
+
+	para "I'll show you how"
+	line "strategy can beat"
+	cont "brute strength!"
+	done
+
+_FuchsiaGymEndBattleText1::
+	text "What?"
+	line "Extraordinary!"
+	prompt
+
+_FuchsiaGymAfterBattleText1::
+	text "So, you mix brawn"
+	line "with brains?"
+	cont "Good strategy!"
+	done
+
+_FuchsiaGymBattleText2::
+	text "I wanted to become"
+	line "a ninja, so I"
+	cont "joined this GYM!"
+	done
+
+_FuchsiaGymEndBattleText2::
+	text "I'm done"
+	line "for!"
+	prompt
+
+_FuchsiaGymAfterBattleText2::
+	text "I will keep on"
+	line "training under"
+	cont "KOGA, my ninja"
+	cont "master!"
+	done
+
+_FuchsiaGymBattleText3::
+	text "Let's see you"
+	line "beat my special"
+	cont "techniques!"
+	done
+
+_FuchsiaGymEndBattleText3::
+	text "You"
+	line "had me fooled!"
+	prompt
+
+_FuchsiaGymAfterBattleText3::
+	text "I like poison and"
+	line "sleep techniques,"
+	cont "as they linger"
+	cont "after battle!"
+	done
+
+_FuchsiaGymBattleText4::
+	text "Stop right there!"
+
+	para "Our invisible"
+	line "walls have you"
+	cont "frustrated?"
+	done
+
+_FuchsiaGymEndBattleText4::
+	text "Whoa!"
+	line "He's got it!"
+	prompt
+
+_FuchsiaGymAfterBattleText4::
+	text "You impressed me!"
+	line "Here's a hint!"
+
+	para "Look very closely"
+	line "for gaps in the"
+	cont "invisible walls!"
+	done
+
+_FuchsiaGymBattleText5::
+	text "I also study the"
+	line "way of the ninja"
+	cont "with master KOGA!"
+
+	para "Ninja have a long"
+	line "history of using"
+	cont "animals!"
+	done
+
+_FuchsiaGymEndBattleText5::
+	text "Awoo!"
+	prompt
+
+_FuchsiaGymAfterBattleText5::
+	text "I still have much"
+	line "to learn!"
+	done
+
+_FuchsiaGymBattleText6::
+	text "Master KOGA comes"
+	line "from a long line"
+	cont "of ninjas!"
+
+	para "What did you"
+	line "descend from?"
+	done
+
+_FuchsiaGymEndBattleText6::
+	text "Dropped"
+	line "my balls!"
+	prompt
+
+_FuchsiaGymAfterBattleText6::
+	text "Where there is"
+	line "light, there is"
+	cont "shadow!"
+
+	para "Light and shadow!"
+	line "Which do you"
+	cont "choose?"
+	done
+
+_FuchsiaGymText_7564e::
+	text "Yo! Champ in"
+	line "making!"
+
+	para "FUCHSIA GYM is"
+	line "riddled with"
+	cont "invisible walls!"
+
+	para "KOGA might appear"
+	line "close, but he's"
+	cont "blocked off!"
+
+	para "You have to find"
+	line "gaps in the walls"
+	cont "to reach him!"
+	done
+
+_FuchsiaGymText_75653::
+	text "It's amazing how"
+	line "ninja can terrify"
+	cont "even now!"
+	done
--- /dev/null
+++ b/text/maps/FuchsiaMart.asm
@@ -1,0 +1,14 @@
+_FuchsiaMartText2::
+	text "Do you have a"
+	line "SAFARI ZONE flag?"
+
+	para "What about cards"
+	line "or calendars?"
+	done
+
+_FuchsiaMartText3::
+	text "Did you try X"
+	line "SPEED? It speeds"
+	cont "up a #MON in"
+	cont "battle!"
+	done
--- /dev/null
+++ b/text/maps/FuchsiaMeetingRoom.asm
@@ -1,0 +1,26 @@
+_FuchsiaMeetingRoomText1::
+	text "We nicknamed the"
+	line "WARDEN SLOWPOKE."
+
+	para "He and SLOWPOKE"
+	line "both look vacant!"
+	done
+
+_FuchsiaMeetingRoomText2::
+	text "SLOWPOKE is very"
+	line "knowledgeable"
+	cont "about #MON!"
+
+	para "He even has some"
+	line "fossils of rare,"
+	cont "extinct #MON!"
+	done
+
+_FuchsiaMeetingRoomText3::
+	text "SLOWPOKE came in,"
+	line "but I couldn't"
+	cont "understand him."
+
+	para "I think he's got"
+	line "a speech problem!"
+	done
--- /dev/null
+++ b/text/maps/FuchsiaPokecenter.asm
@@ -1,0 +1,20 @@
+_FuchsiaPokecenterText1::
+	text "You can't win"
+	line "with just one"
+	cont "strong #MON."
+
+	para "It's tough, but"
+	line "you have to raise"
+	cont "them evenly."
+	done
+
+_FuchsiaPokecenterText3::
+	text "There's a narrow"
+	line "trail west of"
+	cont "VIRIDIAN CITY."
+
+	para "It goes to #MON"
+	line "LEAGUE HQ."
+	cont "The HQ governs"
+	cont "all trainers."
+	done
--- /dev/null
+++ b/text/maps/GameCorner.asm
@@ -1,0 +1,186 @@
+_CeladonGameCornerText1::
+	text "Welcome!"
+
+	para "You can exchange"
+	line "your coins for"
+	cont "fabulous prizes"
+	cont "next door."
+	done
+
+_CeladonGameCornerText_48d22::
+	text "Welcome to ROCKET"
+	line "GAME CORNER!"
+
+	para "Do you need some"
+	line "game coins?"
+
+	para "It's ¥1000 for 50"
+	line "coins. Would you"
+	cont "like some?"
+	done
+
+_CeladonGameCornerText_48d27::
+	text "Thanks! Here are"
+	line "your 50 coins!"
+	done
+
+_CeladonGameCornerText_48d2c::
+	text "No? Please come"
+	line "play sometime!"
+	done
+
+_CeladonGameCornerText_48d31::
+	text "You can't afford"
+	line "the coins!"
+	done
+
+_CeladonGameCornerText_48d36::
+	text "Oops! Your COIN"
+	line "CASE is full."
+	done
+
+_CeladonGameCornerText_48d3b::
+	text "You don't have a"
+	line "COIN CASE!"
+	done
+
+_CeladonGameCornerText3::
+	text "Keep this quiet."
+
+	para "It's rumored that"
+	line "this place is run"
+	cont "by TEAM ROCKET."
+	done
+
+_CeladonGameCornerText4::
+	text "I think these"
+	line "machines have"
+	cont "different odds."
+	done
+
+_CeladonGameCornerText_48d9c::
+	text "Kid, do you want"
+	line "to play?"
+	prompt
+
+_Received10CoinsText::
+	text "<PLAYER> received"
+	line "10 coins!@@"
+
+_CeladonGameCornerText_48da7::
+	text "You don't need my"
+	line "coins!"
+	done
+
+_CeladonGameCornerText_48dac::
+	text "Wins seem to come"
+	line "and go."
+	done
+
+_CeladonGameCornerText6::
+	text "I'm having a"
+	line "wonderful time!"
+	done
+
+_CeladonGameCornerText_48dca::
+	text "Hey!"
+
+	para "You have better"
+	line "things to do,"
+	cont "champ in making!"
+
+	para "CELADON GYM's"
+	line "LEADER is ERIKA!"
+	cont "She uses grass-"
+	cont "type #MON!"
+
+	para "She might appear"
+	line "docile, but don't"
+	cont "be fooled!"
+	done
+
+_CeladonGameCornerText_48dcf::
+	text "They offer rare"
+	line "#MON that can"
+	cont "be exchanged for"
+	cont "your coins."
+
+	para "But, I just can't"
+	line "seem to win!"
+	done
+
+_CeladonGameCornerText8::
+	text "Games are scary!"
+	line "It's so easy to"
+	cont "get hooked!"
+	done
+
+_CeladonGameCornerText_48e26::
+	text "What's up? Want"
+	line "some coins?"
+	prompt
+
+_Received20CoinsText::
+	text "<PLAYER> received"
+	line "20 coins!@@"
+
+_CeladonGameCornerText_48e31::
+	text "You have lots of"
+	line "coins!"
+	done
+
+_CeladonGameCornerText_48e36::
+	text "Darn! I need more"
+	line "coins for the"
+	cont "#MON I want!"
+	done
+
+_CeladonGameCornerText_48e88::
+	text "Hey, what? You're"
+	line "throwing me off!"
+	cont "Here are some"
+	cont "coins, shoo!"
+	prompt
+
+_CeladonGameCornerText_48e8d::
+	text "<PLAYER> received"
+	line "20 coins!@@"
+
+_CeladonGameCornerText_48e93::
+	text "You've got your"
+	line "own coins!"
+	done
+
+_CeladonGameCornerText_48e98::
+	text "The trick is to"
+	line "watch the reels"
+	cont "closely!"
+	done
+
+_CeladonGameCornerText_48ece::
+	text "I'm guarding this"
+	line "poster!"
+	cont "Go away, or else!"
+	done
+
+_CeladonGameCornerText_48ed3::
+	text "Dang!"
+	prompt
+
+_CeladonGameCornerText_48ed8::
+	text "Our hideout might"
+	line "be discovered! I"
+	cont "better tell BOSS!"
+	done
+
+_CeladonGameCornerText_48f09::
+	text "Hey!"
+
+	para "A switch behind"
+	line "the poster!?"
+	cont "Let's push it!@@"
+
+_CeladonGameCornerText_48f19::
+	text "Oops! Forgot the"
+	line "COIN CASE!"
+	done
--- /dev/null
+++ b/text/maps/GameCornerPrizeRoom.asm
@@ -1,0 +1,12 @@
+_CeladonPrizeRoomText1::
+	text "I sure do fancy"
+	line "that PORYGON!"
+
+	para "But, it's hard to"
+	line "win at slots!"
+	done
+
+_CeladonPrizeRoomText2::
+	text "I had a major"
+	line "haul today!"
+	done
--- /dev/null
+++ b/text/maps/HallOfFame.asm
@@ -1,0 +1,28 @@
+_HallofFameRoomText1::
+	text "OAK: Er-hem!"
+	line "Congratulations"
+	cont "<PLAYER>!"
+
+	para "This floor is the"
+	line "#MON HALL OF"
+	cont "FAME!"
+
+	para "#MON LEAGUE"
+	line "champions are"
+	cont "honored for their"
+	cont "exploits here!"
+
+	para "Their #MON are"
+	line "also recorded in"
+	cont "the HALL OF FAME!"
+
+	para "<PLAYER>! You have"
+	line "endeavored hard"
+	cont "to become the new"
+	cont "LEAGUE champion!"
+
+	para "Congratulations,"
+	line "<PLAYER>, you and"
+	cont "your #MON are"
+	cont "HALL OF FAMERs!"
+	done
--- /dev/null
+++ b/text/maps/IndigoPlateauLobby.asm
@@ -1,0 +1,25 @@
+_IndigoPlateauLobbyText2::
+	text "Yo! Champ in"
+	line "making!"
+
+	para "At #MON LEAGUE,"
+	line "you have to face"
+	cont "the ELITE FOUR in"
+	cont "succession."
+
+	para "If you lose, you"
+	line "have to start all"
+	cont "over again! This"
+	cont "is it! Go for it!"
+	done
+
+_IndigoPlateauLobbyText3::
+	text "From here on, you"
+	line "face the ELITE"
+	cont "FOUR one by one!"
+
+	para "If you win, a"
+	line "door opens to the"
+	cont "next trainer!"
+	cont "Good luck!"
+	done
--- /dev/null
+++ b/text/maps/LancesRoom.asm
@@ -1,0 +1,63 @@
+_LanceBeforeBattleText::
+	text "Ah! I heard about"
+	line "you <PLAYER>!"
+
+	para "I lead the ELITE"
+	line "FOUR! You can"
+	cont "call me LANCE the"
+	cont "dragon trainer!"
+
+	para "You know that"
+	line "dragons are"
+	cont "mythical #MON!"
+
+	para "They're hard to"
+	line "catch and raise,"
+	cont "but their powers"
+	cont "are superior!"
+
+	para "They're virtually"
+	line "indestructible!"
+
+	para "Well, are you"
+	line "ready to lose?"
+
+	para "Your LEAGUE"
+	line "challenge ends"
+	cont "with me, <PLAYER>!"
+	done
+
+_LanceEndBattleText::
+	text "That's it!"
+
+	para "I hate to admit"
+	line "it, but you are a"
+	cont "#MON master!"
+	prompt
+
+_LanceAfterBattleText::
+	text "I still can't"
+	line "believe my"
+	cont "dragons lost to"
+	cont "you, <PLAYER>!"
+
+	para "You are now the"
+	line "#MON LEAGUE"
+	cont "champion!"
+
+	para "...Or, you would"
+	line "have been, but"
+	cont "you have one more"
+	cont "challenge ahead."
+
+	para "You have to face"
+	line "another trainer!"
+	cont "His name is..."
+
+	para "<RIVAL>!"
+	line "He beat the ELITE"
+	cont "FOUR before you!"
+
+	para "He is the real"
+	line "#MON LEAGUE"
+	cont "champion!@@"
--- /dev/null
+++ b/text/maps/LavenderCuboneHouse.asm
@@ -1,0 +1,24 @@
+_LavenderHouse2Text1::
+	text "CUBONE: Kyarugoo!@@"
+
+_LavenderHouse2Text_1d9dc::
+	text "I hate those"
+	line "horrible ROCKETs!"
+
+	para "That poor CUBONE's"
+	line "mother..."
+
+	para "It was killed"
+	line "trying to escape"
+	cont "from TEAM ROCKET!"
+	done
+
+_LavenderHouse2Text_1d9e1::
+	text "The GHOST of"
+	line "#MON TOWER is"
+	cont "gone!"
+
+	para "Someone must have"
+	line "soothed its"
+	cont "restless soul!"
+	done
--- /dev/null
+++ b/text/maps/LavenderMart.asm
@@ -1,0 +1,30 @@
+_LavenderMartText2::
+	text "I'm searching for"
+	line "items that raise"
+	cont "the abilities of"
+	cont "#MON during a"
+	cont "single battle."
+
+	para "X ATTACK, X"
+	line "DEFEND, X SPEED"
+	cont "and X SPECIAL are"
+	cont "what I'm after."
+
+	para "Do you know where"
+	line "I can get them?"
+	done
+
+_LavenderMartReviveText::
+	text "You know REVIVE?"
+	line "It revives any"
+	cont "fainted #MON!"
+	done
+
+_LavenderMartNuggetText::
+	text "I found a NUGGET"
+	line "in the mountains."
+
+	para "I thought it was"
+	line "useless, but it"
+	cont "sold for ¥5000!"
+	done
--- /dev/null
+++ b/text/maps/LavenderPokecenter.asm
@@ -1,0 +1,12 @@
+_LavenderPokecenterText2::
+	text "TEAM ROCKET will"
+	line "do anything for"
+	cont "the sake of gold!"
+	done
+
+_LavenderPokecenterText3::
+	text "I saw CUBONE's"
+	line "mother die trying"
+	cont "to escape from"
+	cont "TEAM ROCKET!"
+	done
--- /dev/null
+++ b/text/maps/LavenderTown.asm
@@ -1,0 +1,64 @@
+_LavenderTownText_4413c::
+	text "Do you believe in"
+	line "GHOSTs?"
+	done
+
+_LavenderTownText_44141::
+	text "Really? So there"
+	line "are believers..."
+	done
+
+_LavenderTownText_44146::
+	text "Hahaha, I guess"
+	line "not."
+
+	para "That white hand"
+	line "on your shoulder,"
+	cont "it's not real."
+	done
+
+_LavenderTownText2::
+	text "This town is known"
+	line "as the grave site"
+	cont "of #MON."
+
+	para "Memorial services"
+	line "are held in"
+	cont "#MON TOWER."
+	done
+
+_LavenderTownText3::
+	text "GHOSTs appeared"
+	line "in #MON TOWER."
+
+	para "I think they're"
+	line "the spirits of"
+	cont "#MON that the"
+	cont "ROCKETs killed."
+	done
+
+_LavenderTownText4::
+	text "LAVENDER TOWN"
+	line "The Noble Purple"
+	cont "Town"
+	done
+
+_LavenderTownText5::
+	text "New SILPH SCOPE!"
+
+	para "Make the Invisible"
+	line "Plain to See!"
+
+	para "SILPH CO."
+	done
+
+_LavenderTownText8::
+	text "LAVENDER VOLUNTEER"
+	line "#MON HOUSE"
+	done
+
+_LavenderTownText9::
+	text "May the Souls of"
+	line "#MON Rest Easy"
+	cont "#MON TOWER"
+	done
--- /dev/null
+++ b/text/maps/LoreleisRoom.asm
@@ -1,0 +1,42 @@
+_LoreleiBeforeBattleText::
+	text "Welcome to"
+	line "#MON LEAGUE!"
+
+	para "I am LORELEI of"
+	line "the ELITE FOUR!"
+
+	para "No one can best"
+	line "me when it comes"
+	cont "to icy #MON!"
+
+	para "Freezing moves"
+	line "are powerful!"
+
+	para "Your #MON will"
+	line "be at my mercy"
+	cont "when they are"
+	cont "frozen solid!"
+
+	para "Hahaha!"
+	line "Are you ready?"
+	done
+
+_LoreleiEndBattleText::
+	text "How"
+	line "dare you!"
+	prompt
+
+_LoreleiAfterBattleText::
+	text "You're better"
+	line "than I thought!"
+	cont "Go on ahead!"
+
+	para "You only got a"
+	line "taste of #MON"
+	cont "LEAGUE power!"
+	done
+
+_LoreleiDontRunAwayText::
+	text "Someone's voice:"
+	line "Don't run away!"
+	done
--- /dev/null
+++ b/text/maps/MrFujisHouse.asm
@@ -1,0 +1,86 @@
+_LavenderHouse1Text_1d8d1::
+	text "That's odd, MR.FUJI"
+	line "isn't here."
+	cont "Where'd he go?"
+	done
+
+_LavenderHouse1Text_1d8d6::
+	text "MR.FUJI had been"
+	line "praying alone for"
+	cont "CUBONE's mother."
+	done
+
+_LavenderHouse1Text_1d8f4::
+	text "This is really"
+	line "MR.FUJI's house."
+
+	para "He's really kind!"
+
+	para "He looks after"
+	line "abandoned and"
+	cont "orphaned #MON!"
+	done
+
+_LavenderHouse1Text_1d8f9::
+	text "It's so warm!"
+	line "#MON are so"
+	cont "nice to hug!"
+	done
+
+_LavenderHouse1Text3::
+	text "PSYDUCK: Gwappa!@@"
+
+_LavenderHouse1Text4::
+	text "NIDORINO: Gaoo!@@"
+
+_LavenderHouse1Text_1d94c::
+	text "MR.FUJI: <PLAYER>."
+
+	para "Your #DEX quest"
+	line "may fail without"
+	cont "love for your"
+	cont "#MON."
+
+	para "I think this may"
+	line "help your quest."
+	prompt
+
+_ReceivedFluteText::
+	text "<PLAYER> received"
+	line "a @"
+	TX_RAM wcf4b
+	text "!@@"
+
+_FluteExplanationText::
+	text ""
+
+	para "Upon hearing #"
+	line "FLUTE, sleeping"
+	cont "#MON will"
+	cont "spring awake."
+
+	para "It works on all"
+	line "sleeping #MON."
+	done
+
+_FluteNoRoomText::
+	text "You must make"
+	line "room for this!"
+	done
+
+_MrFujiAfterFluteText::
+	text "MR.FUJI: Has my"
+	line "FLUTE helped you?"
+	done
+
+_LavenderHouse1Text6::
+	text "#MON Monthly"
+	line "Grand Prize"
+	cont "Drawing!"
+
+	para "The application"
+	line "form is..."
+
+	para "Gone! It's been"
+	line "clipped out!"
+	done
--- /dev/null
+++ b/text/maps/MrPsychicsHouse.asm
@@ -1,0 +1,25 @@
+_TM29PreReceiveText::
+	text "...Wait! Don't"
+	line "say a word!"
+
+	para "You wanted this!"
+	prompt
+
+_ReceivedTM29Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM29ExplanationText::
+	text "TM29 is PSYCHIC!"
+
+	para "It can lower the"
+	line "target's SPECIAL"
+	cont "abilities."
+	done
+
+_TM29NoRoomText::
+	text "Where do you plan"
+	line "to put this?"
+	done
--- /dev/null
+++ b/text/maps/MtMoon1F.asm
@@ -1,0 +1,119 @@
+_MtMoon1BattleText2::
+	text "WHOA! You shocked"
+	line "me! Oh, you're"
+	cont "just a kid!"
+	done
+
+_MtMoon1EndBattleText2::
+	text "Wow!"
+	line "Shocked again!"
+	prompt
+
+_MtMoon1AfterBattleText2::
+	text "Kids like you"
+	line "shouldn't be"
+	cont "here!"
+	done
+
+_MtMoon1BattleText3::
+	text "Did you come to"
+	line "explore too?"
+	done
+
+_MtMoon1EndBattleText3::
+	text "Losing"
+	line "stinks!"
+	prompt
+
+_MtMoon1AfterBattleText3::
+	text "I came down here"
+	line "to show off to"
+	cont "girls."
+	done
+
+_MtMoon1BattleText4::
+	text "Wow! It's way"
+	line "bigger in here"
+	cont "than I thought!"
+	done
+
+_MtMoon1EndBattleText4::
+	text "Oh!"
+	line "I lost it!"
+	prompt
+
+_MtMoon1AfterBattleText4::
+	text "How do you get"
+	line "out of here?"
+	done
+
+_MtMoon1BattleText5::
+	text "What! Don't sneak"
+	line "up on me!"
+	done
+
+_MtMoon1EndBattleText5::
+	text "My"
+	line "#MON won't do!"
+	prompt
+
+_MtMoon1AfterBattleText5::
+	text "I have to find"
+	line "stronger #MON."
+	done
+
+_MtMoon1BattleText6::
+	text "What? I'm waiting"
+	line "for my friends to"
+	cont "find me here."
+	done
+
+_MtMoon1EndBattleText6::
+	text "I lost?"
+	prompt
+
+_MtMoon1AfterBattleText6::
+	text "I heard there are"
+	line "some very rare"
+	cont "fossils here."
+	done
+
+_MtMoon1BattleText7::
+	text "Suspicious men"
+	line "are in the cave."
+	cont "What about you?"
+	done
+
+_MtMoon1EndBattleText7::
+	text "You"
+	line "got me!"
+	prompt
+
+_MtMoon1AfterBattleText7::
+	text "I saw them! I'm"
+	line "sure they're from"
+	cont "TEAM ROCKET!"
+	done
+
+_MtMoon1BattleText8::
+	text "Go through this"
+	line "cave to get to"
+	cont "CERULEAN CITY!"
+	done
+
+_MtMoon1EndBattleText8::
+	text "I"
+	line "lost."
+	prompt
+
+_MtMoon1AfterBattleText8::
+	text "ZUBAT is tough!"
+	line "But, it can be"
+	cont "useful if you"
+	cont "catch one."
+	done
+
+_MtMoon1Text14::
+	text "Beware! ZUBAT is"
+	line "a blood sucker!"
+	done
--- /dev/null
+++ b/text/maps/MtMoonB1F.asm
@@ -1,0 +1,3 @@
+_MtMoonText1::
+	text ""
+	done
--- /dev/null
+++ b/text/maps/MtMoonB2F.asm
@@ -1,0 +1,122 @@
+_MtMoon3Text_49f24::
+	text "You want the"
+	line "DOME FOSSIL?"
+	done
+
+_MtMoon3Text_49f64::
+	text "You want the"
+	line "HELIX FOSSIL?"
+	done
+
+_MtMoon3Text_49f6f::
+	text "<PLAYER> got the"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_MtMoon3Text_49f7f::
+	text "Look, you've got"
+	line "no room for this.@@"
+
+_MtMoon3Text_49f85::
+	text "Hey, stop!"
+
+	para "I found these"
+	line "fossils! They're"
+	cont "both mine!"
+	done
+
+_MtMoon3Text_49f8a::
+	text "OK!"
+	line "I'll share!"
+	prompt
+
+_MtMoon3Text_49f8f::
+	text "We'll each take"
+	line "one!"
+	cont "No being greedy!"
+	done
+
+_MtMoon3Text_49f94::
+	text "Far away, on"
+	line "CINNABAR ISLAND,"
+	cont "there's a #MON"
+	cont "LAB."
+
+	para "They do research"
+	line "on regenerating"
+	cont "fossils."
+	done
+
+_MtMoon3Text_49f99::
+	text "All right. Then"
+	line "this is mine!@@"
+
+_MtMoon3BattleText2::
+	text "TEAM ROCKET will"
+	line "find the fossils,"
+	cont "revive and sell"
+	cont "them for cash!"
+	done
+
+_MtMoon3EndBattleText2::
+	text "Urgh!"
+	line "Now I'm mad!"
+	prompt
+
+_MtMoon3AfterBattleText2::
+	text "You made me mad!"
+	line "TEAM ROCKET will"
+	cont "blacklist you!"
+	done
+
+_MtMoon3BattleText3::
+	text "We, TEAM ROCKET,"
+	line "are #MON"
+	cont "gangsters!"
+	done
+
+_MtMoon3EndBattleText3::
+	text "I blew"
+	line "it!"
+	prompt
+
+_MtMoon3AfterBattleText3::
+	text "Darn it all! My"
+	line "associates won't"
+	cont "stand for this!"
+	done
+
+_MtMoon3BattleText4::
+	text "We're pulling a"
+	line "big job here!"
+	cont "Get lost, kid!"
+	done
+
+_MtMoon3EndBattleText4::
+	text "So, you"
+	line "are good."
+	prompt
+
+_MtMoon3AfterBattleText4::
+	text "If you find a"
+	line "fossil, give it"
+	cont "to me and scram!"
+	done
+
+_MtMoon3BattleText5::
+	text "Little kids"
+	line "should leave"
+	cont "grown-ups alone!"
+	done
+
+_MtMoon3EndBattleText5::
+	text "I'm"
+	line "steamed!"
+	prompt
+
+_MtMoon3AfterBattleText5::
+	text "#MON lived"
+	line "here long before"
+	cont "people came."
+	done
--- /dev/null
+++ b/text/maps/MtMoonPokecenter.asm
@@ -1,0 +1,48 @@
+_MtMoonPokecenterText1::
+	text "I've 6 # BALLs"
+	line "set in my belt."
+
+	para "At most, you can"
+	line "carry 6 #MON."
+	done
+
+_MtMoonPokecenterText3::
+	text "TEAM ROCKET"
+	line "attacks CERULEAN"
+	cont "citizens..."
+
+	para "TEAM ROCKET is"
+	line "always in the"
+	cont "news!"
+	done
+
+_MagikarpSalesmanText1::
+	text "MAN: Hello, there!"
+	line "Have I got a deal"
+	cont "just for you!"
+
+	para "I'll let you have"
+	line "a swell MAGIKARP"
+	cont "for just ¥500!"
+	cont "What do you say?"
+	done
+
+_MagikarpSalesmanNoText::
+	text "No? I'm only"
+	line "doing this as a"
+	cont "favor to you!"
+	done
+
+_MagikarpSalesmanNoMoneyText::
+	text "You'll need more"
+	line "money than that!"
+	done
+
+_MagikarpSalesmanText2::
+	text "MAN: Well, I don't"
+	line "give refunds!"
+	done
+
+_MtMoonPokecenterText5::
+	text ""
+	done
--- /dev/null
+++ b/text/maps/Museum1F.asm
@@ -1,0 +1,107 @@
+_Museum1FText_5c21a::
+	text "Come again!"
+	done
+
+_Museum1FText_5c21f::
+	text "It's ¥50 for a"
+	line "child's ticket."
+
+	para "Would you like to"
+	line "come in?"
+	done
+
+_Museum1FText_5c224::
+	text "Right, ¥50!"
+	line "Thank you!"
+	done
+
+_Museum1FText_5c229::
+	text "You don't have"
+	line "enough money."
+	prompt
+
+_Museum1FText_5c22e::
+	text "You can't sneak"
+	line "in the back way!"
+
+	para "Oh, whatever!"
+	line "Do you know what"
+	cont "AMBER is?"
+	done
+
+_Museum1FText_5c233::
+	text "There's a lab"
+	line "somewhere trying"
+	cont "to resurrect"
+	cont "ancient #MON"
+	cont "from AMBER."
+	done
+
+_Museum1FText_5c238::
+	text "AMBER is fossil-"
+	line "ized tree sap."
+	done
+
+_Museum1FText_5c23d::
+	text "Please go to the"
+	line "other side!"
+	done
+
+_Museum1FText_5c242::
+	text "Take plenty of"
+	line "time to look!"
+	done
+
+_Museum1FText_5c251::
+	text "That is one"
+	line "magnificent"
+	cont "fossil!"
+	done
+
+_Museum1FText_5c28e::
+	text "Ssh! I think that"
+	line "this chunk of"
+	cont "AMBER contains"
+	cont "#MON DNA!"
+
+	para "It would be great"
+	line "if #MON could"
+	cont "be resurrected"
+	cont "from it!"
+
+	para "But, my colleagues"
+	line "just ignore me!"
+
+	para "So I have a favor"
+	line "to ask!"
+
+	para "Take this to a"
+	line "#MON LAB and"
+	cont "get it examined!"
+	prompt
+
+_ReceivedOldAmberText::
+	text "<PLAYER> received"
+	line "OLD AMBER!@@"
+
+_Museum1FText_5c299::
+	text "Ssh! Get the OLD"
+	line "AMBER checked!"
+	done
+
+_Museum1FText_5c29e::
+	text "You don't have"
+	line "space for this!"
+	done
+
+_Museum1FText_5c2ad::
+	text "We are proud of 2"
+	line "fossils of very"
+	cont "rare, prehistoric"
+	cont "#MON!"
+	done
+
+_Museum1FText_5c2bc::
+	text "The AMBER is"
+	line "clear and gold!"
+	done
--- /dev/null
+++ b/text/maps/Museum2F.asm
@@ -1,0 +1,45 @@
+_Museum2FText1::
+	text "MOON STONE?"
+
+	para "What's so special"
+	line "about it?"
+	done
+
+_Museum2FText2::
+	text "July 20, 1969!"
+
+	para "The 1st lunar"
+	line "landing!"
+
+	para "I bought a color"
+	line "TV to watch it!"
+	done
+
+_Museum2FText3::
+	text "We have a space"
+	line "exhibit now."
+	done
+
+_Museum2FText4::
+	text "I want a PIKACHU!"
+	line "It's so cute!"
+
+	para "I asked my Daddy"
+	line "to catch me one!"
+	done
+
+_Museum2FText5::
+	text "Yeah, a PIKACHU"
+	line "soon, I promise!"
+	done
+
+_Museum2FText6::
+	text "SPACE SHUTTLE"
+	line "COLUMBIA"
+	done
+
+_Museum2FText7::
+	text "Meteorite that"
+	line "fell on MT.MOON."
+	cont "(MOON STONE?)"
+	done
--- /dev/null
+++ b/text/maps/NameRatersHouse.asm
@@ -1,0 +1,60 @@
+_NameRaterText_1dab3::
+	text "Hello, hello!"
+	line "I am the official"
+	cont "NAME RATER!"
+
+	para "Want me to rate"
+	line "the nicknames of"
+	cont "your #MON?"
+	done
+
+_NameRaterText_1dab8::
+	text "Which #MON"
+	line "should I look at?"
+	prompt
+
+_NameRaterText_1dabd::
+	TX_RAM wcd6d
+	text ", is it?"
+	line "That is a decent"
+	cont "nickname!"
+
+	para "But, would you"
+	line "like me to give"
+	cont "it a nicer name?"
+
+	para "How about it?"
+	done
+
+_NameRaterText_1dac2::
+	text "Fine! What should"
+	line "we name it?"
+	prompt
+
+_NameRaterText_1dac7::
+	text "OK! This #MON"
+	line "has been renamed"
+	cont "@"
+	TX_RAM wBuffer
+	text "!"
+
+	para "That's a better"
+	line "name than before!"
+	done
+
+_NameRaterText_1dacc::
+	text "Fine! Come any"
+	line "time you like!"
+	done
+
+_NameRaterText_1dad1::
+	TX_RAM wcd6d
+	text ", is it?"
+	line "That is a truly"
+	cont "impeccable name!"
+
+	para "Take good care of"
+	line "@"
+	TX_RAM wcd6d
+	text "!"
+	done
--- /dev/null
+++ b/text/maps/OaksLab.asm
@@ -1,0 +1,477 @@
+_OaksLabGaryText1::
+	text "<RIVAL>: Yo"
+	line "<PLAYER>! Gramps"
+	cont "isn't around!"
+	done
+
+_OaksLabText40::
+	text "<RIVAL>: Heh, I"
+	line "don't need to be"
+	cont "greedy like you!"
+
+	para "Go ahead and"
+	line "choose, <PLAYER>!"
+	done
+
+_OaksLabText41::
+	text "<RIVAL>: My"
+	line "#MON looks a"
+	cont "lot stronger."
+	done
+
+_OaksLabText39::
+	text "Those are #"
+	line "BALLs. They"
+	cont "contain #MON!"
+	done
+
+_OaksLabCharmanderText::
+	text "So! You want the"
+	line "fire #MON,"
+	cont "CHARMANDER?"
+	done
+
+_OaksLabSquirtleText::
+	text "So! You want the"
+	line "water #MON,"
+	cont "SQUIRTLE?"
+	done
+
+_OaksLabBulbasaurText::
+	text "So! You want the"
+	line "plant #MON,"
+	cont "BULBASAUR?"
+	done
+
+_OaksLabMonEnergeticText::
+	text "This #MON is"
+	line "really energetic!"
+	prompt
+
+_OaksLabReceivedMonText::
+	text "<PLAYER> received"
+	line "a @"
+	TX_RAM wcd6d
+	text "!@@"
+
+_OaksLabLastMonText::
+	text "That's PROF.OAK's"
+	line "last #MON!"
+	done
+
+_OaksLabText_1d2f0::
+	text "OAK: Now, <PLAYER>,"
+	line "which #MON do"
+	cont "you want?"
+	done
+
+_OaksLabText_1d2f5::
+	text "OAK: If a wild"
+	line "#MON appears,"
+	cont "your #MON can"
+	cont "fight against it!"
+	done
+
+_OaksLabText_1d2fa::
+	text "OAK: <PLAYER>,"
+	line "raise your young"
+	cont "#MON by making"
+	cont "it fight!"
+	done
+
+_OaksLabDeliverParcelText1::
+	text "OAK: Oh, <PLAYER>!"
+
+	para "How is my old"
+	line "#MON?"
+
+	para "Well, it seems to"
+	line "like you a lot."
+
+	para "You must be"
+	line "talented as a"
+	cont "#MON trainer!"
+
+	para "What? You have"
+	line "something for me?"
+
+	para "<PLAYER> delivered"
+	line "OAK's PARCEL.@@"
+
+_OaksLabDeliverParcelText2::
+	text ""
+	para "Ah! This is the"
+	line "custom # BALL"
+	cont "I ordered!"
+	cont "Thank you!"
+	done
+
+_OaksLabAroundWorldText::
+	text "#MON around the"
+	line "world wait for"
+	cont "you, <PLAYER>!"
+	done
+
+_OaksLabGivePokeballsText1::
+	text "OAK: You can't get"
+	line "detailed data on"
+	cont "#MON by just"
+	cont "seeing them."
+
+	para "You must catch"
+	line "them! Use these"
+	cont "to capture wild"
+	cont "#MON."
+
+	para "<PLAYER> got 5"
+	line "# BALLs!@@"
+
+_OaksLabGivePokeballsText2::
+	text ""
+	para "When a wild"
+	line "#MON appears,"
+	cont "it's fair game."
+
+	para "Just throw a #"
+	line "BALL at it and try"
+	line "to catch it!"
+
+	para "This won't always"
+	line "work, though."
+
+	para "A healthy #MON"
+	line "could escape. You"
+	cont "have to be lucky!"
+	done
+
+_OaksLabPleaseVisitText::
+	text "OAK: Come see me"
+	line "sometimes."
+
+	para "I want to know how"
+	line "your #DEX is"
+	cont "coming along."
+	done
+
+_OaksLabText_1d31d::
+	text "OAK: Good to see "
+	line "you! How is your "
+	cont "#DEX coming? "
+	cont "Here, let me take"
+	cont "a look!"
+	prompt
+
+_OaksLabText_1d32c::
+	text "It's encyclopedia-"
+	line "like, but the"
+	cont "pages are blank!"
+	done
+
+_OaksLabText8::
+	text "?"
+	done
+
+_OaksLabText_1d340::
+	text "PROF.OAK is the"
+	line "authority on"
+	cont "#MON!"
+
+	para "Many #MON"
+	line "trainers hold him"
+	cont "in high regard!"
+	done
+
+_OaksLabRivalWaitingText::
+	text "<RIVAL>: Gramps!"
+	line "I'm fed up with"
+	cont "waiting!"
+	done
+
+_OaksLabChooseMonText::
+	text "OAK: <RIVAL>?"
+	line "Let me think..."
+
+	para "Oh, that's right,"
+	line "I told you to"
+	cont "come! Just wait!"
+
+	para "Here, <PLAYER>!"
+
+	para "There are 3"
+	line "#MON here!"
+
+	para "Haha!"
+
+	para "They are inside"
+	line "the # BALLs."
+
+	para "When I was young,"
+	line "I was a serious"
+	cont "#MON trainer!"
+
+	para "In my old age, I"
+	line "have only 3 left,"
+	cont "but you can have"
+	cont "one! Choose!"
+	done
+
+_OaksLabRivalInterjectionText::
+	text "<RIVAL>: Hey!"
+	line "Gramps! What"
+	cont "about me?"
+	done
+
+_OaksLabBePatientText::
+	text "OAK: Be patient!"
+	line "<RIVAL>, you can"
+	cont "have one too!"
+	done
+
+_OaksLabLeavingText::
+	text "OAK: Hey! Don't go"
+	line "away yet!"
+	done
+
+_OaksLabRivalPickingMonText::
+	text "<RIVAL>: I'll take"
+	line "this one, then!"
+	done
+
+_OaksLabRivalReceivedMonText::
+	text "<RIVAL> received"
+	line "a @"
+	TX_RAM wcd6d
+	text "!@@"
+
+_OaksLabRivalChallengeText::
+	text "<RIVAL>: Wait"
+	line "<PLAYER>!"
+	cont "Let's check out"
+	cont "our #MON!"
+
+	para "Come on, I'll take"
+	line "you on!"
+	done
+
+_OaksLabText_1d3be::
+	text "WHAT?"
+	line "Unbelievable!"
+	cont "I picked the"
+	cont "wrong #MON!"
+	prompt
+
+_OaksLabText_1d3c3::
+	text "<RIVAL>: Yeah! Am"
+	line "I great or what?"
+	prompt
+
+_OaksLabRivalToughenUpText::
+	text "<RIVAL>: Okay!"
+	line "I'll make my"
+	cont "#MON fight to"
+	cont "toughen it up!"
+
+	para "<PLAYER>! Gramps!"
+	line "Smell you later!"
+	done
+
+_OaksLabText21::
+	text "<RIVAL>: Gramps!"
+	done
+
+_OaksLabText22::
+	text "<RIVAL>: What did"
+	line "you call me for?"
+	done
+
+_OaksLabText23::
+	text "OAK: Oh right! I"
+	line "have a request"
+	cont "of you two."
+	done
+
+_OaksLabText24::
+	text "On the desk there"
+	line "is my invention,"
+	cont "#DEX!"
+
+	para "It automatically"
+	line "records data on"
+	cont "#MON you've"
+	cont "seen or caught!"
+
+	para "It's a hi-tech"
+	line "encyclopedia!"
+	done
+
+_OaksLabText25::
+	text "OAK: <PLAYER> and"
+	line "<RIVAL>! Take"
+	cont "these with you!"
+
+	para "<PLAYER> got"
+	line "#DEX from OAK!@@"
+
+_OaksLabText26::
+	text "To make a complete"
+	line "guide on all the"
+	cont "#MON in the"
+	cont "world..."
+
+	para "That was my dream!"
+
+	para "But, I'm too old!"
+	line "I can't do it!"
+
+	para "So, I want you two"
+	line "to fulfill my"
+	cont "dream for me!"
+
+	para "Get moving, you"
+	line "two!"
+
+	para "This is a great"
+	line "undertaking in"
+	cont "#MON history!"
+	done
+
+_OaksLabText27::
+	text "<RIVAL>: Alright"
+	line "Gramps! Leave it"
+	cont "all to me!"
+
+	para "<PLAYER>, I hate to"
+	line "say it, but I"
+	cont "don't need you!"
+
+	para "I know! I'll"
+	line "borrow a TOWN MAP"
+	cont "from my sis!"
+
+	para "I'll tell her not"
+	line "to lend you one,"
+	cont "<PLAYER>! Hahaha!"
+	done
+
+_OaksLabText_1d405::
+	text "I study #MON as"
+	line "PROF.OAK's AIDE."
+	done
+
+_OaksLabText_441cc::
+	text "#DEX comp-"
+	line "letion is:"
+
+	para "@"
+	TX_NUM hDexRatingNumMonsSeen, 1, 3
+	text " #MON seen"
+	line "@"
+	TX_NUM hDexRatingNumMonsOwned, 1, 3
+	text " #MON owned"
+
+	para "PROF.OAK's"
+	line "Rating:"
+	prompt
+
+_OaksLabText_44201::
+	text "You still have"
+	line "lots to do."
+	cont "Look for #MON"
+	cont "in grassy areas!"
+	done
+
+_OaksLabText_44206::
+	text "You're on the"
+	line "right track! "
+	cont "Get a FLASH HM"
+	cont "from my AIDE!"
+	done
+
+_OaksLabText_4420b::
+	text "You still need"
+	line "more #MON!"
+	cont "Try to catch"
+	cont "other species!"
+	done
+
+_OaksLabText_44210::
+	text "Good, you're"
+	line "trying hard!"
+	cont "Get an ITEMFINDER"
+	cont "from my AIDE!"
+	done
+
+_OaksLabText_44215::
+	text "Looking good!"
+	line "Go find my AIDE"
+	cont "when you get 50!"
+	done
+
+_OaksLabText_4421a::
+	text "You finally got at"
+	line "least 50 species!"
+	cont "Be sure to get"
+	cont "EXP.ALL from my"
+	cont "AIDE!"
+	done
+
+_OaksLabText_4421f::
+	text "Ho! This is geting"
+	line "even better!"
+	done
+
+_OaksLabText_44224::
+	text "Very good!"
+	line "Go fish for some"
+	cont "marine #MON!"
+	done
+
+_OaksLabText_44229::
+	text "Wonderful!"
+	line "Do you like to"
+	cont "collect things?"
+	done
+
+_OaksLabText_4422e::
+	text "I'm impressed!"
+	line "It must have been"
+	cont "difficult to do!"
+	done
+
+_OaksLabText_44233::
+	text "You finally got at"
+	line "least 100 species!"
+	cont "I can't believe"
+	cont "how good you are!"
+	done
+
+_OaksLabText_44238::
+	text "You even have the"
+	line "evolved forms of"
+	cont "#MON! Super!"
+	done
+
+_OaksLabText_4423d::
+	text "Excellent! Trade"
+	line "with friends to"
+	cont "get some more!"
+	done
+
+_OaksLabText_44242::
+	text "Outstanding!"
+	line "You've become a"
+	cont "real pro at this!"
+	done
+
+_OaksLabText_44247::
+	text "I have nothing"
+	line "left to say!"
+	cont "You're the"
+	cont "authority now!"
+	done
+
+_OaksLabText_4424c::
+	text "Your #DEX is"
+	line "entirely complete!"
+	cont "Congratulations!"
+	done
--- /dev/null
+++ b/text/maps/PalletTown.asm
@@ -1,0 +1,55 @@
+_OakAppearsText::
+	text "OAK: Hey! Wait!"
+	line "Don't go out!@@"
+
+_OakWalksUpText::
+	text "OAK: It's unsafe!"
+	line "Wild #MON live"
+	cont "in tall grass!"
+
+	para "You need your own"
+	line "#MON for your"
+	cont "protection."
+	cont "I know!"
+
+	para "Here, come with"
+	line "me!"
+	done
+
+_PalletTownText2::
+	text "I'm raising"
+	line "#MON too!"
+
+	para "When they get"
+	line "strong, they can"
+	cont "protect me!"
+	done
+
+_PalletTownText3::
+	text "Technology is"
+	line "incredible!"
+
+	para "You can now store"
+	line "and recall items"
+	cont "and #MON as"
+	cont "data via PC!"
+	done
+
+_PalletTownText4::
+	text "OAK #MON"
+	line "RESEARCH LAB"
+	done
+
+_PalletTownText5::
+	text "PALLET TOWN"
+	line "Shades of your"
+	cont "journey await!"
+	done
+
+_PalletTownText6::
+	text "<PLAYER>'s house "
+	done
+
+_PalletTownText7::
+	text "<RIVAL>'s house "
+	done
--- /dev/null
+++ b/text/maps/PewterCity.asm
@@ -1,0 +1,117 @@
+_PewterCityText1::
+	text "It's rumored that"
+	line "CLEFAIRYs came"
+	cont "from the moon!"
+
+	para "They appeared "
+	line "after MOON STONE"
+	cont "fell on MT.MOON."
+	done
+
+_PewterCityText2::
+	text "There aren't many"
+	line "serious #MON"
+	cont "trainers here!"
+
+	para "They're all like"
+	line "BUG CATCHERs,"
+	cont "but PEWTER GYM's"
+	cont "BROCK is totally"
+	cont "into it!"
+	done
+
+_PewterCityText_193f1::
+	text "Did you check out"
+	line "the MUSEUM?"
+	done
+
+_PewterCityText_193f6::
+	text "Weren't those"
+	line "fossils from MT."
+	cont "MOON amazing?"
+	done
+
+_PewterCityText_193fb::
+	text "Really?"
+	line "You absolutely"
+	cont "have to go!"
+	done
+
+_PewterCityText13::
+	text "It's right here!"
+	line "You have to pay"
+	cont "to get in, but"
+	cont "it's worth it!"
+	cont "See you around!"
+	done
+
+_PewterCityText_19427::
+	text "Psssst!"
+	line "Do you know what"
+	cont "I'm doing?"
+	done
+
+_PewterCityText_1942c::
+	text "That's right!"
+	line "It's hard work!"
+	done
+
+_PewterCityText_19431::
+	text "I'm spraying REPEL"
+	line "to keep #MON"
+	cont "out of my garden!"
+	done
+
+_PewterCityText_1945d::
+	text "You're a trainer"
+	line "right? BROCK's"
+	cont "looking for new"
+	cont "challengers!"
+	cont "Follow me!"
+	done
+
+_PewterCityText14::
+	text "If you have the"
+	line "right stuff, go"
+	cont "take on BROCK!"
+	done
+
+_PewterCityText6::
+	text "TRAINER TIPS"
+
+	para "Any #MON that"
+	line "takes part in"
+	cont "battle, however"
+	cont "short, earns EXP!"
+	done
+
+_PewterCityText7::
+	text "NOTICE!"
+
+	para "Thieves have been"
+	line "stealing #MON"
+	cont "fossils at MT."
+	cont "MOON! Please call"
+	cont "PEWTER POLICE"
+	cont "with any info!"
+	done
+
+_PewterCityText10::
+	text "PEWTER MUSEUM"
+	line "OF SCIENCE"
+	done
+
+_PewterCityText11::
+	text "PEWTER CITY"
+	line "#MON GYM"
+	cont "LEADER: BROCK"
+
+	para "The Rock Solid"
+	line "#MON Trainer!"
+	done
+
+_PewterCityText12::
+	text "PEWTER CITY"
+	line "A Stone Gray"
+	cont "City"
+	done
--- /dev/null
+++ b/text/maps/PewterGym.asm
@@ -1,0 +1,18 @@
+_PewterGymText_5c49e::
+	text "I'm BROCK!"
+	line "I'm PEWTER's GYM"
+	cont "LEADER!"
+
+	para "I believe in rock"
+	line "hard defense and"
+	cont "determination!"
+
+	para "That's why my"
+	line "#MON are all"
+	cont "the rock-type!"
+
+	para "Do you still want"
+	line "to challenge me?"
+	cont "Fine then! Show"
+	cont "me your best!"
+	done
--- /dev/null
+++ b/text/maps/PewterGym_2.asm
@@ -1,0 +1,144 @@
+_PewterGymText_5c4a3::
+	text "There are all"
+	line "kinds of trainers"
+	cont "in the world!"
+
+	para "You appear to be"
+	line "very gifted as a"
+	cont "#MON trainer!"
+
+	para "Go to the GYM in"
+	line "CERULEAN and test"
+	cont "your abilities!"
+	done
+
+_TM34PreReceiveText::
+	text "Wait! Take this"
+	line "with you!"
+	done
+
+_ReceivedTM34Text::
+	text "<PLAYER> received"
+	line "TM34!@@"
+
+_TM34ExplanationText::
+	text ""
+
+	para "A TM contains a"
+	line "technique that"
+	cont "can be taught to"
+	cont "#MON!"
+
+	para "A TM is good only"
+	line "once! So when you"
+	cont "use one to teach"
+	cont "a new technique,"
+	cont "pick the #MON"
+	cont "carefully!"
+
+	para "TM34 contains"
+	line "BIDE!"
+
+	para "Your #MON will"
+	line "absorb damage in"
+	cont "battle then pay"
+	cont "it back double!"
+	done
+
+_TM34NoRoomText::
+	text "You don't have"
+	line "room for this!"
+	done
+
+_PewterGymText_5c4bc::
+	text "I took"
+	line "you for granted."
+
+	para "As proof of your"
+	line "victory, here's"
+	cont "the BOULDERBADGE!"
+
+	para "<PLAYER> received"
+	line "the BOULDERBADGE!@@"
+
+_PewterGymText_5c4c1::
+	text ""
+
+	para "That's an official"
+	line "#MON LEAGUE"
+	cont "BADGE!"
+
+	para "Its bearer's"
+	line "#MON become"
+	cont "more powerful!"
+
+	para "The technique"
+	line "FLASH can now be"
+	cont "used any time!"
+	prompt
+
+_PewterGymBattleText1::
+	text "Stop right there,"
+	line "kid!"
+
+	para "You're still light"
+	line "years from facing"
+	cont "BROCK!"
+	done
+
+_PewterGymEndBattleText1::
+	text "Darn!"
+
+	para "Light years isn't"
+	line "time! It measures"
+	cont "distance!"
+	prompt
+
+_PewterGymAfterBattleText1::
+	text "You're pretty hot,"
+	line "but not as hot"
+	cont "as BROCK!"
+	done
+
+_PewterGymText_5c515::
+	text "Hiya! I can tell"
+	line "you have what it"
+	cont "takes to become a"
+	cont "#MON champ!"
+
+	para "I'm no trainer,"
+	line "but I can tell"
+	cont "you how to win!"
+
+	para "Let me take you"
+	line "to the top!"
+	done
+
+_PewterGymText_5c51a::
+	text "All right! Let's"
+	line "get happening!"
+	prompt
+
+_PewterGymText_5c51f::
+	text "The 1st #MON"
+	line "out in a match is"
+	cont "at the top of the"
+	cont "#MON LIST!"
+
+	para "By changing the"
+	line "order of #MON,"
+	cont "matches could be"
+	cont "made easier!"
+	done
+
+_PewterGymText_5c524::
+	text "It's a free"
+	line "service! Let's"
+	cont "get happening!"
+	prompt
+
+_PewterGymText_5c529::
+	text "Just as I thought!"
+	line "You're #MON"
+	cont "champ material!"
+	done
--- /dev/null
+++ b/text/maps/PewterMart.asm
@@ -1,0 +1,17 @@
+_PewterMartText2::
+	text "A shady, old man"
+	line "got me to buy"
+	cont "this really weird"
+	cont "fish #MON!"
+
+	para "It's totally weak"
+	line "and it cost ¥500!"
+	done
+
+_PewterMartText3::
+	text "Good things can"
+	line "happen if you"
+	cont "raise #MON"
+	cont "diligently, even"
+	cont "the weak ones!"
+	done
--- /dev/null
+++ b/text/maps/PewterNidoranHouse.asm
@@ -1,0 +1,24 @@
+_PewterHouse1Text1::
+	text "NIDORAN: Bowbow!@@"
+
+_PewterHouse1Text2::
+	text "NIDORAN sit!"
+	done
+
+_PewterHouse1Text3::
+	text "Our #MON's an"
+	line "outsider, so it's"
+	cont "hard to handle."
+
+	para "An outsider is a"
+	line "#MON that you"
+	cont "get in a trade."
+
+	para "It grows fast, but"
+	line "it may ignore an"
+	cont "unskilled trainer"
+	cont "in battle!"
+
+	para "If only we had"
+	line "some BADGEs..."
+	done
--- /dev/null
+++ b/text/maps/PewterPokecenter.asm
@@ -1,0 +1,14 @@
+_PewterPokecenterText2::
+	text "What!?"
+
+	para "TEAM ROCKET is"
+	line "at MT.MOON? Huh?"
+	cont "I'm on the phone!"
+
+	para "Scram!"
+	done
+
+_PewterJigglypuffText::
+	text "JIGGLYPUFF: Puu"
+	line "pupuu!"
+	done
--- /dev/null
+++ b/text/maps/PewterSpeechHouse.asm
@@ -1,0 +1,19 @@
+_PewterHouse2Text1::
+	text "#MON learn new"
+	line "techniques as"
+	cont "they grow!"
+
+	para "But, some moves"
+	line "must be taught by"
+	cont "the trainer!"
+	done
+
+_PewterHouse2Text2::
+	text "#MON become"
+	line "easier to catch"
+	cont "when they are"
+	cont "hurt or asleep!"
+
+	para "But, it's not a"
+	line "sure thing!"
+	done
--- /dev/null
+++ b/text/maps/PokemonFanClub.asm
@@ -1,0 +1,143 @@
+PikachuFanText::
+	text "Won't you admire"
+	line "my PIKACHU's"
+	cont "adorable tail?"
+	done
+
+PikachuFanBetterText::
+	text "Humph! My PIKACHU"
+	line "is twice as cute"
+	cont "as that one!"
+	done
+
+SeelFanText::
+	text "I just love my"
+	line "SEEL!"
+
+	para "It squeals when I"
+	line "hug it!"
+	done
+
+SeelFanBetterText::
+	text "Oh dear!"
+
+	para "My SEEL is far"
+	line "more attractive!"
+	done
+
+FanClubPikachuText::
+	text "PIKACHU: Chu!"
+	line "Pikachu!"
+	done
+
+FanClubSeelText::
+	text "SEEL: Kyuoo!"
+	done
+
+FanClubMeetChairText::
+	text "I chair the"
+	line "#MON Fan Club!"
+
+	para "I have collected"
+	line "over 100 #MON!"
+
+	para "I'm very fussy"
+	line "when it comes to"
+	cont "#MON!"
+
+	para "So..."
+
+	para "Did you come"
+	line "visit to hear"
+	cont "about my #MON?"
+	done
+
+FanClubChairStoryText::
+	text "Good!"
+	line "Then listen up!"
+
+	para "My favorite"
+	line "RAPIDASH..."
+
+	para "It...cute..."
+	line "lovely...smart..."
+	cont "plus...amazing..."
+	cont "you think so?..."
+	cont "oh yes...it..."
+	cont "stunning..."
+	cont "kindly..."
+	cont "love it!"
+
+	para "Hug it...when..."
+	cont "sleeping...warm"
+	cont "and cuddly..."
+	cont "spectacular..."
+	cont "ravishing..."
+	cont "...Oops! Look at"
+	cont "the time! I kept"
+	cont "you too long!"
+
+	para "Thanks for hearing"
+	line "me out! I want"
+	cont "you to have this!"
+	prompt
+
+ReceivedBikeVoucherText::
+	text "<PLAYER> received"
+	line "a @"
+	TX_RAM wcf4b
+	text "!@@"
+
+ExplainBikeVoucherText::
+	text ""
+	para "Exchange that for"
+	line "a BICYCLE!"
+
+	para "Don't worry, my"
+	line "FEAROW will FLY"
+	cont "me anywhere!"
+
+	para "So, I don't need a"
+	line "BICYCLE!"
+
+	para "I hope you like"
+	line "cycling!"
+	done
+
+FanClubNoStoryText::
+	text "Oh. Come back"
+	line "when you want to"
+	cont "hear my story!"
+	done
+
+FanClubChairFinalText::
+	text "Hello, <PLAYER>!"
+
+	para "Did you come see"
+	line "me about my"
+	cont "#MON again?"
+
+	para "No? Too bad!"
+	done
+
+FanClubBagFullText::
+	text "Make room for"
+	line "this!"
+	done
+
+_FanClubText6::
+	text "Our Chairman is"
+	line "very vocal about"
+	cont "#MON."
+	done
+
+_FanClubText7::
+	text "Let's all listen"
+	line "politely to other"
+	cont "trainers!"
+	done
+
+_FanClubText8::
+	text "If someone brags,"
+	line "brag right back!"
+	done
--- /dev/null
+++ b/text/maps/PokemonMansion1F.asm
@@ -1,0 +1,29 @@
+_Mansion1BattleText2::
+	text "Who are you? There"
+	line "shouldn't be"
+	cont "anyone here."
+	done
+
+_Mansion1EndBattleText2::
+	text "Ouch!"
+	prompt
+
+_Mansion1AfterBattleText2::
+	text "A key? I don't"
+	line "know what you're"
+	cont "talking about."
+	done
+
+_MansionSwitchText::
+	text "A secret switch!"
+
+	para "Press it?"
+	done
+
+_MansionSwitchPressedText::
+	text "Who wouldn't?"
+	prompt
+
+_MansionSwitchNotPressedText::
+	text "Not quite yet!"
+	done
--- /dev/null
+++ b/text/maps/PokemonMansion2F.asm
@@ -1,0 +1,47 @@
+_Mansion2BattleText1::
+	text "I can't get out!"
+	line "This old place is"
+	cont "one big puzzle!"
+	done
+
+_Mansion2EndBattleText1::
+	text "Oh no!"
+	line "My bag of loot!"
+	prompt
+
+_Mansion2AfterBattleText1::
+	text "Switches open and"
+	line "close alternating"
+	cont "sets of doors!"
+	done
+
+_Mansion2Text3::
+	text "Diary: July 5"
+	line "Guyana,"
+	cont "South America"
+
+	para "A new #MON was"
+	line "discovered deep"
+	cont "in the jungle."
+	done
+
+_Mansion2Text4::
+	text "Diary: July 10"
+	line "We christened the"
+	cont "newly discovered"
+	cont "#MON, MEW."
+	done
+
+_Mansion2Text_520c2::
+	text "A secret switch!"
+
+	para "Press it?"
+	done
+
+_Mansion2Text_520c7::
+	text "Who wouldn't?"
+	prompt
+
+_Mansion2Text_520cc::
+	text "Not quite yet!"
+	done
--- /dev/null
+++ b/text/maps/PokemonMansion3F.asm
@@ -1,0 +1,37 @@
+_Mansion3BattleText1::
+	text "This place is"
+	line "like, huge!"
+	done
+
+_Mansion3EndBattleText1::
+	text "Ayah!"
+	prompt
+
+_Mansion3AfterBattleText1::
+	text "I wonder where"
+	line "my partner went."
+	done
+
+_Mansion3BattleText2::
+	text "My mentor once"
+	line "lived here."
+	done
+
+_Mansion3EndBattleText2::
+	text "Whew!"
+	line "Overwhelming!"
+	prompt
+
+_Mansion3AfterBattleText2::
+	text "So, you're stuck?"
+	line "Try jumping off"
+	cont "over there!"
+	done
+
+_Mansion3Text5::
+	text "Diary: Feb. 6"
+	line "MEW gave birth."
+
+	para "We named the"
+	line "newborn MEWTWO."
+	done
--- /dev/null
+++ b/text/maps/PokemonMansionB1F.asm
@@ -1,0 +1,39 @@
+_Mansion4BattleText1::
+	text "Uh-oh. Where am"
+	line "I now?"
+	done
+
+_Mansion4EndBattleText1::
+	text "Awooh!"
+	prompt
+
+_Mansion4AfterBattleText1::
+	text "You can find stuff"
+	line "lying around."
+	done
+
+_Mansion4BattleText2::
+	text "This place is"
+	line "ideal for a lab."
+	done
+
+_Mansion4EndBattleText2::
+	text "What"
+	line "was that for?"
+	prompt
+
+_Mansion4AfterBattleText2::
+	text "I like it here!"
+	line "It's conducive to"
+	cont "my studies!"
+	done
+
+_Mansion4Text7::
+	text "Diary; Sept. 1"
+	line "MEWTWO is far too"
+	cont "powerful."
+
+	para "We have failed to"
+	line "curb its vicious"
+	cont "tendencies..."
+	done
--- /dev/null
+++ b/text/maps/PokemonTower1F.asm
@@ -1,0 +1,31 @@
+_PokemonTower1Text1::
+	text "#MON TOWER was"
+	line "erected in the"
+	cont "memory of #MON"
+	cont "that had died."
+	done
+
+_PokemonTower1Text2::
+	text "Did you come to"
+	line "pay respects?"
+	cont "Bless you!"
+	done
+
+_PokemonTower1Text3::
+	text "I came to pray"
+	line "for my CLEFAIRY."
+
+	para "Sniff! I can't"
+	line "stop crying..."
+	done
+
+_PokemonTower1Text4::
+	text "My GROWLITHE..."
+	line "Why did you die?"
+	done
+
+_PokemonTower1Text5::
+	text "I am a CHANNELER!"
+	line "There are spirits"
+	cont "up to mischief!"
+	done
--- /dev/null
+++ b/text/maps/PokemonTower2F.asm
@@ -1,0 +1,57 @@
+_PokemonTower2Text_6062d::
+	text "<RIVAL>: Hey,"
+	line "<PLAYER>! What"
+	cont "brings you here?"
+	cont "Your #MON"
+	cont "don't look dead!"
+
+	para "I can at least"
+	line "make them faint!"
+	cont "Let's go, pal!"
+	done
+
+_PokemonTower2Text_60632::
+	text "What?"
+	line "You stinker!"
+
+	para "I took it easy on"
+	line "you too!"
+	prompt
+
+_PokemonTower2Text_60637::
+	text "<RIVAL>: Well,"
+	line "look at all your"
+	cont "wimpy #MON!"
+
+	para "Toughen them up a"
+	line "bit more!"
+	prompt
+
+_PokemonTower2Text_6063c::
+	text "How's your #DEX"
+	line "coming, pal?"
+	cont "I just caught a"
+	cont "CUBONE!"
+
+	para "I can't find the"
+	line "grown-up MAROWAK"
+	cont "yet!"
+
+	para "I doubt there are"
+	line "any left! Well, I"
+	cont "better get going!"
+	cont "I've got a lot to"
+	cont "accomplish, pal!"
+
+	para "Smell ya later!"
+	done
+
+_PokemonTower2Text2::
+	text "Even we could not"
+	line "identify the"
+	cont "wayward GHOSTs!"
+
+	para "A SILPH SCOPE"
+	line "might be able to"
+	cont "unmask them."
+	done
--- /dev/null
+++ b/text/maps/PokemonTower3F.asm
@@ -1,0 +1,45 @@
+_PokemonTower3BattleText1::
+	text "Urrg...Awaa..."
+	line "Huhu...graa.."
+	done
+
+_PokemonTower3EndBattleText1::
+	text "Hwa!"
+	line "I'm saved!"
+	prompt
+
+_PokemonTower3AfterBattleText1::
+	text "The GHOSTs can be"
+	line "identified by the"
+	cont "SILPH SCOPE."
+	done
+
+_PokemonTower3BattleText2::
+	text "Kekeke...."
+	line "Kwaaah!"
+	done
+
+_PokemonTower3EndBattleText2::
+	text "Hmm?"
+	line "What am I doing?"
+	prompt
+
+_PokemonTower3AfterBattleText2::
+	text "Sorry! I was"
+	line "possessed!"
+	done
+
+_PokemonTower3BattleText3::
+	text "Be gone!"
+	line "Evil spirit!"
+	done
+
+_PokemonTower3EndBattleText3::
+	text "Whew!"
+	line "The spirit left!"
+	prompt
+
+_PokemonTower3AfterBattleText3::
+	text "My friends were"
+	line "possessed too!"
+	done
--- /dev/null
+++ b/text/maps/PokemonTower4F.asm
@@ -1,0 +1,45 @@
+_PokemonTower4BattleText1::
+	text "GHOST! No!"
+	line "Kwaaah!"
+	done
+
+_PokemonTower4EndBattleText1::
+	text "Where"
+	line "is the GHOST?"
+	prompt
+
+_PokemonTower4AfterBattleText1::
+	text "I must have been"
+	line "dreaming..."
+	done
+
+_PokemonTower4BattleText2::
+	text "Be cursed with"
+	line "me! Kwaaah!"
+	done
+
+_PokemonTower4EndBattleText2::
+	text "What!"
+	prompt
+
+_PokemonTower4AfterBattleText2::
+	text "We can't crack"
+	line "the identity of"
+	cont "the GHOSTs."
+	done
+
+_PokemonTower4BattleText3::
+	text "Huhuhu..."
+	line "Beat me not!"
+	done
+
+_PokemonTower4EndBattleText3::
+	text "Huh?"
+	line "Who? What?"
+	prompt
+
+_PokemonTower4AfterBattleText3::
+	text "May the departed"
+	line "souls of #MON"
+	cont "rest in peace..."
+	done
--- /dev/null
+++ b/text/maps/PokemonTower5F.asm
@@ -1,0 +1,71 @@
+_PokemonTower5Text1::
+	text "Come, child! I"
+	line "sealed this space"
+	cont "with white magic!"
+
+	para "You can rest here!"
+	done
+
+_PokemonTower5BattleText1::
+	text "Give...me..."
+	line "your...soul..."
+	done
+
+_PokemonTower5EndBattleText1::
+	text "Gasp!"
+	prompt
+
+_PokemonTower5AfterBattleText1::
+	text "I was under"
+	line "possession!"
+	done
+
+_PokemonTower5BattleText2::
+	text "You...shall..."
+	line "join...us..."
+	done
+
+_PokemonTower5EndBattleText2::
+	text "What"
+	line "a nightmare!"
+	prompt
+
+_PokemonTower5AfterBattleText2::
+	text "I was possessed!"
+	done
+
+_PokemonTower5BattleText3::
+	text "Zombies!"
+	done
+
+_PokemonTower5EndBattleText3::
+	text "Ha?"
+	prompt
+
+_PokemonTower5AfterBattleText3::
+	text "I regained my"
+	line "senses!"
+	done
+
+_PokemonTower5BattleText4::
+	text "Urgah..."
+	line "Urff...."
+	done
+
+_PokemonTower5EndBattleText4::
+	text "Whoo!"
+	prompt
+
+_PokemonTower5AfterBattleText4::
+	text "I fell to evil"
+	line "spirits despite"
+	cont "my training!"
+	done
+
+_PokemonTower5Text7::
+	text "Entered purified,"
+	line "protected zone!"
+
+	para "<PLAYER>'s #MON"
+	line "are fully healed!"
+	done
--- /dev/null
+++ b/text/maps/PokemonTower6F.asm
@@ -1,0 +1,61 @@
+_PokemonTower2Text_60c1f::
+	text "The GHOST was the"
+	line "restless soul of"
+	cont "CUBONE's mother!"
+	done
+
+_PokemonTower2Text_60c24::
+	text "The mother's soul"
+	line "was calmed."
+
+	para "It departed to"
+	line "the afterlife!"
+	done
+
+_PokemonTower6BattleText1::
+	text "Give...me..."
+	line "blood..."
+	done
+
+_PokemonTower6EndBattleText1::
+	text "Groan!"
+	prompt
+
+_PokemonTower6AfterBattleText1::
+	text "I feel anemic and"
+	line "weak..."
+	done
+
+_PokemonTower6BattleText2::
+	text "Urff... Kwaah!"
+	done
+
+_PokemonTower6EndBattleText2::
+	text "Some-"
+	line "thing fell out!"
+	prompt
+
+_PokemonTower6AfterBattleText2::
+	text "Hair didn't fall"
+	line "out! It was an"
+	cont "evil spirit!"
+	done
+
+_PokemonTower6BattleText3::
+	text "Ke..ke...ke..."
+	line "ke..ke...ke!!"
+	done
+
+_PokemonTower6EndBattleText3::
+	text "Keee!"
+	prompt
+
+_PokemonTower6AfterBattleText3::
+	text "What's going on"
+	line "here?"
+	done
+
+_PokemonTower6Text6::
+	text "Be gone..."
+	line "Intruders..."
+	done
--- /dev/null
+++ b/text/maps/PokemonTower7F.asm
@@ -1,0 +1,78 @@
+_TowerRescueFujiText::
+	text "MR.FUJI: Heh? You"
+	line "came to save me?"
+
+	para "Thank you. But, I"
+	line "came here of my"
+	cont "own free will."
+
+	para "I came to calm"
+	line "the soul of"
+	cont "CUBONE's mother."
+
+	para "I think MAROWAK's"
+	line "spirit has gone"
+	cont "to the afterlife."
+
+	para "I must thank you"
+	line "for your kind"
+	cont "concern!"
+
+	para "Follow me to my"
+	line "home, #MON"
+	cont "HOUSE at the foot"
+	cont "of this tower."
+	done
+
+_PokemonTower7BattleText1::
+	text "What do you want?"
+	line "Why are you here?"
+	done
+
+_PokemonTower7EndBattleText1::
+	text "I give up!"
+	prompt
+
+_PokemonTower7AfterBattleText1::
+	text "I'm not going to"
+	line "forget this!"
+	done
+
+_PokemonTower7BattleText2::
+	text "This old guy came"
+	line "and complained"
+	cont "about us harming"
+	cont "useless #MON!"
+
+	para "We're talking it"
+	line "over as adults!"
+	done
+
+_PokemonTower7EndBattleText2::
+	text "Please!"
+	line "No more!"
+	prompt
+
+_PokemonTower7AfterBattleText2::
+	text "#MON are only"
+	line "good for making"
+	cont "money!"
+
+	para "Stay out of our"
+	line "business!"
+	done
+
+_PokemonTower7BattleText3::
+	text "You're not saving"
+	line "anyone, kid!"
+	done
+
+_PokemonTower7EndBattleText3::
+	text "Don't"
+	line "fight us ROCKETs!"
+	prompt
+
+_PokemonTower7AfterBattleText3::
+	text "You're not getting"
+	line "away with this!"
+	done
--- /dev/null
+++ b/text/maps/PowerPlant.asm
@@ -1,0 +1,6 @@
+_VoltorbBattleText::
+	text "Bzzzt!"
+	done
+
+_ZapdosBattleText::
+	text "Gyaoo!@@"
--- /dev/null
+++ b/text/maps/RedsHouse1F.asm
@@ -1,0 +1,37 @@
+_MomWakeUpText::
+	text "MOM: Right."
+	line "All boys leave"
+	cont "home some day."
+	cont "It said so on TV."
+
+	para "PROF.OAK, next"
+	line "door, is looking"
+	cont "for you."
+	done
+
+_MomHealText1::
+	text "MOM: <PLAYER>!"
+	line "You should take a"
+	cont "quick rest."
+	prompt
+
+_MomHealText2::
+	text "MOM: Oh good!"
+	line "You and your"
+	cont "#MON are"
+	cont "looking great!"
+	cont "Take care now!"
+	done
+
+_StandByMeText::
+	text "There's a movie"
+	line "on TV. Four boys"
+	cont "are walking on"
+	cont "railroad tracks."
+
+	para "I better go too."
+	done
+
+_TVWrongSideText::
+	text "Oops, wrong side."
+	done
--- /dev/null
+++ b/text/maps/RockTunnel1F.asm
@@ -1,0 +1,115 @@
+_RockTunnel1BattleText1::
+	text "This tunnel goes"
+	line "a long way, kid!"
+	done
+
+_RockTunnel1EndBattleText1::
+	text "Doh!"
+	line "You win!"
+	prompt
+
+_RockTunnel1AfterBattleText1::
+	text "Watch for ONIX!"
+	line "It can put the"
+	cont "squeeze on you!"
+	done
+
+_RockTunnel1BattleText2::
+	text "Hmm. Maybe I'm"
+	line "lost in here..."
+	done
+
+_RockTunnel1EndBattleText2::
+	text "Ease up!"
+	line "What am I doing?"
+	cont "Which way is out?"
+	prompt
+
+_RockTunnel1AfterBattleText2::
+	text "That sleeping"
+	line "#MON on ROUTE"
+	cont "12 forced me to"
+	cont "take this detour."
+	done
+
+_RockTunnel1BattleText3::
+	text "Outsiders like"
+	line "you need to show"
+	cont "me some respect!"
+	done
+
+_RockTunnel1EndBattleText3::
+	text "I give!"
+	prompt
+
+_RockTunnel1AfterBattleText3::
+	text "You're talented"
+	line "enough to hike!"
+	done
+
+_RockTunnel1BattleText4::
+	text "#MON fight!"
+	line "Ready, go!"
+	done
+
+_RockTunnel1EndBattleText4::
+	text "Game"
+	line "over!"
+	prompt
+
+_RockTunnel1AfterBattleText4::
+	text "Oh well, I'll get"
+	line "a ZUBAT as I go!"
+	done
+
+_RockTunnel1BattleText5::
+	text "Eek! Don't try"
+	line "anything funny in"
+	cont "the dark!"
+	done
+
+_RockTunnel1EndBattleText5::
+	text "It"
+	line "was too dark!"
+	prompt
+
+_RockTunnel1AfterBattleText5::
+	text "I saw a MACHOP"
+	line "in this tunnel!"
+	done
+
+_RockTunnel1BattleText6::
+	text "I came this far"
+	line "for #MON!"
+	done
+
+_RockTunnel1EndBattleText6::
+	text "I'm"
+	line "out of #MON!"
+	prompt
+
+_RockTunnel1AfterBattleText6::
+	text "You looked cute"
+	line "and harmless!"
+	done
+
+_RockTunnel1BattleText7::
+	text "You have #MON!"
+	line "Let's start!"
+	done
+
+_RockTunnel1EndBattleText7::
+	text "You"
+	line "play hard!"
+	prompt
+
+_RockTunnel1AfterBattleText7::
+	text "Whew! I'm all"
+	line "sweaty now!"
+	done
+
+_RockTunnel1Text8::
+	text "ROCK TUNNEL"
+	line "CERULEAN CITY -"
+	cont "LAVENDER TOWN"
+	done
--- /dev/null
+++ b/text/maps/RockTunnelB1F.asm
@@ -1,0 +1,108 @@
+_RockTunnel2BattleText2::
+	text "Hikers leave twigs"
+	line "as trail markers."
+	done
+
+_RockTunnel2EndBattleText2::
+	text "Ohhh!"
+	line "I did my best!"
+	prompt
+
+_RockTunnel2AfterBattleText2::
+	text "I want to go "
+	line "home!"
+	done
+
+_RockTunnel2BattleText3::
+	text "Hahaha! Can you"
+	line "beat my power?"
+	done
+
+_RockTunnel2EndBattleText3::
+	text "Oops!"
+	line "Out-muscled!"
+	prompt
+
+_RockTunnel2AfterBattleText3::
+	text "I go for power"
+	line "because I hate"
+	cont "thinking!"
+	done
+
+_RockTunnel2BattleText4::
+	text "You have a"
+	line "#DEX?"
+	cont "I want one too!"
+	done
+
+_RockTunnel2EndBattleText4::
+	text "Shoot!"
+	line "I'm so jealous!"
+	prompt
+
+_RockTunnel2AfterBattleText4::
+	text "When you finish"
+	line "your #DEX, can"
+	cont "I have it?"
+	done
+
+_RockTunnel2BattleText5::
+	text "Do you know about"
+	line "costume players?"
+	done
+
+_RockTunnel2EndBattleText5::
+	text "Well,"
+	line "that's that."
+	prompt
+
+_RockTunnel2AfterBattleText5::
+	text "Costume players"
+	line "dress up as"
+	cont "#MON for fun."
+	done
+
+_RockTunnel2BattleText6::
+	text "My #MON"
+	line "techniques will"
+	cont "leave you crying!"
+	done
+
+_RockTunnel2EndBattleText6::
+	text "I give!"
+	line "You're a better"
+	cont "technician!"
+	prompt
+
+_RockTunnel2AfterBattleText6::
+	text "In mountains,"
+	line "you'll often find"
+	cont "rock-type #MON."
+	done
+
+_RockTunnel2BattleText7::
+	text "I don't often"
+	line "come here, but I"
+	cont "will fight you."
+	done
+
+_RockTunnel2EndBattleText7::
+	text "Oh!"
+	line "I lost!"
+	prompt
+
+_RockTunnel2AfterBattleText7::
+	text "I like tiny"
+	line "#MON, big ones"
+	cont "are too scary!"
+	done
+
+_RockTunnel2BattleText8::
+	text "Hit me with your"
+	line "best shot!"
+	done
+
+_RockTunnel2EndBattleText8::
+	text "Fired"
+	line "away!"
+	prompt
--- /dev/null
+++ b/text/maps/RockTunnelB1F_2.asm
@@ -1,0 +1,20 @@
+_RockTunnel2AfterBattleText8::
+	text "I'll raise my"
+	line "#MON to beat"
+	cont "yours, kid!"
+	done
+
+_RockTunnel2BattleText9::
+	text "I draw #MON"
+	line "when I'm home."
+	done
+
+_RockTunnel2EndBattleText9::
+	text "Whew!"
+	line "I'm exhausted!"
+	prompt
+
+_RockTunnel2AfterBattleText9::
+	text "I'm an artist,"
+	line "not a fighter."
+	done
--- /dev/null
+++ b/text/maps/RockTunnelPokecenter.asm
@@ -1,0 +1,13 @@
+_RockTunnelPokecenterText2::
+	text "The element types"
+	line "of #MON make"
+	cont "them stronger"
+	cont "than some types"
+	cont "and weaker than"
+	cont "others!"
+	done
+
+_RockTunnelPokecenterText3::
+	text "I sold a useless"
+	line "NUGGET for ¥5000!"
+	done
--- /dev/null
+++ b/text/maps/RocketHideoutB1F.asm
@@ -1,0 +1,73 @@
+_RocketHideout1EndBattleText6::
+	text "Why...?@@"
+
+_RocketHideout1BattleText2::
+	text "Who are you? How"
+	line "did you get here?"
+	done
+
+_RocketHideout1EndBattleText2::
+	text "Oww!"
+	line "Beaten!"
+	prompt
+
+_RocketHideout1AfterBattleTxt2::
+	text "Are you dissing"
+	line "TEAM ROCKET?"
+	done
+
+_RocketHideout1BattleText3::
+	text "You broke into"
+	line "our operation?"
+	done
+
+_RocketHideout1EndBattleText3::
+	text "Burnt!"
+	prompt
+
+_RocketHideout1AfterBattleTxt3::
+	text "You're not going"
+	line "to get away with"
+	cont "this, brat!"
+	done
+
+_RocketHideout1BattleText4::
+	text "Intruder alert!"
+	done
+
+_RocketHideout1EndBattleText4::
+	text "I"
+	line "can't do it!"
+	prompt
+
+_RocketHideout1AfterBattleTxt4::
+	text "SILPH SCOPE?"
+	line "I don't know"
+	cont "where it is!"
+	done
+
+_RocketHideout1BattleText5::
+	text "Why did you come"
+	line "here?"
+	done
+
+_RocketHideout1EndBattleText5::
+	text "This"
+	line "won't do!"
+	prompt
+
+_RocketHideout1AfterBattleTxt5::
+	text "OK, I'll talk!"
+	line "Take the elevator"
+	cont "to see my BOSS!"
+	done
+
+_RocketHideout1BattleText6::
+	text "Are you lost, you"
+	line "little rat?"
+	done
+
+_RocketHideout1AfterBattleTxt6::
+	text "Uh-oh, that fight"
+	line "opened the door!"
+	done
--- /dev/null
+++ b/text/maps/RocketHideoutB2F.asm
@@ -1,0 +1,17 @@
+_RocketHideout2BattleText2::
+	text "BOSS said you can"
+	line "see GHOSTs with"
+	cont "the SILPH SCOPE!"
+	done
+
+_RocketHideout2EndBattleText2::
+	text "I"
+	line "surrender!"
+	prompt
+
+_RocketHideout2AfterBattleTxt2::
+	text "The TEAM ROCKET"
+	line "HQ has 4 basement"
+	cont "floors. Can you"
+	cont "reach the BOSS?"
+	done
--- /dev/null
+++ b/text/maps/RocketHideoutB3F.asm
@@ -1,0 +1,35 @@
+_RocketHideout3BattleText2::
+	text "Stop meddling in"
+	line "TEAM ROCKET's"
+	cont "affairs!"
+	done
+
+_RocketHideout3EndBattleText2::
+	text "Oof!"
+	line "Taken down!"
+	prompt
+
+_RocketHideout3AfterBattleTxt2::
+	text "SILPH SCOPE?"
+	line "The machine the"
+	cont "BOSS stole. It's"
+	cont "here somewhere."
+	done
+
+_RocketHideout3BattleTxt::
+	text "We got word from"
+	line "upstairs that you"
+	cont "were coming!"
+	done
+
+_RocketHideout3EndBattleText3::
+	text "What?"
+	line "I lost? No!"
+	prompt
+
+_RocketHide3AfterBattleText3::
+	text "Go ahead and go!"
+	line "But, you need the"
+	cont "LIFT KEY to run"
+	cont "the elevator!"
+	done
--- /dev/null
+++ b/text/maps/RocketHideoutB4F.asm
@@ -1,0 +1,74 @@
+_RocketHideout4Text_4557a::
+	text "So! I must say, I"
+	line "am impressed you"
+	cont "got here!"
+	done
+
+_RocketHideout4Text_4557f::
+	text "WHAT!"
+	line "This cannot be!"
+	prompt
+
+_RocketHideout4Text_45584::
+	text "I see that you"
+	line "raise #MON"
+	cont "with utmost care."
+
+	para "A child like you"
+	line "would never"
+	cont "understand what I"
+	cont "hope to achieve."
+
+	para "I shall step"
+	line "aside this time!"
+
+	para "I hope we meet"
+	line "again..."
+	done
+
+_RocketHideout4BattleText2::
+	text "I know you! You"
+	line "ruined our plans"
+	cont "at MT.MOON!"
+	done
+
+_RocketHideout4EndBattleText2::
+	text "Burned"
+	line "again!"
+	prompt
+
+_RocketHide4AfterBattleText2::
+	text "Do you have"
+	line "something against"
+	cont "TEAM ROCKET?"
+	done
+
+_RocketHideout4BattleText3::
+	text "How can you not"
+	line "see the beauty of"
+	cont "our evil?"
+	done
+
+_RocketHideout4EndBattleText3::
+	text "Ayaya!"
+	prompt
+
+_RocketHide4AfterBattleText3::
+	text "BOSS! I'm sorry I"
+	line "failed you!"
+	done
+
+_RocketHideout4BattleText4::
+	text "The elevator"
+	line "doesn't work? Who"
+	cont "has the LIFT KEY?"
+	done
+
+_RocketHideout4EndBattleText4::
+	text "No!"
+	prompt
+
+_RocketHideout4Text_455ec::
+	text "Oh no! I dropped"
+	line "the LIFT KEY!"
+	done
--- /dev/null
+++ b/text/maps/RocketHideoutElevator.asm
@@ -1,0 +1,3 @@
+_RocketElevatorText_4578b::
+	text "It appears to"
+	line "need a key.@@"
--- /dev/null
+++ b/text/maps/Route1.asm
@@ -1,0 +1,49 @@
+_Route1ViridianMartSampleText::
+	text "Hi! I work at a"
+	line "#MON MART."
+
+	para "It's a convenient"
+	line "shop, so please"
+	cont "visit us in"
+	cont "VIRIDIAN CITY."
+
+	para "I know, I'll give"
+	line "you a sample!"
+	cont "Here you go!"
+	prompt
+
+_Route1Text_1cae8::
+	text "<PLAYER> got"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_Route1Text_1caee::
+	text "We also carry"
+	line "# BALLs for"
+	cont "catching #MON!"
+	done
+
+_Route1Text_1caf3::
+	text "You have too much"
+	line "stuff with you!"
+	done
+
+_Route1Text2::
+	text "See those ledges"
+	line "along the road?"
+
+	para "It's a bit scary,"
+	line "but you can jump"
+	cont "from them."
+
+	para "You can get back"
+	line "to PALLET TOWN"
+	cont "quicker that way."
+	done
+
+_Route1Text3::
+	text "ROUTE 1"
+	line "PALLET TOWN -"
+	cont "VIRIDIAN CITY"
+	done
--- /dev/null
+++ b/text/maps/Route10.asm
@@ -1,0 +1,109 @@
+_Route10BattleText1::
+	text "Wow, are you a"
+	line "#MANIAC too?"
+	cont "Want to see my"
+	cont "collection?"
+	done
+
+_Route10EndBattleText1::
+	text "Humph."
+	line "I'm not angry!"
+	prompt
+
+_Route10AfterBattleText1::
+	text "I have more rare"
+	line "#MON at home!"
+	done
+
+_Route10BattleText2::
+	text "Ha-hahah-ah-ha!"
+	done
+
+_Route10EndBattleText2::
+	text "Ha-haha!"
+	line "Not laughing!"
+	cont "Ha-hay fever!"
+	cont "Haha-ha-choo!"
+	prompt
+
+_Route10AfterBattleText2::
+	text "Haha-ha-choo!"
+	line "Ha-choo!"
+	cont "Snort! Snivel!"
+	done
+
+_Route10BattleText3::
+	text "Hi kid, want to"
+	line "see my #MON?"
+	done
+
+_Route10EndBattleText3::
+	text "Oh no!"
+	line "My #MON!"
+	prompt
+
+_Route10AfterBattleText3::
+	text "I don't like you"
+	line "for beating me!"
+	done
+
+_Route10BattleText4::
+	text "I've been to a"
+	line "#MON GYM a few"
+	cont "times. But, I"
+	cont "lost each time."
+	done
+
+_Route10EndBattleText4::
+	text "Ohh!"
+	line "Blew it again!"
+	prompt
+
+_Route10AfterBattleText4::
+	text "I noticed some"
+	line "#MANIACs"
+	cont "prowling around."
+	done
+
+_Route10BattleText5::
+	text "Ah! This mountain"
+	line "air is delicious!"
+	done
+
+_Route10EndBattleText5::
+	text "That"
+	line "cleared my head!"
+	prompt
+
+_Route10AfterBattleText5::
+	text "I feel bloated on"
+	line "mountain air!"
+	done
+
+_Route10BattleText6::
+	text "I'm feeling a bit"
+	line "faint from this"
+	cont "tough hike."
+	done
+
+_Route10EndBattleText6::
+	text "I'm"
+	line "not up to it!"
+	prompt
+
+_Route10AfterBattleText6::
+	text "The #MON here"
+	line "are so chunky!"
+	cont "There should be a"
+	cont "pink one with a"
+	cont "floral pattern!"
+	done
+
+_Route10Text9::
+_Route10Text7::
+	text "ROCK TUNNEL"
+	done
+
+_Route10Text10::
+	text "POWER PLANT"
+	done
--- /dev/null
+++ b/text/maps/Route11.asm
@@ -1,0 +1,133 @@
+_Route11BattleText1::
+	text "Win, lose or draw!"
+	done
+
+_Route11EndBattleText1::
+	text "Atcha!"
+	line "Didn't go my way!"
+	prompt
+
+_Route11AfterBattleText1::
+	text "#MON is life!"
+	line "And to live is to"
+	cont "gamble!"
+	done
+
+_Route11BattleText2::
+	text "Competition! I"
+	line "can't get enough!"
+	done
+
+_Route11EndBattleText2::
+	text "I had"
+	line "a chance!"
+	prompt
+
+_Route11AfterBattleText2::
+	text "You can't be a"
+	line "coward in the"
+	cont "world of #MON!"
+	done
+
+_Route11BattleText3::
+	text "Let's go, but"
+	line "don't cheat!"
+	done
+
+_Route11EndBattleText3::
+	text "Huh?"
+	line "That's not right!"
+	prompt
+
+_Route11AfterBattleText3::
+	text "I did my best! I"
+	line "have no regrets!"
+	done
+
+_Route11BattleText4::
+	text "Careful!"
+	line "I'm laying down"
+	cont "some cables!"
+	done
+
+_Route11EndBattleText4::
+	text "That"
+	line "was electric!"
+	prompt
+
+_Route11AfterBattleText4::
+	text "Spread the word"
+	line "to save energy!"
+	done
+
+_Route11BattleText5::
+	text "I just became a"
+	line "trainer! But, I"
+	cont "think I can win!"
+	done
+
+_Route11EndBattleText5::
+	text "My"
+	line "#MON couldn't!"
+	prompt
+
+_Route11AfterBattleText5::
+	text "What do you want?"
+	line "Leave me alone!"
+	done
+
+_Route11BattleText6::
+	text "Fwahaha! I have"
+	line "never lost!"
+	done
+
+_Route11EndBattleText6::
+	text "My"
+	line "first loss!"
+	prompt
+
+_Route11AfterBattleText6::
+	text "Luck of the draw!"
+	line "Just luck!"
+	done
+
+_Route11BattleText7::
+	text "I have never won"
+	line "before..."
+	done
+
+_Route11EndBattleText7::
+	text "I saw"
+	line "this coming..."
+	prompt
+
+_Route11AfterBattleText7::
+	text "It's just luck."
+	line "Luck of the draw."
+	done
+
+_Route11BattleText8::
+	text "I'm the best in"
+	line "my class!"
+	done
+
+_Route11EndBattleText8::
+	text "Darn!"
+	line "I need to make my"
+	cont "#MON stronger!"
+	prompt
+
+_Route11AfterBattleText8::
+	text "There's a fat"
+	line "#MON that"
+	cont "comes down from"
+	cont "the mountains."
+
+	para "It's strong if"
+	line "you can get it."
+	done
+
+_Route11BattleText9::
+	text "Watch out for"
+	line "live wires!"
+	done
--- /dev/null
+++ b/text/maps/Route11Gate1F.asm
@@ -1,0 +1,14 @@
+_Route11GateText1::
+	text "When you catch"
+	line "lots of #MON,"
+	cont "isn't it hard to"
+	cont "think up names?"
+
+	para "In LAVENDER TOWN,"
+	line "there's a man who"
+	cont "rates #MON"
+	cont "nicknames."
+
+	para "He'll help you"
+	line "rename them too!"
+	done
--- /dev/null
+++ b/text/maps/Route11Gate2F.asm
@@ -1,0 +1,40 @@
+_Route11GateUpstairsText_494a3::
+	text "There are items on"
+	line "the ground that"
+	cont "can't be seen."
+
+	para "ITEMFINDER will"
+	line "detect an item"
+	cont "close to you."
+
+	para "It can't pinpoint"
+	line "it, so you have"
+	cont "to look yourself!"
+	done
+
+_BinocularsSnorlaxText::
+	text "Looked into the"
+	line "binoculars."
+
+	para "A big #MON is"
+	line "asleep on a road!"
+	done
+
+_BinocularsNoSnorlaxText::
+	text "Looked into the"
+	line "binoculars."
+
+	para "It's a beautiful"
+	line "view!"
+	done
+
+_Route11GateUpstairsText_494d5::
+	text "Looked into the"
+	line "binoculars."
+
+	para "The only way to"
+	line "get from CERULEAN"
+	cont "CITY to LAVENDER"
+	cont "is by way of the"
+	cont "ROCK TUNNEL."
+	done
--- /dev/null
+++ b/text/maps/Route11_2.asm
@@ -1,0 +1,28 @@
+_Route11EndBattleText9::
+	text "Whoa!"
+	line "You spark plug!"
+	prompt
+
+_Route11AfterBattleText9::
+	text "Well, better get"
+	line "back to work."
+	done
+
+_Route11BattleText10::
+	text "My #MON should"
+	line "be ready by now!"
+	done
+
+_Route11EndBattleText10::
+	text "Too"
+	line "much, too young!"
+	prompt
+
+_Route11AfterBattleText10::
+	text "I better go find"
+	line "stronger ones!"
+	done
+
+_Route11Text11::
+	text "DIGLETT's CAVE"
+	done
--- /dev/null
+++ b/text/maps/Route12.asm
@@ -1,0 +1,139 @@
+_Route12Text1::
+	text "A sleeping #MON"
+	line "blocks the way!"
+	done
+
+_Route12Text13::
+	text "SNORLAX woke up!"
+
+	para "It attacked in a"
+	line "grumpy rage!"
+	done
+
+_Route12Text14::
+	text "SNORLAX calmed"
+	line "down! With a big"
+	cont "yawn, it returned"
+	cont "to the mountains!"
+	done
+
+_Route12BattleText1::
+	text "Yeah! I got a"
+	line "bite, here!"
+	done
+
+_Route12EndBattleText1::
+	text "Tch!"
+	line "Just a small fry!"
+	prompt
+
+_Route12AfterBattleText1::
+	text "Hang on! My line's"
+	line "snagged!"
+	done
+
+_Route12BattleText2::
+	text "Be patient!"
+	line "Fishing is a"
+	cont "waiting game!"
+	done
+
+_Route12EndBattleText2::
+	text "That"
+	line "one got away!"
+	prompt
+
+_Route12AfterBattleText2::
+	text "With a better ROD,"
+	line "I could catch"
+	cont "better #MON!"
+	done
+
+_Route12BattleText3::
+	text "Have you found a"
+	line "MOON STONE?"
+	done
+
+_Route12EndBattleText3::
+	text "Oww!"
+	prompt
+
+_Route12AfterBattleText3::
+	text "I could have made"
+	line "my #MON evolve"
+	cont "with MOON STONE!"
+	done
+
+_Route12BattleText4::
+	text "Electricity is my"
+	line "specialty!"
+	done
+
+_Route12EndBattleText4::
+	text "Unplugged!"
+	prompt
+
+_Route12AfterBattleText4::
+	text "Water conducts"
+	line "electricity, so"
+	cont "you should zap"
+	cont "sea #MON!"
+	done
+
+_Route12BattleText5::
+	text "The FISHING FOOL"
+	line "vs. #MON KID!"
+	done
+
+_Route12EndBattleText5::
+	text "Too"
+	line "much!"
+	prompt
+
+_Route12AfterBattleText5::
+	text "You beat me at"
+	line "#MON, but I'm"
+	cont "good at fishing!"
+	done
+
+_Route12BattleText6::
+	text "I'd rather be"
+	line "working!"
+	done
+
+_Route12EndBattleText6::
+	text "It's"
+	line "not easy..."
+	prompt
+
+_Route12AfterBattleText6::
+	text "It's all right."
+	line "Losing doesn't"
+	cont "bug me any more."
+	done
+
+_Route12BattleText7::
+	text "You never know"
+	line "what you could"
+	cont "catch!"
+	done
+
+_Route12EndBattleText7::
+	text "Lost"
+	line "it!"
+	prompt
+
+_Route12AfterBattleText7::
+	text "I catch MAGIKARP"
+	line "all the time, but"
+	cont "they're so weak!"
+	done
+
+_Route12Text11::
+	text "ROUTE 12 "
+	line "North to LAVENDER"
+	done
+
+_Route12Text12::
+	text "SPORT FISHING AREA"
+	done
--- /dev/null
+++ b/text/maps/Route12Gate1F.asm
@@ -1,0 +1,4 @@
+_Route12GateText1::
+	text "There's a lookout"
+	line "spot upstairs."
+	done
--- /dev/null
+++ b/text/maps/Route12Gate2F.asm
@@ -1,0 +1,42 @@
+_TM39PreReceiveText::
+	text "My #MON's"
+	line "ashes are stored"
+	cont "in #MON TOWER."
+
+	para "You can have this"
+	line "TM. I don't need"
+	cont "it any more..."
+	prompt
+
+_ReceivedTM39Text::
+	text "<PLAYER> received"
+	line "TM39!@@"
+
+_TM39ExplanationText::
+	text "TM39 is a move"
+	line "called SWIFT."
+
+	para "It's very accurate,"
+	line "so use it during"
+	cont "battles you can't"
+	cont "afford to lose."
+	done
+
+_TM39NoRoomText::
+	text "You don't have"
+	line "room for this."
+	done
+
+_Route12GateUpstairsText_495b8::
+	text "Looked into the"
+	line "binoculars."
+
+	para "A man fishing!"
+	done
+
+_Route12GateUpstairsText_495c4::
+	text "Looked into the"
+	line "binoculars."
+
+	para "It's #MON TOWER!"
+	done
--- /dev/null
+++ b/text/maps/Route12SuperRodHouse.asm
@@ -1,0 +1,61 @@
+_Route12HouseText_564c0::
+	text "I'm the FISHING"
+	line "GURU's brother!"
+
+	para "I simply Looove"
+	line "fishing!"
+
+	para "Do you like to"
+	line "fish?"
+	done
+
+_Route12HouseText_564c5::
+	text "Grand! I like"
+	line "your style!"
+
+	para "Take this and"
+	line "fish, young one!"
+
+	para "<PLAYER> received"
+	line "a @"
+	TX_RAM wcf4b
+	text "!@@"
+
+_Route12HouseText_564ca::
+	text ""
+
+	para "Fishing is a way"
+	line "of life!"
+
+	para "From the seas to"
+	line "rivers, go out"
+	cont "and land the big"
+	cont "one!"
+	done
+
+_Route12HouseText_564cf::
+	text "Oh... That's so"
+	line "disappointing..."
+	done
+
+_Route12HouseText_564d4::
+	text "Hello there,"
+	line "<PLAYER>!"
+
+	para "Use the SUPER ROD"
+	line "in any water!"
+	cont "You can catch"
+	cont "different kinds"
+	cont "of #MON."
+
+	para "Try fishing"
+	line "wherever you can!"
+	done
+
+_Route12HouseText_564d9::
+	text "Oh no!"
+
+	para "I had a gift for"
+	line "you, but you have"
+	cont "no room for it!"
+	done
--- /dev/null
+++ b/text/maps/Route13.asm
@@ -1,0 +1,179 @@
+_Route13BattleText2::
+	text "My bird #MON"
+	line "want to scrap!"
+	done
+
+_Route13EndBattleText2::
+	text "My"
+	line "bird combo lost?"
+	prompt
+
+_Route13AfterBattleText2::
+	text "My #MON look"
+	line "happy even though"
+	cont "they lost."
+	done
+
+_Route13BattleText3::
+	text "I'm told I'm good"
+	line "for a kid!"
+	done
+
+_Route13EndBattleText3::
+	text "Ohh!"
+	line "I lost!"
+	prompt
+
+_Route13AfterBattleText3::
+	text "I want to become"
+	line "a good trainer."
+	cont "I'll train hard."
+	done
+
+_Route13BattleText4::
+	text "Wow! Your BADGEs"
+	line "are too cool!"
+	done
+
+_Route13EndBattleText4::
+	text "Not"
+	line "enough!"
+	prompt
+
+_Route13AfterBattleText4::
+	text "You got those"
+	line "BADGEs from GYM"
+	cont "LEADERs. I know!"
+	done
+
+_Route13BattleText5::
+	text "My cute #MON"
+	line "wish to make your"
+	cont "acquaintance."
+	done
+
+_Route13EndBattleText5::
+	text "Wow!"
+	line "You totally won!"
+	prompt
+
+_Route13AfterBattleText5::
+	text "You have to make"
+	line "#MON fight to"
+	cont "toughen them up!"
+	done
+
+_Route13BattleText6::
+	text "I found CARBOS in"
+	line "a cave once."
+	done
+
+_Route13EndBattleText6::
+	text "Just"
+	line "messed up!"
+	prompt
+
+_Route13AfterBattleText6::
+	text "CARBOS boosted"
+	line "the SPEED of my"
+	cont "#MON."
+	done
+
+_Route13BattleText7::
+	text "The wind's blowing"
+	line "my way!"
+	done
+
+_Route13EndBattleText7::
+	text "The"
+	line "wind turned!"
+	prompt
+
+_Route13AfterBattleText7::
+	text "I'm beat. I guess"
+	line "I'll FLY home."
+	done
+
+_Route13BattleText8::
+	text "Sure, I'll play"
+	line "with you!"
+	done
+
+_Route13EndBattleText8::
+	text "Oh!"
+	line "You little brute!"
+	prompt
+
+_Route13AfterBattleText8::
+	text "I wonder which is"
+	line "stronger, male or"
+	cont "female #MON?"
+	done
+
+_Route13BattleText9::
+	text "Do you want to"
+	line "#MON with me?"
+	done
+
+_Route13EndBattleText9::
+	text "It's over"
+	line "already?"
+	prompt
+
+_Route13AfterBattleText9::
+	text "I don't know"
+	line "anything about"
+	cont "#MON. I just"
+	cont "like cool ones!"
+	done
+
+_Route13BattleText10::
+	text "What're you"
+	line "lookin' at?"
+	done
+
+_Route13EndBattleText10::
+	text "Dang!"
+	line "Stripped gears!"
+	prompt
+
+_Route13AfterBattleText10::
+	text "Get lost!"
+	done
+
+_Route13BattleText11::
+	text "I always go with"
+	line "bird #MON!"
+	done
+
+_Route13EndBattleText11::
+	text "Out"
+	line "of power!"
+	prompt
+
+_Route13AfterBattleText11::
+	text "I wish I could"
+	line "fly like PIDGEY"
+	cont "and PIDGEOTTO..."
+	done
+
+_Route13Text11::
+	text "TRAINER TIPS"
+
+	para "Look to the left"
+	line "of that post!"
+	done
+
+_Route13Text12::
+	text "TRAINER TIPS"
+
+	para "Use SELECT to"
+	line "switch items in"
+	cont "the ITEM window!"
+	done
+
+_Route13Text13::
+	text "ROUTE 13"
+	line "North to SILENCE"
+	cont "BRIDGE"
+	done
--- /dev/null
+++ b/text/maps/Route14.asm
@@ -1,0 +1,173 @@
+_Route14BattleText1::
+	text "You need to use"
+	line "TMs to teach good"
+	cont "moves to #MON!"
+	done
+
+_Route14EndBattleText1::
+	text "Not"
+	line "good enough!"
+	prompt
+
+_Route14AfterBattleText1::
+	text "You have some HMs"
+	line "right? #MON"
+	cont "can't ever forget"
+	cont "those moves."
+	done
+
+_Route14BattleText2::
+	text "My bird #MON"
+	line "should be ready"
+	cont "for battle."
+	done
+
+_Route14EndBattleText2::
+	text "Not"
+	line "ready yet!"
+	prompt
+
+_Route14AfterBattleText2::
+	text "They need to learn"
+	line "better moves."
+	done
+
+_Route14BattleText3::
+	text "TMs are on sale"
+	line "in CELADON!"
+	cont "But, only a few"
+	cont "people have HMs!"
+	done
+
+_Route14EndBattleText3::
+	text "Aww,"
+	line "bummer!"
+	prompt
+
+_Route14AfterBattleText3::
+	text "Teach #MON"
+	line "moves of the same"
+	cont "element type for"
+	cont "more power."
+	done
+
+_Route14BattleText4::
+	text "Have you taught"
+	line "your bird #MON"
+	cont "how to FLY?"
+	done
+
+_Route14EndBattleText4::
+	text "Shot"
+	line "down in flames!"
+	prompt
+
+_Route14AfterBattleText4::
+	text "Bird #MON are"
+	line "my true love!"
+	done
+
+_Route14BattleText5::
+	text "Have you heard of"
+	line "the legendary"
+	cont "#MON?"
+	done
+
+_Route14EndBattleText5::
+	text "Why?"
+	line "Why'd I lose?"
+	prompt
+
+_Route14AfterBattleText5::
+	text "The 3 legendary"
+	line "#MON are all"
+	cont "birds of prey."
+	done
+
+_Route14BattleText6::
+	text "I'm not into it,"
+	line "but OK! Let's go!"
+	done
+
+_Route14EndBattleText6::
+	text "I"
+	line "knew it!"
+	prompt
+
+_Route14AfterBattleText6::
+	text "Winning, losing,"
+	line "it doesn't matter"
+	cont "in the long run!"
+	done
+
+_Route14BattleText7::
+	text "C'mon, c'mon."
+	line "Let's go, let's"
+	cont "go, let's go!"
+	done
+
+_Route14EndBattleText7::
+	text "Arrg!"
+	line "Lost! Get lost!"
+	prompt
+
+_Route14AfterBattleText7::
+	text "What, what, what?"
+	line "What do you want?"
+	done
+
+_Route14BattleText8::
+	text "Perfect! I need to"
+	line "burn some time!"
+	done
+
+_Route14EndBattleText8::
+	text "What?"
+	line "You!?"
+	prompt
+
+_Route14AfterBattleText8::
+	text "Raising #MON"
+	line "is a drag, man."
+	done
+
+_Route14BattleText9::
+	text "We ride out here"
+	line "because there's"
+	cont "more room!"
+	done
+
+_Route14EndBattleText9::
+	text "Wipe out!"
+	prompt
+
+_Route14AfterBattleText9::
+	text "It's cool you"
+	line "made your #MON"
+	cont "so strong!"
+
+	para "Might is right!"
+	line "And you know it!"
+	done
+
+_Route14BattleText10::
+	text "#MON fight?"
+	line "Cool! Rumble!"
+	done
+
+_Route14EndBattleText10::
+	text "Blown"
+	line "away!"
+	prompt
+
+_Route14AfterBattleText10::
+	text "You know who'd"
+	line "win, you and me"
+	cont "one on one!"
+	done
+
+_Route14Text11::
+	text "ROUTE 14"
+	line "West to FUCHSIA"
+	cont "CITY"
+	done
--- /dev/null
+++ b/text/maps/Route15.asm
@@ -1,0 +1,171 @@
+_Route15BattleText1::
+	text "Let me try out the"
+	line "#MON I just"
+	cont "got in a trade!"
+	done
+
+_Route15EndBattleText1::
+	text "Not"
+	line "good enough!"
+	prompt
+
+_Route15AfterBattleText1::
+	text "You can't change"
+	line "the nickname of"
+	cont "any #MON you"
+	cont "get in a trade."
+
+	para "Only the Original"
+	line "Trainer can."
+	done
+
+_Route15BattleText2::
+	text "You look gentle,"
+	line "so I think I can"
+	cont "beat you!"
+	done
+
+_Route15EndBattleText2::
+	text "No,"
+	line "wrong!"
+	prompt
+
+_Route15AfterBattleText2::
+	text "I'm afraid of"
+	line "BIKERs, they look"
+	cont "so ugly and mean!"
+	done
+
+_Route15BattleText3::
+	text "When I whistle, I"
+	line "can summon bird"
+	cont "#MON!"
+	done
+
+_Route15EndBattleText3::
+	text "Ow!"
+	line "That's tragic!"
+	prompt
+
+_Route15AfterBattleText3::
+	text "Maybe I'm not cut"
+	line "out for battles."
+	done
+
+_Route15BattleText4::
+	text "Hmm? My birds are"
+	line "shivering! You're"
+	cont "good, aren't you?"
+	done
+
+_Route15EndBattleText4::
+	text "Just"
+	line "as I thought!"
+	prompt
+
+_Route15AfterBattleText4::
+	text "Did you know moves"
+	line "like EARTHQUAKE"
+	cont "don't have any"
+	cont "effect on birds?"
+	done
+
+_Route15BattleText5::
+	text "Oh, you're a"
+	line "little cutie!"
+	done
+
+_Route15EndBattleText5::
+	text "You looked"
+	line "so cute too!"
+	prompt
+
+_Route15AfterBattleText5::
+	text "I forgive you!"
+	line "I can take it!"
+	done
+
+_Route15BattleText6::
+	text "I raise #MON"
+	line "because I live"
+	cont "alone!"
+	done
+
+_Route15EndBattleText6::
+	text "I didn't"
+	line "ask for this!"
+	prompt
+
+_Route15AfterBattleText6::
+	text "I just like going"
+	line "home to be with"
+	cont "my #MON!"
+	done
+
+_Route15BattleText7::
+	text "Hey kid! C'mon!"
+	line "I just got these!"
+	done
+
+_Route15EndBattleText7::
+	text "Why"
+	line "not?"
+	prompt
+
+_Route15AfterBattleText7::
+	text "You only live"
+	line "once, so I live"
+	cont "as an outlaw!"
+	cont "TEAM ROCKET RULES!"
+	done
+
+_Route15BattleText8::
+	text "Fork over all your"
+	line "cash when you"
+	cont "lose to me, kid!"
+	done
+
+_Route15EndBattleText8::
+	text "That"
+	line "can't be true!"
+	prompt
+
+_Route15AfterBattleText8::
+	text "I was just joking"
+	line "about the money!"
+	done
+
+_Route15BattleText9::
+	text "What's cool?"
+	line "Trading #MON!"
+	done
+
+_Route15EndBattleText9::
+	text "I"
+	line "said trade!"
+	prompt
+
+_Route15AfterBattleText9::
+	text "I trade #MON"
+	line "with my friends!"
+	done
+
+_Route15BattleText10::
+	text "Want to play with"
+	line "my #MON?"
+	done
+
+_Route15EndBattleText10::
+	text "I was"
+	line "too impatient!"
+	prompt
+
+_Route15AfterBattleText10::
+	text "I'll go train with"
+	line "weaker people.@@"
+
+_Route15Text12::
+	text "ROUTE 15"
+	line "West to FUCHSIA"
+	cont "CITY"
+	done
--- /dev/null
+++ b/text/maps/Route15Gate1F.asm
@@ -1,0 +1,7 @@
+_Route15GateText1::
+	text "Are you working"
+	line "on a #DEX?"
+
+	para "PROF.OAK's AIDE"
+	line "came by here."
+	done
--- /dev/null
+++ b/text/maps/Route15Gate2F.asm
@@ -1,0 +1,24 @@
+_Route15GateUpstairsText_4968c::
+	text "EXP.ALL gives"
+	line "EXP points to all"
+	cont "the #MON with"
+	cont "you, even if they"
+	cont "don't fight."
+
+	para "It does, however,"
+	line "reduce the amount"
+	cont "of EXP for each"
+	cont "#MON."
+
+	para "If you don't need"
+	line "it, you should "
+	cont "store it via PC."
+	done
+
+_Route15GateUpstairsText_49698::
+	text "Looked into the"
+	line "binoculars."
+
+	para "It looks like a"
+	line "small island!"
+	done
--- /dev/null
+++ b/text/maps/Route16.asm
@@ -1,0 +1,120 @@
+_Route16BattleText1::
+	text "What do you want?"
+	done
+
+_Route16EndBattleText1::
+	text "Don't you"
+	line "dare laugh!"
+	prompt
+
+_Route16AfterBattleText1::
+	text "We like just"
+	line "hanging here,"
+	cont "what's it to you?"
+	done
+
+_Route16BattleText2::
+	text "Nice BIKE!"
+	line "Hand it over!"
+	done
+
+_Route16EndBattleText2::
+	text "Knock"
+	line "out!"
+	prompt
+
+_Route16AfterBattleText2::
+	text "Forget it, who"
+	line "needs your BIKE!"
+	done
+
+_Route16BattleText3::
+	text "Come out and play,"
+	line "little mouse!"
+	done
+
+_Route16EndBattleText3::
+	text "You"
+	line "little rat!"
+	prompt
+
+_Route16AfterBattleText3::
+	text "I hate losing!"
+	line "Get away from me!"
+	done
+
+_Route16BattleText4::
+	text "Hey, you just"
+	line "bumped me!"
+	done
+
+_Route16EndBattleText4::
+	text "Kaboom!"
+	prompt
+
+_Route16AfterBattleText4::
+	text "You can also get"
+	line "to FUCHSIA from"
+	cont "VERMILION using a"
+	cont "coastal road."
+	done
+
+_Route16BattleText5::
+	text "I'm feeling"
+	line "hungry and mean!"
+	done
+
+_Route16EndBattleText5::
+	text "Bad,"
+	line "bad, bad!"
+	prompt
+
+_Route16AfterBattleText5::
+	text "I like my #MON"
+	line "ferocious! They"
+	cont "tear up enemies!"
+	done
+
+_Route16BattleText6::
+	text "Sure, I'll go!"
+	done
+
+_Route16EndBattleText6::
+	text "Don't make"
+	line "me mad!"
+	prompt
+
+_Route16AfterBattleText6::
+	text "I like harassing"
+	line "people with my"
+	cont "vicious #MON!"
+	done
+
+_Route16Text7::
+	text "A sleeping #MON"
+	line "blocks the way!"
+	done
+
+_Route16Text10::
+	text "SNORLAX woke up!"
+
+	para "It attacked in a"
+	line "grumpy rage!"
+	done
+
+_Route16Text11::
+	text "With a big yawn,"
+	line "SNORLAX returned"
+	cont "to the mountains!"
+	done
+
+_Route16Text8::
+	text "Enjoy the slope!"
+	line "CYCLING ROAD"
+	done
+
+_Route16Text9::
+	text "ROUTE 16"
+	line "CELADON CITY -"
+	cont "FUCHSIA CITY"
+	done
--- /dev/null
+++ b/text/maps/Route16FlyHouse.asm
@@ -1,0 +1,31 @@
+_Route16HouseText3::
+	text "Oh, you found my"
+	line "secret retreat!"
+
+	para "Please don't tell"
+	line "anyone I'm here."
+	cont "I'll make it up"
+	cont "to you with this!"
+	prompt
+
+_ReceivedHM02Text::
+	text "<PLAYER> received"
+	line "HM02!@@"
+
+_HM02ExplanationText::
+	text "HM02 is FLY."
+	line "It will take you"
+	cont "back to any town."
+
+	para "Put it to good"
+	line "use!"
+	done
+
+_HM02NoRoomText::
+	text "You don't have any"
+	line "room for this."
+	done
+
+_Route16HouseText_1e652::
+	text "FEAROW: Kyueen!"
+	done
--- /dev/null
+++ b/text/maps/Route16Gate1F.asm
@@ -1,0 +1,22 @@
+_Route16GateText_49777::
+	text "No pedestrians"
+	line "are allowed on"
+	cont "CYCLING ROAD!"
+	done
+
+_Route16GateText_4977c::
+	text "CYCLING ROAD is a"
+	line "downhill course"
+	cont "by the sea. It's"
+	cont "a great ride."
+	done
+
+_Route16GateText_49781::
+	text "Excuse me! Wait"
+	line "up please!"
+	done
+
+_Route16GateText2::
+	text "How'd you get in?"
+	line "Good effort!"
+	done
--- /dev/null
+++ b/text/maps/Route16Gate2F.asm
@@ -1,0 +1,26 @@
+_Route16GateUpstairsText_49820::
+	text "I'm going for a"
+	line "ride with my girl"
+	cont "friend!"
+	done
+
+_Route16GateUpstairsText_4982f::
+	text "We're going"
+	line "riding together!"
+	done
+
+_Route16GateUpstairsText_4983b::
+	text "Looked into the"
+	line "binoculars."
+
+	para "It's CELADON DEPT."
+	line "STORE!"
+	done
+
+_Route16GateUpstairsText_49847::
+	text "Looked into the"
+	line "binoculars."
+
+	para "There's a long"
+	line "path over water!"
+	done
--- /dev/null
+++ b/text/maps/Route17.asm
@@ -1,0 +1,195 @@
+_Route17BattleText1::
+	text "There's no money"
+	line "in fighting kids!"
+	done
+
+_Route17EndBattleText1::
+	text "Burned"
+	line "out!"
+	prompt
+
+_Route17AfterBattleText1::
+	text "Good stuff is"
+	line "lying around on"
+	cont "CYCLING ROAD!"
+	done
+
+_Route17BattleText2::
+	text "What do you want,"
+	line "kiddo?"
+	done
+
+_Route17EndBattleText2::
+	text "Whoo!"
+	prompt
+
+_Route17AfterBattleText2::
+	text "I could belly-"
+	line "bump you outta"
+	cont "here!"
+	done
+
+_Route17BattleText3::
+	text "You heading to"
+	line "FUCHSIA?"
+	done
+
+_Route17EndBattleText3::
+	text "Crash and"
+	line "burn!"
+	prompt
+
+_Route17AfterBattleText3::
+	text "I love racing"
+	line "downhill!"
+	done
+
+_Route17BattleText4::
+	text "We're BIKERs!"
+	line "Highway stars!"
+	done
+
+_Route17EndBattleText4::
+	text "Smoked!"
+	prompt
+
+_Route17AfterBattleText4::
+	text "Are you looking"
+	line "for adventure?"
+	done
+
+_Route17BattleText5::
+	text "Let VOLTORB"
+	line "electrify you!"
+	done
+
+_Route17EndBattleText5::
+	text "Grounded"
+	line "out!"
+	prompt
+
+_Route17AfterBattleText5::
+	text "I got my VOLTORB"
+	line "at the abandoned"
+	cont "POWER PLANT."
+	done
+
+_Route17BattleText6::
+	text "My #MON won't"
+	line "evolve! Why?"
+	done
+
+_Route17EndBattleText6::
+	text "Why,"
+	line "you!"
+	prompt
+
+_Route17AfterBattleText6::
+	text "Maybe some #MON"
+	line "need element"
+	cont "STONEs to evolve."
+	done
+
+_Route17BattleText7::
+	text "I need a little"
+	line "exercise!"
+	done
+
+_Route17EndBattleText7::
+	text "Whew!"
+	line "Good workout!"
+	prompt
+
+_Route17AfterBattleText7::
+	text "I'm sure I lost"
+	line "weight there!"
+	done
+
+_Route17BattleText8::
+	text "Be a rebel!"
+	done
+
+_Route17EndBattleText8::
+	text "Aaaargh!"
+	prompt
+
+_Route17AfterBattleText8::
+	text "Be ready to fight"
+	line "for your beliefs!"
+	done
+
+_Route17BattleText9::
+	text "Nice BIKE!"
+	line "How's it handle?"
+	done
+
+_Route17EndBattleText9::
+	text "Shoot!"
+	prompt
+
+_Route17AfterBattleText9::
+	text "The slope makes"
+	line "it hard to steer!"
+	done
+
+_Route17BattleText10::
+	text "Get lost kid!"
+	line "I'm bushed!"
+	done
+
+_Route17EndBattleText10::
+	text "Are you"
+	line "satisfied?"
+	prompt
+
+_Route17AfterBattleText10::
+	text "I need to catch"
+	line "a few Zs!"
+	done
+
+_Route17Text11::
+	text "It's a notice!"
+
+	para "Watch out for"
+	line "discarded items!"
+	done
+
+_Route17Text12::
+	text "TRAINER TIPS"
+
+	para "All #MON are"
+	line "unique."
+
+	para "Even #MON of"
+	line "the same type and"
+	cont "level grow at"
+	cont "different rates."
+	done
+
+_Route17Text13::
+	text "TRAINER TIPS"
+
+	para "Press the A or B"
+	line "Button to stay in"
+	cont "place while on a"
+	cont "slope."
+	done
+
+_Route17Text14::
+	text "ROUTE 17"
+	line "CELADON CITY -"
+	cont "FUCHSIA CITY"
+	done
+
+_Route17Text15::
+	text "It's a notice!"
+
+	para "Don't throw the"
+	line "game, throw #"
+	cont "BALLs instead!"
+	done
+
+_Route17Text16::
+	text "CYCLING ROAD"
+	line "Slope ends here!"
+	done
--- /dev/null
+++ b/text/maps/Route18.asm
@@ -1,0 +1,58 @@
+_Route18BattleText1::
+	text "I always check"
+	line "every grassy area"
+	cont "for new #MON."
+	done
+
+_Route18EndBattleText1::
+	text "Tch!"
+	prompt
+
+_Route18AfterBattleText1::
+	text "I wish I had a"
+	line "BIKE!"
+	done
+
+_Route18BattleText2::
+	text "Kurukkoo!"
+	line "How do you like"
+	cont "my bird call?"
+	done
+
+_Route18EndBattleText2::
+	text "I"
+	line "had to bug you!"
+	prompt
+
+_Route18AfterBattleText2::
+	text "I also collect sea"
+	line "#MON on"
+	cont "weekends!"
+	done
+
+_Route18BattleText3::
+	text "This is my turf!"
+	line "Get out of here!"
+	done
+
+_Route18EndBattleText3::
+	text "Darn!"
+	prompt
+
+_Route18AfterBattleText3::
+	text "This is my fave"
+	line "#MON hunting"
+	cont "area!"
+	done
+
+_Route18Text4::
+	text "ROUTE 18"
+	line "CELADON CITY -"
+	cont "FUCHSIA CITY"
+	done
+
+_Route18Text5::
+	text "CYCLING ROAD"
+	line "No pedestrians"
+	cont "permitted!"
+	done
--- /dev/null
+++ b/text/maps/Route18Gate1F.asm
@@ -1,0 +1,14 @@
+_Route18GateText_49928::
+	text "You need a BICYCLE"
+	line "for CYCLING ROAD!"
+	done
+
+_Route18GateText_4992d::
+	text "CYCLING ROAD is"
+	line "all uphill from"
+	cont "here."
+	done
+
+_Route18GateText_49932::
+	text "Excuse me!"
+	done
--- /dev/null
+++ b/text/maps/Route18Gate2F.asm
@@ -1,0 +1,15 @@
+_Route18GateUpstairsText_49993::
+	text "Looked into the"
+	line "binoculars."
+
+	para "PALLET TOWN is in"
+	line "the west!"
+	done
+
+_Route18GateUpstairsText_4999f::
+	text "Looked into the"
+	line "binoculars."
+
+	para "There are people"
+	line "swimming!"
+	done
--- /dev/null
+++ b/text/maps/Route19.asm
@@ -1,0 +1,157 @@
+_Route19BattleText1::
+	text "Have to warm up"
+	line "before my swim!"
+	done
+
+_Route19EndBattleText1::
+	text "All"
+	line "warmed up!"
+	prompt
+
+_Route19AfterBattleText1::
+	text "Thanks, kid! I'm"
+	line "ready for a swim!"
+	done
+
+_Route19BattleText2::
+	text "Wait! You'll have"
+	line "a heart attack!"
+	done
+
+_Route19EndBattleText2::
+	text "Ooh!"
+	line "That's chilly!"
+	prompt
+
+_Route19AfterBattleText2::
+	text "Watch out for"
+	line "TENTACOOL!"
+	done
+
+_Route19BattleText3::
+	text "I love swimming!"
+	line "What about you?"
+	done
+
+_Route19EndBattleText3::
+	text "Belly"
+	line "flop!"
+	prompt
+
+_Route19AfterBattleText3::
+	text "I can beat #MON"
+	line "at swimming!"
+	done
+
+_Route19BattleText4::
+	text "What's beyond the"
+	line "horizon?"
+	done
+
+_Route19EndBattleText4::
+	text "Glub!"
+	prompt
+
+_Route19AfterBattleText4::
+	text "I see a couple of"
+	line "islands!"
+	done
+
+_Route19BattleText5::
+	text "I tried diving"
+	line "for #MON, but"
+	cont "it was a no go!"
+	done
+
+_Route19EndBattleText5::
+	text "Help!"
+	prompt
+
+_Route19AfterBattleText5::
+	text "You have to fish"
+	line "for sea #MON!"
+	done
+
+_Route19BattleText6::
+	text "I look at the"
+	line "sea to forget!"
+	done
+
+_Route19EndBattleText6::
+	text "Ooh!"
+	line "Traumatic!"
+	prompt
+
+_Route19AfterBattleText6::
+	text "I'm looking at the"
+	line "sea to forget!"
+	done
+
+_Route19BattleText7::
+	text "Oh, I just love"
+	line "your ride! Can I"
+	cont "have it if I win?"
+	done
+
+_Route19EndBattleText7::
+	text "Oh!"
+	line "I lost!"
+	prompt
+
+_Route19AfterBattleText7::
+	text "It's still a long"
+	line "way to go to"
+	cont "SEAFOAM ISLANDS."
+	done
+
+_Route19BattleText8::
+	text "Swimming's great!"
+	line "Sunburns aren't!"
+	done
+
+_Route19EndBattleText8::
+	text "Shocker!"
+	prompt
+
+_Route19AfterBattleText8::
+	text "My boy friend"
+	line "wanted to swim to"
+	cont "SEAFOAM ISLANDS."
+	done
+
+_Route19BattleText9::
+	text "These waters are"
+	line "treacherous!"
+	done
+
+_Route19EndBattleText9::
+	text "Ooh!"
+	line "Dangerous!"
+	prompt
+
+_Route19AfterBattleText9::
+	text "I got a cramp!"
+	line "Glub, glub..."
+	done
+
+_Route19BattleText10::
+	text "I swam here, but"
+	line "I'm tired."
+	done
+
+_Route19EndBattleText10::
+	text "I'm"
+	line "exhausted..."
+	prompt
+
+_Route19AfterBattleText10::
+	text "LAPRAS is so big,"
+	line "it must keep you"
+	cont "dry on water."
+	done
+
+_Route19Text11::
+	text "SEA ROUTE 19"
+	line "FUCHSIA CITY -"
+	cont "SEAFOAM ISLANDS"
+	done
--- /dev/null
+++ b/text/maps/Route2.asm
@@ -1,0 +1,9 @@
+_Route2Text3::
+	text "ROUTE 2"
+	line "VIRIDIAN CITY -"
+	cont "PEWTER CITY"
+	done
+
+_Route2Text4::
+	text "DIGLETT's CAVE"
+	done
--- /dev/null
+++ b/text/maps/Route20.asm
@@ -1,0 +1,156 @@
+_Route20BattleText1::
+	text "The water is"
+	line "shallow here."
+	done
+
+_Route20EndBattleText1::
+	text "Splash!"
+	prompt
+
+_Route20AfterBattleText1::
+	text "I wish I could"
+	line "ride my #MON."
+	done
+
+_Route20BattleText2::
+	text "SEAFOAM is a"
+	line "quiet getaway!"
+	done
+
+_Route20EndBattleText2::
+	text "Quit it!"
+	prompt
+
+_Route20AfterBattleText2::
+	text "There's a huge"
+	line "cavern underneath"
+	cont "this island."
+	done
+
+_Route20BattleText3::
+	text "I love floating"
+	line "with the fishes!"
+	done
+
+_Route20EndBattleText3::
+	text "Yowch!"
+	prompt
+
+_Route20AfterBattleText3::
+	text "Want to float"
+	line "with me?"
+	done
+
+_Route20BattleText4::
+	text "Are you on"
+	line "vacation too?"
+	done
+
+_Route20EndBattleText4::
+	text "No"
+	line "mercy at all!"
+	prompt
+
+_Route20AfterBattleText4::
+	text "SEAFOAM used to"
+	line "be one island!"
+	done
+
+_Route20BattleText5::
+	text "Check out my buff"
+	line "physique!"
+	done
+
+_Route20EndBattleText5::
+	text "Wimpy!"
+	prompt
+
+_Route20AfterBattleText5::
+	text "I should've been"
+	line "buffing up my"
+	cont "#MON, not me!"
+	done
+
+_Route20BattleText6::
+	text "Why are you"
+	line "riding a #MON?"
+	cont "Can't you swim?"
+	done
+
+_Route20EndBattleText6::
+	text "Ouch!"
+	line "Torpedoed!"
+	prompt
+
+_Route20AfterBattleText6::
+	text "Riding a #MON"
+	line "sure looks fun!"
+	done
+
+_Route20BattleText7::
+	text "I rode my bird"
+	line "#MON here!"
+	done
+
+_Route20EndBattleText7::
+	text "Oh"
+	line "no!"
+	prompt
+
+_Route20AfterBattleText7::
+	text "My birds can't"
+	line "FLY me back!"
+	done
+
+_Route20BattleText8::
+	text "My boy friend gave"
+	line "me big pearls!"
+	done
+
+_Route20EndBattleText8::
+	text "Don't"
+	line "touch my pearls!"
+	prompt
+
+_Route20AfterBattleText8::
+	text "Will my pearls"
+	line "grow bigger"
+	cont "inside CLOYSTER?"
+	done
+
+_Route20BattleText9::
+	text "I swam here from"
+	line "CINNABAR ISLAND!"
+	done
+
+_Route20EndBattleText9::
+	text "I'm"
+	line "so disappointed!"
+	prompt
+
+_Route20AfterBattleText9::
+	text "#MON have"
+	line "taken over an"
+	cont "abandoned mansion"
+	cont "on CINNABAR!"
+	done
+
+_Route20BattleText10::
+	text "CINNABAR, in the"
+	line "west, has a LAB"
+	cont "for #MON."
+	done
+
+_Route20EndBattleText10::
+	text "Wait!"
+	prompt
+
+_Route20AfterBattleText10::
+	text "CINNABAR is a "
+	line "volcanic island!"
+	done
+
+_Route20Text12::
+_Route20Text11::
+	text "SEAFOAM ISLANDS"
+	done
--- /dev/null
+++ b/text/maps/Route21.asm
@@ -1,0 +1,137 @@
+_Route21BattleText1::
+	text "You want to know"
+	line "if the fish are"
+	cont "biting?"
+	done
+
+_Route21EndBattleText1::
+	text "Dang!"
+	prompt
+
+_Route21AfterBattleText1::
+	text "I can't catch"
+	line "anything good!"
+	done
+
+_Route21BattleText2::
+	text "I got a big haul!"
+	line "Wanna go for it?"
+	done
+
+_Route21EndBattleText2::
+	text "Darn"
+	line "MAGIKARP!"
+	prompt
+
+_Route21AfterBattleText2::
+	text "I seem to only"
+	line "catch MAGIKARP!"
+	done
+
+_Route21BattleText3::
+	text "The sea cleanses"
+	line "my body and soul!"
+	done
+
+_Route21EndBattleText3::
+	text "Ayah!"
+	prompt
+
+_Route21AfterBattleText3::
+	text "I like the"
+	line "mountains too!"
+	done
+
+_Route21BattleText4::
+	text "What's wrong with"
+	line "me swimming?"
+	done
+
+_Route21EndBattleText4::
+	text "Cheap"
+	line "shot!"
+	prompt
+
+_Route21AfterBattleText4::
+	text "I look like what?"
+	line "A studded inner"
+	cont "tube? Get lost!"
+	done
+
+_Route21BattleText5::
+	text "I caught all my"
+	line "#MON at sea!"
+	done
+
+_Route21EndBattleText5::
+	text "Diver!!"
+	line "Down!!"
+	prompt
+
+_Route21AfterBattleText5::
+	text "Where'd you catch"
+	line "your #MON?"
+	done
+
+_Route21BattleText6::
+	text "Right now, I'm in"
+	line "a triathlon meet!"
+	done
+
+_Route21EndBattleText6::
+	text "Pant..."
+	line "pant...pant..."
+	prompt
+
+_Route21AfterBattleText6::
+	text "I'm beat!"
+	line "But, I still have"
+	cont "the bike race and"
+	cont "marathon left!"
+	done
+
+_Route21BattleText7::
+	text "Ahh! Feel the sun"
+	line "and the wind!"
+	done
+
+_Route21EndBattleText7::
+	text "Yow!"
+	line "I lost!"
+	prompt
+
+_Route21AfterBattleText7::
+	text "I'm sunburnt to a"
+	line "crisp!"
+	done
+
+_Route21BattleText8::
+	text "Hey, don't scare"
+	line "away the fish!"
+	done
+
+_Route21EndBattleText8::
+	text "Sorry!"
+	line "I didn't mean it!"
+	prompt
+
+_Route21AfterBattleText8::
+	text "I was just angry"
+	line "that I couldn't"
+	cont "catch anything."
+	done
+
+_Route21BattleText9::
+	text "Keep me company"
+	line "'til I get a hit!"
+	done
+
+_Route21EndBattleText9::
+	text "That"
+	line "burned some time."
+	prompt
+
+_Route21AfterBattleText9::
+	text "Oh wait! I got a"
+	line "bite! Yeah!"
+	done
--- /dev/null
+++ b/text/maps/Route22.asm
@@ -1,0 +1,104 @@
+_Route22RivalBeforeBattleText1::
+	text "<RIVAL>: Hey!"
+	line "<PLAYER>!"
+
+	para "You're going to"
+	line "#MON LEAGUE?"
+
+	para "Forget it! You"
+	line "probably don't"
+	cont "have any BADGEs!"
+
+	para "The guard won't"
+	line "let you through!"
+
+	para "By the way, did"
+	line "your #MON"
+	cont "get any stronger?"
+	done
+
+_Route22RivalAfterBattleText1::
+	text "I heard #MON"
+	line "LEAGUE has many"
+	cont "tough trainers!"
+
+	para "I have to figure"
+	line "out how to get"
+	cont "past them!"
+
+	para "You should quit"
+	line "dawdling and get"
+	cont "a move on!"
+	done
+
+_Route22RivalDefeatedText1::
+	text "Awww!"
+	line "You just lucked"
+	cont "out!"
+	prompt
+
+_Route22Text_511bc::
+	text "<RIVAL>: What?"
+	line "Why do I have 2"
+	cont "#MON?"
+
+	para "You should catch"
+	cont "some more too!"
+	prompt
+
+_Route22RivalBeforeBattleText2::
+	text "<RIVAL>: What?"
+	line "<PLAYER>! What a"
+	cont "surprise to see"
+	cont "you here!"
+
+	para "So you're going to"
+	line "#MON LEAGUE?"
+
+	para "You collected all"
+	line "the BADGEs too?"
+	cont "That's cool!"
+
+	para "Then I'll whip you"
+	line "<PLAYER> as a"
+	cont "warm up for"
+	cont "#MON LEAGUE!"
+
+	para "Come on!"
+	done
+
+_Route22RivalAfterBattleText2::
+	text "That loosened me"
+	line "up! I'm ready for"
+	cont "#MON LEAGUE!"
+
+	para "<PLAYER>, you need"
+	line "more practice!"
+
+	para "But hey, you know"
+	line "that! I'm out of"
+	cont "here. Smell ya!"
+	done
+
+_Route22RivalDefeatedText2::
+	text "What!?"
+
+	para "I was just"
+	line "careless!"
+	prompt
+
+_Route22Text_511d0::
+	text "<RIVAL>: Hahaha!"
+	line "<PLAYER>! That's"
+	cont "your best? You're"
+	cont "nowhere near as"
+	cont "good as me, pal!"
+
+	para "Go train some"
+	line "more! You loser!"
+	prompt
+
+_Route22FrontGateText::
+	text "#MON LEAGUE"
+	line "Front Gate"
+	done
--- /dev/null
+++ b/text/maps/Route22Gate.asm
@@ -1,0 +1,20 @@
+_Route22GateText_1e704::
+	text "Only truly skilled"
+	line "trainers are"
+	cont "allowed through."
+
+	para "You don't have the"
+	line "BOULDERBADGE yet!@@"
+
+_Route22GateText_1e715::
+	text ""
+
+	para "The rules are"
+	line "rules. I can't"
+	cont "let you pass."
+	done
+
+_Route22GateText_1e71a::
+	text "Oh! That is the"
+	line "BOULDERBADGE!"
+	cont "Go right ahead!@@"
--- /dev/null
+++ b/text/maps/Route23.asm
@@ -1,0 +1,39 @@
+_VictoryRoadGuardText1::
+	text "You can pass here"
+	line "only if you have"
+	cont "the @"
+	TX_RAM wcd6d
+	text "!"
+
+	para "You don't have the"
+	line "@"
+	TX_RAM wcd6d
+	text " yet!"
+
+	para "You have to have"
+	line "it to get to"
+	cont "#MON LEAGUE!@@"
+
+_VictoryRoadGuardText2::
+	text "You can pass here"
+	line "only if you have"
+	cont "the @"
+	TX_RAM wcd6d
+	text "!"
+
+	para "Oh! That is the"
+	line "@"
+	TX_RAM wcd6d
+	text "!@@"
+
+_VictoryRoadGuardText_513a3::
+	text ""
+
+	para "OK then! Please,"
+	line "go right ahead!"
+	done
+
+_Route23Text8::
+	text "VICTORY ROAD GATE"
+	line "- #MON LEAGUE"
+	done
--- /dev/null
+++ b/text/maps/Route24.asm
@@ -1,0 +1,65 @@
+_Route24Text_51510::
+	text "Congratulations!"
+	line "You beat our 5"
+	cont "contest trainers!@@"
+
+_Route24Text_51515::
+	text ""
+
+	para "You just earned a"
+	line "fabulous prize!"
+	prompt
+
+_Route24Text_5151a::
+	text "<PLAYER> received"
+	line "a @"
+	TX_RAM wcf4b
+	text "!@@"
+
+_Route24Text_51521::
+	text "You don't have"
+	line "any room!"
+	done
+
+_Route24Text_51526::
+	text "By the way, would"
+	line "you like to join"
+	cont "TEAM ROCKET?"
+
+	para "We're a group"
+	line "dedicated to evil"
+	cont "using #MON!"
+
+	para "Want to join?"
+
+	para "Are you sure?"
+
+	para "Come on, join us!"
+
+	para "I'm telling you"
+	line "to join!"
+
+	para "OK, you need"
+	line "convincing!"
+
+	para "I'll make you an"
+	line "offer you can't"
+	cont "refuse!"
+	done
+
+_Route24Text_5152b::
+	text "Arrgh!"
+	line "You are good!"
+	prompt
+
+_Route24Text_51530::
+	text "With your ability,"
+	line "you could become"
+	cont "a top leader in"
+	cont "TEAM ROCKET!"
+	done
+
+_Route24BattleText1::
+	text "I saw your feat"
+	line "from the grass!"
+	done
--- /dev/null
+++ b/text/maps/Route24_2.asm
@@ -1,0 +1,90 @@
+_Route24EndBattleText1::
+	text "I"
+	line "thought not!"
+	prompt
+
+_Route24AfterBattleText1::
+	text "I hid because the"
+	line "people on the"
+	cont "bridge scared me!"
+	done
+
+_Route24BattleText2::
+	text "OK! I'm No. 5!"
+	line "I'll stomp you!"
+	done
+
+_Route24EndBattleText2::
+	text "Whoa!"
+	line "Too much!"
+	prompt
+
+_Route24AfterBattleText2::
+	text "I did my best, I"
+	line "have no regrets!"
+	done
+
+_Route24BattleText3::
+	text "I'm No. 4!"
+	line "Getting tired?"
+	done
+
+_Route24EndBattleText3::
+	text "I lost"
+	line "too!"
+	prompt
+
+_Route24AfterBattleText3::
+	text "I did my best, so"
+	line "I've no regrets!"
+	done
+
+_Route24BattleText4::
+	text "Here's No. 3!"
+	line "I won't be easy!"
+	done
+
+_Route24EndBattleText4::
+	text "Ow!"
+	line "Stomped flat!"
+	prompt
+
+_Route24AfterBattleText4::
+	text "I did my best, I"
+	line "have no regrets!"
+	done
+
+_Route24BattleText5::
+	text "I'm second!"
+	line "Now it's serious!"
+	done
+
+_Route24EndBattleText5::
+	text "How could I"
+	line "lose?"
+	prompt
+
+_Route24AfterBattleText5::
+	text "I did my best, I"
+	line "have no regrets!"
+	done
+
+_Route24BattleText6::
+	text "This is NUGGET"
+	line "BRIDGE! Beat us 5"
+	cont "trainers and win"
+	cont "a fabulous prize!"
+
+	para "Think you got"
+	line "what it takes?"
+	done
+
+_Route24EndBattleText6::
+	text "Whoo!"
+	line "Good stuff!"
+	prompt
+
+_Route24AfterBattleText6::
+	text "I did my best, I"
+	line "have no regrets!"
+	done
--- /dev/null
+++ b/text/maps/Route25.asm
@@ -1,0 +1,156 @@
+_Route25BattleText1::
+	text "Local trainers"
+	line "come here to"
+	cont "practice!"
+	done
+
+_Route25EndBattleText1::
+	text "You're"
+	line "decent."
+	prompt
+
+_Route25AfterBattleText1::
+	text "All #MON have"
+	line "weaknesses. It's"
+	cont "best to raise"
+	cont "different kinds."
+	done
+
+_Route25BattleText2::
+	text "Dad took me to a"
+	line "great party on"
+	cont "S.S.ANNE at"
+	cont "VERMILION CITY!"
+	done
+
+_Route25EndBattleText2::
+	text "I'm"
+	line "not mad!"
+	prompt
+
+_Route25AfterBattleText2::
+	text "On S.S.ANNE, I"
+	line "saw trainers from"
+	cont "around the world."
+	done
+
+_Route25BattleText3::
+	text "I'm a cool guy."
+	line "I've got a girl"
+	cont "friend!"
+	done
+
+_Route25EndBattleText3::
+	text "Aww,"
+	line "darn..."
+	prompt
+
+_Route25AfterBattleText3::
+	text "Oh well. My girl"
+	line "will cheer me up."
+	done
+
+_Route25BattleText4::
+	text "Hi! My boy"
+	line "friend is cool!"
+	done
+
+_Route25EndBattleText4::
+	text "I was in"
+	line "bad condition!"
+	prompt
+
+_Route25AfterBattleText4::
+	text "I wish my guy was"
+	line "as good as you!"
+	done
+
+_Route25BattleText5::
+	text "I knew I had to"
+	line "fight you!"
+	done
+
+_Route25EndBattleText5::
+	text "I knew"
+	line "I'd lose too!"
+	prompt
+
+_Route25AfterBattleText5::
+	text "If your #MON"
+	line "gets confused or"
+	cont "falls asleep,"
+	cont "switch it!"
+	done
+
+_Route25BattleText6::
+	text "My friend has a"
+	line "cute #MON."
+	cont "I'm so jealous!"
+	done
+
+_Route25EndBattleText6::
+	text "I'm"
+	line "not so jealous!"
+	prompt
+
+_Route25AfterBattleText6::
+	text "You came from MT."
+	line "MOON? May I have"
+	cont "a CLEFAIRY?"
+	done
+
+_Route25BattleText7::
+	text "I just got down"
+	line "from MT.MOON,"
+	cont "but I'm ready!"
+	done
+
+_Route25EndBattleText7::
+	text "You"
+	line "worked hard!"
+	prompt
+
+_Route25AfterBattleText7::
+	text "Drat!"
+	line "A ZUBAT bit me"
+	cont "back in there."
+	done
+
+_Route25BattleText8::
+	text "I'm off to see a"
+	line "#MON collector"
+	cont "at the cape!"
+	done
+
+_Route25EndBattleText8::
+	text "You"
+	line "got me."
+	prompt
+
+_Route25AfterBattleText8::
+	text "The collector has"
+	line "many rare kinds"
+	cont "of #MON."
+	done
+
+_Route25BattleText9::
+	text "You're going to"
+	line "see BILL? First,"
+	cont "let's fight!"
+	done
+
+_Route25EndBattleText9::
+	text "You're"
+	line "something."
+	prompt
+
+_Route25AfterBattleText9::
+	text "The trail below"
+	line "is a shortcut to"
+	cont "CERULEAN CITY."
+	done
+
+_Route25Text11::
+	text "SEA COTTAGE"
+	line "BILL lives here!"
+	done
--- /dev/null
+++ b/text/maps/Route2Gate.asm
@@ -1,0 +1,12 @@
+_Route2GateText_5d616::
+	text "The HM FLASH"
+	line "lights even the"
+	cont "darkest dungeons."
+	done
+
+_Route2GateText2::
+	text "Once a #MON"
+	line "learns FLASH, you"
+	cont "can get through"
+	cont "ROCK TUNNEL."
+	done
--- /dev/null
+++ b/text/maps/Route2TradeHouse.asm
@@ -1,0 +1,6 @@
+_Route2HouseText1::
+	text "A fainted #MON"
+	line "can't fight. But, "
+	cont "it can still use "
+	cont "moves like CUT!"
+	done
--- /dev/null
+++ b/text/maps/Route3.asm
@@ -1,0 +1,145 @@
+_Route3Text1::
+	text "Whew... I better"
+	line "take a rest..."
+	cont "Groan..."
+
+	para "That tunnel from"
+	line "CERULEAN takes a"
+	cont "lot out of you!"
+	done
+
+_Route3BattleText1::
+	text "Hey! I met you in"
+	line "VIRIDIAN FOREST!"
+	done
+
+_Route3EndBattleText1::
+	text "You"
+	line "beat me again!"
+	prompt
+
+_Route3AfterBattleText1::
+	text "There are other"
+	line "kinds of #MON"
+	cont "than those found"
+	cont "in the forest!"
+	done
+
+_Route3BattleText2::
+	text "Hi! I like shorts!"
+	line "They're comfy and"
+	cont "easy to wear!"
+	done
+
+_Route3EndBattleText2::
+	text "I don't"
+	line "believe it!"
+	prompt
+
+_Route3AfterBattleText2::
+	text "Are you storing"
+	line "your #MON on"
+	cont "PC? Each BOX can"
+	cont "hold 20 #MON!"
+	done
+
+_Route3BattleText3::
+	text "You looked at me,"
+	line "didn't you?"
+	done
+
+_Route3EndBattleText3::
+	text "You're"
+	line "mean!"
+	prompt
+
+_Route3AfterBattleText3::
+	text "Quit staring if"
+	line "you don't want to"
+	cont "fight!"
+	done
+
+_Route3BattleText4::
+	text "Are you a trainer?"
+	line "Let's fight!"
+	done
+
+_Route3EndBattleText4::
+	text "If I"
+	line "had new #MON I"
+	cont "would've won!"
+	prompt
+
+_Route3AfterBattleText4::
+	text "If a #MON BOX"
+	line "on the PC gets"
+	cont "full, just switch"
+	cont "to another BOX!"
+	done
+
+_Route3BattleText5::
+	text "That look you"
+	line "gave me, it's so"
+	cont "intriguing!"
+	done
+
+_Route3EndBattleText5::
+	text "Be nice!"
+	prompt
+
+_Route3AfterBattleText5::
+	text "Avoid fights by"
+	line "not letting"
+	cont "people see you!"
+	done
+
+_Route3BattleText6::
+	text "Hey! You're not"
+	line "wearing shorts!"
+	done
+
+_Route3EndBattleText6::
+	text "Lost!"
+	line "Lost! Lost!"
+	prompt
+
+_Route3AfterBattleText6::
+	text "I always wear"
+	line "shorts, even in"
+	cont "winter!"
+	done
+
+_Route3BattleText7::
+	text "You can fight my"
+	line "new #MON!"
+	done
+
+_Route3EndBattleText7::
+	text "Done"
+	line "like dinner!"
+	prompt
+
+_Route3AfterBattleText7::
+	text "Trained #MON"
+	line "are stronger than"
+	cont "the wild ones!"
+	done
+
+_Route3BattleText8::
+	text "Eek! Did you"
+	line "touch me?"
+	done
+
+_Route3EndBattleText8::
+	text "That's it?"
+	prompt
+
+_Route3AfterBattleText8::
+	text "ROUTE 4 is at the"
+	line "foot of MT.MOON."
+	done
+
+_Route3Text10::
+	text "ROUTE 3"
+	line "MT.MOON AHEAD"
+	done
--- /dev/null
+++ b/text/maps/Route4.asm
@@ -1,0 +1,35 @@
+_Route4Text1::
+	text "Ouch! I tripped"
+	line "over a rocky"
+	cont "#MON, GEODUDE!"
+	done
+
+_Route4BattleText1::
+	text "I came to get my"
+	line "mushroom #MON!"
+	done
+
+_Route4EndBattleText1::
+	text "Oh! My cute"
+	line "mushroom #MON!"
+	prompt
+
+_Route4AfterBattleText1::
+	text "There might not"
+	line "be any more"
+	cont "mushrooms here."
+
+	para "I think I got"
+	line "them all."
+	done
+
+_Route4Text5::
+	text "MT.MOON"
+	line "Tunnel Entrance"
+	done
+
+_Route4Text6::
+	text "ROUTE 4"
+	line "MT.MOON -"
+	cont "CERULEAN CITY"
+	done
--- /dev/null
+++ b/text/maps/Route5.asm
@@ -1,0 +1,5 @@
+_Route5Text1::
+	text "UNDERGROUND PATH"
+	line "CERULEAN CITY -"
+	cont "VERMILION CITY"
+	done
--- /dev/null
+++ b/text/maps/Route6.asm
@@ -1,0 +1,97 @@
+_Route6BattleText1::
+	text "Who's there?"
+	line "Quit listening in"
+	cont "on us!"
+	done
+
+_Route6EndBattleText1::
+	text "I"
+	line "just can't win!"
+	prompt
+
+_Route6AfterBattleText1::
+	text "Whisper..."
+	line "whisper..."
+	done
+
+_Route6BattleText2::
+	text "Excuse me! This"
+	line "is a private"
+	cont "conversation!"
+	done
+
+_Route6EndBattleText2::
+	text "Ugh!"
+	line "I hate losing!"
+	prompt
+
+_Route6BattleText3::
+	text "There aren't many"
+	line "bugs out here."
+	done
+
+_Route6EndBattleText3::
+	text "No!"
+	line "You're kidding!"
+	prompt
+
+_Route6AfterBattleText3::
+	text "I like bugs, so"
+	line "I'm going back to"
+	cont "VIRIDIAN FOREST."
+	done
+
+_Route6BattleText4::
+	text "Huh? You want"
+	line "to talk to me?"
+	done
+
+_Route6EndBattleText4::
+	text "I"
+	line "didn't start it!"
+	prompt
+
+_Route6AfterBattleText4::
+	text "I should carry"
+	line "more #MON with"
+	cont "me for safety."
+	done
+
+_Route6BattleText5::
+	text "Me? Well, OK."
+	line "I'll play!"
+	done
+
+_Route6EndBattleText5::
+	text "Just"
+	line "didn't work!"
+	prompt
+
+_Route6AfterBattleText5::
+	text "I want to get"
+	line "stronger! What's"
+	cont "your secret?"
+	done
+
+_Route6BattleText6::
+	text "I've never seen"
+	line "you around!"
+	cont "Are you good?"
+	done
+
+_Route6EndBattleText6::
+	text "You"
+	line "are too good!"
+	prompt
+
+_Route6AfterBattleText6::
+	text "Are my #MON"
+	line "weak? Or, am I"
+	cont "just bad?"
+	done
+
+_Route6Text7::
+	text "UNDERGROUND PATH"
+	line "CERULEAN CITY -"
+	cont "VERMILION CITY"
+	done
--- /dev/null
+++ b/text/maps/Route7.asm
@@ -1,0 +1,5 @@
+_Route7Text1::
+	text "UNDERGROUND PATH"
+	line "CELADON CITY -"
+	cont "LAVENDER TOWN"
+	done
--- /dev/null
+++ b/text/maps/Route8.asm
@@ -1,0 +1,154 @@
+_Route8BattleText1::
+	text "You look good at"
+	line "#MON, but"
+	cont "how's your chem?"
+	done
+
+_Route8EndBattleText1::
+	text "Ow!"
+	line "Meltdown!"
+	prompt
+
+_Route8AfterBattleText1::
+	text "I am better at"
+	line "school than this!"
+	done
+
+_Route8BattleText2::
+	text "All right! Let's"
+	line "roll the dice!"
+	done
+
+_Route8EndBattleText2::
+	text "Drat!"
+	line "Came up short!"
+	prompt
+
+_Route8AfterBattleText2::
+	text "Lady Luck's not"
+	line "with me today!"
+	done
+
+_Route8BattleText3::
+	text "You need strategy"
+	line "to win at this!"
+	done
+
+_Route8EndBattleText3::
+	text "It's"
+	line "not logical!"
+	prompt
+
+_Route8AfterBattleText3::
+	text "Go with GRIMER"
+	line "first...and..."
+	cont "...and...then..."
+	done
+
+_Route8BattleText4::
+	text "I like NIDORAN, so"
+	line "I collect them!"
+	done
+
+_Route8EndBattleText4::
+	text "Why? Why??"
+	prompt
+
+_Route8AfterBattleText4::
+	text "When #MON grow"
+	line "up they get ugly!"
+	cont "They shouldn't"
+	cont "evolve!"
+	done
+
+_Route8BattleText5::
+	text "School is fun, but"
+	line "so are #MON."
+	done
+
+_Route8EndBattleText5::
+	text "I'll"
+	line "stay with school."
+	prompt
+
+_Route8AfterBattleText5::
+	text "We're stuck here"
+	line "because of the"
+	cont "gates at SAFFRON."
+	done
+
+_Route8BattleText6::
+	text "MEOWTH is so cute,"
+	line "meow, meow, meow!"
+	done
+
+_Route8EndBattleText6::
+	text "Meow!"
+	prompt
+
+_Route8AfterBattleText6::
+	text "I think PIDGEY"
+	line "and RATTATA"
+	cont "are cute too!"
+	done
+
+_Route8BattleText7::
+	text "We must look"
+	line "silly standing"
+	cont "here like this!"
+	done
+
+_Route8EndBattleText7::
+	text "Look what"
+	line "you did!"
+	prompt
+
+_Route8AfterBattleText7::
+	text "SAFFRON's gate"
+	line "keeper won't let"
+	cont "us through."
+	cont "He's so mean!"
+	done
+
+_Route8BattleText8::
+	text "I'm a rambling,"
+	line "gambling dude!"
+	done
+
+_Route8EndBattleText8::
+	text "Missed"
+	line "the big score!"
+	prompt
+
+_Route8AfterBattleText8::
+	text "Gambling and"
+	line "#MON are like"
+	cont "eating peanuts!"
+	cont "Just can't stop!"
+	done
+
+_Route8BattleText9::
+	text "What's a cute,"
+	line "round and fluffy"
+	cont "#MON?"
+	done
+
+_Route8EndBattleText9::
+	text "Stop!"
+
+	para "Don't be so mean"
+	line "to my CLEFAIRY!"
+	prompt
+
+_Route8AfterBattleText9::
+	text "I heard that"
+	line "CLEFAIRY evolves"
+	cont "when it's exposed"
+	cont "to a MOON STONE."
+	done
+
+_Route8Text10::
+	text "UNDERGROUND PATH"
+	line "CELADON CITY -"
+	cont "LAVENDER TOWN"
+	done
--- /dev/null
+++ b/text/maps/Route9.asm
@@ -1,0 +1,157 @@
+_Route9BattleText1::
+	text "You have #MON"
+	line "with you!"
+	cont "You're mine!"
+	done
+
+_Route9EndBattleText1::
+	text "You"
+	line "deceived me!"
+	prompt
+
+_Route9AfterBattleText1::
+	text "You need light to"
+	line "get through that"
+	cont "dark tunnel ahead."
+	done
+
+_Route9BattleText2::
+	text "Who's that walking"
+	line "with those good"
+	cont "looking #MON?"
+	done
+
+_Route9EndBattleText2::
+	text "Out"
+	line "like a light!"
+	prompt
+
+_Route9AfterBattleText2::
+	text "Keep walking!"
+	done
+
+_Route9BattleText3::
+	text "I'm taking ROCK"
+	line "TUNNEL to go to"
+	cont "LAVENDER..."
+	done
+
+_Route9EndBattleText3::
+	text "Can't"
+	line "measure up!"
+	prompt
+
+_Route9AfterBattleText3::
+	text "Are you off to"
+	line "ROCK TUNNEL too?"
+	done
+
+_Route9BattleText4::
+	text "Don't you dare"
+	line "condescend me!"
+	done
+
+_Route9EndBattleText4::
+	text "No!"
+	line "You're too much!"
+	prompt
+
+_Route9AfterBattleText4::
+	text "You're obviously"
+	line "talented! Good"
+	cont "luck to you!"
+	done
+
+_Route9BattleText5::
+	text "Bwahaha!"
+	line "Great! I was"
+	cont "bored, eh!"
+	done
+
+_Route9EndBattleText5::
+	text "Keep it"
+	line "coming, eh!"
+
+	para "Oh wait. I'm out"
+	line "of #MON!"
+	prompt
+
+_Route9AfterBattleText5::
+	text "You sure had guts"
+	line "standing up to me"
+	cont "there, eh?"
+	done
+
+_Route9BattleText6::
+	text "Hahaha!"
+	line "Aren't you a"
+	cont "little toughie!"
+	done
+
+_Route9EndBattleText6::
+	text "What's"
+	line "that?"
+	prompt
+
+_Route9AfterBattleText6::
+	text "Hahaha! Kids"
+	line "should be tough!"
+	done
+
+_Route9BattleText7::
+	text "I got up early"
+	line "every day to"
+	cont "raise my #MON"
+	cont "from cocoons!"
+	done
+
+_Route9EndBattleText7::
+	text "WHAT?"
+
+	para "What a total"
+	line "waste of time!"
+	prompt
+
+_Route9AfterBattleText7::
+	text "I have to collect"
+	line "more than bugs to"
+	cont "get stronger..."
+	done
+
+_Route9BattleText8::
+	text "Hahahaha!"
+	line "Come on, dude!"
+	done
+
+_Route9EndBattleText8::
+	text "Hahahaha!"
+	line "You beat me fair!"
+	prompt
+
+_Route9AfterBattleText8::
+	text "Hahahaha!"
+	line "Us hearty guys"
+	cont "always laugh!"
+	done
+
+_Route9BattleText9::
+	text "Go, my super bug"
+	line "#MON!"
+	done
+
+_Route9EndBattleText9::
+	text "My"
+	line "bugs..."
+	prompt
+
+_Route9AfterBattleText9::
+	text "If you don't like"
+	line "bug #MON, you"
+	cont "bug me!"
+	done
+
+_Route9Text11::
+	text "ROUTE 9"
+	line "CERULEAN CITY-"
+	cont "ROCK TUNNEL"
+	done
--- /dev/null
+++ b/text/maps/SSAnne1F.asm
@@ -1,0 +1,21 @@
+_SSAnne1Text1::
+	text "Bonjour!"
+	line "I am le waiter on"
+	cont "this ship!"
+
+	para "I will be happy"
+	line "to serve you any-"
+	cont "thing you please!"
+
+	para "Ah! Le strong"
+	line "silent type!"
+	done
+
+_SSAnne1Text2::
+	text "The passengers"
+	line "are restless!"
+
+	para "You might be"
+	line "challenged by the"
+	cont "more bored ones!"
+	done
--- /dev/null
+++ b/text/maps/SSAnne1FRooms.asm
@@ -1,0 +1,104 @@
+_SSAnne8Text8::
+	text "WIGGLYTUFF: Puup"
+	line "pupuu!@@"
+
+_SSAnne8BattleText1::
+	text "I travel alone"
+	line "on my journeys!"
+
+	para "My #MON are my"
+	line "only friends!"
+	done
+
+_SSAnne8EndBattleText1::
+	text "My, my"
+	line "friends..."
+	prompt
+
+_SSAnne8AfterBattleText1::
+	text "You should be"
+	line "nice to friends!"
+	done
+
+_SSAnne8BattleText2::
+	text "You pup! How dare"
+	line "you barge in!"
+	done
+
+_SSAnne8EndBattleText2::
+	text "Humph!"
+	line "You rude child!"
+	prompt
+
+_SSAnne8AfterBattleText2::
+	text "I wish to be left"
+	line "alone! Get out!"
+	done
+
+_SSAnne8BattleText3::
+	text "I love #MON!"
+	line "Do you?"
+	done
+
+_SSAnne8EndBattleText3::
+	text "Wow! "
+	line "You're great!"
+	prompt
+
+_SSAnne8AfterBattleText3::
+	text "Let me be your"
+	line "friend, OK?"
+
+	para "Then we can trade"
+	line "#MON!"
+	done
+
+_SSAnne8BattleText4::
+	text "I collected these"
+	line "#MON from all"
+	cont "around the world!"
+	done
+
+_SSAnne8EndBattleText4::
+	text "Oh no!"
+	line "I went around the"
+	cont "world for these!"
+	prompt
+
+_SSAnne8AfterBattleText4::
+	text "You hurt my poor"
+	line "worldly #MON!"
+
+	para "I demand that you"
+	line "heal them at a"
+	cont "#MON CENTER!"
+	done
+
+_SSAnne8Text5::
+	text "Waiter, I would"
+	line "like a cherry pie"
+	cont "please!"
+	done
+
+_SSAnne8Text6::
+	text "A cruise is so"
+	line "elegant yet cozy!"
+	done
+
+_SSAnne8Text7::
+	text "I always travel"
+	line "with WIGGLYTUFF!"
+	done
+
+_SSAnne8Text9::
+	text "We are cruising"
+	line "around the world."
+	done
+
+_SSAnne8Text11::
+	text "Ssh! I'm a GLOBAL"
+	line "POLICE agent!"
+
+	para "I'm on the trail"
+	line "of TEAM ROCKET!"
+	done
--- /dev/null
+++ b/text/maps/SSAnne2F.asm
@@ -1,0 +1,63 @@
+_SSAnne2Text1::
+	text "This ship, she is"
+	line "a luxury liner"
+	cont "for trainers!"
+
+	para "At every port, we"
+	line "hold parties with"
+	cont "invited trainers!"
+	done
+
+_SSAnneRivalBeforeBattleText::
+	text "<RIVAL>: Bonjour!"
+	line "<PLAYER>!"
+
+	para "Imagine seeing"
+	line "you here!"
+
+	para "<PLAYER>, were you"
+	line "really invited?"
+
+	para "So how's your"
+	line "#DEX coming?"
+
+	para "I already caught"
+	line "40 kinds, pal!"
+
+	para "Different kinds"
+	line "are everywhere!"
+
+	para "Crawl around in"
+	line "grassy areas!"
+	done
+
+_SSAnneRivalDefeatedText::
+	text "Humph!"
+
+	para "At least you're"
+	line "raising your"
+	cont "#MON!"
+	prompt
+
+_SSAnneRivalWonText::
+	text "<PLAYER>! What are"
+	line "you, seasick?"
+
+	para "You should shape"
+	line "up, pal!"
+	prompt
+
+_SSAnneRivalCaptainText::
+	text "<RIVAL>: I heard"
+	line "there was a CUT"
+	cont "master on board."
+
+	para "But, he was just a"
+	line "seasick, old man!"
+
+	para "But, CUT itself is"
+	line "really useful!"
+
+	para "You should go see"
+	line "him! Smell ya!"
+	done
--- /dev/null
+++ b/text/maps/SSAnne2FRooms.asm
@@ -1,0 +1,113 @@
+_SSAnne9Text_61bf2::
+	text "In all my travels"
+	line "I've never seen"
+	cont "any #MON sleep"
+	cont "like this one!"
+
+	para "It was something"
+	line "like this!"
+	prompt
+
+_SSAnne9Text_61c01::
+	text "Ah yes, I have"
+	line "seen some #MON"
+	cont "ferry people"
+	cont "across the water!"
+	done
+
+_SSAnne9Text_61c10::
+	text "#MON can CUT"
+	line "down small bushes."
+	done
+
+_SSAnne9Text_61c1f::
+	text "Have you gone to"
+	line "the SAFARI ZONE"
+	cont "in FUCHSIA CITY?"
+
+	para "It had many rare"
+	line "kinds of #MON!!"
+	done
+
+_SSAnne9Text_61c2e::
+	text "Me and my Daddy"
+	line "think the SAFARI"
+	cont "ZONE is awesome!"
+	done
+
+_SSAnne9Text_61c3d::
+	text "The CAPTAIN looked"
+	line "really sick and"
+	cont "pale!"
+	done
+
+_SSAnne9Text_61c4c::
+	text "I hear many people"
+	line "get seasick!"
+	done
+
+_SSAnne9BattleText1::
+	text "Competing against"
+	line "the young keeps"
+	cont "me youthful."
+	done
+
+_SSAnne9EndBattleText1::
+	text "Good"
+	line "fight! Ah, I feel"
+	cont "young again!"
+	prompt
+
+_SSAnne9AfterBattleText1::
+	text "15 years ago, I"
+	line "would have won!"
+	done
+
+_SSAnne9BattleText2::
+	text "Check out what I"
+	line "fished up!"
+	done
+
+_SSAnne9EndBattleText2::
+	text "I'm"
+	line "all out!"
+	prompt
+
+_SSAnne9AfterBattleText2::
+	text "Party?"
+
+	para "The cruise ship's"
+	line "party should be"
+	cont "over by now."
+	done
+
+_SSAnne9BattleText3::
+	text "Which do you like,"
+	line "a strong or a"
+	cont "rare #MON?"
+	done
+
+_SSAnne9EndBattleText3::
+	text "I must"
+	line "salute you!"
+	prompt
+
+_SSAnne9AfterBattleText3::
+	text "I prefer strong"
+	line "and rare #MON."
+	done
+
+_SSAnne9BattleText4::
+	text "I never saw you"
+	line "at the party."
+	done
+
+_SSAnne9EndBattleText4::
+	text "Take"
+	line "it easy!"
+	prompt
+
+_SSAnne9AfterBattleText4::
+	text "Oh, I adore your"
+	line "strong #MON!"
+	done
--- /dev/null
+++ b/text/maps/SSAnne3F.asm
@@ -1,0 +1,7 @@
+_SSAnne3Text1::
+	text "Our CAPTAIN is a"
+	line "sword master!"
+
+	para "He even teaches"
+	line "CUT to #MON!"
+	done
--- /dev/null
+++ b/text/maps/SSAnneB1FRooms.asm
@@ -1,0 +1,112 @@
+_SSAnne10Text8::
+	text "MACHOKE: Gwoh!"
+	line "Goggoh!@@"
+
+_SSAnne10BattleText1::
+	text "You know what they"
+	line "say about sailors"
+	cont "and fighting!"
+	done
+
+_SSAnne10EndBattleText1::
+	text "Right!"
+	line "Good fight, mate!"
+	prompt
+
+_SSAnne10AfterBattleText1::
+	text "Haha! Want to be"
+	line "a sailor, mate?"
+	done
+
+_SSAnne10BattleText2::
+	text "My sailor's pride"
+	line "is at stake!"
+	done
+
+_SSAnne10EndBattleText2::
+	text "Your"
+	line "spirit sank me!"
+	prompt
+
+_SSAnne10AfterBattleText2::
+	text "Did you see the"
+	line "FISHING GURU in"
+	cont "VERMILION CITY?"
+	done
+
+_SSAnne10BattleText3::
+	text "Us sailors have"
+	line "#MON too!"
+	done
+
+_SSAnne10EndBattleText3::
+	text "OK, "
+	line "you're not bad."
+	prompt
+
+_SSAnne10AfterBattleText3::
+	text "We caught all our"
+	line "#MON while"
+	cont "out at sea!"
+	done
+
+_SSAnne10BattleText4::
+	text "I like feisty"
+	line "kids like you!@@"
+
+_SSAnne10EndBattleText4::
+	text "Argh!"
+	line "Lost it!"
+	prompt
+
+_SSAnne10AfterBattleText4::
+	text "Sea #MON live"
+	line "in deep water."
+	cont "You'll need a ROD!"
+	done
+
+_SSAnne10BattleText5::
+	text "Matey, you're"
+	line "walking the plank"
+	cont "if you lose!"
+	done
+
+_SSAnne10EndBattleText5::
+	text "Argh!"
+	line "Beaten by a kid!"
+	prompt
+
+_SSAnne10AfterBattleText5::
+	text "Jellyfish some-"
+	line "times drift into"
+	cont "the ship."
+	done
+
+_SSAnne10BattleText6::
+	text "Hello stranger!"
+	line "Stop and chat!"
+
+	para "All my #MON"
+	line "are from the sea!"
+	done
+
+_SSAnne10EndBattleText6::
+	text "Darn!"
+	line "I let that one"
+	cont "get away!"
+	prompt
+
+_SSAnne10AfterBattleText6::
+	text "I was going to"
+	line "make you my"
+	cont "assistant too!"
+	done
+
+_SSAnne10Text7::
+	text "My buddy, MACHOKE,"
+	line "is super strong!"
+
+	para "He has enough"
+	line "STRENGTH to move"
+	cont "big rocks!"
+	done
--- /dev/null
+++ b/text/maps/SSAnneBow.asm
@@ -1,0 +1,52 @@
+_SSAnne5Text1::
+	text "The party's over."
+	line "The ship will be"
+	cont "departing soon."
+	done
+
+_SSAnne5Text2::
+	text "Scrubbing decks"
+	line "is hard work!"
+	done
+
+_SSAnne5Text3::
+	text "Urf. I feel ill."
+
+	para "I stepped out to"
+	line "get some air."
+	done
+
+_SSAnne5BattleText1::
+	text "Hey matey!"
+
+	para "Let's do a little"
+	line "jig!"
+	done
+
+_SSAnne5EndBattleText1::
+	text "You're"
+	line "impressive!"
+	prompt
+
+_SSAnne5AfterBattleText1::
+	text "How many kinds of"
+	line "#MON do you"
+	cont "think there are?"
+	done
+
+_SSAnne5BattleText2::
+	text "Ahoy there!"
+	line "Are you seasick?"
+	done
+
+_SSAnne5EndBattleText2::
+	text "I was"
+	line "just careless!"
+	prompt
+
+_SSAnne5AfterBattleText2::
+	text "My Pa said there"
+	line "are 100 kinds of"
+	cont "#MON. I think"
+	cont "there are more."
+	done
--- /dev/null
+++ b/text/maps/SSAnneCaptainsRoom.asm
@@ -1,0 +1,62 @@
+_SSAnne7RubText::
+	text "CAPTAIN: Ooargh..."
+	line "I feel hideous..."
+	cont "Urrp! Seasick..."
+
+	para "<PLAYER> rubbed"
+	line "the CAPTAIN's"
+	cont "back!"
+
+	para "Rub-rub..."
+	line "Rub-rub...@@"
+
+_ReceivingHM01Text::
+	text "CAPTAIN: Whew!"
+	line "Thank you! I"
+	cont "feel much better!"
+
+	para "You want to see"
+	line "my CUT technique?"
+
+	para "I could show you"
+	line "if I wasn't ill..."
+
+	para "I know! You can"
+	line "have this!"
+
+	para "Teach it to your"
+	line "#MON and you"
+	cont "can see it CUT"
+	cont "any time!"
+	prompt
+
+_ReceivedHM01Text::
+	text "<PLAYER> got"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_SSAnne7Text_61932::
+	text "CAPTAIN: Whew!"
+
+	para "Now that I'm not"
+	line "sick any more, I"
+	cont "guess it's time."
+	done
+
+_HM01NoRoomText::
+	text "Oh no! You have"
+	line "no room for this!"
+	done
+
+_SSAnne7Text2::
+	text "Yuck! Shouldn't"
+	line "have looked!"
+	done
+
+_SSAnne7Text3::
+	text "How to Conquer"
+	line "Seasickness..."
+	cont "The CAPTAIN's"
+	cont "reading this!"
+	done
--- /dev/null
+++ b/text/maps/SSAnneKitchen.asm
@@ -1,0 +1,69 @@
+_SSAnne6Text1::
+	text "You, mon petit!"
+	line "We're busy here!"
+	cont "Out of the way!"
+	done
+
+_SSAnne6Text2::
+	text "I saw an odd ball"
+	line "in the trash."
+	done
+
+_SSAnne6Text3::
+	text "I'm so busy I'm"
+	line "getting dizzy!"
+	done
+
+_SSAnne6Text4::
+	text "Hum-de-hum-de-"
+	line "ho..."
+
+	para "I peel spuds"
+	line "every day!"
+	cont "Hum-hum..."
+	done
+
+_SSAnne6Text5::
+	text "Did you hear about"
+	line "SNORLAX?"
+
+	para "All it does is"
+	line "eat and sleep!"
+	done
+
+_SSAnne6Text6::
+	text "Snivel...Sniff..."
+
+	para "I only get to"
+	line "peel onions..."
+	cont "Snivel..."
+	done
+
+_SSAnne6Text_61807::
+	text "Er-hem! Indeed I"
+	line "am le CHEF!"
+
+	para "Le main course is"
+	prompt
+
+_SSAnne6Text_6180c::
+	text "Salmon du Salad!"
+
+	para "Les guests may"
+	line "gripe it's fish"
+	cont "again, however!"
+	done
+
+_SSAnne6Text_61811::
+	text "Eels au Barbecue!"
+
+	para "Les guests will"
+	line "mutiny, I fear."
+	done
+
+_SSAnne6Text_61816::
+	text "Prime Beef Steak!"
+
+	para "But, have I enough"
+	line "fillets du beef?"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneCenter.asm
@@ -1,0 +1,11 @@
+_SafariZoneCenterText2::
+	text "REST HOUSE"
+	done
+
+_SafariZoneCenterText3::
+	text "TRAINER TIPS"
+
+	para "Press the START"
+	line "Button to check"
+	cont "remaining time!"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneCenterRestHouse.asm
@@ -1,0 +1,11 @@
+_SafariZoneRestHouse1Text1::
+	text "SARA: Where did"
+	line "my boy friend,"
+	cont "ERIK, go?"
+	done
+
+_SafariZoneRestHouse1Text2::
+	text "I'm catching"
+	line "#MON to take"
+	cont "home as gifts!"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneEast.asm
@@ -1,0 +1,16 @@
+_SafariZoneEastText5::
+	text "REST HOUSE"
+	done
+
+_SafariZoneEastText6::
+	text "TRAINER TIPS"
+
+	para "The remaining time"
+	line "declines only"
+	cont "while you walk!"
+	done
+
+_SafariZoneEastText7::
+	text "CENTER AREA"
+	line "NORTH: AREA 2"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneEastRestHouse.asm
@@ -1,0 +1,18 @@
+_SafariZoneRestHouse3Text1::
+	text "How many did you"
+	line "catch? I'm bushed"
+	cont "from the work!"
+	done
+
+_SafariZoneRestHouse3Text2::
+	text "I caught a"
+	line "CHANSEY!"
+
+	para "That makes this"
+	line "all worthwhile!"
+	done
+
+_SafariZoneRestHouse3Text3::
+	text "Whew! I'm tired"
+	line "from all the fun!"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneGate.asm
@@ -1,0 +1,94 @@
+_SafariZoneEntranceText1::
+	text "Welcome to the"
+	line "SAFARI ZONE!"
+	done
+
+SafariZoneEntranceText_9e6e4::
+	text "For just ¥500,"
+	line "you can catch all"
+	cont "the #MON you"
+	cont "want in the park!"
+
+	para "Would you like to"
+	line "join the hunt?@@"
+
+SafariZoneEntranceText_9e747::
+	text "That'll be ¥500"
+	line "please!"
+
+	para "We only use a"
+	line "special # BALL"
+	cont "here."
+
+	para "<PLAYER> received"
+	line "30 SAFARI BALLs!@@"
+
+_SafariZoneEntranceText_75360::
+	text ""
+
+	para "We'll call you on"
+	line "the PA when you"
+	cont "run out of time"
+	cont "or SAFARI BALLs!"
+	done
+
+_SafariZoneEntranceText_75365::
+	text "OK! Please come"
+	line "again!"
+	done
+
+_SafariZoneEntranceText_7536a::
+	text "Oops! Not enough"
+	line "money!"
+	done
+
+SafariZoneEntranceText_9e814::
+	text "Leaving early?@@"
+
+_SafariZoneEntranceText_753bb::
+	text "Please return any"
+	line "SAFARI BALLs you"
+	cont "have left."
+	done
+
+_SafariZoneEntranceText_753c0::
+	text "Good Luck!"
+	done
+
+_SafariZoneEntranceText_753c5::
+	text "Did you get a"
+	line "good haul?"
+	cont "Come again!"
+	done
+
+_SafariZoneEntranceText_753e6::
+	text "Hi! Is it your"
+	line "first time here?"
+	done
+
+_SafariZoneEntranceText_753eb::
+	text "SAFARI ZONE has 4"
+	line "zones in it."
+
+	para "Each zone has"
+	line "different kinds"
+	cont "of #MON. Use"
+	cont "SAFARI BALLs to"
+	cont "catch them!"
+
+	para "When you run out"
+	line "of time or SAFARI"
+	cont "BALLs, it's game"
+	cont "over for you!"
+
+	para "Before you go,"
+	line "open an unused"
+	cont "#MON BOX so"
+	cont "there's room for"
+	cont "new #MON!"
+	done
+
+_SafariZoneEntranceText_753f0::
+	text "Sorry, you're a"
+	line "regular here!"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneNorth.asm
@@ -1,0 +1,33 @@
+_SafariZoneNorthText3::
+	text "REST HOUSE"
+	done
+
+_SafariZoneNorthText4::
+	text "TRAINER TIPS"
+
+	para "The SECRET HOUSE"
+	line "is still ahead!"
+	done
+
+_SafariZoneNorthText5::
+	text "AREA 2"
+	done
+
+_SafariZoneNorthText6::
+	text "TRAINER TIPS"
+
+	para "#MON hide in"
+	line "tall grass!"
+
+	para "Zigzag through"
+	line "grassy areas to"
+	cont "flush them out."
+	done
+
+_SafariZoneNorthText7::
+	text "TRAINER TIPS"
+
+	para "Win a free HM for"
+	line "finding the"
+	cont "SECRET HOUSE!"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneNorthRestHouse.asm
@@ -1,0 +1,27 @@
+_SafariZoneRestHouse4Text1::
+	text "You can keep any"
+	line "item you find on"
+	cont "the ground here."
+
+	para "But, you'll run"
+	line "out of time if"
+	cont "you try for all"
+	cont "of them at once!"
+	done
+
+_SafariZoneRestHouse4Text2::
+	text "Go to the deepest"
+	line "part of the"
+	cont "SAFARI ZONE. You"
+	cont "will win a prize!"
+	done
+
+_SafariZoneRestHouse4Text3::
+	text "My EEVEE evolved"
+	line "into FLAREON!"
+
+	para "But, a friend's"
+	line "EEVEE turned into"
+	cont "a VAPOREON!"
+	cont "I wonder why?"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneSecretHouse.asm
@@ -1,0 +1,44 @@
+_SecretHouseText_4a350::
+	text "Ah! Finally!"
+
+	para "You're the first"
+	line "person to reach"
+	cont "the SECRET HOUSE!"
+
+	para "I was getting"
+	line "worried that no"
+	cont "one would win our"
+	cont "campaign prize."
+
+	para "Congratulations!"
+	line "You have won!"
+	prompt
+
+_ReceivedHM03Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_HM03ExplanationText::
+	text "HM03 is SURF!"
+
+	para "#MON will be"
+	line "able to ferry you"
+	cont "across water!"
+
+	para "And, this HM isn't"
+	line "disposable! You"
+	cont "can use it over"
+	cont "and over!"
+
+	para "You're super lucky"
+	line "for winning this"
+	cont "fabulous prize!"
+	done
+
+_HM03NoRoomText::
+	text "You don't have"
+	line "room for this"
+	cont "fabulous prize!"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneWest.asm
@@ -1,0 +1,31 @@
+_SafariZoneWestText5::
+	text "REST HOUSE"
+	done
+
+_SafariZoneWestText6::
+	text "REQUEST NOTICE"
+
+	para "Please find the"
+	line "SAFARI WARDEN's"
+	cont "lost GOLD TEETH."
+	cont "They're around"
+	cont "here somewhere."
+
+	para "Reward offered!"
+	line "Contact: WARDEN"
+	done
+
+_SafariZoneWestText7::
+	text "TRAINER TIPS"
+
+	para "Zone Exploration"
+	line "Campaign!"
+
+	para "The Search for"
+	line "the SECRET HOUSE!"
+	done
+
+_SafariZoneWestText8::
+	text "AREA 3"
+	line "EAST: CENTER AREA"
+	done
--- /dev/null
+++ b/text/maps/SafariZoneWestRestHouse.asm
@@ -1,0 +1,19 @@
+_SafariZoneRestHouse2Text1::
+	text "Tossing ROCKs at"
+	line "#MON might"
+	cont "make them run,"
+	cont "but they'll be"
+	cont "easier to catch."
+	done
+
+_SafariZoneRestHouse2Text2::
+	text "Using BAIT will"
+	line "make #MON"
+	cont "easier to catch."
+	done
+
+_SafariZoneRestHouse2Text3::
+	text "I hiked a lot, but"
+	line "I didn't see any"
+	cont "#MON I wanted."
+	done
--- /dev/null
+++ b/text/maps/SaffronCity.asm
@@ -1,0 +1,151 @@
+_SaffronCityText1::
+	text "What do you want?"
+	line "Get lost!"
+	done
+
+_SaffronCityText2::
+	text "BOSS said he'll"
+	line "take this town!"
+	done
+
+_SaffronCityText3::
+	text "Get out of the"
+	line "way!"
+	done
+
+_SaffronCityText4::
+	text "SAFFRON belongs"
+	line "to TEAM ROCKET!"
+	done
+
+_SaffronCityText5::
+	text "Being evil makes"
+	line "me feel so alive!"
+	done
+
+_SaffronCityText6::
+	text "Ow! Watch where"
+	line "you're walking!"
+	done
+
+_SaffronCityText7::
+	text "With SILPH under"
+	line "control, we can"
+	cont "exploit #MON"
+	cont "around the world!"
+	done
+
+_SaffronCityText8::
+	text "You beat TEAM"
+	line "ROCKET all alone?"
+	cont "That's amazing!"
+	done
+
+_SaffronCityText9::
+	text "Yeah! TEAM ROCKET"
+	line "is gone!"
+	cont "It's safe to go"
+	cont "out again!"
+	done
+
+_SaffronCityText10::
+	text "People should be"
+	line "flocking back to"
+	cont "SAFFRON now."
+	done
+
+_SaffronCityText11::
+	text "I flew here on my"
+	line "PIDGEOT when I"
+	cont "read about SILPH."
+
+	para "It's already over?"
+	line "I missed the"
+	cont "media action."
+	done
+
+_SaffronCityText12::
+	text "PIDGEOT: Bi bibii!@@"
+
+_SaffronCityText13::
+	text "I saw ROCKET"
+	line "BOSS escaping"
+	cont "SILPH's building."
+	done
+
+_SaffronCityText14::
+	text "I'm a security"
+	line "guard."
+
+	para "Suspicious kids I"
+	line "don't allow in!"
+	done
+
+_SaffronCityText15::
+	text "..."
+	line "Snore..."
+
+	para "Hah! He's taking"
+	line "a snooze!"
+	done
+
+_SaffronCityText16::
+	text "SAFFRON CITY"
+	line "Shining, Golden"
+	cont "Land of Commerce"
+	done
+
+_SaffronCityText17::
+	text "FIGHTING DOJO"
+	done
+
+_SaffronCityText18::
+	text "SAFFRON CITY"
+	line "#MON GYM"
+	cont "LEADER: SABRINA"
+
+	para "The Master of"
+	line "Psychic #MON!"
+	done
+
+_SaffronCityText20::
+	text "TRAINER TIPS"
+
+	para "FULL HEAL cures"
+	line "all ailments like"
+	cont "sleep and burns."
+
+	para "It costs a bit"
+	line "more, but it's"
+	cont "more convenient."
+	done
+
+_SaffronCityText21::
+	text "TRAINER TIPS"
+
+	para "New GREAT BALL"
+	line "offers improved"
+	cont "capture rates."
+
+	para "Try it on those"
+	line "hard-to-catch"
+	cont "#MON."
+	done
+
+_SaffronCityText22::
+	text "SILPH CO."
+	line "OFFICE BUILDING"
+	done
+
+_SaffronCityText24::
+	text "MR.PSYCHIC's"
+	line "HOUSE"
+	done
+
+_SaffronCityText25::
+	text "SILPH's latest"
+	line "product!"
+
+	para "Release to be"
+	line "determined..."
+	done
--- /dev/null
+++ b/text/maps/SaffronGates.asm
@@ -1,0 +1,37 @@
+_SaffronGateText_1dfe7::
+	text "I'm on guard duty."
+	line "Gee, I'm thirsty,"
+	cont "though!"
+
+	para "Oh wait there,"
+	line "the road's closed."
+	done
+
+_SaffronGateText_8aaa9::
+	text "Whoa, boy!"
+	line "I'm parched!"
+	cont "..."
+	cont "Huh? I can have"
+	cont "this drink?"
+	cont "Gee, thanks!@@"
+
+_SaffronGateText_1dff1::
+	text ""
+
+	para "..."
+	line "Glug glug..."
+	cont "..."
+	cont "Gulp..."
+	cont "If you want to go"
+	cont "to SAFFRON CITY..."
+	cont "..."
+	cont "You can go on"
+	cont "through. I'll"
+	cont "share this with"
+	cont "the other guards!"
+	done
+
+_SaffronGateText_1dff6::
+	text "Hi, thanks for"
+	line "the cool drinks!"
+	done
--- /dev/null
+++ b/text/maps/SaffronGym.asm
@@ -1,0 +1,237 @@
+_SaffronGymText_5d162::
+	text "I had a vision of"
+	line "your arrival!"
+
+	para "I have had psychic"
+	line "powers since I"
+	cont "was a child."
+
+	para "I first learned"
+	line "to bend spoons"
+	cont "with my mind."
+
+	para "I dislike fight-"
+	line "ing, but if you"
+	cont "wish, I will show"
+	cont "you my powers!"
+	done
+
+_SaffronGymText_5d167::
+	text "I'm"
+	line "shocked!"
+	cont "But, a loss is a"
+	cont "loss."
+
+	para "I admit I didn't"
+	line "work hard enough"
+	cont "to win!"
+
+	para "You earned the"
+	line "MARSHBADGE!@@"
+
+_SaffronGymText_5d16e::
+	text "Everyone has"
+	line "psychic power!"
+	cont "People just don't"
+	cont "realize it!"
+	done
+
+_SaffronGymText_5d173::
+	text "The MARSHBADGE"
+	line "makes #MON up"
+	cont "to L70 obey you!"
+
+	para "Stronger #MON"
+	line "will become wild,"
+	cont "ignoring your"
+	cont "orders in battle!"
+
+	para "Just don't raise"
+	line "your #MON too"
+	cont "much!"
+
+	para "Wait, please take"
+	line "this TM with you!"
+	done
+
+ReceivedTM46Text::
+	text "<PLAYER> received"
+	line "TM46!@@"
+
+_TM46ExplanationText::
+	text ""
+
+	para "TM46 is PSYWAVE!"
+	line "It uses powerful"
+	cont "psychic waves to"
+	cont "inflict damage!"
+	done
+
+_TM46NoRoomText::
+	text "Your pack is full"
+	line "of other items!"
+	done
+
+_SaffronGymText_5d1e6::
+	text "Yo! Champ in"
+	line "making!"
+
+	para "SABRINA's #MON"
+	line "use psychic power"
+	cont "instead of force!"
+
+	para "Fighting #MON"
+	line "are weak against"
+	cont "psychic #MON!"
+
+	para "They get creamed"
+	line "before they can"
+	cont "even aim a punch!"
+	done
+
+_SaffronGymText_5d1eb::
+	text "Psychic power,"
+	line "huh?"
+
+	para "If I had that,"
+	line "I'd make a bundle"
+	cont "at the slots!"
+	done
+
+_SaffronGymBattleText1::
+	text "SABRINA is younger"
+	line "than I, but I"
+	cont "respect her!"
+	done
+
+_SaffronGymEndBattleText1::
+	text "Not"
+	line "good enough!"
+	prompt
+
+_SaffronGymAfterBattleText1::
+	text "In a battle of"
+	line "equals, the one"
+	cont "with the stronger"
+	cont "will wins!"
+
+	para "If you wish"
+	line "to beat SABRINA,"
+	cont "focus on winning!"
+	done
+
+_SaffronGymBattleText2::
+	text "Does our unseen"
+	line "power scare you?"
+	done
+
+_SaffronGymEndBattleText2::
+	text "I never"
+	line "foresaw this!"
+	prompt
+
+_SaffronGymAfterBattleText2::
+	text "Psychic #MON"
+	line "fear only ghosts"
+	cont "and bugs!"
+	done
+
+_SaffronGymBattleText3::
+	text "#MON take on"
+	line "the appearance of"
+	cont "their trainers."
+
+	para "Your #MON must"
+	line "be tough, then!"
+	done
+
+_SaffronGymEndBattleText3::
+	text "I knew"
+	line "it!"
+	prompt
+
+_SaffronGymAfterBattleText3::
+	text "I must teach"
+	line "better techniques"
+	cont "to my #MON!"
+	done
+
+_SaffronGymBattleText4::
+	text "You know that"
+	line "power alone isn't"
+	cont "enough!"
+	done
+
+_SaffronGymEndBattleText4::
+	text "I don't"
+	line "believe this!"
+	prompt
+
+_SaffronGymAfterBattleText4::
+	text "SABRINA just wiped"
+	line "out the KARATE"
+	cont "MASTER next door!"
+	done
+
+_SaffronGymBattleText5::
+	text "You and I, our"
+	line "#MON shall"
+	cont "fight!"
+	done
+
+_SaffronGymEndBattleText5::
+	text "I lost"
+	line "after all!"
+	prompt
+
+_SaffronGymAfterBattleText5::
+	text "I knew that this"
+	line "was going to take"
+	cont "place."
+	done
+
+_SaffronGymBattleText6::
+	text "SABRINA is young,"
+	line "but she's also"
+	cont "our LEADER!"
+
+	para "You won't reach"
+	line "her easily!"
+	done
+
+_SaffronGymEndBattleText6::
+	text "I lost"
+	line "my concentration!"
+	prompt
+
+_SaffronGymAfterBattleText6::
+	text "There used to be"
+	line "2 #MON GYMs in"
+	cont "SAFFRON."
+
+	para "The FIGHTING DOJO"
+	line "next door lost"
+	cont "its GYM status"
+	cont "when we went and"
+	cont "creamed them!"
+	done
+
+_SaffronGymBattleText7::
+	text "SAFFRON #MON"
+	line "GYM is famous for"
+	cont "its psychics!"
+
+	para "You want to see"
+	line "SABRINA!"
+	cont "I can tell!"
+	done
+
+_SaffronGymEndBattleText7::
+	text "Arrrgh!"
+	prompt
+
+_SaffronGymAfterBattleText7::
+	text "That's right! I"
+	line "used telepathy to"
+	cont "read your mind!"
+	done
--- /dev/null
+++ b/text/maps/SaffronMart.asm
@@ -1,0 +1,13 @@
+_SaffronMartText2::
+	text "MAX REPEL lasts"
+	line "longer than SUPER"
+	cont "REPEL for keeping"
+	cont "weaker #MON"
+	cont "away!"
+	done
+
+_SaffronMartText3::
+	text "REVIVE is costly,"
+	line "but it revives"
+	cont "fainted #MON!"
+	done
--- /dev/null
+++ b/text/maps/SaffronPidgeyHouse.asm
@@ -1,0 +1,26 @@
+_SaffronHouse1Text1::
+	text "Thank you for"
+	line "writing. I hope"
+	cont "to see you soon!"
+
+	para "Hey! Don't look"
+	line "at my letter!"
+	done
+
+_SaffronHouse1Text2::
+	text "PIDGEY: Kurukkoo!@@"
+
+_SaffronHouse1Text3::
+	text "The COPYCAT is"
+	line "cute! I'm getting"
+	cont "her a # DOLL!"
+	done
+
+_SaffronHouse1Text4::
+	text "I was given a PP"
+	line "UP as a gift."
+
+	para "It's used for"
+	line "increasing the PP"
+	cont "of techniques!"
+	done
--- /dev/null
+++ b/text/maps/SaffronPokecenter.asm
@@ -1,0 +1,12 @@
+_SaffronPokecenterText2::
+	text "#MON growth"
+	line "rates differ from"
+	cont "specie to specie."
+	done
+
+_SaffronPokecenterText3::
+	text "SILPH CO. is very"
+	line "famous. That's"
+	cont "why it attracted"
+	cont "TEAM ROCKET!"
+	done
--- /dev/null
+++ b/text/maps/SeafoamIslandsB4F.asm
@@ -1,0 +1,13 @@
+_ArticunoBattleText::
+	text "Gyaoo!@@"
+
+_SeafoamIslands5Text4::
+	text "Boulders might"
+	line "change the flow"
+	cont "of water!"
+	done
+
+_SeafoamIslands5Text5::
+	text "DANGER"
+	line "Fast current!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo10F.asm
@@ -1,0 +1,42 @@
+_SilphCo10Text_5a1d3::
+	text "Waaaaa!"
+	cont "I'm scared!"
+	done
+
+_SilphCo10Text_5a1d8::
+	text "Please keep quiet"
+	line "about my crying!"
+	done
+
+_SilphCo10BattleText1::
+	text "Welcome to the"
+	line "10F! So good of"
+	cont "you to join me!"
+	done
+
+_SilphCo10EndBattleText1::
+	text "I'm"
+	line "stunned!"
+	prompt
+
+_SilphCo10AfterBattleText1::
+	text "Nice try, but the"
+	line "boardroom is up"
+	cont "one more floor!"
+	done
+
+_SilphCo10BattleText2::
+	text "Enough of your"
+	line "silly games!"
+	done
+
+_SilphCo10EndBattleText2::
+	text "No"
+	line "continues left!"
+	prompt
+
+_SilphCo10AfterBattleText2::
+	text "Are you satisfied"
+	line "with beating me?"
+	cont "Then go on home!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo11F.asm
@@ -1,0 +1,134 @@
+_SilphCoPresidentText::
+	text "PRESIDENT: Thank"
+	line "you for saving"
+	cont "SILPH!"
+
+	para "I will never"
+	line "forget you saved"
+	cont "us in our moment"
+	cont "of peril!"
+
+	para "I have to thank"
+	line "you in some way!"
+
+	para "Because I am rich,"
+	line "I can give you"
+	cont "anything!"
+
+	para "Here, maybe this"
+	line "will do!"
+	prompt
+
+_ReceivedSilphCoMasterBallText::
+	text "<PLAYER> got a"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_SilphCo10Text_6231c::
+	text "PRESIDENT: You"
+	line "can't buy that"
+	cont "anywhere!"
+
+	para "It's our secret"
+	line "prototype MASTER"
+	cont "BALL!"
+
+	para "It will catch any"
+	line "#MON without"
+	cont "fail!"
+
+	para "You should be"
+	line "quiet about using"
+	cont "it, though."
+	done
+
+_SilphCoMasterBallNoRoomText::
+	text "You have no"
+	line "room for this."
+	done
+
+_SilphCo11Text2::
+	text "SECRETARY: Thank"
+	line "you for rescuing"
+	cont "all of us!"
+
+	para "We admire your"
+	line "courage."
+	done
+
+_SilphCo11Text3::
+	text "Ah <PLAYER>!"
+	line "So we meet again!"
+
+	para "The PRESIDENT and"
+	line "I are discussing"
+	cont "a vital business"
+	cont "proposition."
+
+	para "Keep your nose"
+	line "out of grown-up"
+	cont "matters..."
+
+	para "Or, experience a"
+	line "world of pain!"
+	done
+
+_SilphCo10Text_62330::
+	text "Arrgh!!"
+	line "I lost again!?"
+	prompt
+
+_SilphCo10Text_62335::
+	text "Blast it all!"
+	line "You ruined our"
+	cont "plans for SILPH!"
+
+	para "But, TEAM ROCKET"
+	line "will never fall!"
+
+	para "<PLAYER>! Never"
+	line "forget that all"
+	cont "#MON exist"
+	cont "for TEAM ROCKET!"
+
+	para "I must go, but I"
+	line "shall return!"
+	done
+
+_SilphCo11BattleText1::
+	text "Stop right there!"
+	line "Don't you move!"
+	done
+
+_SilphCo11EndBattleText1::
+	text "Don't..."
+	line "Please!"
+	prompt
+
+_SilphCo11AfterBattleText1::
+	text "So, you want to"
+	line "see my BOSS?"
+	done
+
+_SilphCo11BattleText2::
+	text "Halt! Do you have"
+	line "an appointment"
+	cont "with my BOSS?"
+	done
+
+_SilphCo11EndBattleText2::
+	text "Gaah!"
+	line "Demolished!"
+	prompt
+
+_SilphCo11AfterBattleText2::
+	text "Watch your step,"
+	line "my BOSS likes his"
+	cont "#MON tough!"
+	done
+
+_SilphCo10Text_6237b::
+	text "The monitor has"
+	line "#MON on it!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo1F.asm
@@ -1,0 +1,7 @@
+_SilphCo1Text1::
+	text "Welcome!"
+
+	para "The PRESIDENT is"
+	line "in the boardroom"
+	cont "on 11F!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo2F.asm
@@ -1,0 +1,96 @@
+_SilphCo2Text_59ded::
+	text "Eeek!"
+	line "No! Stop! Help!"
+
+	para "Oh, you're not"
+	line "with TEAM ROCKET."
+	cont "I thought..."
+	cont "I'm sorry. Here,"
+	cont "please take this!"
+	prompt
+
+_ReceivedTM36Text::
+	text "<PLAYER> got"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM36ExplanationText::
+	text "TM36 is"
+	line "SELFDESTRUCT!"
+
+	para "It's powerful, but"
+	line "the #MON that"
+	cont "uses it faints!"
+	cont "Be careful."
+	done
+
+_TM36NoRoomText::
+	text "You don't have any"
+	line "room for this."
+	done
+
+_SilphCo2BattleText1::
+	text "Help! I'm a SILPH"
+	line "employee."
+	done
+
+_SilphCo2EndBattleText1::
+	text "How"
+	line "did you know I"
+	cont "was a ROCKET?"
+	prompt
+
+_SilphCo2AfterBattleText1::
+	text "I work for both"
+	line "SILPH and TEAM"
+	cont "ROCKET!"
+	done
+
+_SilphCo2BattleText2::
+	text "It's off limits"
+	line "here! Go home!"
+	done
+
+_SilphCo2EndBattleText2::
+	text "You're"
+	line "good."
+	prompt
+
+_SilphCo2AfterBattleText2::
+	text "Can you solve the"
+	line "maze in here?"
+	done
+
+_SilphCo2BattleText3::
+	text "No kids are"
+	line "allowed in here!"
+	done
+
+_SilphCo2EndBattleText3::
+	text "Tough!"
+	prompt
+
+_SilphCo2AfterBattleText3::
+	text "Diamond shaped"
+	line "tiles are"
+	cont "teleport blocks!"
+
+	para "They're hi-tech"
+	line "transporters!"
+	done
+
+_SilphCo2BattleText4::
+	text "Hey kid! What are"
+	line "you doing here?"
+	done
+
+_SilphCo2EndBattleText4::
+	text "I goofed!"
+	prompt
+
+_SilphCo2AfterBattleText4::
+	text "SILPH CO. will"
+	line "be merged with"
+	cont "TEAM ROCKET!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo3F.asm
@@ -1,0 +1,46 @@
+_SilphCo3Text_59ff9::
+	text "I work for SILPH."
+	line "What should I do?"
+	done
+
+_SilphCo3Text_59ffe::
+	text "<PLAYER>! You and"
+	line "your #MON"
+	cont "saved us!"
+	done
+
+_SilphCo3BattleText1::
+	text "Quit messing with"
+	line "us, kid!"
+	done
+
+_SilphCo3EndBattleText1::
+	text "I give"
+	line "up!"
+	prompt
+
+_SilphCo3AfterBattleText1::
+	text "A hint? You can"
+	line "open doors with a"
+	cont "CARD KEY!"
+	done
+
+_SilphCo3BattleText2::
+	text "I support TEAM"
+	line "ROCKET more than"
+	cont "I support SILPH!"
+	done
+
+_SilphCo3EndBattleText2::
+	text "You"
+	line "really got me!"
+	prompt
+
+_SilphCo3AfterBattleText2::
+	text "Humph..."
+
+	para "TEAM ROCKET said"
+	line "that if I helped"
+	cont "them, they'd let"
+	cont "me study #MON!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo4F.asm
@@ -1,0 +1,56 @@
+_SilphCo4Text_19de0::
+	text "Sssh! Can't you"
+	line "see I'm hiding?"
+	done
+
+_SilphCo4Text_19de5::
+	text "Huh? TEAM ROCKET"
+	line "is gone?"
+	done
+
+_SilphCo4BattleText2::
+	text "TEAM ROCKET has"
+	line "taken command of"
+	cont "SILPH CO.!"
+	done
+
+_SilphCo4EndBattleText2::
+	text "Arrgh!"
+	prompt
+
+_SilphCo4AfterBattleText2::
+	text "Fwahahaha!"
+	line "My BOSS has been"
+	cont "after this place!"
+	done
+
+_SilphCo4BattleText3::
+	text "My #MON are my"
+	line "loyal soldiers!"
+	done
+
+_SilphCo4EndBattleText3::
+	text "Darn!"
+	line "You weak #MON!"
+	prompt
+
+_SilphCo4AfterBattleText3::
+	text "The doors are"
+	line "electronically"
+	cont "locked! A CARD"
+	cont "KEY opens them!"
+	done
+
+_SilphCo4BattleText4::
+	text "Intruder spotted!"
+	done
+
+_SilphCo4EndBattleText4::
+	text "Who"
+	line "are you?"
+	prompt
+
+_SilphCo4AfterBattleText4::
+	text "I better tell the"
+	line "BOSS on 11F!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo5F.asm
@@ -1,0 +1,51 @@
+_SilphCo5Text_1a010::
+	text "TEAM ROCKET is"
+	line "in an uproar over"
+	cont "some intruder."
+	cont "That's you right?"
+	done
+
+_SilphCo5Text_1a015::
+	text "TEAM ROCKET took"
+	line "off! You're our"
+	cont "hero! Thank you!"
+	done
+
+_SilphCo5BattleText2::
+	text "I heard a kid was"
+	line "wandering around."
+	done
+
+_SilphCo5EndBattleText2::
+	text "Boom!"
+	prompt
+
+_SilphCo5AfterBattleText2::
+	text "It's not smart"
+	line "to pick a fight"
+	cont "with TEAM ROCKET!"
+	done
+
+_SilphCo5BattleText3::
+	text "We study #"
+	line "BALL technology"
+	cont "on this floor!"
+	done
+
+_SilphCo5EndBattleText3::
+	text "Dang!"
+	line "Blast it!"
+	prompt
+
+_SilphCo5AfterBattleText3::
+	text "We worked on the"
+	line "ultimate #"
+	cont "BALL which would"
+	cont "catch anything!"
+	done
+
+_SilphCo5BattleText4::
+	text "Whaaat? There"
+	line "shouldn't be any"
+	cont "children here?"
+	done
--- /dev/null
+++ b/text/maps/SilphCo5F_2.asm
@@ -1,0 +1,55 @@
+_SilphCo5EndBattleText4::
+	text "Oh"
+	line "goodness!"
+	prompt
+
+_SilphCo5AfterBattleText4::
+	text "You're only on 5F."
+	line "It's a long way"
+	cont "to my BOSS!"
+	done
+
+_SilphCo5BattleText5::
+	text "Show TEAM ROCKET"
+	line "a little respect!"
+	done
+
+_SilphCo5EndBattleText5::
+	text "Cough..."
+	line "Cough..."
+	prompt
+
+_SilphCo5AfterBattleText5::
+	text "Which reminds me."
+
+	para "KOFFING evolves"
+	line "into WEEZING!"
+	done
+
+_SilphCo5Text9::
+	text "It's a #MON"
+	line "REPORT!"
+
+	para "#MON LAB"
+	line "created PORYGON,"
+	cont "the first virtual"
+	cont "reality #MON."
+	done
+
+_SilphCo5Text10::
+	text "It's a #MON"
+	line "REPORT!"
+
+	para "Over 160 #MON"
+	line "techniques have"
+	cont "been confirmed."
+	done
+
+_SilphCo5Text11::
+	text "It's a #MON"
+	line "REPORT!"
+
+	para "4 #MON evolve"
+	line "only when traded"
+	cont "by link-cable."
+	done
--- /dev/null
+++ b/text/maps/SilphCo6F.asm
@@ -1,0 +1,107 @@
+_SilphCo6Text_1a24a::
+	text "The ROCKETs came"
+	line "and took over the"
+	cont "building!"
+	done
+
+_SilphCo6Text_1a24f::
+	text "Well, better get"
+	line "back to work!"
+	done
+
+_SilphCo6Text_1a261::
+	text "Oh dear, oh dear."
+	line "Help me please!"
+	done
+
+_SilphCo6Text_1a266::
+	text "We got engaged!"
+	line "Heheh!"
+	done
+
+_SilphCo6Text_1a278::
+	text "Look at him! He's"
+	line "such a coward!"
+	done
+
+_SilphCo6Text_1a27d::
+	text "I feel so sorry"
+	line "for him, I have"
+	cont "to marry him!"
+	done
+
+_SilphCo6Text_1a28f::
+	text "TEAM ROCKET is"
+	line "trying to conquer"
+	cont "the world with"
+	cont "#MON!"
+	done
+
+_SilphCo6Text_1a294::
+	text "TEAM ROCKET ran"
+	line "because of you!"
+	done
+
+_SilphCo6Text_1a2a6::
+	text "They must have"
+	line "targeted SILPH"
+	cont "for our #MON"
+	cont "products."
+	done
+
+_SilphCo6Text_1a2ab::
+	text "Come work for"
+	line "SILPH when you"
+	cont "get older!"
+	done
+
+_SilphCo6BattleText2::
+	text "I am one of the 4"
+	line "ROCKET BROTHERS!"
+	done
+
+_SilphCo6EndBattleText2::
+	text "Flame"
+	line "out!"
+	prompt
+
+_SilphCo6AfterBattleText2::
+	text "No matter!"
+	line "My brothers will"
+	cont "avenge me!"
+	done
+
+_SilphCo6BattleText3::
+	text "That rotten"
+	line "PRESIDENT!"
+
+	para "He shouldn't have"
+	line "sent me to the"
+	cont "TIKSI BRANCH!"
+	done
+
+_SilphCo6EndBattleText3::
+	text "Shoot!"
+	prompt
+
+_SilphCo6AfterBattleText3::
+	text "TIKSI BRANCH?"
+	line "It's in Russian"
+	cont "no man's land!"
+	done
+
+_SilphCo6BattleText4::
+	text "You dare betray"
+	line "TEAM ROCKET?"
+	done
+
+_SilphCo6EndBattleText4::
+	text "You"
+	line "traitor!"
+	prompt
+
+_SilphCo6AfterBattleText4::
+	text "If you stand for"
+	line "justice, you"
+	cont "betray evil!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo7F.asm
@@ -1,0 +1,209 @@
+_MeetLaprasGuyText::
+	text "Oh! Hi! You're"
+	line "not a ROCKET! You"
+	cont "came to save us?"
+	cont "Why, thank you!"
+
+	para "I want you to"
+	line "have this #MON"
+	cont "for saving us."
+	prompt
+
+_HeresYourLaprasText::
+	text "It's LAPRAS. It's"
+	line "very intelligent."
+
+	para "We kept it in our"
+	line "lab, but it will"
+	cont "be much better"
+	cont "off with you!"
+
+	para "I think you will"
+	line "be a good trainer"
+	cont "for LAPRAS!"
+
+	para "It's a good"
+	line "swimmer. It'll"
+	cont "give you a lift!"
+	done
+
+_LaprasGuyText::
+	text "TEAM ROCKET's"
+	line "BOSS went to the"
+	cont "boardroom! Is our"
+	cont "PRESIDENT OK?"
+	done
+
+_LaprasGuySavedText::
+	text "Saved at last!"
+	line "Thank you!"
+	done
+
+_SilphCo7Text_51e00::
+	text "TEAM ROCKET was"
+	line "after the MASTER"
+	cont "BALL which will"
+	cont "catch any #MON!"
+	done
+
+_CanceledMasterBallText::
+	text "We canceled the"
+	line "MASTER BALL"
+	cont "project because"
+	cont "of TEAM ROCKET."
+	done
+
+_SilphCo7Text_51e23::
+	text "It would be bad"
+	line "if TEAM ROCKET"
+	cont "took over SILPH"
+	cont "or our #MON!"
+	done
+
+_SilphCo7Text_51e28::
+	text "Wow! You chased"
+	line "off TEAM ROCKET"
+	cont "all by yourself?"
+	done
+
+_SilphCo7Text_51e46::
+	text "You! It's really"
+	line "dangerous here!"
+	cont "You came to save"
+	cont "me? You can't!"
+	done
+
+_SilphCo7Text_51e4b::
+	text "Safe at last!"
+	line "Oh thank you!"
+	done
+
+_SilphCo7BattleText1::
+	text "Oh ho! I smell a"
+	line "little rat!"
+	done
+
+_SilphCo7EndBattleText1::
+	text "Lights"
+	line "out!"
+	prompt
+
+_SilphCo7AfterBattleText1::
+	text "You won't find my"
+	line "BOSS by just"
+	cont "scurrying around!"
+	done
+
+_SilphCo7BattleText2::
+	text "Heheh!"
+
+	para "You mistook me for"
+	line "a SILPH worker?"
+	done
+
+_SilphCo7EndBattleText2::
+	text "I'm"
+	line "done!"
+	prompt
+
+_SilphCo7AfterBattleText2::
+	text "Despite your age,"
+	line "you are a skilled"
+	cont "trainer!"
+	done
+
+_SilphCo7BattleText3::
+	text "I am one of the 4"
+	line "ROCKET BROTHERS!"
+	done
+
+_SilphCo7EndBattleText3::
+	text "Aack!"
+	line "Brothers, I lost!"
+	prompt
+
+_SilphCo7AfterBattleText3::
+	text "Doesn't matter."
+	line "My brothers will"
+	cont "repay the favor!"
+	done
+
+_SilphCo7BattleText4::
+	text "A child intruder?"
+	line "That must be you!"
+	done
+
+_SilphCo7EndBattleText4::
+	text "Fine!"
+	line "I lost!"
+	prompt
+
+_SilphCo7AfterBattleText4::
+	text "Go on home"
+	line "before my BOSS"
+	cont "gets ticked off!"
+	done
+
+_SilphCo7Text_51ebe::
+	text "<RIVAL>: What"
+	line "kept you <PLAYER>?"
+	done
+
+_SilphCo7Text_51ec3::
+	text "<RIVAL>: Hahaha!"
+	line "I thought you'd"
+	cont "turn up if I"
+	cont "waited here!"
+
+	para "I guess TEAM"
+	line "ROCKET slowed you"
+	cont "down! Not that I"
+	cont "care!"
+
+	para "I saw you in"
+	line "SAFFRON, so I"
+	cont "decided to see if"
+	cont "you got better!"
+	done
+
+_SilphCo7Text_51ec8::
+	text "Oh ho!"
+	line "So, you are ready"
+	cont "for BOSS ROCKET!"
+	prompt
+
+_SilphCo7Text_51ecd::
+	text "<RIVAL>: How can"
+	line "I put this?"
+
+	para "You're not good"
+	line "enough to play"
+	cont "with us big boys!"
+	prompt
+
+_SilphCo7Text_51ed2::
+	text "Well, <PLAYER>!"
+
+	para "I'm moving on up"
+	line "and ahead!"
+
+	para "By checking my"
+	line "#DEX, I'm"
+	cont "starting to see"
+	cont "what's strong and"
+	cont "how they evolve!"
+
+	para "I'm going to the"
+	line "#MON LEAGUE"
+	cont "to boot out the"
+	cont "ELITE FOUR!"
+
+	para "I'll become the"
+	line "world's most"
+	cont "powerful trainer!"
+
+	para "<PLAYER>, well"
+	line "good luck to you!"
+	cont "Don't sweat it!"
+	cont "Smell ya!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo8F.asm
@@ -1,0 +1,56 @@
+_SilphCo8Text_565be::
+	text "I wonder if SILPH"
+	line "is finished..."
+	done
+
+_SilphCo8Text_565c3::
+	text "Thanks for saving"
+	line "us!"
+	done
+
+_SilphCo8BattleText1::
+	text "That's as far as"
+	line "you'll go!"
+	done
+
+_SilphCo8EndBattleText1::
+	text "Not"
+	line "enough grit!"
+	prompt
+
+_SilphCo8AfterBattleText1::
+	text "If you don't turn"
+	line "back, I'll call"
+	cont "for backup!"
+	done
+
+_SilphCo8BattleText2::
+	text "You're causing us"
+	line "problems!"
+	done
+
+_SilphCo8EndBattleText2::
+	text "Huh?"
+	line "I lost?"
+	prompt
+
+_SilphCo8AfterBattleText2::
+	text "So, what do you"
+	line "think of SILPH"
+	cont "BUILDING's maze?"
+	done
+
+_SilphCo8BattleText3::
+	text "I am one of the 4"
+	line "ROCKET BROTHERS!"
+	done
+
+_SilphCo8EndBattleText3::
+	text "Whoo!"
+	line "Oh brothers!"
+	prompt
+
+_SilphCo8AfterBattleText3::
+	text "I'll leave you up"
+	line "to my brothers!"
+	done
--- /dev/null
+++ b/text/maps/SilphCo9F.asm
@@ -1,0 +1,62 @@
+_SilphCo9Text_5d8e5::
+	text "You look tired!"
+	line "You should take a"
+	cont "quick nap!"
+	prompt
+
+_SilphCo9Text_5d8ea::
+	text "Don't give up!"
+	done
+
+_SilphCo9Text_5d8ef::
+	text "Thank you so"
+	line "much!"
+	done
+
+_SilphCo9BattleText1::
+	text "Your #MON seem"
+	line "to adore you, kid!"
+	done
+
+_SilphCo9EndBattleText1::
+	text "Ghaaah!"
+	prompt
+
+_SilphCo9AfterBattleText1::
+	text "If I had started"
+	line "as a trainer at"
+	cont "your age..."
+	done
+
+_SilphCo9BattleText2::
+	text "Your #MON have"
+	line "weak points! I"
+	cont "can nail them!"
+	done
+
+_SilphCo9EndBattleText2::
+	text "You"
+	line "hammered me!"
+	prompt
+
+_SilphCo9AfterBattleText2::
+	text "Exploiting weak"
+	line "spots does work!"
+	cont "Think about"
+	cont "element types!"
+	done
+
+_SilphCo9BattleText3::
+	text "I am one of the 4"
+	line "ROCKET BROTHERS!"
+	done
+
+_SilphCo9EndBattleText3::
+	text "Warg!"
+	line "Brothers, I lost!"
+	prompt
+
+_SilphCo9AfterBattleText3::
+	text "My brothers will"
+	line "avenge me!"
+	done
--- /dev/null
+++ b/text/maps/UndergroundPathRoute6.asm
@@ -1,0 +1,5 @@
+_UndergrdTunnelEntRoute6Text1::
+	text "People often lose"
+	line "things in that"
+	cont "UNDERGROUND PATH."
+	done
--- /dev/null
+++ b/text/maps/UndergroundPathRoute7.asm
@@ -1,0 +1,5 @@
+_UndergroundPathEntRoute7Text1::
+	text "I heard a sleepy"
+	line "#MON appeared"
+	cont "near CELADON CITY."
+	done
--- /dev/null
+++ b/text/maps/UndergroundPathRoute7Copy.asm
@@ -1,0 +1,35 @@
+_UGPathRoute7EntranceUnusedText_5d773::
+	text "I want to shop at"
+	line "the dept. store"
+	cont "in CELADON but..."
+
+	para "There are so many"
+	line "rough looking"
+	cont "people there."
+	done
+
+_UGPathRoute7EntranceUnusedText_5d778::
+	text "TEAM ROCKET had a"
+	line "secret hideout in"
+	cont "CELADON CITY?"
+	done
+
+_UGPathRoute7EntranceUnusedText_5d77d::
+	text "You're here to"
+	line "shop in CELADON?"
+
+	para "Just step outside"
+	line "and head west!"
+	done
+
+_UGPathRoute7EntranceUnusedText_5d782::
+	text "The UNDERGROUND"
+	line "PATH goes beneath"
+	cont "SAFFRON and leads"
+	cont "to LAVENDER."
+
+	para "If you're heading"
+	line "to CERULEAN, go"
+	cont "to the building"
+	cont "across the road."
+	done
--- /dev/null
+++ b/text/maps/UndergroundPathRoute8.asm
@@ -1,0 +1,5 @@
+_UndergroundPathEntRoute8Text1::
+	text "The dept. store"
+	line "in CELADON has a"
+	cont "great selection!"
+	done
--- /dev/null
+++ b/text/maps/VermilionCity.asm
@@ -1,0 +1,126 @@
+_VermilionCityText1::
+	text "We're careful"
+	line "about pollution!"
+
+	para "We've heard GRIMER"
+	line "multiplies in"
+	cont "toxic sludge!"
+	done
+
+_VermilionCityText_198a7::
+	text "Did you see S.S."
+	line "ANNE moored in"
+	cont "the harbor?"
+	done
+
+_VermilionCityText_198ac::
+	text "So, S.S.ANNE has"
+	line "departed!"
+
+	para "She'll be back in"
+	line "about a year."
+	done
+
+_SSAnneWelcomeText4::
+	text "Welcome to S.S."
+	line "ANNE!"
+	done
+
+_SSAnneWelcomeText9::
+	text "Welcome to S.S."
+	line "ANNE!"
+
+	para "Excuse me, do you"
+	line "have a ticket?"
+	prompt
+
+_SSAnneFlashedTicketText::
+	text "<PLAYER> flashed"
+	line "the S.S.TICKET!"
+
+	para "Great! Welcome to"
+	line "S.S.ANNE!"
+	done
+
+_SSAnneNoTicketText::
+	text "<PLAYER> doesn't"
+	line "have the needed"
+	cont "S.S.TICKET."
+
+	para "Sorry!"
+
+	para "You need a ticket"
+	line "to get aboard."
+	done
+
+_SSAnneNotHereText::
+	text "The ship set sail."
+	done
+
+_VermilionCityText4::
+	text "I'm putting up a"
+	line "building on this"
+	cont "plot of land."
+
+	para "My #MON is"
+	line "tamping the land."
+	done
+
+_VermilionCityText5::
+	text "MACHOP: Guoh!"
+	line "Gogogoh!@@"
+
+_VermilionCityText14::
+	text ""
+	para "A MACHOP is"
+	line "stomping the land"
+	cont "flat."
+	done
+
+_VermilionCityText6::
+	text "S.S.ANNE is a"
+	line "famous luxury"
+	cont "cruise ship."
+
+	para "We visit VERMILION"
+	line "once a year."
+	done
+
+_VermilionCityText7::
+	text "VERMILION CITY"
+	line "The Port of"
+	cont "Exquisite Sunsets"
+	done
+
+_VermilionCityText8::
+	text "NOTICE!"
+
+	para "ROUTE 12 may be"
+	line "blocked off by a"
+	cont "sleeping #MON."
+
+	para "Detour through"
+	line "ROCK TUNNEL to"
+	cont "LAVENDER TOWN."
+
+	para "VERMILION POLICE"
+	done
+
+_VermilionCityText11::
+	text "#MON FAN CLUB"
+	line "All #MON fans"
+	cont "welcome!"
+	done
+
+_VermilionCityText12::
+	text "VERMILION CITY"
+	line "#MON GYM"
+	cont "LEADER: LT.SURGE"
+
+	para "The Lightning "
+	line "American!"
+	done
+
+_VermilionCityText13::
+	text "VERMILION HARBOR"
+	done
--- /dev/null
+++ b/text/maps/VermilionDock.asm
@@ -1,0 +1,3 @@
+_VermilionDockText1::
+	text ""
+	done
--- /dev/null
+++ b/text/maps/VermilionGym.asm
@@ -1,0 +1,21 @@
+_VermilionGymText_5cb6d::
+	text "Hey, kid! What do"
+	line "you think you're"
+	cont "doing here?"
+
+	para "You won't live"
+	line "long in combat!"
+	cont "That's for sure!"
+
+	para "I tell you kid,"
+	line "electric #MON"
+	cont "saved me during"
+	cont "the war!"
+
+	para "They zapped my"
+	line "enemies into"
+	cont "paralysis!"
+
+	para "The same as I'll"
+	line "do to you!"
+	done
--- /dev/null
+++ b/text/maps/VermilionGym_2.asm
@@ -1,0 +1,144 @@
+_VermilionGymText_5cb72::
+	text "A little word of"
+	line "advice, kid!"
+
+	para "Electricity is"
+	line "sure powerful!"
+
+	para "But, it's useless"
+	line "against ground-"
+	cont "type #MON!"
+	done
+
+_VermilionGymText_5cb77::
+	text "The THUNDERBADGE"
+	line "cranks up your"
+	cont "#MON's SPEED!"
+
+	para "It also lets your"
+	line "#MON FLY any"
+	cont "time, kid!"
+
+	para "You're special,"
+	line "kid! Take this!"
+	done
+
+_ReceivedTM24Text::
+	text "<PLAYER> received "
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_TM24ExplanationText::
+	text ""
+
+	para "TM24 contains"
+	line "THUNDERBOLT!"
+
+	para "Teach it to an"
+	line "electric #MON!"
+	done
+
+_TM24NoRoomText::
+	text "Yo kid, make room"
+	line "in your pack!"
+	done
+
+_ReceivedThunderbadgeText::
+	text "Whoa!"
+
+	para "You're the real"
+	line "deal, kid!"
+
+	para "Fine then, take"
+	line "the THUNDERBADGE!"
+	prompt
+
+_VermilionGymBattleText1::
+	text "When I was in the"
+	line "Army, LT.SURGE"
+	cont "was my strict CO!"
+	done
+
+_VermilionGymEndBattleText1::
+	text "Stop!"
+	line "You're very good!"
+	prompt
+
+_VermilionGymAfterBattleText1::
+	text "The door won't"
+	line "open?"
+
+	para "LT.SURGE always"
+	line "was cautious!"
+	done
+
+_VermilionGymBattleText2::
+	text "I'm a lightweight,"
+	line "but I'm good with"
+	cont "electricity!"
+	done
+
+_VermilionGymEndBattleText2::
+	text "Fried!"
+	prompt
+
+_VermilionGymAfterBattleText2::
+	text "OK, I'll talk!"
+
+	para "LT.SURGE said he"
+	line "hid door switches"
+	cont "inside something!"
+	done
+
+_VermilionGymBattleText3::
+	text "This is no place"
+	line "for kids!"
+	done
+
+_VermilionGymEndBattleText3::
+	text "Wow!"
+	line "Surprised me!"
+	prompt
+
+_VermilionGymAfterBattleText3::
+	text "LT.SURGE set up"
+	line "double locks!"
+	cont "Here's a hint!"
+
+	para "When you open the"
+	line "1st lock, the 2nd"
+	cont "lock is right"
+	cont "next to it!"
+	done
+
+_VermilionGymText_5cbf4::
+	text "Yo! Champ in"
+	line "making!"
+
+	para "LT.SURGE has a"
+	line "nickname. People"
+	cont "refer to him as"
+	cont "the Lightning"
+	cont "American!"
+
+	para "He's an expert on"
+	line "electric #MON!"
+
+	para "Birds and water"
+	line "#MON are at"
+	cont "risk! Beware of"
+	cont "paralysis too!"
+
+	para "LT.SURGE is very"
+	line "cautious!"
+
+	para "You'll have to"
+	line "break a code to"
+	cont "get to him!"
+	done
+
+_VermilionGymText_5cbf9::
+	text "Whew! That match"
+	line "was electric!"
+	done
--- /dev/null
+++ b/text/maps/VermilionMart.asm
@@ -1,0 +1,23 @@
+_VermilionMartText2::
+	text "There are evil"
+	line "people who will"
+	cont "use #MON for"
+	cont "criminal acts."
+
+	para "TEAM ROCKET"
+	line "traffics in rare"
+	cont "#MON."
+
+	para "They also abandon"
+	line "#MON that they"
+	cont "consider not to"
+	cont "be popular or"
+	cont "useful."
+	done
+
+_VermilionMartText3::
+	text "I think #MON"
+	line "can be good or"
+	cont "evil. It depends"
+	cont "on the trainer."
+	done
--- /dev/null
+++ b/text/maps/VermilionOldRodHouse.asm
@@ -1,0 +1,54 @@
+_VermilionHouse2Text_560b1::
+	text "I'm the FISHING"
+	line "GURU!"
+
+	para "I simply Looove"
+	line "fishing!"
+
+	para "Do you like to"
+	line "fish?"
+	done
+
+_VermilionHouse2Text_560b6::
+	text "Grand! I like"
+	line "your style!"
+
+	para "Take this and"
+	line "fish, young one!"
+
+	para "<PLAYER> received"
+	line "an @"
+	TX_RAM wcf4b
+	text "!@@"
+
+_VermilionHouse2Text_560bb::
+	text ""
+
+	para "Fishing is a way"
+	line "of life!"
+
+	para "From the seas to"
+	line "rivers, go out"
+	cont "and land the big"
+	cont "one, young one!"
+	done
+
+_VermilionHouse2Text_560c0::
+	text "Oh... That's so"
+	line "disappointing..."
+	done
+
+_VermilionHouse2Text_560c5::
+	text "Hello there,"
+	line "<PLAYER>!"
+
+	para "How are the fish"
+	line "biting?"
+	done
+
+_VermilionHouse2Text_560ca::
+	text "Oh no!"
+
+	para "You have no room"
+	line "for my gift!"
+	done
--- /dev/null
+++ b/text/maps/VermilionPidgeyHouse.asm
@@ -1,0 +1,21 @@
+_VermilionHouse1Text1::
+	text "I'm getting my"
+	line "PIDGEY to fly a"
+	cont "letter to SAFFRON"
+	cont "in the north!"
+	done
+
+_VermilionHouse1Text2::
+	text "PIDGEY: Kurukkoo!@@"
+
+_VermilionHouse1Text3::
+	text "Dear PIPPI, I hope"
+	line "to see you soon."
+
+	para "I heard SAFFRON"
+	line "has problems with"
+	cont "TEAM ROCKET."
+
+	para "VERMILION appears"
+	line "to be safe."
+	done
--- /dev/null
+++ b/text/maps/VermilionPokecenter.asm
@@ -1,0 +1,19 @@
+_VermilionPokecenterText2::
+	text "Even if they are"
+	line "the same level,"
+	cont "#MON can have"
+	cont "very different"
+	cont "abilities."
+
+	para "A #MON raised"
+	line "by a trainer is"
+	cont "stronger than one"
+	cont "in the wild."
+	done
+
+_VermilionPokecenterText3::
+	text "My #MON was"
+	line "poisoned! It"
+	cont "fainted while we"
+	cont "were walking!"
+	done
--- /dev/null
+++ b/text/maps/VictoryRoad1F.asm
@@ -1,0 +1,31 @@
+_VictoryRoad1BattleText1::
+	text "I wonder if you"
+	line "are good enough"
+	cont "for me!"
+	done
+
+_VictoryRoad1EndBattleText1::
+	text "I"
+	line "lost out!"
+	prompt
+
+_VictoryRoad1AfterBattleText1::
+	text "I never wanted to"
+	line "lose to anybody!"
+	done
+
+_VictoryRoad1BattleText2::
+	text "I can see you're"
+	line "good! Let me see"
+	cont "exactly how good!"
+	done
+
+_VictoryRoad1EndBattleText2::
+	text "I"
+	line "had a chance..."
+	prompt
+
+_VictoryRoad1AfterBattleText2::
+	text "I concede, you're"
+	line "better than me!"
+	done
--- /dev/null
+++ b/text/maps/VictoryRoad2F.asm
@@ -1,0 +1,85 @@
+_MoltresBattleText::
+	text "Gyaoo!@@"
+
+_VictoryRoad2BattleText1::
+	text "VICTORY ROAD is"
+	line "the final test"
+	cont "for trainers!"
+	done
+
+_VictoryRoad2EndBattleText1::
+	text "Aiyah!"
+	prompt
+
+_VictoryRoad2AfterBattleText1::
+	text "If you get stuck,"
+	line "try moving some"
+	cont "boulders around!"
+	done
+
+_VictoryRoad2BattleText2::
+	text "Ah, so you wish"
+	line "to challenge the"
+	cont "ELITE FOUR?"
+	done
+
+_VictoryRoad2EndBattleText2::
+	text "You"
+	line "got me!"
+	prompt
+
+_VictoryRoad2AfterBattleText2::
+	text "<RIVAL> also came"
+	line "through here!"
+	done
+
+_VictoryRoad2BattleText3::
+	text "Come on!"
+	line "I'll whip you!"
+	done
+
+_VictoryRoad2EndBattleText3::
+	text "I got"
+	line "whipped!"
+	prompt
+
+_VictoryRoad2AfterBattleText3::
+	text "You earned the"
+	line "right to be on"
+	cont "VICTORY ROAD!"
+	done
+
+_VictoryRoad2BattleText4::
+	text "If you can get"
+	line "through here, you"
+	cont "can go meet the"
+	cont "ELITE FOUR!"
+	done
+
+_VictoryRoad2EndBattleText4::
+	text "No!"
+	line "Unbelievable!"
+	prompt
+
+_VictoryRoad2AfterBattleText4::
+	text "I can beat you"
+	line "when it comes to"
+	cont "knowledge about"
+	cont "#MON!"
+	done
+
+_VictoryRoad2BattleText5::
+	text "Is VICTORY ROAD"
+	line "too tough?"
+	done
+
+_VictoryRoad2EndBattleText5::
+	text "Well"
+	line "done!"
+	prompt
+
+_VictoryRoad2AfterBattleText5::
+	text "Many trainers give"
+	line "up the challenge"
+	cont "here."
+	done
--- /dev/null
+++ b/text/maps/VictoryRoad3F.asm
@@ -1,0 +1,63 @@
+_VictoryRoad3BattleText2::
+	text "I heard rumors of"
+	line "a child prodigy!"
+	done
+
+_VictoryRoad3EndBattleText2::
+	text "The"
+	line "rumors were true!"
+	prompt
+
+_VictoryRoad3AfterBattleText2::
+	text "You beat GIOVANNI"
+	line "of TEAM ROCKET?"
+	done
+
+_VictoryRoad3BattleText3::
+	text "I'll show you just"
+	line "how good you are!"
+	done
+
+_VictoryRoad3EndBattleText3::
+	text "I'm"
+	line "furious!"
+	prompt
+
+_VictoryRoad3AfterBattleText3::
+	text "You showed me just"
+	line "how good I was!"
+	done
+
+_VictoryRoad3BattleText4::
+	text "Only the chosen"
+	line "can pass here!"
+	done
+
+_VictoryRoad3EndBattleText4::
+	text "I"
+	line "don't believe it!"
+	prompt
+
+_VictoryRoad3AfterBattleText4::
+	text "All trainers here"
+	line "are headed to the"
+	cont "#MON LEAGUE!"
+	cont "Be careful!"
+	done
+
+_VictoryRoad3BattleText5::
+	text "Trainers live to"
+	line "seek stronger"
+	cont "opponents!"
+	done
+
+_VictoryRoad3EndBattleText5::
+	text "Oh!"
+	line "So strong!"
+	prompt
+
+_VictoryRoad3AfterBattleText5::
+	text "By fighting tough"
+	line "battles, you get"
+	cont "stronger!"
+	done
--- /dev/null
+++ b/text/maps/ViridianCity.asm
@@ -1,0 +1,180 @@
+_ViridianCityText1::
+	text "Those # BALLs"
+	line "at your waist!"
+	cont "You have #MON!"
+
+	para "It's great that"
+	line "you can carry and"
+	cont "use #MON any"
+	cont "time, anywhere!"
+	done
+
+_ViridianCityText_19122::
+	text "This #MON GYM"
+	line "is always closed."
+
+	para "I wonder who the"
+	line "LEADER is?"
+	done
+
+_ViridianCityText_19127::
+	text "VIRIDIAN GYM's"
+	line "LEADER returned!"
+	done
+
+_ViridianCityText_1914d::
+	text "You want to know"
+	line "about the 2 kinds"
+	cont "of caterpillar"
+	cont "#MON?"
+	done
+
+_ViridianCityText_19152::
+	text "Oh, OK then!"
+	done
+
+_ViridianCityText_19157::
+	text "CATERPIE has no"
+	line "poison, but"
+	cont "WEEDLE does."
+
+	para "Watch out for its"
+	line "POISON STING!"
+	done
+
+_ViridianCityText_19175::
+	text "Oh Grandpa! Don't"
+	line "be so mean!"
+	cont "He hasn't had his"
+	cont "coffee yet."
+	done
+
+_ViridianCityText_1917a::
+	text "When I go shop in"
+	line "PEWTER CITY, I"
+	cont "have to take the"
+	cont "winding trail in"
+	cont "VIRIDIAN FOREST."
+	done
+
+_ViridianCityText_19191::
+	text "You can't go"
+	line "through here!"
+
+	para "This is private"
+	line "property!"
+	done
+
+_ViridianCityText_191ca::
+	text "Yawn!"
+	line "I must have dozed"
+	cont "off in the sun."
+
+	para "I had this dream"
+	line "about a DROWZEE"
+	cont "eating my dream."
+	cont "What's this?"
+	cont "Where did this TM"
+	cont "come from?"
+
+	para "This is spooky!"
+	line "Here, you can"
+	cont "have this TM."
+	prompt
+
+_ReceivedTM42Text::
+	text "<PLAYER> received"
+	line "TM42!@@"
+
+_TM42Explanation::
+	text "TM42 contains"
+	line "DREAM EATER..."
+	cont "...Snore..."
+	done
+
+_TM42NoRoomText::
+	text "You have too much"
+	line "stuff already."
+	done
+
+_ViridianCityText_1920a::
+	text "Ahh, I've had my"
+	line "coffee now and I"
+	cont "feel great!"
+
+	para "Sure you can go"
+	line "through!"
+
+	para "Are you in a"
+	line "hurry?"
+	done
+
+_ViridianCityText_1920f::
+	text "I see you're using"
+	line "a #DEX."
+
+	para "When you catch a"
+	line "#MON, #DEX"
+	cont "is automatically"
+	cont "updated."
+
+	para "What? Don't you"
+	line "know how to catch"
+	cont "#MON?"
+
+	para "I'll show you"
+	line "how to then."
+	done
+
+_ViridianCityText_19214::
+	text "Time is money..."
+	line "Go along then."
+	done
+
+_ViridianCityText_19219::
+	text "First, you need"
+	line "to weaken the"
+	cont "target #MON."
+	done
+
+_ViridianCityText8::
+	text "VIRIDIAN CITY "
+	line "The Eternally"
+	cont "Green Paradise"
+	done
+
+_ViridianCityText9::
+	text "TRAINER TIPS"
+
+	para "Catch #MON"
+	line "and expand your"
+	cont "collection!"
+
+	para "The more you have,"
+	line "the easier it is"
+	cont "to fight!"
+	done
+
+_ViridianCityText10::
+	text "TRAINER TIPS"
+
+	para "The battle moves"
+	line "of #MON are"
+	cont "limited by their"
+	cont "POWER POINTs, PP."
+
+	para "To replenish PP,"
+	line "rest your tired"
+	cont "#MON at a"
+	cont "#MON CENTER!"
+	done
+
+_ViridianCityText13::
+	text "VIRIDIAN CITY"
+	line "#MON GYM"
+	done
+
+_ViridianCityText14::
+	text "The GYM's doors"
+	line "are locked..."
+	done
--- /dev/null
+++ b/text/maps/ViridianForest.asm
@@ -1,0 +1,123 @@
+_ViridianForestText1::
+	text "I came here with"
+	line "some friends!"
+
+	para "They're out for"
+	line "#MON fights!"
+	done
+
+_ViridianForestBattleText1::
+	text "Hey! You have"
+	line "#MON! Come on!"
+	cont "Let's battle'em!"
+	done
+
+_ViridianForestEndBattleText1::
+	text "No!"
+	line "CATERPIE can't"
+	cont "cut it!"
+	prompt
+
+_ViridianFrstAfterBattleText1::
+	text "Ssh! You'll scare"
+	line "the bugs away!"
+	done
+
+_ViridianForestBattleText2::
+	text "Yo! You can't jam"
+	line "out if you're a"
+	cont "#MON trainer!"
+	done
+
+_ViridianForestEndBattleText2::
+	text "Huh?"
+	line "I ran out of"
+	cont "#MON!"
+	prompt
+
+_ViridianFrstAfterBattleText2::
+	text "Darn! I'm going"
+	line "to catch some"
+	cont "stronger ones!"
+	done
+
+_ViridianForestBattleText3::
+	text "Hey, wait up!"
+	line "What's the hurry?"
+	done
+
+_ViridianForestEndBattleText3::
+	text "I"
+	line "give! You're good"
+	cont "at this!"
+	prompt
+
+_ViridianFrstAfterBattleText3::
+	text "Sometimes, you"
+	line "can find stuff on"
+	cont "the ground!"
+
+	para "I'm looking for"
+	line "the stuff I"
+	cont "dropped!"
+	done
+
+_ViridianForestText8::
+	text "I ran out of #"
+	line "BALLs to catch"
+	cont "#MON with!"
+
+	para "You should carry"
+	line "extras!"
+	done
+
+_ViridianForestText9::
+	text "TRAINER TIPS"
+
+	para "If you want to"
+	line "avoid battles,"
+	cont "stay away from"
+	cont "grassy areas!"
+	done
+
+_ViridianForestText10::
+	text "For poison, use"
+	line "ANTIDOTE! Get it"
+	cont "at #MON MARTs!"
+	done
+
+_ViridianForestText11::
+	text "TRAINER TIPS"
+
+	para "Contact PROF.OAK"
+	line "via PC to get"
+	cont "your #DEX"
+	cont "evaluated!"
+	done
+
+_ViridianForestText12::
+	text "TRAINER TIPS"
+
+	para "No stealing of"
+	line "#MON from"
+	cont "other trainers!"
+	cont "Catch only wild"
+	cont "#MON!"
+	done
+
+_ViridianForestText13::
+	text "TRAINER TIPS"
+
+	para "Weaken #MON"
+	line "before attempting"
+	cont "capture!"
+
+	para "When healthy,"
+	line "they may escape!"
+	done
+
+_ViridianForestText14::
+	text "LEAVING"
+	line "VIRIDIAN FOREST"
+	cont "PEWTER CITY AHEAD"
+	done
--- /dev/null
+++ b/text/maps/ViridianForestNorthGate.asm
@@ -1,0 +1,19 @@
+_ViridianForestExitText1::
+	text "Many #MON live"
+	line "only in forests "
+	cont "and caves."
+
+	para "You need to look"
+	line "everywhere to get"
+	cont "different kinds!"
+	done
+
+_ViridianForestExitText2::
+	text "Have you noticed"
+	line "the bushes on the"
+	cont "roadside?"
+
+	para "They can be cut"
+	line "down by a special"
+	cont "#MON move."
+	done
--- /dev/null
+++ b/text/maps/ViridianForestSouthGate.asm
@@ -1,0 +1,13 @@
+_ViridianForestEntranceText1::
+	text "Are you going to"
+	line "VIRIDIAN FOREST?"
+	cont "Be careful, it's"
+	cont "a natural maze!"
+	done
+
+_ViridianForestEntranceText2::
+	text "RATTATA may be"
+	line "small, but its"
+	cont "bite is wicked!"
+	cont "Did you get one?"
+	done
--- /dev/null
+++ b/text/maps/ViridianGym.asm
@@ -1,0 +1,237 @@
+_ViridianGymText_74ace::
+	text "Fwahahaha! This is"
+	line "my hideout!"
+
+	para "I planned to"
+	line "resurrect TEAM"
+	cont "ROCKET here!"
+
+	para "But, you have"
+	line "caught me again!"
+	cont "So be it! This"
+	cont "time, I'm not"
+	cont "holding back!"
+
+	para "Once more, you"
+	line "shall face"
+	cont "GIOVANNI, the"
+	cont "greatest trainer!"
+	done
+
+_ViridianGymText_74ad3::
+	text "Ha!"
+	line "That was a truly"
+	cont "intense fight!"
+	cont "You have won!"
+	cont "As proof, here is"
+	cont "the EARTHBADGE!@@"
+
+_ViridianGymText_74ad9::
+	text "Having lost, I"
+	line "cannot face my"
+	cont "underlings!"
+	cont "TEAM ROCKET is"
+	cont "finished forever!"
+
+	para "I will dedicate my"
+	line "life to the study"
+	cont "of #MON!"
+
+	para "Let us meet again"
+	line "some day!"
+	cont "Farewell!@@"
+
+_ViridianGymText12::
+	text "The EARTHBADGE"
+	line "makes #MON of"
+	cont "any level obey!"
+
+	para "It is evidence of"
+	line "your mastery as a"
+	cont "#MON trainer!"
+
+	para "With it, you can"
+	line "enter the #MON"
+	cont "LEAGUE!"
+
+	para "It is my gift for"
+	line "your #MON"
+	cont "LEAGUE challenge!"
+	done
+
+_ReceivedTM27Text::
+	text "<PLAYER> received"
+	line "TM27!@@"
+
+_TM27ExplanationText::
+	text ""
+
+	para "TM27 is FISSURE!"
+	line "It will take out"
+	cont "#MON with just"
+	cont "one hit!"
+
+	para "I made it when I"
+	line "ran the GYM here,"
+	cont "too long ago..."
+	done
+
+_TM27NoRoomText::
+	text "You do not have"
+	line "space for this!"
+	done
+
+_ViridianGymBattleText1::
+	text "Heh! You must be"
+	line "running out of"
+	cont "steam by now!"
+	done
+
+_ViridianGymEndBattleText1::
+	text "I"
+	line "ran out of gas!"
+	prompt
+
+_ViridianGymAfterBattleText1::
+	text "You need power to"
+	line "keep up with our"
+	cont "GYM LEADER!"
+	done
+
+_ViridianGymBattleText2::
+	text "Rrrroar! I'm"
+	line "working myself"
+	cont "into a rage!"
+	done
+
+_ViridianGymEndBattleText2::
+	text "Wargh!"
+	prompt
+
+_ViridianGymAfterBattleText2::
+	text "I'm still not"
+	line "worthy!"
+	done
+
+_ViridianGymBattleText3::
+	text "#MON and I, we"
+	line "make wonderful"
+	cont "music together!"
+	done
+
+_ViridianGymEndBattleText3::
+	text "You are in"
+	line "perfect harmony!"
+	prompt
+
+_ViridianGymAfterBattleText3::
+	text "Do you know the"
+	line "identity of our"
+	cont "GYM LEADER?"
+	done
+
+_ViridianGymBattleText4::
+	text "Karate is the"
+	line "ultimate form of"
+	cont "martial arts!"
+	done
+
+_ViridianGymEndBattleText4::
+	text "Atcho!"
+	prompt
+
+_ViridianGymAfterBattleText4::
+	text "If my #MON"
+	line "were as good at"
+	cont "Karate as I..."
+	done
+
+_ViridianGymBattleText5::
+	text "The truly talented"
+	line "win with style!"
+	done
+
+_ViridianGymEndBattleText5::
+	text "I"
+	line "lost my grip!"
+	prompt
+
+_ViridianGymAfterBattleText5::
+	text "The LEADER will"
+	line "scold me!"
+	done
+
+_ViridianGymBattleText6::
+	text "I'm the KARATE"
+	line "KING! Your fate"
+	cont "rests with me!"
+	done
+
+_ViridianGymEndBattleText6::
+	text "Ayah!"
+	prompt
+
+_ViridianGymAfterBattleText6::
+	text "#MON LEAGUE?"
+	line "You? Don't get"
+	cont "cocky!"
+	done
+
+_ViridianGymBattleText7::
+	text "Your #MON will"
+	line "cower at the"
+	cont "crack of my whip!"
+	done
+
+_ViridianGymEndBattleText7::
+	text "Yowch!"
+	line "Whiplash!"
+	prompt
+
+_ViridianGymAfterBattleText7::
+	text "Wait! I was just"
+	line "careless!"
+	done
+
+_ViridianGymBattleText8::
+	text "VIRIDIAN GYM was"
+	line "closed for a long"
+	cont "time, but now our"
+	cont "LEADER is back!"
+	done
+
+_ViridianGymEndBattleText8::
+	text "I"
+	line "was beaten?"
+	prompt
+
+_ViridianGymAfterBattleText8::
+	text "You can go onto"
+	line "#MON LEAGUE"
+	cont "only by defeating"
+	cont "our GYM LEADER!"
+	done
+
+_ViridianGymText_74bd4::
+	text "Yo! Champ in"
+	line "making!"
+
+	para "Even I don't know"
+	line "VIRIDIAN LEADER's"
+	cont "identity!"
+
+	para "This will be the"
+	line "toughest of all"
+	cont "the GYM LEADERs!"
+
+	para "I heard that the"
+	line "trainers here"
+	cont "like ground-type"
+	cont "#MON!"
+	done
+
+_ViridianGymText_74bd9::
+	text "Blow me away!"
+	line "GIOVANNI was the"
+	cont "GYM LEADER here?"
+	done
--- /dev/null
+++ b/text/maps/ViridianMart.asm
@@ -1,0 +1,30 @@
+_ViridianMartText1::
+	text "Okay! Say hi to"
+	line "PROF.OAK for me!"
+	done
+
+_ViridianMartText4::
+	text "Hey! You came from"
+	line "PALLET TOWN?"
+	done
+
+ViridianMartParcelQuestText::
+	text "You know PROF."
+	line "OAK, right?"
+
+	para "His order came in."
+	line "Will you take it"
+	cont "to him?"
+
+	para "<PLAYER> got"
+	line "OAK's PARCEL!@@"
+
+_ViridianMartText2::
+	text "This shop sells"
+	line "many ANTIDOTEs."
+	done
+
+_ViridianMartText3::
+	text "No! POTIONs are"
+	line "all sold out."
+	done
--- /dev/null
+++ b/text/maps/ViridianNicknameHouse.asm
@@ -1,0 +1,23 @@
+_ViridianHouseText1::
+	text "Coming up with"
+	line "nicknames is fun,"
+	cont "but hard."
+
+	para "Simple names are"
+	line "the easiest to"
+	cont "remember."
+	done
+
+_ViridianHouseText2::
+	text "My Daddy loves"
+	line "#MON too."
+	done
+
+_ViridianHouseText_1d5b1::
+	text "SPEARY: Tetweet!"
+	done
+
+_ViridianHouseText4::
+	text "SPEAROW"
+	line "Name: SPEARY"
+	done
--- /dev/null
+++ b/text/maps/ViridianPokecenter.asm
@@ -1,0 +1,16 @@
+_ViridianPokeCenterText2::
+	text "You can use that"
+	line "PC in the corner."
+
+	para "The receptionist"
+	line "told me. So kind!"
+	done
+
+_ViridianPokeCenterText3::
+	text "There's a #MON"
+	line "CENTER in every"
+	cont "town ahead."
+
+	para "They don't charge"
+	line "any money either!"
+	done
--- /dev/null
+++ b/text/maps/ViridianSchoolHouse.asm
@@ -1,0 +1,13 @@
+_SchoolText1::
+	text "Whew! I'm trying"
+	line "to memorize all"
+	cont "my notes."
+	done
+
+_SchoolText2::
+	text "Okay!"
+
+	para "Be sure to read"
+	line "the blackboard"
+	cont "carefully!"
+	done
--- /dev/null
+++ b/text/maps/WardensHouse.asm
@@ -1,0 +1,84 @@
+_WardenGibberishText1::
+	text "WARDEN: Hif fuff"
+	line "hefifoo!"
+
+	para "Ha lof ha feef ee"
+	line "hafahi ho. Heff"
+	cont "hee fwee!"
+	done
+
+_WardenGibberishText2::
+	text "Ah howhee ho hoo!"
+	line "Eef ee hafahi ho!"
+	done
+
+_WardenGibberishText3::
+	text "Ha? He ohay heh"
+	line "ha hoo ee haheh!"
+	done
+
+_WardenTeethText1::
+	text "<PLAYER> gave the"
+	line "GOLD TEETH to the"
+	cont "WARDEN!@@"
+
+_WardenTeethText2::
+	text ""
+
+	para "The WARDEN popped"
+	line "in his teeth!"
+	prompt
+
+_WardenThankYouText::
+	text "WARDEN: Thanks,"
+	line "kid! No one could"
+	cont "understand a word"
+	cont "that I said."
+
+	para "I couldn't work"
+	line "that way."
+	cont "Let me give you"
+	cont "something for"
+	cont "your trouble."
+	prompt
+
+_ReceivedHM04Text::
+	text "<PLAYER> received"
+	line "@"
+	TX_RAM wcf4b
+	text "!@@"
+
+_HM04ExplanationText::
+	text "WARDEN: HM04"
+	line "teaches STRENGTH!"
+
+	para "It lets #MON"
+	line "move boulders"
+	cont "when you're out-"
+	cont "side of battle."
+
+	para "Oh yes, did you"
+	line "find SECRET HOUSE"
+	cont "in SAFARI ZONE?"
+
+	para "If you do, you"
+	line "win an HM!"
+
+	para "I hear it's the"
+	line "rare SURF HM."
+	done
+
+_HM04NoRoomText::
+	text "Your pack is"
+	line "stuffed full!"
+	done
+
+_FuchsiaHouse2Text_75176::
+	text "#MON photos"
+	line "and fossils."
+	done
+
+_FuchsiaHouse2Text_7517b::
+	text "Old #MON"
+	line "merchandise."
+	done
--- a/text/maps/agatha.asm
+++ /dev/null
@@ -1,44 +1,0 @@
-_AgathaBeforeBattleText::
-	text "I am AGATHA of"
-	line "the ELITE FOUR!"
-
-	para "OAK's taken a lot"
-	line "of interest in"
-	cont "you, child!"
-
-	para "That old duff was"
-	line "once tough and"
-	cont "handsome! That"
-	cont "was decades ago!"
-
-	para "Now he just wants"
-	line "to fiddle with"
-	cont "his #DEX! He's"
-	cont "wrong! #MON"
-	cont "are for fighting!"
-
-	para "<PLAYER>! I'll show"
-	line "you how a real"
-	cont "trainer fights!"
-	done
-
-_AgathaEndBattleText::
-	text "Oh ho!"
-	line "You're something"
-	cont "special, child!"
-	prompt
-
-_AgathaAfterBattleText::
-	text "You win! I see"
-	line "what the old duff"
-	cont "sees in you now!"
-
-	para "I have nothing"
-	line "else to say! Run"
-	cont "along now, child!"
-	done
-
-_AgathaDontRunAwayText::
-	text "Someone's voice:"
-	line "Don't run away!"
-	done
--- a/text/maps/bike_shop.asm
+++ /dev/null
@@ -1,70 +1,0 @@
-_BikeShopText_1d810::
-	text "Hi! Welcome to"
-	line "our BIKE SHOP."
-
-	para "Have we got just"
-	line "the BIKE for you!"
-	prompt
-
-_BikeShopText_1d815::
-	text "It's a cool BIKE!"
-	line "Do you want it?"
-	done
-
-_BikeShopCantAffordText::
-	text "Sorry! You can't"
-	line "afford it!"
-	prompt
-
-_BikeShopText_1d81f::
-	text "Oh, that's..."
-
-	para "A BIKE VOUCHER!"
-
-	para "OK! Here you go!"
-	prompt
-
-_BikeShopText_1d824::
-	text "<PLAYER> exchanged"
-	line "the BIKE VOUCHER"
-	cont "for a BICYCLE.@@"
-
-_BikeShopComeAgainText::
-	text "Come back again"
-	line "some time!"
-	done
-
-_BikeShopText_1d82f::
-	text "How do you like"
-	line "your new BICYCLE?"
-
-	para "You can take it"
-	line "on CYCLING ROAD"
-	cont "and in caves!"
-	done
-
-_BikeShopText_1d834::
-	text "You better make"
-	line "room for this!"
-	done
-
-_BikeShopText_1d843::
-	text "A plain city BIKE"
-	line "is good enough"
-	cont "for me!"
-
-	para "You can't put a"
-	line "shopping basket"
-	cont "on an MTB!"
-	done
-
-_BikeShopText_1d85c::
-	text "These BIKEs are"
-	line "cool, but they're"
-	cont "way expensive!"
-	done
-
-_BikeShopText_1d861::
-	text "Wow. Your BIKE is"
-	line "really cool!"
-	done
--- a/text/maps/bills_house.asm
+++ /dev/null
@@ -1,87 +1,0 @@
-_BillsHouseText_1e865::
-	text "Hiya! I'm a"
-	line "#MON..."
-	cont "...No I'm not!"
-
-	para "Call me BILL!"
-	line "I'm a true blue"
-	cont "#MANIAC! Hey!"
-	cont "What's with that"
-	cont "skeptical look?"
-
-	para "I'm not joshing"
-	line "you, I screwed up"
-	cont "an experiment and"
-	cont "got combined with"
-	cont "a #MON!"
-
-	para "So, how about it?"
-	line "Help me out here!"
-	done
-
-_BillsHouseText_1e86a::
-	text "When I'm in the"
-	line "TELEPORTER, go to"
-	cont "my PC and run the"
-	cont "Cell Separation"
-	cont "System!"
-	done
-
-_BillsHouseText_1e86f::
-	text "No!? Come on, you"
-	line "gotta help a guy"
-	cont "in deep trouble!"
-
-	para "What do you say,"
-	line "chief? Please?"
-	cont "OK? All right!"
-	prompt
-
-_BillThankYouText::
-	text "BILL: Yeehah!"
-	line "Thanks, bud! I"
-	cont "owe you one!"
-
-	para "So, did you come"
-	line "to see my #MON"
-	cont "collection?"
-	cont "You didn't?"
-	cont "That's a bummer."
-
-	para "I've got to thank"
-	line "you... Oh here,"
-	cont "maybe this'll do."
-	prompt
-
-_SSTicketReceivedText::
-	text "<PLAYER> received"
-	line "an @"
-	TX_RAM wcf4b
-	text "!@@"
-
-_SSTicketNoRoomText::
-	text "You've got too"
-	line "much stuff, bud!"
-	done
-
-_BillsHouseText_1e8cb::
-	text "That cruise ship,"
-	line "S.S.ANNE, is in"
-	cont "VERMILION CITY."
-	cont "Its passengers"
-	cont "are all trainers!"
-
-	para "They invited me"
-	line "to their party,"
-	cont "but I can't stand"
-	cont "fancy do's. Why"
-	cont "don't you go"
-	cont "instead of me?"
-	done
-
-_BillsHouseText_1e8da::
-	text "BILL: Look, bud,"
-	line "just check out"
-	cont "some of my rare"
-	cont "#MON on my PC!"
-	done
--- a/text/maps/blues_house.asm
+++ /dev/null
@@ -1,41 +1,0 @@
-_DaisyInitialText::
-	text "Hi <PLAYER>!"
-	line "<RIVAL> is out at"
-	cont "Grandpa's lab."
-	done
-
-_DaisyOfferMapText::
-	text "Grandpa asked you"
-	line "to run an errand?"
-	cont "Here, this will"
-	cont "help you!"
-	prompt
-
-_GotMapText::
-	text "<PLAYER> got a"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_DaisyBagFullText::
-	text "You have too much"
-	line "stuff with you."
-	done
-
-_DaisyUseMapText::
-	text "Use the TOWN MAP"
-	line "to find out where"
-	cont "you are."
-	done
-
-_BluesHouseText2::
-	text "#MON are living"
-	line "things! If they"
-	cont "get tired, give"
-	cont "them a rest!"
-	done
-
-_BluesHouseText3::
-	text "It's a big map!"
-	line "This is useful!"
-	done
--- a/text/maps/bruno.asm
+++ /dev/null
@@ -1,37 +1,0 @@
-_BrunoBeforeBattleText::
-	text "I am BRUNO of"
-	line "the ELITE FOUR!"
-
-	para "Through rigorous"
-	line "training, people"
-	cont "and #MON can"
-	cont "become stronger!"
-
-	para "I've weight"
-	line "trained with"
-	cont "my #MON!"
-
-	para "<PLAYER>!"
-
-	para "We will grind you"
-	line "down with our"
-	cont "superior power!"
-
-	para "Hoo hah!"
-	done
-
-_BrunoEndBattleText::
-	text "Why?"
-	line "How could I lose?"
-	prompt
-
-_BrunoAfterBattleText::
-	text "My job is done!"
-	line "Go face your next"
-	cont "challenge!"
-	done
-
-_BrunoDontRunAwayText::
-	text "Someone's voice:"
-	line "Don't run away!"
-	done
--- a/text/maps/celadon_city.asm
+++ /dev/null
@@ -1,152 +1,0 @@
-_CeladonCityText1::
-	text "I got my KOFFING"
-	line "in CINNABAR!"
-
-	para "It's nice, but it"
-	line "breathes poison"
-	cont "when it's angry!"
-	done
-
-_CeladonCityText2::
-	text "Heheh! This GYM"
-	line "is great! It's"
-	cont "full of women!"
-	done
-
-_CeladonCityText3::
-	text "The GAME CORNER"
-	line "is bad for our"
-	cont "city's image!"
-	done
-
-_CeladonCityText4::
-	text "Moan! I blew it"
-	line "all at the slots!"
-
-	para "I knew I should"
-	line "have cashed in my"
-	cont "coins for prizes!"
-	done
-
-_TM41PreText::
-	text "Hello, there!"
-
-	para "I've seen you,"
-	line "but I never had a"
-	cont "chance to talk!"
-
-	para "Here's a gift for"
-	line "dropping by!"
-	prompt
-
-_ReceivedTM41Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM41ExplanationText::
-	text "TM41 teaches"
-	line "SOFTBOILED!"
-
-	para "Only one #MON"
-	line "can use it!"
-
-	para "That #MON is"
-	line "CHANSEY!"
-	done
-
-_TM41NoRoomText::
-	text "Oh, your pack is"
-	line "full of items!"
-	done
-
-_CeladonCityText6::
-	text "This is my trusted"
-	line "pal, POLIWRATH!"
-
-	para "It evolved from"
-	line "POLIWHIRL when I"
-	cont "used WATER STONE!"
-	done
-
-_CeladonCityText7::
-	text "POLIWRATH: Ribi"
-	line "ribit!@@"
-
-_CeladonCityText8::
-	text "What are you"
-	line "staring at?"
-	done
-
-_CeladonCityText9::
-	text "Keep out of TEAM"
-	line "ROCKET's way!"
-	done
-
-_CeladonCityText10::
-	text "TRAINER TIPS"
-
-	para "X ACCURACY boosts"
-	line "the accuracy of"
-	cont "techniques!"
-
-	para "DIRE HIT jacks up"
-	line "the likelihood of"
-	cont "critical hits!"
-
-	para "Get your items at"
-	line "CELADON DEPT."
-	cont "STORE!"
-	done
-
-_CeladonCityText11::
-	text "CELADON CITY"
-	line "The City of"
-	cont "Rainbow Dreams"
-	done
-
-_CeladonCityText13::
-	text "CELADON CITY"
-	line "#MON GYM"
-	cont "LEADER: ERIKA"
-
-	para "The Nature Loving"
-	line "Princess!"
-	done
-
-_CeladonCityText14::
-	text "CELADON MANSION"
-	done
-
-_CeladonCityText15::
-	text "Find what you"
-	line "need at CELADON"
-	cont "DEPT. STORE!"
-	done
-
-_CeladonCityText16::
-	text "TRAINER TIPS"
-
-	para "GUARD SPEC."
-	line "protects #MON"
-	cont "against SPECIAL"
-	cont "attacks such as"
-	cont "fire and water!"
-
-	para "Get your items at"
-	line "CELADON DEPT."
-	cont "STORE!"
-	done
-
-_CeladonCityText17::
-	text "Coins exchanged"
-	line "for prizes!"
-	cont "PRIZE EXCHANGE"
-	done
-
-_CeladonCityText18::
-	text "ROCKET GAME CORNER"
-	line "The playground"
-	cont "for grown-ups!"
-	done
--- a/text/maps/celadon_dept_store_1f.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-_CeladonMart1Text1::
-	text "Hello! Welcome to"
-	line "CELADON DEPT."
-	cont "STORE."
-
-	para "The board on the"
-	line "right describes"
-	cont "the store layout."
-	done
-
-_CeladonMart1Text2::
-	text "1F: SERVICE"
-	line "    COUNTER"
-
-	para "2F: TRAINER'S"
-	line "    MARKET"
-
-	para "3F: TV GAME SHOP"
-
-	para "4F: WISEMAN GIFTS"
-
-	para "5F: DRUG STORE"
-
-	para "ROOFTOP SQUARE:"
-	line "VENDING MACHINES"
-	done
-
-_CeladonMart1Text3::
-	text "1F: SERVICE"
-	line "    COUNTER"
-	done
--- a/text/maps/celadon_dept_store_2f.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-_CeladonMart2Text3::
-	text "SUPER REPEL keeps"
-	line "weak #MON at"
-	cont "bay..."
-
-	para "Hmm, it's a more"
-	line "powerful REPEL!"
-	done
-
-_CeladonMart2Text4::
-	text "For long outings,"
-	line "you should buy"
-	cont "REVIVE."
-	done
-
-_CeladonMart2Text5::
-	text "Top Grade Items"
-	line "for Trainers!"
-
-	para "2F: TRAINER'S"
-	line "    MARKET"
-	done
--- a/text/maps/celadon_dept_store_3f.asm
+++ /dev/null
@@ -1,98 +1,0 @@
-_TM18PreReceiveText::
-	text "Oh, hi! I finally"
-	line "finished #MON!"
-
-	para "Not done yet?"
-	line "This might be"
-	cont "useful!"
-	prompt
-
-_ReceivedTM18Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM18ExplanationText::
-	text "TM18 is COUNTER!"
-	line "Not like the one"
-	cont "I'm leaning on,"
-	cont "mind you!"
-	done
-
-_TM18NoRoomText::
-	text "Your pack is full"
-	line "of items!"
-	done
-
-_CeladonMart3Text2::
-	text "Captured #MON"
-	line "are registered"
-	cont "with an ID No."
-	cont "and OT, the name"
-	cont "of the Original"
-	cont "Trainer that"
-	cont "caught it!"
-	done
-
-_CeladonMart3Text3::
-	text "All right!"
-
-	para "My buddy's going"
-	line "to trade me his"
-	cont "KANGASKHAN for my"
-	cont "GRAVELER!"
-	done
-
-_CeladonMart3Text4::
-	text "Come on GRAVELER!"
-
-	para "I love GRAVELER!"
-	line "I collect them!"
-
-	para "Huh?"
-
-	para "GRAVELER turned"
-	line "into a different"
-	cont "#MON!"
-	done
-
-_CeladonMart3Text5::
-	text "You can identify"
-	line "#MON you got"
-	cont "in trades by"
-	cont "their ID Numbers!"
-	done
-
-_CeladonMart3Text6::
-	text "It's an SNES!"
-	done
-
-_CeladonMart3Text7::
-	text "An RPG! There's"
-	line "no time for that!"
-	done
-
-_CeladonMart3Text9::
-	text "A sports game!"
-	line "Dad'll like that!"
-	done
-
-_CeladonMart3Text11::
-	text "A puzzle game!"
-	line "Looks addictive!"
-	done
-
-_CeladonMart3Text13::
-	text "A fighting game!"
-	line "Looks tough!"
-	done
-
-_CeladonMart3Text14::
-	text "3F: TV GAME SHOP"
-	done
-
-_CeladonMart3Text15::
-	text "Red and Blue!"
-	line "Both are #MON!"
-	done
--- a/text/maps/celadon_dept_store_4f.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-_CeladonMart4Text2::
-	text "I'm getting a"
-	line "# DOLL for my"
-	cont "girl friend!"
-	done
-
-_CeladonMart4Text3::
-	text "I heard something"
-	line "useful."
-
-	para "You can run from"
-	line "wild #MON by"
-	cont "distracting them"
-	cont "with a # DOLL!"
-	done
-
-_CeladonMart4Text4::
-	text "Express yourself"
-	line "with gifts!"
-
-	para "4F: WISEMAN GIFTS"
-
-	para "Evolution Special!"
-	line "Element STONEs on"
-	cont "sale now!"
-	done
--- a/text/maps/celadon_dept_store_5f.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-_CeladonMart5Text1::
-	text "#MON ability"
-	line "enhancers can be"
-	cont "bought only here."
-
-	para "Use CALCIUM to"
-	line "increase SPECIAL"
-	cont "abilities."
-
-	para "Use CARBOS to"
-	line "increase SPEED."
-	done
-
-_CeladonMart5Text2::
-	text "I'm here for"
-	line "#MON ability"
-	cont "enhancers."
-
-	para "PROTEIN increases"
-	line "ATTACK power."
-
-	para "IRON increases"
-	line "DEFENSE!"
-	done
-
-_CeladonMart5Text5::
-	text "5F: DRUG STORE"
-	done
--- a/text/maps/celadon_dept_store_roof.asm
+++ /dev/null
@@ -1,138 +1,0 @@
-_CeladonMartRoofText_484ee::
-	text "Give her which"
-	line "drink?"
-	done
-
-_CeladonMartRoofText_484f3::
-	text "Yay!"
-
-	para "FRESH WATER!"
-
-	para "Thank you!"
-
-	para "You can have this"
-	line "from me!@@"
-
-_CeladonMartRoofText_484f9::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_CeladonMartRoofText_484fe::
-	db $0
-	para "@"
-	TX_RAM wcf4b
-	text " contains"
-	line "ICE BEAM!"
-
-	para "It can freeze the"
-	line "target sometimes!@@"
-
-_CeladonMartRoofText_48504::
-	text "Yay!"
-
-	para "SODA POP!"
-
-	para "Thank you!"
-
-	para "You can have this"
-	line "from me!@@"
-
-_CeladonMartRoofText_4850a::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_CeladonMartRoofText_4850f::
-	db $0
-	para "@"
-	TX_RAM wcf4b
-	text " contains"
-	line "ROCK SLIDE!"
-
-	para "It can spook the"
-	line "target sometimes!@@"
-
-_CeladonMartRoofText_48515::
-	text "Yay!"
-
-	para "LEMONADE!"
-
-	para "Thank you!"
-
-	para "You can have this"
-	line "from me!@@"
-
-_ReceivedTM49Text::
-	text "<PLAYER> received"
-	line "TM49!@@"
-
-_CeladonMartRoofText_48520::
-	db $0
-	para "TM49 contains"
-	line "TRI ATTACK!@@"
-
-_CeladonMartRoofText_48526::
-	text "You don't have"
-	line "space for this!@@"
-
-_CeladonMartRoofText_4852c::
-	text "No thank you!"
-	line "I'm not thirsty"
-	cont "after all!@@"
-
-_CeladonMartRoofText1::
-	text "My sister is a"
-	line "trainer, believe"
-	cont "it or not."
-
-	para "But, she's so"
-	line "immature, she"
-	cont "drives me nuts!"
-	done
-
-_CeladonMartRoofText_48598::
-	text "I'm thirsty!"
-	line "I want something"
-	cont "to drink!"
-	done
-
-_CeladonMartRoofText4::
-	text "I'm thirsty!"
-	line "I want something"
-	cont "to drink!"
-
-	para "Give her a drink?"
-	done
-
-_CeladonMartRoofText6::
-	text "ROOFTOP SQUARE:"
-	line "VENDING MACHINES"
-	done
-
-_VendingMachineText1::
-	text "A vending machine!"
-	line "Here's the menu!"
-	prompt
-
-_VendingMachineText4::
-	text "Oops, not enough"
-	line "money!"
-	done
-
-_VendingMachineText5::
-	TX_RAM wcf4b
-	db $0
-	line "popped out!"
-	done
-
-_VendingMachineText6::
-	text "There's no more"
-	line "room for stuff!"
-	done
-
-_VendingMachineText7::
-	text "Not thirsty!"
-	done
--- a/text/maps/celadon_diner.asm
+++ /dev/null
@@ -1,59 +1,0 @@
-_CeladonDinerText1::
-	text "Hi!"
-
-	para "We're taking a"
-	line "break now."
-	done
-
-_CeladonDinerText2::
-	text "My #MON are"
-	line "weak, so I often"
-	cont "have to go to the"
-	cont "DRUG STORE."
-	done
-
-_CeladonDinerText3::
-	text "Psst! There's a"
-	line "basement under"
-	cont "the GAME CORNER."
-	done
-
-_CeladonDinerText4::
-	text "Munch..."
-
-	para "The man at that"
-	line "table lost it all"
-	cont "at the slots."
-	done
-
-_CeladonDinerText_491a7::
-	text "Go ahead! Laugh!"
-
-	para "I'm flat out"
-	line "busted!"
-
-	para "No more slots for"
-	line "me! I'm going"
-	cont "straight!"
-
-	para "Here! I won't be"
-	line "needing this any-"
-	cont "more!"
-	prompt
-
-_ReceivedCoinCaseText::
-	text "<PLAYER> received"
-	line "a @"
-	TX_RAM wcf4b
-	text "!@@"
-
-_CoinCaseNoRoomText::
-	text "Make room for"
-	line "this!"
-	done
-
-_CeladonDinerText_491b7::
-	text "I always thought"
-	line "I was going to"
-	cont "win it back..."
-	done
--- a/text/maps/celadon_game_corner.asm
+++ /dev/null
@@ -1,186 +1,0 @@
-_CeladonGameCornerText1::
-	text "Welcome!"
-
-	para "You can exchange"
-	line "your coins for"
-	cont "fabulous prizes"
-	cont "next door."
-	done
-
-_CeladonGameCornerText_48d22::
-	text "Welcome to ROCKET"
-	line "GAME CORNER!"
-
-	para "Do you need some"
-	line "game coins?"
-
-	para "It's ¥1000 for 50"
-	line "coins. Would you"
-	cont "like some?"
-	done
-
-_CeladonGameCornerText_48d27::
-	text "Thanks! Here are"
-	line "your 50 coins!"
-	done
-
-_CeladonGameCornerText_48d2c::
-	text "No? Please come"
-	line "play sometime!"
-	done
-
-_CeladonGameCornerText_48d31::
-	text "You can't afford"
-	line "the coins!"
-	done
-
-_CeladonGameCornerText_48d36::
-	text "Oops! Your COIN"
-	line "CASE is full."
-	done
-
-_CeladonGameCornerText_48d3b::
-	text "You don't have a"
-	line "COIN CASE!"
-	done
-
-_CeladonGameCornerText3::
-	text "Keep this quiet."
-
-	para "It's rumored that"
-	line "this place is run"
-	cont "by TEAM ROCKET."
-	done
-
-_CeladonGameCornerText4::
-	text "I think these"
-	line "machines have"
-	cont "different odds."
-	done
-
-_CeladonGameCornerText_48d9c::
-	text "Kid, do you want"
-	line "to play?"
-	prompt
-
-_Received10CoinsText::
-	text "<PLAYER> received"
-	line "10 coins!@@"
-
-_CeladonGameCornerText_48da7::
-	text "You don't need my"
-	line "coins!"
-	done
-
-_CeladonGameCornerText_48dac::
-	text "Wins seem to come"
-	line "and go."
-	done
-
-_CeladonGameCornerText6::
-	text "I'm having a"
-	line "wonderful time!"
-	done
-
-_CeladonGameCornerText_48dca::
-	text "Hey!"
-
-	para "You have better"
-	line "things to do,"
-	cont "champ in making!"
-
-	para "CELADON GYM's"
-	line "LEADER is ERIKA!"
-	cont "She uses grass-"
-	cont "type #MON!"
-
-	para "She might appear"
-	line "docile, but don't"
-	cont "be fooled!"
-	done
-
-_CeladonGameCornerText_48dcf::
-	text "They offer rare"
-	line "#MON that can"
-	cont "be exchanged for"
-	cont "your coins."
-
-	para "But, I just can't"
-	line "seem to win!"
-	done
-
-_CeladonGameCornerText8::
-	text "Games are scary!"
-	line "It's so easy to"
-	cont "get hooked!"
-	done
-
-_CeladonGameCornerText_48e26::
-	text "What's up? Want"
-	line "some coins?"
-	prompt
-
-_Received20CoinsText::
-	text "<PLAYER> received"
-	line "20 coins!@@"
-
-_CeladonGameCornerText_48e31::
-	text "You have lots of"
-	line "coins!"
-	done
-
-_CeladonGameCornerText_48e36::
-	text "Darn! I need more"
-	line "coins for the"
-	cont "#MON I want!"
-	done
-
-_CeladonGameCornerText_48e88::
-	text "Hey, what? You're"
-	line "throwing me off!"
-	cont "Here are some"
-	cont "coins, shoo!"
-	prompt
-
-_CeladonGameCornerText_48e8d::
-	text "<PLAYER> received"
-	line "20 coins!@@"
-
-_CeladonGameCornerText_48e93::
-	text "You've got your"
-	line "own coins!"
-	done
-
-_CeladonGameCornerText_48e98::
-	text "The trick is to"
-	line "watch the reels"
-	cont "closely!"
-	done
-
-_CeladonGameCornerText_48ece::
-	text "I'm guarding this"
-	line "poster!"
-	cont "Go away, or else!"
-	done
-
-_CeladonGameCornerText_48ed3::
-	text "Dang!"
-	prompt
-
-_CeladonGameCornerText_48ed8::
-	text "Our hideout might"
-	line "be discovered! I"
-	cont "better tell BOSS!"
-	done
-
-_CeladonGameCornerText_48f09::
-	text "Hey!"
-
-	para "A switch behind"
-	line "the poster!?"
-	cont "Let's push it!@@"
-
-_CeladonGameCornerText_48f19::
-	text "Oops! Forgot the"
-	line "COIN CASE!"
-	done
--- a/text/maps/celadon_gym.asm
+++ /dev/null
@@ -1,218 +1,0 @@
-_CeladonGymText_48a5e::
-	text "Hello. Lovely"
-	line "weather isn't it?"
-	cont "It's so pleasant."
-
-	para "...Oh dear..."
-	line "I must have dozed"
-	cont "off. Welcome."
-
-	para "My name is ERIKA."
-	line "I am the LEADER"
-	cont "of CELADON GYM."
-
-	para "I teach the art of"
-	line "flower arranging."
-	cont "My #MON are of"
-	cont "the grass-type."
-
-	para "Oh, I'm sorry, I"
-	line "had no idea that"
-	cont "you wished to"
-	cont "challenge me."
-
-	para "Very well, but I"
-	line "shall not lose."
-	done
-
-_CeladonGymText_48a63::
-	text "Oh!"
-	line "I concede defeat."
-
-	para "You are remarkably"
-	line "strong."
-
-	para "I must confer you"
-	line "the RAINBOWBADGE."
-	prompt
-
-_CeladonGymText_48a68::
-	text "You are cataloging"
-	line "#MON? I must"
-	cont "say I'm impressed."
-
-	para "I would never"
-	line "collect #MON"
-	cont "if they were"
-	cont "unattractive."
-	done
-
-_CeladonGymText9::
-	text "The RAINBOWBADGE"
-	line "will make #MON"
-	cont "up to L50 obey."
-
-	para "It also allows"
-	line "#MON to use"
-	cont "STRENGTH in and"
-	cont "out of battle."
-
-	para "Please also take"
-	line "this with you."
-	done
-
-_ReceivedTM21Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM21ExplanationText::
-	db $0
-	para "TM21 contains"
-	line "MEGA DRAIN."
-
-	para "Half the damage"
-	line "it inflicts is"
-	cont "drained to heal"
-	cont "your #MON!"
-	done
-
-_TM21NoRoomText::
-	text "You should make"
-	line "room for this."
-	done
-
-_CeladonGymBattleText2::
-	text "Hey!"
-
-	para "You are not"
-	line "allowed in here!"
-	done
-
-_CeladonGymEndBattleText2::
-	text "You're"
-	line "too rough!"
-	prompt
-
-_CeladonGymAfterBattleText2::
-	text "Bleaah!"
-	line "I hope ERIKA"
-	cont "wipes you out!"
-	done
-
-_CeladonGymBattleText3::
-	text "I was getting"
-	line "bored."
-	done
-
-_CeladonGymEndBattleText3::
-	text "My"
-	line "makeup!"
-	prompt
-
-_CeladonGymAfterBattleText3::
-	text "Grass-type #MON"
-	line "are tough against"
-	cont "the water-type!"
-
-	para "They also have an"
-	line "edge on rock and"
-	cont "ground #MON!"
-	done
-
-_CeladonGymBattleText4::
-	text "Aren't you the"
-	line "peeping Tom?"
-	done
-
-_CeladonGymEndBattleText4::
-	text "I'm"
-	line "in shock!"
-	prompt
-
-_CeladonGymAfterBattleText4::
-	text "Oh, you weren't"
-	line "peeping? We get a"
-	cont "lot of gawkers!"
-	done
-
-_CeladonGymBattleText5::
-	text "Look at my grass"
-	line "#MON!"
-
-	para "They're so easy"
-	line "to raise!"
-	done
-
-_CeladonGymEndBattleText5::
-	text "No!"
-	prompt
-
-_CeladonGymAfterBattleText5::
-	text "We only use grass-"
-	line "type #MON at"
-	cont "our GYM!"
-
-	para "We also use them"
-	line "for making flower"
-	cont "arrangements!"
-	done
-
-_CeladonGymBattleText6::
-	text "Don't bring any"
-	line "bugs or fire"
-	cont "#MON in here!"
-	done
-
-_CeladonGymEndBattleText6::
-	text "Oh!"
-	line "You!"
-	prompt
-
-_CeladonGymAfterBattleText6::
-	text "Our LEADER, ERIKA,"
-	line "might be quiet,"
-	cont "but she's also"
-	cont "very skilled!"
-	done
-
-_CeladonGymBattleText7::
-	text "Pleased to meet"
-	line "you. My hobby is"
-	cont "#MON training."
-	done
-
-_CeladonGymEndBattleText7::
-	text "Oh!"
-	line "Splendid!"
-	prompt
-
-_CeladonGymAfterBattleText7::
-	text "I have a blind"
-	line "date coming up."
-	cont "I have to learn"
-	cont "to be polite."
-	done
-
-_CeladonGymBattleText8::
-	text "Welcome to"
-	line "CELADON GYM!"
-
-	para "You better not"
-	line "underestimate"
-	cont "girl power!"
-	done
-
-_CeladonGymEndBattleText8::
-	text "Oh!"
-	line "Beaten!"
-	prompt
-
-_CeladonGymAfterBattleText8::
-	text "I didn't bring my"
-	line "best #MON!"
-
-	para "Wait 'til next"
-	line "time!"
-	done
--- a/text/maps/celadon_hotel.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-_CeladonHotelText1::
-	text "#MON? No, this"
-	line "is a hotel for"
-	cont "people."
-
-	para "We're full up."
-	done
-
-_CeladonHotelText2::
-	text "I'm on vacation"
-	line "with my brother"
-	cont "and boy friend."
-
-	para "CELADON is such a"
-	line "pretty city!"
-	done
-
-_CeladonHotelText3::
-	text "Why did she bring"
-	line "her brother?"
-	done
--- a/text/maps/celadon_house.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-_CeladonHouseText1::
-	text "Hehehe! The slots"
-	line "just reel in the"
-	cont "dough, big time!"
-	done
-
-_CeladonHouseText2::
-	text "CHIEF!"
-
-	para "We just shipped"
-	line "2000 #MON as"
-	cont "slot prizes!"
-	done
-
-_CeladonHouseText3::
-	text "Don't touch the"
-	line "poster at the"
-	cont "GAME CORNER!"
-
-	para "There's no secret"
-	line "switch behind it!"
-	done
--- a/text/maps/celadon_mansion_1f.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-_CeladonMansion1Text1::
-	text "MEOWTH: Meow!@@"
-
-_CeladonMansion1Text2::
-	text "My dear #MON"
-	line "keep me company."
-
-	para "MEOWTH even brings"
-	line "money home!"
-	done
-
-_CeladonMansion1Text3::
-	text "CLEFAIRY: Pi"
-	line "pippippi!@@"
-
-_CeladonMansion1Text4::
-	text "NIDORAN: Kya"
-	line "kyaoo!@@"
-
-_CeladonMansion1Text5::
-	text "CELADON MANSION"
-	line "Manager's Suite"
-	done
--- a/text/maps/celadon_mansion_2f.asm
+++ /dev/null
@@ -1,4 +1,0 @@
-_CeladonMansion2Text1::
-	text "GAME FREAK"
-	line "Meeting Room"
-	done
--- a/text/maps/celadon_mansion_3f.asm
+++ /dev/null
@@ -1,66 +1,0 @@
-_ProgrammerText::
-	text "Me? I'm the"
-	line "programmer!"
-	done
-
-_GraphicArtistText::
-	text "I'm the graphic"
-	line "artist!"
-	cont "I drew you!"
-	done
-
-_WriterText::
-	text "I wrote the story!"
-	line "Isn't ERIKA cute?"
-
-	para "I like MISTY a"
-	line "lot too!"
-
-	para "Oh, and SABRINA,"
-	line "I like her!"
-	done
-
-_GameDesignerText::
-	text "Is that right?"
-
-	para "I'm the game"
-	line "designer!"
-
-	para "Filling up your"
-	line "#DEX is tough,"
-	cont "but don't quit!"
-
-	para "When you finish,"
-	line "come tell me!"
-	done
-
-_CompletedDexText::
-	text "Wow! Excellent!"
-	line "You completed"
-	cont "your #DEX!"
-	cont "Congratulations!"
-	cont "...@@"
-
-_CeladonMansion3Text5::
-	text "It's the game"
-	line "program! Messing"
-	cont "with it could bug"
-	cont "out the game!"
-	done
-
-_CeladonMansion3Text6::
-	text "Someone's playing"
-	line "a game instead of"
-	cont "working!"
-	done
-
-_CeladonMansion3Text7::
-	text "It's the script!"
-	line "Better not look"
-	cont "at the ending!"
-	done
-
-_CeladonMansion3Text8::
-	text "GAME FREAK"
-	line "Development Room"
-	done
--- a/text/maps/celadon_mansion_4f_inside.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-_CeladonMansion5Text1::
-	text "I know everything"
-	line "about the world"
-	cont "of #MON in"
-	cont "your GAME BOY!"
-
-	para "Get together with"
-	line "your friends and"
-	cont "trade #MON!"
-	done
--- a/text/maps/celadon_mansion_4f_outside.asm
+++ /dev/null
@@ -1,3 +1,0 @@
-_CeladonMansion4Text1::
-	text "I KNOW EVERYTHING!"
-	done
--- a/text/maps/celadon_pokecenter.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-_CeladonPokecenterText2::
-	text "# FLUTE awakens"
-	line "#MON with a"
-	cont "sound that only"
-	cont "they can hear!"
-	done
-
-_CeladonPokecenterText3::
-	text "I rode uphill on"
-	line "CYCLING ROAD from"
-	cont "FUCHSIA!"
-	done
--- a/text/maps/celadon_prize_room.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-_CeladonPrizeRoomText1::
-	text "I sure do fancy"
-	line "that PORYGON!"
-
-	para "But, it's hard to"
-	line "win at slots!"
-	done
-
-_CeladonPrizeRoomText2::
-	text "I had a major"
-	line "haul today!"
-	done
--- a/text/maps/cerulean_badge_house.asm
+++ /dev/null
@@ -1,97 +1,0 @@
-_CeruleanHouse2Text_74e77::
-	text "#MON BADGEs"
-	line "are owned only by"
-	cont "skilled trainers."
-
-	para "I see you have"
-	line "at least one."
-
-	para "Those BADGEs have"
-	line "amazing secrets!"
-	prompt
-
-_CeruleanHouse2Text_74e7c::
-	text "Now then..."
-
-	para "Which of the 8"
-	line "BADGEs should I"
-	cont "describe?"
-	done
-
-_CeruleanHouse2Text_74e81::
-	text "Come visit me any"
-	line "time you wish."
-	done
-
-_CeruleanHouse2Text_74e96::
-	text "The ATTACK of all"
-	line "#MON increases"
-	cont "a little bit."
-
-	para "It also lets you"
-	line "use FLASH any"
-	cont "time you desire."
-	prompt
-
-_CeruleanHouse2Text_74e9b::
-	text "#MON up to L30"
-	line "will obey you."
-
-	para "Any higher, they"
-	line "become unruly!"
-
-	para "It also lets you"
-	line "use CUT outside"
-	cont "of battle."
-	prompt
-
-_CeruleanHouse2Text_74ea0::
-	text "The SPEED of all"
-	line "#MON increases"
-	cont "a little bit."
-
-	para "It also lets you"
-	line "use FLY outside"
-	cont "of battle."
-	prompt
-
-_CeruleanHouse2Text_74ea5::
-	text "#MON up to L50"
-	line "will obey you."
-
-	para "Any higher, they"
-	line "become unruly!"
-
-	para "It also lets you"
-	line "use STRENGTH out-"
-	cont "side of battle."
-	prompt
-
-_CeruleanHouse2Text_74eaa::
-	text "The DEFENSE of all"
-	line "#MON increases"
-	cont "a little bit."
-
-	para "It also lets you"
-	line "use SURF outside"
-	cont "of battle."
-	prompt
-
-_CeruleanHouse2Text_74eaf::
-	text "#MON up to L70"
-	line "will obey you."
-
-	para "Any higher, they"
-	line "become unruly!"
-	prompt
-
-_CeruleanHouse2Text_74eb4::
-	text "Your #MON's"
-	line "SPECIAL abilities"
-	cont "increase a bit."
-	prompt
-
-_CeruleanHouse2Text_74eb9::
-	text "All #MON will"
-	line "obey you!"
-	prompt
--- a/text/maps/cerulean_city.asm
+++ /dev/null
@@ -1,232 +1,0 @@
-_CeruleanCityText_19668::
-	text "<RIVAL>: Yo!"
-	line "<PLAYER>!"
-
-	para "You're still"
-	line "struggling along"
-	cont "back here?"
-
-	para "I'm doing great!"
-	line "I caught a bunch"
-	cont "of strong and"
-	cont "smart #MON!"
-
-	para "Here, let me see"
-	line "what you caught,"
-	cont "<PLAYER>!"
-	done
-
-_CeruleanCityText_1966d::
-	text "Hey!"
-	line "Take it easy!"
-	cont "You won already!"
-	prompt
-
-_CeruleanCityText_19672::
-	text "Heh!"
-	line "You're no match"
-	cont "for my genius!"
-	prompt
-
-_CeruleanCityText_19677::
-	text "<RIVAL>: Hey,"
-	line "guess what?"
-
-	para "I went to BILL's"
-	line "and got him to"
-	cont "show me his rare"
-	cont "#MON!"
-
-	para "That added a lot"
-	line "of pages to my"
-	cont "#DEX!"
-
-	para "After all, BILL's"
-	line "world famous as a"
-	cont "#MANIAC!"
-
-	para "He invented the"
-	line "#MON Storage"
-	cont "System on PC!"
-
-	para "Since you're using"
-	line "his system, go"
-	cont "thank him!"
-
-	para "Well, I better"
-	line "get rolling!"
-	cont "Smell ya later!"
-	done
-
-_CeruleanCityText_196d9::
-	text "Hey! Stay out!"
-	line "It's not your"
-	cont "yard! Huh? Me?"
-
-	para "I'm an innocent"
-	line "bystander! Don't"
-	cont "you believe me?"
-	done
-
-_ReceivedTM28Text::
-	text "<PLAYER> recovered"
-	line "TM28!@@"
-
-_ReceivedTM28Text2::
-	db $0
-	para "I better get"
-	line "moving! Bye!@@"
-
-_TM28NoRoomText::
-	text "Make room for"
-	line "this!"
-
-	para "I can't run until"
-	line "I give it to you!"
-	done
-
-_CeruleanCityText_196ee::
-	text "Stop!"
-	line "I give up! I'll"
-	cont "leave quietly!"
-	prompt
-
-_CeruleanCityText_196f3::
-	text "OK! I'll return"
-	line "the TM I stole!"
-	prompt
-
-_CeruleanCityText3::
-	text "You're a trainer"
-	line "too? Collecting,"
-	cont "fighting, it's a"
-	cont "tough life."
-	done
-
-_CeruleanCityText4::
-	text "That bush in"
-	line "front of the shop"
-	cont "is in the way."
-
-	para "There might be a"
-	line "way around."
-	done
-
-_CeruleanCityText5::
-	text "You're making an"
-	line "encyclopedia on"
-	cont "#MON? That"
-	cont "sounds amusing."
-	done
-
-_CeruleanCityText6::
-	text "The people here"
-	line "were robbed."
-
-	para "It's obvious that"
-	line "TEAM ROCKET is"
-	cont "behind this most"
-	cont "heinous crime!"
-
-	para "Even our POLICE"
-	line "force has trouble"
-	cont "with the ROCKETs!"
-	done
-
-_CeruleanCityText_19730::
-	text "OK! SLOWBRO!"
-	line "Use SONICBOOM!"
-	cont "Come on, SLOWBRO"
-	cont "pay attention!"
-	done
-
-_CeruleanCityText_19735::
-	text "SLOWBRO punch!"
-	line "No! You blew it"
-	cont "again!"
-	done
-
-_CeruleanCityText_1973a::
-	text "SLOWBRO, WITHDRAW!"
-	line "No! That's wrong!"
-
-	para "It's so hard to"
-	line "control #MON!"
-
-	para "Your #MON's"
-	line "obedience depends"
-	cont "on your abilities"
-	cont "as a trainer!"
-	done
-
-_CeruleanCityText_1976f::
-	text "SLOWBRO took a"
-	line "snooze..."
-	done
-
-_CeruleanCityText_19774::
-	text "SLOWBRO is"
-	line "loafing around..."
-	done
-
-_CeruleanCityText_19779::
-	text "SLOWBRO turned"
-	line "away..."
-	done
-
-_CeruleanCityText_1977e::
-	text "SLOWBRO"
-	line "ignored orders..."
-	done
-
-_CeruleanCityText9::
-	text "I want a bright"
-	line "red BICYCLE!"
-
-	para "I'll keep it at"
-	line "home, so it won't"
-	cont "get dirty!"
-	done
-
-_CeruleanCityText10::
-	text "This is CERULEAN"
-	line "CAVE! Horribly"
-	cont "strong #MON"
-	cont "live in there!"
-
-	para "The #MON LEAGUE"
-	line "champion is the"
-	cont "only person who"
-	cont "is allowed in!"
-	done
-
-_CeruleanCityText12::
-	text "CERULEAN CITY"
-	line "A Mysterious,"
-	cont "Blue Aura"
-	cont "Surrounds It"
-	done
-
-_CeruleanCityText13::
-	text "TRAINER TIPS"
-
-	para "Pressing B Button"
-	line "during evolution"
-	cont "cancels the whole"
-	cont "process."
-	done
-
-_CeruleanCityText16::
-	text "Grass and caves"
-	line "handled easily!"
-	cont "BIKE SHOP"
-	done
-
-_CeruleanCityText17::
-	text "CERULEAN CITY"
-	line "#MON GYM"
-	cont "LEADER: MISTY"
-
-	para "The Tomboyish"
-	line "Mermaid!"
-	done
--- a/text/maps/cerulean_gym.asm
+++ /dev/null
@@ -1,131 +1,0 @@
-_CeruleanGymText_5c7be::
-	text "Hi, you're a new"
-	line "face!"
-
-	para "Trainers who want"
-	line "to turn pro have"
-	cont "to have a policy"
-	cont "about #MON!"
-
-	para "What is your"
-	line "approach when you"
-	cont "catch #MON?"
-
-	para "My policy is an"
-	line "all-out offensive"
-	cont "with water-type"
-	cont "#MON!"
-	done
-
-_CeruleanGymText_5c7c3::
-	text "TM11 teaches"
-	line "BUBBLEBEAM!"
-
-	para "Use it on an"
-	line "aquatic #MON!"
-	done
-
-_CeruleanGymText_5c7c8::
-	text "The CASCADEBADGE"
-	line "makes all #MON"
-	cont "up to L30 obey!"
-
-	para "That includes"
-	line "even outsiders!"
-
-	para "There's more, you"
-	line "can now use CUT"
-	cont "any time!"
-
-	para "You can CUT down"
-	line "small bushes to"
-	cont "open new paths!"
-
-	para "You can also have"
-	line "my favorite TM!"
-	done
-
-_ReceivedTM11Text::
-	text "<PLAYER> received"
-	line "TM11!@@"
-
-_CeruleanGymText_5c7d3::
-	text "You better make"
-	line "room for this!"
-	done
-
-_CeruleanGymText_5c7d8::
-	text "Wow!"
-	line "You're too much!"
-
-	para "All right!"
-
-	para "You can have the"
-	line "CASCADEBADGE to"
-	cont "show you beat me!@@"
-
-_CeruleanGymBattleText1::
-	text "I'm more than good"
-	line "enough for you!"
-
-	para "MISTY can wait!"
-	done
-
-_CeruleanGymEndBattleText1::
-	text "You"
-	line "overwhelmed me!"
-	prompt
-
-_CeruleanGymAfterBattleText1::
-	text "You have to face"
-	line "other trainers to"
-	cont "find out how good"
-	cont "you really are."
-	done
-
-_CeruleanGymBattleText2::
-	text "Splash!"
-
-	para "I'm first up!"
-	line "Let's do it!"
-	done
-
-_CeruleanGymEndBattleText2::
-	text "That"
-	line "can't be!"
-	prompt
-
-_CeruleanGymAfterBattleText2::
-	text "MISTY is going to"
-	line "keep improving!"
-
-	para "She won't lose to"
-	line "someone like you!"
-	done
-
-_CeruleanGymText_5c82a::
-	text "Yo! Champ in"
-	line "making!"
-
-	para "Here's my advice!"
-
-	para "The LEADER, MISTY,"
-	line "is a pro who uses"
-	cont "water #MON!"
-
-	para "You can drain all"
-	line "their water with"
-	cont "plant #MON!"
-
-	para "Or, zap them with"
-	line "electricity!"
-	done
-
-_CeruleanGymText_5c82f::
-	text "You beat MISTY!"
-	line "What'd I tell ya?"
-
-	para "You and me kid,"
-	line "we make a pretty"
-	cont "darn good team!"
-	done
--- a/text/maps/cerulean_mart.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-_CeruleanMartText2::
-	text "Use REPEL to keep"
-	line "bugs and weak"
-	cont "#MON away."
-
-	para "Put your strongest"
-	line "#MON at the"
-	cont "top of the list"
-	cont "for best results!"
-	done
-
-_CeruleanMartText3::
-	text "Have you seen any"
-	line "RARE CANDY?"
-
-	para "It's supposed to"
-	line "make #MON go"
-	cont "up one level!"
-	done
--- a/text/maps/cerulean_pokecenter.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-_CeruleanPokecenterText2::
-	text "That BILL!"
-
-	para "I heard that"
-	line "he'll do whatever"
-	cont "it takes to get"
-	cont "rare #MON!"
-	done
-
-_CeruleanPokecenterText3::
-	text "Have you heard"
-	line "about BILL?"
-
-	para "Everyone calls"
-	line "him a #MANIAC!"
-
-	para "I think people"
-	line "are just jealous"
-	cont "of BILL, though."
-
-	para "Who wouldn't want"
-	line "to boast about"
-	cont "their #MON?"
-	done
--- a/text/maps/cerulean_trade_house.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-_CeruleanHouse1Text1::
-	text "My husband likes"
-	line "trading #MON."
-
-	para "If you are a"
-	line "collector, would"
-	cont "you please trade"
-	cont "with him?"
-	done
--- a/text/maps/cerulean_trashed_house.asm
+++ /dev/null
@@ -1,36 +1,0 @@
-_CeruleanTrashedText_1d6ab::
-	text "Those miserable"
-	line "ROCKETs!"
-
-	para "Look what they"
-	line "did here!"
-
-	para "They stole a TM"
-	line "for teaching"
-	cont "#MON how to"
-	cont "DIG holes!"
-
-	para "That cost me a"
-	line "bundle, it did!"
-	done
-
-_CeruleanTrashedText_1d6b0::
-	text "I figure what's"
-	line "lost is lost!"
-
-	para "I decided to teach"
-	line "DIGLETT how to"
-	cont "DIG without a TM!"
-	done
-
-_CeruleanHouseTrashedText2::
-	text "TEAM ROCKET must"
-	line "be trying to DIG"
-	cont "their way into no"
-	cont "good!"
-	done
-
-_CeruleanHouseTrashedText3::
-	text "TEAM ROCKET left"
-	line "a way out!"
-	done
--- a/text/maps/champion.asm
+++ /dev/null
@@ -1,146 +1,0 @@
-_GaryChampionIntroText::
-	text "<RIVAL>: Hey!"
-
-	para "I was looking"
-	line "forward to seeing"
-	cont "you, <PLAYER>!"
-
-	para "My rival should"
-	line "be strong to keep"
-	cont "me sharp!"
-
-	para "While working on"
-	line "#DEX, I looked"
-	cont "all over for"
-	cont "powerful #MON!"
-
-	para "Not only that, I"
-	line "assembled teams"
-	cont "that would beat"
-	cont "any #MON type!"
-
-	para "And now!"
-
-	para "I'm the #MON"
-	line "LEAGUE champion!"
-
-	para "<PLAYER>! Do you"
-	line "know what that"
-	cont "means?"
-
-	para "I'll tell you!"
-
-	para "I am the most"
-	line "powerful trainer"
-	cont "in the world!"
-	done
-
-_GaryDefeatedText::
-	text "NO!"
-	line "That can't be!"
-	cont "You beat my best!"
-
-	para "After all that"
-	line "work to become"
-	cont "LEAGUE champ?"
-
-	para "My reign is over"
-	line "already?"
-	cont "It's not fair!"
-	prompt
-
-_GaryVictoryText::
-	text "Hahaha!"
-	line "I won, I won!"
-
-	para "I'm too good for"
-	line "you, <PLAYER>!"
-
-	para "You did well to"
-	line "even reach me,"
-	cont "<RIVAL>, the"
-	cont "#MON genius!"
-
-	para "Nice try, loser!"
-	line "Hahaha!"
-	prompt
-
-_GaryText_76103::
-	text "Why?"
-	line "Why did I lose?"
-
-	para "I never made any"
-	line "mistakes raising"
-	cont "my #MON..."
-
-	para "Darn it! You're"
-	line "the new #MON"
-	cont "LEAGUE champion!"
-
-	para "Although I don't"
-	line "like to admit it."
-	done
-
-_GaryText2::
-	text "OAK: <PLAYER>!"
-	done
-
-_GaryText_76120::
-	text "OAK: So, you won!"
-	line "Congratulations!"
-	cont "You're the new"
-	cont "#MON LEAGUE"
-	cont "champion!"
-
-	para "You've grown up so"
-	line "much since you"
-	cont "first left with"
-	cont "@"
-	TX_RAM wcd6d
-	text "!"
-
-	para "<PLAYER>, you have"
-	line "come of age!"
-	done
-
-_GaryText_76125::
-	text "OAK: <RIVAL>! I'm"
-	line "disappointed!"
-
-	para "I came when I"
-	line "heard you beat"
-	cont "the ELITE FOUR!"
-
-	para "But, when I got"
-	line "here, you had"
-	cont "already lost!"
-
-	para "<RIVAL>! Do you"
-	line "understand why"
-	cont "you lost?"
-
-	para "You have forgotten"
-	line "to treat your"
-	cont "#MON with"
-	cont "trust and love!"
-
-	para "Without them, you"
-	line "will never become"
-	cont "a champ again!"
-	done
-
-_GaryText_7612a::
-	text "OAK: <PLAYER>!"
-
-	para "You understand"
-	line "that your victory"
-	cont "was not just your"
-	cont "own doing!"
-
-	para "The bond you share"
-	line "with your #MON"
-	cont "is marvelous!"
-
-	para "<PLAYER>!"
-	line "Come with me!"
-	done
--- a/text/maps/cinnabar_gym.asm
+++ /dev/null
@@ -1,209 +1,0 @@
-_BlaineBattleText::
-	text "Hah!"
-
-	para "I am BLAINE! I"
-	line "am the LEADER of"
-	cont "CINNABAR GYM!"
-
-	para "My fiery #MON"
-	line "will incinerate"
-	cont "all challengers!"
-
-	para "Hah! You better"
-	line "have BURN HEAL!"
-	done
-
-_BlaineEndBattleText::
-	text "I have"
-	line "burnt out!"
-
-	para "You have earned"
-	line "the VOLCANOBADGE!@@"
-
-_BlaineFireBlastText::
-	text "FIRE BLAST is the"
-	line "ultimate fire"
-	cont "technique!"
-
-	para "Don't waste it on"
-	line "water #MON!"
-	done
-
-_BlaineBadgeText::
-	text "Hah!"
-
-	para "The VOLCANOBADGE"
-	line "heightens the"
-	cont "SPECIAL abilities"
-	cont "of your #MON!"
-
-	para "Here, you can"
-	line "have this too!"
-	done
-
-_ReceivedTM38Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM38ExplanationText::
-	db $0
-	para "TM38 contains"
-	line "FIRE BLAST!"
-
-	para "Teach it to fire-"
-	line "type #MON!"
-
-	para "CHARMELEON or"
-	line "PONYTA would be"
-	cont "good bets!"
-	done
-
-_TM38NoRoomText::
-	text "Make room for my"
-	line "gift!"
-	done
-
-_CinnabarGymText_7595f::
-	text "Do you know how"
-	line "hot #MON fire"
-	cont "breath can get?"
-	done
-
-_CinnabarGymText_75964::
-	text "Yow!"
-	line "Hot, hot, hot!"
-	prompt
-
-_CinnabarGymText_75969::
-	text "Fire, or to be"
-	line "more precise,"
-	cont "combustion..."
-
-	para "Blah, blah, blah,"
-	line "blah..."
-	done
-
-_CinnabarGymText_75994::
-	text "I was a thief, but"
-	line "I became straight"
-	cont "as a trainer!"
-	done
-
-_CinnabarGymText_75999::
-	text "I"
-	line "surrender!"
-	prompt
-
-_CinnabarGymText_7599e::
-	text "I can't help"
-	line "stealing other"
-	cont "people's #MON!"
-	done
-
-_CinnabarGymText_759c9::
-	text "You can't win!"
-	line "I have studied"
-	cont "#MON totally!"
-	done
-
-_CinnabarGymText_759ce::
-	text "Waah!"
-	line "My studies!"
-	prompt
-
-_CinnabarGymText_759d3::
-	text "My theories are"
-	line "too complicated"
-	cont "for you!"
-	done
-
-_CinnabarGymText_759fe::
-	text "I just like using"
-	line "fire #MON!"
-	done
-
-_CinnabarGymText_75a03::
-	text "Too hot"
-	line "to handle!"
-	prompt
-
-_CinnabarGymText_75a08::
-	text "I wish there was"
-	line "a thief #MON!"
-	cont "I'd use that!"
-	done
-
-_CinnabarGymText_75a33::
-	text "I know why BLAINE"
-	line "became a trainer!"
-	done
-
-_CinnabarGymText_75a38::
-	text "Ow!"
-	prompt
-
-_CinnabarGymText_75a3d::
-	text "BLAINE was lost"
-	line "in the mountains"
-	cont "when a fiery bird"
-	cont "#MON appeared."
-
-	para "Its light enabled"
-	line "BLAINE to find"
-	cont "his way down!"
-	done
-
-_CinnabarGymText_75a68::
-	text "I've been to many"
-	line "GYMs, but this is"
-	cont "my favorite!"
-	done
-
-_CinnabarGymText_75a6d::
-	text "Yowza!"
-	line "Too hot!"
-	prompt
-
-_CinnabarGymText_75a72::
-	text "Us fire #MON"
-	line "fans like PONYTA"
-	cont "and NINETALES!"
-	done
-
-_CinnabarGymText_75a9d::
-	text "Fire is weak"
-	line "against H2O!"
-	done
-
-_CinnabarGymText_75aa2::
-	text "Oh!"
-	line "Snuffed out!"
-	prompt
-
-_CinnabarGymText_75aa7::
-	text "Water beats fire!"
-	line "But, fire melts"
-	cont "ice #MON!"
-	done
-
-_CinnabarGymText_75ac2::
-	text "Yo! Champ in"
-	line "making!"
-
-	para "The hot-headed"
-	line "BLAINE is a fire"
-	cont "#MON pro!"
-
-	para "Douse his spirits"
-	line "with water!"
-
-	para "You better take"
-	line "some BURN HEALs!"
-	done
-
-_CinnabarGymText_75ac7::
-	text "<PLAYER>! You beat"
-	line "that fire brand!"
-	done
--- a/text/maps/cinnabar_island.asm
+++ /dev/null
@@ -1,37 +1,0 @@
-_CinnabarIslandText8::
-	text "The door is"
-	line "locked..."
-	done
-
-_CinnabarIslandText1::
-	text "CINNABAR GYM's"
-	line "BLAINE is an odd"
-	cont "man who has lived"
-	cont "here for decades."
-	done
-
-_CinnabarIslandText2::
-	text "Scientists conduct"
-	line "experiments in"
-	cont "the burned out"
-	cont "building."
-	done
-
-_CinnabarIslandText3::
-	text "CINNABAR ISLAND"
-	line "The Fiery Town of"
-	cont "Burning Desire"
-	done
-
-_CinnabarIslandText6::
-	text "#MON LAB"
-	done
-
-_CinnabarIslandText7::
-	text "CINNABAR ISLAND"
-	line "#MON GYM"
-	cont "LEADER: BLAINE"
-
-	para "The Hot-Headed"
-	line "Quiz Master!"
-	done
--- a/text/maps/cinnabar_lab.asm
+++ /dev/null
@@ -1,29 +1,0 @@
-_Lab1Text1::
-	text "We study #MON"
-	line "extensively here."
-
-	para "People often bring"
-	line "us rare #MON"
-	cont "for examination."
-	done
-
-_Lab1Text2::
-	text "A photo of the"
-	line "LAB's founder,"
-	cont "DR.FUJI!"
-	done
-
-_Lab1Text3::
-	text "#MON LAB"
-	line "Meeting Room"
-	done
-
-_Lab1Text4::
-	text "#MON LAB"
-	line "R-and-D Room"
-	done
-
-_Lab1Text5::
-	text "#MON LAB"
-	line "Testing Room"
-	done
--- a/text/maps/cinnabar_lab_fossil_room.asm
+++ /dev/null
@@ -1,78 +1,0 @@
-_Lab4Text_75dc6::
-	text "Hiya!"
-
-	para "I am important"
-	line "doctor!"
-
-	para "I study here rare"
-	line "#MON fossils!"
-
-	para "You! Have you a"
-	line "fossil for me?"
-	prompt
-
-_Lab4Text_75dcb::
-	text "No! Is too bad!"
-	done
-
-_Lab4Text_75dd0::
-	text "I take a little"
-	line "time!"
-
-	para "You go for walk a"
-	line "little while!"
-	done
-
-_Lab4Text_75dd5::
-	text "Where were you?"
-
-	para "Your fossil is"
-	line "back to life!"
-
-	para "It was @"
-	TX_RAM wcf4b
-	db $0
-	line "like I think!"
-	prompt
-
-_Lab4Text_610ae::
-	text "Oh! That is"
-	line "@"
-	TX_RAM wcd6d
-	text "!"
-
-	para "It is fossil of"
-	line "@"
-	TX_RAM wcf4b
-	text ", a"
-	cont "#MON that is"
-	cont "already extinct!"
-
-	para "My Resurrection"
-	line "Machine will make"
-	cont "that #MON live"
-	cont "again!"
-	done
-
-_Lab4Text_610b3::
-	text "So! You hurry and"
-	line "give me that!"
-
-	para "<PLAYER> handed"
-	line "over @"
-	TX_RAM wcd6d
-	text "!"
-	prompt
-
-_Lab4Text_610b8::
-	text "I take a little"
-	line "time!"
-
-	para "You go for walk a"
-	line "little while!"
-	done
-
-_Lab4Text_610bd::
-	text "Aiyah! You come"
-	line "again!"
-	done
--- a/text/maps/cinnabar_lab_metronome_room.asm
+++ /dev/null
@@ -1,63 +1,0 @@
-_TM35PreReceiveText::
-	text "Tch-tch-tch!"
-	line "I made a cool TM!"
-
-	para "It can cause all"
-	line "kinds of fun!"
-	prompt
-
-_ReceivedTM35Text::
-	text "<PLAYER> received "
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM35ExplanationText::
-	text "Tch-tch-tch!"
-	line "That's the sound"
-	cont "of a METRONOME!"
-
-	para "It tweaks your"
-	line "#MON's brain"
-	cont "into using moves"
-	cont "it doesn't know!"
-	done
-
-_TM35NoRoomText::
-	text "Your pack is"
-	line "crammed full!"
-	done
-
-_Lab3Text2::
-	text "EEVEE can evolve"
-	line "into 1 of 3 kinds"
-	cont "of #MON."
-	done
-
-_Lab3Text3::
-	text "There's an e-mail"
-	line "message!"
-
-	para "..."
-
-	para "The 3 legendary"
-	line "bird #MON are"
-	cont "ARTICUNO, ZAPDOS"
-	cont "and MOLTRES."
-
-	para "Their whereabouts"
-	line "are unknown."
-
-	para "We plan to explore"
-	line "the cavern close"
-	cont "to CERULEAN."
-
-	para "From: #MON"
-	line "RESEARCH TEAM"
-
-	para "..."
-	done
-
-_Lab3Text5::
-	text "An amber pipe!"
-	done
--- a/text/maps/cinnabar_lab_trade_room.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-_Lab2Text1::
-	text "I found this very"
-	line "strange fossil in"
-	cont "MT.MOON!"
-
-	para "I think it's a"
-	line "rare, prehistoric"
-	cont "#MON!"
-	done
--- a/text/maps/cinnabar_mart.asm
+++ /dev/null
@@ -1,10 +1,0 @@
-_CinnabarMartText2::
-	text "Don't they have X"
-	line "ATTACK? It's good"
-	cont "for battles!"
-	done
-
-_CinnabarMartText3::
-	text "It never hurts to"
-	line "have extra items!"
-	done
--- a/text/maps/cinnabar_pokecenter.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-_CinnabarPokecenterText2::
-	text "You can cancel"
-	line "evolution."
-
-	para "When a #MON is"
-	line "evolving, you can"
-	cont "stop it and leave"
-	cont "it the way it is."
-	done
-
-_CinnabarPokecenterText3::
-	text "Do you have any"
-	line "friends?"
-
-	para "#MON you get"
-	line "in trades grow"
-	cont "very quickly."
-
-	para "I think it's"
-	line "worth a try!"
-	done
--- a/text/maps/copycats_house_1f.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-_CopycatsHouse1FText1::
-	text "My daughter is so"
-	line "self-centered."
-	cont "She only has a"
-	cont "few friends."
-	done
-
-_CopycatsHouse1FText2::
-	text "My daughter likes"
-	line "to mimic people."
-
-	para "Her mimicry has"
-	line "earned her the"
-	cont "nickname COPYCAT"
-	cont "around here!"
-	done
-
-_CopycatsHouse1FText3::
-	text "CHANSEY: Chaan!"
-	line "Sii!@@"
--- a/text/maps/copycats_house_2f.asm
+++ /dev/null
@@ -1,96 +1,0 @@
-_CopycatsHouse2FText_5ccd4::
-	text "<PLAYER>: Hi! Do"
-	line "you like #MON?"
-
-	para "<PLAYER>: Uh no, I"
-	line "just asked you."
-
-	para "<PLAYER>: Huh?"
-	line "You're strange!"
-
-	para "COPYCAT: Hmm?"
-	line "Quit mimicking?"
-
-	para "But, that's my"
-	line "favorite hobby!"
-	prompt
-
-_TM31PreReceiveText::
-	text "Oh wow!"
-	line "A # DOLL!"
-
-	para "For me?"
-	line "Thank you!"
-
-	para "You can have"
-	line "this, then!"
-	prompt
-
-_ReceivedTM31Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM31ExplanationText1::
-	db $0
-	para "TM31 contains my"
-	line "favorite, MIMIC!"
-
-	para "Use it on a good"
-	line "#MON!@@"
-
-_TM31ExplanationText2::
-	text "<PLAYER>: Hi!"
-	line "Thanks for TM31!"
-
-	para "<PLAYER>: Pardon?"
-
-	para "<PLAYER>: Is it"
-	line "that fun to mimic"
-	cont "my every move?"
-
-	para "COPYCAT: You bet!"
-	line "It's a scream!"
-	done
-
-_TM31NoRoomText::
-	text "Don't you want"
-	line "this?@@"
-
-_CopycatsHouse2FText2::
-	text "DODUO: Giiih!"
-
-	para "MIRROR MIRROR ON"
-	line "THE WALL, WHO IS"
-	cont "THE FAIREST ONE"
-	cont "OF ALL?"
-	done
-
-_CopycatsHouse2FText3::
-	text "This is a rare"
-	line "#MON! Huh?"
-	cont "It's only a doll!"
-	done
-
-_CopycatsHouse2FText6::
-	text "A game with MARIO"
-	line "wearing a bucket"
-	cont "on his head!"
-	done
-
-_CopycatsHouse2FText_5cd17::
-	text "..."
-
-	para "My Secrets!"
-
-	para "Skill: Mimicry!"
-	line "Hobby: Collecting"
-	cont "dolls!"
-	cont "Favorite #MON:"
-	cont "CLEFAIRY!"
-	done
-
-_CopycatsHouse2FText_5cd1c::
-	text "Huh? Can't see!"
-	done
--- a/text/maps/daycare_1.asm
+++ /dev/null
@@ -1,62 +1,0 @@
-_DayCareIntroText::
-	text "I run a DAYCARE."
-	line "Would you like me"
-	cont "to raise one of"
-	cont "your #MON?"
-	done
-
-_DayCareWhichMonText::
-	text "Which #MON"
-	line "should I raise?"
-	prompt
-
-_DayCareWillLookAfterMonText::
-	text "Fine, I'll look"
-	line "after @"
-	TX_RAM wcd6d
-	db $0
-	cont "for a while."
-	prompt
-
-_DayCareComeSeeMeInAWhileText::
-	text "Come see me in"
-	line "a while."
-	done
-
-_DayCareMonHasGrownText::
-	text "Your @"
-	TX_RAM wcd6d
-	db $0
-	line "has grown a lot!"
-
-	para "By level, it's"
-	line "grown by @"
-	TX_NUM wDayCareNumLevelsGrown,$1,$3
-	text "!"
-
-	para "Aren't I great?"
-	prompt
-
-_DayCareOweMoneyText::
-	text "You owe me ¥@"
-	TX_BCD wDayCareTotalCost, $c2
-	db $0
-	line "for the return"
-	cont "of this #MON."
-	done
-
-_DayCareGotMonBackText::
-	text "<PLAYER> got"
-	line "@"
-	TX_RAM wDayCareMonName
-	text " back!"
-	done
-
-_DayCareMonNeedsMoreTimeText::
-	text "Back already?"
-	line "Your @"
-	TX_RAM wcd6d
-	db $0
-	cont "needs some more"
-	cont "time with me."
-	prompt
--- a/text/maps/daycare_2.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-_DayCareAllRightThenText::
-	text "All right then,"
-	line "@@"
-
-_DayCareComeAgainText::
-	text "come again."
-	done
-
-_DayCareNoRoomForMonText::
-	text "You have no room"
-	line "for this #MON!"
-	done
-
-_DayCareOnlyHaveOneMonText::
-	text "You only have one"
-	line "#MON with you."
-	done
-
-_DayCareCantAcceptMonWithHMText::
-	text "I can't accept a"
-	line "#MON that"
-	cont "knows an HM move."
-	done
-
-_DayCareHeresYourMonText::
-	text "Thank you! Here's"
-	line "your #MON!"
-	prompt
-
-_DayCareNotEnoughMoneyText::
-	text "Hey, you don't"
-	line "have enough ¥!"
-	done
--- a/text/maps/digletts_cave_route_11_entrance.asm
+++ /dev/null
@@ -1,8 +1,0 @@
-_DiglettsCaveEntRoute11Text1::
-	text "What a surprise!"
-	line "DIGLETTs dug this"
-	cont "long tunnel!"
-
-	para "It goes right to"
-	line "VIRIDIAN CITY!"
-	done
--- a/text/maps/digletts_cave_route_2_entrance.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-_DiglettsCaveRoute2Text1::
-	text "I went to ROCK"
-	line "TUNNEL, but it's"
-	cont "dark and scary."
-
-	para "If a #MON's"
-	line "FLASH could light"
-	cont "it up..."
-	done
--- a/text/maps/fan_club.asm
+++ /dev/null
@@ -1,143 +1,0 @@
-PikachuFanText::
-	text "Won't you admire"
-	line "my PIKACHU's"
-	cont "adorable tail?"
-	done
-
-PikachuFanBetterText::
-	text "Humph! My PIKACHU"
-	line "is twice as cute"
-	cont "as that one!"
-	done
-
-SeelFanText::
-	text "I just love my"
-	line "SEEL!"
-
-	para "It squeals when I"
-	line "hug it!"
-	done
-
-SeelFanBetterText::
-	text "Oh dear!"
-
-	para "My SEEL is far"
-	line "more attractive!"
-	done
-
-FanClubPikachuText::
-	text "PIKACHU: Chu!"
-	line "Pikachu!"
-	done
-
-FanClubSeelText::
-	text "SEEL: Kyuoo!"
-	done
-
-FanClubMeetChairText::
-	text "I chair the"
-	line "#MON Fan Club!"
-
-	para "I have collected"
-	line "over 100 #MON!"
-
-	para "I'm very fussy"
-	line "when it comes to"
-	cont "#MON!"
-
-	para "So..."
-
-	para "Did you come"
-	line "visit to hear"
-	cont "about my #MON?"
-	done
-
-FanClubChairStoryText::
-	text "Good!"
-	line "Then listen up!"
-
-	para "My favorite"
-	line "RAPIDASH..."
-
-	para "It...cute..."
-	line "lovely...smart..."
-	cont "plus...amazing..."
-	cont "you think so?..."
-	cont "oh yes...it..."
-	cont "stunning..."
-	cont "kindly..."
-	cont "love it!"
-
-	para "Hug it...when..."
-	cont "sleeping...warm"
-	cont "and cuddly..."
-	cont "spectacular..."
-	cont "ravishing..."
-	cont "...Oops! Look at"
-	cont "the time! I kept"
-	cont "you too long!"
-
-	para "Thanks for hearing"
-	line "me out! I want"
-	cont "you to have this!"
-	prompt
-
-ReceivedBikeVoucherText::
-	text "<PLAYER> received"
-	line "a @"
-	TX_RAM wcf4b
-	text "!@@"
-
-ExplainBikeVoucherText::
-	text ""
-	para "Exchange that for"
-	line "a BICYCLE!"
-
-	para "Don't worry, my"
-	line "FEAROW will FLY"
-	cont "me anywhere!"
-
-	para "So, I don't need a"
-	line "BICYCLE!"
-
-	para "I hope you like"
-	line "cycling!"
-	done
-
-FanClubNoStoryText::
-	text "Oh. Come back"
-	line "when you want to"
-	cont "hear my story!"
-	done
-
-FanClubChairFinalText::
-	text "Hello, <PLAYER>!"
-
-	para "Did you come see"
-	line "me about my"
-	cont "#MON again?"
-
-	para "No? Too bad!"
-	done
-
-FanClubBagFullText::
-	text "Make room for"
-	line "this!"
-	done
-
-_FanClubText6::
-	text "Our Chairman is"
-	line "very vocal about"
-	cont "#MON."
-	done
-
-_FanClubText7::
-	text "Let's all listen"
-	line "politely to other"
-	cont "trainers!"
-	done
-
-_FanClubText8::
-	text "If someone brags,"
-	line "brag right back!"
-	done
--- a/text/maps/fighting_dojo.asm
+++ /dev/null
@@ -1,130 +1,0 @@
-_FightingDojoText_5ce8e::
-	text "Grunt!"
-
-	para "I am the KARATE"
-	line "MASTER! I am the"
-	cont "LEADER here!"
-
-	para "You wish to"
-	line "challenge us?"
-	cont "Expect no mercy!"
-
-	para "Fwaaa!"
-	done
-
-_FightingDojoText_5ce93::
-	text "Hwa!"
-	line "Arrgh! Beaten!"
-	prompt
-
-_FightingDojoText_5ce98::
-	text "Indeed, I have"
-	line "lost!"
-
-	para "But, I beseech"
-	line "you, do not take"
-	cont "our emblem as"
-	cont "your trophy!"
-
-	para "In return, I will"
-	line "give you a prized"
-	cont "fighting #MON!"
-
-	para "Choose whichever"
-	line "one you like!"
-	done
-
-_FightingDojoText_5ce9d::
-	text "Ho!"
-
-	para "Stay and train at"
-	line "Karate with us!"
-	done
-
-_FightingDojoBattleText1::
-	text "Hoargh! Take your"
-	line "shoes off!"
-	done
-
-_FightingDojoEndBattleText1::
-	text "I give"
-	line "up!"
-	prompt
-
-_FightingDojoAfterBattleText1::
-	text "You wait 'til you"
-	line "see our Master!"
-
-	para "I'm a small fry"
-	line "compared to him!"
-	done
-
-_FightingDojoBattleText2::
-	text "I hear you're"
-	line "good! Show me!"
-	done
-
-_FightingDojoEndBattleText2::
-	text "Judge!"
-	line "1 point!"
-	prompt
-
-_FightingDojoAfterBattleText2::
-	text "Our Master is a"
-	line "pro fighter!"
-	done
-
-_FightingDojoBattleText3::
-	text "Nothing tough"
-	line "frightens me!"
-
-	para "I break boulders"
-	line "for training!"
-	done
-
-_FightingDojoEndBattleText3::
-	text "Yow!"
-	line "Stubbed fingers!"
-	prompt
-
-_FightingDojoAfterBattleText3::
-	text "The only thing"
-	line "that frightens us"
-	cont "is psychic power!"
-	done
-
-_FightingDojoBattleText4::
-	text "Hoohah!"
-
-	para "You're trespassing"
-	line "in our FIGHTING"
-	cont "DOJO!"
-	done
-
-_FightingDojoEndBattleText4::
-	text "Oof!"
-	line "I give up!"
-	prompt
-
-_FightingDojoAfterBattleText4::
-	text "The prime fighters"
-	line "across the land"
-	cont "train here."
-	done
-
-_WantHitmonleeText::
-	text "You want the"
-	line "hard kicking"
-	cont "HITMONLEE?"
-	done
-
-_WantHitmonchanText::
-	text "You want the"
-	line "piston punching"
-	cont "HITMONCHAN?"
-	done
-
-_OtherHitmonText::
-	text "Better not get"
-	line "greedy..."
-	done
--- a/text/maps/fuchsia_city.asm
+++ /dev/null
@@ -1,119 +1,0 @@
-_FuchsiaCityText1::
-	text "Did you try the"
-	line "SAFARI GAME? Some"
-	cont "#MON can only"
-	cont "be caught there."
-	done
-
-_FuchsiaCityText2::
-	text "SAFARI ZONE has a"
-	line "zoo in front of"
-	cont "the entrance."
-
-	para "Out back is the"
-	line "SAFARI GAME for"
-	cont "catching #MON."
-	done
-
-_FuchsiaCityText3::
-	text "ERIK: Where's"
-	line "SARA? I said I'd"
-	cont "meet her here."
-	done
-
-_FuchsiaCityText4::
-	text "That item ball in"
-	line "there is really a"
-	cont "#MON."
-	done
-
-_FuchsiaCityText5::
-	text "!"
-	done
-
-_FuchsiaCityText11::
-	text "FUCHSIA CITY"
-	line "Behold! It's"
-	cont "Passion Pink!"
-	done
-
-_FuchsiaCityText13::
-	text "SAFARI GAME"
-	line "#MON-U-CATCH!"
-	done
-
-_FuchsiaCityText16::
-	text "SAFARI ZONE"
-	line "WARDEN's HOME"
-	done
-
-_FuchsiaCityText17::
-	text "#MON PARADISE"
-	line "SAFARI ZONE"
-	done
-
-_FuchsiaCityText18::
-	text "FUCHSIA CITY"
-	line "#MON GYM"
-	cont "LEADER: KOGA"
-
-	para "The Poisonous"
-	line "Ninja Master"
-	done
-
-_FuchsiaCityChanseyText::
-	text "Name: CHANSEY"
-
-	para "Catching one is"
-	line "all up to chance."
-	prompt
-
-_FuchsiaCityVoltorbText::
-	text "Name: VOLTORB"
-
-	para "The very image of"
-	line "a # BALL."
-	prompt
-
-_FuchsiaCityKangaskhanText::
-	text "Name: KANGASKHAN"
-
-	para "A maternal #MON"
-	line "that raises its"
-	cont "young in a pouch"
-	cont "on its belly."
-	prompt
-
-_FuchsiaCitySlowpokeText::
-	text "Name: SLOWPOKE"
-
-	para "Friendly and very"
-	line "slow moving."
-	prompt
-
-_FuchsiaCityLaprasText::
-	text "Name: LAPRAS"
-
-	para "A.K.A. the king"
-	line "of the seas."
-	prompt
-
-_FuchsiaCityOmanyteText::
-	text "Name: OMANYTE"
-
-	para "A #MON that"
-	line "was resurrected"
-	cont "from a fossil."
-	prompt
-
-_FuchsiaCityKabutoText::
-	text "Name: KABUTO"
-
-	para "A #MON that"
-	line "was resurrected"
-	cont "from a fossil."
-	prompt
-
-_FuchsiaCityText_19b2a::
-	text "..."
-	done
--- a/text/maps/fuchsia_fishing_house.asm
+++ /dev/null
@@ -1,43 +1,0 @@
-_FuchsiaHouse3Text_561bd::
-	text "I'm the FISHING"
-	line "GURU's older"
-	cont "brother!"
-
-	para "I simply Looove"
-	line "fishing!"
-
-	para "Do you like to"
-	line "fish?"
-	done
-
-_FuchsiaHouse3Text_561c2::
-	text "Grand! I like"
-	line "your style!"
-
-	para "Take this and"
-	line "fish, young one!"
-
-	para "<PLAYER> received"
-	line "a @"
-	TX_RAM wcf4b
-	text "!@@"
-
-_FuchsiaHouse3Text_56212::
-	text "Oh... That's so"
-	line "disappointing..."
-	done
-
-_FuchsiaHouse3Text_56217::
-	text "Hello there,"
-	line "<PLAYER>!"
-
-	para "How are the fish"
-	line "biting?"
-	done
-
-_FuchsiaHouse3Text_5621c::
-	text "Oh no!"
-
-	para "You have no room"
-	line "for my gift!"
-	done
--- a/text/maps/fuchsia_gym_1.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-_KogaBeforeBattleText::
-	text "KOGA: Fwahahaha!"
-
-	para "A mere child like"
-	line "you dares to"
-	cont "challenge me?"
-
-	para "Very well, I"
-	line "shall show you"
-	cont "true terror as a"
-	cont "ninja master!"
-
-	para "You shall feel"
-	line "the despair of"
-	cont "poison and sleep"
-	cont "techniques!"
-	done
-
-_KogaAfterBattleText::
-	text "Humph!"
-	line "You have proven"
-	cont "your worth!"
-
-	para "Here! Take the"
-	line "SOULBADGE!"
-	prompt
--- a/text/maps/fuchsia_gym_2.asm
+++ /dev/null
@@ -1,193 +1,0 @@
-_KogaExplainToxicText::
-	text "When afflicted by"
-	line "TOXIC, #MON"
-	cont "suffer more and"
-	cont "more as battle"
-	cont "progresses!"
-
-	para "It will surely"
-	line "terrorize foes!"
-	done
-
-_FuchsiaGymText9::
-	text "Now that you have"
-	line "the SOULBADGE,"
-	cont "the DEFENSE of"
-	cont "your #MON"
-	cont "increases!"
-
-	para "It also lets you"
-	line "SURF outside of"
-	cont "battle!"
-
-	para "Ah! Take this"
-	line "too!"
-	done
-
-_ReceivedTM06Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM06ExplanationText::
-	db $0
-	para "TM06 contains"
-	line "TOXIC!"
-
-	para "It is a secret"
-	line "technique over"
-	cont "400 years old!"
-	done
-
-_TM06NoRoomText::
-	text "Make space for"
-	line "this, child!"
-	done
-
-_FuchsiaGymBattleText1::
-	text "Strength isn't"
-	line "the key for"
-	cont "#MON!"
-
-	para "It's strategy!"
-
-	para "I'll show you how"
-	line "strategy can beat"
-	cont "brute strength!"
-	done
-
-_FuchsiaGymEndBattleText1::
-	text "What?"
-	line "Extraordinary!"
-	prompt
-
-_FuchsiaGymAfterBattleText1::
-	text "So, you mix brawn"
-	line "with brains?"
-	cont "Good strategy!"
-	done
-
-_FuchsiaGymBattleText2::
-	text "I wanted to become"
-	line "a ninja, so I"
-	cont "joined this GYM!"
-	done
-
-_FuchsiaGymEndBattleText2::
-	text "I'm done"
-	line "for!"
-	prompt
-
-_FuchsiaGymAfterBattleText2::
-	text "I will keep on"
-	line "training under"
-	cont "KOGA, my ninja"
-	cont "master!"
-	done
-
-_FuchsiaGymBattleText3::
-	text "Let's see you"
-	line "beat my special"
-	cont "techniques!"
-	done
-
-_FuchsiaGymEndBattleText3::
-	text "You"
-	line "had me fooled!"
-	prompt
-
-_FuchsiaGymAfterBattleText3::
-	text "I like poison and"
-	line "sleep techniques,"
-	cont "as they linger"
-	cont "after battle!"
-	done
-
-_FuchsiaGymBattleText4::
-	text "Stop right there!"
-
-	para "Our invisible"
-	line "walls have you"
-	cont "frustrated?"
-	done
-
-_FuchsiaGymEndBattleText4::
-	text "Whoa!"
-	line "He's got it!"
-	prompt
-
-_FuchsiaGymAfterBattleText4::
-	text "You impressed me!"
-	line "Here's a hint!"
-
-	para "Look very closely"
-	line "for gaps in the"
-	cont "invisible walls!"
-	done
-
-_FuchsiaGymBattleText5::
-	text "I also study the"
-	line "way of the ninja"
-	cont "with master KOGA!"
-
-	para "Ninja have a long"
-	line "history of using"
-	cont "animals!"
-	done
-
-_FuchsiaGymEndBattleText5::
-	text "Awoo!"
-	prompt
-
-_FuchsiaGymAfterBattleText5::
-	text "I still have much"
-	line "to learn!"
-	done
-
-_FuchsiaGymBattleText6::
-	text "Master KOGA comes"
-	line "from a long line"
-	cont "of ninjas!"
-
-	para "What did you"
-	line "descend from?"
-	done
-
-_FuchsiaGymEndBattleText6::
-	text "Dropped"
-	line "my balls!"
-	prompt
-
-_FuchsiaGymAfterBattleText6::
-	text "Where there is"
-	line "light, there is"
-	cont "shadow!"
-
-	para "Light and shadow!"
-	line "Which do you"
-	cont "choose?"
-	done
-
-_FuchsiaGymText_7564e::
-	text "Yo! Champ in"
-	line "making!"
-
-	para "FUCHSIA GYM is"
-	line "riddled with"
-	cont "invisible walls!"
-
-	para "KOGA might appear"
-	line "close, but he's"
-	cont "blocked off!"
-
-	para "You have to find"
-	line "gaps in the walls"
-	cont "to reach him!"
-	done
-
-_FuchsiaGymText_75653::
-	text "It's amazing how"
-	line "ninja can terrify"
-	cont "even now!"
-	done
--- a/text/maps/fuchsia_house.asm
+++ /dev/null
@@ -1,27 +1,0 @@
-_FuchsiaHouse1Text1::
-	text "SAFARI ZONE's"
-	line "WARDEN is old,"
-	cont "but still active!"
-
-	para "All his teeth are"
-	line "false, though."
-	done
-
-_FuchsiaHouse1Text2::
-	text "Hmm? You've met"
-	line "BILL?"
-
-	para "He's my grandson!"
-
-	para "He always liked"
-	line "collecting things"
-	cont "even as a child!"
-	done
-
-_FuchsiaHouse1Text3::
-	text "BILL files his"
-	line "own #MON data"
-	cont "on his PC!"
-
-	para "Did he show you?"
-	done
--- a/text/maps/fuchsia_mart.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-_FuchsiaMartText2::
-	text "Do you have a"
-	line "SAFARI ZONE flag?"
-
-	para "What about cards"
-	line "or calendars?"
-	done
-
-_FuchsiaMartText3::
-	text "Did you try X"
-	line "SPEED? It speeds"
-	cont "up a #MON in"
-	cont "battle!"
-	done
--- a/text/maps/fuchsia_meeting_room.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-_FuchsiaMeetingRoomText1::
-	text "We nicknamed the"
-	line "WARDEN SLOWPOKE."
-
-	para "He and SLOWPOKE"
-	line "both look vacant!"
-	done
-
-_FuchsiaMeetingRoomText2::
-	text "SLOWPOKE is very"
-	line "knowledgeable"
-	cont "about #MON!"
-
-	para "He even has some"
-	line "fossils of rare,"
-	cont "extinct #MON!"
-	done
-
-_FuchsiaMeetingRoomText3::
-	text "SLOWPOKE came in,"
-	line "but I couldn't"
-	cont "understand him."
-
-	para "I think he's got"
-	line "a speech problem!"
-	done
--- a/text/maps/fuchsia_pokecenter.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-_FuchsiaPokecenterText1::
-	text "You can't win"
-	line "with just one"
-	cont "strong #MON."
-
-	para "It's tough, but"
-	line "you have to raise"
-	cont "them evenly."
-	done
-
-_FuchsiaPokecenterText3::
-	text "There's a narrow"
-	line "trail west of"
-	cont "VIRIDIAN CITY."
-
-	para "It goes to #MON"
-	line "LEAGUE HQ."
-	cont "The HQ governs"
-	cont "all trainers."
-	done
--- a/text/maps/fujis_house.asm
+++ /dev/null
@@ -1,85 +1,0 @@
-_LavenderHouse1Text_1d8d1::
-	text "That's odd, MR.FUJI"
-	line "isn't here."
-	cont "Where'd he go?"
-	done
-
-_LavenderHouse1Text_1d8d6::
-	text "MR.FUJI had been"
-	line "praying alone for"
-	cont "CUBONE's mother."
-	done
-
-_LavenderHouse1Text_1d8f4::
-	text "This is really"
-	line "MR.FUJI's house."
-
-	para "He's really kind!"
-
-	para "He looks after"
-	line "abandoned and"
-	cont "orphaned #MON!"
-	done
-
-_LavenderHouse1Text_1d8f9::
-	text "It's so warm!"
-	line "#MON are so"
-	cont "nice to hug!"
-	done
-
-_LavenderHouse1Text3::
-	text "PSYDUCK: Gwappa!@@"
-
-_LavenderHouse1Text4::
-	text "NIDORINO: Gaoo!@@"
-
-_LavenderHouse1Text_1d94c::
-	text "MR.FUJI: <PLAYER>."
-
-	para "Your #DEX quest"
-	line "may fail without"
-	cont "love for your"
-	cont "#MON."
-
-	para "I think this may"
-	line "help your quest."
-	prompt
-
-_ReceivedFluteText::
-	text "<PLAYER> received"
-	line "a @"
-	TX_RAM wcf4b
-	text "!@@"
-
-_FluteExplanationText::
-	db $0
-	para "Upon hearing #"
-	line "FLUTE, sleeping"
-	cont "#MON will"
-	cont "spring awake."
-
-	para "It works on all"
-	line "sleeping #MON."
-	done
-
-_FluteNoRoomText::
-	text "You must make"
-	line "room for this!"
-	done
-
-_MrFujiAfterFluteText::
-	text "MR.FUJI: Has my"
-	line "FLUTE helped you?"
-	done
-
-_LavenderHouse1Text6::
-	text "#MON Monthly"
-	line "Grand Prize"
-	cont "Drawing!"
-
-	para "The application"
-	line "form is..."
-
-	para "Gone! It's been"
-	line "clipped out!"
-	done
--- a/text/maps/hall_of_fame.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-_HallofFameRoomText1::
-	text "OAK: Er-hem!"
-	line "Congratulations"
-	cont "<PLAYER>!"
-
-	para "This floor is the"
-	line "#MON HALL OF"
-	cont "FAME!"
-
-	para "#MON LEAGUE"
-	line "champions are"
-	cont "honored for their"
-	cont "exploits here!"
-
-	para "Their #MON are"
-	line "also recorded in"
-	cont "the HALL OF FAME!"
-
-	para "<PLAYER>! You have"
-	line "endeavored hard"
-	cont "to become the new"
-	cont "LEAGUE champion!"
-
-	para "Congratulations,"
-	line "<PLAYER>, you and"
-	cont "your #MON are"
-	cont "HALL OF FAMERs!"
-	done
--- a/text/maps/indigo_plateau_lobby.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-_IndigoPlateauLobbyText2::
-	text "Yo! Champ in"
-	line "making!"
-
-	para "At #MON LEAGUE,"
-	line "you have to face"
-	cont "the ELITE FOUR in"
-	cont "succession."
-
-	para "If you lose, you"
-	line "have to start all"
-	cont "over again! This"
-	cont "is it! Go for it!"
-	done
-
-_IndigoPlateauLobbyText3::
-	text "From here on, you"
-	line "face the ELITE"
-	cont "FOUR one by one!"
-
-	para "If you win, a"
-	line "door opens to the"
-	cont "next trainer!"
-	cont "Good luck!"
-	done
--- a/text/maps/lance.asm
+++ /dev/null
@@ -1,63 +1,0 @@
-_LanceBeforeBattleText::
-	text "Ah! I heard about"
-	line "you <PLAYER>!"
-
-	para "I lead the ELITE"
-	line "FOUR! You can"
-	cont "call me LANCE the"
-	cont "dragon trainer!"
-
-	para "You know that"
-	line "dragons are"
-	cont "mythical #MON!"
-
-	para "They're hard to"
-	line "catch and raise,"
-	cont "but their powers"
-	cont "are superior!"
-
-	para "They're virtually"
-	line "indestructible!"
-
-	para "Well, are you"
-	line "ready to lose?"
-
-	para "Your LEAGUE"
-	line "challenge ends"
-	cont "with me, <PLAYER>!"
-	done
-
-_LanceEndBattleText::
-	text "That's it!"
-
-	para "I hate to admit"
-	line "it, but you are a"
-	cont "#MON master!"
-	prompt
-
-_LanceAfterBattleText::
-	text "I still can't"
-	line "believe my"
-	cont "dragons lost to"
-	cont "you, <PLAYER>!"
-
-	para "You are now the"
-	line "#MON LEAGUE"
-	cont "champion!"
-
-	para "...Or, you would"
-	line "have been, but"
-	cont "you have one more"
-	cont "challenge ahead."
-
-	para "You have to face"
-	line "another trainer!"
-	cont "His name is..."
-
-	para "<RIVAL>!"
-	line "He beat the ELITE"
-	cont "FOUR before you!"
-
-	para "He is the real"
-	line "#MON LEAGUE"
-	cont "champion!@@"
--- a/text/maps/lavender_house.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-_LavenderHouse2Text1::
-	text "CUBONE: Kyarugoo!@@"
-
-_LavenderHouse2Text_1d9dc::
-	text "I hate those"
-	line "horrible ROCKETs!"
-
-	para "That poor CUBONE's"
-	line "mother..."
-
-	para "It was killed"
-	line "trying to escape"
-	cont "from TEAM ROCKET!"
-	done
-
-_LavenderHouse2Text_1d9e1::
-	text "The GHOST of"
-	line "#MON TOWER is"
-	cont "gone!"
-
-	para "Someone must have"
-	line "soothed its"
-	cont "restless soul!"
-	done
--- a/text/maps/lavender_mart.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-_LavenderMartText2::
-	text "I'm searching for"
-	line "items that raise"
-	cont "the abilities of"
-	cont "#MON during a"
-	cont "single battle."
-
-	para "X ATTACK, X"
-	line "DEFEND, X SPEED"
-	cont "and X SPECIAL are"
-	cont "what I'm after."
-
-	para "Do you know where"
-	line "I can get them?"
-	done
-
-_LavenderMartReviveText::
-	text "You know REVIVE?"
-	line "It revives any"
-	cont "fainted #MON!"
-	done
-
-_LavenderMartNuggetText::
-	text "I found a NUGGET"
-	line "in the mountains."
-
-	para "I thought it was"
-	line "useless, but it"
-	cont "sold for ¥5000!"
-	done
--- a/text/maps/lavender_pokecenter.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-_LavenderPokecenterText2::
-	text "TEAM ROCKET will"
-	line "do anything for"
-	cont "the sake of gold!"
-	done
-
-_LavenderPokecenterText3::
-	text "I saw CUBONE's"
-	line "mother die trying"
-	cont "to escape from"
-	cont "TEAM ROCKET!"
-	done
--- a/text/maps/lavender_town.asm
+++ /dev/null
@@ -1,64 +1,0 @@
-_LavenderTownText_4413c::
-	text "Do you believe in"
-	line "GHOSTs?"
-	done
-
-_LavenderTownText_44141::
-	text "Really? So there"
-	line "are believers..."
-	done
-
-_LavenderTownText_44146::
-	text "Hahaha, I guess"
-	line "not."
-
-	para "That white hand"
-	line "on your shoulder,"
-	cont "it's not real."
-	done
-
-_LavenderTownText2::
-	text "This town is known"
-	line "as the grave site"
-	cont "of #MON."
-
-	para "Memorial services"
-	line "are held in"
-	cont "#MON TOWER."
-	done
-
-_LavenderTownText3::
-	text "GHOSTs appeared"
-	line "in #MON TOWER."
-
-	para "I think they're"
-	line "the spirits of"
-	cont "#MON that the"
-	cont "ROCKETs killed."
-	done
-
-_LavenderTownText4::
-	text "LAVENDER TOWN"
-	line "The Noble Purple"
-	cont "Town"
-	done
-
-_LavenderTownText5::
-	text "New SILPH SCOPE!"
-
-	para "Make the Invisible"
-	line "Plain to See!"
-
-	para "SILPH CO."
-	done
-
-_LavenderTownText8::
-	text "LAVENDER VOLUNTEER"
-	line "#MON HOUSE"
-	done
-
-_LavenderTownText9::
-	text "May the Souls of"
-	line "#MON Rest Easy"
-	cont "#MON TOWER"
-	done
--- a/text/maps/lorelei.asm
+++ /dev/null
@@ -1,42 +1,0 @@
-_LoreleiBeforeBattleText::
-	text "Welcome to"
-	line "#MON LEAGUE!"
-
-	para "I am LORELEI of"
-	line "the ELITE FOUR!"
-
-	para "No one can best"
-	line "me when it comes"
-	cont "to icy #MON!"
-
-	para "Freezing moves"
-	line "are powerful!"
-
-	para "Your #MON will"
-	line "be at my mercy"
-	cont "when they are"
-	cont "frozen solid!"
-
-	para "Hahaha!"
-	line "Are you ready?"
-	done
-
-_LoreleiEndBattleText::
-	text "How"
-	line "dare you!"
-	prompt
-
-_LoreleiAfterBattleText::
-	text "You're better"
-	line "than I thought!"
-	cont "Go on ahead!"
-
-	para "You only got a"
-	line "taste of #MON"
-	cont "LEAGUE power!"
-	done
-
-_LoreleiDontRunAwayText::
-	text "Someone's voice:"
-	line "Don't run away!"
-	done
--- a/text/maps/mansion_1f.asm
+++ /dev/null
@@ -1,29 +1,0 @@
-_Mansion1BattleText2::
-	text "Who are you? There"
-	line "shouldn't be"
-	cont "anyone here."
-	done
-
-_Mansion1EndBattleText2::
-	text "Ouch!"
-	prompt
-
-_Mansion1AfterBattleText2::
-	text "A key? I don't"
-	line "know what you're"
-	cont "talking about."
-	done
-
-_MansionSwitchText::
-	text "A secret switch!"
-
-	para "Press it?"
-	done
-
-_MansionSwitchPressedText::
-	text "Who wouldn't?"
-	prompt
-
-_MansionSwitchNotPressedText::
-	text "Not quite yet!"
-	done
--- a/text/maps/mansion_2f.asm
+++ /dev/null
@@ -1,47 +1,0 @@
-_Mansion2BattleText1::
-	text "I can't get out!"
-	line "This old place is"
-	cont "one big puzzle!"
-	done
-
-_Mansion2EndBattleText1::
-	text "Oh no!"
-	line "My bag of loot!"
-	prompt
-
-_Mansion2AfterBattleText1::
-	text "Switches open and"
-	line "close alternating"
-	cont "sets of doors!"
-	done
-
-_Mansion2Text3::
-	text "Diary: July 5"
-	line "Guyana,"
-	cont "South America"
-
-	para "A new #MON was"
-	line "discovered deep"
-	cont "in the jungle."
-	done
-
-_Mansion2Text4::
-	text "Diary: July 10"
-	line "We christened the"
-	cont "newly discovered"
-	cont "#MON, MEW."
-	done
-
-_Mansion2Text_520c2::
-	text "A secret switch!"
-
-	para "Press it?"
-	done
-
-_Mansion2Text_520c7::
-	text "Who wouldn't?"
-	prompt
-
-_Mansion2Text_520cc::
-	text "Not quite yet!"
-	done
--- a/text/maps/mansion_3f.asm
+++ /dev/null
@@ -1,37 +1,0 @@
-_Mansion3BattleText1::
-	text "This place is"
-	line "like, huge!"
-	done
-
-_Mansion3EndBattleText1::
-	text "Ayah!"
-	prompt
-
-_Mansion3AfterBattleText1::
-	text "I wonder where"
-	line "my partner went."
-	done
-
-_Mansion3BattleText2::
-	text "My mentor once"
-	line "lived here."
-	done
-
-_Mansion3EndBattleText2::
-	text "Whew!"
-	line "Overwhelming!"
-	prompt
-
-_Mansion3AfterBattleText2::
-	text "So, you're stuck?"
-	line "Try jumping off"
-	cont "over there!"
-	done
-
-_Mansion3Text5::
-	text "Diary: Feb. 6"
-	line "MEW gave birth."
-
-	para "We named the"
-	line "newborn MEWTWO."
-	done
--- a/text/maps/mansion_b1f.asm
+++ /dev/null
@@ -1,39 +1,0 @@
-_Mansion4BattleText1::
-	text "Uh-oh. Where am"
-	line "I now?"
-	done
-
-_Mansion4EndBattleText1::
-	text "Awooh!"
-	prompt
-
-_Mansion4AfterBattleText1::
-	text "You can find stuff"
-	line "lying around."
-	done
-
-_Mansion4BattleText2::
-	text "This place is"
-	line "ideal for a lab."
-	done
-
-_Mansion4EndBattleText2::
-	text "What"
-	line "was that for?"
-	prompt
-
-_Mansion4AfterBattleText2::
-	text "I like it here!"
-	line "It's conducive to"
-	cont "my studies!"
-	done
-
-_Mansion4Text7::
-	text "Diary; Sept. 1"
-	line "MEWTWO is far too"
-	cont "powerful."
-
-	para "We have failed to"
-	line "curb its vicious"
-	cont "tendencies..."
-	done
--- a/text/maps/mr_psychics_house.asm
+++ /dev/null
@@ -1,25 +1,0 @@
-_TM29PreReceiveText::
-	text "...Wait! Don't"
-	line "say a word!"
-
-	para "You wanted this!"
-	prompt
-
-_ReceivedTM29Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM29ExplanationText::
-	text "TM29 is PSYCHIC!"
-
-	para "It can lower the"
-	line "target's SPECIAL"
-	cont "abilities."
-	done
-
-_TM29NoRoomText::
-	text "Where do you plan"
-	line "to put this?"
-	done
--- a/text/maps/mt_moon_1f.asm
+++ /dev/null
@@ -1,119 +1,0 @@
-_MtMoon1BattleText2::
-	text "WHOA! You shocked"
-	line "me! Oh, you're"
-	cont "just a kid!"
-	done
-
-_MtMoon1EndBattleText2::
-	text "Wow!"
-	line "Shocked again!"
-	prompt
-
-_MtMoon1AfterBattleText2::
-	text "Kids like you"
-	line "shouldn't be"
-	cont "here!"
-	done
-
-_MtMoon1BattleText3::
-	text "Did you come to"
-	line "explore too?"
-	done
-
-_MtMoon1EndBattleText3::
-	text "Losing"
-	line "stinks!"
-	prompt
-
-_MtMoon1AfterBattleText3::
-	text "I came down here"
-	line "to show off to"
-	cont "girls."
-	done
-
-_MtMoon1BattleText4::
-	text "Wow! It's way"
-	line "bigger in here"
-	cont "than I thought!"
-	done
-
-_MtMoon1EndBattleText4::
-	text "Oh!"
-	line "I lost it!"
-	prompt
-
-_MtMoon1AfterBattleText4::
-	text "How do you get"
-	line "out of here?"
-	done
-
-_MtMoon1BattleText5::
-	text "What! Don't sneak"
-	line "up on me!"
-	done
-
-_MtMoon1EndBattleText5::
-	text "My"
-	line "#MON won't do!"
-	prompt
-
-_MtMoon1AfterBattleText5::
-	text "I have to find"
-	line "stronger #MON."
-	done
-
-_MtMoon1BattleText6::
-	text "What? I'm waiting"
-	line "for my friends to"
-	cont "find me here."
-	done
-
-_MtMoon1EndBattleText6::
-	text "I lost?"
-	prompt
-
-_MtMoon1AfterBattleText6::
-	text "I heard there are"
-	line "some very rare"
-	cont "fossils here."
-	done
-
-_MtMoon1BattleText7::
-	text "Suspicious men"
-	line "are in the cave."
-	cont "What about you?"
-	done
-
-_MtMoon1EndBattleText7::
-	text "You"
-	line "got me!"
-	prompt
-
-_MtMoon1AfterBattleText7::
-	text "I saw them! I'm"
-	line "sure they're from"
-	cont "TEAM ROCKET!"
-	done
-
-_MtMoon1BattleText8::
-	text "Go through this"
-	line "cave to get to"
-	cont "CERULEAN CITY!"
-	done
-
-_MtMoon1EndBattleText8::
-	text "I"
-	line "lost."
-	prompt
-
-_MtMoon1AfterBattleText8::
-	text "ZUBAT is tough!"
-	line "But, it can be"
-	cont "useful if you"
-	cont "catch one."
-	done
-
-_MtMoon1Text14::
-	text "Beware! ZUBAT is"
-	line "a blood sucker!"
-	done
--- a/text/maps/mt_moon_b1f.asm
+++ /dev/null
@@ -1,3 +1,0 @@
-_MtMoonText1::
-	db $0
-	done
--- a/text/maps/mt_moon_b2f.asm
+++ /dev/null
@@ -1,122 +1,0 @@
-_MtMoon3Text_49f24::
-	text "You want the"
-	line "DOME FOSSIL?"
-	done
-
-_MtMoon3Text_49f64::
-	text "You want the"
-	line "HELIX FOSSIL?"
-	done
-
-_MtMoon3Text_49f6f::
-	text "<PLAYER> got the"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_MtMoon3Text_49f7f::
-	text "Look, you've got"
-	line "no room for this.@@"
-
-_MtMoon3Text_49f85::
-	text "Hey, stop!"
-
-	para "I found these"
-	line "fossils! They're"
-	cont "both mine!"
-	done
-
-_MtMoon3Text_49f8a::
-	text "OK!"
-	line "I'll share!"
-	prompt
-
-_MtMoon3Text_49f8f::
-	text "We'll each take"
-	line "one!"
-	cont "No being greedy!"
-	done
-
-_MtMoon3Text_49f94::
-	text "Far away, on"
-	line "CINNABAR ISLAND,"
-	cont "there's a #MON"
-	cont "LAB."
-
-	para "They do research"
-	line "on regenerating"
-	cont "fossils."
-	done
-
-_MtMoon3Text_49f99::
-	text "All right. Then"
-	line "this is mine!@@"
-
-_MtMoon3BattleText2::
-	text "TEAM ROCKET will"
-	line "find the fossils,"
-	cont "revive and sell"
-	cont "them for cash!"
-	done
-
-_MtMoon3EndBattleText2::
-	text "Urgh!"
-	line "Now I'm mad!"
-	prompt
-
-_MtMoon3AfterBattleText2::
-	text "You made me mad!"
-	line "TEAM ROCKET will"
-	cont "blacklist you!"
-	done
-
-_MtMoon3BattleText3::
-	text "We, TEAM ROCKET,"
-	line "are #MON"
-	cont "gangsters!"
-	done
-
-_MtMoon3EndBattleText3::
-	text "I blew"
-	line "it!"
-	prompt
-
-_MtMoon3AfterBattleText3::
-	text "Darn it all! My"
-	line "associates won't"
-	cont "stand for this!"
-	done
-
-_MtMoon3BattleText4::
-	text "We're pulling a"
-	line "big job here!"
-	cont "Get lost, kid!"
-	done
-
-_MtMoon3EndBattleText4::
-	text "So, you"
-	line "are good."
-	prompt
-
-_MtMoon3AfterBattleText4::
-	text "If you find a"
-	line "fossil, give it"
-	cont "to me and scram!"
-	done
-
-_MtMoon3BattleText5::
-	text "Little kids"
-	line "should leave"
-	cont "grown-ups alone!"
-	done
-
-_MtMoon3EndBattleText5::
-	text "I'm"
-	line "steamed!"
-	prompt
-
-_MtMoon3AfterBattleText5::
-	text "#MON lived"
-	line "here long before"
-	cont "people came."
-	done
--- a/text/maps/mt_moon_pokecenter.asm
+++ /dev/null
@@ -1,48 +1,0 @@
-_MtMoonPokecenterText1::
-	text "I've 6 # BALLs"
-	line "set in my belt."
-
-	para "At most, you can"
-	line "carry 6 #MON."
-	done
-
-_MtMoonPokecenterText3::
-	text "TEAM ROCKET"
-	line "attacks CERULEAN"
-	cont "citizens..."
-
-	para "TEAM ROCKET is"
-	line "always in the"
-	cont "news!"
-	done
-
-_MagikarpSalesmanText1::
-	text "MAN: Hello, there!"
-	line "Have I got a deal"
-	cont "just for you!"
-
-	para "I'll let you have"
-	line "a swell MAGIKARP"
-	cont "for just ¥500!"
-	cont "What do you say?"
-	done
-
-_MagikarpSalesmanNoText::
-	text "No? I'm only"
-	line "doing this as a"
-	cont "favor to you!"
-	done
-
-_MagikarpSalesmanNoMoneyText::
-	text "You'll need more"
-	line "money than that!"
-	done
-
-_MagikarpSalesmanText2::
-	text "MAN: Well, I don't"
-	line "give refunds!"
-	done
-
-_MtMoonPokecenterText5::
-	db $0
-	done
--- a/text/maps/museum_1f.asm
+++ /dev/null
@@ -1,107 +1,0 @@
-_Museum1FText_5c21a::
-	text "Come again!"
-	done
-
-_Museum1FText_5c21f::
-	text "It's ¥50 for a"
-	line "child's ticket."
-
-	para "Would you like to"
-	line "come in?"
-	done
-
-_Museum1FText_5c224::
-	text "Right, ¥50!"
-	line "Thank you!"
-	done
-
-_Museum1FText_5c229::
-	text "You don't have"
-	line "enough money."
-	prompt
-
-_Museum1FText_5c22e::
-	text "You can't sneak"
-	line "in the back way!"
-
-	para "Oh, whatever!"
-	line "Do you know what"
-	cont "AMBER is?"
-	done
-
-_Museum1FText_5c233::
-	text "There's a lab"
-	line "somewhere trying"
-	cont "to resurrect"
-	cont "ancient #MON"
-	cont "from AMBER."
-	done
-
-_Museum1FText_5c238::
-	text "AMBER is fossil-"
-	line "ized tree sap."
-	done
-
-_Museum1FText_5c23d::
-	text "Please go to the"
-	line "other side!"
-	done
-
-_Museum1FText_5c242::
-	text "Take plenty of"
-	line "time to look!"
-	done
-
-_Museum1FText_5c251::
-	text "That is one"
-	line "magnificent"
-	cont "fossil!"
-	done
-
-_Museum1FText_5c28e::
-	text "Ssh! I think that"
-	line "this chunk of"
-	cont "AMBER contains"
-	cont "#MON DNA!"
-
-	para "It would be great"
-	line "if #MON could"
-	cont "be resurrected"
-	cont "from it!"
-
-	para "But, my colleagues"
-	line "just ignore me!"
-
-	para "So I have a favor"
-	line "to ask!"
-
-	para "Take this to a"
-	line "#MON LAB and"
-	cont "get it examined!"
-	prompt
-
-_ReceivedOldAmberText::
-	text "<PLAYER> received"
-	line "OLD AMBER!@@"
-
-_Museum1FText_5c299::
-	text "Ssh! Get the OLD"
-	line "AMBER checked!"
-	done
-
-_Museum1FText_5c29e::
-	text "You don't have"
-	line "space for this!"
-	done
-
-_Museum1FText_5c2ad::
-	text "We are proud of 2"
-	line "fossils of very"
-	cont "rare, prehistoric"
-	cont "#MON!"
-	done
-
-_Museum1FText_5c2bc::
-	text "The AMBER is"
-	line "clear and gold!"
-	done
--- a/text/maps/museum_2f.asm
+++ /dev/null
@@ -1,45 +1,0 @@
-_Museum2FText1::
-	text "MOON STONE?"
-
-	para "What's so special"
-	line "about it?"
-	done
-
-_Museum2FText2::
-	text "July 20, 1969!"
-
-	para "The 1st lunar"
-	line "landing!"
-
-	para "I bought a color"
-	line "TV to watch it!"
-	done
-
-_Museum2FText3::
-	text "We have a space"
-	line "exhibit now."
-	done
-
-_Museum2FText4::
-	text "I want a PIKACHU!"
-	line "It's so cute!"
-
-	para "I asked my Daddy"
-	line "to catch me one!"
-	done
-
-_Museum2FText5::
-	text "Yeah, a PIKACHU"
-	line "soon, I promise!"
-	done
-
-_Museum2FText6::
-	text "SPACE SHUTTLE"
-	line "COLUMBIA"
-	done
-
-_Museum2FText7::
-	text "Meteorite that"
-	line "fell on MT.MOON."
-	cont "(MOON STONE?)"
-	done
--- a/text/maps/name_rater.asm
+++ /dev/null
@@ -1,60 +1,0 @@
-_NameRaterText_1dab3::
-	text "Hello, hello!"
-	line "I am the official"
-	cont "NAME RATER!"
-
-	para "Want me to rate"
-	line "the nicknames of"
-	cont "your #MON?"
-	done
-
-_NameRaterText_1dab8::
-	text "Which #MON"
-	line "should I look at?"
-	prompt
-
-_NameRaterText_1dabd::
-	TX_RAM wcd6d
-	text ", is it?"
-	line "That is a decent"
-	cont "nickname!"
-
-	para "But, would you"
-	line "like me to give"
-	cont "it a nicer name?"
-
-	para "How about it?"
-	done
-
-_NameRaterText_1dac2::
-	text "Fine! What should"
-	line "we name it?"
-	prompt
-
-_NameRaterText_1dac7::
-	text "OK! This #MON"
-	line "has been renamed"
-	cont "@"
-	TX_RAM wBuffer
-	text "!"
-
-	para "That's a better"
-	line "name than before!"
-	done
-
-_NameRaterText_1dacc::
-	text "Fine! Come any"
-	line "time you like!"
-	done
-
-_NameRaterText_1dad1::
-	TX_RAM wcd6d
-	text ", is it?"
-	line "That is a truly"
-	cont "impeccable name!"
-
-	para "Take good care of"
-	line "@"
-	TX_RAM wcd6d
-	text "!"
-	done
--- a/text/maps/oaks_lab.asm
+++ /dev/null
@@ -1,477 +1,0 @@
-_OaksLabGaryText1::
-	text "<RIVAL>: Yo"
-	line "<PLAYER>! Gramps"
-	cont "isn't around!"
-	done
-
-_OaksLabText40::
-	text "<RIVAL>: Heh, I"
-	line "don't need to be"
-	cont "greedy like you!"
-
-	para "Go ahead and"
-	line "choose, <PLAYER>!"
-	done
-
-_OaksLabText41::
-	text "<RIVAL>: My"
-	line "#MON looks a"
-	cont "lot stronger."
-	done
-
-_OaksLabText39::
-	text "Those are #"
-	line "BALLs. They"
-	cont "contain #MON!"
-	done
-
-_OaksLabCharmanderText::
-	text "So! You want the"
-	line "fire #MON,"
-	cont "CHARMANDER?"
-	done
-
-_OaksLabSquirtleText::
-	text "So! You want the"
-	line "water #MON,"
-	cont "SQUIRTLE?"
-	done
-
-_OaksLabBulbasaurText::
-	text "So! You want the"
-	line "plant #MON,"
-	cont "BULBASAUR?"
-	done
-
-_OaksLabMonEnergeticText::
-	text "This #MON is"
-	line "really energetic!"
-	prompt
-
-_OaksLabReceivedMonText::
-	text "<PLAYER> received"
-	line "a @"
-	TX_RAM wcd6d
-	text "!@@"
-
-_OaksLabLastMonText::
-	text "That's PROF.OAK's"
-	line "last #MON!"
-	done
-
-_OaksLabText_1d2f0::
-	text "OAK: Now, <PLAYER>,"
-	line "which #MON do"
-	cont "you want?"
-	done
-
-_OaksLabText_1d2f5::
-	text "OAK: If a wild"
-	line "#MON appears,"
-	cont "your #MON can"
-	cont "fight against it!"
-	done
-
-_OaksLabText_1d2fa::
-	text "OAK: <PLAYER>,"
-	line "raise your young"
-	cont "#MON by making"
-	cont "it fight!"
-	done
-
-_OaksLabDeliverParcelText1::
-	text "OAK: Oh, <PLAYER>!"
-
-	para "How is my old"
-	line "#MON?"
-
-	para "Well, it seems to"
-	line "like you a lot."
-
-	para "You must be"
-	line "talented as a"
-	cont "#MON trainer!"
-
-	para "What? You have"
-	line "something for me?"
-
-	para "<PLAYER> delivered"
-	line "OAK's PARCEL.@@"
-
-_OaksLabDeliverParcelText2::
-	text ""
-	para "Ah! This is the"
-	line "custom # BALL"
-	cont "I ordered!"
-	cont "Thank you!"
-	done
-
-_OaksLabAroundWorldText::
-	text "#MON around the"
-	line "world wait for"
-	cont "you, <PLAYER>!"
-	done
-
-_OaksLabGivePokeballsText1::
-	text "OAK: You can't get"
-	line "detailed data on"
-	cont "#MON by just"
-	cont "seeing them."
-
-	para "You must catch"
-	line "them! Use these"
-	cont "to capture wild"
-	cont "#MON."
-
-	para "<PLAYER> got 5"
-	line "# BALLs!@@"
-
-_OaksLabGivePokeballsText2::
-	text ""
-	para "When a wild"
-	line "#MON appears,"
-	cont "it's fair game."
-
-	para "Just throw a #"
-	line "BALL at it and try"
-	line "to catch it!"
-
-	para "This won't always"
-	line "work, though."
-
-	para "A healthy #MON"
-	line "could escape. You"
-	cont "have to be lucky!"
-	done
-
-_OaksLabPleaseVisitText::
-	text "OAK: Come see me"
-	line "sometimes."
-
-	para "I want to know how"
-	line "your #DEX is"
-	cont "coming along."
-	done
-
-_OaksLabText_1d31d::
-	text "OAK: Good to see "
-	line "you! How is your "
-	cont "#DEX coming? "
-	cont "Here, let me take"
-	cont "a look!"
-	prompt
-
-_OaksLabText_1d32c::
-	text "It's encyclopedia-"
-	line "like, but the"
-	cont "pages are blank!"
-	done
-
-_OaksLabText8::
-	text "?"
-	done
-
-_OaksLabText_1d340::
-	text "PROF.OAK is the"
-	line "authority on"
-	cont "#MON!"
-
-	para "Many #MON"
-	line "trainers hold him"
-	cont "in high regard!"
-	done
-
-_OaksLabRivalWaitingText::
-	text "<RIVAL>: Gramps!"
-	line "I'm fed up with"
-	cont "waiting!"
-	done
-
-_OaksLabChooseMonText::
-	text "OAK: <RIVAL>?"
-	line "Let me think..."
-
-	para "Oh, that's right,"
-	line "I told you to"
-	cont "come! Just wait!"
-
-	para "Here, <PLAYER>!"
-
-	para "There are 3"
-	line "#MON here!"
-
-	para "Haha!"
-
-	para "They are inside"
-	line "the # BALLs."
-
-	para "When I was young,"
-	line "I was a serious"
-	cont "#MON trainer!"
-
-	para "In my old age, I"
-	line "have only 3 left,"
-	cont "but you can have"
-	cont "one! Choose!"
-	done
-
-_OaksLabRivalInterjectionText::
-	text "<RIVAL>: Hey!"
-	line "Gramps! What"
-	cont "about me?"
-	done
-
-_OaksLabBePatientText::
-	text "OAK: Be patient!"
-	line "<RIVAL>, you can"
-	cont "have one too!"
-	done
-
-_OaksLabLeavingText::
-	text "OAK: Hey! Don't go"
-	line "away yet!"
-	done
-
-_OaksLabRivalPickingMonText::
-	text "<RIVAL>: I'll take"
-	line "this one, then!"
-	done
-
-_OaksLabRivalReceivedMonText::
-	text "<RIVAL> received"
-	line "a @"
-	TX_RAM wcd6d
-	text "!@@"
-
-_OaksLabRivalChallengeText::
-	text "<RIVAL>: Wait"
-	line "<PLAYER>!"
-	cont "Let's check out"
-	cont "our #MON!"
-
-	para "Come on, I'll take"
-	line "you on!"
-	done
-
-_OaksLabText_1d3be::
-	text "WHAT?"
-	line "Unbelievable!"
-	cont "I picked the"
-	cont "wrong #MON!"
-	prompt
-
-_OaksLabText_1d3c3::
-	text "<RIVAL>: Yeah! Am"
-	line "I great or what?"
-	prompt
-
-_OaksLabRivalToughenUpText::
-	text "<RIVAL>: Okay!"
-	line "I'll make my"
-	cont "#MON fight to"
-	cont "toughen it up!"
-
-	para "<PLAYER>! Gramps!"
-	line "Smell you later!"
-	done
-
-_OaksLabText21::
-	text "<RIVAL>: Gramps!"
-	done
-
-_OaksLabText22::
-	text "<RIVAL>: What did"
-	line "you call me for?"
-	done
-
-_OaksLabText23::
-	text "OAK: Oh right! I"
-	line "have a request"
-	cont "of you two."
-	done
-
-_OaksLabText24::
-	text "On the desk there"
-	line "is my invention,"
-	cont "#DEX!"
-
-	para "It automatically"
-	line "records data on"
-	cont "#MON you've"
-	cont "seen or caught!"
-
-	para "It's a hi-tech"
-	line "encyclopedia!"
-	done
-
-_OaksLabText25::
-	text "OAK: <PLAYER> and"
-	line "<RIVAL>! Take"
-	cont "these with you!"
-
-	para "<PLAYER> got"
-	line "#DEX from OAK!@@"
-
-_OaksLabText26::
-	text "To make a complete"
-	line "guide on all the"
-	cont "#MON in the"
-	cont "world..."
-
-	para "That was my dream!"
-
-	para "But, I'm too old!"
-	line "I can't do it!"
-
-	para "So, I want you two"
-	line "to fulfill my"
-	cont "dream for me!"
-
-	para "Get moving, you"
-	line "two!"
-
-	para "This is a great"
-	line "undertaking in"
-	cont "#MON history!"
-	done
-
-_OaksLabText27::
-	text "<RIVAL>: Alright"
-	line "Gramps! Leave it"
-	cont "all to me!"
-
-	para "<PLAYER>, I hate to"
-	line "say it, but I"
-	cont "don't need you!"
-
-	para "I know! I'll"
-	line "borrow a TOWN MAP"
-	cont "from my sis!"
-
-	para "I'll tell her not"
-	line "to lend you one,"
-	cont "<PLAYER>! Hahaha!"
-	done
-
-_OaksLabText_1d405::
-	text "I study #MON as"
-	line "PROF.OAK's AIDE."
-	done
-
-_OaksLabText_441cc::
-	text "#DEX comp-"
-	line "letion is:"
-
-	para "@"
-	TX_NUM hDexRatingNumMonsSeen, 1, 3
-	text " #MON seen"
-	line "@"
-	TX_NUM hDexRatingNumMonsOwned, 1, 3
-	text " #MON owned"
-
-	para "PROF.OAK's"
-	line "Rating:"
-	prompt
-
-_OaksLabText_44201::
-	text "You still have"
-	line "lots to do."
-	cont "Look for #MON"
-	cont "in grassy areas!"
-	done
-
-_OaksLabText_44206::
-	text "You're on the"
-	line "right track! "
-	cont "Get a FLASH HM"
-	cont "from my AIDE!"
-	done
-
-_OaksLabText_4420b::
-	text "You still need"
-	line "more #MON!"
-	cont "Try to catch"
-	cont "other species!"
-	done
-
-_OaksLabText_44210::
-	text "Good, you're"
-	line "trying hard!"
-	cont "Get an ITEMFINDER"
-	cont "from my AIDE!"
-	done
-
-_OaksLabText_44215::
-	text "Looking good!"
-	line "Go find my AIDE"
-	cont "when you get 50!"
-	done
-
-_OaksLabText_4421a::
-	text "You finally got at"
-	line "least 50 species!"
-	cont "Be sure to get"
-	cont "EXP.ALL from my"
-	cont "AIDE!"
-	done
-
-_OaksLabText_4421f::
-	text "Ho! This is geting"
-	line "even better!"
-	done
-
-_OaksLabText_44224::
-	text "Very good!"
-	line "Go fish for some"
-	cont "marine #MON!"
-	done
-
-_OaksLabText_44229::
-	text "Wonderful!"
-	line "Do you like to"
-	cont "collect things?"
-	done
-
-_OaksLabText_4422e::
-	text "I'm impressed!"
-	line "It must have been"
-	cont "difficult to do!"
-	done
-
-_OaksLabText_44233::
-	text "You finally got at"
-	line "least 100 species!"
-	cont "I can't believe"
-	cont "how good you are!"
-	done
-
-_OaksLabText_44238::
-	text "You even have the"
-	line "evolved forms of"
-	cont "#MON! Super!"
-	done
-
-_OaksLabText_4423d::
-	text "Excellent! Trade"
-	line "with friends to"
-	cont "get some more!"
-	done
-
-_OaksLabText_44242::
-	text "Outstanding!"
-	line "You've become a"
-	cont "real pro at this!"
-	done
-
-_OaksLabText_44247::
-	text "I have nothing"
-	line "left to say!"
-	cont "You're the"
-	cont "authority now!"
-	done
-
-_OaksLabText_4424c::
-	text "Your #DEX is"
-	line "entirely complete!"
-	cont "Congratulations!"
-	done
--- a/text/maps/pallet_town.asm
+++ /dev/null
@@ -1,55 +1,0 @@
-_OakAppearsText::
-	text "OAK: Hey! Wait!"
-	line "Don't go out!@@"
-
-_OakWalksUpText::
-	text "OAK: It's unsafe!"
-	line "Wild #MON live"
-	cont "in tall grass!"
-
-	para "You need your own"
-	line "#MON for your"
-	cont "protection."
-	cont "I know!"
-
-	para "Here, come with"
-	line "me!"
-	done
-
-_PalletTownText2::
-	text "I'm raising"
-	line "#MON too!"
-
-	para "When they get"
-	line "strong, they can"
-	cont "protect me!"
-	done
-
-_PalletTownText3::
-	text "Technology is"
-	line "incredible!"
-
-	para "You can now store"
-	line "and recall items"
-	cont "and #MON as"
-	cont "data via PC!"
-	done
-
-_PalletTownText4::
-	text "OAK #MON"
-	line "RESEARCH LAB"
-	done
-
-_PalletTownText5::
-	text "PALLET TOWN"
-	line "Shades of your"
-	cont "journey await!"
-	done
-
-_PalletTownText6::
-	text "<PLAYER>'s house "
-	done
-
-_PalletTownText7::
-	text "<RIVAL>'s house "
-	done
--- a/text/maps/pewter_city.asm
+++ /dev/null
@@ -1,117 +1,0 @@
-_PewterCityText1::
-	text "It's rumored that"
-	line "CLEFAIRYs came"
-	cont "from the moon!"
-
-	para "They appeared "
-	line "after MOON STONE"
-	cont "fell on MT.MOON."
-	done
-
-_PewterCityText2::
-	text "There aren't many"
-	line "serious #MON"
-	cont "trainers here!"
-
-	para "They're all like"
-	line "BUG CATCHERs,"
-	cont "but PEWTER GYM's"
-	cont "BROCK is totally"
-	cont "into it!"
-	done
-
-_PewterCityText_193f1::
-	text "Did you check out"
-	line "the MUSEUM?"
-	done
-
-_PewterCityText_193f6::
-	text "Weren't those"
-	line "fossils from MT."
-	cont "MOON amazing?"
-	done
-
-_PewterCityText_193fb::
-	text "Really?"
-	line "You absolutely"
-	cont "have to go!"
-	done
-
-_PewterCityText13::
-	text "It's right here!"
-	line "You have to pay"
-	cont "to get in, but"
-	cont "it's worth it!"
-	cont "See you around!"
-	done
-
-_PewterCityText_19427::
-	text "Psssst!"
-	line "Do you know what"
-	cont "I'm doing?"
-	done
-
-_PewterCityText_1942c::
-	text "That's right!"
-	line "It's hard work!"
-	done
-
-_PewterCityText_19431::
-	text "I'm spraying REPEL"
-	line "to keep #MON"
-	cont "out of my garden!"
-	done
-
-_PewterCityText_1945d::
-	text "You're a trainer"
-	line "right? BROCK's"
-	cont "looking for new"
-	cont "challengers!"
-	cont "Follow me!"
-	done
-
-_PewterCityText14::
-	text "If you have the"
-	line "right stuff, go"
-	cont "take on BROCK!"
-	done
-
-_PewterCityText6::
-	text "TRAINER TIPS"
-
-	para "Any #MON that"
-	line "takes part in"
-	cont "battle, however"
-	cont "short, earns EXP!"
-	done
-
-_PewterCityText7::
-	text "NOTICE!"
-
-	para "Thieves have been"
-	line "stealing #MON"
-	cont "fossils at MT."
-	cont "MOON! Please call"
-	cont "PEWTER POLICE"
-	cont "with any info!"
-	done
-
-_PewterCityText10::
-	text "PEWTER MUSEUM"
-	line "OF SCIENCE"
-	done
-
-_PewterCityText11::
-	text "PEWTER CITY"
-	line "#MON GYM"
-	cont "LEADER: BROCK"
-
-	para "The Rock Solid"
-	line "#MON Trainer!"
-	done
-
-_PewterCityText12::
-	text "PEWTER CITY"
-	line "A Stone Gray"
-	cont "City"
-	done
--- a/text/maps/pewter_gym_1.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-_PewterGymText_5c49e::
-	text "I'm BROCK!"
-	line "I'm PEWTER's GYM"
-	cont "LEADER!"
-
-	para "I believe in rock"
-	line "hard defense and"
-	cont "determination!"
-
-	para "That's why my"
-	line "#MON are all"
-	cont "the rock-type!"
-
-	para "Do you still want"
-	line "to challenge me?"
-	cont "Fine then! Show"
-	cont "me your best!"
-	done
--- a/text/maps/pewter_gym_2.asm
+++ /dev/null
@@ -1,142 +1,0 @@
-_PewterGymText_5c4a3::
-	text "There are all"
-	line "kinds of trainers"
-	cont "in the world!"
-
-	para "You appear to be"
-	line "very gifted as a"
-	cont "#MON trainer!"
-
-	para "Go to the GYM in"
-	line "CERULEAN and test"
-	cont "your abilities!"
-	done
-
-_TM34PreReceiveText::
-	text "Wait! Take this"
-	line "with you!"
-	done
-
-_ReceivedTM34Text::
-	text "<PLAYER> received"
-	line "TM34!@@"
-
-_TM34ExplanationText::
-	db $0
-	para "A TM contains a"
-	line "technique that"
-	cont "can be taught to"
-	cont "#MON!"
-
-	para "A TM is good only"
-	line "once! So when you"
-	cont "use one to teach"
-	cont "a new technique,"
-	cont "pick the #MON"
-	cont "carefully!"
-
-	para "TM34 contains"
-	line "BIDE!"
-
-	para "Your #MON will"
-	line "absorb damage in"
-	cont "battle then pay"
-	cont "it back double!"
-	done
-
-_TM34NoRoomText::
-	text "You don't have"
-	line "room for this!"
-	done
-
-_PewterGymText_5c4bc::
-	text "I took"
-	line "you for granted."
-
-	para "As proof of your"
-	line "victory, here's"
-	cont "the BOULDERBADGE!"
-
-	para "<PLAYER> received"
-	line "the BOULDERBADGE!@@"
-
-_PewterGymText_5c4c1::
-	db $0
-	para "That's an official"
-	line "#MON LEAGUE"
-	cont "BADGE!"
-
-	para "Its bearer's"
-	line "#MON become"
-	cont "more powerful!"
-
-	para "The technique"
-	line "FLASH can now be"
-	cont "used any time!"
-	prompt
-
-_PewterGymBattleText1::
-	text "Stop right there,"
-	line "kid!"
-
-	para "You're still light"
-	line "years from facing"
-	cont "BROCK!"
-	done
-
-_PewterGymEndBattleText1::
-	text "Darn!"
-
-	para "Light years isn't"
-	line "time! It measures"
-	cont "distance!"
-	prompt
-
-_PewterGymAfterBattleText1::
-	text "You're pretty hot,"
-	line "but not as hot"
-	cont "as BROCK!"
-	done
-
-_PewterGymText_5c515::
-	text "Hiya! I can tell"
-	line "you have what it"
-	cont "takes to become a"
-	cont "#MON champ!"
-
-	para "I'm no trainer,"
-	line "but I can tell"
-	cont "you how to win!"
-
-	para "Let me take you"
-	line "to the top!"
-	done
-
-_PewterGymText_5c51a::
-	text "All right! Let's"
-	line "get happening!"
-	prompt
-
-_PewterGymText_5c51f::
-	text "The 1st #MON"
-	line "out in a match is"
-	cont "at the top of the"
-	cont "#MON LIST!"
-
-	para "By changing the"
-	line "order of #MON,"
-	cont "matches could be"
-	cont "made easier!"
-	done
-
-_PewterGymText_5c524::
-	text "It's a free"
-	line "service! Let's"
-	cont "get happening!"
-	prompt
-
-_PewterGymText_5c529::
-	text "Just as I thought!"
-	line "You're #MON"
-	cont "champ material!"
-	done
--- a/text/maps/pewter_house_1.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-_PewterHouse1Text1::
-	text "NIDORAN: Bowbow!@@"
-
-_PewterHouse1Text2::
-	text "NIDORAN sit!"
-	done
-
-_PewterHouse1Text3::
-	text "Our #MON's an"
-	line "outsider, so it's"
-	cont "hard to handle."
-
-	para "An outsider is a"
-	line "#MON that you"
-	cont "get in a trade."
-
-	para "It grows fast, but"
-	line "it may ignore an"
-	cont "unskilled trainer"
-	cont "in battle!"
-
-	para "If only we had"
-	line "some BADGEs..."
-	done
--- a/text/maps/pewter_house_2.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-_PewterHouse2Text1::
-	text "#MON learn new"
-	line "techniques as"
-	cont "they grow!"
-
-	para "But, some moves"
-	line "must be taught by"
-	cont "the trainer!"
-	done
-
-_PewterHouse2Text2::
-	text "#MON become"
-	line "easier to catch"
-	cont "when they are"
-	cont "hurt or asleep!"
-
-	para "But, it's not a"
-	line "sure thing!"
-	done
--- a/text/maps/pewter_mart.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-_PewterMartText2::
-	text "A shady, old man"
-	line "got me to buy"
-	cont "this really weird"
-	cont "fish #MON!"
-
-	para "It's totally weak"
-	line "and it cost ¥500!"
-	done
-
-_PewterMartText3::
-	text "Good things can"
-	line "happen if you"
-	cont "raise #MON"
-	cont "diligently, even"
-	cont "the weak ones!"
-	done
--- a/text/maps/pewter_pokecenter.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-_PewterPokecenterText2::
-	text "What!?"
-
-	para "TEAM ROCKET is"
-	line "at MT.MOON? Huh?"
-	cont "I'm on the phone!"
-
-	para "Scram!"
-	done
-
-_PewterJigglypuffText::
-	text "JIGGLYPUFF: Puu"
-	line "pupuu!"
-	done
--- a/text/maps/pokemon_league_gate.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-_Route22GateText_1e704::
-	text "Only truly skilled"
-	line "trainers are"
-	cont "allowed through."
-
-	para "You don't have the"
-	line "BOULDERBADGE yet!@@"
-
-_Route22GateText_1e715::
-	db $0
-	para "The rules are"
-	line "rules. I can't"
-	cont "let you pass."
-	done
-
-_Route22GateText_1e71a::
-	text "Oh! That is the"
-	line "BOULDERBADGE!"
-	cont "Go right ahead!@@"
--- a/text/maps/pokemon_tower_1f.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-_PokemonTower1Text1::
-	text "#MON TOWER was"
-	line "erected in the"
-	cont "memory of #MON"
-	cont "that had died."
-	done
-
-_PokemonTower1Text2::
-	text "Did you come to"
-	line "pay respects?"
-	cont "Bless you!"
-	done
-
-_PokemonTower1Text3::
-	text "I came to pray"
-	line "for my CLEFAIRY."
-
-	para "Sniff! I can't"
-	line "stop crying..."
-	done
-
-_PokemonTower1Text4::
-	text "My GROWLITHE..."
-	line "Why did you die?"
-	done
-
-_PokemonTower1Text5::
-	text "I am a CHANNELER!"
-	line "There are spirits"
-	cont "up to mischief!"
-	done
--- a/text/maps/pokemon_tower_2f.asm
+++ /dev/null
@@ -1,57 +1,0 @@
-_PokemonTower2Text_6062d::
-	text "<RIVAL>: Hey,"
-	line "<PLAYER>! What"
-	cont "brings you here?"
-	cont "Your #MON"
-	cont "don't look dead!"
-
-	para "I can at least"
-	line "make them faint!"
-	cont "Let's go, pal!"
-	done
-
-_PokemonTower2Text_60632::
-	text "What?"
-	line "You stinker!"
-
-	para "I took it easy on"
-	line "you too!"
-	prompt
-
-_PokemonTower2Text_60637::
-	text "<RIVAL>: Well,"
-	line "look at all your"
-	cont "wimpy #MON!"
-
-	para "Toughen them up a"
-	line "bit more!"
-	prompt
-
-_PokemonTower2Text_6063c::
-	text "How's your #DEX"
-	line "coming, pal?"
-	cont "I just caught a"
-	cont "CUBONE!"
-
-	para "I can't find the"
-	line "grown-up MAROWAK"
-	cont "yet!"
-
-	para "I doubt there are"
-	line "any left! Well, I"
-	cont "better get going!"
-	cont "I've got a lot to"
-	cont "accomplish, pal!"
-
-	para "Smell ya later!"
-	done
-
-_PokemonTower2Text2::
-	text "Even we could not"
-	line "identify the"
-	cont "wayward GHOSTs!"
-
-	para "A SILPH SCOPE"
-	line "might be able to"
-	cont "unmask them."
-	done
--- a/text/maps/pokemon_tower_3f.asm
+++ /dev/null
@@ -1,45 +1,0 @@
-_PokemonTower3BattleText1::
-	text "Urrg...Awaa..."
-	line "Huhu...graa.."
-	done
-
-_PokemonTower3EndBattleText1::
-	text "Hwa!"
-	line "I'm saved!"
-	prompt
-
-_PokemonTower3AfterBattleText1::
-	text "The GHOSTs can be"
-	line "identified by the"
-	cont "SILPH SCOPE."
-	done
-
-_PokemonTower3BattleText2::
-	text "Kekeke...."
-	line "Kwaaah!"
-	done
-
-_PokemonTower3EndBattleText2::
-	text "Hmm?"
-	line "What am I doing?"
-	prompt
-
-_PokemonTower3AfterBattleText2::
-	text "Sorry! I was"
-	line "possessed!"
-	done
-
-_PokemonTower3BattleText3::
-	text "Be gone!"
-	line "Evil spirit!"
-	done
-
-_PokemonTower3EndBattleText3::
-	text "Whew!"
-	line "The spirit left!"
-	prompt
-
-_PokemonTower3AfterBattleText3::
-	text "My friends were"
-	line "possessed too!"
-	done
--- a/text/maps/pokemon_tower_4f.asm
+++ /dev/null
@@ -1,45 +1,0 @@
-_PokemonTower4BattleText1::
-	text "GHOST! No!"
-	line "Kwaaah!"
-	done
-
-_PokemonTower4EndBattleText1::
-	text "Where"
-	line "is the GHOST?"
-	prompt
-
-_PokemonTower4AfterBattleText1::
-	text "I must have been"
-	line "dreaming..."
-	done
-
-_PokemonTower4BattleText2::
-	text "Be cursed with"
-	line "me! Kwaaah!"
-	done
-
-_PokemonTower4EndBattleText2::
-	text "What!"
-	prompt
-
-_PokemonTower4AfterBattleText2::
-	text "We can't crack"
-	line "the identity of"
-	cont "the GHOSTs."
-	done
-
-_PokemonTower4BattleText3::
-	text "Huhuhu..."
-	line "Beat me not!"
-	done
-
-_PokemonTower4EndBattleText3::
-	text "Huh?"
-	line "Who? What?"
-	prompt
-
-_PokemonTower4AfterBattleText3::
-	text "May the departed"
-	line "souls of #MON"
-	cont "rest in peace..."
-	done
--- a/text/maps/pokemon_tower_5f.asm
+++ /dev/null
@@ -1,71 +1,0 @@
-_PokemonTower5Text1::
-	text "Come, child! I"
-	line "sealed this space"
-	cont "with white magic!"
-
-	para "You can rest here!"
-	done
-
-_PokemonTower5BattleText1::
-	text "Give...me..."
-	line "your...soul..."
-	done
-
-_PokemonTower5EndBattleText1::
-	text "Gasp!"
-	prompt
-
-_PokemonTower5AfterBattleText1::
-	text "I was under"
-	line "possession!"
-	done
-
-_PokemonTower5BattleText2::
-	text "You...shall..."
-	line "join...us..."
-	done
-
-_PokemonTower5EndBattleText2::
-	text "What"
-	line "a nightmare!"
-	prompt
-
-_PokemonTower5AfterBattleText2::
-	text "I was possessed!"
-	done
-
-_PokemonTower5BattleText3::
-	text "Zombies!"
-	done
-
-_PokemonTower5EndBattleText3::
-	text "Ha?"
-	prompt
-
-_PokemonTower5AfterBattleText3::
-	text "I regained my"
-	line "senses!"
-	done
-
-_PokemonTower5BattleText4::
-	text "Urgah..."
-	line "Urff...."
-	done
-
-_PokemonTower5EndBattleText4::
-	text "Whoo!"
-	prompt
-
-_PokemonTower5AfterBattleText4::
-	text "I fell to evil"
-	line "spirits despite"
-	cont "my training!"
-	done
-
-_PokemonTower5Text7::
-	text "Entered purified,"
-	line "protected zone!"
-
-	para "<PLAYER>'s #MON"
-	line "are fully healed!"
-	done
--- a/text/maps/pokemon_tower_6f.asm
+++ /dev/null
@@ -1,61 +1,0 @@
-_PokemonTower2Text_60c1f::
-	text "The GHOST was the"
-	line "restless soul of"
-	cont "CUBONE's mother!"
-	done
-
-_PokemonTower2Text_60c24::
-	text "The mother's soul"
-	line "was calmed."
-
-	para "It departed to"
-	line "the afterlife!"
-	done
-
-_PokemonTower6BattleText1::
-	text "Give...me..."
-	line "blood..."
-	done
-
-_PokemonTower6EndBattleText1::
-	text "Groan!"
-	prompt
-
-_PokemonTower6AfterBattleText1::
-	text "I feel anemic and"
-	line "weak..."
-	done
-
-_PokemonTower6BattleText2::
-	text "Urff... Kwaah!"
-	done
-
-_PokemonTower6EndBattleText2::
-	text "Some-"
-	line "thing fell out!"
-	prompt
-
-_PokemonTower6AfterBattleText2::
-	text "Hair didn't fall"
-	line "out! It was an"
-	cont "evil spirit!"
-	done
-
-_PokemonTower6BattleText3::
-	text "Ke..ke...ke..."
-	line "ke..ke...ke!!"
-	done
-
-_PokemonTower6EndBattleText3::
-	text "Keee!"
-	prompt
-
-_PokemonTower6AfterBattleText3::
-	text "What's going on"
-	line "here?"
-	done
-
-_PokemonTower6Text6::
-	text "Be gone..."
-	line "Intruders..."
-	done
--- a/text/maps/pokemon_tower_7f.asm
+++ /dev/null
@@ -1,78 +1,0 @@
-_TowerRescueFujiText::
-	text "MR.FUJI: Heh? You"
-	line "came to save me?"
-
-	para "Thank you. But, I"
-	line "came here of my"
-	cont "own free will."
-
-	para "I came to calm"
-	line "the soul of"
-	cont "CUBONE's mother."
-
-	para "I think MAROWAK's"
-	line "spirit has gone"
-	cont "to the afterlife."
-
-	para "I must thank you"
-	line "for your kind"
-	cont "concern!"
-
-	para "Follow me to my"
-	line "home, #MON"
-	cont "HOUSE at the foot"
-	cont "of this tower."
-	done
-
-_PokemonTower7BattleText1::
-	text "What do you want?"
-	line "Why are you here?"
-	done
-
-_PokemonTower7EndBattleText1::
-	text "I give up!"
-	prompt
-
-_PokemonTower7AfterBattleText1::
-	text "I'm not going to"
-	line "forget this!"
-	done
-
-_PokemonTower7BattleText2::
-	text "This old guy came"
-	line "and complained"
-	cont "about us harming"
-	cont "useless #MON!"
-
-	para "We're talking it"
-	line "over as adults!"
-	done
-
-_PokemonTower7EndBattleText2::
-	text "Please!"
-	line "No more!"
-	prompt
-
-_PokemonTower7AfterBattleText2::
-	text "#MON are only"
-	line "good for making"
-	cont "money!"
-
-	para "Stay out of our"
-	line "business!"
-	done
-
-_PokemonTower7BattleText3::
-	text "You're not saving"
-	line "anyone, kid!"
-	done
-
-_PokemonTower7EndBattleText3::
-	text "Don't"
-	line "fight us ROCKETs!"
-	prompt
-
-_PokemonTower7AfterBattleText3::
-	text "You're not getting"
-	line "away with this!"
-	done
--- a/text/maps/power_plant.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-_VoltorbBattleText::
-	text "Bzzzt!"
-	done
-
-_ZapdosBattleText::
-	text "Gyaoo!@@"
--- a/text/maps/reds_house_1f.asm
+++ /dev/null
@@ -1,37 +1,0 @@
-_MomWakeUpText::
-	text "MOM: Right."
-	line "All boys leave"
-	cont "home some day."
-	cont "It said so on TV."
-
-	para "PROF.OAK, next"
-	line "door, is looking"
-	cont "for you."
-	done
-
-_MomHealText1::
-	text "MOM: <PLAYER>!"
-	line "You should take a"
-	cont "quick rest."
-	prompt
-
-_MomHealText2::
-	text "MOM: Oh good!"
-	line "You and your"
-	cont "#MON are"
-	cont "looking great!"
-	cont "Take care now!"
-	done
-
-_StandByMeText::
-	text "There's a movie"
-	line "on TV. Four boys"
-	cont "are walking on"
-	cont "railroad tracks."
-
-	para "I better go too."
-	done
-
-_TVWrongSideText::
-	text "Oops, wrong side."
-	done
--- a/text/maps/rock_tunnel_b1f.asm
+++ /dev/null
@@ -1,115 +1,0 @@
-_RockTunnel1BattleText1::
-	text "This tunnel goes"
-	line "a long way, kid!"
-	done
-
-_RockTunnel1EndBattleText1::
-	text "Doh!"
-	line "You win!"
-	prompt
-
-_RockTunnel1AfterBattleText1::
-	text "Watch for ONIX!"
-	line "It can put the"
-	cont "squeeze on you!"
-	done
-
-_RockTunnel1BattleText2::
-	text "Hmm. Maybe I'm"
-	line "lost in here..."
-	done
-
-_RockTunnel1EndBattleText2::
-	text "Ease up!"
-	line "What am I doing?"
-	cont "Which way is out?"
-	prompt
-
-_RockTunnel1AfterBattleText2::
-	text "That sleeping"
-	line "#MON on ROUTE"
-	cont "12 forced me to"
-	cont "take this detour."
-	done
-
-_RockTunnel1BattleText3::
-	text "Outsiders like"
-	line "you need to show"
-	cont "me some respect!"
-	done
-
-_RockTunnel1EndBattleText3::
-	text "I give!"
-	prompt
-
-_RockTunnel1AfterBattleText3::
-	text "You're talented"
-	line "enough to hike!"
-	done
-
-_RockTunnel1BattleText4::
-	text "#MON fight!"
-	line "Ready, go!"
-	done
-
-_RockTunnel1EndBattleText4::
-	text "Game"
-	line "over!"
-	prompt
-
-_RockTunnel1AfterBattleText4::
-	text "Oh well, I'll get"
-	line "a ZUBAT as I go!"
-	done
-
-_RockTunnel1BattleText5::
-	text "Eek! Don't try"
-	line "anything funny in"
-	cont "the dark!"
-	done
-
-_RockTunnel1EndBattleText5::
-	text "It"
-	line "was too dark!"
-	prompt
-
-_RockTunnel1AfterBattleText5::
-	text "I saw a MACHOP"
-	line "in this tunnel!"
-	done
-
-_RockTunnel1BattleText6::
-	text "I came this far"
-	line "for #MON!"
-	done
-
-_RockTunnel1EndBattleText6::
-	text "I'm"
-	line "out of #MON!"
-	prompt
-
-_RockTunnel1AfterBattleText6::
-	text "You looked cute"
-	line "and harmless!"
-	done
-
-_RockTunnel1BattleText7::
-	text "You have #MON!"
-	line "Let's start!"
-	done
-
-_RockTunnel1EndBattleText7::
-	text "You"
-	line "play hard!"
-	prompt
-
-_RockTunnel1AfterBattleText7::
-	text "Whew! I'm all"
-	line "sweaty now!"
-	done
-
-_RockTunnel1Text8::
-	text "ROCK TUNNEL"
-	line "CERULEAN CITY -"
-	cont "LAVENDER TOWN"
-	done
--- a/text/maps/rock_tunnel_b2f_1.asm
+++ /dev/null
@@ -1,108 +1,0 @@
-_RockTunnel2BattleText2::
-	text "Hikers leave twigs"
-	line "as trail markers."
-	done
-
-_RockTunnel2EndBattleText2::
-	text "Ohhh!"
-	line "I did my best!"
-	prompt
-
-_RockTunnel2AfterBattleText2::
-	text "I want to go "
-	line "home!"
-	done
-
-_RockTunnel2BattleText3::
-	text "Hahaha! Can you"
-	line "beat my power?"
-	done
-
-_RockTunnel2EndBattleText3::
-	text "Oops!"
-	line "Out-muscled!"
-	prompt
-
-_RockTunnel2AfterBattleText3::
-	text "I go for power"
-	line "because I hate"
-	cont "thinking!"
-	done
-
-_RockTunnel2BattleText4::
-	text "You have a"
-	line "#DEX?"
-	cont "I want one too!"
-	done
-
-_RockTunnel2EndBattleText4::
-	text "Shoot!"
-	line "I'm so jealous!"
-	prompt
-
-_RockTunnel2AfterBattleText4::
-	text "When you finish"
-	line "your #DEX, can"
-	cont "I have it?"
-	done
-
-_RockTunnel2BattleText5::
-	text "Do you know about"
-	line "costume players?"
-	done
-
-_RockTunnel2EndBattleText5::
-	text "Well,"
-	line "that's that."
-	prompt
-
-_RockTunnel2AfterBattleText5::
-	text "Costume players"
-	line "dress up as"
-	cont "#MON for fun."
-	done
-
-_RockTunnel2BattleText6::
-	text "My #MON"
-	line "techniques will"
-	cont "leave you crying!"
-	done
-
-_RockTunnel2EndBattleText6::
-	text "I give!"
-	line "You're a better"
-	cont "technician!"
-	prompt
-
-_RockTunnel2AfterBattleText6::
-	text "In mountains,"
-	line "you'll often find"
-	cont "rock-type #MON."
-	done
-
-_RockTunnel2BattleText7::
-	text "I don't often"
-	line "come here, but I"
-	cont "will fight you."
-	done
-
-_RockTunnel2EndBattleText7::
-	text "Oh!"
-	line "I lost!"
-	prompt
-
-_RockTunnel2AfterBattleText7::
-	text "I like tiny"
-	line "#MON, big ones"
-	cont "are too scary!"
-	done
-
-_RockTunnel2BattleText8::
-	text "Hit me with your"
-	line "best shot!"
-	done
-
-_RockTunnel2EndBattleText8::
-	text "Fired"
-	line "away!"
-	prompt
--- a/text/maps/rock_tunnel_b2f_2.asm
+++ /dev/null
@@ -1,20 +1,0 @@
-_RockTunnel2AfterBattleText8::
-	text "I'll raise my"
-	line "#MON to beat"
-	cont "yours, kid!"
-	done
-
-_RockTunnel2BattleText9::
-	text "I draw #MON"
-	line "when I'm home."
-	done
-
-_RockTunnel2EndBattleText9::
-	text "Whew!"
-	line "I'm exhausted!"
-	prompt
-
-_RockTunnel2AfterBattleText9::
-	text "I'm an artist,"
-	line "not a fighter."
-	done
--- a/text/maps/rock_tunnel_pokecenter.asm
+++ /dev/null
@@ -1,13 +1,0 @@
-_RockTunnelPokecenterText2::
-	text "The element types"
-	line "of #MON make"
-	cont "them stronger"
-	cont "than some types"
-	cont "and weaker than"
-	cont "others!"
-	done
-
-_RockTunnelPokecenterText3::
-	text "I sold a useless"
-	line "NUGGET for ¥5000!"
-	done
--- a/text/maps/rocket_hideout_b1f.asm
+++ /dev/null
@@ -1,73 +1,0 @@
-_RocketHideout1EndBattleText6::
-	text "Why...?@@"
-
-_RocketHideout1BattleText2::
-	text "Who are you? How"
-	line "did you get here?"
-	done
-
-_RocketHideout1EndBattleText2::
-	text "Oww!"
-	line "Beaten!"
-	prompt
-
-_RocketHideout1AfterBattleTxt2::
-	text "Are you dissing"
-	line "TEAM ROCKET?"
-	done
-
-_RocketHideout1BattleText3::
-	text "You broke into"
-	line "our operation?"
-	done
-
-_RocketHideout1EndBattleText3::
-	text "Burnt!"
-	prompt
-
-_RocketHideout1AfterBattleTxt3::
-	text "You're not going"
-	line "to get away with"
-	cont "this, brat!"
-	done
-
-_RocketHideout1BattleText4::
-	text "Intruder alert!"
-	done
-
-_RocketHideout1EndBattleText4::
-	text "I"
-	line "can't do it!"
-	prompt
-
-_RocketHideout1AfterBattleTxt4::
-	text "SILPH SCOPE?"
-	line "I don't know"
-	cont "where it is!"
-	done
-
-_RocketHideout1BattleText5::
-	text "Why did you come"
-	line "here?"
-	done
-
-_RocketHideout1EndBattleText5::
-	text "This"
-	line "won't do!"
-	prompt
-
-_RocketHideout1AfterBattleTxt5::
-	text "OK, I'll talk!"
-	line "Take the elevator"
-	cont "to see my BOSS!"
-	done
-
-_RocketHideout1BattleText6::
-	text "Are you lost, you"
-	line "little rat?"
-	done
-
-_RocketHideout1AfterBattleTxt6::
-	text "Uh-oh, that fight"
-	line "opened the door!"
-	done
--- a/text/maps/rocket_hideout_b2f.asm
+++ /dev/null
@@ -1,17 +1,0 @@
-_RocketHideout2BattleText2::
-	text "BOSS said you can"
-	line "see GHOSTs with"
-	cont "the SILPH SCOPE!"
-	done
-
-_RocketHideout2EndBattleText2::
-	text "I"
-	line "surrender!"
-	prompt
-
-_RocketHideout2AfterBattleTxt2::
-	text "The TEAM ROCKET"
-	line "HQ has 4 basement"
-	cont "floors. Can you"
-	cont "reach the BOSS?"
-	done
--- a/text/maps/rocket_hideout_b3f.asm
+++ /dev/null
@@ -1,35 +1,0 @@
-_RocketHideout3BattleText2::
-	text "Stop meddling in"
-	line "TEAM ROCKET's"
-	cont "affairs!"
-	done
-
-_RocketHideout3EndBattleText2::
-	text "Oof!"
-	line "Taken down!"
-	prompt
-
-_RocketHideout3AfterBattleTxt2::
-	text "SILPH SCOPE?"
-	line "The machine the"
-	cont "BOSS stole. It's"
-	cont "here somewhere."
-	done
-
-_RocketHideout3BattleTxt::
-	text "We got word from"
-	line "upstairs that you"
-	cont "were coming!"
-	done
-
-_RocketHideout3EndBattleText3::
-	text "What?"
-	line "I lost? No!"
-	prompt
-
-_RocketHide3AfterBattleText3::
-	text "Go ahead and go!"
-	line "But, you need the"
-	cont "LIFT KEY to run"
-	cont "the elevator!"
-	done
--- a/text/maps/rocket_hideout_b4f.asm
+++ /dev/null
@@ -1,74 +1,0 @@
-_RocketHideout4Text_4557a::
-	text "So! I must say, I"
-	line "am impressed you"
-	cont "got here!"
-	done
-
-_RocketHideout4Text_4557f::
-	text "WHAT!"
-	line "This cannot be!"
-	prompt
-
-_RocketHideout4Text_45584::
-	text "I see that you"
-	line "raise #MON"
-	cont "with utmost care."
-
-	para "A child like you"
-	line "would never"
-	cont "understand what I"
-	cont "hope to achieve."
-
-	para "I shall step"
-	line "aside this time!"
-
-	para "I hope we meet"
-	line "again..."
-	done
-
-_RocketHideout4BattleText2::
-	text "I know you! You"
-	line "ruined our plans"
-	cont "at MT.MOON!"
-	done
-
-_RocketHideout4EndBattleText2::
-	text "Burned"
-	line "again!"
-	prompt
-
-_RocketHide4AfterBattleText2::
-	text "Do you have"
-	line "something against"
-	cont "TEAM ROCKET?"
-	done
-
-_RocketHideout4BattleText3::
-	text "How can you not"
-	line "see the beauty of"
-	cont "our evil?"
-	done
-
-_RocketHideout4EndBattleText3::
-	text "Ayaya!"
-	prompt
-
-_RocketHide4AfterBattleText3::
-	text "BOSS! I'm sorry I"
-	line "failed you!"
-	done
-
-_RocketHideout4BattleText4::
-	text "The elevator"
-	line "doesn't work? Who"
-	cont "has the LIFT KEY?"
-	done
-
-_RocketHideout4EndBattleText4::
-	text "No!"
-	prompt
-
-_RocketHideout4Text_455ec::
-	text "Oh no! I dropped"
-	line "the LIFT KEY!"
-	done
--- a/text/maps/rocket_hideout_elevator.asm
+++ /dev/null
@@ -1,3 +1,0 @@
-_RocketElevatorText_4578b::
-	text "It appears to"
-	line "need a key.@@"
--- a/text/maps/route_1.asm
+++ /dev/null
@@ -1,49 +1,0 @@
-_Route1ViridianMartSampleText::
-	text "Hi! I work at a"
-	line "#MON MART."
-
-	para "It's a convenient"
-	line "shop, so please"
-	cont "visit us in"
-	cont "VIRIDIAN CITY."
-
-	para "I know, I'll give"
-	line "you a sample!"
-	cont "Here you go!"
-	prompt
-
-_Route1Text_1cae8::
-	text "<PLAYER> got"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_Route1Text_1caee::
-	text "We also carry"
-	line "# BALLs for"
-	cont "catching #MON!"
-	done
-
-_Route1Text_1caf3::
-	text "You have too much"
-	line "stuff with you!"
-	done
-
-_Route1Text2::
-	text "See those ledges"
-	line "along the road?"
-
-	para "It's a bit scary,"
-	line "but you can jump"
-	cont "from them."
-
-	para "You can get back"
-	line "to PALLET TOWN"
-	cont "quicker that way."
-	done
-
-_Route1Text3::
-	text "ROUTE 1"
-	line "PALLET TOWN -"
-	cont "VIRIDIAN CITY"
-	done
--- a/text/maps/route_10.asm
+++ /dev/null
@@ -1,109 +1,0 @@
-_Route10BattleText1::
-	text "Wow, are you a"
-	line "#MANIAC too?"
-	cont "Want to see my"
-	cont "collection?"
-	done
-
-_Route10EndBattleText1::
-	text "Humph."
-	line "I'm not angry!"
-	prompt
-
-_Route10AfterBattleText1::
-	text "I have more rare"
-	line "#MON at home!"
-	done
-
-_Route10BattleText2::
-	text "Ha-hahah-ah-ha!"
-	done
-
-_Route10EndBattleText2::
-	text "Ha-haha!"
-	line "Not laughing!"
-	cont "Ha-hay fever!"
-	cont "Haha-ha-choo!"
-	prompt
-
-_Route10AfterBattleText2::
-	text "Haha-ha-choo!"
-	line "Ha-choo!"
-	cont "Snort! Snivel!"
-	done
-
-_Route10BattleText3::
-	text "Hi kid, want to"
-	line "see my #MON?"
-	done
-
-_Route10EndBattleText3::
-	text "Oh no!"
-	line "My #MON!"
-	prompt
-
-_Route10AfterBattleText3::
-	text "I don't like you"
-	line "for beating me!"
-	done
-
-_Route10BattleText4::
-	text "I've been to a"
-	line "#MON GYM a few"
-	cont "times. But, I"
-	cont "lost each time."
-	done
-
-_Route10EndBattleText4::
-	text "Ohh!"
-	line "Blew it again!"
-	prompt
-
-_Route10AfterBattleText4::
-	text "I noticed some"
-	line "#MANIACs"
-	cont "prowling around."
-	done
-
-_Route10BattleText5::
-	text "Ah! This mountain"
-	line "air is delicious!"
-	done
-
-_Route10EndBattleText5::
-	text "That"
-	line "cleared my head!"
-	prompt
-
-_Route10AfterBattleText5::
-	text "I feel bloated on"
-	line "mountain air!"
-	done
-
-_Route10BattleText6::
-	text "I'm feeling a bit"
-	line "faint from this"
-	cont "tough hike."
-	done
-
-_Route10EndBattleText6::
-	text "I'm"
-	line "not up to it!"
-	prompt
-
-_Route10AfterBattleText6::
-	text "The #MON here"
-	line "are so chunky!"
-	cont "There should be a"
-	cont "pink one with a"
-	cont "floral pattern!"
-	done
-
-_Route10Text9::
-_Route10Text7::
-	text "ROCK TUNNEL"
-	done
-
-_Route10Text10::
-	text "POWER PLANT"
-	done
--- a/text/maps/route_11_1.asm
+++ /dev/null
@@ -1,133 +1,0 @@
-_Route11BattleText1::
-	text "Win, lose or draw!"
-	done
-
-_Route11EndBattleText1::
-	text "Atcha!"
-	line "Didn't go my way!"
-	prompt
-
-_Route11AfterBattleText1::
-	text "#MON is life!"
-	line "And to live is to"
-	cont "gamble!"
-	done
-
-_Route11BattleText2::
-	text "Competition! I"
-	line "can't get enough!"
-	done
-
-_Route11EndBattleText2::
-	text "I had"
-	line "a chance!"
-	prompt
-
-_Route11AfterBattleText2::
-	text "You can't be a"
-	line "coward in the"
-	cont "world of #MON!"
-	done
-
-_Route11BattleText3::
-	text "Let's go, but"
-	line "don't cheat!"
-	done
-
-_Route11EndBattleText3::
-	text "Huh?"
-	line "That's not right!"
-	prompt
-
-_Route11AfterBattleText3::
-	text "I did my best! I"
-	line "have no regrets!"
-	done
-
-_Route11BattleText4::
-	text "Careful!"
-	line "I'm laying down"
-	cont "some cables!"
-	done
-
-_Route11EndBattleText4::
-	text "That"
-	line "was electric!"
-	prompt
-
-_Route11AfterBattleText4::
-	text "Spread the word"
-	line "to save energy!"
-	done
-
-_Route11BattleText5::
-	text "I just became a"
-	line "trainer! But, I"
-	cont "think I can win!"
-	done
-
-_Route11EndBattleText5::
-	text "My"
-	line "#MON couldn't!"
-	prompt
-
-_Route11AfterBattleText5::
-	text "What do you want?"
-	line "Leave me alone!"
-	done
-
-_Route11BattleText6::
-	text "Fwahaha! I have"
-	line "never lost!"
-	done
-
-_Route11EndBattleText6::
-	text "My"
-	line "first loss!"
-	prompt
-
-_Route11AfterBattleText6::
-	text "Luck of the draw!"
-	line "Just luck!"
-	done
-
-_Route11BattleText7::
-	text "I have never won"
-	line "before..."
-	done
-
-_Route11EndBattleText7::
-	text "I saw"
-	line "this coming..."
-	prompt
-
-_Route11AfterBattleText7::
-	text "It's just luck."
-	line "Luck of the draw."
-	done
-
-_Route11BattleText8::
-	text "I'm the best in"
-	line "my class!"
-	done
-
-_Route11EndBattleText8::
-	text "Darn!"
-	line "I need to make my"
-	cont "#MON stronger!"
-	prompt
-
-_Route11AfterBattleText8::
-	text "There's a fat"
-	line "#MON that"
-	cont "comes down from"
-	cont "the mountains."
-
-	para "It's strong if"
-	line "you can get it."
-	done
-
-_Route11BattleText9::
-	text "Watch out for"
-	line "live wires!"
-	done
--- a/text/maps/route_11_2.asm
+++ /dev/null
@@ -1,28 +1,0 @@
-_Route11EndBattleText9::
-	text "Whoa!"
-	line "You spark plug!"
-	prompt
-
-_Route11AfterBattleText9::
-	text "Well, better get"
-	line "back to work."
-	done
-
-_Route11BattleText10::
-	text "My #MON should"
-	line "be ready by now!"
-	done
-
-_Route11EndBattleText10::
-	text "Too"
-	line "much, too young!"
-	prompt
-
-_Route11AfterBattleText10::
-	text "I better go find"
-	line "stronger ones!"
-	done
-
-_Route11Text11::
-	text "DIGLETT's CAVE"
-	done
--- a/text/maps/route_11_gate.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-_Route11GateText1::
-	text "When you catch"
-	line "lots of #MON,"
-	cont "isn't it hard to"
-	cont "think up names?"
-
-	para "In LAVENDER TOWN,"
-	line "there's a man who"
-	cont "rates #MON"
-	cont "nicknames."
-
-	para "He'll help you"
-	line "rename them too!"
-	done
--- a/text/maps/route_11_gate_upstairs.asm
+++ /dev/null
@@ -1,40 +1,0 @@
-_Route11GateUpstairsText_494a3::
-	text "There are items on"
-	line "the ground that"
-	cont "can't be seen."
-
-	para "ITEMFINDER will"
-	line "detect an item"
-	cont "close to you."
-
-	para "It can't pinpoint"
-	line "it, so you have"
-	cont "to look yourself!"
-	done
-
-_BinocularsSnorlaxText::
-	text "Looked into the"
-	line "binoculars."
-
-	para "A big #MON is"
-	line "asleep on a road!"
-	done
-
-_BinocularsNoSnorlaxText::
-	text "Looked into the"
-	line "binoculars."
-
-	para "It's a beautiful"
-	line "view!"
-	done
-
-_Route11GateUpstairsText_494d5::
-	text "Looked into the"
-	line "binoculars."
-
-	para "The only way to"
-	line "get from CERULEAN"
-	cont "CITY to LAVENDER"
-	cont "is by way of the"
-	cont "ROCK TUNNEL."
-	done
--- a/text/maps/route_12.asm
+++ /dev/null
@@ -1,139 +1,0 @@
-_Route12Text1::
-	text "A sleeping #MON"
-	line "blocks the way!"
-	done
-
-_Route12Text13::
-	text "SNORLAX woke up!"
-
-	para "It attacked in a"
-	line "grumpy rage!"
-	done
-
-_Route12Text14::
-	text "SNORLAX calmed"
-	line "down! With a big"
-	cont "yawn, it returned"
-	cont "to the mountains!"
-	done
-
-_Route12BattleText1::
-	text "Yeah! I got a"
-	line "bite, here!"
-	done
-
-_Route12EndBattleText1::
-	text "Tch!"
-	line "Just a small fry!"
-	prompt
-
-_Route12AfterBattleText1::
-	text "Hang on! My line's"
-	line "snagged!"
-	done
-
-_Route12BattleText2::
-	text "Be patient!"
-	line "Fishing is a"
-	cont "waiting game!"
-	done
-
-_Route12EndBattleText2::
-	text "That"
-	line "one got away!"
-	prompt
-
-_Route12AfterBattleText2::
-	text "With a better ROD,"
-	line "I could catch"
-	cont "better #MON!"
-	done
-
-_Route12BattleText3::
-	text "Have you found a"
-	line "MOON STONE?"
-	done
-
-_Route12EndBattleText3::
-	text "Oww!"
-	prompt
-
-_Route12AfterBattleText3::
-	text "I could have made"
-	line "my #MON evolve"
-	cont "with MOON STONE!"
-	done
-
-_Route12BattleText4::
-	text "Electricity is my"
-	line "specialty!"
-	done
-
-_Route12EndBattleText4::
-	text "Unplugged!"
-	prompt
-
-_Route12AfterBattleText4::
-	text "Water conducts"
-	line "electricity, so"
-	cont "you should zap"
-	cont "sea #MON!"
-	done
-
-_Route12BattleText5::
-	text "The FISHING FOOL"
-	line "vs. #MON KID!"
-	done
-
-_Route12EndBattleText5::
-	text "Too"
-	line "much!"
-	prompt
-
-_Route12AfterBattleText5::
-	text "You beat me at"
-	line "#MON, but I'm"
-	cont "good at fishing!"
-	done
-
-_Route12BattleText6::
-	text "I'd rather be"
-	line "working!"
-	done
-
-_Route12EndBattleText6::
-	text "It's"
-	line "not easy..."
-	prompt
-
-_Route12AfterBattleText6::
-	text "It's all right."
-	line "Losing doesn't"
-	cont "bug me any more."
-	done
-
-_Route12BattleText7::
-	text "You never know"
-	line "what you could"
-	cont "catch!"
-	done
-
-_Route12EndBattleText7::
-	text "Lost"
-	line "it!"
-	prompt
-
-_Route12AfterBattleText7::
-	text "I catch MAGIKARP"
-	line "all the time, but"
-	cont "they're so weak!"
-	done
-
-_Route12Text11::
-	text "ROUTE 12 "
-	line "North to LAVENDER"
-	done
-
-_Route12Text12::
-	text "SPORT FISHING AREA"
-	done
--- a/text/maps/route_12_gate.asm
+++ /dev/null
@@ -1,4 +1,0 @@
-_Route12GateText1::
-	text "There's a lookout"
-	line "spot upstairs."
-	done
--- a/text/maps/route_12_gate_upstairs.asm
+++ /dev/null
@@ -1,42 +1,0 @@
-_TM39PreReceiveText::
-	text "My #MON's"
-	line "ashes are stored"
-	cont "in #MON TOWER."
-
-	para "You can have this"
-	line "TM. I don't need"
-	cont "it any more..."
-	prompt
-
-_ReceivedTM39Text::
-	text "<PLAYER> received"
-	line "TM39!@@"
-
-_TM39ExplanationText::
-	text "TM39 is a move"
-	line "called SWIFT."
-
-	para "It's very accurate,"
-	line "so use it during"
-	cont "battles you can't"
-	cont "afford to lose."
-	done
-
-_TM39NoRoomText::
-	text "You don't have"
-	line "room for this."
-	done
-
-_Route12GateUpstairsText_495b8::
-	text "Looked into the"
-	line "binoculars."
-
-	para "A man fishing!"
-	done
-
-_Route12GateUpstairsText_495c4::
-	text "Looked into the"
-	line "binoculars."
-
-	para "It's #MON TOWER!"
-	done
--- a/text/maps/route_12_house.asm
+++ /dev/null
@@ -1,60 +1,0 @@
-_Route12HouseText_564c0::
-	text "I'm the FISHING"
-	line "GURU's brother!"
-
-	para "I simply Looove"
-	line "fishing!"
-
-	para "Do you like to"
-	line "fish?"
-	done
-
-_Route12HouseText_564c5::
-	text "Grand! I like"
-	line "your style!"
-
-	para "Take this and"
-	line "fish, young one!"
-
-	para "<PLAYER> received"
-	line "a @"
-	TX_RAM wcf4b
-	text "!@@"
-
-_Route12HouseText_564ca::
-	db $0
-	para "Fishing is a way"
-	line "of life!"
-
-	para "From the seas to"
-	line "rivers, go out"
-	cont "and land the big"
-	cont "one!"
-	done
-
-_Route12HouseText_564cf::
-	text "Oh... That's so"
-	line "disappointing..."
-	done
-
-_Route12HouseText_564d4::
-	text "Hello there,"
-	line "<PLAYER>!"
-
-	para "Use the SUPER ROD"
-	line "in any water!"
-	cont "You can catch"
-	cont "different kinds"
-	cont "of #MON."
-
-	para "Try fishing"
-	line "wherever you can!"
-	done
-
-_Route12HouseText_564d9::
-	text "Oh no!"
-
-	para "I had a gift for"
-	line "you, but you have"
-	cont "no room for it!"
-	done
--- a/text/maps/route_13.asm
+++ /dev/null
@@ -1,179 +1,0 @@
-_Route13BattleText2::
-	text "My bird #MON"
-	line "want to scrap!"
-	done
-
-_Route13EndBattleText2::
-	text "My"
-	line "bird combo lost?"
-	prompt
-
-_Route13AfterBattleText2::
-	text "My #MON look"
-	line "happy even though"
-	cont "they lost."
-	done
-
-_Route13BattleText3::
-	text "I'm told I'm good"
-	line "for a kid!"
-	done
-
-_Route13EndBattleText3::
-	text "Ohh!"
-	line "I lost!"
-	prompt
-
-_Route13AfterBattleText3::
-	text "I want to become"
-	line "a good trainer."
-	cont "I'll train hard."
-	done
-
-_Route13BattleText4::
-	text "Wow! Your BADGEs"
-	line "are too cool!"
-	done
-
-_Route13EndBattleText4::
-	text "Not"
-	line "enough!"
-	prompt
-
-_Route13AfterBattleText4::
-	text "You got those"
-	line "BADGEs from GYM"
-	cont "LEADERs. I know!"
-	done
-
-_Route13BattleText5::
-	text "My cute #MON"
-	line "wish to make your"
-	cont "acquaintance."
-	done
-
-_Route13EndBattleText5::
-	text "Wow!"
-	line "You totally won!"
-	prompt
-
-_Route13AfterBattleText5::
-	text "You have to make"
-	line "#MON fight to"
-	cont "toughen them up!"
-	done
-
-_Route13BattleText6::
-	text "I found CARBOS in"
-	line "a cave once."
-	done
-
-_Route13EndBattleText6::
-	text "Just"
-	line "messed up!"
-	prompt
-
-_Route13AfterBattleText6::
-	text "CARBOS boosted"
-	line "the SPEED of my"
-	cont "#MON."
-	done
-
-_Route13BattleText7::
-	text "The wind's blowing"
-	line "my way!"
-	done
-
-_Route13EndBattleText7::
-	text "The"
-	line "wind turned!"
-	prompt
-
-_Route13AfterBattleText7::
-	text "I'm beat. I guess"
-	line "I'll FLY home."
-	done
-
-_Route13BattleText8::
-	text "Sure, I'll play"
-	line "with you!"
-	done
-
-_Route13EndBattleText8::
-	text "Oh!"
-	line "You little brute!"
-	prompt
-
-_Route13AfterBattleText8::
-	text "I wonder which is"
-	line "stronger, male or"
-	cont "female #MON?"
-	done
-
-_Route13BattleText9::
-	text "Do you want to"
-	line "#MON with me?"
-	done
-
-_Route13EndBattleText9::
-	text "It's over"
-	line "already?"
-	prompt
-
-_Route13AfterBattleText9::
-	text "I don't know"
-	line "anything about"
-	cont "#MON. I just"
-	cont "like cool ones!"
-	done
-
-_Route13BattleText10::
-	text "What're you"
-	line "lookin' at?"
-	done
-
-_Route13EndBattleText10::
-	text "Dang!"
-	line "Stripped gears!"
-	prompt
-
-_Route13AfterBattleText10::
-	text "Get lost!"
-	done
-
-_Route13BattleText11::
-	text "I always go with"
-	line "bird #MON!"
-	done
-
-_Route13EndBattleText11::
-	text "Out"
-	line "of power!"
-	prompt
-
-_Route13AfterBattleText11::
-	text "I wish I could"
-	line "fly like PIDGEY"
-	cont "and PIDGEOTTO..."
-	done
-
-_Route13Text11::
-	text "TRAINER TIPS"
-
-	para "Look to the left"
-	line "of that post!"
-	done
-
-_Route13Text12::
-	text "TRAINER TIPS"
-
-	para "Use SELECT to"
-	line "switch items in"
-	cont "the ITEM window!"
-	done
-
-_Route13Text13::
-	text "ROUTE 13"
-	line "North to SILENCE"
-	cont "BRIDGE"
-	done
--- a/text/maps/route_14.asm
+++ /dev/null
@@ -1,173 +1,0 @@
-_Route14BattleText1::
-	text "You need to use"
-	line "TMs to teach good"
-	cont "moves to #MON!"
-	done
-
-_Route14EndBattleText1::
-	text "Not"
-	line "good enough!"
-	prompt
-
-_Route14AfterBattleText1::
-	text "You have some HMs"
-	line "right? #MON"
-	cont "can't ever forget"
-	cont "those moves."
-	done
-
-_Route14BattleText2::
-	text "My bird #MON"
-	line "should be ready"
-	cont "for battle."
-	done
-
-_Route14EndBattleText2::
-	text "Not"
-	line "ready yet!"
-	prompt
-
-_Route14AfterBattleText2::
-	text "They need to learn"
-	line "better moves."
-	done
-
-_Route14BattleText3::
-	text "TMs are on sale"
-	line "in CELADON!"
-	cont "But, only a few"
-	cont "people have HMs!"
-	done
-
-_Route14EndBattleText3::
-	text "Aww,"
-	line "bummer!"
-	prompt
-
-_Route14AfterBattleText3::
-	text "Teach #MON"
-	line "moves of the same"
-	cont "element type for"
-	cont "more power."
-	done
-
-_Route14BattleText4::
-	text "Have you taught"
-	line "your bird #MON"
-	cont "how to FLY?"
-	done
-
-_Route14EndBattleText4::
-	text "Shot"
-	line "down in flames!"
-	prompt
-
-_Route14AfterBattleText4::
-	text "Bird #MON are"
-	line "my true love!"
-	done
-
-_Route14BattleText5::
-	text "Have you heard of"
-	line "the legendary"
-	cont "#MON?"
-	done
-
-_Route14EndBattleText5::
-	text "Why?"
-	line "Why'd I lose?"
-	prompt
-
-_Route14AfterBattleText5::
-	text "The 3 legendary"
-	line "#MON are all"
-	cont "birds of prey."
-	done
-
-_Route14BattleText6::
-	text "I'm not into it,"
-	line "but OK! Let's go!"
-	done
-
-_Route14EndBattleText6::
-	text "I"
-	line "knew it!"
-	prompt
-
-_Route14AfterBattleText6::
-	text "Winning, losing,"
-	line "it doesn't matter"
-	cont "in the long run!"
-	done
-
-_Route14BattleText7::
-	text "C'mon, c'mon."
-	line "Let's go, let's"
-	cont "go, let's go!"
-	done
-
-_Route14EndBattleText7::
-	text "Arrg!"
-	line "Lost! Get lost!"
-	prompt
-
-_Route14AfterBattleText7::
-	text "What, what, what?"
-	line "What do you want?"
-	done
-
-_Route14BattleText8::
-	text "Perfect! I need to"
-	line "burn some time!"
-	done
-
-_Route14EndBattleText8::
-	text "What?"
-	line "You!?"
-	prompt
-
-_Route14AfterBattleText8::
-	text "Raising #MON"
-	line "is a drag, man."
-	done
-
-_Route14BattleText9::
-	text "We ride out here"
-	line "because there's"
-	cont "more room!"
-	done
-
-_Route14EndBattleText9::
-	text "Wipe out!"
-	prompt
-
-_Route14AfterBattleText9::
-	text "It's cool you"
-	line "made your #MON"
-	cont "so strong!"
-
-	para "Might is right!"
-	line "And you know it!"
-	done
-
-_Route14BattleText10::
-	text "#MON fight?"
-	line "Cool! Rumble!"
-	done
-
-_Route14EndBattleText10::
-	text "Blown"
-	line "away!"
-	prompt
-
-_Route14AfterBattleText10::
-	text "You know who'd"
-	line "win, you and me"
-	cont "one on one!"
-	done
-
-_Route14Text11::
-	text "ROUTE 14"
-	line "West to FUCHSIA"
-	cont "CITY"
-	done
--- a/text/maps/route_15.asm
+++ /dev/null
@@ -1,171 +1,0 @@
-_Route15BattleText1::
-	text "Let me try out the"
-	line "#MON I just"
-	cont "got in a trade!"
-	done
-
-_Route15EndBattleText1::
-	text "Not"
-	line "good enough!"
-	prompt
-
-_Route15AfterBattleText1::
-	text "You can't change"
-	line "the nickname of"
-	cont "any #MON you"
-	cont "get in a trade."
-
-	para "Only the Original"
-	line "Trainer can."
-	done
-
-_Route15BattleText2::
-	text "You look gentle,"
-	line "so I think I can"
-	cont "beat you!"
-	done
-
-_Route15EndBattleText2::
-	text "No,"
-	line "wrong!"
-	prompt
-
-_Route15AfterBattleText2::
-	text "I'm afraid of"
-	line "BIKERs, they look"
-	cont "so ugly and mean!"
-	done
-
-_Route15BattleText3::
-	text "When I whistle, I"
-	line "can summon bird"
-	cont "#MON!"
-	done
-
-_Route15EndBattleText3::
-	text "Ow!"
-	line "That's tragic!"
-	prompt
-
-_Route15AfterBattleText3::
-	text "Maybe I'm not cut"
-	line "out for battles."
-	done
-
-_Route15BattleText4::
-	text "Hmm? My birds are"
-	line "shivering! You're"
-	cont "good, aren't you?"
-	done
-
-_Route15EndBattleText4::
-	text "Just"
-	line "as I thought!"
-	prompt
-
-_Route15AfterBattleText4::
-	text "Did you know moves"
-	line "like EARTHQUAKE"
-	cont "don't have any"
-	cont "effect on birds?"
-	done
-
-_Route15BattleText5::
-	text "Oh, you're a"
-	line "little cutie!"
-	done
-
-_Route15EndBattleText5::
-	text "You looked"
-	line "so cute too!"
-	prompt
-
-_Route15AfterBattleText5::
-	text "I forgive you!"
-	line "I can take it!"
-	done
-
-_Route15BattleText6::
-	text "I raise #MON"
-	line "because I live"
-	cont "alone!"
-	done
-
-_Route15EndBattleText6::
-	text "I didn't"
-	line "ask for this!"
-	prompt
-
-_Route15AfterBattleText6::
-	text "I just like going"
-	line "home to be with"
-	cont "my #MON!"
-	done
-
-_Route15BattleText7::
-	text "Hey kid! C'mon!"
-	line "I just got these!"
-	done
-
-_Route15EndBattleText7::
-	text "Why"
-	line "not?"
-	prompt
-
-_Route15AfterBattleText7::
-	text "You only live"
-	line "once, so I live"
-	cont "as an outlaw!"
-	cont "TEAM ROCKET RULES!"
-	done
-
-_Route15BattleText8::
-	text "Fork over all your"
-	line "cash when you"
-	cont "lose to me, kid!"
-	done
-
-_Route15EndBattleText8::
-	text "That"
-	line "can't be true!"
-	prompt
-
-_Route15AfterBattleText8::
-	text "I was just joking"
-	line "about the money!"
-	done
-
-_Route15BattleText9::
-	text "What's cool?"
-	line "Trading #MON!"
-	done
-
-_Route15EndBattleText9::
-	text "I"
-	line "said trade!"
-	prompt
-
-_Route15AfterBattleText9::
-	text "I trade #MON"
-	line "with my friends!"
-	done
-
-_Route15BattleText10::
-	text "Want to play with"
-	line "my #MON?"
-	done
-
-_Route15EndBattleText10::
-	text "I was"
-	line "too impatient!"
-	prompt
-
-_Route15AfterBattleText10::
-	text "I'll go train with"
-	line "weaker people.@@"
-
-_Route15Text12::
-	text "ROUTE 15"
-	line "West to FUCHSIA"
-	cont "CITY"
-	done
--- a/text/maps/route_15_gate.asm
+++ /dev/null
@@ -1,7 +1,0 @@
-_Route15GateText1::
-	text "Are you working"
-	line "on a #DEX?"
-
-	para "PROF.OAK's AIDE"
-	line "came by here."
-	done
--- a/text/maps/route_15_gate_upstairs.asm
+++ /dev/null
@@ -1,24 +1,0 @@
-_Route15GateUpstairsText_4968c::
-	text "EXP.ALL gives"
-	line "EXP points to all"
-	cont "the #MON with"
-	cont "you, even if they"
-	cont "don't fight."
-
-	para "It does, however,"
-	line "reduce the amount"
-	cont "of EXP for each"
-	cont "#MON."
-
-	para "If you don't need"
-	line "it, you should "
-	cont "store it via PC."
-	done
-
-_Route15GateUpstairsText_49698::
-	text "Looked into the"
-	line "binoculars."
-
-	para "It looks like a"
-	line "small island!"
-	done
--- a/text/maps/route_16.asm
+++ /dev/null
@@ -1,120 +1,0 @@
-_Route16BattleText1::
-	text "What do you want?"
-	done
-
-_Route16EndBattleText1::
-	text "Don't you"
-	line "dare laugh!"
-	prompt
-
-_Route16AfterBattleText1::
-	text "We like just"
-	line "hanging here,"
-	cont "what's it to you?"
-	done
-
-_Route16BattleText2::
-	text "Nice BIKE!"
-	line "Hand it over!"
-	done
-
-_Route16EndBattleText2::
-	text "Knock"
-	line "out!"
-	prompt
-
-_Route16AfterBattleText2::
-	text "Forget it, who"
-	line "needs your BIKE!"
-	done
-
-_Route16BattleText3::
-	text "Come out and play,"
-	line "little mouse!"
-	done
-
-_Route16EndBattleText3::
-	text "You"
-	line "little rat!"
-	prompt
-
-_Route16AfterBattleText3::
-	text "I hate losing!"
-	line "Get away from me!"
-	done
-
-_Route16BattleText4::
-	text "Hey, you just"
-	line "bumped me!"
-	done
-
-_Route16EndBattleText4::
-	text "Kaboom!"
-	prompt
-
-_Route16AfterBattleText4::
-	text "You can also get"
-	line "to FUCHSIA from"
-	cont "VERMILION using a"
-	cont "coastal road."
-	done
-
-_Route16BattleText5::
-	text "I'm feeling"
-	line "hungry and mean!"
-	done
-
-_Route16EndBattleText5::
-	text "Bad,"
-	line "bad, bad!"
-	prompt
-
-_Route16AfterBattleText5::
-	text "I like my #MON"
-	line "ferocious! They"
-	cont "tear up enemies!"
-	done
-
-_Route16BattleText6::
-	text "Sure, I'll go!"
-	done
-
-_Route16EndBattleText6::
-	text "Don't make"
-	line "me mad!"
-	prompt
-
-_Route16AfterBattleText6::
-	text "I like harassing"
-	line "people with my"
-	cont "vicious #MON!"
-	done
-
-_Route16Text7::
-	text "A sleeping #MON"
-	line "blocks the way!"
-	done
-
-_Route16Text10::
-	text "SNORLAX woke up!"
-
-	para "It attacked in a"
-	line "grumpy rage!"
-	done
-
-_Route16Text11::
-	text "With a big yawn,"
-	line "SNORLAX returned"
-	cont "to the mountains!"
-	done
-
-_Route16Text8::
-	text "Enjoy the slope!"
-	line "CYCLING ROAD"
-	done
-
-_Route16Text9::
-	text "ROUTE 16"
-	line "CELADON CITY -"
-	cont "FUCHSIA CITY"
-	done
--- a/text/maps/route_16_gate.asm
+++ /dev/null
@@ -1,22 +1,0 @@
-_Route16GateText_49777::
-	text "No pedestrians"
-	line "are allowed on"
-	cont "CYCLING ROAD!"
-	done
-
-_Route16GateText_4977c::
-	text "CYCLING ROAD is a"
-	line "downhill course"
-	cont "by the sea. It's"
-	cont "a great ride."
-	done
-
-_Route16GateText_49781::
-	text "Excuse me! Wait"
-	line "up please!"
-	done
-
-_Route16GateText2::
-	text "How'd you get in?"
-	line "Good effort!"
-	done
--- a/text/maps/route_16_gate_upstairs.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-_Route16GateUpstairsText_49820::
-	text "I'm going for a"
-	line "ride with my girl"
-	cont "friend!"
-	done
-
-_Route16GateUpstairsText_4982f::
-	text "We're going"
-	line "riding together!"
-	done
-
-_Route16GateUpstairsText_4983b::
-	text "Looked into the"
-	line "binoculars."
-
-	para "It's CELADON DEPT."
-	line "STORE!"
-	done
-
-_Route16GateUpstairsText_49847::
-	text "Looked into the"
-	line "binoculars."
-
-	para "There's a long"
-	line "path over water!"
-	done
--- a/text/maps/route_16_house.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-_Route16HouseText3::
-	text "Oh, you found my"
-	line "secret retreat!"
-
-	para "Please don't tell"
-	line "anyone I'm here."
-	cont "I'll make it up"
-	cont "to you with this!"
-	prompt
-
-_ReceivedHM02Text::
-	text "<PLAYER> received"
-	line "HM02!@@"
-
-_HM02ExplanationText::
-	text "HM02 is FLY."
-	line "It will take you"
-	cont "back to any town."
-
-	para "Put it to good"
-	line "use!"
-	done
-
-_HM02NoRoomText::
-	text "You don't have any"
-	line "room for this."
-	done
-
-_Route16HouseText_1e652::
-	text "FEAROW: Kyueen!"
-	done
--- a/text/maps/route_17.asm
+++ /dev/null
@@ -1,195 +1,0 @@
-_Route17BattleText1::
-	text "There's no money"
-	line "in fighting kids!"
-	done
-
-_Route17EndBattleText1::
-	text "Burned"
-	line "out!"
-	prompt
-
-_Route17AfterBattleText1::
-	text "Good stuff is"
-	line "lying around on"
-	cont "CYCLING ROAD!"
-	done
-
-_Route17BattleText2::
-	text "What do you want,"
-	line "kiddo?"
-	done
-
-_Route17EndBattleText2::
-	text "Whoo!"
-	prompt
-
-_Route17AfterBattleText2::
-	text "I could belly-"
-	line "bump you outta"
-	cont "here!"
-	done
-
-_Route17BattleText3::
-	text "You heading to"
-	line "FUCHSIA?"
-	done
-
-_Route17EndBattleText3::
-	text "Crash and"
-	line "burn!"
-	prompt
-
-_Route17AfterBattleText3::
-	text "I love racing"
-	line "downhill!"
-	done
-
-_Route17BattleText4::
-	text "We're BIKERs!"
-	line "Highway stars!"
-	done
-
-_Route17EndBattleText4::
-	text "Smoked!"
-	prompt
-
-_Route17AfterBattleText4::
-	text "Are you looking"
-	line "for adventure?"
-	done
-
-_Route17BattleText5::
-	text "Let VOLTORB"
-	line "electrify you!"
-	done
-
-_Route17EndBattleText5::
-	text "Grounded"
-	line "out!"
-	prompt
-
-_Route17AfterBattleText5::
-	text "I got my VOLTORB"
-	line "at the abandoned"
-	cont "POWER PLANT."
-	done
-
-_Route17BattleText6::
-	text "My #MON won't"
-	line "evolve! Why?"
-	done
-
-_Route17EndBattleText6::
-	text "Why,"
-	line "you!"
-	prompt
-
-_Route17AfterBattleText6::
-	text "Maybe some #MON"
-	line "need element"
-	cont "STONEs to evolve."
-	done
-
-_Route17BattleText7::
-	text "I need a little"
-	line "exercise!"
-	done
-
-_Route17EndBattleText7::
-	text "Whew!"
-	line "Good workout!"
-	prompt
-
-_Route17AfterBattleText7::
-	text "I'm sure I lost"
-	line "weight there!"
-	done
-
-_Route17BattleText8::
-	text "Be a rebel!"
-	done
-
-_Route17EndBattleText8::
-	text "Aaaargh!"
-	prompt
-
-_Route17AfterBattleText8::
-	text "Be ready to fight"
-	line "for your beliefs!"
-	done
-
-_Route17BattleText9::
-	text "Nice BIKE!"
-	line "How's it handle?"
-	done
-
-_Route17EndBattleText9::
-	text "Shoot!"
-	prompt
-
-_Route17AfterBattleText9::
-	text "The slope makes"
-	line "it hard to steer!"
-	done
-
-_Route17BattleText10::
-	text "Get lost kid!"
-	line "I'm bushed!"
-	done
-
-_Route17EndBattleText10::
-	text "Are you"
-	line "satisfied?"
-	prompt
-
-_Route17AfterBattleText10::
-	text "I need to catch"
-	line "a few Zs!"
-	done
-
-_Route17Text11::
-	text "It's a notice!"
-
-	para "Watch out for"
-	line "discarded items!"
-	done
-
-_Route17Text12::
-	text "TRAINER TIPS"
-
-	para "All #MON are"
-	line "unique."
-
-	para "Even #MON of"
-	line "the same type and"
-	cont "level grow at"
-	cont "different rates."
-	done
-
-_Route17Text13::
-	text "TRAINER TIPS"
-
-	para "Press the A or B"
-	line "Button to stay in"
-	cont "place while on a"
-	cont "slope."
-	done
-
-_Route17Text14::
-	text "ROUTE 17"
-	line "CELADON CITY -"
-	cont "FUCHSIA CITY"
-	done
-
-_Route17Text15::
-	text "It's a notice!"
-
-	para "Don't throw the"
-	line "game, throw #"
-	cont "BALLs instead!"
-	done
-
-_Route17Text16::
-	text "CYCLING ROAD"
-	line "Slope ends here!"
-	done
--- a/text/maps/route_18.asm
+++ /dev/null
@@ -1,58 +1,0 @@
-_Route18BattleText1::
-	text "I always check"
-	line "every grassy area"
-	cont "for new #MON."
-	done
-
-_Route18EndBattleText1::
-	text "Tch!"
-	prompt
-
-_Route18AfterBattleText1::
-	text "I wish I had a"
-	line "BIKE!"
-	done
-
-_Route18BattleText2::
-	text "Kurukkoo!"
-	line "How do you like"
-	cont "my bird call?"
-	done
-
-_Route18EndBattleText2::
-	text "I"
-	line "had to bug you!"
-	prompt
-
-_Route18AfterBattleText2::
-	text "I also collect sea"
-	line "#MON on"
-	cont "weekends!"
-	done
-
-_Route18BattleText3::
-	text "This is my turf!"
-	line "Get out of here!"
-	done
-
-_Route18EndBattleText3::
-	text "Darn!"
-	prompt
-
-_Route18AfterBattleText3::
-	text "This is my fave"
-	line "#MON hunting"
-	cont "area!"
-	done
-
-_Route18Text4::
-	text "ROUTE 18"
-	line "CELADON CITY -"
-	cont "FUCHSIA CITY"
-	done
-
-_Route18Text5::
-	text "CYCLING ROAD"
-	line "No pedestrians"
-	cont "permitted!"
-	done
--- a/text/maps/route_18_gate.asm
+++ /dev/null
@@ -1,14 +1,0 @@
-_Route18GateText_49928::
-	text "You need a BICYCLE"
-	line "for CYCLING ROAD!"
-	done
-
-_Route18GateText_4992d::
-	text "CYCLING ROAD is"
-	line "all uphill from"
-	cont "here."
-	done
-
-_Route18GateText_49932::
-	text "Excuse me!"
-	done
--- a/text/maps/route_18_gate_upstairs.asm
+++ /dev/null
@@ -1,15 +1,0 @@
-_Route18GateUpstairsText_49993::
-	text "Looked into the"
-	line "binoculars."
-
-	para "PALLET TOWN is in"
-	line "the west!"
-	done
-
-_Route18GateUpstairsText_4999f::
-	text "Looked into the"
-	line "binoculars."
-
-	para "There are people"
-	line "swimming!"
-	done
--- a/text/maps/route_19.asm
+++ /dev/null
@@ -1,157 +1,0 @@
-_Route19BattleText1::
-	text "Have to warm up"
-	line "before my swim!"
-	done
-
-_Route19EndBattleText1::
-	text "All"
-	line "warmed up!"
-	prompt
-
-_Route19AfterBattleText1::
-	text "Thanks, kid! I'm"
-	line "ready for a swim!"
-	done
-
-_Route19BattleText2::
-	text "Wait! You'll have"
-	line "a heart attack!"
-	done
-
-_Route19EndBattleText2::
-	text "Ooh!"
-	line "That's chilly!"
-	prompt
-
-_Route19AfterBattleText2::
-	text "Watch out for"
-	line "TENTACOOL!"
-	done
-
-_Route19BattleText3::
-	text "I love swimming!"
-	line "What about you?"
-	done
-
-_Route19EndBattleText3::
-	text "Belly"
-	line "flop!"
-	prompt
-
-_Route19AfterBattleText3::
-	text "I can beat #MON"
-	line "at swimming!"
-	done
-
-_Route19BattleText4::
-	text "What's beyond the"
-	line "horizon?"
-	done
-
-_Route19EndBattleText4::
-	text "Glub!"
-	prompt
-
-_Route19AfterBattleText4::
-	text "I see a couple of"
-	line "islands!"
-	done
-
-_Route19BattleText5::
-	text "I tried diving"
-	line "for #MON, but"
-	cont "it was a no go!"
-	done
-
-_Route19EndBattleText5::
-	text "Help!"
-	prompt
-
-_Route19AfterBattleText5::
-	text "You have to fish"
-	line "for sea #MON!"
-	done
-
-_Route19BattleText6::
-	text "I look at the"
-	line "sea to forget!"
-	done
-
-_Route19EndBattleText6::
-	text "Ooh!"
-	line "Traumatic!"
-	prompt
-
-_Route19AfterBattleText6::
-	text "I'm looking at the"
-	line "sea to forget!"
-	done
-
-_Route19BattleText7::
-	text "Oh, I just love"
-	line "your ride! Can I"
-	cont "have it if I win?"
-	done
-
-_Route19EndBattleText7::
-	text "Oh!"
-	line "I lost!"
-	prompt
-
-_Route19AfterBattleText7::
-	text "It's still a long"
-	line "way to go to"
-	cont "SEAFOAM ISLANDS."
-	done
-
-_Route19BattleText8::
-	text "Swimming's great!"
-	line "Sunburns aren't!"
-	done
-
-_Route19EndBattleText8::
-	text "Shocker!"
-	prompt
-
-_Route19AfterBattleText8::
-	text "My boy friend"
-	line "wanted to swim to"
-	cont "SEAFOAM ISLANDS."
-	done
-
-_Route19BattleText9::
-	text "These waters are"
-	line "treacherous!"
-	done
-
-_Route19EndBattleText9::
-	text "Ooh!"
-	line "Dangerous!"
-	prompt
-
-_Route19AfterBattleText9::
-	text "I got a cramp!"
-	line "Glub, glub..."
-	done
-
-_Route19BattleText10::
-	text "I swam here, but"
-	line "I'm tired."
-	done
-
-_Route19EndBattleText10::
-	text "I'm"
-	line "exhausted..."
-	prompt
-
-_Route19AfterBattleText10::
-	text "LAPRAS is so big,"
-	line "it must keep you"
-	cont "dry on water."
-	done
-
-_Route19Text11::
-	text "SEA ROUTE 19"
-	line "FUCHSIA CITY -"
-	cont "SEAFOAM ISLANDS"
-	done
--- a/text/maps/route_2.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-_Route2Text3::
-	text "ROUTE 2"
-	line "VIRIDIAN CITY -"
-	cont "PEWTER CITY"
-	done
-
-_Route2Text4::
-	text "DIGLETT's CAVE"
-	done
--- a/text/maps/route_20.asm
+++ /dev/null
@@ -1,156 +1,0 @@
-_Route20BattleText1::
-	text "The water is"
-	line "shallow here."
-	done
-
-_Route20EndBattleText1::
-	text "Splash!"
-	prompt
-
-_Route20AfterBattleText1::
-	text "I wish I could"
-	line "ride my #MON."
-	done
-
-_Route20BattleText2::
-	text "SEAFOAM is a"
-	line "quiet getaway!"
-	done
-
-_Route20EndBattleText2::
-	text "Quit it!"
-	prompt
-
-_Route20AfterBattleText2::
-	text "There's a huge"
-	line "cavern underneath"
-	cont "this island."
-	done
-
-_Route20BattleText3::
-	text "I love floating"
-	line "with the fishes!"
-	done
-
-_Route20EndBattleText3::
-	text "Yowch!"
-	prompt
-
-_Route20AfterBattleText3::
-	text "Want to float"
-	line "with me?"
-	done
-
-_Route20BattleText4::
-	text "Are you on"
-	line "vacation too?"
-	done
-
-_Route20EndBattleText4::
-	text "No"
-	line "mercy at all!"
-	prompt
-
-_Route20AfterBattleText4::
-	text "SEAFOAM used to"
-	line "be one island!"
-	done
-
-_Route20BattleText5::
-	text "Check out my buff"
-	line "physique!"
-	done
-
-_Route20EndBattleText5::
-	text "Wimpy!"
-	prompt
-
-_Route20AfterBattleText5::
-	text "I should've been"
-	line "buffing up my"
-	cont "#MON, not me!"
-	done
-
-_Route20BattleText6::
-	text "Why are you"
-	line "riding a #MON?"
-	cont "Can't you swim?"
-	done
-
-_Route20EndBattleText6::
-	text "Ouch!"
-	line "Torpedoed!"
-	prompt
-
-_Route20AfterBattleText6::
-	text "Riding a #MON"
-	line "sure looks fun!"
-	done
-
-_Route20BattleText7::
-	text "I rode my bird"
-	line "#MON here!"
-	done
-
-_Route20EndBattleText7::
-	text "Oh"
-	line "no!"
-	prompt
-
-_Route20AfterBattleText7::
-	text "My birds can't"
-	line "FLY me back!"
-	done
-
-_Route20BattleText8::
-	text "My boy friend gave"
-	line "me big pearls!"
-	done
-
-_Route20EndBattleText8::
-	text "Don't"
-	line "touch my pearls!"
-	prompt
-
-_Route20AfterBattleText8::
-	text "Will my pearls"
-	line "grow bigger"
-	cont "inside CLOYSTER?"
-	done
-
-_Route20BattleText9::
-	text "I swam here from"
-	line "CINNABAR ISLAND!"
-	done
-
-_Route20EndBattleText9::
-	text "I'm"
-	line "so disappointed!"
-	prompt
-
-_Route20AfterBattleText9::
-	text "#MON have"
-	line "taken over an"
-	cont "abandoned mansion"
-	cont "on CINNABAR!"
-	done
-
-_Route20BattleText10::
-	text "CINNABAR, in the"
-	line "west, has a LAB"
-	cont "for #MON."
-	done
-
-_Route20EndBattleText10::
-	text "Wait!"
-	prompt
-
-_Route20AfterBattleText10::
-	text "CINNABAR is a "
-	line "volcanic island!"
-	done
-
-_Route20Text12::
-_Route20Text11::
-	text "SEAFOAM ISLANDS"
-	done
--- a/text/maps/route_21.asm
+++ /dev/null
@@ -1,137 +1,0 @@
-_Route21BattleText1::
-	text "You want to know"
-	line "if the fish are"
-	cont "biting?"
-	done
-
-_Route21EndBattleText1::
-	text "Dang!"
-	prompt
-
-_Route21AfterBattleText1::
-	text "I can't catch"
-	line "anything good!"
-	done
-
-_Route21BattleText2::
-	text "I got a big haul!"
-	line "Wanna go for it?"
-	done
-
-_Route21EndBattleText2::
-	text "Darn"
-	line "MAGIKARP!"
-	prompt
-
-_Route21AfterBattleText2::
-	text "I seem to only"
-	line "catch MAGIKARP!"
-	done
-
-_Route21BattleText3::
-	text "The sea cleanses"
-	line "my body and soul!"
-	done
-
-_Route21EndBattleText3::
-	text "Ayah!"
-	prompt
-
-_Route21AfterBattleText3::
-	text "I like the"
-	line "mountains too!"
-	done
-
-_Route21BattleText4::
-	text "What's wrong with"
-	line "me swimming?"
-	done
-
-_Route21EndBattleText4::
-	text "Cheap"
-	line "shot!"
-	prompt
-
-_Route21AfterBattleText4::
-	text "I look like what?"
-	line "A studded inner"
-	cont "tube? Get lost!"
-	done
-
-_Route21BattleText5::
-	text "I caught all my"
-	line "#MON at sea!"
-	done
-
-_Route21EndBattleText5::
-	text "Diver!!"
-	line "Down!!"
-	prompt
-
-_Route21AfterBattleText5::
-	text "Where'd you catch"
-	line "your #MON?"
-	done
-
-_Route21BattleText6::
-	text "Right now, I'm in"
-	line "a triathlon meet!"
-	done
-
-_Route21EndBattleText6::
-	text "Pant..."
-	line "pant...pant..."
-	prompt
-
-_Route21AfterBattleText6::
-	text "I'm beat!"
-	line "But, I still have"
-	cont "the bike race and"
-	cont "marathon left!"
-	done
-
-_Route21BattleText7::
-	text "Ahh! Feel the sun"
-	line "and the wind!"
-	done
-
-_Route21EndBattleText7::
-	text "Yow!"
-	line "I lost!"
-	prompt
-
-_Route21AfterBattleText7::
-	text "I'm sunburnt to a"
-	line "crisp!"
-	done
-
-_Route21BattleText8::
-	text "Hey, don't scare"
-	line "away the fish!"
-	done
-
-_Route21EndBattleText8::
-	text "Sorry!"
-	line "I didn't mean it!"
-	prompt
-
-_Route21AfterBattleText8::
-	text "I was just angry"
-	line "that I couldn't"
-	cont "catch anything."
-	done
-
-_Route21BattleText9::
-	text "Keep me company"
-	line "'til I get a hit!"
-	done
-
-_Route21EndBattleText9::
-	text "That"
-	line "burned some time."
-	prompt
-
-_Route21AfterBattleText9::
-	text "Oh wait! I got a"
-	line "bite! Yeah!"
-	done
--- a/text/maps/route_22.asm
+++ /dev/null
@@ -1,104 +1,0 @@
-_Route22RivalBeforeBattleText1::
-	text "<RIVAL>: Hey!"
-	line "<PLAYER>!"
-
-	para "You're going to"
-	line "#MON LEAGUE?"
-
-	para "Forget it! You"
-	line "probably don't"
-	cont "have any BADGEs!"
-
-	para "The guard won't"
-	line "let you through!"
-
-	para "By the way, did"
-	line "your #MON"
-	cont "get any stronger?"
-	done
-
-_Route22RivalAfterBattleText1::
-	text "I heard #MON"
-	line "LEAGUE has many"
-	cont "tough trainers!"
-
-	para "I have to figure"
-	line "out how to get"
-	cont "past them!"
-
-	para "You should quit"
-	line "dawdling and get"
-	cont "a move on!"
-	done
-
-_Route22RivalDefeatedText1::
-	text "Awww!"
-	line "You just lucked"
-	cont "out!"
-	prompt
-
-_Route22Text_511bc::
-	text "<RIVAL>: What?"
-	line "Why do I have 2"
-	cont "#MON?"
-
-	para "You should catch"
-	cont "some more too!"
-	prompt
-
-_Route22RivalBeforeBattleText2::
-	text "<RIVAL>: What?"
-	line "<PLAYER>! What a"
-	cont "surprise to see"
-	cont "you here!"
-
-	para "So you're going to"
-	line "#MON LEAGUE?"
-
-	para "You collected all"
-	line "the BADGEs too?"
-	cont "That's cool!"
-
-	para "Then I'll whip you"
-	line "<PLAYER> as a"
-	cont "warm up for"
-	cont "#MON LEAGUE!"
-
-	para "Come on!"
-	done
-
-_Route22RivalAfterBattleText2::
-	text "That loosened me"
-	line "up! I'm ready for"
-	cont "#MON LEAGUE!"
-
-	para "<PLAYER>, you need"
-	line "more practice!"
-
-	para "But hey, you know"
-	line "that! I'm out of"
-	cont "here. Smell ya!"
-	done
-
-_Route22RivalDefeatedText2::
-	text "What!?"
-
-	para "I was just"
-	line "careless!"
-	prompt
-
-_Route22Text_511d0::
-	text "<RIVAL>: Hahaha!"
-	line "<PLAYER>! That's"
-	cont "your best? You're"
-	cont "nowhere near as"
-	cont "good as me, pal!"
-
-	para "Go train some"
-	line "more! You loser!"
-	prompt
-
-_Route22FrontGateText::
-	text "#MON LEAGUE"
-	line "Front Gate"
-	done
--- a/text/maps/route_23.asm
+++ /dev/null
@@ -1,38 +1,0 @@
-_VictoryRoadGuardText1::
-	text "You can pass here"
-	line "only if you have"
-	cont "the @"
-	TX_RAM wcd6d
-	text "!"
-
-	para "You don't have the"
-	line "@"
-	TX_RAM wcd6d
-	text " yet!"
-
-	para "You have to have"
-	line "it to get to"
-	cont "#MON LEAGUE!@@"
-
-_VictoryRoadGuardText2::
-	text "You can pass here"
-	line "only if you have"
-	cont "the @"
-	TX_RAM wcd6d
-	text "!"
-
-	para "Oh! That is the"
-	line "@"
-	TX_RAM wcd6d
-	text "!@@"
-
-_VictoryRoadGuardText_513a3::
-	db $0
-	para "OK then! Please,"
-	line "go right ahead!"
-	done
-
-_Route23Text8::
-	text "VICTORY ROAD GATE"
-	line "- #MON LEAGUE"
-	done
--- a/text/maps/route_24_1.asm
+++ /dev/null
@@ -1,64 +1,0 @@
-_Route24Text_51510::
-	text "Congratulations!"
-	line "You beat our 5"
-	cont "contest trainers!@@"
-
-_Route24Text_51515::
-	db $0
-	para "You just earned a"
-	line "fabulous prize!"
-	prompt
-
-_Route24Text_5151a::
-	text "<PLAYER> received"
-	line "a @"
-	TX_RAM wcf4b
-	text "!@@"
-
-_Route24Text_51521::
-	text "You don't have"
-	line "any room!"
-	done
-
-_Route24Text_51526::
-	text "By the way, would"
-	line "you like to join"
-	cont "TEAM ROCKET?"
-
-	para "We're a group"
-	line "dedicated to evil"
-	cont "using #MON!"
-
-	para "Want to join?"
-
-	para "Are you sure?"
-
-	para "Come on, join us!"
-
-	para "I'm telling you"
-	line "to join!"
-
-	para "OK, you need"
-	line "convincing!"
-
-	para "I'll make you an"
-	line "offer you can't"
-	cont "refuse!"
-	done
-
-_Route24Text_5152b::
-	text "Arrgh!"
-	line "You are good!"
-	prompt
-
-_Route24Text_51530::
-	text "With your ability,"
-	line "you could become"
-	cont "a top leader in"
-	cont "TEAM ROCKET!"
-	done
-
-_Route24BattleText1::
-	text "I saw your feat"
-	line "from the grass!"
-	done
--- a/text/maps/route_24_2.asm
+++ /dev/null
@@ -1,90 +1,0 @@
-_Route24EndBattleText1::
-	text "I"
-	line "thought not!"
-	prompt
-
-_Route24AfterBattleText1::
-	text "I hid because the"
-	line "people on the"
-	cont "bridge scared me!"
-	done
-
-_Route24BattleText2::
-	text "OK! I'm No. 5!"
-	line "I'll stomp you!"
-	done
-
-_Route24EndBattleText2::
-	text "Whoa!"
-	line "Too much!"
-	prompt
-
-_Route24AfterBattleText2::
-	text "I did my best, I"
-	line "have no regrets!"
-	done
-
-_Route24BattleText3::
-	text "I'm No. 4!"
-	line "Getting tired?"
-	done
-
-_Route24EndBattleText3::
-	text "I lost"
-	line "too!"
-	prompt
-
-_Route24AfterBattleText3::
-	text "I did my best, so"
-	line "I've no regrets!"
-	done
-
-_Route24BattleText4::
-	text "Here's No. 3!"
-	line "I won't be easy!"
-	done
-
-_Route24EndBattleText4::
-	text "Ow!"
-	line "Stomped flat!"
-	prompt
-
-_Route24AfterBattleText4::
-	text "I did my best, I"
-	line "have no regrets!"
-	done
-
-_Route24BattleText5::
-	text "I'm second!"
-	line "Now it's serious!"
-	done
-
-_Route24EndBattleText5::
-	text "How could I"
-	line "lose?"
-	prompt
-
-_Route24AfterBattleText5::
-	text "I did my best, I"
-	line "have no regrets!"
-	done
-
-_Route24BattleText6::
-	text "This is NUGGET"
-	line "BRIDGE! Beat us 5"
-	cont "trainers and win"
-	cont "a fabulous prize!"
-
-	para "Think you got"
-	line "what it takes?"
-	done
-
-_Route24EndBattleText6::
-	text "Whoo!"
-	line "Good stuff!"
-	prompt
-
-_Route24AfterBattleText6::
-	text "I did my best, I"
-	line "have no regrets!"
-	done
--- a/text/maps/route_25.asm
+++ /dev/null
@@ -1,156 +1,0 @@
-_Route25BattleText1::
-	text "Local trainers"
-	line "come here to"
-	cont "practice!"
-	done
-
-_Route25EndBattleText1::
-	text "You're"
-	line "decent."
-	prompt
-
-_Route25AfterBattleText1::
-	text "All #MON have"
-	line "weaknesses. It's"
-	cont "best to raise"
-	cont "different kinds."
-	done
-
-_Route25BattleText2::
-	text "Dad took me to a"
-	line "great party on"
-	cont "S.S.ANNE at"
-	cont "VERMILION CITY!"
-	done
-
-_Route25EndBattleText2::
-	text "I'm"
-	line "not mad!"
-	prompt
-
-_Route25AfterBattleText2::
-	text "On S.S.ANNE, I"
-	line "saw trainers from"
-	cont "around the world."
-	done
-
-_Route25BattleText3::
-	text "I'm a cool guy."
-	line "I've got a girl"
-	cont "friend!"
-	done
-
-_Route25EndBattleText3::
-	text "Aww,"
-	line "darn..."
-	prompt
-
-_Route25AfterBattleText3::
-	text "Oh well. My girl"
-	line "will cheer me up."
-	done
-
-_Route25BattleText4::
-	text "Hi! My boy"
-	line "friend is cool!"
-	done
-
-_Route25EndBattleText4::
-	text "I was in"
-	line "bad condition!"
-	prompt
-
-_Route25AfterBattleText4::
-	text "I wish my guy was"
-	line "as good as you!"
-	done
-
-_Route25BattleText5::
-	text "I knew I had to"
-	line "fight you!"
-	done
-
-_Route25EndBattleText5::
-	text "I knew"
-	line "I'd lose too!"
-	prompt
-
-_Route25AfterBattleText5::
-	text "If your #MON"
-	line "gets confused or"
-	cont "falls asleep,"
-	cont "switch it!"
-	done
-
-_Route25BattleText6::
-	text "My friend has a"
-	line "cute #MON."
-	cont "I'm so jealous!"
-	done
-
-_Route25EndBattleText6::
-	text "I'm"
-	line "not so jealous!"
-	prompt
-
-_Route25AfterBattleText6::
-	text "You came from MT."
-	line "MOON? May I have"
-	cont "a CLEFAIRY?"
-	done
-
-_Route25BattleText7::
-	text "I just got down"
-	line "from MT.MOON,"
-	cont "but I'm ready!"
-	done
-
-_Route25EndBattleText7::
-	text "You"
-	line "worked hard!"
-	prompt
-
-_Route25AfterBattleText7::
-	text "Drat!"
-	line "A ZUBAT bit me"
-	cont "back in there."
-	done
-
-_Route25BattleText8::
-	text "I'm off to see a"
-	line "#MON collector"
-	cont "at the cape!"
-	done
-
-_Route25EndBattleText8::
-	text "You"
-	line "got me."
-	prompt
-
-_Route25AfterBattleText8::
-	text "The collector has"
-	line "many rare kinds"
-	cont "of #MON."
-	done
-
-_Route25BattleText9::
-	text "You're going to"
-	line "see BILL? First,"
-	cont "let's fight!"
-	done
-
-_Route25EndBattleText9::
-	text "You're"
-	line "something."
-	prompt
-
-_Route25AfterBattleText9::
-	text "The trail below"
-	line "is a shortcut to"
-	cont "CERULEAN CITY."
-	done
-
-_Route25Text11::
-	text "SEA COTTAGE"
-	line "BILL lives here!"
-	done
--- a/text/maps/route_2_gate.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-_Route2GateText_5d616::
-	text "The HM FLASH"
-	line "lights even the"
-	cont "darkest dungeons."
-	done
-
-_Route2GateText2::
-	text "Once a #MON"
-	line "learns FLASH, you"
-	cont "can get through"
-	cont "ROCK TUNNEL."
-	done
--- a/text/maps/route_2_house.asm
+++ /dev/null
@@ -1,6 +1,0 @@
-_Route2HouseText1::
-	text "A fainted #MON"
-	line "can't fight. But, "
-	cont "it can still use "
-	cont "moves like CUT!"
-	done
--- a/text/maps/route_3.asm
+++ /dev/null
@@ -1,145 +1,0 @@
-_Route3Text1::
-	text "Whew... I better"
-	line "take a rest..."
-	cont "Groan..."
-
-	para "That tunnel from"
-	line "CERULEAN takes a"
-	cont "lot out of you!"
-	done
-
-_Route3BattleText1::
-	text "Hey! I met you in"
-	line "VIRIDIAN FOREST!"
-	done
-
-_Route3EndBattleText1::
-	text "You"
-	line "beat me again!"
-	prompt
-
-_Route3AfterBattleText1::
-	text "There are other"
-	line "kinds of #MON"
-	cont "than those found"
-	cont "in the forest!"
-	done
-
-_Route3BattleText2::
-	text "Hi! I like shorts!"
-	line "They're comfy and"
-	cont "easy to wear!"
-	done
-
-_Route3EndBattleText2::
-	text "I don't"
-	line "believe it!"
-	prompt
-
-_Route3AfterBattleText2::
-	text "Are you storing"
-	line "your #MON on"
-	cont "PC? Each BOX can"
-	cont "hold 20 #MON!"
-	done
-
-_Route3BattleText3::
-	text "You looked at me,"
-	line "didn't you?"
-	done
-
-_Route3EndBattleText3::
-	text "You're"
-	line "mean!"
-	prompt
-
-_Route3AfterBattleText3::
-	text "Quit staring if"
-	line "you don't want to"
-	cont "fight!"
-	done
-
-_Route3BattleText4::
-	text "Are you a trainer?"
-	line "Let's fight!"
-	done
-
-_Route3EndBattleText4::
-	text "If I"
-	line "had new #MON I"
-	cont "would've won!"
-	prompt
-
-_Route3AfterBattleText4::
-	text "If a #MON BOX"
-	line "on the PC gets"
-	cont "full, just switch"
-	cont "to another BOX!"
-	done
-
-_Route3BattleText5::
-	text "That look you"
-	line "gave me, it's so"
-	cont "intriguing!"
-	done
-
-_Route3EndBattleText5::
-	text "Be nice!"
-	prompt
-
-_Route3AfterBattleText5::
-	text "Avoid fights by"
-	line "not letting"
-	cont "people see you!"
-	done
-
-_Route3BattleText6::
-	text "Hey! You're not"
-	line "wearing shorts!"
-	done
-
-_Route3EndBattleText6::
-	text "Lost!"
-	line "Lost! Lost!"
-	prompt
-
-_Route3AfterBattleText6::
-	text "I always wear"
-	line "shorts, even in"
-	cont "winter!"
-	done
-
-_Route3BattleText7::
-	text "You can fight my"
-	line "new #MON!"
-	done
-
-_Route3EndBattleText7::
-	text "Done"
-	line "like dinner!"
-	prompt
-
-_Route3AfterBattleText7::
-	text "Trained #MON"
-	line "are stronger than"
-	cont "the wild ones!"
-	done
-
-_Route3BattleText8::
-	text "Eek! Did you"
-	line "touch me?"
-	done
-
-_Route3EndBattleText8::
-	text "That's it?"
-	prompt
-
-_Route3AfterBattleText8::
-	text "ROUTE 4 is at the"
-	line "foot of MT.MOON."
-	done
-
-_Route3Text10::
-	text "ROUTE 3"
-	line "MT.MOON AHEAD"
-	done
--- a/text/maps/route_4.asm
+++ /dev/null
@@ -1,35 +1,0 @@
-_Route4Text1::
-	text "Ouch! I tripped"
-	line "over a rocky"
-	cont "#MON, GEODUDE!"
-	done
-
-_Route4BattleText1::
-	text "I came to get my"
-	line "mushroom #MON!"
-	done
-
-_Route4EndBattleText1::
-	text "Oh! My cute"
-	line "mushroom #MON!"
-	prompt
-
-_Route4AfterBattleText1::
-	text "There might not"
-	line "be any more"
-	cont "mushrooms here."
-
-	para "I think I got"
-	line "them all."
-	done
-
-_Route4Text5::
-	text "MT.MOON"
-	line "Tunnel Entrance"
-	done
-
-_Route4Text6::
-	text "ROUTE 4"
-	line "MT.MOON -"
-	cont "CERULEAN CITY"
-	done
--- a/text/maps/route_5.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-_Route5Text1::
-	text "UNDERGROUND PATH"
-	line "CERULEAN CITY -"
-	cont "VERMILION CITY"
-	done
--- a/text/maps/route_6.asm
+++ /dev/null
@@ -1,97 +1,0 @@
-_Route6BattleText1::
-	text "Who's there?"
-	line "Quit listening in"
-	cont "on us!"
-	done
-
-_Route6EndBattleText1::
-	text "I"
-	line "just can't win!"
-	prompt
-
-_Route6AfterBattleText1::
-	text "Whisper..."
-	line "whisper..."
-	done
-
-_Route6BattleText2::
-	text "Excuse me! This"
-	line "is a private"
-	cont "conversation!"
-	done
-
-_Route6EndBattleText2::
-	text "Ugh!"
-	line "I hate losing!"
-	prompt
-
-_Route6BattleText3::
-	text "There aren't many"
-	line "bugs out here."
-	done
-
-_Route6EndBattleText3::
-	text "No!"
-	line "You're kidding!"
-	prompt
-
-_Route6AfterBattleText3::
-	text "I like bugs, so"
-	line "I'm going back to"
-	cont "VIRIDIAN FOREST."
-	done
-
-_Route6BattleText4::
-	text "Huh? You want"
-	line "to talk to me?"
-	done
-
-_Route6EndBattleText4::
-	text "I"
-	line "didn't start it!"
-	prompt
-
-_Route6AfterBattleText4::
-	text "I should carry"
-	line "more #MON with"
-	cont "me for safety."
-	done
-
-_Route6BattleText5::
-	text "Me? Well, OK."
-	line "I'll play!"
-	done
-
-_Route6EndBattleText5::
-	text "Just"
-	line "didn't work!"
-	prompt
-
-_Route6AfterBattleText5::
-	text "I want to get"
-	line "stronger! What's"
-	cont "your secret?"
-	done
-
-_Route6BattleText6::
-	text "I've never seen"
-	line "you around!"
-	cont "Are you good?"
-	done
-
-_Route6EndBattleText6::
-	text "You"
-	line "are too good!"
-	prompt
-
-_Route6AfterBattleText6::
-	text "Are my #MON"
-	line "weak? Or, am I"
-	cont "just bad?"
-	done
-
-_Route6Text7::
-	text "UNDERGROUND PATH"
-	line "CERULEAN CITY -"
-	cont "VERMILION CITY"
-	done
--- a/text/maps/route_7.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-_Route7Text1::
-	text "UNDERGROUND PATH"
-	line "CELADON CITY -"
-	cont "LAVENDER TOWN"
-	done
--- a/text/maps/route_8.asm
+++ /dev/null
@@ -1,154 +1,0 @@
-_Route8BattleText1::
-	text "You look good at"
-	line "#MON, but"
-	cont "how's your chem?"
-	done
-
-_Route8EndBattleText1::
-	text "Ow!"
-	line "Meltdown!"
-	prompt
-
-_Route8AfterBattleText1::
-	text "I am better at"
-	line "school than this!"
-	done
-
-_Route8BattleText2::
-	text "All right! Let's"
-	line "roll the dice!"
-	done
-
-_Route8EndBattleText2::
-	text "Drat!"
-	line "Came up short!"
-	prompt
-
-_Route8AfterBattleText2::
-	text "Lady Luck's not"
-	line "with me today!"
-	done
-
-_Route8BattleText3::
-	text "You need strategy"
-	line "to win at this!"
-	done
-
-_Route8EndBattleText3::
-	text "It's"
-	line "not logical!"
-	prompt
-
-_Route8AfterBattleText3::
-	text "Go with GRIMER"
-	line "first...and..."
-	cont "...and...then..."
-	done
-
-_Route8BattleText4::
-	text "I like NIDORAN, so"
-	line "I collect them!"
-	done
-
-_Route8EndBattleText4::
-	text "Why? Why??"
-	prompt
-
-_Route8AfterBattleText4::
-	text "When #MON grow"
-	line "up they get ugly!"
-	cont "They shouldn't"
-	cont "evolve!"
-	done
-
-_Route8BattleText5::
-	text "School is fun, but"
-	line "so are #MON."
-	done
-
-_Route8EndBattleText5::
-	text "I'll"
-	line "stay with school."
-	prompt
-
-_Route8AfterBattleText5::
-	text "We're stuck here"
-	line "because of the"
-	cont "gates at SAFFRON."
-	done
-
-_Route8BattleText6::
-	text "MEOWTH is so cute,"
-	line "meow, meow, meow!"
-	done
-
-_Route8EndBattleText6::
-	text "Meow!"
-	prompt
-
-_Route8AfterBattleText6::
-	text "I think PIDGEY"
-	line "and RATTATA"
-	cont "are cute too!"
-	done
-
-_Route8BattleText7::
-	text "We must look"
-	line "silly standing"
-	cont "here like this!"
-	done
-
-_Route8EndBattleText7::
-	text "Look what"
-	line "you did!"
-	prompt
-
-_Route8AfterBattleText7::
-	text "SAFFRON's gate"
-	line "keeper won't let"
-	cont "us through."
-	cont "He's so mean!"
-	done
-
-_Route8BattleText8::
-	text "I'm a rambling,"
-	line "gambling dude!"
-	done
-
-_Route8EndBattleText8::
-	text "Missed"
-	line "the big score!"
-	prompt
-
-_Route8AfterBattleText8::
-	text "Gambling and"
-	line "#MON are like"
-	cont "eating peanuts!"
-	cont "Just can't stop!"
-	done
-
-_Route8BattleText9::
-	text "What's a cute,"
-	line "round and fluffy"
-	cont "#MON?"
-	done
-
-_Route8EndBattleText9::
-	text "Stop!"
-
-	para "Don't be so mean"
-	line "to my CLEFAIRY!"
-	prompt
-
-_Route8AfterBattleText9::
-	text "I heard that"
-	line "CLEFAIRY evolves"
-	cont "when it's exposed"
-	cont "to a MOON STONE."
-	done
-
-_Route8Text10::
-	text "UNDERGROUND PATH"
-	line "CELADON CITY -"
-	cont "LAVENDER TOWN"
-	done
--- a/text/maps/route_9.asm
+++ /dev/null
@@ -1,157 +1,0 @@
-_Route9BattleText1::
-	text "You have #MON"
-	line "with you!"
-	cont "You're mine!"
-	done
-
-_Route9EndBattleText1::
-	text "You"
-	line "deceived me!"
-	prompt
-
-_Route9AfterBattleText1::
-	text "You need light to"
-	line "get through that"
-	cont "dark tunnel ahead."
-	done
-
-_Route9BattleText2::
-	text "Who's that walking"
-	line "with those good"
-	cont "looking #MON?"
-	done
-
-_Route9EndBattleText2::
-	text "Out"
-	line "like a light!"
-	prompt
-
-_Route9AfterBattleText2::
-	text "Keep walking!"
-	done
-
-_Route9BattleText3::
-	text "I'm taking ROCK"
-	line "TUNNEL to go to"
-	cont "LAVENDER..."
-	done
-
-_Route9EndBattleText3::
-	text "Can't"
-	line "measure up!"
-	prompt
-
-_Route9AfterBattleText3::
-	text "Are you off to"
-	line "ROCK TUNNEL too?"
-	done
-
-_Route9BattleText4::
-	text "Don't you dare"
-	line "condescend me!"
-	done
-
-_Route9EndBattleText4::
-	text "No!"
-	line "You're too much!"
-	prompt
-
-_Route9AfterBattleText4::
-	text "You're obviously"
-	line "talented! Good"
-	cont "luck to you!"
-	done
-
-_Route9BattleText5::
-	text "Bwahaha!"
-	line "Great! I was"
-	cont "bored, eh!"
-	done
-
-_Route9EndBattleText5::
-	text "Keep it"
-	line "coming, eh!"
-
-	para "Oh wait. I'm out"
-	line "of #MON!"
-	prompt
-
-_Route9AfterBattleText5::
-	text "You sure had guts"
-	line "standing up to me"
-	cont "there, eh?"
-	done
-
-_Route9BattleText6::
-	text "Hahaha!"
-	line "Aren't you a"
-	cont "little toughie!"
-	done
-
-_Route9EndBattleText6::
-	text "What's"
-	line "that?"
-	prompt
-
-_Route9AfterBattleText6::
-	text "Hahaha! Kids"
-	line "should be tough!"
-	done
-
-_Route9BattleText7::
-	text "I got up early"
-	line "every day to"
-	cont "raise my #MON"
-	cont "from cocoons!"
-	done
-
-_Route9EndBattleText7::
-	text "WHAT?"
-
-	para "What a total"
-	line "waste of time!"
-	prompt
-
-_Route9AfterBattleText7::
-	text "I have to collect"
-	line "more than bugs to"
-	cont "get stronger..."
-	done
-
-_Route9BattleText8::
-	text "Hahahaha!"
-	line "Come on, dude!"
-	done
-
-_Route9EndBattleText8::
-	text "Hahahaha!"
-	line "You beat me fair!"
-	prompt
-
-_Route9AfterBattleText8::
-	text "Hahahaha!"
-	line "Us hearty guys"
-	cont "always laugh!"
-	done
-
-_Route9BattleText9::
-	text "Go, my super bug"
-	line "#MON!"
-	done
-
-_Route9EndBattleText9::
-	text "My"
-	line "bugs..."
-	prompt
-
-_Route9AfterBattleText9::
-	text "If you don't like"
-	line "bug #MON, you"
-	cont "bug me!"
-	done
-
-_Route9Text11::
-	text "ROUTE 9"
-	line "CERULEAN CITY-"
-	cont "ROCK TUNNEL"
-	done
--- a/text/maps/safari_zone_center.asm
+++ /dev/null
@@ -1,11 +1,0 @@
-_SafariZoneCenterText2::
-	text "REST HOUSE"
-	done
-
-_SafariZoneCenterText3::
-	text "TRAINER TIPS"
-
-	para "Press the START"
-	line "Button to check"
-	cont "remaining time!"
-	done
--- a/text/maps/safari_zone_east.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-_SafariZoneEastText5::
-	text "REST HOUSE"
-	done
-
-_SafariZoneEastText6::
-	text "TRAINER TIPS"
-
-	para "The remaining time"
-	line "declines only"
-	cont "while you walk!"
-	done
-
-_SafariZoneEastText7::
-	text "CENTER AREA"
-	line "NORTH: AREA 2"
-	done
--- a/text/maps/safari_zone_entrance.asm
+++ /dev/null
@@ -1,93 +1,0 @@
-_SafariZoneEntranceText1::
-	text "Welcome to the"
-	line "SAFARI ZONE!"
-	done
-
-SafariZoneEntranceText_9e6e4::
-	text "For just ¥500,"
-	line "you can catch all"
-	cont "the #MON you"
-	cont "want in the park!"
-
-	para "Would you like to"
-	line "join the hunt?@@"
-
-SafariZoneEntranceText_9e747::
-	text "That'll be ¥500"
-	line "please!"
-
-	para "We only use a"
-	line "special # BALL"
-	cont "here."
-
-	para "<PLAYER> received"
-	line "30 SAFARI BALLs!@@"
-
-_SafariZoneEntranceText_75360::
-	db $0
-	para "We'll call you on"
-	line "the PA when you"
-	cont "run out of time"
-	cont "or SAFARI BALLs!"
-	done
-
-_SafariZoneEntranceText_75365::
-	text "OK! Please come"
-	line "again!"
-	done
-
-_SafariZoneEntranceText_7536a::
-	text "Oops! Not enough"
-	line "money!"
-	done
-
-SafariZoneEntranceText_9e814::
-	text "Leaving early?@@"
-
-_SafariZoneEntranceText_753bb::
-	text "Please return any"
-	line "SAFARI BALLs you"
-	cont "have left."
-	done
-
-_SafariZoneEntranceText_753c0::
-	text "Good Luck!"
-	done
-
-_SafariZoneEntranceText_753c5::
-	text "Did you get a"
-	line "good haul?"
-	cont "Come again!"
-	done
-
-_SafariZoneEntranceText_753e6::
-	text "Hi! Is it your"
-	line "first time here?"
-	done
-
-_SafariZoneEntranceText_753eb::
-	text "SAFARI ZONE has 4"
-	line "zones in it."
-
-	para "Each zone has"
-	line "different kinds"
-	cont "of #MON. Use"
-	cont "SAFARI BALLs to"
-	cont "catch them!"
-
-	para "When you run out"
-	line "of time or SAFARI"
-	cont "BALLs, it's game"
-	cont "over for you!"
-
-	para "Before you go,"
-	line "open an unused"
-	cont "#MON BOX so"
-	cont "there's room for"
-	cont "new #MON!"
-	done
-
-_SafariZoneEntranceText_753f0::
-	text "Sorry, you're a"
-	line "regular here!"
-	done
--- a/text/maps/safari_zone_north.asm
+++ /dev/null
@@ -1,33 +1,0 @@
-_SafariZoneNorthText3::
-	text "REST HOUSE"
-	done
-
-_SafariZoneNorthText4::
-	text "TRAINER TIPS"
-
-	para "The SECRET HOUSE"
-	line "is still ahead!"
-	done
-
-_SafariZoneNorthText5::
-	text "AREA 2"
-	done
-
-_SafariZoneNorthText6::
-	text "TRAINER TIPS"
-
-	para "#MON hide in"
-	line "tall grass!"
-
-	para "Zigzag through"
-	line "grassy areas to"
-	cont "flush them out."
-	done
-
-_SafariZoneNorthText7::
-	text "TRAINER TIPS"
-
-	para "Win a free HM for"
-	line "finding the"
-	cont "SECRET HOUSE!"
-	done
--- a/text/maps/safari_zone_rest_house_1.asm
+++ /dev/null
@@ -1,11 +1,0 @@
-_SafariZoneRestHouse1Text1::
-	text "SARA: Where did"
-	line "my boy friend,"
-	cont "ERIK, go?"
-	done
-
-_SafariZoneRestHouse1Text2::
-	text "I'm catching"
-	line "#MON to take"
-	cont "home as gifts!"
-	done
--- a/text/maps/safari_zone_rest_house_2.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-_SafariZoneRestHouse2Text1::
-	text "Tossing ROCKs at"
-	line "#MON might"
-	cont "make them run,"
-	cont "but they'll be"
-	cont "easier to catch."
-	done
-
-_SafariZoneRestHouse2Text2::
-	text "Using BAIT will"
-	line "make #MON"
-	cont "easier to catch."
-	done
-
-_SafariZoneRestHouse2Text3::
-	text "I hiked a lot, but"
-	line "I didn't see any"
-	cont "#MON I wanted."
-	done
--- a/text/maps/safari_zone_rest_house_3.asm
+++ /dev/null
@@ -1,18 +1,0 @@
-_SafariZoneRestHouse3Text1::
-	text "How many did you"
-	line "catch? I'm bushed"
-	cont "from the work!"
-	done
-
-_SafariZoneRestHouse3Text2::
-	text "I caught a"
-	line "CHANSEY!"
-
-	para "That makes this"
-	line "all worthwhile!"
-	done
-
-_SafariZoneRestHouse3Text3::
-	text "Whew! I'm tired"
-	line "from all the fun!"
-	done
--- a/text/maps/safari_zone_rest_house_4.asm
+++ /dev/null
@@ -1,27 +1,0 @@
-_SafariZoneRestHouse4Text1::
-	text "You can keep any"
-	line "item you find on"
-	cont "the ground here."
-
-	para "But, you'll run"
-	line "out of time if"
-	cont "you try for all"
-	cont "of them at once!"
-	done
-
-_SafariZoneRestHouse4Text2::
-	text "Go to the deepest"
-	line "part of the"
-	cont "SAFARI ZONE. You"
-	cont "will win a prize!"
-	done
-
-_SafariZoneRestHouse4Text3::
-	text "My EEVEE evolved"
-	line "into FLAREON!"
-
-	para "But, a friend's"
-	line "EEVEE turned into"
-	cont "a VAPOREON!"
-	cont "I wonder why?"
-	done
--- a/text/maps/safari_zone_secret_house.asm
+++ /dev/null
@@ -1,44 +1,0 @@
-_SecretHouseText_4a350::
-	text "Ah! Finally!"
-
-	para "You're the first"
-	line "person to reach"
-	cont "the SECRET HOUSE!"
-
-	para "I was getting"
-	line "worried that no"
-	cont "one would win our"
-	cont "campaign prize."
-
-	para "Congratulations!"
-	line "You have won!"
-	prompt
-
-_ReceivedHM03Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_HM03ExplanationText::
-	text "HM03 is SURF!"
-
-	para "#MON will be"
-	line "able to ferry you"
-	cont "across water!"
-
-	para "And, this HM isn't"
-	line "disposable! You"
-	cont "can use it over"
-	cont "and over!"
-
-	para "You're super lucky"
-	line "for winning this"
-	cont "fabulous prize!"
-	done
-
-_HM03NoRoomText::
-	text "You don't have"
-	line "room for this"
-	cont "fabulous prize!"
-	done
--- a/text/maps/safari_zone_west.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-_SafariZoneWestText5::
-	text "REST HOUSE"
-	done
-
-_SafariZoneWestText6::
-	text "REQUEST NOTICE"
-
-	para "Please find the"
-	line "SAFARI WARDEN's"
-	cont "lost GOLD TEETH."
-	cont "They're around"
-	cont "here somewhere."
-
-	para "Reward offered!"
-	line "Contact: WARDEN"
-	done
-
-_SafariZoneWestText7::
-	text "TRAINER TIPS"
-
-	para "Zone Exploration"
-	line "Campaign!"
-
-	para "The Search for"
-	line "the SECRET HOUSE!"
-	done
-
-_SafariZoneWestText8::
-	text "AREA 3"
-	line "EAST: CENTER AREA"
-	done
--- a/text/maps/saffron_city.asm
+++ /dev/null
@@ -1,151 +1,0 @@
-_SaffronCityText1::
-	text "What do you want?"
-	line "Get lost!"
-	done
-
-_SaffronCityText2::
-	text "BOSS said he'll"
-	line "take this town!"
-	done
-
-_SaffronCityText3::
-	text "Get out of the"
-	line "way!"
-	done
-
-_SaffronCityText4::
-	text "SAFFRON belongs"
-	line "to TEAM ROCKET!"
-	done
-
-_SaffronCityText5::
-	text "Being evil makes"
-	line "me feel so alive!"
-	done
-
-_SaffronCityText6::
-	text "Ow! Watch where"
-	line "you're walking!"
-	done
-
-_SaffronCityText7::
-	text "With SILPH under"
-	line "control, we can"
-	cont "exploit #MON"
-	cont "around the world!"
-	done
-
-_SaffronCityText8::
-	text "You beat TEAM"
-	line "ROCKET all alone?"
-	cont "That's amazing!"
-	done
-
-_SaffronCityText9::
-	text "Yeah! TEAM ROCKET"
-	line "is gone!"
-	cont "It's safe to go"
-	cont "out again!"
-	done
-
-_SaffronCityText10::
-	text "People should be"
-	line "flocking back to"
-	cont "SAFFRON now."
-	done
-
-_SaffronCityText11::
-	text "I flew here on my"
-	line "PIDGEOT when I"
-	cont "read about SILPH."
-
-	para "It's already over?"
-	line "I missed the"
-	cont "media action."
-	done
-
-_SaffronCityText12::
-	text "PIDGEOT: Bi bibii!@@"
-
-_SaffronCityText13::
-	text "I saw ROCKET"
-	line "BOSS escaping"
-	cont "SILPH's building."
-	done
-
-_SaffronCityText14::
-	text "I'm a security"
-	line "guard."
-
-	para "Suspicious kids I"
-	line "don't allow in!"
-	done
-
-_SaffronCityText15::
-	text "..."
-	line "Snore..."
-
-	para "Hah! He's taking"
-	line "a snooze!"
-	done
-
-_SaffronCityText16::
-	text "SAFFRON CITY"
-	line "Shining, Golden"
-	cont "Land of Commerce"
-	done
-
-_SaffronCityText17::
-	text "FIGHTING DOJO"
-	done
-
-_SaffronCityText18::
-	text "SAFFRON CITY"
-	line "#MON GYM"
-	cont "LEADER: SABRINA"
-
-	para "The Master of"
-	line "Psychic #MON!"
-	done
-
-_SaffronCityText20::
-	text "TRAINER TIPS"
-
-	para "FULL HEAL cures"
-	line "all ailments like"
-	cont "sleep and burns."
-
-	para "It costs a bit"
-	line "more, but it's"
-	cont "more convenient."
-	done
-
-_SaffronCityText21::
-	text "TRAINER TIPS"
-
-	para "New GREAT BALL"
-	line "offers improved"
-	cont "capture rates."
-
-	para "Try it on those"
-	line "hard-to-catch"
-	cont "#MON."
-	done
-
-_SaffronCityText22::
-	text "SILPH CO."
-	line "OFFICE BUILDING"
-	done
-
-_SaffronCityText24::
-	text "MR.PSYCHIC's"
-	line "HOUSE"
-	done
-
-_SaffronCityText25::
-	text "SILPH's latest"
-	line "product!"
-
-	para "Release to be"
-	line "determined..."
-	done
--- a/text/maps/saffron_gates.asm
+++ /dev/null
@@ -1,36 +1,0 @@
-_SaffronGateText_1dfe7::
-	text "I'm on guard duty."
-	line "Gee, I'm thirsty,"
-	cont "though!"
-
-	para "Oh wait there,"
-	line "the road's closed."
-	done
-
-_SaffronGateText_8aaa9::
-	text "Whoa, boy!"
-	line "I'm parched!"
-	cont "..."
-	cont "Huh? I can have"
-	cont "this drink?"
-	cont "Gee, thanks!@@"
-
-_SaffronGateText_1dff1::
-	db $0
-	para "..."
-	line "Glug glug..."
-	cont "..."
-	cont "Gulp..."
-	cont "If you want to go"
-	cont "to SAFFRON CITY..."
-	cont "..."
-	cont "You can go on"
-	cont "through. I'll"
-	cont "share this with"
-	cont "the other guards!"
-	done
-
-_SaffronGateText_1dff6::
-	text "Hi, thanks for"
-	line "the cool drinks!"
-	done
--- a/text/maps/saffron_gym.asm
+++ /dev/null
@@ -1,236 +1,0 @@
-_SaffronGymText_5d162::
-	text "I had a vision of"
-	line "your arrival!"
-
-	para "I have had psychic"
-	line "powers since I"
-	cont "was a child."
-
-	para "I first learned"
-	line "to bend spoons"
-	cont "with my mind."
-
-	para "I dislike fight-"
-	line "ing, but if you"
-	cont "wish, I will show"
-	cont "you my powers!"
-	done
-
-_SaffronGymText_5d167::
-	text "I'm"
-	line "shocked!"
-	cont "But, a loss is a"
-	cont "loss."
-
-	para "I admit I didn't"
-	line "work hard enough"
-	cont "to win!"
-
-	para "You earned the"
-	line "MARSHBADGE!@@"
-
-_SaffronGymText_5d16e::
-	text "Everyone has"
-	line "psychic power!"
-	cont "People just don't"
-	cont "realize it!"
-	done
-
-_SaffronGymText_5d173::
-	text "The MARSHBADGE"
-	line "makes #MON up"
-	cont "to L70 obey you!"
-
-	para "Stronger #MON"
-	line "will become wild,"
-	cont "ignoring your"
-	cont "orders in battle!"
-
-	para "Just don't raise"
-	line "your #MON too"
-	cont "much!"
-
-	para "Wait, please take"
-	line "this TM with you!"
-	done
-
-ReceivedTM46Text::
-	text "<PLAYER> received"
-	line "TM46!@@"
-
-_TM46ExplanationText::
-	db $0
-	para "TM46 is PSYWAVE!"
-	line "It uses powerful"
-	cont "psychic waves to"
-	cont "inflict damage!"
-	done
-
-_TM46NoRoomText::
-	text "Your pack is full"
-	line "of other items!"
-	done
-
-_SaffronGymText_5d1e6::
-	text "Yo! Champ in"
-	line "making!"
-
-	para "SABRINA's #MON"
-	line "use psychic power"
-	cont "instead of force!"
-
-	para "Fighting #MON"
-	line "are weak against"
-	cont "psychic #MON!"
-
-	para "They get creamed"
-	line "before they can"
-	cont "even aim a punch!"
-	done
-
-_SaffronGymText_5d1eb::
-	text "Psychic power,"
-	line "huh?"
-
-	para "If I had that,"
-	line "I'd make a bundle"
-	cont "at the slots!"
-	done
-
-_SaffronGymBattleText1::
-	text "SABRINA is younger"
-	line "than I, but I"
-	cont "respect her!"
-	done
-
-_SaffronGymEndBattleText1::
-	text "Not"
-	line "good enough!"
-	prompt
-
-_SaffronGymAfterBattleText1::
-	text "In a battle of"
-	line "equals, the one"
-	cont "with the stronger"
-	cont "will wins!"
-
-	para "If you wish"
-	line "to beat SABRINA,"
-	cont "focus on winning!"
-	done
-
-_SaffronGymBattleText2::
-	text "Does our unseen"
-	line "power scare you?"
-	done
-
-_SaffronGymEndBattleText2::
-	text "I never"
-	line "foresaw this!"
-	prompt
-
-_SaffronGymAfterBattleText2::
-	text "Psychic #MON"
-	line "fear only ghosts"
-	cont "and bugs!"
-	done
-
-_SaffronGymBattleText3::
-	text "#MON take on"
-	line "the appearance of"
-	cont "their trainers."
-
-	para "Your #MON must"
-	line "be tough, then!"
-	done
-
-_SaffronGymEndBattleText3::
-	text "I knew"
-	line "it!"
-	prompt
-
-_SaffronGymAfterBattleText3::
-	text "I must teach"
-	line "better techniques"
-	cont "to my #MON!"
-	done
-
-_SaffronGymBattleText4::
-	text "You know that"
-	line "power alone isn't"
-	cont "enough!"
-	done
-
-_SaffronGymEndBattleText4::
-	text "I don't"
-	line "believe this!"
-	prompt
-
-_SaffronGymAfterBattleText4::
-	text "SABRINA just wiped"
-	line "out the KARATE"
-	cont "MASTER next door!"
-	done
-
-_SaffronGymBattleText5::
-	text "You and I, our"
-	line "#MON shall"
-	cont "fight!"
-	done
-
-_SaffronGymEndBattleText5::
-	text "I lost"
-	line "after all!"
-	prompt
-
-_SaffronGymAfterBattleText5::
-	text "I knew that this"
-	line "was going to take"
-	cont "place."
-	done
-
-_SaffronGymBattleText6::
-	text "SABRINA is young,"
-	line "but she's also"
-	cont "our LEADER!"
-
-	para "You won't reach"
-	line "her easily!"
-	done
-
-_SaffronGymEndBattleText6::
-	text "I lost"
-	line "my concentration!"
-	prompt
-
-_SaffronGymAfterBattleText6::
-	text "There used to be"
-	line "2 #MON GYMs in"
-	cont "SAFFRON."
-
-	para "The FIGHTING DOJO"
-	line "next door lost"
-	cont "its GYM status"
-	cont "when we went and"
-	cont "creamed them!"
-	done
-
-_SaffronGymBattleText7::
-	text "SAFFRON #MON"
-	line "GYM is famous for"
-	cont "its psychics!"
-
-	para "You want to see"
-	line "SABRINA!"
-	cont "I can tell!"
-	done
-
-_SaffronGymEndBattleText7::
-	text "Arrrgh!"
-	prompt
-
-_SaffronGymAfterBattleText7::
-	text "That's right! I"
-	line "used telepathy to"
-	cont "read your mind!"
-	done
--- a/text/maps/saffron_house.asm
+++ /dev/null
@@ -1,26 +1,0 @@
-_SaffronHouse1Text1::
-	text "Thank you for"
-	line "writing. I hope"
-	cont "to see you soon!"
-
-	para "Hey! Don't look"
-	line "at my letter!"
-	done
-
-_SaffronHouse1Text2::
-	text "PIDGEY: Kurukkoo!@@"
-
-_SaffronHouse1Text3::
-	text "The COPYCAT is"
-	line "cute! I'm getting"
-	cont "her a # DOLL!"
-	done
-
-_SaffronHouse1Text4::
-	text "I was given a PP"
-	line "UP as a gift."
-
-	para "It's used for"
-	line "increasing the PP"
-	cont "of techniques!"
-	done
--- a/text/maps/saffron_mart.asm
+++ /dev/null
@@ -1,13 +1,0 @@
-_SaffronMartText2::
-	text "MAX REPEL lasts"
-	line "longer than SUPER"
-	cont "REPEL for keeping"
-	cont "weaker #MON"
-	cont "away!"
-	done
-
-_SaffronMartText3::
-	text "REVIVE is costly,"
-	line "but it revives"
-	cont "fainted #MON!"
-	done
--- a/text/maps/saffron_pokecenter.asm
+++ /dev/null
@@ -1,12 +1,0 @@
-_SaffronPokecenterText2::
-	text "#MON growth"
-	line "rates differ from"
-	cont "specie to specie."
-	done
-
-_SaffronPokecenterText3::
-	text "SILPH CO. is very"
-	line "famous. That's"
-	cont "why it attracted"
-	cont "TEAM ROCKET!"
-	done
--- a/text/maps/school.asm
+++ /dev/null
@@ -1,13 +1,0 @@
-_SchoolText1::
-	text "Whew! I'm trying"
-	line "to memorize all"
-	cont "my notes."
-	done
-
-_SchoolText2::
-	text "Okay!"
-
-	para "Be sure to read"
-	line "the blackboard"
-	cont "carefully!"
-	done
--- a/text/maps/seafoam_islands_b4f.asm
+++ /dev/null
@@ -1,13 +1,0 @@
-_ArticunoBattleText::
-	text "Gyaoo!@@"
-
-_SeafoamIslands5Text4::
-	text "Boulders might"
-	line "change the flow"
-	cont "of water!"
-	done
-
-_SeafoamIslands5Text5::
-	text "DANGER"
-	line "Fast current!"
-	done
--- a/text/maps/silph_co_10f.asm
+++ /dev/null
@@ -1,42 +1,0 @@
-_SilphCo10Text_5a1d3::
-	text "Waaaaa!"
-	cont "I'm scared!"
-	done
-
-_SilphCo10Text_5a1d8::
-	text "Please keep quiet"
-	line "about my crying!"
-	done
-
-_SilphCo10BattleText1::
-	text "Welcome to the"
-	line "10F! So good of"
-	cont "you to join me!"
-	done
-
-_SilphCo10EndBattleText1::
-	text "I'm"
-	line "stunned!"
-	prompt
-
-_SilphCo10AfterBattleText1::
-	text "Nice try, but the"
-	line "boardroom is up"
-	cont "one more floor!"
-	done
-
-_SilphCo10BattleText2::
-	text "Enough of your"
-	line "silly games!"
-	done
-
-_SilphCo10EndBattleText2::
-	text "No"
-	line "continues left!"
-	prompt
-
-_SilphCo10AfterBattleText2::
-	text "Are you satisfied"
-	line "with beating me?"
-	cont "Then go on home!"
-	done
--- a/text/maps/silph_co_11f.asm
+++ /dev/null
@@ -1,134 +1,0 @@
-_SilphCoPresidentText::
-	text "PRESIDENT: Thank"
-	line "you for saving"
-	cont "SILPH!"
-
-	para "I will never"
-	line "forget you saved"
-	cont "us in our moment"
-	cont "of peril!"
-
-	para "I have to thank"
-	line "you in some way!"
-
-	para "Because I am rich,"
-	line "I can give you"
-	cont "anything!"
-
-	para "Here, maybe this"
-	line "will do!"
-	prompt
-
-_ReceivedSilphCoMasterBallText::
-	text "<PLAYER> got a"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_SilphCo10Text_6231c::
-	text "PRESIDENT: You"
-	line "can't buy that"
-	cont "anywhere!"
-
-	para "It's our secret"
-	line "prototype MASTER"
-	cont "BALL!"
-
-	para "It will catch any"
-	line "#MON without"
-	cont "fail!"
-
-	para "You should be"
-	line "quiet about using"
-	cont "it, though."
-	done
-
-_SilphCoMasterBallNoRoomText::
-	text "You have no"
-	line "room for this."
-	done
-
-_SilphCo11Text2::
-	text "SECRETARY: Thank"
-	line "you for rescuing"
-	cont "all of us!"
-
-	para "We admire your"
-	line "courage."
-	done
-
-_SilphCo11Text3::
-	text "Ah <PLAYER>!"
-	line "So we meet again!"
-
-	para "The PRESIDENT and"
-	line "I are discussing"
-	cont "a vital business"
-	cont "proposition."
-
-	para "Keep your nose"
-	line "out of grown-up"
-	cont "matters..."
-
-	para "Or, experience a"
-	line "world of pain!"
-	done
-
-_SilphCo10Text_62330::
-	text "Arrgh!!"
-	line "I lost again!?"
-	prompt
-
-_SilphCo10Text_62335::
-	text "Blast it all!"
-	line "You ruined our"
-	cont "plans for SILPH!"
-
-	para "But, TEAM ROCKET"
-	line "will never fall!"
-
-	para "<PLAYER>! Never"
-	line "forget that all"
-	cont "#MON exist"
-	cont "for TEAM ROCKET!"
-
-	para "I must go, but I"
-	line "shall return!"
-	done
-
-_SilphCo11BattleText1::
-	text "Stop right there!"
-	line "Don't you move!"
-	done
-
-_SilphCo11EndBattleText1::
-	text "Don't..."
-	line "Please!"
-	prompt
-
-_SilphCo11AfterBattleText1::
-	text "So, you want to"
-	line "see my BOSS?"
-	done
-
-_SilphCo11BattleText2::
-	text "Halt! Do you have"
-	line "an appointment"
-	cont "with my BOSS?"
-	done
-
-_SilphCo11EndBattleText2::
-	text "Gaah!"
-	line "Demolished!"
-	prompt
-
-_SilphCo11AfterBattleText2::
-	text "Watch your step,"
-	line "my BOSS likes his"
-	cont "#MON tough!"
-	done
-
-_SilphCo10Text_6237b::
-	text "The monitor has"
-	line "#MON on it!"
-	done
--- a/text/maps/silph_co_1f.asm
+++ /dev/null
@@ -1,7 +1,0 @@
-_SilphCo1Text1::
-	text "Welcome!"
-
-	para "The PRESIDENT is"
-	line "in the boardroom"
-	cont "on 11F!"
-	done
--- a/text/maps/silph_co_2f.asm
+++ /dev/null
@@ -1,96 +1,0 @@
-_SilphCo2Text_59ded::
-	text "Eeek!"
-	line "No! Stop! Help!"
-
-	para "Oh, you're not"
-	line "with TEAM ROCKET."
-	cont "I thought..."
-	cont "I'm sorry. Here,"
-	cont "please take this!"
-	prompt
-
-_ReceivedTM36Text::
-	text "<PLAYER> got"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM36ExplanationText::
-	text "TM36 is"
-	line "SELFDESTRUCT!"
-
-	para "It's powerful, but"
-	line "the #MON that"
-	cont "uses it faints!"
-	cont "Be careful."
-	done
-
-_TM36NoRoomText::
-	text "You don't have any"
-	line "room for this."
-	done
-
-_SilphCo2BattleText1::
-	text "Help! I'm a SILPH"
-	line "employee."
-	done
-
-_SilphCo2EndBattleText1::
-	text "How"
-	line "did you know I"
-	cont "was a ROCKET?"
-	prompt
-
-_SilphCo2AfterBattleText1::
-	text "I work for both"
-	line "SILPH and TEAM"
-	cont "ROCKET!"
-	done
-
-_SilphCo2BattleText2::
-	text "It's off limits"
-	line "here! Go home!"
-	done
-
-_SilphCo2EndBattleText2::
-	text "You're"
-	line "good."
-	prompt
-
-_SilphCo2AfterBattleText2::
-	text "Can you solve the"
-	line "maze in here?"
-	done
-
-_SilphCo2BattleText3::
-	text "No kids are"
-	line "allowed in here!"
-	done
-
-_SilphCo2EndBattleText3::
-	text "Tough!"
-	prompt
-
-_SilphCo2AfterBattleText3::
-	text "Diamond shaped"
-	line "tiles are"
-	cont "teleport blocks!"
-
-	para "They're hi-tech"
-	line "transporters!"
-	done
-
-_SilphCo2BattleText4::
-	text "Hey kid! What are"
-	line "you doing here?"
-	done
-
-_SilphCo2EndBattleText4::
-	text "I goofed!"
-	prompt
-
-_SilphCo2AfterBattleText4::
-	text "SILPH CO. will"
-	line "be merged with"
-	cont "TEAM ROCKET!"
-	done
--- a/text/maps/silph_co_3f.asm
+++ /dev/null
@@ -1,46 +1,0 @@
-_SilphCo3Text_59ff9::
-	text "I work for SILPH."
-	line "What should I do?"
-	done
-
-_SilphCo3Text_59ffe::
-	text "<PLAYER>! You and"
-	line "your #MON"
-	cont "saved us!"
-	done
-
-_SilphCo3BattleText1::
-	text "Quit messing with"
-	line "us, kid!"
-	done
-
-_SilphCo3EndBattleText1::
-	text "I give"
-	line "up!"
-	prompt
-
-_SilphCo3AfterBattleText1::
-	text "A hint? You can"
-	line "open doors with a"
-	cont "CARD KEY!"
-	done
-
-_SilphCo3BattleText2::
-	text "I support TEAM"
-	line "ROCKET more than"
-	cont "I support SILPH!"
-	done
-
-_SilphCo3EndBattleText2::
-	text "You"
-	line "really got me!"
-	prompt
-
-_SilphCo3AfterBattleText2::
-	text "Humph..."
-
-	para "TEAM ROCKET said"
-	line "that if I helped"
-	cont "them, they'd let"
-	cont "me study #MON!"
-	done
--- a/text/maps/silph_co_4f.asm
+++ /dev/null
@@ -1,56 +1,0 @@
-_SilphCo4Text_19de0::
-	text "Sssh! Can't you"
-	line "see I'm hiding?"
-	done
-
-_SilphCo4Text_19de5::
-	text "Huh? TEAM ROCKET"
-	line "is gone?"
-	done
-
-_SilphCo4BattleText2::
-	text "TEAM ROCKET has"
-	line "taken command of"
-	cont "SILPH CO.!"
-	done
-
-_SilphCo4EndBattleText2::
-	text "Arrgh!"
-	prompt
-
-_SilphCo4AfterBattleText2::
-	text "Fwahahaha!"
-	line "My BOSS has been"
-	cont "after this place!"
-	done
-
-_SilphCo4BattleText3::
-	text "My #MON are my"
-	line "loyal soldiers!"
-	done
-
-_SilphCo4EndBattleText3::
-	text "Darn!"
-	line "You weak #MON!"
-	prompt
-
-_SilphCo4AfterBattleText3::
-	text "The doors are"
-	line "electronically"
-	cont "locked! A CARD"
-	cont "KEY opens them!"
-	done
-
-_SilphCo4BattleText4::
-	text "Intruder spotted!"
-	done
-
-_SilphCo4EndBattleText4::
-	text "Who"
-	line "are you?"
-	prompt
-
-_SilphCo4AfterBattleText4::
-	text "I better tell the"
-	line "BOSS on 11F!"
-	done
--- a/text/maps/silph_co_5f_1.asm
+++ /dev/null
@@ -1,51 +1,0 @@
-_SilphCo5Text_1a010::
-	text "TEAM ROCKET is"
-	line "in an uproar over"
-	cont "some intruder."
-	cont "That's you right?"
-	done
-
-_SilphCo5Text_1a015::
-	text "TEAM ROCKET took"
-	line "off! You're our"
-	cont "hero! Thank you!"
-	done
-
-_SilphCo5BattleText2::
-	text "I heard a kid was"
-	line "wandering around."
-	done
-
-_SilphCo5EndBattleText2::
-	text "Boom!"
-	prompt
-
-_SilphCo5AfterBattleText2::
-	text "It's not smart"
-	line "to pick a fight"
-	cont "with TEAM ROCKET!"
-	done
-
-_SilphCo5BattleText3::
-	text "We study #"
-	line "BALL technology"
-	cont "on this floor!"
-	done
-
-_SilphCo5EndBattleText3::
-	text "Dang!"
-	line "Blast it!"
-	prompt
-
-_SilphCo5AfterBattleText3::
-	text "We worked on the"
-	line "ultimate #"
-	cont "BALL which would"
-	cont "catch anything!"
-	done
-
-_SilphCo5BattleText4::
-	text "Whaaat? There"
-	line "shouldn't be any"
-	cont "children here?"
-	done
--- a/text/maps/silph_co_5f_2.asm
+++ /dev/null
@@ -1,55 +1,0 @@
-_SilphCo5EndBattleText4::
-	text "Oh"
-	line "goodness!"
-	prompt
-
-_SilphCo5AfterBattleText4::
-	text "You're only on 5F."
-	line "It's a long way"
-	cont "to my BOSS!"
-	done
-
-_SilphCo5BattleText5::
-	text "Show TEAM ROCKET"
-	line "a little respect!"
-	done
-
-_SilphCo5EndBattleText5::
-	text "Cough..."
-	line "Cough..."
-	prompt
-
-_SilphCo5AfterBattleText5::
-	text "Which reminds me."
-
-	para "KOFFING evolves"
-	line "into WEEZING!"
-	done
-
-_SilphCo5Text9::
-	text "It's a #MON"
-	line "REPORT!"
-
-	para "#MON LAB"
-	line "created PORYGON,"
-	cont "the first virtual"
-	cont "reality #MON."
-	done
-
-_SilphCo5Text10::
-	text "It's a #MON"
-	line "REPORT!"
-
-	para "Over 160 #MON"
-	line "techniques have"
-	cont "been confirmed."
-	done
-
-_SilphCo5Text11::
-	text "It's a #MON"
-	line "REPORT!"
-
-	para "4 #MON evolve"
-	line "only when traded"
-	cont "by link-cable."
-	done
--- a/text/maps/silph_co_6f.asm
+++ /dev/null
@@ -1,107 +1,0 @@
-_SilphCo6Text_1a24a::
-	text "The ROCKETs came"
-	line "and took over the"
-	cont "building!"
-	done
-
-_SilphCo6Text_1a24f::
-	text "Well, better get"
-	line "back to work!"
-	done
-
-_SilphCo6Text_1a261::
-	text "Oh dear, oh dear."
-	line "Help me please!"
-	done
-
-_SilphCo6Text_1a266::
-	text "We got engaged!"
-	line "Heheh!"
-	done
-
-_SilphCo6Text_1a278::
-	text "Look at him! He's"
-	line "such a coward!"
-	done
-
-_SilphCo6Text_1a27d::
-	text "I feel so sorry"
-	line "for him, I have"
-	cont "to marry him!"
-	done
-
-_SilphCo6Text_1a28f::
-	text "TEAM ROCKET is"
-	line "trying to conquer"
-	cont "the world with"
-	cont "#MON!"
-	done
-
-_SilphCo6Text_1a294::
-	text "TEAM ROCKET ran"
-	line "because of you!"
-	done
-
-_SilphCo6Text_1a2a6::
-	text "They must have"
-	line "targeted SILPH"
-	cont "for our #MON"
-	cont "products."
-	done
-
-_SilphCo6Text_1a2ab::
-	text "Come work for"
-	line "SILPH when you"
-	cont "get older!"
-	done
-
-_SilphCo6BattleText2::
-	text "I am one of the 4"
-	line "ROCKET BROTHERS!"
-	done
-
-_SilphCo6EndBattleText2::
-	text "Flame"
-	line "out!"
-	prompt
-
-_SilphCo6AfterBattleText2::
-	text "No matter!"
-	line "My brothers will"
-	cont "avenge me!"
-	done
-
-_SilphCo6BattleText3::
-	text "That rotten"
-	line "PRESIDENT!"
-
-	para "He shouldn't have"
-	line "sent me to the"
-	cont "TIKSI BRANCH!"
-	done
-
-_SilphCo6EndBattleText3::
-	text "Shoot!"
-	prompt
-
-_SilphCo6AfterBattleText3::
-	text "TIKSI BRANCH?"
-	line "It's in Russian"
-	cont "no man's land!"
-	done
-
-_SilphCo6BattleText4::
-	text "You dare betray"
-	line "TEAM ROCKET?"
-	done
-
-_SilphCo6EndBattleText4::
-	text "You"
-	line "traitor!"
-	prompt
-
-_SilphCo6AfterBattleText4::
-	text "If you stand for"
-	line "justice, you"
-	cont "betray evil!"
-	done
--- a/text/maps/silph_co_7f.asm
+++ /dev/null
@@ -1,209 +1,0 @@
-_MeetLaprasGuyText::
-	text "Oh! Hi! You're"
-	line "not a ROCKET! You"
-	cont "came to save us?"
-	cont "Why, thank you!"
-
-	para "I want you to"
-	line "have this #MON"
-	cont "for saving us."
-	prompt
-
-_HeresYourLaprasText::
-	text "It's LAPRAS. It's"
-	line "very intelligent."
-
-	para "We kept it in our"
-	line "lab, but it will"
-	cont "be much better"
-	cont "off with you!"
-
-	para "I think you will"
-	line "be a good trainer"
-	cont "for LAPRAS!"
-
-	para "It's a good"
-	line "swimmer. It'll"
-	cont "give you a lift!"
-	done
-
-_LaprasGuyText::
-	text "TEAM ROCKET's"
-	line "BOSS went to the"
-	cont "boardroom! Is our"
-	cont "PRESIDENT OK?"
-	done
-
-_LaprasGuySavedText::
-	text "Saved at last!"
-	line "Thank you!"
-	done
-
-_SilphCo7Text_51e00::
-	text "TEAM ROCKET was"
-	line "after the MASTER"
-	cont "BALL which will"
-	cont "catch any #MON!"
-	done
-
-_CanceledMasterBallText::
-	text "We canceled the"
-	line "MASTER BALL"
-	cont "project because"
-	cont "of TEAM ROCKET."
-	done
-
-_SilphCo7Text_51e23::
-	text "It would be bad"
-	line "if TEAM ROCKET"
-	cont "took over SILPH"
-	cont "or our #MON!"
-	done
-
-_SilphCo7Text_51e28::
-	text "Wow! You chased"
-	line "off TEAM ROCKET"
-	cont "all by yourself?"
-	done
-
-_SilphCo7Text_51e46::
-	text "You! It's really"
-	line "dangerous here!"
-	cont "You came to save"
-	cont "me? You can't!"
-	done
-
-_SilphCo7Text_51e4b::
-	text "Safe at last!"
-	line "Oh thank you!"
-	done
-
-_SilphCo7BattleText1::
-	text "Oh ho! I smell a"
-	line "little rat!"
-	done
-
-_SilphCo7EndBattleText1::
-	text "Lights"
-	line "out!"
-	prompt
-
-_SilphCo7AfterBattleText1::
-	text "You won't find my"
-	line "BOSS by just"
-	cont "scurrying around!"
-	done
-
-_SilphCo7BattleText2::
-	text "Heheh!"
-
-	para "You mistook me for"
-	line "a SILPH worker?"
-	done
-
-_SilphCo7EndBattleText2::
-	text "I'm"
-	line "done!"
-	prompt
-
-_SilphCo7AfterBattleText2::
-	text "Despite your age,"
-	line "you are a skilled"
-	cont "trainer!"
-	done
-
-_SilphCo7BattleText3::
-	text "I am one of the 4"
-	line "ROCKET BROTHERS!"
-	done
-
-_SilphCo7EndBattleText3::
-	text "Aack!"
-	line "Brothers, I lost!"
-	prompt
-
-_SilphCo7AfterBattleText3::
-	text "Doesn't matter."
-	line "My brothers will"
-	cont "repay the favor!"
-	done
-
-_SilphCo7BattleText4::
-	text "A child intruder?"
-	line "That must be you!"
-	done
-
-_SilphCo7EndBattleText4::
-	text "Fine!"
-	line "I lost!"
-	prompt
-
-_SilphCo7AfterBattleText4::
-	text "Go on home"
-	line "before my BOSS"
-	cont "gets ticked off!"
-	done
-
-_SilphCo7Text_51ebe::
-	text "<RIVAL>: What"
-	line "kept you <PLAYER>?"
-	done
-
-_SilphCo7Text_51ec3::
-	text "<RIVAL>: Hahaha!"
-	line "I thought you'd"
-	cont "turn up if I"
-	cont "waited here!"
-
-	para "I guess TEAM"
-	line "ROCKET slowed you"
-	cont "down! Not that I"
-	cont "care!"
-
-	para "I saw you in"
-	line "SAFFRON, so I"
-	cont "decided to see if"
-	cont "you got better!"
-	done
-
-_SilphCo7Text_51ec8::
-	text "Oh ho!"
-	line "So, you are ready"
-	cont "for BOSS ROCKET!"
-	prompt
-
-_SilphCo7Text_51ecd::
-	text "<RIVAL>: How can"
-	line "I put this?"
-
-	para "You're not good"
-	line "enough to play"
-	cont "with us big boys!"
-	prompt
-
-_SilphCo7Text_51ed2::
-	text "Well, <PLAYER>!"
-
-	para "I'm moving on up"
-	line "and ahead!"
-
-	para "By checking my"
-	line "#DEX, I'm"
-	cont "starting to see"
-	cont "what's strong and"
-	cont "how they evolve!"
-
-	para "I'm going to the"
-	line "#MON LEAGUE"
-	cont "to boot out the"
-	cont "ELITE FOUR!"
-
-	para "I'll become the"
-	line "world's most"
-	cont "powerful trainer!"
-
-	para "<PLAYER>, well"
-	line "good luck to you!"
-	cont "Don't sweat it!"
-	cont "Smell ya!"
-	done
--- a/text/maps/silph_co_8f.asm
+++ /dev/null
@@ -1,56 +1,0 @@
-_SilphCo8Text_565be::
-	text "I wonder if SILPH"
-	line "is finished..."
-	done
-
-_SilphCo8Text_565c3::
-	text "Thanks for saving"
-	line "us!"
-	done
-
-_SilphCo8BattleText1::
-	text "That's as far as"
-	line "you'll go!"
-	done
-
-_SilphCo8EndBattleText1::
-	text "Not"
-	line "enough grit!"
-	prompt
-
-_SilphCo8AfterBattleText1::
-	text "If you don't turn"
-	line "back, I'll call"
-	cont "for backup!"
-	done
-
-_SilphCo8BattleText2::
-	text "You're causing us"
-	line "problems!"
-	done
-
-_SilphCo8EndBattleText2::
-	text "Huh?"
-	line "I lost?"
-	prompt
-
-_SilphCo8AfterBattleText2::
-	text "So, what do you"
-	line "think of SILPH"
-	cont "BUILDING's maze?"
-	done
-
-_SilphCo8BattleText3::
-	text "I am one of the 4"
-	line "ROCKET BROTHERS!"
-	done
-
-_SilphCo8EndBattleText3::
-	text "Whoo!"
-	line "Oh brothers!"
-	prompt
-
-_SilphCo8AfterBattleText3::
-	text "I'll leave you up"
-	line "to my brothers!"
-	done
--- a/text/maps/silph_co_9f.asm
+++ /dev/null
@@ -1,62 +1,0 @@
-_SilphCo9Text_5d8e5::
-	text "You look tired!"
-	line "You should take a"
-	cont "quick nap!"
-	prompt
-
-_SilphCo9Text_5d8ea::
-	text "Don't give up!"
-	done
-
-_SilphCo9Text_5d8ef::
-	text "Thank you so"
-	line "much!"
-	done
-
-_SilphCo9BattleText1::
-	text "Your #MON seem"
-	line "to adore you, kid!"
-	done
-
-_SilphCo9EndBattleText1::
-	text "Ghaaah!"
-	prompt
-
-_SilphCo9AfterBattleText1::
-	text "If I had started"
-	line "as a trainer at"
-	cont "your age..."
-	done
-
-_SilphCo9BattleText2::
-	text "Your #MON have"
-	line "weak points! I"
-	cont "can nail them!"
-	done
-
-_SilphCo9EndBattleText2::
-	text "You"
-	line "hammered me!"
-	prompt
-
-_SilphCo9AfterBattleText2::
-	text "Exploiting weak"
-	line "spots does work!"
-	cont "Think about"
-	cont "element types!"
-	done
-
-_SilphCo9BattleText3::
-	text "I am one of the 4"
-	line "ROCKET BROTHERS!"
-	done
-
-_SilphCo9EndBattleText3::
-	text "Warg!"
-	line "Brothers, I lost!"
-	prompt
-
-_SilphCo9AfterBattleText3::
-	text "My brothers will"
-	line "avenge me!"
-	done
--- a/text/maps/ss_anne_1.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-_SSAnne1Text1::
-	text "Bonjour!"
-	line "I am le waiter on"
-	cont "this ship!"
-
-	para "I will be happy"
-	line "to serve you any-"
-	cont "thing you please!"
-
-	para "Ah! Le strong"
-	line "silent type!"
-	done
-
-_SSAnne1Text2::
-	text "The passengers"
-	line "are restless!"
-
-	para "You might be"
-	line "challenged by the"
-	cont "more bored ones!"
-	done
--- a/text/maps/ss_anne_10.asm
+++ /dev/null
@@ -1,112 +1,0 @@
-_SSAnne10Text8::
-	text "MACHOKE: Gwoh!"
-	line "Goggoh!@@"
-
-_SSAnne10BattleText1::
-	text "You know what they"
-	line "say about sailors"
-	cont "and fighting!"
-	done
-
-_SSAnne10EndBattleText1::
-	text "Right!"
-	line "Good fight, mate!"
-	prompt
-
-_SSAnne10AfterBattleText1::
-	text "Haha! Want to be"
-	line "a sailor, mate?"
-	done
-
-_SSAnne10BattleText2::
-	text "My sailor's pride"
-	line "is at stake!"
-	done
-
-_SSAnne10EndBattleText2::
-	text "Your"
-	line "spirit sank me!"
-	prompt
-
-_SSAnne10AfterBattleText2::
-	text "Did you see the"
-	line "FISHING GURU in"
-	cont "VERMILION CITY?"
-	done
-
-_SSAnne10BattleText3::
-	text "Us sailors have"
-	line "#MON too!"
-	done
-
-_SSAnne10EndBattleText3::
-	text "OK, "
-	line "you're not bad."
-	prompt
-
-_SSAnne10AfterBattleText3::
-	text "We caught all our"
-	line "#MON while"
-	cont "out at sea!"
-	done
-
-_SSAnne10BattleText4::
-	text "I like feisty"
-	line "kids like you!@@"
-
-_SSAnne10EndBattleText4::
-	text "Argh!"
-	line "Lost it!"
-	prompt
-
-_SSAnne10AfterBattleText4::
-	text "Sea #MON live"
-	line "in deep water."
-	cont "You'll need a ROD!"
-	done
-
-_SSAnne10BattleText5::
-	text "Matey, you're"
-	line "walking the plank"
-	cont "if you lose!"
-	done
-
-_SSAnne10EndBattleText5::
-	text "Argh!"
-	line "Beaten by a kid!"
-	prompt
-
-_SSAnne10AfterBattleText5::
-	text "Jellyfish some-"
-	line "times drift into"
-	cont "the ship."
-	done
-
-_SSAnne10BattleText6::
-	text "Hello stranger!"
-	line "Stop and chat!"
-
-	para "All my #MON"
-	line "are from the sea!"
-	done
-
-_SSAnne10EndBattleText6::
-	text "Darn!"
-	line "I let that one"
-	cont "get away!"
-	prompt
-
-_SSAnne10AfterBattleText6::
-	text "I was going to"
-	line "make you my"
-	cont "assistant too!"
-	done
-
-_SSAnne10Text7::
-	text "My buddy, MACHOKE,"
-	line "is super strong!"
-
-	para "He has enough"
-	line "STRENGTH to move"
-	cont "big rocks!"
-	done
--- a/text/maps/ss_anne_2.asm
+++ /dev/null
@@ -1,63 +1,0 @@
-_SSAnne2Text1::
-	text "This ship, she is"
-	line "a luxury liner"
-	cont "for trainers!"
-
-	para "At every port, we"
-	line "hold parties with"
-	cont "invited trainers!"
-	done
-
-_SSAnneRivalBeforeBattleText::
-	text "<RIVAL>: Bonjour!"
-	line "<PLAYER>!"
-
-	para "Imagine seeing"
-	line "you here!"
-
-	para "<PLAYER>, were you"
-	line "really invited?"
-
-	para "So how's your"
-	line "#DEX coming?"
-
-	para "I already caught"
-	line "40 kinds, pal!"
-
-	para "Different kinds"
-	line "are everywhere!"
-
-	para "Crawl around in"
-	line "grassy areas!"
-	done
-
-_SSAnneRivalDefeatedText::
-	text "Humph!"
-
-	para "At least you're"
-	line "raising your"
-	cont "#MON!"
-	prompt
-
-_SSAnneRivalWonText::
-	text "<PLAYER>! What are"
-	line "you, seasick?"
-
-	para "You should shape"
-	line "up, pal!"
-	prompt
-
-_SSAnneRivalCaptainText::
-	text "<RIVAL>: I heard"
-	line "there was a CUT"
-	cont "master on board."
-
-	para "But, he was just a"
-	line "seasick, old man!"
-
-	para "But, CUT itself is"
-	line "really useful!"
-
-	para "You should go see"
-	line "him! Smell ya!"
-	done
--- a/text/maps/ss_anne_3.asm
+++ /dev/null
@@ -1,7 +1,0 @@
-_SSAnne3Text1::
-	text "Our CAPTAIN is a"
-	line "sword master!"
-
-	para "He even teaches"
-	line "CUT to #MON!"
-	done
--- a/text/maps/ss_anne_5.asm
+++ /dev/null
@@ -1,52 +1,0 @@
-_SSAnne5Text1::
-	text "The party's over."
-	line "The ship will be"
-	cont "departing soon."
-	done
-
-_SSAnne5Text2::
-	text "Scrubbing decks"
-	line "is hard work!"
-	done
-
-_SSAnne5Text3::
-	text "Urf. I feel ill."
-
-	para "I stepped out to"
-	line "get some air."
-	done
-
-_SSAnne5BattleText1::
-	text "Hey matey!"
-
-	para "Let's do a little"
-	line "jig!"
-	done
-
-_SSAnne5EndBattleText1::
-	text "You're"
-	line "impressive!"
-	prompt
-
-_SSAnne5AfterBattleText1::
-	text "How many kinds of"
-	line "#MON do you"
-	cont "think there are?"
-	done
-
-_SSAnne5BattleText2::
-	text "Ahoy there!"
-	line "Are you seasick?"
-	done
-
-_SSAnne5EndBattleText2::
-	text "I was"
-	line "just careless!"
-	prompt
-
-_SSAnne5AfterBattleText2::
-	text "My Pa said there"
-	line "are 100 kinds of"
-	cont "#MON. I think"
-	cont "there are more."
-	done
--- a/text/maps/ss_anne_6.asm
+++ /dev/null
@@ -1,69 +1,0 @@
-_SSAnne6Text1::
-	text "You, mon petit!"
-	line "We're busy here!"
-	cont "Out of the way!"
-	done
-
-_SSAnne6Text2::
-	text "I saw an odd ball"
-	line "in the trash."
-	done
-
-_SSAnne6Text3::
-	text "I'm so busy I'm"
-	line "getting dizzy!"
-	done
-
-_SSAnne6Text4::
-	text "Hum-de-hum-de-"
-	line "ho..."
-
-	para "I peel spuds"
-	line "every day!"
-	cont "Hum-hum..."
-	done
-
-_SSAnne6Text5::
-	text "Did you hear about"
-	line "SNORLAX?"
-
-	para "All it does is"
-	line "eat and sleep!"
-	done
-
-_SSAnne6Text6::
-	text "Snivel...Sniff..."
-
-	para "I only get to"
-	line "peel onions..."
-	cont "Snivel..."
-	done
-
-_SSAnne6Text_61807::
-	text "Er-hem! Indeed I"
-	line "am le CHEF!"
-
-	para "Le main course is"
-	prompt
-
-_SSAnne6Text_6180c::
-	text "Salmon du Salad!"
-
-	para "Les guests may"
-	line "gripe it's fish"
-	cont "again, however!"
-	done
-
-_SSAnne6Text_61811::
-	text "Eels au Barbecue!"
-
-	para "Les guests will"
-	line "mutiny, I fear."
-	done
-
-_SSAnne6Text_61816::
-	text "Prime Beef Steak!"
-
-	para "But, have I enough"
-	line "fillets du beef?"
-	done
--- a/text/maps/ss_anne_7.asm
+++ /dev/null
@@ -1,62 +1,0 @@
-_SSAnne7RubText::
-	text "CAPTAIN: Ooargh..."
-	line "I feel hideous..."
-	cont "Urrp! Seasick..."
-
-	para "<PLAYER> rubbed"
-	line "the CAPTAIN's"
-	cont "back!"
-
-	para "Rub-rub..."
-	line "Rub-rub...@@"
-
-_ReceivingHM01Text::
-	text "CAPTAIN: Whew!"
-	line "Thank you! I"
-	cont "feel much better!"
-
-	para "You want to see"
-	line "my CUT technique?"
-
-	para "I could show you"
-	line "if I wasn't ill..."
-
-	para "I know! You can"
-	line "have this!"
-
-	para "Teach it to your"
-	line "#MON and you"
-	cont "can see it CUT"
-	cont "any time!"
-	prompt
-
-_ReceivedHM01Text::
-	text "<PLAYER> got"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_SSAnne7Text_61932::
-	text "CAPTAIN: Whew!"
-
-	para "Now that I'm not"
-	line "sick any more, I"
-	cont "guess it's time."
-	done
-
-_HM01NoRoomText::
-	text "Oh no! You have"
-	line "no room for this!"
-	done
-
-_SSAnne7Text2::
-	text "Yuck! Shouldn't"
-	line "have looked!"
-	done
-
-_SSAnne7Text3::
-	text "How to Conquer"
-	line "Seasickness..."
-	cont "The CAPTAIN's"
-	cont "reading this!"
-	done
--- a/text/maps/ss_anne_8.asm
+++ /dev/null
@@ -1,104 +1,0 @@
-_SSAnne8Text8::
-	text "WIGGLYTUFF: Puup"
-	line "pupuu!@@"
-
-_SSAnne8BattleText1::
-	text "I travel alone"
-	line "on my journeys!"
-
-	para "My #MON are my"
-	line "only friends!"
-	done
-
-_SSAnne8EndBattleText1::
-	text "My, my"
-	line "friends..."
-	prompt
-
-_SSAnne8AfterBattleText1::
-	text "You should be"
-	line "nice to friends!"
-	done
-
-_SSAnne8BattleText2::
-	text "You pup! How dare"
-	line "you barge in!"
-	done
-
-_SSAnne8EndBattleText2::
-	text "Humph!"
-	line "You rude child!"
-	prompt
-
-_SSAnne8AfterBattleText2::
-	text "I wish to be left"
-	line "alone! Get out!"
-	done
-
-_SSAnne8BattleText3::
-	text "I love #MON!"
-	line "Do you?"
-	done
-
-_SSAnne8EndBattleText3::
-	text "Wow! "
-	line "You're great!"
-	prompt
-
-_SSAnne8AfterBattleText3::
-	text "Let me be your"
-	line "friend, OK?"
-
-	para "Then we can trade"
-	line "#MON!"
-	done
-
-_SSAnne8BattleText4::
-	text "I collected these"
-	line "#MON from all"
-	cont "around the world!"
-	done
-
-_SSAnne8EndBattleText4::
-	text "Oh no!"
-	line "I went around the"
-	cont "world for these!"
-	prompt
-
-_SSAnne8AfterBattleText4::
-	text "You hurt my poor"
-	line "worldly #MON!"
-
-	para "I demand that you"
-	line "heal them at a"
-	cont "#MON CENTER!"
-	done
-
-_SSAnne8Text5::
-	text "Waiter, I would"
-	line "like a cherry pie"
-	cont "please!"
-	done
-
-_SSAnne8Text6::
-	text "A cruise is so"
-	line "elegant yet cozy!"
-	done
-
-_SSAnne8Text7::
-	text "I always travel"
-	line "with WIGGLYTUFF!"
-	done
-
-_SSAnne8Text9::
-	text "We are cruising"
-	line "around the world."
-	done
-
-_SSAnne8Text11::
-	text "Ssh! I'm a GLOBAL"
-	line "POLICE agent!"
-
-	para "I'm on the trail"
-	line "of TEAM ROCKET!"
-	done
--- a/text/maps/ss_anne_9.asm
+++ /dev/null
@@ -1,113 +1,0 @@
-_SSAnne9Text_61bf2::
-	text "In all my travels"
-	line "I've never seen"
-	cont "any #MON sleep"
-	cont "like this one!"
-
-	para "It was something"
-	line "like this!"
-	prompt
-
-_SSAnne9Text_61c01::
-	text "Ah yes, I have"
-	line "seen some #MON"
-	cont "ferry people"
-	cont "across the water!"
-	done
-
-_SSAnne9Text_61c10::
-	text "#MON can CUT"
-	line "down small bushes."
-	done
-
-_SSAnne9Text_61c1f::
-	text "Have you gone to"
-	line "the SAFARI ZONE"
-	cont "in FUCHSIA CITY?"
-
-	para "It had many rare"
-	line "kinds of #MON!!"
-	done
-
-_SSAnne9Text_61c2e::
-	text "Me and my Daddy"
-	line "think the SAFARI"
-	cont "ZONE is awesome!"
-	done
-
-_SSAnne9Text_61c3d::
-	text "The CAPTAIN looked"
-	line "really sick and"
-	cont "pale!"
-	done
-
-_SSAnne9Text_61c4c::
-	text "I hear many people"
-	line "get seasick!"
-	done
-
-_SSAnne9BattleText1::
-	text "Competing against"
-	line "the young keeps"
-	cont "me youthful."
-	done
-
-_SSAnne9EndBattleText1::
-	text "Good"
-	line "fight! Ah, I feel"
-	cont "young again!"
-	prompt
-
-_SSAnne9AfterBattleText1::
-	text "15 years ago, I"
-	line "would have won!"
-	done
-
-_SSAnne9BattleText2::
-	text "Check out what I"
-	line "fished up!"
-	done
-
-_SSAnne9EndBattleText2::
-	text "I'm"
-	line "all out!"
-	prompt
-
-_SSAnne9AfterBattleText2::
-	text "Party?"
-
-	para "The cruise ship's"
-	line "party should be"
-	cont "over by now."
-	done
-
-_SSAnne9BattleText3::
-	text "Which do you like,"
-	line "a strong or a"
-	cont "rare #MON?"
-	done
-
-_SSAnne9EndBattleText3::
-	text "I must"
-	line "salute you!"
-	prompt
-
-_SSAnne9AfterBattleText3::
-	text "I prefer strong"
-	line "and rare #MON."
-	done
-
-_SSAnne9BattleText4::
-	text "I never saw you"
-	line "at the party."
-	done
-
-_SSAnne9EndBattleText4::
-	text "Take"
-	line "it easy!"
-	prompt
-
-_SSAnne9AfterBattleText4::
-	text "Oh, I adore your"
-	line "strong #MON!"
-	done
--- a/text/maps/underground_path_route_6_entrance.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-_UndergrdTunnelEntRoute6Text1::
-	text "People often lose"
-	line "things in that"
-	cont "UNDERGROUND PATH."
-	done
--- a/text/maps/underground_path_route_7_entrance.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-_UndergroundPathEntRoute7Text1::
-	text "I heard a sleepy"
-	line "#MON appeared"
-	cont "near CELADON CITY."
-	done
--- a/text/maps/underground_path_route_7_entrance_unused.asm
+++ /dev/null
@@ -1,35 +1,0 @@
-_UGPathRoute7EntranceUnusedText_5d773::
-	text "I want to shop at"
-	line "the dept. store"
-	cont "in CELADON but..."
-
-	para "There are so many"
-	line "rough looking"
-	cont "people there."
-	done
-
-_UGPathRoute7EntranceUnusedText_5d778::
-	text "TEAM ROCKET had a"
-	line "secret hideout in"
-	cont "CELADON CITY?"
-	done
-
-_UGPathRoute7EntranceUnusedText_5d77d::
-	text "You're here to"
-	line "shop in CELADON?"
-
-	para "Just step outside"
-	line "and head west!"
-	done
-
-_UGPathRoute7EntranceUnusedText_5d782::
-	text "The UNDERGROUND"
-	line "PATH goes beneath"
-	cont "SAFFRON and leads"
-	cont "to LAVENDER."
-
-	para "If you're heading"
-	line "to CERULEAN, go"
-	cont "to the building"
-	cont "across the road."
-	done
--- a/text/maps/underground_path_route_8_entrance.asm
+++ /dev/null
@@ -1,5 +1,0 @@
-_UndergroundPathEntRoute8Text1::
-	text "The dept. store"
-	line "in CELADON has a"
-	cont "great selection!"
-	done
--- a/text/maps/unknown_dungeon_b1f.asm
+++ /dev/null
@@ -1,2 +1,0 @@
-_MewtwoBattleText::
-	text "Mew!@@"
--- a/text/maps/vermilion_city.asm
+++ /dev/null
@@ -1,126 +1,0 @@
-_VermilionCityText1::
-	text "We're careful"
-	line "about pollution!"
-
-	para "We've heard GRIMER"
-	line "multiplies in"
-	cont "toxic sludge!"
-	done
-
-_VermilionCityText_198a7::
-	text "Did you see S.S."
-	line "ANNE moored in"
-	cont "the harbor?"
-	done
-
-_VermilionCityText_198ac::
-	text "So, S.S.ANNE has"
-	line "departed!"
-
-	para "She'll be back in"
-	line "about a year."
-	done
-
-_SSAnneWelcomeText4::
-	text "Welcome to S.S."
-	line "ANNE!"
-	done
-
-_SSAnneWelcomeText9::
-	text "Welcome to S.S."
-	line "ANNE!"
-
-	para "Excuse me, do you"
-	line "have a ticket?"
-	prompt
-
-_SSAnneFlashedTicketText::
-	text "<PLAYER> flashed"
-	line "the S.S.TICKET!"
-
-	para "Great! Welcome to"
-	line "S.S.ANNE!"
-	done
-
-_SSAnneNoTicketText::
-	text "<PLAYER> doesn't"
-	line "have the needed"
-	cont "S.S.TICKET."
-
-	para "Sorry!"
-
-	para "You need a ticket"
-	line "to get aboard."
-	done
-
-_SSAnneNotHereText::
-	text "The ship set sail."
-	done
-
-_VermilionCityText4::
-	text "I'm putting up a"
-	line "building on this"
-	cont "plot of land."
-
-	para "My #MON is"
-	line "tamping the land."
-	done
-
-_VermilionCityText5::
-	text "MACHOP: Guoh!"
-	line "Gogogoh!@@"
-
-_VermilionCityText14::
-	text ""
-	para "A MACHOP is"
-	line "stomping the land"
-	cont "flat."
-	done
-
-_VermilionCityText6::
-	text "S.S.ANNE is a"
-	line "famous luxury"
-	cont "cruise ship."
-
-	para "We visit VERMILION"
-	line "once a year."
-	done
-
-_VermilionCityText7::
-	text "VERMILION CITY"
-	line "The Port of"
-	cont "Exquisite Sunsets"
-	done
-
-_VermilionCityText8::
-	text "NOTICE!"
-
-	para "ROUTE 12 may be"
-	line "blocked off by a"
-	cont "sleeping #MON."
-
-	para "Detour through"
-	line "ROCK TUNNEL to"
-	cont "LAVENDER TOWN."
-
-	para "VERMILION POLICE"
-	done
-
-_VermilionCityText11::
-	text "#MON FAN CLUB"
-	line "All #MON fans"
-	cont "welcome!"
-	done
-
-_VermilionCityText12::
-	text "VERMILION CITY"
-	line "#MON GYM"
-	cont "LEADER: LT.SURGE"
-
-	para "The Lightning "
-	line "American!"
-	done
-
-_VermilionCityText13::
-	text "VERMILION HARBOR"
-	done
--- a/text/maps/vermilion_dock.asm
+++ /dev/null
@@ -1,3 +1,0 @@
-_VermilionDockText1::
-	text ""
-	done
--- a/text/maps/vermilion_fishing_house.asm
+++ /dev/null
@@ -1,53 +1,0 @@
-_VermilionHouse2Text_560b1::
-	text "I'm the FISHING"
-	line "GURU!"
-
-	para "I simply Looove"
-	line "fishing!"
-
-	para "Do you like to"
-	line "fish?"
-	done
-
-_VermilionHouse2Text_560b6::
-	text "Grand! I like"
-	line "your style!"
-
-	para "Take this and"
-	line "fish, young one!"
-
-	para "<PLAYER> received"
-	line "an @"
-	TX_RAM wcf4b
-	text "!@@"
-
-_VermilionHouse2Text_560bb::
-	db $0
-	para "Fishing is a way"
-	line "of life!"
-
-	para "From the seas to"
-	line "rivers, go out"
-	cont "and land the big"
-	cont "one, young one!"
-	done
-
-_VermilionHouse2Text_560c0::
-	text "Oh... That's so"
-	line "disappointing..."
-	done
-
-_VermilionHouse2Text_560c5::
-	text "Hello there,"
-	line "<PLAYER>!"
-
-	para "How are the fish"
-	line "biting?"
-	done
-
-_VermilionHouse2Text_560ca::
-	text "Oh no!"
-
-	para "You have no room"
-	line "for my gift!"
-	done
--- a/text/maps/vermilion_gym_1.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-_VermilionGymText_5cb6d::
-	text "Hey, kid! What do"
-	line "you think you're"
-	cont "doing here?"
-
-	para "You won't live"
-	line "long in combat!"
-	cont "That's for sure!"
-
-	para "I tell you kid,"
-	line "electric #MON"
-	cont "saved me during"
-	cont "the war!"
-
-	para "They zapped my"
-	line "enemies into"
-	cont "paralysis!"
-
-	para "The same as I'll"
-	line "do to you!"
-	done
--- a/text/maps/vermilion_gym_2.asm
+++ /dev/null
@@ -1,143 +1,0 @@
-_VermilionGymText_5cb72::
-	text "A little word of"
-	line "advice, kid!"
-
-	para "Electricity is"
-	line "sure powerful!"
-
-	para "But, it's useless"
-	line "against ground-"
-	cont "type #MON!"
-	done
-
-_VermilionGymText_5cb77::
-	text "The THUNDERBADGE"
-	line "cranks up your"
-	cont "#MON's SPEED!"
-
-	para "It also lets your"
-	line "#MON FLY any"
-	cont "time, kid!"
-
-	para "You're special,"
-	line "kid! Take this!"
-	done
-
-_ReceivedTM24Text::
-	text "<PLAYER> received "
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_TM24ExplanationText::
-	db $0
-	para "TM24 contains"
-	line "THUNDERBOLT!"
-
-	para "Teach it to an"
-	line "electric #MON!"
-	done
-
-_TM24NoRoomText::
-	text "Yo kid, make room"
-	line "in your pack!"
-	done
-
-_ReceivedThunderbadgeText::
-	text "Whoa!"
-
-	para "You're the real"
-	line "deal, kid!"
-
-	para "Fine then, take"
-	line "the THUNDERBADGE!"
-	prompt
-
-_VermilionGymBattleText1::
-	text "When I was in the"
-	line "Army, LT.SURGE"
-	cont "was my strict CO!"
-	done
-
-_VermilionGymEndBattleText1::
-	text "Stop!"
-	line "You're very good!"
-	prompt
-
-_VermilionGymAfterBattleText1::
-	text "The door won't"
-	line "open?"
-
-	para "LT.SURGE always"
-	line "was cautious!"
-	done
-
-_VermilionGymBattleText2::
-	text "I'm a lightweight,"
-	line "but I'm good with"
-	cont "electricity!"
-	done
-
-_VermilionGymEndBattleText2::
-	text "Fried!"
-	prompt
-
-_VermilionGymAfterBattleText2::
-	text "OK, I'll talk!"
-
-	para "LT.SURGE said he"
-	line "hid door switches"
-	cont "inside something!"
-	done
-
-_VermilionGymBattleText3::
-	text "This is no place"
-	line "for kids!"
-	done
-
-_VermilionGymEndBattleText3::
-	text "Wow!"
-	line "Surprised me!"
-	prompt
-
-_VermilionGymAfterBattleText3::
-	text "LT.SURGE set up"
-	line "double locks!"
-	cont "Here's a hint!"
-
-	para "When you open the"
-	line "1st lock, the 2nd"
-	cont "lock is right"
-	cont "next to it!"
-	done
-
-_VermilionGymText_5cbf4::
-	text "Yo! Champ in"
-	line "making!"
-
-	para "LT.SURGE has a"
-	line "nickname. People"
-	cont "refer to him as"
-	cont "the Lightning"
-	cont "American!"
-
-	para "He's an expert on"
-	line "electric #MON!"
-
-	para "Birds and water"
-	line "#MON are at"
-	cont "risk! Beware of"
-	cont "paralysis too!"
-
-	para "LT.SURGE is very"
-	line "cautious!"
-
-	para "You'll have to"
-	line "break a code to"
-	cont "get to him!"
-	done
-
-_VermilionGymText_5cbf9::
-	text "Whew! That match"
-	line "was electric!"
-	done
--- a/text/maps/vermilion_house.asm
+++ /dev/null
@@ -1,21 +1,0 @@
-_VermilionHouse1Text1::
-	text "I'm getting my"
-	line "PIDGEY to fly a"
-	cont "letter to SAFFRON"
-	cont "in the north!"
-	done
-
-_VermilionHouse1Text2::
-	text "PIDGEY: Kurukkoo!@@"
-
-_VermilionHouse1Text3::
-	text "Dear PIPPI, I hope"
-	line "to see you soon."
-
-	para "I heard SAFFRON"
-	line "has problems with"
-	cont "TEAM ROCKET."
-
-	para "VERMILION appears"
-	line "to be safe."
-	done
--- a/text/maps/vermilion_mart.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-_VermilionMartText2::
-	text "There are evil"
-	line "people who will"
-	cont "use #MON for"
-	cont "criminal acts."
-
-	para "TEAM ROCKET"
-	line "traffics in rare"
-	cont "#MON."
-
-	para "They also abandon"
-	line "#MON that they"
-	cont "consider not to"
-	cont "be popular or"
-	cont "useful."
-	done
-
-_VermilionMartText3::
-	text "I think #MON"
-	line "can be good or"
-	cont "evil. It depends"
-	cont "on the trainer."
-	done
--- a/text/maps/vermilion_pokecenter.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-_VermilionPokecenterText2::
-	text "Even if they are"
-	line "the same level,"
-	cont "#MON can have"
-	cont "very different"
-	cont "abilities."
-
-	para "A #MON raised"
-	line "by a trainer is"
-	cont "stronger than one"
-	cont "in the wild."
-	done
-
-_VermilionPokecenterText3::
-	text "My #MON was"
-	line "poisoned! It"
-	cont "fainted while we"
-	cont "were walking!"
-	done
--- a/text/maps/victory_road_1f.asm
+++ /dev/null
@@ -1,31 +1,0 @@
-_VictoryRoad1BattleText1::
-	text "I wonder if you"
-	line "are good enough"
-	cont "for me!"
-	done
-
-_VictoryRoad1EndBattleText1::
-	text "I"
-	line "lost out!"
-	prompt
-
-_VictoryRoad1AfterBattleText1::
-	text "I never wanted to"
-	line "lose to anybody!"
-	done
-
-_VictoryRoad1BattleText2::
-	text "I can see you're"
-	line "good! Let me see"
-	cont "exactly how good!"
-	done
-
-_VictoryRoad1EndBattleText2::
-	text "I"
-	line "had a chance..."
-	prompt
-
-_VictoryRoad1AfterBattleText2::
-	text "I concede, you're"
-	line "better than me!"
-	done
--- a/text/maps/victory_road_2f.asm
+++ /dev/null
@@ -1,85 +1,0 @@
-_MoltresBattleText::
-	text "Gyaoo!@@"
-
-_VictoryRoad2BattleText1::
-	text "VICTORY ROAD is"
-	line "the final test"
-	cont "for trainers!"
-	done
-
-_VictoryRoad2EndBattleText1::
-	text "Aiyah!"
-	prompt
-
-_VictoryRoad2AfterBattleText1::
-	text "If you get stuck,"
-	line "try moving some"
-	cont "boulders around!"
-	done
-
-_VictoryRoad2BattleText2::
-	text "Ah, so you wish"
-	line "to challenge the"
-	cont "ELITE FOUR?"
-	done
-
-_VictoryRoad2EndBattleText2::
-	text "You"
-	line "got me!"
-	prompt
-
-_VictoryRoad2AfterBattleText2::
-	text "<RIVAL> also came"
-	line "through here!"
-	done
-
-_VictoryRoad2BattleText3::
-	text "Come on!"
-	line "I'll whip you!"
-	done
-
-_VictoryRoad2EndBattleText3::
-	text "I got"
-	line "whipped!"
-	prompt
-
-_VictoryRoad2AfterBattleText3::
-	text "You earned the"
-	line "right to be on"
-	cont "VICTORY ROAD!"
-	done
-
-_VictoryRoad2BattleText4::
-	text "If you can get"
-	line "through here, you"
-	cont "can go meet the"
-	cont "ELITE FOUR!"
-	done
-
-_VictoryRoad2EndBattleText4::
-	text "No!"
-	line "Unbelievable!"
-	prompt
-
-_VictoryRoad2AfterBattleText4::
-	text "I can beat you"
-	line "when it comes to"
-	cont "knowledge about"
-	cont "#MON!"
-	done
-
-_VictoryRoad2BattleText5::
-	text "Is VICTORY ROAD"
-	line "too tough?"
-	done
-
-_VictoryRoad2EndBattleText5::
-	text "Well"
-	line "done!"
-	prompt
-
-_VictoryRoad2AfterBattleText5::
-	text "Many trainers give"
-	line "up the challenge"
-	cont "here."
-	done
--- a/text/maps/victory_road_3f.asm
+++ /dev/null
@@ -1,63 +1,0 @@
-_VictoryRoad3BattleText2::
-	text "I heard rumors of"
-	line "a child prodigy!"
-	done
-
-_VictoryRoad3EndBattleText2::
-	text "The"
-	line "rumors were true!"
-	prompt
-
-_VictoryRoad3AfterBattleText2::
-	text "You beat GIOVANNI"
-	line "of TEAM ROCKET?"
-	done
-
-_VictoryRoad3BattleText3::
-	text "I'll show you just"
-	line "how good you are!"
-	done
-
-_VictoryRoad3EndBattleText3::
-	text "I'm"
-	line "furious!"
-	prompt
-
-_VictoryRoad3AfterBattleText3::
-	text "You showed me just"
-	line "how good I was!"
-	done
-
-_VictoryRoad3BattleText4::
-	text "Only the chosen"
-	line "can pass here!"
-	done
-
-_VictoryRoad3EndBattleText4::
-	text "I"
-	line "don't believe it!"
-	prompt
-
-_VictoryRoad3AfterBattleText4::
-	text "All trainers here"
-	line "are headed to the"
-	cont "#MON LEAGUE!"
-	cont "Be careful!"
-	done
-
-_VictoryRoad3BattleText5::
-	text "Trainers live to"
-	line "seek stronger"
-	cont "opponents!"
-	done
-
-_VictoryRoad3EndBattleText5::
-	text "Oh!"
-	line "So strong!"
-	prompt
-
-_VictoryRoad3AfterBattleText5::
-	text "By fighting tough"
-	line "battles, you get"
-	cont "stronger!"
-	done
--- a/text/maps/viridian_city.asm
+++ /dev/null
@@ -1,180 +1,0 @@
-_ViridianCityText1::
-	text "Those # BALLs"
-	line "at your waist!"
-	cont "You have #MON!"
-
-	para "It's great that"
-	line "you can carry and"
-	cont "use #MON any"
-	cont "time, anywhere!"
-	done
-
-_ViridianCityText_19122::
-	text "This #MON GYM"
-	line "is always closed."
-
-	para "I wonder who the"
-	line "LEADER is?"
-	done
-
-_ViridianCityText_19127::
-	text "VIRIDIAN GYM's"
-	line "LEADER returned!"
-	done
-
-_ViridianCityText_1914d::
-	text "You want to know"
-	line "about the 2 kinds"
-	cont "of caterpillar"
-	cont "#MON?"
-	done
-
-_ViridianCityText_19152::
-	text "Oh, OK then!"
-	done
-
-_ViridianCityText_19157::
-	text "CATERPIE has no"
-	line "poison, but"
-	cont "WEEDLE does."
-
-	para "Watch out for its"
-	line "POISON STING!"
-	done
-
-_ViridianCityText_19175::
-	text "Oh Grandpa! Don't"
-	line "be so mean!"
-	cont "He hasn't had his"
-	cont "coffee yet."
-	done
-
-_ViridianCityText_1917a::
-	text "When I go shop in"
-	line "PEWTER CITY, I"
-	cont "have to take the"
-	cont "winding trail in"
-	cont "VIRIDIAN FOREST."
-	done
-
-_ViridianCityText_19191::
-	text "You can't go"
-	line "through here!"
-
-	para "This is private"
-	line "property!"
-	done
-
-_ViridianCityText_191ca::
-	text "Yawn!"
-	line "I must have dozed"
-	cont "off in the sun."
-
-	para "I had this dream"
-	line "about a DROWZEE"
-	cont "eating my dream."
-	cont "What's this?"
-	cont "Where did this TM"
-	cont "come from?"
-
-	para "This is spooky!"
-	line "Here, you can"
-	cont "have this TM."
-	prompt
-
-_ReceivedTM42Text::
-	text "<PLAYER> received"
-	line "TM42!@@"
-
-_TM42Explanation::
-	text "TM42 contains"
-	line "DREAM EATER..."
-	cont "...Snore..."
-	done
-
-_TM42NoRoomText::
-	text "You have too much"
-	line "stuff already."
-	done
-
-_ViridianCityText_1920a::
-	text "Ahh, I've had my"
-	line "coffee now and I"
-	cont "feel great!"
-
-	para "Sure you can go"
-	line "through!"
-
-	para "Are you in a"
-	line "hurry?"
-	done
-
-_ViridianCityText_1920f::
-	text "I see you're using"
-	line "a #DEX."
-
-	para "When you catch a"
-	line "#MON, #DEX"
-	cont "is automatically"
-	cont "updated."
-
-	para "What? Don't you"
-	line "know how to catch"
-	cont "#MON?"
-
-	para "I'll show you"
-	line "how to then."
-	done
-
-_ViridianCityText_19214::
-	text "Time is money..."
-	line "Go along then."
-	done
-
-_ViridianCityText_19219::
-	text "First, you need"
-	line "to weaken the"
-	cont "target #MON."
-	done
-
-_ViridianCityText8::
-	text "VIRIDIAN CITY "
-	line "The Eternally"
-	cont "Green Paradise"
-	done
-
-_ViridianCityText9::
-	text "TRAINER TIPS"
-
-	para "Catch #MON"
-	line "and expand your"
-	cont "collection!"
-
-	para "The more you have,"
-	line "the easier it is"
-	cont "to fight!"
-	done
-
-_ViridianCityText10::
-	text "TRAINER TIPS"
-
-	para "The battle moves"
-	line "of #MON are"
-	cont "limited by their"
-	cont "POWER POINTs, PP."
-
-	para "To replenish PP,"
-	line "rest your tired"
-	cont "#MON at a"
-	cont "#MON CENTER!"
-	done
-
-_ViridianCityText13::
-	text "VIRIDIAN CITY"
-	line "#MON GYM"
-	done
-
-_ViridianCityText14::
-	text "The GYM's doors"
-	line "are locked..."
-	done
--- a/text/maps/viridian_forest.asm
+++ /dev/null
@@ -1,123 +1,0 @@
-_ViridianForestText1::
-	text "I came here with"
-	line "some friends!"
-
-	para "They're out for"
-	line "#MON fights!"
-	done
-
-_ViridianForestBattleText1::
-	text "Hey! You have"
-	line "#MON! Come on!"
-	cont "Let's battle'em!"
-	done
-
-_ViridianForestEndBattleText1::
-	text "No!"
-	line "CATERPIE can't"
-	cont "cut it!"
-	prompt
-
-_ViridianFrstAfterBattleText1::
-	text "Ssh! You'll scare"
-	line "the bugs away!"
-	done
-
-_ViridianForestBattleText2::
-	text "Yo! You can't jam"
-	line "out if you're a"
-	cont "#MON trainer!"
-	done
-
-_ViridianForestEndBattleText2::
-	text "Huh?"
-	line "I ran out of"
-	cont "#MON!"
-	prompt
-
-_ViridianFrstAfterBattleText2::
-	text "Darn! I'm going"
-	line "to catch some"
-	cont "stronger ones!"
-	done
-
-_ViridianForestBattleText3::
-	text "Hey, wait up!"
-	line "What's the hurry?"
-	done
-
-_ViridianForestEndBattleText3::
-	text "I"
-	line "give! You're good"
-	cont "at this!"
-	prompt
-
-_ViridianFrstAfterBattleText3::
-	text "Sometimes, you"
-	line "can find stuff on"
-	cont "the ground!"
-
-	para "I'm looking for"
-	line "the stuff I"
-	cont "dropped!"
-	done
-
-_ViridianForestText8::
-	text "I ran out of #"
-	line "BALLs to catch"
-	cont "#MON with!"
-
-	para "You should carry"
-	line "extras!"
-	done
-
-_ViridianForestText9::
-	text "TRAINER TIPS"
-
-	para "If you want to"
-	line "avoid battles,"
-	cont "stay away from"
-	cont "grassy areas!"
-	done
-
-_ViridianForestText10::
-	text "For poison, use"
-	line "ANTIDOTE! Get it"
-	cont "at #MON MARTs!"
-	done
-
-_ViridianForestText11::
-	text "TRAINER TIPS"
-
-	para "Contact PROF.OAK"
-	line "via PC to get"
-	cont "your #DEX"
-	cont "evaluated!"
-	done
-
-_ViridianForestText12::
-	text "TRAINER TIPS"
-
-	para "No stealing of"
-	line "#MON from"
-	cont "other trainers!"
-	cont "Catch only wild"
-	cont "#MON!"
-	done
-
-_ViridianForestText13::
-	text "TRAINER TIPS"
-
-	para "Weaken #MON"
-	line "before attempting"
-	cont "capture!"
-
-	para "When healthy,"
-	line "they may escape!"
-	done
-
-_ViridianForestText14::
-	text "LEAVING"
-	line "VIRIDIAN FOREST"
-	cont "PEWTER CITY AHEAD"
-	done
--- a/text/maps/viridian_forest_entrance.asm
+++ /dev/null
@@ -1,13 +1,0 @@
-_ViridianForestEntranceText1::
-	text "Are you going to"
-	line "VIRIDIAN FOREST?"
-	cont "Be careful, it's"
-	cont "a natural maze!"
-	done
-
-_ViridianForestEntranceText2::
-	text "RATTATA may be"
-	line "small, but its"
-	cont "bite is wicked!"
-	cont "Did you get one?"
-	done
--- a/text/maps/viridian_forest_exit.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-_ViridianForestExitText1::
-	text "Many #MON live"
-	line "only in forests "
-	cont "and caves."
-
-	para "You need to look"
-	line "everywhere to get"
-	cont "different kinds!"
-	done
-
-_ViridianForestExitText2::
-	text "Have you noticed"
-	line "the bushes on the"
-	cont "roadside?"
-
-	para "They can be cut"
-	line "down by a special"
-	cont "#MON move."
-	done
--- a/text/maps/viridian_gym.asm
+++ /dev/null
@@ -1,236 +1,0 @@
-_ViridianGymText_74ace::
-	text "Fwahahaha! This is"
-	line "my hideout!"
-
-	para "I planned to"
-	line "resurrect TEAM"
-	cont "ROCKET here!"
-
-	para "But, you have"
-	line "caught me again!"
-	cont "So be it! This"
-	cont "time, I'm not"
-	cont "holding back!"
-
-	para "Once more, you"
-	line "shall face"
-	cont "GIOVANNI, the"
-	cont "greatest trainer!"
-	done
-
-_ViridianGymText_74ad3::
-	text "Ha!"
-	line "That was a truly"
-	cont "intense fight!"
-	cont "You have won!"
-	cont "As proof, here is"
-	cont "the EARTHBADGE!@@"
-
-_ViridianGymText_74ad9::
-	text "Having lost, I"
-	line "cannot face my"
-	cont "underlings!"
-	cont "TEAM ROCKET is"
-	cont "finished forever!"
-
-	para "I will dedicate my"
-	line "life to the study"
-	cont "of #MON!"
-
-	para "Let us meet again"
-	line "some day!"
-	cont "Farewell!@@"
-
-_ViridianGymText12::
-	text "The EARTHBADGE"
-	line "makes #MON of"
-	cont "any level obey!"
-
-	para "It is evidence of"
-	line "your mastery as a"
-	cont "#MON trainer!"
-
-	para "With it, you can"
-	line "enter the #MON"
-	cont "LEAGUE!"
-
-	para "It is my gift for"
-	line "your #MON"
-	cont "LEAGUE challenge!"
-	done
-
-_ReceivedTM27Text::
-	text "<PLAYER> received"
-	line "TM27!@@"
-
-_TM27ExplanationText::
-	db $0
-	para "TM27 is FISSURE!"
-	line "It will take out"
-	cont "#MON with just"
-	cont "one hit!"
-
-	para "I made it when I"
-	line "ran the GYM here,"
-	cont "too long ago..."
-	done
-
-_TM27NoRoomText::
-	text "You do not have"
-	line "space for this!"
-	done
-
-_ViridianGymBattleText1::
-	text "Heh! You must be"
-	line "running out of"
-	cont "steam by now!"
-	done
-
-_ViridianGymEndBattleText1::
-	text "I"
-	line "ran out of gas!"
-	prompt
-
-_ViridianGymAfterBattleText1::
-	text "You need power to"
-	line "keep up with our"
-	cont "GYM LEADER!"
-	done
-
-_ViridianGymBattleText2::
-	text "Rrrroar! I'm"
-	line "working myself"
-	cont "into a rage!"
-	done
-
-_ViridianGymEndBattleText2::
-	text "Wargh!"
-	prompt
-
-_ViridianGymAfterBattleText2::
-	text "I'm still not"
-	line "worthy!"
-	done
-
-_ViridianGymBattleText3::
-	text "#MON and I, we"
-	line "make wonderful"
-	cont "music together!"
-	done
-
-_ViridianGymEndBattleText3::
-	text "You are in"
-	line "perfect harmony!"
-	prompt
-
-_ViridianGymAfterBattleText3::
-	text "Do you know the"
-	line "identity of our"
-	cont "GYM LEADER?"
-	done
-
-_ViridianGymBattleText4::
-	text "Karate is the"
-	line "ultimate form of"
-	cont "martial arts!"
-	done
-
-_ViridianGymEndBattleText4::
-	text "Atcho!"
-	prompt
-
-_ViridianGymAfterBattleText4::
-	text "If my #MON"
-	line "were as good at"
-	cont "Karate as I..."
-	done
-
-_ViridianGymBattleText5::
-	text "The truly talented"
-	line "win with style!"
-	done
-
-_ViridianGymEndBattleText5::
-	text "I"
-	line "lost my grip!"
-	prompt
-
-_ViridianGymAfterBattleText5::
-	text "The LEADER will"
-	line "scold me!"
-	done
-
-_ViridianGymBattleText6::
-	text "I'm the KARATE"
-	line "KING! Your fate"
-	cont "rests with me!"
-	done
-
-_ViridianGymEndBattleText6::
-	text "Ayah!"
-	prompt
-
-_ViridianGymAfterBattleText6::
-	text "#MON LEAGUE?"
-	line "You? Don't get"
-	cont "cocky!"
-	done
-
-_ViridianGymBattleText7::
-	text "Your #MON will"
-	line "cower at the"
-	cont "crack of my whip!"
-	done
-
-_ViridianGymEndBattleText7::
-	text "Yowch!"
-	line "Whiplash!"
-	prompt
-
-_ViridianGymAfterBattleText7::
-	text "Wait! I was just"
-	line "careless!"
-	done
-
-_ViridianGymBattleText8::
-	text "VIRIDIAN GYM was"
-	line "closed for a long"
-	cont "time, but now our"
-	cont "LEADER is back!"
-	done
-
-_ViridianGymEndBattleText8::
-	text "I"
-	line "was beaten?"
-	prompt
-
-_ViridianGymAfterBattleText8::
-	text "You can go onto"
-	line "#MON LEAGUE"
-	cont "only by defeating"
-	cont "our GYM LEADER!"
-	done
-
-_ViridianGymText_74bd4::
-	text "Yo! Champ in"
-	line "making!"
-
-	para "Even I don't know"
-	line "VIRIDIAN LEADER's"
-	cont "identity!"
-
-	para "This will be the"
-	line "toughest of all"
-	cont "the GYM LEADERs!"
-
-	para "I heard that the"
-	line "trainers here"
-	cont "like ground-type"
-	cont "#MON!"
-	done
-
-_ViridianGymText_74bd9::
-	text "Blow me away!"
-	line "GIOVANNI was the"
-	cont "GYM LEADER here?"
-	done
--- a/text/maps/viridian_house.asm
+++ /dev/null
@@ -1,23 +1,0 @@
-_ViridianHouseText1::
-	text "Coming up with"
-	line "nicknames is fun,"
-	cont "but hard."
-
-	para "Simple names are"
-	line "the easiest to"
-	cont "remember."
-	done
-
-_ViridianHouseText2::
-	text "My Daddy loves"
-	line "#MON too."
-	done
-
-_ViridianHouseText_1d5b1::
-	text "SPEARY: Tetweet!"
-	done
-
-_ViridianHouseText4::
-	text "SPEAROW"
-	line "Name: SPEARY"
-	done
--- a/text/maps/viridian_mart.asm
+++ /dev/null
@@ -1,30 +1,0 @@
-_ViridianMartText1::
-	text "Okay! Say hi to"
-	line "PROF.OAK for me!"
-	done
-
-_ViridianMartText4::
-	text "Hey! You came from"
-	line "PALLET TOWN?"
-	done
-
-ViridianMartParcelQuestText::
-	text "You know PROF."
-	line "OAK, right?"
-
-	para "His order came in."
-	line "Will you take it"
-	cont "to him?"
-
-	para "<PLAYER> got"
-	line "OAK's PARCEL!@@"
-
-_ViridianMartText2::
-	text "This shop sells"
-	line "many ANTIDOTEs."
-	done
-
-_ViridianMartText3::
-	text "No! POTIONs are"
-	line "all sold out."
-	done
--- a/text/maps/viridian_pokecenter.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-_ViridianPokeCenterText2::
-	text "You can use that"
-	line "PC in the corner."
-
-	para "The receptionist"
-	line "told me. So kind!"
-	done
-
-_ViridianPokeCenterText3::
-	text "There's a #MON"
-	line "CENTER in every"
-	cont "town ahead."
-
-	para "They don't charge"
-	line "any money either!"
-	done
--- a/text/maps/wardens_house.asm
+++ /dev/null
@@ -1,83 +1,0 @@
-_WardenGibberishText1::
-	text "WARDEN: Hif fuff"
-	line "hefifoo!"
-
-	para "Ha lof ha feef ee"
-	line "hafahi ho. Heff"
-	cont "hee fwee!"
-	done
-
-_WardenGibberishText2::
-	text "Ah howhee ho hoo!"
-	line "Eef ee hafahi ho!"
-	done
-
-_WardenGibberishText3::
-	text "Ha? He ohay heh"
-	line "ha hoo ee haheh!"
-	done
-
-_WardenTeethText1::
-	text "<PLAYER> gave the"
-	line "GOLD TEETH to the"
-	cont "WARDEN!@@"
-
-_WardenTeethText2::
-	db $0
-	para "The WARDEN popped"
-	line "in his teeth!"
-	prompt
-
-_WardenThankYouText::
-	text "WARDEN: Thanks,"
-	line "kid! No one could"
-	cont "understand a word"
-	cont "that I said."
-
-	para "I couldn't work"
-	line "that way."
-	cont "Let me give you"
-	cont "something for"
-	cont "your trouble."
-	prompt
-
-_ReceivedHM04Text::
-	text "<PLAYER> received"
-	line "@"
-	TX_RAM wcf4b
-	text "!@@"
-
-_HM04ExplanationText::
-	text "WARDEN: HM04"
-	line "teaches STRENGTH!"
-
-	para "It lets #MON"
-	line "move boulders"
-	cont "when you're out-"
-	cont "side of battle."
-
-	para "Oh yes, did you"
-	line "find SECRET HOUSE"
-	cont "in SAFARI ZONE?"
-
-	para "If you do, you"
-	line "win an HM!"
-
-	para "I hear it's the"
-	line "rare SURF HM."
-	done
-
-_HM04NoRoomText::
-	text "Your pack is"
-	line "stuffed full!"
-	done
-
-_FuchsiaHouse2Text_75176::
-	text "#MON photos"
-	line "and fossils."
-	done
-
-_FuchsiaHouse2Text_7517b::
-	text "Old #MON"
-	line "merchandise."
-	done
--- a/wram.asm
+++ b/wram.asm
@@ -1,4 +1,3 @@
-
 INCLUDE "constants.asm"
 
 flag_array: MACRO
@@ -2672,8 +2671,6 @@
 
 wGameProgressFlags:: ; d5f0
 ; $c8 bytes
-	ds 0
-
 wOaksLabCurScript:: ; d5f0
 	ds 1
 wPalletTownCurScript:: ; d5f1
@@ -2713,20 +2710,20 @@
 	ds 1
 wRoute10CurScript:: ; d605
 	ds 1
-wMtMoon1CurScript:: ; d606
+wMtMoon1FCurScript:: ; d606
 	ds 1
-wMtMoon3CurScript:: ; d607
+wMtMoonB2FCurScript:: ; d607
 	ds 1
-wSSAnne8CurScript:: ; d608
+wSSAnne1FRoomsCurScript:: ; d608
 	ds 1
-wSSAnne9CurScript:: ; d609
+wSSAnne2FRoomsCurScript:: ; d609
 	ds 1
 wRoute22CurScript:: ; d60a
 	ds 1
 	ds 1
-wRedsHouse2CurScript:: ; d60c
+wRedsHouse2FCurScript:: ; d60c
 	ds 1
-wViridianMarketCurScript:: ; d60d
+wViridianMartCurScript:: ; d60d
 	ds 1
 wRoute22GateCurScript:: ; d60e
 	ds 1
@@ -2733,11 +2730,11 @@
 wCeruleanCityCurScript:: ; d60f
 	ds 1
 	ds 7
-wSSAnne5CurScript:: ; d617
+wSSAnneBowCurScript:: ; d617
 	ds 1
 wViridianForestCurScript:: ; d618
 	ds 1
-wMuseum1fCurScript:: ; d619
+wMuseum1FCurScript:: ; d619
 	ds 1
 wRoute13CurScript:: ; d61a
 	ds 1
@@ -2749,11 +2746,11 @@
 	ds 1
 wRoute21CurScript:: ; d61e
 	ds 1
-wSafariZoneEntranceCurScript:: ; d61f
+wSafariZoneGateCurScript:: ; d61f
 	ds 1
-wRockTunnel2CurScript:: ; d620
+wRockTunnelB1FCurScript:: ; d620
 	ds 1
-wRockTunnel1CurScript:: ; d621
+wRockTunnel1FCurScript:: ; d621
 	ds 1
 	ds 1
 wRoute11CurScript:: ; d623
@@ -2768,29 +2765,29 @@
 	ds 1
 wRoute20CurScript:: ; d628
 	ds 1
-wSSAnne10CurScript:: ; d629
+wSSAnneB1FRoomsCurScript:: ; d629
 	ds 1
 wVermilionCityCurScript:: ; d62a
 	ds 1
-wPokemonTower2CurScript:: ; d62b
+wPokemonTower2FCurScript:: ; d62b
 	ds 1
-wPokemonTower3CurScript:: ; d62c
+wPokemonTower3FCurScript:: ; d62c
 	ds 1
-wPokemonTower4CurScript:: ; d62d
+wPokemonTower4FCurScript:: ; d62d
 	ds 1
-wPokemonTower5CurScript:: ; d62e
+wPokemonTower5FCurScript:: ; d62e
 	ds 1
-wPokemonTower6CurScript:: ; d62f
+wPokemonTower6FCurScript:: ; d62f
 	ds 1
-wPokemonTower7CurScript:: ; d630
+wPokemonTower7FCurScript:: ; d630
 	ds 1
-wRocketHideout1CurScript:: ; d631
+wRocketHideoutB1FCurScript:: ; d631
 	ds 1
-wRocketHideout2CurScript:: ; d632
+wRocketHideoutB2FCurScript:: ; d632
 	ds 1
-wRocketHideout3CurScript:: ; d633
+wRocketHideoutB3FCurScript:: ; d633
 	ds 1
-wRocketHideout4CurScript:: ; d634
+wRocketHideoutB4FCurScript:: ; d634
 	ds 2
 wRoute6GateCurScript:: ; d636
 	ds 1
@@ -2798,57 +2795,57 @@
 	ds 2
 wCinnabarIslandCurScript:: ; d639
 	ds 1
-wMansion1CurScript:: ; d63a
+wPokemonMansion1FCurScript:: ; d63a
 	ds 2
-wMansion2CurScript:: ; d63c
+wPokemonMansion2FCurScript:: ; d63c
 	ds 1
-wMansion3CurScript:: ; d63d
+wPokemonMansion3FCurScript:: ; d63d
 	ds 1
-wMansion4CurScript:: ; d63e
+wPokemonMansionB1FCurScript:: ; d63e
 	ds 1
-wVictoryRoad2CurScript:: ; d63f
+wVictoryRoad2FCurScript:: ; d63f
 	ds 1
-wVictoryRoad3CurScript:: ; d640
+wVictoryRoad3FCurScript:: ; d640
 	ds 2
 wFightingDojoCurScript:: ; d642
 	ds 1
-wSilphCo2CurScript:: ; d643
+wSilphCo2FCurScript:: ; d643
 	ds 1
-wSilphCo3CurScript:: ; d644
+wSilphCo3FCurScript:: ; d644
 	ds 1
-wSilphCo4CurScript:: ; d645
+wSilphCo4FCurScript:: ; d645
 	ds 1
-wSilphCo5CurScript:: ; d646
+wSilphCo5FCurScript:: ; d646
 	ds 1
-wSilphCo6CurScript:: ; d647
+wSilphCo6FCurScript:: ; d647
 	ds 1
-wSilphCo7CurScript:: ; d648
+wSilphCo7FCurScript:: ; d648
 	ds 1
-wSilphCo8CurScript:: ; d649
+wSilphCo8FCurScript:: ; d649
 	ds 1
-wSilphCo9CurScript:: ; d64a
+wSilphCo9FCurScript:: ; d64a
 	ds 1
-wHallOfFameRoomCurScript:: ; d64b
+wHallOfFameCurScript:: ; d64b
 	ds 1
-wGaryCurScript:: ; d64c
+wChampionsRoomCurScript:: ; d64c
 	ds 1
-wLoreleiCurScript:: ; d64d
+wLoreleisRoomCurScript:: ; d64d
 	ds 1
-wBrunoCurScript:: ; d64e
+wBrunosRoomCurScript:: ; d64e
 	ds 1
-wAgathaCurScript:: ; d64f
+wAgathasRoomCurScript:: ; d64f
 	ds 1
-wUnknownDungeon3CurScript:: ; d650
+wCeruleanCaveB1FCurScript:: ; d650
 	ds 1
-wVictoryRoad1CurScript:: ; d651
+wVictoryRoad1FCurScript:: ; d651
 	ds 1
 	ds 1
-wLanceCurScript:: ; d653
+wLancesRoomCurScript:: ; d653
 	ds 1
 	ds 4
-wSilphCo10CurScript:: ; d658
+wSilphCo10FCurScript:: ; d658
 	ds 1
-wSilphCo11CurScript:: ; d659
+wSilphCo11FCurScript:: ; d659
 	ds 1
 	ds 1
 wFuchsiaGymCurScript:: ; d65b
@@ -2858,9 +2855,9 @@
 	ds 1
 wCinnabarGymCurScript:: ; d65e
 	ds 1
-wCeladonGameCornerCurScript:: ; d65f
+wGameCornerCurScript:: ; d65f
 	ds 1
-wRoute16GateCurScript:: ; d660
+wRoute16Gate1FCurScript:: ; d660
 	ds 1
 wBillsHouseCurScript:: ; d661
 	ds 1
@@ -2867,21 +2864,19 @@
 wRoute5GateCurScript:: ; d662
 	ds 1
 wPowerPlantCurScript:: ; d663
-; overload
-	ds 0
 wRoute7GateCurScript:: ; d663
 ; overload
 	ds 1
 	ds 1
-wSSAnne2CurScript:: ; d665
+wSSAnne2FCurScript:: ; d665
 	ds 1
-wSeafoamIslands4CurScript:: ; d666
+wSeafoamIslandsB3FCurScript:: ; d666
 	ds 1
 wRoute23CurScript:: ; d667
 	ds 1
-wSeafoamIslands5CurScript:: ; d668
+wSeafoamIslandsB4FCurScript:: ; d668
 	ds 1
-wRoute18GateCurScript:: ; d669
+wRoute18Gate1FCurScript:: ; d669
 	ds 1
 
 	ds 78