Merge branch 'master' into fix-eventobj

This commit is contained in:
GriffinR
2019-12-06 02:34:54 -05:00
committed by GitHub
106 changed files with 1965 additions and 1418 deletions
+45 -44
View File
@@ -71,9 +71,9 @@ struct PyramidTrainerEncounterMusic
static void InitPyramidChallenge(void);
static void GetBattlePyramidData(void);
static void SetBattlePyramidData(void);
static void sub_81A9134(void);
static void SetBattlePyramidRewardItem(void);
static void GiveBattlePyramidRewardItem(void);
static void SavePyramidChallenge(void);
static void SetBattlePyramidPrize(void);
static void GiveBattlePyramidPrize(void);
static void SeedPyramidFloor(void);
static void SetPickupItem(void);
static void HidePyramidItem(void);
@@ -787,24 +787,24 @@ static const u8 sHintTextTypes[] =
static void (* const sBattlePyramidFunctions[])(void) =
{
InitPyramidChallenge,
GetBattlePyramidData,
SetBattlePyramidData,
sub_81A9134,
SetBattlePyramidRewardItem,
GiveBattlePyramidRewardItem,
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:
gSpecialVar_Result = gSaveBlock2Ptr->frontier.pyramidRewardItem;
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:
gSaveBlock2Ptr->frontier.pyramidRewardItem = gSpecialVar_0x8006;
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,13 +923,13 @@ static void SetBattlePyramidData(void)
gSaveBlock2Ptr->frontier.winStreakActiveFlags &= ~(STREAK_PYRAMID_50);
}
break;
case 7:
case PYRAMID_DATA_TRAINER_FLAGS:
gSaveBlock2Ptr->frontier.pyramidTrainerFlags = gSpecialVar_0x8006;
break;
}
}
static void sub_81A9134(void)
static void SavePyramidChallenge(void)
{
gSaveBlock2Ptr->frontier.challengeStatus = gSpecialVar_0x8005;
VarSet(VAR_TEMP_0, 0);
@@ -938,22 +938,22 @@ static void sub_81A9134(void)
TrySavingData(SAVE_LINK);
}
static void SetBattlePyramidRewardItem(void)
static void SetBattlePyramidPrize(void)
{
u32 lvlMode = gSaveBlock2Ptr->frontier.lvlMode;
if (gSaveBlock2Ptr->frontier.pyramidWinStreaks[lvlMode] > 41)
gSaveBlock2Ptr->frontier.pyramidRewardItem = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
gSaveBlock2Ptr->frontier.pyramidPrize = sLongStreakRewardItems[Random() % ARRAY_COUNT(sLongStreakRewardItems)];
else
gSaveBlock2Ptr->frontier.pyramidRewardItem = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
gSaveBlock2Ptr->frontier.pyramidPrize = sShortStreakRewardItems[Random() % ARRAY_COUNT(sShortStreakRewardItems)];
}
static void GiveBattlePyramidRewardItem(void)
static void GiveBattlePyramidPrize(void)
{
if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidRewardItem, 1) == TRUE)
if (AddBagItem(gSaveBlock2Ptr->frontier.pyramidPrize, 1) == TRUE)
{
CopyItemName(gSaveBlock2Ptr->frontier.pyramidRewardItem, gStringVar1);
gSaveBlock2Ptr->frontier.pyramidRewardItem = 0;
CopyItemName(gSaveBlock2Ptr->frontier.pyramidPrize, gStringVar1);
gSaveBlock2Ptr->frontier.pyramidPrize = 0;
gSpecialVar_Result = TRUE;
}
else
@@ -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: