aboutsummaryrefslogtreecommitdiff
path: root/src/server/scripts/Spells
diff options
context:
space:
mode:
authorMatan Shukry <matanshukry@gmail.com>2021-04-17 23:42:34 +0300
committerGitHub <noreply@github.com>2021-04-17 22:42:34 +0200
commit530631e0a73c0bcd540f063cef975ecd827307b2 (patch)
tree6c80c5495198ed256a10d9a3ee9ce2acbea8637c /src/server/scripts/Spells
parent5b4f61d915475e44369430994cb636d14c2976b8 (diff)
Core/Auras: Implemented SPELL_AURA_SCHOOL_ABSORB_OVERKILL (#26269)
Diffstat (limited to 'src/server/scripts/Spells')
-rw-r--r--src/server/scripts/Spells/spell_priest.cpp14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp
index 7e377f496a8..8a0995098af 100644
--- a/src/server/scripts/Spells/spell_priest.cpp
+++ b/src/server/scripts/Spells/spell_priest.cpp
@@ -759,22 +759,18 @@ class spell_priest_spirit_of_redemption : public AuraScript
return ValidateSpellInfo({ SPELL_PRIEST_SPIRIT_OF_REDEMPTION });
}
- void HandleAbsorb(AuraEffect* aurEff, DamageInfo& dmgInfo, uint32& /*absorbAmount*/)
+ void HandleAbsorb(AuraEffect* aurEff, DamageInfo& dmgInfo, uint32& absorbAmount)
{
Unit* target = GetTarget();
- if (dmgInfo.GetDamage() >= target->GetHealth())
- {
- target->CastSpell(target, SPELL_PRIEST_SPIRIT_OF_REDEMPTION, aurEff);
- target->SetFullHealth();
- return;
- }
+ target->CastSpell(target, SPELL_PRIEST_SPIRIT_OF_REDEMPTION, aurEff);
+ target->SetFullHealth();
- PreventDefaultAction();
+ absorbAmount = dmgInfo.GetDamage();
}
void Register() override
{
- OnEffectAbsorb += AuraEffectAbsorbFn(spell_priest_spirit_of_redemption::HandleAbsorb, EFFECT_0);
+ OnEffectAbsorb += AuraEffectAbsorbOverkillFn(spell_priest_spirit_of_redemption::HandleAbsorb, EFFECT_0);
}
};