diff --git a/Source/Game/Spells/Auras/Aura.cs b/Source/Game/Spells/Auras/Aura.cs index c49e284a3..3796032f9 100644 --- a/Source/Game/Spells/Auras/Aura.cs +++ b/Source/Game/Spells/Auras/Aura.cs @@ -1768,20 +1768,17 @@ namespace Game.Spells } // check if we have charges to proc with - if (IsUsingCharges()) - { - if (GetCharges() == 0) - return 0; + if (IsUsingCharges() && GetCharges() == 0) + return 0; - if (procEntry.AttributesMask.HasAnyFlag(ProcAttributes.ReqSpellmod)) - { - Spell eventSpell = eventInfo.GetProcSpell(); - if (eventSpell != null) - if (!eventSpell.m_appliedMods.Contains(this)) - return 0; - } + if (procEntry.AttributesMask.HasAnyFlag(ProcAttributes.ReqSpellmod) && (IsUsingCharges() || (procEntry.AttributesMask & ProcAttributes.UseStacksForCharges) != 0)) + { + Spell eventSpell = eventInfo.GetProcSpell(); + if (eventSpell != null && !eventSpell.m_appliedMods.Contains(this)) + return 0; } + // check proc cooldown if (IsProcOnCooldown(now)) return 0;