mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2025-02-19 02:33:36 +01:00
Set up Battle Pike macros
This commit is contained in:
parent
9b3d1cfab6
commit
41c1c9ca8a
@ -1,54 +1,173 @@
|
||||
@ To be populated with macros for CallBattlePikeFunction
|
||||
@ TODO: Add explanatory comments
|
||||
|
||||
.macro battlepike_getstreak
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
|
||||
setvar VAR_0x8005, 1
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_setstreak streak:req
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
|
||||
setvar VAR_0x8005, 1
|
||||
.if \streak >= VARS_START
|
||||
copyvar VAR_0x8006, \streak
|
||||
.else
|
||||
setvar VAR_0x8006, \streak
|
||||
.endif
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_isfinalroom
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_setroomobjects
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_getroomtype
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_setnextroom
|
||||
@
|
||||
.macro pike_setnextroom
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_gethint
|
||||
@
|
||||
.macro pike_get data:req
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
|
||||
setvar VAR_0x8005, \data
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_set data:req, val:req
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
|
||||
setvar VAR_0x8005, \data
|
||||
.if \val >= VARS_START
|
||||
copyvar VAR_0x8006, \val
|
||||
.else
|
||||
setvar VAR_0x8006, \val
|
||||
.endif
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_isfinalroom
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_setroomobjects
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_getroomtype
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@ Sets a bool that's never read
|
||||
.macro pike_inwildmonroom
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@ Clears a bool that's never read
|
||||
.macro pike_exitwildmonroom
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@ Save the game and set the challenge status
|
||||
.macro pike_save challengeStatus:req
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE
|
||||
setvar VAR_0x8005, \challengeStatus
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_getstatus
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_getstatusmon
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_healonetwomons
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_getnpcmsg
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_NPC_MSG
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_fadescreen
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@ TRUE if the player is currently in a Battle Pike challenge map
|
||||
.macro pike_inchallenge
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_IN
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@ TRUE if its the Pike Queens room
|
||||
.macro pike_sethintroom
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HINT_ROOM
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_gethintroomid
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_gethint
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_nohealing set:req
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED
|
||||
@
|
||||
.macro pike_cleartrainerids
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_gettrainerintro trainer:req
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_TRAINER_INTRO
|
||||
setvar VAR_0x8005, \trainer
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@ Get the status of the Pike Queen (Not ready, Silver/Gold streak before symbols, Silver/Gold streak after symbols)
|
||||
.macro pike_getbrainstatus
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_prequeenheal
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_nohealing set:req
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED
|
||||
setvar VAR_0x8005, \set
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
.macro battlepike_ispartyfullhealth
|
||||
@
|
||||
.macro pike_ispartyfullhealth
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_savehelditems
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@
|
||||
.macro pike_resethelditems
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_RESET_HELD_ITEMS
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
||||
@ Initialize the Battle Arena challenge
|
||||
.macro pike_init
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_INIT
|
||||
special CallBattlePikeFunction
|
||||
.endm
|
||||
|
@ -10,9 +10,8 @@ BattleFrontier_BattlePikeCorridor_MapScript2_25C77C: @ 825C77C
|
||||
BattleFrontier_BattlePikeCorridor_EventScript_25C786:: @ 825C786
|
||||
delay 16
|
||||
frontier_set FRONTIER_DATA_BATTLE_NUM, 1
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS
|
||||
special CallBattlePikeFunction
|
||||
battlepike_nohealing TRUE
|
||||
pike_cleartrainerids
|
||||
pike_nohealing TRUE
|
||||
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeCorridor_Movement_25C80B
|
||||
applymovement 1, BattleFrontier_BattlePikeCorridor_Movement_25C812
|
||||
waitmovement 0
|
||||
|
@ -25,16 +25,12 @@ BattleFrontier_BattlePikeLobby_EventScript_25B707:: @ 825B707
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_25B710:: @ 825B710
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS
|
||||
special CallBattlePikeFunction
|
||||
pike_resethelditems
|
||||
lockall
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_25C2E0, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
battlepike_setstreak 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
|
||||
setvar VAR_0x8005, 4
|
||||
setvar VAR_0x8006, 0
|
||||
special CallBattlePikeFunction
|
||||
pike_set PIKE_DATA_WIN_STREAK 0
|
||||
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
releaseall
|
||||
@ -58,23 +54,15 @@ BattleFrontier_BattlePikeLobby_EventScript_25B78D:: @ 825B78D
|
||||
frontier_givepoints
|
||||
msgbox BattleFrontier_Text_ObtainedXBattlePoints, MSGBOX_GETPOINTS
|
||||
frontier_checkairshow
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
|
||||
setvar VAR_0x8005, 3
|
||||
special CallBattlePikeFunction
|
||||
pike_get PIKE_DATA_TOTAL_STREAKS
|
||||
addvar VAR_RESULT, 1
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
|
||||
setvar VAR_0x8005, 3
|
||||
copyvar VAR_0x8006, VAR_RESULT
|
||||
special CallBattlePikeFunction
|
||||
pike_set PIKE_DATA_TOTAL_STREAKS, VAR_RESULT
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS
|
||||
special CallBattlePikeFunction
|
||||
pike_resethelditems
|
||||
message BattleFrontier_BattlePikeLobby_Text_25C1DF
|
||||
waitmessage
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE
|
||||
setvar VAR_0x8005, 0
|
||||
special CallBattlePikeFunction
|
||||
pike_save 0
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
|
||||
@ -89,17 +77,11 @@ BattleFrontier_BattlePikeLobby_EventScript_25B806:: @ 825B806
|
||||
waitmessage
|
||||
frontier_checkairshow
|
||||
frontier_set FRONTIER_DATA_BATTLE_NUM, 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
|
||||
setvar VAR_0x8005, 4
|
||||
setvar VAR_0x8006, 0
|
||||
special CallBattlePikeFunction
|
||||
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
special LoadPlayerParty
|
||||
special HealPlayerParty
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS
|
||||
special CallBattlePikeFunction
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE
|
||||
setvar VAR_0x8005, 0
|
||||
special CallBattlePikeFunction
|
||||
pike_resethelditems
|
||||
pike_save 0
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_25BE02, MSGBOX_DEFAULT
|
||||
@ -156,23 +138,17 @@ BattleFrontier_BattlePikeLobby_EventScript_25B95C:: @ 825B95C
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_1, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_INIT_CHALLENGE
|
||||
special CallBattlePikeFunction
|
||||
pike_init
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
|
||||
setvar VAR_0x8005, 4
|
||||
setvar VAR_0x8006, 1
|
||||
special CallBattlePikeFunction
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS
|
||||
special CallBattlePikeFunction
|
||||
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
pike_savehelditems
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
special LoadPlayerParty
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS
|
||||
special CallBattlePikeFunction
|
||||
pike_savehelditems
|
||||
compare VAR_RESULT, 0
|
||||
goto_if_eq BattleFrontier_BattlePikeLobby_EventScript_25BA5C
|
||||
special SavePlayerParty
|
||||
|
@ -11,7 +11,7 @@ BattleFrontier_BattlePikeRoomNormal_OnFrame: @ 825D167
|
||||
|
||||
BattleFrontier_BattlePikeRoomNormal_EventScript_25D171:: @ 825D171
|
||||
setvar VAR_TEMP_0, 1
|
||||
battlepike_getroomtype
|
||||
pike_getroomtype
|
||||
switch VAR_RESULT
|
||||
case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_25D1C6
|
||||
case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeRoomNormal_EventScript_25D50E
|
||||
@ -26,9 +26,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D1C6:: @ 825D1C6
|
||||
delay 16
|
||||
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_25D795
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG
|
||||
setvar VAR_0x8005, 0
|
||||
special CallBattlePikeFunction
|
||||
pike_gettrainerintro 0
|
||||
msgbox gStringVar4, MSGBOX_DEFAULT
|
||||
waitmessage
|
||||
closemessage
|
||||
@ -39,7 +37,6 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D1C6:: @ 825D1C6
|
||||
waitstate
|
||||
switch VAR_RESULT
|
||||
case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_25D226
|
||||
|
||||
BattleFrontier_BattlePikeRoomNormal_EventScript_25D20A:: @ 825D20A
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY, 255, 5, 6
|
||||
@ -59,9 +56,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D231:: @ 825D231
|
||||
closemessage
|
||||
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_25D795
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG
|
||||
setvar VAR_0x8005, 0
|
||||
special CallBattlePikeFunction
|
||||
pike_gettrainerintro 0
|
||||
msgbox gStringVar4, MSGBOX_DEFAULT
|
||||
waitmessage
|
||||
closemessage
|
||||
@ -98,8 +93,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D2BF:: @ 825D2BF
|
||||
lockall
|
||||
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_25D7DF
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN
|
||||
special CallBattlePikeFunction
|
||||
pike_prequeenheal
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_BattlePikeRoomNormal_EventScript_25D4DC
|
||||
case 1, BattleFrontier_BattlePikeRoomNormal_EventScript_25D4EA
|
||||
@ -112,7 +106,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D2FB:: @ 825D2FB
|
||||
applymovement EVENT_OBJ_ID_CAMERA, BattleFrontier_BattlePikeRoomNormal_Movement_25D9B0
|
||||
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_25D7E2
|
||||
waitmovement 0
|
||||
playse 267
|
||||
playse SE_CURTAIN
|
||||
call BattleFrontier_BattlePikeRoomNormal_EventScript_25D8E7
|
||||
delay 4
|
||||
call BattleFrontier_BattlePikeRoomNormal_EventScript_25D8A4
|
||||
@ -121,7 +115,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D2FB:: @ 825D2FB
|
||||
delay 4
|
||||
waitse
|
||||
delay 60
|
||||
playse 268
|
||||
playse SE_CURTAIN1
|
||||
delay 65
|
||||
call BattleFrontier_BattlePikeRoomNormal_EventScript_25D8A4
|
||||
showobjectat 1, MAP_BATTLE_FRONTIER_BATTLE_PIKE_ROOM_NORMAL
|
||||
@ -132,12 +126,11 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D2FB:: @ 825D2FB
|
||||
waitse
|
||||
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_25D7E7
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE
|
||||
special CallBattlePikeFunction
|
||||
pike_getbrainstatus
|
||||
switch VAR_RESULT
|
||||
case 2, BattleFrontier_BattlePikeRoomNormal_EventScript_25D416
|
||||
case 3, BattleFrontier_BattlePikeRoomNormal_EventScript_25D3BD
|
||||
case 4, BattleFrontier_BattlePikeRoomNormal_EventScript_25D443
|
||||
case FRONTIER_BRAIN_GOLD, BattleFrontier_BattlePikeRoomNormal_EventScript_25D416
|
||||
case FRONTIER_BRAIN_STREAK, BattleFrontier_BattlePikeRoomNormal_EventScript_25D3BD
|
||||
case FRONTIER_BRAIN_STREAK_LONG, BattleFrontier_BattlePikeRoomNormal_EventScript_25D443
|
||||
frontier_get FRONTIER_DATA_HEARD_BRAIN_SPEECH
|
||||
compare VAR_RESULT, FALSE
|
||||
goto_if_ne BattleFrontier_BattlePikeRoomNormal_EventScript_25D3BD
|
||||
@ -199,9 +192,9 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D49D:: @ 825D49D
|
||||
waitmovement 0
|
||||
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_25D7DC
|
||||
waitmovement 0
|
||||
battlepike_getstreak
|
||||
pike_get PIKE_DATA_WIN_STREAK
|
||||
addvar VAR_RESULT, 1
|
||||
battlepike_setstreak VAR_RESULT
|
||||
pike_set PIKE_DATA_WIN_STREAK VAR_RESULT
|
||||
call BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
|
||||
waitstate
|
||||
end
|
||||
@ -256,17 +249,13 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D53E:: @ 825D53E
|
||||
waitmovement 0
|
||||
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_25D7BB
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG
|
||||
setvar VAR_0x8005, 0
|
||||
special CallBattlePikeFunction
|
||||
pike_gettrainerintro 0
|
||||
msgbox gStringVar4, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
delay 16
|
||||
applymovement EVENT_OBJ_ID_PLAYER, BattleFrontier_BattlePikeRoomNormal_Movement_25D7BD
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG
|
||||
setvar VAR_0x8005, 1
|
||||
special CallBattlePikeFunction
|
||||
pike_gettrainerintro 1
|
||||
msgbox gStringVar4, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_0x8004, SPECIAL_BATTLE_PIKE_DOUBLE
|
||||
@ -294,12 +283,11 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D605:: @ 825D605
|
||||
message BattleFrontier_BattlePikeRoomNormal_Text_25DBD1
|
||||
applymovement 2, BattleFrontier_BattlePikeRoomNormal_Movement_25D7AA
|
||||
waitmovement 0
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON
|
||||
special CallBattlePikeFunction
|
||||
pike_getstatusmon
|
||||
copyvar VAR_0x8004, VAR_RESULT
|
||||
compare VAR_0x8004, 0
|
||||
compare VAR_0x8004, PIKE_STATUS_KIRLIA
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D643
|
||||
compare VAR_0x8004, 1
|
||||
compare VAR_0x8004, PIKE_STATUS_DUSCLOPS
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D6D5
|
||||
msgbox BattleFrontier_BattlePikeRoomNormal_Text_25DD3F, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@ -312,18 +300,16 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D643:: @ 825D643
|
||||
waitse
|
||||
playmoncry SPECIES_KIRLIA, 0
|
||||
waitmoncry
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS
|
||||
special CallBattlePikeFunction
|
||||
compare VAR_RESULT, 2
|
||||
pike_getstatus
|
||||
compare VAR_RESULT, PIKE_STATUS_TOXIC
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D751
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, PIKE_STATUS_BURN
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D758
|
||||
compare VAR_RESULT, 3
|
||||
compare VAR_RESULT, PIKE_STATUS_PARALYSIS
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D75F
|
||||
compare VAR_RESULT, 4
|
||||
compare VAR_RESULT, PIKE_STATUS_SLEEP
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D766
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE
|
||||
special CallBattlePikeFunction
|
||||
pike_fadescreen
|
||||
waitstate
|
||||
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_25D7A2
|
||||
waitmovement 0
|
||||
@ -349,14 +335,12 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D6D5:: @ 825D6D5
|
||||
waitse
|
||||
playmoncry SPECIES_DUSCLOPS, 0
|
||||
waitmoncry
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_STATUS
|
||||
special CallBattlePikeFunction
|
||||
compare VAR_RESULT, 0
|
||||
pike_getstatus
|
||||
compare VAR_RESULT, PIKE_STATUS_FREEZE
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D76D
|
||||
compare VAR_RESULT, 1
|
||||
compare VAR_RESULT, PIKE_STATUS_BURN
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D774
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE
|
||||
special CallBattlePikeFunction
|
||||
pike_fadescreen
|
||||
waitstate
|
||||
applymovement 1, BattleFrontier_BattlePikeRoomNormal_Movement_25D7A2
|
||||
waitmovement 0
|
||||
@ -555,7 +539,7 @@ BattleFrontier_BattlePikeRoomNormal_Movement_25D7EA: @ 825D7EA
|
||||
step_end
|
||||
|
||||
BattleFrontier_BattlePikeRoomNormal_EventScript_25D7ED:: @ 825D7ED
|
||||
battlepike_getroomtype
|
||||
pike_getroomtype
|
||||
switch VAR_RESULT
|
||||
case PIKE_ROOM_NPC, BattleFrontier_BattlePikeRoomNormal_EventScript_25D81B
|
||||
case PIKE_ROOM_STATUS, BattleFrontier_BattlePikeRoomNormal_EventScript_25D831
|
||||
@ -563,8 +547,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D7ED:: @ 825D7ED
|
||||
BattleFrontier_BattlePikeRoomNormal_EventScript_25D81B:: @ 825D81B
|
||||
lock
|
||||
faceplayer
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_BUFFER_NPC_MSG
|
||||
special CallBattlePikeFunction
|
||||
pike_getnpcmsg
|
||||
msgbox gStringVar4, MSGBOX_DEFAULT
|
||||
waitmessage
|
||||
closemessage
|
||||
@ -580,8 +563,7 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_25D831:: @ 825D831
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeRoomNormal_EventScript_25D83E:: @ 825D83E
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS
|
||||
special CallBattlePikeFunction
|
||||
pike_healonetwomons
|
||||
compare VAR_RESULT, 2
|
||||
call_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_25D881
|
||||
compare VAR_RESULT, 1
|
||||
|
@ -11,8 +11,7 @@ BattleFrontier_BattlePikeRoomWildMons_MapScript2_25E42A: @ 825E42A
|
||||
|
||||
BattleFrontier_BattlePikeRoomWildMons_EventScript_25E43C:: @ 825E43C
|
||||
setvar VAR_TEMP_0, 1
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_6
|
||||
special CallBattlePikeFunction
|
||||
pike_inwildmonroom
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeRoomWildMons_EventScript_25E44A:: @ 825E44A
|
||||
|
@ -34,9 +34,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C8A4:: @ 825C8A4
|
||||
lockall
|
||||
message BattleFrontier_BattlePikeThreePathRoom_Text_AwaitingReturnSaveBeforeResume
|
||||
waitmessage
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE
|
||||
setvar VAR_0x8005, CHALLENGE_STATUS_SAVING
|
||||
special CallBattlePikeFunction
|
||||
pike_save CHALLENGE_STATUS_SAVING
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
@ -124,9 +122,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25C9FD:: @ 825C9FD
|
||||
message BattleFrontier_BattlePikeThreePathRoom_Text_SavingYourData
|
||||
waitmessage
|
||||
special LoadPlayerParty
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SAVE
|
||||
setvar VAR_0x8005, CHALLENGE_STATUS_PAUSED
|
||||
special CallBattlePikeFunction
|
||||
pike_save CHALLENGE_STATUS_PAUSED
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
fadescreen 1
|
||||
@ -152,9 +148,8 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA5A:: @ 825CA5A
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA78:: @ 825CA78
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_HINT_ROOM
|
||||
special CallBattlePikeFunction
|
||||
compare VAR_RESULT, 1
|
||||
pike_sethintroom
|
||||
compare VAR_RESULT, TRUE
|
||||
goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA91
|
||||
setvar VAR_TEMP_5, 255
|
||||
end
|
||||
@ -175,7 +170,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_25CA97:: @ 825CA97
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeThreePathRoom_EventScript_HintGiver:: @ 825CABB
|
||||
battlepike_gethint
|
||||
pike_gethint
|
||||
compare VAR_RESULT, PIKE_HINT_BRAIN
|
||||
goto_if_eq BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveBrainHint
|
||||
lock
|
||||
@ -194,8 +189,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_DeclineHint:: @ 825CB00
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeThreePathRoom_EventScript_AcceptHint:: @ 825CB0A
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID
|
||||
special CallBattlePikeFunction
|
||||
pike_gethintroomid
|
||||
switch VAR_RESULT
|
||||
case PIKE_ROOM_LEFT, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveLeftRoomHint
|
||||
case PIKE_ROOM_CENTER, BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveCenterRoomHint
|
||||
@ -215,7 +209,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveRightRoomHint:: @ 825CB53
|
||||
goto BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint
|
||||
|
||||
BattleFrontier_BattlePikeThreePathRoom_EventScript_GiveHint:: @ 825CB60
|
||||
battlepike_gethint
|
||||
pike_gethint
|
||||
switch VAR_RESULT
|
||||
case PIKE_HINT_NOSTALGIA, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintNostalgia
|
||||
case PIKE_HINT_WHISPERING, BattleFrontier_BattlePikeThreePathRoom_EventScript_HintWhispering
|
||||
|
@ -3,8 +3,8 @@ BattleFrontier_BattlePikeRoomNormal_MapScripts_2C3E1B: @ 82C3E1B
|
||||
map_script MAP_SCRIPT_ON_WARP_INTO_MAP_TABLE, BattleFrontier_BattlePikeRoom_OnWarp
|
||||
|
||||
BattleFrontier_BattlePikeRoom_OnTransition: @ 82C3E25
|
||||
battlepike_setroomobjects
|
||||
battlepike_getroomtype
|
||||
pike_setroomobjects
|
||||
pike_getroomtype
|
||||
switch VAR_RESULT
|
||||
case PIKE_ROOM_SINGLE_BATTLE, BattleFrontier_BattlePikeRoomNormal_EventScript_2C3EB1
|
||||
case PIKE_ROOM_HEAL_FULL, BattleFrontier_BattlePikeRoomNormal_EventScript_2C3EB1
|
||||
@ -48,7 +48,7 @@ BattleFrontier_BattlePikeRoom_OnWarp: @ 82C3EDE
|
||||
BattleFrontier_BattlePikeRoomNormal_EventScript_EnterRoom:: @ 82C3EE8
|
||||
setvar VAR_OBJ_GFX_ID_1, EVENT_OBJ_GFX_LINK_RECEPTIONIST
|
||||
setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_LINK_RECEPTIONIST
|
||||
battlepike_getroomtype
|
||||
pike_getroomtype
|
||||
compare VAR_RESULT, PIKE_ROOM_STATUS
|
||||
goto_if_eq BattleFrontier_BattlePikeRoomNormal_EventScript_2C3F35
|
||||
compare VAR_RESULT, PIKE_ROOM_HARD_BATTLE
|
||||
@ -89,14 +89,14 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_RightRoomWarp:: @ 82C3F64
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeThreePathRoom_EventScript_RoomWarp:: @ 82C3F6F
|
||||
battlepike_getstreak
|
||||
pike_get PIKE_DATA_WIN_STREAK
|
||||
addvar VAR_RESULT, 1
|
||||
battlepike_setstreak VAR_RESULT
|
||||
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
|
||||
battlepike_setnextroom
|
||||
battlepike_getroomtype
|
||||
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
|
||||
@ -152,18 +152,18 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_2C408D:: @ 82C408D
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeRoomNormal_EventScript_Exit:: @ 82C40A2
|
||||
battlepike_ispartyfullhealth
|
||||
pike_ispartyfullhealth
|
||||
compare VAR_RESULT, TRUE
|
||||
call_if_eq BattleFrontier_BattlePikeRoom_EventScript_DisableHealing
|
||||
compare VAR_RESULT, TRUE
|
||||
call_if_ne BattleFrontier_BattlePikeRoom_EventScript_EnableHealing
|
||||
battlepike_getstreak
|
||||
pike_get PIKE_DATA_WIN_STREAK
|
||||
addvar VAR_RESULT, 1
|
||||
battlepike_setstreak VAR_RESULT
|
||||
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
|
||||
battlepike_isfinalroom
|
||||
pike_isfinalroom
|
||||
compare VAR_RESULT, TRUE
|
||||
call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
|
||||
compare VAR_RESULT, FALSE
|
||||
@ -172,11 +172,11 @@ BattleFrontier_BattlePikeRoomNormal_EventScript_Exit:: @ 82C40A2
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePikeRoom_EventScript_DisableHealing:: @ 82C4128
|
||||
battlepike_nohealing TRUE
|
||||
pike_nohealing TRUE
|
||||
return
|
||||
|
||||
BattleFrontier_BattlePikeRoom_EventScript_EnableHealing:: @ 82C4136
|
||||
battlepike_nohealing FALSE
|
||||
pike_nohealing FALSE
|
||||
return
|
||||
|
||||
BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom:: @ 82C4144
|
||||
@ -194,20 +194,19 @@ BattleFrontier_BattlePikeRoom_EventScript_WarpToThreePathRoom:: @ 82C415C
|
||||
return
|
||||
|
||||
BattleFrontier_BattlePikeRoomWildMons_EventScript_2C4174:: @ 82C4174
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_7
|
||||
special CallBattlePikeFunction
|
||||
battlepike_ispartyfullhealth
|
||||
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
|
||||
battlepike_getstreak
|
||||
pike_get PIKE_DATA_WIN_STREAK
|
||||
addvar VAR_RESULT, 1
|
||||
battlepike_setstreak VAR_RESULT
|
||||
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
|
||||
battlepike_isfinalroom
|
||||
pike_isfinalroom
|
||||
compare VAR_RESULT, TRUE
|
||||
call_if_eq BattleFrontier_BattlePikeRoom_EventScript_WarpToFinalRoom
|
||||
compare VAR_RESULT, FALSE
|
||||
|
@ -29,9 +29,8 @@ EventScript_FrontierFieldWhiteOut:: @ 82736F8
|
||||
message gText_PlayerWhitedOut
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_IN
|
||||
special CallBattlePikeFunction
|
||||
compare VAR_RESULT, 1
|
||||
pike_inchallenge
|
||||
compare VAR_RESULT, TRUE
|
||||
goto_if_eq BattleFrontier_BattlePike_EventScript_Retire
|
||||
setvar VAR_0x8004, BATTLE_PYRAMID_FUNC_IS_IN
|
||||
special CallBattlePyramidFunction
|
||||
|
@ -23,38 +23,50 @@
|
||||
#define PIKE_HINT_BRAIN 4
|
||||
|
||||
// For the room with a status effect.
|
||||
#define PIKE_STATUS_KIRLIA 0
|
||||
#define PIKE_STATUS_KIRLIA 0
|
||||
#define PIKE_STATUS_DUSCLOPS 1
|
||||
|
||||
#define PIKE_STATUS_FREEZE 0
|
||||
#define PIKE_STATUS_BURN 1
|
||||
#define PIKE_STATUS_TOXIC 2
|
||||
#define PIKE_STATUS_PARALYSIS 3
|
||||
#define PIKE_STATUS_SLEEP 4
|
||||
|
||||
// Function IDs for sBattlePikeFunctions / CallBattlePikeFunction
|
||||
#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE 0
|
||||
#define BATTLE_PIKE_FUNC_GET_DATA 1
|
||||
#define BATTLE_PIKE_FUNC_SET_DATA 2
|
||||
#define BATTLE_PIKE_FUNC_IS_FINAL_ROOM 3
|
||||
#define BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS 4
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE 5
|
||||
#define BATTLE_PIKE_FUNC_6 6
|
||||
#define BATTLE_PIKE_FUNC_7 7
|
||||
#define BATTLE_PIKE_FUNC_SAVE 8
|
||||
#define BATTLE_PIKE_FUNC_NULL_9 9
|
||||
#define BATTLE_PIKE_FUNC_NULL_10 10
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS 11
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON 12
|
||||
#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS 13
|
||||
#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG 14
|
||||
#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE 15
|
||||
#define BATTLE_PIKE_FUNC_IS_IN 16
|
||||
#define BATTLE_PIKE_FUNC_SET_HINT_ROOM 17
|
||||
#define BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID 18
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT 19
|
||||
#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS 20
|
||||
#define BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG 21
|
||||
#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE 22
|
||||
#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN 23
|
||||
#define BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED 24
|
||||
#define BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH 25
|
||||
#define BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS 26
|
||||
#define BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS 27
|
||||
#define BATTLE_PIKE_FUNC_INIT_CHALLENGE 28
|
||||
#define BATTLE_PIKE_FUNC_SET_ROOM_TYPE 0
|
||||
#define BATTLE_PIKE_FUNC_GET_DATA 1
|
||||
#define BATTLE_PIKE_FUNC_SET_DATA 2
|
||||
#define BATTLE_PIKE_FUNC_IS_FINAL_ROOM 3
|
||||
#define BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS 4
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE 5
|
||||
#define BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM 6
|
||||
#define BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM 7
|
||||
#define BATTLE_PIKE_FUNC_SAVE 8
|
||||
#define BATTLE_PIKE_FUNC_NULL_9 9
|
||||
#define BATTLE_PIKE_FUNC_NULL_10 10
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS 11
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON 12
|
||||
#define BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS 13
|
||||
#define BATTLE_PIKE_FUNC_BUFFER_NPC_MSG 14
|
||||
#define BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE 15
|
||||
#define BATTLE_PIKE_FUNC_IS_IN 16
|
||||
#define BATTLE_PIKE_FUNC_SET_HINT_ROOM 17
|
||||
#define BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID 18
|
||||
#define BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT 19
|
||||
#define BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS 20
|
||||
#define BATTLE_PIKE_FUNC_GET_TRAINER_INTRO 21
|
||||
#define BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE 22
|
||||
#define BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN 23
|
||||
#define BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED 24
|
||||
#define BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH 25
|
||||
#define BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS 26
|
||||
#define BATTLE_PIKE_FUNC_RESET_HELD_ITEMS 27
|
||||
#define BATTLE_PIKE_FUNC_INIT 28
|
||||
|
||||
#define PIKE_DATA_PRIZE 0
|
||||
#define PIKE_DATA_WIN_STREAK 1
|
||||
#define PIKE_DATA_RECORD_STREAK 2
|
||||
#define PIKE_DATA_TOTAL_STREAKS 3
|
||||
#define PIKE_DATA_WIN_STREAK_ACTIVE 4
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_PIKE_H
|
||||
|
@ -44,7 +44,7 @@ struct PikeWildMon
|
||||
// IWRAM bss
|
||||
static u8 sRoomType;
|
||||
static u8 sStatusMon;
|
||||
static bool8 sUnknown_0300128E;
|
||||
static bool8 sInWildMonRoom;
|
||||
static u32 sStatusFlags;
|
||||
static u8 sNpcId;
|
||||
|
||||
@ -55,8 +55,8 @@ static void SetBattlePikeData(void);
|
||||
static void IsNextRoomFinal(void);
|
||||
static void SetupRoomEventObjects(void);
|
||||
static void GetRoomType(void);
|
||||
static void sub_81A7400(void);
|
||||
static void sub_81A740C(void);
|
||||
static void SetInWildMonRoom(void);
|
||||
static void ClearInWildMonRoom(void);
|
||||
static void SavePikeChallenge(void);
|
||||
static void nullsub_76(void);
|
||||
static void nullsub_124(void);
|
||||
@ -70,12 +70,12 @@ static void SetHintedRoom(void);
|
||||
static void GetHintedRoomIndex(void);
|
||||
static void GetRoomTypeHint(void);
|
||||
static void ClearPikeTrainerIds(void);
|
||||
static void BufferRecordMixingTrainerMessage(void);
|
||||
static void BufferTrainerIntro(void);
|
||||
static void GetCurrentRoomPikeQueenFightType(void);
|
||||
static void HealSomeMonsBeforePikeQueen(void);
|
||||
static void SetHealingroomTypesDisabled(void);
|
||||
static void IsPartyFullHealed(void);
|
||||
static void BackupMonHeldItems(void);
|
||||
static void SaveMonHeldItems(void);
|
||||
static void RestoreMonHeldItems(void);
|
||||
static void InitPikeChallenge(void);
|
||||
static u8 GetNextRoomType(void);
|
||||
@ -480,35 +480,35 @@ static const u8 sFrontierBrainStreakAppearances[NUM_FRONTIER_FACILITIES][4] =
|
||||
|
||||
static void (* const sBattlePikeFunctions[])(void) =
|
||||
{
|
||||
[BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType,
|
||||
[BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData,
|
||||
[BATTLE_PIKE_FUNC_SET_DATA] = SetBattlePikeData,
|
||||
[BATTLE_PIKE_FUNC_IS_FINAL_ROOM] = IsNextRoomFinal,
|
||||
[BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomEventObjects,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_TYPE] = GetRoomType,
|
||||
[BATTLE_PIKE_FUNC_6] = sub_81A7400,
|
||||
[BATTLE_PIKE_FUNC_7] = sub_81A740C,
|
||||
[BATTLE_PIKE_FUNC_SAVE] = SavePikeChallenge,
|
||||
[BATTLE_PIKE_FUNC_NULL_9] = nullsub_76,
|
||||
[BATTLE_PIKE_FUNC_NULL_10] = nullsub_124,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_STATUS] = GetRoomInflictedStatus,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON] = GetRoomInflictedStatusMon,
|
||||
[BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS] = HealOneOrTwoMons,
|
||||
[BATTLE_PIKE_FUNC_BUFFER_NPC_MSG] = BufferNPCMessage,
|
||||
[BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE] = StatusInflictionScreenFade,
|
||||
[BATTLE_PIKE_FUNC_IS_IN] = GetInBattlePike,
|
||||
[BATTLE_PIKE_FUNC_SET_HINT_ROOM] = SetHintedRoom,
|
||||
[BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID] = GetHintedRoomIndex,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT] = GetRoomTypeHint,
|
||||
[BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS] = ClearPikeTrainerIds,
|
||||
[BATTLE_PIKE_FUNC_BUFFER_RECORD_MIX_MSG] = BufferRecordMixingTrainerMessage,
|
||||
[BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE] = GetCurrentRoomPikeQueenFightType,
|
||||
[BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN] = HealSomeMonsBeforePikeQueen,
|
||||
[BATTLE_PIKE_FUNC_SET_HEALING_ROOMS_DISABLED] = SetHealingroomTypesDisabled,
|
||||
[BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH] = IsPartyFullHealed,
|
||||
[BATTLE_PIKE_FUNC_SAVE_MON_HELD_ITEMS] = BackupMonHeldItems,
|
||||
[BATTLE_PIKE_FUNC_LOAD_MON_HELD_ITEMS] = RestoreMonHeldItems,
|
||||
[BATTLE_PIKE_FUNC_INIT_CHALLENGE] = InitPikeChallenge
|
||||
[BATTLE_PIKE_FUNC_SET_ROOM_TYPE] = SetRoomType,
|
||||
[BATTLE_PIKE_FUNC_GET_DATA] = GetBattlePikeData,
|
||||
[BATTLE_PIKE_FUNC_SET_DATA] = SetBattlePikeData,
|
||||
[BATTLE_PIKE_FUNC_IS_FINAL_ROOM] = IsNextRoomFinal,
|
||||
[BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS] = SetupRoomEventObjects,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_TYPE] = GetRoomType,
|
||||
[BATTLE_PIKE_FUNC_SET_IN_WILD_MON_ROOM] = SetInWildMonRoom,
|
||||
[BATTLE_PIKE_FUNC_CLEAR_IN_WILD_MON_ROOM] = ClearInWildMonRoom,
|
||||
[BATTLE_PIKE_FUNC_SAVE] = SavePikeChallenge,
|
||||
[BATTLE_PIKE_FUNC_NULL_9] = nullsub_76,
|
||||
[BATTLE_PIKE_FUNC_NULL_10] = nullsub_124,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_STATUS] = GetRoomInflictedStatus,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_STATUS_MON] = GetRoomInflictedStatusMon,
|
||||
[BATTLE_PIKE_FUNC_HEAL_ONE_TWO_MONS] = HealOneOrTwoMons,
|
||||
[BATTLE_PIKE_FUNC_BUFFER_NPC_MSG] = BufferNPCMessage,
|
||||
[BATTLE_PIKE_FUNC_STATUS_SCREEN_FADE] = StatusInflictionScreenFade,
|
||||
[BATTLE_PIKE_FUNC_IS_IN] = GetInBattlePike,
|
||||
[BATTLE_PIKE_FUNC_SET_HINT_ROOM] = SetHintedRoom,
|
||||
[BATTLE_PIKE_FUNC_GET_HINT_ROOM_ID] = GetHintedRoomIndex,
|
||||
[BATTLE_PIKE_FUNC_GET_ROOM_TYPE_HINT] = GetRoomTypeHint,
|
||||
[BATTLE_PIKE_FUNC_CLEAR_TRAINER_IDS] = ClearPikeTrainerIds,
|
||||
[BATTLE_PIKE_FUNC_GET_TRAINER_INTRO] = BufferTrainerIntro,
|
||||
[BATTLE_PIKE_FUNC_GET_QUEEN_FIGHT_TYPE] = GetCurrentRoomPikeQueenFightType,
|
||||
[BATTLE_PIKE_FUNC_HEAL_MONS_BEFORE_QUEEN] = HealSomeMonsBeforePikeQueen,
|
||||
[BATTLE_PIKE_FUNC_SET_HEAL_ROOMS_DISABLED] = SetHealingroomTypesDisabled,
|
||||
[BATTLE_PIKE_FUNC_IS_PARTY_FULL_HEALTH] = IsPartyFullHealed,
|
||||
[BATTLE_PIKE_FUNC_SAVE_HELD_ITEMS] = SaveMonHeldItems,
|
||||
[BATTLE_PIKE_FUNC_RESET_HELD_ITEMS] = RestoreMonHeldItems,
|
||||
[BATTLE_PIKE_FUNC_INIT] = InitPikeChallenge
|
||||
};
|
||||
|
||||
static const u8 sRoomTypeHints[] = {
|
||||
@ -623,19 +623,19 @@ static void GetBattlePikeData(void)
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
case PIKE_DATA_PRIZE:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikePrize;
|
||||
break;
|
||||
case 1:
|
||||
case PIKE_DATA_WIN_STREAK:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
break;
|
||||
case 2:
|
||||
case PIKE_DATA_RECORD_STREAK:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
break;
|
||||
case 3:
|
||||
case PIKE_DATA_TOTAL_STREAKS:
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode];
|
||||
break;
|
||||
case 4:
|
||||
case PIKE_DATA_WIN_STREAK_ACTIVE:
|
||||
if (lvlMode != FRONTIER_LVL_50)
|
||||
gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PIKE_OPEN;
|
||||
else
|
||||
@ -650,22 +650,22 @@ static void SetBattlePikeData(void)
|
||||
|
||||
switch (gSpecialVar_0x8005)
|
||||
{
|
||||
case 0:
|
||||
case PIKE_DATA_PRIZE:
|
||||
gSaveBlock2Ptr->frontier.pikePrize = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 1:
|
||||
case PIKE_DATA_WIN_STREAK:
|
||||
if (gSpecialVar_0x8006 <= MAX_STREAK)
|
||||
gSaveBlock2Ptr->frontier.pikeWinStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 2:
|
||||
case PIKE_DATA_RECORD_STREAK:
|
||||
if (gSpecialVar_0x8006 <= MAX_STREAK && gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] < gSpecialVar_0x8006)
|
||||
gSaveBlock2Ptr->frontier.pikeRecordStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 3:
|
||||
case PIKE_DATA_TOTAL_STREAKS:
|
||||
if (gSpecialVar_0x8006 <= MAX_STREAK)
|
||||
gSaveBlock2Ptr->frontier.pikeTotalStreaks[gSaveBlock2Ptr->frontier.lvlMode] = gSpecialVar_0x8006;
|
||||
break;
|
||||
case 4:
|
||||
case PIKE_DATA_WIN_STREAK_ACTIVE:
|
||||
if (lvlMode != FRONTIER_LVL_50)
|
||||
{
|
||||
if (gSpecialVar_0x8006)
|
||||
@ -697,14 +697,14 @@ static void GetRoomType(void)
|
||||
gSpecialVar_Result = sRoomType;
|
||||
}
|
||||
|
||||
static void sub_81A7400(void)
|
||||
static void SetInWildMonRoom(void)
|
||||
{
|
||||
sUnknown_0300128E = TRUE;
|
||||
sInWildMonRoom = TRUE;
|
||||
}
|
||||
|
||||
static void sub_81A740C(void)
|
||||
static void ClearInWildMonRoom(void)
|
||||
{
|
||||
sUnknown_0300128E = FALSE;
|
||||
sInWildMonRoom = FALSE;
|
||||
}
|
||||
|
||||
static void SavePikeChallenge(void)
|
||||
@ -731,19 +731,19 @@ static void GetRoomInflictedStatus(void)
|
||||
switch (sStatusFlags)
|
||||
{
|
||||
case STATUS1_FREEZE:
|
||||
gSpecialVar_Result = 0;
|
||||
gSpecialVar_Result = PIKE_STATUS_FREEZE;
|
||||
break;
|
||||
case STATUS1_BURN:
|
||||
gSpecialVar_Result = 1;
|
||||
gSpecialVar_Result = PIKE_STATUS_BURN;
|
||||
break;
|
||||
case STATUS1_TOXIC_POISON:
|
||||
gSpecialVar_Result = 2;
|
||||
gSpecialVar_Result = PIKE_STATUS_TOXIC;
|
||||
break;
|
||||
case STATUS1_PARALYSIS:
|
||||
gSpecialVar_Result = 3;
|
||||
gSpecialVar_Result = PIKE_STATUS_PARALYSIS;
|
||||
break;
|
||||
case STATUS1_SLEEP:
|
||||
gSpecialVar_Result = 4;
|
||||
gSpecialVar_Result = PIKE_STATUS_SLEEP;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1100,9 +1100,9 @@ static u16 GetNPCRoomGraphicsId(void)
|
||||
}
|
||||
|
||||
// Unused
|
||||
static u8 sub_81A7B84(void)
|
||||
static u8 GetInWildMonRoom(void)
|
||||
{
|
||||
return sUnknown_0300128E;
|
||||
return sInWildMonRoom;
|
||||
}
|
||||
|
||||
bool32 TryGenerateBattlePikeWildMon(bool8 checkKeenEyeIntimidate)
|
||||
@ -1335,10 +1335,10 @@ static void SetHintedRoom(void)
|
||||
u8 i, count, id;
|
||||
u8 *roomCandidates;
|
||||
|
||||
gSpecialVar_Result = 0;
|
||||
gSpecialVar_Result = FALSE;
|
||||
if (GetPikeQueenFightType(1))
|
||||
{
|
||||
gSpecialVar_Result = 1;
|
||||
gSpecialVar_Result = TRUE;
|
||||
gSaveBlock2Ptr->frontier.pikeHintedRoomIndex = Random() % 6;
|
||||
gSaveBlock2Ptr->frontier.pikeHintedRoomType = PIKE_ROOM_BRAIN;
|
||||
}
|
||||
@ -1462,7 +1462,7 @@ static void ClearPikeTrainerIds(void)
|
||||
gSaveBlock2Ptr->frontier.trainerIds[i] = 0xFFFF;
|
||||
}
|
||||
|
||||
static void BufferRecordMixingTrainerMessage(void)
|
||||
static void BufferTrainerIntro(void)
|
||||
{
|
||||
if (gSpecialVar_0x8005 == 0)
|
||||
{
|
||||
@ -1500,7 +1500,7 @@ static u8 GetPikeQueenFightType(u8 nextRoom)
|
||||
u8 numPikeSymbols;
|
||||
|
||||
u8 facility = FRONTIER_FACILITY_PIKE;
|
||||
u8 ret = 0;
|
||||
u8 ret = FRONTIER_BRAIN_NOT_READY;
|
||||
u8 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
|
||||
u16 winStreak = gSaveBlock2Ptr->frontier.pikeWinStreaks[lvlMode];
|
||||
winStreak += nextRoom;
|
||||
@ -1511,16 +1511,16 @@ static u8 GetPikeQueenFightType(u8 nextRoom)
|
||||
case 0:
|
||||
case 1:
|
||||
if (winStreak == sFrontierBrainStreakAppearances[facility][numPikeSymbols] - sFrontierBrainStreakAppearances[facility][3])
|
||||
ret = numPikeSymbols + 1;
|
||||
ret = numPikeSymbols + 1; // FRONTIER_BRAIN_SILVER and FRONTIER_BRAIN_GOLD
|
||||
break;
|
||||
case 2:
|
||||
default:
|
||||
if (winStreak == sFrontierBrainStreakAppearances[facility][0] - sFrontierBrainStreakAppearances[facility][3])
|
||||
ret = 3;
|
||||
ret = FRONTIER_BRAIN_STREAK;
|
||||
else if (winStreak == sFrontierBrainStreakAppearances[facility][1] - sFrontierBrainStreakAppearances[facility][3]
|
||||
|| (winStreak > sFrontierBrainStreakAppearances[facility][1]
|
||||
&& (winStreak - sFrontierBrainStreakAppearances[facility][1] + sFrontierBrainStreakAppearances[facility][3]) % sFrontierBrainStreakAppearances[facility][2] == 0))
|
||||
ret = 4;
|
||||
ret = FRONTIER_BRAIN_STREAK_LONG;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1584,7 +1584,7 @@ static void IsPartyFullHealed(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void BackupMonHeldItems(void)
|
||||
static void SaveMonHeldItems(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
|
@ -89,7 +89,7 @@ EWRAM_DATA static void(*gUnknown_0203A0F4)(u8 taskId) = NULL;
|
||||
|
||||
// .rodata
|
||||
|
||||
static const MainCallback gUnknown_085920D8[] =
|
||||
static const MainCallback sItemUseCallbacks[] =
|
||||
{
|
||||
CB2_ShowPartyMenuForItemUse,
|
||||
CB2_ReturnToField,
|
||||
@ -115,12 +115,12 @@ void SetUpItemUseCallback(u8 taskId)
|
||||
type = ItemId_GetType(gSpecialVar_ItemId) - 1;
|
||||
if (!InBattlePyramid())
|
||||
{
|
||||
gBagMenu->mainCallback2 = gUnknown_085920D8[type];
|
||||
gBagMenu->mainCallback2 = sItemUseCallbacks[type];
|
||||
unknown_ItemMenu_Confirm(taskId);
|
||||
}
|
||||
else
|
||||
{
|
||||
gPyramidBagResources->callback2 = gUnknown_085920D8[type];
|
||||
gPyramidBagResources->callback2 = sItemUseCallbacks[type];
|
||||
sub_81C5B14(taskId);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user