diff options
author | Keader <keader.android@gmail.com> | 2019-02-20 10:40:19 -0300 |
---|---|---|
committer | Keader <keader.android@gmail.com> | 2019-02-20 10:40:19 -0300 |
commit | a617cc40977b7b019f79a198daebede90c59f5c1 (patch) | |
tree | 9753562dd06705b7e55cdace31b5687c317a3325 /src | |
parent | 43dec9e4d0b6f7da3c2051624742e9fb8a9bcb31 (diff) |
Scripts/Illidan: Fixed Parasitic shadowfiends reproducing like rabbits
Diffstat (limited to 'src')
-rw-r--r-- | src/server/scripts/Outland/BlackTemple/boss_illidan.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp index 665f9b6906d..8d0ad23e7d4 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_illidan.cpp @@ -1937,6 +1937,28 @@ class spell_illidan_parasitic_shadowfiend : public AuraScript } }; +// 41913 - Parasitic Shadowfiend Passive +class spell_illidan_parasitic_shadowfiend_proc : public AuraScript +{ + PrepareAuraScript(spell_illidan_parasitic_shadowfiend_proc); + + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_PARASITIC_SHADOWFIEND, SPELL_PARASITIC_SHADOWFIEND_2 }); + } + + bool CheckProc(ProcEventInfo& eventInfo) + { + Unit* target = eventInfo.GetProcTarget(); + return target && !target->HasAura(SPELL_PARASITIC_SHADOWFIEND) && !target->HasAura(SPELL_PARASITIC_SHADOWFIEND_2); + } + + void Register() override + { + DoCheckProc += AuraCheckProcFn(spell_illidan_parasitic_shadowfiend_proc::CheckProc); + } +}; + // 41923 - Remove Parasitic Shadowfiends (SERVERSIDE) class spell_illidan_remove_parasitic_shadowfiend : public AuraScript { @@ -2349,6 +2371,7 @@ void AddSC_boss_illidan() RegisterAuraScript(spell_illidan_akama_door_channel); RegisterSpellScript(spell_illidan_draw_soul); RegisterAuraScript(spell_illidan_parasitic_shadowfiend); + RegisterAuraScript(spell_illidan_parasitic_shadowfiend_proc); RegisterAuraScript(spell_illidan_remove_parasitic_shadowfiend); RegisterSpellScript(spell_illidan_throw_warglaive); RegisterAuraScript(spell_illidan_tear_of_azzinoth_channel); |