diff options
author | megamage <none@none> | 2009-03-28 10:50:54 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-03-28 10:50:54 -0600 |
commit | 6e33427a114e9702f1152cc70b8316ce43b56e13 (patch) | |
tree | a197de2513a9662c6e6da092b69ece6cd8b9a0b1 /src/game/Unit.cpp | |
parent | a12682a3dd465c514cae29609a3f4c375f4c217d (diff) |
*Exit vehicle when players or vehicles are dead. This may fix some crash.
--HG--
branch : trunk
Diffstat (limited to 'src/game/Unit.cpp')
-rw-r--r-- | src/game/Unit.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index 7b97c74172f..056c2fa8952 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -8417,13 +8417,16 @@ Unit* Unit::GetFirstControlled() const void Unit::RemoveAllControlled() { + //possessed pet and vehicle + if(GetTypeId() == TYPEID_PLAYER) + ((Player*)this)->StopCastingCharm(); + while(!m_Controlled.empty()) { Unit *target = *m_Controlled.begin(); m_Controlled.erase(m_Controlled.begin()); if(target->GetCharmerGUID() == GetGUID()) { - //TODO: possessed and vehicle target->RemoveCharmAuras(); } else if(target->GetOwnerGUID() == GetGUID() |