Altair — Patch Notes v1.3.2¶
Focus: Persistence fixes, balance adjustments, and quality-of-life improvements.
Meta Progression & Persistence¶
Server-authoritative meta state.
loadFromServer()now fully replaces local state with DB data instead of merging. The server is the single source of truth for coins, upgrades, unlocked classes, and all meta progression.Meta state loads on shell mount. DB sync now happens in
AltairShell(shared layout), so meta progression is available as soon as any/altairroute loads — no waiting until the game page mounts.Immediate save on purchases. Meta shop purchases (upgrades and class unlocks) now save to the DB immediately instead of using the 1-second debounce. If the save fails, the purchase is rolled back to prevent desync.
Other mutations (bestiary, run stats, etc.) still use the debounced save for performance.
Bestiary¶
Encounters now tracked on spawn, not on hit. Previously,
recordBestiaryEncounterwas called when an enemy damaged the player, leading tokilled > encounteredfor most enemy types. Encounters are now recorded when enemies are actually spawned by the wave director, split spawns, and boss minion spawns.Batch encounter recording. Spawn tracking uses a batched update (
recordBestiaryEncounterBatch) to avoid per-enemy Zustand state thrashing during high-spawn-rate frames.
Balance¶
Catalysts no longer consumed on evolution. When a weapon evolves, the matching catalyst remains in the player’s inventory. It still occupies its item slot and provides its effect. This increases build commitment difficulty — evolution is a power spike but doesn’t free up a slot.
Collision & Props¶
Tighter prop hitboxes. Increased collision dimensions for all prop types to better match their sprite visuals. Players can no longer walk into prop sprites.
Tombstone: 10×20 → 16×24
Barrel: 18×18 → 24×24
Urn: 10×14 → 14×16
Fences: thickness 8 → 12
Walls: depth 20 → 28
Crate: 20×20 → 26×26
Well: 24×24 → 28×28
Entity Caps & Visibility¶
No more on-screen enemy despawns. The enemy despawn system now only removes off-screen Tier 1 enemies, and only when significantly over the soft cap (+50 over MAX_ACTIVE_ENEMIES). Enemies visible to the player are never culled.
No more on-screen projectile removal. The projectile hard-cap splice has been removed. Instead, new enemy and boss projectiles are simply not created when the projectile count exceeds
MAX_PROJECTILES. Existing in-flight projectiles are never removed mid-flight. Player projectiles are never gated.
Files Changed¶
File |
Changes |
|---|---|
|
Server-wins load, immediate save for purchases, batch bestiary encounters |
|
Load meta state on shell mount |
|
Removed redundant |
|
No changes (API already correct) |
|
|
|
Spawn tracking via |
|
|
|
Wired |
|
Increased |
|
Updated catalyst evolution docs (no longer consumed) |