aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/Spell.cpp
diff options
context:
space:
mode:
authorQAston <none@none>2010-07-20 01:42:14 +0200
committerQAston <none@none>2010-07-20 01:42:14 +0200
commitf906976837502fa5aa81b982b901d1509f5aa0c4 (patch)
tree62f7798f963a556ea041628f8f9dbc878dd3b522 /src/server/game/Spells/Spell.cpp
parentb5f7ac86eac6c300807ea2d5df4f6d2fae5bc4c8 (diff)
*Remove assertion from packet handler. Assertions should not be put in such places because we can't trust clients nor network.
*Do not allow to charm mounted units. --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Spells/Spell.cpp')
-rw-r--r--src/server/game/Spells/Spell.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 0ab7ec07407..510be691d18 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -5391,6 +5391,9 @@ SpellCastResult Spell::CheckCast(bool strict)
if (target->GetTypeId() == TYPEID_UNIT && target->ToCreature()->IsVehicle())
return SPELL_FAILED_BAD_IMPLICIT_TARGETS;
+ if (target->IsMounted())
+ return SPELL_FAILED_CANT_BE_CHARMED;
+
if (target->GetCharmerGUID())
return SPELL_FAILED_CHARMED;
@@ -6442,6 +6445,8 @@ bool Spell::CheckTarget(Unit* target, uint32 eff)
case SPELL_AURA_AOE_CHARM:
if (target->GetTypeId() == TYPEID_UNIT && target->IsVehicle())
return false;
+ if (target->IsMounted())
+ return false;
if (target->GetCharmerGUID())
return false;
if (int32 damage = CalculateDamage(eff, target))