fix: bugs #238,#240,#244,#246 + docs #248 update
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m21s

- #238: Fix spire tab inconsistent state (Max Floor 1 but Floors Cleared 0) by not inflating maxFloorReached on enterSpireMode and preserving it on exitSpireMode
- #240: Fix guardian armor display stray text by extracting stat formatters in SpireSummaryTab
- #244: Improve discipline auto-pause UX with log messages and visual feedback on DisciplineCard
- #246: Fix raw mana exceeding max cap by recomputing maxMana after discipline XP gains
- #248: Update AGENTS.md (remove gitea_get_project_boards, add gitea_start_session, 22 mana types, 8 stores, updated guardian tiers)
- #248: Update README.md (remove Prisma/SQLite refs, update mana types/guardian tiers/discipline counts)
- #248: Update GAME_BRIEFING.md (8 stores, 22 mana types, 64 disciplines, 8-tier guardians, correct code architecture)
This commit is contained in:
2026-06-01 13:54:28 +02:00
parent 7dd9ad5b92
commit fa78c7a93a
15 changed files with 448 additions and 407 deletions
+29 -21
View File
@@ -1,7 +1,7 @@
# Mana-Loop: Comprehensive Game Briefing Document
**Document Version:** 3.0
**Updated:** Post-refactoring — skills removed, disciplines procedural guardians, combo bosses, 14 mana types, localStorage-only
**Document Version:** 4.0
**Updated:** Post-refactoring — 22 mana types, 8-tier guardian system, 64 disciplines, 8 Zustand stores, localStorage-only
---
@@ -35,11 +35,11 @@
- 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)
- Guardian progression: base → compound → exotic → combination bosses (150+)
- 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
**Code Architecture:** Modular Zustand stores, crafting actions, discipline data, and constants. No legacy store files remain.
**Code Architecture:** 8 modular Zustand stores, crafting actions, discipline data, and constants. No legacy store files remain.
---
@@ -61,8 +61,8 @@
│ ▼ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ DEFEAT GUARDIANS → SIGN PACTS (every 10th) │ │
│ │ Base(10-80) → Compound(90-110) → Exotic(120-140)│
│ │ → Combination Bosses(150+) │ │
│ │ Base(10-80) → Composite(90-160) → Exotic(170-240)│ │
│ │ → Combo Bosses(250+, 8 tiers) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
@@ -376,7 +376,7 @@ Miasma ↔ Light Shadow Glass ↔ Light
Floors 90240 have procedurally generated names via `generateGuardianName()`.
#### Tier 4 — Combination Bosses (Floor 150+)
#### Tier 4 — Dual Element Pairs (Floors 250280)
Nine dual-element combinations cycle every 10 floors:
@@ -392,14 +392,20 @@ Nine dual-element combinations cycle every 10 floors:
| 7 | air + light | Radiant wind |
| 8 | earth + death | Fossil |
**Scaling (per floor above 150):**
#### Tiers 58 — Scaling Combo Bosses (Floors 290+)
- **Tier 5 (290330)**: Dual composite + components
- **Tier 6 (340380)**: Exotic + components
- **Tier 7 (390430)**: Exotic + composite + components
- **Tier 8 (440+)**: Full fusion — 1 exotic + 2 composites + all base elements
**Scaling (per tier):**
```
armor = min(0.5, 0.25 + (floor - 150) × 0.002)
pactMultiplier = 6.0 + (floor - 150) × 0.05
pactCost = floor(hp × 0.5)
pactTime = 20 + floor((floor - 150) / 10)
damageMult = 3.0 + (floor - 150) × 0.02
insightMult = 2.5 + (floor - 150) × 0.01
armor = min(0.7, 0.30 + floor_increment × 0.002-0.003)
pactMultiplier = 7.5+ (scales with tier)
pactTime = 20+ hours (scales with tier)
damageMult = 3.5+ (scales with tier)
insightMult = 3.0+ (scales with tier)
```
Combo guardians grant boons to both elements (+10% each) and dual-aspect perks (+20% effectiveness to both element spells). Names generated from combined prefixes (e.g., "Ignis-Aqua the Warden").
@@ -950,7 +956,7 @@ getElementalBonus(spellElement, floorElement):
### Modular Structure Overview
#### Store Architecture (7 Zustand Stores)
#### Store Architecture (8 Zustand Stores)
**Active Stores (`src/lib/game/stores/`):**
- **gameStore.ts** — Coordinator/tick pipeline, combines all stores
@@ -962,6 +968,8 @@ getElementalBonus(spellElement, floorElement):
- **discipline-slice.ts** — Discipline activation, XP ticking, perk evaluation
- **uiStore.ts** — Logs, pause, game over/victory flags
(Note: `useDisciplineStore` is exported from `discipline-slice.ts`, making it the 8th store.)
**Supporting store files:**
- `tick-pipeline.ts``buildTickContext()` / `applyTickWrites()` pattern
- `combat-actions.ts` — Combat tick processing
@@ -974,12 +982,12 @@ getElementalBonus(spellElement, floorElement):
**No legacy store files remain.** The old `store.ts`, `store/`, and `store-modules/` directories have been fully removed.
#### Data Layer (`src/lib/game/data/`)
- `disciplines/` — 11 files: per-attunement discipline definitions (34 disciplines total)
- `disciplines/` — 11 files: per-attunement discipline definitions (64 disciplines total)
- `enchantments/` — 7 files + `spell-effects/` subdirectory: enchantment effects by category
- `equipment/` — 13 files: equipment type definitions by slot
- `golems/` — 7 files: golem definitions (base, elemental, hybrid)
- `guardian-data.ts` — Static guardian definitions (floors 10140)
- `guardian-encounters.ts` — Procedural guardian lookup & combo bosses (150+)
- `guardian-data.ts` — Static guardian definitions (floors 10240)
- `guardian-encounters.ts` — Procedural guardian lookup & combo bosses (250+, 8 tiers)
- `attunements.ts` — Attunement definitions
- `achievements.ts` — Achievement definitions (24 achievements)
- `crafting-recipes.ts` / `fabricator-recipes.ts` — Crafting recipes
@@ -992,7 +1000,7 @@ getElementalBonus(spellElement, floorElement):
- `prestige.ts` — Prestige upgrade definitions
- `rooms.ts` — Room type configs (armor, speed, swarm, puzzle)
- `spells.ts` — Spell constants barrel
- `spells-modules/` — 10 files: spell definitions by category (raw, basic, advanced, master, legendary, lightning, compound, AOE, utility, enchantment)
- `spells-modules/` — 15 files: spell definitions by category (raw, basic, advanced, master, legendary, lightning, compound, compound+, frost, blackflame, radiantflames, miasma, shadowglass, AOE, utility, enchantment, plasma, soul, time)
#### Types (`src/lib/game/types/`)
- `game.ts` — Core game types (GameState, ActivityLogEntry, etc.)
@@ -1094,10 +1102,10 @@ The following systems no longer exist and should not be re-introduced:
| Scroll crafting | Deleted (violates no-instant-finishing pillar) |
| Lifesteal/healing | Banned permanently |
| Familiar System | Replaced by Golemancy and Pact systems |
| Legacy static guardians (named Primordialis, The Awakened One) | Procedural guardian system with 4 tiers |
| Legacy static guardians (named Primordialis, The Awakened One) | Procedural guardian system with 8 tiers |
| Prisma / database | Removed; localStorage-only persistence |
---
*Document Version: 3.0 — Post-Refactoring Update*
*Document Version: 4.0 — Updated: 8 stores, 22 mana types, 64 disciplines, 8-tier guardians, localStorage-only*
*End of Game Briefing Document*