diff options
| author | Shauren <shauren.trinity@gmail.com> | 2025-11-28 11:15:32 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-11-28 11:15:32 +0100 |
| commit | 43d48cf1a7292c4ddd184bd996e20fc6d6083179 (patch) | |
| tree | bdc92c07ade5e876462830628a3483303a49be40 /src/server/game/Entities/Unit | |
| parent | 233a063eba03a008cbf24cada1f2c2072500b995 (diff) | |
Core/Auras: Enable DoEffectCalcDamageAndHealing aura script hook for initial absorb amount calculation
Diffstat (limited to 'src/server/game/Entities/Unit')
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index ee3b371f632..4663743904e 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -7617,7 +7617,7 @@ int32 Unit::SpellAbsorbBonusDone(Unit* victim, SpellInfo const* spellProto, int3 return absorbamount; int32 doneTotal = 0; - float doneTotalMod = 1.f; + float doneTotalMod = SpellAbsorbPctDone(victim, spellProto); int32 doneAdvertisedBenefit = SpellBaseAbsorbBonusDone(spellProto->GetSchoolMask()); doneAdvertisedBenefit += victim->GetTotalAuraModifierByMiscMask(SPELL_AURA_MOD_HEALING, spellProto->GetSchoolMask()); @@ -7664,7 +7664,8 @@ int32 Unit::SpellAbsorbBonusDone(Unit* victim, SpellInfo const* spellProto, int3 doneTotal += int32(doneAdvertisedBenefit * coeff * stack); } - doneTotalMod = SpellAbsorbPctDone(victim, spellProto); + if (aurEff) + aurEff->GetBase()->CallScriptCalcDamageAndHealingHandlers(aurEff, aurEff->GetBase()->GetApplicationOfTarget(victim->GetGUID()), victim, absorbamount, doneTotal, doneTotalMod); float absorbAmount = float(absorbamount + doneTotal) * doneTotalMod; |
