Skip to content

Characters

restart.dat opens with a 10-slot party/character table (fixed 210-byte records, ending exactly at file offset 0x834). Only 4 slots have real names — Brand, Ataris, Keena and Astrovir, the starting party — the remaining 6 are unnamed/blank template slots with valid sequential ids but empty name fields and all-zero stat blocks.

Each character has 5 base attributes (0–20): Strength, Wisdom, Intelligence, Agility and Stealth. These 5 bytes were the hardest part of this table to pin down — nothing in wofl.exe could be traced to confirm them, so they were found and confirmed against an external, non-code oracle instead: The CRPG Addict’s 2025 review of Warriors of Legend, which documents these same 5 attributes by name and states as a specific in-game fact that “Brand started with only 20 strength.” Scanning the full 210-byte record for a 5-byte, all-≤20 window shared across all 4 named characters turns up exactly one candidate, at record offset 0x370x3B: Brand = [20, 12, 10, 8, 0] — an exact hit on the walkthrough’s number.

NameIDStrengthWisdomIntelligenceAgilityStealthClass guess
Brand200020121080Fighter (maxed strength)
Ataris200120310170Fighter/warrior (also maxed strength)
Keena200212012206Archer (maxed agility)
Astrovir200310202000Wizard (tied max wisdom/intelligence)

The class guesses above are the walkthrough’s own independent commentary (Astrovir “possibly a wizard, given high Intelligence and Wisdom scores”, Ataris “likely a fighter or warrior”) corroborating the field identity, not a separately-decoded class field — Legend’s data has no explicit class byte identified yet.

The exact order of the last 4 attributes (wisdom / intelligence / agility / stealth) follows the walkthrough’s own listing order and isn’t independently provable from the raw bytes alone — Astrovir’s tie between wisdom and intelligence means those two specifically could be swapped with no observable difference.

The remaining 6 slots (ids 2004, 2005, 2006, 2007, 2008, 2009) are unnamed template records — every attribute reads 0. Consistent with unused party slots shipped as part of the canned restart state rather than real characters.

  • A byte-for-byte duplicate of the 5-attribute block exists 8 bytes later (record offset 0x3F0x43) in every one of the 10 records — its purpose (a “current” vs. “base” copy? a UI cache?) isn’t identified.
  • The rest of each record (roughly a hundred bytes of 0xFF — plausibly unused inventory/spell slots by analogy with the item table’s own empty sentinel — plus a mostly-zero footer) isn’t decoded.
  • wofl.exe itself remains untraced, so there’s no code-level confirmation of any of this — only the walkthrough cross-check above and the record’s own internal structure (sequential ids, self-delimiting end).

See docs/legend/TODO.md’s legend-exe-data entry in the main repository (not part of this site) for the current state of this and the adjacent item-placement region.