aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/SpellMgr.cpp9
-rw-r--r--src/server/scripts/Spells/spell_dh.cpp28
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