mirror of
https://github.com/pret/pokeemerald.git
synced 2026-10-03 06:57:14 -04:00
340 lines
13 KiB
C++
340 lines
13 KiB
C++
.set LOCALID_ATTENDANT_SINGLES, 1
|
|
.set LOCALID_ATTENDANT_DOUBLES, 6
|
|
|
|
BattleFrontier_BattleFactoryLobby_MapScripts::
|
|
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleFactoryLobby_OnFrame
|
|
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleFactoryLobby_OnWarp
|
|
.byte 0
|
|
|
|
BattleFrontier_BattleFactoryLobby_OnWarp:
|
|
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth
|
|
.2byte 0
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth::
|
|
setvar VAR_TEMP_1, 1
|
|
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_OnFrame:
|
|
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus
|
|
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving
|
|
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge
|
|
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge
|
|
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge
|
|
.2byte 0
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus::
|
|
frontier_getstatus
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving::
|
|
lockall
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
|
|
closemessage
|
|
factory_setswapped
|
|
factory_set FACTORY_DATA_WIN_STREAK_SWAPS, 0
|
|
factory_set FACTORY_DATA_WIN_STREAK, 0
|
|
factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE
|
|
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
|
setvar VAR_TEMP_0, 255
|
|
releaseall
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge::
|
|
lockall
|
|
frontier_isbrain
|
|
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_CongratsSevenWins, MSGBOX_DEFAULT
|
|
waitmessage
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_GiveBattlePoints
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_DefeatedFactoryHead::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_CongratsForDefeatingHead, MSGBOX_DEFAULT
|
|
waitmessage
|
|
BattleFrontier_BattleFactoryLobby_EventScript_GiveBattlePoints::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_AwardBattlePoints, MSGBOX_DEFAULT
|
|
frontier_givepoints
|
|
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
|
|
message BattleFrontier_BattleFactoryLobby_Text_ExchangeMonsAndSave
|
|
waitmessage
|
|
frontier_checkairshow
|
|
special LoadPlayerParty
|
|
factory_save 0
|
|
playse SE_SAVE
|
|
waitse
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_AskRecordBattle
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge::
|
|
lockall
|
|
message BattleFrontier_BattleFactoryLobby_Text_ReturnMonsSaveResults
|
|
waitmessage
|
|
frontier_checkairshow
|
|
special LoadPlayerParty
|
|
factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE
|
|
factory_save 0
|
|
playse SE_SAVE
|
|
waitse
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_AskRecordBattle::
|
|
call BattleFrontier_EventScript_GetCantRecordBattle
|
|
goto_if_eq VAR_RESULT, TRUE, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
|
|
message BattleFrontier_BattleFactoryLobby_Text_RecordLastMatch
|
|
waitmessage
|
|
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
|
|
switch VAR_RESULT
|
|
case 1, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
|
|
case 0, BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle::
|
|
call BattleFrontier_EventScript_SaveBattle
|
|
BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
|
|
closemessage
|
|
setvar VAR_TEMP_0, 255
|
|
releaseall
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge::
|
|
lockall
|
|
message BattleFrontier_BattleFactoryLobby_Text_WaitingForYouToResume
|
|
waitmessage
|
|
factory_save CHALLENGE_STATUS_SAVING
|
|
playse SE_SAVE
|
|
waitse
|
|
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
|
setvar VAR_TEMP_0, 255
|
|
setvar VAR_0x8006, 2
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_SinglesAttendant::
|
|
lock
|
|
faceplayer
|
|
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
|
|
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_Attendant
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_DoublesAttendant::
|
|
setvar VAR_FRONTIER_FACILITY, FRONTIER_FACILITY_FACTORY
|
|
setvar VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_Attendant
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_Attendant::
|
|
special SavePlayerParty
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle
|
|
BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge::
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge
|
|
waitmessage
|
|
multichoice 17, 6, MULTI_CHALLENGEINFO, FALSE
|
|
switch VAR_RESULT
|
|
case 0, BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge
|
|
case 1, BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge
|
|
case 2, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge::
|
|
message BattleFrontier_BattleFactoryLobby_Text_WhichLevelMode
|
|
waitmessage
|
|
multichoice 17, 6, MULTI_LEVEL_MODE, FALSE
|
|
switch VAR_RESULT
|
|
case FRONTIER_LVL_TENT, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
|
|
frontier_set FRONTIER_DATA_LVL_MODE, VAR_RESULT
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_OkayToSaveBeforeChallenge, MSGBOX_YESNO
|
|
switch VAR_RESULT
|
|
case NO, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge
|
|
case YES, BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge::
|
|
setvar VAR_TEMP_0, 0
|
|
factory_init
|
|
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
|
factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, TRUE
|
|
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
|
closemessage
|
|
delay 2
|
|
call Common_EventScript_SaveGame
|
|
setvar VAR_TEMP_0, 255
|
|
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed
|
|
setvar VAR_0x8006, 0
|
|
BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge::
|
|
special SavePlayerParty
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_StepThisWay, MSGBOX_DEFAULT
|
|
closemessage
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant
|
|
applymovement VAR_LAST_TALKED, BattleFrontier_BattleFactoryLobby_Movement_AttendantEnterDoor
|
|
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor
|
|
waitmovement 0
|
|
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 8, 13
|
|
setvar VAR_TEMP_0, 0
|
|
waitstate
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_TalkedToSinglesAttendant::
|
|
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_SINGLES
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_TalkedToDoublesAttendant::
|
|
setvar VAR_LAST_TALKED, LOCALID_ATTENDANT_DOUBLES
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ExplainChallenge::
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_SINGLES, BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge
|
|
call_if_eq VAR_FRONTIER_BATTLE_MODE, FRONTIER_MODE_DOUBLES, BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_AskTakeChallenge
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed::
|
|
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge::
|
|
special LoadPlayerParty
|
|
BattleFrontier_BattleFactoryLobby_EventScript_CancelChallenge::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_Movement_AttendantEnterDoor:
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
set_invisible
|
|
step_end
|
|
|
|
BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor:
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
walk_up
|
|
step_end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForSingleBattle::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_WelcomeForSingleBattle, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_WelcomeForDoubleBattle::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_WelcomeForDoubleBattle, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_TakeSinglesChallenge::
|
|
message BattleFrontier_BattleFactoryLobby_Text_TakeSinglesChallenge
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_TakeDoublesChallenge::
|
|
message BattleFrontier_BattleFactoryLobby_Text_TakeDoublesChallenge
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ExplainSinglesChallenge::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSinglesChallenge, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ExplainDoublesChallenge::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainDoublesChallenge, MSGBOX_DEFAULT
|
|
return
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ShowSinglesResults::
|
|
lockall
|
|
frontier_results FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_SINGLES
|
|
waitbuttonpress
|
|
special RemoveRecordsWindow
|
|
releaseall
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ShowDoublesResults::
|
|
lockall
|
|
frontier_results FRONTIER_FACILITY_FACTORY, FRONTIER_MODE_DOUBLES
|
|
waitbuttonpress
|
|
special RemoveRecordsWindow
|
|
releaseall
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_Woman::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_NeedKnowledgeOfMonsMoves, MSGBOX_NPC
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_Camper::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_SwappedForWeakMon, MSGBOX_NPC
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_Picnicker::
|
|
lock
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_NeedToCheckOpponentsMons, MSGBOX_DEFAULT
|
|
release
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_FatMan::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_CantFigureOutStaffHints, MSGBOX_NPC
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_RulesBoard::
|
|
lockall
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_RulesAreListed, MSGBOX_DEFAULT
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard::
|
|
message BattleFrontier_BattleFactoryLobby_Text_ReadWhichHeading
|
|
waitmessage
|
|
multichoice 17, 0, MULTI_BATTLE_FACTORY_RULES, FALSE
|
|
switch VAR_RESULT
|
|
case 0, BattleFrontier_BattleFactoryLobby_EventScript_RulesBasics
|
|
case 1, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapPartner
|
|
case 2, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNumber
|
|
case 3, BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNotes
|
|
case 4, BattleFrontier_BattleFactoryLobby_EventScript_RulesOpenLv
|
|
case 5, BattleFrontier_BattleFactoryLobby_EventScript_ExitRules
|
|
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_ExitRules
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_RulesBasics::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainBasicRules, MSGBOX_DEFAULT
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapPartner::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapPartnerRules, MSGBOX_DEFAULT
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNumber::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNumberRules, MSGBOX_DEFAULT
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_RulesSwapNotes::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainSwapNotesRules, MSGBOX_DEFAULT
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_RulesOpenLv::
|
|
msgbox BattleFrontier_BattleFactoryLobby_Text_ExplainOpenLvRules, MSGBOX_DEFAULT
|
|
goto BattleFrontier_BattleFactoryLobby_EventScript_ReadRulesBoard
|
|
end
|
|
|
|
BattleFrontier_BattleFactoryLobby_EventScript_ExitRules::
|
|
releaseall
|
|
end
|
|
|
|
.ifdef ENGLISH
|
|
.include "data/maps/BattleFrontier_BattleFactoryLobby/text.inc"
|
|
.else
|
|
.ifdef FRENCH
|
|
.include "data/maps/BattleFrontier_BattleFactoryLobby/text_fr.inc"
|
|
.else
|
|
.ifdef ITALIAN
|
|
.include "data/maps/BattleFrontier_BattleFactoryLobby/text_it.inc"
|
|
.else
|
|
.ifdef SPANISH
|
|
.include "data/maps/BattleFrontier_BattleFactoryLobby/text_es.inc"
|
|
.endif
|
|
.endif
|
|
.endif
|
|
.endif
|