Skip to content

Commit e094864

Browse files
committed
Merge branch '3.3.5' into ccrs_movementfacing
2 parents 258d92e + fa4d455 commit e094864

3 files changed

Lines changed: 15 additions & 15 deletions

File tree

src/server/game/Movement/MotionMaster.cpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,32 +1033,32 @@ void MotionMaster::MoveFormation(Unit* leader, float range, float angle, uint32
10331033
}
10341034
}
10351035

1036-
void MotionMaster::MoveFace(WorldObject const* object, uint32 id /*= EVENT_FACE*/)
1036+
void MotionMaster::MoveFace(float orientation, uint32 id /*= EVENT_FACE*/)
10371037
{
1038-
if (!object)
1039-
return;
1040-
1041-
TC_LOG_DEBUG("movement.motionmaster", "MotionMaster::MoveFace: '{}', faces '{}'", _owner->GetGUID(), object->GetGUID());
1038+
TC_LOG_DEBUG("movement.motionmaster", "MotionMaster::MoveFace: '{}', faces '{}'", _owner->GetGUID(), orientation);
10421039

1043-
std::function<void(Movement::MoveSplineInit&)> initializer = [owner = _owner, object](Movement::MoveSplineInit& init)
1040+
std::function<void(Movement::MoveSplineInit&)> initializer = [owner = _owner, orientation](Movement::MoveSplineInit& init)
10441041
{
10451042
init.MoveTo(owner->GetPositionX(), owner->GetPositionY(), owner->GetPositionZ(), false);
1046-
init.SetFacing(owner->GetAbsoluteAngle(object)); // when on transport, GetAbsoluteAngle will still return global coordinates (and angle) that needs transforming
1043+
if (owner->GetTransport())
1044+
init.DisableTransportPathTransformations(); // It makes no sense to target global orientation
1045+
init.SetFacing(orientation);
10471046
};
10481047

10491048
Add(new ImmediateMovementGenerator(std::move(initializer), FACE_MOTION_TYPE, id));
10501049
}
10511050

1052-
void MotionMaster::MoveFace(float orientation, uint32 id /*= EVENT_FACE*/)
1051+
void MotionMaster::MoveFace(WorldObject const* object, uint32 id /*= EVENT_FACE*/)
10531052
{
1054-
TC_LOG_DEBUG("movement.motionmaster", "MotionMaster::MoveFace: '{}', faces '{}'", _owner->GetGUID(), orientation);
1053+
if (!object)
1054+
return;
10551055

1056-
std::function<void(Movement::MoveSplineInit&)> initializer = [owner = _owner, orientation](Movement::MoveSplineInit& init)
1056+
TC_LOG_DEBUG("movement.motionmaster", "MotionMaster::MoveFace: '{}', faces '{}'", _owner->GetGUID(), object->GetGUID());
1057+
1058+
std::function<void(Movement::MoveSplineInit&)> initializer = [owner = _owner, object](Movement::MoveSplineInit& init)
10571059
{
10581060
init.MoveTo(owner->GetPositionX(), owner->GetPositionY(), owner->GetPositionZ(), false);
1059-
if (owner->GetTransport())
1060-
init.DisableTransportPathTransformations(); // It makes no sense to target global orientation
1061-
init.SetFacing(orientation);
1061+
init.SetFacing(owner->GetAbsoluteAngle(object)); // when on transport, GetAbsoluteAngle will still return global coordinates (and angle) that needs transforming
10621062
};
10631063

10641064
Add(new ImmediateMovementGenerator(std::move(initializer), FACE_MOTION_TYPE, id));

src/server/game/Movement/MotionMaster.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,8 @@ class TC_GAME_API MotionMaster
190190
void MovePath(WaypointPath& path, bool repeatable);
191191
void MoveRotate(uint32 id, uint32 time, RotateDirection direction);
192192
void MoveFormation(Unit* leader, float range, float angle, uint32 point1, uint32 point2);
193-
void MoveFace(WorldObject const* object, uint32 id = EVENT_FACE);
194193
void MoveFace(float orientation, uint32 id = EVENT_FACE);
194+
void MoveFace(WorldObject const* object, uint32 id = EVENT_FACE);
195195

196196
void LaunchMoveSpline(std::function<void(Movement::MoveSplineInit& init)>&& initializer, uint32 id = 0, MovementGeneratorPriority priority = MOTION_PRIORITY_NORMAL, MovementGeneratorType type = EFFECT_MOTION_TYPE);
197197
private:

src/server/game/Movement/enuminfo_MovementDefines.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ TC_API_EXPORT EnumText EnumUtils<MovementGeneratorType>::ToString(MovementGenera
5656
}
5757

5858
template <>
59-
TC_API_EXPORT size_t EnumUtils<MovementGeneratorType>::Count() { return 19; }
59+
TC_API_EXPORT size_t EnumUtils<MovementGeneratorType>::Count() { return 20; }
6060

6161
template <>
6262
TC_API_EXPORT MovementGeneratorType EnumUtils<MovementGeneratorType>::FromIndex(size_t index)

0 commit comments

Comments
 (0)