363 lines
15 KiB
PHP
363 lines
15 KiB
PHP
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
|
||
callnative UpdateFollowingPokemon
|
||
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
|
||
callnative UpdateFollowingPokemon
|
||
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
|
||
callnative RemoveFollowingPokemon
|
||
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
|
||
call BattleFrontier_ShowCaughtBannedSpecies
|
||
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsEnd, MSGBOX_DEFAULT
|
||
goto BattleFrontier_BattlePikeLobby_EventScript_EndCancelChallenge
|
||
|
||
BattleFrontier_BattlePikeLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
|
||
call BattleFrontier_ShowCaughtBannedSpecies
|
||
msgbox BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsEnd, 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
|
||
callnative UpdateFollowingPokemon
|
||
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
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_WelcomeToBattlePike:
|
||
.string "训练家的运气\n将在此接受考验……\p欢迎来到对战管道……\p我是您对战管道的向导……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_TakeChallenge:
|
||
.string "要挑战对战管道吗?$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ExplainBattlePike:
|
||
.string "这里举办名为\n选择式对战的比赛。\p选择式对战的规则\n很简单……\p在3条道路中选择1条\n抵达对战管道最后的终点房间。\l仅此而已。\p然而,在选择的道路上会\n发生什么事完全取决于\l挑战者的运气……\p如果您达到了终点,\n我们将向您呈上对战点数。\p如果您在挑战中想要暂停的话,\n请与途中大房间中的工作人员沟通。\p如果在暂停之前没有写入记录,\n我们将视挑战为无效。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou:
|
||
.string "期待您再次光临……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_WhichChallengeMode:
|
||
.string "您有2个选择,\nLv. 50级和自由等级。\l要挑战哪个?$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLv50:
|
||
.string "冒昧打扰,但……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只等级50以内的\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsEnd:
|
||
.string "请在准备就绪之后,\n再来参加吧……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_NotEnoughValidMonsLvOpen:
|
||
.string "冒昧打扰,但……\p您能够参加对战的\n宝可梦不满3只。\p您需要准备3只\n不同种类的宝可梦,\p并且让它们分别携带不同道具\n才可参加对战。\p此外,蛋{STR_VAR_1}!$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_PleaseChooseThreeMons:
|
||
.string "请选择要参加挑战的\n3只宝可梦……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_SaveBeforeChallenge:
|
||
.string "在开始对战之前,\n需要先写入记录。\l可以吗?$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_StepThisWay:
|
||
.string "这边请……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ChallengeEndedRecordResults:
|
||
.string "您的挑战已结束……\p正在记录结果。\n请稍等……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_PossessLuckInAbundance:
|
||
.string "您完成了挑战……\p不得不说……您好像拥有\n非凡的运气……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ShallRecordResults:
|
||
.string "正在记录结果。\n请稍等……$"
|
||
|
||
@ Unused
|
||
BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints2:
|
||
.string "为祝贺您完成对战管道的挑战,\n我们将向您呈上对战点数……$"
|
||
|
||
@ Unused
|
||
BattleFrontier_BattlePikeLobby_Text_ReachedBattlePointLimit:
|
||
.string "看起来您的对战点数\n已经达到上限……\p请用对战点数\n兑换奖品后再回来……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_FailedToSaveBeforeQuitting:
|
||
.string "冒昧打扰,但……\p您在上次结束时\n没有成功写入记录。\p真抱歉……没有写入记录的\n挑战我们将视其为无效。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_SnatchedVictoryFromQueen:
|
||
.string "恭喜……\p您从管道皇后那获取了胜利\n并完成了挑战……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_AwardYouTheseBattlePoints:
|
||
.string "为了表彰您非凡的运气,\n我们将向您呈上对战点数……$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_OneRoomAwayFromGoal:
|
||
.string "啊!功亏一篑!\n我离终点只差一个房间了!\p在这里,你最好留意中毒、冰冻等等\n之类的异常状态。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_NeverHadToBattleTrainer:
|
||
.string "我已经完成了10次挑战,\n但我没有和任何一个\l训练家对战过。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ThinkAbilitiesUsefulHere:
|
||
.string "听着!听着!\p你难道不认为宝可梦的\n某些特性在这里\l会很有用吗?$"
|
||
|
||
@ Unused
|
||
BattleFrontier_BattlePikeLobby_Text_TrainersWhicheverPathIChoose:
|
||
.string "这个怪异的地方是什么?\n我根本弄不明白!\p我已经进行挑战好多次了\n但无论我选哪个路线\l还是要遇到训练家。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_RulesAreListed:
|
||
.string "上面列出了选择式对战的规则。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ReadWhichHeading:
|
||
.string "要读哪一部分的说明?$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ExplainPokenavBagRules:
|
||
.string "在选择式对战的挑战中\n包包和宝可导航不能使用。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ExplainHeldItemRules:
|
||
.string "在一次选择式对战的挑战中,\n宝可梦携带的任何树果或者香草\l只能生效1次。$"
|
||
|
||
BattleFrontier_BattlePikeLobby_Text_ExplainMonOrderRules:
|
||
.string "在一次选择式对战的挑战中,\n宝可梦的顺序不能改变。\p顺序需要在您挑战之前\n就确定好。$"
|
||
|