diff options
Diffstat (limited to 'maps/ElmsLab.asm')
-rw-r--r-- | maps/ElmsLab.asm | 2840 |
1 files changed, 1424 insertions, 1416 deletions
diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm index af3545944..ffbd6178f 100644 --- a/maps/ElmsLab.asm +++ b/maps/ElmsLab.asm @@ -1,1416 +1,1424 @@ -ElmsLab_MapScriptHeader: -.MapTriggers: - db 6 - - ; triggers - dw UnknownScript_0x78b7a, 0 - dw UnknownScript_0x78b7e, 0 - dw UnknownScript_0x78b7f, 0 - dw UnknownScript_0x78b80, 0 - dw UnknownScript_0x78b81, 0 - dw UnknownScript_0x78b82, 0 - -.MapCallbacks: - db 1 - - ; callbacks - - dbw 2, ElmsLab_PutElmAtLaptop - -UnknownScript_0x78b7a: - priorityjump ElmsLab_AutowalkUpToElm - end - -UnknownScript_0x78b7e: - end - -UnknownScript_0x78b7f: - end - -UnknownScript_0x78b80: - end - -UnknownScript_0x78b81: - end - -UnknownScript_0x78b82: - end - -ElmsLab_PutElmAtLaptop: - checktriggers - iftrue .Skip - moveperson $2, $3, $4 -.Skip: - return - -ElmsLab_AutowalkUpToElm: - applymovement PLAYER, ElmsLab_WalkUpToElmMovement - showemote EMOTE_SHOCK, $2, 15 - spriteface $2, RIGHT - loadfont - writetext ElmText_Intro -ElmsLab_RefuseLoop: - yesorno - iftrue ElmsLab_ElmGetsEmail - writetext ElmText_Refused - jump ElmsLab_RefuseLoop - -ElmsLab_ElmGetsEmail: - writetext ElmText_Accepted - keeptextopen - writetext ElmText_ResearchAmbitions - closetext - loadmovesprites - playsound SFX_GLASS_TING - pause 30 - showemote EMOTE_SHOCK, $2, 10 - spriteface $2, DOWN - loadfont - writetext ElmText_GotAnEmail - closetext - loadmovesprites - loadfont - spriteface $2, RIGHT - writetext ElmText_MissionFromMrPokemon - closetext - loadmovesprites - applymovement $2, ElmsLab_ElmToDefaultPositionMovement1 - spriteface PLAYER, UP - applymovement $2, ElmsLab_ElmToDefaultPositionMovement2 - spriteface PLAYER, RIGHT - loadfont - writetext ElmText_ChooseAPokemon - closetext - dotrigger $1 - loadmovesprites - end - -ProfElmScript: - faceplayer - loadfont - checkevent EVENT_GOT_SS_TICKET_FROM_ELM - iftrue ElmCheckMasterBall - checkevent EVENT_BEAT_ELITE_FOUR - iftrue ElmGiveTicketScript -ElmCheckMasterBall: - checkevent EVENT_GOT_MASTER_BALL_FROM_ELM - iftrue ElmCheckEverstone - checkflag ENGINE_RISINGBADGE - iftrue ElmGiveMasterBallScript -ElmCheckEverstone: - checkevent EVENT_GOT_EVERSTONE_FROM_ELM - iftrue ElmScript_CallYou - checkevent EVENT_SHOWED_TOGEPI_TO_ELM - iftrue ElmGiveEverstoneScript - checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE - iffalse ElmCheckTogepiEgg - writebyte TOGEPI - special Special_FindThatSpeciesYourTrainerID - iftrue ShowElmTogepiScript - writebyte TOGETIC - special Special_FindThatSpeciesYourTrainerID - iftrue ShowElmTogepiScript - writetext UnknownText_0x79a40 - closetext - loadmovesprites - end - -ElmEggHatchedScript: - writebyte TOGEPI - special Special_FindThatSpeciesYourTrainerID - iftrue ShowElmTogepiScript - writebyte TOGETIC - special Special_FindThatSpeciesYourTrainerID - iftrue ShowElmTogepiScript - jump ElmCheckGotEggAgain - -ElmCheckTogepiEgg: - checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE - iffalse ElmCheckGotEggAgain - checkevent EVENT_TOGEPI_HATCHED - iftrue ElmEggHatchedScript -ElmCheckGotEggAgain: - checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE ; why are we checking it again? - iftrue ElmWaitingEggHatchScript - checkflag ENGINE_ZEPHYRBADGE - iftrue ElmAideHasEggScript - checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM - iftrue ElmStudyingEggScript - checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON - iftrue ElmAfterTheftScript - checkevent EVENT_GOT_A_POKEMON_FROM_ELM - iftrue ElmDescribesMrPokemonScript - writetext ElmText_LetYourMonBattleIt - closetext - loadmovesprites - end - -LabTryToLeaveScript: - spriteface $2, DOWN - loadfont - writetext LabWhereGoingText - closetext - loadmovesprites - applymovement PLAYER, MovementData_0x78f70 - end - -CyndaquilPokeBallScript: - checkevent EVENT_GOT_A_POKEMON_FROM_ELM - iftrue LookAtElmPokeBallScript - spriteface $2, DOWN - refreshscreen $0 - pokepic CYNDAQUIL - cry CYNDAQUIL - closetext - pokepicyesorno - loadfont - writetext TakeCyndaquilText - yesorno - iffalse DidntChooseStarterScript - disappear $4 - setevent EVENT_GOT_CYNDAQUIL_FROM_ELM - writetext ChoseStarterText - keeptextopen - waitbutton - pokenamemem CYNDAQUIL, $0 - writetext ReceivedStarterText - playsound SFX_CAUGHT_MON - waitbutton - keeptextopen - givepoke CYNDAQUIL, 5, BERRY - loadmovesprites - checkcode VAR_FACING - if_equal $3, ElmDirectionsScript - applymovement PLAYER, AfterCyndaquilMovement - jump ElmDirectionsScript - -TotodilePokeBallScript: - checkevent EVENT_GOT_A_POKEMON_FROM_ELM - iftrue LookAtElmPokeBallScript - spriteface $2, DOWN - refreshscreen $0 - pokepic TOTODILE - cry TOTODILE - closetext - pokepicyesorno - loadfont - writetext TakeTotodileText - yesorno - iffalse DidntChooseStarterScript - disappear $5 - setevent EVENT_GOT_TOTODILE_FROM_ELM - writetext ChoseStarterText - keeptextopen - waitbutton - pokenamemem TOTODILE, $0 - writetext ReceivedStarterText - playsound SFX_CAUGHT_MON - waitbutton - keeptextopen - givepoke TOTODILE, 5, BERRY - loadmovesprites - applymovement PLAYER, AfterTotodileMovement - jump ElmDirectionsScript - -ChikoritaPokeBallScript: - checkevent EVENT_GOT_A_POKEMON_FROM_ELM - iftrue LookAtElmPokeBallScript - spriteface $2, DOWN - refreshscreen $0 - pokepic CHIKORITA - cry CHIKORITA - closetext - pokepicyesorno - loadfont - writetext TakeChikoritaText - yesorno - iffalse DidntChooseStarterScript - disappear $6 - setevent EVENT_GOT_CHIKORITA_FROM_ELM - writetext ChoseStarterText - keeptextopen - waitbutton - pokenamemem CHIKORITA, $0 - writetext ReceivedStarterText - playsound SFX_CAUGHT_MON - waitbutton - keeptextopen - givepoke CHIKORITA, 5, BERRY - loadmovesprites - applymovement PLAYER, AfterChikoritaMovement - jump ElmDirectionsScript - -DidntChooseStarterScript: - writetext DidntChooseStarterText - closetext - loadmovesprites - end - -ElmDirectionsScript: - spriteface PLAYER, UP - loadfont - writetext ElmDirectionsText1 - closetext - loadmovesprites - addcellnum PHONE_ELM - loadfont - writetext GotElmsNumberText - playsound SFX_REGISTER_PHONE_NUMBER - waitbutton - closetext - loadmovesprites - spriteface $2, LEFT - loadfont - writetext ElmDirectionsText2 - closetext - loadmovesprites - spriteface $2, DOWN - loadfont - writetext ElmDirectionsText3 - closetext - loadmovesprites - setevent EVENT_GOT_A_POKEMON_FROM_ELM - setevent EVENT_RIVAL_CHERRYGROVE_CITY - dotrigger $5 - domaptrigger NEW_BARK_TOWN, $1 - end - -ElmDescribesMrPokemonScript: - writetext ElmDescribesMrPokemonText - closetext - loadmovesprites - end - -LookAtElmPokeBallScript: - loadfont - writetext ElmPokeBallText - closetext - loadmovesprites - end - -ElmsLabHealingMachine: - loadfont - checkevent EVENT_GOT_A_POKEMON_FROM_ELM - iftrue .CanHeal - writetext ElmsLabHealingMachineText1 - closetext - loadmovesprites - end - -.CanHeal - writetext ElmsLabHealingMachineText2 - yesorno - iftrue ElmsLabHealingMachine_HealParty - loadmovesprites - end - -ElmsLabHealingMachine_HealParty: - special Mobile_HealParty - special HealParty - playmusic MUSIC_NONE - writebyte 1 ; Machine is in Elm's Lab - special HealMachineAnim - pause 30 - special RestartMapMusic - loadmovesprites - end - -ElmAfterTheftDoneScript: - closetext - loadmovesprites - end - -ElmAfterTheftScript: - writetext ElmAfterTheftText1 - checkitem MYSTERY_EGG - iffalse ElmAfterTheftDoneScript - keeptextopen - writetext ElmAfterTheftText2 - closetext - takeitem MYSTERY_EGG - scall ElmJumpBackScript1 - writetext ElmAfterTheftText3 - closetext - scall ElmJumpBackScript2 - writetext ElmAfterTheftText4 - keeptextopen - writetext ElmAfterTheftText5 - keeptextopen - setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM - setflag ENGINE_BUG_CONTEST_ON - domaptrigger ROUTE_29, $1 - clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY - setevent EVENT_ROUTE_30_BATTLE - writetext ElmAfterTheftText6 - closetext - loadmovesprites - dotrigger $6 - end - -ElmStudyingEggScript: - writetext ElmStudyingEggText - closetext - loadmovesprites - end - -ElmAideHasEggScript: - writetext ElmAideHasEggText - closetext - loadmovesprites - end - -ElmWaitingEggHatchScript: - writetext ElmWaitingEggHatchText - closetext - loadmovesprites - end - -ShowElmTogepiScript: - writetext ShowElmTogepiText1 - closetext - loadmovesprites - showemote EMOTE_SHOCK, $2, 15 - setevent EVENT_SHOWED_TOGEPI_TO_ELM - loadfont - writetext ShowElmTogepiText2 - keeptextopen - writetext ShowElmTogepiText3 - keeptextopen -ElmGiveEverstoneScript: - writetext ElmGiveEverstoneText1 - keeptextopen - verbosegiveitem EVERSTONE - iffalse ElmScript_NoRoomForEverstone - writetext ElmGiveEverstoneText2 - closetext - loadmovesprites - setevent EVENT_GOT_EVERSTONE_FROM_ELM - end - -ElmScript_CallYou: - writetext ElmText_CallYou - closetext -ElmScript_NoRoomForEverstone: - loadmovesprites - end - -ElmGiveMasterBallScript: - writetext ElmGiveMasterBallText1 - keeptextopen - verbosegiveitem MASTER_BALL - iffalse .notdone - setevent EVENT_GOT_MASTER_BALL_FROM_ELM - writetext ElmGiveMasterBallText2 - closetext -.notdone - loadmovesprites - end - -ElmGiveTicketScript: - writetext ElmGiveTicketText1 - keeptextopen - verbosegiveitem S_S_TICKET - setevent EVENT_GOT_SS_TICKET_FROM_ELM - writetext ElmGiveTicketText2 - closetext - loadmovesprites - end - -ElmJumpBackScript1: - loadmovesprites - checkcode VAR_FACING - if_equal DOWN, ElmJumpDownScript - if_equal UP, ElmJumpUpScript - if_equal LEFT, ElmJumpLeftScript - if_equal RIGHT, ElmJumpRightScript - end - -ElmJumpBackScript2: - loadmovesprites - checkcode VAR_FACING - if_equal DOWN, ElmJumpUpScript - if_equal UP, ElmJumpDownScript - if_equal LEFT, ElmJumpRightScript - if_equal RIGHT, ElmJumpLeftScript - end - -ElmJumpUpScript: - applymovement $2, ElmJumpUpMovement - loadfont - end - -ElmJumpDownScript: - applymovement $2, ElmJumpDownMovement - loadfont - end - -ElmJumpLeftScript: - applymovement $2, ElmJumpLeftMovement - loadfont - end - -ElmJumpRightScript: - applymovement $2, ElmJumpRightMovement - loadfont - end - -AideScript_WalkPotions1: - applymovement $3, AideWalksRight1 - spriteface PLAYER, DOWN - scall AideScript_GivePotions - applymovement $3, AideWalksLeft1 - end - -AideScript_WalkPotions2: - applymovement $3, AideWalksRight2 - spriteface PLAYER, DOWN - scall AideScript_GivePotions - applymovement $3, AideWalksLeft2 - end - -AideScript_GivePotions: - loadfont - writetext AideText_GiveYouPotions - keeptextopen - verbosegiveitem POTION - writetext AideText_AlwaysBusy - closetext - loadmovesprites - dotrigger $2 - end - -AideScript_WalkBalls1: - applymovement $3, AideWalksRight1 - spriteface PLAYER, DOWN - scall AideScript_GiveYouBalls - applymovement $3, AideWalksLeft1 - end - -AideScript_WalkBalls2: - applymovement $3, AideWalksRight2 - spriteface PLAYER, DOWN - scall AideScript_GiveYouBalls - applymovement $3, AideWalksLeft2 - end - -AideScript_GiveYouBalls: - loadfont - writetext AideText_GiveYouBalls - keeptextopen - itemtotext POKE_BALL, $1 - scall AideScript_ReceiveTheBalls - giveitem POKE_BALL, 5 - writetext AideText_ExplainBalls - keeptextopen - itemnotify - loadmovesprites - dotrigger $2 - end - -AideScript_ReceiveTheBalls: - jumpstd receiveitem - end - -ElmsAideScript: - faceplayer - loadfont - checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE - iftrue AideScript_AfterTheft - checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM - iftrue AideScript_ExplainBalls - checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON - iftrue AideScript_TheftTestimony - writetext AideText_AlwaysBusy - closetext - loadmovesprites - end - -AideScript_TheftTestimony: - writetext AideText_TheftTestimony - closetext - loadmovesprites - end - -AideScript_ExplainBalls: - writetext AideText_ExplainBalls - closetext - loadmovesprites - end - -AideScript_AfterTheft: - writetext AideText_AfterTheft - closetext - loadmovesprites - end - -MeetCopScript2: - applymovement PLAYER, MeetCopScript2_StepLeft - -MeetCopScript: - applymovement PLAYER, MeetCopScript_WalkUp -CopScript: - spriteface $7, LEFT - loadfont - writetext ElmsLabOfficerText1 - keeptextopen - special SpecialNameRival - writetext ElmsLabOfficerText2 - closetext - loadmovesprites - applymovement $7, OfficerLeavesMovement - disappear $7 - dotrigger $2 - end - -ElmsLabWindow: - loadfont - checkflag ENGINE_FLYPOINT_VIOLET - iftrue .Normal - checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON - iftrue .BreakIn - jump .Normal - -.BreakIn - writetext ElmsLabWindowText2 - closetext - loadmovesprites - end - -.Normal - writetext ElmsLabWindowText1 - closetext - loadmovesprites - end - -ElmsLabTravelTip1: - jumptext ElmsLabTravelTip1Text - -ElmsLabTravelTip2: - jumptext ElmsLabTravelTip2Text - -ElmsLabTravelTip3: - jumptext ElmsLabTravelTip3Text - -ElmsLabTravelTip4: - jumptext ElmsLabTravelTip4Text - -ElmsLabTrashcan: - jumptext ElmsLabTrashcanText - -ElmsLabPC: - jumptext ElmsLabPCText - -ElmsLabTrashcan2: -; unused - jumpstd trashcan - -ElmsLabBookshelf: - jumpstd difficultbookshelf - -ElmsLab_WalkUpToElmMovement: - step_up - step_up - step_up - step_up - step_up - step_up - step_up - turn_head_left - step_end - -MovementData_0x78f70: - step_up - step_end - -MeetCopScript2_StepLeft: - step_left - step_end - -MeetCopScript_WalkUp: - step_up - step_up - turn_head_right - step_end - -OfficerLeavesMovement: - step_down - step_down - step_down - step_down - step_down - step_end - -AideWalksRight1: - step_right - step_right - turn_head_up - step_end - -AideWalksRight2: - step_right - step_right - step_right - turn_head_up - step_end - -AideWalksLeft1: - step_left - step_left - turn_head_down - step_end - -AideWalksLeft2: - step_left - step_left - step_left - turn_head_down - step_end - -ElmJumpUpMovement: - fix_facing - big_step_up - remove_fixed_facing - step_end - -ElmJumpDownMovement: - fix_facing - big_step_down - remove_fixed_facing - step_end - -ElmJumpLeftMovement: - fix_facing - big_step_left - remove_fixed_facing - step_end - -ElmJumpRightMovement: - fix_facing - big_step_right - remove_fixed_facing - step_end - -ElmsLab_ElmToDefaultPositionMovement1: - step_up - step_end - -ElmsLab_ElmToDefaultPositionMovement2: - step_right - step_right - step_up - turn_head_down - step_end - -AfterCyndaquilMovement: - step_left - step_up - turn_head_up - step_end - -AfterTotodileMovement: - step_left - step_left - step_up - turn_head_up - step_end - -AfterChikoritaMovement: - step_left - step_left - step_left - step_up - turn_head_up - step_end - -ElmText_Intro: - text "ELM: <PLAY_G>!" - line "There you are!" - - para "I needed to ask" - line "you a favor." - - para "I'm conducting new" - line "#MON research" - - para "right now. I was" - line "wondering if you" - - para "could help me with" - line "it, <PLAY_G>." - - para "You see…" - - para "I'm writing a" - line "paper that I want" - - para "to present at a" - line "conference." - - para "But there are some" - line "things I don't" - - para "quite understand" - line "yet." - - para "So!" - - para "I'd like you to" - line "raise a #MON" - - para "that I recently" - line "caught." - done - -ElmText_Accepted: - text "Thanks, <PLAY_G>!" - - para "You're a great" - line "help!" - done - -ElmText_Refused: - text "But… Please, I" - line "need your help!" - done - -ElmText_ResearchAmbitions: - text "When I announce my" - line "findings, I'm sure" - - para "we'll delve a bit" - line "deeper into the" - - para "many mysteries of" - line "#MON." - - para "You can count on" - line "it!" - done - -ElmText_GotAnEmail: - text "Oh, hey! I got an" - line "e-mail!" - - para $56, $56, $56 - line "Hm… Uh-huh…" - - para "Okay…" - done - -ElmText_MissionFromMrPokemon: - text "Hey, listen." - - para "I have an acquain-" - line "tance called MR." - cont "#MON." - - para "He keeps finding" - line "weird things and" - - para "raving about his" - line "discoveries." - - para "Anyway, I just got" - line "an e-mail from him" - - para "saying that this" - line "time it's real." - - para "It is intriguing," - line "but we're busy" - - para "with our #MON" - line "research…" - - para "Wait!" - - para "I know!" - - para "<PLAY_G>, can you" - line "go in our place?" - done - -ElmText_ChooseAPokemon: - text "I want you to" - line "raise one of the" - - para "#MON contained" - line "in these BALLS." - - para "You'll be that" - line "#MON's first" - cont "partner, <PLAY_G>!" - - para "Go on. Pick one!" - done - -ElmText_LetYourMonBattleIt: - text "If a wild #MON" - line "appears, let your" - cont "#MON battle it!" - done - -LabWhereGoingText: - text "ELM: Wait! Where" - line "are you going?" - done - -TakeCyndaquilText: - text "ELM: You'll take" - line "CYNDAQUIL, the" - cont "fire #MON?" - done - -TakeTotodileText: - text "ELM: Do you want" - line "TOTODILE, the" - cont "water #MON?" - done - -TakeChikoritaText: - text "ELM: So, you like" - line "CHIKORITA, the" - cont "grass #MON?" - done - -DidntChooseStarterText: - text "ELM: Think it over" - line "carefully." - - para "Your partner is" - line "important." - done - -ChoseStarterText: - text "ELM: I think" - line "that's a great" - cont "#MON too!" - done - -ReceivedStarterText: - text "<PLAYER> received" - line "@" - text_from_ram StringBuffer3 - text "!" - done - -ElmDirectionsText1: - text "MR.#MON lives a" - line "little bit beyond" - - para "CHERRYGROVE, the" - line "next city over." - - para "It's almost a" - line "direct route" - - para "there, so you" - line "can't miss it." - - para "But just in case," - line "here's my phone" - - para "number. Call me if" - line "anything comes up!" - done - -ElmDirectionsText2: - text "If your #MON is" - line "hurt, you should" - - para "heal it with this" - line "machine." - - para "Feel free to use" - line "it anytime." - done - -ElmDirectionsText3: - text "<PLAY_G>, I'm" - line "counting on you!" - done - -GotElmsNumberText: - text "<PLAYER> got ELM's" - line "phone number." - done - -ElmDescribesMrPokemonText: - text "MR.#MON goes" - line "everywhere and" - cont "finds rarities." - - para "Too bad they're" - line "just rare and" - cont "not very useful…" - done - -ElmPokeBallText: - text "It contains a" - line "#MON caught by" - cont "PROF.ELM." - done - -ElmsLabHealingMachineText1: - text "I wonder what this" - line "does?" - done - -ElmsLabHealingMachineText2: - text "Would you like to" - line "heal your #MON?" - done - -ElmAfterTheftText1: - text "ELM: <PLAY_G>, this" - line "is terrible…" - - para "Oh, yes, what was" - line "MR.#MON's big" - cont "discovery?" - done - -ElmAfterTheftText2: - text "<PLAYER> handed" - line "the MYSTERY EGG to" - cont "PROF.ELM." - done - -ElmAfterTheftText3: - text "ELM: This?" - done - -ElmAfterTheftText4: - text "But… Is it a" - line "#MON EGG?" - - para "If it is, it is a" - line "great discovery!" - done - -ElmAfterTheftText5: - text "ELM: What?!?" - - para "PROF.OAK gave you" - line "a #DEX?" - - para "<PLAY_G>, is that" - line "true? Th-that's" - cont "incredible!" - - para "He is superb at" - line "seeing the poten-" - cont "tial of people as" - cont "trainers." - - para "Wow, <PLAY_G>. You" - line "may have what it" - - para "takes to become" - line "the CHAMPION." - - para "You seem to be" - line "getting on great" - cont "with #MON too." - - para "You should take" - line "the #MON GYM" - cont "challenge." - - para "The closest GYM" - line "would be the one" - cont "in VIOLET CITY." - done - -ElmAfterTheftText6: - text "…<PLAY_G>. The" - line "road to the" - - para "championship will" - line "be a long one." - - para "Before you leave," - line "make sure that you" - cont "talk to your mom." - done - -ElmStudyingEggText: - text "ELM: Don't give" - line "up! I'll call if" - - para "I learn anything" - line "about that EGG!" - done - -ElmAideHasEggText: - text "ELM: <PLAY_G>?" - line "Didn't you meet my" - cont "assistant?" - - para "He should have met" - line "you with the EGG" - - para "at VIOLET CITY's" - line "#MON CENTER." - - para "You must have just" - line "missed him. Try to" - cont "catch him there." - done - -ElmWaitingEggHatchText: - text "ELM: Hey, has that" - line "EGG changed any?" - done - -UnknownText_0x79a40: - text "<PLAY_G>? I thought" - line "the EGG hatched." - - para "Where is the" - line "#MON?" - done - -ShowElmTogepiText1: - text "ELM: <PLAY_G>, you" - line "look great!" - done - -ShowElmTogepiText2: - text "What?" - line "That #MON!?!" - done - -ShowElmTogepiText3: - text "The EGG hatched!" - line "So, #MON are" - cont "born from EGGS…" - - para "No, perhaps not" - line "all #MON are." - - para "Wow, there's still" - line "a lot of research" - cont "to be done." - done - -ElmGiveEverstoneText1: - text "Thanks, <PLAY_G>!" - line "You're helping" - - para "unravel #MON" - line "mysteries for us!" - - para "I want you to have" - line "this as a token of" - cont "our appreciation." - done - -ElmGiveEverstoneText2: - text "That's an" - line "EVERSTONE." - - para "Some species of" - line "#MON evolve" - - para "when they grow to" - line "certain levels." - - para "A #MON holding" - line "the EVERSTONE" - cont "won't evolve." - - para "Give it to a #-" - line "MON you don't want" - cont "to evolve." - done - -ElmText_CallYou: - text "ELM: <PLAY_G>, I'll" - line "call you if any-" - cont "thing comes up." - done - -AideText_AfterTheft: - text "…sigh… That" - line "stolen #MON." - - para "I wonder how it's" - line "doing." - - para "They say a #MON" - line "raised by a bad" - - para "person turns bad" - line "itself." - done - -ElmGiveMasterBallText1: - text "ELM: Hi, <PLAY_G>!" - line "Thanks to you, my" - - para "research is going" - line "great!" - - para "Take this as a" - line "token of my" - cont "appreciation." - done - -ElmGiveMasterBallText2: - text "The MASTER BALL is" - line "the best!" - - para "It's the ultimate" - line "BALL! It'll catch" - - para "any #MON with-" - line "out fail." - - para "It's given only to" - line "recognized #MON" - cont "researchers." - - para "I think you can" - line "make much better" - - para "use of it than I" - line "can, <PLAY_G>!" - done - -ElmGiveTicketText1: - text "ELM: <PLAY_G>!" - line "There you are!" - - para "I called because I" - line "have something for" - cont "you." - - para "See? It's an" - line "S.S.TICKET." - - para "Now you can catch" - line "#MON in KANTO." - done - -ElmGiveTicketText2: - text "The ship departs" - line "from OLIVINE CITY." - - para "But you knew that" - line "already, <PLAY_G>." - - para "After all, you've" - line "traveled all over" - cont "with your #MON." - - para "Give my regards to" - line "PROF.OAK in KANTO!" - done - -ElmsLabSignpostText_Egg: - text "It's the #MON" - line "EGG being studied" - cont "by PROF.ELM." - done - -AideText_GiveYouPotions: - text "<PLAY_G>, I want" - line "you to have this" - cont "for your errand." - done - -AideText_AlwaysBusy: - text "There are only two" - line "of us, so we're" - cont "always busy." - done - -AideText_TheftTestimony: - text "There was a loud" - line "noise outside…" - - para "When we went to" - line "look, someone" - cont "stole a #MON." - - para "It's unbelievable" - line "that anyone would" - cont "do that!" - - para "…sigh… That" - line "stolen #MON." - - para "I wonder how it's" - line "doing." - - para "They say a #MON" - line "raised by a bad" - - para "person turns bad" - line "itself." - done - -AideText_GiveYouBalls: - text "<PLAY_G>!" - - para "Use these on your" - line "#DEX quest!" - done - -AideText_ExplainBalls: - text "To add to your" - line "#DEX, you have" - cont "to catch #MON." - - para "Throw # BALLS" - line "at wild #MON" - cont "to get them." - done - -ElmsLabOfficerText1: - text "I heard a #MON" - line "was stolen here…" - - para "I was just getting" - line "some information" - cont "from PROF.ELM." - - para "Apparently, it was" - line "a young male with" - cont "long, red hair…" - - para "What?" - - para "You battled a" - line "trainer like that?" - - para "Did you happen to" - line "get his name?" - done - -ElmsLabOfficerText2: - text "OK! So <RIVAL>" - line "was his name." - - para "Thanks for helping" - line "my investigation!" - done - -ElmsLabWindowText1: - text "The window's open." - - para "A pleasant breeze" - line "is blowing in." - done - -ElmsLabWindowText2: - text "He broke in" - line "through here!" - done - -ElmsLabTravelTip1Text: - text "<PLAYER> opened a" - line "book." - - para "Travel Tip 1:" - - para "Press START to" - line "open the MENU." - done - -ElmsLabTravelTip2Text: - text "<PLAYER> opened a" - line "book." - - para "Travel Tip 2:" - - para "Record your trip" - line "with SAVE!" - done - -ElmsLabTravelTip3Text: - text "<PLAYER> opened a" - line "book." - - para "Travel Tip 3:" - - para "Open your PACK and" - line "press SELECT to" - cont "move items." - done - -ElmsLabTravelTip4Text: - text "<PLAYER> opened a" - line "book." - - para "Travel Tip 4:" - - para "Check your #MON" - line "moves. Press the" - - para "A Button to switch" - line "moves." - done - -ElmsLabTrashcanText: - text "The wrapper from" - line "the snack PROF.ELM" - cont "ate is in there…" - done - -ElmsLabPCText: - text "OBSERVATIONS ON" - line "#MON EVOLUTION" - - para "…It says on the" - line "screen…" - done - -ElmsLab_MapEventHeader: - ; filler - db 0, 0 - -.Warps: - db 2 - warp_def $b, $4, 1, NEW_BARK_TOWN - warp_def $b, $5, 1, NEW_BARK_TOWN - -.XYTriggers: - db 8 - xy_trigger 1, $6, $4, $0, LabTryToLeaveScript, $0, $0 - xy_trigger 1, $6, $5, $0, LabTryToLeaveScript, $0, $0 - xy_trigger 3, $5, $4, $0, MeetCopScript, $0, $0 - xy_trigger 3, $5, $5, $0, MeetCopScript2, $0, $0 - xy_trigger 5, $8, $4, $0, AideScript_WalkPotions1, $0, $0 - xy_trigger 5, $8, $5, $0, AideScript_WalkPotions2, $0, $0 - xy_trigger 6, $8, $4, $0, AideScript_WalkBalls1, $0, $0 - xy_trigger 6, $8, $5, $0, AideScript_WalkBalls2, $0, $0 - -.Signposts: - db 16 - signpost 1, 2, SIGNPOST_READ, ElmsLabHealingMachine - signpost 1, 6, SIGNPOST_READ, ElmsLabBookshelf - signpost 1, 7, SIGNPOST_READ, ElmsLabBookshelf - signpost 1, 8, SIGNPOST_READ, ElmsLabBookshelf - signpost 1, 9, SIGNPOST_READ, ElmsLabBookshelf - signpost 7, 0, SIGNPOST_READ, ElmsLabTravelTip1 - signpost 7, 1, SIGNPOST_READ, ElmsLabTravelTip2 - signpost 7, 2, SIGNPOST_READ, ElmsLabTravelTip3 - signpost 7, 3, SIGNPOST_READ, ElmsLabTravelTip4 - signpost 7, 6, SIGNPOST_READ, ElmsLabBookshelf - signpost 7, 7, SIGNPOST_READ, ElmsLabBookshelf - signpost 7, 8, SIGNPOST_READ, ElmsLabBookshelf - signpost 7, 9, SIGNPOST_READ, ElmsLabBookshelf - signpost 3, 9, SIGNPOST_READ, ElmsLabTrashcan - signpost 0, 5, SIGNPOST_READ, ElmsLabWindow - signpost 5, 3, SIGNPOST_DOWN, ElmsLabPC - -.PersonEvents: - db 6 - person_event SPRITE_ELM, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ProfElmScript, -1 - person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB - person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB - person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB - person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB - person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CopScript, EVENT_COP_IN_ELMS_LAB +const_value set 2
+ const ELMSLAB_ELM
+ const ELMSLAB_SCIENTIST
+ const ELMSLAB_POKE_BALL1
+ const ELMSLAB_POKE_BALL2
+ const ELMSLAB_POKE_BALL3
+ const ELMSLAB_OFFICER
+
+ElmsLab_MapScriptHeader:
+.MapTriggers:
+ db 6
+
+ ; triggers
+ dw .Trigger0, 0
+ dw .Trigger1, 0
+ dw .Trigger2, 0
+ dw .Trigger3, 0
+ dw .Trigger4, 0
+ dw .Trigger5, 0
+
+.MapCallbacks:
+ db 1
+
+ ; callbacks
+
+ dbw 2, .Callback_MoveElm
+
+.Trigger0:
+ priorityjump ElmsLab_AutowalkUpToElm
+ end
+
+.Trigger1:
+ end
+
+.Trigger2:
+ end
+
+.Trigger3:
+ end
+
+.Trigger4:
+ end
+
+.Trigger5:
+ end
+
+.Callback_MoveElm:
+ checktriggers
+ iftrue .Skip
+ moveperson ELMSLAB_ELM, $3, $4
+.Skip:
+ return
+
+ElmsLab_AutowalkUpToElm:
+ applymovement PLAYER, ElmsLab_WalkUpToElmMovement
+ showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
+ spriteface ELMSLAB_ELM, RIGHT
+ loadfont
+ writetext ElmText_Intro
+ElmsLab_RefuseLoop:
+ yesorno
+ iftrue ElmsLab_ElmGetsEmail
+ writetext ElmText_Refused
+ jump ElmsLab_RefuseLoop
+
+ElmsLab_ElmGetsEmail:
+ writetext ElmText_Accepted
+ keeptextopen
+ writetext ElmText_ResearchAmbitions
+ waitbutton
+ closetext
+ playsound SFX_GLASS_TING
+ pause 30
+ showemote EMOTE_SHOCK, ELMSLAB_ELM, 10
+ spriteface ELMSLAB_ELM, DOWN
+ loadfont
+ writetext ElmText_GotAnEmail
+ waitbutton
+ closetext
+ loadfont
+ spriteface ELMSLAB_ELM, RIGHT
+ writetext ElmText_MissionFromMrPokemon
+ waitbutton
+ closetext
+ applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement1
+ spriteface PLAYER, UP
+ applymovement ELMSLAB_ELM, ElmsLab_ElmToDefaultPositionMovement2
+ spriteface PLAYER, RIGHT
+ loadfont
+ writetext ElmText_ChooseAPokemon
+ waitbutton
+ dotrigger $1
+ closetext
+ end
+
+ProfElmScript:
+ faceplayer
+ loadfont
+ checkevent EVENT_GOT_SS_TICKET_FROM_ELM
+ iftrue ElmCheckMasterBall
+ checkevent EVENT_BEAT_ELITE_FOUR
+ iftrue ElmGiveTicketScript
+ElmCheckMasterBall:
+ checkevent EVENT_GOT_MASTER_BALL_FROM_ELM
+ iftrue ElmCheckEverstone
+ checkflag ENGINE_RISINGBADGE
+ iftrue ElmGiveMasterBallScript
+ElmCheckEverstone:
+ checkevent EVENT_GOT_EVERSTONE_FROM_ELM
+ iftrue ElmScript_CallYou
+ checkevent EVENT_SHOWED_TOGEPI_TO_ELM
+ iftrue ElmGiveEverstoneScript
+ checkevent EVENT_TOLD_ELM_ABOUT_TOGEPI_OVER_THE_PHONE
+ iffalse ElmCheckTogepiEgg
+ writebyte TOGEPI
+ special Special_FindThatSpeciesYourTrainerID
+ iftrue ShowElmTogepiScript
+ writebyte TOGETIC
+ special Special_FindThatSpeciesYourTrainerID
+ iftrue ShowElmTogepiScript
+ writetext UnknownText_0x79a40
+ waitbutton
+ closetext
+ end
+
+ElmEggHatchedScript:
+ writebyte TOGEPI
+ special Special_FindThatSpeciesYourTrainerID
+ iftrue ShowElmTogepiScript
+ writebyte TOGETIC
+ special Special_FindThatSpeciesYourTrainerID
+ iftrue ShowElmTogepiScript
+ jump ElmCheckGotEggAgain
+
+ElmCheckTogepiEgg:
+ checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+ iffalse ElmCheckGotEggAgain
+ checkevent EVENT_TOGEPI_HATCHED
+ iftrue ElmEggHatchedScript
+ElmCheckGotEggAgain:
+ checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE ; why are we checking it again?
+ iftrue ElmWaitingEggHatchScript
+ checkflag ENGINE_ZEPHYRBADGE
+ iftrue ElmAideHasEggScript
+ checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+ iftrue ElmStudyingEggScript
+ checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+ iftrue ElmAfterTheftScript
+ checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+ iftrue ElmDescribesMrPokemonScript
+ writetext ElmText_LetYourMonBattleIt
+ waitbutton
+ closetext
+ end
+
+LabTryToLeaveScript:
+ spriteface ELMSLAB_ELM, DOWN
+ loadfont
+ writetext LabWhereGoingText
+ waitbutton
+ closetext
+ applymovement PLAYER, MovementData_0x78f70
+ end
+
+CyndaquilPokeBallScript:
+ checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+ iftrue LookAtElmPokeBallScript
+ spriteface ELMSLAB_ELM, DOWN
+ refreshscreen $0
+ pokepic CYNDAQUIL
+ cry CYNDAQUIL
+ waitbutton
+ closepokepic
+ loadfont
+ writetext TakeCyndaquilText
+ yesorno
+ iffalse DidntChooseStarterScript
+ disappear ELMSLAB_POKE_BALL1
+ setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
+ writetext ChoseStarterText
+ keeptextopen
+ waitsfx
+ pokenamemem CYNDAQUIL, $0
+ writetext ReceivedStarterText
+ playsound SFX_CAUGHT_MON
+ waitsfx
+ keeptextopen
+ givepoke CYNDAQUIL, 5, BERRY
+ closetext
+ checkcode VAR_FACING
+ if_equal RIGHT, ElmDirectionsScript
+ applymovement PLAYER, AfterCyndaquilMovement
+ jump ElmDirectionsScript
+
+TotodilePokeBallScript:
+ checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+ iftrue LookAtElmPokeBallScript
+ spriteface ELMSLAB_ELM, DOWN
+ refreshscreen $0
+ pokepic TOTODILE
+ cry TOTODILE
+ waitbutton
+ closepokepic
+ loadfont
+ writetext TakeTotodileText
+ yesorno
+ iffalse DidntChooseStarterScript
+ disappear ELMSLAB_POKE_BALL2
+ setevent EVENT_GOT_TOTODILE_FROM_ELM
+ writetext ChoseStarterText
+ keeptextopen
+ waitsfx
+ pokenamemem TOTODILE, $0
+ writetext ReceivedStarterText
+ playsound SFX_CAUGHT_MON
+ waitsfx
+ keeptextopen
+ givepoke TOTODILE, 5, BERRY
+ closetext
+ applymovement PLAYER, AfterTotodileMovement
+ jump ElmDirectionsScript
+
+ChikoritaPokeBallScript:
+ checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+ iftrue LookAtElmPokeBallScript
+ spriteface ELMSLAB_ELM, DOWN
+ refreshscreen $0
+ pokepic CHIKORITA
+ cry CHIKORITA
+ waitbutton
+ closepokepic
+ loadfont
+ writetext TakeChikoritaText
+ yesorno
+ iffalse DidntChooseStarterScript
+ disappear ELMSLAB_POKE_BALL3
+ setevent EVENT_GOT_CHIKORITA_FROM_ELM
+ writetext ChoseStarterText
+ keeptextopen
+ waitsfx
+ pokenamemem CHIKORITA, $0
+ writetext ReceivedStarterText
+ playsound SFX_CAUGHT_MON
+ waitsfx
+ keeptextopen
+ givepoke CHIKORITA, 5, BERRY
+ closetext
+ applymovement PLAYER, AfterChikoritaMovement
+ jump ElmDirectionsScript
+
+DidntChooseStarterScript:
+ writetext DidntChooseStarterText
+ waitbutton
+ closetext
+ end
+
+ElmDirectionsScript:
+ spriteface PLAYER, UP
+ loadfont
+ writetext ElmDirectionsText1
+ waitbutton
+ closetext
+ addcellnum PHONE_ELM
+ loadfont
+ writetext GotElmsNumberText
+ playsound SFX_REGISTER_PHONE_NUMBER
+ waitsfx
+ waitbutton
+ closetext
+ spriteface ELMSLAB_ELM, LEFT
+ loadfont
+ writetext ElmDirectionsText2
+ waitbutton
+ closetext
+ spriteface ELMSLAB_ELM, DOWN
+ loadfont
+ writetext ElmDirectionsText3
+ waitbutton
+ closetext
+ setevent EVENT_GOT_A_POKEMON_FROM_ELM
+ setevent EVENT_RIVAL_CHERRYGROVE_CITY
+ dotrigger $5
+ domaptrigger NEW_BARK_TOWN, $1
+ end
+
+ElmDescribesMrPokemonScript:
+ writetext ElmDescribesMrPokemonText
+ waitbutton
+ closetext
+ end
+
+LookAtElmPokeBallScript:
+ loadfont
+ writetext ElmPokeBallText
+ waitbutton
+ closetext
+ end
+
+ElmsLabHealingMachine:
+ loadfont
+ checkevent EVENT_GOT_A_POKEMON_FROM_ELM
+ iftrue .CanHeal
+ writetext ElmsLabHealingMachineText1
+ waitbutton
+ closetext
+ end
+
+.CanHeal
+ writetext ElmsLabHealingMachineText2
+ yesorno
+ iftrue ElmsLabHealingMachine_HealParty
+ closetext
+ end
+
+ElmsLabHealingMachine_HealParty:
+ special Mobile_HealParty
+ special HealParty
+ playmusic MUSIC_NONE
+ writebyte 1 ; Machine is in Elm's Lab
+ special HealMachineAnim
+ pause 30
+ special RestartMapMusic
+ closetext
+ end
+
+ElmAfterTheftDoneScript:
+ waitbutton
+ closetext
+ end
+
+ElmAfterTheftScript:
+ writetext ElmAfterTheftText1
+ checkitem MYSTERY_EGG
+ iffalse ElmAfterTheftDoneScript
+ keeptextopen
+ writetext ElmAfterTheftText2
+ waitbutton
+ takeitem MYSTERY_EGG
+ scall ElmJumpBackScript1
+ writetext ElmAfterTheftText3
+ waitbutton
+ scall ElmJumpBackScript2
+ writetext ElmAfterTheftText4
+ keeptextopen
+ writetext ElmAfterTheftText5
+ keeptextopen
+ setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+ setflag ENGINE_BUG_CONTEST_ON
+ domaptrigger ROUTE_29, $1
+ clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
+ setevent EVENT_ROUTE_30_BATTLE
+ writetext ElmAfterTheftText6
+ waitbutton
+ closetext
+ dotrigger $6
+ end
+
+ElmStudyingEggScript:
+ writetext ElmStudyingEggText
+ waitbutton
+ closetext
+ end
+
+ElmAideHasEggScript:
+ writetext ElmAideHasEggText
+ waitbutton
+ closetext
+ end
+
+ElmWaitingEggHatchScript:
+ writetext ElmWaitingEggHatchText
+ waitbutton
+ closetext
+ end
+
+ShowElmTogepiScript:
+ writetext ShowElmTogepiText1
+ waitbutton
+ closetext
+ showemote EMOTE_SHOCK, ELMSLAB_ELM, 15
+ setevent EVENT_SHOWED_TOGEPI_TO_ELM
+ loadfont
+ writetext ShowElmTogepiText2
+ keeptextopen
+ writetext ShowElmTogepiText3
+ keeptextopen
+ElmGiveEverstoneScript:
+ writetext ElmGiveEverstoneText1
+ keeptextopen
+ verbosegiveitem EVERSTONE
+ iffalse ElmScript_NoRoomForEverstone
+ writetext ElmGiveEverstoneText2
+ waitbutton
+ closetext
+ setevent EVENT_GOT_EVERSTONE_FROM_ELM
+ end
+
+ElmScript_CallYou:
+ writetext ElmText_CallYou
+ waitbutton
+ElmScript_NoRoomForEverstone:
+ closetext
+ end
+
+ElmGiveMasterBallScript:
+ writetext ElmGiveMasterBallText1
+ keeptextopen
+ verbosegiveitem MASTER_BALL
+ iffalse .notdone
+ setevent EVENT_GOT_MASTER_BALL_FROM_ELM
+ writetext ElmGiveMasterBallText2
+ waitbutton
+.notdone
+ closetext
+ end
+
+ElmGiveTicketScript:
+ writetext ElmGiveTicketText1
+ keeptextopen
+ verbosegiveitem S_S_TICKET
+ setevent EVENT_GOT_SS_TICKET_FROM_ELM
+ writetext ElmGiveTicketText2
+ waitbutton
+ closetext
+ end
+
+ElmJumpBackScript1:
+ closetext
+ checkcode VAR_FACING
+ if_equal DOWN, ElmJumpDownScript
+ if_equal UP, ElmJumpUpScript
+ if_equal LEFT, ElmJumpLeftScript
+ if_equal RIGHT, ElmJumpRightScript
+ end
+
+ElmJumpBackScript2:
+ closetext
+ checkcode VAR_FACING
+ if_equal DOWN, ElmJumpUpScript
+ if_equal UP, ElmJumpDownScript
+ if_equal LEFT, ElmJumpRightScript
+ if_equal RIGHT, ElmJumpLeftScript
+ end
+
+ElmJumpUpScript:
+ applymovement ELMSLAB_ELM, ElmJumpUpMovement
+ loadfont
+ end
+
+ElmJumpDownScript:
+ applymovement ELMSLAB_ELM, ElmJumpDownMovement
+ loadfont
+ end
+
+ElmJumpLeftScript:
+ applymovement ELMSLAB_ELM, ElmJumpLeftMovement
+ loadfont
+ end
+
+ElmJumpRightScript:
+ applymovement ELMSLAB_ELM, ElmJumpRightMovement
+ loadfont
+ end
+
+AideScript_WalkPotions1:
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight1
+ spriteface PLAYER, DOWN
+ scall AideScript_GivePotions
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
+ end
+
+AideScript_WalkPotions2:
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight2
+ spriteface PLAYER, DOWN
+ scall AideScript_GivePotions
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
+ end
+
+AideScript_GivePotions:
+ loadfont
+ writetext AideText_GiveYouPotions
+ keeptextopen
+ verbosegiveitem POTION
+ writetext AideText_AlwaysBusy
+ waitbutton
+ closetext
+ dotrigger $2
+ end
+
+AideScript_WalkBalls1:
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight1
+ spriteface PLAYER, DOWN
+ scall AideScript_GiveYouBalls
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft1
+ end
+
+AideScript_WalkBalls2:
+ applymovement ELMSLAB_SCIENTIST, AideWalksRight2
+ spriteface PLAYER, DOWN
+ scall AideScript_GiveYouBalls
+ applymovement ELMSLAB_SCIENTIST, AideWalksLeft2
+ end
+
+AideScript_GiveYouBalls:
+ loadfont
+ writetext AideText_GiveYouBalls
+ keeptextopen
+ itemtotext POKE_BALL, $1
+ scall AideScript_ReceiveTheBalls
+ giveitem POKE_BALL, 5
+ writetext AideText_ExplainBalls
+ keeptextopen
+ itemnotify
+ closetext
+ dotrigger $2
+ end
+
+AideScript_ReceiveTheBalls:
+ jumpstd receiveitem
+ end
+
+ElmsAideScript:
+ faceplayer
+ loadfont
+ checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
+ iftrue AideScript_AfterTheft
+ checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
+ iftrue AideScript_ExplainBalls
+ checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
+ iftrue AideScript_TheftTestimony
+ writetext AideText_AlwaysBusy
+ waitbutton
+ closetext
+ end
+
+AideScript_TheftTestimony:
+ writetext AideText_TheftTestimony
+ waitbutton
+ closetext
+ end
+
+AideScript_ExplainBalls:
+ writetext AideText_ExplainBalls
+ waitbutton
+ closetext
+ end
+
+AideScript_AfterTheft:
+ writetext AideText_AfterTheft
+ waitbutton
+ closetext
+ end
+
+MeetCopScript2:
+ applymovement PLAYER, MeetCopScript2_StepLeft
+
+MeetCopScript:
+ applymovement PLAYER, MeetCopScript_WalkUp
+CopScript:
+ spriteface ELMSLAB_OFFICER, LEFT
+ loadfont
+ writetext ElmsLabOfficerText1
+ keeptextopen
+ special SpecialNameRival
+ writetext ElmsLabOfficerText2
+ waitbutton
+ closetext
+ applymovement ELMSLAB_OFFICER, OfficerLeavesMovement
+ disappear ELMSLAB_OFFICER
+ dotrigger $2
+ end
+
+ElmsLabWindow:
+ loadfont
+ checkflag ENGINE_FLYPOINT_VIOLET
+ iftrue .Normal
+ checkevent EVENT_ELM_CALLED_ABOUT_STOLEN_POKEMON
+ iftrue .BreakIn
+ jump .Normal
+
+.BreakIn
+ writetext ElmsLabWindowText2
+ waitbutton
+ closetext
+ end
+
+.Normal
+ writetext ElmsLabWindowText1
+ waitbutton
+ closetext
+ end
+
+ElmsLabTravelTip1:
+ jumptext ElmsLabTravelTip1Text
+
+ElmsLabTravelTip2:
+ jumptext ElmsLabTravelTip2Text
+
+ElmsLabTravelTip3:
+ jumptext ElmsLabTravelTip3Text
+
+ElmsLabTravelTip4:
+ jumptext ElmsLabTravelTip4Text
+
+ElmsLabTrashcan:
+ jumptext ElmsLabTrashcanText
+
+ElmsLabPC:
+ jumptext ElmsLabPCText
+
+ElmsLabTrashcan2:
+; unused
+ jumpstd trashcan
+
+ElmsLabBookshelf:
+ jumpstd difficultbookshelf
+
+ElmsLab_WalkUpToElmMovement:
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ step_up
+ turn_head_left
+ step_end
+
+MovementData_0x78f70:
+ step_up
+ step_end
+
+MeetCopScript2_StepLeft:
+ step_left
+ step_end
+
+MeetCopScript_WalkUp:
+ step_up
+ step_up
+ turn_head_right
+ step_end
+
+OfficerLeavesMovement:
+ step_down
+ step_down
+ step_down
+ step_down
+ step_down
+ step_end
+
+AideWalksRight1:
+ step_right
+ step_right
+ turn_head_up
+ step_end
+
+AideWalksRight2:
+ step_right
+ step_right
+ step_right
+ turn_head_up
+ step_end
+
+AideWalksLeft1:
+ step_left
+ step_left
+ turn_head_down
+ step_end
+
+AideWalksLeft2:
+ step_left
+ step_left
+ step_left
+ turn_head_down
+ step_end
+
+ElmJumpUpMovement:
+ fix_facing
+ big_step_up
+ remove_fixed_facing
+ step_end
+
+ElmJumpDownMovement:
+ fix_facing
+ big_step_down
+ remove_fixed_facing
+ step_end
+
+ElmJumpLeftMovement:
+ fix_facing
+ big_step_left
+ remove_fixed_facing
+ step_end
+
+ElmJumpRightMovement:
+ fix_facing
+ big_step_right
+ remove_fixed_facing
+ step_end
+
+ElmsLab_ElmToDefaultPositionMovement1:
+ step_up
+ step_end
+
+ElmsLab_ElmToDefaultPositionMovement2:
+ step_right
+ step_right
+ step_up
+ turn_head_down
+ step_end
+
+AfterCyndaquilMovement:
+ step_left
+ step_up
+ turn_head_up
+ step_end
+
+AfterTotodileMovement:
+ step_left
+ step_left
+ step_up
+ turn_head_up
+ step_end
+
+AfterChikoritaMovement:
+ step_left
+ step_left
+ step_left
+ step_up
+ turn_head_up
+ step_end
+
+ElmText_Intro:
+ text "ELM: <PLAY_G>!"
+ line "There you are!"
+
+ para "I needed to ask"
+ line "you a favor."
+
+ para "I'm conducting new"
+ line "#MON research"
+
+ para "right now. I was"
+ line "wondering if you"
+
+ para "could help me with"
+ line "it, <PLAY_G>."
+
+ para "You see…"
+
+ para "I'm writing a"
+ line "paper that I want"
+
+ para "to present at a"
+ line "conference."
+
+ para "But there are some"
+ line "things I don't"
+
+ para "quite understand"
+ line "yet."
+
+ para "So!"
+
+ para "I'd like you to"
+ line "raise a #MON"
+
+ para "that I recently"
+ line "caught."
+ done
+
+ElmText_Accepted:
+ text "Thanks, <PLAY_G>!"
+
+ para "You're a great"
+ line "help!"
+ done
+
+ElmText_Refused:
+ text "But… Please, I"
+ line "need your help!"
+ done
+
+ElmText_ResearchAmbitions:
+ text "When I announce my"
+ line "findings, I'm sure"
+
+ para "we'll delve a bit"
+ line "deeper into the"
+
+ para "many mysteries of"
+ line "#MON."
+
+ para "You can count on"
+ line "it!"
+ done
+
+ElmText_GotAnEmail:
+ text "Oh, hey! I got an"
+ line "e-mail!"
+
+ para $56, $56, $56
+ line "Hm… Uh-huh…"
+
+ para "Okay…"
+ done
+
+ElmText_MissionFromMrPokemon:
+ text "Hey, listen."
+
+ para "I have an acquain-"
+ line "tance called MR."
+ cont "#MON."
+
+ para "He keeps finding"
+ line "weird things and"
+
+ para "raving about his"
+ line "discoveries."
+
+ para "Anyway, I just got"
+ line "an e-mail from him"
+
+ para "saying that this"
+ line "time it's real."
+
+ para "It is intriguing,"
+ line "but we're busy"
+
+ para "with our #MON"
+ line "research…"
+
+ para "Wait!"
+
+ para "I know!"
+
+ para "<PLAY_G>, can you"
+ line "go in our place?"
+ done
+
+ElmText_ChooseAPokemon:
+ text "I want you to"
+ line "raise one of the"
+
+ para "#MON contained"
+ line "in these BALLS."
+
+ para "You'll be that"
+ line "#MON's first"
+ cont "partner, <PLAY_G>!"
+
+ para "Go on. Pick one!"
+ done
+
+ElmText_LetYourMonBattleIt:
+ text "If a wild #MON"
+ line "appears, let your"
+ cont "#MON battle it!"
+ done
+
+LabWhereGoingText:
+ text "ELM: Wait! Where"
+ line "are you going?"
+ done
+
+TakeCyndaquilText:
+ text "ELM: You'll take"
+ line "CYNDAQUIL, the"
+ cont "fire #MON?"
+ done
+
+TakeTotodileText:
+ text "ELM: Do you want"
+ line "TOTODILE, the"
+ cont "water #MON?"
+ done
+
+TakeChikoritaText:
+ text "ELM: So, you like"
+ line "CHIKORITA, the"
+ cont "grass #MON?"
+ done
+
+DidntChooseStarterText:
+ text "ELM: Think it over"
+ line "carefully."
+
+ para "Your partner is"
+ line "important."
+ done
+
+ChoseStarterText:
+ text "ELM: I think"
+ line "that's a great"
+ cont "#MON too!"
+ done
+
+ReceivedStarterText:
+ text "<PLAYER> received"
+ line "@"
+ text_from_ram StringBuffer3
+ text "!"
+ done
+
+ElmDirectionsText1:
+ text "MR.#MON lives a"
+ line "little bit beyond"
+
+ para "CHERRYGROVE, the"
+ line "next city over."
+
+ para "It's almost a"
+ line "direct route"
+
+ para "there, so you"
+ line "can't miss it."
+
+ para "But just in case,"
+ line "here's my phone"
+
+ para "number. Call me if"
+ line "anything comes up!"
+ done
+
+ElmDirectionsText2:
+ text "If your #MON is"
+ line "hurt, you should"
+
+ para "heal it with this"
+ line "machine."
+
+ para "Feel free to use"
+ line "it anytime."
+ done
+
+ElmDirectionsText3:
+ text "<PLAY_G>, I'm"
+ line "counting on you!"
+ done
+
+GotElmsNumberText:
+ text "<PLAYER> got ELM's"
+ line "phone number."
+ done
+
+ElmDescribesMrPokemonText:
+ text "MR.#MON goes"
+ line "everywhere and"
+ cont "finds rarities."
+
+ para "Too bad they're"
+ line "just rare and"
+ cont "not very useful…"
+ done
+
+ElmPokeBallText:
+ text "It contains a"
+ line "#MON caught by"
+ cont "PROF.ELM."
+ done
+
+ElmsLabHealingMachineText1:
+ text "I wonder what this"
+ line "does?"
+ done
+
+ElmsLabHealingMachineText2:
+ text "Would you like to"
+ line "heal your #MON?"
+ done
+
+ElmAfterTheftText1:
+ text "ELM: <PLAY_G>, this"
+ line "is terrible…"
+
+ para "Oh, yes, what was"
+ line "MR.#MON's big"
+ cont "discovery?"
+ done
+
+ElmAfterTheftText2:
+ text "<PLAYER> handed"
+ line "the MYSTERY EGG to"
+ cont "PROF.ELM."
+ done
+
+ElmAfterTheftText3:
+ text "ELM: This?"
+ done
+
+ElmAfterTheftText4:
+ text "But… Is it a"
+ line "#MON EGG?"
+
+ para "If it is, it is a"
+ line "great discovery!"
+ done
+
+ElmAfterTheftText5:
+ text "ELM: What?!?"
+
+ para "PROF.OAK gave you"
+ line "a #DEX?"
+
+ para "<PLAY_G>, is that"
+ line "true? Th-that's"
+ cont "incredible!"
+
+ para "He is superb at"
+ line "seeing the poten-"
+ cont "tial of people as"
+ cont "trainers."
+
+ para "Wow, <PLAY_G>. You"
+ line "may have what it"
+
+ para "takes to become"
+ line "the CHAMPION."
+
+ para "You seem to be"
+ line "getting on great"
+ cont "with #MON too."
+
+ para "You should take"
+ line "the #MON GYM"
+ cont "challenge."
+
+ para "The closest GYM"
+ line "would be the one"
+ cont "in VIOLET CITY."
+ done
+
+ElmAfterTheftText6:
+ text "…<PLAY_G>. The"
+ line "road to the"
+
+ para "championship will"
+ line "be a long one."
+
+ para "Before you leave,"
+ line "make sure that you"
+ cont "talk to your mom."
+ done
+
+ElmStudyingEggText:
+ text "ELM: Don't give"
+ line "up! I'll call if"
+
+ para "I learn anything"
+ line "about that EGG!"
+ done
+
+ElmAideHasEggText:
+ text "ELM: <PLAY_G>?"
+ line "Didn't you meet my"
+ cont "assistant?"
+
+ para "He should have met"
+ line "you with the EGG"
+
+ para "at VIOLET CITY's"
+ line "#MON CENTER."
+
+ para "You must have just"
+ line "missed him. Try to"
+ cont "catch him there."
+ done
+
+ElmWaitingEggHatchText:
+ text "ELM: Hey, has that"
+ line "EGG changed any?"
+ done
+
+UnknownText_0x79a40:
+ text "<PLAY_G>? I thought"
+ line "the EGG hatched."
+
+ para "Where is the"
+ line "#MON?"
+ done
+
+ShowElmTogepiText1:
+ text "ELM: <PLAY_G>, you"
+ line "look great!"
+ done
+
+ShowElmTogepiText2:
+ text "What?"
+ line "That #MON!?!"
+ done
+
+ShowElmTogepiText3:
+ text "The EGG hatched!"
+ line "So, #MON are"
+ cont "born from EGGS…"
+
+ para "No, perhaps not"
+ line "all #MON are."
+
+ para "Wow, there's still"
+ line "a lot of research"
+ cont "to be done."
+ done
+
+ElmGiveEverstoneText1:
+ text "Thanks, <PLAY_G>!"
+ line "You're helping"
+
+ para "unravel #MON"
+ line "mysteries for us!"
+
+ para "I want you to have"
+ line "this as a token of"
+ cont "our appreciation."
+ done
+
+ElmGiveEverstoneText2:
+ text "That's an"
+ line "EVERSTONE."
+
+ para "Some species of"
+ line "#MON evolve"
+
+ para "when they grow to"
+ line "certain levels."
+
+ para "A #MON holding"
+ line "the EVERSTONE"
+ cont "won't evolve."
+
+ para "Give it to a #-"
+ line "MON you don't want"
+ cont "to evolve."
+ done
+
+ElmText_CallYou:
+ text "ELM: <PLAY_G>, I'll"
+ line "call you if any-"
+ cont "thing comes up."
+ done
+
+AideText_AfterTheft:
+ text "…sigh… That"
+ line "stolen #MON."
+
+ para "I wonder how it's"
+ line "doing."
+
+ para "They say a #MON"
+ line "raised by a bad"
+
+ para "person turns bad"
+ line "itself."
+ done
+
+ElmGiveMasterBallText1:
+ text "ELM: Hi, <PLAY_G>!"
+ line "Thanks to you, my"
+
+ para "research is going"
+ line "great!"
+
+ para "Take this as a"
+ line "token of my"
+ cont "appreciation."
+ done
+
+ElmGiveMasterBallText2:
+ text "The MASTER BALL is"
+ line "the best!"
+
+ para "It's the ultimate"
+ line "BALL! It'll catch"
+
+ para "any #MON with-"
+ line "out fail."
+
+ para "It's given only to"
+ line "recognized #MON"
+ cont "researchers."
+
+ para "I think you can"
+ line "make much better"
+
+ para "use of it than I"
+ line "can, <PLAY_G>!"
+ done
+
+ElmGiveTicketText1:
+ text "ELM: <PLAY_G>!"
+ line "There you are!"
+
+ para "I called because I"
+ line "have something for"
+ cont "you."
+
+ para "See? It's an"
+ line "S.S.TICKET."
+
+ para "Now you can catch"
+ line "#MON in KANTO."
+ done
+
+ElmGiveTicketText2:
+ text "The ship departs"
+ line "from OLIVINE CITY."
+
+ para "But you knew that"
+ line "already, <PLAY_G>."
+
+ para "After all, you've"
+ line "traveled all over"
+ cont "with your #MON."
+
+ para "Give my regards to"
+ line "PROF.OAK in KANTO!"
+ done
+
+ElmsLabSignpostText_Egg:
+ text "It's the #MON"
+ line "EGG being studied"
+ cont "by PROF.ELM."
+ done
+
+AideText_GiveYouPotions:
+ text "<PLAY_G>, I want"
+ line "you to have this"
+ cont "for your errand."
+ done
+
+AideText_AlwaysBusy:
+ text "There are only two"
+ line "of us, so we're"
+ cont "always busy."
+ done
+
+AideText_TheftTestimony:
+ text "There was a loud"
+ line "noise outside…"
+
+ para "When we went to"
+ line "look, someone"
+ cont "stole a #MON."
+
+ para "It's unbelievable"
+ line "that anyone would"
+ cont "do that!"
+
+ para "…sigh… That"
+ line "stolen #MON."
+
+ para "I wonder how it's"
+ line "doing."
+
+ para "They say a #MON"
+ line "raised by a bad"
+
+ para "person turns bad"
+ line "itself."
+ done
+
+AideText_GiveYouBalls:
+ text "<PLAY_G>!"
+
+ para "Use these on your"
+ line "#DEX quest!"
+ done
+
+AideText_ExplainBalls:
+ text "To add to your"
+ line "#DEX, you have"
+ cont "to catch #MON."
+
+ para "Throw # BALLS"
+ line "at wild #MON"
+ cont "to get them."
+ done
+
+ElmsLabOfficerText1:
+ text "I heard a #MON"
+ line "was stolen here…"
+
+ para "I was just getting"
+ line "some information"
+ cont "from PROF.ELM."
+
+ para "Apparently, it was"
+ line "a young male with"
+ cont "long, red hair…"
+
+ para "What?"
+
+ para "You battled a"
+ line "trainer like that?"
+
+ para "Did you happen to"
+ line "get his name?"
+ done
+
+ElmsLabOfficerText2:
+ text "OK! So <RIVAL>"
+ line "was his name."
+
+ para "Thanks for helping"
+ line "my investigation!"
+ done
+
+ElmsLabWindowText1:
+ text "The window's open."
+
+ para "A pleasant breeze"
+ line "is blowing in."
+ done
+
+ElmsLabWindowText2:
+ text "He broke in"
+ line "through here!"
+ done
+
+ElmsLabTravelTip1Text:
+ text "<PLAYER> opened a"
+ line "book."
+
+ para "Travel Tip 1:"
+
+ para "Press START to"
+ line "open the MENU."
+ done
+
+ElmsLabTravelTip2Text:
+ text "<PLAYER> opened a"
+ line "book."
+
+ para "Travel Tip 2:"
+
+ para "Record your trip"
+ line "with SAVE!"
+ done
+
+ElmsLabTravelTip3Text:
+ text "<PLAYER> opened a"
+ line "book."
+
+ para "Travel Tip 3:"
+
+ para "Open your PACK and"
+ line "press SELECT to"
+ cont "move items."
+ done
+
+ElmsLabTravelTip4Text:
+ text "<PLAYER> opened a"
+ line "book."
+
+ para "Travel Tip 4:"
+
+ para "Check your #MON"
+ line "moves. Press the"
+
+ para "A Button to switch"
+ line "moves."
+ done
+
+ElmsLabTrashcanText:
+ text "The wrapper from"
+ line "the snack PROF.ELM"
+ cont "ate is in there…"
+ done
+
+ElmsLabPCText:
+ text "OBSERVATIONS ON"
+ line "#MON EVOLUTION"
+
+ para "…It says on the"
+ line "screen…"
+ done
+
+ElmsLab_MapEventHeader:
+ ; filler
+ db 0, 0
+
+.Warps:
+ db 2
+ warp_def $b, $4, 1, NEW_BARK_TOWN
+ warp_def $b, $5, 1, NEW_BARK_TOWN
+
+.XYTriggers:
+ db 8
+ xy_trigger 1, $6, $4, $0, LabTryToLeaveScript, $0, $0
+ xy_trigger 1, $6, $5, $0, LabTryToLeaveScript, $0, $0
+ xy_trigger 3, $5, $4, $0, MeetCopScript, $0, $0
+ xy_trigger 3, $5, $5, $0, MeetCopScript2, $0, $0
+ xy_trigger 5, $8, $4, $0, AideScript_WalkPotions1, $0, $0
+ xy_trigger 5, $8, $5, $0, AideScript_WalkPotions2, $0, $0
+ xy_trigger 6, $8, $4, $0, AideScript_WalkBalls1, $0, $0
+ xy_trigger 6, $8, $5, $0, AideScript_WalkBalls2, $0, $0
+
+.Signposts:
+ db 16
+ signpost 1, 2, SIGNPOST_READ, ElmsLabHealingMachine
+ signpost 1, 6, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 1, 7, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 1, 8, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 1, 9, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 7, 0, SIGNPOST_READ, ElmsLabTravelTip1
+ signpost 7, 1, SIGNPOST_READ, ElmsLabTravelTip2
+ signpost 7, 2, SIGNPOST_READ, ElmsLabTravelTip3
+ signpost 7, 3, SIGNPOST_READ, ElmsLabTravelTip4
+ signpost 7, 6, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 7, 7, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 7, 8, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 7, 9, SIGNPOST_READ, ElmsLabBookshelf
+ signpost 3, 9, SIGNPOST_READ, ElmsLabTrashcan
+ signpost 0, 5, SIGNPOST_READ, ElmsLabWindow
+ signpost 5, 3, SIGNPOST_DOWN, ElmsLabPC
+
+.PersonEvents:
+ db 6
+ person_event SPRITE_ELM, 2, 5, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ProfElmScript, -1
+ person_event SPRITE_SCIENTIST, 9, 2, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, ElmsAideScript, EVENT_ELMS_AIDE_IN_LAB
+ person_event SPRITE_POKE_BALL, 3, 6, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, CyndaquilPokeBallScript, EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
+ person_event SPRITE_POKE_BALL, 3, 7, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, TotodilePokeBallScript, EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
+ person_event SPRITE_POKE_BALL, 3, 8, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_SCRIPT, 0, ChikoritaPokeBallScript, EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
+ person_event SPRITE_OFFICER, 3, 5, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, CopScript, EVENT_COP_IN_ELMS_LAB
|