mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-11 03:23:51 +00:00
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.
|
||
|---|---|---|
| .. | ||
| asset_extract | ||
| auth_login_probe | ||
| auth_probe | ||
| blp_convert | ||
| dbc_to_csv | ||
| editor | ||
| asset_pipeline_gui.py | ||
| backup_assets.sh | ||
| diff_classic_turtle_opcodes.py | ||
| gen_opcode_registry.py | ||
| generate_ffx_sdk_vk_permutations.sh | ||
| m2_viewer.py | ||
| opcode_map_utils.py | ||
| validate_opcode_maps.py | ||