Core/Spells: Define and implement CAST_FLAG_NO_GCD
This commit is contained in:
@@ -3231,7 +3231,7 @@ void Spell::handle_immediate()
|
||||
// Apply duration mod
|
||||
if (Player* modOwner = m_caster->GetSpellModOwner())
|
||||
modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_DURATION, duration);
|
||||
|
||||
|
||||
// Apply haste mods
|
||||
m_caster->ModSpellCastTime(m_spellInfo, duration, this);
|
||||
|
||||
@@ -3762,7 +3762,7 @@ void Spell::SendSpellStart()
|
||||
castFlags |= CAST_FLAG_POWER_LEFT_SELF;
|
||||
|
||||
if (m_spellInfo->RuneCostID && m_spellInfo->PowerType == POWER_RUNE)
|
||||
castFlags |= CAST_FLAG_UNKNOWN_19;
|
||||
castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it
|
||||
|
||||
WorldPacket data(SMSG_SPELL_START, (8+8+4+4+2));
|
||||
if (m_CastItem)
|
||||
@@ -3820,19 +3820,19 @@ void Spell::SendSpellGo()
|
||||
&& m_spellInfo->RuneCostID
|
||||
&& m_spellInfo->PowerType == POWER_RUNE)
|
||||
{
|
||||
castFlags |= CAST_FLAG_UNKNOWN_19; // same as in SMSG_SPELL_START
|
||||
castFlags |= CAST_FLAG_NO_GCD; // not needed, but Blizzard sends it
|
||||
castFlags |= CAST_FLAG_RUNE_LIST; // rune cooldowns list
|
||||
}
|
||||
|
||||
if (m_spellInfo->HasEffect(SPELL_EFFECT_ACTIVATE_RUNE))
|
||||
{
|
||||
castFlags |= CAST_FLAG_RUNE_LIST; // rune cooldowns list
|
||||
castFlags |= CAST_FLAG_UNKNOWN_19; // same as in SMSG_SPELL_START
|
||||
}
|
||||
|
||||
if (m_targets.HasTraj())
|
||||
castFlags |= CAST_FLAG_ADJUST_MISSILE;
|
||||
|
||||
if (!m_spellInfo->StartRecoveryTime)
|
||||
castFlags |= CAST_FLAG_NO_GCD;
|
||||
|
||||
WorldPacket data(SMSG_SPELL_GO, 50); // guess size
|
||||
|
||||
if (m_CastItem)
|
||||
|
||||
@@ -57,7 +57,7 @@ enum SpellCastFlags
|
||||
CAST_FLAG_UNKNOWN_16 = 0x00008000,
|
||||
CAST_FLAG_UNKNOWN_17 = 0x00010000,
|
||||
CAST_FLAG_ADJUST_MISSILE = 0x00020000,
|
||||
CAST_FLAG_UNKNOWN_19 = 0x00040000,
|
||||
CAST_FLAG_NO_GCD = 0x00040000, // no GCD for spell casts from charm/summon (vehicle spells is an example)
|
||||
CAST_FLAG_VISUAL_CHAIN = 0x00080000,
|
||||
CAST_FLAG_UNKNOWN_21 = 0x00100000,
|
||||
CAST_FLAG_RUNE_LIST = 0x00200000,
|
||||
|
||||
Reference in New Issue
Block a user