TrinityCore / TrinityCore/WowPacketParser

SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT data inversed

Open
#248 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C#
Stars
522
Forks
387
Avg merge
3d 6h
Merged PRs (30d)
4

Description

Hey,

Making an issue instead of a pull request because I'm not sure 100% sure if this is correct or not.
I believe the latest parser (6.X) for this opcode (SMSG_CHALLENGE_MODE_REQUEST_LEADERS_RESULT) has the names of the data it reads inverted.
It reads a map id, and two groups of data regarding challenge mode leaderboards.
One for guild and one for realm.

I'm pretty sure the guild data is the realm data and vice versa atm.

for HandleChallengeModeRequestLeadersResult

    packet.ReadInt32("MapID");
    packet.ReadTime("LastGuildUpdate");
    packet.ReadTime("LastRealmUpdate");

    var int4 = packet.ReadInt32("GuildLeadersCount");
    var int9 = packet.ReadInt32("RealmLeadersCount");

    for (int i = 0; i < int4; i++)
        ReadChallengeModeAttempt(packet, i, "GuildLeaders");

    for (int i = 0; i < int9; i++)
        ReadChallengeModeAttempt(packet, i, "RealmLeaders");

should be

    packet.ReadInt32("MapID");
    packet.ReadTime("LastRealmUpdate");
    packet.ReadTime("LastGuildUpdate");

    var int4 = packet.ReadInt32("RealmLeadersCount");
    var int9 = packet.ReadInt32("GuildLeadersCount");

    for (int i = 0; i < int4; i++)
        ReadChallengeModeAttempt(packet, i, "RealmLeaders");

    for (int i = 0; i < int9; i++)
        ReadChallengeModeAttempt(packet, i, "GuildLeaders");

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/34715381-smsg_challenge_mode_request_leaders_result-data-inversed?utm_campaign=plugin&utm_content=tracker%2F457228&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F457228&utm_medium=issues&utm_source=github).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at HandleChallengeModeRequestLeadersResult and compare the parser's field names, counts, and leader groups with the packet ordering described in the issue. Verify the resulting output distinguishes realm and guild updates and attempts correctly; the issue is done when those labels and counts match the packet data.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
devtools
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
50/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.