diff --git a/docs/circular-deps.txt b/docs/circular-deps.txt index bb6360c..eee81ff 100644 --- a/docs/circular-deps.txt +++ b/docs/circular-deps.txt @@ -1,5 +1,5 @@ # Circular Dependencies -Generated: 2026-06-08T11:29:45.994Z +Generated: 2026-06-08T12:08:47.398Z Found: 1 circular chain(s) — these MUST be fixed before modifying involved files. 1. 1) stores/golem-combat-actions.ts > stores/golem-combat-helpers.ts diff --git a/docs/dependency-graph.json b/docs/dependency-graph.json index a400ef7..a99b58a 100644 --- a/docs/dependency-graph.json +++ b/docs/dependency-graph.json @@ -1,6 +1,6 @@ { "_meta": { - "generated": "2026-06-08T11:29:44.022Z", + "generated": "2026-06-08T12:08:45.389Z", "description": "Import dependency graph for src/lib/game. Keys are files, values are arrays of files they import.", "usage": "To find what a file affects, search for its path in the VALUES. To find what a file depends on, look at its KEY entry." }, diff --git a/src/lib/game/data/golems/frames.ts b/src/lib/game/data/golems/frames.ts index 57e0350..5dac4a3 100644 --- a/src/lib/game/data/golems/frames.ts +++ b/src/lib/game/data/golems/frames.ts @@ -126,9 +126,9 @@ const CRYSTAL_STEEL_HYBRID_FRAME: FrameDefinition = { specialEffect: 'guardianConstruct', summonCost: [elemCost('crystal', 20), elemCost('metal', 15), rawCost(15)], unlockRequirement: { - type: 'dual_attunement', - attunements: ['fabricator', 'enchanter'], - levels: [5, 5], + type: 'attunement_level', + attunement: 'fabricator', + level: 5, }, }; diff --git a/src/lib/game/data/golems/golemancy-data.test.ts b/src/lib/game/data/golems/golemancy-data.test.ts index 0b0b7f5..36b39f3 100644 --- a/src/lib/game/data/golems/golemancy-data.test.ts +++ b/src/lib/game/data/golems/golemancy-data.test.ts @@ -98,11 +98,11 @@ describe('Unlock requirements', () => { expect(isComponentUnlocked(req, { invoker: { active: true, level: 5 }, fabricator: { active: true, level: 5 } }, [], [])).toBe(false); }); - it('crystalSteelHybrid frame requires Fabricator 5 + Enchanter 5', () => { + it('crystalSteelHybrid frame requires Fabricator 5 only', () => { const req = FRAMES.crystalSteelHybrid.unlockRequirement; - expect(req.type).toBe('dual_attunement'); - expect(isComponentUnlocked(req, { fabricator: { active: true, level: 5 }, enchanter: { active: true, level: 5 } }, [], [])).toBe(true); - expect(isComponentUnlocked(req, { fabricator: { active: true, level: 5 }, enchanter: { active: true, level: 4 } }, [], [])).toBe(false); + expect(req.type).toBe('attunement_level'); + expect(isComponentUnlocked(req, { fabricator: { active: true, level: 5 } }, [], [])).toBe(true); + expect(isComponentUnlocked(req, { fabricator: { active: true, level: 4 } }, [], [])).toBe(false); }); it('sand frame requires sand mana unlocked', () => {