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:
1 parent
53cc37bcec
commit
ce55647c41
43 files changed
+2165
-946
No files matched your search
@@ -303,30 +303,21 @@ void WorldSession::HandleMovementOpcodes(WorldPacket& recvData)
|
||||
{
|
||||
if (!plrMover->GetTransport())
|
||||
{
|
||||
// elevators also cause the client to send MOVEMENTFLAG_ONTRANSPORT - just dismount if the guid can be found in the transport list
|
||||
for (MapManager::TransportSet::const_iterator iter = sMapMgr->m_Transports.begin(); iter != sMapMgr->m_Transports.end(); ++iter)
|
||||
if (Transport* transport = plrMover->GetMap()->GetTransport(movementInfo.transport.guid))
|
||||
{
|
||||
if ((*iter)->GetGUID() == movementInfo.transport.guid)
|
||||
{
|
||||
plrMover->m_transport = *iter;
|
||||
(*iter)->AddPassenger(plrMover);
|
||||
break;
|
||||
}
|
||||
plrMover->m_transport = transport;
|
||||
transport->AddPassenger(plrMover);
|
||||
}
|
||||
}
|
||||
else if (plrMover->GetTransport()->GetGUID() != movementInfo.transport.guid)
|
||||
{
|
||||
bool foundNewTransport = false;
|
||||
plrMover->m_transport->RemovePassenger(plrMover);
|
||||
for (MapManager::TransportSet::const_iterator iter = sMapMgr->m_Transports.begin(); iter != sMapMgr->m_Transports.end(); ++iter)
|
||||
if (Transport* transport = plrMover->GetMap()->GetTransport(movementInfo.transport.guid))
|
||||
{
|
||||
if ((*iter)->GetGUID() == movementInfo.transport.guid)
|
||||
{
|
||||
foundNewTransport = true;
|
||||
plrMover->m_transport = *iter;
|
||||
(*iter)->AddPassenger(plrMover);
|
||||
break;
|
||||
}
|
||||
foundNewTransport = true;
|
||||
plrMover->m_transport = transport;
|
||||
transport->AddPassenger(plrMover);
|
||||
}
|
||||
|
||||
if (!foundNewTransport)
|
||||
|
||||
Reference in new issue
Block a user