aboutsummaryrefslogtreecommitdiff
path: root/src/game/Spell.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-06-03 13:51:05 -0500
committermegamage <none@none>2009-06-03 13:51:05 -0500
commitc70e6a003eb741bf3212dd4d11d917f765768ed0 (patch)
tree3fad3c257edb538b2a3d9e8d08fc020a8a11591e /src/game/Spell.cpp
parente861df87955bec89f87640947039f06e5e1b31a2 (diff)
*Use setcharmedby and removecharmedby in enter/exit vehicle functions.
*Fix build. --HG-- branch : trunk
Diffstat (limited to 'src/game/Spell.cpp')
-rw-r--r--src/game/Spell.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/game/Spell.cpp b/src/game/Spell.cpp
index 8e247230a40..bfa843c873e 100644
--- a/src/game/Spell.cpp
+++ b/src/game/Spell.cpp
@@ -4659,6 +4659,7 @@ SpellCastResult Spell::CheckCast(bool strict)
}
case SPELL_AURA_MOD_POSSESS:
case SPELL_AURA_MOD_CHARM:
+ //case SPELL_AURA_MOD_POSSESS_PET:
{
if(m_caster->GetPetGUID())
return SPELL_FAILED_ALREADY_HAVE_SUMMON;
@@ -4669,13 +4670,15 @@ SpellCastResult Spell::CheckCast(bool strict)
if(m_caster->GetCharmerGUID())
return SPELL_FAILED_CHARMED;
- if(!m_targets.getUnitTarget())
+ Unit *target = m_targets.getUnitTarget();
+ if(!target || target->GetTypeId() == TYPEID_UNIT
+ && ((Creature*)target)->isVehicle())
return SPELL_FAILED_BAD_IMPLICIT_TARGETS;
- if(m_targets.getUnitTarget()->GetCharmerGUID())
+ if(target->GetCharmerGUID())
return SPELL_FAILED_CHARMED;
- if(int32(m_targets.getUnitTarget()->getLevel()) > CalculateDamage(i,m_targets.getUnitTarget()))
+ if(int32(target->getLevel()) > CalculateDamage(i, target))
return SPELL_FAILED_HIGHLEVEL;
break;