feat(playbook): 26 号交互手册首批落地——storyline/escape/simon 全面重构 + 引擎六模块
按 docs/design/26-audio-interaction-playbook.md 重构三款游戏(对白重写 + 双性别语音重生成 580 文件)。 引擎层(web/engine/,其余 12 款游戏零改动): - floor.js 发言权管理器:SPEAKING/YOUR_TURN/BUSY/ACTION 四态、交接提示音、 等待声(220/330Hz 嘟-嘟,20s 后放缓)、跨链音乐压低(audio.js holdDuck) - receipts.js 输入回执三件套(ok/invalid/busy,100ms 内,原则 4) - confusion.js 迷茫检测(乱点/无效/静默信号 → 三级接管,§4.5) - hints.js 等待点 + 三档提示(full→short→提示音,30s 台账跨点去重,原则 9) - novice.js 手势解锁阶梯(up/down/doubletap 跨局持久,§4.3) - pipeline.js 输入管道(回执收口、防连点 400ms、双击折算、explainOnce) 游戏层: - storyline R3:开场 71.7s 规则念白 → 3 秒内动手;双击=重播(反模式5)废除; 抉择点三档提示+主动重听;断点存档复述(§4.12) - escape R3:单击=检查+使用合并(双击用法废除);长按=我在哪(四向玩法裁定); 撞墙归因每方向一次(原则 7);迷茫 L2 缩小/L3 演示;坐标存档续玩 - simon R3:新手三音色,按实力渐进解锁(+up/down/dt);失败表替代机会账 (归因 2s 内→免费重听→放慢→结算,原则 15);播放期手势=busy 回执 测试:三款 playtest 重写(含 §6.2 乱点机器人:无声操作/被动重复/打断失败全 0, 首操作 ~2s);guide.test 改为 Guide 层单测+rhythm/space 段。全部通过 (38+33+22+72+19+35 断言)。设计单见 docs/design/26-apply-*.md。
This commit is contained in:
+193
-223
@@ -89,30 +89,55 @@ _SL_EPIC = _pair("低沉醇厚的中年男声旁白,悲壮,尾音下沉",
|
||||
"女声旁白,悲壮,尾音下沉")
|
||||
|
||||
STORYLINE_LINES = [
|
||||
# ---- 系统语音 ----
|
||||
("help", _SL_NARR, "操作说明。单击屏幕:继续剧情。双击:重听刚才的台词。向上滑:听这段说明和当前进度。向下滑:呼出菜单,菜单里可以重新开始。当旁白说“请选择”的时候,向左滑或者向右滑,做出你的决定。选择无法撤销。"),
|
||||
("status1", _SL_NARR, "当前进度:第一幕,城南地铁站附近。你的目标:活着离开这片废墟,前往北区的广播塔,寻找妹妹林晨的下落。"),
|
||||
("status2", _SL_NARR, "当前进度:第二幕,酸雨笼罩的街区与断桥。你的目标:渡过江水,抵达广播塔。小心,猎狗的人,就在附近。"),
|
||||
("status3", _SL_NARR, "当前进度:第三幕,广播塔下。你的目标:把警报发出去,找到林晨。这是最后一段路了。"),
|
||||
("menu", _SL_NARR, "菜单。向左滑:重新开始整个故事。向右滑,或者单击:回到故事。向上滑:听操作说明。"),
|
||||
# ---- 选择提示 ----
|
||||
("p1", _SL_NARR, "请选择。向左滑:先检查背包里的收音机。向右滑:先摸黑寻找出口。"),
|
||||
("p2", _SL_NARR, "请选择。向左滑:钻进旁边的通风管道。向右滑:躺进路边的尸体堆里装死。"),
|
||||
("p3", _SL_NARR, "请选择。向左滑:循着哭声过去看看。向右滑:不去管它,直接去北区。"),
|
||||
("p4", _SL_NARR, "请选择。向左滑:带上小满一起走。向右滑:留下食物,独自上路。"),
|
||||
("p5", _SL_NARR, "请选择。向左滑:走桥下的污水涵洞。向右滑:爬桥上悬着的钢索。"),
|
||||
("p6", _SL_NARR, "请选择。向左滑:交出坐标,保命要紧。向右滑:拒绝他,想办法周旋。"),
|
||||
("p7", _SL_NARR, "请选择。向左滑:追上去,警告避难所。向右滑:自己逃命,越远越好。"),
|
||||
("p8", _SL_NARR, "请选择。向左滑:用公开频道广播,让全城都听见。向右滑:用加密频段,只发给避难所。"),
|
||||
# ---- 第一幕 ----
|
||||
("n00_intro", _SL_NARR, "大停电后的第三十天,城市陷入彻底的黑暗。没有电,没有网络,只有收音机里偶尔闪过的沙沙声,像垂死者的呼吸。你是林晚,一名前急救员。在这个故事里,你用声音活下去。请记住:单击屏幕,继续剧情;双击,重听上一句;向上滑,听你的状态和帮助;向下滑,呼出菜单。当我说“请选择”的时候,向左滑,或者向右滑,做出你的决定。选择一旦做出,就无法回头。现在,单击屏幕,睁开眼睛。"),
|
||||
# ---- 26 号重构:系统/交互层(发言权·三档提示·阶梯·复述)----
|
||||
("sys_first_tap", _SL_NARR, "点一下屏幕。"),
|
||||
("sys_first_tap_short", _SL_NARR, "点一下。"),
|
||||
("n00_a", _SL_NARR, "大停电后的第三十天。没有电,没有网络,只有收音机里的沙沙声。"),
|
||||
("n00_b", _SL_NARR, "你是林晚,前急救员。单击屏幕,睁开眼睛。"),
|
||||
("sys_turn_teach", _SL_NARR, "听到这个声音,就是轮到你了。"),
|
||||
("skip_hint", _SL_NARR, "单击可跳过旁白。"),
|
||||
("sys_hint_continue_full", _SL_NARR, "单击,继续。"),
|
||||
("sys_hint_continue_short", _SL_NARR, "单击。"),
|
||||
("sys_hint_choice_short", _SL_NARR, "左右滑,选。"),
|
||||
("sys_hint_again_full", _SL_NARR, "单击,重新开始。"),
|
||||
("sys_say_again", _SL_NARR, "再说一遍:"),
|
||||
("status_s1", _SL_NARR, "第一幕,地铁站。找林晨。单击继续。"),
|
||||
("status_s2", _SL_NARR, "第二幕,断桥。过江。单击继续。"),
|
||||
("status_s3", _SL_NARR, "第三幕,广播塔。发警报。单击继续。"),
|
||||
("status_choice", _SL_NARR, "正在抉择。左右滑。"),
|
||||
("sys_continue_ask", _SL_NARR, "检测到上次的进度。单击,继续上次。右滑,从头开始。"),
|
||||
("inv_nosel", _SL_NARR, "现在不用选。单击继续。"),
|
||||
("inv_generic", _SL_NARR, "这个操作用不上。单击继续。"),
|
||||
("inv_up_locked", _SL_NARR, "上滑还没解锁。先单击继续。"),
|
||||
("inv_down_locked", _SL_NARR, "菜单,玩完一局解锁。单击继续。"),
|
||||
("sys_only_choice", _SL_NARR, "现在,只要左右滑。"),
|
||||
("sys_demo_continue", _SL_NARR, "听我做一次。"),
|
||||
("sys_demo_choice", _SL_NARR, "左右滑,都可以。现在你来。"),
|
||||
("sys_unlock_up", _SL_NARR, "想知道自己在哪,就向上滑。"),
|
||||
("sys_unlock_down", _SL_NARR, "向下滑,可以打开菜单。"),
|
||||
("sys_unlock_dt", _SL_NARR, "没听清,就双击,再听一遍。"),
|
||||
("menu_open", _SL_NARR, "菜单。"),
|
||||
("menu_item1", _SL_NARR, "重新开始。"),
|
||||
("menu_item2", _SL_NARR, "回大厅。"),
|
||||
("menu_item3", _SL_NARR, "返回故事。"),
|
||||
("menu_help", _SL_NARR, "单击换一项,右滑确认。"),
|
||||
# ---- 选择提示(动作 + 结果,指令句 ≤12 字)----
|
||||
("p1", _SL_NARR, "请选择。左滑,检查收音机。右滑,摸黑找出口。"),
|
||||
("p2", _SL_NARR, "请选择。左滑,钻进通风管道。右滑,躺下装死。"),
|
||||
("p3", _SL_NARR, "请选择。左滑,循哭声过去。右滑,直接去北区。"),
|
||||
("p4", _SL_NARR, "请选择。左滑,带上小满。右滑,独自上路。"),
|
||||
("p5", _SL_NARR, "请选择。左滑,走桥下涵洞。右滑,爬桥上钢索。"),
|
||||
("p6", _SL_NARR, "请选择。左滑,交出坐标。右滑,拒绝周旋。"),
|
||||
("p7", _SL_NARR, "请选择。左滑,追上去警告。右滑,自己逃命。"),
|
||||
("p8", _SL_NARR, "请选择。左滑,公开频道。右滑,加密频段。"),
|
||||
# ---- 第一幕(旁白,不变)----
|
||||
("n01_wake", _SL_NARR, "后脑一阵钝痛,嘴里全是铁锈味。你在废弃的地铁站里醒来,四周黑得像沉在水底。背包还压在身下,手电筒却不知去向。远处滴水的声音,一下,一下,像某种倒计时。"),
|
||||
("n04_exit", _SL_NARR, "你扶着潮湿的墙,一步一步往外摸。第五十步,脚尖踢到一个硬物——是一支手电,还剩半格电。光柱劈开黑暗的那一瞬,你看见墙上用红漆刷着一行大字:别去北区。"),
|
||||
("n05_signal", _SL_NARR, "就在这时,背包侧袋里的收音机,沙沙声忽然变得清晰。一个平稳的女声,一遍又一遍地重复着:"),
|
||||
("n06_whistle", _SL_NARR, "你刚走上街面,黑暗里忽然响起一声口哨。接着是第二声,第三声,从不同的方向,把你围在中间。有人的手电光,扫过你的脸。"),
|
||||
("n08_vent", _SL_NARR, "你一矮身,钻进了通风管道。铁皮贴着脊背,窄得几乎无法呼吸。身后传来咒骂和铁棍敲击管道口的声音,越来越近,又渐渐远去。十分钟后,你从两条街外的井口爬出来,肺里像塞满了沙子。"),
|
||||
("n09_dead", _SL_NARR, "你屏住呼吸,把自己埋进路边冰冷的尸体堆里。手电、罐头、半瓶水,被他们一样一样摸走。有人踢了你一脚,你纹丝不动。就在他们离开时,你听见一句不该听见的话——“北区那个陷阱,今晚就收网。”"),
|
||||
# ---- 第二幕 ----
|
||||
# ---- 第二幕(旁白,不变)----
|
||||
("n10_rain", _SL_NARR, "酸雨开始下了。街面上升起细密的嘶嘶声,像无数条小蛇在游。雨幕那头,隐约传来一阵哭声——细细的,是个孩子。"),
|
||||
("n11_child", _SL_NARR, "哭声来自一间塌了一半的便利店。一个小男孩抱着膝盖坐在货架底下,身边躺着一个再也不会醒来的女人。他抬起头,脸上全是灰,小声说:“我叫小满。妈妈说,数到一千,她就会醒。我已经数到……数到好多个一千了。”"),
|
||||
("n13_leave", _SL_NARR, "你把仅剩的一罐罐头放在他身边,转身走进雨里。身后,孩子重新开始数数:一……二……三……你告诉自己,别回头。千万别回头。"),
|
||||
@@ -122,23 +147,15 @@ STORYLINE_LINES = [
|
||||
("n16b_culvert_c", _SL_NARR, "你让小满骑在肩上,自己蹚进没到胸口的污水里。又冷又黏,带着腐烂的甜味。走到一半,水面下有什么东西擦过你的腿,小满吓得一抖,你抬手按住他的膝盖:“数数。”他小声数起来,一,二,三……数到一百七,你们看见了洞口的天光。"),
|
||||
("n17_cable", _SL_NARR, "钢索比想象中更滑。酸雨把它泡得发黏,你每挪一步,整根钢索就晃一下。江风从断桥的缺口灌进来,像有无数只手在水底下拽你的脚。你不往下看。你只知道,前面就是北岸。"),
|
||||
("n17b_cable_c", _SL_NARR, "钢索比想象中更滑。小满趴在你背上,一声不吭,两条小胳膊勒得你生疼。走到一半,钢索猛地一沉,你听见身后钢丝崩断的脆响。“闭眼。”你说。然后你用尽全身力气,向前,向前,直到膝盖磕上北岸的石头。"),
|
||||
# ---- 第三幕 ----
|
||||
# ---- 第三幕(旁白,不变)----
|
||||
("n20_convoy", _SL_NARR, "猎狗的车队朝北区开走了,探照灯在雨幕里划出一道道口子。你蹲在原地,胃里一阵一阵地泛酸。晨晨在北区。而刚才,是你,亲手把狼,引到了她的门口。"),
|
||||
("n22_fight", _SL_NARR, "你往后退了半步,忽然笑了:“坐标在我脑子里。杀了我,你什么都拿不到。”猎狗愣了半秒。就是这半秒,你抓起一把沙土扬在他脸上,转身就跑。子弹擦着肩膀打进墙里,火辣辣地疼。但你在跑,你在跑——活着的感觉,从来没有这么清楚过。"),
|
||||
("n23_tower", _SL_NARR, "广播塔就立在头顶,红色的信号灯在雨里一闪一闪,像一颗还在跳动的心脏。塔底的中控台居然还能用。只要爬上去,你就能接入城市广播网,把警报发给北区的每一个人。问题是——用哪个频道。"),
|
||||
# ---- 结局 ----
|
||||
# ---- 结局(不变)----
|
||||
("e1_dawn", _SL_WARM, "加密频道那头沉默了三秒。然后,一个你等了三十天的声音响了起来:“姐?姐!是你吗?”天亮之前,避难所的救援队打开了大门。猎狗的人,在北区的高墙下溃散了。你抱着晨晨,听见广播塔里,重新响起了音乐。后来人们说,这座城市,是从一个女人的声音开始,重新活过来的。——好结局:黎明。感谢你,陪林晚走完了这条路。单击屏幕,可以回到故事开始的地方。"),
|
||||
("e2_price", _SL_EPIC, "你赶在车队前面,撞进了避难所的大门。“关掉广播!关灯!猎狗来了——!”那一夜,北区守住了。探照灯熄灭的时候,晨晨从人群里扑出来抱住你,才发现你胳膊上的血,已经把半边袖子浸透了。坐标是你交出去的,命,是你抢回来的。你赢了,用一条胳膊的代价。——结局:代价。单击屏幕,重新开始。"),
|
||||
("e3_alone", _SL_COLD, "你逃了。一路向南,没有回头。三天后,收音机里关于北区的广播,停了。又过了七天,你在一个废弃的加油站里,听见最后一个频段,也变成了沙沙声。你活下来了。只是从此以后的每一个夜里,你都会想起那声口哨,和你报出坐标时,自己发抖的声音。——坏结局:孤声。单击屏幕,重新开始。"),
|
||||
("e4_static", _SL_EPIC, "公开频道,把所有人都引来了——幸存者,还有猎狗。塔顶的风很大,你看见山下火把连成的长龙,也看见避难所方向亮起的防御火光。猎狗的刀抵上来的时候,你对着麦克风笑了:“听见了吗,晨晨?姐姐的声音,全城都听见了。”信号中断了。但那晚之后,北区,再没有人投降。——结局:静默。单击屏幕,重新开始。"),
|
||||
("skip_hint", _SL_NARR, "单击可跳过旁白。"),
|
||||
# ---- 向导层(docs/design/14-guide-layer.md,schemes §1.5 定稿全文)----
|
||||
("gd_continue", _SL_NARR, "轻触屏幕,继续。"),
|
||||
("gd_invalid", _SL_NARR, "这个操作在这里用不上。"),
|
||||
# ---- 向导层 round2(docs/design/14-guide-layer.md「round2 v1.1」,synthesis §3 定稿全文)----
|
||||
("gd_brief", _SL_NARR, "单击继续剧情。请选择的时候,左右滑动。"),
|
||||
("gd_again", _SL_NARR, "还在吗?单击继续。"),
|
||||
|
||||
]
|
||||
|
||||
# ---------------------------------------------------------------- escape
|
||||
@@ -147,62 +164,63 @@ _ESC = _pair("低沉平稳的男声,冷静、克制,带一点神秘感",
|
||||
"沉稳平静的女声,冷静、克制,带一点神秘感")
|
||||
|
||||
ESCAPE_LINES = [
|
||||
# ---- 开场引导 G0-G7 ----
|
||||
("g0_intro", _ESC, "黑暗。你在废弃的地下设施里醒来,什么都想不起来。你必须找到出路。"),
|
||||
("g1_move", _ESC, "先活动一下。朝任意方向滑一下,走一小步。"),
|
||||
("g1_done", _ESC, "很好,你迈出了第一步。"),
|
||||
("g2_wall", _ESC, "这个房间不大,四面都是墙。再滑两下,试试碰碰墙。"),
|
||||
("g3_left", _ESC, "跟着我指的路走。向左滑。"),
|
||||
# ---- 26 号重构:引导(首 3 分钟逐秒脚本,见 26-apply-escape.md)----
|
||||
("g0_new", _ESC, "黑暗。朝任意方向,滑一下。"),
|
||||
("g0b", _ESC, "对。你被困在地下设施里。再滑两下,试试墙。"),
|
||||
("g3_new", _ESC, "现在,向左滑。"),
|
||||
("g4_down", _ESC, "对。再向下滑。"),
|
||||
("g5_inspect", _ESC, "听到水声了吗?单击一下,仔细检查这个房间。"),
|
||||
("g5_key", _ESC, "你摸到了一把钥匙!"),
|
||||
("g6_doubletap", _ESC, "钥匙能开锁。双击,是把物品用出去的用法。现在,双击试试。"),
|
||||
("g6_done", _ESC, "对,就是这样。接下来,靠你自己了。"),
|
||||
("g7_goal", _ESC, "找到能用这把钥匙打开的东西。需要帮助时,在原地双击。"),
|
||||
# ---- 引导纠错与跳过 ----
|
||||
("guide_wrong_up", _ESC, "不是这个方向。向上滑。"),
|
||||
("guide_wrong_down", _ESC, "不是这个方向。向下滑。"),
|
||||
("g7_goal_new", _ESC, "找到能用钥匙打开的东西。迷路了,按住屏幕。"),
|
||||
("g_wrong_gesture", _ESC, "不是这个操作。照我说的做。"),
|
||||
("g_wrong_tap", _ESC, "这一步不点。滑动。"),
|
||||
("g_hint_swipe", _ESC, "滑一下。"),
|
||||
("guide_wrong_left", _ESC, "不是这个方向。向左滑。"),
|
||||
("guide_wrong_right", _ESC, "不是这个方向。向右滑。"),
|
||||
("guide_wrong_gesture", _ESC, "不是这个操作。照我说的做。"),
|
||||
("guide_blunt_up", _ESC, "手指贴着屏幕,向上推一下。"),
|
||||
("guide_blunt_down", _ESC, "手指贴着屏幕,向下推一下。"),
|
||||
("guide_blunt_left", _ESC, "手指贴着屏幕,向左推一下。"),
|
||||
("guide_blunt_right", _ESC, "手指贴着屏幕,向右推一下。"),
|
||||
("guide_offpath", _ESC, "先跟我走。"),
|
||||
("guide_skip", _ESC, "跳过引导,直接开始自由探索。"),
|
||||
("reopen_prompt", _ESC, "上滑,重新听一遍引导。单击,直接开始。"),
|
||||
# ---- 卡关三级提示 + 导航 ----
|
||||
("stuck_ask", _ESC, "需要帮助吗?"),
|
||||
("stuck_key_1", _ESC, "铁锈味最重的地方,值得仔细看看。"),
|
||||
("stuck_key_2", _ESC, "去西南角的储物间,单击检查,找到钥匙。"),
|
||||
("stuck_key_3", _ESC, "跟我说的方向走,去西南角的储物间。"),
|
||||
("stuck_cabinet_1", _ESC, "钥匙就在你身上。它能打开某一把锁。"),
|
||||
("stuck_cabinet_2", _ESC, "去东边的铁柜房,双击,用钥匙打开铁柜。"),
|
||||
("stuck_cabinet_3", _ESC, "跟我说的方向走,去铁柜所在的房间。"),
|
||||
("stuck_box_1", _ESC, "保险丝属于电箱。有电流声的地方,就有电箱。"),
|
||||
("stuck_box_2", _ESC, "去西北角的电箱房,双击,把保险丝装进电箱。"),
|
||||
("stuck_box_3", _ESC, "跟我说的方向走,去电箱所在的房间。"),
|
||||
("stuck_gate_1", _ESC, "电已经通了。该去找那扇铁门了。"),
|
||||
("stuck_gate_2", _ESC, "去东南角的大门,双击,打开它,离开这里。"),
|
||||
("stuck_gate_3", _ESC, "跟我说的方向走,去大门所在的房间。"),
|
||||
("guide_wrong_down", _ESC, "不是这个方向。向下滑。"),
|
||||
("guide_blunt_swipe", _ESC, "手指贴着屏幕,朝我说的方向推一下。"),
|
||||
# ---- 撞墙与导航(失败表:方向错)----
|
||||
("wall", _ESC, "那边是墙,换个方向。"),
|
||||
("wall_dir_l", _ESC, "左边是墙。"),
|
||||
("wall_dir_r", _ESC, "右边是墙。"),
|
||||
("wall_dir_u", _ESC, "上边是墙。"),
|
||||
("wall_dir_d", _ESC, "下边是墙。"),
|
||||
("nav_up", _ESC, "向上滑。"),
|
||||
("nav_down", _ESC, "向下滑。"),
|
||||
("nav_left", _ESC, "向左滑。"),
|
||||
("nav_right", _ESC, "向右滑。"),
|
||||
# ---- 房间描述 ----
|
||||
# ---- 长按「我在哪」(目标 + 方位,一句话)----
|
||||
("lp_key", _ESC, "目标,找钥匙。"),
|
||||
("lp_cabinet", _ESC, "目标,开铁柜。"),
|
||||
("lp_box", _ESC, "目标,修电箱。"),
|
||||
("lp_gate", _ESC, "目标,开大门。"),
|
||||
("lp_here", _ESC, "就在这儿。单击。"),
|
||||
("lp_tap", _ESC, "单击。"),
|
||||
# ---- 迷茫接管(三级)----
|
||||
("sys_only_up", _ESC, "现在,只要向上滑。"),
|
||||
("sys_only_down", _ESC, "现在,只要向下滑。"),
|
||||
("sys_only_left", _ESC, "现在,只要向左滑。"),
|
||||
("sys_only_right", _ESC, "现在,只要向右滑。"),
|
||||
("sys_demo", _ESC, "听我做一次。"),
|
||||
("sys_now_you", _ESC, "现在,你来。"),
|
||||
# ---- 系统层 ----
|
||||
("sys_continue_ask", _ESC, "检测到你的进度。单击,继续上次。右滑,重新开始。"),
|
||||
("sys_say_again", _ESC, "再说一遍:"),
|
||||
("inv_generic", _ESC, "这里用不上。滑动移动,单击检查。"),
|
||||
("inv_settle", _ESC, "单击,重新开始。"),
|
||||
("menu_open", _ESC, "菜单。"),
|
||||
("menu_item1", _ESC, "重新开始。"),
|
||||
("menu_item2", _ESC, "回大厅。"),
|
||||
("menu_item3", _ESC, "返回游戏。"),
|
||||
("menu_help", _ESC, "单击换一项,右滑确认。"),
|
||||
# ---- 房间与谜题链 ----
|
||||
("start_room", _ESC, "你站在设施中央的房间里。滑动,移动。单击,检查。"),
|
||||
("room_storage", _ESC, "一间储物间。货架上堆满杂物,角落里传来水滴声。"),
|
||||
("room_cabinet", _ESC, "这个房间里,立着一个铁柜。"),
|
||||
("room_power", _ESC, "这个房间的墙上,有一只电箱。"),
|
||||
("room_gate", _ESC, "面前,是一扇沉重的铁门。"),
|
||||
# ---- 用时播报 4 段整句 ----
|
||||
("time_band1", _ESC, "你逃出来了,用时不到两分钟。了不起!"),
|
||||
("time_band2", _ESC, "你逃出来了,用时不到五分钟。"),
|
||||
("time_band3", _ESC, "你逃出来了,用时不到十分钟。"),
|
||||
("time_band4", _ESC, "你逃出来了,用时超过十分钟。"),
|
||||
# ---- 保留句(文本沿用,按新 instruct 重录) ----
|
||||
("wall", _ESC, "那边是墙,换个方向。"),
|
||||
("start_room", _ESC, "你站在设施中央的房间里。滑动移动,单击检查,双击使用物品。"),
|
||||
("empty_1", _ESC, "房间里空空荡荡,只有你自己的回声。"),
|
||||
("empty_2", _ESC, "你伸出手,摸到的只有冰冷粗糙的墙壁。"),
|
||||
("empty_3", _ESC, "除了远处的水滴声,这里什么都没有。"),
|
||||
("found_key", _ESC, "你蹲下身在储物架的角落里摸索,指尖碰到一个冰凉的金属物件——是一把钥匙!钥匙到手了。"),
|
||||
("inspect_cabinet_locked", _ESC, "这个房间里立着一个铁柜,柜门上挂着一把锁。也许,有什么钥匙能打开它。"),
|
||||
("unlock_cabinet", _ESC, "钥匙插进锁孔,缓缓转动。咔哒一声,柜门开了。柜子深处,躺着一枚保险丝。保险丝到手了。"),
|
||||
@@ -210,48 +228,23 @@ ESCAPE_LINES = [
|
||||
("box_fixed", _ESC, "电箱运转正常,电流的嗡鸣声平稳而持续。"),
|
||||
("fix_box", _ESC, "你把保险丝用力按进卡座。火花一闪,嗡鸣声响起——头顶的线路恢复供电了!"),
|
||||
("inspect_gate", _ESC, "面前是一扇沉重的铁门。门边的电子锁一片漆黑,没有任何反应。它需要电力。"),
|
||||
("inspect_gate_ready", _ESC, "电子锁的指示灯亮了,发出微弱的绿光。大门已经通电。双击,打开它,离开这里。"),
|
||||
("escape", _ESC, "你扳动开关。电机轰鸣,沉重的铁门缓缓升起,刺眼的光线涌了进来。你眯起眼睛,向前迈出了第一步。自由了。你逃出来了。"),
|
||||
("use_fail", _ESC, "这里没有用得上东西的地方。换个房间试试,或者先单击检查一下周围。"),
|
||||
("inv_empty", _ESC, "你摸了摸身上,什么也没有。"),
|
||||
("inv_key", _ESC, "你身上带着一把钥匙。"),
|
||||
("inv_fuse", _ESC, "你身上带着一枚保险丝。"),
|
||||
("inv_both", _ESC, "你身上带着一把钥匙和一枚保险丝。"),
|
||||
("replay", _ESC, "黑暗再次合拢。你回到了中央的房间。这一次,你会更快。"),
|
||||
("again", _ESC, "单击屏幕,再来一次。下滑,打开菜单。"),
|
||||
("empty_1", _ESC, "房间里空空荡荡,只有你自己的回声。"),
|
||||
("empty_2", _ESC, "你伸出手,摸到的只有冰冷粗糙的墙壁。"),
|
||||
("empty_3", _ESC, "除了远处的水滴声,这里什么都没有。"),
|
||||
# ---- 菜单与帮助 ----
|
||||
("help_ops", _ESC, "滑动,在房间之间移动。单击,检查房间,或者重听房间的声音。双击,使用物品,或者查看背包。"),
|
||||
("menu_open", _ESC, "菜单。"),
|
||||
("menu_restart", _ESC, "重新开始。"),
|
||||
("menu_home", _ESC, "回大厅。"),
|
||||
("menu_back", _ESC, "返回游戏。"),
|
||||
("skip_hint", _ESC, "单击可跳过旁白。"),
|
||||
# ---- 向导层 round3(docs/design/14-guide-layer.md「round3 v1.2」,synthesis §3 定稿全文)----
|
||||
("inspect_gate_ready", _ESC, "电子锁的指示灯亮了,发出微弱的绿光。单击,打开它,离开这里。"),
|
||||
("gd_next_fuse", _ESC, "保险丝到手。接下来,去找电箱。"),
|
||||
# ---- 向导层 round4(docs/design/14-guide-layer.md「round4 v1.3」,synthesis §3 定稿全文)----
|
||||
# H1:目标句后按房间图接播目标房间方位句(移动坐标系:up/down/left/right 滑动方向即方位)。
|
||||
("gd_room_l", _ESC, "左面的房间。"),
|
||||
("gd_room_r", _ESC, "右面的房间。"),
|
||||
("gd_room_u", _ESC, "上面的房间。"),
|
||||
("gd_room_d", _ESC, "下面的房间。"),
|
||||
# ---- escape-state round2(docs/design/25-escape-map-flow.md §4.1 B1/B2/B3,台词与草案逐字一致)----
|
||||
# B1(F1):撞墙方位句(陈述式非教学腔),wall 播完后接播,同向 10s 限频。
|
||||
("wall_dir_l", _ESC, "左边是墙。"),
|
||||
("wall_dir_r", _ESC, "右边是墙。"),
|
||||
("wall_dir_u", _ESC, "上边是墙。"),
|
||||
("wall_dir_d", _ESC, "下边是墙。"),
|
||||
# B2(F2):目标名+方位一体句,替换三处 gd_room_* 接播(原句保留作异常路径兜底)。
|
||||
("gd_cabinet_dir", _ESC, "铁柜,在右面的房间。"),
|
||||
("gd_box_dir", _ESC, "电箱,在左面的房间。"),
|
||||
("gd_gate_dir", _ESC, "大门,在右面的房间。"),
|
||||
# B3(F3):无进展 150s 活跃计时器的进度重述(stage=cabinet/box/gate,key 阶段不走本通道)。
|
||||
("gd_prog_1", _ESC, "钥匙已经到手。找到能用它的锁。"),
|
||||
("gd_prog_2", _ESC, "铁柜已经打开。电还没有通。"),
|
||||
("gd_prog_3", _ESC, "电已经通了。去找那扇大门。"),
|
||||
|
||||
# ---- 结算 ----
|
||||
("escape", _ESC, "你扳动开关。电机轰鸣,沉重的铁门缓缓升起,刺眼的光线涌了进来。你眯起眼睛,向前迈出了第一步。自由了。你逃出来了。"),
|
||||
("time_band1", _ESC, "你逃出来了,用时不到两分钟。了不起!"),
|
||||
("time_band2", _ESC, "你逃出来了,用时不到五分钟。"),
|
||||
("time_band3", _ESC, "你逃出来了,用时不到十分钟。"),
|
||||
("time_band4", _ESC, "你逃出来了,用时超过十分钟。"),
|
||||
("again", _ESC, "单击屏幕,再来一次。"),
|
||||
("replay", _ESC, "黑暗再次合拢。你回到了中央的房间。这一次,你会更快。"),
|
||||
]
|
||||
|
||||
# ---------------------------------------------------------------- simon
|
||||
@@ -260,9 +253,8 @@ _SIMON = _pair("平静、清晰,像一个耐心的游戏主持人")
|
||||
_SIMON_ROUNDS = ["第一", "第二", "第三", "第四", "第五", "第六", "第七", "第八", "第九", "第十",
|
||||
"第十一", "第十二", "第十三", "第十四", "第十五", "第十六", "第十七", "第十八", "第十九", "第二十"]
|
||||
SIMON_LINES = [
|
||||
# ---- 交互式教学 T0-T7 ----
|
||||
("t0_welcome", _SIMON, "欢迎来到音序回响。先认识六种声音。"),
|
||||
("t0_goal", _SIMON, "我会演奏一串声音,请你记住顺序,原样复现。"),
|
||||
# ---- 26 号重构:教学(3 秒内动手;新手只教三个音色)----
|
||||
("t0_new", _SIMON, "音序回响。点一下屏幕。"),
|
||||
("t1_up", _SIMON, "向上滑,是这个声音。"),
|
||||
("t2_down", _SIMON, "向下滑,是这个声音。"),
|
||||
("t3_left", _SIMON, "向左滑,是这个声音。"),
|
||||
@@ -270,6 +262,7 @@ SIMON_LINES = [
|
||||
("t5_tap", _SIMON, "单击,是这个声音。"),
|
||||
("t6_double", _SIMON, "双击,是这个声音。"),
|
||||
("t_try", _SIMON, "你试试。"),
|
||||
("t_retry", _SIMON, "再试一次。"),
|
||||
("t_ok", _SIMON, "对了。"),
|
||||
("t_wrong_up", _SIMON, "不是这个,向上滑试试。"),
|
||||
("t_wrong_down", _SIMON, "不是这个,向下滑试试。"),
|
||||
@@ -277,16 +270,8 @@ SIMON_LINES = [
|
||||
("t_wrong_right", _SIMON, "不是这个,向右滑试试。"),
|
||||
("t_wrong_tap", _SIMON, "不是这个,单击试试。"),
|
||||
("t_wrong_double", _SIMON, "不是这个,双击试试。"),
|
||||
("t_blunt_up", _SIMON, "手指贴着屏幕,向上推一下。"),
|
||||
("t_blunt_down", _SIMON, "手指贴着屏幕,向下推一下。"),
|
||||
("t_blunt_left", _SIMON, "手指贴着屏幕,向左推一下。"),
|
||||
("t_blunt_right", _SIMON, "手指贴着屏幕,向右推一下。"),
|
||||
("t_blunt_tap", _SIMON, "用指尖,轻轻点一下屏幕。"),
|
||||
("t_blunt_double", _SIMON, "用指尖,快速点两下屏幕。"),
|
||||
("t7_ready", _SIMON, "六种声音都记住了。后面的序列,会越来越长。"),
|
||||
("t7_retry", _SIMON, "答错可以消耗机会重听。向上滑,可以随时重听。"),
|
||||
("t_skip", _SIMON, "跳过教学,直接开始。"),
|
||||
# ---- 轮次播报(整句,round_01..round_20 + 兜底) ----
|
||||
("t7_new", _SIMON, "记住顺序,原样复现。答错,我们就再听一遍。"),
|
||||
# ---- 轮次播报(整句)----
|
||||
*[(f"round_{i + 1:02d}", _SIMON, f"{w}轮,听好了。") for i, w in enumerate(_SIMON_ROUNDS)],
|
||||
("round_more", _SIMON, "新的一轮,听好了。"),
|
||||
# ---- 成绩播报 6 段整句 ----
|
||||
@@ -296,60 +281,42 @@ SIMON_LINES = [
|
||||
("score_band4", _SIMON, "你坚持了将近十轮。"),
|
||||
("score_band5", _SIMON, "你坚持了十轮以上,很厉害。"),
|
||||
("score_band6", _SIMON, "你坚持了十五轮以上,大师级!"),
|
||||
# ---- 失败表(归因 2 秒内 + 免费重听 + 放慢)----
|
||||
("wr_up", _SIMON, "错了。是向上滑。"),
|
||||
("wr_down", _SIMON, "错了。是向下滑。"),
|
||||
("wr_left", _SIMON, "错了。是向左滑。"),
|
||||
("wr_right", _SIMON, "错了。是向右滑。"),
|
||||
("wr_tap", _SIMON, "错了。是单击。"),
|
||||
("wr_dt", _SIMON, "错了。是双击。"),
|
||||
("relisten", _SIMON, "再听一遍。"),
|
||||
("slow_down", _SIMON, "我放慢一些。"),
|
||||
# ---- 流程句 ----
|
||||
("your_turn", _SIMON, "轮到你了。"),
|
||||
("chances_out", _SIMON, "重听机会用完了,小心。"),
|
||||
("retry_use", _SIMON, "错了。用一次机会,再听一遍。"),
|
||||
("relisten", _SIMON, "再听一遍。"),
|
||||
("replay", _SIMON, "单击屏幕,再来一局。"),
|
||||
("rules_prompt", _SIMON, "上滑,重听规则。下滑,打开菜单。"),
|
||||
("rules", _SIMON, "上行音,向上滑。下行音,向下滑。左边的音,向左滑。右边的音,向右滑。一声轻响,单击。两声轻响,双击。"),
|
||||
("gameover", _SIMON, "游戏结束。"),
|
||||
("replay", _SIMON, "单击,再来一局。"),
|
||||
("new_record", _SIMON, "新纪录!"),
|
||||
# ---- 状态查询(长按,一句话)----
|
||||
("st_b1", _SIMON, "前几轮。"),
|
||||
("st_b2", _SIMON, "第五轮上下。"),
|
||||
("st_b3", _SIMON, "第十轮上下。"),
|
||||
("st_b4", _SIMON, "十五轮以上。"),
|
||||
# ---- 反馈短句 ----
|
||||
("correct", _SIMON, "答对了!"),
|
||||
("wrong", _SIMON, "错了。"),
|
||||
("chance_plus", _SIMON, "机会加一。"),
|
||||
("new_record", _SIMON, "新纪录!"),
|
||||
("gd_clear", _SIMON, "这轮全对。"),
|
||||
("gd_record", _SIMON, "破纪录了。"),
|
||||
# ---- 系统层 ----
|
||||
("sys_say_again", _SIMON, "再说一遍:"),
|
||||
("sys_demo", _SIMON, "听我做一次。"),
|
||||
("inv_busy", _SIMON, "正在播放。稍等。"),
|
||||
("inv_generic", _SIMON, "这个操作用不上。"),
|
||||
("sys_unlock_down", _SIMON, "向下滑,可以打开菜单。"),
|
||||
("sys_unlock_dt", _SIMON, "没听清,就双击,再听一遍。"),
|
||||
# ---- 菜单 ----
|
||||
("menu_open", _SIMON, "菜单。"),
|
||||
("menu_restart", _SIMON, "重新开始。"),
|
||||
("menu_home", _SIMON, "回大厅。"),
|
||||
("menu_back", _SIMON, "返回游戏。"),
|
||||
("skip_hint", _SIMON, "单击可跳过旁白。"),
|
||||
# ---- 向导层(docs/design/14-guide-layer.md,schemes §1.5 定稿全文)----
|
||||
("gd_relisten", _SIMON, "需要的话,向上滑可以重新听一遍序列。"),
|
||||
# ---- 向导层 round2(docs/design/14-guide-layer.md「round2 v1.1」,synthesis §3 定稿全文)----
|
||||
# round3 G5 重录(14 号文档「round3 v1.2」):双击改回纯音色、重听改绑上滑,
|
||||
# 机会经济句按裁定书新文案一字不改重录;教学链 t7_retry 同步手势口径。
|
||||
("gd_economy", _SIMON, "记不住就向上滑,重新听一遍。免费机会有两次,用完要扣一次机会。"),
|
||||
# ---- 向导层 round3(docs/design/14-guide-layer.md「round3 v1.2」,synthesis §3 定稿全文)----
|
||||
("gd_clear", _SIMON, "漂亮,过了。"),
|
||||
("gd_record", _SIMON, "破纪录了。"),
|
||||
# ---- 向导层 round4(docs/design/14-guide-layer.md「round4 v1.3」,synthesis §3 定稿全文)----
|
||||
# H2:轮次开场占用预告(序列播放后、轮到你提示前;重听键与答案音共用词表的根治形态)。
|
||||
("gd_occ_up", _SIMON, "这一轮,向上滑是作答。"),
|
||||
("gd_occ_dt", _SIMON, "这一轮,双击是作答。"),
|
||||
("gd_occ_both", _SIMON, "这一轮,向上滑和双击都是作答。"),
|
||||
# H3:使用时如实报余量(替换主动重听路径的旧「用完了」绝对句)。
|
||||
("gd_chances_left1", _SIMON, "免费重听还剩一次。"),
|
||||
("gd_chances_left0", _SIMON, "免费重听用完了。之后重听会花一次机会,别怕,慢慢来。"),
|
||||
# ---- 状态查询(research/simon-polish round1,S1/S3/S4;input 阶段长按=问状态,
|
||||
# 13 句全部整句预生成、数字分档,禁运行时拼接;不加 guide 前缀——三档 guide 全可用,
|
||||
# 属玩家主动查询而非向导插播)----
|
||||
("status_len_short", _SIMON, "这一轮很短。"),
|
||||
("status_len_mid", _SIMON, "这一轮不长不短。"),
|
||||
("status_len_long", _SIMON, "这一轮挺长。"),
|
||||
("status_len_xlong", _SIMON, "这一轮很长,稳住。"),
|
||||
("status_prog_start", _SIMON, "刚开头,一个还没对。"),
|
||||
("status_prog_early", _SIMON, "刚答了个开头。"),
|
||||
("status_prog_half", _SIMON, "答了一半左右。"),
|
||||
("status_prog_late", _SIMON, "就剩最后几个了。"),
|
||||
("status_free2", _SIMON, "免费重听还有两次。"),
|
||||
("status_free1", _SIMON, "免费重听还有一次。"),
|
||||
("status_chance2", _SIMON, "免费用完,机会还剩两次。"),
|
||||
("status_chance1", _SIMON, "免费用完,机会还剩一次。"),
|
||||
("status_out", _SIMON, "免费和机会都用完了,答错就结束。"),
|
||||
|
||||
("menu_item1", _SIMON, "重新开始。"),
|
||||
("menu_item2", _SIMON, "回大厅。"),
|
||||
("menu_item3", _SIMON, "返回结算。"),
|
||||
("menu_help", _SIMON, "单击换一项,右滑确认。"),
|
||||
]
|
||||
|
||||
# ---------------------------------------------------------------- rhythm
|
||||
@@ -2167,89 +2134,92 @@ NPCS = {"rpg": RPG_NPC, "radio": RADIO_NPC, "abyss": ABYSS_NPC, "detective": DET
|
||||
# 双表一致铁律:本表与 docs/design/*-voice-ids.md「键盘变体」小节必须逐字一致。
|
||||
KEY_LINES = {
|
||||
"storyline": [
|
||||
("help", "操作说明。按空格:继续剧情。按回车:重听刚才的台词。按上方向键:听这段说明和当前进度。按下方向键:呼出菜单,菜单里可以重新开始。当旁白说“请选择”的时候,按左方向键或者按右方向键,做出你的决定。选择无法撤销。"),
|
||||
("menu", "菜单。按左方向键:重新开始整个故事。按右方向键,或者按空格:回到故事。按上方向键:听操作说明。"),
|
||||
("p1", "请选择。按左方向键:先检查背包里的收音机。按右方向键:先摸黑寻找出口。"),
|
||||
("p2", "请选择。按左方向键:钻进旁边的通风管道。按右方向键:躺进路边的尸体堆里装死。"),
|
||||
("p3", "请选择。按左方向键:循着哭声过去看看。按右方向键:不去管它,直接去北区。"),
|
||||
("p4", "请选择。按左方向键:带上小满一起走。按右方向键:留下食物,独自上路。"),
|
||||
("p5", "请选择。按左方向键:走桥下的污水涵洞。按右方向键:爬桥上悬着的钢索。"),
|
||||
("p6", "请选择。按左方向键:交出坐标,保命要紧。按右方向键:拒绝他,想办法周旋。"),
|
||||
("p7", "请选择。按左方向键:追上去,警告避难所。按右方向键:自己逃命,越远越好。"),
|
||||
("p8", "请选择。按左方向键:用公开频道广播,让全城都听见。按右方向键:用加密频段,只发给避难所。"),
|
||||
("n00_intro", "大停电后的第三十天,城市陷入彻底的黑暗。没有电,没有网络,只有收音机里偶尔闪过的沙沙声,像垂死者的呼吸。你是林晚,一名前急救员。在这个故事里,你用声音活下去。请记住:按空格,继续剧情;按回车,重听上一句;按上方向键,听你的状态和帮助;按下方向键,呼出菜单。当我说“请选择”的时候,按左方向键,或者按右方向键,做出你的决定。选择一旦做出,就无法回头。现在,按空格,睁开眼睛。"),
|
||||
("e1_dawn", "加密频道那头沉默了三秒。然后,一个你等了三十天的声音响了起来:“姐?姐!是你吗?”天亮之前,避难所的救援队打开了大门。猎狗的人,在北区的高墙下溃散了。你抱着晨晨,听见广播塔里,重新响起了音乐。后来人们说,这座城市,是从一个女人的声音开始,重新活过来的。——好结局:黎明。感谢你,陪林晚走完了这条路。按空格,可以回到故事开始的地方。"),
|
||||
("e2_price", "你赶在车队前面,撞进了避难所的大门。“关掉广播!关灯!猎狗来了——!”那一夜,北区守住了。探照灯熄灭的时候,晨晨从人群里扑出来抱住你,才发现你胳膊上的血,已经把半边袖子浸透了。坐标是你交出去的,命,是你抢回来的。你赢了,用一条胳膊的代价。——结局:代价。按空格,重新开始。"),
|
||||
("e3_alone", "你逃了。一路向南,没有回头。三天后,收音机里关于北区的广播,停了。又过了七天,你在一个废弃的加油站里,听见最后一个频段,也变成了沙沙声。你活下来了。只是从此以后的每一个夜里,你都会想起那声口哨,和你报出坐标时,自己发抖的声音。——坏结局:孤声。按空格,重新开始。"),
|
||||
("e4_static", "公开频道,把所有人都引来了——幸存者,还有猎狗。塔顶的风很大,你看见山下火把连成的长龙,也看见避难所方向亮起的防御火光。猎狗的刀抵上来的时候,你对着麦克风笑了:“听见了吗,晨晨?姐姐的声音,全城都听见了。”信号中断了。但那晚之后,北区,再没有人投降。——结局:静默。按空格,重新开始。"),
|
||||
("sys_first_tap", "按空格。"),
|
||||
("sys_first_tap_short", "按一下空格。"),
|
||||
("n00_b", "你是林晚,前急救员。按空格,睁开眼睛。"),
|
||||
("sys_hint_continue_full", "按空格,继续。"),
|
||||
("sys_hint_continue_short", "按空格。"),
|
||||
("sys_hint_choice_short", "左右方向键,选。"),
|
||||
("sys_hint_again_full", "按空格,重新开始。"),
|
||||
("status_s1", "第一幕,地铁站。找林晨。按空格继续。"),
|
||||
("status_s2", "第二幕,断桥。过江。按空格继续。"),
|
||||
("status_s3", "第三幕,广播塔。发警报。按空格继续。"),
|
||||
("status_choice", "正在抉择。左右方向键。"),
|
||||
("sys_continue_ask", "检测到上次的进度。按空格,继续上次。右方向键,从头开始。"),
|
||||
("inv_nosel", "现在不用选。按空格继续。"),
|
||||
("inv_generic", "这个操作用不上。按空格继续。"),
|
||||
("inv_up_locked", "上方向键还没解锁。先按空格继续。"),
|
||||
("inv_down_locked", "菜单,玩完一局解锁。按空格继续。"),
|
||||
("sys_only_choice", "现在,只要左右方向键。"),
|
||||
("sys_unlock_up", "想知道自己在哪,就按上方向键。"),
|
||||
("sys_unlock_down", "按下方向键,可以打开菜单。"),
|
||||
("sys_unlock_dt", "没听清,就按回车,再听一遍。"),
|
||||
("menu_help", "空格换一项,右方向键确认。"),
|
||||
("p1", "请选择。左方向键,检查收音机。右方向键,摸黑找出口。"),
|
||||
("p2", "请选择。左方向键,钻进通风管道。右方向键,躺下装死。"),
|
||||
("p3", "请选择。左方向键,循哭声过去。右方向键,直接去北区。"),
|
||||
("p4", "请选择。左方向键,带上小满。右方向键,独自上路。"),
|
||||
("p5", "请选择。左方向键,走桥下涵洞。右方向键,爬桥上钢索。"),
|
||||
("p6", "请选择。左方向键,交出坐标。右方向键,拒绝周旋。"),
|
||||
("p7", "请选择。左方向键,追上去警告。右方向键,自己逃命。"),
|
||||
("p8", "请选择。左方向键,公开频道。右方向键,加密频段。"),
|
||||
("skip_hint", "按空格可跳过旁白。"),
|
||||
("gd_continue", "按空格,继续。"),
|
||||
("gd_brief", "按空格继续剧情。请选择的时候,按左右方向键。"),
|
||||
("gd_again", "还在吗?按空格继续。"),
|
||||
],
|
||||
"escape": [
|
||||
("g1_move", "先活动一下。按任意方向键,走一小步。"),
|
||||
("g2_wall", "这个房间不大,四面都是墙。再按两下方向键,试试碰碰墙。"),
|
||||
("g3_left", "跟着我指的路走。按左方向键。"),
|
||||
("g0_new", "黑暗。按任意方向键。"),
|
||||
("g0b", "对。你被困在地下设施里。再按两下方向键,试试墙。"),
|
||||
("g3_new", "现在,按左方向键。"),
|
||||
("g4_down", "对。再按下方向键。"),
|
||||
("g5_inspect", "听到水声了吗?按一下空格,仔细检查这个房间。"),
|
||||
("g6_doubletap", "钥匙能开锁。按回车,是把物品用出去的用法。现在,按回车试试。"),
|
||||
("g7_goal", "找到能用这把钥匙打开的东西。需要帮助时,在原地按回车。"),
|
||||
("guide_wrong_up", "不是这个方向。按上方向键。"),
|
||||
("guide_wrong_down", "不是这个方向。按下方向键。"),
|
||||
("g7_goal_new", "找到能用钥匙打开的东西。迷路了,按住空格。"),
|
||||
("g_wrong_tap", "这一步不按空格。用方向键。"),
|
||||
("g_hint_swipe", "按一下方向键。"),
|
||||
("guide_wrong_left", "不是这个方向。按左方向键。"),
|
||||
("guide_wrong_right", "不是这个方向。按右方向键。"),
|
||||
("guide_blunt_up", "按一下上方向键。"),
|
||||
("guide_blunt_down", "按一下下方向键。"),
|
||||
("guide_blunt_left", "按一下左方向键。"),
|
||||
("guide_blunt_right", "按一下右方向键。"),
|
||||
("reopen_prompt", "按上方向键,重新听一遍引导。按空格,直接开始。"),
|
||||
("stuck_key_2", "去西南角的储物间,按空格检查,找到钥匙。"),
|
||||
("stuck_cabinet_2", "去东边的铁柜房,按回车,用钥匙打开铁柜。"),
|
||||
("stuck_box_2", "去西北角的电箱房,按回车,把保险丝装进电箱。"),
|
||||
("stuck_gate_2", "去东南角的大门,按回车,打开它,离开这里。"),
|
||||
("guide_wrong_down", "不是这个方向。按下方向键。"),
|
||||
("guide_blunt_swipe", "按我说的方向键,按一下。"),
|
||||
("nav_up", "按上方向键。"),
|
||||
("nav_down", "按下方向键。"),
|
||||
("nav_left", "按左方向键。"),
|
||||
("nav_right", "按右方向键。"),
|
||||
("start_room", "你站在设施中央的房间里。方向键移动,按空格检查,按回车使用物品。"),
|
||||
("inspect_gate_ready", "电子锁的指示灯亮了,发出微弱的绿光。大门已经通电。按回车,打开它,离开这里。"),
|
||||
("use_fail", "这里没有用得上东西的地方。换个房间试试,或者先按空格检查一下周围。"),
|
||||
("again", "按空格,再来一次。按下方向键,打开菜单。"),
|
||||
("help_ops", "方向键,在房间之间移动。按空格,检查房间,或者重听房间的声音。按回车,使用物品,或者查看背包。"),
|
||||
("skip_hint", "按空格可跳过旁白。"),
|
||||
("lp_tap", "按空格。"),
|
||||
("lp_here", "就在这儿。按空格。"),
|
||||
("sys_only_up", "现在,只要按上方向键。"),
|
||||
("sys_only_down", "现在,只要按下方向键。"),
|
||||
("sys_only_left", "现在,只要按左方向键。"),
|
||||
("sys_only_right", "现在,只要按右方向键。"),
|
||||
("sys_continue_ask", "检测到你的进度。按空格,继续上次。右方向键,重新开始。"),
|
||||
("inv_settle", "按空格,重新开始。"),
|
||||
("menu_help", "空格换一项,右方向键确认。"),
|
||||
("start_room", "你站在设施中央的房间里。方向键,移动。空格,检查。"),
|
||||
("inspect_gate_ready", "电子锁的指示灯亮了,发出微弱的绿光。按空格,打开它,离开这里。"),
|
||||
("again", "按空格,再来一次。"),
|
||||
],
|
||||
"simon": [
|
||||
("t0_new", "音序回响。按一下空格。"),
|
||||
("t1_up", "按上方向键,是这个声音。"),
|
||||
("t2_down", "按下方向键,是这个声音。"),
|
||||
("t3_left", "按左方向键,是这个声音。"),
|
||||
("t4_right", "按右方向键,是这个声音。"),
|
||||
("t5_tap", "按空格,是这个声音。"),
|
||||
("t6_double", "按回车,是这个声音。"),
|
||||
("t_retry", "再按一次。"),
|
||||
("t_wrong_up", "不是这个,按上方向键试试。"),
|
||||
("t_wrong_down", "不是这个,按下方向键试试。"),
|
||||
("t_wrong_left", "不是这个,按左方向键试试。"),
|
||||
("t_wrong_right", "不是这个,按右方向键试试。"),
|
||||
("t_wrong_tap", "不是这个,按空格试试。"),
|
||||
("t_wrong_double", "不是这个,按回车试试。"),
|
||||
("t_blunt_up", "按一下上方向键。"),
|
||||
("t_blunt_down", "按一下下方向键。"),
|
||||
("t_blunt_left", "按一下左方向键。"),
|
||||
("t_blunt_right", "按一下右方向键。"),
|
||||
("t_blunt_tap", "轻轻按一下空格。"),
|
||||
("t_blunt_double", "按一下回车。"),
|
||||
("t7_retry", "答错可以消耗机会重听。按上方向键,可以随时重听。"),
|
||||
("wr_up", "错了。是按上方向键。"),
|
||||
("wr_down", "错了。是按下方向键。"),
|
||||
("wr_left", "错了。是按左方向键。"),
|
||||
("wr_right", "错了。是按右方向键。"),
|
||||
("wr_tap", "错了。是按空格。"),
|
||||
("wr_dt", "错了。是按回车。"),
|
||||
("replay", "按空格,再来一局。"),
|
||||
("rules_prompt", "按上方向键,重听规则。按下方向键,打开菜单。"),
|
||||
("rules", "上行音,按上方向键。下行音,按下方向键。左边的音,按左方向键。右边的音,按右方向键。一声轻响,按空格。两声轻响,按回车。"),
|
||||
("skip_hint", "按空格可跳过旁白。"),
|
||||
("gd_relisten", "需要的话,按上方向键可以重新听一遍序列。"),
|
||||
("gd_economy", "记不住就按上方向键,重新听一遍。免费机会有两次,用完要扣一次机会。"),
|
||||
("gd_occ_up", "这一轮,按上方向键是作答。"),
|
||||
("gd_occ_dt", "这一轮,按回车是作答。"),
|
||||
("gd_occ_both", "这一轮,按上方向键和回车都是作答。"),
|
||||
("sys_unlock_down", "按下方向键,可以打开菜单。"),
|
||||
("sys_unlock_dt", "没听清,就按回车,再听一遍。"),
|
||||
("menu_help", "空格换一项,右方向键确认。"),
|
||||
],
|
||||
# rhythm:8 对(24-rhythm-voice-ids.md 键盘变体表,措辞含数字键/方向键/空格/回车)。
|
||||
"rhythm": [
|
||||
("tut_map", "先认识你的鼓。屏幕横着分三列,左边、中间、右边;竖着分两行,上面清亮,下面低沉。按数字一键到六键,听六面鼓。"),
|
||||
("tut_probe", "按出三个不同的键,我们就开始。"),
|
||||
|
||||
Reference in New Issue
Block a user