diff options
| author | megamage <none@none> | 2009-08-26 21:30:45 -0500 |
|---|---|---|
| committer | megamage <none@none> | 2009-08-26 21:30:45 -0500 |
| commit | c5ff737ef8e9c1805505df8429d98a9fed839895 (patch) | |
| tree | af343d0a2e65fd38357cf428338681cf4a5eeb9a /src/game/Spell.cpp | |
| parent | a6e7a836449456ea06506420f1c943bc10214a16 (diff) | |
*Fix a crash caused by possess pet. Thanks to nanouniko
--HG--
branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
| -rw-r--r-- | src/game/Spell.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp index 132eb5fafb2..863530d953a 100644 --- a/src/game/Spell.cpp +++ b/src/game/Spell.cpp @@ -5129,9 +5129,21 @@ SpellCastResult Spell::CheckCast(bool strict) } break; } + case SPELL_AURA_MOD_POSSESS_PET: + { + if(m_caster->GetTypeId() != TYPEID_PLAYER) + return SPELL_FAILED_NO_PET; + + Pet *pet = ((Player*)m_caster)->GetPet(); + if(!pet) + return SPELL_FAILED_NO_PET; + + if(pet->GetCharmerGUID()) + return SPELL_FAILED_CHARMED; + break; + } case SPELL_AURA_MOD_POSSESS: case SPELL_AURA_MOD_CHARM: - case SPELL_AURA_MOD_POSSESS_PET: case SPELL_AURA_AOE_CHARM: { if(m_caster->GetCharmerGUID()) |
