BNETDocs
Chat Statstrings

Chat statstrings appear in the TEXT field of S > C [0x0F] SID_CHATEVENT for user events.

Format: ProductID + ' ' + Statstring

  • ProductID: Reversed four-letter product ID, appears like the UINT32 as sent during logon.
  • Statstring: Depends on product. Specified below:

Diablo

Contain 9 fields that are delimited with spaces.

Note that this product allows the client to specify whatever statstring it calculates, so bots may not follow this format!

  1. Character Level
  2. Character Class
    • '0': Warrior
    • '1': Rogue
    • '2': Sorcerer
  3. Number of dots
    • '0': Has not killed Diablo
    • '1': Killed Diablo on Normal difficulty
    • '2': Killed Diablo on Nightmare difficulty
    • '3': Killed Diablo on Hell difficulty
  4. Character's Strength
  5. Character's Magic
  6. Character's Dexterity
  7. Character's Vitality
  8. Character's Gold
  9. Spawned
    • '0': Not spawned
    • '1': Spawned

Diablo II, Diablo II: Lord of Destruction

These products do not have the same format.

If the player is on Open, the format is: ProductID Otherwise, the format is: ProductID + RealmName + ',' + CharacterName + ',' + Bytes

  1. ProductID
    • 'PX2D'
    • 'VD2D'
  2. Realm name
  3. Character name
  4. 33-byte struct (Each byte is between 0x01 and 0xFF and is explained below. 0xFF generally means the field is empty or not available.)
    1. Unknown: 0x84 (Larger values have been observed)
    2. Unknown: 0x80
    3. Equipment: Head
    4. Equipment: Torso
    5. Equipment: Legs
    6. Equipment: Right Arm
    7. Equipment: Left Arm
    8. Equipment: Right Weapon
    9. Equipment: Left Weapon
    10. Equipment: Left Shield
    11. Equipment: Right Shoulder Pad
    12. Equipment: Left Shoulder Pad
    13. Left Item (Heads)
    14. Character Type
      1. Amazon
      2. Sorceress
      3. Necromancer
      4. Paladin
      5. Barbarian
      6. Druid
      7. Assassin
    15. Color: Head
    16. Color: Torso
    17. Color: Legs
    18. Color: Right Arm
    19. Color: Left Arm
    20. Color: Right Weapon
    21. Color: Left Weapon
    22. Color: Shield
    23. Color: Right Shoulder Pad
    24. Color: Left Shoulder Pad
    25. Color: Left Item (Heads)
    26. Level (0x01 to 0x63)
    27. Flags
      • 0x04: Hardcore
      • 0x08: Dead
      • 0x20 Expansion
    28. Current Act
      • Original:
        • 0x80: Normal Act I
        • 0x82: Normal Act II
        • 0x84: Normal Act II
        • 0x86: Normal Act IV
        • 0x88: Nightmare Act I
        • 0x8A: Nightmare Act II
        • 0x8C: Nightmare Act III
        • 0x8E: Nightmare Act IV
        • 0x90: Hell Act I
        • 0x92: Hell Act II
        • 0x94: Hell Act III
        • 0x96: Hell Act IV
        • 0x98: All Acts Completed
      • Expansion
        • 0x80: Normal Act I
        • 0x82: Normal Act II
        • 0x84: Normal Act III
        • 0x86: Normal Act IV/V
        • 0x8A: Nightmare Act I
        • 0x8C: Nightmare Act II
        • 0x8E: Nightmare Act III
        • 0x90: Nightmare Act IV/V
        • 0x94: Hell Act I
        • 0x96: Hell Act II
        • 0x98: Hell Act III
        • 0x9A: Hell Act IV/V
        • 0x9E: All Acts Completed
    29. Unknown: 0x80 or 0xFF
    30. Unknown: 0x80 or 0xFF
    31. Ladder
      • 0xFF: Non-Ladder
      • Other: Ladder
        • Seems to be season number
    32. Unknown: 0xFF
    33. Unknown: 0xFF

StarCraft, StarCraft Japanese, StarCraft: Brood War, and WarCraft II

Contain 9 fields that are delimited with spaces.

  1. Ladder Rating
  2. Ladder Rank
  3. Wins
    • The amount of wins in normal games
  4. Spawned
    • '0': Not spawned
    • '1': Spawned
  5. League ID
  6. High Ladder Rating
    • The highest rating that the player has ever achieved
  7. IronMan Ladder Rating
  8. IronMan Ladder Rank
  9. Icon
    • This value should be matched against the product values of each icon in each Battle.net Icon file that is loaded. If a match is found, the client should use this icon when displaying the user.

WarCraft III, WarCraft III: The Frozen Throne

Contain 2 fields and 1 optional field, all fields are delimited with spaces.

