mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
Core/PacketIO: Updated SMSG_LOGIN_VERIFY_WORLD
This commit is contained in:
@@ -814,20 +814,17 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder)
|
||||
pCurrChar->GetMotionMaster()->Initialize();
|
||||
pCurrChar->SendDungeonDifficulty(false);
|
||||
|
||||
WorldPacket data(SMSG_LOGIN_VERIFY_WORLD, 20);
|
||||
data << pCurrChar->GetMapId();
|
||||
data << pCurrChar->GetPositionX();
|
||||
data << pCurrChar->GetPositionY();
|
||||
data << pCurrChar->GetPositionZ();
|
||||
data << pCurrChar->GetOrientation();
|
||||
SendPacket(&data);
|
||||
WorldPackets::Character::LoginVerifyWorld loginVerifyWorld;
|
||||
loginVerifyWorld.MapID = pCurrChar->GetMapId();
|
||||
loginVerifyWorld.Pos = pCurrChar->GetPosition();
|
||||
SendPacket(loginVerifyWorld.Write());
|
||||
|
||||
// load player specific part before send times
|
||||
LoadAccountData(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOAD_ACCOUNT_DATA), PER_CHARACTER_CACHE_MASK);
|
||||
SendAccountDataTimes(PER_CHARACTER_CACHE_MASK);
|
||||
|
||||
bool featureBit4 = true;
|
||||
data.Initialize(SMSG_FEATURE_SYSTEM_STATUS, 7); // checked in 4.2.2
|
||||
WorldPacket data(SMSG_FEATURE_SYSTEM_STATUS, 7); // checked in 4.2.2
|
||||
data << uint8(2); // unknown value
|
||||
data << uint32(1);
|
||||
data << uint32(1);
|
||||
|
||||
@@ -286,3 +286,11 @@ void WorldPackets::Character::PlayerLogin::Read()
|
||||
_worldPacket >> Guid;
|
||||
_worldPacket >> FarClip;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Character::LoginVerifyWorld::Write()
|
||||
{
|
||||
_worldPacket << int32(MapID);
|
||||
_worldPacket << Pos.PositionXYZOStream();
|
||||
_worldPacket << uint32(Reason);
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
@@ -254,6 +254,18 @@ namespace WorldPackets
|
||||
ObjectGuid Guid; ///< Guid of the player that is logging in
|
||||
float FarClip = 0.0f; ///< Visibility distance (for terrain)
|
||||
};
|
||||
|
||||
class LoginVerifyWorld final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
LoginVerifyWorld() : ServerPacket(SMSG_LOGIN_VERIFY_WORLD, 4 + 4 * 4 + 4) { }
|
||||
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
int32 MapID = -1;
|
||||
Position Pos;
|
||||
uint32 Reason = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1016,7 +1016,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LIST_INVENTORY, STATUS_UNHANDLED);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOAD_CUF_PROFILES, STATUS_UNHANDLED);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_SETTIMESPEED, STATUS_UNHANDLED);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_VERIFY_WORLD, STATUS_UNHANDLED);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGIN_VERIFY_WORLD, STATUS_NEVER);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_CANCEL_ACK, STATUS_UNHANDLED);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_COMPLETE, STATUS_UNHANDLED);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_RESPONSE, STATUS_UNHANDLED);
|
||||
|
||||
Reference in New Issue
Block a user