.equ LOCALID_PROF_OAK, 4 .equ LOCALID_BULBASAUR_BALL, 5 .equ LOCALID_SQUIRTLE_BALL, 6 .equ LOCALID_CHARMANDER_BALL, 7 .equ LOCALID_RIVAL, 8 .equ LOCALID_POKEDEX_1, 9 .equ LOCALID_POKEDEX_2, 10 .equ PLAYER_STARTER_NUM, VAR_TEMP_1 .equ PLAYER_STARTER_SPECIES, VAR_TEMP_2 .equ RIVAL_STARTER_SPECIES, VAR_TEMP_3 .equ RIVAL_STARTER_ID, VAR_TEMP_4 .equ SHOWED_OAK_COMPLETE_DEX, FLAG_TEMP_2 PalletTown_ProfessorOaksLab_MapScripts:: @ 8168F7E map_script MAP_SCRIPT_ON_TRANSITION, PalletTown_ProfessorOaksLab_OnTransition map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, PalletTown_ProfessorOaksLab_OnWarp map_script MAP_SCRIPT_ON_FRAME_TABLE, PalletTown_ProfessorOaksLab_OnFrame .byte 0 PalletTown_ProfessorOaksLab_OnTransition:: @ 8168F8E setflag FLAG_VISITED_OAKS_LAB compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1 call_if_eq PalletTown_ProfessorOaksLab_EventScript_ReadyOakForStarterScene compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 7 call_if_eq PalletTown_ProfessorOaksLab_EventScript_ReadyOakForNationalDexScene compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 8 call_if_eq PalletTown_ProfessorOaksLab_EventScript_SetNationalDexSceneFinished call_if_set FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL, PalletTown_ProfessorOaksLab_EventScript_SetSkipPokeBallCheck end PalletTown_ProfessorOaksLab_EventScript_SetSkipPokeBallCheck:: @ 8168FBC setflag FLAG_OAK_SKIP_22_RIVAL_CHECK return PalletTown_ProfessorOaksLab_EventScript_SetNationalDexSceneFinished:: @ 8168FC0 setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 9 return PalletTown_ProfessorOaksLab_EventScript_ReadyOakForStarterScene:: @ 8168FC6 setobjectxyperm LOCALID_PROF_OAK, 6, 11 setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_UP savebgm MUS_OHKIDO return PalletTown_ProfessorOaksLab_EventScript_ReadyOakForNationalDexScene:: @ 8168FD5 setobjectxyperm LOCALID_PROF_OAK, 6, 11 setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_UP return PalletTown_ProfessorOaksLab_OnWarp:: @ 8168FE1 map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1, PalletTown_ProfessorOaksLab_EventScript_ReadyPlayerForStarterScene .2byte 0 PalletTown_ProfessorOaksLab_EventScript_ReadyPlayerForStarterScene:: @ 8168FEB turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH end PalletTown_ProfessorOaksLab_OnFrame:: @ 8168FF0 map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 1, PalletTown_ProfessorOaksLab_ChooseStarterScene map_script_2 VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 7, PalletTown_ProfessorOaksLab_EventScript_EnterForNationalDexScene .2byte 0 PalletTown_ProfessorOaksLab_EventScript_EnterForNationalDexScene:: @ 8169002 lockall setvar VAR_FACING, DIR_NORTH textcolor 0 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakEnter waitmovement 0 removeobject LOCALID_PROF_OAK setobjectxyperm LOCALID_PROF_OAK, 6, 3 setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_DOWN clearflag FLAG_HIDE_OAK_IN_HIS_LAB applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerEnter waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_NationalDexScene end PalletTown_ProfessorOaksLab_EventScript_NationalDexScene:: @ 8169035 msgbox PalletTown_ProfessorOaksLab_Text_OakSightingsOfRareMons closemessage compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterEastWest compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterEastWest msgbox PalletTown_ProfessorOaksLab_Text_RivalJustLetMeHandleEverything fadedefaultbgm msgbox PalletTown_ProfessorOaksLab_Text_OakNeedYourHelpTooNeedToSeePokedexes compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakNorth compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakWest textcolor 3 msgbox PalletTown_ProfessorOaksLab_Text_OakTookBothPokedexUnits closemessage call EventScript_RestorePrevTextColor compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskEast compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskWest addobject LOCALID_POKEDEX_1 addobject LOCALID_POKEDEX_2 delay 30 msgbox PalletTown_ProfessorOaksLab_Text_OakNowTheseUnitsCanRecordMoreData closemessage removeobject LOCALID_POKEDEX_1 removeobject LOCALID_POKEDEX_2 delay 30 compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverEast compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverWest textcolor 3 playfanfare MUS_FAN5 message PalletTown_ProfessorOaksLab_Text_PlayersPokedexWasUpgraded waitmessage waitfanfare call EventScript_RestorePrevTextColor special EnableNationalPokedex msgbox PalletTown_ProfessorOaksLab_Text_OakMustReallyWorkToFillPokedex msgbox PalletTown_ProfessorOaksLab_Text_RivalIllCompleteThePokedex closemessage playbgm MUS_RIVAL2, 0 compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit removeobject LOCALID_RIVAL fadedefaultbgm setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 8 releaseall end PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterNorth:: @ 8169174 setobjectxyperm LOCALID_RIVAL, 5, 10 addobject LOCALID_RIVAL playbgm MUS_RIVAL1, 0 applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterNorth applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterEastWest:: @ 8169194 setobjectxyperm LOCALID_RIVAL, 6, 10 addobject LOCALID_RIVAL playbgm MUS_RIVAL1, 0 applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_NationalDexSceneRivalEnterSouth:: @ 81691BB setobjectxyperm LOCALID_RIVAL, 6, 10 addobject LOCALID_RIVAL playbgm MUS_RIVAL1, 0 applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakNorth:: @ 81691DB applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_PlayerFaceOakWest:: @ 81691E6 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskNorth:: @ 81691F1 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskSouth:: @ 81691FC applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDeskSouth applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk waitmovement LOCALID_PROF_OAK return PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskEast:: @ 8169215 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDeskEast waitmovement LOCALID_PROF_OAK return PalletTown_ProfessorOaksLab_EventScript_OakBringDexesToDeskWest:: @ 8169227 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk waitmovement 0 return PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDesk:: @ 8169232 walk_up walk_left walk_in_place_fastest_up delay_16 delay_4 step_end PalletTown_ProfessorOaksLab_Movement_OakBringDexesToDeskSouth:: @ 8169238 walk_left walk_left walk_up delay_16 delay_4 step_end PalletTown_ProfessorOaksLab_ChooseStarterScene:: @ 816923E lockall textcolor 0 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakEnter waitmovement 0 removeobject LOCALID_PROF_OAK setobjectxyperm LOCALID_PROF_OAK, 6, 3 setobjectmovementtype LOCALID_PROF_OAK, MOVEMENT_TYPE_FACE_DOWN clearflag FLAG_HIDE_OAK_IN_HIS_LAB applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerEnter waitmovement 0 applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestUp waitmovement 0 clearflag FLAG_SPECIAL_FLAG_0x4001 savebgm SE_STOP fadedefaultbgm msgbox PalletTown_ProfessorOaksLab_Text_RivalFedUpWithWaiting closemessage delay 60 msgbox PalletTown_ProfessorOaksLab_Text_OakThreeMonsChooseOne closemessage delay 30 applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalReact waitmovement 0 msgbox PalletTown_ProfessorOaksLab_Text_RivalNoFairWhatAboutMe msgbox PalletTown_ProfessorOaksLab_Text_OakBePatientRival setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 releaseall end PalletTown_ProfessorOaksLab_Movement_OakEnter:: @ 81692B0 walk_up walk_up walk_up walk_up walk_up walk_up step_end PalletTown_ProfessorOaksLab_Movement_PlayerEnter:: @ 81692B7 walk_up walk_up walk_up walk_up walk_up walk_up walk_up walk_up step_end PalletTown_ProfessorOaksLab_Movement_RivalReact:: @ 81692C0 walk_in_place_up walk_in_place_up step_end PalletTown_ProfessorOaksLab_EventScript_LeaveStarterSceneTrigger:: @ 81692C3 lockall textcolor 0 applymovement LOCALID_PROF_OAK, Movement_FaceDown waitmovement 0 msgbox PalletTown_ProfessorOaksLab_Text_OakHeyDontGoAwayYet closemessage applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWalkUp waitmovement 0 releaseall end PalletTown_ProfessorOaksLab_Movement_PlayerWalkUp:: @ 81692E5 walk_up step_end PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerLeft:: @ 81692E7 lockall setvar VAR_TEMP_2, 1 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattle end PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerMid:: @ 81692F3 lockall setvar VAR_TEMP_2, 2 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattle end PalletTown_ProfessorOaksLab_EventScript_RivalBattleTriggerRight:: @ 81692FF lockall setvar VAR_TEMP_2, 3 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattle end PalletTown_ProfessorOaksLab_EventScript_RivalBattle:: @ 816930B textcolor 0 playbgm MUS_RIVAL1, 0 applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestDown waitmovement 0 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 msgbox PalletTown_ProfessorOaksLab_Text_RivalLetsCheckOutMons closemessage applymovement LOCALID_PROF_OAK, Movement_FaceDown waitmovement 0 compare VAR_STARTER_MON, 0 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmander compare VAR_STARTER_MON, 1 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaur compare VAR_STARTER_MON, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtle end @ The scripts for the rival approaching the player for battle are a bit bloated because @ both the player and rival can be in 3 different positions, so theres 9 different approaches @ NOTE: Names below refer to the Rival's mon (e.g. for RivalBattleSquirtle, player has Charmander) PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtle:: @ 816935A compare VAR_TEMP_2, 1 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleLeft compare VAR_TEMP_2, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleMid compare VAR_TEMP_2, 3 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleRight end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleLeft:: @ 816937C applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleLeft waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleMid:: @ 816938C applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleMid waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleSquirtleRight:: @ 816939C applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleRight waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle end PalletTown_ProfessorOaksLab_EventScript_RivalBattleSquirtle:: @ 81693AC trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_SQUIRTLE, RIVAL_BATTLE_TUTORIAL, PalletTown_ProfessorOaksLab_Text_RivalDefeat, Text_RivalVictory goto PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle end PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleLeft:: @ 81693C0 walk_left walk_left walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleMid:: @ 81693C7 walk_left walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleSquirtleRight:: @ 81693CD walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmander:: @ 81693D2 compare VAR_TEMP_2, 1 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderLeft compare VAR_TEMP_2, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderMid compare VAR_TEMP_2, 3 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderRight end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderLeft:: @ 81693F4 applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderLeft waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderMid:: @ 8169404 applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderMid waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleCharmanderRight:: @ 8169414 applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderRight waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander end PalletTown_ProfessorOaksLab_EventScript_RivalBattleCharmander:: @ 8169424 trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_CHARMANDER, RIVAL_BATTLE_TUTORIAL, PalletTown_ProfessorOaksLab_Text_RivalDefeat, Text_RivalVictory goto PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle end PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderLeft:: @ 8169438 walk_left walk_left walk_left walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderMid:: @ 8169440 walk_left walk_left walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_Movement_ApproachForBattleCharmanderRight:: @ 8169447 walk_left walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaur:: @ 816944D compare VAR_TEMP_2, 1 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurLeft compare VAR_TEMP_2, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurMid compare VAR_TEMP_2, 3 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurRight end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurLeft:: @ 816946F applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurLeft waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurMid:: @ 816947F applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurMid waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur end PalletTown_ProfessorOaksLab_EventScript_RivalApproachForBattleBulbasaurRight:: @ 816948F applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurRight waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur end PalletTown_ProfessorOaksLab_EventScript_RivalBattleBulbasaur:: @ 816949F trainerbattle_earlyrival TRAINER_RIVAL_OAKS_LAB_BULBASAUR, RIVAL_BATTLE_TUTORIAL, PalletTown_ProfessorOaksLab_Text_RivalDefeat, Text_RivalVictory goto PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle end PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurLeft:: @ 81694B3 walk_left walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurMid:: @ 81694B9 walk_left walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_Movement_RivalApproachForBattleBulbasaurRight:: @ 81694BE walk_left walk_down walk_down step_end PalletTown_ProfessorOaksLab_EventScript_EndRivalBattle:: @ 81694C2 special HealPlayerParty msgbox PalletTown_ProfessorOaksLab_Text_RivalGoToughenMyMon closemessage playbgm MUS_RIVAL2, 0 compare VAR_TEMP_2, 1 call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleLeft compare VAR_TEMP_2, 2 call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleMid compare VAR_TEMP_2, 3 call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleRight removeobject LOCALID_RIVAL playse SE_KAIDAN fadedefaultbgm setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 4 setflag FLAG_BEAT_RIVAL_IN_OAKS_LAB releaseall end PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleLeft:: @ 8169504 applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleLeft applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattle waitmovement LOCALID_RIVAL return PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleMid:: @ 8169516 applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleMid applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattle waitmovement LOCALID_RIVAL return PalletTown_ProfessorOaksLab_EventScript_RivalExitAfterBattleRight:: @ 8169528 applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleRight applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattleRight waitmovement LOCALID_RIVAL return PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleLeft:: @ 816953A walk_right walk_down walk_down walk_down walk_down walk_down delay_8 step_end PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleRight:: @ 8169542 walk_left walk_down walk_down walk_down walk_down walk_down delay_8 step_end PalletTown_ProfessorOaksLab_Movement_RivalExitAfterBattleMid:: @ 816954A walk_right walk_down walk_down walk_down walk_left walk_down walk_down delay_8 step_end PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattle:: @ 8169553 delay_16 delay_8 walk_in_place_fastest_right delay_16 walk_in_place_fastest_down step_end PalletTown_ProfessorOaksLab_Movement_PlayerWatchRivalExitAfterBattleRight:: @ 8169559 delay_16 delay_8 walk_in_place_fastest_left delay_16 walk_in_place_fastest_down step_end PalletTown_ProfessorOaksLab_EventScript_Rival:: @ 816955F lock faceplayer compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalChoseStarter compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWaitingForStarter msgbox PalletTown_ProfessorOaksLab_Text_RivalGrampsIsntAround release end PalletTown_ProfessorOaksLab_EventScript_RivalWaitingForStarter:: @ 8169581 msgbox PalletTown_ProfessorOaksLab_Text_RivalGoChoosePlayer release end PalletTown_ProfessorOaksLab_EventScript_RivalChoseStarter:: @ 816958B msgbox PalletTown_ProfessorOaksLab_Text_RivalMyMonLooksTougher release end PalletTown_ProfessorOaksLab_EventScript_ProfOak:: @ 8169595 lock faceplayer goto_if_set SHOWED_OAK_COMPLETE_DEX, PalletTown_ProfessorOaksLab_EventScript_OakJustShownCompleteDex compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 9 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RatePokedex compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 8 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait goto_if_set FLAG_SYS_GAME_CLEAR, PalletTown_ProfessorOaksLab_EventScript_TryStartNationalDexScene compare VAR_MAP_SCENE_CERULEAN_CITY_RIVAL, 1 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RatePokedex compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 6 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RatePokedexOrTryGiveBalls compare VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 1 goto_if_ge PalletTown_ProfessorOaksLab_EventScript_ReceiveDexScene compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 4 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBattleMonForItToGrow compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_OakCanReachNextTownWithMon msgbox PalletTown_ProfessorOaksLab_Text_OakWhichOneWillYouChoose release end PalletTown_ProfessorOaksLab_EventScript_OakJustShownCompleteDex:: @ 8169600 msgbox PokedexRating_Text_ThankYouMadeDreamReality release end PalletTown_ProfessorOaksLab_EventScript_OakCanReachNextTownWithMon:: @ 816960A msgbox PalletTown_ProfessorOaksLab_Text_OakCanReachNextTownWithMon release end PalletTown_ProfessorOaksLab_EventScript_OakBattleMonForItToGrow:: @ 8169614 msgbox PalletTown_ProfessorOaksLab_Text_OakBattleMonForItToGrow release end PalletTown_ProfessorOaksLab_EventScript_ReceiveDexScene:: @ 816961E msgbox PalletTown_ProfessorOaksLab_Text_OakHaveSomethingForMe textcolor 3 playfanfare MUS_ME_WAZA message PalletTown_ProfessorOaksLab_Text_DeliveredOaksParcel waitmessage waitfanfare call EventScript_RestorePrevTextColor removeitem ITEM_OAKS_PARCEL, 1 msgbox PalletTown_ProfessorOaksLab_Text_OakCustomBallIOrdered playbgm MUS_RIVAL1, 0 msgbox PalletTown_ProfessorOaksLab_Text_RivalGramps closemessage compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterEastWest compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterEastWest fadedefaultbgm msgbox PalletTown_ProfessorOaksLab_Text_RivalWhatDidYouCallMeFor closemessage delay 30 playse SE_PIN applymovement LOCALID_PROF_OAK, Movement_ExclamationMark waitmovement 0 applymovement LOCALID_PROF_OAK, Movement_Delay48 waitmovement 0 compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalEast compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalWest compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalNorth msgbox PalletTown_ProfessorOaksLab_Text_OakHaveRequestForYouTwo closemessage compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskEast compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskWest msgbox PalletTown_ProfessorOaksLab_Text_OakPokedexOnDesk closemessage delay 40 msgbox PalletTown_ProfessorOaksLab_Text_OakTakeTheseWithYou closemessage applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestUp waitmovement 0 removeobject LOCALID_POKEDEX_1 delay 10 removeobject LOCALID_POKEDEX_2 delay 25 compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverEast compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverWest delay 10 textcolor 3 playfanfare MUS_FAN5 message PalletTown_ProfessorOaksLab_Text_ReceivedPokedexFromOak waitmessage waitfanfare call EventScript_RestorePrevTextColor setflag FLAG_SYS_POKEDEX_GET special sub_810B810 setvar VAR_MAP_SCENE_POKEMON_CENTER_TEALA, 1 msgbox PalletTown_ProfessorOaksLab_Text_OakCatchMonsForDataTakeThese giveitem_msg PalletTown_ProfessorOaksLab_Text_ReceivedFivePokeBalls, ITEM_POKE_BALL, 5 msgbox PalletTown_ProfessorOaksLab_Text_OakExplainCatching famechecker FAMECHECKER_OAK, 1 msgbox PalletTown_ProfessorOaksLab_Text_OakCompleteMonGuideWasMyDream msgbox PalletTown_ProfessorOaksLab_Text_RivalLeaveItToMeGramps compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerEastWest compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerEastWest msgbox PalletTown_ProfessorOaksLab_Text_RivalTellSisNotToGiveYouMap closemessage playbgm MUS_RIVAL2, 0 compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExitNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalExit removeobject LOCALID_RIVAL fadedefaultbgm setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 6 setvar VAR_MAP_SCENE_VIRIDIAN_CITY_MART, 2 setvar VAR_MAP_SCENE_VIRIDIAN_CITY_OLD_MAN, 1 setvar VAR_MAP_SCENE_PALLET_TOWN_GARYS_HOUSE, 1 setvar VAR_MAP_SCENE_ROUTE22, 1 release end PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverNorth:: @ 8169845 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverSouth:: @ 8169850 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOverSouth waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverEast:: @ 816985B applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_PlayerFaceOakForDexEast waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakBringDexesOverWest:: @ 816986D applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver waitmovement 0 return PalletTown_ProfessorOaksLab_Movement_PlayerFaceOakForDexEast:: @ 8169878 delay_16 delay_8 walk_in_place_fastest_right step_end PalletTown_ProfessorOaksLab_Movement_OakBringDexesOver:: @ 816987C walk_right walk_down step_end PalletTown_ProfessorOaksLab_Movement_OakBringDexesOverSouth:: @ 816987F walk_down walk_right step_end PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskNorth:: @ 8169882 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskSouth:: @ 816988D applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDeskSouth applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk waitmovement LOCALID_PROF_OAK return PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskEast:: @ 81698A6 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDeskEast waitmovement LOCALID_PROF_OAK return PalletTown_ProfessorOaksLab_EventScript_DexSceneOakWalkToDeskWest:: @ 81698B8 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk waitmovement 0 return PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDeskEast:: @ 81698C3 delay_16 delay_8 walk_in_place_fastest_up step_end PalletTown_ProfessorOaksLab_Movement_WatchOakWalkToDesk:: @ 81698C7 delay_16 delay_8 walk_in_place_fastest_left step_end PalletTown_ProfessorOaksLab_Movement_OakWalkToDesk:: @ 81698CB walk_up walk_left delay_16 walk_in_place_fastest_down step_end PalletTown_ProfessorOaksLab_Movement_OakWalkToDeskSouth:: @ 81698D0 walk_left walk_left walk_up delay_16 walk_in_place_fastest_right step_end PalletTown_ProfessorOaksLab_EventScript_RatePokedexOrTryGiveBalls:: @ 81698D6 setvar VAR_0x8004, 0 specialvar VAR_RESULT, GetPokedexCount copyvar VAR_0x8008, VAR_0x8005 copyvar VAR_0x8009, VAR_0x8006 getnumberstring 0, VAR_0x8008 getnumberstring 1, VAR_0x8009 compare VAR_0x8009, 1 @ Player only has starter goto_if_eq PalletTown_ProfessorOaksLab_EventScript_CheckIfPlayerNeedsBalls goto PalletTown_ProfessorOaksLab_EventScript_RatePokedex end PalletTown_ProfessorOaksLab_EventScript_RatePokedex:: @ 8169903 call PokedexRating_EventScript_RateInPerson goto_if_set FLAG_OAK_SAW_DEX_COMPLETION, PalletTown_ProfessorOaksLab_EventScript_DexCompleted release end PalletTown_ProfessorOaksLab_EventScript_DexCompleted:: @ 8169913 closemessage delay 40 message PokedexRating_Text_Wroooaaarrr waitmessage compare VAR_FACING, DIR_NORTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedNorth compare VAR_FACING, DIR_SOUTH call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedSouth compare VAR_FACING, DIR_EAST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedEast compare VAR_FACING, DIR_WEST call_if_eq PalletTown_ProfessorOaksLab_EventScript_OakExcitedWest applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 closemessage delay 70 msgbox PokedexRating_Text_ThankYouMadeDreamReality setflag SHOWED_OAK_COMPLETE_DEX release end PalletTown_ProfessorOaksLab_EventScript_OakExcitedNorth:: @ 8169964 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedNorth waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakExcitedSouth:: @ 816996F applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedSouth waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakExcitedEast:: @ 816997A applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedEast waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_OakExcitedWest:: @ 8169985 applymovement LOCALID_PROF_OAK, PalletTown_ProfessorOaksLab_Movement_OakExcitedWest waitmovement 0 return PalletTown_ProfessorOaksLab_Movement_OakExcitedNorth:: @ 8169990 walk_in_place_down walk_in_place_fast_down walk_in_place_down walk_in_place_down walk_in_place_fast_down walk_in_place_down step_end PalletTown_ProfessorOaksLab_Movement_OakExcitedSouth:: @ 8169997 walk_in_place_up walk_in_place_fast_up walk_in_place_up walk_in_place_up walk_in_place_fast_up walk_in_place_up step_end PalletTown_ProfessorOaksLab_Movement_OakExcitedEast:: @ 816999E walk_in_place_left walk_in_place_fast_left walk_in_place_left walk_in_place_left walk_in_place_fast_left walk_in_place_left step_end PalletTown_ProfessorOaksLab_Movement_OakExcitedWest:: @ 81699A5 walk_in_place_right walk_in_place_fast_right walk_in_place_right walk_in_place_right walk_in_place_fast_right walk_in_place_right step_end @ Unused Movement_1699AC:: @ 81699AC walk_left walk_in_place_fastest_down delay_8 walk_in_place_fastest_right delay_8 walk_in_place_fastest_up delay_8 walk_in_place_fastest_left delay_8 walk_in_place_fastest_down delay_8 walk_right walk_right walk_in_place_fastest_up delay_8 walk_in_place_fastest_left delay_8 walk_in_place_fastest_down delay_8 walk_in_place_fastest_right delay_8 walk_in_place_fastest_up delay_8 walk_left step_end @ Unused Movement_1699C5: walk_up walk_down walk_down walk_in_place_down walk_up delay_16 delay_16 delay_16 step_end PalletTown_ProfessorOaksLab_EventScript_TryStartNationalDexScene:: @ 81699CE call PokedexRating_EventScript_RateInPerson closemessage compare VAR_0x8009, 60 goto_if_lt PalletTown_ProfessorOaksLab_EventScript_DontStartNationalDexScene goto_if_unset FLAG_WORLD_MAP_ONE_ISLAND, PalletTown_ProfessorOaksLab_EventScript_DontStartNationalDexScene delay 30 msgbox PalletTown_ProfessorOaksLab_Text_OakFavorToAskYouPlayer goto PalletTown_ProfessorOaksLab_EventScript_NationalDexScene end PalletTown_ProfessorOaksLab_EventScript_DontStartNationalDexScene:: @ 81699F9 release end PalletTown_ProfessorOaksLab_EventScript_CheckIfPlayerNeedsBalls:: @ 81699FB goto_if_questlog EventScript_ReleaseEnd special sub_8112364 goto_if_set FLAG_OAK_SKIP_22_RIVAL_CHECK, PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait goto_if_set FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL, PalletTown_ProfessorOaksLab_EventScript_PlayerAlreadyGotBalls checkitem ITEM_POKE_BALL, 1 compare VAR_RESULT, FALSE goto_if_eq PalletTown_ProfessorOaksLab_EventScript_PlayerOutOfBalls goto PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait end PalletTown_ProfessorOaksLab_EventScript_PlayerOutOfBalls:: @ 8169A34 compare VAR_MAP_SCENE_ROUTE22, 2 goto_if_ge PalletTown_ProfessorOaksLab_EventScript_GivePlayerMoreBalls goto PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait end PalletTown_ProfessorOaksLab_EventScript_GivePlayerMoreBalls:: @ 8169A45 msgbox PalletTown_ProfessorOaksLab_Text_OakAddedNothingToPokedex giveitem_msg PalletTown_ProfessorOaksLab_Text_ReceivedFivePokeBalls, ITEM_POKE_BALL, 5 setflag FLAG_GOT_POKEBALLS_FROM_OAK_AFTER_22_RIVAL release end PalletTown_ProfessorOaksLab_EventScript_MonsAroundWorldWait:: @ 8169A6E msgbox PalletTown_ProfessorOaksLab_Text_OakMonsAroundWorldWait release end PalletTown_ProfessorOaksLab_EventScript_PlayerAlreadyGotBalls:: @ 8169A78 msgbox PalletTown_ProfessorOaksLab_Text_OakComeSeeMeSometime release end PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterNorth:: @ 8169A82 setobjectxyperm LOCALID_RIVAL, 5, 10 addobject LOCALID_RIVAL applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterNorth applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterEastWest:: @ 8169A9E setobjectxyperm LOCALID_RIVAL, 6, 10 addobject LOCALID_RIVAL applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalEnterSouth:: @ 8169AC1 setobjectxyperm LOCALID_RIVAL, 6, 10 addobject LOCALID_RIVAL applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalEnter waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalSouth:: @ 8169ADD applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 delay 15 applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalWest:: @ 8169AF5 applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 delay 15 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalEast:: @ 8169B14 applymovement LOCALID_PROF_OAK, Movement_FacePlayer waitmovement 0 delay 15 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight applymovement LOCALID_PROF_OAK, Movement_WalkInPlaceFastestDown waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerNorth:: @ 8169B33 applymovement LOCALID_RIVAL, Movement_FacePlayer applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestLeft waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerSouth:: @ 8169B45 applymovement LOCALID_RIVAL, Movement_WalkInPlaceFastestUp applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneRivalFacePlayerEastWest:: @ 8169B57 applymovement LOCALID_RIVAL, Movement_FacePlayer applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestDown waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_RivalExitNorth:: @ 8169B69 applymovement OBJ_EVENT_ID_PLAYER, PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExit waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_RivalExit:: @ 8169B7B applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalExit waitmovement 0 return PalletTown_ProfessorOaksLab_EventScript_DexSceneOakFacePlayerAndRivalNorth:: @ 8169B86 applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestUp waitmovement 0 return PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterEastWest:: @ 8169B91 delay_4 walk_in_place_fastest_down step_end PalletTown_ProfessorOaksLab_Movement_WatchRivalEnterNorth:: @ 8169B94 walk_in_place_fastest_down delay_16 delay_16 delay_16 delay_16 delay_16 delay_8 walk_in_place_fastest_left step_end PalletTown_ProfessorOaksLab_Movement_RivalEnter:: @ 8169B9D walk_up walk_up walk_up walk_up walk_up walk_up step_end PalletTown_ProfessorOaksLab_Movement_RivalExit:: @ 8169BA4 walk_down walk_down walk_down walk_down walk_down walk_down step_end PalletTown_ProfessorOaksLab_EventScript_BulbasaurBall:: @ 8169BAB lock faceplayer setvar PLAYER_STARTER_NUM, 0 setvar PLAYER_STARTER_SPECIES, SPECIES_BULBASAUR setvar RIVAL_STARTER_SPECIES, SPECIES_CHARMANDER setvar RIVAL_STARTER_ID, LOCALID_CHARMANDER_BALL compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 goto_if_ge PalletTown_ProfessorOaksLab_EventScript_LastPokeBall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice msgbox PalletTown_ProfessorOaksLab_Text_ThoseArePokeBalls release end PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice:: @ 8169BE1 applymovement LOCALID_PROF_OAK, Movement_FaceRight waitmovement 0 drawmonpic PLAYER_STARTER_SPECIES, 10, 3 textcolor 0 compare PLAYER_STARTER_NUM, 0 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmBulbasaur compare PLAYER_STARTER_NUM, 1 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmCharmander compare PLAYER_STARTER_NUM, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmSquirtle end PalletTown_ProfessorOaksLab_EventScript_ConfirmBulbasaur:: @ 8169C14 msgbox PalletTown_ProfessorOaksLab_Text_OakChoosingBulbasaur, MSGBOX_YESNO compare VAR_RESULT, YES goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ChoseStarter compare VAR_RESULT, NO goto_if_eq PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter end PalletTown_ProfessorOaksLab_EventScript_ConfirmCharmander:: @ 8169C33 msgbox PalletTown_ProfessorOaksLab_Text_OakChoosingSquirtle, MSGBOX_YESNO compare VAR_RESULT, YES goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ChoseStarter compare VAR_RESULT, NO goto_if_eq PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter end PalletTown_ProfessorOaksLab_EventScript_ConfirmSquirtle:: @ 8169C52 msgbox PalletTown_ProfessorOaksLab_Text_OakChoosingCharmander, MSGBOX_YESNO compare VAR_RESULT, YES goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ChoseStarter compare VAR_RESULT, NO goto_if_eq PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter end PalletTown_ProfessorOaksLab_EventScript_DeclinedStarter:: @ 8169C71 erasemonpic release end PalletTown_ProfessorOaksLab_EventScript_ChoseStarter:: @ 8169C74 erasemonpic removeobject VAR_LAST_TALKED msgbox PalletTown_ProfessorOaksLab_Text_OakThisMonIsEnergetic call EventScript_RestorePrevTextColor setflag FLAG_SYS_POKEMON_GET setflag FLAG_PALLET_LADY_NOT_BLOCKING_SIGN givemon PLAYER_STARTER_SPECIES, 5, ITEM_NONE copyvar VAR_STARTER_MON, PLAYER_STARTER_NUM getspeciesname 0, PLAYER_STARTER_SPECIES message PalletTown_ProfessorOaksLab_Text_ReceivedMonFromOak waitmessage playfanfare MUS_FAN5 waitfanfare msgbox Text_GiveNicknameToThisMon, MSGBOX_YESNO compare VAR_RESULT, YES goto_if_eq EventScript_GiveNicknameToStarter compare VAR_RESULT, NO goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalPicksStarter end EventScript_GiveNicknameToStarter:: @ 8169CCC setvar VAR_0x8004, 0 call EventScript_ChangePokemonNickname goto PalletTown_ProfessorOaksLab_EventScript_RivalPicksStarter end PalletTown_ProfessorOaksLab_EventScript_RivalPicksStarter:: @ 8169CDC closemessage compare PLAYER_STARTER_NUM, 0 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWalksToCharmander compare PLAYER_STARTER_NUM, 1 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWalksToSquirtle compare PLAYER_STARTER_NUM, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_RivalWalksToBulbasaur end PalletTown_ProfessorOaksLab_EventScript_RivalWalksToCharmander:: @ 8169CFF applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalWalksToCharmander waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter end PalletTown_ProfessorOaksLab_EventScript_RivalWalksToBulbasaur:: @ 8169D0F applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalWalksToBulbasaur waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter end PalletTown_ProfessorOaksLab_EventScript_RivalWalksToSquirtle:: @ 8169D1F applymovement LOCALID_RIVAL, PalletTown_ProfessorOaksLab_Movement_RivalWalksToSquirtle waitmovement 0 goto PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter end PalletTown_ProfessorOaksLab_EventScript_RivalTakesStarter:: @ 8169D2F textcolor 0 msgbox PalletTown_ProfessorOaksLab_Text_RivalIllTakeThisOneThen removeobject RIVAL_STARTER_ID textcolor 3 getspeciesname 0, RIVAL_STARTER_SPECIES message PalletTown_ProfessorOaksLab_Text_RivalReceivedMonFromOak waitmessage playfanfare MUS_FAN5 waitfanfare setvar VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 call_if_set FLAG_OPENED_START_MENU, PalletTown_ProfessorOaksLab_EventScript_ReadyEndSignLadyScene release end PalletTown_ProfessorOaksLab_EventScript_ReadyEndSignLadyScene:: @ 8169D5C setvar VAR_MAP_SCENE_PALLET_TOWN_SIGN_LADY, 1 return PalletTown_ProfessorOaksLab_Movement_RivalWalksToCharmander:: @ 8169D62 walk_down walk_down walk_right walk_right walk_right walk_right walk_right walk_up step_end PalletTown_ProfessorOaksLab_Movement_RivalWalksToBulbasaur:: @ 8169D6B walk_down walk_right walk_right walk_right walk_right walk_in_place_fastest_up step_end PalletTown_ProfessorOaksLab_Movement_RivalWalksToSquirtle:: @ 8169D72 walk_down walk_right walk_right walk_right walk_in_place_fastest_up step_end PalletTown_ProfessorOaksLab_EventScript_SquirtleBall:: @ 8169D78 lock faceplayer setvar PLAYER_STARTER_NUM, 1 setvar PLAYER_STARTER_SPECIES, SPECIES_SQUIRTLE setvar RIVAL_STARTER_SPECIES, SPECIES_BULBASAUR setvar RIVAL_STARTER_ID, LOCALID_BULBASAUR_BALL compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 goto_if_ge PalletTown_ProfessorOaksLab_EventScript_LastPokeBall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice msgbox PalletTown_ProfessorOaksLab_Text_ThoseArePokeBalls release end PalletTown_ProfessorOaksLab_EventScript_CharmanderBall:: @ 8169DAE lock faceplayer setvar PLAYER_STARTER_NUM, 2 setvar PLAYER_STARTER_SPECIES, SPECIES_CHARMANDER setvar RIVAL_STARTER_SPECIES, SPECIES_SQUIRTLE setvar RIVAL_STARTER_ID, LOCALID_SQUIRTLE_BALL compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 3 goto_if_ge PalletTown_ProfessorOaksLab_EventScript_LastPokeBall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 2 goto_if_eq PalletTown_ProfessorOaksLab_EventScript_ConfirmStarterChoice msgbox PalletTown_ProfessorOaksLab_Text_ThoseArePokeBalls release end PalletTown_ProfessorOaksLab_EventScript_LastPokeBall:: @ 8169DE4 msgbox PalletTown_ProfessorOaksLab_Text_OaksLastMon release end PalletTown_ProfessorOaksLab_EventScript_Aide1:: @ 8169DEE lock faceplayer goto_if_set FLAG_SYS_GAME_CLEAR, PalletTown_ProfessorOaksLab_EventScript_Aide1GameClear msgbox PalletTown_ProfessorOaksLab_Text_StudyAsOaksAide release end PalletTown_ProfessorOaksLab_EventScript_Aide1GameClear:: @ 8169E03 famechecker FAMECHECKER_OAK, 5 msgbox PalletTown_ProfessorOaksLab_Text_OakIsGoingToHaveRadioShow release end PalletTown_ProfessorOaksLab_EventScript_Aide2:: @ 8169E1A lock faceplayer goto_if_set FLAG_SYS_GAME_CLEAR, PalletTown_ProfessorOaksLab_EventScript_Aide2GameClear msgbox PalletTown_ProfessorOaksLab_Text_StudyAsOaksAide release end PalletTown_ProfessorOaksLab_EventScript_Aide2GameClear:: @ 8169E2F famechecker FAMECHECKER_DAISY, 0 msgbox PalletTown_ProfessorOaksLab_Text_DaisyWillGroomMons release end PalletTown_ProfessorOaksLab_EventScript_Aide3:: @ 8169E46 lock faceplayer famechecker FAMECHECKER_OAK, 2 msgbox PalletTown_ProfessorOaksLab_Text_OakIsAuthorityOnMons release end PalletTown_ProfessorOaksLab_EventScript_Pokedex:: @ 8169E5F msgbox PalletTown_ProfessorOaksLab_Text_BlankEncyclopedia, MSGBOX_NPC end PalletTown_ProfessorOaksLab_EventScript_Computer:: @ 8169E68 msgbox PalletTown_ProfessorOaksLab_Text_EmailMessage, MSGBOX_SIGN end PalletTown_ProfessorOaksLab_EventScript_LeftSign:: @ 8169E71 msgbox PalletTown_ProfessorOaksLab_Text_PressStartToOpenMenu, MSGBOX_SIGN end PalletTown_ProfessorOaksLab_EventScript_RightSign:: @ 8169E7A lockall compare VAR_MAP_SCENE_PALLET_TOWN_PROFESSOR_OAKS_LAB, 6 goto_if_ge PalletTown_ProfessorOaksLab_EventScript_RightSignAlt msgbox PalletTown_ProfessorOaksLab_Text_SaveOptionInMenu releaseall end PalletTown_ProfessorOaksLab_EventScript_RightSignAlt:: @ 8169E90 msgbox PalletTown_ProfessorOaksLab_Text_AllMonTypesHaveStrongAndWeakPoints releaseall end