diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index e6528091c..2aa7b694c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -13895,20 +13895,27 @@ void Player::ResummonPetTemporaryUnSummonedIfAny() bool Player::CanResummonPet(uint32 spellid) { - if (getClass() == CLASS_DEATH_KNIGHT) + switch (getClass()) { - if (CanSeeDKPet()) + case CLASS_DEATH_KNIGHT: + if (CanSeeDKPet()) + return true; + else if (spellid == 52150) //Raise Dead + return false; + break; + case CLASS_MAGE: + if (HasSpell(31687) && HasAura(70937)) //Has [Summon Water Elemental] spell and [Glyph of Eternal Water]. + return true; + break; + case CLASS_HUNTER: + case CLASS_WARLOCK: return true; - else if (spellid == 52150) - return false; + break; + default: + break; } - else if (getClass() == CLASS_HUNTER || getClass() == CLASS_MAGE || getClass() == CLASS_WARLOCK) - return true; - if (!HasSpell(spellid)) - return false; - - return true; + return HasSpell(spellid); } bool Player::CanSeeSpellClickOn(Creature const* c) const