diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index a4e15db3f1..a1807e77e5 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -7877,7 +7877,7 @@ bool Spell::CheckEffectTarget(Unit const* target, uint32 eff, Position const* lo bool Spell::IsTriggered() const { - return (_triggeredCastFlags & TRIGGERED_FULL_MASK) != 0; + return (_triggeredCastFlags & TRIGGERED_IS_TRIGGERED_MASK) != 0; } bool Spell::IsIgnoringCooldowns() const diff --git a/src/server/game/Spells/Spell.h b/src/server/game/Spells/Spell.h index a36cc7c4df..a21eac1554 100644 --- a/src/server/game/Spells/Spell.h +++ b/src/server/game/Spells/Spell.h @@ -76,7 +76,7 @@ enum WeaponAttackType : uint8; constexpr float MAX_SPELL_RANGE_TOLERANCE = 3.0f; constexpr float TRAJECTORY_MISSILE_SIZE = 3.0f; -enum SpellCastFlags +enum SpellCastFlags : uint32 { CAST_FLAG_NONE = 0x00000000, CAST_FLAG_PENDING = 0x00000001, // aoe combat log? @@ -89,7 +89,7 @@ enum SpellCastFlags CAST_FLAG_UNKNOWN_8 = 0x00000080, CAST_FLAG_UNKNOWN_9 = 0x00000100, CAST_FLAG_UNKNOWN_10 = 0x00000200, - CAST_FLAG_UNKNOWN_11 = 0x00000400, + CAST_FLAG_UNKNOWN_11 = 0x00000400, // sorts missed targets before hit targets for chain visual CAST_FLAG_POWER_LEFT_SELF = 0x00000800, CAST_FLAG_UNKNOWN_13 = 0x00001000, CAST_FLAG_UNKNOWN_14 = 0x00002000, diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h index 9a377c0a8b..f74ce92e80 100644 --- a/src/server/game/Spells/SpellDefines.h +++ b/src/server/game/Spells/SpellDefines.h @@ -183,6 +183,10 @@ enum TriggerCastFlags : uint32 TRIGGERED_DONT_RESET_PERIODIC_TIMER = 0x00020000, //! Will allow periodic aura timers to keep ticking (instead of resetting) TRIGGERED_DONT_REPORT_CAST_ERROR = 0x00040000, //! Will return SPELL_FAILED_DONT_REPORT in CheckCast functions TRIGGERED_FULL_MASK = 0x0007FFFF, //! Used when doing CastSpell with triggered == true + TRIGGERED_IS_TRIGGERED_MASK = TRIGGERED_FULL_MASK + & ~(TRIGGERED_IGNORE_POWER_COST | TRIGGERED_IGNORE_CAST_IN_PROGRESS + /*| TRIGGERED_IGNORE_CAST_TIME*/ | TRIGGERED_IGNORE_SHAPESHIFT + | TRIGGERED_DONT_REPORT_CAST_ERROR), //!< Will be recognized by Spell::IsTriggered as triggered // debug flags (used with .cast triggered commands) TRIGGERED_IGNORE_EQUIPPED_ITEM_REQUIREMENT = 0x00080000, //! Will ignore equipped item requirements