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 - 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 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); } }