From b3f52166dfaa2ce06ec20dd499aefc241acad6f1 Mon Sep 17 00:00:00 2001 From: surskitty Date: Fri, 4 Jul 2025 05:06:36 -0400 Subject: [PATCH] Changing P_ONLY_OBTAINABLE_SHINIES to truly be Only Obtainable Shinies (#7275) --- include/config/pokemon.h | 2 +- src/pokemon.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/config/pokemon.h b/include/config/pokemon.h index 92b0f3bd64..fdee4e8ad2 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -58,7 +58,7 @@ #define P_CAN_FORGET_HIDDEN_MOVE FALSE // If TRUE, Pokémon can forget any move, even if it is a Hidden Move. #define P_ASK_MOVE_CONFIRMATION FALSE // If FALSE, when a player decides not to learn a Move, the game does not ask the player for confirmation. #define P_EGG_CYCLE_LENGTH GEN_LATEST // Since Gen 8, egg cycles take half as many steps as before. Previous Gens have some varied step counts around 255. -#define P_ONLY_OBTAINABLE_SHINIES FALSE // If TRUE, Pokémon encountered in the Battle Pyramid won't be shiny. +#define P_ONLY_OBTAINABLE_SHINIES FALSE // If TRUE, Pokémon encountered in the Battle Pyramid or while catching is disabled won't be shiny. #define P_NO_SHINIES_WITHOUT_POKEBALLS FALSE // If TRUE, Pokémon encountered when the player is out of Poké Balls won't be shiny #define P_SHOW_DYNAMIC_TYPES FALSE // If TRUE, all moves with dynamic type changes will be reflected as their current type in battle/summary screens instead of just select ones like in vanilla. diff --git a/src/pokemon.c b/src/pokemon.c index 12f2860435..1ed82d39c4 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1081,7 +1081,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, { isShiny = TRUE; } - else if (P_ONLY_OBTAINABLE_SHINIES && InBattlePyramid()) + else if (P_ONLY_OBTAINABLE_SHINIES && (InBattlePyramid() || (B_FLAG_NO_CATCHING != 0 && FlagGet(B_FLAG_NO_CATCHING)))) { isShiny = FALSE; }