fix(Core/Spells): Combustion non-crit hits now add crit stacks (#24752)
Co-authored-by: blinkysc <blinkysc@users.noreply.github.com>
This commit is contained in:
parent
08cb2ab615
commit
61e5cd7ac3
2 changed files with 18 additions and 2 deletions
|
|
@ -0,0 +1,4 @@
|
|||
-- Enable charge tracking for Combustion (11129)
|
||||
-- Charges were 0 (disabled), should be 3 to match DBC ProcCharges
|
||||
-- Combustion should be removed after 3 critical strikes with Fire spells
|
||||
UPDATE `spell_proc` SET `Charges` = 3 WHERE `SpellId` = 11129;
|
||||
|
|
@ -37,6 +37,7 @@ enum MageSpells
|
|||
SPELL_MAGE_BURNOUT_TRIGGER = 44450,
|
||||
SPELL_MAGE_IMPROVED_BLIZZARD_CHILLED = 12486,
|
||||
SPELL_MAGE_COMBUSTION = 11129,
|
||||
SPELL_MAGE_COMBUSTION_PROC = 28682,
|
||||
SPELL_MAGE_COLD_SNAP = 11958,
|
||||
SPELL_MAGE_FOCUS_MAGIC_PROC = 54648,
|
||||
SPELL_MAGE_FROST_WARDING_R1 = 11189,
|
||||
|
|
@ -997,10 +998,21 @@ class spell_mage_combustion : public AuraScript
|
|||
{
|
||||
PrepareAuraScript(spell_mage_combustion);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_MAGE_COMBUSTION_PROC });
|
||||
}
|
||||
|
||||
bool CheckProc(ProcEventInfo& eventInfo)
|
||||
{
|
||||
// Prevent charge consumption on non-crits
|
||||
return eventInfo.GetHitMask() & PROC_EX_CRITICAL_HIT;
|
||||
// Do not take charges, add a stack of crit buff
|
||||
if (!(eventInfo.GetHitMask() & PROC_HIT_CRITICAL))
|
||||
{
|
||||
eventInfo.GetActor()->CastSpell(static_cast<Unit*>(nullptr), SPELL_MAGE_COMBUSTION_PROC, true);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void Register() override
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue