318 lines
12 KiB
C++
318 lines
12 KiB
C++
FallarborTown_BattleTentLobby_MapScripts::
|
||
map_script MAP_SCRIPT_ON_FRAME_TABLE, FallarborTown_BattleTentLobby_OnFrame
|
||
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, FallarborTown_BattleTentLobby_OnWarp
|
||
.byte 0
|
||
|
||
FallarborTown_BattleTentLobby_OnWarp:
|
||
map_script_2 VAR_TEMP_1, 0, FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth
|
||
.2byte 0
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth::
|
||
setvar VAR_TEMP_1, 1
|
||
turnobject LOCALID_PLAYER, DIR_NORTH
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_OnFrame:
|
||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus
|
||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving
|
||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_ResumeChallenge
|
||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_WonChallenge
|
||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_LostChallenge
|
||
.2byte 0
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus::
|
||
frontier_getstatus
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving::
|
||
lockall
|
||
msgbox FallarborTown_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
|
||
closemessage
|
||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
|
||
releaseall
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_WonChallenge::
|
||
lockall
|
||
msgbox FallarborTown_BattleTentLobby_Text_BeatThreeTrainers, MSGBOX_DEFAULT
|
||
message FallarborTown_BattleTentLobby_Text_WaitWhileSaveGame
|
||
waitmessage
|
||
fallarbortent_setrandomprize
|
||
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
|
||
fallarbortent_save 0
|
||
playse SE_SAVE
|
||
waitse
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_GivePrize::
|
||
msgbox FallarborTown_BattleTentLobby_Text_PresentYouWithPrize, MSGBOX_DEFAULT
|
||
fallarbortent_giveprize
|
||
switch VAR_RESULT
|
||
case FALSE, FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize
|
||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||
message FallarborTown_BattleTentLobby_Text_ReceivedPrize
|
||
waitmessage
|
||
playfanfare MUS_OBTAIN_ITEM
|
||
waitfanfare
|
||
msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
|
||
closemessage
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||
releaseall
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize::
|
||
msgbox FallarborTown_BattleTentLobby_Text_BagFullReturnForPrize, MSGBOX_DEFAULT
|
||
waitmessage
|
||
closemessage
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||
releaseall
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_PrizeWaiting::
|
||
lockall
|
||
msgbox FallarborTown_BattleTentLobby_Text_BeatThreeTrainers, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_GivePrize
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_LostChallenge::
|
||
lockall
|
||
message FallarborTown_BattleTentLobby_Text_ThankYouWaitWhileSaving
|
||
waitmessage
|
||
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
|
||
fallarbortent_save 0
|
||
playse SE_SAVE
|
||
waitse
|
||
msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
|
||
closemessage
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||
releaseall
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_ResumeChallenge::
|
||
lockall
|
||
message FallarborTown_BattleTentLobby_Text_LookingForwardToArrival
|
||
waitmessage
|
||
fallarbortent_save CHALLENGE_STATUS_SAVING
|
||
playse SE_SAVE
|
||
waitse
|
||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||
goto FallarborTown_BattleTentLobby_EventScript_EnterChallenge
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_Attendant::
|
||
lock
|
||
faceplayer
|
||
fallarbortent_getprize
|
||
goto_if_ne VAR_RESULT, ITEM_NONE, FallarborTown_BattleTentLobby_EventScript_PrizeWaiting
|
||
special SavePlayerParty
|
||
msgbox FallarborTown_BattleTentLobby_Text_WelcomeToBattleTent, MSGBOX_DEFAULT
|
||
FallarborTown_BattleTentLobby_EventScript_AskEnterChallenge::
|
||
message FallarborTown_BattleTentLobby_Text_TakeChallenge
|
||
waitmessage
|
||
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
|
||
switch VAR_RESULT
|
||
case 0, FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge
|
||
case 1, FallarborTown_BattleTentLobby_EventScript_ExplainChallenge
|
||
case 2, FallarborTown_BattleTentLobby_EventScript_CancelChallenge
|
||
case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_CancelChallenge
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge::
|
||
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_ARENA
|
||
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
|
||
setvar VAR_RESULT, 2
|
||
frontier_checkineligible
|
||
goto_if_eq VAR_0x8004, TRUE, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons
|
||
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_TENT
|
||
msgbox FallarborTown_BattleTentLobby_Text_SelectThreeMons, MSGBOX_DEFAULT
|
||
fadescreen FADE_TO_BLACK
|
||
setvar VAR_0x8004, 2
|
||
setvar VAR_0x8005, FRONTIER_PARTY_SIZE
|
||
special ChoosePartyForBattleFrontier
|
||
waitstate
|
||
goto_if_eq VAR_RESULT, 0, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
|
||
msgbox FallarborTown_BattleTentLobby_Text_SaveBeforeChallenge, MSGBOX_YESNO
|
||
switch VAR_RESULT
|
||
case NO, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
|
||
case YES, FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge
|
||
case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge::
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||
fallarbortent_init
|
||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||
special LoadPlayerParty
|
||
closemessage
|
||
delay 2
|
||
call Common_EventScript_SaveGame
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||
goto_if_eq VAR_RESULT, 0, FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
|
||
FallarborTown_BattleTentLobby_EventScript_EnterChallenge::
|
||
special SavePlayerParty
|
||
frontier_setpartyorder FRONTIER_PARTY_SIZE
|
||
msgbox FallarborTown_BattleTentLobby_Text_GuideYouToBattleTent, MSGBOX_DEFAULT
|
||
closemessage
|
||
call FallarborTown_BattleTentLobby_EventScript_WalkToDoor
|
||
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 2, 7
|
||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||
waitstate
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_ExplainChallenge::
|
||
msgbox FallarborTown_BattleTentLobby_Text_ExplainFallarborTent, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_AskEnterChallenge
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMons::
|
||
switch VAR_RESULT
|
||
case FRONTIER_LVL_50, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50
|
||
case FRONTIER_LVL_OPEN, FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen
|
||
FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLv50::
|
||
msgbox FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLv50, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_NotEnoughValidMonsLvOpen::
|
||
msgbox FallarborTown_BattleTentLobby_Text_NotEnoughValidMonsLvOpen, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed::
|
||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||
goto FallarborTown_BattleTentLobby_EventScript_CancelChallenge
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge::
|
||
special LoadPlayerParty
|
||
FallarborTown_BattleTentLobby_EventScript_CancelChallenge::
|
||
msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge, MSGBOX_DEFAULT
|
||
FallarborTown_BattleTentLobby_EventScript_EndCancelChallenge::
|
||
release
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_WalkToDoor::
|
||
applymovement LOCALID_FALLARBOR_TENT_ATTENDANT, FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor
|
||
applymovement LOCALID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor
|
||
waitmovement 0
|
||
opendoor 6, 1
|
||
waitdooranim
|
||
applymovement LOCALID_FALLARBOR_TENT_ATTENDANT, FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor
|
||
applymovement LOCALID_PLAYER, FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor
|
||
waitmovement 0
|
||
closedoor 6, 1
|
||
waitdooranim
|
||
return
|
||
|
||
FallarborTown_BattleTentLobby_Movement_AttendantWalkToDoor:
|
||
walk_up
|
||
walk_up
|
||
walk_up
|
||
step_end
|
||
|
||
FallarborTown_BattleTentLobby_Movement_AttendantEnterDoor:
|
||
walk_up
|
||
set_invisible
|
||
step_end
|
||
|
||
FallarborTown_BattleTentLobby_Movement_PlayerWalkToDoor:
|
||
walk_up
|
||
walk_up
|
||
walk_up
|
||
step_end
|
||
|
||
FallarborTown_BattleTentLobby_Movement_PlayerEnterDoor:
|
||
walk_up
|
||
walk_up
|
||
set_invisible
|
||
step_end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_Hiker::
|
||
msgbox FallarborTown_BattleTentLobby_Text_CameToCampOut, MSGBOX_NPC
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_LittleBoy::
|
||
msgbox FallarborTown_BattleTentLobby_Text_MakeThinkImJustKid, MSGBOX_NPC
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_Lass::
|
||
msgbox FallarborTown_BattleTentLobby_Text_FallarborTentMyFavorite, MSGBOX_NPC
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_Scott::
|
||
lock
|
||
faceplayer
|
||
goto_if_set FLAG_MET_SCOTT_IN_FALLARBOR, FallarborTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo
|
||
msgbox FallarborTown_BattleTentLobby_Text_ScottLookingForSomeone, MSGBOX_DEFAULT
|
||
addvar VAR_SCOTT_STATE, 1
|
||
setflag FLAG_MET_SCOTT_IN_FALLARBOR
|
||
release
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_ScottAlreadySpokenTo::
|
||
msgbox FallarborTown_BattleTentLobby_Text_ScottMakeChallenge, MSGBOX_DEFAULT
|
||
release
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_RulesBoard::
|
||
lockall
|
||
msgbox BattleFrontier_BattleArenaLobby_Text_RulesAreListed, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard::
|
||
message BattleFrontier_BattleArenaLobby_Text_ReadWhichHeading
|
||
waitmessage
|
||
multichoice 17, 0, MULTI_FALLARBOR_TENT_RULES, FALSE
|
||
switch VAR_RESULT
|
||
case 0, FallarborTown_BattleTentLobby_EventScript_RulesLevel
|
||
case 1, FallarborTown_BattleTentLobby_EventScript_RulesBattle
|
||
case 2, FallarborTown_BattleTentLobby_EventScript_RulesMind
|
||
case 3, FallarborTown_BattleTentLobby_EventScript_RulesSkill
|
||
case 4, FallarborTown_BattleTentLobby_EventScript_RulesBody
|
||
case 5, FallarborTown_BattleTentLobby_EventScript_ExitRules
|
||
case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_ExitRules
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_RulesLevel::
|
||
msgbox BattleTentLobby_Text_ExplainLevelRules, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_RulesBattle::
|
||
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBattleRules, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_RulesMind::
|
||
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainMindRules, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_RulesSkill::
|
||
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainSkillRules, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_RulesBody::
|
||
msgbox BattleFrontier_BattleArenaLobby_Text_ExplainBodyRules, MSGBOX_DEFAULT
|
||
goto FallarborTown_BattleTentLobby_EventScript_ReadRulesBoard
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_EventScript_ExitRules::
|
||
releaseall
|
||
end
|
||
|
||
FallarborTown_BattleTentLobby_Text_MakeThinkImJustKid:
|
||
.string "哼哼哼哼哼。\p我要让大家以为我\n只是个孩子而轻视我,\p然后让他们大吃一惊,\n拔得头筹!$"
|
||
|
||
FallarborTown_BattleTentLobby_Text_FallarborTentMyFavorite:
|
||
.string "你知道吗,不同城镇的对战帐篷\n所举行的比赛也不同。\p我最喜欢的就是秋叶镇的\n对战帐篷。\p训练家凭借着自己对宝可梦的信任,\n努力赢得比赛,太令人激动了!$"
|
||
|
||
FallarborTown_BattleTentLobby_Text_CameToCampOut:
|
||
.string "我听说过一些关于帐篷的事,\n所以才出来宿营,\p但我没想到现在的帐篷\n会这么豪华!\p既然都来了,就进去试试\n放手一搏吧!$"
|
||
|
||
FallarborTown_BattleTentLobby_Text_ScottLookingForSomeone:
|
||
.string "亚希达:嗨,{PLAYER}{KUN}!\n你也来这里的对战帐篷了!\p这里的人看上去大多都\n比较悠然自得,\p但你知道,\n我在寻找的是有……\p怎么说呢……\p胸怀强烈的求胜\n渴望与决心的人。\p如果有那样的训练家,\n我马上就……\p啊!没什么!\n继续加油吧!$"
|
||
|
||
FallarborTown_BattleTentLobby_Text_ScottMakeChallenge:
|
||
.string "亚希达:与其同我闲聊浪费时间,\n何不试着去挑战一下呢?$"
|
||
|