diff options
-rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Object/Object.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 7feb6610bd4..069db552f3f 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -3490,7 +3490,7 @@ void WorldObject::GetContactPoint(WorldObject const* obj, float& x, float& y, fl GetNearPoint(obj, x, y, z, distance2d, GetAbsoluteAngle(obj)); } -void WorldObject::MovePosition(Position &pos, float dist, float angle) const +void WorldObject::MovePosition(Position &pos, float dist, float angle, float maxHeightChange /*= 6.0f*/) const { angle += GetOrientation(); float destx, desty, destz, ground, floor; @@ -3514,7 +3514,7 @@ void WorldObject::MovePosition(Position &pos, float dist, float angle) const for (uint8 j = 0; j < 10; ++j) { // do not allow too big z changes - if (std::fabs(pos.m_positionZ - destz) > 6) + if (std::fabs(pos.m_positionZ - destz) > maxHeightChange) { destx -= step * std::cos(angle); desty -= step * std::sin(angle); diff --git a/src/server/game/Entities/Object/Object.h b/src/server/game/Entities/Object/Object.h index e5a205919ed..f8becf42063 100644 --- a/src/server/game/Entities/Object/Object.h +++ b/src/server/game/Entities/Object/Object.h @@ -505,7 +505,7 @@ class TC_GAME_API WorldObject : public Object, public WorldLocation void GetNearPoint2D(WorldObject const* searcher, float& x, float& y, float distance, float absAngle) const; void GetNearPoint(WorldObject const* searcher, float& x, float& y, float& z, float distance2d, float absAngle) const; void GetClosePoint(float& x, float& y, float& z, float size, float distance2d = 0, float relAngle = 0) const; - void MovePosition(Position &pos, float dist, float angle) const; + void MovePosition(Position &pos, float dist, float angle, float maxHeightChange = 6.0f) const; Position GetNearPosition(float dist, float angle); void MovePositionToFirstCollision(Position &pos, float dist, float angle) const; Position GetFirstCollisionPosition(float dist, float angle); |