Scripts/Spells: Handle demon hunter soul fragments counter (#31504)

This commit is contained in:
Aqua Deus
2026-02-01 20:03:10 +01:00
committed by GitHub
parent 948f45239f
commit 8b036024d6

View File

@@ -189,6 +189,7 @@ enum DemonHunterSpells
SPELL_DH_SHATTERED_SOULS_HAVOC_LESSER_TRIGGER = 228536,
SPELL_DH_SHATTERED_SOULS_HAVOC_SHATTERED_TRIGGER = 209687,
SPELL_DH_SHATTERED_SOULS_MARKER = 221461,
SPELL_DH_SHATTERED_SOULS_VENGEANCE = 204254,
SPELL_DH_SHEAR = 203782,
SPELL_DH_SHEAR_PASSIVE = 203783,
SPELL_DH_SIGIL_OF_CHAINS = 202138,
@@ -1919,6 +1920,21 @@ struct at_dh_shattered_souls : public AreaTriggerAI
unit->CastSpell(at->GetPosition(), SpellId, TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR);
at->Remove();
}
void OnInitialize() override
{
if (Unit* caster = at->GetCaster())
if (caster->HasAura(SPELL_DH_SHATTERED_SOULS_VENGEANCE))
caster->CastSpell(caster, SPELL_DH_SOUL_FRAGMENT_COUNTER, CastSpellExtraArgsInit{
.TriggerFlags = TRIGGERED_IGNORE_CAST_IN_PROGRESS | TRIGGERED_DONT_REPORT_CAST_ERROR,
});
}
void OnRemove() override
{
if (Unit* caster = at->GetCaster())
caster->RemoveAuraFromStack(SPELL_DH_SOUL_FRAGMENT_COUNTER);
}
};
using at_dh_shattered_souls_havoc_demon = at_dh_shattered_souls<SPELL_DH_CONSUME_SOUL_HAVOC_DEMON>;