diff options
Diffstat (limited to 'data/scripts/apprentice.inc')
-rw-r--r-- | data/scripts/apprentice.inc | 334 |
1 files changed, 133 insertions, 201 deletions
diff --git a/data/scripts/apprentice.inc b/data/scripts/apprentice.inc index 337899496..dfb9f5727 100644 --- a/data/scripts/apprentice.inc +++ b/data/scripts/apprentice.inc @@ -1,269 +1,204 @@ -.macro apprentice_msg waitbuttonpress:req, which:req -setvar VAR_0x8004, APPRENTICE_FUNC_PRINT_MSG -setvar VAR_0x8005, \waitbuttonpress -setvar VAR_0x8006, \which -special CallApprenticeFunction -waitstate -.endm - -.macro apprentice_buff whichstringvar:req, tobuff:req -setvar VAR_0x8004, APPRENTICE_FUNC_16 -setvar VAR_0x8005, \whichstringvar -setvar VAR_0x8006, \tobuff -special CallApprenticeFunction -.endm - -.macro apprentice_menu which:req -setvar VAR_0x8004, APPRENTICE_FUNC_MENU -setvar VAR_0x8005, \which -special CallApprenticeFunction -waitstate -.endm - BattleFrontier_BattleTowerLobby_EventScript_Apprentice:: @ 82B688D lock faceplayer - setvar VAR_0x8004, APPRENTICE_FUNC_0 - special CallApprenticeFunction - compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6900 - setvar VAR_0x8004, APPRENTICE_FUNC_SET_TRUE_1 - special CallApprenticeFunction + apprentice_gavelvlmode + compare VAR_RESULT, FALSE + goto_if_eq Apprentice_EventScript_FirstMeeting + apprentice_shouldcheckgone compare VAR_0x8004, FALSE @ Always TRUE here - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B68BE - goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, BattleFrontier_BattleTowerLobby_EventScript_2B6E90 - -BattleFrontier_BattleTowerLobby_EventScript_2B68BE: @ 82B68BE - setvar VAR_0x8004, APPRENTICE_FUNC_11 - special CallApprenticeFunction - compare VAR_RESULT, 2 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B69D3 - compare VAR_RESULT, 4 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ACF - compare VAR_RESULT, 3 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C77 - compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D5C - compare VAR_RESULT, 5 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6DD4 + goto_if_eq Apprentice_EventScript_AskQuestion + goto_if_set FLAG_DAILY_APPRENTICE_LEAVES, Apprentice_EventScript_Gone +Apprentice_EventScript_AskQuestion: @ 82B68BE + apprentice_getquestion + compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MON + goto_if_eq Apprentice_EventScript_UseWhichMon + compare VAR_RESULT, APPRENTICE_QUESTION_WHAT_ITEM + goto_if_eq Apprentice_EventScript_UseWhatHeldItem + compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_MOVE + goto_if_eq Apprentice_EventScript_UseWhichMove + compare VAR_RESULT, APPRENTICE_QUESTION_WHICH_FIRST + goto_if_eq Apprentice_EventScript_PutWhichMonFirst + compare VAR_RESULT, APPRENTICE_QUESTION_WIN_SPEECH + goto_if_eq Apprentice_EventScript_PickWinSpeech release releaseall end -BattleFrontier_BattleTowerLobby_EventScript_2B6900: @ 82B6900 +Apprentice_EventScript_FirstMeeting: @ 82B6900 apprentice_buff 0, APPRENTICE_BUFF_NAME - apprentice_msg FALSE, 0 -BattleFrontier_BattleTowerLobby_EventScript_2B6925: @ 82B6925 + apprentice_msg FALSE, APPRENTICE_MSG_PLEASE_TEACH +Apprentice_EventScript_WhichLvlMode: @ 82B6925 apprentice_menu APPRENTICE_ASK_YES_NO compare VAR_RESULT, 1 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B69BB - apprentice_msg FALSE, 2 + goto_if_eq Apprentice_EventScript_RejectTeach + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_LVL_MODE apprentice_menu APPRENTICE_ASK_WHICH_LEVEL - setvar VAR_0x8004, APPRENTICE_FUNC_1 - setorcopyvar VAR_0x8005, VAR_RESULT - addvar VAR_0x8005, 1 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_3 - special CallApprenticeFunction + apprentice_setlvlmode VAR_RESULT + apprentice_3 apprentice_buff 0, APPRENTICE_BUFF_LEVEL - apprentice_msg TRUE, 3 - call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_LVL_MODE + call Apprentice_EventScript_Hide release releaseall switch VAR_FACING - case DIR_NORTH, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B69BB: @ 82B69BB - apprentice_msg FALSE, 1 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6925 +@ Its impossible to fully reject an Apprentice, they just keep asking for you to teach them +Apprentice_EventScript_RejectTeach: @ 82B69BB + apprentice_msg FALSE, APPRENTICE_MSG_REJECT + goto Apprentice_EventScript_WhichLvlMode -BattleFrontier_BattleTowerLobby_EventScript_2B69D3: @ 82B69D3 - setvar VAR_0x8004, APPRENTICE_FUNC_14 - setvar VAR_0x8005, 2 - special CallApprenticeFunction +Apprentice_EventScript_UseWhichMon: @ 82B69D3 + apprentice_initquestion APPRENTICE_QUESTION_WHICH_MON apprentice_buff 0, APPRENTICE_BUFF_SPECIES1 apprentice_buff 1, APPRENTICE_BUFF_SPECIES2 - apprentice_msg FALSE, 6 + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON apprentice_menu APPRENTICE_ASK_2SPECIES copyvar VAR_0x8005, VAR_RESULT compare VAR_0x8005, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6ABA + call_if_eq Apprentice_EventScript_ChoseFirstMon compare VAR_0x8005, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC0 - setvar VAR_0x8004, APPRENTICE_FUNC_12 - special CallApprenticeFunction - copyvar VAR_0x8006, VAR_RESULT - setvar VAR_0x8004, APPRENTICE_FUNC_13 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_5 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_12 - special CallApprenticeFunction - compare VAR_RESULT, 3 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6AC6 - setvar VAR_0x8004, APPRENTICE_FUNC_16 - setvar VAR_0x8005, 0 - copyvar VAR_0x8006, VAR_0x8007 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_15 - special CallApprenticeFunction - apprentice_msg TRUE, 7 - call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + call_if_eq Apprentice_EventScript_ChoseSecondMon + apprentice_getnumpartymons + apprentice_setpartymon VAR_RESULT + apprentice_answeredquestion + apprentice_getnumpartymons + compare VAR_RESULT, MULTI_PARTY_SIZE + call_if_eq Apprentice_EventScript_LastMonSelected + apprentice_buffv 0, VAR_0x8007 + apprentice_freequestion + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON + call Apprentice_EventScript_Hide release releaseall switch VAR_FACING - case DIR_NORTH, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6ABA: @ 82B6ABA - setvar VAR_0x8007, 0 +Apprentice_EventScript_ChoseFirstMon: @ 82B6ABA + setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES1 return -BattleFrontier_BattleTowerLobby_EventScript_2B6AC0: @ 82B6AC0 - setvar VAR_0x8007, 1 +Apprentice_EventScript_ChoseSecondMon: @ 82B6AC0 + setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES2 return -BattleFrontier_BattleTowerLobby_EventScript_2B6AC6: @ 82B6AC6 +Apprentice_EventScript_LastMonSelected: @ 82B6AC6 setvar VAR_0x8004, APPRENTICE_FUNC_4 special CallApprenticeFunction return -BattleFrontier_BattleTowerLobby_EventScript_2B6ACF: @ 82B6ACF - setvar VAR_0x8004, APPRENTICE_FUNC_14 - setvar VAR_0x8005, 4 - special CallApprenticeFunction +Apprentice_EventScript_UseWhatHeldItem: @ 82B6ACF + apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff 0, APPRENTICE_BUFF_SPECIES3 - apprentice_msg TRUE, 10 - setvar VAR_0x8004, APPRENTICE_FUNC_15 - special CallApprenticeFunction - -BattleFrontier_BattleTowerLobby_EventScript_2B6B09: @ 82B6B09 + apprentice_msg TRUE, APPRENTICE_MSG_WHAT_HELD_ITEM + apprentice_freequestion +Apprentice_EventScript_ChooseHoldItem: @ 82B6B09 fadescreen 1 setvar VAR_RESULT, 0 - setvar VAR_0x8004, APPRENTICE_FUNC_19 - special CallApprenticeFunction - waitstate + apprentice_openbag compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B81 + goto_if_eq Apprentice_EventScript_ConfirmHoldNothing setvar VAR_0x8004, APPRENTICE_FUNC_20 special CallApprenticeFunction compare VAR_RESULT, FALSE - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6C0C + goto_if_eq Apprentice_EventScript_AlreadySuggestedItem apprentice_buff 0, APPRENTICE_BUFF_ITEM - apprentice_msg TRUE, 12 - setvar VAR_0x8004, APPRENTICE_FUNC_5 - special CallApprenticeFunction - call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_HELD_ITEM + apprentice_answeredquestion + call Apprentice_EventScript_Hide release releaseall switch VAR_FACING - case DIR_NORTH, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6B81: @ 82B6B81 - setvar VAR_0x8004, APPRENTICE_FUNC_14 - setvar VAR_0x8005, 4 - special CallApprenticeFunction +Apprentice_EventScript_ConfirmHoldNothing: @ 82B6B81 + apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff 0, APPRENTICE_BUFF_SPECIES3 - apprentice_msg FALSE, 13 + apprentice_msg FALSE, APPRENTICE_MSG_HOLD_NOTHING apprentice_menu APPRENTICE_ASK_GIVE - setvar VAR_0x8004, 15 - special CallApprenticeFunction + apprentice_freequestion compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 - -BattleFrontier_BattleTowerLobby_EventScript_2B6BD4: @ 82B6BD4 - apprentice_msg TRUE, 14 - setvar VAR_0x8004, APPRENTICE_FUNC_5 - special CallApprenticeFunction - call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + goto_if_eq Apprentice_EventScript_ChooseHoldItem +Apprentice_EventScript_HoldNothing: @ 82B6BD4 + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_NO_HELD_ITEM + apprentice_answeredquestion + call Apprentice_EventScript_Hide release releaseall switch VAR_FACING - case DIR_NORTH, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6C0C: @ 82B6C0C - setvar VAR_0x8004, APPRENTICE_FUNC_14 - setvar VAR_0x8005, 4 - special CallApprenticeFunction +Apprentice_EventScript_AlreadySuggestedItem: @ 82B6C0C + apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM apprentice_buff 0, APPRENTICE_BUFF_ITEM apprentice_buff 1, APPRENTICE_BUFF_SPECIES3 - apprentice_msg FALSE, 16 + apprentice_msg FALSE, APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED apprentice_menu APPRENTICE_ASK_GIVE - setvar VAR_0x8004, 15 - special CallApprenticeFunction + apprentice_freequestion compare VAR_RESULT, 0 - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6B09 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6BD4 + goto_if_eq Apprentice_EventScript_ChooseHoldItem + goto Apprentice_EventScript_HoldNothing end -BattleFrontier_BattleTowerLobby_EventScript_2B6C77: @ 82B6C77 - setvar VAR_0x8004, APPRENTICE_FUNC_14 - setvar VAR_0x8005, 3 - special CallApprenticeFunction +Apprentice_EventScript_UseWhichMove: @ 82B6C77 + apprentice_initquestion APPRENTICE_QUESTION_WHICH_MOVE apprentice_buff 0, APPRENTICE_BUFF_SPECIES3 apprentice_buff 1, APPRENTICE_BUFF_MOVE1 apprentice_buff 2, APPRENTICE_BUFF_MOVE2 - apprentice_msg FALSE, 8 + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MOVE apprentice_menu APPRENTICE_ASK_MOVES copyvar VAR_0x8005, VAR_RESULT compare VAR_0x8005, 0 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D50 + call_if_eq Apprentice_EventScript_ChoseFirstMove compare VAR_0x8005, 1 - call_if_eq BattleFrontier_BattleTowerLobby_EventScript_2B6D56 - setvar VAR_0x8004, APPRENTICE_FUNC_17 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_5 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_16 - setvar VAR_0x8005, 0 - copyvar VAR_0x8006, VAR_0x8007 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_15 - special CallApprenticeFunction - apprentice_msg TRUE, 9 - call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + call_if_eq Apprentice_EventScript_ChoseSecondMove + apprentice_setmove + apprentice_answeredquestion + apprentice_buffv 0, VAR_0x8007 + apprentice_freequestion + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MOVE + call Apprentice_EventScript_Hide release releaseall switch VAR_FACING - case DIR_NORTH, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6D50: @ 82B6D50 - setvar VAR_0x8007, 3 +Apprentice_EventScript_ChoseFirstMove: @ 82B6D50 + setvar VAR_0x8007, APPRENTICE_BUFF_MOVE1 return -BattleFrontier_BattleTowerLobby_EventScript_2B6D56: @ 82B6D56 - setvar VAR_0x8007, 4 +Apprentice_EventScript_ChoseSecondMove: @ 82B6D56 + setvar VAR_0x8007, APPRENTICE_BUFF_MOVE2 return -BattleFrontier_BattleTowerLobby_EventScript_2B6D5C: @ 82B6D5C - apprentice_msg FALSE, 4 +Apprentice_EventScript_PutWhichMonFirst: @ 82B6D5C + apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON_FIRST apprentice_menu APPRENTICE_ASK_3SPECIES - copyvar VAR_0x8005, VAR_RESULT - setvar VAR_0x8004, APPRENTICE_FUNC_18 - special CallApprenticeFunction - setvar VAR_0x8004, APPRENTICE_FUNC_5 - special CallApprenticeFunction - apprentice_buff 0, APPRENTICE_BUFF_SPECIES4 - apprentice_msg TRUE, 5 - call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + apprentice_setfirstmon VAR_RESULT + apprentice_answeredquestion + apprentice_buff 0, APPRENTICE_BUFF_FIRST_MON_SPECIES + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON_FIRST + call Apprentice_EventScript_Hide release releaseall switch VAR_FACING - case DIR_NORTH, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6DD4: @ 82B6DD4 - apprentice_msg TRUE, 11 +@ Last question, after which the Apprentice leaves (and is saved) to be replaced by another +Apprentice_EventScript_PickWinSpeech: @ 82B6DD4 + apprentice_msg TRUE, APPRENTICE_MSG_PICK_WIN_SPEECH setvar VAR_0x8004, APPRENTICE_FUNC_25 special CallApprenticeFunction setvar VAR_0x8004, EASY_CHAT_TYPE_APPRENTICE @@ -272,52 +207,49 @@ BattleFrontier_BattleTowerLobby_EventScript_2B6DD4: @ 82B6DD4 faceplayer setvar VAR_0x8004, APPRENTICE_FUNC_21 special CallApprenticeFunction - apprentice_buff 0, APPRENTICE_BUFF_EASY_CHAT - apprentice_msg TRUE, 15 - setvar VAR_0x8004, APPRENTICE_FUNC_9 - special CallApprenticeFunction - call BattleFrontier_BattleTowerLobby_EventScript_2B6E4D + apprentice_buff 0, APPRENTICE_BUFF_WIN_SPEECH + apprentice_msg TRUE, APPRENTICE_MSG_THANKS_WIN_SPEECH + apprentice_reset + call Apprentice_EventScript_Hide release releaseall switch VAR_FACING - case DIR_NORTH, BattleFrontier_BattleTowerLobby_EventScript_2B6E54 - goto BattleFrontier_BattleTowerLobby_EventScript_2B6E72 + case DIR_NORTH, Apprentice_EventScript_LeaveNorth + goto Apprentice_EventScript_Leave end -BattleFrontier_BattleTowerLobby_EventScript_2B6E4D: @ 82B6E4D +Apprentice_EventScript_Hide: @ 82B6E4D setflag FLAG_HIDE_APPRENTICE setflag FLAG_DAILY_APPRENTICE_LEAVES return -BattleFrontier_BattleTowerLobby_EventScript_2B6E54: @ 82B6E54 - setvar VAR_0x8004, APPRENTICE_FUNC_SHOULD_LEAVE - special CallApprenticeFunction +Apprentice_EventScript_LeaveNorth: @ 82B6E54 + apprentice_shouldleave compare VAR_0x8004, FALSE @ Always TRUE here - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ApprenticeDontMove - applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E94 + goto_if_eq Apprentice_EventScript_DontMove + applymovement 6, Apprentice_Movement_LeaveNorth waitmovement 0 end -BattleFrontier_BattleTowerLobby_EventScript_2B6E72: @ 82B6E72 - setvar VAR_0x8004, APPRENTICE_FUNC_SHOULD_LEAVE - special CallApprenticeFunction +Apprentice_EventScript_Leave: @ 82B6E72 + apprentice_shouldleave compare VAR_0x8004, FALSE @ Always TRUE here - goto_if_eq BattleFrontier_BattleTowerLobby_EventScript_ApprenticeDontMove - applymovement 6, BattleFrontier_BattleTowerLobby_Movement_2B6E95 + goto_if_eq Apprentice_EventScript_DontMove + applymovement 6, Apprentice_Movement_Leave waitmovement 0 end -BattleFrontier_BattleTowerLobby_EventScript_2B6E90: @ 82B6E90 +Apprentice_EventScript_Gone: @ 82B6E90 release releaseall end -BattleFrontier_BattleTowerLobby_EventScript_ApprenticeDontMove: @ 82B6E93 +Apprentice_EventScript_DontMove: @ 82B6E93 end -BattleFrontier_BattleTowerLobby_Movement_2B6E94: @ 82B6E94 +Apprentice_Movement_LeaveNorth: @ 82B6E94 walk_fast_right -BattleFrontier_BattleTowerLobby_Movement_2B6E95: @ 82B6E95 +Apprentice_Movement_Leave: @ 82B6E95 walk_fast_down walk_fast_down walk_fast_right |