summaryrefslogtreecommitdiff
path: root/data/scripts/battle_pike.inc
diff options
context:
space:
mode:
Diffstat (limited to 'data/scripts/battle_pike.inc')
-rw-r--r--data/scripts/battle_pike.inc254
1 files changed, 254 insertions, 0 deletions
diff --git a/data/scripts/battle_pike.inc b/data/scripts/battle_pike.inc
new file mode 100644
index 000000000..dd730a644
--- /dev/null
+++ b/data/scripts/battle_pike.inc
@@ -0,0 +1,254 @@
+BattleFrontier_BattlePikeRoomNormal_MapScripts_2C3E1B: @ 82C3E1B
+ map_script MAP_SCRIPT_ON_TRANSITION, BattleFrontier_BattlePikeRoom_OnTransition
+ map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp
+
+BattleFrontier_BattlePikeRoom_OnTransition: @ 82C3E25
+ pike_setroomobjects
+ pike_getroomtype
+ switch VAR_RESULT
+ 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
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetDoubleBattleObjPos:: @ 82C3E93
+ setobjectxyperm 1, 2, 5
+ setobjectxyperm 2, 6, 5
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetTwoObjectRoomPos:: @ 82C3EA2
+ setobjectxyperm 1, 4, 4
+ setobjectxyperm 2, 3, 4
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetOneObjectRoomPos:: @ 82C3EB1
+ setobjectxyperm 1, 4, 4
+ setobjectxyperm 2, 0, 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetNPCRoomObjPos:: @ 82C3EC0
+ setobjectxyperm 1, 5, 5
+ setobjectxyperm 2, 0, 0
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetBrainRoomObjPos:: @ 82C3ECF
+ setobjectxyperm 1, 4, 3
+ setobjectxyperm 2, 4, 4
+ end
+
+BattleFrontier_BattlePikeRoom_OnWarp: @ 82C3EDE
+ map_script_2 VAR_TEMP_4, 0, BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects
+ .2byte 0
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_InitRoomObjects:: @ 82C3EE8
+ setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LINK_RECEPTIONIST
+ setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST
+ pike_getroomtype
+ compare VAR_RESULT, PIKE_ROOM_STATUS
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
+ compare VAR_RESULT, PIKE_ROOM_HARD_BATTLE
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
+ compare VAR_RESULT, PIKE_ROOM_DOUBLE_BATTLE
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom
+ compare VAR_RESULT, PIKE_ROOM_BRAIN
+ goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects
+ hideobjectat 2, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_InitTwoObjectRoom:: @ 82C3F35
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_InitBrainRoomObjects:: @ 82C3F3F
+ setvar VAR_TEMP_4, 1
+ turnobject EVENT_OBJ_ID_PLAYER, DIR_NORTH
+ hideobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL @ Pike Queen hidden initially
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_LeftRoomWarp:: @ 82C3F4E
+ setvar VAR_0x8007, PIKE_ROOM_LEFT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_CenterRoomWarp:: @ 82C3F59
+ setvar VAR_0x8007, PIKE_ROOM_CENTER
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_RightRoomWarp:: @ 82C3F64
+ setvar VAR_0x8007, PIKE_ROOM_RIGHT
+ goto BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp:: @ 82C3F6F
+ pike_get PIKE_DATA_WIN_STREAK
+ addvar VAR_RESULT, 1
+ pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ addvar VAR_RESULT, 1
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
+ pike_setnextroom
+ pike_getroomtype
+ 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
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpNPCRoom:: @ 82C4030
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL, 255, 4, 7
+ waitstate
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpWildMonRoom:: @ 82C4049
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_WILD_MONS, 255, 4, 19
+ waitstate
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_SetEnteredRoom:: @ 82C4062
+ setvar VAR_TEMP_3, 1
+ setvar VAR_TEMP_2, 1
+ end
+
+BattleFrontier_BattlePikeThreePathRoom_EventScript_NoTurningBack:: @ 82C406D
+ setvar VAR_TEMP_3, 0
+ setvar VAR_TEMP_2, 0
+ lockall
+ msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
+ closemessage
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_SetEnteredRoom:: @ 82C4082
+ setvar VAR_TEMP_3, 1
+ setvar VAR_TEMP_2, 1
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_NoTurningBack:: @ 82C408D
+ setvar VAR_TEMP_3, 0
+ setvar VAR_TEMP_2, 0
+ lockall
+ msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
+ closemessage
+ end
+
+BattleFrontier_BattlePikeRoomNormal_EventScript_Exit:: @ 82C40A2
+ pike_ispartyfullhealth
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
+ compare VAR_RESULT, TRUE
+ call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
+ pike_get PIKE_DATA_WIN_STREAK
+ addvar VAR_RESULT, 1
+ pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ addvar VAR_RESULT, 1
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
+ pike_isfinalroom
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
+ compare VAR_RESULT, FALSE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoom_EventScript_DisableHealing:: @ 82C4128
+ pike_nohealing TRUE
+ return
+
+BattleFrontier_BattlePikeRoom_EventScript_EnableHealing:: @ 82C4136
+ pike_nohealing FALSE
+ return
+
+BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom:: @ 82C4144
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_FINAL, 255, 2, 7
+ return
+
+BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom:: @ 82C415C
+ applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoom_Movement_HidePlayer
+ waitmovement 0
+ call BattleFrontier_BattlePike_EventScript_CloseCurtain
+ warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM, 255, 6, 10
+ return
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_Exit:: @ 82C4174
+ pike_exitwildmonroom
+ pike_ispartyfullhealth
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
+ compare VAR_RESULT, TRUE
+ call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
+ pike_get PIKE_DATA_WIN_STREAK
+ addvar VAR_RESULT, 1
+ pike_set PIKE_DATA_WIN_STREAK, VAR_RESULT
+ frontier_get FRONTIER_DATA_BATTLE_NUM
+ addvar VAR_RESULT, 1
+ frontier_set FRONTIER_DATA_BATTLE_NUM, VAR_RESULT
+ pike_isfinalroom
+ compare VAR_RESULT, TRUE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
+ compare VAR_RESULT, FALSE
+ call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_SetEnteredRoom:: @ 82C4202
+ setvar VAR_TEMP_3, 1
+ setvar VAR_TEMP_2, 1
+ end
+
+BattleFrontier_BattlePikeRoomWildMons_EventScript_NoTurningBack:: @ 82C420D
+ setvar VAR_TEMP_3, 0
+ setvar VAR_TEMP_2, 0
+ lockall
+ msgbox BattleFrontier_BattlePike_Text_PathBlockedNoTurningBack, MSGBOX_DEFAULT
+ closemessage
+ end
+
+BattleFrontier_BattlePike_EventScript_Retire:: @ 82C4222
+ frontier_set FRONTIER_DATA_CHALLENGE_STATUS CHALLENGE_STATUS_LOST
+ warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
+ waitstate
+ end
+
+BattleFrontier_BattlePikeRoom_OnResume: @ 82C423E
+ setorcopyvar VAR_0x8006, VAR_RESULT @ Save VAR_RESULT from being overwritten
+ frontier_get FRONTIER_DATA_CHALLENGE_STATUS
+ compare VAR_RESULT, CHALLENGE_STATUS_PAUSED
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
+ compare VAR_RESULT, CHALLENGE_STATUS_SAVING
+ goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume
+ call BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves
+BattleFrontier_BattlePikeThreePathRoom_EventScript_EndOnResume:: @ 82C426B
+ setorcopyvar VAR_RESULT, VAR_0x8006
+ end
+
+BattleFrontier_BattlePikeRoom_EventScript_ResetSketchedMoves:: @ 82C4271
+ frontier_resetsketch
+ return
+
+BattleFrontier_BattlePikeRoom_Movement_HidePlayer: @ 82C427A
+ set_invisible
+ step_end