pokeemerald/data/scripts/battle_pike.inc

242 lines
9.3 KiB
PHP
Raw Normal View History

@ Note: LOCALIDs shared with BattleFrontier_BattlePikeRoomNormal
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_MapScripts:
map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_OnTransition:
2019-11-29 08:00:19 +01:00
pike_setroomobjects
pike_getroomtype
2019-10-05 16:52:48 +02:00
switch VAR_RESULT
2019-12-09 08:10:42 +01:00
case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos
case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos
case PIKE_ROOM_NPC, BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos
case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos
case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos
case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos
case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos
case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos::
setobjectxyperm LOCALID_OBJ_0, 2, 5
setobjectxyperm LOCALID_OBJ_1, 6, 5
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos::
setobjectxyperm LOCALID_OBJ_0, 4, 4
setobjectxyperm LOCALID_OBJ_1, 3, 4
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos::
setobjectxyperm LOCALID_OBJ_0, 4, 4
setobjectxyperm LOCALID_OBJ_1, 0, 0
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos::
setobjectxyperm LOCALID_OBJ_0, 5, 5
setobjectxyperm LOCALID_OBJ_1, 0, 0
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos::
setobjectxyperm LOCALID_OBJ_0, 4, 3
setobjectxyperm LOCALID_OBJ_1, 4, 4
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_OnWarp:
2019-12-09 08:10:42 +01:00
map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects
2019-10-05 16:52:48 +02:00
.2byte 0
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects::
setvar VAR_OBJ_GFX_ID_1, OBJ_EVENT_GFX_LINK_RECEPTIONIST
setvar VAR_OBJ_GFX_ID_0, OBJ_EVENT_GFX_LINK_RECEPTIONIST
2019-11-29 08:00:19 +01:00
pike_getroomtype
goto_if_eq VAR_RESULT, PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
goto_if_eq VAR_RESULT, PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
goto_if_eq VAR_RESULT, PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
goto_if_eq VAR_RESULT, PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects
hideobjectat LOCALID_OBJ_1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_4, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_4, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_4, 1
turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH
hideobjectat LOCALID_OBJ_0, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL @ Pike Queen hidden initially
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_LeftRoomWarp::
setvar VAR_0x8007, PIKE_ROOM_LEFT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_CenterRoomWarp::
setvar VAR_0x8007, PIKE_ROOM_CENTER
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_RightRoomWarp::
setvar VAR_0x8007, PIKE_ROOM_RIGHT
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
2019-10-05 16:52:48 +02:00
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp::
2019-11-29 08:00:19 +01:00
pike_get PIKE_DATA_WIN_STREAK
2019-10-05 16:52:48 +02:00
addvar VAR_RESULT, 1
2019-11-29 08:00:19 +01:00
pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
2019-11-24 22:58:40 +01:00
frontier_get FRONTIER_DATA_BATTLE_NUM
2019-10-05 16:52:48 +02:00
addvar VAR_RESULT, 1
2019-11-24 22:58:40 +01:00
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
2019-11-29 08:00:19 +01:00
pike_setnextroom
pike_getroomtype
2019-10-05 16:52:48 +02:00
switch VAR_RESULT
case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
case PIKE_ROOM_NPC, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
case PIKE_ROOM_HEAL_PART, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
case PIKE_ROOM_WILD_MONS, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom
case PIKE_ROOM_HARD_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
case PIKE_ROOM_DOUBLE_BATTLE, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
case PIKE_ROOM_BRAIN, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom
end
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom::
2019-11-26 02:00:04 +01:00
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
2019-10-05 16:52:48 +02:00
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL, 4, 7
2019-10-05 16:52:48 +02:00
waitstate
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom::
2019-11-26 02:00:04 +01:00
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
2019-10-05 16:52:48 +02:00
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS, 4, 19
2019-10-05 16:52:48 +02:00
waitstate
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_3, 1
setvar VAR_TEMP_2, 1
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_2, 0
lockall
msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
2019-10-05 16:52:48 +02:00
closemessage
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_3, 1
setvar VAR_TEMP_2, 1
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_2, 0
lockall
msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
2019-10-05 16:52:48 +02:00
closemessage
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomNormal_EventScript_Exit::
2019-11-29 08:00:19 +01:00
pike_ispartyfullhealth
call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
call_if_ne VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
2019-11-29 08:00:19 +01:00
pike_get PIKE_DATA_WIN_STREAK
2019-10-05 16:52:48 +02:00
addvar VAR_RESULT, 1
2019-11-29 08:00:19 +01:00
pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
2019-11-24 22:58:40 +01:00
frontier_get FRONTIER_DATA_BATTLE_NUM
2019-10-05 16:52:48 +02:00
addvar VAR_RESULT, 1
2019-11-24 22:58:40 +01:00
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
2019-11-29 08:00:19 +01:00
pike_isfinalroom
call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
call_if_eq VAR_RESULT, FALSE, BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
2019-10-05 16:52:48 +02:00
waitstate
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_EventScript_DisableHealing::
2019-11-29 08:00:19 +01:00
pike_nohealing TRUE
2019-10-05 16:52:48 +02:00
return
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_EventScript_EnableHealing::
2019-11-29 08:00:19 +01:00
pike_nohealing FALSE
2019-10-05 16:52:48 +02:00
return
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom::
2019-11-26 02:00:04 +01:00
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
2019-10-05 16:52:48 +02:00
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL, 2, 7
2019-10-05 16:52:48 +02:00
return
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom::
2019-11-26 02:00:04 +01:00
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
2019-10-05 16:52:48 +02:00
waitmovement 0
call BattleFrontier_BattlePike_EventScript_CloseCurtain
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 6, 10
2019-10-05 16:52:48 +02:00
return
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit::
2019-11-29 08:00:19 +01:00
pike_exitwildmonroom
pike_ispartyfullhealth
call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
call_if_ne VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
2019-11-29 08:00:19 +01:00
pike_get PIKE_DATA_WIN_STREAK
2019-10-05 16:52:48 +02:00
addvar VAR_RESULT, 1
2019-11-29 08:00:19 +01:00
pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
2019-11-24 22:58:40 +01:00
frontier_get FRONTIER_DATA_BATTLE_NUM
2019-10-05 16:52:48 +02:00
addvar VAR_RESULT, 1
2019-11-24 22:58:40 +01:00
frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
2019-11-29 08:00:19 +01:00
pike_isfinalroom
call_if_eq VAR_RESULT, TRUE, BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
call_if_eq VAR_RESULT, FALSE, BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
2019-10-05 16:52:48 +02:00
waitstate
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_3, 1
setvar VAR_TEMP_2, 1
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack::
2019-10-05 16:52:48 +02:00
setvar VAR_TEMP_3, 0
setvar VAR_TEMP_2, 0
lockall
msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
2019-10-05 16:52:48 +02:00
closemessage
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePike_EventScript_Retire::
2019-11-24 22:58:40 +01:00
frontier_set FRONTIER_DATA_CHALLENGE_STATUS CHALLENGE_STATUS_LOST
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 5, 6
2019-10-05 16:52:48 +02:00
waitstate
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_OnResume:
2019-12-09 08:10:42 +01:00
setorcopyvar VAR_0x8006, VAR_RESULT @ Save VAR_RESULT from being overwritten
2019-11-24 22:58:40 +01:00
frontier_get FRONTIER_DATA_CHALLENGE_STATUS
goto_if_eq VAR_RESULT, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
goto_if_eq VAR_RESULT, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume::
2019-10-05 16:52:48 +02:00
setorcopyvar VAR_RESULT, VAR_0x8006
end
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves::
frontier_resetsketch
2019-10-05 16:52:48 +02:00
return
2019-09-27 18:22:58 +02:00
2021-07-20 21:18:31 +02:00
BattleFrontier_BattlePikeRoom_Movement_HidePlayer:
2019-10-05 16:52:48 +02:00
set_invisible
step_end