From 1cfb267b34444fa6a1cd5734f08cafb3d9e48643 Mon Sep 17 00:00:00 2001 From: Eduardo Quezada D'Ottone Date: Mon, 18 Jul 2022 13:10:27 -0400 Subject: [PATCH] Config for Explosion halving defense --- include/constants/battle_config.h | 1 + src/battle_util.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/constants/battle_config.h b/include/constants/battle_config.h index a6f24a0c6..237b95da2 100644 --- a/include/constants/battle_config.h +++ b/include/constants/battle_config.h @@ -125,6 +125,7 @@ #define B_ROUGH_SKIN_DMG GEN_7 // In Gen4+, Rough Skin contact damage is 1/8th of max HP instead of 1/16th. This will also affect Iron Barbs. #define B_KNOCK_OFF_DMG GEN_8 // In Gen6+, Knock Off deals 50% more damage when knocking off an item. #define B_SPORT_DMG_REDUCTION GEN_7 // In Gen5+, Water/Mud Sport reduce Fire/Electric Damage by 67% instead of 50%. +#define B_EXPLOSION_DEFENSE GEN_7 // In Gen5+, Self-Destruct and Explosion don't halve the targets' defense. // Type settings #define B_GHOSTS_ESCAPE GEN_7 // In Gen6+, abilities like Shadow Tag or moves like Mean Look fail on Ghost-type Pokémon. They can also escape any Wild Battle. diff --git a/src/battle_util.c b/src/battle_util.c index 0440cfba0..55485e568 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -8794,6 +8794,12 @@ static u32 CalcDefenseStat(u16 move, u8 battlerAtk, u8 battlerDef, u8 moveType, usesDefStat = FALSE; } + #if B_EXPLOSION_DEFENSE <= GEN_4 + // Self-destruct / Explosion cut defense in half + if (gBattleMoves[gCurrentMove].effect == EFFECT_EXPLOSION) + defStat /= 2; + #endif + // critical hits ignore positive stat changes if (isCrit && defStage > DEFAULT_STAT_STAGE) defStage = DEFAULT_STAT_STAGE;