1Tổng quan
Mục đích: luồng 1 run từ hub tới kết: bộ sinh bản đồ mỗi Hồi (lưới, thuật toán, tần suất, nút bảo đảm, seed), luật từng loại nút, xem trước & chọn thưởng, kinh tế hồi phục, bảng thời gian, chuyển Hồi, cổng boss, chết/bỏ/thắng, tổng kết cuối run, tất định seed DAILY, lưu/tiếp tục ở ranh giới nút. Phụ thuộc: 00-Design-Bible.md §2 (cấu trúc run), §2.1–2.3, §3.3 (tiền tệ), §3.6 (Lễ Vật, nâng trạm), §4 (Khăn Tang, mode), §7 (biome) + data/_bible.json (run.*, modes, mourning_bands, currencies); 10-Combat-Core.md §2.4 (co giãn), §8 (HP & hồi phục); 14-Adaptive-AI.md §8.2 (phòng hợp lệ MESO). Được dùng bởi: 15-Horde-Director-Encounters.md (mục tiêu, thời lượng phòng), doc nâng cấp/draft/Relic, doc meta/hub/tiền tệ, doc Khăn Tang/mode/mutator, doc sự kiện EVT, doc UI (bản đồ, thẻ thưởng, tổng kết), doc lưu/Steam, code RunController/MapGen/NodeRunner/RunSave/RunSummary.
2Phạm vi & thuật ngữ
- Doc này định nghĩa khung run: thứ tự nút, sinh bản đồ, thưởng, hồi phục, thời gian, lưu. Phòng chiến đấu bên trong (ngân sách quái, mục tiêu, kịch bản sóng) ở
15-Horde-Director-Encounters.md. - Mâu thuẫn số với Bible → Bible thắng. Số
[ASSUMED]= lượt đầu, chỉnh bằng playtest quarun_structure.csv(key = tên field ở doc này), không cần DEC nếu không đổi luật Bible. - Hồi = act (B1–B4 = Hồi I–IV, B5 = Kết, B6 = Bí mật). Hàng R1–R6, làn L0/L1/L2 (trái → phải). Nút = 1 ô bản đồ có loại (
CMBELTCHLEVTSHPRSTSECRSCMBSBOSDOCK). Đường = chuỗi nút R1→R6 theo cạnh. Cổng = nútELThoặcMBS. Tiện ích =SHP/RST/EVT/SEC. Phòng chiến =CMB/CHL/RSC. - Tên chốt dùng trong UI: Khăn Tang / Độ Tang (MRN01–MRN15), Act Mutator MUT01–MUT12, Dạng Rèn (Song Liềm Tro H01_AS1…), Dư Âm (
ULT_GAUGE), Then Chốt (Gió Gạt H01_E37–E40), Vàng Mã (Vàng Mã CUR_PAPER_GOLD), Tro Hồn (Tro Hồn CUR_SOUL_ASH), Mảnh Vọng (Mảnh Vọng CUR_ECHO_SHARD), Nến Canh (Nến Canh CUR_VIGIL_CANDLE).
3Luồng run (hub → kết)
| # | Bước | Nơi / màn | Thời lượng | Ghi chú |
|---|---|---|---|---|
| 1 | Chọn hero, ult, Dạng Rèn, 2 kỹ năng khởi đầu | Lửa Canh ST_HEARTH | ngoài đồng hồ run | MRN09 → 1 kỹ năng |
| 2 | Mua Lễ Vật (1, UP_MARKET_3 → 2) | Chợ Đò ST_MARKET | ngoài đồng hồ | tắt ở DAILY/BOSS_RUSH |
| 3 | Buộc Khăn Tang (sau END_BELL_TOLL) | Chuông Thử ST_TEST_BELL | ngoài đồng hồ | Độ Tang 0–43 |
| 4 | Chọn mode, xuất phát | Bến Đò ST_DOCK (Calla) | 6 s cảnh đò | đồng hồ run bắt đầu khi bản đồ Hồi I hiện |
| 5 | Hồi I: bản đồ → R1…R5 → R6 BOS BS_B1 | B1 | 6:30 trung vị | §2–§6 |
| 6 | DOCK → Hồi II (+ Act Mutator) → … → Hồi IV | B2–B4 | 7:10 / 7:20 / 7:20 | DOCK ≤ 20 s tính vào chuyển cảnh Hồi sau |
| 7 | DOCK → Kết: ải 60 s → BS_FINAL | B5 | 3:50 | lựa "Giữ lõi" khi đủ điều kiện → END_ASH_CROWN |
| 8 | (có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN) ải 45 s → BS_TRUE | B6 | +4:00 | → END_QUIET_SHORE |
| 9 | Tổng kết (§9) → về hub | HUB_BELL_TOWER | màn tổng kết bỏ qua được sau 2 s | "Thức Lại" vào run mới ≤ 5 s |
Máy trạng thái RunController:
HUB → RUN_START → ACT_INTRO(act) → MAP(act) ⇄ NODE(act,row,lane) → REWARD → MAP …
→ BOSS_GATE(act) → NODE(BOS) → BOSS_REWARD → [act<4: DOCK → ACT_INTRO(act+1)]
→ [act=4: DOCK → FINALE_TRIAL → NODE(BS_FINAL) → ENDING]
→ [FLAG_SHORE_OPEN: SHORE_TRIAL → NODE(BS_TRUE) → ENDING_TRUE]
bất kỳ NODE: hero HP 0 → REVIVE? (Lửa Gửi) → DEATH → SUMMARY → HUB
MAP/pause: ABANDON → SUMMARY(abandon) → HUB
- Mỗi chuyển trạng thái ghi 1 sự kiện telemetry
run_state{run_id, from, to, act, row, lane, t_run}. - Lưu chỉ ở trạng thái
MAP,DOCK,BOSS_GATE(§11).
4Bản đồ mỗi Hồi
📊 Khuôn làn, trọng số loại con, bản đồ mẫu
| Khuôn | R1 | R2 | R3 | R4 | R5 | Trọng số |
|---|---|---|---|---|---|---|
| LN_T1 | C | G | U | C | C | 10 |
| LN_T2 | C | G | C | U | C | 15 |
| LN_T3 | C | G | C | C | U | 15 |
| LN_T4 | C | C | G | U | C | 20 |
| LN_T5 | C | C | G | C | U | 15 |
| LN_T6 | C | C | U | G | C | 15 |
| LN_T7 | C | C | C | G | U | 10 |
2.1 Lưới
| Khoá | Giá trị |
|---|---|
| Kích thước | 6 hàng × 3 làn; R1–R5 mỗi hàng 2 hoặc 3 nút; R6 = 1 nút BOS ở L1 |
| Số nút R1–R5 | 10–15; trung vị 13 (row_width 3 với xác suất 0.6 mỗi hàng, R1 luôn 3) |
| Cạnh | nút hàng r nối 1–2 nút hàng r+1, chỉ cùng làn hoặc làn kề (±1, "nối chéo"); không cạnh L0↔L2; không 2 cạnh cắt nhau; mỗi nút R2–R5 có ≥ 1 cạnh vào, mỗi nút R1–R4 có ≥ 1 cạnh ra; mọi nút R5 → BOS |
| Lựa chọn/hàng | từ 1 nút, người chơi thấy 1–2 nút kế; toàn bản đồ ≥ 4 đường R1→R6 khác nhau (ít hơn → attempt tiếp) [ASSUMED] |
| Hiển thị | toàn bản đồ + icon loại nút + icon thưởng hiện từ đầu Hồi (Bible §2); EVT hiện "?" (UP_DOCK_1 → hiện tên sự kiện); Act Mutator của Hồi hiện ở góc bản đồ từ Hồi II |
| Vị trí hiển thị | nút R1 dưới cùng, BOS trên cùng; khoảng làn 54 px UI, khoảng hàng 40 px UI (≈ 4:3); jitter ±3 px để bản đồ không như bảng tính; 6 hàng × 40 = 240 ≤ 267 UI px vùng bản đồ (40 UI-06, 2026-11-07 — thay 96/72 px ±8 cũ không vừa 6 hàng) |
2.2 Thuật toán sinh (MapGen.Generate(act, seed))
rng = Stream(seed, "map", act)
for attempt in 1..64:
1. lanes : mỗi làn bốc 1 khuôn làn từ bảng §2.3 theo trọng số (3 làn khác khuôn nếu được)
2. assign: nút (r, l) nhận loại khung C/G/U theo khuôn của làn l ở hàng r
3. widths: R1 = 3; R2..R5 = (rng < 0.6) ? 3 : 2; hàng 2 nút bỏ nút L0 hoặc L2 CHỈ khi nút đó là C
(cả hai không phải C → hàng giữ 3)
4. edges : mỗi nút nối thẳng (cùng làn, nếu hàng sau có làn đó) + 40% thêm 1 cạnh chéo;
nút không có cạnh ra → nối làn gần nhất; nút không có cạnh vào → nối từ làn gần nhất;
bỏ cạnh chéo cắt nhau (giữ cạnh có rng nhỏ hơn)
5. gate2 : rng < 0.35 → 1 làn rìa (L0 hoặc L2) đổi 1 nút C (R3–R5, không kề G của làn) thành ELT_RISK
6. subtype: rải loại con (§2.4): CMB/CHL/RSC, ELT/MBS, SHP/RST/EVT, SEC 15%, mục tiêu CMB, thưởng
7. validate(§2.5) mọi đường (≤ 3^5 = 243 đường, liệt kê DFS)
sai → thử bỏ 1 cạnh chéo gây lỗi (giữ ràng buộc vào/ra); vẫn sai → attempt tiếp
8. ok → return map
fallback: khuôn tay MAP_FB_<act>_<rng%3> (3 bản/Hồi, đã qua validate) + bước 6 rải loại con
- Mọi rng trong 1 Hồi lấy từ luồng
mapcủa Hồi đó (§10.1); cùng seed + cùngcontent_version→ cùng bản đồ. - Thời gian sinh ≤ 2 ms (64 lần × 243 đường); chạy lúc
ACT_INTRO, không trong trận.
2.3 Khuôn làn (lane_templates)
C = phòng chiến · G = Cổng · U = tiện ích. Mọi khuôn: R1 = C, G ∈ R2–R4, U ∈ R3–R5, đúng 3 C.
| id | R1 | R2 | R3 | R4 | R5 | Trọng số |
|---|---|---|---|---|---|---|
| T1 | C | G | U | C | C | 10 |
| T2 | C | G | C | U | C | 15 |
| T3 | C | G | C | C | U | 15 |
| T4 | C | C | G | U | C | 20 |
| T5 | C | C | G | C | U | 15 |
| T6 | C | C | U | G | C | 15 |
| T7 | C | C | C | G | U | 10 |
Hệ quả: mỗi đường R1–R5 có đúng 3 C + 1 G + 1 U (đường đi qua ELT_RISK: 2 C + 2 G + 1 U). Không đường nào có 2 tiện ích (sẽ còn 2 C < 3, sai luật Bible).
2.4 Tần suất loại con
| Khung | Loại con · trọng số | Luật bổ sung |
|---|---|---|
| C ở R1 | CMB 100 | mục tiêu R1 mỗi Hồi: PURGE 50 · TIDE 30 · VIGIL 20 (phòng đầu Hồi không có MESO, 14 §8.2); run đầu đời Hồi I R1 = PURGE |
| C ở R2–R5 | CMB 70 · CHL 20 · RSC 10 | CHL từ run đời thứ 2, ≤ 2/bản đồ; RSC ≤ 1/bản đồ; Hồi II khi H04 chưa mở: ép đúng 1 RSC ở R2 hoặc R3 (ưu tiên L1) — chỉ ép khi H04 có trong content_version; build không có H04 (EA MS03; H04 ra ở MS04) → RSC thường (thưởng SKILL + META), không ép; núm run_map.settings.rsc_forced_act (= II; bỏ qua khi H04 không có trong build) |
| G | Hồi I: ELT 60 · MBS 40 · Hồi II–IV: 50 · 50 | bản đồ có ≥ 2 nút G → ≥ 1 ELT + ≥ 1 MBS; run đầu đời: mọi G Hồi I = ELT DUEL với EL_B1_01; MRN10 → mỗi G = cặp ELT+MBS (§3) |
ELT_RISK | ELT (cờ risk) | icon 2 lưỡi bắt chéo viền đỏ xỉn; thưởng Relic chọn 1/3 (thay 1/2) |
| U | EVT 35 · SHP 30 · RST 35 | sau đó mỗi U cuộn 15% thành SEC (≤ 1 SEC/bản đồ); ≥ 1 SHP/bản đồ (trừ MUT10); Hồi II–IV ≥ 1 RST/bản đồ; MUT10 Thề Câm: mọi SHP → RST, và 1 C ở R4–R5 làn khác thành RST thêm (đường qua nó vẫn phải hợp lệ, nếu không bỏ bước này) |
Mục tiêu CMB R2–R5 | PURGE 18 · VIGIL 14 · BELLS 14 · TIDE 14 · NEST 14 · GAUNTLET 12 · CHASE 14 | ≤ 1 GAUNTLET, ≤ 1 CHASE/bản đồ; không 2 mục tiêu trùng liền nhau trên bất kỳ đường nào (cuộn lại ≤ 8 lần, rồi chấp nhận) |
Mục tiêu CHL | như CMB trừ CHASE | biến thể: 50% Act Mutator cục bộ (MUT01/02/04/08/09/11, không trùng mutator Hồi) · 50% Tinh Anh ASH (1 Tinh Anh biome chèn ở 40% thời lượng, 1 thế đáp bật sẵn); Tro Nhớ tắt (L_eff = 0) → luôn mutator |
Mục tiêu ELT | DUEL 50 · HUNT 50 | Hồi I run 1–3 đời: DUEL 100; HUNT Hồi I dùng EL_B1_01 + EL_B1_02 |
| Biome Tinh Anh | đều nhau trong roster biome (2/2/2/3) | ưu tiên Tinh Anh chưa gặp trong run |
Mini-boss MBS | đều nhau trong roster biome (1/2/2/2) | ưu tiên chưa gặp trong 3 run gần nhất |
2.5 Kiểm hợp lệ (validate, mọi đường R1→R6)
| # | Luật | Nguồn |
|---|---|---|
| V1 | đường không chứa ELT_RISK: đúng 1 G trong R2–R4 | Bible §2 |
| V2 | đường chứa ELT_RISK: đúng 2 G (1 G gốc R2–R4 + ELT_RISK), 2 C | Bible §2 (Cổng thứ 2 thay 1 phòng chiến) |
| V3 | ≥ 1 U trong R3–R5 (thực tế đúng 1) | Bible §2 |
| V4 | ≥ 3 C (V2: 2 C) | Bible §2 |
| V5 | không 2 G liền nhau trừ khi MRN10 | doc này [ASSUMED] |
| V6 | ước thời gian đường (bảng §6) trong trung vị Hồi ± 20 s; đường có ELT_RISK miễn; run MRN10 so với cột MRN10 §6.1 (không với trung vị thường) | Bible §2 (±20 s) |
| V7 | mọi nút đến được từ ≥ 1 nút R1 và tới được BOS | đồ thị |
| V8 | ràng buộc §2.4 (≥ 1 SHP, ≥ 1 RST II–IV, RSC ép Hồi II khi H04 có trong build, ≤ 1 SEC, ≤ 1 GAUNTLET, ≤ 1 CHASE) | doc này |
- V6 tính bằng
t_path = Σ t_node + t_boss + t_transition(§6.1). Với khuôn §2.3, mọi đường không rủi ro có cùng tổng → V6 luôn đạt; giữ V6 để bắt lỗi dữ liệu khi chỉnh thời lượng.
2.6 Ràng buộc theo Khăn Tang / mutator / mode
| Nguồn | Ảnh hưởng bản đồ |
|---|---|
| MRN10 Cổng Kép | mỗi G = 1 nút "Cổng Kép": ELT rồi MBS liền (2 trận, nghỉ 4 s, không về bản đồ), thưởng cả 2; thời lượng G = 65 + 70… (bảng §6.1, cột MRN10) |
| MRN14 Kẻ Truy Tang | mỗi 3 phòng chiến đã qua (đếm qua Hồi) → phòng chiến kế tiếp chèn 1 Tinh Anh săn đuổi (15 §7.3); icon móng vuốt trên nút |
| MUT10 Thề Câm | xem §2.4 |
| MUT12 Gương Tro | phòng R1 được MESO (bỏ luật phòng đầu) |
| DAILY | bản đồ từ seed ngày; Act Mutator thay bằng 2 mutator seed (§10.1) |
| ENDLESS sau BS_B4 | mỗi tầng bản đồ rút gọn 3 hàng (§10.3) |
| UP_DOCK_2 | 1 lần/run ở R4: đổi sang nút R4 bất kỳ có cạnh từ làn kề (nút R3 hiện tại tới R4 làn ±1 dù không có cạnh) |
2.7 Ví dụ đã tính (Hồi I, seed 0x5A17C3E1)
Khuôn: L0 = T2 (C G C U C), L1 = T4 (C C G U C), L2 = T6 (C C U G C). Hàng 3 nút trừ R5 (2 nút: bỏ L2 vì là C). gate2 cuộn 0.21 < 0.35 → L0 R5 C → ELT_RISK… nhưng L0 R5 kề G? G của L0 ở R2 → không kề → hợp lệ.
R6 [BOS BS_B1]
R5 [ELT_RISK] [CMB TIDE·EDGE+]
R4 [SHP] [RST] [ELT DUEL]
R3 [CHL BELLS·EDGE+×2] [ELT HUNT] [EVT ?]
R2 [MBS MB_B1_1] [CMB NEST·GOLD] [CMB VIGIL·EDGE+]
R1 [CMB PURGE·EDGE+] [CMB TIDE·SKILL] [CMB PURGE·GOLD]
- Cạnh ban đầu: thẳng mọi làn + chéo L1R2→L0R3, L0R3→L1R4, L2R2→L1R3.
- Validate: đường L2R1→L2R2→L1R3(G)→L1R4(U)→L1R5 hợp lệ. Đường L1R1→L1R2→L0R3→L0R4(U)→L0R5 = 0 G gốc + ELT_RISK: sai V1/V2 → bỏ cạnh L1R2→L0R3 (L0R3 còn vào từ L0R2) → hợp lệ. Đường L0R1→L0R2(G)→L0R3→L1R4(U)→L1R5: 1 G, 1 U, 3 C → hợp lệ.
- Cạnh sau validate: R1→R2 thẳng; R2→R3 thẳng + L2→L1; R3→R4 thẳng + L0→L1; R4→R5 L0→L0, L1→L1, L2→L1 (L2R5 bị bỏ). Kết quả: 14 nút, 5 đường (≥ 4 ✓), 1 đường qua
ELT_RISK; ≥ 1 SHP ✓, 1 SEC (không cuộn trúng) ✓, mục tiêu không lặp liền ✓.
5Loại nút
📊 Loại nút & thưởng
| Nút | Khung | t Hồi I | II | III | IV | Mục tiêu | Luật thưởng |
|---|---|---|---|---|---|---|---|
| Giao Tranh CMB | C | 55 | 60 | 60 | 60 | Thanh Tẩy PURGE · Canh Lửa VIGIL · Gõ Chuông BELLS · Thuỷ Triều TIDE · Đập Tổ NEST · Hành Lang GAUNTLET · Truy Đuổi CHASE | 1 mục tiêu (doc 15 §10); xong phòng: icon thưởng của nút (reward_tables, cuộn lúc sinh bản đồ từ luồng reward) + thưởng chung doc 16 §3.2 (+8% HP tối đa, XP 25 × hệ số Hồi, Tro Hồn 30/35/40/32) |
| Tinh Anh ELT | G | 65 | 70 | 75 | 75 | Quyết Đấu DUEL · Săn Tinh Anh HUNT | DUEL hoặc HUNT; Relic chọn 1/2 (cờ risk = ELT_RISK: chọn 1/3) + thưởng chung (+8% HP tối đa, XP 40/Tinh Anh, Tro Hồn 25/Tinh Anh) |
| Thử Lửa CHL | C | 55 | 60 | 60 | 60 | Thanh Tẩy PURGE · Canh Lửa VIGIL · Gõ Chuông BELLS · Thuỷ Triều TIDE · Đập Tổ NEST · Hành Lang GAUNTLET | mục tiêu CMB trừ CHASE + 50% Act Mutator cục bộ (MUT01/02/04/08/09/11, không trùng mutator Hồi) hoặc 50% Tinh Anh ASH chèn ở 40% thời lượng; không Khăn Tang; thưởng nút ×2 (cột CHL ×2 doc 16 §4.2) + thưởng chung |
| Sự Kiện EVT | U | 30 | 35 | 35 | 35 | 1 trong 10 sự kiện của biome (EVT_B1_01…EVT_B4_10), 2–3 lựa chọn đổi tài nguyên; thưởng theo lựa chọn (events.json); bản đồ hiện "?" (UP_DOCK_1 → hiện tên sự kiện) | |
| Sạp Rong SHP | U | 30 | 35 | 35 | 35 | Sạp của Bà Mott (NPC_MOTT) 6 ô theo doc 13 §12.1; mua bằng Vàng Mã theo shop_prices; kho sinh từ luồng shop keyed act·100 + row·10 + lane, cố định trong 1 lần ghé | |
| Lửa Canh Nhỏ RST | U | 30 | 35 | 35 | 35 | chọn 1: hồi phục 40% HP tối đa · nâng hạng 1 kỹ năng đang lắp · gỡ 1 Relic Lời Nguyền (chỉ hiện khi có) | |
| Mộ Lạc SEC | U | 30 | 35 | 35 | 35 | có Relic: đổi 1 Relic đang có lấy 1 Relic Lời Nguyền (chọn 1/2); chưa có Relic: nhận 1 Lời Nguyền (chọn 1/2) + 80 Vàng Mã; đang mang 2 Lời Nguyền (trần, doc 13 §13.1) → chỉ hiện lựa 80 Vàng Mã; luôn có nút "Rời đi" (0 thưởng) | |
| Giải Cứu RSC | C | 55 | 60 | 60 | 60 | Giải Cứu RESCUE | RESCUE: phá kén Kẻ Thức HP 400 giữa bầy; lần đầu ở Hồi II: mở H04 (icon mở hero thay icon thưởng); sau đó SKILL + META + thưởng chung |
| Mini-boss MBS | G | 65 | 70 | 75 | 75 | Mini-boss MINIBOSS | 1 mini-boss biome + sân rỉ ≥ 6 quái S/20 s; Relic chọn 1/2 + 1 Mảnh Vọng (CUR_ECHO_SHARD) + thưởng chung (+8% HP tối đa, XP 60, Tro Hồn 60) |
| Boss Hồi BOS | R6 | 90 | 105 | 110 | 110 | Boss BOSS | boss Hồi + sân rỉ ≥ 6 quái S/20 s; HP = max(HP hiện tại, 60% HP tối đa) · EDGE+ (BS_B2: có 1 lựa Then Chốt nếu Lv ≥ 11 — DEC-2026-11-07-14) · XP 80 · Tro Hồn 120 · Mảnh Vọng 2 (+3 lần đầu mỗi cặp boss × hero) |
| Bến Giữa Hồi DOCK | DOCK | 20 | 20 | 20 | 20 | trần 20 s (trung vị 16 s, tính vào chuyển cảnh Hồi sau): hồi phục 25% HP tối đa · Sạp Rong 4 ô (UP_DOCK_3 → 5; ô theo doc 13 §12.1) · 1 lượt Đổi miễn phí · Calla chở đò (1 beat thoại ≤ 6 s) |
| Icon | Trọng số CMB | Trọng số CHL | Lượng I | Lượng II | Lượng III | Lượng IV |
|---|---|---|---|---|---|---|
EDGE+ | 45 | 45 | 1 | 1 | 1 | 1 |
GOLD | 30 | 30 | 60 | 80 | 100 | 120 |
SKILL | 12 | 12 | 1 | 1 | 1 | 1 |
HEAL | 8 | 8 | 25 | 25 | 25 | 25 |
META | 5 | 5 | 60 | 60 | 60 | 60 |
RELIC | 0 | 0 | 2 | 2 | 2 | 2 |
ECHO | 0 | 0 | 1 | 1 | 1 | 1 |
3.1 Bảng nút (thời lượng trung vị Hồi I / II / III / IV, giây)
| Nút | Tên | Khung | Thời lượng | Nội dung | Thưởng khi xong |
|---|---|---|---|---|---|
CMB | Giao Tranh | C | 55 / 60 / 60 / 60 | 1 mục tiêu (15 §10): PURGE/VIGIL/BELLS/TIDE/NEST/GAUNTLET/CHASE | icon thưởng nút (§4.2) + chung (§3.2) |
CHL | Thử Lửa | C | 55 / 60 / 60 / 60 | mục tiêu CMB (trừ CHASE) + Act Mutator cục bộ HOẶC Tinh Anh ASH; không Khăn Tang | thưởng nút ×2 (§4.2) + chung |
RSC | Giải Cứu | C | 55 / 60 / 60 / 60 | RESCUE: phá kén Kẻ Thức HP 400 giữa bầy | lần đầu Hồi II (H04 có trong build): mở H04 Sậu; sau đó, hoặc build không có H04: SKILL + META |
ELT | Tinh Anh | G | 65 / 70 / 75 / 75 | DUEL hoặc HUNT | Relic chọn 1/2 (ELT_RISK: 1/3) + chung |
MBS | Mini-boss | G | 65 / 70 / 75 / 75 | 1 mini-boss biome + sân rỉ ≥ 6 quái S/20 s | Relic chọn 1/2 + 1 Mảnh Vọng CUR_ECHO_SHARD + chung |
EVT | Sự Kiện | U | 30 / 35 / 35 / 35 | 1 trong 10 sự kiện của biome (EVT_B1_01…EVT_B4_10); 2–3 lựa chọn đổi tài nguyên | theo lựa chọn (doc sự kiện) |
SHP | Sạp Rong | U | 30 / 35 / 35 / 35 | Sạp của Bà Mott (Bà Mott NPC_MOTT), §3.3 | mua bằng Vàng Mã |
RST | Lửa Canh Nhỏ | U | 30 / 35 / 35 / 35 | chọn 1: hồi phục 40% HP · nâng hạng 1 kỹ năng đang lắp · gỡ 1 Relic Lời Nguyền (chỉ hiện khi có) | — |
SEC | Mộ Lạc | U | 30 / 35 / 35 / 35 | có Relic: đổi 1 Relic đang có lấy 1 Relic Lời Nguyền (chọn 1/2); chưa có: nhận 1 Lời Nguyền + 80 Vàng Mã; luôn có nút "Rời đi" (0 thưởng) | như cột Nội dung |
BOS | Boss Hồi | R6 | 90 / 105 / 110 / 110 | boss Hồi + sân rỉ ≥ 6 quái S/20 s | hồi phục tới ≥ 60% HP · EDGE+ (BS_B2: có 1 lựa Then Chốt nếu Lv ≥ 11 (DEC-2026-11-07-14)) · chung |
DOCK | Bến Giữa Hồi | giữa Hồi | ≤ 20 | hồi phục 25% HP · Sạp Rong 4 ô (UP_DOCK_3 → 5; ô theo 13 §12.1) · 1 lần đổi thẻ miễn phí · Calla chở đò (1 beat thoại) | — |
- Ánh xạ tên chung → nút: combat =
CMB· elite =ELT· mini-boss =MBS· shop =SHP· forge/shrine =RST(nâng hạng kỹ năng ở lửa canh) · rest =RST· treasure =SEC(Mộ Lạc, rủi ro/thưởng) · challenge =CHL· story =EVT+RSC(giải cứu Kẻ Thức) + beat Calla ởDOCK. Không thêm loại nút ngoài 11 id Bible. - Nút tiện ích không có quái; đồng hồ nút tiện ích = thời gian người chơi ở màn (trung vị ở bảng).
- Phòng nạp cho nút: nút EVT/SHP/RST/SEC nạp phòng biome có
rooms[].node_typeschứa loại nút (mỗi biome B1–B4 ≥ 1 phòng/loại, neolandmarks[].roomnhư B4); chọn phòng từ luồngmapkeyed theo (Hồi, hàng, làn) khi có > 1 phòng hợp lệ; DOCK = Boong Đò Calla (nút DOCK) RM_HUB_ferry_deck (23§2). 2026-11-07 — chốt luật này: B4 dùngrooms[].node_types, B1–B3 chỉ có landmarkroomnull → thống nhất theo cách của B4 (dữ liệu biome B1–B3 bổ sung phòng tiện ích). - MRN10 Cổng Kép:
ELT(DUEL) rồiMBS, nghỉ 4 s giữa 2 trận (hồi phục +8% sau trận 1), thời lượng = cột G × 2 − 5.
3.2 Thưởng chung khi xong nút chiến (C, G, BOS)
| Mục | Giá trị | Nguồn |
|---|---|---|
| Hồi phục HP | +8% HP tối đa (C, G; BOS dùng ≥ 60%) | Bible §2.3 |
| XP gốc | C 25 · Tinh Anh 40/con · mini 60 · boss Hồi 80 · BS_FINAL 150 (× hệ số Hồi 1.0/1.4/1.8/2.2) | Bible §2.1 |
| Tro Hồn | C: 30 / 35 / 40 / 32 (Hồi I–IV), ải Kết 50 · Tinh Anh 25/con · mini 60 · boss Hồi 120 · BS_FINAL 200 · BS_TRUE 300; × (1 + s MESO) | Bible §3.3 (xong phòng 30–50); 2026-11-07 — Hồi IV 45 → 32: run thắng trung vị 1.499,5 Tro Hồn ≤ trần Bible 1.500/run (Q13) |
| Mảnh Vọng | mini 1 · boss Hồi 2 (+3 lần đầu mỗi cặp boss × hero) · BS_FINAL 3 · BS_TRUE 5 | Bible §3.3 |
| Quái còn sống khi xong phòng | tan tro trong 0.8 s, toả từ hero; không XP, không Vàng Mã | doc này |
| Shard XP trên sàn | tự hút về hero trong 0.6 s khi phòng xong | doc này |
| Tinh Anh chưa hạ khi mục tiêu xong (C) | ở lại; phòng chỉ xong khi Tinh Anh chết hoặc sau 20 s (Tinh Anh rút lui, không thưởng Tinh Anh) | doc này [ASSUMED] |
3.3 Sạp Rong (SHP 6 ô; DOCK 4 ô, UP_DOCK_3 → 5)
- Chủ sở hữu ô hàng, giá, dịch vụ, Lễ Vật bản run, UP_MARKET_5, MUT01/MUT10:
13-Upgrades-Builds§12.1 (bảng ôSHP/DOCK) + §12.2 (bảng giá, làm tròn). Doc này KHÔNG giữ bảng ô/giá; generator Sạp chỉ đọc §12.1–12.2. - Luật riêng của doc này (save/load): kho mỗi lần ghé sinh từ luồng
shop(§10.1;13gọirng_shop) keyed theo (Hồi, nút) = act·100 + row·10 + lane → thoát/load lại cho cùng hàng (§11); kho cố định trong 1 lần ghé.
6Xem trước & chọn thưởng
4.1 Luật
- Icon thưởng của mọi nút hiện trên bản đồ từ đầu Hồi (Bible §2); loại thưởng cuộn lúc sinh bản đồ (luồng
reward). Nội dung thẻ (draft, Relic, sạp) cuộn khi màn thưởng mở, từ luồng keyed theo (Hồi, hàng, làn) → thoát/vào lại cho cùng thẻ (chống save-scum). - Màn thưởng mở sau khi phòng xong; World dừng; không giới hạn thời gian; Lướt/huỷ không đóng màn.
- Bỏ qua 1 draft: +15 Vàng Mã (Bible §3.3). Bỏ Relic: +0 (Relic đầy → luật phân rã Bible §2.3).
4.2 Icon thưởng nút C
| Icon | Trọng số CMB/CHL | Nội dung | CHL ×2 |
|---|---|---|---|
EDGE+ | 45 | 1 draft 3 thẻ (luật draft Bible #36) | 2 draft liên tiếp |
GOLD | 30 | Vàng Mã: Hồi I 60 · II 80 · III 100 · IV 120 | ×2 |
SKILL | 12 | 3 thẻ kỹ năng: học mới / đổi / nâng hạng (Bible §2.2) | 2 lượt chọn |
HEAL | 8 | +25% HP tối đa | +50% |
META | 5 | +60 Tro Hồn + 1 trang Sổ Tang (nếu còn) [ASSUMED] | +120 Tro Hồn |
- Ràng buộc mỗi bản đồ: ≥ 2 nút
EDGE+, ≥ 1GOLDở R1–R3, ≥ 1SKILLở Hồi I và Hồi II;RSClần đầu Hồi II hiện icon mở hero thay icon thưởng. - Kiểm đếm/run (đường trung vị, 12 phòng C):
EDGE+12 × 0.45 × 1.2 (CHL) ≈ 6.5 + 4 thưởng boss = ~10 draft thưởng (Bible ~9EDGE+); + ~20 lên cấp (7/4/4/4/1, DEC-2026-11-07-12) = ~29 draft (Bible 29 ± 2 ✓). - Vàng Mã/run: chủ sở hữu mô hình thu nhập =
17-Economy-Balance§8.1 (VD-G1); doc này không giữ phép tính riêng. Trọng sốGOLD30 ở bảng trên là trọng số icon trênCMB/CHL; tỉ lệ phòng mangGOLDdùng trongVD-G1lấy theo doc 17 (khi doc 17 đổi sang 30% × 1.2CHLthìVD-G1là số chuẩn). Đích: 2–3 lần Sạp × 1–2 món = 3–5 món (Bible). - Relic/run: Cổng 4 +
ELT_RISK0.35/Hồi +SEC→ 4–6 lần mời; trần 3 (GD3 → 4) → luật đổi/phân rã.
7Kinh tế hồi phục
📊 Ngân sách hồi phục
5.1 Nguồn (Bible §2.3; không tự hồi phục)
| Nguồn | Lượng | Tần suất / giới hạn |
|---|---|---|
| Xong phòng C/G | +8% HP tối đa | 4 lần/Hồi trên đường trung vị |
| Lên cấp | +3 HP tối đa + hồi phục 6% | ~7 / 4 / 2 / 3 / 1 lần ở Hồi I / II / III / IV / Kết |
| Cầu máu | 12 HP phẳng | rơi 2% từ quái S; sống trên sàn 20 s; hút r50 (magnet) |
RST | 40% | ≤ 1/đường/Hồi |
HEAL (thưởng) | 25% (CHL 50%) | theo icon |
| Bình | 30% | mang ≤ 2; nguồn: UP_HEARTH_2 (+1 đầu run), Sạp 60 |
DOCK | 25% | 1/chuyển Hồi |
| Thắng boss Hồi | HP = max(HP hiện tại, 60%) | 4/run |
| Lửa Gửi (hồi sinh) | 35% + sóng r120 | 1/run (GD4 → 2; MRN06 → 0) |
- Mọi hồi phục × (1 − 0.20 × MRN11) (MRN11 bậc 2 → ×0.60); MUT07 cầu máu rơi ×2 (4%).
- Hồi phục không vượt HP tối đa; phần thừa mất (không khiên).
5.2 Ngân sách HP theo Hồi (đường trung vị, % HP tối đa, ref HP 120)
| Hồi | Xong phòng | Lên cấp | Cầu máu (60% nhặt) | Tổng thụ động | Sát thương nhận mục tiêu (trung vị) | HP trước boss mục tiêu |
|---|---|---|---|---|---|---|
| I | 32 | 42 | ~70 | ~144 | 140 | ~75% (hồi phục tràn khi đầy bị mất) |
| II | 32 | 24 | ~60 | ~116 + DOCK 25 | 150 | ~65% |
| III | 32 | 12 | ~55 | ~99 + DOCK 25 | 155 | ~60% |
| IV | 32 | 18 | ~50 | ~100 + DOCK 25 | 160 | ~55% |
- Đích thiết kế: người chơi trung vị tới mỗi
BOSvới 55–80% HP mà không cầnRST; chọnRST/HEAL= đệm cho người chơi yếu. Playtest đohp_at_boss_gate(telemetry §9.3); trung vị < 45% ở ≥ 2 Hồi liền → giảmB_roomHồi đó 10% (15§2.3), không tăng hồi phục. - Cầu máu % giảm dần khi HP tối đa tăng (12 HP phẳng) → Hồi sau dựa nhiều hơn vào nút; chủ ý.
8Bảng thời gian
📊 Thời lượng Hồi
| Hồi | Biome | Hàng | median_s | Chuyển cảnh (s) | Boss | Mini-boss | Mutator |
|---|---|---|---|---|---|---|---|
| Hồi I | Đồi Mộ Tro B1 | 6 | 390 | 40 | Người Gác Chuông BS_B1 | Xà Ích Xe Tang MB_B1_1 | — |
| Hồi II | Đầm Vải Liệm B2 | 6 | 430 | 40 | Lão Lái Đò Không Bến BS_B2 | Mẹ Kén Tơ Tro MB_B2_1 · Cá Voi Xác MB_B2_2 | có |
| Hồi III | Lò Đúc Câm B3 | 6 | 440 | 40 | Thợ Cả Đúc Chuông BS_B3 | Cỗ Máy Bước MB_B3_1 · Gã Hai Đầu Lò MB_B3_2 | có |
| Hồi IV | Thành Chuông Treo B4 | 6 | 440 | 40 | Thống Lĩnh Yvra & Rồng Khàn BS_B4 | Rồng Hai Đầu MB_B4_1 · Kiếm Sĩ Gương MB_B4_2 | có |
| Kết | Đỉnh Chuông Câm B5 | 2 | 230 | 20 | Vua Dravos, Mũ Chuông BS_FINAL | — | |
| Bí mật (B6) | Bờ Lặng B6 | 2 | 240 | 15 | Cái Lặng BS_TRUE | — |
- Run trung vị
- 1930 s
- Khoảng
- 1560–2100 s
- Ước tính chậm
- 2073 s
- MRN10 trung vị
- 2195 s
6.1 Trung vị theo Hồi (giây, Bible §2)
| Hồi | 3 phòng C | Cổng | Tiện ích | Boss | Chuyển cảnh | Tổng | Cột MRN10 (Cổng Kép) |
|---|---|---|---|---|---|---|---|
| I | 3 × 55 | 65 | 30 | 90 | 40 | 390 = 6:30 | Cổng 125 → 450 |
| II | 3 × 60 | 70 | 35 | 105 | 40 | 430 = 7:10 | 135 → 495 |
| III | 3 × 60 | 75 | 35 | 110 | 40 | 440 = 7:20 | 145 → 510 |
| IV | 3 × 60 | 75 | 35 | 110 | 40 | 440 = 7:20 | 145 → 510 |
| Kết | ải 60 | — | — | 150 | 20 | 230 = 3:50 | — |
| Run | 1.930 = 32:10 | 450 + 495 + 510 + 510 + Kết 230 = 2.195 = 36:35 | |||||
| B6 | ải 45 | — | — | 180 | 15 | +240 = 4:00 | — |
- Chuyển cảnh 40 s/Hồi (Bible: chuyển nút + draft + bản đồ + DOCK): Hồi I = chọn nút 6 × 3 s + màn thưởng 4 × 4 s + tải phòng 6 × 1 s = 40. Hồi II–IV = DOCK 16 + chọn nút 6 × 1.5 s + màn thưởng 4 × 3 s + tải 3 s = 40. Kết = DOCK 16 + tải 4 = 20. Draft lên cấp trong phòng (World ×0.15) đã nằm trong thời lượng phòng.
- Đường có
ELT_RISK: thay 1 C (55–60 s) bằng 1 G (65–75 s) → +10–15 s/Hồi. - Dải run 26:00–35:00 (run không MRN10): nhanh = diệt nhanh (PURGE xong sớm, boss ≤ 0.8 × trung vị) ≈ 26:30; chậm = boss 1.2 × (+113 s: 0.2 × 565) + 2
ELT_RISKở Hồi III–IV (+30 s: 2 × (75 − 60)) = 1.930 + 143 = 2.073 = 34:33. Ngoài dải ở playtest trung vị → chỉnht_targetmục tiêu (15§10), không đổi số phòng. - Run MRN10 được miễn dải 35:00: trung vị 2.195 = 36:35; chậm (boss 1.2 × + 2
ELT_RISKHồi III–IV) = 2.195 + 143 = 2.338 = 38:58. Khăn Tang chủ ý kéo dài run (2 trận mỗi Cổng); telemetry so run MRN10 với cột MRN10, không với dải chuẩn. - Đồng hồ run (HUD, tổng kết, DAILY
secondsPlayed) = thời gian thật trừ menu tạm dừng; tính cả màn thưởng/bản đồ.
6.2 Đồng hồ trong phòng
| Phòng | t_target | Trần cứng | Khi chạm trần |
|---|---|---|---|
| C (trừ GAUNTLET/CHASE) | 55/60 | — | không trần: mục tiêu tự xong (PURGE sống 60 s) hoặc tới mốc thua mục tiêu (15 §10) |
| G | 65–75 | không | Tinh Anh/mini không rút lui; sân rỉ giữ áp lực |
| BOS | 90–110 | không | — |
| Ải Kết / B6 | 60 / 45 | đúng mốc | ải xong khi đồng hồ hết, quái tan tro |
9Chuyển Hồi & cổng boss
7.1 Cổng boss (BOSS_GATE)
- Mở khi người chơi chọn nút R6 (từ bất kỳ nút R5). Màn 4 s (bỏ qua được sau 1 s): tên + icon boss, Sổ Thù MACRO ("X nhớ: bạn Gạt 72%",
14§9), gợi ý phản chế nếu UP_TEST_BELL_3; nút dùng bình (không tốn thời gian trận). - Lưu tại
BOSS_GATE(§11): thoát ở đây → vào lại đúng trước boss. - Draft xếp hàng (Bible §2.1) mở hết TRƯỚC màn cổng boss.
7.2 Thắng boss Hồi → Hồi kế
boss HP 0 → hitstop kết 0.4 s + tro rơi → quái phụ tan tro 0.8 s → HP = max(HP, 60%)
→ thưởng (Tro Hồn, Mảnh Vọng, XP) → màn EDGE+ (BS_B2: + lựa Then Chốt nếu Lv ≥ 11 (DEC-2026-11-07-14)) → [Sẹo: nút "Khắc Sẹo" sau END_BELL_TOLL]
→ hàng draft chờ mở hết → DOCK (≤ 20 s) → ACT_INTRO(act+1): thẻ tên biome 2 s + Act Mutator lật 1.5 s → MAP(act+1)
- Act Mutator Hồi mới cuộn từ luồng
mutatorlúcACT_INTRO; không trùng mutator của 1 Hồi trước; MUT nhóm an toàn CHL không bị loại khỏi Act Mutator. - Hạ BS_B1 → mở ô 2 nếu MRN09; hạ BS_B2 → mở ô kỹ năng 3 (Bible §2.2).
- Hồi IV → Kết: DOCK →
FINALE_TRIAL(ải 60 s,15§9.5) → sân tròn → BS_FINAL. Không bản đồ ở Kết. - BS_FINAL hạ: nếu Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN → cảnh 15 s Calla chở sang B6 →
SHORE_TRIAL45 s → BS_TRUE; không → ENDING.
7.3 Thứ tự cảnh truyện trong run
| Điểm | Nội dung | Thời lượng | Bỏ qua |
|---|---|---|---|
ACT_INTRO | tên biome + Act Mutator | 3.5 s | có, sau 1 s |
DOCK | 1 beat thoại Calla (hàng đợi 20-World-Lore) | ≤ 6 s trong DOCK | có |
| Lần đầu gặp boss | 1 câu thoại boss trước pha 1 | ≤ 3 s, boss bất tử | có, sau lần gặp đầu |
| Kết | cảnh BS_FINAL + lựa "Giữ lõi" (khi đủ điều kiện) | ≤ 40 s | lần 2+ |
10Chết, bỏ run, chiến thắng
8.1 Chết
HP ≤ 0 (sau Q8 chống chết 1 đòn của 10-Combat-Core) →
if lua_gui_left > 0: REVIVE theo `10-Combat-Core` §8.3: anim 1.0 s bất tử → HP 35% HP_MAX
+ sóng r120 (`AREA` 3.0 × POWER, đẩy 60, M −30 Thế) + xoá trạng thái + Thế đầy
+ i-frame 2.0 s; lua_gui_left −1; HUD tắt icon Lửa Gửi
else: DEATH: World ×0.3 trong 0.5 s (`10-Combat-Core` §8.3; nhạc tắt dần) → thẻ recap INV-16 (5 nguồn cuối + đòn kết liễu)
→ "Tro đã học" top 3 (`14` §14) → bia mộ (sinh từ dữ liệu run) → SUMMARY (§9) → HUB
- Số hồi sinh/chết (thời lượng anim, sát thương sóng, đẩy, i-frame, World scale) thuộc
10-Combat-Core§8.3 +tuning.combat; doc này chỉ giữ luồng màn hình. VD: POWER 10 → sóng 3.0 × 10 = 30 sát thương mỗi quái trong r120. - Giữ 100% tiền meta đã nhận (Bible §2.3). Vàng Mã mất. Thông Thạo nhận P theo §9.2.
- Sổ Thù/MESO cập nhật theo luật
14(thua không thêm Sẹo). - "Thức Lại" trên màn tổng kết: vào run mới cùng hero/loadout ≤ 5 s (bỏ hub, Lễ Vật không mua lại).
8.2 Bỏ run (ABANDON)
- Từ menu tạm dừng hoặc bản đồ: "Bỏ Run", giữ nút 1.0 s để xác nhận.
- Tính như chết cho tiền meta và Thông Thạo; không bia mộ, không recap, không Lửa Gửi; trận đang đánh không ghi Sổ Thù.
- DAILY / Truy Tuần: bỏ = nộp điểm hiện tại, dùng hết lượt tính điểm.
8.3 Thắng
| Kết | Điều kiện | Sau đó |
|---|---|---|
| Hồi Chuông END_BELL_TOLL | hạ BS_FINAL ở STANDARD | lần đầu: cảnh kết + credits; mở Khăn Tang, Truy Tuần, ENDLESS, CUSTOM, H12 |
| Mũ Tro END_ASH_CROWN | chọn "Giữ lõi" ở BS_FINAL (chỉ hiện sau khi đọc trang Sổ Tang về lý do Dravos) | đặt mọi mở khoá của END_BELL_TOLL; không mở B6 |
| Bến Bình Yên END_QUIET_SHORE | hạ BS_TRUE | cảnh kết thật |
- BS_FINAL hạ mà có Run sau mở B6 sau BS_FINAL (BS_TRUE). FLAG_SHORE_OPEN → run tiếp sang B6 (§7.2); END_BELL_TOLL vẫn ghi nhận ngay lúc hạ BS_FINAL (chết ở B6 không mất kết).
- Thắng → SUMMARY với nhãn "Chiến thắng"; tiền meta + Thông Thạo như §9.
11Tổng kết cuối run & thưởng
9.1 Màn tổng kết (RunSummary, 3 tab, tay cầm LB/RB)
| Tab | Nội dung |
|---|---|
| Kết quả | nhãn (Chết ở <nút> / Bỏ / Chiến thắng <END>), hero, mode, Độ Tang, đồng hồ run, Hồi tới, kill, chuỗi tối đa, ĐÁP thành công/thử, Né Hoàn Hảo, Phản đòn, sát thương gây theo nguồn (top 5), sát thương nhận theo nguồn (top 5) |
| Build | Edge + hạng, kỹ năng + hạng, Relic + affix, Cộng Hưởng, Tiến Hoá, Then Chốt; nút "Lưu build" (UP_WARDROBE_1) |
| Thưởng | Tro Hồn (bảng nguồn), Mảnh Vọng, Nến Canh, điểm Thông Thạo P + thanh MR, tiến độ mở khoá (vd "H07: 112/150 ĐÁP"), trang Sổ Tang mới, thành tựu; DAILY: điểm + hạng tạm |
- Bỏ qua được sau 2 s; "Thức Lại" (Y / R) · "Về Tháp" (A / Space).
9.2 Công thức
SoulAsh_run = Σ(nguồn Bible §3.3) × mode_mult × (1 + s_MESO phòng tương ứng)
với phần quái (0.05/con) ≤ 30% SoulAsh_run
P_mastery = (60 + 40 × acts_cleared + 20 × (boss + mini hạ) + 3 × DoTang) × mode_mult (DAILY/BOSS_RUSH 0.5, CUSTOM 0)
Candle = Σ boss có Khăn Tang: DoTang (× 3 lần đầu mỗi mức × hero)
- Ví dụ: STANDARD, Độ Tang 0, chết ở BS_B3, đường trung vị (I: ELT, II: MBS, III: ELT). Tro Hồn: phòng C 3×30 + 3×35 + 3×40 = 315 · Tinh Anh 25 + 25 = 50 · mini 60 · boss 120 × 2 = 240 · quái ~1.500 × 0.05 = 75 (≤ 30% ✓) → 740. Mảnh Vọng: mini 1 + boss 2 × 2 = 5 (+3 mỗi cặp boss × hero lần đầu). P = 60 + 40 × 2 + 20 × 3 = 200.
9.3 Telemetry run (run_end)
run_id, mode, seed, content_version, hero, aspect, ult, DoTang, result, end_node, t_run, act_times[], node_path[], kills, max_alive, hp_at_boss_gate[], heals_by_source{}, drafts, skips, gold_in/out, relics, deaths_by_attack, lua_gui_used, soul_ash, echo, candle, P.
12Mode & tất định seed
10.1 DAILY (Lễ Ngày) & Truy Tuần
| Khoá | Giá trị |
|---|---|
| Seed ngày | seed64 = SplitMix64(FNV1a64("BW:DAILY:" + yyyy-mm-dd UTC + ":" + content_version)); Truy Tuần: chuỗi "BW:WEEKLY:" + năm-tuần ISO (đổi thứ Hai 00:00 UTC) |
| Cố định theo seed | hero, Dạng Rèn, ult, 2 kỹ năng khởi đầu, bản đồ 4 Hồi, icon thưởng, mục tiêu, hàng sạp, sự kiện, 3 Khăn Tang (Truy Tuần: Độ Tang 8), 2 mutator, vector Tro Nhớ seed |
| 2 mutator | mutator 1 áp Hồi I–II, mutator 2 áp Hồi III–IV + Kết (thay Act Mutator ngẫu nhiên); cùng luật INV |
| Luồng RNG | PCG32(hash(seed64, stream, key)), stream ∈ {map, reward, draft, shop, event, mutator, spawn, loot, ai, fx}; key: map/mutator = act; reward/shop/event = act·100 + row·10 + lane; draft = (act, draft_index_in_act); spawn/loot/ai = (act, row, lane) |
| Hệ quả | cùng quyết định → cùng thẻ/sạp/bản đồ cho mọi người; luồng spawn/loot/ai lệch theo hành động người chơi (không replay tất định, Bible §4.1) |
| Cấm | RNG toàn cục (UnityEngine.Random) trong logic run; fx là luồng duy nhất được dùng tự do (chỉ hình ảnh) |
| Nộp điểm | 1 lượt/ngày; client khác content_version của bảng → từ chối, lượt vẫn chơi được (không tính điểm) |
10.2 STANDARD / CUSTOM
- Seed run = 64 bit ngẫu nhiên lúc RUN_START (CUSTOM: người chơi nhập seed 16 ký tự hex). Cùng seed + cùng
content_version→ cùng bản đồ/thưởng/sạp như DAILY (§10.1 luồng).
10.3 ENDLESS (Canh Thâu Đêm)
- Hồi I–IV như STANDARD (không Kết). Sau BS_B4 → tầng 1. Mỗi tầng = 1 Hồi rút gọn: R1 2 nút C · R2 2 nút (1 C + 1 G) · R3
BOSboss biome; biome xoay B1→B4; DOCK rút gọn 10 s (+15% HP, sạp 3 ô) giữa tầng. - Vòng = 4 tầng; mỗi vòng HP địch +12%, sát thương +6% (
10§2.4); điểm leaderboard = tầng đã qua; +30 Tro Hồn/tầng, +3 Nến Canh/5 tầng.
10.4 BOSS_RUSH (Đêm Hồi Chuông)
- Không bản đồ. Trước trận 1: build dựng trước 4 vòng × hiện 6 thẻ chọn 3 = 12 Edge (pool đã mở) + 1 Relic chọn 1/3; cấp cố định Lv14 [ASSUMED]; 2 kỹ năng khởi đầu + ô 3 mở sẵn.
- Thứ tự trận theo cờ build (BS_FINAL ra ở MS06): MS05 = 5 trận mini-boss seed tuần → BS_B1 → BS_B2 → BS_B3 → BS_B4; MS06+ = 6 trận thêm BS_FINAL cuối (mini mở màn = khởi động) [ASSUMED]; giữa trận hồi phục 40% HP, màn 6 s; Tro Nhớ chỉ MICRO; leaderboard = tổng thời gian trận +
rush_lost_ms(§11). - Leaderboard:
details[11–16]= ms từng trận; build 5 trận →details[16]= 0. Từ MS06 (6 trận) bảng đổi tên thêm hậu tố_V2(BOSS_RUSH_<YYYY>W<ww>_V2,43§6.2 + S17) vì tổng 5 trận và 6 trận không so được.
13Lưu, tạm dừng, tiếp tục (ranh giới nút)
| Khoá | Luật |
|---|---|
| Điểm lưu | vào MAP (sau khi màn thưởng đóng), BOSS_GATE, đầu DOCK; không lưu trong phòng |
| File | save/run_active.json (1 run/hồ sơ); ghi nguyên tử: .tmp → fsync → rename, giữ .bak; Steam Auto-Cloud |
| Nội dung | schema_version, content_version, run_id, mode, seed64, daily_key, hero + loadout, Khăn Tang, act, bản đồ (nút, cạnh, loại, mục tiêu, thưởng, đã qua), vị trí, HP/HP tối đa, bình, cấp/XP, kỹ năng + hạng, Edge + hạng, Relic + affix, Cộng Hưởng/Tiến Hoá, Dư Âm, Vàng Mã, Đổi/Xoá/Giữ, Lửa Gửi còn, đếm MRN14, bộ đếm luồng RNG, W20/MESO trong run, đồng hồ run, thống kê |
| Tiền meta | gửi vào tài khoản ở mỗi điểm lưu (crash không mất) |
| Thoát giữa phòng | (thoát game, crash, mất điện) → lần mở sau: chơi lại phòng đó từ đầu với trạng thái ở điểm lưu cuối; luồng spawn/loot keyed theo nút → cùng mục tiêu, cùng kịch bản; tiến độ trong phòng mất; DAILY: secondsPlayed cộng cả phần mất |
| BOSS_RUSH | không bản đồ/cổng/DOCK → điểm lưu = xác nhận RushBuild (build dựng trước §10.4) + đầu màn hồi phục 6 s sau mỗi trận. Thoát/crash giữa trận → lần mở sau: chơi lại trận hiện tại từ trạng thái đầu trận đầy đủ (HP, Dư Âm, hồi chiêu, build ở điểm lưu); thời gian trận đã mất ghi vào rush_lost_ms (int, trong save) và cộng vào tổng nộp (như DAILY cộng secondsPlayed) → crash không reset được trận xấu trên bảng thời gian |
| Tạm dừng / Deck suspend | mất focus hoặc OS ngủ → tự Menu tạm dừng (World + Hero dừng); không cần lưu |
| Run mới khi có run dở | hộp xác nhận "Bỏ run đang dở?" → §8.2 |
Lệch content_version | có migration → chuyển; không → đề nghị "Bỏ run" (tiền meta đã gửi giữ nguyên) |
14Dữ liệu
📊 Giá Sạp
| Ô | Rarity | Giá (Vàng Mã) |
|---|---|---|
EDGE | COMMON | 80 |
EDGE | RARE | 110 |
EDGE | EPIC | 140 |
RELIC | COMMON | 150 |
RELIC | RARE | 200 |
RELIC | EPIC | 250 |
SKILL_CARD | ANY | 100 |
POTION | ANY | 60 |
LV01 | ANY | 50 |
LV02 | ANY | 70 |
LV04 | ANY | 60 |
LV05 | ANY | 80 |
REROLL | ANY | 40 |
BANISH | ANY | 60 |
| File | Nội dung | Khoá chính |
|---|---|---|
run_structure.csv | key, value, note: thời lượng nút, trọng số §2.4/§4.2, giá sạp, hồi phục | key |
lane_templates.csv | id, r1..r5 (C/G/U), weight | id |
map_fallback.json | 3 khuôn tay/Hồi (MAP_FB_<act>_<n>) | id |
node_types.csv | id, frame (C/G/U/R6/DOCK), t_I..t_IV, icon, reward_rule | id (11 id Bible) |
reward_tables.csv | icon, weight_CMB, weight_CHL, amount_I..IV | icon |
shop_prices.csv | slot, rarity, price — schema + giá thuộc 13-Upgrades-Builds §12.1–12.2 (doc này chỉ đọc) | slot+rarity |
15Quy tắc cho dev/AI
- Chỉ 11 loại nút Bible (
CMBELTCHLEVTSHPRSTSECRSCMBSBOSDOCK) + cờrisktrênELT; thêm loại nút = mụcDEC-+ sửa Bible/JSON. - Bản đồ sinh bằng
MapGen.Generate(act, seed)theo §2.2; mọi đường phải quavalidateV1–V8 trước khi hiện; lỗi 64 lần → khuôn tayMAP_FB_*. Không sửa tay bản đồ trong code. - Mọi ngẫu nhiên của run đi qua luồng RNG có tên + khoá (§10.1); cấm
UnityEngine.Random/System.Randomkhông seed trong logic run. - Loại thưởng hiện trên bản đồ từ đầu Hồi; nội dung thưởng cuộn khi mở, keyed theo nút → thoát/vào lại không đổi.
- Thời lượng phòng là đích thiết kế; chỉnh bằng
t_targetmục tiêu vàB_room(15), không thêm/bớt nút. - Hồi phục chỉ từ nguồn §5.1; không thêm tự hồi phục; mọi hồi phục nhân MRN11.
- Lưu chỉ ở
MAP/BOSS_GATE/DOCK(BOSS_RUSH: xác nhận RushBuild + đầu màn hồi phục 6 s, thời gian mất cộngrush_lost_ms); thoát giữa phòng → chơi lại phòng từ đầu; tiền meta gửi ở mỗi điểm lưu. - Draft xếp hàng mở hết trước
BOSS_GATEvà trướcDOCK. - Số
[ASSUMED]chỉnh quarun_structure.csv; số Bible (thời lượng, giá, % hồi phục, thưởng) chỉ đổi bằngDEC-. - Tên UI: Khăn Tang/Độ Tang, Act Mutator, Dạng Rèn, Dư Âm, Then Chốt, Vàng Mã, Tro Hồn, Mảnh Vọng, Nến Canh; không tên/thuật ngữ của sản phẩm có thật.
16Quyết định đã chốt
| Q | Quyết định | Lý do | ||||
|---|---|---|---|---|---|---|
| Q1 Gán loại theo làn | khuôn làn §2.3 (7 khuôn, mỗi khuôn đúng 3 C + 1 G + 1 U) + validate mọi đường + bỏ cạnh chéo gây lỗi | Bible: gán theo làn, luật kiểm từng đường; khuôn làm luật đúng trên làn thẳng, validate xử lý đường đổi làn | ||||
| Q2 Cổng thứ 2 | 2026-11-07 — ELT_RISK THAY 1 phòng chiến (đường vẫn 5 nút R1–R5): đường đó 2 C + 2 G + 1 U, thời gian +10–15 s/Hồi. Câu "Đường có Cổng thứ 2: +65–75 s" của Bible §2 đọc là thời lượng của chính Cổng thứ 2, không phải phần cộng thêm | Bible §2 "thay 1 phòng chiến" + lưới 6 hàng cố định; không thể vừa thay vừa cộng 65–75 s | ||||
| Q3 "+1 Relic lựa" | ELT_RISK thưởng Relic chọn 1/3 (thay 1/2) | Bible ghi "+1 Relic lựa" ở Cổng thứ 2 | ||||
| Q4 SEC 15% | mỗi nút U cuộn 15% thành SEC, ≤ 1/bản đồ; luôn có "Rời đi" | Bible "15% thay 1 tiện ích"; Mộ Lạc là rủi ro tự chọn | ||||
| Q5 Thưởng boss | EDGE+ (BS_B2 có lựa Then Chốt) + hồi phục ≥ 60% | Bible §2.1 nói thưởng BS_B2 có lựa Then Chốt → thưởng boss là draft; khớp ~9 EDGE+/run | ||||
| Q6 Trọng số thưởng C | EDGE+ 45 · GOLD 30 · SKILL 12 · HEAL 8 · META 5 | kiểm đếm §4.2: ~29 draft (29 ± 2, DEC-2026-11-07-12); thu nhập Vàng Mã/run kiểm ở 17 §8.1 VD-G1 (500–700) | ||||
| Q7 Quái còn sống khi xong phòng | tan tro 0.8 s, không thưởng | nhịp nhanh (P1), không "dọn rác" sau mục tiêu | ||||
| Q8 Lưu | ranh giới nút + chơi lại phòng khi thoát giữa chừng; nội dung keyed theo nút | chống save-scum mà không phạt crash; Deck suspend chỉ là tạm dừng | ||||
| Q9 DAILY mutator | mutator 1 cho Hồi I–II, mutator 2 cho III–IV + Kết | Bible "2 mutator" theo seed, Act Mutator thường chỉ từ Hồi II | ||||
| Q10 ENDLESS | Hồi I–IV rồi tầng rút gọn 2 phòng + boss, xoay B1→B4, không Kết | Bible §4.1 | ||||
| Q11 BOSS_RUSH | mini-boss seed tuần mở màn, rồi BS_B1…BS_B4 (MS05, 5 trận); MS06+ thêm BS_FINAL (6 trận, bảng _V2); Lv14 cố định [ASSUMED]. 2026-11-07 — tách theo cờ build: Bible MS05 + 19 ghi 5 trận vì BS_FINAL ra ở MS06 | Bible liệt kê 5 boss "+ 1 mini"; mini làm khởi động | Q12 Bình | mang ≤ 2 [ASSUMED]; nguồn UP_HEARTH_2 + Sạp | Bible có giá bình, không có trần | |
| Q13 Tro Hồn xong phòng | 30 / 35 / 40 / 32 theo Hồi, ải Kết 50. 2026-11-07 — Hồi IV 45 → 32 | Bible "30–50"; thu nhập run ≤ 1.500 (Bible) → run thắng 1.499,5 | ||||
| Q14 Vàng Mã GOLD | 60 / 80 / 100 / 120 theo Hồi | Bible "60–120" | ||||
| Q15 Chủ sở hữu số Sạp/hồi sinh | 2026-11-07 — bỏ bảng ô/giá Sạp ở §3.3 → 13 §12.1–12.2; bỏ số hồi sinh/chết riêng ở §8.1 → 10 §8.3 (anim 1.0 s, sóng AREA 3.0 × POWER, đẩy 60, M −30 Thế, i-frame 2.0 s; chết World ×0.3 0.5 s); bỏ phép tính Vàng Mã/run → 17 §8.1 VD-G1 | 1 số = 1 chủ; generator Sạp và combat cần 1 bộ dữ liệu | ||||
| Q16 Thời lượng MRN10 | 2026-11-07 — run MRN10 trung vị 2.195 s = 36:35, miễn dải 26:00–35:00; V6 so với cột MRN10 | Cổng Kép thêm 60–70 s/Hồi theo thiết kế; dải chuẩn chỉ cho run không MRN10 | ||||
| Q17 Lưu BOSS_RUSH | 2026-11-07 — điểm lưu = xác nhận RushBuild + đầu màn hồi phục 6 s; tiếp tục = chơi lại trận hiện tại từ đầu; thời gian mất → rush_lost_ms, cộng vào tổng nộp | §11 cũ không có điểm lưu cho mode không bản đồ; crash không được thành cách reset trận xấu trên bảng thời gian | ||||
| Q18 RSC ép & bản đồ | 2026-11-07 — ép RSC Hồi II chỉ khi H04 có trong content_version (EA MS03 không có H04 → RSC thường); khoảng làn/hàng 54/40 UI px (40 UI-06) | H04 ra ở MS04; 96/72 px không vừa 6 hàng trong 267 UI px |