aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/AI
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2025-10-14 13:11:41 +0200
committerShauren <shauren.trinity@gmail.com>2025-10-14 13:11:41 +0200
commita8f01e07d111ea14cbe843d82fbfce19f63faa12 (patch)
tree2aca52b9b4dfa9723ec170e672e2a4ddb7481178 /src/server/game/AI
parentd48e97731538b01c4005cd7c73653a0f33015098 (diff)
Core/Entities: Merge duplicate functions calculating relative positions - remove CalculatePassengerPosition/CalculatePassengerOffset from TransportBase class
Diffstat (limited to 'src/server/game/AI')
-rw-r--r--src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp5
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp8
2 files changed, 3 insertions, 10 deletions
diff --git a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
index a6343124e51..f009403755c 100644
--- a/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
+++ b/src/server/game/AI/ScriptedAI/ScriptedEscortAI.cpp
@@ -176,10 +176,7 @@ void EscortAI::UpdateAI(uint32 diff)
TC_LOG_DEBUG("scripts.ai.escortai", "EscortAI::UpdateAI: reached end of waypoints, despawning at end ({})", me->GetGUID().ToString());
if (_returnToStart)
{
- Position respawnPosition;
- float orientation = 0.f;
- me->GetRespawnPosition(respawnPosition.m_positionX, respawnPosition.m_positionY, respawnPosition.m_positionZ, &orientation);
- respawnPosition.SetOrientation(orientation);
+ Position respawnPosition = me->GetRespawnPosition();
me->GetMotionMaster()->MovePoint(POINT_HOME, respawnPosition);
TC_LOG_DEBUG("scripts.ai.escortai", "EscortAI::UpdateAI: returning to spawn location: {} ({})", respawnPosition.ToString(), me->GetGUID().ToString());
}
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 7eccef96070..42a3e09d1d9 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -810,11 +810,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
// Reset home position to respawn position if specified in the parameters
if (e.action.evade.toRespawnPosition == 0)
- {
- float homeX, homeY, homeZ, homeO;
- me->GetRespawnPosition(homeX, homeY, homeZ, &homeO);
- me->SetHomePosition(homeX, homeY, homeZ, homeO);
- }
+ me->SetHomePosition(me->GetRespawnPosition());
me->AI()->EnterEvadeMode();
TC_LOG_DEBUG("scripts.ai", "SmartScript::ProcessAction:: SMART_ACTION_EVADE: Creature {} EnterEvadeMode", me->GetGUID());
@@ -1523,7 +1519,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
Position dest(e.target.x, e.target.y, e.target.z);
if (e.action.moveToPos.transport)
if (TransportBase* trans = me->GetDirectTransport())
- trans->CalculatePassengerPosition(dest.m_positionX, dest.m_positionY, dest.m_positionZ);
+ dest = trans->GetPositionWithOffset(dest);
me->GetMotionMaster()->MovePoint(e.action.moveToPos.pointId, dest, e.action.moveToPos.disablePathfinding == 0, {}, {},
MovementWalkRunSpeedSelectionMode::Default, {}, std::move(scriptResult));