.set LOCALID_RIVAL, 2 Route103_MapScripts:: map_script MAP_SCRIPT_ON_TRANSITION, Route103_OnTransition map_script MAP_SCRIPT_ON_LOAD, Route103_OnLoad .byte 0 Route103_OnTransition: call Common_EventScript_SetupRivalGfxId call ProfBirch_EventScript_UpdateLocation end Route103_OnLoad: call_if_set FLAG_SYS_GAME_CLEAR, Route103_EventScript_OpenAlteringCave end Route103_EventScript_OpenAlteringCave:: setmetatile 45, 5, METATILE_General_CaveEntrance_Top, TRUE setmetatile 45, 6, METATILE_General_CaveEntrance_Bottom, FALSE return Route103_EventScript_Rival:: lockall checkplayergender goto_if_eq VAR_RESULT, MALE, Route103_EventScript_RivalMay goto_if_eq VAR_RESULT, FEMALE, Route103_EventScript_RivalBrendan end Route103_EventScript_RivalMay:: msgbox Route103_Text_MayRoute103Pokemon, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_MAY, TRUE applymovement LOCALID_RIVAL, Common_Movement_FacePlayer waitmovement 0 applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark waitmovement 0 applymovement LOCALID_RIVAL, Common_Movement_Delay48 waitmovement 0 msgbox Route103_Text_MayLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON case 0, Route103_EventScript_StartMayBattleTreecko case 1, Route103_EventScript_StartMayBattleTorchic case 2, Route103_EventScript_StartMayBattleMudkip end Route103_EventScript_RivalBrendan:: msgbox Route103_Text_BrendanRoute103Pokemon, MSGBOX_DEFAULT closemessage playbgm MUS_ENCOUNTER_BRENDAN, TRUE applymovement LOCALID_RIVAL, Common_Movement_FacePlayer waitmovement 0 applymovement LOCALID_RIVAL, Common_Movement_ExclamationMark waitmovement 0 applymovement LOCALID_RIVAL, Common_Movement_Delay48 waitmovement 0 msgbox Route103_Text_BrendanLetsBattle, MSGBOX_DEFAULT switch VAR_STARTER_MON case 0, Route103_EventScript_StartBrendanBattleTreecko case 1, Route103_EventScript_StartBrendanBattleTorchic case 2, Route103_EventScript_StartBrendanBattleMudkip end Route103_EventScript_StartMayBattleTreecko:: trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TREECKO, Route103_Text_MayDefeated goto Route103_EventScript_AfterMayBattle end Route103_EventScript_StartMayBattleTorchic:: trainerbattle_no_intro TRAINER_MAY_ROUTE_103_TORCHIC, Route103_Text_MayDefeated goto Route103_EventScript_AfterMayBattle end Route103_EventScript_StartMayBattleMudkip:: trainerbattle_no_intro TRAINER_MAY_ROUTE_103_MUDKIP, Route103_Text_MayDefeated goto Route103_EventScript_AfterMayBattle end Route103_EventScript_StartBrendanBattleTreecko:: trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TREECKO, Route103_Text_BrendanDefeated goto Route103_EventScript_AfterBrendanBattle end Route103_EventScript_StartBrendanBattleTorchic:: trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_TORCHIC, Route103_Text_BrendanDefeated goto Route103_EventScript_AfterBrendanBattle end Route103_EventScript_StartBrendanBattleMudkip:: trainerbattle_no_intro TRAINER_BRENDAN_ROUTE_103_MUDKIP, Route103_Text_BrendanDefeated goto Route103_EventScript_AfterBrendanBattle end Route103_EventScript_AfterMayBattle:: msgbox Route103_Text_MayTimeToHeadBack, MSGBOX_DEFAULT goto Route103_EventScript_RivalExit end Route103_EventScript_AfterBrendanBattle:: msgbox Route103_Text_BrendanTimeToHeadBack, MSGBOX_DEFAULT goto Route103_EventScript_RivalExit end Route103_EventScript_RivalExit:: closemessage switch VAR_FACING case DIR_SOUTH, Route103_EventScript_RivalExitFacingSouth case DIR_NORTH, Route103_EventScript_RivalExitFacingNorth case DIR_WEST, Route103_EventScript_RivalExitFacingEastOrWest case DIR_EAST, Route103_EventScript_RivalExitFacingEastOrWest end Route103_EventScript_RivalExitFacingNorth:: applymovement OBJ_EVENT_ID_PLAYER, Route103_Movement_WatchRivalExitFacingNorth applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth1 waitmovement 0 playse SE_LEDGE applymovement LOCALID_RIVAL, Route103_Movement_RivalExitFacingNorth2 waitmovement 0 goto Route103_EventScript_RivalEnd end Route103_EventScript_RivalExitFacingEastOrWest:: applymovement OBJ_EVENT_ID_PLAYER, Route103_Movement_WatchRivalExitFacingEastOrWest applymovement LOCALID_RIVAL, Route103_Movement_RivalExit1 waitmovement 0 playse SE_LEDGE applymovement LOCALID_RIVAL, Route103_Movement_RivalExit2 waitmovement 0 goto Route103_EventScript_RivalEnd end Route103_EventScript_RivalExitFacingSouth:: applymovement LOCALID_RIVAL, Route103_Movement_RivalExit1 waitmovement 0 playse SE_LEDGE applymovement LOCALID_RIVAL, Route103_Movement_RivalExit2 waitmovement 0 goto Route103_EventScript_RivalEnd end Route103_EventScript_RivalEnd:: removeobject LOCALID_RIVAL setvar VAR_BIRCH_LAB_STATE, 4 clearflag FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL setflag FLAG_DEFEATED_RIVAL_ROUTE103 setvar VAR_OLDALE_RIVAL_STATE, 1 clearflag FLAG_HIDE_OLDALE_TOWN_RIVAL savebgm MUS_DUMMY fadedefaultbgm releaseall end Route103_Movement_RivalExitFacingNorth1: walk_left walk_down step_end Route103_Movement_RivalExitFacingNorth2: jump_2_down delay_16 walk_down walk_down walk_down walk_down step_end Route103_Movement_WatchRivalExitFacingNorth: delay_16 delay_4 walk_in_place_faster_left delay_16 walk_in_place_faster_down step_end Route103_Movement_RivalExit1: walk_down step_end Route103_Movement_RivalExit2: jump_2_down delay_16 walk_down walk_down walk_down step_end Route103_Movement_WatchRivalExitFacingEastOrWest: delay_16 walk_in_place_faster_down step_end Route103_EventScript_Boy:: msgbox Route103_Text_ShouldHaveBroughtPotion, MSGBOX_NPC end Route103_EventScript_Man:: msgbox Route103_Text_ShortcutToOldale, MSGBOX_NPC end Route103_EventScript_RouteSign:: msgbox Route103_Text_RouteSign, MSGBOX_SIGN end Route103_EventScript_Daisy:: trainerbattle_single TRAINER_DAISY, Route103_Text_DaisyIntro, Route103_Text_DaisyDefeated msgbox Route103_Text_DaisyPostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Amy:: trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyIntro, Route103_Text_AmyDefeated, Route103_Text_AmyNotEnoughPokemon, Route102_EventScript_AmyRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, Route102_EventScript_AmyRematch msgbox Route103_Text_AmyPostBattle, MSGBOX_AUTOCLOSE end Route102_EventScript_AmyRegisterMatchCallAfterBattle:: msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT register_matchcall TRAINER_AMY_AND_LIV_1 release end Route102_EventScript_AmyRematch:: trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_AmyRematchIntro, Route103_Text_AmyRematchDefeated, Route103_Text_AmyRematchNotEnoughPokemon msgbox Route103_Text_AmyRematchPostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Liv:: trainerbattle_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivIntro, Route103_Text_LivDefeated, Route103_Text_LivNotEnoughPokemon, Route102_EventScript_LivRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, Route102_EventScript_LivRematch msgbox Route103_Text_LivPostBattle, MSGBOX_AUTOCLOSE end Route102_EventScript_LivRegisterMatchCallAfterBattle:: msgbox Route103_Text_AmyLivRegister, MSGBOX_DEFAULT register_matchcall TRAINER_AMY_AND_LIV_1 release end Route102_EventScript_LivRematch:: trainerbattle_rematch_double TRAINER_AMY_AND_LIV_1, Route103_Text_LivRematchIntro, Route103_Text_LivRematchDefeated, Route103_Text_LivRematchNotEnoughPokemon msgbox Route103_Text_LivRematchPostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Andrew:: trainerbattle_single TRAINER_ANDREW, Route103_Text_AndrewIntro, Route103_Text_AndrewDefeated msgbox Route103_Text_AndrewPostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Miguel:: trainerbattle_single TRAINER_MIGUEL_1, Route103_Text_MiguelIntro, Route103_Text_MiguelDefeated, Route102_EventScript_MiguelRegisterMatchCallAfterBattle specialvar VAR_RESULT, ShouldTryRematchBattle goto_if_eq VAR_RESULT, TRUE, Route103_EventScript_MiguelRematch msgbox Route103_Text_MiguelPostBattle, MSGBOX_DEFAULT release end Route102_EventScript_MiguelRegisterMatchCallAfterBattle:: special PlayerFaceTrainerAfterBattle waitmovement 0 msgbox Route103_Text_MiguelRegister, MSGBOX_DEFAULT register_matchcall TRAINER_MIGUEL_1 release end Route103_EventScript_MiguelRematch:: trainerbattle_rematch TRAINER_MIGUEL_1, Route103_Text_MiguelRematchIntro, Route103_Text_MiguelRematchDefeated msgbox Route103_Text_MiguelRematchPostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Marcos:: trainerbattle_single TRAINER_MARCOS, Route103_Text_MarcosIntro, Route103_Text_MarcosDefeated msgbox Route103_Text_MarcosPostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Rhett:: trainerbattle_single TRAINER_RHETT, Route103_Text_RhettIntro, Route103_Text_RhettDefeated msgbox Route103_Text_RhettPostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Pete:: trainerbattle_single TRAINER_PETE, Route103_Text_PeteIntro, Route103_Text_PeteDefeated msgbox Route103_Text_PetePostBattle, MSGBOX_AUTOCLOSE end Route103_EventScript_Isabelle:: trainerbattle_single TRAINER_ISABELLE, Route103_Text_IsabelleIntro, Route103_Text_IsabelleDefeated msgbox Route103_Text_IsabellePostBattle, MSGBOX_AUTOCLOSE end Route103_Text_MayRoute103Pokemon: .string "MAY: Let's see… The POKéMON found\n" .string "on ROUTE 103 include…$" Route103_Text_MayLetsBattle: .string "Oh, hi, {PLAYER}{KUN}!\p" .string "…Oh, I see, my dad gave you\n" .string "a POKéMON as a gift.\p" .string "Since we're here, let's have a quick\n" .string "battle!\p" .string "I'll give you a taste of what being\n" .string "a TRAINER is like.$" Route103_Text_MayDefeated: .string "Wow! That's great!\n" .string "{PLAYER}{KUN}, you're pretty good!$" Route103_Text_MayTimeToHeadBack: .string "MAY: I think I know why my dad has\n" .string "an eye out for you now.\p" .string "I mean, you just got that POKéMON,\n" .string "but it already likes you.\p" .string "You might be able to befriend any\n" .string "kind of POKéMON easily.\p" .string "Well, it's time to head back to\n" .string "the LAB.$" Route103_Text_BrendanRoute103Pokemon: .string "BRENDAN: Okay, so it's this one and\n" .string "that one that live on ROUTE 103…$" Route103_Text_BrendanLetsBattle: .string "Hey, it's {PLAYER}!\p" .string "…Oh, yeah, Dad gave you a POKéMON.\p" .string "Since we're here, how about a little\n" .string "battle?\p" .string "I'll teach you what being a TRAINER's\n" .string "about!$" Route103_Text_BrendanDefeated: .string "Huh, {PLAYER}, you're not too shabby.$" Route103_Text_BrendanTimeToHeadBack: .string "BRENDAN: I think I get it.\n" .string "I think I know why my dad has his eye\l" .string "out for you now.\p" .string "Look, your POKéMON already likes you,\n" .string "even though you just got it.\p" .string "{PLAYER}, I get the feeling that you\n" .string "could befriend any POKéMON with ease.\p" .string "We should head back to the LAB.$" Route103_Text_ShouldHaveBroughtPotion: .string "My POKéMON is staggeringly tired…\n" .string "I should have brought a POTION…$" Route103_Text_ShortcutToOldale: .string "If you cross the sea from here,\n" .string "it'll be a shortcut to OLDALE TOWN.\p" .string "Fufufu, that's useful, isn't it?$" Route103_Text_RouteSign: .string "ROUTE 103\n" .string "{DOWN_ARROW} OLDALE TOWN$"