Build Phase 1 gym first; standing ★-review auth; build A0 material foundation now; delete siege branches. Phase 1: manual aim (auto-target cut), 4 discrete ability buttons, Harpooner yanks target-to-you, roadmap 5 Sparks. Fresh save epoch (no migration). Dark-side contact = non-telegraphed chip. Lantern = free-position plant. Locked into: operator-questions (resolved summary), Phase 1 spec (open forks -> resolved), currency spec (fresh saves), world-model Build Spec (operator-resolutions block). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5.3 KiB
title, date, tags, status, permalink
| title | date | tags | status | permalink | |||||
|---|---|---|---|---|---|---|---|---|---|
| LANTERN — Currency Re-Mean (Ore/Aether/Biomass/Charge → the light economy) | 2026-07-13 |
|
draft-spec | gamevault/06-roadmap/lantern-currency-remean |
LANTERN — Currency Re-Mean
Re-means the current economy to the LANTERN currency set (Identity_Lantern currency table). Feeds the economy rework + the save schema. Most of this is a value-relabel — the ledger (
StorageEntry, ItemId- keyed) + personal bag (InventorySlot) + swept harvest plumbing stay; the byte ids re-mean and the meters change. Grounded in the resource ground-truth: 4ResourceIdbytes today (Ore/Aether/Biomass/Charge),StorageEntry{ushort ItemId; int Count}on the global untagged ledger, personalInventorySlot, unified sweptResourceHarvestSystem.
The seven LANTERN currencies — and what each maps to
| LANTERN | What it is | Current analog | Representation |
|---|---|---|---|
| Flame | your life — the loaned fire in your chest | Health + respawn |
NOT a ledger resource — it's Health/RespawnState. The death "split" (Phase 5) rides this. |
| Lumen | spendable light — abilities, fuel, the banked economy | Aether (universal charge) + the win-meter feed | Ledger byte; also banked at lanterns → the Lamp meter (the GoalProgress-equivalent campaign readout). The primary economy. |
| Gloam | the wild radiance grafts drink — the mutation feed | (new; kill/vent/bloom-derived) | A run/descent-scoped meter that fills toward the paced mutation thresholds (Phase 4). Server-derived from kills/vents; likely NOT a stored ledger row (a per-descent counter). |
| Loudness | how much attention your light draws | the threat/aggro pressure (WaveSystem escalation) |
Derived meter, not stored — party lamp-output sum → spawn/aggro pressure; per-Wick pip on the HUD. Rides the global untagged ghost ([GhostField]). |
| Salvage | build materials | Ore | Ledger byte. Feeds building v1 (lanterns, small buildables). |
| Chum | garden feedstock (automation input) | Biomass (reserved automation input) | Ledger byte. Slice: likely dormant (automation is assignment-based, v1.0 — Lantern_Strip_Mothball_Inventory). Keep the byte reserved. |
| Tallow | rendered fixative — fixes a mutation | (new; the scarce fix material) | The scarcity gate of the mutation economy (1 fix slot/Spark). A ledger byte OR a slot count. Phase 4. |
Proposed ResourceId byte assignment
Bytes, never enums (Burst rule). Re-mean the existing values where the meaning survives; free the mothballed one; append the new ones:
| Byte | Was | Becomes | Notes |
|---|---|---|---|
| 0 | Ore | Salvage | build material (value survives, relabel) |
| 1 | Aether | Lumen | universal spend + banked light (value survives, relabel) |
| 2 | Biomass | Chum | garden feedstock, slice-dormant (relabel, reserved) |
| 3 | Charge | (freed) → Tallow | turret-ammo Charge is mothballed (no turrets); reuse the byte for Tallow, or leave 3 dead and add Tallow=4 |
| 4 | — | (Gloam) | if stored; more likely a per-descent server counter, not a ledger row |
- Flame and Loudness are not ledger bytes (Health; a derived meter). Do not give them
ResourceIds. - ⚠ Re-meaning byte 3 (Charge→Tallow) changes a persisted VALUE's meaning. The save persists
Ledger[]as{ItemId, Count}rows — an old save'sItemId=3(Charge) would load as Tallow. RESOLVED (operator, 2026-07-14): start LANTERN saves FRESH — a new save version epoch, no migration of co-op-Hades saves (old saves won't load into LANTERN). This dodges the value-remap entirely; the byte-3 (Charge→Tallow) reuse is safe because no old save is ever read.
What changes vs. stays
- STAYS:
StorageEntryglobal ledger (ItemId-keyed),InventorySlotpersonal bag ([GhostField]OwnerSendType.All), the unified sweptResourceHarvestSystem(nodes + clutter, immortal-sink guard,math.max(1,(int)yield)), theG-deposit RPC, cargo-into-bag routing. - CHANGES: harvest sources re-theme (Ore/Aether/Biomass nodes → Lumen nodes + organ drops); the
carried-vs-banked cargo distinction is new (unbanked Lumen/organs strand with the suit on death — the
Phase-5 split); the win-meter (
GoalProgress) becomes the Lamp meter fed by banked Lumen; Loudness replaces the incursion/attention timer as the spawn-pressure driver. - NEW meters on the global untagged ghost: Lamp (campaign), party Loudness sum. New per-descent server counters: Gloam (mutation feed), Tallow slots.
Sequencing
This is not a standalone slice — it lands inside the phases that need each currency: Lumen + Salvage + harvest re-theme with Phase 2 (harvest) / Phase 3 (banked light, Lamp meter); Gloam + Tallow with Phase 4 (mutations); Loudness with Phase 2 (brighter-is-louder). This doc is the single source of the mapping so those phases don't each re-decide the byte ids.
Related
- Identity_Lantern — the currency table + the death split + brighter-is-louder
- Lantern_Strip_Mothball_Inventory — ledger/harvest/automation salvage verdicts
- Lantern_Operator_Questions — the fresh-saves-vs-migrate fork (item 6)
- Roadmap_Lantern_Slice — the phases each currency lands in