From a8f01e07d111ea14cbe843d82fbfce19f63faa12 Mon Sep 17 00:00:00 2001 From: Shauren Date: Tue, 14 Oct 2025 13:11:41 +0200 Subject: Core/Entities: Merge duplicate functions calculating relative positions - remove CalculatePassengerPosition/CalculatePassengerOffset from TransportBase class --- src/server/game/Garrison/Garrison.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/server/game/Garrison/Garrison.cpp') diff --git a/src/server/game/Garrison/Garrison.cpp b/src/server/game/Garrison/Garrison.cpp index e7c6c059cd0..d71fe4d7474 100644 --- a/src/server/game/Garrison/Garrison.cpp +++ b/src/server/game/Garrison/Garrison.cpp @@ -670,7 +670,7 @@ GarrisonError Garrison::CheckBuildingRemoval(uint32 garrPlotInstanceId) const return GARRISON_SUCCESS; } -template +template T* BuildingSpawnHelper(GameObject* building, ObjectGuid::LowType spawnId, Map* map) { T* spawn = new T(); @@ -680,14 +680,10 @@ T* BuildingSpawnHelper(GameObject* building, ObjectGuid::LowType spawnId, Map* m return nullptr; } - float x = spawn->GetPositionX(); - float y = spawn->GetPositionY(); - float z = spawn->GetPositionZ(); - float o = spawn->GetOrientation(); - TransportBase::CalculatePassengerPosition(x, y, z, &o, building->GetPositionX(), building->GetPositionY(), building->GetPositionZ(), building->GetOrientation()); + Position globalPosition = building->GetPositionWithOffset(spawn->GetPosition()); - spawn->Relocate(x, y, z, o); - (spawn->*SecondaryRelocate)(x, y, z, o); + spawn->Relocate(globalPosition); + (spawn->*SecondaryRelocate)(globalPosition); if (!spawn->IsPositionValid()) { -- cgit v1.2.3