Obedience levels now increase per badge (#3475)

This commit is contained in:
kittenchilly 2023-10-27 17:17:17 -05:00 committed by GitHub
parent f2fddf4ee1
commit 5087095aae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 5 deletions

View File

@ -209,7 +209,7 @@
#define B_WILD_NATURAL_ENEMIES TRUE // If set to TRUE, certain wild mon species will attack other species when partnered in double wild battles (eg. Zangoose vs Seviper)
#define B_AFFECTION_MECHANICS FALSE // In Gen6+, there's a stat called affection that can trigger different effects in battle. From LGPE onwards, those effects use friendship instead.
#define B_TRAINER_CLASS_POKE_BALLS GEN_LATEST // In Gen7+, trainers will use certain types of Poké Balls depending on their trainer class.
#define B_OBEDIENCE_MECHANICS GEN_7 // In PLA+ (here Gen8+), obedience restrictions also apply to non-outsider Pokémon, albeit based on their level met rather than actual level
#define B_OBEDIENCE_MECHANICS GEN_LATEST // In PLA+ (here Gen8+), obedience restrictions also apply to non-outsider Pokémon, albeit based on their level met rather than actual level
#define B_USE_FROSTBITE FALSE // In PLA, Frostbite replaces Freeze. Enabling this flag does the same here. Moves can still be cherry-picked to either Freeze or Frostbite. Freeze-Dry, Secret Power & Tri Attack depend on this config.
#define B_OVERWORLD_SNOW GEN_LATEST // In Gen9+, overworld Snow will summon snow instead of hail.

View File

@ -8007,17 +8007,25 @@ u8 IsMonDisobedient(void)
return 0;
if (B_OBEDIENCE_MECHANICS < GEN_8 && !IsOtherTrainer(gBattleMons[gBattlerAttacker].otId, gBattleMons[gBattlerAttacker].otName))
return 0;
if (FlagGet(FLAG_BADGE08_GET))
if (FlagGet(FLAG_BADGE08_GET)) // Rain Badge, ignore obedience altogether
return 0;
obedienceLevel = 10;
if (FlagGet(FLAG_BADGE02_GET))
if (FlagGet(FLAG_BADGE01_GET)) // Stone Badge
obedienceLevel = 20;
if (FlagGet(FLAG_BADGE02_GET)) // Knuckle Badge
obedienceLevel = 30;
if (FlagGet(FLAG_BADGE04_GET))
if (FlagGet(FLAG_BADGE03_GET)) // Dynamo Badge
obedienceLevel = 40;
if (FlagGet(FLAG_BADGE04_GET)) // Heat Badge
obedienceLevel = 50;
if (FlagGet(FLAG_BADGE06_GET))
if (FlagGet(FLAG_BADGE05_GET)) // Balance Badge
obedienceLevel = 60;
if (FlagGet(FLAG_BADGE06_GET)) // Feather Badge
obedienceLevel = 70;
if (FlagGet(FLAG_BADGE07_GET)) // Mind Badge
obedienceLevel = 80;
}
if (B_OBEDIENCE_MECHANICS >= GEN_8