feat(net): finish message read logic for character enumeration

This commit is contained in:
fallenoak 2025-10-05 00:01:37 -05:00
parent c39342906c
commit 9cac949796
No known key found for this signature in database
GPG Key ID: 7628F8E61AEA070D
2 changed files with 21 additions and 5 deletions

View File

@ -257,11 +257,17 @@ int32_t RealmConnection::HandleCharEnum(uint32_t msgId, uint32_t time, CDataStor
if (!characterLimitExceeded) { if (!characterLimitExceeded) {
if (!msg->IsRead()) { if (!msg->IsRead()) {
// TODO what are these fields? // Race restrictions
uint32_t unknown; msg->Get(this->m_restrictHuman);
for (uint32_t i = 0; i < 10; i++) { msg->Get(this->m_restrictDwarf);
msg->Get(unknown); msg->Get(this->m_restrictGnome);
} msg->Get(this->m_restrictNightElf);
msg->Get(this->m_restrictDraenei);
msg->Get(this->m_restrictOrc);
msg->Get(this->m_restrictTroll);
msg->Get(this->m_restrictTauren);
msg->Get(this->m_restrictUndead);
msg->Get(this->m_restrictBloodElf);
} }
if (msg->IsRead()) { if (msg->IsRead()) {

View File

@ -25,6 +25,16 @@ class RealmConnection : public NetClient {
// Member variables // Member variables
RealmResponse* m_realmResponse; RealmResponse* m_realmResponse;
uint32_t m_restrictHuman;
uint32_t m_restrictDwarf;
uint32_t m_restrictGnome;
uint32_t m_restrictNightElf;
uint32_t m_restrictDraenei;
uint32_t m_restrictOrc;
uint32_t m_restrictTroll;
uint32_t m_restrictTauren;
uint32_t m_restrictUndead;
uint32_t m_restrictBloodElf;
TSFixedArray<CHARACTER_INFO> m_characterList; TSFixedArray<CHARACTER_INFO> m_characterList;
uint8_t m_authenticated = 0; uint8_t m_authenticated = 0;
uint32_t m_queuePosition = 0; uint32_t m_queuePosition = 0;