pokeemerald/data/scripts/apprentice.inc

269 lines
8.3 KiB
PHP
Raw Normal View History

.set LOCALID_APPRENTICE, 6
2019-11-15 00:56:18 +01:00
BattleFrontier_BattleTowerLobby_EventScript_Apprentice:: @ 82B688D
2018-10-14 11:37:44 +02:00
lock
faceplayer
2019-11-19 17:36:38 +01:00
apprentice_gavelvlmode
compare VAR_RESULT, FALSE
goto_if_eq Apprentice_EventScript_FirstMeeting
apprentice_shouldcheckgone
2019-11-15 00:56:18 +01:00
compare VAR_0x8004, FALSE @ Always TRUE here
2019-11-19 17:36:38 +01:00
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
2018-10-14 11:37:44 +02:00
release
releaseall
end
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_FirstMeeting: @ 82B6900
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_NAME
2019-11-19 17:36:38 +01:00
apprentice_msg FALSE, APPRENTICE_MSG_PLEASE_TEACH
Apprentice_EventScript_WhichLvlMode: @ 82B6925
2018-10-14 14:35:51 +02:00
apprentice_menu APPRENTICE_ASK_YES_NO
2018-10-14 11:37:44 +02:00
compare VAR_RESULT, 1
2019-11-19 17:36:38 +01:00
goto_if_eq Apprentice_EventScript_RejectTeach
apprentice_msg FALSE, APPRENTICE_MSG_WHICH_LVL_MODE
2018-10-14 14:35:51 +02:00
apprentice_menu APPRENTICE_ASK_WHICH_LEVEL
2019-11-19 17:36:38 +01:00
apprentice_setlvlmode VAR_RESULT
2019-11-20 23:36:52 +01:00
apprentice_shufflespecies
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_LEVEL
2019-11-19 17:36:38 +01:00
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_LVL_MODE
2019-11-20 23:36:52 +01:00
call Apprentice_EventScript_SetHideFlags
2018-10-14 11:37:44 +02:00
release
releaseall
switch VAR_FACING
2019-11-19 17:36:38 +01:00
case DIR_NORTH, Apprentice_EventScript_LeaveNorth
goto Apprentice_EventScript_Leave
2018-10-14 11:37:44 +02:00
end
2019-11-19 17:36:38 +01:00
@ 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
2018-10-14 11:37:44 +02:00
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_UseWhichMon: @ 82B69D3
apprentice_initquestion APPRENTICE_QUESTION_WHICH_MON
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_SPECIES1
apprentice_buff 1, APPRENTICE_BUFF_SPECIES2
2019-11-19 17:36:38 +01:00
apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON
2018-10-14 14:35:51 +02:00
apprentice_menu APPRENTICE_ASK_2SPECIES
2018-10-14 11:37:44 +02:00
copyvar VAR_0x8005, VAR_RESULT
compare VAR_0x8005, 0
2019-11-19 17:36:38 +01:00
call_if_eq Apprentice_EventScript_ChoseFirstMon
2018-10-14 11:37:44 +02:00
compare VAR_0x8005, 1
2019-11-19 17:36:38 +01:00
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
2019-11-23 14:09:25 +01:00
apprentice_buff 0, VAR_0x8007
2019-11-19 17:36:38 +01:00
apprentice_freequestion
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON
2019-11-20 23:36:52 +01:00
call Apprentice_EventScript_SetHideFlags
2018-10-14 11:37:44 +02:00
release
releaseall
switch VAR_FACING
2019-11-19 17:36:38 +01:00
case DIR_NORTH, Apprentice_EventScript_LeaveNorth
goto Apprentice_EventScript_Leave
2018-10-14 11:37:44 +02:00
end
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_ChoseFirstMon: @ 82B6ABA
setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES1
2018-10-14 11:37:44 +02:00
return
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_ChoseSecondMon: @ 82B6AC0
setvar VAR_0x8007, APPRENTICE_BUFF_SPECIES2
2018-10-14 11:37:44 +02:00
return
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_LastMonSelected: @ 82B6AC6
2019-11-20 23:36:52 +01:00
apprentice_randomizequestions
2018-10-14 11:37:44 +02:00
return
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_UseWhatHeldItem: @ 82B6ACF
apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
2019-11-19 17:36:38 +01:00
apprentice_msg TRUE, APPRENTICE_MSG_WHAT_HELD_ITEM
apprentice_freequestion
Apprentice_EventScript_ChooseHoldItem: @ 82B6B09
2019-12-15 17:42:50 +01:00
fadescreen FADE_TO_BLACK
2018-10-14 11:37:44 +02:00
setvar VAR_RESULT, 0
2019-11-19 17:36:38 +01:00
apprentice_openbag
2019-11-20 23:36:52 +01:00
compare VAR_RESULT, FALSE
2019-11-19 17:36:38 +01:00
goto_if_eq Apprentice_EventScript_ConfirmHoldNothing
2019-11-20 23:36:52 +01:00
apprentice_trysetitem
2019-11-15 00:56:18 +01:00
compare VAR_RESULT, FALSE
2019-11-19 17:36:38 +01:00
goto_if_eq Apprentice_EventScript_AlreadySuggestedItem
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_ITEM
2019-11-19 17:36:38 +01:00
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_HELD_ITEM
apprentice_answeredquestion
2019-11-20 23:36:52 +01:00
call Apprentice_EventScript_SetHideFlags
2018-10-14 11:37:44 +02:00
release
releaseall
switch VAR_FACING
2019-11-19 17:36:38 +01:00
case DIR_NORTH, Apprentice_EventScript_LeaveNorth
goto Apprentice_EventScript_Leave
2018-10-14 11:37:44 +02:00
end
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_ConfirmHoldNothing: @ 82B6B81
apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
2019-11-19 17:36:38 +01:00
apprentice_msg FALSE, APPRENTICE_MSG_HOLD_NOTHING
2018-10-14 14:35:51 +02:00
apprentice_menu APPRENTICE_ASK_GIVE
2019-11-19 17:36:38 +01:00
apprentice_freequestion
2018-10-14 11:37:44 +02:00
compare VAR_RESULT, 0
2019-11-19 17:36:38 +01:00
goto_if_eq Apprentice_EventScript_ChooseHoldItem
Apprentice_EventScript_HoldNothing: @ 82B6BD4
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_NO_HELD_ITEM
apprentice_answeredquestion
2019-11-20 23:36:52 +01:00
call Apprentice_EventScript_SetHideFlags
2018-10-14 11:37:44 +02:00
release
releaseall
switch VAR_FACING
2019-11-19 17:36:38 +01:00
case DIR_NORTH, Apprentice_EventScript_LeaveNorth
goto Apprentice_EventScript_Leave
2018-10-14 11:37:44 +02:00
end
2019-11-20 23:36:52 +01:00
@ 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
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_AlreadySuggestedItem: @ 82B6C0C
apprentice_initquestion APPRENTICE_QUESTION_WHAT_ITEM
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_ITEM
apprentice_buff 1, APPRENTICE_BUFF_SPECIES3
2019-11-19 17:36:38 +01:00
apprentice_msg FALSE, APPRENTICE_MSG_ITEM_ALREADY_SUGGESTED
2018-10-14 14:35:51 +02:00
apprentice_menu APPRENTICE_ASK_GIVE
2019-11-19 17:36:38 +01:00
apprentice_freequestion
2018-10-14 11:37:44 +02:00
compare VAR_RESULT, 0
2019-11-19 17:36:38 +01:00
goto_if_eq Apprentice_EventScript_ChooseHoldItem
goto Apprentice_EventScript_HoldNothing
2018-10-14 11:37:44 +02:00
end
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_UseWhichMove: @ 82B6C77
apprentice_initquestion APPRENTICE_QUESTION_WHICH_MOVE
2018-10-14 14:35:51 +02:00
apprentice_buff 0, APPRENTICE_BUFF_SPECIES3
apprentice_buff 1, APPRENTICE_BUFF_MOVE1
apprentice_buff 2, APPRENTICE_BUFF_MOVE2
2019-11-19 17:36:38 +01:00
apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MOVE
2018-10-14 14:35:51 +02:00
apprentice_menu APPRENTICE_ASK_MOVES
2018-10-14 11:37:44 +02:00
copyvar VAR_0x8005, VAR_RESULT
compare VAR_0x8005, 0
2019-11-20 23:36:52 +01:00
call_if_eq Apprentice_EventScript_ChoseMove1
2018-10-14 11:37:44 +02:00
compare VAR_0x8005, 1
2019-11-20 23:36:52 +01:00
call_if_eq Apprentice_EventScript_ChoseMove2
2019-11-19 17:36:38 +01:00
apprentice_setmove
apprentice_answeredquestion
2019-11-23 14:09:25 +01:00
apprentice_buff 0, VAR_0x8007
2019-11-19 17:36:38 +01:00
apprentice_freequestion
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MOVE
2019-11-20 23:36:52 +01:00
call Apprentice_EventScript_SetHideFlags
2018-10-14 11:37:44 +02:00
release
releaseall
switch VAR_FACING
2019-11-19 17:36:38 +01:00
case DIR_NORTH, Apprentice_EventScript_LeaveNorth
goto Apprentice_EventScript_Leave
2018-10-14 11:37:44 +02:00
end
2019-11-20 23:36:52 +01:00
Apprentice_EventScript_ChoseMove1: @ 82B6D50
2019-11-19 17:36:38 +01:00
setvar VAR_0x8007, APPRENTICE_BUFF_MOVE1
2018-10-14 11:37:44 +02:00
return
2019-11-20 23:36:52 +01:00
Apprentice_EventScript_ChoseMove2: @ 82B6D56
2019-11-19 17:36:38 +01:00
setvar VAR_0x8007, APPRENTICE_BUFF_MOVE2
2018-10-14 11:37:44 +02:00
return
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_PutWhichMonFirst: @ 82B6D5C
apprentice_msg FALSE, APPRENTICE_MSG_WHICH_MON_FIRST
2018-10-14 14:35:51 +02:00
apprentice_menu APPRENTICE_ASK_3SPECIES
2019-11-20 23:36:52 +01:00
apprentice_setleadmon VAR_RESULT
2019-11-19 17:36:38 +01:00
apprentice_answeredquestion
2019-11-20 23:36:52 +01:00
apprentice_buff 0, APPRENTICE_BUFF_LEAD_MON_SPECIES
2019-11-19 17:36:38 +01:00
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_MON_FIRST
2019-11-20 23:36:52 +01:00
call Apprentice_EventScript_SetHideFlags
2018-10-14 11:37:44 +02:00
release
releaseall
switch VAR_FACING
2019-11-19 17:36:38 +01:00
case DIR_NORTH, Apprentice_EventScript_LeaveNorth
goto Apprentice_EventScript_Leave
2018-10-14 11:37:44 +02:00
end
2019-11-19 17:36:38 +01:00
@ 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
2019-11-20 23:36:52 +01:00
apprentice_shiftsaved
2019-02-27 19:45:31 +01:00
setvar VAR_0x8004, EASY_CHAT_TYPE_APPRENTICE
call Common_ShowEasyChatScreen
2018-10-14 11:37:44 +02:00
lock
faceplayer
2019-11-20 23:36:52 +01:00
apprentice_save
2019-11-19 17:36:38 +01:00
apprentice_buff 0, APPRENTICE_BUFF_WIN_SPEECH
apprentice_msg TRUE, APPRENTICE_MSG_THANKS_WIN_SPEECH
apprentice_reset
2019-11-20 23:36:52 +01:00
call Apprentice_EventScript_SetHideFlags
2018-10-14 11:37:44 +02:00
release
releaseall
switch VAR_FACING
2019-11-19 17:36:38 +01:00
case DIR_NORTH, Apprentice_EventScript_LeaveNorth
goto Apprentice_EventScript_Leave
2018-10-14 11:37:44 +02:00
end
2019-11-20 23:36:52 +01:00
Apprentice_EventScript_SetHideFlags: @ 82B6E4D
setflag FLAG_HIDE_APPRENTICE
2019-01-02 22:12:43 +01:00
setflag FLAG_DAILY_APPRENTICE_LEAVES
2018-10-14 11:37:44 +02:00
return
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_LeaveNorth: @ 82B6E54
apprentice_shouldleave
2019-11-15 00:56:18 +01:00
compare VAR_0x8004, FALSE @ Always TRUE here
2019-11-19 17:36:38 +01:00
goto_if_eq Apprentice_EventScript_DontMove
applymovement LOCALID_APPRENTICE, Apprentice_Movement_LeaveNorth
2018-10-14 11:37:44 +02:00
waitmovement 0
end
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_Leave: @ 82B6E72
apprentice_shouldleave
2019-11-15 00:56:18 +01:00
compare VAR_0x8004, FALSE @ Always TRUE here
2019-11-19 17:36:38 +01:00
goto_if_eq Apprentice_EventScript_DontMove
applymovement LOCALID_APPRENTICE, Apprentice_Movement_Leave
2018-10-14 11:37:44 +02:00
waitmovement 0
end
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_Gone: @ 82B6E90
2018-10-14 11:37:44 +02:00
release
releaseall
end
2019-11-19 17:36:38 +01:00
Apprentice_EventScript_DontMove: @ 82B6E93
2018-10-14 11:37:44 +02:00
end
2019-11-19 17:36:38 +01:00
Apprentice_Movement_LeaveNorth: @ 82B6E94
2018-10-14 11:37:44 +02:00
walk_fast_right
2019-11-19 17:36:38 +01:00
Apprentice_Movement_Leave: @ 82B6E95
2018-10-14 11:37:44 +02:00
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