.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 "小遥:我看看……在103号道路\n发现的宝可梦有……$" Route103_Text_MayLetsBattle: .string "啊,你好,{PLAYER}{KUN}!\p……哦,原来爸爸送你了\n一只宝可梦。\p机会难得,\n我们来一场对战吧!\p让我教你怎样当\n一位训练家!$" Route103_Text_MayDefeated: .string "哇!好厉害!\n{PLAYER}{KUN},你真棒!$" Route103_Text_MayTimeToHeadBack: .string "小遥:现在我明白爸爸\n为什么会对你青睐有加了。\p你刚获得的宝可梦\n就已经这么亲近你了。\p你一定能和任何宝可梦\n成为朋友!\p好了,\n我们回研究所去吧!$" Route103_Text_BrendanRoute103Pokemon: .string "小悠:好,原来103号道路上\n的宝可梦有这个和这个……$" Route103_Text_BrendanLetsBattle: .string "嗨,{PLAYER}!\p……这样啊,\n爸爸给你了一只宝可梦吗?\p这样正好,\n我们来一场对战吧?\p我来教你如何\n成为一位训练家!$" Route103_Text_BrendanDefeated: .string "呵,{PLAYER},你还挺厉害的嘛。$" Route103_Text_BrendanTimeToHeadBack: .string "小悠:我明白了……\n难怪爸爸会对你青睐有加。\p看,你刚拿到的宝可梦\n就已经这么亲近你了。\p{PLAYER},我想你说不定能和\n任何宝可梦都成为朋友呢!\p我们先回研究所吧!$" Route103_Text_ShouldHaveBroughtPotion: .string "我的宝可梦已经很累了……\n我本该买点伤药的……$" Route103_Text_ShortcutToOldale: .string "如果从这儿渡海,\n就能到达古玫镇。\p呵呵呵,这条捷径会派上不少用场的。$" Route103_Text_RouteSign: .string "103号道路\n{DOWN_ARROW}古玫镇$"