Kelsidavis-WoWee/include
Kelsi 6462a08927 feat(pipeline): WCFR combat formula catalog (145th open format)
Originally attempted WMRR (instance lockouts) for this slot but
hit a name-collision with the existing WHLD catalog at the same
file path. Reverted plumbing additions and pivoted to WCFR — a
distinct, complementary domain not covered by any existing
format.

Novel replacement for the per-stat-conversion ratios vanilla
WoW carried in the gtChanceTo*.dbc gameobject tables + the
per-class hard-coded constants in the server's StatSystem (the
"Strength gives 2 AP for Warriors but 1 AP for Mages" rule was
hard-coded; the "1 Agility = 1 Crit% for Hunters but 0.5 Crit%
for Druids" was hard-coded). Each WCFR entry binds one
(outputStat, inputStat, classMask, level-band) tuple to its
conversion ratio in fixed-point units (fp_x100: 100 = 1.0).

Three presets demonstrating per-class ratio variation:
  --gen-cfr-warrior  4 Warrior formulas (Str->AP 2.0 / Agi->
                     Crit 0.05% / Agi->Dodge 0.05% / Str->
                     Parry 0.04% gated to level 30+)
  --gen-cfr-mage     3 Mage formulas (Int->SpellPower 1.0 /
                     Int->SpellCrit 0.02% / Spi->OOC SpellPower
                     0.50)
  --gen-cfr-rogue    4 Rogue formulas (Str->AP 1.0 / Agi->AP
                     1.0 / Agi->Crit 0.07% / Agi->Dodge 0.07%)
                     — Rogue Agi->Crit ratio (7) significantly
                     better than Warrior's (5), demonstrating
                     the per-class differentiation the format
                     captures

Validator catches: id+name required, outputStatKind 0..7,
inputStatKind 0..4, no duplicate formulaIds, no zero
conversionRatio (no-op formula). CRITICAL: no duplicate
(output, input, classMask, levelMin) quad — runtime stat-
compute would apply both formulas, doubling the contribution.
levelMax >= levelMin when set. Warns on conversionRatio > 100x
(likely units-mismatch typo from porting a percentage table
without dividing by 100).

Format count 144 -> 145. CLI flag count 1499 -> 1506.
2026-05-10 06:09:22 -07:00
..
addons chore(lua): refactor addon Lua engine API + progress docs 2026-04-03 07:31:06 +03:00
audio fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
auth fix(render): code quality cleanup 2026-04-06 22:43:13 +03:00
core refactor: decompose world map into modular component architecture 2026-04-12 09:52:51 +03:00
game fix(movement): reject server teleports to corrupted near-origin positions 2026-04-24 17:48:49 -07:00
math refactor: extract spline math, consolidate packet parsing, decompose TransportManager 2026-04-11 08:30:28 +03:00
network memory, threading, network hardening 2026-04-06 21:19:37 +03:00
pipeline feat(pipeline): WCFR combat formula catalog (145th open format) 2026-05-10 06:09:22 -07:00
platform Fix all remaining build warnings and eliminate UB in binary parsers 2026-02-23 19:58:38 -08:00
rendering fix(camera): NaN/range guards on Camera setters 2026-05-06 08:57:31 -07:00
third_party Fix cross-platform FSR3 compile path and Path-A runtime wiring 2026-03-09 04:24:24 -07:00
ui refactor(chat): extract ItemTooltipRenderer, slim render(), consolidate utils 2026-04-12 15:46:03 +03:00