Patch v1.0.4

Spire of Ash · published

Spire of Ash — v1.0.4 (Build 80)

Entitlements & Account System

- Added entitlement tier system (demo / full) — demo accounts are capped at character level 10 and key
level 10, and cannot submit leaderboard scores
- Added user-scoped storage — each authenticated user now gets isolated save data (runs, stash, party,
aether); switching accounts loads the correct profile automatically
- Added standalone auth preference for Steam builds — Steam users can opt into manual login instead of
automatic Steam auth
- Added DLC ownership check and Steam overlay store page integration for upgrade flow

Combat Balance

- Enemy HP multipliers reduced across the board: magic 1.75→1.5, rare 3.5→2.0, unique 5.9→3.4, campaign
boss 17→10, endgame boss 24→14
- Enemy hit ratios flattened — all tiers now use a uniform 0.17 ratio (previously scaled 0.17–0.38)
- Enemy damage multipliers increased to compensate: magic 1.09→1.5, rare 1.2→2.0, unique 1.33→2.5, boss
1.47→3.3
- Modifier stacking reworked — monster modifier stat bonuses now stack additively instead of
multiplicatively, with safety caps (4x life, 5x damage, 2.5x speed)
- Key affix multiplier caps added — key affixes can no longer exceed 3x life or 3x damage
- Key affix difficulty curves softened — gauntlet boss life curve H→M, enemy round damage and boss damage
curves M→L
- Boss rush scaling now uses the main progression model's ratcheted multipliers instead of linear
per-key-level scaling, plus shared party scaling for both life and damage
- Presented position smoothing improved — interpolated mode now uses 48Hz follow (was raw-only), fixing
movement jitter

Game Modes

- Gauntlet — timer extended 5→6 minutes, boss life multiplier 0.5→0.65, pack sizes reduced 10→8, round
delay increased 600→900ms, removed forced elite packs from early rounds
- Survival — objective radius increased 0.85→1.5, enemy life multiplier 0.5→0.8, enemy move speed
0.45→0.75, melee archetypes now allowed; healing the objective unit now properly syncs its health back to
survival state

Camera & Rendering

- Adaptive camera zoom — camera now dynamically zooms out when party members spread apart, with smooth
transitions
- Camera tracking tightened — reduced smooth time (0.14→0.05 target, 0.18→0.07 position) and soft zones
(0.42→0.18, 0.8→0.35) for more responsive follow
- Enemy rarity icons on health bars — shield (magic/blue), star (rare/gold), skull (unique/orange)
- Ambient particle budget reduced ~60% across all quality levels for better performance
- GPU particle probe added — detects GPU compute support at startup for VFX4 system

UI & Overlays

- Loot overlay performance — cached gradient objects and RGBA color parsing to reduce per-frame
allocations
- Shrine overlay performance — added dirty-flag rendering; skips redraws when camera/party/hover are
unchanged; cached font strings and text metrics
- Unit overlay performance improvements

Leaderboard

- Removed patch priority from leaderboard version policy (Supabase migration included)
- Simplified leaderboard run completion and service internals
- Personal best tracker updated for user-scoped storage

Persistence & Infrastructure

- IndexedDB now scoped per user — storage keys include user ID prefix
- Run store updated to support user-scoped cache reset on account switch
- Redux store initializer supports REPLACE_USER_STATE action for hot-swapping user data
- XP and leveling system respects entitlement-driven max character level throughout (XP gain, level-up
processing, experience display)
- Vendor economy respects absolute max key level cap from entitlements

---