diff options
author | Robingad <robingad@rambler.ru> | 2021-03-05 23:08:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-05 22:08:32 +0100 |
commit | 1d7590072c63151f7696f9003b6869f9000cb665 (patch) | |
tree | 670c25997de4107f31f487a5ad08018be6182d2d /src | |
parent | 49b47047b809ce654661df595b14a5f8c1f01c8c (diff) |
Core/Spells: Take SPELLMOD_CRIT_DAMAGE_BONUS into account also for healing spells (#26151)
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 17311884e23..73fc28572ce 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7134,11 +7134,15 @@ uint32 Unit::SpellCriticalDamageBonus(SpellInfo const* spellProto, uint32 damage return crit_bonus; } -uint32 Unit::SpellCriticalHealingBonus(SpellInfo const* /*spellProto*/, uint32 damage, Unit* /*victim*/) +uint32 Unit::SpellCriticalHealingBonus(SpellInfo const* spellProto, uint32 damage, Unit* /*victim*/) { // Calculate critical bonus int32 crit_bonus = damage; + // adds additional damage to critBonus (from talents) + if (Player* modOwner = GetSpellModOwner()) + modOwner->ApplySpellMod(spellProto, SPELLMOD_CRIT_DAMAGE_BONUS, crit_bonus); + damage += crit_bonus; damage = int32(float(damage) * GetTotalAuraMultiplier(SPELL_AURA_MOD_CRITICAL_HEALING_AMOUNT)); |