diff --git a/maps/BellchimeTrail.ablk b/maps/BellchimeTrail.ablk
new file mode 100644
index 0000000..4dbc852
--- /dev/null
+++ b/maps/BellchimeTrail.ablk
@@ -0,0 +1,2 @@
+ˆ‰,-Š‹&/¼½½¾$%¿½¾$%¿¾À)¿tÁ,-
+¿E
\ No newline at end of file
diff --git a/maps/BellchimeTrail.asm b/maps/BellchimeTrail.asm
new file mode 100644
index 0000000..c3f3783
--- /dev/null
+++ b/maps/BellchimeTrail.asm
@@ -0,0 +1,317 @@
+BellchimeTrail_MapScriptHeader:
+	def_scene_scripts
+	scene_script BellchimeTrailStepDownTrigger
+
+	def_callbacks
+	callback MAPCALLBACK_OBJECTS, SetupValerieMorningWalkCallback
+
+	def_warp_events
+	warp_event  4,  4, WISE_TRIOS_ROOM, 1
+	warp_event  4,  5, WISE_TRIOS_ROOM, 2
+	warp_event 21,  9, TIN_TOWER_1F, 1 ; hole
+
+	def_coord_events
+	coord_event 21,  9, 1, BellchimeTrailPanUpTrigger
+
+	def_bg_events
+	bg_event 22, 12, BGEVENT_JUMPTEXT, TinTowerSignText
+
+	def_object_events
+	object_event 16,  6, SPRITE_VALERIE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BellchimeTrailValerieScript, EVENT_VALERIE_BELLCHIME_TRAIL
+
+	object_const_def
+	const BELLCHIMETRAIL_VALERIE
+
+BellchimeTrailStepDownTrigger:
+	sdefer .Script
+	end
+
+.Script:
+	readvar VAR_YCOORD
+	ifnotequal $9, .Done
+	readvar VAR_XCOORD
+	ifnotequal $15, .Done
+	applyonemovement PLAYER, step_down
+.Done
+	setscene $1
+	end
+
+SetupValerieMorningWalkCallback:
+	checkevent EVENT_FOUGHT_SUICUNE
+	iffalse .Disappear
+	checkevent EVENT_BEAT_VALERIE
+	iffalse .Appear
+	checkflag ENGINE_VALERIE_MORNING_WALK
+	iftrue .Disappear
+	checktime 1 << MORN
+	iffalse .Disappear
+.Appear:
+	appear BELLCHIMETRAIL_VALERIE
+	endcallback
+
+.Disappear:
+	disappear BELLCHIMETRAIL_VALERIE
+	endcallback
+
+BellchimeTrailPanUpTrigger:
+	playsound SFX_EXIT_BUILDING
+	applyonemovement PLAYER, hide_object
+	waitsfx
+	applymovement PLAYER, .PanUpMovement
+	disappear PLAYER
+	pause 10
+	special Special_FadeOutMusic
+	special FadeOutPalettes
+	pause 15
+	setscene $0
+	warpfacing UP, TIN_TOWER_1F, 7, 15
+	end
+
+.PanUpMovement:
+	step_up
+	step_up
+	step_up
+	step_up
+	step_up
+	step_end
+
+TinTowerSignText:
+	text "Bell Tower"
+
+	para "A legendary #-"
+	line "mon is said to"
+	cont "roost here."
+	done
+
+BellchimeTrailValerieScript:
+	faceplayer
+	opentext
+	checkevent EVENT_BEAT_VALERIE
+	iftrue .Rematch
+	checkevent EVENT_LISTENED_TO_VALERIE
+	iftrue .Listened
+	writetext .IntroText
+	waitbutton
+	setevent EVENT_LISTENED_TO_VALERIE
+.Listened:
+	writetext .BattleText
+	yesorno
+	iffalse_jumpopenedtext .RefusedText
+	writetext .AcceptedText
+	waitbutton
+	closetext
+	winlosstext .BeatenText, 0
+	setlasttalked BELLCHIMETRAIL_VALERIE
+	loadtrainer VALERIE, 1
+	startbattle
+	reloadmapafterbattle
+	setevent EVENT_BEAT_VALERIE
+	opentext
+	writetext .RewardText
+	promptbutton
+	verbosegivetmhm TM_DAZZLINGLEAM
+	setevent EVENT_GOT_TM49_DAZZLINGLEAM_FROM_VALERIE
+	writetext .FarewellText
+.Depart
+	waitbutton
+	closetext
+	readvar VAR_FACING
+	ifnotequal RIGHT, .SkipGoAround
+	applymovement BELLCHIMETRAIL_VALERIE, .ValerieGoesAroundMovement
+.SkipGoAround
+	applymovement BELLCHIMETRAIL_VALERIE, .ValerieDepartsMovement
+	disappear BELLCHIMETRAIL_VALERIE
+	clearevent EVENT_VALERIE_ECRUTEAK_CITY
+	setflag ENGINE_VALERIE_MORNING_WALK
+	end
+
+.Rematch:
+	writetext .RematchText
+	waitbutton
+	closetext
+	winlosstext .RematchBeatenText, 0
+	setlasttalked BELLCHIMETRAIL_VALERIE
+	readvar VAR_BADGES
+	ifequal 16, .Battle3
+	checkevent EVENT_BEAT_ELITE_FOUR
+	iftrue .Battle2
+	loadtrainer VALERIE, 1
+	startbattle
+	reloadmapafterbattle
+	sjump .AfterRematch
+
+.Battle2:
+	loadtrainer VALERIE, 2
+	startbattle
+	reloadmapafterbattle
+	sjump .AfterRematch
+
+.Battle3:
+	loadtrainer VALERIE, 3
+	startbattle
+	reloadmapafterbattle
+	sjump .AfterRematch
+
+.AfterRematch:
+	opentext
+	writetext .RematchFarewellText
+	sjump .Depart
+
+.IntroText:
+	text "If it isn't the"
+	line "trainer who faced"
+	cont "Suicuneâ€¦"
+
+	para "I am Valerie."
+	line "I come to this"
+
+	para "trail to be"
+	line "captivated by its"
+	cont "beauty."
+
+	para "Today I was for-"
+	line "tunate enough to"
+
+	para "witness your"
+	line "battle with a"
+	cont "legendâ€¦"
+
+	para "I would love to"
+	line "contend with one"
+
+	para "who caught the eye"
+	line "of a legendary"
+	cont "#mon."
+	done
+
+.BattleText:
+	text "Valerie: I train"
+	line "the elusive Fairy"
+	cont "type."
+
+	para "They appear frail"
+	line "and delicate, but"
+	cont "they are strong."
+
+	para "Will you battle"
+	line "with me?"
+	done
+
+.RefusedText:
+	text "Valerie: Alasâ€¦"
+	done
+
+.AcceptedText:
+	text "Valerie: I hope"
+	line "our battle will"
+
+	para "prove entertaining"
+	line "to you."
+	done
+
+.BeatenText:
+	text "I hope the sun is"
+	line "shining tomorrowâ€¦"
+
+	para "That would be"
+	line "reason enough to"
+	cont "smile."
+	done
+
+.RewardText:
+	text "Valerie: Yesâ€¦ that"
+	line "was a fine battle."
+
+	para "I shall reward you"
+	line "for this great"
+	cont "victory."
+
+	para "Please consider"
+	line "this as a personal"
+	cont "gift from me."
+	done
+
+.FarewellText:
+	text "Valerie: Oh? My,"
+	line "what a curious"
+	cont "feelingâ€¦"
+
+	para "I can't seem to"
+	line "recall which move"
+
+	para "is contained in"
+	line "that TM."
+
+	para "I hope you might"
+	line "forgive me."
+
+	para "That was truly a"
+	line "captivating"
+	cont "battle."
+
+	para "I might just be"
+	line "captivated by you."
+
+	para "Until we meet"
+	line "again, farewell."
+	done
+
+.RematchText:
+	text "Valerie: Oh, if it"
+	line "isn't my young"
+	cont "trainerâ€¦"
+
+	para "It is lovely to"
+	line "meet you again"
+	cont "like this."
+
+	para "Then I suppose you"
+	line "have earned your-"
+
+	para "self the right to"
+	line "a battle."
+
+	para "The elusive Fairy"
+	line "may appear frail"
+
+	para "as the breeze and"
+	line "delicate as a"
+
+	para "bloom, but it is"
+	line "strong."
+	done
+
+.RematchBeatenText:
+	text "I hope that you"
+	line "will find things"
+
+	para "worth smiling"
+	line "about tomorrowâ€¦"
+	done
+
+.RematchFarewellText:
+	text "That was truly a"
+	line "captivating"
+	cont "battle."
+
+	para "I might just be"
+	line "captivated by you."
+
+	para "Until we meet"
+	line "again, farewell."
+	done
+
+.ValerieGoesAroundMovement:
+	step_down
+	step_left
+	step_end
+
+.ValerieDepartsMovement:
+	step_left
+	step_left
+	step_left
+	step_up
+	step_up
+	step_left
+	step_left
+	step_end
diff --git a/maps/CeruleanCave1F.ablk b/maps/CeruleanCave1F.ablk
new file mode 100644
index 0000000..62f6542
--- /dev/null
+++ b/maps/CeruleanCave1F.ablk
@@ -0,0 +1,21 @@
+					






			



