From c0ffaa659bd372e180e275b8080ef7f060c0cef4 Mon Sep 17 00:00:00 2001 From: Hondacrx Date: Mon, 18 Aug 2025 10:48:44 -0400 Subject: [PATCH] Core/Objects: Replace separate x,y,z,o getters for stationary position with single Position Port From (https://github.com/TrinityCore/TrinityCore/commit/de740f0e76f6ebd02fcdb93a7a86260fe595d10c) --- Source/Game/Entities/AreaTrigger/AreaTrigger.cs | 7 ++----- Source/Game/Entities/Conversation.cs | 5 +---- Source/Game/Entities/GameObject/GameObject.cs | 7 ++----- Source/Game/Entities/Object/WorldObject.cs | 10 ++-------- Source/Game/Entities/SceneObject.cs | 5 +---- 5 files changed, 8 insertions(+), 26 deletions(-) diff --git a/Source/Game/Entities/AreaTrigger/AreaTrigger.cs b/Source/Game/Entities/AreaTrigger/AreaTrigger.cs index 68efc9ea6..c2c2165da 100644 --- a/Source/Game/Entities/AreaTrigger/AreaTrigger.cs +++ b/Source/Game/Entities/AreaTrigger/AreaTrigger.cs @@ -1093,7 +1093,7 @@ namespace Game.Entities _movementTime = 0; _spline = new Spline(); - _spline.InitSpline(splinePoints, splinePoints.Length, EvaluationMode.Linear, GetStationaryO()); + _spline.InitSpline(splinePoints, splinePoints.Length, EvaluationMode.Linear, _stationaryPosition.GetOrientation()); _spline.InitLengths(); float speed = overrideSpeed.GetValueOrDefault(GetCreateProperties().Speed); @@ -1432,10 +1432,7 @@ namespace Game.Entities } } - public override float GetStationaryX() { return _stationaryPosition.GetPositionX(); } - public override float GetStationaryY() { return _stationaryPosition.GetPositionY(); } - public override float GetStationaryZ() { return _stationaryPosition.GetPositionZ(); } - public override float GetStationaryO() { return _stationaryPosition.GetOrientation(); } + public override Position GetStationaryPosition() { return _stationaryPosition; } void RelocateStationaryPosition(Position pos) { _stationaryPosition.Relocate(pos); } public bool IsRemoved() { return _isRemoved; } diff --git a/Source/Game/Entities/Conversation.cs b/Source/Game/Entities/Conversation.cs index 777ca93c6..118469a32 100644 --- a/Source/Game/Entities/Conversation.cs +++ b/Source/Game/Entities/Conversation.cs @@ -371,10 +371,7 @@ namespace Game.Entities public override ObjectGuid GetOwnerGUID() { return GetCreatorGUID(); } public override uint GetFaction() { return 0; } - public override float GetStationaryX() { return _stationaryPosition.GetPositionX(); } - public override float GetStationaryY() { return _stationaryPosition.GetPositionY(); } - public override float GetStationaryZ() { return _stationaryPosition.GetPositionZ(); } - public override float GetStationaryO() { return _stationaryPosition.GetOrientation(); } + public override Position GetStationaryPosition() { return _stationaryPosition; } void RelocateStationaryPosition(Position pos) { _stationaryPosition.Relocate(pos); } ConversationData m_conversationData; diff --git a/Source/Game/Entities/GameObject/GameObject.cs b/Source/Game/Entities/GameObject/GameObject.cs index 4bb01a44a..745b61cd6 100644 --- a/Source/Game/Entities/GameObject/GameObject.cs +++ b/Source/Game/Entities/GameObject/GameObject.cs @@ -3879,13 +3879,10 @@ namespace Game.Entities public override uint GetFaction() { return m_gameObjectData.FactionTemplate; } public override void SetFaction(uint faction) { SetUpdateFieldValue(m_values.ModifyValue(m_gameObjectData).ModifyValue(m_gameObjectData.FactionTemplate), faction); } - public override float GetStationaryX() { return StationaryPosition.GetPositionX(); } - public override float GetStationaryY() { return StationaryPosition.GetPositionY(); } - public override float GetStationaryZ() { return StationaryPosition.GetPositionZ(); } - public override float GetStationaryO() { return StationaryPosition.GetOrientation(); } - public Position GetStationaryPosition() { return StationaryPosition; } + public override Position GetStationaryPosition() { return StationaryPosition; } public void RelocateStationaryPosition(float x, float y, float z, float o) { StationaryPosition.Relocate(x, y, z, o); } + public void RelocateStationaryPosition(Position pos) { StationaryPosition.Relocate(pos); } //! Object distance/size - overridden from Object._IsWithinDist. Needs to take in account proper GO size. public override bool _IsWithinDist(WorldObject obj, float dist2compare, bool is3D, bool incOwnRadius, bool incTargetRadius) diff --git a/Source/Game/Entities/Object/WorldObject.cs b/Source/Game/Entities/Object/WorldObject.cs index d17045d35..7ed43b9d3 100644 --- a/Source/Game/Entities/Object/WorldObject.cs +++ b/Source/Game/Entities/Object/WorldObject.cs @@ -456,10 +456,7 @@ namespace Game.Entities if (flags.Stationary) { WorldObject self = this; - data.WriteFloat(self.GetStationaryX()); - data.WriteFloat(self.GetStationaryY()); - data.WriteFloat(self.GetStationaryZ()); - data.WriteFloat(self.GetStationaryO()); + data.WriteXYZO(self.GetStationaryPosition()); } if (flags.CombatVictim) @@ -3256,10 +3253,7 @@ namespace Game.Entities } public void SetTransport(ITransport t) { m_transport = t; } - public virtual float GetStationaryX() { return GetPositionX(); } - public virtual float GetStationaryY() { return GetPositionY(); } - public virtual float GetStationaryZ() { return GetPositionZ(); } - public virtual float GetStationaryO() { return GetOrientation(); } + public virtual Position GetStationaryPosition() { return this; } public virtual float GetCollisionHeight() { return 0.0f; } public float GetMidsectionHeight() { return GetCollisionHeight() / 2.0f; } diff --git a/Source/Game/Entities/SceneObject.cs b/Source/Game/Entities/SceneObject.cs index 40b5529fa..47b7e8ff2 100644 --- a/Source/Game/Entities/SceneObject.cs +++ b/Source/Game/Entities/SceneObject.cs @@ -178,10 +178,7 @@ namespace Game.Entities public override ObjectGuid GetOwnerGUID() { return m_sceneObjectData.CreatedBy; } public override uint GetFaction() { return 0; } - public override float GetStationaryX() { return _stationaryPosition.GetPositionX(); } - public override float GetStationaryY() { return _stationaryPosition.GetPositionY(); } - public override float GetStationaryZ() { return _stationaryPosition.GetPositionZ(); } - public override float GetStationaryO() { return _stationaryPosition.GetOrientation(); } + public override Position GetStationaryPosition() { return _stationaryPosition; } void RelocateStationaryPosition(Position pos) { _stationaryPosition.Relocate(pos); } public void SetCreatedBySpellCast(ObjectGuid castId) { _createdBySpellCast = castId; }