1Giới thiệu & bản đồ tài liệu
Mục đích: toàn bộ cách truyện Bladewake được kể trong một roguelite: truyện tiến theo run/chết/thắng, hệ cờ + điều kiện (StoryDirector), mọi cảnh có kịch bản (id, trigger, nơi, người, tóm tắt, câu chốt) theo Hồi, móc truyện boss, 12 nhiệm vụ riêng hero, arc 7 NPC, các lần hé lộ + cú lật, 3 kết (kịch bản đầy đủ), hậu kết, kể chuyện bằng môi trường từng biome, luật giọng thoại/bark, ghi chú loc. Phụ thuộc: 00-Design-Bible.md §3.1–3.2, §3.7, §7.4–7.6, §9 + data/_bible.json (endings, npcs, flags, heroes) > 20-World-Lore.md (canon lore, tên, năm) · 16-Run-Structure-Map.md §1, §7.3, §8 (điểm cắm cảnh trong run) · 18-Meta-Hub-Progression.md §9–§12 (cờ FLAG_*, hàng đợi beat, onboarding) · 32-Audio-Bible.md §3.7, §9 (cue nhạc, bark/VO) · 51-Data-Schema.md §4.23–4.26 · data/bosses/BS_*.json (thoại intro/pha/hạ đã chốt, doc này chỉ trỏ tới). Được dùng bởi: data/endings.json (file này viết), dialogue.json + npcs.json (agent thoại điền dòng DLG_* theo bảng ở đây), events.json (8 ô EVT truyện §5), codex.json (trang thưởng), achievements.json (nhóm Truyện & kết), code StoryDirector/HubBeatQueue/EndingController, art (cảnh pixel trong engine 3–5 s, lớp môi trường §11), audio (cue kết, leitmotif), loc.
Mục lục chi tiết (## và ###)
- 0. Cách dùng
- 1. Nguyên tắc kể chuyện roguelite
- 1.1 Năm kênh kể (đâu kể gì)
- 2. Hệ cờ & điều kiện (StoryDirector)
- 2.1 Trạng thái truyện lưu (save/meta_<steamId>.json → story)
- 2.2 Cờ meta mà truyện dùng (nguồn meta.json, doc 18 §10)
- 2.3 Từ vựng condition.kind cho trigger truyện (dùng ở dialogue.json, npcs.json, endings.json)
- 2.4 Hàng đợi beat hub (HubBeatQueue)
- 2.5 Beat "chết bởi X" (N1)
- 2.6 Cấp phát id thoại (DLG_<SPEAKER>_<CTX>_nnn)
- 3. Cấu trúc truyện tổng (4 giai đoạn tài khoản)
- 4. Mở đầu & onboarding (giai đoạn A, run 0–3)
- 4.1 Cảnh mở DLG_NARR_INTRO_001 — "Đêm Câm" (20 s, bỏ qua sau 2 s; trigger: lần mở game đầu, NOT_FLAG FLAG_FIRST_WAKE; đặt FLAG_FIRST_WAKE)
- 4.2 Thức dậy DLG_ULLA_HUB_001 (ST_HEARTH; trigger FLAG FLAG_FIRST_WAKE + SEEN DLG_ULLA_HUB_001 == 0; người: Ulla, Varek)
- 4.3 Bến đò lần đầu DLG_CALLA_DOCK_001 (ST_DOCK, cảnh đò 6 s; trigger SEEN == 0)
- 4.4 Onboarding sau run 1–3 (bám doc 18 §12; beat ≤ 3 câu)
- 5. Beat theo Hồi
- 5.0 Khuôn chung mỗi Hồi
- 5.1 Hồi I — Đồi Mộ Tro (B1) · Dòng Gác Chuông · hé lộ R1 "Đêm Câm có chủ đích"
- 5.2 Hồi II — Đầm Vải Liệm (B2) · Hội Đưa Đò · hé lộ R2 "Bờ bên kia sai"
- 5.3 Hồi III — Lò Đúc Câm (B3) · Phường Đúc Câm · hé lộ R3 "Dravos giữ lõi"
- 5.4 Hồi IV — Thành Chuông Treo (B4) · Triều Đình Treo · hé lộ R4 "Lý do của vua"
- 5.5 Beat đò DOCK (Calla, ≤ 6 s, 1 beat/DOCK)
- 5.6 Sự kiện truyện (EVT) — 2 ô/biome giao cho events.json
- 5.7 Kết — Đỉnh Chuông Câm (B5) · hé lộ R5 "Cái Lặng tồn tại"
- 5.8 Bí mật — Bờ Lặng (B6) · hé lộ R7 "Lặng là chỗ nghỉ"
- 5.9 Móc truyện boss — bảng gộp (intro/hạ lần đầu/lặp)
- 6. Arc NPC (beat theo trạm; npcs.json → arc[] dùng đúng bảng này: beat, trigger, dialogue[])
- 6.1 NPC_ULLA Bà Ulla · ST_HEARTH — "người giữ lửa xin tha cho đứa con mình nuôi" (8 beat)
- 6.2 NPC_GREM Lão Grem · ST_FORGE — "kẻ đúc chuông câm đầu tiên rèn vỏ cho lõi" (6 beat)
- 6.3 NPC_CALLA Calla · ST_DOCK — "con gái người lái đò không bến, người duy nhất dám cập bờ" (7 beat)
- 6.4 NPC_HOL Thầy Hol · ST_LEDGER — "người điếc ghi mọi cái chết, nghe lại một tiếng chuông" (6 beat; mọi câu = chữ viết tay trên giấy, font viết tay, không bark blip)
- 6.5 NPC_LEM Nhóc Lem · ST_TEST_BELL — "cậu bé buộc khăn đã chết mà không biết" (6 beat)
- 6.6 NPC_MOTT Bà Mott · ST_MARKET — "người buôn lời trăng trối không bán lời nào" (6 beat)
- 6.7 NPC_RAM Bù Nhìn Răm · ST_YARD — không arc, bark hài đen
- 6.8 Cảnh Phục Dựng (mỗi GĐ 1 cảnh, nội dung meta.json → restoration[].scene_vi)
- 7. Nhiệm vụ riêng hero (12 arc × 4 beat)
- 8. Hé lộ & cú lật
- 8.1 Thang hé lộ (R1–R7; mỗi bậc gắn 1 cột mốc đã chơi)
- 8.2 Ba cú lật (đặt đúng chỗ, không nói trước)
- 9. Kết
- 9.0 Luật chung kết
- 9.1 Thẻ chọn ở BS_FINAL (CHOICE FINAL_CHOICE)
- 9.2 Bảng 3 kết (dữ liệu: data/endings.json)
- 9.3 END_BELL_TOLL — Hồi Chuông (kịch bản lần đầu; MUS_end_bell_toll 180 s tuyến tính + credit loop)
- 9.4 END_ASH_CROWN — Mũ Tro (MUS_end_ash_crown 120 s; nhánh KEEP_CORE)
- 9.5 END_QUIET_SHORE — Bến Bình Yên (kết thật; MUS_end_quiet_shore 210 s, 12 lớp nhạc cụ hero vào lần lượt)
- 10. Hậu kết (post-game)
- 10.1 Sau END_BELL_TOLL (giai đoạn B — "tang nặng hơn")
- 10.2 Sau END_ASH_CROWN
- 10.3 Sau END_QUIET_SHORE (giai đoạn D — "đêm của người sống")
- 10.4 Mục tiêu dài hạn (100+ h) — đều có lý do truyện
- 11. Kể chuyện bằng môi trường (thấy, không đọc)
- 12. Chết & bia mộ (truyện của thất bại)
- 13. Giọng thoại & bark (hướng dẫn tông)
- 13.1 Luật chung
- 13.2 Giọng từng người nói
- 13.3 Bark trong run (ưu tiên doc 32 §9: boss > Tro Nhớ callout > NPC > hero; ≤ 1 bark/4 s)
- 14. Ghi chú bản địa hoá (10 ngôn ngữ ở 1.0; VI là bản gốc viết, EN là bản dịch chuẩn cho các ngôn ngữ còn lại)
- 15. Dữ liệu & triển khai
- Quy tắc cho dev/AI
- Quyết định đã chốt
20. Cách dùng
- Canon: Bible +
_bible.json> doc 20 > doc này. Doc này không đặt số gameplay (HP, sát thương, giá); chỉ thứ tự kể, điều kiện, chữ. - Mọi dòng thoại = chữ (0 câu thoại đọc ở 1.0, doc 32 §9). Bark ≤ 1 dòng (≤ 48 ký tự EN, ~56 ký tự VI). Beat hub ≤ 3 câu (doc 18 §10). Cảnh pixel trong engine 3–5 s mỗi khung, không video (Bible §9).
- ID cảnh = id dòng thoại đầu tiên của cảnh (
DLG_<SPEAKER>_<CTX>_nnn). Không tạo tiền tố id mới. Dòng chưa có trongdialogue.json→ agent thoại tạo đúng id + chữ ở bảng này. - Thoại boss (intro/pha/hạ/Lời Gửi/hero↔boss) đã nằm trong
bosses/BS_*.json(dialogue.*+lore_vi); doc này trích lại câu chốt, file boss thắng khi lệch chữ. - Ký hiệu:
[ASSUMED]= số/luật lượt đầu, chỉnh qua playtest không cần DEC; [mới] = tên lore mới không ID (đã ghi ở mục Quyết định đã chốt).
31. Nguyên tắc kể chuyện roguelite
| # | Nguyên tắc | Luật cụ thể |
|---|---|---|
| N1 | Chết là chương mới, không phải thất bại | Mỗi lần về hub (chết/bỏ/thắng) có ≥ 1 beat mới nếu hàng đợi còn (Bible §3.7). Chết lần đầu bởi chủ thể X → đẩy beat "chết bởi X" (§2.5). |
| N2 | Truyện đi theo tài khoản, không theo run | Cờ + đếm lưu ở save/meta_<steamId>.json → story{}; run chỉ quyết định beat nào được đẩy. Không có beat "bỏ lỡ vĩnh viễn": mọi beat còn điều kiện sẽ chạy ở lần về hub sau. |
| N3 | Boss lặp lại = nghi lễ, không lặp truyện | Lần gặp 1 → thoại intro đầy đủ (≤ 3 s, boss bất tử); lần 2+ → dòng "gặp lại" hoặc thẻ Sổ Thù; hạ lần đầu → thoại hạ đầy đủ; hạ lần 2+ → 1 bark + rút gọn 1.0 s. |
| N4 | Hé lộ theo bậc (R1–R7, §8) | Mỗi bậc gắn 1 cột mốc đã chơi (hạ boss, mốc Sổ Tang, Độ Tang). Không hé lộ qua popup; chỉ qua thoại NPC/boss, trang Sổ Tang, môi trường. |
| N5 | Hệ thống có lý do trong thế giới | Mọi hệ thống meta có diegesis doc 20 §2.4–2.5; thoại được nhắc hệ thống bằng vật thể ("buộc khăn", "rèn mảnh"), không bằng tên menu. Thương Xót/Trợ năng không diegetic, không thoại. |
| N6 | Người chơi luôn điều khiển nhịp | Mọi cảnh bỏ qua được (cảnh boss lần 1: sau 1 s; beat hub: ngay; kết lần 1: không bỏ cho tới thẻ chọn, lần 2+: bỏ ngay). Bỏ qua = vẫn đặt cờ, trang Sổ Tang vẫn mở để đọc lại. |
| N7 | 1 hero/đêm | Hero gặp nhau chỉ ở hub (doc 20 §7). Trong run chỉ hero đang chơi nói. Thoại hero↔boss lấy cột "Vì sao chiến đấu" doc 20 §7. |
| N8 | Không chế giễu cái chết của ai | Dravos, Yvra, NPC không chế giễu người chết. Hài đen chỉ tự giễu (Răm, Mott, hero về chính cái chết của mình). |
1.1 Năm kênh kể (đâu kể gì)
| Kênh | Điểm cắm (doc 16 §7.3) | Độ dài | Mang |
|---|---|---|---|
K1 Beat hub (HUB_BEAT) | về HUB_BELL_TOWER, tối đa 2 beat/lần (onboarding 2) | ≤ 3 câu/beat, 1 beat ≤ 12 s đọc | arc NPC, nhiệm vụ hero, hé lộ chính |
K2 Beat đò (DOCK) | nút DOCK giữa Hồi, 1 beat Calla | ≤ 6 s trong DOCK | điềm đêm (MUT), tin Hồi kế, arc Calla |
K3 Boss (BOSS_INTRO/PHASE/DEFEAT/HERO_BOSS) | sân BOS, BS_FINAL, BS_TRUE | intro ≤ 3 s; hạ 2.5–15 s | động cơ boss, Lời Gửi, cú lật |
K4 Sự kiện truyện (EVT) | 2 ô EVT/biome (§5.6) | ≤ 35 s (nút U) | lịch sử phe, người đã ngã |
K5 Sổ Tang (codex CDX_*) | ST_LEDGER, Hol viết trang | đọc tự do | lore chi tiết, trang khoá kết (Lý Do Của Nhà Vua CDX_ledger_dravos_reason) |
| K6 Môi trường | biome + lớp Phục Dựng hub | không chữ | §11 |
K7 Kết (ENDING) | sau BS_FINAL / BS_TRUE | 40–210 s | §9, endings.json |
42. Hệ cờ & điều kiện (StoryDirector)
2.1 Trạng thái truyện lưu (save/meta_<steamId>.json → story)
| Khoá save | Kiểu | Nghĩa | Ghi khi |
|---|---|---|---|
flags[] | tập FLAG_* | cờ meta (danh sách đóng ở meta.json → flags, doc 18 §10); chỉ bật, không tắt | sự kiện meta.flag_set |
seen{} | map DLG_* → int | số lần đã hiện từng dòng/cảnh | dòng hiện ≥ 1.0 s hoặc bị bỏ qua |
npc_beat{} | map NPC_* → int | beat arc NPC đã chạy cao nhất (0–8) | cảnh beat kết thúc/bỏ qua |
hq{} | map Hxx → int | beat nhiệm vụ riêng hero đã chạy cao nhất (0–4) | như trên |
death_by{} | map <enemyId/bossId/hazardId> → int | số lần bị hạ bởi chủ thể | màn DEATH |
boss_meet{} · boss_kill{} | map BS_*/MB_* → int | gặp · hạ (mọi mode trừ CUSTOM) | vào sân · HP boss 0 |
boss_kill_mrn{} | map BS_B1..BS_B4 → int | Độ Tang cao nhất từng hạ boss đó | HP boss 0 |
endings{} | map END_* → int | số lần đạt mỗi kết | EndingController |
final_choice_last | RING | KEEP_CORE | NONE | lựa chọn ở BS_FINAL lần gần nhất | thẻ chọn §9.2 |
ledger_read{} | map CDX_* → bool | trang đã đọc ≥ 2 s (doc 18 §9) | ST_LEDGER |
queue[] | danh sách {dlg, prio, since_run} | hàng đợi beat hub chưa chạy (§2.4) | đẩy theo §2.3 |
- Cờ, đếm: tính trên tài khoản, mọi mode trừ CUSTOM (Sổ Tang không ghi, doc 20 §2.5). DAILY/Truy Tuần/BOSS_RUSH/ENDLESS có đẩy beat (chết/gặp/hạ) nhưng không đạt kết (§9.0).
- Không tạo cờ
FLAG_*ngoài danh sáchmeta.json; trạng thái truyện chi tiết dùngseen/npc_beat/hq(khoá save, không phải id).
2.2 Cờ meta mà truyện dùng (nguồn meta.json, doc 18 §10)
| Cờ | Bật khi | Truyện dùng để |
|---|---|---|
| Hub chỉ hiện ST_HEARTH + ST_DOCK; bật hàng đợi onboarding run 1. FLAG_FIRST_WAKE | xong cảnh mở đầu | mở beat onboarding (§4) |
| Mở ST_FORGE, ST_LEDGER; điều kiện H02 đạt; beat Grem rèn H02. FLAG_FIRST_RUN_DONE | xong run 1 | Grem rèn Bodan, Hol đưa bia mộ đầu |
| Điều kiện H03; beat Ulla kỷ niệm Dravos 1. FLAG_FIRST_BOSS_DOWN | hạ BS_B1 lần đầu | Ulla beat 2 (kỷ niệm Dravos 1) |
| Mở mode DAILY (UNL_MODE_DAILY). FLAG_ACT_ONE_CLEARED | qua Hồi I ở STANDARD | Calla beat 2 |
| ST_TEST_BELL sáng đèn; lớp sáng tầng trệt. FLAG_LEM_LIGHT · +12 mục pool ở Chợ Đò. FLAG_MARKET_WIDE · MRN11–MRN15 khả dụng sau END_BELL_TOLL; Relic tối đa 4/run. FLAG_MOURNING_DEEP · Mở ST_WARDROBE; Lửa Gửi 2/run. FLAG_WARDROBE_OPEN · Chuông tháp treo lại; 1/4 điều kiện FLAG_SHORE_OPEN. FLAG_BELL_HUNG | mua GD1…GD5 | cảnh Phục Dựng (§6.8), arc Lem/Mott/Hol |
| Mở BOSS_RUSH (UNL_MODE_BOSS_RUSH). FLAG_ALL_ACT_BOSSES | hạ đủ BS_B1–B4 | Ulla beat 5 |
| Lựa chọn Giữ lõi hiện ở trận BS_FINAL (END_ASH_CROWN). FLAG_DRAVOS_PAGE_READ | đọc Lý Do Của Nhà Vua CDX_ledger_dravos_reason ≥ 2 s | hiện lựa chọn "Giữ lõi" (§9.1) |
| Mở Khăn Tang MRN01–MRN10, Truy Tuần, ENDLESS, CUSTOM, điều kiện H12. FLAG_BELL_TOLL | đạt END_BELL_TOLL hoặc END_ASH_CROWN lần đầu | mở hậu kết giai đoạn B (§3) |
| Ghi kết phụ; đặt cùng mở khoá với FLAG_BELL_TOLL; không mở B6. FLAG_ASH_CROWN | đạt END_ASH_CROWN lần đầu | hub đổi lớp "Mũ Tro" (§10.2) |
Lời Gửi 1/4; beat Thầy Hol. FLAG_SENDOFF_WARDEN · _FERRYMAN · _FOUNDER · _YVRA | hạ BS_B1/B2/B3/B4 lần đầu ở Độ Tang ≥ 4 | 4 Lời Gửi → beat Hol/Calla/Grem/Ulla |
| Calla trao Chìa Đò (arc Calla xong). FLAG_FERRY_KEY | đủ 4 Lời Gửi rồi về hub, beat Calla chạy | Chìa Đò |
| Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN | Mở Khăn Tang MRN01–MRN10, Truy Tuần, ENDLESS, CUSTOM, điều kiện H12. FLAG_BELL_TOLL + 4 Lời Gửi + Chuông tháp treo lại; 1/4 điều kiện FLAG_SHORE_OPEN. FLAG_BELL_HUNG + Calla trao Chìa Đò (arc Calla xong). FLAG_FERRY_KEY | run sau mở B6 |
| Cảnh kết thật; Lửa Canh tắt rồi thắp lại ở hub (Lem vắng mặt, ghế Lem để nến). FLAG_QUIET_SHORE | đạt END_QUIET_SHORE lần đầu | hậu kết thật (§10.3) |
2.3 Từ vựng condition.kind cho trigger truyện (dùng ở dialogue.json, npcs.json, endings.json)
condition = {kind, ref?, op?, value?, note_vi?} (doc 51 §4.0). Nhiều điều kiện = AND (mảng). OR = 2 dòng thoại khác id.
kind | ref | value | Đúng khi |
|---|---|---|---|
FLAG | FLAG_* | true | cờ đã bật |
NOT_FLAG | FLAG_* | true | cờ chưa bật |
SEEN | DLG_* | số lần (op >=/==) | story.seen[ref] op value (== 0 = chưa xem) |
NPC_TOPIC | NPC_* | beat (op >=/==) | story.npc_beat[ref] op value (cùng kind đã dùng ở codex.json) |
HQ_BEAT | Hxx | beat | story.hq[ref] op value |
HERO | Hxx | true | hero của run hiện tại / run vừa kết thúc = ref |
HERO_RUNS | Hxx | số run | số run đã chơi với hero (đã dùng ở codex) |
RUNS · DEATHS | — | số | tổng run · tổng lần chết |
RUN_RESULT | DEATH|ABANDON|WIN | true | kết quả run vừa xong |
ACT_REACHED | I…VI | true | run vừa xong đã vào Hồi đó |
DEATH_BY | id quái/boss/hazard | số (op == 1 = lần đầu) | story.death_by[ref] sau run vừa xong |
ENCOUNTER · BOSS_KILLED | id | số | boss_meet · boss_kill |
RUN_BOSS_KILLED | id boss/mini | true | boss đó bị hạ trong run vừa xong |
RUN_EVT | EVT_Bn_nn | true | sự kiện đó đã hoàn tất trong run vừa xong |
NODE_CLEAR · KILL_MINI_ACT · PICKUP | như meta.json/codex.json | số/Hồi | đếm tài khoản (giữ nguyên nghĩa file gốc) |
BOSS_KILLED_MRN | BS_B1..BS_B4 | Độ Tang | hạ boss đó ở Độ Tang ≥ value |
MOURNING | — | Độ Tang | mốc Độ Tang tài khoản (doc 18 mốc 4/8/16/24/32) |
LEDGER_PAGES | — | số trang | trang Sổ Tang đã viết |
LEDGER_READ | CDX_* | true | trang đã đọc ≥ 2 s |
GD | Chuông Thử sáng đèn: đổi Tro Hồn → Nến Canh, Mắt Tro, nâng UP_TEST_BELL; cảnh truyện Lem. GD1…Treo lại chuông tháp = 1 điều kiện của FLAG_SHORE_OPEN; Thầy Hol nghe lại chuông. GD5 | true | đã mua giai đoạn Phục Dựng |
MASTERY | Hxx | bậc MR (số) | Thông Thạo hero ≥ value |
MODE | STANDARD… | true | mode của run |
CHOICE | FINAL_CHOICE | RING|KEEP_CORE | lựa chọn ở thẻ BS_FINAL |
ENDING | END_* | true/số | đã đạt kết (op >= số lần) |
STAT | LOI_GUI | DOCK_REACHED | HEROES_UNLOCKED | ULT_CAST | EDGE_TAKEN | RESONANCE_REACHED | EVO_REACHED | ASH_READ | ASH_DIRECTOR_CALLOUT | SCAR_CARVED | MAX_RELICS_HELD_RUN (kỷ lục Relic giữ cùng lúc trong 1 run) | MAX_MASTERY (MR cao nhất trong mọi hero) | số | đếm tài khoản (đã dùng ở codex/thành tựu) |
UNLOCK | UNL_* (vd Xong 1 run (chết, bỏ hoặc thắng; ≥ 1 phòng chiến). Giá 0 Mảnh Vọng. UNL_HERO_H02, Đạt END_BELL_TOLL. UNL_MODE_ENDLESS) | true (op ==) | mở khoá đó đã có trên tài khoản (meta.json/endings.json → unlocks); mở hero = UNLOCK UNL_HERO_Hxx |
BIOME_ENTERED | Đồi Mộ Tro B1…Bờ Lặng B6 | số (op >=) | số lần tài khoản đã vào biome đó |
KILL_COUNT | id quái (EN_*) | ANY | số (op >=) | tổng quái đó đã hạ (tài khoản); ANY = mọi quái |
RUN_COMPLETE | — | số (op >=) | số run đã kết thúc (chết/bỏ/thắng đều tính; dùng ở meta.json trạm) |
NONE | — | — | luôn đúng |
- Từ vựng đóng:
StoryDirectorgặpkindngoài bảng này → lỗi validate, không bỏ qua im lặng. Không dùngHERO_UNLOCKED(trùng nghĩaUNLOCK UNL_HERO_Hxx) vàEVENT(dùngRUN_EVT).
2.4 Hàng đợi beat hub (HubBeatQueue)
- Đẩy: sau mỗi run (
SUMMARYđóng) và sau mỗi giao dịch hub (mua GD, mở hero, đọc trang),StoryDirector.Evaluate()duyệt mọi dòngcontext = HUB_BEATcóonce = truevàseen == 0; mọi điều kiện đúng → đẩy{dlg, prio, since_run = run_index}(không đẩy trùng). - Ưu tiên (
prioritytrongdialogue.json, 0 = cao):0–9cảnh kết/Lời Gửi/Chìa Đò ·10–19mốc lần đầu (hạ boss lần đầu, mở hero, GD) ·20–39arc NPC ·40–59nhiệm vụ hero ·60–79chết bởi X ·80–100bark nhàn (không vào hàng, phát ngẫu nhiên khi đi ngang trạm). - Chọn: mỗi lần về hub chạy tối đa 2 beat: sắp
priotăng dần, hoà →since_runnhỏ hơn trước; beat chờ ≥ 3 lần về hub đượcprio − 10(chống đói). Beat nằm ở trạm nào → icon "!" trên trạm đó; beat chạy khi người chơi tới gần trạm (r48) hoặc tự chạy nếu là beat Lửa Canh (Ulla nói khi thân dựng lại). - Ví dụ đã tính: run 7, Halka chết ở Hồi III dưới tay Gã Hai Đầu Lò MB_B3_2 Gã Hai Đầu Lò lần đầu, vừa hạ BS_B2 lần đầu ở run này. Hàng: Cha tôi. Ông không chèo nữa à… Tốt. DLG_CALLA_HUB_003 (BS_B2 lần đầu, prio 12, run 7) · Thầy Nhạn rỗng khi dòng sa ngã. Giáo này treo chuông của thầy. DLG_H03_HUB_002 (nhiệm vụ Halka, prio 45, run 5, chờ 2 lần) · Máy của lò. Ta biết từng con ốc của nó. Lần sau chém vào khớp. DLG_GREM_HUB_020 (chết bởi Gã Hai Đầu Lò lần đầu, prio 64, run 7). Chọn 2: Calla (12) + Halka (45); Grem chờ lần sau. Run 8 về: Grem (64) chạy; nếu run 8 có 2 beat ưu tiên cao hơn thì ở run 10 (chờ 3 lần) prio thành 54.
- Bỏ qua beat = tính đã xem (
seen +1), đặt cờ/beat như xem hết. Beat nhắc lại được ở ST_LEDGER → tab "Lời Đã Nghe" (đọc lại chữ, không đặt lại cờ).
2.5 Beat "chết bởi X" (N1)
- Lần đầu bị hạ bởi 1 boss Hồi / BS_FINAL / BS_TRUE / mini-boss → 1 beat NPC (prio 60–69) do người gần chủ thể nhất trong lore nói: BS_B1 → Hol · BS_B2 → Calla · BS_B3 → Grem · BS_B4 → Ulla · BS_FINAL → Ulla · BS_TRUE → Lem · MB_B1_1/MB_B2_x → Mott · MB_B3_x → Grem · MB_B4_x → Răm. Quái thường/Tinh Anh: chỉ trang Sổ Tang (Hol viết, doc 18 §9) + 1 bark Răm (
prio 80+). - Chết lần thứ 10/25/50/100 (tổng): Ulla 1 câu (DLG_ULLA_HUB_030…033) — không chê, chỉ đếm: "Lần thứ năm mươi. Lửa vẫn nhớ hình con."
2.6 Cấp phát id thoại (DLG_<SPEAKER>_<CTX>_nnn)
| Dải id | Chủ | Số dòng đích 1.0 | Ghi chú |
|---|---|---|---|
DLG_ULLA_HUB_001–099 · DLG_ULLA_END_001–020 | Bà Ulla | ~60 | arc 8 beat §6.1, chết theo mốc, kết |
DLG_GREM_HUB_001–060 | Lão Grem | ~35 | arc §6.2, mở hero, rèn |
DLG_CALLA_HUB_001–040 · DLG_CALLA_DOCK_001–060 · DLG_CALLA_END_001–010 | Calla | ~70 | DOCK 1 beat/Hồi §5 |
DLG_HOL_HUB_001–050 · DLG_HOL_END_001–005 | Thầy Hol (chữ viết tay) | ~35 | arc §6.4, chết bởi X |
DLG_LEM_HUB_001–050 · DLG_LEM_END_001–010 | Nhóc Lem | ~35 | arc §6.5 |
DLG_MOTT_HUB_001–040 · DLG_MOTT_SHOP_001–040 · DLG_MOTT_END_001–005 | Bà Mott | ~50 | Sạp Rong trong run (SHOP) |
DLG_RAM_HUB_001–060 · DLG_RAM_TUT_001–030 | Bù Nhìn Răm | ~45 | bark hài đen, Sân Tập (TUTORIAL) |
DLG_Hxx_HUB_001–012 | 12 hero | 12 × 6 = 72 | nhiệm vụ riêng §7 (beat 1–4) + 2 dòng hub nhàn |
DLG_Hxx_EVT_001–004 | 12 hero | 12 × 2 = 24 | phản ứng ở EVT truyện (§5.6) |
DLG_BS_B1_* · DLG_BS_B2_* · DLG_BS_B3_* · DLG_YVRA_* · DLG_DRAVOS_FINAL_* · DLG_Hxx_BS_B2_001 · Thầy… con đã đập vỡ hết chuông con đúc. DLG_H06_BOSS_B3_001 · DLG_Hxx_DRAVOS_001 · DLG_Hxx_BSTRUE_001 | boss + hero↔boss | theo bosses/*.json | đã chốt ở file boss; giữ nguyên id |
DLG_NARR_INTRO_001–010 · DLG_NARR_END_001–060 | chữ dẫn (không người nói) | ~50 | cảnh mở, kết, thẻ hero |
- Tổng đích ≈ 400 dòng (Bible §9).
speaker=NPC_*,Hxx,BS_*/MB_*,NARR;listenertuỳ chọn. - 48 đối đáp hero↔boss (12 × 4 boss Hồi, Bible §9): BS_B4 đã đủ 12 (
DLG_YVRA_HERO_001–012); BS_B1/B2/B3 hiện có 3/4/1 — agent thoại điền phần thiếu theo mẫu id của từng file boss (DLG_BS_B1_HERO_004…012,DLG_Hxx_BS_B2_001,DLG_Hxx_BOSS_B3_001), câu lấy cột "Vì sao chiến đấu" doc 20 §7.
53. Cấu trúc truyện tổng (4 giai đoạn tài khoản)
| Giai đoạn | Cổng vào | Giờ chơi trung vị (Bible §3.8) | Câu hỏi kịch | Người chơi biết ở cuối |
|---|---|---|---|---|
| A — Thức | Hub chỉ hiện ST_HEARTH + ST_DOCK; bật hàng đợi onboarding run 1. FLAG_FIRST_WAKE | 0 → 10–14 h | "Ai câm chuông, vì sao?" | Đêm Câm có chủ đích (R1) · bờ bên kia sai (R2) · Dravos giữ lõi (R3) · lý do của vua (R4) · Cái Lặng có thật (R5, ở cảnh hạ BS_FINAL) |
| B — Tang | Mở Khăn Tang MRN01–MRN10, Truy Tuần, ENDLESS, CUSTOM, điều kiện H12. FLAG_BELL_TOLL | 10–14 → ~18 h | "Chuông vang rồi sao Tro vẫn về?" | hậu kết: bờ bên kia nuốt tiếng chuông; Lời Gửi = lời cuối boss chỉ trao người đang để tang; Lem đã chết (R6) |
| C — Đò cuối | Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN | ~18 → 20–28 h | "Có đánh được sự lặng không?" | 12 mảnh + lõi cùng ngân thắng được Cái Lặng; Lửa Canh được tắt (R7) |
| D — Sau bến | Cảnh kết thật; Lửa Canh tắt rồi thắp lại ở hub (Lem vắng mặt, ghế Lem để nến). FLAG_QUIET_SHORE | 20–28 h → 100+ h | "Ai mang lõi?" | hé hero 13 Kẻ Giữ Lõi; hub thắp lại cho "đêm của người sống" |
- Một run giai đoạn A (luồng chuẩn): Ulla thổi lửa (beat hub) → Calla chở (cảnh đò 6 s) → Hồi I … → DOCK beat Calla → … → chết: recap + bia mộ + Hol viết trang → về hub: ≤ 2 beat. Truyện tiến dù thua vì mỗi Hồi mới, mỗi boss mới, mỗi cái chết mới đều đẩy beat.
- Đường tối thiểu tới kết thật: END_BELL_TOLL (1 lần thắng STANDARD) → mua GD5 (Tro Hồn tích luỹ ≥ 14.200 cho GD1–GD5) → buộc Khăn Tang Độ Tang ≥ 4 và hạ lần lượt BS_B1–BS_B4 (có thể trong 1 run hoặc nhiều run) → về hub nhận Chìa Đò → run kế hạ BS_FINAL (chọn "Gióng chuông") → B6 → BS_TRUE.
64. Mở đầu & onboarding (giai đoạn A, run 0–3)
4.1 Cảnh mở Xứ Vọng có một luật: ai chết cũng được một hồi chuông. DLG_NARR_INTRO_001 — "Đêm Câm" (20 s, bỏ qua sau 2 s; trigger: lần mở game đầu, NOT_FLAG FLAG_FIRST_WAKE; đặt Hub chỉ hiện ST_HEARTH + ST_DOCK; bật hàng đợi onboarding run 1. FLAG_FIRST_WAKE)
| t (s) | Hình (pixel trong engine, 3/4 top-down) | Chữ (dưới màn, ngà #e9e4d8) | Âm |
|---|---|---|---|
| 0.0 | đen; 1 chấm sáng ngà lắc lư (Lưỡi Vọng trong Đại Chuông) | Xứ Vọng có một luật: ai chết cũng được một hồi chuông. DLG_NARR_INTRO_001 "Xứ Vọng có một luật: ai chết cũng được một hồi chuông." | TITLE · màn tiêu đề + menu chính (Cài đặt/Credits mở từ đây giữ nguyên cue dưới SN_DRAFT)… MUS_title_mute_night S0, chuông thật xa |
| 4.0 | camera lùi: làng đồi, nhà nguyện, chuông làng nối nhau sáng | _002 "Chuông làng gọi. Đại Chuông đáp. Hồn xuôi sông sang Bờ Lặng." | chuông làng lan dần (LM_BELL) |
| 8.0 | đỉnh núi: bóng người đội mũ đồng giật Lưỡi khỏi chuông; chuông câm | _003 "Bốn mươi năm trước, có người bắt chuông im." | mọi chuông cắt cùng lúc, im 1.0 s |
| 12.0 | Lưỡi vỡ 12 mảnh bay xuống núi như sao băng; tro bắt đầu rơi như tuyết; xác ở nghĩa trang ngồi dậy | _004 "Hồn không còn đường đi. Họ hoá Tro. Xác đứng dậy." | gió tro, LM_SILENCE |
| 16.0 | 1 mảnh cắm xuống ruộng gặt cạnh một người nằm; tay người ấy nắm lấy, rung khẽ | _005 "Nhưng mảnh lưỡi vẫn còn ngân." | mảnh ngân trong trẻo 1 tiếng |
| 19.0 | trắng dần → Lửa Canh | — | cắt sang hub |
4.2 Thức dậy Con lại thức rồi. DLG_ULLA_HUB_001 (ST_HEARTH; trigger FLAG FLAG_FIRST_WAKE + SEEN DLG_ULLA_HUB_001 == 0; người: Ulla, Varek)
- Tóm tắt: Varek dựng lại từ tro bên lửa; Ulla thổi lửa, khoác khăn ngà cho anh, chỉ về bến. Đẩy
NPC_TOPIC NPC_ULLA = 1. - Câu: Ulla "Con lại thức rồi." → Varek "Lại? Tôi mới thức lần đầu." → Ulla "Mảnh thì đã thức nhiều lần. Đi đi, Calla đợi ở bến."
4.3 Bến đò lần đầu Lên đồi. Đừng dừng ở chỗ chuông câm. DLG_CALLA_DOCK_001 (ST_DOCK, cảnh đò 6 s; trigger SEEN == 0)
- Calla đẩy sào, đò ngược kênh tới chân đồi. Câu: "Lên đồi. Đừng dừng ở chỗ chuông câm." Run sau: pool xuất phát
DLG_CALLA_DOCK_002–006("Một tiếng ngân, một chiếc đò. Lên." · "Tro dày hơn hôm qua." · "Đêm nay đất dời nhiều." · "Về được thì về." · "Đừng nhìn xuống nước.") — chọn ngẫu nhiên không lặp 3 run liền.
4.4 Onboarding sau run 1–3 (bám doc 18 §12; beat ≤ 3 câu)
| Id cảnh | Trạm | Trigger | Tóm tắt · câu chốt |
|---|---|---|---|
| Tro con mang về, lửa ăn được. Đủ thì tháp sáng thêm một tầng. DLG_ULLA_HUB_002 | ST_HEARTH | RUNS == 1 | Varek tỉnh lại lần 2; Ulla rắc tro mảnh vào lửa, chỉ thanh Phục Dựng GD1. "Tro con mang về, lửa ăn được. Đủ thì tháp sáng thêm một tầng." |
| Ba nhát. Đủ một người. DLG_GREM_HUB_001 | ST_FORGE | FLAG FLAG_FIRST_RUN_DONE | Grem nện 3 nhát, mảnh thứ hai bật sáng: Bodan bước ra từ quan tài. "Ba nhát. Đủ một người." · Bodan "Tôi khiêng xác anh về đấy, Varek. Nặng hơn tôi tưởng." |
| Ta không nghe được. Nên ta ghi. Cái chết của con nằm ở trang này. DLG_HOL_HUB_001 | ST_LEDGER | FLAG FLAG_FIRST_RUN_DONE | Hol (chữ viết tay) đưa bia mộ đầu + trang kẻ đã hạ hero. Thẻ chữ: "Ta không nghe được. Nên ta ghi. Cái chết của con nằm ở trang này." |
| Lời cuối thì rẻ, Relic thì không. DLG_MOTT_HUB_001 | ST_MARKET | RUNS >= 2 | Mott mở sạp: "Lời cuối thì rẻ, Relic thì không." |
| Hồi ta còn ruột, ta đỡ mười đòn không chớp. Giờ ta không có mắt để chớp. DLG_RAM_TUT_001 | ST_YARD | RUNS >= 3 | Răm thách bài ĐÁP 1. "Hồi ta còn ruột, ta đỡ mười đòn không chớp. Giờ ta không có mắt để chớp." |
| Chuông này còn kêu không {hero_kin}? Em chưa nghe nó kêu bao giờ. DLG_LEM_HUB_001 | ST_TEST_BELL | trước GD1, mỗi lần về hub, tối đa 3 lần (SEEN <= 2) | Lem ngồi dưới chuông tắt: "Chuông này còn kêu không chú? Em chưa nghe nó kêu bao giờ." |
75. Beat theo Hồi
5.0 Khuôn chung mỗi Hồi
ACT_INTRO (thẻ tên biome 2 s + điềm đêm lật 1.5 s, không thoại) → bản đồ (EVT truyện §5.6) → cổng mini-boss (GATE_MINI · nút MBS (Cổng) mọi biome · mọi MB_ (MB_B1_1, MB_B2_1, MB_B2_2, MB_B3_1, MB_B3… MUS_miniboss_gate, thẻ tên) → intro MB ≤ 1 dòng (file boss) → BOSS_GATE 4 s (thẻ Sổ Thù) → sân BOS: intro boss (file boss) → pha → hạ → [Lời Gửi nếu Độ Tang ≥ 4, lần đầu] → DOCK: 1 beat Calla (§5.5) → Hồi kế.
5.1 Hồi I — Đồi Mộ Tro (B1) · Dòng Gác Chuông · hé lộ R1 "Đêm Câm có chủ đích"
| Cảnh | Trigger | Nơi · người | Tóm tắt · câu chốt |
|---|---|---|---|
| Ai lên đồi lúc chưa tới giờ? DLG_BS_B1_INTRO_001 | gặp BS_B1 lần đầu | Nhà Nguyện Chuông Đá · Người Gác Chuông | cửa vòm đóng, tro ngừng rơi 1 nhịp; ông đứng dậy lê búa chuông. "Ai lên đồi lúc chưa tới giờ?" (gặp lại _002; Halka _003 "Con về rồi à… mà sao cầm giáo của Nhạn?") |
DLG_BS_B1_PHASE_001/002 | P2 / P3 | — | "Nứt rồi… nhưng vẫn là chuông." · "Không còn tiếng. Chỉ còn bổn phận." |
| Đêm đó… có lệnh tới trước một giờ. DLG_BS_B1_DEFEAT_001 | hạ lần đầu | — | R1: "Đêm đó… có lệnh tới trước một giờ." → thân hoá vệt ngà bay về bến, tiếng chuông thật rất khẽ (lần đầu trong game) |
| Anh ơi… chuông nhà mình chưa nứt. DLG_BS_B1_DEFEAT_002 | hạ lần đầu ở Độ Tang ≥ 4 → Lời Gửi 1/4; beat Thầy Hol. FLAG_SENDOFF_WARDEN | — | Lời Gửi 1: "Anh ơi… chuông nhà mình chưa nứt." |
| Nó sợ chuông từ khi còn chưa biết đi. Ta bịt tai cho nó ngủ. Ta tưởng nó sẽ quê… DLG_ULLA_HUB_003 | FLAG FLAG_FIRST_BOSS_DOWN | ST_HEARTH · Ulla | Ulla beat 2, kỷ niệm Dravos 1 (§6.1) |
| Em ta giữ dây chuông đêm ấy. Ta tưởng nó chết vì ta không kéo kịp. DLG_HOL_HUB_005 | BOSS_KILLED BS_B1 >= 1 | ST_LEDGER · Hol | Hol viết trang Người Gác Chuông, tay run, gạch 1 dòng: "Em ta giữ dây chuông đêm ấy. Ta tưởng nó chết vì ta không kéo kịp." Mở Quá Khứ Thầy Hol CDX_past_hol. |
- Mini-boss Xà Ích Xe Tang MB_B1_1 Xà Ích Xe Tang: thoại intro/pha/hạ theo file boss (Tránh đường. Người đi chưa tới giờ. DLG_MB_B1_1_INTRO_001,
_PHASE_001,_DEFEAT_001); khi hạ, chiếc xe tang đổ lộ 3 quan tài có khăn tang ngà buộc sẵn (môi trường: ai đó đã định chôn họ tử tế).
5.2 Hồi II — Đầm Vải Liệm (B2) · Hội Đưa Đò · hé lộ R2 "Bờ bên kia sai"
| Cảnh | Trigger | Nơi · người | Tóm tắt · câu chốt |
|---|---|---|---|
| Lại một kẻ muốn sang sông. Quay về đi, bờ bên kia đói. DLG_BS_B2_INTRO_001 | gặp BS_B2 lần đầu | Bến Đò Lật · Lão Lái Đò Không Bến | bè trồi khỏi sương. "Lại một kẻ muốn sang sông. Quay về đi, bờ bên kia đói." (gặp lại _002; đã có Lời Gửi khác _003) |
DLG_BS_B2_PHASE_001/002 | P2 / P3 | — | "Bè mục rồi. Như ta." · "Sông ơi, dâng lên. Đừng cho ai cập bến." |
| Ta đã chở hắn sang... và thấy bờ ấy nuốt hồn đứa nhỏ. Từ đó ta không dám cập bế… DLG_BS_B2_DEFEAT_001 | hạ lần đầu | — | R2: "Ta đã chở hắn sang... và thấy bờ ấy nuốt hồn đứa nhỏ. Từ đó ta không dám cập bến nào nữa." Nón lá trôi xuôi. |
| Đừng để con bé chèo qua đó. DLG_BS_B2_DEFEAT_002 | Độ Tang ≥ 4, lần đầu → Lời Gửi 2/4; beat Calla nhận lời của cha. FLAG_SENDOFF_FERRYMAN | — | Lời Gửi 2: "Đừng để con bé chèo qua đó." |
| Cha tôi. Ông không chèo nữa à… Tốt. DLG_CALLA_HUB_003 | BOSS_KILLED BS_B2 >= 1 | ST_DOCK · Calla | Calla beat 3 (§6.3): nhận nửa sào cha từ tay hero. |
Giải Cứu RSC Hồi II lần đầu | NODE_CLEAR RSC == II | phòng RSC · Sậu (trong kén) | phá kén HP 400: Sậu ngã ra, compa trong tay. Bark: "Lối này vẽ sai. Để tôi vẽ lại." → mở H04 (doc 18). |
5.3 Hồi III — Lò Đúc Câm (B3) · Phường Đúc Câm · hé lộ R3 "Dravos giữ lõi"
| Cảnh | Trigger | Nơi · người | Tóm tắt · câu chốt |
|---|---|---|---|
| Lại một kẻ trộm lưỡi. Đặt mảnh lên đe, ta đúc nó thành im lặng. DLG_BS_B3_INTRO_001 | gặp BS_B3 lần đầu | Lò Mẹ · Thợ Cả Đúc Chuông | khuôn đồng hạ chặn cửa, 3 tiếng đe. "Lại một kẻ trộm lưỡi. Đặt mảnh lên đe, ta đúc nó thành im lặng." (Sổ Thù _002; Ruvan Thầy… con đã đập vỡ hết chuông con đúc. DLG_H06_BOSS_B3_001) |
DLG_BS_B3_PHASE_001/002 | P2 / P3 | — | "Tay này đúc ba nghìn chuông câm. Một tay vẫn đủ." · "Lò Mẹ chưa tắt bao giờ. Đêm nay nó nói thay ta." |
| Im lặng… là cứu rỗi. Ta đúc nó cho ai… ta quên rồi. DLG_BS_B3_DEFEAT_001 | hạ lần đầu | — | Lò Mẹ tắt lần đầu; ông gõ chuông không lưỡi — không tiếng. "Im lặng… là cứu rỗi. Ta đúc nó cho ai… ta quên rồi." Rơi mảnh khuôn hình ổ gắn lõi → mở Mũ Chuông & Lõi CDX_art_bell_crown (R3). |
| Lõi ở trên đầu ngài. Ta đã đúc cái chỗ ấy. DLG_BS_B3_DEFEAT_002 | Độ Tang ≥ 4, lần đầu → Lời Gửi 3/4; beat Lão Grem. FLAG_SENDOFF_FOUNDER | — | Lời Gửi 3: "Lõi ở trên đầu ngài. Ta đã đúc cái chỗ ấy." |
| Thầy ta chết rồi à. Ông ấy có nhắc tên ta không? DLG_GREM_HUB_010 | BOSS_KILLED BS_B3 >= 1 | ST_FORGE · Grem | Grem beat 3 (§6.2): cầm mảnh khuôn, im 3 nhát búa. |
| hạ mini-boss Hồi III lần đầu | KILL_MINI_ACT III >= 1 | phòng MBS · Oska (đe) | trong xác cỗ máy có cái đe bị tịch thu; đe hút sắt khi hero lại gần → mở H05 (doc 18). Bark hero bất kỳ: "Đe này còn ấm." |
5.4 Hồi IV — Thành Chuông Treo (B4) · Triều Đình Treo · hé lộ R4 "Lý do của vua"
| Cảnh | Trigger | Nơi · người | Tóm tắt · câu chốt |
|---|---|---|---|
| Dừng ở đó, Kẻ Thức. Cầu này là lời thề của ta. DLG_YVRA_INTRO_001 | gặp BS_B4 lần đầu | Cầu Xích Vua · Yvra, Rồng Khàn | rồng đáp, há họng không ra tiếng. "Dừng ở đó, Kẻ Thức. Cầu này là lời thề của ta." → _002 "Ta đã đứng ở bờ bên kia. Ngươi thì chưa." |
DLG_YVRA_PHASE_001/002/003 | P2 / P3 / tuyệt vọng | — | "Tách ra! Theo cờ!" · "Lên đây, bạn già. Lần cuối." · "Hộ giá!" |
Ngài sẽ không giận ngươi. Ngài chỉ… mệt. DLG_YVRA_DEFEAT_001 · _002 | hạ lần đầu | — | Yvra buộc cờ rách lên cổ rồng; "Lên đi. Hỏi ngài vì sao. Rồi hãy quyết." Rồng cất được 1 tiếng khàn. Mở Lý Do Của Nhà Vua CDX_ledger_dravos_reason (R4) — đọc ≥ 2 s → Lựa chọn Giữ lõi hiện ở trận BS_FINAL (END_ASH_CROWN). FLAG_DRAVOS_PAGE_READ. |
| Ngài không sợ chết. Ngài sợ cho người chết. DLG_YVRA_DEFEAT_003 | Độ Tang ≥ 4, lần đầu → Lời Gửi 4/4; beat Bà Ulla xin tha cho Dravos. FLAG_SENDOFF_YVRA | — | Lời Gửi 4: "Ngài không sợ chết. Ngài sợ cho người chết." |
| Nếu con lên tới đỉnh… đừng ghét nó. Nó làm sai vì thương. Ta xin con. DLG_ULLA_HUB_008 | BOSS_KILLED BS_B4 >= 1 | ST_HEARTH · Ulla | Ulla beat 6: xin tha cho Dravos (§6.1). |
| Có một trang con chưa đọc. Ta viết nó bằng tay run. DLG_HOL_HUB_015 | BOSS_KILLED BS_B4 >= 1 + LEDGER_READ CDX_ledger_dravos_reason == false sau 1 lần về hub | ST_LEDGER · Hol | Hol gõ ngón tay lên trang chưa đọc: "Có một trang con chưa đọc. Ta viết nó bằng tay run." (nhắc mềm, 1 lần) |
Trang Lý Do Của Nhà Vua CDX_ledger_dravos_reason "Lý Do Của Nhà Vua" (chữ chuẩn cho codex.json, Hol chép lời Yvra; ≤ 900 ký tự):
5.5 Beat đò DOCK (Calla, ≤ 6 s, 1 beat/DOCK)
Thứ tự chọn mỗi DOCK: (1) beat arc Calla chưa chạy có trigger đúng → (2) dòng điềm đêm của MUT Hồi kế (lần đầu gặp MUT đó) → (3) pool lặp theo Hồi.
| Id | Trigger | Câu |
|---|---|---|
| Kênh này xưa chở người chết xuôi. Giờ tôi chở người sống ngược. DLG_CALLA_DOCK_010 | DOCK I→II lần đầu (STAT DOCK_REACHED == 1) | "Kênh này xưa chở người chết xuôi. Giờ tôi chở người sống ngược." |
| Đầm qua rồi. Đừng kể với tôi cha tôi nói gì. Chưa phải lúc. DLG_CALLA_DOCK_011 | DOCK II→III lần đầu | "Đầm qua rồi. Đừng kể với tôi cha tôi nói gì. Chưa phải lúc." |
| Phía trên là kinh đô. Ở đó người ta biết nhiều hơn họ nói. DLG_CALLA_DOCK_012 | DOCK III→IV lần đầu | "Phía trên là kinh đô. Ở đó người ta biết nhiều hơn họ nói." |
| Từ đây đò không lên nữa. Leo cầu xích. Tôi đợi dưới này. DLG_CALLA_DOCK_013 | DOCK IV→Kết lần đầu | "Từ đây đò không lên nữa. Leo cầu xích. Tôi đợi dưới này." |
DLG_CALLA_DOCK_020–031 | lần đầu gặp MUT01…MUT12 (SEEN == 0) | MUT01 Trăng Tro "Trăng xám quá. Chúng sẽ đi nhanh, tiền giấy cũng rơi nhiều." · MUT02 Đêm Đặc "Đêm đặc. Nhìn chân mình mà đi." · MUT03 Mưa Chuông "Nghe không? Chuông câm mọc khắp nơi." · MUT04 Đàn Vồ "Đêm nay chúng vồ, không bò." · MUT05 Hồn Nặng "Kẻ mạnh mang hai dấu đêm nay." · MUT06 Ngân Lặng "Mảnh của anh ngân chậm. Lặng đang gần." · MUT07 Tro Ấm "Tro ấm. Lành nhanh, nhưng chúng cũng dai." · MUT08 Đá Rơi "Núi đang rũ đá. Ngước lên mà đi." · MUT09 Bầy Liền "Đông lắm. Chém cho đều tay." · MUT10 Thề Câm "Không chợ đêm nay. Bà Mott bị cấm cửa." · MUT11 Lửa Gió "Gió thổi lửa to. Cả lửa của anh." · MUT12 Gương Tro "Tro soi anh ngay từ phòng đầu. Nó sẽ trả công." |
DLG_CALLA_DOCK_040–055 | pool lặp (4/Hồi) | vd I→II "Đầm không có đáy. Đừng lội sâu." · II→III "Khói lò bay ngược. Lạ." · III→IV "Gió vực. Bám chắc." · IV→Kết "Đỉnh kia… chuông vẫn câm." |
- Khăn Tang ≥ 1 trong run: Calla thêm 0.5 s nhìn khăn trên tay hero, không thoại (môi trường diễn).
5.6 Sự kiện truyện (EVT) — 2 ô/biome giao cho events.json
| Id | Tên đề xuất | Nội dung truyện (lựa chọn tài nguyên do doc sự kiện chốt) | Mở |
|---|---|---|---|
| Bia Mộ Ostrid EVT_B1_01 | Bia Mộ Ostrid | bia đá có tên Ostrid khắc vụng (Bodan khắc); Varek: "Anh cầm mảnh này trước tôi." | Ostrid — Kẻ Thức Đời Một CDX_lore_ostrid |
| Dây Chuông Nhà Nguyện EVT_B1_02 | Dây Chuông Nhà Nguyện | dây chuông đứt, đầu dây có vết tay bấu; gợi người giữ dây đêm ấy (R1) | — |
| Đò Lật Có Tên EVT_B2_01 | Đò Lật Có Tên | mạn đò khắc tên các thành viên Hội Đưa Đò, 1 tên bị cạo (Calla — người sống sót) | — |
| Sườn Cá Voi EVT_B2_02 | Sườn Cá Voi | xương cá voi tro mắc cạn; Veyra kể đàn con cho cô sườn làm cung | — |
| Kho Chuông Câm EVT_B3_01 | Kho Chuông Câm | hàng trăm chuông không lưỡi, 1 cái có lưỡi giấu bên trong (Grem giấu NT 12) | — |
| Sổ Lương Thợ EVT_B3_02 | Sổ Lương Thợ | sổ ghi tên thợ: "Ruvan — bỏ lò NT 38", "Grem — bỏ lò NT 12", nét gạch đỏ xỉn | — |
| Phòng Công Chúa EVT_B4_01 | Phòng Công Chúa | phòng nhỏ treo trong kinh đô, giường trẻ con, đèn đã tắt; một chuông gió không lưỡi | Ninh — Con Gái Nhà Vua CDX_lore_ninh mở sớm nếu chưa có |
| Bến Riêng Của Vua EVT_B4_02 | Bến Riêng Của Vua | bến đá dưới vực, xích đò mục; dấu chân 3 người (vua, Yvra, Lão Lái Đò) | — |
- Mỗi EVT truyện có 1 dòng hero (
DLG_Hxx_EVT_00n) khi hero có dây nối (doc 20 §7), không có thì dòng chungDLG_NARR_*.
5.7 Kết — Đỉnh Chuông Câm (B5) · hé lộ R5 "Cái Lặng tồn tại"
| Cảnh | Trigger | Nơi · người | Tóm tắt · câu chốt |
|---|---|---|---|
| leo Cầu Xích Vua (20 s, doc 20 §4.3) | sau DOCK IV→Kết | cầu xích · hero | không thoại; cờ rách của Yvra còn buộc ở trụ cầu nếu đã hạ BS_B4 ≥ 1 lần (môi trường) |
FINALE_TRIAL 60 s | vào B5 | vành Đại Chuông | ải trộn quái 4 Hồi; tro lơ lửng không rơi |
DLG_DRAVOS_FINAL_001–003 | gặp BS_FINAL (lần 1 đầy đủ; lần 2+ chỉ _003) | sân tròn r260 · Dravos | camera nâng theo vòm; hắn đứng dậy khỏi ngai. "Ngươi đã gặt hết những người ta để lại. Ta biết. Tro kể cho ta." · "Chuông vang, chúng sẽ bị nuốt. Ta câm nó để chúng còn được ở lại." · hero 1 dòng (DLG_Hxx_DRAVOS_001) · "Đặt mảnh xuống. Hoặc mang nó qua ta." |
| P2 bóng boss Hồi | HP 85% | — | bóng 1 boss Hồi đứng sau lưng hắn (Sổ Thù). Bark "Kẻ ngươi sợ nhất cũng từng quỳ trước ta." |
| P3 Mũ Chuông Nứt | HP 10% | — | "Lõi... nó đang nhớ tiếng của nó." |
DLG_DRAVOS_FINAL_008–010 + thẻ chọn | HP 0 (STANDARD) | — | Mũ Chuông vỡ, tro rơi ngược, tiếng chuông thật duy nhất 8 s. "Nghe kìa... Ninh, con có nghe không." · R5: "Bên kia có thứ đang đói. Nếu ngươi gióng, hãy đi theo mà giữ chúng." · thẻ chọn §9.1 · "Vậy là ngươi gánh. Ta xin lỗi vì đã để lại cho ngươi." |
- Mode khác STANDARD (DAILY/Truy Tuần/ENDLESS tầng có BS_FINAL/BOSS_RUSH): cảnh hạ rút gọn 8 s (Mũ vỡ + tro ngược + chuông), không thẻ chọn, không đạt kết, không đặt cờ kết.
5.8 Bí mật — Bờ Lặng (B6) · hé lộ R7 "Lặng là chỗ nghỉ"
| Cảnh | Trigger | Nơi · người | Tóm tắt · câu chốt |
|---|---|---|---|
| Cha tôi chở người sang đây một lần, rồi không dám cập bến nào nữa. DLG_CALLA_END_001 (15 s, doc 16 §7.2) | BS_FINAL hạ + chọn RING + FLAG FLAG_SHORE_OPEN | miệng kênh → Sông Tro · Calla, hero | Calla mở xích đò cuối bằng Chìa Đò; đò xuôi kênh ra sông; tro thưa dần rồi hết. "Cha tôi chở người sang đây một lần, rồi không dám cập bến nào nữa." → "Tôi cập bến. Anh lên bờ. Tôi đợi." |
SHORE_TRIAL 45 s | lên Bãi Gương | Bãi Gương · Tiếng Câm (Tiếng Câm EN_B6_02) + quái B1–B4 trộn (biomes/B6.json) | không thoại; tiếng bước chân hero bị nuốt dần. Không có Bóng Kẻ Thức EN_B6_01 (Bible §7.2: Bóng Kẻ Thức chỉ là quái phụ BS_TRUE P3). |
DLG_Hxx_BSTRUE_001 | intro BS_TRUE 3.0 s | — | hero nói 1 câu, giọng bị lowpass rồi tắt giữa câu (file boss); Cái Lặng không thoại |
| Bóng Kẻ Thức (BS_TRUE P3) | A17 gọi Bóng Kẻ Thức EN_B6_01 (≤ 2 sống, chỉ P3) | Bãi Gương · Bóng Kẻ Thức | không thoại; bóng Kẻ Thức Rỗng bị nuốt trên Bờ Lặng (doc 20 §3.2) mặc dáng Kẻ Thức cũ. Phụ đề tên chỉ khi hero có dây nối: Nhạn (hero Halka H03 Halka), Barro (hero Bodan H02 Bodan); hero khác → bóng không tên. |
| cảnh hạ BS_TRUE (15 s) | HP 0 | — | 12 mảnh + lõi cùng ngân; Bờ Lặng lần đầu có vọng; bóng Kẻ Thức Rỗng sang sông; lõi im hẳn thành chỗ nghỉ → END_QUIET_SHORE (§9.5) |
5.9 Móc truyện boss — bảng gộp (intro/hạ lần đầu/lặp)
| Boss | Câu hỏi boss đặt ra | Hook intro (lần 1) | Hook hạ (lần 1) | Lặp (lần 2+) | Mở |
|---|---|---|---|---|---|
| Xà Ích Xe Tang MB_B1_1 Xà Ích Xe Tang | "ai đưa người chết đi khi không còn chuông?" | xe tang lao ra, người đánh xe vẫn giữ cương · Tránh đường. Người đi chưa tới giờ. DLG_MB_B1_1_INTRO_001 | 3 quan có khăn ngà · Tới rồi. DLG_MB_B1_1_DEFEAT_001 | — | Xà Ích Xe Tang CDX_mb_b1_1 |
| Mẹ Kén Tơ Tro MB_B2_1 Mẹ Kén Tơ Tro · Cá Voi Xác MB_B2_2 Cá Voi Xác | đầm giữ người lại thế nào | kén treo người chết đuối · vây trồi khỏi tro · DLG_MB_B2_1_INTRO_001–002, DLG_MB_B2_2_INTRO_001–002 (hero: DLG_MB_B2_1_HERO_001–004) | kén rỗng / sườn lộ (Veyra) · Đò không tới. Thì để nước đưa. DLG_MB_B2_1_DEFEAT_001, [Lần đầu tiên sau Đêm Câm, đầm im tiếng rên.] DLG_MB_B2_2_DEFEAT_001 | — | CDX_mb_b2_* |
| Cỗ Máy Bước MB_B3_1 Cỗ Máy Bước · Gã Hai Đầu Lò MB_B3_2 Gã Hai Đầu Lò | thợ thành máy | buồng lái trống / 2 thợ dính nhau · DLG_MB_B3_1_INTRO_001–002, DLG_MB_B3_2_INTRO_001–002 | đe Oska (lần đầu) · Đổ… đổ cho xong mẻ… DLG_MB_B3_1_DEFEAT_001, DLG_MB_B3_2_DEFEAT_001–002 | — | CDX_mb_b3_* |
| Rồng Hai Đầu MB_B4_1 Rồng Hai Đầu · Kiếm Sĩ Gương MB_B4_2 Kiếm Sĩ Gương | triều đình vẫn luyện cho trận không có | rồng non đeo vòng hoàng gia · gương soi hero · [Hai tiếng gầm lệch nhịp — một khàn tro, một trầm như cổng sắt] DLG_MB_B4_1_INTRO_001, DLG_MB_B4_2_INTRO_001–002 (hero: DLG_MB_B4_2_HERO_001–002) | [Đầu Tro rít một hơi cuối, không ra tro] DLG_MB_B4_1_DEFEAT_001, DLG_MB_B4_2_DEFEAT_001–002 | — | CDX_mb_b4_* |
| Người Gác Chuông BS_B1 | bổn phận có đáng giữ khi lệnh sai? | "Ai lên đồi lúc chưa tới giờ?" | R1 + Lời Gửi cho Hol | _INTRO_002 + Sổ Thù | Người Gác Chuông CDX_bs_b1, Quá Khứ Thầy Hol CDX_past_hol |
| Lão Lái Đò Không Bến BS_B2 | tuyệt vọng có phải là lòng tốt? | "bờ bên kia đói" | R2 + Lời Gửi cho Calla | _INTRO_002 | Lão Lái Đò Không Bến CDX_bs_b2, Quá Khứ Calla CDX_past_calla |
| Thợ Cả Đúc Chuông BS_B3 | im lặng có cứu ai? | "kẻ trộm lưỡi" | R3 (khuôn ổ lõi) + Lời Gửi | _INTRO_002 | Thợ Cả Đúc Chuông CDX_bs_b3, Mũ Chuông & Lõi CDX_art_bell_crown, Quá Khứ Lão Grem CDX_past_grem |
| Thống Lĩnh Yvra & Rồng Khàn BS_B4 | trung thành với một lý do đúng | "Cầu này là lời thề" | R4 (trang lý do) + Lời Gửi | _INTRO_003 | Thống Lĩnh Yvra & Rồng Khàn CDX_bs_b4, Lý Do Của Nhà Vua CDX_ledger_dravos_reason, Quá Khứ Bà Ulla CDX_past_ulla |
| Vua Dravos, Mũ Chuông BS_FINAL | ác nhỏ hơn có còn là ác? | "Ta câm nó để chúng còn được ở lại" | R5 + lựa chọn kết | chỉ _003 | Vua Dravos CDX_bs_final, Ninh — Con Gái Nhà Vua CDX_lore_ninh |
| Cái Lặng BS_TRUE | (không câu hỏi — cơn đói) | tiếng chân bị nuốt | R7 + kết thật | intro 7 s rút còn 3 s | Cái Lặng CDX_bs_true |
86. Arc NPC (beat theo trạm; npcs.json → arc[] dùng đúng bảng này: beat, trigger, dialogue[])
6.1 Bà Ulla NPC_ULLA Bà Ulla · ST_HEARTH — "người giữ lửa xin tha cho đứa con mình nuôi" (8 beat)
| Beat | Id cảnh | Trigger | Tóm tắt · câu chốt |
|---|---|---|---|
| 1 | Con lại thức rồi. DLG_ULLA_HUB_001 | FLAG FLAG_FIRST_WAKE | thức dậy (§4.2). "Con lại thức rồi." |
| 2 | Nó sợ chuông từ khi còn chưa biết đi. Ta bịt tai cho nó ngủ. Ta tưởng nó sẽ quê… DLG_ULLA_HUB_003 | FLAG FLAG_FIRST_BOSS_DOWN | kỷ niệm 1: Dravos bé sợ tiếng chuông làng, bà bịt tai cho nó ngủ. "Nó sợ chuông từ khi còn chưa biết đi. Ta tưởng nó sẽ quên." |
| 3 | Năm mười hai tuổi nó chôn con chim sẻ, tự gõ chuông đồ chơi tiễn. Nó đòi cho co… DLG_ULLA_HUB_004 | ACT_REACHED II lần đầu | kỷ niệm 2: Dravos 12 tuổi chôn con chim sẻ, tự gõ chuông đồ chơi tiễn nó. "Nó đòi cho con chim một hồi chuông. Hồi ấy nó thương người chết lắm." |
| 4 | Ta bế nó, rồi bế con nó. Tay già này nặng hai đời. DLG_ULLA_HUB_005 | ACT_REACHED III lần đầu | kỷ niệm 3: Ninh chào đời; Ulla bế cả hai đời vua. "Ta bế nó, rồi bế con nó. Tay già này nặng hai đời." |
| 5 | Đêm ấy ta cầm đèn cho nó lên đỉnh. Ta tưởng nó đi khóc con. Ta đứng dưới chân n… DLG_ULLA_HUB_006 | ACT_REACHED IV lần đầu | lời thú: bà cầm đèn cho Dravos lên đỉnh Đêm Câm. "Đêm ấy ta cầm đèn cho nó. Ta tưởng nó đi khóc con." (Quá Khứ Bà Ulla CDX_past_ulla thêm đoạn) |
| 6 | Nếu con lên tới đỉnh… đừng ghét nó. Nó làm sai vì thương. Ta xin con. DLG_ULLA_HUB_008 | BOSS_KILLED BS_B4 >= 1 | xin tha: "Nếu con lên tới đỉnh… đừng ghét nó. Nó làm sai vì thương. Ta xin con." (+ Lời Gửi 4/4; beat Bà Ulla xin tha cho Dravos. FLAG_SENDOFF_YVRA → Nó sợ cho người chết. Phải rồi. Ta dạy nó thế. DLG_ULLA_HUB_009: Ulla nghe Lời Gửi Yvra, ngồi im, rồi: "Nó sợ cho người chết. Phải rồi. Ta dạy nó thế.") |
| 7 | Con gióng rồi. Chuông kêu, mà Tro vẫn về. Thằng bé nói đúng một nửa. DLG_ULLA_HUB_010 | FLAG FLAG_BELL_TOLL | sau END_BELL_TOLL: "Con gióng rồi. Chuông kêu, mà Tro vẫn về. Thằng bé nói đúng một nửa." (đầu giai đoạn B) |
| 8 | Ta tha cho nó. Giờ ta tắt lửa được rồi. DLG_ULLA_END_001 | END_QUIET_SHORE | payoff: tha thứ, tự tay tắt Lửa Canh (§9.5). "Ta tha cho nó. Giờ ta tắt lửa được rồi." |
- Ulla thêm:
DLG_ULLA_HUB_030–033chết lần 10/25/50/100; Con đội cái mũ của nó. Nặng không con? DLG_ULLA_HUB_040 sau END_ASH_CROWN: "Con đội cái mũ của nó. Nặng không con?"; MR11 mỗi hero: id ởheroes/<Hxx>.jsonmastery.mr11_beat_id(1 câu riêng/hero, doc 18 MR11): Tóc con bạc từ đêm ấy. Ta vẫn chải nó như chải cho đứa sáu tuổi. DLG_ULLA_H01_MR11_001, Vai con rộng bằng cửa tháp. Để ta vá áo, con ngồi thấp xuống. DLG_ULLA_H02_001…Con buộc cho người ta mãi. Để ta buộc lại dây giày cho con một lần. DLG_ULLA_H09_001, Bà với ta còn lại hai đứa nhớ xứ khi chuông còn kêu. Uống chén trà rồi hẵng đi. DLG_ULLA_H10_011…Con thổi tiễn cả xứ. Ngày ta đi, con thổi bài chậm thôi nhé. DLG_ULLA_H12_011.
6.2 Lão Grem NPC_GREM Lão Grem · ST_FORGE — "kẻ đúc chuông câm đầu tiên rèn vỏ cho lõi" (6 beat)
| Beat | Id cảnh | Trigger | Tóm tắt · câu chốt |
|---|---|---|---|
| 1 | Ba nhát. Đủ một người. DLG_GREM_HUB_001 | FLAG FLAG_FIRST_RUN_DONE | rèn Bodan (§4.4). "Ba nhát. Đủ một người." |
| 2 | Lò ấy đúc mọi chuông làng. Rồi đúc chuông không lưỡi. Ta đúc cái đầu tiên. DLG_GREM_HUB_005 | ACT_REACHED III lần đầu | kể Phường Đúc: "Lò ấy đúc mọi chuông làng. Rồi đúc chuông không lưỡi. Ta đúc cái đầu tiên." (Người Đúc Đầu & Thời Chuông Làng CDX_era_first_founders) |
| 3 | Thầy ta chết rồi à. Ông ấy có nhắc tên ta không? DLG_GREM_HUB_010 | BOSS_KILLED BS_B3 >= 1 | hero đưa mảnh khuôn; Grem nện 3 nhát vào khoảng không. "Thầy ta chết rồi à. Ông ấy có nhắc tên ta không?" — hero (chữ chọn sẵn): "Ông nói lò chưa bỏ ai." → "Ừ. Lò chưa bỏ ai." |
| 4 | Ổ này vừa một mảnh. Ta biết đúc cái gì để giữ nó rồi. DLG_GREM_HUB_012 | FLAG FLAG_SENDOFF_FOUNDER | Lời Gửi Thợ Cả: Grem lật khuôn ổ lõi, đo bằng ngón tay. "Ổ này vừa một mảnh. Ta biết đúc cái gì để giữ nó rồi." |
| 5 | Mảnh nhớ lại hình cũ của nó. Đừng cản. Để nó nhớ. DLG_GREM_HUB_015 | lần đầu hero bất kỳ có công thức EVO4 (MR12) | dạy Thức Tỉnh: "Mảnh nhớ lại hình cũ của nó. Đừng cản. Để nó nhớ." |
| 6 | Vỏ xong rồi. Người cầm thì chưa thức. DLG_GREM_HUB_030 | FLAG FLAG_QUIET_SHORE (hậu kết) | payoff: rèn vỏ mảnh 13; đe để trống một chỗ, vỏ đồng xong, chưa có người cầm. "Vỏ xong rồi. Người cầm thì chưa thức." (hé hero 13) |
- Grem thêm: Máy của lò. Ta biết từng con ốc của nó. Lần sau chém vào khớp. DLG_GREM_HUB_020 chết lần đầu bởi MB_B3_1/MB_B3_2 ("Máy của lò. Ta biết từng con ốc của nó. Lần sau chém vào khớp.") · Ông ấy vẫn rèn trước mặt người ta à. Nhìn tay ông ấy, đừng nhìn búa. DLG_GREM_HUB_021 chết lần đầu bởi BS_B3 ("Ông ấy vẫn rèn trước mặt người ta à. Nhìn tay ông ấy, đừng nhìn búa.") ·
DLG_GREM_HUB_040–051mở hero H02–H12 (1 câu rèn/hero) · MR15 mỗi hero: id ởheroes/<Hxx>.jsonmastery.mr15_beat_id(1 câu rèn riêng/hero, doc 18 MR15): Song liềm của ngươi mòn đều hai lưỡi. Ngươi gặt bằng cả hai tay rồi. DLG_GREM_H01_MR15_001, Nắp quan của ngươi giờ nặng tay ta. Tốt. Ta đóng thêm đinh. DLG_GREM_H02_001…Móc treo xu của con bé mòn bóng. Nút thắt nhiều hơn số đinh ta đóng. DLG_GREM_H09_001, Lư trầm của bà đen như đáy nồi. Khói vẫn bay đúng hướng. Tốt. DLG_GREM_H10_015…Kèn của ngươi giờ ngân cả khi im. Ta nghe qua đe. DLG_GREM_H12_015.
6.3 Calla NPC_CALLA Calla · ST_DOCK — "con gái người lái đò không bến, người duy nhất dám cập bờ" (7 beat)
| Beat | Id cảnh | Trigger | Tóm tắt · câu chốt |
|---|---|---|---|
| 1 | Lên đồi. Đừng dừng ở chỗ chuông câm. DLG_CALLA_DOCK_001 | lần xuất phát đầu | "Lên đồi. Đừng dừng ở chỗ chuông câm." |
| 2 | Đò tôi chỉ nổi trên một tiếng ngân mỗi đêm. Nên mỗi đêm chỉ một người. DLG_CALLA_HUB_001 | FLAG FLAG_ACT_ONE_CLEARED | Calla đếm sào. "Đò tôi chỉ nổi trên một tiếng ngân mỗi đêm. Nên mỗi đêm chỉ một người." (lý do 1 hero/run) |
| 3 | Cha tôi. Ông không chèo nữa à… Tốt. DLG_CALLA_HUB_003 | BOSS_KILLED BS_B2 >= 1 | hero mang về nửa sào gãy; Calla cắm nó ở đầu bến. "Cha tôi. Ông không chèo nữa à… Tốt." Mở Quá Khứ Calla CDX_past_calla. |
| 4 | Ông ấy vẫn nghĩ tôi là con bé. DLG_CALLA_HUB_005 | FLAG FLAG_SENDOFF_FERRYMAN | nhận Lời Gửi: "Đừng để con bé chèo qua đó." Calla im 2 s. "Ông ấy vẫn nghĩ tôi là con bé." |
| 5 | Chuông kêu rồi. Bờ bên kia ăn mất. Cha tôi nói đúng. DLG_CALLA_HUB_007 | FLAG FLAG_BELL_TOLL | "Chuông kêu rồi. Bờ bên kia ăn mất. Cha tôi nói đúng." → giới thiệu đò cuối: "Có một chiếc đò cha tôi khoá xích. Chìa nằm ở bốn lời cuối." |
| 6 | Bốn người đã gửi lời. Đủ để tôi cãi cha một lần. DLG_CALLA_HUB_010 | 4 cờ FLAG_SENDOFF_* → đặt Calla trao Chìa Đò (arc Calla xong). FLAG_FERRY_KEY | trao Chìa Đò: Calla tháo xích khỏi cổ tay. "Bốn người đã gửi lời. Đủ để tôi cãi cha một lần." Đò Cuối & Chìa Đò CDX_art_last_ferry. |
| 7 | Cha tôi chở người sang đây một lần, rồi không dám cập bến nào nữa. DLG_CALLA_END_001 | sang B6 lần đầu | chở đò cuối (§5.8) → payoff ở END_QUIET_SHORE: Calla quay đò về, lần đầu đò nổi không cần tiếng ngân. |
- Thêm: Chìa có rồi. Tháp chưa có chuông, đò không tìm được đường về. DLG_CALLA_HUB_012 khi Calla trao Chìa Đò (arc Calla xong). FLAG_FERRY_KEY có mà thiếu GD5/END_BELL_TOLL: "Chìa có rồi. Tháp chưa có chuông, đò không tìm được đường về." (chỉ đường tới GD5) · Bè chỉ chạy trên kênh vòng ngoài. Lên đất khô giữa sân, đợi nó dừng mà chém. DLG_CALLA_HUB_020 chết lần đầu bởi BS_B2: "Ông ấy chèo vòng trái. Đứng chỗ nước cạn bên phải."
6.4 Thầy Hol NPC_HOL Thầy Hol · ST_LEDGER — "người điếc ghi mọi cái chết, nghe lại một tiếng chuông" (6 beat; mọi câu = chữ viết tay trên giấy, font viết tay, không bark blip)
| Beat | Id cảnh | Trigger | Tóm tắt · câu chốt |
|---|---|---|---|
| 1 | Ta không nghe được. Nên ta ghi. Cái chết của con nằm ở trang này. DLG_HOL_HUB_001 | FLAG FLAG_FIRST_RUN_DONE | bia mộ đầu (§4.4) |
| 2 | Em ta giữ dây chuông đêm ấy. Ta tưởng nó chết vì ta không kéo kịp. DLG_HOL_HUB_005 | BOSS_KILLED BS_B1 >= 1 | trang Người Gác Chuông, gạch 1 dòng. "Em ta giữ dây chuông đêm ấy. Ta tưởng nó chết vì ta không kéo kịp." |
| 3 | Hai mươi cái tên. Có người đủ tên để gọi rồi. DLG_HOL_HUB_007 | LEDGER_PAGES >= 20 | "Hai mươi cái tên. Có người đủ tên để gọi rồi." (cùng lúc mở H10 Ingra) |
| 4 | Chuông nhà mình chưa nứt. Nó nói thế à. Vậy ta phải treo lại nó. DLG_HOL_HUB_009 | FLAG FLAG_SENDOFF_WARDEN | Lời Gửi em trai: Hol đọc môi hero 2 lần, rồi viết: "Chuông nhà mình chưa nứt. Nó nói thế à. Vậy ta phải treo lại nó." (nối GD5) |
| 5 | Sáu mươi. Ta bắt đầu viết cả những người chưa ai khóc. DLG_HOL_HUB_011 | LEDGER_PAGES >= 60 | "Sáu mươi. Ta bắt đầu viết cả những người chưa ai khóc." Tiền Vọng CDX_era_pre_echo |
| 6 | Một trăm. Sổ nặng hơn ta rồi. DLG_HOL_HUB_013 | LEDGER_PAGES >= 100 | "Một trăm. Sổ nặng hơn ta rồi." |
| payoff | …Em. DLG_HOL_HUB_020 | GD GD5 (cảnh GD5 12 s, §6.8) | chuông tháp ngân 1 tiếng; Hol nghe được; câu duy nhất bằng giọng (phụ đề in thường, không phải chữ tay): "…Em." |
- Hol thêm: Có một trang con chưa đọc. Ta viết nó bằng tay run. DLG_HOL_HUB_015 nhắc trang lý do vua (§5.4) · Nó đánh búa theo nhịp chuông cũ. Ba, rồi bốn. DLG_HOL_HUB_030 chết lần đầu bởi BS_B1: "Nó đánh búa theo nhịp chuông cũ. Ba, rồi bốn."
6.5 Nhóc Lem NPC_LEM Nhóc Lem · ST_TEST_BELL — "cậu bé buộc khăn đã chết mà không biết" (6 beat)
| Beat | Id cảnh | Trigger | Tóm tắt · câu chốt |
|---|---|---|---|
| 0 | Chuông này còn kêu không {hero_kin}? Em chưa nghe nó kêu bao giờ. DLG_LEM_HUB_001 | trước GD1 (≤ 3 lần) | "Chuông này còn kêu không chú?" |
| 1 | {hero_kin_cap} có lạnh không? Em thì không bao giờ lạnh. DLG_LEM_HUB_003 | GD GD1 (cảnh GD1 8 s) | Lem gõ thử chuông nhỏ lần đầu, hỏi Kẻ Thức có lạnh không. "Chú có lạnh không? Em thì không bao giờ lạnh." |
| 2 | Buộc khăn là nhận một nỗi mất. {hero_kin_cap} nhận nổi không? DLG_LEM_HUB_005 | FLAG FLAG_BELL_TOLL (Khăn Tang mở) | Lem buộc khăn đầu tiên. "Buộc khăn là nhận một nỗi mất. Chú nhận nổi không?" |
| 3 | Em ngồi đây lâu lắm rồi. Em không đói. Lạ ha {hero_kin}? DLG_LEM_HUB_007 | MOURNING >= 4 | "Em ngồi đây lâu lắm rồi. Em không đói. Lạ ha chú?" |
| 4 | Lửa không ăn tay em. Bà Ulla bảo lửa thương em. DLG_LEM_HUB_009 | MOURNING >= 8 | Lem đưa tay qua ngọn lửa, không bỏng. "Lửa không ăn tay em. Bà Ulla bảo lửa thương em." Ingra (nếu là hero đang về) quay mặt đi. |
| 5 | {hero_kin_cap} ơi… em chết rồi phải không? DLG_LEM_HUB_011 | MOURNING >= 16 | R6: Lem hỏi thẳng. "Chú ơi… em chết rồi phải không?" — Ulla (từ xa): "Ừ, con. Năm ngoái. Lửa giữ con lại." — Lem: "Vậy em đợi chuông. Em xếp hàng sau mọi người." Quá Khứ Nhóc Lem CDX_past_lem |
| payoff | Em đi nhé. {hero_kin_cap} buộc giùm em cái cuối. DLG_LEM_END_001 | END_QUIET_SHORE | sang sông (§9.5) |
- Thời điểm R6: nếu người chơi đạt END_QUIET_SHORE trước Độ Tang 16, cảnh kết vẫn tự giải thích (Lem "đi với mọi người"); beat 5 sau đó chạy như hồi tưởng với dòng Em đi rồi mà {hero_kin} vẫn đọc à? DLG_LEM_HUB_013 "Em đi rồi mà chú vẫn đọc à?" (chữ trên trang Sổ Tang, không có Lem trên màn).
6.6 Bà Mott NPC_MOTT Bà Mott · ST_MARKET — "người buôn lời trăng trối không bán lời nào" (6 beat)
| Beat | Id cảnh | Trigger | Tóm tắt · câu chốt |
|---|---|---|---|
| 1 | Lời cuối thì rẻ, Relic thì không. DLG_MOTT_HUB_001 | RUNS >= 2 | mở sạp. "Lời cuối thì rẻ, Relic thì không." |
| 2 | Dây này dài thêm một sải mỗi năm. Toàn lời chưa ai nhận. DLG_MOTT_HUB_003 | GD GD2 (cảnh GD2 6 s) | dựng sạp thứ hai, treo dây lời trăng trối. "Dây này dài thêm một sải mỗi năm. Toàn lời chưa ai nhận." |
| 3 | Ba lời người khác trên một thân. Nặng chưa? Ta mang cả nghìn. DLG_MOTT_HUB_005 | lần đầu có 3 Relic cùng lúc (PICKUP RELIC >= 3 trong 1 run) | "Ba lời người khác trên một thân. Nặng chưa? Ta mang cả nghìn." |
| 4 | Làng cưng bán vàng mã cho ta ba đời. Đồng nào cũng cháy không tàn. DLG_MOTT_HUB_007 | HERO H09 + HERO_RUNS H09 >= 1 | Mott nhận ra xu giấy làng Kessa. "Làng con bán vàng mã cho ta ba đời. Đồng nào cũng cháy không tàn." |
| 5 | Thấy chưa. Có đường mà không ai đi được. Ta giữ tiếp. DLG_MOTT_HUB_009 | FLAG FLAG_BELL_TOLL | chuông vang mà lời vẫn không đi: Mott gỡ 1 lời, nó bay lên rồi rơi lại. "Thấy chưa. Có đường mà không ai đi được. Ta giữ tiếp." Quá Khứ Bà Mott CDX_past_mott |
| payoff | Hết hàng. Lần đầu ta vui vì hết hàng. DLG_MOTT_END_001 | END_QUIET_SHORE | trả lại hết: dây lời bay theo đò (§9.5). "Hết hàng. Lần đầu ta vui vì hết hàng." |
- Sạp Rong trong run (
SHOP, ≤ 1 dòng):DLG_MOTT_SHOP_001–040(chào, mua, thiếu tiền, mua Relic Lời Nguyền, đầy Relic). Vd "Đủ tiền chưa? Người chết không cho nợ." · "Lời nguyền cũng là lời. Ta bán đúng giá." · "Tay con đầy rồi. Trả bớt một lời đi."
6.7 Bù Nhìn Răm NPC_RAM Bù Nhìn Răm · ST_YARD — không arc, bark hài đen
DLG_RAM_HUB_001–060: chọn ngẫu nhiên khi đi ngang Sân Tập (prio 80+), ưu tiên dòng gắn kết quả run vừa xong. Mẫu: chết Hồi I "Chết ở chân đồi? Hồi ta còn ruột, ta chết tận lưng chừng." · chết vì đòn tím "Màu tím là để né. Ta nói rồi. Ta nói với rơm." · thắng "Thắng à. Ta cũng từng thắng. Rồi người ta nhồi rơm vào ta." · chết bởi MB_B4_x "Kiếm sĩ gương à? Ta từng dạy hắn. Hoặc một người giống hắn."- Bí ẩn không giải ở 1.0 (doc 20 §8): Răm tự nhận thầy kiếm Đời Một; Sổ Tang không có tên khớp. Sổ không có tên ta? Thì ta là rơm. Rơm khỏi cần tên. DLG_RAM_HUB_050 (sau
LEDGER_PAGES >= 100): "Sổ không có tên ta? Thì ta là rơm. Rơm khỏi cần tên." DLG_RAM_TUT_001–030: bài tập Sân Tập (ĐÁP, Lướt, nhịp lừa, frame data) — chữ dạy bằng vật thể, không tên menu.
6.8 Cảnh Phục Dựng (mỗi GĐ 1 cảnh, nội dung meta.json → restoration[].scene_vi)
| GĐ | Id cảnh | Dài | Người | Câu chốt |
|---|---|---|---|---|
| GD1 | {hero_kin_cap} có lạnh không? Em thì không bao giờ lạnh. DLG_LEM_HUB_003 | 8 s | Ulla, Lem | Ulla rắc tro, tầng trệt sáng; Lem: "Chú có lạnh không?" |
| GD2 | Dây này dài thêm một sải mỗi năm. Toàn lời chưa ai nhận. DLG_MOTT_HUB_003 | 6 s | Mott | dây lời trăng trối dọc bến |
| GD3 | Năm dải này em để dành. Khi nào chuông kêu, em buộc cho {hero_kin}. DLG_LEM_HUB_004 | 6 s | Lem | tầng hai sáng, Lem buộc 5 dải khăn lên xà: "Năm nỗi mất nữa. Em buộc chặt rồi." |
| GD4 | Áo này ta may cho một đám tang không bao giờ được làm. DLG_ULLA_HUB_012 | 8 s | Ulla | mở rương áo tang kinh đô: "Áo này ta may cho một đám tang không bao giờ được làm." |
| GD5 | …Em. DLG_HOL_HUB_020 | 12 s | Grem, Calla, Hol | kéo chuông nứt lên đỉnh tháp; chuông ngân 1 tiếng; Hol: "…Em." |
97. Nhiệm vụ riêng hero (12 arc × 4 beat)
Luật chung: beat = cảnh hub DLG_Hxx_HUB_00n (n = beat 1–4), prio 40–59, chạy khi về hub sau run chơi chính hero đó (trừ beat 1 = ngay khi mở hero). Điều kiện "trong run" = run vừa xong (HERO Hxx + RUN_BOSS_KILLED/RUN_EVT). Beat n cần beat n−1 (HQ_BEAT Hxx >= n−1). Thưởng chỉ truyện, không tiền/sức mạnh (kinh tế doc 17 không đổi): B2 → thêm 1 đoạn vào trang hero CDX_hxx (không tính trang mới); B3 → mở trang lore liên quan (nếu có id) hoặc 1 dòng hero↔boss mới; B4 → dòng bia mộ riêng TMB_Hxx (văn bia thay mẫu chung, độc lập MR18) + thẻ kết END_QUIET_SHORE hiện đủ 2 câu (chưa xong B4: chỉ câu 1, §9.5). story.hq[Hxx] = 4 = arc xong.
| Hero · arc | Beat | Id | Điều kiện | Tóm tắt · câu chốt |
|---|---|---|---|---|
| H01 Varek · "Gặt làng mình" | 1 | Cả làng tôi còn đứng ngoài ruộng. Tôi gặt họ trước, rồi mới gặt ai khác. DLG_H01_HUB_001 | HERO_RUNS H01 >= 2 | Varek kể Làng Gặt: "Cả làng tôi còn đứng ngoài ruộng. Tôi gặt họ trước, rồi mới gặt ai khác." |
| 2 | Người cầm mảnh này trước tôi quên cả tên mình. Tôi sẽ quên tới đâu? DLG_H01_HUB_002 | HERO H01 + RUN_EVT EVT_B1_01 | sau bia Ostrid: "Người cầm mảnh này trước tôi quên cả tên mình. Tôi sẽ quên tới đâu?" — Ulla: "Tới đâu ta nhắc tới đó." | |
| 3 | Hồi sáu tuổi tôi nghe chuông nhà nguyện lần cuối. Nó gióng đám làng tôi. Tóc bạ… DLG_H01_HUB_003 | HERO H01 + RUN_BOSS_KILLED BS_B1 | Varek nhận ra chuông nhà nguyện từng gióng đám tang làng: "Hồi sáu tuổi tôi nghe nó lần cuối. Tóc bạc từ đêm sau." Mở dòng Ta từng nghe chuông này gióng đám làng Gặt. DLG_BS_B1_HERO_001. | |
| 4 | Khăn này về làng trước tôi. DLG_H01_HUB_004 | HERO H01 + RUN_BOSS_KILLED BS_FINAL | Varek tháo khăn đỏ của mẹ, buộc lên cột Lửa Canh: "Khăn này về làng trước tôi." Bia: "Gặt xong làng mình, rồi mới nghỉ." | |
| H02 Bodan · "Ai cũng xứng một cái nắp" | 1 | Tôi đóng quan cho mình trước. Nắp thì làm kiếm. Vừa tay. DLG_H02_HUB_001 | mở H02 | "Tôi đóng quan cho mình trước. Nắp thì làm kiếm. Vừa tay." |
| 2 | Đêm qua tôi nợ {count} cái nắp. Ghi sổ giùm. DLG_H02_HUB_002 | HERO_RUNS H02 >= 3 | đếm nắp quan đã đóng trong đêm (= kill/100 làm tròn, chữ): "Đêm qua tôi nợ 3 cái nắp. Ghi sổ giùm." Hol ghi. | |
| 3 | Barro chạm tới đỉnh rồi rỗng dưới chuông. Không ai khiêng anh ấy về. DLG_H02_HUB_003 | HERO H02 + ACT_REACHED IV | nhắc Barro (mảnh cũ): "Barro chạm tới đỉnh rồi rỗng dưới chuông. Không ai khiêng anh ấy về." Mở Barro — Người Chạm Đỉnh CDX_lore_barro sớm nếu chưa có. | |
| 4 | Cho người cuối cùng. Ai cũng được. DLG_H02_HUB_004 | HERO H02 + RUN_BOSS_KILLED BS_FINAL | Bodan đóng 1 nắp không tên đặt cạnh tháp: "Cho người cuối cùng. Ai cũng được." Bia: "Đã khiêng đủ. Giờ nằm." | |
| H03 Halka · "Ca gác cuối" | 1 | Thầy Hol, cha nuôi con vẫn gác. Con sẽ thay ca cho ông. DLG_H03_HUB_001 | mở H03 | Halka viết thư cho Hol (ông điếc): "Thầy Hol, cha nuôi con vẫn gác. Con sẽ thay ca cho ông." |
| 2 | Thầy Nhạn rỗng khi dòng sa ngã. Giáo này treo chuông của thầy. DLG_H03_HUB_002 | HERO_RUNS H03 >= 3 | kể Nhạn: "Thầy Nhạn rỗng khi dòng sa ngã. Giáo này treo chuông của thầy." Nhạn — Thầy Của Halka CDX_lore_nhan | |
| 3 | Ông ấy cho con nghỉ ca. Con chưa muốn nghỉ. DLG_H03_HUB_003 | HERO H03 + RUN_BOSS_KILLED BS_B1 | sau "Gác xong ca rồi, con gái. Đi đi.": Halka đặt mũ gác lên bàn Hol: "Ông ấy cho con nghỉ ca. Con chưa muốn nghỉ." | |
| 4 | Varek gặt xác lính gác. Giờ tôi hiểu. Có người phải gặt. DLG_H03_HUB_004 | HQ_BEAT H03 >= 3 + FLAG FLAG_BELL_HUNG | Halka và Hol đứng dưới chuông tháp vừa treo; cô gõ nhịp gác (3, rồi 4) lên vai ông, ông gật. Nghi Varek kết thúc: "Varek gặt xác lính gác. Giờ tôi hiểu. Có người phải gặt." Bia: "Hết ca." | |
| H04 Sậu · "Kẻ lại đất" | 1 | Tro dời mọi huyệt. Tôi vẽ lại lối mỗi đêm, sáng ra lại sai. DLG_H04_HUB_001 | mở H04 | "Tro dời mọi huyệt. Tôi vẽ lại lối mỗi đêm, sáng ra lại sai." (lý do bản đồ đổi) |
| 2 | Chị đào, tôi chọn. Chị đào lệch nửa sải. DLG_H04_HUB_002 | HERO_RUNS H04 >= 3 | Sậu và Wenna cãi chỗ đặt huyệt (nếu H11 đã mở; không thì Ingra): "Chị đào, tôi chọn. Chị đào lệch nửa sải." | |
| 3 | Cả xứ là một cái chuông úp. Ta đang đứng trên miệng nó. DLG_H04_HUB_003 | HERO H04 + RUN_BOSS_KILLED BS_B4 | Sậu vẽ bản đồ cả xứ, thấy núi là chuông úp: "Cả xứ là một cái chuông. Ta đang đứng trên miệng nó." | |
| 4 | Chỗ này tôi chưa vẽ được. Chưa ai về kể. DLG_H04_HUB_004 | HERO H04 + RUN_BOSS_KILLED BS_FINAL | Sậu vẽ lối xuống Bờ Lặng trên bản đồ, để trống: "Chỗ này tôi chưa vẽ được. Chưa ai về kể." Bia: "Lối đã kẻ xong." | |
| H05 Oska · "Đe hút lõi" | 1 | Mảnh rơi đúng vào đe. Giờ đe hút sắt. Tôi tin nó hút được cả lõi. DLG_H05_HUB_001 | mở H05 | "Mảnh rơi đúng vào đe. Giờ đe hút sắt. Tôi tin nó hút được cả lõi." |
| 2 | Đinh lớn nhất tôi bán cho Bodan rồi. Lão Grem, lão nghe đe tôi xem. DLG_H05_HUB_002 | HERO_RUNS H05 >= 3 | Oska bán đinh quan lớn nhất cho Bodan; Grem chê đe: "Đe của cô kêu sai nốt." — "Vì nó đang nghe thứ khác." | |
| 3 | Nó chỉ lên đỉnh. Nó biết lõi ở đâu trước cả tôi. DLG_H05_HUB_003 | HERO H05 + RUN_BOSS_KILLED BS_B3 | đe kêu lên khi gần mảnh khuôn ổ lõi: "Nó chỉ lên đỉnh. Nó biết lõi ở đâu trước cả tôi." | |
| 4 | Lõi vỡ Mũ Chuông mà đe đứng yên. Nó không hút. Nó chỉ chào. DLG_H05_HUB_004 | HERO H05 + RUN_BOSS_KILLED BS_FINAL | đe đứng yên khi lõi vỡ Mũ Chuông: "Nó không hút. Nó chỉ chào." Bia: "Đe nguội, tay nguội." | |
| H06 Ruvan · "Đập vỡ chuông mình đúc" | 1 | Tôi đúc bốn trăm cái chuông câm. Tôi sẽ đập từng cái. DLG_H06_HUB_001 | mở H06 | "Tôi đúc 400 cái chuông câm. Tôi sẽ đập từng cái." (tự bỏng = tự phạt) |
| 2 | Lão cũng trốn à? DLG_H06_HUB_002 | HERO_RUNS H06 >= 3 | Ruvan và Grem, cách nhau 26 năm đào tẩu: "Lão cũng trốn à?" — Grem: "Ta trốn trước. Ta mở đường cho ngươi." | |
| 3 | Ông ấy hết đúc rồi. Tôi hết phải đập. DLG_H06_HUB_003 | HERO H06 + RUN_BOSS_KILLED BS_B3 | sau "Lò thì chưa bỏ ngươi": Ruvan tháo găng giữ khuôn lần đầu, tay không bỏng thêm. "Ông ấy hết đúc rồi. Tôi hết phải đập." | |
| 4 | Còn một cái kêu được. Của lão Grem. DLG_H06_HUB_004 | HERO H06 + RUN_EVT EVT_B3_01 | trong kho chuông câm, Ruvan tìm cái chuông có lưỡi Grem giấu, mang về tháp: "Còn một cái kêu được. Của lão Grem." Bia: "Đập xong. Đúc lại." | |
| H07 Veyra · "Giữ đầm cho người sống" | 1 | Đầm còn người sống ven kênh. Ít, nhưng còn. Tôi bắn cho họ. DLG_H07_HUB_001 | mở H07 | "Đầm còn người sống ven kênh. Ít, nhưng còn. Tôi bắn cho họ." |
| 2 | Đò là nhà thứ hai. Calla không đuổi, cũng không hỏi. DLG_H07_HUB_002 | HERO_RUNS H07 >= 3 | Veyra ngủ trên đò Calla giữa hai đêm: "Đò là nhà thứ hai. Calla không đuổi, cũng không hỏi." | |
| 3 | Nó là con đầu đàn. Đàn con đã cho tôi sườn làm cung. DLG_H07_HUB_003 · hoặc Nó là con đầu đàn. Đàn con đã cho tôi sườn làm cung. DLG_H07_HUB_009 | Nó là con đầu đàn. Đàn con đã cho tôi sườn làm cung. DLG_H07_HUB_003: HERO H07 + RUN_EVT EVT_B2_02 · Nó là con đầu đàn. Đàn con đã cho tôi sườn làm cung. DLG_H07_HUB_009: HERO H07 + RUN_BOSS_KILLED MB_B2_2 (tính hq H07 = 3); dòng nào chạy trước thì xong beat 3 | đàn con cá voi tro: "Nó là con đầu đàn. Đàn con đã cho tôi sườn làm cung." | |
| 4 | Tôi nói với ông ấy rồi. Chị còn đợi ở bến. DLG_H07_HUB_004 | HERO H07 + RUN_BOSS_KILLED BS_B2 | Veyra kể cho Calla "Calla còn đợi ông ở bến" đã được nói: Calla gật 1 lần. Bia: "Đầm vẫn có người sống." | |
| H08 Dov · "Pháo không thay được chuông" | 1 | Đội Đèn Đêm bắn pháo ma trơi dẫn hồn. Không đủ. Tôi muốn chuông thật. DLG_H08_HUB_001 | mở H08 | "Đội Đèn Đêm bắn pháo ma trơi dẫn hồn. Không đủ. Tôi muốn chuông thật." |
| 2 | Ông không nghe được, nhưng ông thấy pháo. Thế là đủ. DLG_H08_HUB_002 | HERO_RUNS H08 >= 3 | Dov và Ambrin thi ồn (nếu H12 mở; không thì Dov bắn pháo cho Hol nhìn): "Ông không nghe được, nhưng ông thấy pháo. Thế là đủ." | |
| 3 | Ống này hết thuốc rồi. Thầy cắm bút vào đi. DLG_H08_HUB_003 | HERO H08 + RUN_BOSS_KILLED BS_B1 | sau "Pháo của tôi không thay được chuông ông": Dov tháo 1 ống pháo, tặng Hol làm ống đựng bút. | |
| 4 | Lần đầu tôi không cần pháo. DLG_H08_HUB_004 | HERO H08 + FLAG FLAG_BELL_HUNG | Dov đứng dưới chuông tháp, không bắn: "Lần đầu tôi không cần pháo." Bia: "Pháo tắt, chuông còn." | |
| H09 Kessa · "Buộc lại thứ đã rời" | 1 | Tro làm rời người với tên, xác với huyệt. Tôi buộc lại. Một nút một người. DLG_H09_HUB_001 | mở H09 | "Tro làm rời người với tên, xác với huyệt. Tôi buộc lại. Một nút một người." |
| 2 | Một xu một tên. Chị có tên nào thừa không? DLG_H09_HUB_002 | HERO_RUNS H09 >= 3 | Kessa đổi xu giấy lấy tên với Veyra: "Một xu một tên. Chị có tên nào thừa không?" | |
| 3 | Tên này còn sống. Buộc lỏng thôi. DLG_H09_HUB_003 | HERO H09 + RUN_EVT EVT_B2_01 | buộc lại tên bị cạo trên mạn đò Hội Đưa Đò: tên Calla. "Tên này còn sống. Buộc lỏng thôi." | |
| 4 | Con bé có tên lại rồi. DLG_H09_HUB_004 | HERO H09 + RUN_BOSS_KILLED BS_FINAL | Kessa thắt nút cuối vào khăn tang Ninh (nếu đã mở Ninh — Con Gái Nhà Vua CDX_lore_ninh): "Con bé có tên lại rồi." Bia: "Nút cuối đã thắt." | |
| H10 Ingra · "Làm theo lời người chết" | 1 | Người chết nói qua khói. Đủ tên thì gọi được. Giờ đủ rồi. DLG_H10_HUB_001 | mở H10 | "Người chết nói qua khói. Đủ tên thì gọi được. Giờ đủ rồi." |
| 2 | Ta xem quẻ ngày thằng bé sinh. Quẻ nói nó sẽ thương quá mức. DLG_H10_HUB_002 | HERO_RUNS H10 >= 3 | Ingra và Ulla, hai bạn già: "Ta xem quẻ ngày thằng bé sinh. Quẻ nói nó sẽ thương quá mức." | |
| 3 | Khói trầm của ta tránh chỗ thằng bé ngồi. Lạ thật. DLG_H10_HUB_003 | HERO H10 + MOURNING >= 16 | Ingra biết Lem đã chết, giữ kín: "Khói không bay qua thằng bé. Ta biết lâu rồi. Đừng nói với nó." | |
| 4 | Con bé không còn ở bên kia để gọi. Ta gọi vào chỗ trống. DLG_H10_HUB_004 | HERO H10 + RUN_BOSS_KILLED BS_FINAL | khói trầm gọi được tên Ninh 1 lần: "Con bé không còn ở bên kia để gọi. Ta gọi vào chỗ trống." Bia: "Lời nhờ đã làm xong." | |
| H11 Wenna · "Cho đất ngủ yên" | 1 | Tôi đào huyệt cho cả làng. Rồi cả làng chết. Đủ huyệt, thiếu người chôn. DLG_H11_HUB_001 | mở H11 | "Tôi đào huyệt cho cả làng. Rồi cả làng chết. Đủ huyệt, thiếu người chôn." |
| 2 | Anh to quá. Huyệt anh tôi phải đào hai ngày. DLG_H11_HUB_002 | HERO_RUNS H11 >= 3 | Wenna cãi Bodan cỡ huyệt: "Anh to quá. Huyệt anh tôi phải đào hai ngày." — Bodan: "Đào một ngày thôi. Tôi co chân." | |
| 3 | Làng anh cách làng tôi một quả đồi. Anh gặt, tôi chôn. DLG_H11_HUB_003 | HERO H11 + RUN_BOSS_KILLED BS_B1 | làng Wenna gần Làng Gặt: Wenna và Varek (nếu đã chơi H01 ≥ 1 run) "Làng anh cách làng tôi một quả đồi. Anh gặt, tôi chôn." | |
| 4 | Đất ngủ được rồi. Tôi cũng thế. DLG_H11_HUB_004 | HERO H11 + RUN_BOSS_KILLED BS_FINAL | Wenna lấp huyệt cuối, đặt xẻng nằm: "Đất ngủ được rồi. Tôi cũng thế." Bia: "Huyệt đã lấp." | |
| H12 Ambrin · "Thổi tiễn mỗi trận" | 1 | Tôi chỉ thức khi nghe Đại Chuông. Phường tôi chết cả rồi, giờ thổi theo nhịp tô… DLG_H12_HUB_001 | mở H12 (sau END_BELL_TOLL) | "Tôi chỉ thức khi nghe Đại Chuông. Phường tôi chết cả rồi, giờ thổi theo nhịp tôi." |
| 2 | Anh khiêng nhanh quá, tôi thổi không kịp hết bài. DLG_H12_HUB_002 | HERO_RUNS H12 >= 3 | Ambrin và Bodan (Bodan khiêng, Ambrin thổi): "Anh khiêng nhanh quá, tôi thổi không kịp hết bài." | |
| 3 | Thổi cho cha chị. Bốn nốt thôi. DLG_H12_HUB_003 | HERO H12 + RUN_BOSS_KILLED BS_B2 | sau "Để tôi thổi tiễn ông một bài": Ambrin dạy Calla 4 nốt: "Thổi cho cha chị. Bốn nốt thôi." | |
| 4 | Họ nghe được rồi. Họ về. DLG_H12_HUB_004 | HERO H12 + RUN_BOSS_KILLED BS_FINAL | phường kèn ma đứng sau Ambrin ở hub 1 nhịp rồi tan: "Họ nghe được rồi. Họ về." Bia: "Bài cuối đã thổi." |
- Thời lượng arc: beat 2 cần ≥ 3 run với hero → arc đủ trong ~6–10 run/hero, trùng tiến độ MR10 (≈ 8 run, Bible §3.5). Arc chưa xong không chặn kết nào.
- Hai dòng hub nhàn/hero
DLG_Hxx_HUB_010–011(prio 85, lặp được): 1 câu khi chọn hero ở Lửa Canh, 1 câu khi về sau thắng.
108. Hé lộ & cú lật
8.1 Thang hé lộ (R1–R7; mỗi bậc gắn 1 cột mốc đã chơi)
| Bậc | Người chơi biết | Kênh · cảnh | Cột mốc | Câu chốt |
|---|---|---|---|---|
| R0 | Có người câm chuông 40 năm trước | cảnh mở Bốn mươi năm trước, có người bắt chuông im. DLG_NARR_INTRO_003 | mở game | "Bốn mươi năm trước, có người bắt chuông im." |
| R1 | Đêm Câm có chủ đích (lệnh vua tới trước 1 giờ) | Đêm đó… có lệnh tới trước một giờ. DLG_BS_B1_DEFEAT_001 + Quá Khứ Thầy Hol CDX_past_hol | hạ BS_B1 | "Đêm đó… có lệnh tới trước một giờ." |
| R2 | Bờ bên kia sai: vua từng sang, thấy hồn con bị nuốt | Ta đã chở hắn sang... và thấy bờ ấy nuốt hồn đứa nhỏ. Từ đó ta không dám cập bế… DLG_BS_B2_DEFEAT_001 + Quá Khứ Calla CDX_past_calla | hạ BS_B2 | "…thấy bờ ấy nuốt hồn đứa nhỏ." |
| R3 | Dravos giữ lõi trên Mũ Chuông | Im lặng… là cứu rỗi. Ta đúc nó cho ai… ta quên rồi. DLG_BS_B3_DEFEAT_001 + Mũ Chuông & Lõi CDX_art_bell_crown | hạ BS_B3 | mảnh khuôn ổ lõi |
| R4 | Lý do của vua: câm chuông để ngừng dâng hồn cho thứ đói | Lên đi. Hỏi ngài vì sao. Rồi hãy quyết. DLG_YVRA_DEFEAT_002 + Lý Do Của Nhà Vua CDX_ledger_dravos_reason | hạ BS_B4 + đọc trang | "Ngài sợ cho người chết." |
| R5 | Cái Lặng tồn tại; vua nói thật | Bên kia có thứ đang đói. Nếu ngươi gióng, hãy đi theo mà giữ chúng. DLG_DRAVOS_FINAL_009 | hạ BS_FINAL | "Bên kia có thứ đang đói." |
| R5b | Cú lật: gióng chuông = gọi nó ăn; "chiến thắng" vừa rồi nuôi nó | hậu kết END_BELL_TOLL §9.3 + Mùa Chuông Dồn & Thời Đói Ngầm CDX_era_crowded_bells | END_BELL_TOLL | Ulla: "Thằng bé nói đúng một nửa." |
| R6 | Nhóc Lem đã chết; Lửa Canh giữ hồn em | {hero_kin_cap} ơi… em chết rồi phải không? DLG_LEM_HUB_011 + Quá Khứ Nhóc Lem CDX_past_lem | Độ Tang 16 (hoặc hồi tưởng sau kết thật) | "Chú ơi… em chết rồi phải không?" |
| R7 | Cái Lặng đánh được: Lưỡi đúc để phát Vọng; 12 mảnh + lõi cùng ngân trả Lặng về làm chỗ nghỉ | cảnh hạ BS_TRUE + END_QUIET_SHORE | hạ BS_TRUE | "Lần này, bờ bên kia đáp lại." |
8.2 Ba cú lật (đặt đúng chỗ, không nói trước)
- Phản diện là người thương người chết nhất (R1→R5): giai đoạn A dựng Dravos như kẻ câm chuông; mỗi boss Hồi bóc 1 lớp; cảnh hạ BS_FINAL để hắn gọi tên con. Luật viết: không thoại nào trước R4 được nói lý do của vua; trước R4 NPC chỉ nói "vua câm chuông", "lệnh vua".
- Thắng = sai một nửa (R5b): END_BELL_TOLL là kết đầy đủ (credits, mở khoá), rồi hậu kết cho thấy bờ bên kia nuốt tiếng chuông → Tro quay lại → lý do của toàn bộ giai đoạn B (Khăn Tang = "tang nặng hơn"). Không gọi END_BELL_TOLL là "kết xấu" ở bất kỳ UI nào.
- Người vui nhất ở hub đã chết (R6): Lem không ăn, không lạnh, không lớn (môi trường từ GD1); Ingra biết và giữ kín; kết thật cho em sang sông. Luật: trước R6 không thoại nào nói thẳng; chỉ dấu hiệu vật lý.
- Cú lật phụ (không bắt buộc thấy): Người Gác Chuông nhận lệnh vua trước 1 giờ, nhưng chuông nhà nguyện em giữ vẫn ngân hồi cuối đúng lúc Đại Chuông câm; Hol đang gõ chuông bên cạnh, tiếng dội ấy làm ông điếc (khớp Em ta giữ dây chuông đêm ấy. Ta tưởng nó chết vì ta không kéo kịp. DLG_HOL_HUB_005, Quá Khứ Thầy Hol CDX_past_hol) · Lão Lái Đò là cha Calla · chính Grem đúc chuông câm đầu tiên · Răm không có trong Sổ Tang.
119. Kết
9.0 Luật chung kết
| Luật | Giá trị |
|---|---|
| Mode đạt kết | chỉ STANDARD (Bible §9). Mode khác hạ BS_FINAL/BS_TRUE → cảnh rút gọn 8 s, không thẻ chọn, không cờ kết, không credits. |
| Ghi nhận | END_BELL_TOLL/END_ASH_CROWN ghi ngay lúc chọn ở thẻ BS_FINAL (chết ở B6 không mất kết, doc 16 §8.3). END_QUIET_SHORE ghi khi HP BS_TRUE = 0. |
| RING khi có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN | EndingController ghi END_BELL_TOLL im lặng (đặt cờ + mở khoá, không cảnh §9.3, không credits), chuyển thẳng Cha tôi chở người sang đây một lần, rồi không dám cập bến nào nữa. DLG_CALLA_END_001 → B6. Chết ở B6 → SUMMARY "Chiến thắng · Hồi Chuông"; hạ BS_TRUE → END_QUIET_SHORE (§9.5). |
| Lần đầu / lặp | lần đầu: cảnh đầy đủ, không bỏ qua tới thẻ chọn, credits (END_BELL_TOLL, END_QUIET_SHORE); lần 2+: rút gọn (§9.3–9.5), bỏ qua ngay, không credits (credits xem lại ở menu). |
| Lặp lại | cả 3 kết repeatable: true; END_ASH_CROWN chọn lại được mọi lần đủ điều kiện (doc 43 §5.3 không thành tựu bỏ lỡ). |
| Sau kết | SUMMARY nhãn "Chiến thắng · <tên kết>" → về hub; beat hậu kết vào hàng prio 0–9. |
9.1 Thẻ chọn ở BS_FINAL (CHOICE FINAL_CHOICE)
- Hiện sau Bên kia có thứ đang đói. Nếu ngươi gióng, hãy đi theo mà giữ chúng. DLG_DRAVOS_FINAL_009, trong lúc chuông thật còn ngân (8 s), chỉ khi
MODE STANDARD+FLAG FLAG_DRAVOS_PAGE_READ. Không đủ → tự chọnRING(không hiện thẻ). - 2 lựa chọn, không đếm giờ (chuông ngân lặp mờ tới khi chọn): "Gióng chuông" (
RING, mặc định trỏ sẵn) — chữ phụ "Để chuông vang. Đi theo mà giữ họ." · "Giữ lõi" (KEEP_CORE) — chữ phụ "Đội Mũ Chuông. Câm thêm một đời." Xác nhận = giữ nút 1.0 s (chống bấm nhầm). - Có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN: chữ phụ "Gióng chuông" thêm "Calla đang đợi." · "Giữ lõi" thêm "Đò cuối sẽ không đi." (người chơi biết cái giá).
- Sau chọn: Vậy là ngươi gánh. Ta xin lỗi vì đã để lại cho ngươi. DLG_DRAVOS_FINAL_010 "Vậy là ngươi gánh. Ta xin lỗi vì đã để lại cho ngươi." (cả 2 nhánh) → nhánh.
9.2 Bảng 3 kết (dữ liệu: data/endings.json)
9.3 Hồi Chuông END_BELL_TOLL — Hồi Chuông (kịch bản lần đầu; ENDING · END_BELL_TOLL Hồi Chuông (Gióng chuông sau BS_FINAL) · phần tuyến tính 180 s = f… MUS_end_bell_toll 180 s tuyến tính + credit loop)
| t (s) | Hình | Chữ / thoại | Âm |
|---|---|---|---|
| 0 | tiếp cảnh Dravos hoá tro; đỉnh tối, chỉ miệng Đại Chuông sáng ngà | — | im 1.0 s |
| 1 | chuông đập lần 1; tro khắp đỉnh bay ngược lên miệng chuông | Chuông ngân. Lần đầu sau bốn mươi năm. DLG_NARR_END_001 "Chuông ngân. Lần đầu sau bốn mươi năm." | ENDING · END_BELL_TOLL Hồi Chuông (Gióng chuông sau BS_FINAL) · phần tuyến tính 180 s = f… MUS_end_bell_toll mở bằng chuông thật (LM_BELL) |
| 12 | camera hạ dần theo sườn núi; tro trên mọi mái nhà bay lên thành dòng, đổ xuống Kênh Dẫn Hồn | _002 "Người chết nhớ ra đường đi." | dây vào |
| 25 | B1: xác làng ngồi xuống bên mộ, tro rời thân như hơi thở cuối; chuông nhà nguyện đung đưa | — | — |
| 35 | B2: thây đuối buông mái chèo; cá voi tro lặn hẳn | — | — |
| 45 | B3: Lò Mẹ nguội; chuông không lưỡi trong kho rung theo dù không kêu | — | — |
| 55 | B4: chuông nhỏ khắp phố treo ngân theo; Rồng Khàn ngẩng cổ | — | hợp xướng |
| 68 | hub: Ulla ngẩng lên khỏi lửa; Lem chạy ra cửa tháp; Hol thấy tro bay ngược, không nghe | Con gióng thay nó rồi. DLG_ULLA_END_002 Ulla: "Con gióng thay nó rồi." · Bà ơi, chuông kêu kìa! DLG_LEM_END_002 Lem: "Bà ơi, chuông kêu kìa!" | — |
| 85 | Sông Tro: Calla đứng trên đò nhìn dòng hồn trôi sang bờ ngoài, không chèo | Đi đi. Cha tôi không cản nữa. DLG_CALLA_END_003 "Đi đi. Cha tôi không cản nữa." | — |
| 100 | hero (đang chơi) ngồi dưới miệng chuông, mảnh đặt trên gối | _003 "Một Kẻ Thức đã gióng chuông." + tên hero | — |
| 110–180 | credits cuộn trên nền hub tối dần, Lửa Canh vẫn cháy | — | credit loop |
| hậu kết (25 s, sau credits) | Bờ Lặng: hồn bước vào mặt nước gương rồi biến mất, không gợn; tiếng chuông vọng sang bị cắt ngang giữa nhịp | _004 "Bên kia, có thứ vừa được cho ăn." | nhạc tắt cụt; LM_SILENCE |
| +10 | hub: tro rơi lại trên Tháp Chuông Gãy, nhẹ hơn trước | {hero_kin_cap} ơi… tro lại rơi. DLG_LEM_END_003 "Chú ơi… tro lại rơi." · Thằng bé nói đúng một nửa. DLG_ULLA_END_003 "Thằng bé nói đúng một nửa." | HUB · HUB_BELL_TOWER Tháp Chuông Gãy (mọi trạm ST_*) · S0 + stem GĐ Phục Dựng đã mở (GD1–… MUS_hub_bell_tower S0 |
| +20 | màn mở khoá: Khăn Tang (Lem giơ khăn), Truy Tuần, ENDLESS, CUSTOM, H12 Ambrin thức ở Lò Rèn | Tôi chỉ thức khi nghe Đại Chuông. Phường tôi chết cả rồi, giờ thổi theo nhịp tô… DLG_H12_HUB_001 (beat 1 Ambrin) | — |
- Lần 2+ (rút gọn 20 s): chuông 4 s → 1 cảnh biome theo hero đang chơi (dây nối doc 20 §7) 8 s → hero dưới miệng chuông +
_0034 s → hậu kết 4 s (tro rơi lại). Không credits.
9.4 Mũ Tro END_ASH_CROWN — Mũ Tro (ENDING · END_ASH_CROWN Mũ Tro (chọn "Giữ lõi" ở BS_FINAL) · 120 s tuyến tính: hero đội Mũ… MUS_end_ash_crown 120 s; nhánh KEEP_CORE)
| t (s) | Hình | Chữ / thoại | Âm |
|---|---|---|---|
| 0 | sau Vậy là ngươi gánh. Ta xin lỗi vì đã để lại cho ngươi. DLG_DRAVOS_FINAL_010, Dravos hoá tro; hai nửa Mũ Chuông nằm trên sàn, lõi lơ lửng sáng ngà | — | chuông thật đang ngân bị chặn: "thịch" câm |
| 3 | hero ghép hai nửa Mũ, đội lên; lõi chìm vào vành đồng, ánh ngà tắt | Có người nhặt Mũ Chuông lên. DLG_NARR_END_020 "Có người nhặt Mũ Chuông lên." | ENDING · END_ASH_CROWN Mũ Tro (chọn "Giữ lõi" ở BS_FINAL) · 120 s tuyến tính: hero đội Mũ… MUS_end_ash_crown vào (D Locrian) |
| 15 | tro đang bay ngược khựng lại giữa không trung, rồi rơi xuống như tuyết | _021 "Chuông im thêm một đời." | — |
| 30 | hero ngồi lên ngai; Lưỡi Vọng Gãy cắm đất trước gối — đúng tư thế Dravos ở đầu trận | _022 "Lần này, có người biết vì sao." | — |
| 50 | Sông Tro: Calla nhìn lên đỉnh, buộc lại xích đò cuối | Đêm nay đò cuối không đi. DLG_CALLA_END_004 "Đêm nay đò cuối không đi." (chỉ khi có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN; không thì Calla im) | — |
| 65 | hub: Ulla đặt thêm một ghế trống cạnh lửa | Lại một đứa gánh thay cả xứ. Ta giữ ghế cho con. DLG_ULLA_END_004 "Lại một đứa gánh thay cả xứ. Ta giữ ghế cho con." | Bà Ulla LM_ULLA |
| 85 | Bờ Lặng: mặt gương yên, không hồn nào bước vào; mép nước lùi 1 px | _023 "Bên kia, có thứ đói thêm một đời." | LM_SILENCE nhỏ |
| 100–120 | thẻ "Mũ Tro" + tên hero; về hub | — | — |
- Hệ quả: mở như END_BELL_TOLL (nếu chưa có) +
ACH_ash_crown; run này không sang B6 dù có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN. Run sau: Tro dựng lại ngai mỗi đêm, Dravos lại ngồi trên đỉnh (vòng lặp đêm canh, doc 20 §2.4 "Boss sống lại"); lựa chọn đã ghi Sổ Tang, chọn lại được. - Lần 2+: rút gọn 12 s (đội mũ + tro rơi + ghế trống).
9.5 Bến Bình Yên END_QUIET_SHORE — Bến Bình Yên (kết thật; ENDING · END_QUIET_SHORE Bến Bình Yên (hạ BS_TRUE ở B6) · 210 s tuyến tính đi cùng 12 thẻ… MUS_end_quiet_shore 210 s, 12 lớp nhạc cụ hero vào lần lượt)
| t (s) | Hình | Chữ / thoại | Âm |
|---|---|---|---|
| 0 | tiếp cảnh hạ BS_TRUE (15 s, file boss): lõi im hẳn thành chỗ nghỉ; Bãi Gương lần đầu có vọng | — | lớp nhạc cụ hero đang chơi |
| 0–20 | đò Calla cập Bãi Gương | Lên đi. Lần này đò nổi mà không cần tiếng ngân. DLG_CALLA_END_002 "Lên đi. Lần này đò nổi mà không cần tiếng ngân." | +2 lớp |
| 20–50 | đò về qua Sông Tro; bên bờ ngoài các boss Hồi hiện thành dáng người: Người Gác Chuông, Lão Lái Đò (nhìn Calla; Calla nâng sào chào), Thợ Cả, Yvra dắt Rồng Khàn — cúi đầu, bước xuống nước sang bờ | Lần này, bờ bên kia đáp lại. DLG_NARR_END_030 "Lần này, bờ bên kia đáp lại." | +3 lớp |
| 50–70 | đỉnh núi: dưới Đại Chuông, bóng Dravos già nắm tay một bé gái sáng ngà (Ninh), nhìn về phía tháp, rồi cả hai đi xuống kênh | _031 "Người câm chuông được tiễn bằng chuông." | LM_DRAVOS chuyển trưởng |
| 70–95 | hub, Lửa Canh: đủ 7 NPC. Mott thả dây lời trăng trối, lời bay theo gió về sông | Hết hàng. Lần đầu ta vui vì hết hàng. DLG_MOTT_END_001 "Hết hàng. Lần đầu ta vui vì hết hàng." · Hol nghe chuông tháp: Nghe rồi. DLG_HOL_END_001 (giọng) "Nghe rồi." | +3 lớp |
| 95–125 | Lem tháo dải khăn cuối buộc lên tay hero, xuống bến; Calla chở em | Em đi nhé. {hero_kin_cap} buộc giùm em cái cuối. DLG_LEM_END_001 "Em đi nhé. Chú buộc giùm em cái cuối." · Calla: Ngồi giữa đò. Không lạnh đâu. DLG_CALLA_END_005 "Ngồi giữa đò. Không lạnh đâu." | LM_LEM |
| 125–145 | Ulla quỳ bên Lửa Canh, thổi tắt; tối hẳn 2 s | Ta tha cho nó. Giờ ta tắt lửa được rồi. DLG_ULLA_END_001 "Ta tha cho nó. Giờ ta tắt lửa được rồi." | im 2 s |
| 145–150 | trong bóng tối, 1 đốm ngà sáng trên đe Lò Rèn: lõi mảnh 13 nằm trong vỏ đồng Grem rèn | _032 "Lõi vẫn còn ngân. Chưa có ai cầm." (hé hero 13) | 1 nốt mảnh |
| 150–210 | 12 thẻ kết: thẻ hero đang chơi trước (8 s), rồi 11 thẻ còn lại (4 s/thẻ, hero chưa mở = bóng đen "Chưa thức") | text thẻ ở endings.json → cards | đủ 12 lớp |
| sau | credits (lần đầu) → hub hậu kết §10.3 | — | — |
- Thẻ hero: câu 1 luôn hiện; câu 2 (sau
\n) chỉ hiện khiHQ_BEAT Hxx >= 4(arc riêng xong, §7). - Lần 2+: rút gọn 30 s (đò về + boss sang bờ 10 s → Lem đi 8 s → lửa tắt 4 s → thẻ hero đang chơi 8 s); Lem đã đi thì cảnh Lem thay bằng ghế có nến.
1210. Hậu kết (post-game)
10.1 Sau END_BELL_TOLL (giai đoạn B — "tang nặng hơn")
- Hub: tro rơi lại nhẹ hơn (mật độ hạt tro hub −30% so với giai đoạn A, chỉ hình); Lem có góc buộc khăn ở Chuông Thử; Ambrin ở Lò Rèn.
- Mục tiêu truyện hiện trên Lửa Canh dưới dạng 4 ngọn nến nhỏ chưa thắp cạnh lửa (1/Lời Gửi), thắp dần khi cờ
FLAG_SENDOFF_*bật; nến thứ 5 to hơn = GD5; dây xích đò ở bến = Chìa Đò. Không checklist chữ: Ulla nói 1 lần Bốn lời cuối, một cái chuông, một chiếc chìa. Calla biết đường. DLG_ULLA_HUB_011 "Bốn lời cuối, một cái chuông, một chiếc chìa. Calla biết đường." (prio 5, sau Con gióng rồi. Chuông kêu, mà Tro vẫn về. Thằng bé nói đúng một nửa. DLG_ULLA_HUB_010). - Boss Hồi khi người chơi buộc Độ Tang ≥ 4 lần đầu: intro thêm dòng nhận ra khăn (BS_B2
_INTRO_003đã có mẫu); Lời Gửi chỉ nói ở cảnh hạ. - Sẹo (Khắc Sẹo) mở: chữ nút "Khắc Sẹo" + 1 bark boss lần đầu bị khắc (file boss) — Sẹo là lời thách của Kẻ Thức, không phải Tro nhớ (doc 20 §10).
- Mọi beat còn tồn (arc NPC, nhiệm vụ hero) tiếp tục chạy; giai đoạn B thêm beat Lem 2–5, Mott 5, Calla 5–6, Ulla 7.
10.2 Sau END_ASH_CROWN
- Lần về hub đầu: Con đội cái mũ của nó. Nặng không con? DLG_ULLA_HUB_040 "Con đội cái mũ của nó. Nặng không con?" · Hol viết trang Mũ Tro CDX_end_ash_crown · Calla Đò cuối vẫn ở đó. Chìa vẫn ở tay tôi. Khi nào {hero_pronoun} muốn. DLG_CALLA_HUB_014 "Đò cuối vẫn ở đó. Chìa vẫn ở tay tôi. Khi nào anh muốn."
- Lớp hub "Mũ Tro" (chỉ hình, giữ tới khi đạt END_QUIET_SHORE): ghế trống cạnh Lửa Canh có một vành đồng nhỏ. Không phạt, không khoá gì.
10.3 Sau END_QUIET_SHORE (giai đoạn D — "đêm của người sống")
| Thay đổi | Chi tiết |
|---|---|
| Lửa Canh | thắp lại ở cảnh hub đầu sau credits: Lửa này giờ là của con. Thắp cho người còn ở lại. DLG_ULLA_HUB_070 Ulla đưa đóm cho hero: "Lửa này giờ là của con. Thắp cho người còn ở lại." — hero thắp. Lý do chơi tiếp: Tro còn sót ở những nơi chưa nghe chuông; Kẻ Thức tiễn nốt (ENDLESS = "đêm không rạng", Khăn Tang = tang nặng). |
| Lem | vắng; ghế Lem ở Chuông Thử có 1 ngọn nến (meta Cảnh kết thật; Lửa Canh tắt rồi thắp lại ở hub (Lem vắng mặt, ghế Lem để nến). FLAG_QUIET_SHORE). Chuông Thử vẫn chạy (Khăn Tang): Ulla buộc khăn thay, câu Ta buộc không đẹp bằng thằng bé. Con chịu khó. DLG_ULLA_HUB_071 "Ta buộc không đẹp bằng thằng bé. Con chịu khó." |
| Mott | sạp trống dây lời; bán lại như cũ, bark mới Giờ toàn lời của người sống. Rẻ hơn, ồn hơn. DLG_MOTT_HUB_020 "Giờ toàn lời của người sống. Rẻ hơn, ồn hơn." |
| Hol | nói được 1–2 từ mỗi beat (phụ đề in thường) thay chữ viết tay: Sổ… vẫn mở. DLG_HOL_HUB_040 "Sổ… vẫn mở." |
| Calla | đò cuối neo ở bến, chở người sống qua lại; Bờ bên kia giờ chỉ là bờ. Tôi qua lại như qua chợ. DLG_CALLA_HUB_030 "Bờ bên kia giờ chỉ là bờ. Tôi qua lại như qua chợ." |
| Grem | vỏ mảnh 13 trên giá; Vỏ xong rồi. Người cầm thì chưa thức. DLG_GREM_HUB_030 (beat 6). |
| Run | B6 vẫn mở ở run STANDARD có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN (chơi lại BS_TRUE, kết lặp rút gọn). |
| Hé hero 13 | trang Bến Bình Yên CDX_end_quiet_shore thêm đoạn cuối: "Lõi chưa có người cầm." Không đặt tên ở 1.0 (doc 20 §7). |
10.4 Mục tiêu dài hạn (100+ h) — đều có lý do truyện
Độ Tang 43 (Khăn Tang Trọn, "tang mọi nỗi mất") · MR20 cả 12 hero (bia mộ riêng, danh hiệu) · Sổ Tang ~120 trang (Hol: "Một trăm hai mươi. Đủ cho một đời người.", Một trăm hai mươi. Đủ cho một đời người. DLG_HOL_HUB_045) · đủ 12 arc hero (12 thẻ kết đủ 2 câu) · TT1–TT5 · 60 thành tựu.
1311. Kể chuyện bằng môi trường (thấy, không đọc)
Luật: mỗi biome có 3 lớp: (a) luôn có — dấu nghề cũ (bestiary L1–L3); (b) theo cờ — vật đổi sau 1 hé lộ/boss; (c) dấu Kẻ Thức trước — vết Đời Một/Hai. Màu theo palette biome (Bible §7.1), không dùng dải tell (INV-01). Prop thuộc biomes/<Bn>.json (doc 30 §6); doc này chỉ nêu nội dung.
| Biome | (a) Luôn có | (b) Theo cờ / tiến độ | (c) Dấu Kẻ Thức trước |
|---|---|---|---|
| HUB Tháp Chuông Gãy | chuông nứt nằm dưới chân tháp; 8 trạm; Lửa Canh; tro rơi | GD1–GD5 thắp từng tầng (meta); dây lời Mott (GD2); 5 dải khăn trên xà (GD3); rương áo tang (GD4); chuông treo lại (GD5); 4 nến Lời Gửi (§10.1); nửa sào cha Calla cắm đầu bến (BS_B2); cờ rách Yvra treo ở Lò Rèn (BS_B4); ghế Lem có nến (Cảnh kết thật; Lửa Canh tắt rồi thắp lại ở hub (Lem vắng mặt, ghế Lem để nến). FLAG_QUIET_SHORE) | bảng gỗ khắc 24 tên Kẻ Thức Đời Một–Hai trên tường Sổ Tang, phần lớn đã mờ |
| B1 Đồi Mộ Tro | mộ mở; nến sọ trên bia; ruộng gặt bỏ dở với liềm cắm đất; dây chuông làng buông thõng | sau Điều kiện H03; beat Ulla kỷ niệm Dravos 1. FLAG_FIRST_BOSS_DOWN: cửa Nhà Nguyện Chuông Đá để hé; sau END_BELL_TOLL: vài xác làng ngồi xuống bên mộ, không đứng dậy (prop, không quái) | bia Ostrid khắc vụng (Bodan khắc) ở Làng Gặt; khăn đỏ thẫm treo cành cây (khăn mẹ Varek — chỉ hình, không phải tell) |
| B2 Đầm Vải Liệm | vải liệm phơi trên đước; đò lật khắp nơi; mái chèo cắm bùn thành hàng như bia | sau BS_B2: nước kênh trong hơn ở Bến Đò Lật (S ≤ 35%, chỉ hình); nón lá trôi kẹt ở rễ đước | lều săn của Veyra trên xương cá voi; kén rách nơi Sậu bị cuốn (sau RSC Hồi II) |
| B3 Lò Đúc Câm | băng chuyền khuôn chuông; chuông không lưỡi xếp chồng; bảng lương thợ đóng đinh tường | sau BS_B3: Lò Mẹ nguội, hơi trắng thay khói cam; khuôn ổ lõi để trống ở bệ | dấu tay đầy than trên cửa sau lò (Grem trốn NT 12, Ruvan NT 38): 2 cỡ tay |
| B4 Thành Chuông Treo | chuông nhỏ mỗi phố, tất cả không lưỡi; cờ hiệu rách; chuồng rồng trống; Mũ Chuông khắc trên mọi cổng | sau BS_B4: cờ đuôi rách của Yvra buộc ở trụ cầu đầu Cầu Xích Vua; phòng công chúa có đèn sáng lại (EVT_B4_01) sau Lựa chọn Giữ lõi hiện ở trận BS_FINAL (END_ASH_CROWN). FLAG_DRAVOS_PAGE_READ | xác giáp Đời Hai dưới chân tháp cờ, tay chỉ lên đỉnh (Barro đi trước) |
| B5 Đỉnh Chuông Câm | tro lơ lửng không rơi; ngai Mũ Chuông; 12 hốc mảnh trên vành miệng chuông | lần đầu sau END_BELL_TOLL: miệng chuông có vết nứt sáng mảnh (chuông từng vang); sau END_ASH_CROWN: ngai có vành đồng phụ | 1 hốc mảnh có vết cào tay (Barro chạm đỉnh NT 27) |
| B6 Bờ Lặng | nước gương phẳng, không tiếng; không tro; bước chân hero không vang | sau END_QUIET_SHORE (chơi lại B6): mặt nước gợn nhẹ theo bước chân, có vọng | bóng Kẻ Thức Rỗng đứng dưới nước như đang chờ đò |
- Âm môi trường (doc 32 §10): B6 không bed ambience; mọi biome có 1 spot "chuông câm gõ không tiếng" (chỉ hình + bụi rơi), tiếng ngân trong trẻo chỉ của mảnh hero và chuông tháp (doc 20 §4.4).
1412. Chết & bia mộ (truyện của thất bại)
- Luồng DEATH (doc 16 §8.1): recap INV-16 → "Tro đã học" top 3 → bia mộ → SUMMARY. Bia mộ = mẫu sinh từ dữ liệu run:
"{hero}. Ngã ở {biome}, Hồi {act}, dưới tay {enemy}. Đêm thứ {n}."(chỉ placeholder toàn cục doc 51 §3; danh hiệu hero hiện ở dòng phụ do UI ghép) + 1 dòng văn bia (mẫu chung 20 dòngDLG_NARR_END_040–059, ví dụ "Nằm xuống trước khi chuông kịp gọi." · "Đã chém đủ một đêm."); sau B4 nhiệm vụ hero → dòng riêng (§7); MR18 → bia riêngTMB_Hxx(doc 18). - Câu bia không chế giễu, không nhắc độ khó, Thương Xót, trợ năng.
death_byđẩy beat §2.5; Hol viết trang kẻ đã hạ hero ưu tiên 1 (doc 18 §9).
1513. Giọng thoại & bark (hướng dẫn tông)
13.1 Luật chung
| Luật | Giá trị |
|---|---|
| Độ dài | bark ≤ 1 dòng ≤ 48 ký tự EN (~56 VI); beat hub ≤ 3 câu, mỗi câu ≤ 90 ký tự VI; thoại boss intro ≤ 3 s đọc (≤ 70 ký tự); thẻ kết ≤ 2 câu, ≤ 160 ký tự |
| Hình ảnh | mỗi câu có 1 vật thể (chuông, tro, nến, nước, khăn, đò, đe, sổ); không khái niệm trừu tượng trơn |
| Hài | hài đen khô 1 dòng, chỉ tự giễu (Răm, Mott, hero về cái chết của chính mình); không đùa về cái chết của người khác |
| Cấm | meme; phá bức tường thứ tư; giảng hệ thống bằng tên menu ("nhấn RB để…" chỉ ở dòng gợi ý nút, không trong thoại); tên game/studio/thương hiệu/nhân vật có thật; gore cận cảnh; chửi thề; "có thể/đôi khi" trong thoại dạy; nói "nó nhớ mặt bạn" (dùng "Tro nhớ") |
| Ngôi | NPC gọi hero: Ulla "con" · Grem "ngươi"/"thằng/con bé" khi thân · Calla "anh/chị" (theo giới tính hero, bảng loc) · Hol (chữ) "con" · Lem "chú/cô" · Mott "cưng" · Răm "học trò". Boss gọi hero "ngươi", "Kẻ Thức"; Dravos "ngươi". Hero xưng "tôi" với NPC, "ta" với boss khi thách. |
| Tên riêng | chỉ tên trong doc 20 §13; tên mới → thêm doc 20 §13 cùng lượt |
| Dravos | không ham sống, không chế giễu người chết, không gọi Kẻ Thức là trộm; buồn, mệt, lịch sự |
| Cái Lặng | không thoại, không chữ, không tên tự gọi; chỉ âm + hình |
13.2 Giọng từng người nói
| Người | Nhịp câu | Từ hay dùng | Câu mẫu đúng | Câu sai (đừng viết) |
|---|---|---|---|---|
| Ulla | chậm, câu ngắn, kết bằng "con" | lửa, tay, thằng bé, ngủ | "Ngủ một chút rồi đi, con. Lửa còn đây." | "Hãy tiếp tục cuộc hành trình của bạn!" |
| Grem | cộc, đếm bằng nhát búa | nhát, đe, nguội, vừa | "Hai nhát nữa. Đừng đứng gần." | câu dài giải thích kỹ thuật |
| Calla | ít lời, nói bằng hướng nước | nước, sào, bến, chiều | "Nước chảy trái. Đi bên phải." | than thở dài |
| Hol | chữ viết tay, câu ghi chép | trang, tên, ghi, mực | "Ghi rồi. Con nằm ở trang bốn mươi." | nói bằng giọng (trừ GD5 + hậu kết) |
| Lem | hỏi nhiều, nghiêm khi buộc khăn | chú/cô, lạnh, khăn, chuông | "Chú đưa tay đây. Buộc chặt nhé." | biết mình chết trước R6 |
| Mott | lém, mặc cả | giá, lời, nợ, cưng | "Lời này đắt. Người nói nó chết hai lần." | bán lời thật của ai |
| Răm | khoe khoang, tự giễu rơm | hồi ta còn ruột, rơm, học trò | "Hồi ta còn ruột, ta đỡ mười đòn. Giờ ta đỡ chim." | chê người chơi kém |
| Boss Hồi | 1 động cơ/boss (doc 20 §6.1) | bổn phận · đói · im lặng · thề | xem file boss | "ta sẽ huỷ diệt ngươi" |
| Hero | theo cột "Vì sao chiến đấu" doc 20 §7 | nghề tang của mình | Bodan "Thêm một cái nắp." | hero này nói giọng hero khác |
13.3 Bark trong run (ưu tiên doc 32 §9: boss > Tro Nhớ callout > NPC > hero; ≤ 1 bark/4 s)
- Hero: ≤ 6 bark/hero/run ngoài combat (vào Hồi, thấy boss, hồi phục ở RST, nhặt Relic Lời Nguyền, mở Then Chốt, hạ boss) — id ở
av/<Hxx>.json(BARK_Hxx_*), không ở doc này. - Callout Tro Nhớ ("NÓ ĐÃ ĐỌC BẠN: <thói quen>") là UI, không phải thoại; boss nói qua thẻ "X nhớ: bạn Gạt 72%".
1614. Ghi chú bản địa hoá (10 ngôn ngữ ở 1.0; VI là bản gốc viết, EN là bản dịch chuẩn cho các ngôn ngữ còn lại)
| Mục | Luật |
|---|---|
| Khoá | build sinh <file>.<id>.<field> từ mọi _vi (doc 51 §3); thoại: dialogue.<DLG_id>.text_vi; kết: endings.<END_id>.effects_vi, endings.<END_id>.cards.<Hxx> |
| Đại từ | VI có hệ xưng hô theo vai (§13.1); EN gộp "you"; ngôn ngữ có kính ngữ (JA, zh-CN, DE Sie/du) chọn: Ulla thân mật · Hol trang trọng · boss trang trọng-xa · Lem trẻ con. Dòng nào phụ thuộc giới tính hero (Calla "anh/chị", Lem "chú/cô") dùng biến {hero_pronoun} do bảng loc theo heroes/<Hxx>.json, không viết 2 dòng. |
| Từ khoá cố định (bảng thuật ngữ loc, không dịch tự do) | đã chốt (doc 43 §3): Kẻ Thức = Waker · Lửa Canh = Vigil Fire · Đại Chuông Vọng = Great Bell · Dư Âm = Afterring · Khăn Tang/Độ Tang = Mourning Band/Mourning · Tro Nhớ = Ash Memory · ĐÁP = Answer. Đề xuất (bảng loc chốt sau khi tra trùng tựa/nhân vật có thật, doc 20 §12.1): Sổ Tang = Ledger of Mourning · Lời Gửi = Parting Words · Chìa Đò = Ferry Key · Đêm Câm = Mute Night · Cái Lặng = the Stillness · Bờ Lặng = Quiet Shore · Mũ Chuông = Bell Crown · Tro = Ash |
| Tên riêng | giữ nguyên (Varek, Ulla, Dravos, Ninh…); không phiên âm lại theo ngôn ngữ |
| Độ dài | bark EN ≤ 48 ký tự; ngôn ngữ dài (DE) cho phép +30% ở beat hub, bark giữ 1 dòng (font thu 90% tối thiểu); thẻ kết ≤ 2 dòng ở mọi ngôn ngữ |
| Chữ viết tay Hol | font viết tay riêng có bản cho Latin + CJK; RTL không có ở 1.0 |
| Văn hoá | đạo cụ tang lễ là fantasy gốc (doc 20 §1): dịch theo chức năng (khăn tang → mourning band), không thay bằng nghi lễ có thật của ngôn ngữ đích |
| Mẫu câu | {param} giữ nguyên; không ghép câu bằng nối chuỗi; số đếm dùng định dạng số của locale |
| Chỉ chữ | 0 VO có lời: không ràng buộc lip-sync; murmur không lời giữ chung mọi ngôn ngữ |
| QA loc | mỗi ngôn ngữ đọc lại toàn bộ 3 kết + 12 thẻ + 48 hero↔boss trong engine (kích thước hộp thoại thật) trước MS07 |
1715. Dữ liệu & triển khai
| Thành phần | Nơi | Ghi chú |
|---|---|---|
| 3 kết | data/endings.json (file này) | effects_vi chứa hệ quả + kịch bản rút gọn; dòng thoại trong dialogue.json theo id ở §9 |
Dòng thoại DLG_* | data/dialogue.json (agent thoại) | context, trigger (§2.3), priority (§2.4), once, next (chuỗi cảnh), max_chars |
| Arc NPC | data/npcs.json (arc[] beat 1–8 = bảng §6) | payoff_vi = câu payoff mỗi NPC |
| Cờ | data/meta.json → flags (đã có; doc này không thêm cờ) | |
| EVT truyện | data/events.json 8 ô §5.6 | |
| Code | StoryDirector (đánh giá điều kiện, đẩy hàng) · HubBeatQueue (§2.4) · EndingController (§9) · CutscenePlayer (cảnh pixel theo bảng thời gian, bỏ qua được) | dùng UIManager cho hộp thoại/thẻ chọn, TimeManager cho mọi thời gian thật, UniTask cho chuỗi cảnh |
| Telemetry | story_beat {dlg, skipped, run_index} · ending {end_id, hero, mode, do_tang, first} · final_choice {choice, shore_open} | đo % người chơi tới R4/R5/END_QUIET_SHORE |
18Quy tắc cho dev/AI
- Canon: Bible §3.7, §7.6, §9 +
_bible.json> doc 20 > doc này. Lệch → sửa doc này cùng lượt, ghi dòng Quyết định có ngày. - Thoại boss (intro/pha/hạ/Lời Gửi/hero↔boss) chỉ sửa ở
bosses/BS_*.json; doc này trích lại. Lệch chữ → file boss thắng, sửa trích dẫn ở đây. - Không thêm cờ
FLAG_*ngoàimeta.json; trạng thái truyện chi tiết dùng khoá savestory.seen/npc_beat/hq/death_by(§2.1) vàcondition.kindở §2.3. Kind mới → thêm vào §2.3 cùng lượt. - Id cảnh = id dòng thoại đầu (
DLG_<SPEAKER>_<CTX>_nnn) trong dải §2.6; không tạo tiền tố id mới, không tái dùng id đã ship. - Không hé lộ vượt bậc: trước R4 không thoại nào nói lý do của vua; trước R6 không thoại nào nói Lem đã chết; Cái Lặng không bao giờ có thoại/chữ/tên tự gọi.
- Mọi cảnh bỏ qua được (N6); bỏ qua = đã xem, vẫn đặt cờ. Không beat nào bỏ lỡ vĩnh viễn (N2).
- Kết chỉ ở STANDARD; END_BELL_TOLL/END_ASH_CROWN ghi lúc chọn ở thẻ BS_FINAL; END_QUIET_SHORE ghi khi HP BS_TRUE = 0. Không gọi kết nào là "kết xấu" trong UI.
- Thưởng nhiệm vụ hero chỉ là truyện (đoạn codex, bia mộ, thẻ kết 2 câu); không cho tiền meta, Edge, Relic, chỉ số.
- Thoại theo §13: bark ≤ 1 dòng, beat ≤ 3 câu, mỗi câu 1 vật thể; không tên game/studio/thương hiệu/nhân vật có thật; không meme, không chế giễu người chết; Thương Xót/trợ năng không có thoại.
- Cảnh = pixel trong engine theo bảng thời gian (§4.1, §9.3–9.5), 3–5 s/khung, không video; mọi thời gian thật qua
TimeManager, chuỗi cảnh bằngUniTask, UI quaUIManager. - Tên lore mới → thêm doc 20 §13 cùng lượt; tên EN mới → bảng loc, tra trùng trước khi chốt.
19Quyết định đã chốt
| Ngày | Quyết định | Lý do |
|---|---|---|
| 2026-11-07 | Truyện tiến theo tài khoản bằng hàng đợi beat hub ≤ 2 beat/lần về, ưu tiên 0–100 + chống đói (−10 sau 3 lần chờ) | Bible §3.7 + doc 18 §10; thua cũng tiến, không ngợp |
| 2026-11-07 | Id cảnh = id DLG_ dòng đầu; không tạo tiền tố "scene" mới | giữ quy ước id Bible §11 / doc 51 §2 |
| 2026-11-07 | Thêm condition.kind truyện: NOT_FLAG, SEEN, HQ_BEAT, HERO, RUN_RESULT, ACT_REACHED, DEATH_BY, BOSS_KILLED_MRN, LEDGER_READ, MASTERY, MODE, CHOICE, RUN_BOSS_KILLED, RUN_EVT | condition.kind là chuỗi tự do trong schema; cần từ vựng đóng cho StoryDirector |
| 2026-11-07 | Đóng từ vựng condition.kind §2.3: thêm UNLOCK, BIOME_ENTERED, KILL_COUNT, RUN_COMPLETE; bỏ HERO_UNLOCKED (12 trang codex chuyển sang UNLOCK UNL_HERO_Hxx) và EVENT (dùng RUN_EVT); từ vựng này là enum trong $defs/story_condition của tools/schema/common.schema.json | dữ liệu đã dùng các kind này (dialogue/codex/meta); HERO_UNLOCKED trùng nghĩa UNLOCK |
| 2026-11-07 | SHORE_TRIAL = Tiếng Câm EN_B6_02 + quái B1–B4 trộn, không Bóng Kẻ Thức EN_B6_01; phụ đề tên bóng (Nhạn/H03, Barro/H02) chuyển sang BS_TRUE P3; bỏ Ostrid/Varek | Bible §7.2 (Bóng Kẻ Thức EN_B6_01 chỉ là quái phụ BS_TRUE P3, ≤ 2) + biomes/B6.json; Ostrid được Bodan chôn ở B1, không bị nuốt trên Bờ Lặng (doc 20 §3.2) |
| 2026-11-07 | Mini-boss có thoại intro/pha/hạ (+ dòng hero MB_B2_1, MB_B4_2) theo file boss; §5.0 không còn "cổng mini-boss không thoại" | file boss thắng doc này; dialogue.json đã có 32 dòng DLG_MB_* |
| 2026-11-07 | RING + Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN: END_BELL_TOLL ghi im lặng (không cảnh, không credits), vào thẳng Cha tôi chở người sang đây một lần, rồi không dám cập bến nào nữa. DLG_CALLA_END_001 → B6 | EndingController cần hành vi xác định; không để 2 cảnh kết chồng nhau trong 1 run |
| 2026-11-07 | Kết chỉ đạt ở STANDARD; mode khác hạ BS_FINAL/BS_TRUE = cảnh rút gọn 8 s, không cờ kết | Bible §9 "hạ BS_FINAL ở STANDARD"; DAILY/BOSS_RUSH/ENDLESS có luật riêng |
| 2026-11-07 | Thẻ chọn "Gióng chuông"/"Giữ lõi" không đếm giờ, xác nhận giữ 1.0 s, mặc định Gióng | lựa chọn kết không nên bấm nhầm; khớp bosses/BS_FINAL.json |
| 2026-11-07 | 12 nhiệm vụ hero × 4 beat, thưởng chỉ truyện; thẻ kết END_QUIET_SHORE câu 2 chỉ hiện khi arc xong | kinh tế doc 17 không đổi; vẫn có lý do chơi mỗi hero |
| 2026-11-07 | 8 ô EVT truyện: EVT_B1_01/02, EVT_B2_01/02, EVT_B3_01/02, EVT_B4_01/02 (nội dung truyện ở §5.6; lựa chọn tài nguyên do doc sự kiện chốt) | trong dải canon EVT_B1_01..EVT_B4_10 |
| 2026-11-07 — [mới] lore không ID | phòng công chúa Ninh treo trong kinh đô; bến riêng của vua dưới vực; chuông có lưỡi Grem giấu trong kho chuông câm; dấu tay 2 cỡ (Grem, Ruvan) ở cửa sau lò; bảng 24 tên Kẻ Thức Đời Một–Hai ở Sổ Tang; 4 nến Lời Gửi cạnh Lửa Canh | chỉ môi trường/thoại, không đổi ID/số Bible → thêm doc 20 §13 ở lượt sửa doc 20 kế |
| 2026-11-07 | Thứ tự hé lộ R0–R7 + 3 cú lật cố định (§8) | mỗi boss Hồi bóc 1 lớp động cơ Dravos (Bible §9 cột "Hé lộ") |
| 2026-11-07 | Sau END_QUIET_SHORE, Lửa Canh được hero thắp lại ("đêm của người sống"); Lem vắng, ghế có nến | meta.json Cảnh kết thật; Lửa Canh tắt rồi thắp lại ở hub (Lem vắng mặt, ghế Lem để nến). FLAG_QUIET_SHORE; cho lý do chơi tiếp mà không xoá kết |
| 2026-11-07 | Arc Lem beat 4/5 (R6) theo DEC-15: MOURNING >= 8 / >= 16 (trước là 16/32) | DEC-15 thắng doc này; R6 đến sớm hơn, vẫn sau beat 3 (>= 4) |
| 2026-11-07 | Beat MR11/MR15 lấy id từ heroes/<Hxx>.json mastery.mr11_beat_id/mr15_beat_id; bỏ dải DLG_ULLA_HUB_050–061 và mẫu chung DLG_GREM_HUB_055 | dữ liệu hero là nguồn thật; 2 dải cũ không tồn tại trong dialogue.json |
| 2026-11-07 | Độ Tang 43 = Khăn Tang Trọn (Khăn Tro = 29) | doc 19 preset; doc này sửa theo |