diff options
author | GriffinR <griffin.richards@comcast.net> | 2019-12-02 09:52:16 -0500 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-12-05 21:11:17 -0600 |
commit | fdae25eab21128a7ec8074e6cb6fab27b3a263fe (patch) | |
tree | d9afa11d5233a6efeb7b70bed2b2bac0a903dacd /src | |
parent | 9fcfbdbef563063f96ff61a95eaf0b6556db56e2 (diff) |
Set up Battle Pyramid macros
Diffstat (limited to 'src')
-rw-r--r-- | src/battle_pyramid.c | 63 |
1 files changed, 32 insertions, 31 deletions
diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index 43b1836f3..e876b6e17 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -787,24 +787,24 @@ static const u8 sHintTextTypes[] = static void (* const sBattlePyramidFunctions[])(void) = { - InitPyramidChallenge, - GetBattlePyramidData, - SetBattlePyramidData, - SavePyramidChallenge, - SetBattlePyramidPrize, - GiveBattlePyramidPrize, - SeedPyramidFloor, - SetPickupItem, - HidePyramidItem, - InitPyramidFacilityTrainers, - ShowPostBattleHintText, - UpdatePyramidWinStreak, - GetInBattlePyramid, - UpdatePyramidLightRadius, - ClearPyramidPartyHeldItems, - SetPyramidFloorPalette, - sub_81A9828, - RestorePyramidPlayerParty, + [BATTLE_PYRAMID_FUNC_INIT] = InitPyramidChallenge, + [BATTLE_PYRAMID_FUNC_GET_DATA] = GetBattlePyramidData, + [BATTLE_PYRAMID_FUNC_SET_DATA] = SetBattlePyramidData, + [BATTLE_PYRAMID_FUNC_SAVE] = SavePyramidChallenge, + [BATTLE_PYRAMID_FUNC_SET_PRIZE] = SetBattlePyramidPrize, + [BATTLE_PYRAMID_FUNC_GIVE_PRIZE] = GiveBattlePyramidPrize, + [BATTLE_PYRAMID_FUNC_SEED_FLOOR] = SeedPyramidFloor, + [BATTLE_PYRAMID_FUNC_SET_ITEM] = SetPickupItem, + [BATTLE_PYRAMID_FUNC_HIDE_ITEM] = HidePyramidItem, + [BATTLE_PYRAMID_FUNC_INIT_TRAINERS] = InitPyramidFacilityTrainers, + [BATTLE_PYRAMID_FUNC_SHOW_HINT_TEXT] = ShowPostBattleHintText, + [BATTLE_PYRAMID_FUNC_UPDATE_STREAK] = UpdatePyramidWinStreak, + [BATTLE_PYRAMID_FUNC_IS_IN] = GetInBattlePyramid, + [BATTLE_PYRAMID_FUNC_UPDATE_LIGHT] = UpdatePyramidLightRadius, + [BATTLE_PYRAMID_FUNC_CLEAR_HELD_ITEMS] = ClearPyramidPartyHeldItems, + [BATTLE_PYRAMID_FUNC_SET_FLOOR_PALETTE] = SetPyramidFloorPalette, + [BATTLE_PYRAMID_FUNC_16] = sub_81A9828, + [BATTLE_PYRAMID_FUNC_RESTORE_PARTY] = RestorePyramidPlayerParty, }; static const u16 sShortStreakRewardItems[] = {ITEM_HP_UP, ITEM_PROTEIN, ITEM_IRON, ITEM_CALCIUM, ITEM_CARBOS, ITEM_ZINC}; @@ -868,28 +868,28 @@ static void GetBattlePyramidData(void) switch (gSpecialVar_0x8005) { - case 0: + case PYRAMID_DATA_PRIZE: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidPrize; break; - case 1: + case PYRAMID_DATA_WIN_STREAK: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode]; break; - case 2: + case PYRAMID_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN; else gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50; break; - case 3: + case PYRAMID_DATA_WIN_STREAK_50: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_50]; break; - case 4: + case PYRAMID_DATA_WIN_STREAK_OPEN: gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidWinStreaks[FRONTIER_LVL_OPEN]; break; - case 5: + case PYRAMID_DATA_WIN_STREAK_ACTIVE_50: gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_50; break; - case 6: + case PYRAMID_DATA_WIN_STREAK_ACTIVE_OPEN: gSpecialVar_Result = gSaveBlock2Ptr->frontier.winStreakActiveFlags & STREAK_PYRAMID_OPEN; break; } @@ -901,13 +901,13 @@ static void SetBattlePyramidData(void) switch (gSpecialVar_0x8005) { - case 0: + case PYRAMID_DATA_PRIZE: gSaveBlock2Ptr->frontier.pyramidPrize = gSpecialVar_0x8006; break; - case 1: + case PYRAMID_DATA_WIN_STREAK: gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] = gSpecialVar_0x8006; break; - case 2: + case PYRAMID_DATA_WIN_STREAK_ACTIVE: if (lvlMode != FRONTIER_LVL_50) { if (gSpecialVar_0x8006) @@ -923,7 +923,7 @@ static void SetBattlePyramidData(void) gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_50); } break; - case 7: + case PYRAMID_DATA_TRAINER_FLAGS: gSaveBlock2Ptr->frontier.pyramidTrainerFlags = gSpecialVar_0x8006; break; } @@ -1004,6 +1004,7 @@ static void SetPickupItem(void) else gSpecialVar_0x8000 = sPickupItemsLvl50[round][sPickupItemSlots[i][1]]; + // Quantity of item to give gSpecialVar_0x8001 = 1; } @@ -1122,10 +1123,10 @@ static void UpdatePyramidLightRadius(void) { switch (gSpecialVar_0x8006) { - case 0: + case PYRAMID_LIGHT_SET_RADIUS: gSaveBlock2Ptr->frontier.pyramidLightRadius = gSpecialVar_0x8005; break; - case 1: + case PYRAMID_LIGHT_INCR_RADIUS: switch (gSpecialVar_Result) { case 0: |