.set LOCALID_APPRENTICE, 6 BattleFrontier_BattleTowerLobby_EventScript_Apprentice:: lock faceplayer apprentice_gavelvlmode goto_if_eq VAR_RESULT, FALSE, Apprentice_EventScript_FirstMeeting apprentice_shouldcheckgone goto_if_eq VAR_0x8004, FALSE, Apprentice_EventScript_AskQuestion @ VAR_0x8004 always TRUE here goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Apprentice_EventScript_Gone Apprentice_EventScript_AskQuestion: apprentice_getquestion goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHICH_MON, Apprentice_EventScript_UseWhichMon goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHAT_ITEM, Apprentice_EventScript_UseWhatHeldItem goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHICH_MOVE, Apprentice_EventScript_UseWhichMove goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WHICH_FIRST, Apprentice_EventScript_PutWhichMonFirst goto_if_eq VAR_RESULT, APPRENTICE_QUESTION_WIN_SPEECH, Apprentice_EventScript_PickWinSpeech release releaseall end Apprentice_EventScript_FirstMeeting: apprentice_buff STR_VAR_1, APPRENTICE_BUFF_NAME apprentice_msg FALSE, APPRENTICE_MSG_PLEASE_TEACH Apprentice_EventScript_WhichLvlMode: apprentice_menu APPRENTICE_ASK_YES_NO goto_if_eq VAR_RESULT, 1, Apprentice_EventScript_RejectTeach apprentice_msg FALSE, APPRENTICE_MSG_WHICH_LVL_MODE apprentice_menu APPRENTICE_ASK_WHICH_LEVEL apprentice_setlvlmode VAR_RESULT apprentice_shufflespecies apprentice_buff STR_VAR_1, APPRENTICE_BUFF_LEVEL apprentice_msg TRUE, APPRENTICE_MSG_THANKS_LVL_MODE call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING case DIR_NORTH, Apprentice_EventScript_LeaveNorth goto Apprentice_EventScript_Leave end @ Its impossible to fully reject an Apprentice, they just keep asking for you to teach them Apprentice_EventScript_RejectTeach: apprentice_msg FALSE, APPRENTICE_MSG_REJECT goto Apprentice_EventScript_WhichLvlMode Apprentice_EventScript_UseWhichMon: apprentice_initquestion APPRENTICE_QUESTION_WHICH_MON apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES1 apprentice_buff STR_VAR_2, APPRENTICE_BUFF_SPECIES2 apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON apprentice_menu APPRENTICE_ASK_2SPECIES copyvar VAR_0x8005, VAR_RESULT call_if_eq VAR_0x8005, 0, Apprentice_EventScript_ChoseFirstMon call_if_eq VAR_0x8005, 1, Apprentice_EventScript_ChoseSecondMon apprentice_getnumpartymons apprentice_setpartymon VAR_RESULT apprentice_answeredquestion apprentice_getnumpartymons call_if_eq VAR_RESULT, MULTI_PARTY_SIZE, Apprentice_EventScript_LastMonSelected apprentice_buff STR_VAR_1, VAR_0x8007 apprentice_freequestion apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING case DIR_NORTH, Apprentice_EventScript_LeaveNorth goto Apprentice_EventScript_Leave end Apprentice_EventScript_ChoseFirstMon: setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES1 return Apprentice_EventScript_ChoseSecondMon: setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES2 return Apprentice_EventScript_LastMonSelected: apprentice_randomizequestions return Apprentice_EventScript_UseWhatHeldItem: apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES3 apprentice_msg TRUE, APPRENTICE_MSG_WHAT_HELD_ITEM apprentice_freequestion Apprentice_EventScript_ChooseHoldItem: fadescreen FADE_TO_BLACK setvar VAR_RESULT, 0 apprentice_openbag goto_if_eq VAR_RESULT, FALSE, Apprentice_EventScript_ConfirmHoldNothing apprentice_trysetitem goto_if_eq VAR_RESULT, FALSE, Apprentice_EventScript_AlreadySuggestedItem apprentice_buff STR_VAR_1, APPRENTICE_BUFF_ITEM apprentice_msg TRUE, APPRENTICE_MSG_THANKS_HELD_ITEM apprentice_answeredquestion call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING case DIR_NORTH, Apprentice_EventScript_LeaveNorth goto Apprentice_EventScript_Leave end Apprentice_EventScript_ConfirmHoldNothing: apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES3 apprentice_msg FALSE, APPRENTICE_MSG_HOLD_NOTHING apprentice_menu APPRENTICE_ASK_GIVE apprentice_freequestion goto_if_eq VAR_RESULT, 0, Apprentice_EventScript_ChooseHoldItem Apprentice_EventScript_HoldNothing: apprentice_msg TRUE, APPRENTICE_MSG_THANKS_NO_HELD_ITEM apprentice_answeredquestion call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING case DIR_NORTH, Apprentice_EventScript_LeaveNorth goto Apprentice_EventScript_Leave end @ Because Battle Tower mons may not hold the same item, the player must suggest a @ different item if theyve already told the Apprentice to use it for another mon Apprentice_EventScript_AlreadySuggestedItem: apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff STR_VAR_1, APPRENTICE_BUFF_ITEM apprentice_buff STR_VAR_2, APPRENTICE_BUFF_SPECIES3 apprentice_msg FALSE, APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED apprentice_menu APPRENTICE_ASK_GIVE apprentice_freequestion goto_if_eq VAR_RESULT, 0, Apprentice_EventScript_ChooseHoldItem goto Apprentice_EventScript_HoldNothing end Apprentice_EventScript_UseWhichMove: apprentice_initquestion APPRENTICE_QUESTION_WHICH_MOVE apprentice_buff STR_VAR_1, APPRENTICE_BUFF_SPECIES3 apprentice_buff STR_VAR_2, APPRENTICE_BUFF_MOVE1 apprentice_buff STR_VAR_3, APPRENTICE_BUFF_MOVE2 apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MOVE apprentice_menu APPRENTICE_ASK_MOVES copyvar VAR_0x8005, VAR_RESULT call_if_eq VAR_0x8005, 0, Apprentice_EventScript_ChoseMove1 call_if_eq VAR_0x8005, 1, Apprentice_EventScript_ChoseMove2 apprentice_setmove apprentice_answeredquestion apprentice_buff STR_VAR_1, VAR_0x8007 apprentice_freequestion apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MOVE call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING case DIR_NORTH, Apprentice_EventScript_LeaveNorth goto Apprentice_EventScript_Leave end Apprentice_EventScript_ChoseMove1: setvar VAR_0x8007, APPRENTICE_BUFF_MOVE1 return Apprentice_EventScript_ChoseMove2: setvar VAR_0x8007, APPRENTICE_BUFF_MOVE2 return Apprentice_EventScript_PutWhichMonFirst: apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON_FIRST apprentice_menu APPRENTICE_ASK_3SPECIES apprentice_setleadmon VAR_RESULT apprentice_answeredquestion apprentice_buff STR_VAR_1, APPRENTICE_BUFF_LEAD_MON_SPECIES apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON_FIRST call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING case DIR_NORTH, Apprentice_EventScript_LeaveNorth goto Apprentice_EventScript_Leave end @ Last question, after which the Apprentice leaves (and is saved) to be replaced by another Apprentice_EventScript_PickWinSpeech: apprentice_msg TRUE, APPRENTICE_MSG_PICK_WIN_SPEECH apprentice_shiftsaved setvar VAR_0x8004, EASY_CHAT_TYPE_APPRENTICE call Common_ShowEasyChatScreen lock faceplayer apprentice_save apprentice_buff STR_VAR_1, APPRENTICE_BUFF_WIN_SPEECH apprentice_msg TRUE, APPRENTICE_MSG_THANKS_WIN_SPEECH apprentice_reset call Apprentice_EventScript_SetHideFlags release releaseall switch VAR_FACING case DIR_NORTH, Apprentice_EventScript_LeaveNorth goto Apprentice_EventScript_Leave end Apprentice_EventScript_SetHideFlags: setflag FLAG_HIDE_APPRENTICE setflag FLAG_DAILY_APPRENTICE_LEAVES return Apprentice_EventScript_LeaveNorth: apprentice_shouldleave goto_if_eq VAR_0x8004, FALSE, Apprentice_EventScript_DontMove @ VAR_0x8004 always TRUE here applymovement LOCALID_APPRENTICE, Apprentice_Movement_LeaveNorth waitmovement 0 end Apprentice_EventScript_Leave: apprentice_shouldleave goto_if_eq VAR_0x8004, FALSE, Apprentice_EventScript_DontMove @ VAR_0x8004 always TRUE here applymovement LOCALID_APPRENTICE, Apprentice_Movement_Leave waitmovement 0 end Apprentice_EventScript_Gone: release releaseall end Apprentice_EventScript_DontMove: end Apprentice_Movement_LeaveNorth: walk_fast_right Apprentice_Movement_Leave: walk_fast_down walk_fast_down walk_fast_right walk_fast_right walk_fast_right walk_fast_right walk_fast_right walk_fast_right walk_fast_right walk_fast_right walk_fast_right set_invisible slide_down slide_down slide_down step_end