mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-23 10:26:28 +01:00
Core/Transports: restrict passenger position update upon entering a transport for units only
This commit is contained in:
@@ -68,13 +68,17 @@ void Transport::AddPassenger(WorldObject* passenger)
|
||||
passenger->SetTransport(this);
|
||||
passenger->m_movementInfo.transport.guid = GetGUID();
|
||||
passenger->m_movementInfo.transport.time = GetTimer();
|
||||
float x, y, z, o;
|
||||
passenger->GetPosition(x, y, z, o);
|
||||
TransportBase::CalculatePassengerOffset(x, y, z, &o, GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation());
|
||||
passenger->m_movementInfo.transport.pos.Relocate(x, y, z, o);
|
||||
|
||||
if (IsInWorld() && passenger->IsInWorld())
|
||||
UpdatePositionForPassenger(passenger);
|
||||
if (passenger->GetTypeId() == TYPEID_UNIT)
|
||||
{
|
||||
float x, y, z, o;
|
||||
passenger->GetPosition(x, y, z, o);
|
||||
TransportBase::CalculatePassengerOffset(x, y, z, &o, GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation());
|
||||
passenger->m_movementInfo.transport.pos.Relocate(x, y, z, o);
|
||||
|
||||
if (IsInWorld() && passenger->IsInWorld())
|
||||
UpdatePositionForPassenger(passenger);
|
||||
}
|
||||
|
||||
TC_LOG_DEBUG("entities.transport", "Object %s boarded transport %s.", passenger->GetName().c_str(), GetName().c_str());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user