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