Core/Entities: Merge duplicate functions calculating relative positions - remove CalculatePassengerPosition/CalculatePassengerOffset from TransportBase class

This commit is contained in:
Shauren
2025-10-14 13:11:41 +02:00
parent d48e977315
commit a8f01e07d1
28 changed files with 141 additions and 300 deletions

View File

@@ -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));