summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIIMarckus <iimarckus@gmail.com>2018-10-03 01:26:37 -0600
committerIIMarckus <iimarckus@gmail.com>2018-10-03 01:26:37 -0600
commit752bb47344f9862a4fe9b7cc2b096b0fe42cfad9 (patch)
tree41a1023c43cf0568cd284538617207f2477acda2
parentf9eb9172a672755544e54a0562ec77b34734dfd1 (diff)
Add map objects from bank 5F.
-rw-r--r--main.asm21
-rw-r--r--maps/Route2Gate.asm40
-rw-r--r--maps/Route2NuggetHouse.asm65
-rw-r--r--maps/TrainerHouse1F.asm158
-rw-r--r--maps/TrainerHouseB1F.asm183
-rw-r--r--maps/VictoryRoadGate.asm119
-rw-r--r--maps/ViridianGym.asm184
-rw-r--r--maps/ViridianMart.asm51
-rw-r--r--maps/ViridianNicknameSpeechHouse.asm77
-rw-r--r--maps/ViridianPokecenter1F.asm88
-rw-r--r--maps/ViridianPokecenter2FBeta.asm16
11 files changed, 991 insertions, 11 deletions
diff --git a/main.asm b/main.asm
index 105406e0..35bad6ab 100644
--- a/main.asm
+++ b/main.asm
@@ -1922,17 +1922,16 @@ INCLUDE "maps/Route7SaffronGate.asm"
INCLUDE "maps/Route17Route18Gate.asm"
SECTION "bank5f", ROMX, BANK[$5f]
-;INCLUDE "maps/ViridianGym.asm"
-;INCLUDE "maps/ViridianNicknameSpeechHouse.asm"
-;INCLUDE "maps/TrainerHouse1F.asm"
-;INCLUDE "maps/TrainerHouseB1F.asm"
-;INCLUDE "maps/ViridianMart.asm"
-;INCLUDE "maps/ViridianPokecenter1F.asm"
-;INCLUDE "maps/ViridianPokecenter2FBeta.asm"
-;INCLUDE "maps/Route2NuggetHouse.asm"
-;INCLUDE "maps/Route2Gate.asm"
-;INCLUDE "maps/VictoryRoadGate.asm"
- dr $17c000, $180000
+INCLUDE "maps/ViridianGym.asm"
+INCLUDE "maps/ViridianNicknameSpeechHouse.asm"
+INCLUDE "maps/TrainerHouse1F.asm"
+INCLUDE "maps/TrainerHouseB1F.asm"
+INCLUDE "maps/ViridianMart.asm"
+INCLUDE "maps/ViridianPokecenter1F.asm"
+INCLUDE "maps/ViridianPokecenter2FBeta.asm"
+INCLUDE "maps/Route2NuggetHouse.asm"
+INCLUDE "maps/Route2Gate.asm"
+INCLUDE "maps/VictoryRoadGate.asm"
SECTION "bank60", ROMX, BANK[$60]
INCLUDE "maps/ElmsLab.asm"
diff --git a/maps/Route2Gate.asm b/maps/Route2Gate.asm
new file mode 100644
index 00000000..a9f37b2e
--- /dev/null
+++ b/maps/Route2Gate.asm
@@ -0,0 +1,40 @@
+ const_def 2 ; object constants
+ const ROUTE2GATE_SCIENTIST
+
+Route2Gate_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+Route2GateScientistScript:
+ jumptextfaceplayer Route2GateScientistText
+
+Route2GateScientistText:
+ text "Are you <PLAYER>?"
+
+ para "I work as PROF."
+ line "OAK's AIDE."
+
+ para "I had no idea that"
+ line "you were out here."
+
+ para "PROF.OAK's LAB is"
+ line "nearby in PALLET"
+ cont "TOWN."
+ done
+
+Route2Gate_MapEvents:
+ db 0, 0 ; filler
+
+ db 4 ; warp events
+ warp_event 4, 0, ROUTE_2, 3
+ warp_event 5, 0, ROUTE_2, 4
+ warp_event 4, 7, ROUTE_2, 2
+ warp_event 5, 7, ROUTE_2, 2
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 6, 4, SPRITE_SCIENTIST, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 2, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route2GateScientistScript, -1
diff --git a/maps/Route2NuggetHouse.asm b/maps/Route2NuggetHouse.asm
new file mode 100644
index 00000000..2fa4b892
--- /dev/null
+++ b/maps/Route2NuggetHouse.asm
@@ -0,0 +1,65 @@
+ const_def 2 ; object constants
+ const ROUTE2NUGGETHOUSE_FISHER
+
+Route2NuggetHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+Route2NuggetHouseFisherScript:
+ faceplayer
+ opentext
+ checkevent EVENT_GOT_NUGGET_FROM_GUY
+ iftrue .GotNugget
+ writetext Route2NuggetHouseFisherText
+ buttonsound
+ verbosegiveitem NUGGET
+ iffalse .NoRoom
+ setevent EVENT_GOT_NUGGET_FROM_GUY
+.GotNugget:
+ writetext Route2NuggetHouseFisherText_GotNugget
+ waitbutton
+.NoRoom:
+ closetext
+ end
+
+Route2NuggetHouseBookshelf:
+; unused
+ jumpstd difficultbookshelf
+
+Route2NuggetHouseFisherText:
+ text "Hi! Wow, I'm glad"
+ line "to see you."
+
+ para "You're the first"
+ line "visitor I've had"
+ cont "in a long time."
+
+ para "I'm super-happy!"
+ line "Let me give you a"
+ cont "little present."
+ done
+
+Route2NuggetHouseFisherText_GotNugget:
+ text "That's a NUGGET."
+
+ para "I can't give you"
+ line "any nuggets of"
+
+ para "wisdom, so that'll"
+ line "have to do!"
+ done
+
+Route2NuggetHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, ROUTE_2, 1
+ warp_event 3, 7, ROUTE_2, 1
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 1 ; object events
+ object_event 2, 4, SPRITE_FISHER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 2, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route2NuggetHouseFisherScript, -1
diff --git a/maps/TrainerHouse1F.asm b/maps/TrainerHouse1F.asm
new file mode 100644
index 00000000..ca682723
--- /dev/null
+++ b/maps/TrainerHouse1F.asm
@@ -0,0 +1,158 @@
+ const_def 2 ; object constants
+ const TRAINERHOUSE1F_RECEPTIONIST
+ const TRAINERHOUSE1F_COOLTRAINER_M
+ const TRAINERHOUSE1F_COOLTRAINER_F
+ const TRAINERHOUSE1F_YOUNGSTER
+ const TRAINERHOUSE1F_GENTLEMAN
+
+TrainerHouse1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+TrainerHouse1FReceptionistScript:
+ jumptextfaceplayer TrainerHouse1FReceptionistText
+
+TrainerHouse1FCooltrainerMScript:
+ jumptextfaceplayer TrainerHouse1FCooltrainerMText
+
+TrainerHouse1FCooltrainerFScript:
+ jumptextfaceplayer TrainerHouse1FCooltrainerFText
+
+TrainerHouse1FYoungsterScript:
+ jumptextfaceplayer TrainerHouse1FYoungsterText
+
+TrainerHouse1FGentlemanScript:
+ jumptextfaceplayer TrainerHouse1FGentlemanText
+
+TrainerHouseSign1:
+ jumptext TrainerHouseSign1Text
+
+TrainerHouseSign2:
+ jumptext TrainerHouseSign2Text
+
+TrainerHouseIllegibleBook:
+ jumptext TrainerHouseIllegibleText
+
+TrainerHouse1FReceptionistText:
+ text "Welcome to TRAINER"
+ line "HOUSE, the newest"
+
+ para "and most happening"
+ line "place in VIRIDIAN."
+
+ para "We're open to"
+ line "trainers only."
+
+ para "You can battle"
+ line "against the best"
+
+ para "of the best right"
+ line "downstairs."
+ done
+
+TrainerHouse1FCooltrainerMText:
+ text "VIRIDIAN is the"
+ line "town closest to"
+ cont "INDIGO PLATEAU."
+
+ para "They built this"
+ line "place because so"
+
+ para "many trainers pass"
+ line "through on their"
+
+ para "way up to INDIGO"
+ line "PLATEAU."
+ done
+
+TrainerHouse1FCooltrainerFText:
+ text "They hold practice"
+ line "battles downstairs"
+ cont "here."
+
+ para "I would love to"
+ line "see how well a"
+
+ para "trainer from JOHTO"
+ line "battles."
+ done
+
+TrainerHouse1FYoungsterText:
+ text "I guess you can't"
+ line "become the CHAMP"
+
+ para "unless you go all"
+ line "over the place and"
+
+ para "battle all kinds"
+ line "of people."
+
+ para "The CHAMPION from"
+ line "PALLET traveled to"
+
+ para "all the cities and"
+ line "towns in KANTO."
+ done
+
+TrainerHouse1FGentlemanText:
+ text "Whew… I'm taking a"
+ line "rest from #MON"
+ cont "battles."
+ done
+
+TrainerHouseSign1Text:
+ text "Practice battles"
+ line "are held in the"
+
+ para "TRAINING HALL"
+ line "downstairs."
+
+ para "Skilled trainers"
+ line "are invited to"
+ cont "participate."
+ done
+
+TrainerHouseSign2Text:
+ text "There are no rules"
+ line "or regulations for"
+
+ para "practice matches."
+ line "Just like in field"
+
+ para "battles, anything"
+ line "goes!"
+ done
+
+TrainerHouseIllegibleText:
+ text "…What's this?"
+ line "A strategy memo?"
+
+ para "This writing looks"
+ line "like ONIX tracks…"
+
+ para "It's completely"
+ line "illegible…"
+ done
+
+TrainerHouse1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 2, 13, VIRIDIAN_CITY, 3
+ warp_event 3, 13, VIRIDIAN_CITY, 3
+ warp_event 8, 2, TRAINER_HOUSE_B1F, 1
+
+ db 0 ; coord events
+
+ db 3 ; bg events
+ bg_event 5, 0, BGEVENT_READ, TrainerHouseSign1
+ bg_event 7, 0, BGEVENT_READ, TrainerHouseSign2
+ bg_event 7, 10, BGEVENT_READ, TrainerHouseIllegibleBook
+
+ db 5 ; object events
+ object_event 0, 11, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, TrainerHouse1FReceptionistScript, -1
+ object_event 7, 11, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TrainerHouse1FCooltrainerMScript, -1
+ object_event 6, 2, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_DOWN, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, TrainerHouse1FCooltrainerFScript, -1
+ object_event 4, 8, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, TrainerHouse1FYoungsterScript, -1
+ object_event 2, 4, SPRITE_GENTLEMAN, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TrainerHouse1FGentlemanScript, -1
diff --git a/maps/TrainerHouseB1F.asm b/maps/TrainerHouseB1F.asm
new file mode 100644
index 00000000..00de895a
--- /dev/null
+++ b/maps/TrainerHouseB1F.asm
@@ -0,0 +1,183 @@
+ const_def 2 ; object constants
+ const TRAINERHOUSEB1F_RECEPTIONIST
+ const TRAINERHOUSEB1F_CHRIS
+
+TrainerHouseB1F_MapScripts:
+ db 1 ; scene scripts
+ scene_script .DummyScene ; SCENE_DEFAULT
+
+ db 0 ; callbacks
+
+.DummyScene:
+ end
+
+TrainerHouseReceptionistScript:
+ turnobject PLAYER, UP
+ opentext
+ checkflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
+ iftrue .FoughtTooManyTimes
+ writetext TrainerHouseB1FIntroText
+ buttonsound
+ special TrainerHouse
+ iffalse .GetCal3Name
+ trainertotext CAL, CAL2, MEM_BUFFER_0
+ jump .GotName
+
+.GetCal3Name:
+ trainertotext CAL, CAL3, MEM_BUFFER_0
+.GotName:
+ writetext TrainerHouseB1FYourOpponentIsText
+ buttonsound
+ writetext TrainerHouseB1FAskWantToBattleText
+ yesorno
+ iffalse .Declined
+ setflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
+ writetext TrainerHouseB1FGoRightInText
+ waitbutton
+ closetext
+ applymovement PLAYER, Movement_EnterTrainerHouseBattleRoom
+ opentext
+ writetext TrainerHouseB1FCalBeforeText
+ waitbutton
+ closetext
+ special TrainerHouse
+ iffalse .NoSpecialBattle
+ winlosstext TrainerHouseB1FCalBeatenText, 0
+ setlasttalked TRAINERHOUSEB1F_CHRIS
+ loadtrainer CAL, CAL2
+ startbattle
+ reloadmapafterbattle
+ iffalse .End
+.NoSpecialBattle:
+ winlosstext TrainerHouseB1FCalBeatenText, 0
+ setlasttalked TRAINERHOUSEB1F_CHRIS
+ loadtrainer CAL, CAL3
+ startbattle
+ reloadmapafterbattle
+.End:
+ applymovement PLAYER, Movement_ExitTrainerHouseBattleRoom
+ end
+
+.Declined:
+ writetext TrainerHouseB1FPleaseComeAgainText
+ waitbutton
+ closetext
+ applymovement PLAYER, Movement_TrainerHouseTurnBack
+ end
+
+.FoughtTooManyTimes:
+ writetext TrainerHouseB1FSecondChallengeDeniedText
+ waitbutton
+ closetext
+ applymovement PLAYER, Movement_TrainerHouseTurnBack
+ end
+
+Movement_EnterTrainerHouseBattleRoom:
+ step LEFT
+ step LEFT
+ step LEFT
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ step DOWN
+ step LEFT
+ turn_head RIGHT
+ step_end
+
+Movement_ExitTrainerHouseBattleRoom:
+ step UP
+ step UP
+ step UP
+ step RIGHT
+ step UP
+ step UP
+ step UP
+ step UP
+ step UP
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step RIGHT
+ step_end
+
+Movement_TrainerHouseTurnBack:
+ step RIGHT
+ turn_head LEFT
+ step_end
+
+TrainerHouseB1FIntroText:
+ text "Hi. Welcome to our"
+ line "TRAINING HALL."
+
+ para "You may battle a"
+ line "trainer once per"
+ cont "day."
+ done
+
+TrainerHouseB1FYourOpponentIsText:
+ text_from_ram wStringBuffer3
+ text " is your"
+ line "opponent today."
+ done
+
+TrainerHouseB1FAskWantToBattleText:
+ text "Would you like to"
+ line "battle?"
+ done
+
+TrainerHouseB1FGoRightInText:
+ text "Please go right"
+ line "through."
+
+ para "You may begin"
+ line "right away."
+ done
+
+TrainerHouseB1FPleaseComeAgainText:
+ text "Sorry. Only those"
+ line "trainers who will"
+
+ para "be battling are"
+ line "allowed to go in."
+ done
+
+TrainerHouseB1FSecondChallengeDeniedText:
+ text "I'm sorry, sir."
+ line "This would be your"
+
+ para "second time today."
+ line "You're permitted"
+
+ para "to enter just once"
+ line "a day."
+ done
+
+TrainerHouseB1FCalBeatenText:
+ text "I lost…"
+ line "Darn…"
+ done
+
+TrainerHouseB1FCalBeforeText:
+ text "I traveled out"
+ line "here just so I"
+ cont "could battle you."
+ done
+
+TrainerHouseB1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 1 ; warp events
+ warp_event 9, 4, TRAINER_HOUSE_1F, 3
+
+ db 1 ; coord events
+ coord_event 7, 3, SCENE_DEFAULT, TrainerHouseReceptionistScript
+
+ db 0 ; bg events
+
+ db 2 ; object events
+ object_event 7, 1, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, ObjectEvent, -1
+ object_event 6, 11, SPRITE_CHRIS, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, ObjectEvent, -1
diff --git a/maps/VictoryRoadGate.asm b/maps/VictoryRoadGate.asm
new file mode 100644
index 00000000..c596efe8
--- /dev/null
+++ b/maps/VictoryRoadGate.asm
@@ -0,0 +1,119 @@
+ const_def 2 ; object constants
+ const VICTORYROADGATE_OFFICER
+ const VICTORYROADGATE_BLACK_BELT1
+ const VICTORYROADGATE_BLACK_BELT2
+
+VictoryRoadGate_MapScripts:
+ db 2 ; scene scripts
+ scene_script .DummyScene0 ; SCENE_DEFAULT
+ scene_script .DummyScene1 ; SCENE_FINISHED
+
+ db 0 ; callbacks
+
+.DummyScene0:
+ end
+
+.DummyScene1:
+ end
+
+VictoryRoadGateBadgeCheckScene:
+ turnobject PLAYER, LEFT
+ jump VictoryRoadGateBadgeCheckScript
+
+VictoryRoadGateOfficerScript:
+ faceplayer
+VictoryRoadGateBadgeCheckScript:
+ opentext
+ writetext VictoryRoadGateOfficerText
+ buttonsound
+ checkcode VAR_BADGES
+ ifgreater NUM_JOHTO_BADGES - 1, .AllEightBadges
+ writetext VictoryRoadGateNotEnoughBadgesText
+ waitbutton
+ closetext
+ applymovement PLAYER, VictoryRoadGateStepDownMovement
+ end
+
+.AllEightBadges:
+ writetext VictoryRoadGateEightBadgesText
+ waitbutton
+ closetext
+ setscene SCENE_FINISHED
+ end
+
+VictoryRoadGateLeftBlackBeltScript:
+ jumptextfaceplayer VictoryRoadGateLeftBlackBeltText
+
+VictoryRoadGateRightBlackBeltScript:
+ jumptextfaceplayer VictoryRoadGateRightBlackBeltText
+
+VictoryRoadGateStepDownMovement:
+ step DOWN
+ step_end
+
+VictoryRoadGateOfficerText:
+ text "Only trainers who"
+ line "have proven them-"
+ cont "selves may pass."
+ done
+
+VictoryRoadGateNotEnoughBadgesText:
+ text "You don't have all"
+ line "the GYM BADGES of"
+ cont "JOHTO."
+
+ para "I'm sorry, but I"
+ line "can't let you go"
+ cont "through."
+ done
+
+VictoryRoadGateEightBadgesText:
+ text "Oh! The eight"
+ line "BADGES of JOHTO!"
+
+ para "Please, go right"
+ line "ahead, sir!"
+ done
+
+VictoryRoadGateLeftBlackBeltText:
+ text "This way leads to"
+ line "MT.SILVER."
+
+ para "You'll see scary-"
+ line "strong #MON out"
+ cont "there."
+ done
+
+VictoryRoadGateRightBlackBeltText:
+ text "Off to the #MON"
+ line "LEAGUE, are you?"
+
+ para "The ELITE FOUR are"
+ line "so strong it's"
+
+ para "scary, and they're"
+ line "ready for you!"
+ done
+
+VictoryRoadGate_MapEvents:
+ db 0, 0 ; filler
+
+ db 8 ; warp events
+ warp_event 17, 7, ROUTE_22, 1
+ warp_event 18, 7, ROUTE_22, 1
+ warp_event 9, 17, ROUTE_26, 1
+ warp_event 10, 17, ROUTE_26, 1
+ warp_event 9, 0, VICTORY_ROAD, 1
+ warp_event 10, 0, VICTORY_ROAD, 1
+ warp_event 1, 7, ROUTE_28, 2
+ warp_event 2, 7, ROUTE_28, 2
+
+ db 1 ; coord events
+ coord_event 10, 11, SCENE_DEFAULT, VictoryRoadGateBadgeCheckScene
+
+ db 0 ; bg events
+
+ db 3 ; object events
+ object_event 8, 11, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, VictoryRoadGateOfficerScript, -1
+ object_event 7, 5, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, VictoryRoadGateLeftBlackBeltScript, EVENT_OPENED_MT_SILVER
+ object_event 12, 5, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, VictoryRoadGateRightBlackBeltScript, EVENT_FOUGHT_SNORLAX
diff --git a/maps/ViridianGym.asm b/maps/ViridianGym.asm
new file mode 100644
index 00000000..88562e89
--- /dev/null
+++ b/maps/ViridianGym.asm
@@ -0,0 +1,184 @@
+ const_def 2 ; object constants
+ const VIRIDIANGYM_BLUE
+ const VIRIDIANGYM_GYM_GUY
+
+ViridianGym_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+ViridianGymBlueScript:
+ faceplayer
+ opentext
+ checkflag ENGINE_EARTHBADGE
+ iftrue .FightDone
+ writetext LeaderBlueBeforeText
+ waitbutton
+ closetext
+ winlosstext LeaderBlueWinText, 0
+ loadtrainer BLUE, BLUE1
+ startbattle
+ reloadmapafterbattle
+ setevent EVENT_BEAT_BLUE
+ opentext
+ writetext Text_ReceivedEarthBadge
+ playsound SFX_GET_BADGE
+ waitsfx
+ setflag ENGINE_EARTHBADGE
+ writetext LeaderBlueAfterText
+ waitbutton
+ closetext
+ end
+
+.FightDone:
+ writetext LeaderBlueEpilogueText
+ waitbutton
+ closetext
+ end
+
+ViridianGymGuyScript:
+ faceplayer
+ opentext
+ checkevent EVENT_BEAT_BLUE
+ iftrue .ViridianGymGuyWinScript
+ writetext ViridianGymGuyText
+ waitbutton
+ closetext
+ end
+
+.ViridianGymGuyWinScript:
+ writetext ViridianGymGuyWinText
+ waitbutton
+ closetext
+ end
+
+ViridianGymStatue:
+ checkflag ENGINE_EARTHBADGE
+ iftrue .Beaten
+ jumpstd gymstatue1
+
+.Beaten:
+ trainertotext BLUE, BLUE1, MEM_BUFFER_1
+ jumpstd gymstatue2
+
+LeaderBlueBeforeText:
+ text "BLUE: Yo! Finally"
+ line "got here, huh?"
+
+ para "I wasn't in the"
+ line "mood at CINNABAR,"
+
+ para "but now I'm ready"
+ line "to battle you."
+
+ para "…"
+
+ para "You're telling me"
+ line "you conquered all"
+ cont "the GYMS in JOHTO?"
+
+ para "Heh! JOHTO's GYMS"
+ line "must be pretty"
+ cont "pathetic then."
+
+ para "Hey, don't worry"
+ line "about it."
+
+ para "I'll know if you"
+ line "are good or not by"
+
+ para "battling you right"
+ line "now."
+
+ para "Ready, JOHTO boy?"
+ done
+
+LeaderBlueWinText:
+ text "BLUE: What?"
+
+ para "How the heck did I"
+ line "lose to you?"
+
+ para "…"
+
+ para "Tch, all right…"
+ line "Here, take this--"
+ cont "it's EARTHBADGE."
+ done
+
+Text_ReceivedEarthBadge:
+ text "<PLAYER> received"
+ line "EARTHBADGE."
+ done
+
+LeaderBlueAfterText:
+ text "BLUE: …"
+
+ para "All right, I was"
+ line "wrong. You're the"
+
+ para "real deal. You are"
+ line "a good trainer."
+
+ para "But I'm going to"
+ line "beat you someday."
+
+ para "Don't you forget"
+ line "it!"
+ done
+
+LeaderBlueEpilogueText:
+ text "BLUE: Listen, you."
+
+ para "You'd better not"
+ line "lose until I beat"
+ cont "you. Got it?"
+ done
+
+ViridianGymGuyText:
+ text "Yo, CHAMP in"
+ line "making!"
+
+ para "How's it going?"
+ line "Looks like you're"
+ cont "on a roll."
+
+ para "The GYM LEADER is"
+ line "a guy who battled"
+
+ para "the CHAMPION three"
+ line "years ago."
+
+ para "He's no pushover."
+
+ para "Give it everything"
+ line "you've got!"
+ done
+
+ViridianGymGuyWinText:
+ text "Man, you are truly"
+ line "tough…"
+
+ para "That was a heck of"
+ line "an inspirational"
+
+ para "battle. It brought"
+ line "tears to my eyes."
+ done
+
+ViridianGym_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 4, 17, VIRIDIAN_CITY, 1
+ warp_event 5, 17, VIRIDIAN_CITY, 1
+
+ db 0 ; coord events
+
+ db 2 ; bg events
+ bg_event 3, 13, BGEVENT_READ, ViridianGymStatue
+ bg_event 6, 13, BGEVENT_READ, ViridianGymStatue
+
+ db 2 ; object events
+ object_event 5, 3, SPRITE_BLUE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ViridianGymBlueScript, EVENT_VIRIDIAN_GYM_BLUE
+ object_event 7, 13, SPRITE_GYM_GUY, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianGymGuyScript, EVENT_VIRIDIAN_GYM_BLUE
diff --git a/maps/ViridianMart.asm b/maps/ViridianMart.asm
new file mode 100644
index 00000000..6045fab2
--- /dev/null
+++ b/maps/ViridianMart.asm
@@ -0,0 +1,51 @@
+ const_def 2 ; object constants
+ const VIRIDIANMART_CLERK
+ const VIRIDIANMART_LASS
+ const VIRIDIANMART_COOLTRAINER_M
+
+ViridianMart_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+ViridianMartClerkScript:
+ opentext
+ pokemart MARTTYPE_STANDARD, MART_VIRIDIAN
+ closetext
+ end
+
+ViridianMartLassScript:
+ jumptextfaceplayer ViridianMartLassText
+
+ViridianMartCooltrainerMScript:
+ jumptextfaceplayer ViridianMartCooltrainerMText
+
+ViridianMartLassText:
+ text "The GYM LEADER"
+ line "here is totally"
+ cont "cool."
+ done
+
+ViridianMartCooltrainerMText:
+ text "Have you been to"
+ line "CINNABAR?"
+
+ para "It's an island way"
+ line "south of here."
+ done
+
+ViridianMart_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, VIRIDIAN_CITY, 4
+ warp_event 3, 7, VIRIDIAN_CITY, 4
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 3 ; object events
+ object_event 1, 3, SPRITE_CLERK, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ViridianMartClerkScript, -1
+ object_event 7, 2, SPRITE_LASS, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 2, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ViridianMartLassScript, -1
+ object_event 1, 6, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ViridianMartCooltrainerMScript, -1
diff --git a/maps/ViridianNicknameSpeechHouse.asm b/maps/ViridianNicknameSpeechHouse.asm
new file mode 100644
index 00000000..8fd12eb2
--- /dev/null
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -0,0 +1,77 @@
+ const_def 2 ; object constants
+ const VIRIDIANNICKNAMESPEECHHOUSE_POKEFAN_M
+ const VIRIDIANNICKNAMESPEECHHOUSE_LASS
+ const VIRIDIANNICKNAMESPEECHHOUSE_SPEARY
+ const VIRIDIANNICKNAMESPEECHHOUSE_RATTEY
+
+ViridianNicknameSpeechHouse_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+ViridianNicknameSpeechHousePokefanMScript:
+ jumptextfaceplayer ViridianNicknameSpeechHousePokefanMText
+
+ViridianNicknameSpeechHouseLassScript:
+ jumptextfaceplayer ViridianNicknameSpeechHouseLassText
+
+Speary:
+ opentext
+ writetext SpearyText
+ cry SPEAROW
+ waitbutton
+ closetext
+ end
+
+Rattey:
+ opentext
+ writetext RatteyText
+ cry RATTATA
+ waitbutton
+ closetext
+ end
+
+ViridianNicknameSpeechHousePokefanMText:
+ text "Do you put a lot"
+ line "of thought into"
+
+ para "naming your"
+ line "#MON?"
+
+ para "Giving them good"
+ line "nicknames adds to"
+
+ para "the fun of trading"
+ line "with others."
+ done
+
+ViridianNicknameSpeechHouseLassText:
+ text "They're SPEARY--"
+ line "a SPEAROW--and"
+ cont "RATTEY--a RATTATA."
+ done
+
+SpearyText:
+ text "SPEARY: Ch-chun!"
+ done
+
+RatteyText:
+ text "RATTEY: Kikiii!"
+ done
+
+ViridianNicknameSpeechHouse_MapEvents:
+ db 0, 0 ; filler
+
+ db 2 ; warp events
+ warp_event 2, 7, VIRIDIAN_CITY, 2
+ warp_event 3, 7, VIRIDIAN_CITY, 2
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 4 ; object events
+ object_event 2, 4, SPRITE_POKEFAN_M, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, ViridianNicknameSpeechHousePokefanMScript, -1
+ object_event 5, 4, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, ViridianNicknameSpeechHouseLassScript, -1
+ object_event 5, 2, SPRITE_MOLTRES, SPRITEMOVEDATA_POKEMON, 2, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, Speary, -1
+ object_event 6, 3, SPRITE_GROWLITHE, SPRITEMOVEDATA_POKEMON, 2, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Rattey, -1
diff --git a/maps/ViridianPokecenter1F.asm b/maps/ViridianPokecenter1F.asm
new file mode 100644
index 00000000..431bda18
--- /dev/null
+++ b/maps/ViridianPokecenter1F.asm
@@ -0,0 +1,88 @@
+ const_def 2 ; object constants
+ const VIRIDIANPOKECENTER1F_NURSE
+ const VIRIDIANPOKECENTER1F_COOLTRAINER_M
+ const VIRIDIANPOKECENTER1F_COOLTRAINER_F
+ const VIRIDIANPOKECENTER1F_BUG_CATCHER
+
+ViridianPokecenter1F_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+ViridianPokecenter1FNurseScript:
+ jumpstd pokecenternurse
+
+ViridianPokecenter1FCooltrainerMScript:
+ faceplayer
+ opentext
+ checkevent EVENT_BLUE_IN_CINNABAR
+ iftrue .BlueReturned
+ writetext ViridianPokecenter1FCooltrainerMText
+ waitbutton
+ closetext
+ end
+
+.BlueReturned:
+ writetext ViridianPokecenter1FCooltrainerMText_BlueReturned
+ waitbutton
+ closetext
+ end
+
+ViridianPokecenter1FCooltrainerFScript:
+ jumptextfaceplayer ViridianPokecenter1FCooltrainerFText
+
+ViridianPokecenter1FBugCatcherScript:
+ jumptextfaceplayer ViridianPokecenter1FBugCatcherText
+
+ViridianPokecenter1FCooltrainerMText:
+ text "Where in the world"
+ line "is VIRIDIAN's GYM"
+
+ para "LEADER? I wanted"
+ line "to challenge him."
+ done
+
+ViridianPokecenter1FCooltrainerMText_BlueReturned:
+ text "There are no GYM"
+ line "TRAINERS at the"
+ cont "VIRIDIAN GYM."
+
+ para "The LEADER claims"
+ line "his policy is to"
+
+ para "win without having"
+ line "any underlings."
+ done
+
+ViridianPokecenter1FCooltrainerFText:
+ text "I heard that the"
+ line "GYM in CINNABAR is"
+ cont "gone."
+
+ para "I wonder what be-"
+ line "came of BLAINE,"
+ cont "the GYM LEADER."
+ done
+
+ViridianPokecenter1FBugCatcherText:
+ text "My dream is to be-"
+ line "come a GYM LEADER."
+ done
+
+ViridianPokecenter1F_MapEvents:
+ db 0, 0 ; filler
+
+ db 3 ; warp events
+ warp_event 3, 7, VIRIDIAN_CITY, 5
+ warp_event 4, 7, VIRIDIAN_CITY, 5
+ warp_event 0, 7, POKECENTER_2F, 1
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 4 ; object events
+ object_event 3, 1, SPRITE_NURSE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ViridianPokecenter1FNurseScript, -1
+ object_event 8, 4, SPRITE_COOLTRAINER_M, SPRITEMOVEDATA_WALK_LEFT_RIGHT, 1, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, ViridianPokecenter1FCooltrainerMScript, -1
+ object_event 5, 3, SPRITE_COOLTRAINER_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ViridianPokecenter1FCooltrainerFScript, -1
+ object_event 1, 6, SPRITE_BUG_CATCHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, ViridianPokecenter1FBugCatcherScript, -1
diff --git a/maps/ViridianPokecenter2FBeta.asm b/maps/ViridianPokecenter2FBeta.asm
new file mode 100644
index 00000000..1c22d7dd
--- /dev/null
+++ b/maps/ViridianPokecenter2FBeta.asm
@@ -0,0 +1,16 @@
+ViridianPokecenter2FBeta_MapScripts:
+ db 0 ; scene scripts
+
+ db 0 ; callbacks
+
+ViridianPokecenter2FBeta_MapEvents:
+ db 0, 0 ; filler
+
+ db 1 ; warp events
+ warp_event 0, 7, VIRIDIAN_POKECENTER_1F, 3
+
+ db 0 ; coord events
+
+ db 0 ; bg events
+
+ db 0 ; object events