aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Movement
diff options
context:
space:
mode:
authormik1893 <michele.roscelli@gmail.com>2015-07-15 18:43:19 +0200
committerDDuarte <dnpd.dd@gmail.com>2015-07-19 01:43:05 +0100
commitfa0e5289a87fea15fac2ab0c2ace26ee06288174 (patch)
tree911637b91b6eb8560c9df986c5480fcfb6039598 /src/server/game/Movement
parent0ea0e9ee01383d8a74357000e854dc0777669d6d (diff)
Merge pull request #14974 from pete318/stealth_work
Stealth changes (Player stealthed vs NPCs) - 3.3.5 (cherry picked from commit 90fcfb3f2d71e15d162cb52b915b53a11bc42212) Conflicts: src/server/game/Entities/Object/Object.h src/server/game/Entities/Unit/Unit.cpp
Diffstat (limited to 'src/server/game/Movement')
-rw-r--r--src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
index cdbc1a8919f..3f91032dde6 100644
--- a/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/IdleMovementGenerator.cpp
@@ -74,12 +74,23 @@ void RotateMovementGenerator::Finalize(Unit* unit)
void DistractMovementGenerator::Initialize(Unit* owner)
{
+ // Distracted creatures stand up if not standing
+ if (!owner->IsStandState())
+ owner->SetStandState(UNIT_STAND_STATE_STAND);
+
owner->AddUnitState(UNIT_STATE_DISTRACTED);
}
void DistractMovementGenerator::Finalize(Unit* owner)
{
owner->ClearUnitState(UNIT_STATE_DISTRACTED);
+
+ // If this is a creature, then return orientation to original position (for idle movement creatures)
+ if (owner->GetTypeId() == TYPEID_UNIT && owner->ToCreature())
+ {
+ float angle = owner->ToCreature()->GetHomePosition().GetOrientation();
+ owner->SetFacingTo(angle);
+ }
}
bool DistractMovementGenerator::Update(Unit* /*owner*/, uint32 time_diff)