friendship gain when lvled up with rarecandy/xp candy, before/after stats refactoring, dex completion message adjusted to new count

This commit is contained in:
cawtds
2024-05-25 20:57:01 +02:00
parent d55f15e57e
commit ec66b4fe22
3 changed files with 25 additions and 32 deletions

View File

@@ -8263,47 +8263,47 @@
{
"min_level": 3,
"max_level": 3,
"species": "SPECIES_PIDGEY"
"species": "SPECIES_STARYU"
},
{
"min_level": 3,
"max_level": 3,
"species": "SPECIES_PIDGEY"
"species": "SPECIES_HORSEA"
},
{
"min_level": 3,
"max_level": 3,
"species": "SPECIES_PIDGEY"
"species": "SPECIES_MR_RIME"
},
{
"min_level": 3,
"max_level": 3,
"species": "SPECIES_PIDGEY"
"species": "SPECIES_MIME_JR"
},
{
"min_level": 2,
"max_level": 2,
"species": "SPECIES_PIDGEY"
"species": "SPECIES_HORSEA"
},
{
"min_level": 2,
"max_level": 2,
"species": "SPECIES_RATTATA"
"species": "SPECIES_KABUTO"
},
{
"min_level": 3,
"max_level": 3,
"species": "SPECIES_PIDGEY"
"species": "SPECIES_TYROGUE"
},
{
"min_level": 3,
"max_level": 3,
"species": "SPECIES_RATTATA"
"species": "SPECIES_TYROGUE"
},
{
"min_level": 4,
"max_level": 4,
"species": "SPECIES_PIDGEY"
"species": "SPECIES_TYROGUE"
},
{
"min_level": 4,

View File

@@ -420,7 +420,8 @@ EWRAM_DATA u8 gSelectedOrderFromParty[3] = {0};
static EWRAM_DATA u16 sPartyMenuItemId = ITEM_NONE;
ALIGNED(4) EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on
static EWRAM_DATA s16 sLevelUpStatsBeforeAfter[NUM_STATS * 2];
static EWRAM_DATA s16 sLevelUpStatsBefore[NUM_STATS];
static EWRAM_DATA s16 sLevelUpStatsAfter[NUM_STATS];
static EWRAM_DATA u8 sInitialLevel = 0;
static EWRAM_DATA u8 sFinalLevel = 0;
@@ -5395,9 +5396,9 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc func)
sInitialLevel = GetMonData(mon, MON_DATA_LEVEL);
if (GetMonData(mon, MON_DATA_LEVEL) != MAX_LEVEL)
{
GetMonLevelUpWindowStats(mon, sLevelUpStatsBeforeAfter);
GetMonLevelUpWindowStats(mon, sLevelUpStatsBefore);
cannotUseEffect = ExecuteTableBasedItemEffect(mon, *itemPtr, gPartyMenu.slotId, 0);
GetMonLevelUpWindowStats(mon, &sLevelUpStatsBeforeAfter[NUM_STATS]);
GetMonLevelUpWindowStats(mon, sLevelUpStatsAfter);
}
else
{
@@ -5433,7 +5434,10 @@ void ItemUseCB_RareCandy(u8 taskId, TaskFunc func)
}
else
{
u8 i;
sFinalLevel = GetMonData(mon, MON_DATA_LEVEL, NULL);
for (i = sInitialLevel; i < sFinalLevel; i++)
AdjustFriendship(mon, FRIENDSHIP_EVENT_GROW_LEVEL);
Task_DoUseItemAnim(taskId);
gItemUseCB = ItemUseCB_RareCandyStep;
}
@@ -5445,8 +5449,9 @@ static void ItemUseCB_RareCandyStep(u8 taskId, TaskFunc func)
u8 holdEffectParam = ItemId_GetHoldEffectParam(gSpecialVar_ItemId);
u8 i;
for (i = 0; i < NUM_STATS * 2; i++) {
sPartyMenuInternal->data[i] = sLevelUpStatsBeforeAfter[i];
for (i = 0; i < NUM_STATS; i++) {
sPartyMenuInternal->data[i] = sLevelUpStatsBefore[i];
sPartyMenuInternal->data[NUM_STATS + i] = sLevelUpStatsAfter[i];
}
gPartyMenuUseExitCallback = TRUE;

View File

@@ -38,6 +38,9 @@ u16 GetPokedexCount(void)
static const u8 *GetProfOaksRatingMessageByCount(u16 count)
{
gSpecialVar_Result = FALSE;
if (count > 0 && GetSetPokedexFlag(NATIONAL_DEX_MEW, FLAG_GET_CAUGHT))
count--;
if (count < 10)
return PokedexRating_Text_LessThan10;
@@ -81,26 +84,11 @@ static const u8 *GetProfOaksRatingMessageByCount(u16 count)
if (count < 140)
return PokedexRating_Text_LessThan140;
if (count < 150)
if (count < KANTO_DEX_COUNT - 1)
return PokedexRating_Text_LessThan150;
if (count == KANTO_DEX_COUNT - 1)
{
// Mew doesn't count for completing the pokedex
if (GetSetPokedexFlag(SpeciesToNationalDexNum(SPECIES_MEW), 1))
return PokedexRating_Text_LessThan150;
gSpecialVar_Result = TRUE;
return PokedexRating_Text_Complete;
}
if (count == KANTO_DEX_COUNT)
{
gSpecialVar_Result = TRUE;
return PokedexRating_Text_Complete;
}
return PokedexRating_Text_LessThan10;
gSpecialVar_Result = TRUE;
return PokedexRating_Text_Complete;
}
void GetProfOaksRatingMessage(void)