Core/Spells: Corrected haste affecting GCDs to match 3.3.5 client logic
This commit is contained in:
1 parent
dc8bf301bb
commit
5ceba73504
1 file changed
+7
-2
@@ -8469,11 +8469,16 @@ void Spell::TriggerGlobalCooldown()
|
||||
if (!CanHaveGlobalCooldown(m_caster))
|
||||
return;
|
||||
|
||||
int32 gcd = m_spellInfo->StartRecoveryTime;
|
||||
if (!gcd || !m_spellInfo->StartRecoveryCategory)
|
||||
if (!m_spellInfo->StartRecoveryCategory)
|
||||
return;
|
||||
|
||||
if (m_caster->GetTypeId() == TYPEID_PLAYER)
|
||||
if (m_caster->ToPlayer()->GetCommandStatus(CHEAT_COOLDOWN))
|
||||
return;
|
||||
|
||||
// Global cooldown can't leave range 1..1.5 secs
|
||||
int32 gcd = m_spellInfo->StartRecoveryTime;
|
||||
|
||||
// gcd modifier auras are applied only to own spells and only players have such mods
|
||||
if (Player* modOwner = m_caster->GetSpellModOwner())
|
||||
modOwner->ApplySpellMod(m_spellInfo->Id, SPELLMOD_GLOBAL_COOLDOWN, gcd, this);
|
||||
|
||||
Reference in new issue
Block a user