There is a possibility that there can be 0 fields, meaning that the user was not assigned their stats before joining the channel (often appears with bots who join a channel automatically and not waiting until the user clicks 'Enter Chat').

  1. Icon
    • Format: Level + Tier + "3W" (Special icons may not follow this format)
      1. Level: The "win level" of the icon 1 through 5 (6 on TFT). 1 is always peon.
      2. Tier: The race tier of the icon
        • R: Random
        • H: Human
        • U: Undead
        • N: Night Elf
        • O: Orc
        • D: Tournament (TFT)
    • This value should be matched against the product values of each icon in each Battle.net Icon file that is loaded. If a match is found, the client should use this icon when displaying the user.
  2. Level
    • Level of the player. (Highest out of all possible game types that the user has played.) '0' means no ladder games on record.
  3. Clan tag (OPTIONAL)
    • Reversed clan tag, appears only if the player is in a clan.
| Edited: Hdx
Comments
RealityRipple

Diablo II Armor Types: Torso, Legs, Arms, and Shoulders all have values from 1 to 3 (and 255 for nothing). Combined, they tell you what type of armor the character is wearing: The order being used is Torso + Legs + Right Arm + Left Arm + Right Shoulder + Left Shoulder

111111 / 255255255255255255 = Nothing 111122 = Quilted Armor 211122 = Leather Armor 212222 = Hard Leather Armor 122122 = Studded Leather Armor 221122 = Ring Mail 222222 = Scale Mail 311133 = Breast Plate 222233 = Chain Mail 322222 = Splint Mail 223133 = Light Plate 332233 = Field Plate 333322 = Plate Mail 233333 = Gothic Plate 333333 = Full Plate Mail 332331 = Ancient Armor

RealityRipple

Diablo II Equipment (hex): 0 / 1 / 2 / 3 / FF = None 4 / 39 = Cap 5 / 3A = Skullcap 6 / 3B = Helm 7 / 3C = Full Helm 8 / 3D = Great Helm 9 / 3E = Crown A / 3F = Mask 40 / 53 = Bone Helm 56 = Wolf Head 57 = Hawk Helm 58 = Antlers 59 = Jawbone Cap 5A = Horned Helm 5B = Assault Helmet

RealityRipple

Diablo II Items (Hex): 0 / FF = None 4 = Hand Axe 5 = Axe 6 = Double Headed Axe 7 = War Axe 8 = Giant Axe 9 = Wand A = Yew Wand B = Grim Wand C = Club D = Mace E = Warhammer F = Flail 10 = Maul 11 = Short Sword 12 = Scimitar 13 = Falchion 14 = Crystal Sword 15 = Broadsword 16 = Longsword 17 = Claymore 18 = Bastard Sword 19 = Dagger 1A = Blade 1B = Short Spear 1C = Glaive 1D = Pilum 1E = Spear 1F = Trident 20 = Spetum 21 = Pike 22 = Bardiche 23 = Scythe 24 = Halberd 25 = Short Staff 26 = Long Staff 27 = Battle Staff 28 = War Staff 29 = Short Bow 2A = Long Bow 2B / F3 / F4 / FB = Claws 2C / F5 / F6 / FC = Scissors Katar 2D / F7 / F8 / FD = Katar 2E / F9 / FA / FE = Hatchet Hands 2F = Hunter's Bow 30 = Composite Bow 31 / 7A / F0 = Crossbow 32 / 7C / F2 = Heavy Crossbow 33 = Eagle Orb 34 = Sacred Globe 35 = Clasped Orb 36 = Stag Bow 37 = Reflex Bow 4F = Small Shield 50 = Large Shield 51 = Kite Shield 52 = Tower Shield 54 = Bone Shield 55 = Spiked Shield 5C = Targe 5D = Heraldic Shield 5E = Crown Shield 5F = Demon Head 60 = Gargoyle Head 61 = Zombie Head 75 / EB = Short Battle Bow 76 / EC = Long Battle Bow 77 / ED = Short War Bow 78 / EE = Long War Bow EF = Light Crossbow F1 = Repeating Crossbow

RealityRipple

Diablo II Colors: Color should be MOD A0'd as all values repeat.

0 / 1F / FF = Normal 1 = Gray 2 = Shiny Black 3 = Dull Black 4 = Black 5 = Shiny Blue 6 = Dull Blue 7 = Blue 8 = Shiny Red 9 = Dull Red A = Red B = Shiny Green C = Dull Green D = Green E = Shiny Yellow F = Dull Yellow 10 = Yellow 11 = Duller Yellow 12 = Shiny Purple 13 = Purple 14 = Gold 15 = White

Flags: 20 = Tinted 40 = Lightly Tinted

RealityRipple

Some Diablo II statstring research comments:

Field 1 - Usually 0x84. Larger values observed as well. No idea as to the meaning yet. Field 25 - Determined to be offhand item (necromancer heads) color. Field 27 - Flags seem to start off at 0x80. A 0x01 seems to indicate the character has not yet entered a game, although a non-expansion character will not have this flag set unless it re-enters chat before joining a game. More research to come here too. Fields 29 and 30 are 0x80 when the character has not yet entered a game, and 0xFF once he has. No other values have yet been observed.

RealityRipple

Also, I just got a W3XP statstring that contained a level and clan tag but no icon data, so be aware of that possibility.

Kyro

RealityRipple; you have editor access; I'm surprised to see you didn't put that directly into the document.