feat: Complete Golemancy System Redesign - Component-Based Construction
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
Build and Publish Mana Loop Docker Image / build-and-publish (push) Successful in 1m18s
- Fix Crystal-Steel Hybrid Frame unlock to require Fabricator 5 + Enchanter 5 (dual attunement) - Fix golem slot calculation: pass fabricator level to summon logic, cap at 7 (base 5 + discipline bonus) - Integrate discipline golemCapacity bonus into slot calculation in combat-descent-actions and golem-combat pipeline - Update GolemancyTab UI to show discipline slot bonus in header - Add comprehensive test suite: golemancy-data.test.ts (344 lines) and golemancy-combat.test.ts (313 lines) - All 1009 tests pass across 52 test files
This commit is contained in:
@@ -8,6 +8,8 @@ import { getGuardianForFloor } from '../data/guardian-encounters';
|
||||
import { usePrestigeStore } from './prestigeStore';
|
||||
import { useManaStore } from './manaStore';
|
||||
import { summonGolemsOnRoomEntry } from './golem-combat-actions';
|
||||
import { computeDisciplineEffects } from '../effects/discipline-effects';
|
||||
import { useAttunementStore } from './attunementStore';
|
||||
import {
|
||||
onEnterLibraryRoom,
|
||||
onEnterRecoveryRoom,
|
||||
@@ -145,6 +147,11 @@ function summonGolemsForRoom(get: GetFn, set: SetFn): void {
|
||||
const loadout = s.golemancy?.golemLoadout ?? [];
|
||||
if (loadout.length === 0) return;
|
||||
|
||||
const attStore = useAttunementStore.getState();
|
||||
const fabLevel = attStore.attunements?.fabricator?.level ?? 0;
|
||||
const discEffects = computeDisciplineEffects();
|
||||
const discBonus = Math.floor(discEffects.bonuses.golemCapacity || 0);
|
||||
|
||||
const currentActiveGolems = s.golemancy?.activeGolems ?? [];
|
||||
const summonResult = summonGolemsOnRoomEntry(
|
||||
loadout,
|
||||
@@ -152,7 +159,8 @@ function summonGolemsForRoom(get: GetFn, set: SetFn): void {
|
||||
manaState.elements,
|
||||
s.currentFloor,
|
||||
currentActiveGolems,
|
||||
0, // discBonus — computed in pipeline, not here
|
||||
discBonus,
|
||||
fabLevel,
|
||||
);
|
||||
|
||||
if (summonResult.logMessages.length > 0) {
|
||||
|
||||
Reference in New Issue
Block a user