diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json index f900017af..4a1ad9b4a 100644 --- a/src/data/wild_encounters.json +++ b/src/data/wild_encounters.json @@ -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, diff --git a/src/party_menu.c b/src/party_menu.c index 1c3afd974..0c4227b7d 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -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; diff --git a/src/prof_pc.c b/src/prof_pc.c index 148c6cd71..ccf60f475 100644 --- a/src/prof_pc.c +++ b/src/prof_pc.c @@ -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)