diff --git a/Source/Framework/Constants/Spells/SpellConst.cs b/Source/Framework/Constants/Spells/SpellConst.cs index 72773b28c..c8ef6bed3 100644 --- a/Source/Framework/Constants/Spells/SpellConst.cs +++ b/Source/Framework/Constants/Spells/SpellConst.cs @@ -1597,6 +1597,7 @@ namespace Framework.Constants DontResetPeriodicTimer = 0x20000, //! Will allow periodic aura timers to keep ticking (instead of resetting) DontReportCastError = 0x40000, //! Will Return SpellFailedDontReport In Checkcast Functions FullMask = 0x0007FFFF, //! Used when doing CastSpell with triggered == true + IsTriggeredMask = FullMask & ~(IgnorePowerCost | IgnoreCastInProgress | IgnoreCastTime | IgnoreShapeshift | DontReportCastError), //!< Will be recognized by Spell::IsTriggered as triggered // debug flags (used with .cast triggered commands) IgnoreEquippedItemRequirement = 0x80000, //! Will ignore equipped item requirements @@ -1639,7 +1640,7 @@ namespace Framework.Constants Unk8 = 0x80, Unk9 = 0x100, Unk10 = 0x200, - Unk11 = 0x400, + Unk11 = 0x400, // sorts missed targets before hit targets for chain visual PowerLeftSelf = 0x800, Unk13 = 0x1000, Unk14 = 0x2000, diff --git a/Source/Game/Spells/Spell.cs b/Source/Game/Spells/Spell.cs index fc16e137a..bc3ecf187 100644 --- a/Source/Game/Spells/Spell.cs +++ b/Source/Game/Spells/Spell.cs @@ -8476,7 +8476,7 @@ namespace Game.Spells m_timer = m_casttime > 0 ? m_casttime : 0; } - public bool IsTriggered() { return (!m_fromClient && _triggeredCastFlags.HasAnyFlag(TriggerCastFlags.FullMask)) || !m_originalCastId.IsEmpty(); } + public bool IsTriggered() { return (!m_fromClient && _triggeredCastFlags.HasAnyFlag(TriggerCastFlags.IsTriggeredMask)) || !m_originalCastId.IsEmpty(); } public bool IsTriggeredByAura(SpellInfo auraSpellInfo) { return (auraSpellInfo == m_triggeredByAuraSpell); } public bool IsIgnoringCooldowns() { return _triggeredCastFlags.HasAnyFlag(TriggerCastFlags.IgnoreSpellAndCategoryCD); } public bool IsFocusDisabled() { return _triggeredCastFlags.HasFlag(TriggerCastFlags.IgnoreSetFacing) || (m_spellInfo.IsChanneled() && !m_spellInfo.HasAttribute(SpellAttr1.TrackTargetInChannel)); }