From 4b64670f70aa7997f361aa2fe392f032fc683d84 Mon Sep 17 00:00:00 2001 From: megamage Date: Sat, 13 Dec 2008 12:14:03 -0600 Subject: *Prevent from creature rotating face to victim while confused (also fleeing). By Silver1ce. --HG-- branch : trunk --- src/game/Unit.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src') 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(); } -- cgit v1.2.3