aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormegamage <none@none>2008-12-13 12:14:03 -0600
committermegamage <none@none>2008-12-13 12:14:03 -0600
commit4b64670f70aa7997f361aa2fe392f032fc683d84 (patch)
tree4ca52ff1093f2ce829da9f36ee6e351a61a7cd2e /src
parent8b4f5b629091965adf4d565329429071bc519e4c (diff)
*Prevent from creature rotating face to victim while confused (also fleeing). By Silver1ce.
--HG-- branch : trunk
Diffstat (limited to 'src')
-rw-r--r--src/game/Unit.cpp8
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();
}