feat: implement Room Enchantments system for Enchanter attunement
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m23s

- Add roomEnchantment field to FloorState (coverage meter 0-100)
- Add 8 room enchantment effect definitions (fire/frost/death/lightning/dark/earth/transference)
- Add room-enchanting discipline with perks (room-coverage-rate capped, resonant-stamps once, 8 unlock perks)
- Add room enchantment combat tick phase (after DoT) with coverage growth and effect application
- Add coverage carryover between rooms via resonant-stamps perk
- Add RoomDisplay coverage bar and effect magnitude UI
- Add room-enchantments-utils.ts for coverage/effect computation
- Extract combat-room-enchantments.ts to keep combat-actions.ts under 400 lines
- Add 25 tests covering all acceptance criteria (AC-1 through AC-22)
This commit is contained in:
2026-06-14 23:48:57 +02:00
parent 718aed38b1
commit 9b559bb9f9
17 changed files with 1093 additions and 30 deletions
+4
View File
@@ -249,6 +249,7 @@ Mana-Loop/
│ │ │ │ ├── persistence.test.ts
│ │ │ │ ├── regression-fixes.test.ts
│ │ │ │ ├── reset-game-comprehensive.test.ts
│ │ │ │ ├── room-enchantments.test.ts
│ │ │ │ ├── room-utils-floor-state.test.ts
│ │ │ │ ├── room-utils.test.ts
│ │ │ │ ├── spell-cast-floorhp-guard.test.ts
@@ -301,6 +302,7 @@ Mana-Loop/
│ │ │ │ │ ├── elemental-regen-advanced.ts
│ │ │ │ │ ├── elemental-regen.ts
│ │ │ │ │ ├── elemental.ts
│ │ │ │ │ ├── enchanter-combat.ts
│ │ │ │ │ ├── enchanter-special.ts
│ │ │ │ │ ├── enchanter-spells.ts
│ │ │ │ │ ├── enchanter-utility.ts
@@ -394,6 +396,7 @@ Mana-Loop/
│ │ │ │ ├── combat-invocation.ts
│ │ │ │ ├── combat-melee.ts
│ │ │ │ ├── combat-reset.ts
│ │ │ │ ├── combat-room-enchantments.ts
│ │ │ │ ├── combat-state.types.ts
│ │ │ │ ├── combatStore.ts
│ │ │ │ ├── crafting-equipment-tick.ts
@@ -448,6 +451,7 @@ Mana-Loop/
│ │ │ │ ├── mana-utils.ts
│ │ │ │ ├── pact-utils.ts
│ │ │ │ ├── result.ts
│ │ │ │ ├── room-enchantments-utils.ts
│ │ │ │ ├── room-utils.ts
│ │ │ │ ├── safe-persist.ts
│ │ │ │ └── spire-utils.ts