round2: 看门狗礼仪F1(不重播/单句升级/idle-skip) + 分档归因F2 + 交接count-in/answer F3 + 教学看表现F4-F5 + 警报去叠F6 + 回绕F7 + 开场瘦身F8 + 10句新语音 + 测试全绿(6playtest零改动+guide52断言+资产终检)
This commit is contained in:
@@ -40,15 +40,16 @@ export async function session(ctx, mock) {
|
||||
await ctx.waitCond(() => game.phase === 'explore');
|
||||
ctx.status('进村了,先听场景描述和选项');
|
||||
|
||||
// 村里(选项:去小路/商店/休息/听状态):把选项听一圈再对准「去小路」出发
|
||||
// 村里(选项:去小路/商店/休息/听状态):把选项听一圈,回绕到首项再出发。
|
||||
// 确认(tap)前必须等选项名念完——voice 播放中单击是「跳过本句」,会把手势吃掉
|
||||
for (let i = 0; i < 3; i++) {
|
||||
await ctx.gesture('right');
|
||||
await ctx.waitVirtual(1800); // 听选项名
|
||||
}
|
||||
ctx.status('选项听了一圈,往林间小路去');
|
||||
await ctx.waitIdle(); // 选项名播完(无 interval,可安全等待空闲)
|
||||
await ctx.gesture('right'); // 转回首个选项「去小路」
|
||||
await ctx.waitVirtual(1500);
|
||||
ctx.status('选项听了一圈');
|
||||
await ctx.gesture('right'); // 从末项回绕到首个选项——听到「回到第一个」(round2 F7)
|
||||
ctx.note('滑到头再滑就兜回来了,有人提醒「回到第一个」,不用自己数');
|
||||
await ctx.waitCond(() => !ctx.voiceBusy()); // 选项名 + 回绕提示念完
|
||||
await ctx.gesture('tap'); // → path
|
||||
|
||||
// 小路(去岔路口/调查/返回):先调查一次捡钱,再左滑回「去岔路口」
|
||||
@@ -57,17 +58,18 @@ export async function session(ctx, mock) {
|
||||
await ctx.gesture('right'); // 调查四周
|
||||
await ctx.waitVirtual(1800);
|
||||
ctx.note('翻找了一阵,捡到一点钱');
|
||||
await ctx.waitCond(() => !ctx.voiceBusy());
|
||||
await ctx.gesture('tap');
|
||||
await ctx.waitVirtual(2400);
|
||||
await ctx.waitCond(() => !ctx.voiceBusy()); // 捡钱播报念完
|
||||
await ctx.gesture('left'); // 回「去岔路口」
|
||||
await ctx.waitVirtual(1500);
|
||||
await ctx.waitCond(() => !ctx.voiceBusy());
|
||||
await ctx.gesture('tap'); // → fork
|
||||
|
||||
// 岔路口(去枯树洞/去溪流/返回):右滑一次到「去溪流」
|
||||
await ctx.waitCond(() => game.phase === 'explore' && game.scene === 'fork');
|
||||
ctx.status('岔路口,水声在东边');
|
||||
await ctx.gesture('right');
|
||||
await ctx.waitVirtual(1500);
|
||||
await ctx.waitCond(() => !ctx.voiceBusy());
|
||||
await ctx.gesture('tap'); // go_stream → 溪流 → 触发教学战
|
||||
|
||||
// 教学战:四步(识招 → 攻击 → 格挡 → 防御)+ 自由击杀
|
||||
@@ -95,10 +97,10 @@ export async function session(ctx, mock) {
|
||||
ctx.note('单击出手,攻击');
|
||||
await ctx.gesture('tap');
|
||||
|
||||
// T2:格挡(前摇窗口内双击)
|
||||
// T2:格挡(前摇窗口内双击)——挡住会先听到「挡得漂亮」(round2 F4)再进防御教学
|
||||
await ctx.waitCond(() => game._battle?.state === 'ENEMY_TELEGRAPH');
|
||||
ctx.status('前摇声响起了');
|
||||
ctx.note('双击格挡');
|
||||
ctx.note('双击格挡——这回干净挡下了,听到「挡得漂亮」');
|
||||
await ctx.gesture('doubletap');
|
||||
|
||||
// T3:防御一次
|
||||
|
||||
Reference in New Issue
Block a user