From 48c91d03cdfd5f9e742ef67b0be43fb1c8c2688a Mon Sep 17 00:00:00 2001 From: BuffelSaft Date: Fri, 19 Nov 2021 20:20:16 +1300 Subject: [PATCH] Fix terrain checks on DLC moves Expanding Force and Rising Voltage now boost damage correctly. Expanding Force doesn't hit both targets yet however. --- src/battle_util.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/battle_util.c b/src/battle_util.c index cbc96ae563..e946fe8f00 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -7262,6 +7262,9 @@ u32 GetMoveTarget(u16 move, u8 setTarget) // Special cases if (move == MOVE_CURSE && !IS_BATTLER_OF_TYPE(gBattlerAttacker, TYPE_GHOST)) moveTarget = MOVE_TARGET_USER; + + if (gBattleMoves[move].effect == EFFECT_EXPANDING_FORCE && IsBattlerTerrainAffected(gBattlerAttacker, STATUS_FIELD_PSYCHIC_TERRAIN)) + moveTarget = MOVE_TARGET_BOTH; switch (moveTarget) { @@ -7991,18 +7994,12 @@ static u16 CalcMoveBasePower(u16 move, u8 battlerAtk, u8 battlerDef) basePower *= 2; break; case EFFECT_EXPANDING_FORCE: - if (gFieldStatuses & STATUS_FIELD_PSYCHIC_TERRAIN) - basePower = 120; + if (IsBattlerTerrainAffected(gBattlerAttacker, STATUS_FIELD_PSYCHIC_TERRAIN)) + MulModifier(&basePower, UQ_4_12(1.5)); break; case EFFECT_RISING_VOLTAGE: - #ifdef ITEM_EXPANSION //Air Balloon exception with item expansion branch - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && !IS_BATTLER_OF_TYPE(battlerDef, TYPE_FLYING) - && gBattleMons[battlerDef].item != ITEM_AIR_BALLOON && gBattleMons[battlerDef].ability != ABILITY_LEVITATE) - #else - if (gFieldStatuses & STATUS_FIELD_ELECTRIC_TERRAIN && !IS_BATTLER_OF_TYPE(battlerDef, TYPE_FLYING) - && gBattleMons[battlerDef].ability != ABILITY_LEVITATE) - #endif - basePower *= 2; + if (IsBattlerTerrainAffected(gBattlerTarget, STATUS_FIELD_ELECTRIC_TERRAIN)) + basePower *= 2; break; }