êë


+1B11Ûîï
+ÕJE
+Y[K

+D
+	
+
+G
+K


+	
+âKC

+
+ÔÝK
+ÜßÚ
+à
+ÑØÝI
+
+K	
+
+
+1Ø




$	#	
\ No newline at end of file
diff --git a/maps/CeruleanCave1F.asm b/maps/CeruleanCave1F.asm
new file mode 100644
index 0000000..2417dc5
--- /dev/null
+++ b/maps/CeruleanCave1F.asm
@@ -0,0 +1,77 @@
+CeruleanCave1F_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+	callback MAPCALLBACK_TILES, CeruleanCave1FTileScript
+
+	def_warp_events
+	warp_event 27, 21, CERULEAN_CITY, 7
+	warp_event  9,  5, CERULEAN_CAVE_2F, 1
+	warp_event 29,  5, CERULEAN_CAVE_2F, 2
+	warp_event  3,  7, CERULEAN_CAVE_2F, 3
+	warp_event  2, 10, CERULEAN_CAVE_B1F, 1
+	warp_event 25, 11, CERULEAN_CAVE_2F, 4
+	warp_event 20, 13, CERULEAN_CAVE_2F, 5
+	warp_event  5, 15, CERULEAN_CAVE_2F, 6
+
+	def_coord_events
+	coord_event 20,  4, 1, CeruleanCave1FBridgeOverheadTrigger
+	coord_event 20,  5, 1, CeruleanCave1FBridgeOverheadTrigger
+	coord_event 23,  4, 1, CeruleanCave1FBridgeOverheadTrigger
+	coord_event 23,  5, 1, CeruleanCave1FBridgeOverheadTrigger
+	coord_event 21,  7, 0, CeruleanCave1FBridgeUnderfootTrigger
+	coord_event 22,  7, 0, CeruleanCave1FBridgeUnderfootTrigger
+
+	def_bg_events
+	bg_event 10, 13, BGEVENT_ITEM + ULTRA_BALL, EVENT_CERULEAN_CAVE_1F_HIDDEN_ULTRA_BALL
+	bg_event  5, 16, BGEVENT_ITEM + PP_UP, EVENT_CERULEAN_CAVE_1F_HIDDEN_PP_UP
+	bg_event 16, 15, BGEVENT_ITEM + RARE_CANDY, EVENT_CERULEAN_CAVE_1F_HIDDEN_RARE_CANDY
+	bg_event 25,  2, BGEVENT_ITEM + BERSERK_GENE, EVENT_CERULEAN_CAVE_1F_HIDDEN_BERSERK_GENE
+
+	def_object_events
+	itemball_event  7,  6, BIG_NUGGET, 1, EVENT_CERULEAN_CAVE_1F_BIG_NUGGET
+	itemball_event  9, 17, FULL_RESTORE, 1, EVENT_CERULEAN_CAVE_1F_FULL_RESTORE
+	itemball_event 14,  2, MAX_REVIVE, 1, EVENT_CERULEAN_CAVE_1F_MAX_REVIVE
+
+CeruleanCave1FTileScript:
+	checkscene
+	iftrue .underfoot
+	callasm CeruleanCave1F_OverheadBridgeAsm
+	endcallback
+
+.underfoot:
+	callasm CeruleanCave1F_UnderfootBridgeAsm
+	endcallback
+
+CeruleanCave1F_OverheadBridgeAsm:
+	changebridgeblock 20, 2, $ea, CERULEAN_CAVE_1F
+	changebridgeblock 22, 2, $eb, CERULEAN_CAVE_1F
+	changebridgeblock 20, 4, $ee, CERULEAN_CAVE_1F
+	changebridgeblock 22, 4, $ef, CERULEAN_CAVE_1F
+	changebridgeblock 20, 6, $59, CERULEAN_CAVE_1F
+	changebridgeblock 22, 6, $5b, CERULEAN_CAVE_1F
+	jmp BufferScreen
+
+CeruleanCave1F_UnderfootBridgeAsm:
+	changebridgeblock 20, 2, $e8, CERULEAN_CAVE_1F
+	changebridgeblock 22, 2, $e9, CERULEAN_CAVE_1F
+	changebridgeblock 20, 4, $ec, CERULEAN_CAVE_1F
+	changebridgeblock 22, 4, $ed, CERULEAN_CAVE_1F
+	changebridgeblock 20, 6, $55, CERULEAN_CAVE_1F
+	changebridgeblock 22, 6, $57, CERULEAN_CAVE_1F
+	jmp BufferScreen
+
+CeruleanCave1FBridgeOverheadTrigger:
+	callasm CeruleanCave1F_OverheadBridgeAsm
+	callthisasm
+	xor a
+	jr CeruleanCave1F_FinishBridge
+
+CeruleanCave1FBridgeUnderfootTrigger:
+	callasm CeruleanCave1F_UnderfootBridgeAsm
+	callthisasm
+	ld a, $1
+CeruleanCave1F_FinishBridge:
+	ld [wWalkingOnBridge], a
+	ld [wCeruleanCave1FSceneID], a ; setscene a
+	jmp GenericFinishBridge
diff --git a/maps/CeruleanCave2F.ablk b/maps/CeruleanCave2F.ablk
new file mode 100644
index 0000000..98d7b8d
--- /dev/null
+++ b/maps/CeruleanCave2F.ablk
@@ -0,0 +1,10 @@
+















+ÙÝÑÑÐßÙÖßÙÙÙÙ
+ÑÒÞÑÜÑÖÚÙÙÙÙÞÑ
+ÒÜÑÑÑÑÑÑßÙÙÙÞÑÔ
+ÖÑÑÐÑÑÑÑÑÔXÐÞÔ
+ÖÞÔÔÑÑÔÑÑÑÔÑÑÔÔ
+ÖÔÐÑÜÐÑÑÔÑÑÔÔÐ
+ÖÑÜÔÑÑÜÑÔÔÔÔÔÔÔ
+ÖÞÑÔÑÑÐÑÜÔÔÔÑÜÔ
+ÞÑÑÑÑÑÜÐÑÜÔÑÑÑÜ		
\ No newline at end of file
diff --git a/maps/CeruleanCave2F.asm b/maps/CeruleanCave2F.asm
new file mode 100644
index 0000000..5245505
--- /dev/null
+++ b/maps/CeruleanCave2F.asm
@@ -0,0 +1,25 @@
+CeruleanCave2F_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+
+	def_warp_events
+	warp_event 11,  3, CERULEAN_CAVE_1F, 2
+	warp_event 31,  3, CERULEAN_CAVE_1F, 3
+	warp_event  3,  5, CERULEAN_CAVE_1F, 4
+	warp_event 24,  8, CERULEAN_CAVE_1F, 6
+	warp_event 21,  9, CERULEAN_CAVE_1F, 7
+	warp_event  5, 13, CERULEAN_CAVE_1F, 8
+
+	def_coord_events
+
+	def_bg_events
+	bg_event 17, 19, BGEVENT_ITEM + PROTEIN, EVENT_CERULEAN_CAVE_2F_HIDDEN_PROTEIN
+	bg_event 16,  4, BGEVENT_ITEM + NUGGET, EVENT_CERULEAN_CAVE_2F_HIDDEN_NUGGET
+	bg_event 13, 17, BGEVENT_ITEM + HYPER_POTION, EVENT_CERULEAN_CAVE_2F_HIDDEN_HYPER_POTION
+
+	def_object_events
+	itemball_event 31, 11, FULL_RESTORE, 1, EVENT_CERULEAN_CAVE_2F_FULL_RESTORE
+	itemball_event  7, 17, PP_UP, 1, EVENT_CERULEAN_CAVE_2F_PP_UP
+	itemball_event 27, 15, ULTRA_BALL, 1, EVENT_CERULEAN_CAVE_2F_ULTRA_BALL
+	itemball_event  2,  7, DUSK_STONE, 1, EVENT_CERULEAN_CAVE_2F_DUSK_STONE
diff --git a/maps/CeruleanCaveB1F.ablk b/maps/CeruleanCaveB1F.ablk
new file mode 100644
index 0000000..1fd69c7
--- /dev/null
+++ b/maps/CeruleanCaveB1F.ablk
@@ -0,0 +1,14 @@
+















+ÜALMNAÜ
+	
BÑLNß
+
+HÚJLN
+
''1
+1LNã


â
+B
+LNÔ	
+F
+K
Q
+F
+KJ
+àãH1Ôß1		
\ No newline at end of file
diff --git a/maps/CeruleanCaveB1F.asm b/maps/CeruleanCaveB1F.asm
new file mode 100644
index 0000000..db043a0
--- /dev/null
+++ b/maps/CeruleanCaveB1F.asm
@@ -0,0 +1,40 @@
+CeruleanCaveB1F_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+
+	def_warp_events
+	warp_event  5,  7, CERULEAN_CAVE_1F, 5
+
+	def_coord_events
+
+	def_bg_events
+	bg_event  8,  6, BGEVENT_ITEM + MAX_REVIVE, EVENT_CERULEAN_CAVE_B1F_HIDDEN_MAX_REVIVE
+	bg_event 24, 11, BGEVENT_ITEM + ULTRA_BALL, EVENT_CERULEAN_CAVE_B1F_HIDDEN_ULTRA_BALL
+
+	def_object_events
+	object_event  7, 13, SPRITE_MON_ICON, SPRITEMOVEDATA_POKEMON, 0, MEWTWO, -1, -1, PAL_NPC_PURPLE, OBJECTTYPE_SCRIPT, 0, CeruleanCaveMewtwo, EVENT_CERULEAN_CAVE_MEWTWO
+	itemball_event 26,  9, MAX_ELIXIR, 1, EVENT_CERULEAN_CAVE_B1F_MAX_ELIXIR
+	itemball_event 26,  3, ULTRA_BALL, 1, EVENT_CERULEAN_CAVE_B1F_ULTRA_BALL
+
+	object_const_def
+	const CERULEANCAVEB1F_MEWTWO
+
+CeruleanCaveMewtwo:
+	faceplayer
+	opentext
+	writetext MewtwoText
+	cry MEWTWO
+	pause 15
+	closetext
+	loadwildmon MEWTWO, 80
+	loadvar VAR_BATTLETYPE, BATTLETYPE_LEGENDARY
+	startbattle
+	disappear CERULEANCAVEB1F_MEWTWO
+	setevent EVENT_CERULEAN_CAVE_MEWTWO
+	reloadmapafterbattle
+	end
+
+MewtwoText:
+	text "Myuu!"
+	done
diff --git a/maps/PewterMuseumOfScience1F.ablk b/maps/PewterMuseumOfScience1F.ablk
new file mode 100644
index 0000000..348dfb1
--- /dev/null
+++ b/maps/PewterMuseumOfScience1F.ablk
@@ -0,0 +1,3 @@
+
+
+	
C
\ No newline at end of file
diff --git a/maps/PewterMuseumOfScience1F.asm b/maps/PewterMuseumOfScience1F.asm
new file mode 100644
index 0000000..2226e73
--- /dev/null
+++ b/maps/PewterMuseumOfScience1F.asm
@@ -0,0 +1,375 @@
+PewterMuseumOfScience1F_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+
+	def_warp_events
+	warp_event 10,  7, PEWTER_CITY, 6
+	warp_event 11,  7, PEWTER_CITY, 6
+	warp_event 16,  7, PEWTER_CITY, 7
+	warp_event 17,  7, PEWTER_CITY, 7
+	warp_event  7,  7, PEWTER_MUSEUM_OF_SCIENCE_2F, 1
+
+	def_coord_events
+
+	def_bg_events
+	bg_event  2,  3, BGEVENT_READ, KabutopsFossilSignpostScript
+	bg_event  6,  3, BGEVENT_READ, OmastarFossilSignpostScript
+	bg_event  3,  6, BGEVENT_READ, AerodactylFossilSignpostScript
+	bg_event 12,  1, BGEVENT_JUMPTEXT, Museum1FBookshelfSignpostText
+	bg_event 13,  1, BGEVENT_JUMPTEXT, Museum1FBookshelfSignpostText
+	bg_event 14,  1, BGEVENT_JUMPTEXT, Museum1FBookshelfSignpostText
+	bg_event 15,  1, BGEVENT_JUMPTEXT, Museum1FBookshelfSignpostText
+	bg_event 17,  1, BGEVENT_JUMPTEXT, Museum1FBookshelfSignpostText
+	bg_event 18,  1, BGEVENT_JUMPTEXT, Museum1FBookshelfSignpostText
+
+	def_object_events
+	object_event 18,  3, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, Museum1FFossilScientistScript, -1
+	object_event 12,  4, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Museum1FReceptionistScript, -1
+	object_event 16,  2, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_COMMAND, jumptextfaceplayer, Museum1FScientistText, -1
+	object_event  1,  7, SPRITE_GRAMPS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_COMMAND, jumptextfaceplayer, Museum1FGrampsText, -1
+	object_event  4,  3, SPRITE_SCHOOLBOY, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_COMMAND, jumptextfaceplayer, Museum1FYoungsterText, -1
+
+	object_const_def
+	const PEWTERMUSEUMOFSCIENCE1F_SCIENTIST2
+
+Museum1FFossilScientistScript:
+	faceplayer
+	opentext
+	writetext Museum1FFossilScientistText
+	waitbutton
+	checkitem HELIX_FOSSIL
+	iftrue .own_helix
+	checkitem DOME_FOSSIL
+	iftrue .own_dome
+	checkitem OLD_AMBER
+	iftrue .ask_old_amber
+	jumpopenedtext NoFossilsText
+
+.own_helix
+	checkitem DOME_FOSSIL
+	iftrue .own_helix_and_dome
+	checkitem OLD_AMBER
+	iftrue .ask_helix_amber
+	writetext AskHelixFossilText
+	yesorno
+	iftrue ResurrectHelixFossil
+	sjump .maybe_later
+
+.own_dome
+	checkitem OLD_AMBER
+	iftrue .ask_dome_amber
+	writetext AskDomeFossilText
+	yesorno
+	iftrue ResurrectDomeFossil
+	sjump .maybe_later
+
+.own_helix_and_dome
+	checkitem OLD_AMBER
+	iftrue .ask_helix_dome_amber
+	loadmenu HelixDomeMenuDataHeader
+	verticalmenu
+	closewindow
+	ifequal $1, ResurrectHelixFossil
+	ifequal $2, ResurrectDomeFossil
+	sjump .maybe_later
+
+.ask_old_amber
+	writetext AskOldAmberText
+	yesorno
+	iftrue ResurrectOldAmber
+	sjump .maybe_later
+
+.ask_helix_amber
+	loadmenu HelixAmberMenuDataHeader
+	verticalmenu
+	closewindow
+	ifequal $1, ResurrectHelixFossil
+	ifequal $2, ResurrectOldAmber
+	sjump .maybe_later
+
+.ask_dome_amber
+	loadmenu DomeAmberMenuDataHeader
+	verticalmenu
+	closewindow
+	ifequal $1, ResurrectDomeFossil
+	ifequal $2, ResurrectOldAmber
+	sjump .maybe_later
+
+.ask_helix_dome_amber
+	loadmenu HelixDomeAmberMenuDataHeader
+	verticalmenu
+	closewindow
+	ifequal $1, ResurrectHelixFossil
+	ifequal $2, ResurrectDomeFossil
+	ifequal $3, ResurrectOldAmber
+.maybe_later:
+	jumpopenedtext MaybeLaterText
+
+HelixDomeMenuDataHeader:
+	db $40 ; flags
+	db 04, 00 ; start coords
+	db 11, 15 ; end coords
+	dw .MenuData2
+	db 1 ; default option
+
+.MenuData2:
+	db $80 ; flags
+	db 3 ; items
+	db "Helix Fossil@"
+	db "Dome Fossil@"
+	db "Cancel@"
+
+HelixAmberMenuDataHeader:
+	db $40 ; flags
+	db 04, 00 ; start coords
+	db 11, 15 ; end coords
+	dw .MenuData2
+	db 1 ; default option
+
+.MenuData2:
+	db $80 ; flags
+	db 3 ; items
+	db "Helix Fossil@"
+	db "Old Amber@"
+	db "Cancel@"
+
+DomeAmberMenuDataHeader:
+	db $40 ; flags
+	db 04, 00 ; start coords
+	db 11, 14 ; end coords
+	dw .MenuData2
+	db 1 ; default option
+
+.MenuData2:
+	db $80 ; flags
+	db 3 ; items
+	db "Dome Fossil@"
+	db "Old Amber@"
+	db "Cancel@"
+
+HelixDomeAmberMenuDataHeader:
+	db $40 ; flags
+	db 02, 00 ; start coords
+	db 11, 15 ; end coords
+	dw .MenuData2
+	db 1 ; default option
+
+.MenuData2:
+	db $80 ; flags
+	db 4 ; items
+	db "Helix Fossil@"
+	db "Dome Fossil@"
+	db "Old Amber@"
+	db "Cancel@"
+
+ResurrectHelixFossil:
+	takeitem HELIX_FOSSIL
+	scall ResurrectAFossilScript
+	givepoke OMANYTE, 20
+	sjump FinishResurrect
+
+ResurrectDomeFossil:
+	takeitem DOME_FOSSIL
+	scall ResurrectAFossilScript
+	givepoke KABUTO, 20
+	sjump FinishResurrect
+
+ResurrectOldAmber:
+	takeitem OLD_AMBER
+	scall ResurrectAFossilScript
+	givepoke AERODACTYL, 20
+FinishResurrect:
+	iffalse_jumpopenedtext NoRoomForFossilPokemonText
+	jumpopenedtext TakeGoodCareOfItText
+
+ResurrectAFossilScript:
+	writetext ResurrectingPokemonText
+	waitbutton
+	closetext
+	turnobject PEWTERMUSEUMOFSCIENCE1F_SCIENTIST2, RIGHT
+	pause 15
+	playsound SFX_BOOT_PC
+	waitsfx
+	pause 30
+	playsound SFX_4_NOTE_DITTY
+	waitsfx
+	pause 5
+	waitsfx
+	pause 30
+	playsound SFX_SHUT_DOWN_PC
+	waitsfx
+	pause 15
+	faceplayer
+	opentext
+	end
+
+Museum1FReceptionistScript:
+	readvar VAR_FACING
+	ifequal DOWN, .Sneak
+	ifequal LEFT, .Sneak
+	jumpthistextfaceplayer
+
+	text "Welcome!"
+
+	para "Thanks to a gene-"
+	line "rous donation"
+	cont "by Silph Co.,"
+
+	para "admission is free"
+	line "of charge!"
+
+	para "Please go ahead."
+	done
+
+.Sneak:
+	jumpthistextfaceplayer
+
+	text "You can't sneak"
+	line "in the back way!"
+	done
+
+KabutopsFossilSignpostScript:
+	refreshscreen
+	trainerpic KABUTOPS_FOSSIL
+	waitbutton
+	closepokepic
+	jumpthistext
+
+	text "Kabutops Fossil"
+	line "(Dome)"
+
+	para "A primitive and"
+	line "rare #mon."
+	done
+
+OmastarFossilSignpostScript:
+	refreshscreen
+	trainerpic OMASTAR_FOSSIL
+	waitbutton
+	closepokepic
+	jumpthistext
+
+	text "Omastar Fossil"
+	line "(Helix)"
+
+	para "A primitive and"
+	line "rare #mon."
+	done
+
+AerodactylFossilSignpostScript:
+	refreshscreen
+	trainerpic AERODACTYL_FOSSIL
+	waitbutton
+	closepokepic
+	jumpthistext
+
+	text "Aerodactyl Fossil"
+
+	para "A primitive and"
+	line "rare #mon."
+	done
+
+Museum1FScientistText:
+	text "We are proud of"
+	line "three fossils of"
+
+	para "rare, prehistoric"
+	line "#mon."
+
+	para "I helped assemble"
+	line "them!"
+	done
+
+Museum1FFossilScientistText:
+	text "Did you know that"
+	line "you can extract"
+
+	para "#mon from"
+	line "fossils?"
+
+	para "If you ever need"
+	line "to, let me take"
+	cont "care of it!"
+	done
+
+Museum1FGrampsText:
+	text "That is one"
+	line "magnificent"
+	cont "fossil!"
+	done
+
+Museum1FYoungsterText:
+	text "There are two"
+	line "places that I"
+	cont "love!"
+
+	para "One is the Ruins"
+	line "of Alph in Johto."
+
+	para "The other is the"
+	line "Pewter Museum!"
+
+	para "I get a sense of"
+	line "history from both"
+	cont "of them."
+	done
+
+Museum1FBookshelfSignpostText:
+	text "Thick and well-"
+	line "read books!"
+
+	para "Archaeology Man-"
+	line "ual, Lost #mon,"
+	cont "#mon Ancestors,"
+
+	para "Caring at the"
+	line "Loamy Layer of"
+	cont "Kantoâ€¦"
+	done
+
+AskHelixFossilText:
+	text "Do you want to"
+	line "resurrect the"
+	cont "Helix Fossil?"
+	done
+
+AskDomeFossilText:
+	text "Do you want to"
+	line "resurrect the"
+	cont "Dome Fossil?"
+	done
+
+AskOldAmberText:
+	text "Do you want to"
+	line "resurrect the"
+	cont "Old Amber?"
+	done
+
+NoFossilsText:
+	text "Hey! You don't"
+	line "have any fossils."
+	done
+
+MaybeLaterText:
+	text "Just talk to me"
+	line "if you change"
+	cont "your mind."
+	done
+
+ResurrectingPokemonText:
+	text "OK! I'll resurrect"
+	line "the #mon!"
+	done
+
+NoRoomForFossilPokemonText:
+	text "Hey! You can't"
+	line "carry another"
+	cont "#mon, and your"
+	cont "box is full, too!"
+	done
+
+TakeGoodCareOfItText:
+	text "Take good care"
+	line "of it!"
+	done
diff --git a/maps/PewterMuseumOfScience2F.ablk b/maps/PewterMuseumOfScience2F.ablk
new file mode 100644
index 0000000..a50c070
--- /dev/null
+++ b/maps/PewterMuseumOfScience2F.ablk
@@ -0,0 +1 @@
+ !
\ No newline at end of file
diff --git a/maps/PewterMuseumOfScience2F.asm b/maps/PewterMuseumOfScience2F.asm
new file mode 100644
index 0000000..f5f4b05
--- /dev/null
+++ b/maps/PewterMuseumOfScience2F.asm
@@ -0,0 +1,178 @@
+PewterMuseumOfScience2F_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+
+	def_warp_events
+	warp_event  7,  7, PEWTER_MUSEUM_OF_SCIENCE_1F, 5
+
+	def_coord_events
+
+	def_bg_events
+	bg_event  3,  6, BGEVENT_READ, Museum2FMoonStoneSignpostScript
+	bg_event 11,  2, BGEVENT_JUMPTEXT, Museum2FSpaceShuttleSignpostText
+
+	def_object_events
+	object_event  7,  5, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_COMMAND, jumptextfaceplayer, Museum2FScientistText, -1
+	object_event  1,  7, SPRITE_CHILD, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_COMMAND, jumptextfaceplayer, Museum2FChildText, -1
+	object_event  2,  7, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_COMMAND, jumptextfaceplayer, Museum2FTeacherText, -1
+	object_event  2,  1, SPRITE_CUTE_GIRL, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_COMMAND, jumptextfaceplayer, Museum2FLassText, -1
+	object_event 12,  5, SPRITE_HIKER, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, Museum2FPokefanMScript, -1
+
+Museum2FPokefanMScript:
+	faceplayer
+	opentext
+	checkevent EVENT_LISTENED_TO_SEISMIC_TOSS_INTRO
+	iftrue Museum2FTutorSeismicTossScript
+	checkunits
+	iftrue .metric
+	writetext Museum2FPokefanMImperialText
+	sjump .ok
+.metric
+	writetext Museum2FPokefanMMetricText
+.ok
+	waitbutton
+	setevent EVENT_LISTENED_TO_SEISMIC_TOSS_INTRO
+Museum2FTutorSeismicTossScript:
+	writetext Text_Museum2FTutorSeismicToss
+	waitbutton
+	checkitem SILVER_LEAF
+	iffalse .NoSilverLeaf
+	writetext Text_Museum2FTutorQuestion
+	yesorno
+	iffalse .TutorRefused
+	setval SEISMIC_TOSS
+	writetext ClearText
+	special Special_MoveTutor
+	ifequal $0, .TeachMove
+.TutorRefused
+	jumpopenedtext Text_Museum2FTutorRefused
+
+.NoSilverLeaf
+	jumpopenedtext Text_Museum2FTutorNoSilverLeaf
+
+.TeachMove
+	takeitem SILVER_LEAF
+	jumpopenedtext Text_Museum2FTutorTaught
+
+Museum2FMoonStoneSignpostScript:
+	refreshscreen
+	trainerpic METEORITE
+	waitbutton
+	closepokepic
+	jumptext Museum2FMoonStoneSignpostText
+
+Museum2FScientistText:
+	text "Meteorites struck"
+	line "Mt.Moon near"
+	cont "Pewter City."
+
+	para "We have one"
+	line "on display."
+
+	para "It seems to emit"
+	line "strange energyâ€¦"
+	done
+
+
+Museum2FLassText:
+	text "#mon revived"
+	line "from fossils are"
+
+	para "all part Rock-"
+	line "type."
+
+	para "Were they always"
+	line "that way, or is it"
+
+	para "a result of the"
+	line "fossilization"
+	cont "process?"
+	done
+
+Museum2FPokefanMImperialText:
+	text "This space shuttle"
+	line "used to fly 160"
+
+	para "miles above the"
+	line "earth, defying"
+	cont "gravity!"
+
+	para "You know what else"
+	line "can defy gravity?"
+
+	para "Seismic Toss,"
+	line "of course!"
+	done
+
+Museum2FChildText:
+	text "Stuff and rocks"
+	line "and rocks and"
+
+	para "stuff. Can we go"
+	line "already?"
+	done
+
+Museum2FTeacherText:
+	text "Sighâ€¦ My son isn't"
+	line "enjoying the mu-"
+
+	para "seum as much as I"
+	line "hoped he would."
+
+	para "Kids, huh?"
+	done
+
+Museum2FPokefanMMetricText:
+	text "This space shuttle"
+	line "used to fly 250"
+
+	para "kilometers above"
+	line "the earth, defy-"
+	cont "ing gravity!"
+
+	para "You know what else"
+	line "can defy gravity?"
+
+	para "Seismic Toss,"
+	line "of course!"
+	done
+
+Text_Museum2FTutorSeismicToss:
+	text "I can teach your"
+	line "#mon to use"
+
+	para "Seismic Toss for"
+	line "one Silver Leaf."
+	done
+
+Text_Museum2FTutorNoSilverLeaf:
+	text "You don't have a"
+	line "Silver Leaf!"
+	done
+
+Text_Museum2FTutorQuestion:
+	text "Should I teach"
+	line "your #mon"
+	cont "Seismic Toss?"
+	done
+
+Text_Museum2FTutorRefused:
+	text "If you say so."
+	done
+
+Text_Museum2FTutorTaught:
+	text "Now your #mon"
+	line "knows how to use"
+	cont "Seismic Toss!"
+	done
+
+Museum2FMoonStoneSignpostText:
+	text "Meteorite that"
+	line "fell on Mt.Moon."
+	cont "(Moon Stone)"
+	done
+
+Museum2FSpaceShuttleSignpostText:
+	text "Space Shuttle"
+	done
diff --git a/maps/ViridianForest.ablk b/maps/ViridianForest.ablk
new file mode 100644
index 0000000..568dc57
--- /dev/null
+++ b/maps/ViridianForest.ablk
@@ -0,0 +1 @@
+OpqrIIIIIIIIIIIIIINFtuv””””C””””””””–DFxyzC•••••GDF7[CG7CG@AAAB7GDF;KCK;CKHIIIJ7GDF;KCK;CGDF;KCK;CK@B7GCKDF;KCK;CKDF7GCKDF;KCK;CKDF7GCKDF;KCK;KDF7[CKDF;KCK7GDF7GDF;KCK@AAAALF;C7GDF;KHINEEEF;C7GDF7GDEEEF;C7GDMAAAAB7GDEEEF;C7GDOIIIIJ7GDEEEF;C7GDF;KCCHIINF;C7GDMAABKDF;GDEEEFK@B;KDF;@AALEEEFKDF;KDF;DEEEOIIJKHJ;KHJ;HIINF;CWKDF;KDMAAAAAAB•	•@AAAAAALEEEEEEEFpqrDEEEEEEEEEEEEEEFtuvDEEEEEEE
\ No newline at end of file
diff --git a/maps/ViridianForest.asm b/maps/ViridianForest.asm
new file mode 100644
index 0000000..13a2b03
--- /dev/null
+++ b/maps/ViridianForest.asm
@@ -0,0 +1,196 @@
+ViridianForest_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+
+	def_warp_events
+	warp_event  3,  5, VIRIDIAN_FOREST_PEWTER_GATE, 1
+	warp_event 18, 47, VIRIDIAN_FOREST_VIRIDIAN_GATE, 1
+	warp_event 19, 47, VIRIDIAN_FOREST_VIRIDIAN_GATE, 2
+
+	def_coord_events
+
+	def_bg_events
+	bg_event  4,  7, BGEVENT_JUMPTEXT, ViridianForestSignText1
+	bg_event  6, 26, BGEVENT_JUMPTEXT, ViridianForestSignText2
+	bg_event 28, 19, BGEVENT_JUMPTEXT, ViridianForestSignText3
+	bg_event 18, 34, BGEVENT_JUMPTEXT, ViridianForestSignText4
+	bg_event 26, 42, BGEVENT_JUMPTEXT, ViridianForestSignText5
+	bg_event 20, 44, BGEVENT_JUMPTEXT, ViridianForestSignText6
+	bg_event 32, 44, BGEVENT_ITEM + MAX_ETHER, EVENT_VIRIDIAN_FOREST_HIDDEN_MAX_ETHER
+	bg_event 18, 43, BGEVENT_ITEM + FULL_HEAL, EVENT_VIRIDIAN_FOREST_HIDDEN_FULL_HEAL
+	bg_event  4, 43, BGEVENT_ITEM + MULCH, EVENT_VIRIDIAN_FOREST_HIDDEN_MULCH
+	bg_event 30,  9, BGEVENT_ITEM + BIG_MUSHROOM, EVENT_VIRIDIAN_FOREST_HIDDEN_BIG_MUSHROOM
+	bg_event  3, 14, BGEVENT_ITEM + LEAF_STONE, EVENT_VIRIDIAN_FOREST_HIDDEN_LEAF_STONE
+
+	def_object_events
+	object_event 29, 42, SPRITE_BUG_MANIAC, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_GENERICTRAINER, 2, GenericTrainerBug_maniacDane, -1
+	object_event 33, 35, SPRITE_BUG_MANIAC, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_GENERICTRAINER, 5, GenericTrainerBug_maniacDion, -1
+	object_event 32, 21, SPRITE_BUG_MANIAC, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_GENERICTRAINER, 4, GenericTrainerBug_maniacStacey, -1
+	object_event 31,  4, SPRITE_BUG_MANIAC, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_GENERICTRAINER, 3, GenericTrainerBug_maniacEllis, -1
+	object_event  5, 24, SPRITE_BUG_MANIAC, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_GENERICTRAINER, 4, GenericTrainerBug_maniacAbner, -1
+	itemball_event 14, 31, DIRE_HIT, 1, EVENT_ROUTE_2_DIRE_HIT
+	itemball_event  3, 33, MAX_POTION, 1, EVENT_ROUTE_2_MAX_POTION
+
+GenericTrainerBug_maniacDane:
+	generictrainer BUG_MANIAC, DANE, EVENT_BEAT_BUG_MANIAC_DANE, BugManiacDaneSeenText, BugManiacDaneBeatenText
+
+	text "Pretty impressive!"
+
+	para "I'm sure you can"
+	line "go anywhere with"
+	cont "that skill!"
+	done
+
+GenericTrainerBug_maniacDion:
+	generictrainer BUG_MANIAC, DION, EVENT_BEAT_BUG_MANIAC_DION, BugManiacDionSeenText, BugManiacDionBeatenText
+
+	text "Bug-type #mon"
+	line "make all kinds of"
+	cont "sounds."
+
+	para "For bug #mon"
+	line "fans, knowing how"
+	cont "to distinguish"
+	cont "them is key!"
+	done
+
+GenericTrainerBug_maniacStacey:
+	generictrainer BUG_MANIAC, STACEY, EVENT_BEAT_BUG_MANIAC_STACEY, BugManiacStaceySeenText, BugManiacStaceyBeatenText
+
+	text "Has anyone ever"
+	line "told you that from"
+	cont "behind you look"
+	cont "like a Venonat?"
+	done
+
+GenericTrainerBug_maniacEllis:
+	generictrainer BUG_MANIAC, ELLIS, EVENT_BEAT_BUG_MANIAC_ELLIS, BugManiacEllisSeenText, BugManiacEllisBeatenText
+
+	text "If this is it,"
+	line "then I don't mind"
+	cont "losing!"
+	done
+
+GenericTrainerBug_maniacAbner:
+	generictrainer BUG_MANIAC, ABNER, EVENT_BEAT_BUG_MANIAC_ABNER, BugManiacAbnerSeenText, BugManiacAbnerBeatenText
+
+	text "Doesn't matter what"
+	line "kind of #mon--"
+
+	para "as long as you"
+	line "like them, they"
+	cont "all look cute."
+	done
+
+BugManiacDaneSeenText:
+	text "Welcome to"
+	line "Viridian Forest."
+	cont "Enjoy my Bug-type"
+	cont "#mon."
+	done
+
+BugManiacDaneBeatenText:
+	text "That's wonderfulâ€¦"
+	done
+
+BugManiacDionSeenText:
+	text "Shh! Be quiet! The"
+	line "bug #mon will"
+	cont "run away!"
+	done
+
+BugManiacDionBeatenText:
+	text "Phewâ€¦"
+	done
+
+BugManiacStaceySeenText:
+	text "Wow, that's a HUGE"
+	line "#mon!"
+
+	para "â€¦"
+	line "â€¦What kind of"
+	cont "trainer?!"
+	done
+
+BugManiacStaceyBeatenText:
+	text "I couldn't catch"
+	line "it!"
+	done
+
+BugManiacEllisSeenText:
+	text "There's nothing"
+	line "more efficient and"
+	cont "beautiful than a"
+	cont "Bug-type #mon."
+	done
+
+BugManiacEllisBeatenText:
+	text "I lost"
+	line "beautifully!"
+	done
+
+BugManiacAbnerSeenText:
+	text "Many people prefer"
+	line "solid bug #mon"
+	cont "over squishy bug"
+	cont "#mon."
+	done
+
+BugManiacAbnerBeatenText:
+	text "Thanks for your"
+	line "hard work, my"
+	cont "lovely #monâ€¦"
+	done
+
+ViridianForestSignText1:
+	text "Leaving"
+	line "Viridian Forest"
+	cont "Pewter City Ahead"
+	done
+
+ViridianForestSignText2:
+	text "Trainer Tips"
+
+	para "Hold on to that"
+	line "Big Mushroom!"
+
+	para "Some maniacs will"
+	line "pay lots of money"
+	cont "for useless items!"
+	done
+
+ViridianForestSignText3:
+	text "Trainer Tips"
+
+	para "Grass-type #mon"
+	line "are unaffected by"
+
+	para "powder and spore"
+	line "moves!"
+	done
+
+ViridianForestSignText4:
+	text "For poison, use"
+	line "Antidote! Get it"
+	cont "at #mon Marts!"
+	done
+
+ViridianForestSignText5:
+	text "Trainer Tips"
+
+	para "Poison-type #-"
+	line "mon can't be poi-"
+	cont "soned themselves!"
+	done
+
+ViridianForestSignText6:
+	text "Trainer Tips"
+
+	para "Weaken #mon"
+	line "before attempting"
+	cont "capture!"
+
+	para "When healthy,"
+	line "they may escape!"
+	done
diff --git a/maps/ViridianForestPewterGate.asm b/maps/ViridianForestPewterGate.asm
new file mode 100644
index 0000000..db5c69a
--- /dev/null
+++ b/maps/ViridianForestPewterGate.asm
@@ -0,0 +1,25 @@
+ViridianForestPewterGate_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+
+	def_warp_events
+	warp_event  4,  7, VIRIDIAN_FOREST, 1
+	warp_event  5,  7, VIRIDIAN_FOREST, 1
+	warp_event  4,  0, ROUTE_2_NORTH, 5
+	warp_event  5,  0, ROUTE_2_NORTH, 6
+
+	def_coord_events
+
+	def_bg_events
+
+	def_object_events
+	object_event  0,  4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_COMMAND, jumptextfaceplayer, ViridianForestPewterGateOfficerText, -1
+
+ViridianForestPewterGateOfficerText:
+	text "Are you headed"
+	line "to Pewter City?"
+
+	para "Be sure to check"
+	line "out the Museum!"
+	done
diff --git a/maps/ViridianForestViridianGate.asm b/maps/ViridianForestViridianGate.asm
new file mode 100644
index 0000000..1e089a6
--- /dev/null
+++ b/maps/ViridianForestViridianGate.asm
@@ -0,0 +1,25 @@
+ViridianForestViridianGate_MapScriptHeader:
+	def_scene_scripts
+
+	def_callbacks
+
+	def_warp_events
+	warp_event  4,  0, VIRIDIAN_FOREST, 2
+	warp_event  5,  0, VIRIDIAN_FOREST, 3
+	warp_event  4,  7, ROUTE_2_SOUTH, 2
+	warp_event  5,  7, ROUTE_2_SOUTH, 2
+
+	def_coord_events
+
+	def_bg_events
+
+	def_object_events
+	object_event  0,  4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_COMMAND, jumptextfaceplayer, ViridianForestViridianGateOfficerText, -1
+
+ViridianForestViridianGateOfficerText:
+	text "Be careful,"
+	line "Viridian Forest"
+
+	para "is a natural"
+	line "maze!"
+	done
