pokeemerald/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
2025-06-11 09:45:39 -04:00

281 lines
10 KiB
C++

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 LOCALID_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_PIKE_LOBBY_ATTENDANT, BattleFrontier_BattlePikeLobby_Movement_AttendantWalkToCorridor
applymovement LOCALID_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
.ifdef FRENCH
.include "data/maps/BattleFrontier_BattlePikeLobby/text_fr.inc"
.else
.ifdef ITALIAN
.include "data/maps/BattleFrontier_BattlePikeLobby/text_it.inc"
.else
.ifdef SPANISH
.include "data/maps/BattleFrontier_BattlePikeLobby/text_es.inc"
.else
.include "data/maps/BattleFrontier_BattlePikeLobby/text.inc"
.endif
.endif
.endif