summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants/event_flags.asm30
-rw-r--r--constants/map_constants.asm4
-rw-r--r--macros/scripts/events.asm86
-rw-r--r--main.asm30
-rw-r--r--maps/BurnedTower1F.asm310
-rw-r--r--maps/BurnedTowerB1F.asm155
-rw-r--r--maps/DiglettsCave.asm40
-rw-r--r--maps/MountMoon.asm181
-rw-r--r--maps/RockTunnel1F.asm41
-rw-r--r--maps/RockTunnelB1F.asm40
-rw-r--r--maps/SafariZoneBeta.asm17
-rw-r--r--maps/SafariZoneFuchsiaGateBeta.asm19
-rw-r--r--maps/TinTower1F.asm53
-rw-r--r--maps/TinTower2F.asm17
-rw-r--r--maps/TinTower3F.asm24
-rw-r--r--maps/TinTower4F.asm40
-rw-r--r--maps/TinTower5F.asm34
-rw-r--r--maps/TinTower6F.asm17
-rw-r--r--maps/TinTower7F.asm27
-rw-r--r--maps/TinTower8F.asm38
-rw-r--r--maps/TinTower9F.asm32
-rw-r--r--maps/UndergroundPath.asm25
-rw-r--r--maps/VictoryRoad.asm268
23 files changed, 1457 insertions, 71 deletions
diff --git a/constants/event_flags.asm b/constants/event_flags.asm
index f8b9f55a..932bb7c7 100644
--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -133,9 +133,9 @@
const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
const EVENT_BURNED_TOWER_1F_HIDDEN_ETHER ; 080
- const EVENT_081
- const EVENT_082
- const EVENT_083
+ const EVENT_BURNED_TOWER_B1F_HIDDEN_ULTRA_BALL
+ const EVENT_BURNED_TOWER_B1F_HIDDEN_BURN_HEAL
+ const EVENT_BURNED_TOWER_B1F_HIDDEN_NUGGET
const EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL
const EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION
const EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE
@@ -146,8 +146,8 @@
const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_PARLYZ_HEAL
const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_SUPER_POTION
const EVENT_WAREHOUSE_ENTRANCE_HIDDEN_ANTIDOTE
- const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION
- const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE
+ const EVENT_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION
+ const EVENT_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE
const EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION
const EVENT_MOUNT_MORTAR_1F_INSIDE_HIDDEN_MAX_REPEL
const EVENT_MOUNT_MORTAR_2F_INSIDE_HIDDEN_FULL_RESTORE
@@ -236,8 +236,8 @@
const EVENT_GOT_TM29_PSYCHIC
; Kanto Signpost Items
const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
- const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE
- const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL
+ const EVENT_UNDERGROUND_PATH_HIDDEN_FULL_RESTORE
+ const EVENT_UNDERGROUND_PATH_HIDDEN_X_SPECIAL
const EVENT_ROCK_TUNNEL_1F_HIDDEN_X_ACCURACY
const EVENT_ROCK_TUNNEL_1F_HIDDEN_X_DEFEND
const EVENT_ROCK_TUNNEL_B1F_HIDDEN_MAX_POTION
@@ -1687,9 +1687,9 @@
const EVENT_TIN_TOWER_8F_NUGGET
const EVENT_TIN_TOWER_8F_MAX_ELIXER
const EVENT_TIN_TOWER_8F_FULL_RESTORE
- const EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL
- const EVENT_UNDERGROUND_WAREHOUSE_ULTRA_BALL
- const EVENT_BURNED_TOWER_1F_HP_UP
+ const EVENT_BURNED_TOWER_1F_X_SPEED
+ const EVENT_BURNED_TOWER_1F_BURN_HEAL
+ const EVENT_BURNED_TOWER_B1F_HP_UP
const EVENT_BURNED_TOWER_B1F_TM_ENDURE
const EVENT_NATIONAL_PARK_PARLYZ_HEAL
const EVENT_NATIONAL_PARK_TM_DIG
@@ -1718,8 +1718,8 @@
const EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
const EVENT_ILEX_FOREST_REVIVE
const EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
- const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
- const EVENT_UNDERGROUND_PATH_SWITCH_ROOM_ENTRANCES_FULL_HEAL
+ const EVENT_UNDERGROUND_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
+ const EVENT_UNDERGROUND_SWITCH_ROOM_ENTRANCES_FULL_HEAL
const EVENT_GOLDENROD_DEPT_STORE_B1F_ETHER
const EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
const EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
@@ -1797,7 +1797,7 @@
const EVENT_RIVAL_CHERRYGROVE_CITY
const EVENT_RIVAL_AZALEA_TOWN
const EVENT_RIVAL_TEAM_ROCKET_BASE
- const EVENT_RIVAL_UNDERGROUND_PATH
+ const EVENT_RIVAL_UNDERGROUND
const EVENT_RIVAL_VICTORY_ROAD
const EVENT_RIVAL_OLIVINE_CITY
const EVENT_RIVAL_SPROUT_TOWER
@@ -1960,8 +1960,8 @@
const EVENT_TEAM_ROCKET_DISBANDED
const EVENT_RED_IN_MT_SILVER
const EVENT_GOLDENROD_DEPT_STORE_5F_HAPPINESS_EVENT_LADY
- const EVENT_BURNED_TOWER_MORTY
- const EVENT_BURNED_TOWER_1F_EUSINE
+ const EVENT_BURNED_TOWER_FIREBREATHER_DICK_NORMAL
+ const EVENT_BURNED_TOWER_FIREBREATHER_DICK_ASHES
const EVENT_RANG_CLEAR_BELL_1
const EVENT_RANG_CLEAR_BELL_2
const EVENT_FLORIA_AT_FLOWER_SHOP
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index 8662cea0..0fcef278 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -275,7 +275,7 @@ ENDM
map_const VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10
map_const VERMILION_GYM, 9, 5 ; 11
map_const ROUTE_6_SAFFRON_GATE, 4, 5 ; 12
- map_const ROUTE_6_UNDERGROUND_ENTRANCE, 4, 4 ; 13
+ map_const ROUTE_6_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
newgroup ; 13
@@ -457,7 +457,7 @@ ENDM
map_const SILPH_CO_1F, 4, 8 ; 10
map_const COPYCATS_HOUSE_1F, 4, 4 ; 11
map_const COPYCATS_HOUSE_2F, 3, 5 ; 12
- map_const ROUTE_5_UNDERGROUND_ENTRANCE, 4, 4 ; 13
+ map_const ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
map_const ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14
map_const ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15
diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm
index 4740fd8a..8908140d 100644
--- a/macros/scripts/events.asm
+++ b/macros/scripts/events.asm
@@ -531,167 +531,167 @@ jumptextfaceplayer: MACRO
dw \1 ; text_pointer
ENDM
- enum jumptext_command ; $53
+ enum jumptext_command ; $52
jumptext: MACRO
db jumptext_command
dw \1 ; text_pointer
ENDM
- enum waitbutton_command ; $54
+ enum waitbutton_command ; $53
waitbutton: MACRO
db waitbutton_command
ENDM
- enum buttonsound_command ; $55
+ enum buttonsound_command ; $54
buttonsound: MACRO
db buttonsound_command
ENDM
- enum pokepic_command ; $56
+ enum pokepic_command ; $55
pokepic: MACRO
db pokepic_command
db \1 ; pokemon
ENDM
- enum closepokepic_command ; $57
+ enum closepokepic_command ; $56
closepokepic: MACRO
db closepokepic_command
ENDM
- enum _2dmenu_command ; $58
+ enum _2dmenu_command ; $57
_2dmenu: MACRO
db _2dmenu_command
ENDM
- enum verticalmenu_command ; $59
+ enum verticalmenu_command ; $58
verticalmenu: MACRO
db verticalmenu_command
ENDM
- enum loadpikachudata_command ; $5a
+ enum loadpikachudata_command ; $59
loadpikachudata: MACRO
db loadpikachudata_command
ENDM
- enum randomwildmon_command ; $5b
+ enum randomwildmon_command ; $5a
randomwildmon: MACRO
db randomwildmon_command
ENDM
- enum loadmemtrainer_command ; $5c
+ enum loadmemtrainer_command ; $5b
loadmemtrainer: MACRO
db loadmemtrainer_command
ENDM
- enum loadwildmon_command ; $5d
+ enum loadwildmon_command ; $5c
loadwildmon: MACRO
db loadwildmon_command
db \1 ; pokemon
db \2 ; level
ENDM
- enum loadtrainer_command ; $5e
+ enum loadtrainer_command ; $5d
loadtrainer: MACRO
db loadtrainer_command
db \1 ; trainer_group
db \2 ; trainer_id
ENDM
- enum startbattle_command ; $5f
+ enum startbattle_command ; $5e
startbattle: MACRO
db startbattle_command
ENDM
- enum reloadmapafterbattle_command ; $60
+ enum reloadmapafterbattle_command ; $5f
reloadmapafterbattle: MACRO
db reloadmapafterbattle_command
ENDM
- enum catchtutorial_command ; $61
+ enum catchtutorial_command ; $60
catchtutorial: MACRO
db catchtutorial_command
db \1 ; byte
ENDM
- enum trainertext_command ; $62
+ enum trainertext_command ; $61
trainertext: MACRO
db trainertext_command
db \1 ; which_text
ENDM
- enum trainerflagaction_command ; $63
+ enum trainerflagaction_command ; $62
trainerflagaction: MACRO
db trainerflagaction_command
db \1 ; action
ENDM
- enum winlosstext_command ; $64
+ enum winlosstext_command ; $63
winlosstext: MACRO
db winlosstext_command
dw \1 ; win_text_pointer
dw \2 ; loss_text_pointer
ENDM
- enum scripttalkafter_command ; $65
+ enum scripttalkafter_command ; $64
scripttalkafter: MACRO
db scripttalkafter_command
ENDM
- enum endifjustbattled_command ; $66
+ enum endifjustbattled_command ; $65
endifjustbattled: MACRO
db endifjustbattled_command
ENDM
- enum checkjustbattled_command ; $67
+ enum checkjustbattled_command ; $66
checkjustbattled: MACRO
db checkjustbattled_command
ENDM
- enum setlasttalked_command ; $68
+ enum setlasttalked_command ; $67
setlasttalked: MACRO
db setlasttalked_command
db \1 ; object id
ENDM
- enum applymovement_command ; $69
+ enum applymovement_command ; $68
applymovement: MACRO
db applymovement_command
db \1 ; object id
dw \2 ; data
ENDM
- enum applymovement2_command ; $6a
+ enum applymovement2_command ; $69
applymovement2: MACRO
db applymovement2_command
dw \1 ; data
ENDM
- enum faceplayer_command ; $6b
+ enum faceplayer_command ; $6a
faceplayer: MACRO
db faceplayer_command
ENDM
- enum faceobject_command ; $6c
+ enum faceobject_command ; $6b
faceobject: MACRO
db faceobject_command
db \1 ; object1
db \2 ; object2
ENDM
- enum variablesprite_command ; $6d
+ enum variablesprite_command ; $6c
variablesprite: MACRO
db variablesprite_command
db \1 - SPRITE_VARS ; byte
db \2 ; sprite
ENDM
- enum disappear_command ; $6e
+ enum disappear_command ; $6d
disappear: MACRO
db disappear_command
db \1 ; object id
ENDM
- enum appear_command ; $6f
+ enum appear_command ; $6e
appear: MACRO
db appear_command
db \1 ; object id
@@ -729,7 +729,7 @@ loademote: MACRO
db \1 ; bubble
ENDM
- enum showemote_command ; $75
+ enum showemote_command ; $74
showemote: MACRO
db showemote_command
db \1 ; bubble
@@ -737,7 +737,7 @@ showemote: MACRO
db \3 ; time
ENDM
- enum turnobject_command ; $76
+ enum turnobject_command ; $75
turnobject: MACRO
db turnobject_command
db \1 ; object id
@@ -788,13 +788,13 @@ writecmdqueue: MACRO
dw \1 ; queue_pointer
ENDM
- enum delcmdqueue_command ; $7e
+ enum delcmdqueue_command ; $7d
delcmdqueue: MACRO
db delcmdqueue_command
db \1 ; byte
ENDM
- enum playmusic_command ; $7f
+ enum playmusic_command ; $7e
playmusic: MACRO
db playmusic_command
dw \1 ; music_pointer
@@ -812,29 +812,29 @@ musicfadeout: MACRO
db \2 ; fadetime
ENDM
- enum playmapmusic_command ; $82
+ enum playmapmusic_command ; $81
playmapmusic: MACRO
db playmapmusic_command
ENDM
- enum dontrestartmapmusic_command ; $83
+ enum dontrestartmapmusic_command ; $82
dontrestartmapmusic: MACRO
db dontrestartmapmusic_command
ENDM
- enum cry_command ; $84
+ enum cry_command ; $83
cry: MACRO
db cry_command
dw \1 ; cry_id
ENDM
- enum playsound_command ; $85
+ enum playsound_command ; $84
playsound: MACRO
db playsound_command
dw \1 ; sound_pointer
ENDM
- enum waitsfx_command ; $86
+ enum waitsfx_command ; $85
waitsfx: MACRO
db waitsfx_command
ENDM
@@ -855,31 +855,31 @@ passtoengine: MACRO
db \1 ; data_pointer
ENDM
- enum newloadmap_command ; $8a
+ enum newloadmap_command ; $89
newloadmap: MACRO
db newloadmap_command
db \1 ; which_method
ENDM
- enum pause_command ; $8b
+ enum pause_command ; $8a
pause: MACRO
db pause_command
db \1 ; length
ENDM
- enum deactivatefacing_command ; $8c
+ enum deactivatefacing_command ; $8b
deactivatefacing: MACRO
db deactivatefacing_command
db \1 ; time
ENDM
- enum priorityjump_command ; $8d
+ enum priorityjump_command ; $8c
priorityjump: MACRO
db priorityjump_command
dw \1 ; pointer
ENDM
- enum warpcheck_command ; $8e
+ enum warpcheck_command ; $8d
warpcheck: MACRO
db warpcheck_command
ENDM
diff --git a/main.asm b/main.asm
index 925e7ec2..56fd1730 100644
--- a/main.asm
+++ b/main.asm
@@ -1529,17 +1529,25 @@ SECTION "bank42", ROMX, BANK[$42]
INCLUDE "maps/SproutTower1F.asm"
INCLUDE "maps/SproutTower2F.asm"
INCLUDE "maps/SproutTower3F.asm"
- dr $108b1b, $108c8c
- dr $108c8c, $108c9e
- dr $108c9e, $108cbf
- dr $108cbf, $108d10
- dr $108d10, $108d4b
- dr $108d4b, $108d5d
- dr $108d5d, $108d8d
- dr $108d8d, $108de0
- dr $108de0, $108e2c
- dr $108e2c, $1093b8
- dr $1093b8, $109dca
+INCLUDE "maps/TinTower1F.asm"
+INCLUDE "maps/TinTower2F.asm"
+INCLUDE "maps/TinTower3F.asm"
+INCLUDE "maps/TinTower4F.asm"
+INCLUDE "maps/TinTower5F.asm"
+INCLUDE "maps/TinTower6F.asm"
+INCLUDE "maps/TinTower7F.asm"
+INCLUDE "maps/TinTower8F.asm"
+INCLUDE "maps/TinTower9F.asm"
+INCLUDE "maps/BurnedTower1F.asm"
+INCLUDE "maps/BurnedTowerB1F.asm"
+INCLUDE "maps/DiglettsCave.asm"
+INCLUDE "maps/MountMoon.asm"
+INCLUDE "maps/UndergroundPath.asm"
+INCLUDE "maps/RockTunnel1F.asm"
+INCLUDE "maps/RockTunnelB1F.asm"
+INCLUDE "maps/SafariZoneFuchsiaGateBeta.asm"
+INCLUDE "maps/SafariZoneBeta.asm"
+INCLUDE "maps/VictoryRoad.asm"
SECTION "bank43", ROMX, BANK[$43]
INCLUDE "maps/NationalPark.asm"
diff --git a/maps/BurnedTower1F.asm b/maps/BurnedTower1F.asm
new file mode 100644
index 00000000..f359bef6
--- /dev/null
+++ b/maps/BurnedTower1F.asm
@@ -0,0 +1,310 @@
+ const_def 2 ; object constants
+ const BURNEDTOWER1F_FIREBREATHER_DICK
+ const BURNEDTOWER1F_MORTY
+ const BURNEDTOWER1F_POKE_BALL
+ const BURNEDTOWER1F_EUSINE
+ const BURNEDTOWER1F_SILVER
+ const BURNEDTOWER1F_FIREBREATHER_DICK_ASHES
+
+BurnedTower1F_MapScripts:
+ db 3 ; scene scripts
+ scene_script .RivalScene ; SCENE_DEFAULT
+ scene_script .DummyScene1 ; SCENE_BURNEDTOWER1F_RIVAL_BATTLE
+ scene_script .DummyScene2 ; SCENE_BURNEDTOWER1F_NOTHING
+
+ db 0 ; callbacks
+
+.RivalScene:
+ priorityjump .Rival
+ end
+
+.DummyScene1:
+ end
+
+.DummyScene2:
+ end
+
+.Rival:
+ turnobject PLAYER, UP
+ showemote EMOTE_SHOCK, PLAYER, 15
+ special FadeOutMusic
+ pause 15
+ turnobject BURNEDTOWER1F_SILVER, RIGHT
+ pause 10
+ turnobject BURNEDTOWER1F_SILVER, LEFT
+ pause 15
+ turnobject BURNEDTOWER1F_SILVER, DOWN
+ pause 15
+ applymovement BURNEDTOWER1F_SILVER, BurnedTowerMovement_SilverWalksToPlayer
+ playmusic MUSIC_RIVAL_ENCOUNTER
+ opentext
+ writetext BurnedTowerSilver_BeforeText
+ waitbutton
+ closetext
+ checkevent EVENT_GOT_TOTODILE_FROM_ELM
+ iftrue .totodile
+ checkevent EVENT_GOT_CHIKORITA_FROM_ELM
+ iftrue .chikorita
+ winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
+ setlasttalked BURNEDTOWER1F_SILVER
+ loadtrainer RIVAL1, RIVAL1_3_TOTODILE
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .returnfrombattle
+
+.totodile
+ winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
+ setlasttalked BURNEDTOWER1F_SILVER
+ loadtrainer RIVAL1, RIVAL1_3_CHIKORITA
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .returnfrombattle
+
+.chikorita
+ winlosstext BurnedTowerSilver_WinText, BurnedTowerSilver_LossText
+ setlasttalked BURNEDTOWER1F_SILVER
+ loadtrainer RIVAL1, RIVAL1_3_CYNDAQUIL
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .returnfrombattle
+
+.returnfrombattle
+ playmusic MUSIC_RIVAL_AFTER
+ opentext
+ writetext BurnedTowerSilver_AfterText1
+ waitbutton
+ closetext
+ turnobject PLAYER, UP
+ turnobject PLAYER, RIGHT
+ applymovement BURNEDTOWER1F_SILVER, BurnedTowerMovement_SilverLeaves
+ playsound SFX_EXIT_BUILDING
+ disappear BURNEDTOWER1F_SILVER
+ setscene SCENE_BURNEDTOWER1F_RIVAL_BATTLE
+ waitsfx
+ playmapmusic
+ end
+
+FirebreatherDickFight:
+ playmusic MUSIC_HIKER_ENCOUNTER
+ showemote EMOTE_SHOCK, BURNEDTOWER1F_FIREBREATHER_DICK, 30
+ applymovement BURNEDTOWER1F_FIREBREATHER_DICK, FirebreatherDickMovement
+ turnobject PLAYER, DOWN
+ opentext
+ writetext FirebreatherDickBeforeText
+ waitbutton
+ closetext
+ winlosstext FirebreatherDickBattleWinText, -1
+ setlasttalked BURNEDTOWER1F_FIREBREATHER_DICK
+ loadtrainer FIREBREATHER, DICK
+ startbattle
+ iftrue .next
+ disappear BURNEDTOWER1F_FIREBREATHER_DICK
+ appear BURNEDTOWER1F_FIREBREATHER_DICK_ASHES
+ reloadmapafterbattle
+ setevent EVENT_BEAT_FIREBREATHER_DICK
+ setscene SCENE_BURNEDTOWER1F_NOTHING
+ clearevent EVENT_BURNED_TOWER_FIREBREATHER_DICK_NORMAL
+ setevent EVENT_BURNED_TOWER_FIREBREATHER_DICK_ASHES
+ end
+.next
+ reloadmapafterbattle
+ end
+
+FirebreatherDickPostBattle:
+ faceplayer
+ opentext
+ writetext BurnedTower1FEusineText
+ waitbutton
+ closetext
+ end
+
+TrainerFirebreatherNed:
+ trainer FIREBREATHER, NED, EVENT_BEAT_FIREBREATHER_NED, BurnedTower1FMortyText, Text2, 0, .LossScript
+
+.LossScript
+ endifjustbattled
+ opentext
+ writetext Text3
+ waitbutton
+ closetext
+ end
+
+BurnedTower1FRock:
+ jumpstd smashrock
+
+BurnedTower1FHiddenEther:
+ hiddenitem ETHER, EVENT_BURNED_TOWER_1F_HIDDEN_ETHER
+
+BurnedTower1FBurnHeal:
+ itemball BURN_HEAL, 1
+
+BurnedTower1FXSpeed:
+ itemball X_SPEED, 1
+
+BurnedTowerMovement_SilverWalksToPlayer:
+ step DOWN
+ step DOWN
+ step_end
+
+BurnedTowerMovement_SilverLeaves:
+ step RIGHT
+ step DOWN
+ step_end
+
+FirebreatherDickMovement:
+ step UP
+ step_end
+
+BurnedTowerSilver_BeforeText:
+ text "<……> <……> <……>"
+
+ para "…Oh, it's you."
+
+ para "You wanted to get"
+ line "stronger, so you"
+
+ para "came for the leg-"
+ line "endary #MON"
+
+ para "that's supposed to"
+ line "be here. That's"
+ cont "your story, right?"
+
+ para "Well, that's not"
+ line "going to happen."
+
+ para "Because I'm going"
+ line "to get it!"
+
+ para "I'm going to be"
+ line "the world's great-"
+ cont "est trainer, so a"
+ cont "legendary #MON"
+ cont "would be perfect"
+ cont "for me."
+
+ para "…Well, anyway,"
+ line "I'm getting tired"
+
+ para "of having a wimp"
+ line "like you always"
+ cont "showing up."
+ done
+
+BurnedTowerSilver_WinText:
+ text "…Humph!"
+
+ para "This is why I hate"
+ line "battling wimps."
+
+ para "There's no"
+ line "challenge in it."
+ done
+
+BurnedTowerSilver_AfterText1:
+ text "…Aw, whatever."
+
+ para "You would never be"
+ line "able to catch a"
+
+ para "legendary #MON"
+ line "anyway."
+ done
+
+BurnedTowerSilver_LossText:
+ text "…Humph!"
+
+ para "This is why I hate"
+ line "battling wimps."
+
+ para "It's just a waste"
+ line "of my time."
+ done
+
+FirebreatherDickBeforeText:
+ text "Hey, I'm training"
+ line "secretly here!"
+
+ para "Don't embarrass me"
+ line "by looking!"
+ done
+
+FirebreatherDickBattleWinText:
+ text "I burned down to"
+ line "white ashes…"
+ done
+
+BurnedTower1FEusineText:
+ text "I was so into my"
+ line "training that I"
+
+ para "fell down this"
+ line "hole."
+ done
+
+BurnedTower1FMortyText:
+ text "My soul is on"
+ line "fire. I'll show"
+
+ para "you how hot it"
+ line "burns!"
+ done
+
+Text2:
+ text "Still not hot"
+ line "enough…"
+ done
+
+Text3:
+ text "In the past, there"
+ line "were these #MON"
+
+ para "that ran through"
+ line "grass at super-"
+ cont "high speed."
+
+ para "They say that they"
+ line "run like the wind."
+
+ para "If you run into"
+ line "one in grass, it"
+ cont "will likely bolt."
+ done
+
+BurnedTower1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 14 ; warp events
+ warp_event 9, 15, ECRUTEAK_CITY, 13
+ warp_event 10, 15, ECRUTEAK_CITY, 13
+ warp_event 5, 4, BURNED_TOWER_B1F, 1
+ warp_event 5, 5, BURNED_TOWER_B1F, 1
+ warp_event 5, 6, BURNED_TOWER_B1F, 1
+ warp_event 4, 6, BURNED_TOWER_B1F, 1
+ warp_event 15, 4, BURNED_TOWER_B1F, 2
+ warp_event 15, 5, BURNED_TOWER_B1F, 2
+ warp_event 10, 7, BURNED_TOWER_B1F, 3
+ warp_event 5, 14, BURNED_TOWER_B1F, 4
+ warp_event 4, 14, BURNED_TOWER_B1F, 4
+ warp_event 14, 14, BURNED_TOWER_B1F, 5
+ warp_event 15, 14, BURNED_TOWER_B1F, 5
+ warp_event 7, 15, BURNED_TOWER_B1F, 6
+
+ db 1 ; coord events
+ coord_event 8, 1, SCENE_BURNEDTOWER1F_RIVAL_BATTLE, FirebreatherDickFight
+
+ db 1 ; bg events
+ bg_event 8, 7, BGEVENT_ITEM, BurnedTower1FHiddenEther
+
+ db 8 ; object events
+ object_event 8, 3, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, FirebreatherDickPostBattle, EVENT_BURNED_TOWER_FIREBREATHER_DICK_NORMAL
+ object_event 16, 8, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 3, TrainerFirebreatherNed, -1
+ object_event 4, 3, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BurnedTower1FRock, -1
+ object_event 16, 13, SPRITE_ROCK, SPRITEMOVEDATA_SMASHABLE_ROCK, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BurnedTower1FRock, -1
+ object_event 9, 12, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, $2812, EVENT_RIVAL_BURNED_TOWER
+ object_event 8, 2, SPRITE_FISHER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_SILVER, OBJECTTYPE_SCRIPT, 0, $4ef6, EVENT_BURNED_TOWER_FIREBREATHER_DICK_ASHES
+ object_event 15, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, BurnedTower1FBurnHeal, EVENT_BURNED_TOWER_1F_X_SPEED
+ object_event 7, 5, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, BurnedTower1FXSpeed, EVENT_BURNED_TOWER_1F_BURN_HEAL
diff --git a/maps/BurnedTowerB1F.asm b/maps/BurnedTowerB1F.asm
new file mode 100644
index 00000000..374d3632
--- /dev/null
+++ b/maps/BurnedTowerB1F.asm
@@ -0,0 +1,155 @@
+ const_def 2 ; object constants
+ const BURNEDTOWERB1F_BOULDER
+ const BURNEDTOWERB1F_RAIKOU1
+ const BURNEDTOWERB1F_ENTEI1
+ const BURNEDTOWERB1F_SUICUNE1
+ const BURNEDTOWERB1F_RAIKOU2
+ const BURNEDTOWERB1F_ENTEI2
+ const BURNEDTOWERB1F_SUICUNE2
+ const BURNEDTOWERB1F_POKE_BALL
+ const BURNEDTOWERB1F_EUSINE
+
+BurnedTowerB1F_MapScripts:
+ db 2 ; scene scripts
+ scene_script .DummyScene0 ; SCENE_DEFAULT
+ scene_script .DummyScene1 ; SCENE_FINISHED
+
+ db 0 ; callbacks
+
+.DummyScene0:
+ end
+
+.DummyScene1:
+ end
+
+ReleaseTheBeasts:
+ playmusic MUSIC_NONE
+ pause 30
+ appear BURNEDTOWERB1F_RAIKOU1
+ turnobject PLAYER, UP
+ pause 5
+ disappear BURNEDTOWERB1F_RAIKOU2
+ pause 15
+ cry RAIKOU
+ appear BURNEDTOWERB1F_ENTEI1
+ turnobject PLAYER, UP
+ pause 5
+ disappear BURNEDTOWERB1F_ENTEI2
+ pause 15
+ cry ENTEI
+ appear BURNEDTOWERB1F_SUICUNE1
+ turnobject PLAYER, UP
+ pause 5
+ disappear BURNEDTOWERB1F_SUICUNE2
+ pause 15
+ cry SUICUNE
+ pause 15
+ playsound SFX_WARP_FROM
+ turnobject PLAYER, RIGHT
+ applymovement BURNEDTOWERB1F_RAIKOU1, BurnedTowerRaikouMovement
+ disappear BURNEDTOWERB1F_RAIKOU1
+ waitsfx
+ playsound SFX_WARP_FROM
+ turnobject PLAYER, DOWN
+ applymovement BURNEDTOWERB1F_ENTEI1, BurnedTowerEnteiMovement
+ disappear BURNEDTOWERB1F_ENTEI1
+ waitsfx
+ playsound SFX_WARP_FROM
+ turnobject PLAYER, LEFT
+ applymovement BURNEDTOWERB1F_SUICUNE1, BurnedTowerSuicuneMovement
+ disappear BURNEDTOWERB1F_SUICUNE1
+ waitsfx
+ special RestartMapMusic
+ setscene SCENE_FINISHED
+ setevent EVENT_RELEASED_THE_BEASTS
+ special InitRoamMons
+ end
+
+ opentext
+ writetext BurnedTowerB1FEusineText
+ cry ENTEI
+ waitbutton
+ closetext
+ loadwildmon ENTEI, 40
+ startbattle
+ ifequal 2, .next
+ disappear 4
+ reloadmapafterbattle
+ end
+.next
+ reloadmapafterbattle
+ disappear 4
+ end
+
+
+BurnedTowerB1FHPUp:
+ itemball HP_UP
+BurnedTowerB1FTMEndure:
+ itemball TM_ENDURE
+BurnedTowerB1FBoulder:
+ jumpstd strengthboulder
+
+BurnedTowerB1FHiddenUltraBall:
+ hiddenitem ULTRA_BALL, EVENT_BURNED_TOWER_B1F_HIDDEN_ULTRA_BALL
+BurnedTowerB1FHiddenBurnHeal:
+ hiddenitem BURN_HEAL, EVENT_BURNED_TOWER_B1F_HIDDEN_BURN_HEAL
+BurnedTowerB1FHiddenNugget:
+ hiddenitem NUGGET, EVENT_BURNED_TOWER_B1F_HIDDEN_NUGGET
+
+BurnedTowerRaikouMovement:
+ set_sliding
+ fast_jump_step RIGHT
+ big_step RIGHT
+ fast_jump_step RIGHT
+ big_step RIGHT
+ remove_sliding
+ step_end
+
+BurnedTowerEnteiMovement:
+ set_sliding
+ fast_jump_step DOWN
+ fast_jump_step DOWN
+ fast_jump_step DOWN
+ remove_sliding
+ step_end
+
+BurnedTowerSuicuneMovement:
+ set_sliding
+ fast_jump_step LEFT
+ big_step LEFT
+ remove_sliding
+ step_end
+
+BurnedTowerB1FEusineText:
+ text "ENTEI: Bufuu!"
+ done
+
+BurnedTowerB1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 6 ; warp events
+ warp_event 3, 3, BURNED_TOWER_1F, 3
+ warp_event 17, 7, BURNED_TOWER_1F, 7
+ warp_event 10, 8, BURNED_TOWER_1F, 9
+ warp_event 3, 13, BURNED_TOWER_1F, 10
+ warp_event 17, 14, BURNED_TOWER_1F, 12
+ warp_event 7, 15, BURNED_TOWER_1F, 14
+
+ db 1 ; coord events
+ coord_event 9, 5, SCENE_DEFAULT, ReleaseTheBeasts
+
+ db 3 ; bg events
+ bg_event 2, 13, BGEVENT_ITEM, BurnedTowerB1FHiddenUltraBall
+ bg_event 17, 14, BGEVENT_ITEM, BurnedTowerB1FHiddenBurnHeal
+ bg_event 8, 3, BGEVENT_ITEM, BurnedTowerB1FHiddenNugget
+
+ db 9 ; object events
+ object_event 17, 4, SPRITE_BOULDER, SPRITEMOVEDATA_STRENGTH_BOULDER, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BurnedTowerB1FBoulder, -1
+ object_event 10, 3, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
+ object_event 8, 4, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
+ object_event 7, 2, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_1
+ object_event 10, 3, SPRITE_GROWLITHE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_SILVER, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+ object_event 8, 4, SPRITE_GROWLITHE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_SILVER, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+ object_event 7, 2, SPRITE_GROWLITHE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_SILVER, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_BURNED_TOWER_B1F_BEASTS_2
+ object_event 4, 3, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, BurnedTowerB1FHPUp, EVENT_BURNED_TOWER_B1F_HP_UP
+ object_event 15, 3, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, BurnedTowerB1FTMEndure, EVENT_BURNED_TOWER_B1F_TM_ENDURE
diff --git a/maps/DiglettsCave.asm b/maps/DiglettsCave.asm
new file mode 100644
index 00000000..8475c141
--- /dev/null
+++ b/maps/DiglettsCave.asm
@@ -0,0 +1,40 @@
+ const_def 2 ; object constants
+ const DIGLETTSCAVE_POKEFAN_M
+
+DiglettsCave_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+DiglettsCavePokefanMScript:
+ jumptextfaceplayer DiglettsCavePokefanMText
+
+DiglettsCaveHiddenMaxRevive:
+ hiddenitem MAX_REVIVE, EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
+
+DiglettsCavePokefanMText:
+ text "A bunch of DIGLETT"
+ line "popped out of the"
+
+ para "ground! That was"
+ line "shocking."
+ done
+
+DiglettsCave_MapEvents:
+ db 0, 0 ; filler
+
+ db 6 ; warp events
+ warp_event 3, 33, VERMILION_CITY, 10
+ warp_event 5, 31, DIGLETTS_CAVE, 5
+ warp_event 15, 5, ROUTE_2, 5
+ warp_event 17, 3, DIGLETTS_CAVE, 6
+ warp_event 17, 33, DIGLETTS_CAVE, 2
+ warp_event 3, 3, DIGLETTS_CAVE, 4
+
+ db 0 ; coord events
+
+ db 1 ; bg events
+ bg_event 6, 11, BGEVENT_ITEM, DiglettsCaveHiddenMaxRevive
+
+ db 1 ; object events
+ object_event 3, 31, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DiglettsCavePokefanMScript, -1
diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm
new file mode 100644
index 00000000..79b2188f
--- /dev/null
+++ b/maps/MountMoon.asm
@@ -0,0 +1,181 @@
+ const_def 2 ; object constants
+ const MOUNTMOON_SILVER
+
+MountMoon_MapScripts:
+ db 2 ; scene scripts
+ scene_script .RivalEncounter ; SCENE_DEFAULT
+ scene_script .DummyScene ; SCENE_FINISHED
+
+ db 0 ; callbacks
+
+.RivalEncounter:
+ priorityjump .RivalBattle
+ end
+
+.DummyScene:
+ end
+
+.RivalBattle:
+ turnobject PLAYER, RIGHT
+ showemote EMOTE_SHOCK, PLAYER, 15
+ special FadeOutMusic
+ pause 15
+ applymovement MOUNTMOON_SILVER, MountMoonSilverMovementBefore
+ playmusic MUSIC_RIVAL_ENCOUNTER
+ opentext
+ writetext MountMoonSilverTextBefore
+ waitbutton
+ closetext
+ checkevent EVENT_GOT_TOTODILE_FROM_ELM
+ iftrue .Totodile
+ checkevent EVENT_GOT_CHIKORITA_FROM_ELM
+ iftrue .Chikorita
+ winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+ setlasttalked MOUNTMOON_SILVER
+ loadtrainer RIVAL2, RIVAL2_1_TOTODILE
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishBattle
+
+.Totodile:
+ winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+ setlasttalked MOUNTMOON_SILVER
+ loadtrainer RIVAL2, RIVAL2_1_CHIKORITA
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishBattle
+
+.Chikorita:
+ winlosstext MountMoonSilverTextWin, MountMoonSilverTextLoss
+ setlasttalked MOUNTMOON_SILVER
+ loadtrainer RIVAL2, RIVAL2_1_CYNDAQUIL
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .FinishBattle
+
+.FinishBattle:
+ playmusic MUSIC_RIVAL_AFTER
+ opentext
+ writetext MountMoonSilverTextAfter
+ waitbutton
+ closetext
+ turnobject PLAYER, UP
+ turnobject PLAYER, RIGHT
+ applymovement MOUNTMOON_SILVER, MountMoonSilverMovementAfter
+ disappear MOUNTMOON_SILVER
+ setscene SCENE_FINISHED
+ setevent EVENT_BEAT_RIVAL_IN_MT_MOON
+ playmapmusic
+ end
+
+MountMoonSilverMovementBefore:
+ step LEFT
+ step LEFT
+ step LEFT
+ step_end
+
+MountMoonSilverMovementAfter:
+ step RIGHT
+ step RIGHT
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ step_end
+
+MountMoonSilverTextBefore:
+ text "<……> <……> <……>"
+
+ para "It's been a while,"
+ line "<PLAYER>."
+
+ para "…Since I lost to"
+ line "you, I thought"
+
+ para "about what I was"
+ line "lacking with my"
+ cont "#MON…"
+
+ para "And we came up"
+ line "with an answer."
+
+ para "<PLAYER>, now we'll"
+ line "show you!"
+ done
+
+MountMoonSilverTextWin:
+ text "<……> <……> <……>"
+
+ para "I thought I raised"
+ line "my #MON to be"
+
+ para "the best they"
+ line "could be…"
+
+ para "…But it still "
+ line "wasn't enough…"
+ done
+
+MountMoonSilverTextAfter:
+ text "<……> <……> <……>"
+
+ para "…You won, fair"
+ line "and square."
+
+ para "I admit it. But"
+ line "this isn't the"
+ cont "end."
+
+ para "I'm going to be"
+ line "the greatest #-"
+ cont "MON trainer ever."
+
+ para "Because these guys"
+ line "are behind me."
+
+ para "…Listen, <PLAYER>."
+
+ para "One of these days"
+ line "I'm going to prove"
+
+ para "how good I am by"
+ line "beating you."
+ done
+
+MountMoonSilverTextLoss:
+ text "<……> <……> <……>"
+
+ para "I've repaid my"
+ line "debt to you."
+
+ para "With my #MON,"
+ line "I'm going to beat"
+
+ para "the CHAMPION and"
+ line "become the world's"
+ cont "greatest trainer."
+ done
+
+MountMoon_MapEvents:
+ db 0, 0 ; filler
+
+ db 8 ; warp events
+ warp_event 3, 3, ROUTE_3, 1
+ warp_event 15, 15, ROUTE_4, 1
+ warp_event 13, 3, MOUNT_MOON, 7
+ warp_event 15, 11, MOUNT_MOON, 8
+ warp_event 25, 5, MOUNT_MOON_SQUARE, 1
+ warp_event 25, 15, MOUNT_MOON_SQUARE, 2
+ warp_event 25, 3, MOUNT_MOON, 3
+ warp_event 25, 13, MOUNT_MOON, 4
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 7, 3, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_MT_MOON_RIVAL
diff --git a/maps/RockTunnel1F.asm b/maps/RockTunnel1F.asm
new file mode 100644
index 00000000..008f7aec
--- /dev/null
+++ b/maps/RockTunnel1F.asm
@@ -0,0 +1,41 @@
+ const_def 2 ; object constants
+ const ROCKTUNNEL1F_POKE_BALL1
+ const ROCKTUNNEL1F_POKE_BALL2
+
+RockTunnel1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+RockTunnel1FElixer:
+ itemball ELIXER
+
+RockTunnel1FTMSteelWing:
+ itemball TM_STEEL_WING
+
+RockTunnel1FHiddenXAccuracy:
+ hiddenitem X_ACCURACY, EVENT_ROCK_TUNNEL_1F_HIDDEN_X_ACCURACY
+
+RockTunnel1FHiddenXDefend:
+ hiddenitem X_DEFEND, EVENT_ROCK_TUNNEL_1F_HIDDEN_X_DEFEND
+
+RockTunnel1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 6 ; warp events
+ warp_event 15, 3, ROUTE_9, 1
+ warp_event 11, 25, ROUTE_10_SOUTH, 1
+ warp_event 5, 3, ROCK_TUNNEL_B1F, 3
+ warp_event 15, 9, ROCK_TUNNEL_B1F, 2
+ warp_event 27, 3, ROCK_TUNNEL_B1F, 4
+ warp_event 27, 13, ROCK_TUNNEL_B1F, 1
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 24, 4, BGEVENT_ITEM, RockTunnel1FHiddenXAccuracy
+ bg_event 21, 15, BGEVENT_ITEM, RockTunnel1FHiddenXDefend
+
+ db 2 ; object events
+ object_event 4, 18, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, RockTunnel1FElixer, EVENT_ROCK_TUNNEL_1F_ELIXER
+ object_event 10, 15, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, RockTunnel1FTMSteelWing, EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
diff --git a/maps/RockTunnelB1F.asm b/maps/RockTunnelB1F.asm
new file mode 100644
index 00000000..82cea792
--- /dev/null
+++ b/maps/RockTunnelB1F.asm
@@ -0,0 +1,40 @@
+ const_def 2 ; object constants
+ const ROCKTUNNELB1F_POKE_BALL1
+ const ROCKTUNNELB1F_POKE_BALL2
+ const ROCKTUNNELB1F_POKE_BALL3
+
+RockTunnelB1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+RockTunnelB1FIron:
+ itemball IRON
+
+RockTunnelB1FPPUp:
+ itemball PP_UP
+
+RockTunnelB1FRevive:
+ itemball REVIVE
+
+RockTunnelB1FHiddenMaxPotion:
+ hiddenitem MAX_POTION, EVENT_ROCK_TUNNEL_B1F_HIDDEN_MAX_POTION
+
+RockTunnelB1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 3, 3, ROCK_TUNNEL_1F, 6
+ warp_event 17, 9, ROCK_TUNNEL_1F, 4
+ warp_event 23, 3, ROCK_TUNNEL_1F, 3
+ warp_event 25, 23, ROCK_TUNNEL_1F, 5
+
+ db 0 ; coord events
+
+ db 1 ; bg events
+ bg_event 4, 14, BGEVENT_ITEM, RockTunnelB1FHiddenMaxPotion
+
+ db 3 ; object events
+ object_event 7, 25, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, RockTunnelB1FIron, EVENT_ROCK_TUNNEL_B1F_IRON
+ object_event 6, 17, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, RockTunnelB1FPPUp, EVENT_ROCK_TUNNEL_B1F_PP_UP
+ object_event 15, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, RockTunnelB1FRevive, EVENT_ROCK_TUNNEL_B1F_REVIVE
diff --git a/maps/SafariZoneBeta.asm b/maps/SafariZoneBeta.asm
new file mode 100644
index 00000000..32627af6
--- /dev/null
+++ b/maps/SafariZoneBeta.asm
@@ -0,0 +1,17 @@
+SafariZoneBeta_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+SafariZoneBeta_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 9, 23, SAFARI_ZONE_FUCHSIA_GATE_BETA, 1
+ warp_event 10, 23, SAFARI_ZONE_FUCHSIA_GATE_BETA, 2
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 0 ; object events
diff --git a/maps/SafariZoneFuchsiaGateBeta.asm b/maps/SafariZoneFuchsiaGateBeta.asm
new file mode 100644
index 00000000..547ed5bd
--- /dev/null
+++ b/maps/SafariZoneFuchsiaGateBeta.asm
@@ -0,0 +1,19 @@
+SafariZoneFuchsiaGateBeta_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+SafariZoneFuchsiaGateBeta_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 4, 0, SAFARI_ZONE_BETA, 1
+ warp_event 5, 0, SAFARI_ZONE_BETA, 2
+ warp_event 4, 7, FUCHSIA_CITY, 7
+ warp_event 5, 7, FUCHSIA_CITY, 7
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 0 ; object events
diff --git a/maps/TinTower1F.asm b/maps/TinTower1F.asm
new file mode 100644
index 00000000..57a165ab
--- /dev/null
+++ b/maps/TinTower1F.asm
@@ -0,0 +1,53 @@
+TinTower1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTowerSageScript:
+ jumptextfaceplayer TinTowerSageText
+
+TinTowerSageText:
+ text "I'm trying to un-"
+ line "cover the secret"
+
+ para "of the legendary"
+ line "#MON that is"
+ cont "said to land here."
+
+ para "They say that the"
+ line "#MON has flown"
+
+ para "continuously ever"
+ line "since the TOWER in"
+ cont "the West burned."
+
+ para "So, I thought that"
+ line "if I had what the"
+
+ para "#MON has, it"
+ line "would be attracted"
+ cont "by that item."
+
+ para "I think that item"
+ line "is probably…"
+
+ para "A RAINBOW WING!"
+
+ para "But, where would"
+ line "I find one?"
+ done
+
+TinTower1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 9, 15, ECRUTEAK_CITY, 12
+ warp_event 10, 15, ECRUTEAK_CITY, 12
+ warp_event 10, 2, TIN_TOWER_2F, 2
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 10, 2, SPRITE_SAGE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TinTowerSageScript, EVENT_TEAM_ROCKET_DISBANDED
diff --git a/maps/TinTower2F.asm b/maps/TinTower2F.asm
new file mode 100644
index 00000000..280ab059
--- /dev/null
+++ b/maps/TinTower2F.asm
@@ -0,0 +1,17 @@
+TinTower2F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower2F_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 10, 14, TIN_TOWER_3F, 1
+ warp_event 10, 2, TIN_TOWER_1F, 3
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 0 ; object events
diff --git a/maps/TinTower3F.asm b/maps/TinTower3F.asm
new file mode 100644
index 00000000..c089d812
--- /dev/null
+++ b/maps/TinTower3F.asm
@@ -0,0 +1,24 @@
+ const_def 2 ; object constants
+ const TINTOWER3F_POKE_BALL
+
+TinTower3F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower3FFullHeal:
+ itemball FULL_HEAL
+
+TinTower3F_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 10, 14, TIN_TOWER_2F, 1
+ warp_event 16, 2, TIN_TOWER_4F, 2
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 3, 14, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower3FFullHeal, EVENT_TIN_TOWER_3F_FULL_HEAL
diff --git a/maps/TinTower4F.asm b/maps/TinTower4F.asm
new file mode 100644
index 00000000..fbf08dc8
--- /dev/null
+++ b/maps/TinTower4F.asm
@@ -0,0 +1,40 @@
+ const_def 2 ; object constants
+ const TINTOWER4F_POKE_BALL1
+ const TINTOWER4F_POKE_BALL2
+ const TINTOWER4F_POKE_BALL3
+
+TinTower4F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower4FUltraBall:
+ itemball ULTRA_BALL
+
+TinTower4FPPUp:
+ itemball SUPER_POTION
+
+TinTower4FEscapeRope:
+ itemball ESCAPE_ROPE
+
+TinTower4FHiddenMaxPotion:
+ hiddenitem MAX_POTION, EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION
+
+TinTower4F_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 2, 4, TIN_TOWER_5F, 2
+ warp_event 16, 2, TIN_TOWER_3F, 2
+ warp_event 2, 14, TIN_TOWER_5F, 3
+ warp_event 17, 15, TIN_TOWER_5F, 4
+
+ db 0 ; coord events
+
+ db 1 ; bg events
+ bg_event 11, 6, BGEVENT_ITEM, TinTower4FHiddenMaxPotion
+
+ db 3 ; object events
+ object_event 14, 10, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower4FUltraBall, EVENT_TIN_TOWER_4F_ULTRA_BALL
+ object_event 17, 14, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower4FPPUp, EVENT_TIN_TOWER_4F_PP_UP
+ object_event 2, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower4FEscapeRope, EVENT_TIN_TOWER_4F_ESCAPE_ROPE
diff --git a/maps/TinTower5F.asm b/maps/TinTower5F.asm
new file mode 100644
index 00000000..cff375b3
--- /dev/null
+++ b/maps/TinTower5F.asm
@@ -0,0 +1,34 @@
+ const_def 2 ; object constants
+ const TINTOWER5F_POKE_BALL
+
+TinTower5F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower5FRareCandy:
+ itemball RARE_CANDY
+
+TinTower5FHiddenFullRestore:
+ hiddenitem FULL_RESTORE, EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
+
+TinTower5FHiddenCarbos:
+ hiddenitem CARBOS, EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
+
+TinTower5F_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 11, 15, TIN_TOWER_6F, 2
+ warp_event 2, 4, TIN_TOWER_4F, 1
+ warp_event 2, 14, TIN_TOWER_4F, 3
+ warp_event 17, 15, TIN_TOWER_4F, 4
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 16, 14, BGEVENT_ITEM, TinTower5FHiddenFullRestore
+ bg_event 3, 15, BGEVENT_ITEM, TinTower5FHiddenCarbos
+
+ db 1 ; object events
+ object_event 9, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower5FRareCandy, EVENT_TIN_TOWER_5F_RARE_CANDY
diff --git a/maps/TinTower6F.asm b/maps/TinTower6F.asm
new file mode 100644
index 00000000..dccc1d4b
--- /dev/null
+++ b/maps/TinTower6F.asm
@@ -0,0 +1,17 @@
+TinTower6F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower6F_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 3, 9, TIN_TOWER_7F, 1
+ warp_event 11, 15, TIN_TOWER_5F, 1
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 0 ; object events
diff --git a/maps/TinTower7F.asm b/maps/TinTower7F.asm
new file mode 100644
index 00000000..5025fbbe
--- /dev/null
+++ b/maps/TinTower7F.asm
@@ -0,0 +1,27 @@
+ const_def 2 ; object constants
+ const TINTOWER7F_POKE_BALL
+
+TinTower7F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower7FMaxRevive:
+ itemball MAX_REVIVE
+
+TinTower7F_MapEvents:
+ db 0, 0 ; filler
+
+ db 5 ; warp events
+ warp_event 3, 9, TIN_TOWER_6F, 1
+ warp_event 10, 15, TIN_TOWER_8F, 1
+ warp_event 12, 7, TIN_TOWER_7F, 4
+ warp_event 8, 3, TIN_TOWER_7F, 3
+ warp_event 6, 9, TIN_TOWER_9F, 5
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 16, 1, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower7FMaxRevive, EVENT_TIN_TOWER_7F_MAX_REVIVE
diff --git a/maps/TinTower8F.asm b/maps/TinTower8F.asm
new file mode 100644
index 00000000..c39f118e
--- /dev/null
+++ b/maps/TinTower8F.asm
@@ -0,0 +1,38 @@
+ const_def 2 ; object constants
+ const TINTOWER8F_POKE_BALL1
+ const TINTOWER8F_POKE_BALL2
+ const TINTOWER8F_POKE_BALL3
+
+TinTower8F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower8FNugget:
+ itemball NUGGET
+
+TinTower8FMaxElixer:
+ itemball MAX_ELIXER
+
+TinTower8FFullRestore:
+ itemball FULL_RESTORE
+
+TinTower8F_MapEvents:
+ db 0, 0 ; filler
+
+ db 6 ; warp events
+ warp_event 2, 5, TIN_TOWER_7F, 2
+ warp_event 2, 11, TIN_TOWER_9F, 1
+ warp_event 16, 7, TIN_TOWER_9F, 2
+ warp_event 10, 3, TIN_TOWER_9F, 3
+ warp_event 14, 15, TIN_TOWER_9F, 6
+ warp_event 6, 9, TIN_TOWER_9F, 7
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 3 ; object events
+ object_event 7, 13, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower8FNugget, EVENT_TIN_TOWER_8F_NUGGET
+ object_event 11, 6, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower8FMaxElixer, EVENT_TIN_TOWER_8F_MAX_ELIXER
+ object_event 3, 1, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TinTower8FFullRestore, EVENT_TIN_TOWER_8F_FULL_RESTORE
diff --git a/maps/TinTower9F.asm b/maps/TinTower9F.asm
new file mode 100644
index 00000000..bb26d54e
--- /dev/null
+++ b/maps/TinTower9F.asm
@@ -0,0 +1,32 @@
+TinTower9F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TinTower9FUnusedHoOhText:
+; unused
+ text "HO-OH: Shaoooh!"
+ done
+
+TinTower9FUnusedLugiaText:
+; unused
+ text "LUGIA: Gyaaan!"
+ done
+
+TinTower9F_MapEvents:
+ db 0, 0 ; filler
+
+ db 7 ; warp events
+ warp_event 12, 3, TIN_TOWER_8F, 2
+ warp_event 2, 5, TIN_TOWER_8F, 3
+ warp_event 12, 7, TIN_TOWER_8F, 4
+ warp_event 7, 9, TIN_TOWER_ROOF, 1
+ warp_event 16, 7, TIN_TOWER_7F, 5
+ warp_event 6, 13, TIN_TOWER_8F, 5
+ warp_event 8, 13, TIN_TOWER_8F, 6
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 0 ; object events
diff --git a/maps/UndergroundPath.asm b/maps/UndergroundPath.asm
new file mode 100644
index 00000000..72e8cd74
--- /dev/null
+++ b/maps/UndergroundPath.asm
@@ -0,0 +1,25 @@
+UndergroundPath_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+UndergroundPathHiddenFullRestore:
+ hiddenitem FULL_RESTORE, EVENT_UNDERGROUND_PATH_HIDDEN_FULL_RESTORE
+
+UndergroundPathHiddenXSpecial:
+ hiddenitem X_SPECIAL, EVENT_UNDERGROUND_PATH_HIDDEN_X_SPECIAL
+
+UndergroundPath_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 3, 2, ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 3
+ warp_event 3, 24, ROUTE_6_UNDERGROUND_PATH_ENTRANCE, 3
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 3, 9, BGEVENT_ITEM, UndergroundPathHiddenFullRestore
+ bg_event 1, 19, BGEVENT_ITEM, UndergroundPathHiddenXSpecial
+
+ db 0 ; object events
diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm
new file mode 100644
index 00000000..448db78d
--- /dev/null
+++ b/maps/VictoryRoad.asm
@@ -0,0 +1,268 @@
+ const_def 2 ; object constants
+ const VICTORYROAD_SILVER
+ const VICTORYROAD_POKE_BALL1
+ const VICTORYROAD_POKE_BALL2
+ const VICTORYROAD_POKE_BALL3
+ const VICTORYROAD_POKE_BALL4
+ const VICTORYROAD_POKE_BALL5
+
+VictoryRoad_MapScripts:
+ db 2 ; scene scripts
+ scene_script .DummyScene0 ; SCENE_DEFAULT
+ scene_script .DummyScene1 ; SCENE_FINISHED
+
+ db 0 ; callbacks
+
+.DummyScene0:
+ end
+
+.DummyScene1:
+ end
+
+VictoryRoadRivalLeft:
+ moveobject VICTORYROAD_SILVER, 18, 11
+ turnobject PLAYER, DOWN
+ showemote EMOTE_SHOCK, PLAYER, 15
+ special FadeOutMusic
+ pause 15
+ appear VICTORYROAD_SILVER
+ applymovement VICTORYROAD_SILVER, MovementData_0x74539
+ scall VictoryRoadRivalNext
+ applymovement VICTORYROAD_SILVER, MovementData_0x7454c
+ disappear VICTORYROAD_SILVER
+ setscene SCENE_FINISHED
+ playmapmusic
+ end
+
+VictoryRoadRivalRight:
+ turnobject PLAYER, DOWN
+ showemote EMOTE_SHOCK, PLAYER, 15
+ special FadeOutMusic
+ pause 15
+ appear VICTORYROAD_SILVER
+ applymovement VICTORYROAD_SILVER, MovementData_0x74542
+ scall VictoryRoadRivalNext
+ applymovement VICTORYROAD_SILVER, MovementData_0x74555
+ disappear VICTORYROAD_SILVER
+ setscene SCENE_FINISHED
+ playmapmusic
+ end
+
+VictoryRoadRivalNext:
+ turnobject PLAYER, DOWN
+ playmusic MUSIC_RIVAL_ENCOUNTER
+ opentext
+ writetext VictoryRoadRivalBeforeText
+ waitbutton
+ closetext
+ setevent EVENT_RIVAL_VICTORY_ROAD
+ checkevent EVENT_GOT_TOTODILE_FROM_ELM
+ iftrue .GotTotodile
+ checkevent EVENT_GOT_CHIKORITA_FROM_ELM
+ iftrue .GotChikorita
+ winlosstext VictoryRoadRivalDefeatText, VictoryRoadRivalVictoryText
+ setlasttalked VICTORYROAD_SILVER
+ loadtrainer RIVAL1, RIVAL1_5_TOTODILE
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .AfterBattle
+
+.GotTotodile:
+ winlosstext VictoryRoadRivalDefeatText, VictoryRoadRivalVictoryText
+ setlasttalked VICTORYROAD_SILVER
+ loadtrainer RIVAL1, RIVAL1_5_CHIKORITA
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .AfterBattle
+
+.GotChikorita:
+ winlosstext VictoryRoadRivalDefeatText, VictoryRoadRivalVictoryText
+ setlasttalked VICTORYROAD_SILVER
+ loadtrainer RIVAL1, RIVAL1_5_CYNDAQUIL
+ startbattle
+ dontrestartmapmusic
+ reloadmapafterbattle
+ jump .AfterBattle
+
+.AfterBattle:
+ playmusic MUSIC_RIVAL_AFTER
+ opentext
+ writetext VictoryRoadRivalAfterText
+ waitbutton
+ closetext
+ end
+
+VictoryRoadTMEarthquake:
+ itemball TM_EARTHQUAKE
+
+VictoryRoadMaxRevive:
+ itemball MAX_REVIVE
+
+VictoryRoadFullRestore:
+ itemball FULL_RESTORE
+
+VictoryRoadFullHeal:
+ itemball FULL_HEAL
+
+VictoryRoadHPUp:
+ itemball X_SPECIAL
+
+VictoryRoadHiddenMaxPotion:
+ hiddenitem MAX_POTION, EVENT_VICTORY_ROAD_HIDDEN_MAX_POTION
+
+VictoryRoadHiddenFullHeal:
+ hiddenitem FULL_HEAL, EVENT_VICTORY_ROAD_HIDDEN_FULL_HEAL
+
+MovementData_0x74539:
+ step LEFT
+ step LEFT
+ step LEFT
+ step LEFT
+ step LEFT
+ step LEFT
+ step UP
+ step UP
+ step_end
+
+MovementData_0x74542:
+ step UP
+ step UP
+ step LEFT
+ step LEFT
+ step LEFT
+ step LEFT
+ step LEFT
+ step UP
+ step UP
+ step_end
+
+MovementData_0x7454c:
+ step DOWN
+ step DOWN
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step_end
+
+MovementData_0x74555:
+ step DOWN
+ step DOWN
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step DOWN
+ step DOWN
+ step_end
+
+VictoryRoadRivalBeforeText:
+ text "Hold it."
+
+ para "…Are you going to"
+ line "take the #MON"
+ cont "LEAGUE challenge?"
+
+ para "…Don't make me"
+ line "laugh."
+
+ para "You're so much"
+ line "weaker than I am."
+
+ para "I'm not like I was"
+ line "before."
+
+ para "I now have the"
+ line "best and strongest"
+
+ para "#MON with me."
+ line "I'm invincible!"
+
+ para "<PLAYER>!"
+ line "I challenge you!"
+ done
+
+VictoryRoadRivalDefeatText:
+ text "…I couldn't win…"
+
+ para "I gave it every-"
+ line "thing I had…"
+
+ para "What you possess,"
+ line "and what I lack…"
+
+ para "I'm beginning to"
+ line "understand what"
+
+ para "that dragon master"
+ line "said to me…"
+ done
+
+VictoryRoadRivalAfterText:
+ text "…I haven't given up"
+ line "on becoming the"
+ cont "greatest trainer…"
+
+ para "I'm going to find"
+ line "out why I can't"
+
+ para "win and become"
+ line "stronger…"
+
+ para "When I do, I will"
+ line "challenge you."
+
+ para "And I'll beat you"
+ line "down with all my"
+ cont "power."
+
+ para "…Humph! You keep"
+ line "at it until then."
+ done
+
+VictoryRoadRivalVictoryText:
+ text "…Humph!"
+
+ para "When it comes down"
+ line "to it, nothing can"
+ cont "beat power."
+
+ para "I don't need any-"
+ line "thing else."
+ done
+
+VictoryRoad_MapEvents:
+ db 0, 0 ; filler
+
+ db 10 ; warp events
+ warp_event 9, 67, VICTORY_ROAD_GATE, 5
+ warp_event 1, 49, VICTORY_ROAD, 3
+ warp_event 1, 35, VICTORY_ROAD, 2
+ warp_event 13, 31, VICTORY_ROAD, 5
+ warp_event 13, 17, VICTORY_ROAD, 4
+ warp_event 17, 33, VICTORY_ROAD, 7
+ warp_event 17, 19, VICTORY_ROAD, 6
+ warp_event 0, 11, VICTORY_ROAD, 9
+ warp_event 0, 27, VICTORY_ROAD, 8
+ warp_event 13, 5, ROUTE_23, 3
+
+ db 2 ; coord events
+ coord_event 12, 8, SCENE_DEFAULT, VictoryRoadRivalLeft
+ coord_event 13, 8, SCENE_DEFAULT, VictoryRoadRivalRight
+
+ db 2 ; bg events
+ bg_event 3, 29, BGEVENT_ITEM, VictoryRoadHiddenMaxPotion
+ bg_event 3, 65, BGEVENT_ITEM, VictoryRoadHiddenFullHeal
+
+ db 6 ; object events
+ object_event 18, 13, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_VICTORY_ROAD
+ object_event 3, 28, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, VictoryRoadTMEarthquake, EVENT_VICTORY_ROAD_TM_EARTHQUAKE
+ object_event 12, 48, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, VictoryRoadMaxRevive, EVENT_VICTORY_ROAD_MAX_REVIVE
+ object_event 18, 29, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, VictoryRoadFullRestore, EVENT_VICTORY_ROAD_FULL_RESTORE
+ object_event 15, 48, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, VictoryRoadFullHeal, EVENT_VICTORY_ROAD_FULL_HEAL
+ object_event 7, 38, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, VictoryRoadHPUp, EVENT_VICTORY_ROAD_HP_UP