aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-08-26 21:30:45 -0500
committermegamage <none@none>2009-08-26 21:30:45 -0500
commitc5ff737ef8e9c1805505df8429d98a9fed839895 (patch)
treeaf343d0a2e65fd38357cf428338681cf4a5eeb9a /src/game/Spell.cpp
parenta6e7a836449456ea06506420f1c943bc10214a16 (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.cpp14
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())