fix(Core/Spells): Nature's Swiftness should not be consumed by instant spells. (#10909)
This commit is contained in:
@@ -15817,7 +15817,7 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(triggeredByAura->GetAuraType())
|
switch (triggeredByAura->GetAuraType())
|
||||||
{
|
{
|
||||||
case SPELL_AURA_PROC_TRIGGER_SPELL:
|
case SPELL_AURA_PROC_TRIGGER_SPELL:
|
||||||
{
|
{
|
||||||
@@ -15957,6 +15957,19 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u
|
|||||||
break;
|
break;
|
||||||
takeCharges = true;
|
takeCharges = true;
|
||||||
break;
|
break;
|
||||||
|
case SPELL_AURA_ADD_FLAT_MODIFIER:
|
||||||
|
case SPELL_AURA_ADD_PCT_MODIFIER:
|
||||||
|
{
|
||||||
|
if (SpellModifier* mod = triggeredByAura->GetSpellModifier())
|
||||||
|
{
|
||||||
|
if (mod->op == SPELLMOD_CASTING_TIME && procSpell && (procSpell->GetTriggeredCastFlags() & TRIGGERED_CAST_DIRECTLY) != 0)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
takeCharges = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
takeCharges = true;
|
takeCharges = true;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -589,6 +589,8 @@ public:
|
|||||||
|
|
||||||
[[nodiscard]] uint32 GetTriggeredByAuraTickNumber() const { return m_triggeredByAuraSpell.tickNumber; }
|
[[nodiscard]] uint32 GetTriggeredByAuraTickNumber() const { return m_triggeredByAuraSpell.tickNumber; }
|
||||||
|
|
||||||
|
[[nodiscard]] TriggerCastFlags GetTriggeredCastFlags() const { return _triggeredCastFlags; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool HasGlobalCooldown() const;
|
bool HasGlobalCooldown() const;
|
||||||
void TriggerGlobalCooldown();
|
void TriggerGlobalCooldown();
|
||||||
|
|||||||
Reference in New Issue
Block a user