feat: 评审修订同步进章节 JSON(沉默铁律/记忆私密/四档等价/温简贯穿/C3-03 重构共 22 处)
This commit is contained in:
+13
-5
@@ -320,6 +320,8 @@ for (const cls of [LocalStorageEventStore, SqliteEventStore, MemoryStore]) {
|
||||
check(choiceFlags('C2-03', 'c_scout').flag_fresh_collapse === 'true', 'flag 推导:C2-03 c_scout → flag_fresh_collapse=true');
|
||||
check(choiceFlags('C2-01', 'b_exposure').wenjian_health === 'weak', 'flag 推导:C2-01 b_exposure → wenjian_health=weak');
|
||||
check(choiceFlags('C2-01', 'a_weakest').wenjian_health === 'recovering', 'flag 推导:C2-01 a_weakest → wenjian_health=recovering');
|
||||
check(choiceFlags('C2-01', 'd_process').wenjian_health === 'weak', 'flag 推导(S4 修订):C2-01 d_process → wenjian_health=weak(议事真空期老鬼先行分药)');
|
||||
check(!('flag_prophecy_heard' in narrationFlags('C2-02', 'intel_full', '(讲述)')), 'flag 推导(S3 修订):flag_prophecy_heard 已废除,C2-02 四档等价');
|
||||
check(narrationFlags('C3-02', undefined, null).c3_02_mode === 'exit_room', 'flag 推导:C3-02 沉默退出 → c3_02_mode=exit_room');
|
||||
{
|
||||
const f = choiceFlags('C3-06', 'c_confide_wenjian');
|
||||
@@ -370,10 +372,11 @@ async function walkAll(eng: StoryEngine, picker: Record<string, string> = {}) {
|
||||
check(!seen.includes('c3-d1a'), '未选 c_scout:flag_fresh_collapse 差分节点被跳过(无死路,继续走到 c3-d1b)');
|
||||
check(seen.includes('c3-d1b'), '跳过差分节点后落到主线下一节点');
|
||||
check(!seen.includes('c3-d6c'), '动机非 d_trust:§3-7 追加句节点被跳过');
|
||||
const d5a = chapters[1].nodes.find((n) => n.id === 'c2-d5a');
|
||||
// S4 修订:温简在场/留营的双版本台词移到了 c2-d4f(C2-03 分歧前)
|
||||
const d4f = chapters[1].nodes.find((n) => n.id === 'c2-d4f');
|
||||
check(
|
||||
d5a?.type === 'dialogue' && !eng.renderText(d5a.text).includes('通讯频道'),
|
||||
'wenjian_health=recovering:温简在场,「通讯频道」内联段不渲染',
|
||||
d4f?.type === 'dialogue' && eng.renderText(d4f.text).includes('你定,我跟着') && !eng.renderText(d4f.text).includes('等信儿'),
|
||||
'wenjian_health=recovering:温简在场版台词渲染,留营版不渲染',
|
||||
);
|
||||
}
|
||||
|
||||
@@ -385,10 +388,15 @@ async function walkAll(eng: StoryEngine, picker: Record<string, string> = {}) {
|
||||
check(finished, '条件系统下差分路径三章跑通');
|
||||
check(seen.includes('c3-d1a'), '选了 c_scout:flag_fresh_collapse 差分节点可见');
|
||||
check(eng.state.flags.flag_fresh_collapse === 'true' && eng.state.flags.wenjian_health === 'weak', '引擎 flags 随选择增量更新');
|
||||
const d4f = chapters[1].nodes.find((n) => n.id === 'c2-d4f');
|
||||
check(
|
||||
d4f?.type === 'dialogue' && eng.renderText(d4f.text).includes('在营里等信儿'),
|
||||
'wenjian_health=weak:温简留营版(通讯频道)台词渲染',
|
||||
);
|
||||
const d5a = chapters[1].nodes.find((n) => n.id === 'c2-d5a');
|
||||
check(
|
||||
d5a?.type === 'dialogue' && eng.renderText(d5a.text).includes('通讯频道'),
|
||||
'wenjian_health=weak:温简台词的「通讯频道」内联段渲染',
|
||||
d5a?.type === 'dialogue' && eng.renderText(d5a.text).includes('解谜要记录员'),
|
||||
'wenjian_health=weak:§2-5 温简归队时刻渲染(他自己背着记录板跟来了)',
|
||||
);
|
||||
const cut = chapters[2].nodes.find((n) => n.id === 'c3-cutscene');
|
||||
check(
|
||||
|
||||
Reference in New Issue
Block a user