pokecrystal-board/maps/GoldenrodUndergroundSwitchRoomEntrances.asm
2018-01-31 11:08:47 -05:00

969 lines
20 KiB
NASM

; block ids
UNDERGROUND_DOOR_CLOSED1 EQU $2a
UNDERGROUND_DOOR_CLOSED2 EQU $3e
UNDERGROUND_DOOR_CLOSED3 EQU $3f
UNDERGROUND_DOOR_OPEN1 EQU $2d
UNDERGROUND_DOOR_OPEN2 EQU $3d
ugdoor: MACRO
\1_YCOORD EQU \2
\1_XCOORD EQU \3
ENDM
ugdoor UGDOOR_1, $10, $06
ugdoor UGDOOR_2, $0a, $06
ugdoor UGDOOR_3, $02, $06
ugdoor UGDOOR_4, $02, $0a
ugdoor UGDOOR_5, $0a, $0a
ugdoor UGDOOR_6, $10, $0a
ugdoor UGDOOR_7, $0c, $06
ugdoor UGDOOR_8, $0c, $08
ugdoor UGDOOR_9, $06, $06
ugdoor UGDOOR_10, $06, $08
ugdoor UGDOOR_11, $0c, $0a
ugdoor UGDOOR_12, $0c, $0c
ugdoor UGDOOR_13, $06, $0a
ugdoor UGDOOR_14, $06, $0c
ugdoor UGDOOR_15, $12, $0a
ugdoor UGDOOR_16, $12, $0c
doorstate: MACRO
changeblock UGDOOR_\1_YCOORD, UGDOOR_\1_XCOORD, UNDERGROUND_DOOR_\2
ENDM
const_value set 2 ; object constants
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_PHARMACIST1
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_PHARMACIST2
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET1
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET2
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET3
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_ROCKET_GIRL
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_TEACHER
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SUPER_NERD
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_POKE_BALL1
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_POKE_BALL2
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
GoldenrodUndergroundSwitchRoomEntrances_MapScripts:
db 2 ; scene scripts
scene_script .DummyScene0
scene_script .DummyScene1
db 1 ; callbacks
callback MAPCALLBACK_TILES, .UpdateDoorPositions
.DummyScene0:
end
.DummyScene1:
end
.UpdateDoorPositions:
checkevent EVENT_SWITCH_4
iffalse .false4
doorstate 1, OPEN1
.false4
checkevent EVENT_SWITCH_5
iffalse .false5
doorstate 2, OPEN1
.false5
checkevent EVENT_SWITCH_6
iffalse .false6
doorstate 3, OPEN1
.false6
checkevent EVENT_SWITCH_7
iffalse .false7
doorstate 4, OPEN1
.false7
checkevent EVENT_SWITCH_8
iffalse .false8
doorstate 5, OPEN1
.false8
checkevent EVENT_SWITCH_9
iffalse .false9
doorstate 6, OPEN1
.false9
checkevent EVENT_SWITCH_10
iffalse .false10
doorstate 7, CLOSED1
doorstate 8, OPEN1
.false10
checkevent EVENT_SWITCH_11
iffalse .false11
doorstate 9, CLOSED1
doorstate 10, OPEN1
.false11
checkevent EVENT_SWITCH_12
iffalse .false12
doorstate 11, CLOSED1
doorstate 12, OPEN1
.false12
checkevent EVENT_SWITCH_13
iffalse .false13
doorstate 13, CLOSED1
doorstate 14, OPEN1
.false13
checkevent EVENT_SWITCH_14
iffalse .false14
doorstate 15, CLOSED1
doorstate 16, OPEN1
.false14
return
SuperNerdScript_0x7ca7a:
jumptextfaceplayer GoldenrodUndergroundSwitchRoomEntrances_SuperNerdText
TeacherScript_0x7ca7d:
jumptextfaceplayer GoldenrodUndergroundSwitchRoomEntrances_TeacherText
UndergroundSilverScene1:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
pause 15
playsound SFX_EXIT_BUILDING
appear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
waitsfx
applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement1
spriteface PLAYER, RIGHT
scall UndergroundSilverBattleScript
applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement1
playsound SFX_EXIT_BUILDING
disappear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
setscene 1
waitsfx
playmapmusic
end
UndergroundSilverScene2:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
pause 15
playsound SFX_EXIT_BUILDING
appear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
waitsfx
applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverApproachMovement2
spriteface PLAYER, RIGHT
scall UndergroundSilverBattleScript
applymovement GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER, UndergroundSilverRetreatMovement2
playsound SFX_EXIT_BUILDING
disappear GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
setscene 1
waitsfx
playmapmusic
end
UndergroundSilverBattleScript:
checkevent EVENT_RIVAL_BURNED_TOWER
iftrue .Continue
setevent EVENT_RIVAL_BURNED_TOWER
setmapscene BURNED_TOWER_1F, 1
.Continue:
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext UndergroundSilverBeforeText
waitbutton
closetext
setevent EVENT_RIVAL_GOLDENROD_UNDERGROUND
checkevent EVENT_GOT_TOTODILE_FROM_ELM
iftrue .Totodile
checkevent EVENT_GOT_CHIKORITA_FROM_ELM
iftrue .Chikorita
winlosstext UndergroundSilverWinText, UndergroundSilverLossText
setlasttalked GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
loadtrainer RIVAL1, RIVAL1_4_TOTODILE
startbattle
dontrestartmapmusic
reloadmapafterbattle
jump .FinishRivalBattle
.Totodile:
winlosstext UndergroundSilverWinText, UndergroundSilverLossText
setlasttalked GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
loadtrainer RIVAL1, RIVAL1_4_CHIKORITA
startbattle
dontrestartmapmusic
reloadmapafterbattle
jump .FinishRivalBattle
.Chikorita:
winlosstext UndergroundSilverWinText, UndergroundSilverLossText
setlasttalked GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
loadtrainer RIVAL1, RIVAL1_4_CYNDAQUIL
startbattle
dontrestartmapmusic
reloadmapafterbattle
jump .FinishRivalBattle
.FinishRivalBattle:
playmusic MUSIC_RIVAL_AFTER
opentext
writetext UndergroundSilverAfterText
waitbutton
closetext
end
TrainerGruntM11:
trainer GRUNTM, GRUNTM_11, EVENT_BEAT_ROCKET_GRUNTM_11, GruntM11SeenText, GruntM11BeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext GruntM11AfterBattleText
waitbutton
closetext
end
TrainerGruntM25:
trainer GRUNTM, GRUNTM_25, EVENT_BEAT_ROCKET_GRUNTM_25, GruntM25SeenText, GruntM25BeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext GruntM25AfterBattleText
waitbutton
closetext
end
TrainerBurglarDuncan:
trainer BURGLAR, DUNCAN, EVENT_BEAT_BURGLAR_DUNCAN, BurglarDuncanSeenText, BurglarDuncanBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext BurglarDuncanAfterBattleText
waitbutton
closetext
end
TrainerBurglarEddie:
trainer BURGLAR, EDDIE, EVENT_BEAT_BURGLAR_EDDIE, BurglarEddieSeenText, BurglarEddieBeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext BurglarEddieAfterBattleText
waitbutton
closetext
end
TrainerGruntM13:
trainer GRUNTM, GRUNTM_13, EVENT_BEAT_ROCKET_GRUNTM_13, GruntM13SeenText, GruntM13BeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext GruntM13AfterBattleText
waitbutton
closetext
end
TrainerGruntF3:
trainer GRUNTF, GRUNTF_3, EVENT_BEAT_ROCKET_GRUNTF_3, GruntF3SeenText, GruntF3BeatenText, 0, .Script
.Script:
end_if_just_battled
opentext
writetext GruntF3AfterBattleText
waitbutton
closetext
end
Switch1Script:
opentext
writetext SwitchRoomText_Switch1
buttonsound
checkevent EVENT_SWITCH_1
iftrue .On
writetext SwitchRoomText_OffTurnOn
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar 1
copyvartobyte UndergroundSwitchPositions
setevent EVENT_SWITCH_1
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
.On:
writetext SwitchRoomText_OnTurnOff
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar -1
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_SWITCH_1
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
Switch2Script:
opentext
writetext SwitchRoomText_Switch2
buttonsound
checkevent EVENT_SWITCH_2
iftrue .On
writetext SwitchRoomText_OffTurnOn
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar 2
copyvartobyte UndergroundSwitchPositions
setevent EVENT_SWITCH_2
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
.On:
writetext SwitchRoomText_OnTurnOff
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar -2
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_SWITCH_2
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
Switch3Script:
opentext
writetext SwitchRoomText_Switch3
buttonsound
checkevent EVENT_SWITCH_3
iftrue .On
writetext SwitchRoomText_OffTurnOn
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar 3
copyvartobyte UndergroundSwitchPositions
setevent EVENT_SWITCH_3
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
.On:
writetext SwitchRoomText_OnTurnOff
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
copybytetovar UndergroundSwitchPositions
addvar -3
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_SWITCH_3
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
EmergencySwitchScript:
opentext
writetext SwitchRoomText_Emergency
buttonsound
checkevent EVENT_EMERGENCY_SWITCH
iftrue .On
writetext SwitchRoomText_OffTurnOn
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
writebyte 7
copyvartobyte UndergroundSwitchPositions
setevent EVENT_EMERGENCY_SWITCH
setevent EVENT_SWITCH_1
setevent EVENT_SWITCH_2
setevent EVENT_SWITCH_3
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
.On:
writetext SwitchRoomText_OnTurnOff
yesorno
iffalse GoldenrodUndergroundSwitchRoomEntrances_DontToggle
writebyte 0
copyvartobyte UndergroundSwitchPositions
clearevent EVENT_EMERGENCY_SWITCH
clearevent EVENT_SWITCH_1
clearevent EVENT_SWITCH_2
clearevent EVENT_SWITCH_3
jump GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors
GoldenrodUndergroundSwitchRoomEntrances_DontToggle:
closetext
end
GoldenrodUndergroundSwitchRoomEntrances_UpdateDoors:
copybytetovar UndergroundSwitchPositions
if_equal 0, .Position0
if_equal 1, .Position1
if_equal 2, .Position2
if_equal 3, .Position3
if_equal 4, .Position4
if_equal 5, .Position5
if_equal 6, .Position6
if_equal 7, .EmergencyPosition
.Position0:
playsound SFX_ENTER_DOOR
scall .Clear4
scall .Clear5
scall .Clear6
scall .Clear7
scall .Clear8
scall .Clear9
scall .Clear10
scall .Clear11
scall .Clear12
scall .Clear13
scall .Clear14
reloadmappart
closetext
end
.Position1:
playsound SFX_ENTER_DOOR
scall .Set4
scall .Set10
scall .Set13
scall .Clear9
scall .Clear11
scall .Clear12
scall .Clear14
reloadmappart
closetext
end
.Position2:
playsound SFX_ENTER_DOOR
scall .Set5
scall .Set11
scall .Set12
scall .Clear8
scall .Clear10
scall .Clear13
scall .Clear14
reloadmappart
closetext
end
.Position3:
playsound SFX_ENTER_DOOR
scall .Set6
scall .Set10
scall .Set13
scall .Clear7
scall .Clear11
scall .Clear12
scall .Clear14
reloadmappart
closetext
end
.Position4:
playsound SFX_ENTER_DOOR
scall .Set7
scall .Set11
scall .Set12
scall .Clear6
scall .Clear10
scall .Clear13
scall .Clear14
reloadmappart
closetext
end
.Position5:
playsound SFX_ENTER_DOOR
scall .Set8
scall .Set10
scall .Set13
scall .Clear5
scall .Clear11
scall .Clear12
scall .Clear14
reloadmappart
closetext
end
.Position6:
playsound SFX_ENTER_DOOR
scall .Set9
scall .Set11
scall .Set12
scall .Set14
scall .Clear4
scall .Clear10
scall .Clear13
reloadmappart
closetext
end
.EmergencyPosition:
playsound SFX_ENTER_DOOR
scall .Clear4
scall .Clear5
scall .Set6
scall .Clear7
scall .Set8
scall .Set9
scall .Clear10
scall .Set11
scall .Set12
scall .Clear13
scall .Set14
reloadmappart
closetext
writebyte 6
copyvartobyte UndergroundSwitchPositions
end
.Set4:
doorstate 1, OPEN1
setevent EVENT_SWITCH_4
end
.Set5:
doorstate 2, OPEN1
setevent EVENT_SWITCH_5
end
.Set6:
doorstate 3, OPEN1
setevent EVENT_SWITCH_6
end
.Set7:
doorstate 4, OPEN1
setevent EVENT_SWITCH_7
end
.Set8:
doorstate 5, OPEN1
setevent EVENT_SWITCH_8
end
.Set9:
doorstate 6, OPEN1
setevent EVENT_SWITCH_9
end
.Set10:
doorstate 7, CLOSED1
doorstate 8, OPEN1
setevent EVENT_SWITCH_10
end
.Set11:
doorstate 9, CLOSED1
doorstate 10, OPEN1
setevent EVENT_SWITCH_11
end
.Set12:
doorstate 11, CLOSED1
doorstate 12, OPEN1
setevent EVENT_SWITCH_12
end
.Set13:
doorstate 13, CLOSED1
doorstate 14, OPEN1
setevent EVENT_SWITCH_13
end
.Set14:
doorstate 15, CLOSED1
doorstate 16, OPEN1
setevent EVENT_SWITCH_14
end
.Clear4:
doorstate 1, CLOSED2
clearevent EVENT_SWITCH_4
end
.Clear5:
doorstate 2, CLOSED2
clearevent EVENT_SWITCH_5
end
.Clear6:
doorstate 3, CLOSED2
clearevent EVENT_SWITCH_6
end
.Clear7:
doorstate 4, CLOSED2
clearevent EVENT_SWITCH_7
end
.Clear8:
doorstate 5, CLOSED2
clearevent EVENT_SWITCH_8
end
.Clear9:
doorstate 6, CLOSED2
clearevent EVENT_SWITCH_9
end
.Clear10:
doorstate 7, CLOSED3
doorstate 8, OPEN2
clearevent EVENT_SWITCH_10
end
.Clear11:
doorstate 9, CLOSED3
doorstate 10, OPEN2
clearevent EVENT_SWITCH_11
end
.Clear12:
doorstate 11, CLOSED3
doorstate 12, OPEN2
clearevent EVENT_SWITCH_12
end
.Clear13:
doorstate 13, CLOSED3
doorstate 14, OPEN2
clearevent EVENT_SWITCH_13
end
.Clear14:
doorstate 15, CLOSED3
doorstate 16, OPEN2
clearevent EVENT_SWITCH_14
end
GoldenrodUndergroundSwitchRoomEntrancesSmokeBall:
itemball SMOKE_BALL
GoldenrodUndergroundSwitchRoomEntrancesFullHeal:
itemball FULL_HEAL
GoldenrodUndergroundSwitchRoomEntrancesHiddenMaxPotion:
hiddenitem MAX_POTION, EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION
GoldenrodUndergroundSwitchRoomEntrancesHiddenRevive:
hiddenitem REVIVE, EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE
UndergroundSilverApproachMovement1:
step DOWN
step LEFT
step LEFT
step LEFT
step_end
UndergroundSilverApproachMovement2:
step DOWN
step DOWN
step LEFT
step LEFT
step LEFT
step_end
UndergroundSilverRetreatMovement1:
step RIGHT
step RIGHT
step RIGHT
step UP
step_end
UndergroundSilverRetreatMovement2:
step RIGHT
step RIGHT
step RIGHT
step UP
step UP
step_end
UndergroundSilverBeforeText:
text "Hold it!"
para "I saw you, so I"
line "tailed you."
para "I don't need you"
line "underfoot while I"
para "take care of TEAM"
line "ROCKET."
para "…Wait a second."
line "You beat me be-"
cont "fore, didn't you?"
para "That was just a"
line "fluke."
para "But I repay my"
line "debts!"
done
UndergroundSilverWinText:
text "…Why…"
line "Why do I lose?"
para "I've assembled the"
line "toughest #MON."
para "I didn't ease up"
line "on the gas."
para "So why do I lose?"
done
UndergroundSilverAfterText:
text "…I don't under-"
line "stand…"
para "Is what that LANCE"
line "guy said true?"
para "That I don't treat"
line "#MON properly?"
para "Love…"
para "Trust…"
para "Are they really"
line "what I lack?"
para "Are they keeping"
line "me from winning?"
para "I… I just don't"
line "understand."
para "But it's not going"
line "to end here."
para "Not now. Not"
line "because of this."
para "I won't give up my"
line "dream of becoming"
para "the world's best"
line "#MON trainer!"
done
UndergroundSilverLossText:
text "Humph. This is my"
line "real power, wimp."
para "I'll make TEAM"
line "ROCKET history."
para "And I'm going to"
line "grind that LANCE"
cont "under my heels."
done
GoldenrodUndergroundSwitchRoomEntrances_SuperNerdText:
text "I was challenged"
line "to a battle down-"
cont "stairs."
para "It's rough down"
line "there. You'd"
cont "better be careful."
done
GoldenrodUndergroundSwitchRoomEntrances_TeacherText:
text "There are some"
line "shops downstairs…"
para "But there are"
line "also trainers."
para "I'm scared to go"
line "down there."
done
GruntM11SeenText:
text "Open one shutter,"
line "another closes."
para "Bet you can't get"
line "where you want!"
done
GruntM11BeatenText:
text "Drat! I was sunk"
line "by indecision!"
done
GruntM11AfterBattleText:
text "I'm confused too…"
line "The switch on the"
para "end is the one to"
line "press first, but…"
done
GruntM25SeenText:
text "Kwahaha!"
para "Confounded by the"
line "shutters, are we?"
para "I'll let you in on"
line "a secret if you"
cont "can beat me!"
done
GruntM25BeatenText:
text "Uwww…"
line "I blew it."
done
GruntM25AfterBattleText:
text "All right. A hint!"
para "Change the order"
line "of switching."
para "That'll change the"
line "ways the shutters"
cont "open and close."
done
BurglarDuncanSeenText:
text "Fork over your"
line "goodies!"
done
BurglarDuncanBeatenText:
text "Mercy!"
done
BurglarDuncanAfterBattleText:
text "Steal and sell!"
line "That's basic in"
cont "crime, kid!"
done
BurglarEddieSeenText:
text "They ditched this"
line "project before"
cont "they finished."
para "I'm searching for"
line "leftover loot."
done
BurglarEddieBeatenText:
text "Over the top!"
done
BurglarEddieAfterBattleText:
text "UNDERGROUND WARE-"
line "HOUSE?"
para "What do you want"
line "to go there for?"
para "There's nothing"
line "down there."
done
GruntM13SeenText:
text "I don't care if"
line "you're lost."
para "You show up here,"
line "you're nothing but"
cont "a victim!"
done
GruntM13BeatenText:
text "Urk! Yeah, think"
line "you're cool, huh?"
done
GruntM13AfterBattleText:
text "You must have ice"
line "in your veins to"
cont "dis TEAM ROCKET."
done
SwitchRoomText_Switch1:
text "It's labeled"
line "SWITCH 1."
done
GruntF3SeenText:
text "Are you lost? No,"
line "you can't be."
para "You don't have"
line "that scared look."
para "I'll give you"
line "something to be"
cont "scared about!"
done
GruntF3BeatenText:
text "How could you?"
done
GruntF3AfterBattleText:
text "Go wherever you'd"
line "like! Get lost!"
cont "See if I care!"
done
SwitchRoomText_OffTurnOn:
text "It's OFF."
line "Turn it ON?"
done
SwitchRoomText_OnTurnOff:
text "It's ON."
line "Turn it OFF?"
done
SwitchRoomText_Switch2:
text "It's labeled"
line "SWITCH 2."
done
SwitchRoomText_Switch3:
text "It's labeled"
line "SWITCH 3."
done
SwitchRoomText_Emergency:
text "It's labeled"
line "EMERGENCY."
done
GoldenrodUndergroundSwitchRoomEntrances_MapEvents:
db 0, 0 ; filler
db 9 ; warp events
warp_event 23, 3, 6, GOLDENROD_UNDERGROUND
warp_event 22, 10, 1, GOLDENROD_UNDERGROUND_WAREHOUSE
warp_event 23, 10, 2, GOLDENROD_UNDERGROUND_WAREHOUSE
warp_event 5, 25, 2, GOLDENROD_UNDERGROUND
warp_event 4, 29, 14, GOLDENROD_CITY
warp_event 5, 29, 14, GOLDENROD_CITY
warp_event 21, 25, 1, GOLDENROD_UNDERGROUND
warp_event 20, 29, 13, GOLDENROD_CITY
warp_event 21, 29, 13, GOLDENROD_CITY
db 2 ; coord events
coord_event 19, 4, 0, UndergroundSilverScene1
coord_event 19, 5, 0, UndergroundSilverScene2
db 6 ; bg events
bg_event 16, 1, BGEVENT_READ, Switch1Script
bg_event 10, 1, BGEVENT_READ, Switch2Script
bg_event 2, 1, BGEVENT_READ, Switch3Script
bg_event 20, 11, BGEVENT_READ, EmergencySwitchScript
bg_event 8, 9, BGEVENT_ITEM, GoldenrodUndergroundSwitchRoomEntrancesHiddenMaxPotion
bg_event 1, 8, BGEVENT_ITEM, GoldenrodUndergroundSwitchRoomEntrancesHiddenRevive
db 11 ; object events
object_event 9, 12, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerBurglarDuncan, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 4, 8, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_TRAINER, 2, TrainerBurglarEddie, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 17, 2, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM13, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 11, 2, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM11, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 3, 2, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM25, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 19, 12, SPRITE_ROCKET_GIRL, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 1, TrainerGruntF3, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 3, 27, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TeacherScript_0x7ca7d, -1
object_event 19, 27, SPRITE_SUPER_NERD, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SuperNerdScript_0x7ca7a, -1
object_event 1, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundSwitchRoomEntrancesSmokeBall, EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_SMOKE_BALL
object_event 14, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundSwitchRoomEntrancesFullHeal, EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_FULL_HEAL
object_event 23, 3, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_GOLDENROD_UNDERGROUND