Skip to content

Packets/Party: fix GUID byte handling in role packets#468

Open
gonzo1247 wants to merge 1 commit into
The-Cataclysm-Preservation-Project:masterfrom
gonzo1247:Party-Role-Check
Open

Packets/Party: fix GUID byte handling in role packets#468
gonzo1247 wants to merge 1 commit into
The-Cataclysm-Preservation-Project:masterfrom
gonzo1247:Party-Role-Check

Conversation

@gonzo1247
Copy link
Copy Markdown
Contributor

@gonzo1247 gonzo1247 commented May 18, 2026

Changes proposed:
Fix corrupted GUID handling in CMSG_SET_ROLE and SMSG_ROLE_CHANGED_INFORM.

During the packet class conversion, one GUID byte was read/written twice while another byte was skipped:

  • SetRole::Read read ChangedUnit[3] twice and never read ChangedUnit[2].
  • RoleChangedInform::Write wrote ChangedUnit[6] twice and never wrote ChangedUnit[5].

As a result, role selection responses could resolve to an invalid group member GUID, causing role updates to fail.

This restores the GUID byte order used by the previous raw packet handlers.

Tests performed: (Does it build, tested in-game, etc)
build
Tested ingame:

  • created a party/raid
  • started a role poll
  • selected Tank/Healer/Damage roles
  • role selection is now applied and propagated correctly

**
This regression was introduced by commit 056248c
("Core/Packets: converted CMSG_SET_ROLE and SMSG_ROLE_CHANGED_INFORM to packet class").

During the packet class conversion, one ChangedUnit GUID byte was duplicated while another one was skipped:

  • SetRole::Read reads ChangedUnit[3] twice and never reads ChangedUnit[2].
  • RoleChangedInform::Write writes ChangedUnit[6] twice and never writes ChangedUnit[5].

This causes CMSG_SET_ROLE to decode a corrupted ChangedUnit GUID, so Group::SetLfgRoles cannot resolve the selected group member and the selected role is not applied.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant