Core/PacketIO: Updated SMSG_LOGIN_VERIFY_WORLD (#24395)

(cherry picked from commit 7256c7c2c7)

Co-authored-by: Shauren <shauren.trinity@gmail.com>
This commit is contained in:
ForesterDev
2020-04-06 17:18:36 +04:00
committed by GitHub
parent caf4c4cf2b
commit 97405ceb01
3 changed files with 24 additions and 8 deletions

View File

@@ -738,19 +738,16 @@ 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);
data.Initialize(SMSG_FEATURE_SYSTEM_STATUS, 2); // added in 2.2.0
WorldPacket data(SMSG_FEATURE_SYSTEM_STATUS, 2); // added in 2.2.0
data << uint8(2); // unknown value
data << uint8(0); // enable(1)/disable(0) voice chat interface in client
SendPacket(&data);

View File

@@ -26,3 +26,10 @@ void WorldPackets::Character::ShowingHelm::Read()
{
_worldPacket >> ShowHelm;
}
WorldPacket const* WorldPackets::Character::LoginVerifyWorld::Write()
{
_worldPacket << int32(MapID);
_worldPacket << Pos;
return &_worldPacket;
}

View File

@@ -19,6 +19,7 @@
#define CharacterPackets_h__
#include "Packet.h"
#include "Position.h"
namespace WorldPackets
{
@@ -43,6 +44,17 @@ namespace WorldPackets
bool ShowHelm = false;
};
class LoginVerifyWorld final : public ServerPacket
{
public:
LoginVerifyWorld() : ServerPacket(SMSG_LOGIN_VERIFY_WORLD, 4 + 4 * 4) { }
WorldPacket const* Write() override;
int32 MapID = -1;
TaggedPosition<Position::XYZO> Pos;
};
}
}