mirror of
https://github.com/mangosfour/server.git
synced 2025-12-15 01:37:00 +00:00
Fix SMSG_UPDATE_OBJECT, SMSG_DESTROY_OBJECT, and some teleport opcodes
Authors: Strawberry, Trinity, me Signed-off-by: Yaki Khadafi <elsoldollo@gmail.com>
This commit is contained in:
parent
39dda4bc4c
commit
f7cd8ce52a
24 changed files with 578 additions and 390 deletions
|
|
@ -516,7 +516,7 @@ bool WorldSession::VerifyMovementInfo(MovementInfo const& movementInfo, ObjectGu
|
|||
if (!MaNGOS::IsValidMapCoord(movementInfo.GetPos()->x, movementInfo.GetPos()->y, movementInfo.GetPos()->z, movementInfo.GetPos()->o))
|
||||
return false;
|
||||
|
||||
if (movementInfo.HasMovementFlag(MOVEFLAG_ONTRANSPORT))
|
||||
if (movementInfo.GetTransportGuid())
|
||||
{
|
||||
// transports size limited
|
||||
// (also received at zeppelin/lift leave by some reason with t_* as absolute in continent coordinates, can be safely skipped)
|
||||
|
|
@ -541,11 +541,11 @@ void WorldSession::HandleMoverRelocation(MovementInfo& movementInfo)
|
|||
|
||||
if (Player* plMover = mover->GetTypeId() == TYPEID_PLAYER ? (Player*)mover : NULL)
|
||||
{
|
||||
if (movementInfo.HasMovementFlag(MOVEFLAG_ONTRANSPORT))
|
||||
if (movementInfo.GetTransportGuid())
|
||||
{
|
||||
if (!plMover->m_transport)
|
||||
{
|
||||
// elevators also cause the client to send MOVEFLAG_ONTRANSPORT - just unmount if the guid can be found in the transport list
|
||||
// elevators also cause the client to send transport guid - just unmount 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 ((*iter)->GetObjectGuid() == movementInfo.GetTransportGuid())
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue