pokeemerald/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
2023-08-04 14:17:28 -04:00

434 lines
16 KiB
PHP

.set LOCALID_ATTENDANT, 1
BattleFrontier_BattlePikeLobby_MapScripts::
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattlePikeLobby_OnFrame
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeLobby_OnWarp
.byte 0
BattleFrontier_BattlePikeLobby_OnFrame:
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_WonChallenge
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_LostChallenge
.2byte 0
BattleFrontier_BattlePikeLobby_OnWarp:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattlePikeLobby_EventScript_TurnPlayerNorth
.2byte 0
BattleFrontier_BattlePikeLobby_EventScript_TurnPlayerNorth::
setvar VAR_TEMP_1, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
end
BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus::
frontier_getstatus
end
BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving::
special HealPlayerParty
pike_resethelditems
lockall
msgbox BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting, MSGBOX_DEFAULT
closemessage
pike_set PIKE_DATA_WIN_STREAK, 0
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
setvar VAR_TEMP_CHALLENGE_STATUS, 255
releaseall
end
BattleFrontier_BattlePikeLobby_EventScript_WonChallenge::
lockall
frontier_isbrain
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen
msgbox BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance, MSGBOX_DEFAULT
waitmessage
goto BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints
BattleFrontier_BattlePikeLobby_EventScript_DefeatedQueen::
msgbox BattleFrontier_BattlePikeLobby_Text_SnatchedVictoryFromQueen, MSGBOX_DEFAULT
waitmessage
BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints::
msgbox BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints, MSGBOX_DEFAULT
frontier_givepoints
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
frontier_checkairshow
pike_get PIKE_DATA_TOTAL_STREAKS
addvar VAR_RESULT, 1
pike_set PIKE_DATA_TOTAL_STREAKS, VAR_RESULT
special LoadPlayerParty
special HealPlayerParty
pike_resethelditems
message BattleFrontier_BattlePikeLobby_Text_ShallRecordResults
waitmessage
pike_save 0
playse SE_SAVE
waitse
msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_CHALLENGE_STATUS, 255
releaseall
end
BattleFrontier_BattlePikeLobby_EventScript_LostChallenge::
lockall
message BattleFrontier_BattlePikeLobby_Text_ChallengeEndedRecordResults
waitmessage
frontier_checkairshow
frontier_set FRONTIER_DATA_BATTLE_NUM, 0
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
special LoadPlayerParty
special HealPlayerParty
pike_resethelditems
pike_save 0
playse SE_SAVE
waitse
msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
closemessage
setvar VAR_TEMP_CHALLENGE_STATUS, 255
releaseall
end
BattleFrontier_BattlePikeLobby_EventScript_Attendant::
lock
faceplayer
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_PIKE
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
special SavePlayerParty
msgbox BattleFrontier_BattlePikeLobby_Text_WelcomeToBattlePike, MSGBOX_DEFAULT
BattleFrontier_BattlePikeLobby_EventScript_AskTakeChallenge::
message BattleFrontier_BattlePikeLobby_Text_TakeChallenge
waitmessage
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge
case 1, BattleFrontier_BattlePikeLobby_EventScript_ExplainChallenge
case 2, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge::
message BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode
waitmessage
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
switch VAR_RESULT
case FRONTIER_LVL_TENT, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
frontier_checkineligible
goto_if_eq VAR_0x8004, TRUE, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
msgbox BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons, MSGBOX_DEFAULT
fadescreen FADE_TO_BLACK
call BattleFrontier_EventScript_GetLvlMode
copyvar VAR_0x8004, VAR_RESULT
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
special ChoosePartyForBattleFrontier
waitstate
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
msgbox BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
switch VAR_RESULT
case NO, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
case YES, BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge
case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge::
setvar VAR_TEMP_CHALLENGE_STATUS, 0
setvar VAR_TEMP_1, 0
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
pike_init
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, TRUE
pike_savehelditems
frontier_set FRONTIER_DATA_PAUSED, FALSE
special LoadPlayerParty
closemessage
delay 2
call Common_EventScript_SaveGame
setvar VAR_TEMP_CHALLENGE_STATUS, 255
pike_savehelditems
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed
special SavePlayerParty
frontier_setpartyorder FRONTIER_PARTY_SIZE
msgbox BattleFrontier_BattlePikeLobby_Text_StepThisWay, MSGBOX_DEFAULT
closemessage
frontier_settrainers
call BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor
special HealPlayerParty
call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 6, 7
setvar VAR_TEMP_CHALLENGE_STATUS, 0
waitstate
end
BattleFrontier_BattlePikeLobby_EventScript_ExplainChallenge::
msgbox BattleFrontier_BattlePikeLobby_Text_ExplainBattlePike, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_AskTakeChallenge
BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMons::
switch VAR_RESULT
case FRONTIER_LVL_50, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLv50
case FRONTIER_LVL_OPEN, BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen
BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLv50::
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge
BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen::
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge
BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed::
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
goto BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge
BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge::
special LoadPlayerParty
BattleFrontier_BattlePikeLobby_EventScript_CancelChallenge::
msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge::
release
end
BattleFrontier_BattlePikeLobby_EventScript_ShowResults::
lockall
frontier_results FRONTIER_FACILITY_PIKE
waitbuttonpress
special RemoveRecordsWindow
releaseall
end
BattleFrontier_BattlePikeLobby_EventScript_WalkToCorridor::
applymovement LOCALID_ATTENDANT, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor
waitmovement 0
return
BattleFrontier_BattlePikeLobby_Movement_PlayerWalkToCorridor:
walk_up
BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor:
walk_up
walk_up
set_invisible
step_end
BattleFrontier_BattlePikeLobby_EventScript_Hiker::
msgbox BattleFrontier_BattlePikeLobby_Text_OneRoomAwayFromGoal, MSGBOX_NPC
end
BattleFrontier_BattlePikeLobby_EventScript_Twin::
msgbox BattleFrontier_BattlePikeLobby_Text_NeverHadToBattleTrainer, MSGBOX_NPC
end
BattleFrontier_BattlePikeLobby_EventScript_Beauty::
msgbox BattleFrontier_BattlePikeLobby_Text_ThinkAbilitiesUsefulHere, MSGBOX_NPC
end
BattleFrontier_BattlePikeLobby_EventScript_RulesBoard::
lockall
msgbox BattleFrontier_BattlePikeLobby_Text_RulesAreListed, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard::
message BattleFrontier_BattlePikeLobby_Text_ReadWhichHeading
waitmessage
multichoice 16, 4, MULTI_BATTLE_PIKE_RULES, FALSE
switch VAR_RESULT
case 0, BattleFrontier_BattlePikeLobby_EventScript_RulesPokenavBag
case 1, BattleFrontier_BattlePikeLobby_EventScript_RulesHeldItems
case 2, BattleFrontier_BattlePikeLobby_EventScript_RulesMonOrder
case 3, BattleFrontier_BattlePikeLobby_EventScript_ExitRules
case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_ExitRules
end
BattleFrontier_BattlePikeLobby_EventScript_RulesPokenavBag::
msgbox BattleFrontier_BattlePikeLobby_Text_ExplainPokenavBagRules, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePikeLobby_EventScript_RulesHeldItems::
msgbox BattleFrontier_BattlePikeLobby_Text_ExplainHeldItemRules, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePikeLobby_EventScript_RulesMonOrder::
msgbox BattleFrontier_BattlePikeLobby_Text_ExplainMonOrderRules, MSGBOX_DEFAULT
goto BattleFrontier_BattlePikeLobby_EventScript_ReadRulesBoard
end
BattleFrontier_BattlePikeLobby_EventScript_ExitRules::
releaseall
end
BattleFrontier_BattlePike_EventScript_CloseCurtain::
playse SE_PIKE_CURTAIN_CLOSE
special CloseBattlePikeCurtain
waitstate
waitse
return
BattleFrontier_BattlePikeLobby_Text_WelcomeToBattlePike:
.string "Where the luck of TRAINERS\n"
.string "is put to the test…\p"
.string "Welcome to the BATTLE PIKE…\p"
.string "I am your guide to the BATTLE PIKE…$"
BattleFrontier_BattlePikeLobby_Text_TakeChallenge:
.string "Would you like to take the Battle\n"
.string "Choice challenge?$"
BattleFrontier_BattlePikeLobby_Text_ExplainBattlePike:
.string "Here we conduct an event we call\n"
.string "the Battle Choice.\p"
.string "The Battle Choice rules are very\n"
.string "simple…\p"
.string "Choose one of three paths and make\n"
.string "your way to the goal room at the end\l"
.string "of the BATTLE PIKE. It's that simple.\p"
.string "However, what happens on the chosen\n"
.string "path depends entirely on the luck\l"
.string "of the challenger…\p"
.string "If you reach the goal, you will be\n"
.string "rewarded with Battle Points.\p"
.string "If you want to interrupt your\n"
.string "challenge, please have a word with\l"
.string "our staff in the big rooms on the way.\p"
.string "If you don't save before interrupting,\n"
.string "you will be disqualified.$"
BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou:
.string "We look forward to seeing you\n"
.string "on another occasion…$"
BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode:
.string "You have the choice of two courses,\n"
.string "Level 50 and Open Level.\l"
.string "Which will you challenge?$"
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50:
.string "I beg your pardon, but…\p"
.string "You do not have three eligible\n"
.string "POKéMON for the Battle Choice event.\p"
.string "You must have three different POKéMON\n"
.string "of Level 50 or less to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when\n"
.string "you are ready…$"
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen:
.string "I beg your pardon, but…\p"
.string "You do not have three eligible\n"
.string "POKéMON for the Battle Choice event.\p"
.string "You must have three different\n"
.string "POKéMON to enter.\p"
.string "They also must be holding different\n"
.string "kinds of items.\p"
.string "EGGS{STR_VAR_1} ineligible.\p"
.string "Please come see me when\n"
.string "you are ready…$"
BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons:
.string "Please choose the three POKéMON\n"
.string "you wish to enter in the challenge…$"
BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge:
.string "Before starting your Battle Choice\n"
.string "challenge, I must save the game.\l"
.string "Is that acceptable?$"
BattleFrontier_BattlePikeLobby_Text_StepThisWay:
.string "Please step this way…$"
BattleFrontier_BattlePikeLobby_Text_ChallengeEndedRecordResults:
.string "Your challenge has ended…\p"
.string "I shall record your results.\n"
.string "Please wait…$"
BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance:
.string "You have completed the challenge…\p"
.string "I must say… You seem to possess luck\n"
.string "in abundance…$"
BattleFrontier_BattlePikeLobby_Text_ShallRecordResults:
.string "I shall record your results.\n"
.string "Please wait…$"
@ Unused
BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints2:
.string "To commemorate your completion of\n"
.string "the Battle Choice challenge, we award\l"
.string "you these Battle Point(s)…$"
@ Unused
BattleFrontier_BattlePikeLobby_Text_ReachedBattlePointLimit:
.string "You appear to have reached the limit\n"
.string "for Battle Points…\p"
.string "Please exchange some Battle Points\n"
.string "for prizes, then return…$"
BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting:
.string "I beg your pardon, but…\p"
.string "You failed to save before you quit\n"
.string "your challenge the last time.\p"
.string "Because of that, your challenge so far\n"
.string "has been disqualified. I am sorry…$"
BattleFrontier_BattlePikeLobby_Text_SnatchedVictoryFromQueen:
.string "Congratulations…\p"
.string "You have snatched victory from the\n"
.string "PIKE QUEEN and cleared the event…$"
BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints:
.string "In recognition of your amazing luck,\n"
.string "we award you these Battle Point(s)…$"
BattleFrontier_BattlePikeLobby_Text_OneRoomAwayFromGoal:
.string "Arrgh! I blew my chance!\n"
.string "I was one room away from the goal!\p"
.string "In this place, you'd better watch out\n"
.string "for poison, freezing, and so on.$"
BattleFrontier_BattlePikeLobby_Text_NeverHadToBattleTrainer:
.string "I've completed the challenge 10 times\n"
.string "now, but I've never had to battle\l"
.string "a TRAINER once.$"
BattleFrontier_BattlePikeLobby_Text_ThinkAbilitiesUsefulHere:
.string "Listen! Listen!\p"
.string "Don't you think that the special\n"
.string "abilities of POKéMON will be useful\l"
.string "here?$"
@ Unused
BattleFrontier_BattlePikeLobby_Text_TrainersWhicheverPathIChoose:
.string "What is this weird place?\n"
.string "I can't figure it out at all!\p"
.string "I've taken the challenge a bunch\n"
.string "of times, but all I ever do is run into\l"
.string "TRAINERS whichever path I choose.$"
BattleFrontier_BattlePikeLobby_Text_RulesAreListed:
.string "The Battle Choice's rules are listed.$"
BattleFrontier_BattlePikeLobby_Text_ReadWhichHeading:
.string "Which heading do you want to read?$"
BattleFrontier_BattlePikeLobby_Text_ExplainPokenavBagRules:
.string "The BAG and POKéNAV may not be used\n"
.string "during a Battle Choice challenge.$"
BattleFrontier_BattlePikeLobby_Text_ExplainHeldItemRules:
.string "During a Battle Choice challenge,\n"
.string "any BERRY or HERB held by POKéMON\l"
.string "will be effective only once.$"
BattleFrontier_BattlePikeLobby_Text_ExplainMonOrderRules:
.string "During a Battle Choice challenge,\n"
.string "the sequence of POKéMON cannot be\l"
.string "changed.\p"
.string "The sequence must be set before\n"
.string "starting your challenge.$"