mirror of
https://github.com/mangosfour/server.git
synced 2025-12-16 13:37:00 +00:00
fix SMSG_AUTH_RESPONSE
This commit is contained in:
parent
d899cceeaa
commit
c56b2ade1e
1 changed files with 23 additions and 18 deletions
|
|
@ -910,27 +910,30 @@ void WorldSession::SendAuthResponse(uint8 code, bool queued, uint32 queuePos)
|
||||||
{
|
{
|
||||||
bool hasAccountData = true;
|
bool hasAccountData = true;
|
||||||
|
|
||||||
WorldPacket packet(SMSG_AUTH_RESPONSE, 1 /*bits*/ + 4 + 1 + 4 + 1 + 4 + 1 + 1 + (queued ? 4 : 0));
|
WorldPacket packet(SMSG_AUTH_RESPONSE, 80);
|
||||||
packet << uint8(code);
|
|
||||||
packet.WriteBit(queued); // IsInQueue
|
|
||||||
if (queued)
|
|
||||||
packet.WriteBit(1); // unk
|
|
||||||
|
|
||||||
packet.WriteBit(hasAccountData);
|
packet.WriteBit(hasAccountData);
|
||||||
|
|
||||||
if (hasAccountData)
|
if (hasAccountData)
|
||||||
{
|
{
|
||||||
|
packet.WriteBits(MAX_CLASSES - 1, 23);
|
||||||
|
packet.WriteBits(0, 21);
|
||||||
|
packet.WriteBit(0);
|
||||||
|
packet.WriteBit(0);
|
||||||
|
packet.WriteBit(0);
|
||||||
packet.WriteBit(0);
|
packet.WriteBit(0);
|
||||||
packet.WriteBits(0, 21);
|
|
||||||
packet.WriteBits(0, 21);
|
|
||||||
packet.WriteBits(MAX_PLAYABLE_RACES, 23);
|
packet.WriteBits(MAX_PLAYABLE_RACES, 23);
|
||||||
packet.WriteBit(0);
|
packet.WriteBit(0);
|
||||||
packet.WriteBit(0);
|
|
||||||
packet.WriteBit(0);
|
|
||||||
packet.WriteBits(MAX_CLASSES - 1, 23);
|
|
||||||
|
|
||||||
packet << uint32(0);
|
packet.WriteBit(queued);
|
||||||
packet << uint32(0);
|
|
||||||
packet << uint8(5); //TODO: FIXME uint8(Expansion()); // Unknown, these two show the same
|
if (queued)
|
||||||
|
packet.WriteBit(1);
|
||||||
|
|
||||||
|
packet.FlushBits();
|
||||||
|
|
||||||
|
if (queued)
|
||||||
|
packet << uint32(queuePos);
|
||||||
|
|
||||||
for (uint8 i = 0; i < MAX_PLAYABLE_RACES; ++i)
|
for (uint8 i = 0; i < MAX_PLAYABLE_RACES; ++i)
|
||||||
{
|
{
|
||||||
|
|
@ -938,21 +941,23 @@ void WorldSession::SendAuthResponse(uint8 code, bool queued, uint32 queuePos)
|
||||||
packet << uint8(raceExpansionInfo[i].raceOrClass);
|
packet << uint8(raceExpansionInfo[i].raceOrClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
packet << uint8(5); //TODO: FIXME uint8(Expansion()); // Unknown, these two show the same
|
|
||||||
packet << uint32(0);
|
|
||||||
|
|
||||||
for (uint8 i = 0; i < MAX_CLASSES - 1; ++i)
|
for (uint8 i = 0; i < MAX_CLASSES - 1; ++i)
|
||||||
{
|
{
|
||||||
packet << uint8(classExpansionInfo[i].raceOrClass);
|
packet << uint8(classExpansionInfo[i].raceOrClass);
|
||||||
packet << uint8(classExpansionInfo[i].expansion);
|
packet << uint8(classExpansionInfo[i].expansion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
packet << uint32(0);
|
||||||
|
packet << uint8(Expansion());
|
||||||
|
packet << uint32(Expansion());
|
||||||
|
packet << uint32(0);
|
||||||
|
packet << uint8(Expansion());
|
||||||
|
packet << uint32(0);
|
||||||
packet << uint32(0);
|
packet << uint32(0);
|
||||||
packet << uint32(0);
|
packet << uint32(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (queued)
|
packet << uint8(code);
|
||||||
packet << uint32(queuePos);
|
|
||||||
|
|
||||||
SendPacket(&packet);
|
SendPacket(&packet);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue