Core/Spells: Implement CAST_FLAG_EX_IGNORE_COOLDOWN - causes spells to not automatically trigger cooldown clientside
Port From (https://github.com/TrinityCore/TrinityCore/commit/66509502f4a5065d74cb3da501558f7eff6ea1ec)
This commit is contained in:
@@ -1557,7 +1557,7 @@ namespace Framework.Constants
|
|||||||
Unknown7 = 0x40,
|
Unknown7 = 0x40,
|
||||||
Unknown8 = 0x80,
|
Unknown8 = 0x80,
|
||||||
Unknown9 = 0x100,
|
Unknown9 = 0x100,
|
||||||
Unknown10 = 0x200,
|
IgnoreCooldown = 0x200, // makes client not automatically start cooldown after SPELL_GO
|
||||||
Unknown11 = 0x400,
|
Unknown11 = 0x400,
|
||||||
Unknown12 = 0x800,
|
Unknown12 = 0x800,
|
||||||
Unknown13 = 0x1000,
|
Unknown13 = 0x1000,
|
||||||
|
|||||||
@@ -43,6 +43,10 @@ namespace Game.Spells
|
|||||||
m_caster = (info.HasAttribute(SpellAttr6.CastByCharmer) && caster.GetCharmerOrOwner() != null ? caster.GetCharmerOrOwner() : caster);
|
m_caster = (info.HasAttribute(SpellAttr6.CastByCharmer) && caster.GetCharmerOrOwner() != null ? caster.GetCharmerOrOwner() : caster);
|
||||||
m_spellValue = new SpellValue(m_spellInfo, caster);
|
m_spellValue = new SpellValue(m_spellInfo, caster);
|
||||||
m_castItemLevel = -1;
|
m_castItemLevel = -1;
|
||||||
|
|
||||||
|
if (IsIgnoringCooldowns())
|
||||||
|
m_castFlagsEx |= SpellCastFlagsEx.IgnoreCooldown;
|
||||||
|
|
||||||
m_castId = ObjectGuid.Create(HighGuid.Cast, SpellCastSource.Normal, m_caster.GetMapId(), m_spellInfo.Id, m_caster.GetMap().GenerateLowGuid(HighGuid.Cast));
|
m_castId = ObjectGuid.Create(HighGuid.Cast, SpellCastSource.Normal, m_caster.GetMapId(), m_spellInfo.Id, m_caster.GetMap().GenerateLowGuid(HighGuid.Cast));
|
||||||
m_originalCastId = originalCastId;
|
m_originalCastId = originalCastId;
|
||||||
m_SpellVisual.SpellXSpellVisualID = caster.GetCastSpellXSpellVisualId(m_spellInfo);
|
m_SpellVisual.SpellXSpellVisualID = caster.GetCastSpellXSpellVisualId(m_spellInfo);
|
||||||
|
|||||||
Reference in New Issue
Block a user