aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-18 21:51:52 -0600
committermegamage <none@none>2009-03-18 21:51:52 -0600
commit9f84e9cb2267c9487b874fee19750f95cd822220 (patch)
tree7c74995a64047d8c088d4e5439315f8cb1447c70
parent281d20be0d1c342f01798b1254fccb3b5a202bcd (diff)
*Also exit vehicle in uncharm function.
--HG-- branch : trunk
-rw-r--r--src/game/Player.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 91c1672d5aa..00966d24407 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -17150,12 +17150,14 @@ void Player::Uncharm()
if(!charm)
return;
- if(charm->GetTypeId() == TYPEID_UNIT && ((Creature*)charm)->isPet()
- && ((Pet*)charm)->getPetType() == POSSESSED_PET)
+ if(charm->GetTypeId() == TYPEID_UNIT)
{
- ((Pet*)charm)->Remove(PET_SAVE_AS_DELETED);
+ if(((Creature*)charm)->isPet() && ((Pet*)charm)->getPetType() == POSSESSED_PET)
+ ((Pet*)charm)->Remove(PET_SAVE_AS_DELETED);
+ else if(((Creature*)charm)->isVehicle())
+ ExitVehicle((Vehicle*)charm);
}
- else
+ if(GetCharmGUID())
{
charm->RemoveSpellsCausingAura(SPELL_AURA_MOD_CHARM);
charm->RemoveSpellsCausingAura(SPELL_AURA_MOD_POSSESS_PET);