Spire of Ash · published
# Development Update - Black Market, Aether Reforging, and Combat Reworks
_Date: 2026-03-20_
## TL;DR
- Black Market gambling is now available from the run-mode inventory, with category-based rolls and guaranteed `magic`-or-better outcomes.
- Aether progression was heavily buffed, dramatically increasing available deck budget as characters level.
- Hero skill kits, status effects, and ground effects received a large rework pass, adding and wiring up effects like `Aegis Charges`, `Echo Cast`, `Condemn Mark`, `Healing Salve`, and `Graviton`.
- Loot Filter Studio gained affix-tier filtering, legacy-profile upgrades, clearer rule ordering, and better retention behavior across combat/runtime flows.
- Keys were rebuilt around a shared `24`-affix pool across all families, with cleaner tooltip/runtime support for the new generic pressure mods.
- Dormant enemy targeting, melee contact range, unique downside clarity, and tooltip/runtime mismatches were all cleaned up.
## New Features
- Added the **Black Market** to the run-mode inventory panel. You can now gamble by item family instead of buying a fully known result.
- Black Market results are guaranteed `magic` or better, use a well-rolled bias, and scale item level from average party level with a small `-2` to `+2` jitter.
- Salvage controls are now consolidated into one dropdown with `All Normal`, `All Magic`, `All Rare`, and `Click Mode`.
- Aether card browsing now exposes mechanic tags and mechanic filters, with live highlighting for cards whose deck conditions are currently met.
### Reworks
- **Aether cards**: Offense, defense, and support sets were broadly regenerated around mechanic families like `Synergy`, `Devotion`, `Harmony`, `Focus`, `Keystone`, `Resonance`, `Overflow`, and `Constellation`.
- **Hero skill packages and status effects**: Large parts of the combat runtime were rewired for new or expanded effects such as `Aegis Charges`, `Echo Cast`, `Empowered Strikes`, `Bloodthirst`, `Condemn Mark`, `Corrode`, `Wither`, `Healing Salve`, `Phase Dodge`, `Graviton`, `Soul Drain`, `Retaliation`, and `Undying`.
- Representative skill reworks now supported in live data/runtime parity include:
- `Eldritch Revelation`: all enemies get `Expose Weakness`, while allies get `Dark Pact` and `Echo Cast`.
- `Divine Dividend`: party-wide heal plus `Aegis Charges`, `Empowered Strikes`, and `Precision Stance`.
- `Nature's Wrath`: spreading poison, `Creeping Doom`, `Retaliation`, and a large AoE heal.
- `Dusk Veil`: party `Phase Dodge` and `Healing Salve`, plus enemy `Graviton`.
- **Keys**: Rollable key affixes were rebuilt into a shared `24`-affix pool (`12` prefix, `12` suffix) used across all key families.
## Quality of Life
- Loot Filter Studio now supports affix-tier filtering, including required-affix tier ranges and "any affix within tier range" matching. `T1` is treated as the best tier.
- Loot filter rule resolution is now normalized around ordered, first-match-wins behavior, with legacy share codes and profiles auto-upgraded and a legacy-upgrade notice surfaced when old data is detected.
- Item-type tree selections are compressed back into cleaner semantic filters, so rule scopes stay readable instead of exploding into raw leaf IDs.
- Key tooltips now expose the new affix labels more clearly, including monster accuracy and player armor/block/cooldown recovery penalties.
- Base preview tooltips now correctly show authored implicits and display names, including fallback implicit text when authored lines are not present.
- Equipment counts and paperdoll views now consistently use the visible `12`-slot model, including both flask slots.
- Hidden legacy equipment slots (`trinket1`, `trinket2`, `flask3`) are now migrated into stash on load instead of remaining as ghost equipment state.
## Bug Fixes
- Dormant or inactive enemies can no longer be damaged, debuffed, chained to, or projectile-hit by party actions before they are valid combat targets.
- Party melee basics now require real contact range; stale ranged metadata no longer lets melee units start attacks from implausible distances.
- Loot filter retention is now consistent across world labels, panel-only drops, gauntlet rewards, worker-authority filtering, and `Collect All`.
- Unique validation now rejects contradictory mixed-sign duplicate stat lines, preventing unclear "plus and minus the same stat" definitions from shipping.
- Milestone-driven skill runtime changes are now covered by dedicated runtime tests so authored milestone bonuses have to produce measurable changes on resolved skills.
- Skill tooltips and runtime status-effect data were tightened up so mixed ally/enemy skills, ground effects, and new buff/debuff packages describe what they actually do.
## Performance and Stability
- Loot filtering paths were unified more tightly between local sim, worker filtering, and gauntlet reward flow, reducing visibility and collection desyncs during heavy combat scenes.
- Audit coverage expanded around skill end-to-end behavior, tooltip parity, milestone runtime application, loot-filter runtime wiring, and Aether cross-stat balance so large generated-data passes are less likely to regress silently.
Thanks for playing.