[High] [Feature] Complete Redesign of Golemancy System: Component-Based Construction (Core + Frame + Mind Circuit + Enchantments) #288
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type: Feature / Major System Redesign
Priority: High
Summary
Redesign the entire Golemancy system from predefined golem types (10 fixed golems) to a component-based construction system where players design golems by combining:
This is based on the detailed design in issue #268 comment (by Anexim).
Key Changes from Current System
Implementation Tasks
Phase 1: Data Definitions
src/lib/game/data/golems/cores.ts— 4 Core definitions with mana types, capacity, regen, maxRoomDuration, summonCost, unlock conditionssrc/lib/game/data/golems/frames.ts— 7 Frame definitions with damage, speed, armorPierce, magicAffinity, specialEffect, unlock conditionssrc/lib/game/data/golems/circuits.ts— 4 Circuit definitions with maxSpells, behavior logic, unlock conditionssrc/lib/game/data/golems/enchantments.ts— Golem enchantment definitions (Sword_Fire, Sword_Frost, Sword_Lightning, Sword_Shadow)src/lib/game/data/golems/types.ts— New type definitions for component system (CoreDefinition, FrameDefinition, CircuitDefinition, GolemDesign, computed properties)src/lib/game/data/golems/designs.ts— Design builder, validation, computed property calculationsrc/lib/game/data/golems/index.ts— Export new modulesbase-golems.ts,elemental-golems.ts,hybrid-golems.ts,golems-data.ts,utils.ts) or mark deprecatedPhase 2: Discipline Updates
src/lib/game/data/disciplines/fabricator.ts— Golem Crafting discipline perks should unlock component tiers/capacity, not fixed golemsgolemCoreTier,golemFrameAccess,golemCircuitAccess,golemEnchantCapacityPhase 3: Combat Pipeline (Core Implementation)
src/lib/game/stores/golem-combat-actions.ts— Full implementation:summonGolemDesign(design)— Compute costs, deduct mana, create active golem instancetickGolemCombat(golem)— Attack timer, basic attacks, spell casting logictickGolemMaintenance(golem)— Player upkeep = core.regen × 2, dismiss if unpaidtickGolemManaRegen(golem)— Internal mana regen for spell castingonRoomClearedGolems()— Decrement roomsRemaining, dismiss expiredsrc/lib/game/stores/pipelines/golem-combat.ts— Wire into combat tick pipelinesrc/lib/game/stores/combatStore.ts— Active golems state, loadout managementPhase 4: UI Redesign
src/components/game/tabs/GolemancyTab.tsx— Design Builder interface:Phase 5: Integration & Polish
docs/specs/spire-combat-spec.md§9 with new systemsrc/lib/game/data/disciplines/fabricator.tsunlock conditions to reference new component requirementsAcceptance Criteria (from Updated Spec)
floor(fabricatorLevel / 2)+ discipline bonus (max 7)Dependencies & Blockers
Notes
data/golems/are replaced entirely by this component systemgolemancy.designs[]andgolemancy.loadout[]golemancy.activeGolems[]with per-instance state (roomsRemaining, attackProgress, currentMana, selectedSpellIndex)Starting implementation of Golemancy System Redesign (component-based construction). The data layer (cores, frames, mindCircuits, enchantments, types, utils) and combat pipeline are already well-implemented. Focusing on: discipline updates, unlock requirement fixes, slot cap, and comprehensive tests.
Implementation complete. All 1009 tests pass (52 test files). Changes committed and pushed.
Summary of changes: