@@ -1,7 +1,7 @@
# Mana-Loop: Comprehensive Game Briefing Document
**Document Version: ** 4.0
**Updated: ** Post-refactoring — 22 mana types, 8-tier guardian system, 64 disciplines, 8 Zustand stores, localStorage-only
**Updated: ** Post-refactoring — 22 mana types, 8-tier guardian system, 64 disciplines, 14 prestige upgrades, 43 equipment types, 8 Zustand stores, localStorage-only
---
@@ -34,7 +34,7 @@
- 3-class Attunement system (Enchanter, Invoker, Fabricator)
- Equipment-based spell system (spells come from enchanted gear and learned spells)
- Practice-based Discipline system — no discrete skill levels, only continuous XP growth
- Time pressure through the incursion mechanic (starts day 5 )
- Time pressure through the incursion mechanic (starts day 20 )
- Guardian progression: base (10-80) → composite (90-160) → exotic (170-240) → combo bosses (250+, 8 tiers)
- Guardian pacts provide permanent multipliers that persist through prestige
- No backend — pure client-side with localStorage persistence
@@ -178,7 +178,7 @@ Base: 1 + min(hours/4, 0.5) → up to 1.5× after 4 hours
| `TICK_MS` | 200ms | Real time per game tick |
| `HOURS_PER_TICK` | 0.04 | Game hours per tick |
| `MAX_DAY` | 30 | Days per loop |
| `INCURSION_START_DAY` | 5 | When incursion begins |
| `INCURSION_START_DAY` | 20 | When incursion begins |
### Time Progression
- 1 real second = 5 game hours (at 5 ticks/second)
@@ -188,12 +188,13 @@ Base: 1 + min(hours/4, 0.5) → up to 1.5× after 4 hours
### Incursion Mechanic
```
if (day < 5 ): incursionStrength = else: incursionStrength = min(0.95, (totalHours / maxHours) × 0.95)
where totalHours = (day - 5) × 24 + hour
max Hours = (30 - 5 ) × 24 = 600
if (day < 20 ): incursionStrength = 0
else: incursionStrength = min(0.95, (totalHours / maxHours) × 0.95)
where total Hours = (day - 20 ) × 24 + hour
maxHours = (30 - 20) × 24 = 240
```
Reduces mana regeneration by `(1 - incursionStrength)` . Starts at 0% on Day 5 , reaches 95% by Day 30.
Reduces mana regeneration by `(1 - incursionStrength)` . Starts at 0% on Day 20 , reaches 95% by Day 30.
---
@@ -223,10 +224,13 @@ HP = floor(5000 × (floor/10) ^ (1.1 + floor/200))
| Room Type | Chance | Description |
|-----------|--------|-------------|
| **Guardian ** | Every 10th floor | Boss encounter |
| **Puzzle ** | 2 0% on every 7th floor | Attunement-themed trial |
| **Swarm ** | 15 % | 3– 6 enemies with 40% HP each |
| **Speed ** | 10% | E nemy with dodge chance (25% base + 0.5%/floor, max 50%) |
| **Combat ** | D efault | Single enemy, normal combat |
| **Puzzle ** | 10 0% on every 7th floor (except guardian floors) | Attunement-themed trial |
| **Swarm ** | ~12 % | 3– 7 weak enemies |
| **Speed ** | ~ 10% | Single e nemy with elevated dodge chance |
| **Combat ** | ~68% (d efault) | Single enemy, normal combat |
| **Recovery ** | ~4% | 1 hour; grants 10× mana regen & conversion |
| **Treasure ** | ~3% | 1 hour; grants 2– 15 random items |
| **Library ** | ~3% | 1 hour; grants discipline XP at 25× rate |
### Puzzle Room Types
- Single attunement: `enchanter_trial` , `fabricator_trial` , `invoker_trial`
@@ -297,12 +301,23 @@ damage *= (1 - effectiveArmor)
| Spell's opposite matches floor (not very effective) | 0.75× |
| Neutral / Raw mana spells | 1.00× |
**Element Opposites: **
**Element Opposites (bidirectional) : **
```
Fire ↔ Water Air ↔ Earth Light ↔ Dark
Fire ↔ Frost Lightning → Earth (grounding)
BlackFlame ↔ Water Radiant Flames ↔ Dark
Miasma ↔ Light Shadow Glass ↔ Light
Frost ↔ Fire
```
**Element Counters (directional): **
```
Lightning → Water Earth → Lightning
```
**Composite Element Counters (bidirectional): **
```
BlackFlame ↔ Frost, Water, Light
Radiant Flames ↔ Frost, Water, Dark
Miasma ↔ Air
Shadow Glass ↔ Light
```
### Spell Tiers
@@ -339,40 +354,57 @@ Miasma ↔ Light Shadow Glass ↔ Light
| Floor | Name | Element | Armor | Pact Mult | Pact Cost | Pact Time |
|-------|------|---------|-------|-----------|-----------|-----------|
| 10 | Ignis Prime | fire | 10% | 1.5× | 500 | 2h |
| 20 | Aqua Regia | water | 15% | 1.75× | 1,000 | 4h |
| 30 | Ventus Rex | air | 18 % | 2.0× | 2,000 | 6h |
| 40 | Terra Firma | earth | 25% | 2.25× | 4,000 | 8h |
| 50 | Lux Aeterna | light | 2 0% | 2.5× | 8,000 | 10h |
| 60 | Umbra Mortis | dark | 22 % | 2.75× | 15,000 | 12h |
| 70 | Mors Ultima | death | 25 % | 3.0× | 25,000 | 14h |
| 80 | Vinculum Arcana | transference | 20 % | 3.25× | 35,000 | 16h |
| 10 | Ignis Prime | fire | 10% | 1.5× | formula | 2h |
| 20 | Aqua Regia | water | 15% | 1.75× | formula | 4h |
| 30 | Ventus Rex | air | 20 % | 2.0× | formula | 6h |
| 40 | Terra Firma | earth | 25% | 2.25× | formula | 8h |
| 50 | Lux Aeterna | light | 3 0% | 2.5× | formula | 10h |
| 60 | Umbra Mortis | dark | 35 % | 2.75× | formula | 12h |
| 70 | Mors Ultima | death | 40 % | 3.0× | formula | 14h |
| 80 | Vinculum Arcana | transference | 45 % | 3.25× | formula | 16h |
**Tier 1 Formulas: **
- Pact Cost: `floor(hp × 0.3 + power × 5 + hp × armor × 0.5 + shield × 2 + hp × barrier × 0.3)`
- Pact Time: `2 + floor(floor / 10)` hours
- Armor: Starts at 10% on floor 10, increases by 5% per 10th floor
#### Tier 2 — Composite Elements (Floors 90– 160)
| Floor | Element | Armor | Pact Mult | Pact Cost | Pact Time |
|-------|---------|-------|-----------|-----------|-----------|
| 90 | metal | 3 0% | 3.5× | 60,000 | 18h |
| 100 | sand | 2 5% | 3.75× | 80,000 | 20h |
| 110 | lightning | 22 % | 4.0× | 100,000 | 22h |
| 120 | frost | 28 % | 4.25× | 125,000 | 24h |
| 130 | blackflame | 32 % | 4.5× | 140,000 | 26h |
| 140 | radiantflames | 2 5% | 4.75× | 160,000 | 28h |
| 150 | miasma | 2 8% | 5.0× | 180,000 | 30h |
| 160 | shadowglass | 33 % | 5.25× | 200,000 | 32h |
| 90 | metal | 5 0% | 3.5× | formula | 18h |
| 100 | sand+fire+earth | 5 5% | 3.75× | formula | 20h |
| 110 | lightning | 60 % | 4.0× | formula | 22h |
| 120 | frost | 65 % | 4.25× | formula | 24h |
| 130 | metal+fire+earth ( blackflame) | 70 % | 4.5× | formula | 26h |
| 140 | sand+earth+water ( radiantflames) | 7 5% | 4.75× | formula | 28h |
| 150 | lightning+fire+air ( miasma) | 80 % | 5.0× | formula | 30h |
| 160 | shadowglass | 85 % | 5.25× | formula | 32h |
**Tier 2 Formulas: **
- Pact Cost: Same formula as Tier 1
- Pact Time: `2 + floor(floor / 10)` hours
- Armor: Starts at 50% on floor 90, increases by 5% per 10th floor (capped at 90%)
- Note: Floor 100 guardian element is `sand+fire+earth` (composite components), Floor 140 is `sand+earth+water` , Floor 150 is `lightning+fire+air`
#### Tier 3 — Exotic Elements (Floors 170– 240)
| Floor | Element | Armor | Pact Mult | Pact Cost | Pact Time |
|-------|---------|-------|-----------|-----------|-----------|
| 170 | crystal | 35% | 5.5× | 220,000 | 37h |
| 180 | stellar | 30% | 6.0× | 250,000 | 38h |
| 190 | void | 35% | 6.5× | 300,000 | 39h |
| 200 | soul | 30 % | 7.0× | 330,000 | 40h |
| 210 | time | 32% | 7.5× | 370,000 | 41h |
| 220 | plasma | 28% | 8.0× | 400,000 | 42h |
| 230 | crystal+stellar+void | 40% | 8.5× | 430,000 | 43h |
| 240 | soul+time+plasma | 42% | 9.0× | 460,000 | 44h |
| 170 | crystal | 35% | 5.5× | formula | 37h |
| 180 | stellar | 30% | 6.0× | formula | 38h |
| 190 | void | 35% | 6.5× | formula | 39h |
| 200 | crystal+stellar+void | 35 % | 7.0× | formula | 40h |
| 210 | soul+time+plasma | 32% | 7.5× | formula | 41h |
| 220 | plasma | 28% | 8.0× | formula | 42h |
| 230 | crystal+stellar+void | 40% | 8.5× | formula | 43h |
| 240 | soul+time+plasma | 42% | 9.0× | formula | 44h |
**Tier 3 Formulas: **
- Pact Cost: Same formula as Tier 1
- Pact Time: `2 + floor(floor / 10)` hours
- Armor: Varies per guardian (see code for exact values)
- Note: Floor 200 is `crystal+stellar+void` , Floor 210 is `soul+time+plasma` (matching the code in guardian-data.ts)
Floors 90– 240 have procedurally generated names via `generateGuardianName()` .
@@ -454,7 +486,9 @@ Each guardian grants 2 boons from: `maxMana`, `manaRegen`, `castingSpeed`, `elem
5. Pact slots limit simultaneous signed pacts (starting 1, upgradeable)
### Victory Condition
Defeat floor 100 guardian **and ** sign the pact → 3× normal insight .
No specific victory condition is currently defined. The loop ends when day 30 is reached (or floor 30 for early completion). A victory condition with a × 3 multiplier is awaiting design finalization .
Signed pacts do **NOT ** persist through prestige — the player must re-defeat Guardians and re-sign pacts each loop.
---
@@ -563,9 +597,9 @@ Players start with 1 active discipline slot. As total XP across all disciplines
| Pool | File | Count | Requires |
|------|------|-------|----------|
| Base | `base.ts` | 3 | None |
| Elemental Attunement | `elemental.ts` | 22 | None |
| Elemental Attunement | `elemental.ts` | 21 | None |
| Elemental Regen | `elemental-regen.ts` | 8 | None |
| Advanced Regen | `elemental-regen-advanced.ts` | 14 | Mana type unlocked |
| Advanced Regen | `elemental-regen-advanced.ts` | 15 | Mana type unlocked |
| Enchanter Core | `enchanter.ts` | 4 | Enchanter attunement |
| Enchanter Utility | `enchanter-utility.ts` | 2 | Enchanter attunement |
| Enchanter Spells | `enchanter-spells.ts` | 3 | Enchanter attunement |
@@ -617,7 +651,7 @@ Players start with 1 active discipline slot. As total XP across all disciplines
```
mainHand - Casters (some 2H), Swords, Catalysts
offHand - Shields, Catalyst s (blocked by 2-handed weapons)
offHand - Catalysts, Spell Focuse s (blocked by 2-handed weapons)
head - Hoods, Hats, Helms
body - Robes, Armor
hands - Gloves, Gauntlets
@@ -626,19 +660,20 @@ accessory1 - Rings, Amulets
accessory2 - Rings, Amulets
```
### Equipment Categories & Types (50 total)
### Equipment Categories & Types (43 total)
| Category | Slot | Count | Examples |
|----------|------|-------|----------|
| Casters | mainHand | 6 | Basic Staff (2H), Apprentice Wand, Oak Staff (2H), Crystal Wand, Arcanist Staff (2H), Battlestaff (2H) |
| Swords | mainHand | 5 | Iron Blade, Steel Blade, Crystal Blade, Arcanist Blade, Void-Touched Blade |
| Catalysts | mainHand | 3 | Basic Catalyst, Fire Catalyst, Void Catalyst |
| Catalysts | mainHand/offHand | 4 | Basic Catalyst, Fire Catalyst, Void Catalyst, Metal Spell Focus |
| Body | body | 5 | Civilian Shirt, Apprentice Robe, Scholar Robe, Battle Robe, Arcanist Robe |
| Head | head | 5 | Cloth Hood, Apprentice Cap, Wizard Hat, Arcanist Circlet, Battle Helm |
| Hands | hands | 4 | Civilian Gloves, Apprentice Gloves, Spellweave Gloves, Combat Gauntlets |
| Feet | feet | 4 | Civilian Shoes, Apprentice Boots, Traveler Boots, Battle Boots |
| Shields | offHand | 4 | Basic Shield, Reinforced Shield, Runic Shield, Mana Shield |
| Accessories | accessory1/2 | 11 | Copper Ring, Silver Ring, Gold Ring, Signet Ring, Copper Amulet, Silver Amulet, Crystal Pendant, Mana Brooch, Arcanist Pendant, Void-Touched Ring |
| Accessories | accessory1/2 | 10 | Copper Ring, Silver Ring, Gold Ring, Signet Ring, Copper Amulet, Silver Amulet, Crystal Pendant, Mana Brooch, Arcanist Pendant, Void-Touched Ring |
**Total: 43 equipment types ** across 8 categories. Shields are banned. Catalysts can be equipped in offHand slot.
### Two-Handed Weapons
2H weapons (Basic Staff, Oak Staff, Arcanist Staff, Battlestaff) occupy both `mainHand` and `offHand` . The offhand slot is **blocked ** when a 2H weapon is equipped.
@@ -733,7 +768,7 @@ Level 8: 4 slots
Level 10: 5 slots
```
### Golem Types (10 Total)
### Golem Types (10 Total — undergoing redesign, see issue #268 )
#### Base Golems (1)
@@ -747,7 +782,7 @@ Level 10: 5 slots
|-------|---------|--------|-------|----|--------|--------|
| Steel Golem | Metal | 12 | 1.2/s | 60 | 35% | Metal mana unlocked |
| Crystal Golem | Crystal | 18 | 1.0/s | 40 | 25% | Crystal mana unlocked |
| Sand Golem | Sand | 6 | 2.0/s | 3 5 | 10 % | Sand mana unlocked |
| Sand Golem | Sand | 10 | 2.0/hr | 4 5 | 15 % | Sand mana unlocked |
#### Hybrid Golems (6) — Require Enchanter 5 + Fabricator 5
@@ -756,12 +791,14 @@ Level 10: 5 slots
| Lava Golem | Earth + Fire | 15 | 1.0/s | 70 | 20% | AOE 2 |
| Galvanic Golem | Metal + Lightning | 10 | 3.5/s | 45 | 45% | Fast |
| Obsidian Golem | Earth + Dark | 25 | 0.8/s | 55 | 50% | High damage |
| Prism Golem | Crystal + Light | 20 | 1.5/s | 5 0 | 3 5% | AOE 3 |
| Quicksilver Golem | Metal + Water | 8 | 4.0/s | 40 | 30 % | Very fast |
| Prism Golem | Crystal + Light | 28 | 2.0/hr | 6 0 | 4 5% | AOE 3 |
| Quicksilver Golem | Metal + Water | 14 | 4.0/hr | 55 | 35 % | Very fast |
| Voidstone Golem | Earth + Void | 40 | 0.6/s | 100 | 60% | AOE 3, ultimate |
### Golem Combat
> ⚠ The golemancy system is undergoing a full redesign (see issue #268). The current data definitions exist but are disconnected from the combat pipeline.
```
progressPerTick = HOURS_PER_TICK × attackSpeed × efficiencyBonus
damage = baseDamage × (1 + golemMasteryBonus)
@@ -778,7 +815,7 @@ Golems last `1 + golemLongevity` floors. Maintenance cost multiplier: `1 - (gole
| Condition | Result |
|-----------|--------|
| Day 30 reached | Loop ends, gain insight |
| Floor 100 + Pact 100 signed | Victory! 3× insight |
| Floor 30 reached | Loop ends early, gain insight |
### Insight Formula
@@ -791,7 +828,7 @@ baseInsight = floor(maxFloorReached × 15 + totalManaGathered / 500 + signedPact
finalInsight = floor(baseInsight × mult)
```
Victory bonus: × 3 if maxFloorReached ≥ 100 AND floor 100 guardian pact is signed .
**Note: ** There is currently no specific victory condition or × 3 multiplier. These are awaiting design finalization .
### Prestige Upgrades (14 Types)
@@ -810,9 +847,11 @@ Victory bonus: × 3 if maxFloorReached ≥ 100 AND floor 100 guardian pact is sig
| `quickStart` | Quick Start | Start with 100 raw mana | 3 | 400 |
| `elemStart` | Elem. Start | Start with 5 of each unlocked element | 3 | 800 |
| `unlockedManaTypeCapacity` | Mana Type Capacity | +10 capacity for selected mana type | 5 | 1000 |
| `pactBinding` | Pact Binding | +1 pact slot per level | 5 | 2000 |
### Pact Persistence
- Signed pacts persist through prestige (bounded by `pactSlots` )
- Signed pacts do **NOT ** persist through prestige — the player must re-defeat Guardians and re-sign pacts each loop.
- `pactSlots` starting value: 1 (upgradeable via `pactBinding` prestige upgrade)
- `pactSlots` starting value: 1 (upgradeable)
---
@@ -1107,5 +1146,5 @@ The following systems no longer exist and should not be re-introduced:
---
* Document Version: 4 .0 — Updated: 8 stores, 22 mana types, 64 disciplines, 8-tier guardians, localStorage-only *
* Document Version: 5 .0 — Updated: 8 stores, 22 mana types, 64 disciplines, 14 prestige upgrades, 43 equipment types, 10 golems (redesign pending), 8-tier guardians, localStorage-only *
* End of Game Briefing Document *