@@ -137,6 +137,7 @@ describe('sceneEncounterPreviews', () => {
|
||||
expect(resolved.currentEncounter).toBeNull();
|
||||
expect(resolved.currentBattleNpcId).toBe('npc-trader');
|
||||
expect(resolved.currentNpcBattleMode).toBe('fight');
|
||||
expect(resolved.sparReturnEncounter).toEqual(state.currentEncounter);
|
||||
expect(resolved.sceneHostileNpcs).toHaveLength(1);
|
||||
expect(resolved.sceneHostileNpcs[0]?.encounter?.npcName).toBe('Trader Lin');
|
||||
});
|
||||
|
||||
@@ -240,7 +240,9 @@ function buildResolvedNpcBattleState(state: GameState, encounter: Encounter) {
|
||||
currentBattleNpcId: battleNpcId,
|
||||
currentNpcBattleMode: 'fight' as const,
|
||||
currentNpcBattleOutcome: null,
|
||||
sparReturnEncounter: null,
|
||||
// 中文注释:NPC 开战后要保留战前原始遭遇,供战斗收尾时恢复和平态站位。
|
||||
// 这里复用现有 sparReturnEncounter 存槽,避免战后误把 battle encounter 的临时坐标带回场景。
|
||||
sparReturnEncounter: encounter,
|
||||
sparPlayerHpBefore: null,
|
||||
sparPlayerMaxHpBefore: null,
|
||||
sparStoryHistoryBefore: null,
|
||||
|
||||
Reference in New Issue
Block a user