From ca288aaab3cd6aade519b9e45f399a41bf521344 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 20 Feb 2021 23:13:45 +0100 Subject: [PATCH] Core/Units: updated crit healing bonus calculation with patch 4.2.0 change --- src/server/game/Entities/Unit/Unit.cpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 0b173df606a..4bd6d39c83c 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7202,22 +7202,8 @@ float Unit::SpellCritChanceTaken(Unit const* caster, SpellInfo const* spellInfo, /*static*/ uint32 Unit::SpellCriticalHealingBonus(Unit const* caster, SpellInfo const* spellProto, uint32 damage) { - // Calculate critical bonus - int32 crit_bonus; - switch (spellProto->DmgClass) - { - case SPELL_DAMAGE_CLASS_MELEE: // for melee based spells is 100% - case SPELL_DAMAGE_CLASS_RANGED: - /// @todo write here full calculation for melee/ranged spells - crit_bonus = damage; - break; - default: - crit_bonus = damage / 2; // for spells is 50% - break; - } - - if (crit_bonus > 0) - damage += crit_bonus; + // As of Patch 4.2.0 (2011-06-28): all healing spells now crit for 200% instead of 150% + damage *= 2; if (caster) damage = int32(float(damage) * caster->GetTotalAuraMultiplier(SPELL_AURA_MOD_CRITICAL_HEALING_AMOUNT));