fix: complete golemancy component-based redesign cleanup
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s

- Fix summonGolemsForRoom to use golemLoadout instead of removed enabledGolems
- Fix discBonus hardcoded to 0 in golem-combat.ts pipeline (now computed from discipline effects)
- Remove deprecated types: SummonedGolem, ActiveGolem, GolemDef
- Remove legacy GolemancyState fields: enabledGolems, summonedGolems, legacyActiveGolems
- Remove orphaned store actions: toggleGolem, setEnabledGolems
- Delete orphaned legacy data files: base-golems.ts, elemental-golems.ts, hybrid-golems.ts
- Update GolemDebugSection to use new golemLoadout system
- Update golemancy-spec.md §17 to reflect all features as complete
- Update all test files to match new type shapes
- All 958 tests passing
This commit is contained in:
2026-06-06 18:37:09 +02:00
parent bd15df85ff
commit 9d4b3f3c69
28 changed files with 89 additions and 443 deletions
@@ -142,16 +142,17 @@ export function advanceRoomOrFloor(get: GetFn, set: SetFn): void {
function summonGolemsForRoom(get: GetFn, set: SetFn): void {
const s = get();
const manaState = useManaStore.getState();
const enabledGolems = s.golemancy?.enabledGolems ?? [];
if (enabledGolems.length === 0) return;
const loadout = s.golemancy?.golemLoadout ?? [];
if (loadout.length === 0) return;
const currentActiveGolems = s.golemancy?.activeGolems ?? [];
const summonResult = summonGolemsOnRoomEntry(
enabledGolems,
loadout,
manaState.rawMana,
manaState.elements,
s.currentFloor,
currentActiveGolems,
0, // discBonus — computed in pipeline, not here
);
if (summonResult.logMessages.length > 0) {
@@ -244,7 +245,7 @@ export function createEnterSpireMode(get: GetFn, set: SetFn) {
roomResetState: {},
descentPeak: null,
isDescentComplete: false,
golemancy: { enabledGolems: [], summonedGolems: [], activeGolems: [], lastSummonFloor: 0, golemDesigns: {}, golemLoadout: [], legacyActiveGolems: [] },
golemancy: { activeGolems: [], lastSummonFloor: 0, golemDesigns: {}, golemLoadout: [] },
});
get().addActivityLog('floor_transition',