pokeemerald/data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/scripts.inc
2024-06-22 09:54:58 -04:00

292 lines
9.5 KiB
C++

.set LOCALID_ATTENDANT, 1
BattleFrontier_BattleTowerMultiPartnerRoom_MapScripts::
map_script MAP_SCRIPT_ON_RESUME, BattleFrontier_BattleTowerMultiPartnerRoom_OnResume
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattleTowerMultiPartnerRoom_OnTransition
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp
map_script MAP_SCRIPT_ON_FRAME_TABLE, BattleFrontier_BattleTowerMultiPartnerRoom_OnFrame
.byte 0
BattleFrontier_BattleTowerMultiPartnerRoom_OnResume:
pyramid_resetparty
end
BattleFrontier_BattleTowerMultiPartnerRoom_OnTransition:
goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ChosePartner
clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1
clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2
clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3
clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4
clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5
clearflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6
setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1
setflag FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2
tower_loadpartners
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ChosePartner::
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_BOY_1
setvar VAR_OBJ_GFX_ID_1, OBJ_EVENT_GFX_BOY_1
setvar VAR_OBJ_GFX_ID_2, OBJ_EVENT_GFX_BOY_1
setvar VAR_OBJ_GFX_ID_3, OBJ_EVENT_GFX_BOY_1
setvar VAR_OBJ_GFX_ID_4, OBJ_EVENT_GFX_BOY_1
setvar VAR_OBJ_GFX_ID_5, OBJ_EVENT_GFX_BOY_1
setvar VAR_OBJ_GFX_ID_6, OBJ_EVENT_GFX_BOY_1
setvar VAR_OBJ_GFX_ID_7, OBJ_EVENT_GFX_BOY_1
setvar VAR_TEMP_1, 1
setvar VAR_TEMP_3, 1
setobjectxyperm LOCALID_ATTENDANT, 10, 2
end
BattleFrontier_BattleTowerMultiPartnerRoom_OnWarp:
map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TurnPlayerNorth
.2byte 0
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TurnPlayerNorth::
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
end
BattleFrontier_BattleTowerMultiPartnerRoom_OnFrame:
map_script_2 VAR_TEMP_1, 0, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterRoom
map_script_2 VAR_TEMP_3, 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ExitRoom
.2byte 0
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_ExitRoom::
lockall
setvar VAR_TEMP_3, 0
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterRoom::
lockall
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom
waitmovement 0
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit
waitmovement 0
copyobjectxytoperm LOCALID_ATTENDANT
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner, MSGBOX_DEFAULT
special HealPlayerParty
setvar VAR_TEMP_1, 1
releaseall
end
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterRoom:
walk_down
step_end
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantBlockExit:
walk_left
walk_in_place_faster_down
step_end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Attendant::
lock
faceplayer
message BattleFrontier_BattleTowerMultiPartnerRoom_Text_QuitLookingForPartner
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge
msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_PleaseFindPartner2, MSGBOX_DEFAULT
release
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_QuitChallenge::
frontier_set FRONTIER_DATA_RECORD_DISABLED, TRUE
goto BattleFrontier_BattleTower_EventScript_WarpToLobbyLost
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_EnterElevator::
msgbox BattleFrontier_BattleTowerMultiPartnerRoom_Text_ThankYouForChoosingPartner, MSGBOX_DEFAULT
closemessage
applymovement LOCALID_ATTENDANT, Common_Movement_WalkInPlaceFasterUp
waitmovement 0
opendoor 10, 1
waitdooranim
call BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator
closedoor 10, 1
waitdooranim
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 1, 6
waitstate
releaseall
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevator::
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator
waitmovement 0
return
@ Unused
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorEast:
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast
waitmovement 0
return
@ Unused
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_MoveToElevatorWest:
applymovement LOCALID_ATTENDANT, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest
waitmovement 0
return
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevator:
walk_up
walk_up
set_invisible
step_end
@ Functionally unused
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEnterElevatorEast:
walk_right
walk_up
set_invisible
step_end
@ Functionally unused
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PlayerEneterElevatorWest:
walk_left
walk_up
set_invisible
step_end
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_AttendantEnterElevator:
walk_up
set_invisible
step_end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner1::
lock
faceplayer
setvar VAR_TEMP_2, 0
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner::
goto_if_set FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner
tower_dopartnermsg PARTNER_MSGID_INTRO
waitmessage
waitbuttonpress
tower_dopartnermsg PARTNER_MSGID_MON1
waitmessage
waitbuttonpress
tower_dopartnermsg PARTNER_MSGID_MON2_ASK
waitmessage
multichoicedefault 20, 8, MULTI_YESNO, 1, FALSE
switch VAR_RESULT
case 1, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner
case MULTI_B_PRESSED, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner
tower_dopartnermsg PARTNER_MSGID_ACCEPT
waitmessage
waitbuttonpress
closemessage
call_if_ne VAR_FACING, DIR_SOUTH, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit
call_if_eq VAR_FACING, DIR_SOUTH, BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth
removeobject VAR_LAST_TALKED
setflag FLAG_CHOSEN_MULTI_BATTLE_NPC_PARTNER
warpsilent MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_PARTNER_ROOM, 10, 3
waitstate
release
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_RejectPartner::
tower_dopartnermsg PARTNER_MSGID_REJECT
waitmessage
waitbuttonpress
release
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExit::
applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExit
waitmovement 0
return
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_PartnerExitSouth::
applymovement VAR_LAST_TALKED, BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExitSouth
waitmovement 0
return
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExit:
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
step_end
BattleFrontier_BattleTowerMultiPartnerRoom_Movement_PartnerExitSouth:
walk_fast_left
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
walk_fast_up
step_end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner2::
lock
faceplayer
setvar VAR_TEMP_2, 1
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner3::
lock
faceplayer
setvar VAR_TEMP_2, 2
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner4::
lock
faceplayer
setvar VAR_TEMP_2, 3
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner5::
lock
faceplayer
setvar VAR_TEMP_2, 4
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner6::
lock
faceplayer
setvar VAR_TEMP_2, 5
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner7::
lock
faceplayer
setvar VAR_TEMP_2, 6
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_Partner8::
lock
faceplayer
setvar VAR_TEMP_2, 7
goto BattleFrontier_BattleTowerMultiPartnerRoom_EventScript_TalkToPotentialPartner
end
.ifdef ENGLISH
.include "data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/text.inc"
.else
.ifdef FRENCH
.include "data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/text_fr.inc"
.else
.ifdef ITALIAN
.include "data/maps/BattleFrontier_BattleTowerMultiPartnerRoom/text_it.inc"
.endif
.endif
.endif