diff options
Diffstat (limited to 'src/game/PetHandler.cpp')
-rw-r--r-- | src/game/PetHandler.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/game/PetHandler.cpp b/src/game/PetHandler.cpp index 3dc7c6d4ff1..67e6576c25b 100644 --- a/src/game/PetHandler.cpp +++ b/src/game/PetHandler.cpp @@ -615,12 +615,6 @@ void WorldSession::HandlePetCastSpellOpcode( WorldPacket& recvPacket ) return; } - if (caster->GetTypeId() == TYPEID_UNIT && ((Creature*)caster)->GetGlobalCooldown() > 0) - { - caster->SendPetCastFail(spellid, SPELL_FAILED_NOT_READY); - return; - } - SpellEntry const *spellInfo = sSpellStore.LookupEntry(spellid); if(!spellInfo) { @@ -628,6 +622,13 @@ void WorldSession::HandlePetCastSpellOpcode( WorldPacket& recvPacket ) return; } + if (spellInfo->StartRecoveryCategory > 0) //Check if spell is affected by GCD + if (caster->GetTypeId() == TYPEID_UNIT && ((Creature*)caster)->GetGlobalCooldown() > 0) + { + caster->SendPetCastFail(spellid, SPELL_FAILED_NOT_READY); + return; + } + // do not cast not learned spells if(!caster->HasSpell(spellid) || IsPassiveSpell(spellid)) return; |