diff options
author | megamage <none@none> | 2008-12-13 12:14:03 -0600 |
---|---|---|
committer | megamage <none@none> | 2008-12-13 12:14:03 -0600 |
commit | 4b64670f70aa7997f361aa2fe392f032fc683d84 (patch) | |
tree | 4ca52ff1093f2ce829da9f36ee6e351a61a7cd2e | |
parent | 8b4f5b629091965adf4d565329429071bc519e4c (diff) |
*Prevent from creature rotating face to victim while confused (also fleeing). By Silver1ce.
--HG--
branch : trunk
-rw-r--r-- | src/game/Unit.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index b5b54f063d7..bb72530490d 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -12824,6 +12824,7 @@ void Unit::SetFeared(bool apply) if(HasAuraType(SPELL_AURA_PREVENTS_FLEEING)) return; + SetUInt64Value(UNIT_FIELD_TARGET, 0); SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_FLEEING); CastStop(); //GetMotionMaster()->MovementExpired(false); @@ -12839,7 +12840,10 @@ void Unit::SetFeared(bool apply) if(isAlive()) { if( GetTypeId() != TYPEID_PLAYER && getVictim()) + { + SetUInt64Value(UNIT_FIELD_TARGET, getVictim()->GetGUID()); GetMotionMaster()->MoveChase(getVictim()); + } else GetMotionMaster()->Initialize(); } @@ -12853,6 +12857,7 @@ void Unit::SetConfused(bool apply) { if(apply) { + SetUInt64Value(UNIT_FIELD_TARGET, 0); SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_CONFUSED); CastStop(); GetMotionMaster()->MoveConfused(); @@ -12863,7 +12868,10 @@ void Unit::SetConfused(bool apply) if(isAlive()) { if( GetTypeId() != TYPEID_PLAYER && getVictim()) + { + SetUInt64Value(UNIT_FIELD_TARGET, getVictim()->GetGUID()); GetMotionMaster()->MoveChase(getVictim()); + } else GetMotionMaster()->Initialize(); } |