Core/Auras: Implemented SPELL_AURA_SCHOOL_ABSORB_OVERKILL

Port From (https://github.com/TrinityCore/TrinityCore/commit/530631e0a73c0bcd540f063cef975ecd827307b2)
This commit is contained in:
hondacrx
2021-04-19 10:36:03 -04:00
parent c925d7af40
commit 3ac625e8ff
3 changed files with 67 additions and 15 deletions
+4 -8
View File
@@ -615,19 +615,15 @@ namespace Scripts.Spells.Priest
void HandleAbsorb(AuraEffect aurEff, DamageInfo dmgInfo, ref uint absorbAmount)
{
Unit target = GetTarget();
if (dmgInfo.GetDamage() >= target.GetHealth())
{
target.CastSpell(target, SpellIds.SpiritOfRedemption, new CastSpellExtraArgs(aurEff));
target.SetFullHealth();
return;
}
target.CastSpell(target, SpellIds.SpiritOfRedemption, new CastSpellExtraArgs(aurEff));
target.SetFullHealth();
PreventDefaultAction();
absorbAmount = dmgInfo.GetDamage();
}
public override void Register()
{
OnEffectAbsorb.Add(new EffectAbsorbHandler(HandleAbsorb, 0));
OnEffectAbsorb.Add(new EffectAbsorbHandler(HandleAbsorb, 0, true));
}
}