diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-01-14 15:20:31 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2025-01-14 15:20:31 +0100 |
commit | dc5307dfa0c17986ea3996d43426b5797ff2879d (patch) | |
tree | ef549de394df0e074b3ce453e0522f827b053aa3 /src | |
parent | 15387c6b356132c59529b54fb8952add72674f49 (diff) |
Scripts/Spells: Fixed Sigil of Chains visual
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 9 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_dh.cpp | 28 |
2 files changed, 18 insertions, 19 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 3aad39b46d7..d41b0b75476 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -5075,6 +5075,15 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->AttributesCu |= SPELL_ATTR0_CU_AURA_CANNOT_BE_SAVED; }); + // Sigil of Flame + ApplySpellFix({ 204598 }, [](SpellInfo* spellInfo) + { + ApplySpellEffectFix(spellInfo, EFFECT_2, [](SpellEffectInfo* spellEffectInfo) + { + spellEffectInfo->Effect = SPELL_EFFECT_NONE; + }); + }); + // Collective Anguish channel hack (triggered by another channel) ApplySpellFix({ 391057, 393831 }, [](SpellInfo* spellInfo) { diff --git a/src/server/scripts/Spells/spell_dh.cpp b/src/server/scripts/Spells/spell_dh.cpp index 71742561a35..7de1e0f161d 100644 --- a/src/server/scripts/Spells/spell_dh.cpp +++ b/src/server/scripts/Spells/spell_dh.cpp @@ -173,8 +173,8 @@ enum DemonHunterSpells SPELL_DH_SIGIL_OF_CHAINS_TARGET_SELECT = 204834, SPELL_DH_SIGIL_OF_CHAINS_VISUAL = 208673, SPELL_DH_SIGIL_OF_FLAME_AOE = 204598, - SPELL_DH_SIGIL_OF_FLAME_DAMAGE = 204598, SPELL_DH_SIGIL_OF_FLAME_FLAME_CRASH = 228973, + SPELL_DH_SIGIL_OF_FLAME_VISUAL = 208710, SPELL_DH_SIGIL_OF_MISERY = 207685, SPELL_DH_SIGIL_OF_MISERY_AOE = 207685, SPELL_DH_SIGIL_OF_SILENCE = 204490, @@ -1117,10 +1117,11 @@ class spell_dh_soul_furnace_conduit : public AuraScript } }; +// 202138 - Sigil of Chains // 204596 - Sigil of Flame // 207684 - Sigil of Misery // 202137 - Sigil of Silence -template<uint32 TriggerSpellId> +template<uint32 TriggerSpellId, uint32 TriggerSpellId2 = 0> struct areatrigger_dh_generic_sigil : AreaTriggerAI { using AreaTriggerAI::AreaTriggerAI; @@ -1128,7 +1129,11 @@ struct areatrigger_dh_generic_sigil : AreaTriggerAI void OnRemove() override { if (Unit* caster = at->GetCaster()) + { caster->CastSpell(at->GetPosition(), TriggerSpellId); + if constexpr (TriggerSpellId2 != 0) + caster->CastSpell(at->GetPosition(), TriggerSpellId2); + } } }; @@ -1155,21 +1160,6 @@ class spell_dh_sigil_of_chains : public SpellScript } }; -// 202138 - Sigil of Chains -struct areatrigger_dh_sigil_of_chains : AreaTriggerAI -{ - areatrigger_dh_sigil_of_chains(AreaTrigger* at) : AreaTriggerAI(at) { } - - void OnRemove() override - { - if (Unit* caster = at->GetCaster()) - { - caster->CastSpell(at->GetPosition(), SPELL_DH_SIGIL_OF_CHAINS_VISUAL); - caster->CastSpell(at->GetPosition(), SPELL_DH_SIGIL_OF_CHAINS_TARGET_SELECT); - } - } -}; - // Called by 204598 - Sigil of Flame class spell_dh_student_of_suffering : public SpellScript { @@ -1272,10 +1262,10 @@ void AddSC_demon_hunter_spell_scripts() RegisterSpellScript(spell_dh_vengeful_retreat_damage); RegisterAreaTriggerAI(areatrigger_dh_darkness); + new GenericAreaTriggerEntityScript<areatrigger_dh_generic_sigil<SPELL_DH_SIGIL_OF_CHAINS_TARGET_SELECT, SPELL_DH_SIGIL_OF_CHAINS_VISUAL>>("areatrigger_dh_sigil_of_chains"); + new GenericAreaTriggerEntityScript<areatrigger_dh_generic_sigil<SPELL_DH_SIGIL_OF_FLAME_AOE, SPELL_DH_SIGIL_OF_FLAME_VISUAL>>("areatrigger_dh_sigil_of_flame"); new GenericAreaTriggerEntityScript<areatrigger_dh_generic_sigil<SPELL_DH_SIGIL_OF_SILENCE_AOE>>("areatrigger_dh_sigil_of_silence"); new GenericAreaTriggerEntityScript<areatrigger_dh_generic_sigil<SPELL_DH_SIGIL_OF_MISERY_AOE>>("areatrigger_dh_sigil_of_misery"); - new GenericAreaTriggerEntityScript<areatrigger_dh_generic_sigil<SPELL_DH_SIGIL_OF_FLAME_AOE>>("areatrigger_dh_sigil_of_flame"); - RegisterAreaTriggerAI(areatrigger_dh_sigil_of_chains); // Havoc |