mirror of
https://github.com/araxiaonline/TrinityCore.git
synced 2026-06-18 22:19:54 -04:00
Core/Transports
* Rewritten path generation, now uses splines - timers are a lot more accurate now * Implemented stopping transports * Implemented spawning transports in instances * Implemented spawning gameobjects as transport passengers * Transport passengers are now stored in creature/gameobject table using gameobject_template.data6 from transport's template as map id
This commit is contained in:
@@ -219,9 +219,6 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c
|
||||
case GAMEOBJECT_TYPE_FLAGDROP:
|
||||
updateType = UPDATETYPE_CREATE_OBJECT2;
|
||||
break;
|
||||
case GAMEOBJECT_TYPE_TRANSPORT:
|
||||
flags |= UPDATEFLAG_TRANSPORT;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -414,13 +411,10 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
|
||||
// 0x40
|
||||
if (flags & UPDATEFLAG_STATIONARY_POSITION)
|
||||
{
|
||||
*data << object->GetPositionX();
|
||||
*data << object->GetPositionY();
|
||||
if (isType(TYPEMASK_UNIT))
|
||||
*data << unit->GetPositionZMinusOffset();
|
||||
else
|
||||
*data << object->GetPositionZ();
|
||||
*data << object->GetOrientation();
|
||||
*data << object->GetStationaryX();
|
||||
*data << object->GetStationaryY();
|
||||
*data << object->GetStationaryZ();
|
||||
*data << object->GetStationaryO();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -473,7 +467,11 @@ void Object::BuildMovementUpdate(ByteBuffer* data, uint16 flags) const
|
||||
// 0x2
|
||||
if (flags & UPDATEFLAG_TRANSPORT)
|
||||
{
|
||||
*data << uint32(getMSTime()); // Unknown - getMSTime is wrong.
|
||||
GameObject const* go = ToGameObject();
|
||||
if (go && go->IsTransport())
|
||||
*data << uint32(go->GetGOValue()->Transport.PathProgress);
|
||||
else
|
||||
*data << uint32(getMSTime());
|
||||
}
|
||||
|
||||
// 0x80
|
||||
|
||||
Reference in New Issue
Block a user