Skip to content

06 — Tags and data contracts

Gameplay Tag roots and Primary Data Assets before content fill.

Tag roots (locked in FS — implement in TFACore)

Section titled “Tag roots (locked in FS — implement in TFACore)”

Stance, damage channels, vision modes, quality, difficulty, ability trees, ammo bricks, realm/ruleset — use FS taxonomy; do not invent parallel roots.

  • FS §20 type list authored (contract)

Historical only (old test project — not on 5.8_terra_demo / pack)

Section titled “Historical only (old test project — not on 5.8_terra_demo / pack)”
  • TFAWeapons: UDA_TFA_GunFrames / UDA_TFA_GunParts C++ contracts + cadence validator
  • GunFrames CSV as source of truth (~16 Receivers / ~78 Frames) — not in this pack; re-author on remake
  • — (no TFAWeapons types on live host yet)
  • Remake TFAWeapons + GunFrames CSV on live host (gfp-status · DONE)
  • TFACore GameplayTags.ini: done for the FS 2.3 taxonomy (stance, channel, ammo, vision, quality, ruleset; Config/Tags/TFACoreTags.ini, 2026-11-14). Native tag registration in C++ is not used; code looks tags up by name. Tags for hit / kill messages (for example TFA.Combat.KillConfirmed, name still TBD) are not added yet
  • Cooked DAs for every §20 type (empty rows OK)
  • Import re-authored CSV → cooked UDA_TFA_GunFrames uasset
  • Fail-closed cook rules (Legendary SetID none, etc.)

Cadence (RPM / charge / draw) is Frame-owned — parts never write cadence (FS-GUN-006/007).