From fa0e5289a87fea15fac2ab0c2ace26ee06288174 Mon Sep 17 00:00:00 2001 From: mik1893 Date: Wed, 15 Jul 2015 18:43:19 +0200 Subject: 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 --- .../Movement/MovementGenerators/IdleMovementGenerator.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/server/game/Movement') 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) -- cgit v1.2.3