feat(pipeline): WTUR tutorial steps catalog (142nd open format)

Novel format covering what vanilla WoW had as a hard-coded LUA
tipbox sequence (TutorialFrame.xml + Tutorial.lua client-side
with no data-driven extension point). Each WTUR entry binds
one tutorial step to a trigger event (Login / ZoneEnter /
LevelUp / ItemPickup / SkillTrain), an ordered stepIndex within
that trigger group, a title + body for the popup, optional UI-
element name to highlight, and a hide-after auto-dismiss timer.

Three presets covering the most common tutorial scenarios:
  --gen-tut-newbie   5 first-login steps (Welcome / Camera /
                     Interact NPCs / OpenQuestLog / OpenBags)
                     with 30s auto-dismiss and UI-element
                     highlight names ("MovementHint",
                     "QuestLogButton", "BagButton")
  --gen-tut-levelup  3 LevelUp-trigger steps gated on
                     specific level milestones (level 2
                     spellbook hint / level 5 trainer visit /
                     level 10 talent unlock)
  --gen-tut-bg       3 ZoneEnter-trigger steps gated to BG
                     mapIds (AV=30 explains 40v40 / WSG=489
                     explains capture-flag / AB=529 explains
                     control-point) — explains each ruleset
                     on first BG entry

Validator catches: id+name+title+body required, triggerEvent
0..4, stepIndex > 0 (sequence starts at 1), no duplicate
tutIds, no duplicate (event,value,step) triples (sequence
ordering ambiguity). CRITICAL: hideAfterSec MUST be 0 (no
auto-dismiss) OR >= 5s — else popup vanishes before player
can read it. Warns on Login event with non-zero triggerValue
(dead data, Login is unconditional), non-Login event with
triggerValue=0 (would fire for ALL events of that kind), and
body length < 10 chars (likely placeholder text).

Format count 141 -> 142. CLI flag count 1472 -> 1479.
This commit is contained in:
Kelsi 2026-05-10 05:40:03 -07:00
parent 4dd1fb09ff
commit ec81c9b529
10 changed files with 762 additions and 0 deletions

View file

@ -166,6 +166,7 @@ constexpr FormatRow kFormats[] = {
{"WAUH", ".wauh", "economy", "AuctionHouse.dbc + AuctionMgr", "Auction house config catalog (deposit/cut rates + duration tiers)"},
{"WBRD", ".wbrd", "pvp", "BattlemasterList.dbc + BattlegroundMgr","Battleground reward stages catalog (per-bracket honor + marks)"},
{"WSWP", ".wswp", "audio", "(absent in vanilla — patch-level edits)","Sound swap rules catalog (priority + condition-gated substitution)"},
{"WTUR", ".wtur", "ui", "TutorialFrame.xml + Tutorial.lua", "Tutorial steps catalog (event-triggered first-time-player popup sequences)"},
// Additional pipeline catalogs without the alternating
// gen/info/validate CLI surface (loaded by the engine