Scripts/Spells: Fix Warlock Drain Soul energize

Port From (https://github.com/TrinityCore/TrinityCore/commit/1410e018ebafa6e28bd5f22ff60407f27ae01728)
This commit is contained in:
hondacrx
2022-02-24 15:49:07 -05:00
parent a03149d9b4
commit ce83ba9380
+25
View File
@@ -32,6 +32,7 @@ namespace Scripts.Spells.Warlock
public const uint DemonicCircleSummon = 48018;
public const uint DemonicCircleTeleport = 48020;
public const uint DevourMagicHeal = 19658;
public const uint DrainSoulEnergize = 205292;
public const uint GlyphOfDemonTraining = 56249;
public const uint GlyphOfSoulSwap = 56226;
public const uint GlyphOfSuccubus = 56250;
@@ -224,6 +225,30 @@ namespace Scripts.Spells.Warlock
}
}
[Script] // 198590 - Drain Soul
class spell_warl_drain_soul : AuraScript
{
public override bool Validate(SpellInfo spellInfo)
{
return ValidateSpellInfo(SpellIds.DrainSoulEnergize);
}
void HandleRemove(AuraEffect aurEff, AuraEffectHandleModes mode)
{
if (GetTargetApplication().GetRemoveMode() != AuraRemoveMode.Death)
return;
Unit caster = GetCaster();
if (caster != null)
caster.CastSpell(caster, SpellIds.DrainSoulEnergize, true);
}
public override void Register()
{
AfterEffectRemove.Add(new EffectApplyHandler(HandleRemove, 0, AuraType.PeriodicDamage, AuraEffectHandleModes.Real));
}
}
[Script] // 48181 - Haunt
class spell_warl_haunt : SpellScript
{