summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGriffinR <griffin.richards@comcast.net>2019-11-29 02:00:19 -0500
committerhuderlem <huderlem@gmail.com>2019-12-05 21:11:17 -0600
commit41c1c9ca8a472573e5acaea26bf3682399f50e35 (patch)
tree5455f60df938357e4429ddfd5f8ac1b224197b3f
parent9b3d1cfab61fff89cae64c093f28775fdbad1027 (diff)
Set up Battle Pike macros
-rw-r--r--asm/macros/battle_frontier/battle_pike.inc153
-rw-r--r--data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc5
-rw-r--r--data/maps/BattleFrontier_BattlePikeLobby/scripts.inc52
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc78
-rw-r--r--data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc3
-rw-r--r--data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc20
-rw-r--r--data/scripts/battle_pike.inc37
-rw-r--r--data/scripts/field_poison.inc5
-rw-r--r--include/constants/battle_pike.h72
-rw-r--r--src/battle_pike.c126
-rwxr-xr-xsrc/item_use.c6
11 files changed, 318 insertions, 239 deletions
diff --git a/asm/macros/battle_frontier/battle_pike.inc b/asm/macros/battle_frontier/battle_pike.inc
index 0f2d2627d..150c7f02b 100644
--- a/asm/macros/battle_frontier/battle_pike.inc
+++ b/asm/macros/battle_frontier/battle_pike.inc
@@ -1,54 +1,173 @@
-@ To be populated with macros for CallBattlePikeFunction
+@ TODO: Add explanatory comments
- .macro battlepike_getstreak
+ @
+ .macro pike_setnextroom
+ setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE
+ special CallBattlePikeFunction
+ .endm
+
+ @
+ .macro pike_get data:req
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_DATA
- setvar VAR_0x8005, 1
+ setvar VAR_0x8005, \data
special CallBattlePikeFunction
.endm
- .macro battlepike_setstreak streak:req
+ @
+ .macro pike_set data:req, val:req
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_DATA
- setvar VAR_0x8005, 1
- .if \streak >= VARS_START
- copyvar VAR_0x8006, \streak
+ setvar VAR_0x8005, \data
+ .if \val >= VARS_START
+ copyvar VAR_0x8006, \val
.else
- setvar VAR_0x8006, \streak
+ setvar VAR_0x8006, \val
.endif
special CallBattlePikeFunction
.endm
- .macro battlepike_isfinalroom
+ @
+ .macro pike_isfinalroom
setvar VAR_0x8004, BATTLE_PIKE_FUNC_IS_FINAL_ROOM
special CallBattlePikeFunction
.endm
- .macro battlepike_setroomobjects
+ @
+ .macro pike_setroomobjects
setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_OBJECTS
special CallBattlePikeFunction
.endm
- .macro battlepike_getroomtype
+ @
+ .macro pike_getroomtype
setvar VAR_0x8004, BATTLE_PIKE_FUNC_GET_ROOM_TYPE
special CallBattlePikeFunction
.endm
- .macro battlepike_setnextroom
- setvar VAR_0x8004, BATTLE_PIKE_FUNC_SET_ROOM_TYPE
+ @ 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 battlepike_gethint
+ @
+ .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
diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
index bf9f00bc5..06f0e0516 100644
--- a/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeCorridor/scripts.inc
@@ -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
diff --git a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
index cbdf0ca7b..69b8d3b13 100644
--- a/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeLobby/scripts.inc
@@ -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
diff --git a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
index f4e10e3ab..5419eb081 100644
--- a/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRoomNormal/scripts.inc
@@ -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
diff --git a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
index b9323da2e..356e88366 100644
--- a/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeRoomWildMons/scripts.inc
@@ -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
diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
index cd8f3dd4f..a0bf811a5 100644
--- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/scripts.inc
@@ -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
diff --git a/data/scripts/battle_pike.inc b/data/scripts/battle_pike.inc
index 81440320c..a0f0f6618 100644
--- a/data/scripts/battle_pike.inc
+++ b/data/scripts/battle_pike.inc
@@ -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
diff --git a/data/scripts/field_poison.inc b/data/scripts/field_poison.inc
index f33292fe6..80e1a1ed8 100644
--- a/data/scripts/field_poison.inc
+++ b/data/scripts/field_poison.inc
@@ -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
diff --git a/include/constants/battle_pike.h b/include/constants/battle_pike.h
index dabc9f540..c25f76aaa 100644
--- a/include/constants/battle_pike.h
+++ b/include/constants/battle_pike.h
@@ -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
diff --git a/src/battle_pike.c b/src/battle_pike.c
index 55d1c9f18..f9c6c84a4 100644
--- a/src/battle_pike.c
+++ b/src/battle_pike.c
@@ -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;
diff --git a/src/item_use.c b/src/item_use.c
index a777bb2ec..0b7625054 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -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);
}
}