feat: add LFG role check confirmation popup with CMSG_LFG_SET_ROLES

When the dungeon finder initiates a role check (SMSG_LFG_ROLE_CHECK_UPDATE
state=2), show a centered popup with Tank/Healer/DPS checkboxes and
Accept/Leave Queue buttons. Accept sends CMSG_LFG_SET_ROLES with the
selected role mask. Previously only showed passive "Role check in progress"
text with no way to respond.
This commit is contained in:
Kelsi 2026-03-20 16:10:29 -07:00
parent df7feed648
commit 23ebfc7e85
4 changed files with 79 additions and 0 deletions

View file

@ -17172,6 +17172,17 @@ void GameHandler::lfgLeave() {
LOG_INFO("Sent CMSG_LFG_LEAVE");
}
void GameHandler::lfgSetRoles(uint8_t roles) {
if (state != WorldState::IN_WORLD || !socket) return;
const uint32_t wire = wireOpcode(Opcode::CMSG_LFG_SET_ROLES);
if (wire == 0xFFFF) return;
network::Packet pkt(static_cast<uint16_t>(wire));
pkt.writeUInt8(roles);
socket->send(pkt);
LOG_INFO("Sent CMSG_LFG_SET_ROLES: roles=", static_cast<int>(roles));
}
void GameHandler::lfgAcceptProposal(uint32_t proposalId, bool accept) {
if (!socket) return;