Commit graph

1 commit

Author SHA1 Message Date
Kelsi
eefaa5653b feat(pipeline): add WTIT (Wowee Title catalog) format
Novel open replacement for Blizzard's CharTitles.dbc + the
AzerothCore-style character_title SQL table. The 30th open
format added to the editor.

Defines the player-display titles awarded for completing
achievements ("the Versatile"), reaching PvP ranks
("Sergeant Major" / "Stone Guard"), participating in raids
("Champion of the Naaru"), levelling a profession ("Master
Locksmith"), or seasonal events ("Brewmaster", "the
Hallowed").

Closes a long-standing gap: WACH.entry.titleReward has been
a free-form string since batch 116 with no formal catalog
to resolve against. WTIT systematizes those strings into a
real catalog — the runtime resolves WACH.titleReward to a
WTIT entry by name, then displays the titleId in the player
title selector.

Cross-references:
  WACH.entry.titleReward (string) ~= WTIT.entry.name
                                     (string match — runtime
                                      resolves achievement-
                                      granted titles by
                                      looking up matching WTIT
                                      entry by name)

Format:
  • magic "WTIT", version 1, little-endian
  • per title: titleId / name / nameMale / nameFemale /
    iconPath / prefix (suffix vs prefix display) /
    category / sortOrder

Enums:
  • Category (8): Achievement / Pvp / Raid / ClassTitle /
                   Event / Profession / Lore / Custom

API: WoweeTitleLoader::save / load / exists +
WoweeTitle::findById / findByName.

Three preset emitters showcase typical title catalogs:
  • makeStarter     — 4 titles (Versatile / Sergeant /
                       Champion / Hallowed) covering 4
                       categories
  • makePvp         — 28-title classic Honor System ladder
                       (14 Alliance ranks Private->Grand
                       Marshal + 14 Horde ranks Scout->High
                       Warlord)
  • makeAchievement — 8 achievement titles including "the
                       Versatile" matching WACH.makeMeta's
                       achievement 250 titleReward + capstone
                       profession titles

CLI added (5 flags, 608 documented total now):
  --gen-titles / --gen-titles-pvp / --gen-titles-achievement
  --info-wtit / --validate-wtit

Validator catches: titleId=0 + duplicates, empty name,
unknown category, gender variants set on only one side
(causes mixed-gender display when the runtime falls back to
canonical for the unset side).
2026-05-09 17:07:56 -07:00