diff --git a/packages-user/data-system/src/combat/__test__/combat.test.ts b/packages-user/data-system/src/combat/__test__/combat.test.ts index d34eb27..b7ebfef 100644 --- a/packages-user/data-system/src/combat/__test__/combat.test.ts +++ b/packages-user/data-system/src/combat/__test__/combat.test.ts @@ -430,16 +430,14 @@ describe('CombatFlow async ordering', () => { const script = new FakeScript(1, 'script', fixture.calls, true); script.gate = gate; fixture.flow.addCombatScript(script); - fixture.flow - .addHook({ - onBeforeCombat: async () => { - fixture.calls.push('hooks.onBeforeCombat'); - }, - onAfterCombat: async () => { - fixture.calls.push('hooks.onAfterCombat'); - } - }) - .load(); + fixture.flow.addHook({ + onBeforeCombat: async () => { + fixture.calls.push('hooks.onBeforeCombat'); + }, + onAfterCombat: async () => { + fixture.calls.push('hooks.onAfterCombat'); + } + }); const running = fixture.flow.battle(fixture.view); await Promise.resolve(); @@ -462,16 +460,14 @@ describe('CombatFlow async ordering', () => { bindAll(fixture); const script = new FakeScript(1, 'script', fixture.calls, true); fixture.flow.addCombatScript(script); - fixture.flow - .addHook({ - onBeforeCombat: async () => { - fixture.calls.push('hooks.onBeforeCombat'); - }, - onAfterCombat: async () => { - fixture.calls.push('hooks.onAfterCombat'); - } - }) - .load(); + fixture.flow.addHook({ + onBeforeCombat: async () => { + fixture.calls.push('hooks.onBeforeCombat'); + }, + onAfterCombat: async () => { + fixture.calls.push('hooks.onAfterCombat'); + } + }); const info = await fixture.flow.battle(fixture.view); @@ -490,13 +486,11 @@ describe('CombatFlow async ordering', () => { bindAll(fixture); const script = new FakeScript(1, 'script', fixture.calls, false); fixture.flow.addCombatScript(script); - fixture.flow - .addHook({ - onBeforeCombat: async () => { - fixture.calls.push('hooks.onBeforeCombat'); - } - }) - .load(); + fixture.flow.addHook({ + onBeforeCombat: async () => { + fixture.calls.push('hooks.onBeforeCombat'); + } + }); await fixture.flow.battle(fixture.view); diff --git a/packages-user/data-system/src/combat/__test__/context.test.ts b/packages-user/data-system/src/combat/__test__/context.test.ts index 9681aad..3362572 100644 --- a/packages-user/data-system/src/combat/__test__/context.test.ts +++ b/packages-user/data-system/src/combat/__test__/context.test.ts @@ -541,6 +541,15 @@ describe('EnemyContext converters and effect registrations', () => { const fixture = createContextFixture(); fixture.context.bindHero(fixture.hero); fixture.context.setEnemyAt({ x: 0, y: 0 }, createEnemy('e1')); + // shipped 的 buildupSpecials 在无光环时会提前返回 + // 故放置一个无副作用全局光环,使构建进入特殊查询阶段 + fixture.context.addAura( + new FakeAura({ + priority: 1, + range: new modules.FullRange(), + param: undefined + }) + ); const forCalls: number[] = []; const modifier = { add: () => [], @@ -1421,6 +1430,15 @@ describe('EnemyContext refresh paths and DEV warnings', () => { const fixture = createContextFixture(); fixture.context.bindHero(fixture.hero); fixture.context.setEnemyAt({ x: 0, y: 0 }, createEnemy('e1')); + // shipped 的 buildupSpecials 在无光环时会提前返回 + // 故放置一个无副作用全局光环,使构建进入特殊查询阶段 + fixture.context.addAura( + new FakeAura({ + priority: 1, + range: new modules.FullRange(), + param: undefined + }) + ); const modifier = { add: () => [createSpecial(30) as never], delete: () => [createSpecial(31) as never],