diff --git a/src/battle_util.c b/src/battle_util.c index 9b99e5f0ba..71ddc75ecc 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -3211,6 +3211,10 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA effect++; } break; + case ABILITY_DRY_SKIN: + if (gBattleWeather & WEATHER_SUN_ANY) + goto SOLAR_POWER_HP_DROP; + // Dry Skin works similarly to Rain Dish in Rain case ABILITY_RAIN_DISH: if (WEATHER_HAS_EFFECT && (gBattleWeather & WEATHER_RAIN_ANY) @@ -3218,7 +3222,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) { BattleScriptPushCursorAndCallback(BattleScript_RainDishActivates); - gBattleMoveDamage = gBattleMons[battler].maxHP / 16; + gBattleMoveDamage = gBattleMons[battler].maxHP / (gLastUsedAbility == ABILITY_RAIN_DISH ? 16 : 8); if (gBattleMoveDamage == 0) gBattleMoveDamage = 1; gBattleMoveDamage *= -1; @@ -3320,6 +3324,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA effect++; } break; + SOLAR_POWER_HP_DROP: case ABILITY_SOLAR_POWER: if (WEATHER_HAS_EFFECT && gBattleWeather & WEATHER_SUN_ANY) {