import from github
This commit is contained in:
249
data/scripts/apprentice.inc
Normal file
249
data/scripts/apprentice.inc
Normal file
@ -0,0 +1,249 @@
|
||||
.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
|
Reference in New Issue
Block a user