mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
Scripts/Spells: Implement death knight talent Blooddrinker (#30956)
This commit is contained in:
@@ -45,6 +45,7 @@ enum DeathKnightSpells
|
||||
SPELL_DK_ARMY_SUPER_ZOMBIE_TRANSFORM = 127526,
|
||||
SPELL_DK_BLINDING_SLEET_SLOW = 317898,
|
||||
SPELL_DK_BLOOD = 137008,
|
||||
SPELL_DK_BLOODDRINKER_DEBUFF = 458687,
|
||||
SPELL_DK_BLOOD_PLAGUE = 55078,
|
||||
SPELL_DK_BLOOD_SHIELD_ABSORB = 77535,
|
||||
SPELL_DK_BLOOD_SHIELD_MASTERY = 77513,
|
||||
@@ -290,6 +291,32 @@ class spell_dk_blinding_sleet : public AuraScript
|
||||
}
|
||||
};
|
||||
|
||||
// 206931 - Blooddrinker
|
||||
class spell_dk_blooddrinker : public AuraScript
|
||||
{
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_DK_BLOODDRINKER_DEBUFF });
|
||||
}
|
||||
|
||||
void AfterRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) const
|
||||
{
|
||||
if (GetTargetApplication()->GetRemoveMode() != AURA_REMOVE_BY_EXPIRE)
|
||||
return;
|
||||
|
||||
if (Unit* caster = GetCaster())
|
||||
caster->CastSpell(GetTarget(), SPELL_DK_BLOODDRINKER_DEBUFF, CastSpellExtraArgsInit{
|
||||
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
|
||||
.TriggeringAura = aurEff
|
||||
});
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_dk_blooddrinker::AfterRemove, EFFECT_0, SPELL_AURA_PERIODIC_LEECH, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
// 50842 - Blood Boil
|
||||
class spell_dk_blood_boil : public SpellScript
|
||||
{
|
||||
@@ -1331,6 +1358,7 @@ void AddSC_deathknight_spell_scripts()
|
||||
RegisterSpellScriptWithArgs(spell_dk_apply_bone_shield, "spell_dk_deaths_caress_apply_bone_shield", EFFECT_2);
|
||||
RegisterSpellScript(spell_dk_army_transform);
|
||||
RegisterSpellScript(spell_dk_blinding_sleet);
|
||||
RegisterSpellScript(spell_dk_blooddrinker);
|
||||
RegisterSpellScript(spell_dk_blood_boil);
|
||||
RegisterSpellScript(spell_dk_brittle);
|
||||
RegisterSpellScript(spell_dk_dancing_rune_weapon);
|
||||
|
||||
Reference in New Issue
Block a user