Since Midnight Season 2 began, # catalyst_currencies= no longer reports a usable balance: it lists only last season's currencies, all of them typically capped, and omits the one that is actually spendable.
Simulationcraft.catalystCurrencies in extras.lua stops at 3378 (Dawnlight Manaflux, Season 1). Season 2 spends 3465 Venomblight Manaflux, added in 12.1.0.69189. GetCatalystCurrencies iterates that table, so the id is never queried.
The effect is that absence cannot be told apart from zero. A character holding 1 Venomblight produces a byte-identical catalyst line to one holding none, so anything downstream reading catalyst charges from an export reads every character as 0.
Reproduced on 12.1.0-02, character holding 1 Venomblight:
before
# catalyst_currencies=3269:8/3378:8/2813:8/3116:8
after adding [3465] = 'Venomblight Manaflux'
# catalyst_currencies=2813:8/3269:8/3116:8/3378:8/3465:1
Fix in #67 — one line.
Possibly worth a general guard: catalystCurrencies needs a manual edit every season, and a missing id fails silently rather than erroring, so the export looks complete while the only currency that matters is absent.
Since Midnight Season 2 began,
# catalyst_currencies=no longer reports a usable balance: it lists only last season's currencies, all of them typically capped, and omits the one that is actually spendable.Simulationcraft.catalystCurrenciesinextras.luastops at3378(Dawnlight Manaflux, Season 1). Season 2 spends3465Venomblight Manaflux, added in12.1.0.69189.GetCatalystCurrenciesiterates that table, so the id is never queried.The effect is that absence cannot be told apart from zero. A character holding 1 Venomblight produces a byte-identical catalyst line to one holding none, so anything downstream reading catalyst charges from an export reads every character as 0.
Reproduced on 12.1.0-02, character holding 1 Venomblight:
before
after adding
[3465] = 'Venomblight Manaflux'Fix in #67 — one line.
Possibly worth a general guard:
catalystCurrenciesneeds a manual edit every season, and a missing id fails silently rather than erroring, so the export looks complete while the only currency that matters is absent.