1Giới thiệu & bản đồ tài liệu
Mục đích: danh mục ĐẦY ĐỦ mọi tuỳ chọn người chơi của Bladewake 1.0 (hình ảnh, mù màu, nhạy sáng, âm thanh, chữ/phụ đề tiếng Việt, vận động, nhận thức, hỗ trợ độ khó Thương Xót) với khoá cài đặt, khoảng, mặc định PC/Deck, hệ thống bị chạm, có khoá leaderboard hay không; luật giữ phân biệt tell vàng/tím khi mù màu; giới hạn chớp; preset nhanh; cách xem trước ở Sân Tập; ca kiểm thử. Phụ thuộc: 00-Design-Bible.md §4.3 + INV-01/02/09/11/13/16 + data/_bible.json (meta.mercy, meta.accessibility); 10-Combat-Core.md §6.2, §6.5, §9; 11-Defense-Tells.md §1, §4.1, §4.2; 19-Difficulty-Modes.md §6; 30-Art-Direction.md §2.2; 31-VFX-Bible.md §1 (R1–R11); 32-Audio-Bible.md §2.1, §5.1–§5.2, §5.8, §9; 40-UI-UX-HUD.md §1.1–§1.2, §6.3, §7.1, §8, §9; 41-Controls-Camera.md; 43-Steam-Platform.md §7.1, §8.2; 01-Roadmap.md §5.1. Được dùng bởi: code AccessibilitySettings / SettingsService (phát AccessibilityChanged(key)), PaletteLut, FxRuntime, ShakeService, AudioMixer (BW_Main), SubtitleService, RebindService, Defense/Aim/Time (Thương Xót); màn Settings (40 §6.3), màn lần đầu; Sân Tập Sân Tập ST_YARD; QA (ma trận trợ năng, Deck Verified); loc.
Mục lục chi tiết (## và ###)
- 0. Phạm vi & luật chung
- 1. Khung tuỳ chọn
- 1.1 Tab (= 40 §6.3) và vị trí option
- 1.2 Lần chạy đầu (40 §3.2: PhotoWarning → Language → Consent → QuickSetup → Title)
- 2. Hình ảnh (Hiển thị + Trợ năng)
- 3. Mù màu — giữ phân biệt tell vàng / tím / chấm
- 3.1 Option
- 3.2 Lớp hình (bật bởi tell_shapes; = 11 §4.2, 31 R11)
- 3.3 Lớp bổ sung theo chế độ
- 3.4 Số đo (mô phỏng Machado 2009 mức 1.0 trên sRGB, ΔE2000; chạy lại khi đổi palette)
- 4. Nhạy sáng (giới hạn chớp)
- 4.1 Luật (mọi chế độ; 31 R9 + 40 §7.1)
- 4.2 Danh mục chớp & bản "Giảm chớp" (a11y.flash_reduce, tắt/bật · tắt, S)
- 5. Âm thanh (32 §5.1, §5.2, §5.8)
- 6. Chữ, phụ đề, tiếng Việt
- 6.1 Cỡ chữ & đọc
- 6.2 Tiếng Việt (nguồn VI, 40 §1.1, §8)
- 6.3 Phụ đề & chú thích âm
- 7. Vận động (Điều khiển + Trợ năng)
- 7.1 Option
- 7.2 Preset 1 tay (Bible §4.3 "chế độ 1 tay"; không hành động nào cần 2 nút cùng lúc — 12 §1.1)
- 8. Nhận thức (Trò chơi + Trợ năng)
- 9. Hỗ trợ độ khó — Thương Xót (Bible §4.3, meta.mercy, 11 §4.1, 19 §6.1)
- 10. Preset trợ năng nhanh (Trợ năng › "Preset", không gắn cờ)
- 11. Xem trước & kiểm thử
- Quy tắc cho dev/AI
- Quyết định đã chốt
20. Phạm vi & luật chung
- Canon: Bible +
_bible.json> doc nền (10–17, 20, 30–32, 51) > doc này. Doc này không đổi số gameplay; mọi option là trình bày (không khoá gì) trừ nhóm Thương Xót §9 (gắn cờ runmercy_used: không nộp leaderboard, không mở thành tựu Độ Tang — Bible §4.3; không khoá gì khác —19§6.1). Không gắn cờ dù chạm gameplay: Hiệu chỉnh trễmercy.latency_offset(§9, DEC-2026-11-07-16) và Trí nhớ xuyên rungame.cross_run_memory(§8,14Q14). - Trợ năng KHÔNG được: đổi hex tell
#ffd84a/#b14cff/#e8e4f0ở world (INV-01a), giảm windup/cửa sổ, tắt tell, tắt mũi tên công bằng bắt buộc (11§5.3,15F9). Chỉ được THÊM hình, âm, chữ, độ tương phản, hoặc BỚT hiệu ứng trang trí. - Mọi option áp ngay (≤ 1 frame,
40§9), không khởi động lại; trừ độ phân giải/cửa sổ (popup "Giữ thiết lập này?" 10 s,40§6.3). - Lưu: nhóm theo người →
save/settings_shared.json(Steam Cloud); nhóm theo máy (độ phân giải, preset FX, trần fps, vsync, thiết bị âm, Vùng an toàn màn) →local/settings_device.json(43§7.1). Cột "Lưu" dưới:S= shared,D= device. - Khoá cài đặt:
<nhóm>.<tên>(vda11y.flash_reduce); là khoá code, không phải id dữ liệu. Mặc định Deck áp khiIsSteamRunningOnSteamDeck()ở lần chạy đầu và khi chưa từng chỉnh tay. - Cột "Hệ chạm" = service/hệ đọc option; mọi đọc qua
AccessibilitySettings/SettingsService, không màn nào đọc PlayerPrefs (40§9).
31. Khung tuỳ chọn
1.1 Tab (= 40 §6.3) và vị trí option
| Tab | Nhóm doc này |
|---|---|
| Trò chơi | §8 nhận thức (gợi ý, đồng hồ draft, Tro Nhớ %) |
| Điều khiển | §7 vận động (remap 41 §8, vùng chết, trợ ngắm, rung tay cầm, preset 1 tay) |
| Hiển thị | §2 hình ảnh (độ phân giải, HUD, số sát thương, rung màn, preset FX) |
| Âm thanh | §5 |
| Trợ năng | §2 (phần trợ năng), §3 mù màu, §4 nhạy sáng, §6 chữ & phụ đề, thời gian giữ, preset nhanh §10 |
| Thương Xót | §9 |
| Dữ liệu & quyền riêng tư | telemetry/crash (43 §15), không thuộc doc này |
1.2 Lần chạy đầu (40 §3.2: PhotoWarning → Language → Consent → QuickSetup → Title)
- Cảnh báo nhạy sáng (trước Language, 4 s, bỏ qua bằng A/Enter sau 1.5 s): chữ VI/EN "Trò chơi có chớp sáng và chuyển động nhanh. Có thể giảm ở Trợ năng." + nút "Mở Trợ năng ngay" (§4).
- Language → Consent (
43§15.1). - Thiết lập nhanh (1 màn, mọi mục bỏ qua được, chỉnh lại sau): Cỡ chữ (100/125/150%, xem trước câu tiếng Việt nhiều dấu "Ừ, đã hiểu rõ: ổn định, vững vàng.") · Tell mù màu (tắt/bật + ảnh trước/sau) · Phụ đề tell (tắt/bật) · Rung màn (100/50/0%) · Giảm chớp (tắt/bật) · Preset điều khiển (
41§8.2: Mặc định / Không chuột / 1 tay trái / 1 tay phải / Bàn phím 1 tay). - Màn "Chọn cách đi" (preset Thương Xót
19§6.2) chỉ hiện khi bắt đầu run đầu tiên, sau thiết lập nhanh.
42. Hình ảnh (Hiển thị + Trợ năng)
| Khoá | Tên hiển thị | Giá trị · mặc định PC / Deck | Hệ chạm | Lưu |
|---|---|---|---|---|
video.window_mode | Chế độ cửa sổ | Toàn màn không viền / Toàn màn / Cửa sổ · không viền / toàn màn | PixelCamera (41 §11.1) | D |
video.resolution | Độ phân giải | chỉ độ phân giải cho zoom nguyên (30 §2.2) · gốc màn / 1280×800 | PixelCamera | D |
video.fps_cap | Trần khung hình | 30 / 40 / 45 / 60 · 60 / 60 (43 §8.2) | sim vẫn 60 tick/s (10 §1.1) | D |
video.vsync | V-sync | tắt/bật · bật / bật | render | D |
video.safe_margin | Vùng an toàn màn | 0 / 4 / 8 / 12 / 16 UI px mỗi cạnh · 0 / khoá 0 | Hud (40 §0.1) | D |
video.fx_preset | Preset FX | Cao / Deck 70% / Thấp · Cao / Deck 70% | FxRuntime trần hạt 1 500 / 1 050 / 750 (platform.fx_particle_cap; Thấp [ASSUMED]); tell, nháy trắng, vòng chân, x-ray, ấn spawn không bao giờ bị cắt (31 §6.2) | D |
a11y.particles_reduce | Giảm hạt FX | tắt/bật · tắt / tắt | FxRuntime: hạt trang trí (bụi, tro, tia lửa phụ) ×0.5, môi trường động R8 ≤ 20 hạt/view; KHÔNG chạm tell, vòng chân, hình hitbox | S |
hud.opacity | Độ mờ HUD | 50–100% bước 10 · 100 / 100 | Hud (40 §4.6) | S |
hud.dmg_numbers | Số sát thương | Đầy đủ / Chỉ chí mạng + boss / Tắt · Đầy đủ / Đầy đủ | BattleDmgText (10 §6.5) | S |
hud.hero_dmg_numbers | Số hero nhận | tắt/bật · bật | BattleDmgText | S |
hud.button_hints | Hiện nút trên HUD | tắt/bật · bật | Hud ô kỹ năng | S |
cam.shake | Rung màn | 0–100% bước 10 · 100 / 100 | ShakeService (41 §11.5, 10 §6.2) | S |
a11y.reduce_motion | Giảm chuyển động | tắt/bật · tắt | camera: nhìn trước 0, giảm chấn 0.80/0.85 s, vùng chết 10% × 12% (41 §11.2); rung nhiễu ≤ 2 px, cú đẩy 0 (41 §11.5); UI: bỏ trượt/hạt (40 §7.1); nền parallax hub đứng; tro rơi ngược ở kết = mờ dần | S |
a11y.hero_outline | Viền hero | 1 / 2 / 3 px · 1 | ActorView viền vòng chân + rim foot_ring.hex (INV-09) | S |
a11y.hero_ring_boost | Vòng chân đậm | tắt/bật · tắt | fill vòng chân α 0.20 → 0.35, thêm chấm tâm 1 px (30 §3.2 màu giữ nguyên) [ASSUMED] | S |
a11y.contrast_boost | Tăng tương phản | tắt/bật · tắt | PaletteLut: sàn/tường/trang trí biome V × 0.80, S × 0.80; tell, hero, quái giữ → tell/hero nổi thêm ~20% (11 §4.2 "tăng tương phản sàn/tell 20%") | S |
a11y.offscreen_arrows | Mũi tên ngoài màn | tắt/bật · tắt | HUD: mũi tên 7×7 ở mép SAFE cho MỌI tell Y/P nhắm hero có nguồn ngoài vùng an toàn hoặc ≤ 32 px tới mép, ≥ 0.45 s trước va chạm (11 §4.2) | S |
a11y.aim_reticle | Reticle ngắm | Khi ngắm / Luôn · Khi ngắm | reticle sàn hero tầm xa/vùng (12 §1.3, 41 §6.3) | S |
a11y.cursor_size | Cỡ dấu ngắm chuột | 1× / 2× / 3× · 1× | con trỏ combat 7×7 art px (41 §6.1) | S |
a11y.low_hp_vignette | Viền HP thấp | Nhịp / Tĩnh / Tắt · Nhịp | hero_hp < 25% → loop; ≥ 25% → tắt 0.3 s VFX_SHARED_screen_lowhp (1 Hz; Tĩnh = α cố định 0.6) | S |
- "Giảm chuyển động" KHÔNG đổi tốc game, slow-mo hay hitstop (là gameplay,
10§6); muốn chậm game → Thương Xót "Tốc game".
53. Mù màu — giữ phân biệt tell vàng / tím / chấm
3.1 Option
| Khoá | Tên | Giá trị · mặc định | Hệ chạm | Lưu |
|---|---|---|---|---|
a11y.tell_shapes | Tell mù màu (◇/▲/chấm) | tắt/bật · tắt | FxRuntime lớp Prioritize (31 R11), HUD mũi tên/phụ đề/recap (40 §9) | S |
a11y.cvd_mode | Chế độ mù màu | Tắt / Đỏ–lục / Lam–vàng / Đơn sắc · Tắt | bật lớp bổ sung §3.3 + tự bật tell_shapes (không tắt được khi cvd_mode ≠ Tắt) | S |
- Luật cứng: không có bộ lọc màu toàn màn (daltonize) — bộ lọc dời hue tell ra khỏi dải dành riêng 32–62° / 260–290° (INV-01a) và đổi màu slot hero. Mọi chế độ chỉ THÊM hình/mẫu/viền/độ sáng; hex tell world giữ nguyên.
3.2 Lớp hình (bật bởi tell_shapes; = 11 §4.2, 31 R11)
| Lớp | Thường | Thêm khi bật | Âm kèm |
|---|---|---|---|
| Y vàng | glint 4 cánh 5×5 (boss 7×7) + viền trắng nháy ≥ 2 frame | glint thành hình thoi ◇ 5×5 (boss 7×7); đạn Y_REFLECT: ◇ ở đầu đạn | "tinh" nốt cao hơn +2 bán cung |
| P tím | vùng fill 25% + viền 2 px + hào quang + ! | gạch chéo 45° 1 px cách 4 px trong vùng + ▲ 7×6 cạnh !; đạn P: ▲ thay chấm đuôi | "ù" |
| N đọng | viền chấm 2 px + chấm thưa 15% | giữ nguyên (đã khác hình: chấm, không gạch, không glint) | không |
| Ấn spawn | vòng LIỀN + xoáy tro | giữ nguyên | — |
- Gạch chéo chỉ dành cho tím mù màu (Bible INV-02: N không dùng gạch chéo) → không lẫn.
3.3 Lớp bổ sung theo chế độ
| Chế độ | Rủi ro đo (§3.4) | Thêm |
|---|---|---|
| Đỏ–lục | Y/P an toàn; số hero nhận #ff5a5a vs hồi phục #7be08a ΔE 11–26 | số hero nhận luôn có tiền tố "−", hồi phục "+" + mũi tên ▲ 5 px; thanh HP: đoạn trễ ui-hp-lag thêm sọc dọc 1 px cách 2 px; khung rarity thêm chấm pip (1/2/3) — áp mọi chế độ ≠ Tắt |
| Lam–vàng | Y–P ΔE 29.8, Y–N 17.9 | glint ◇ thêm lõi tối 1 px #15131d (tách khỏi chấm N nhạt); viền vùng P thành viền kép 2 px + khe 1 + 1 px; mọi phần Đỏ–lục |
| Đơn sắc | Y–P ΔE 25.9, Y–N 2.4 (gần trùng) | như Lam–vàng + tự bật a11y.contrast_boost; viền trắng Y đổi nháy → nháy + viền ngoài tối 1 px #15131d; vùng N: chấm thưa 15% → chấm dày 25% (vẫn chấm, không gạch) |
3.4 Số đo (mô phỏng Machado 2009 mức 1.0 trên sRGB, ΔE2000; chạy lại khi đổi palette)
| Mô phỏng | Y #ffd84a → | P #b14cff → | ΔE Y–P | ΔE Y–N | ΔE P–N | ΔE số hero nhận–hồi | L* Y / P / N |
|---|---|---|---|---|---|---|---|
| Thường | #ffd84a | #b14cff | 76.9 | 35.1 | 39.2 | 70.8 | 87 / 54 / 91 |
| Protan | #efd435 | #007dff | 70.1 | 34.8 | 36.0 | 26.0 | 85 / 54 / 91 |
| Deutan | #f8e052 | #0081fb | 68.7 | 33.2 | 35.8 | 11.4 | 89 / 55 / 91 |
| Tritan | #ffc7bc | #a376a1 | 29.8 | 17.9 | 33.2 | 69.0 | 85 / 55 / 91 |
| Đơn sắc | #dbdbdb | #808080 | 25.9 | 2.4 | 28.2 | 15.6 | 87 / 54 / 91 |
- Cổng: ΔE(Y, P) ≥ 25 dưới mọi mô phỏng (đạt, min 25.9) và Y/P/N phân biệt được khi xem ảnh xám ở 50% kích thước (bắt buộc hình ◇/▲/chấm vì Y–N đơn sắc 2.4). Test 5 s mỗi chế độ trên B2 và B4 với 250 quái (như INV-09).
- Phân biệt Y với P còn qua: hình (glint điểm vs vùng sàn), âm ("tinh" vs "ù"), thời gian (Y glint 2 đúng 7 tick trước va chạm; P vùng lớn dần) — không bao giờ chỉ bằng màu.
64. Nhạy sáng (giới hạn chớp)
4.1 Luật (mọi chế độ; 31 R9 + 40 §7.1)
| Khoá | Giới hạn |
|---|---|
| Định nghĩa "chớp" | 1 cặp tăng-giảm độ sáng tương đối ≥ 10% với trạng thái tối < 0.80, trên vùng gộp ≥ 160×90 art px (≈ 1/4 trường nhìn 10° ở 1080p, ≈ 11% view 480×270) |
| Tần số | ≤ 3 chớp / mọi cửa sổ 1.0 s toàn màn; chớp màn (screen_flash_*) ≤ 2/s, α ≤ 0.35, 1–3 frame |
| Chớp đỏ | cấm chớp bão hoà đỏ (R/(R+G+B) ≥ 0.80) bất kỳ diện tích nào; hero trúng đòn = chớp trắng sprite + viền tối, không phủ đỏ (10 §6.4) |
| Nhịp UI | mọi nhấp/nhịp ≤ 3 Hz (HP thấp 1.2 Hz, Dư Âm đầy 1 Hz, focus 2 Hz) |
| Gộp chớp sprite | tổng diện tích sprite đang chớp trắng trong 1 frame ≥ vùng chuẩn → tính 1 chớp; đã đủ 3 chớp trong 1.0 s → chớp sprite tiếp theo vẽ α 0.5 tới hết cửa sổ (chớp vẫn có — INV-10) |
| Môi trường | tia sét/bùng lò/chuông loé: ≤ 1 lần/2.0 s, Δ độ sáng ≤ 25% |
4.2 Danh mục chớp & bản "Giảm chớp" (a11y.flash_reduce, tắt/bật · tắt, S)
| Phần tử | Thường | Giảm chớp |
|---|---|---|
| counter_success / answer_perfect t = 0 VFX_SHARED_screen_flash_white (Phản, ĐÁP hoàn hảo) | 2 frame α 0.35 | tắt; thay viền màn 1 px #f4efe0 α 0.25 trong 0.15 s |
| ult_burst t = 0 VFX_SHARED_screen_flash_ult | 3 frame α 0.30 | tắt |
| boss_phase_change t = 0 VFX_SHARED_screen_phase (đổi pha boss) | chớp ngà 2 frame + sóng | tắt chớp, giữ sóng |
| Viền trắng tell Y | nháy ≥ 2 frame | viền trắng liền 2 px (11 §4.2) |
Vành đạn Y_REFLECT | nháy 8 Hz (vùng ≤ 16 px) | vành liền |
| Hào quang tell P | nhấp 4 Hz (2 px) | liền |
| Chớp trắng trúng đòn (sprite) | 0.07 s mọi cú | ≤ 1 lần/0.33 s mỗi mục tiêu, α 0.6 (không tắt — INV-10) |
| Chớp chết | 0.09 s | α 0.6 |
| HUD (HP thấp, Vỡ Thế, Dư Âm đầy) | nhịp | tĩnh (40 §9) |
Viền HP thấp screen_lowhp | 1 Hz | tĩnh α 0.6 |
| Tint World chậm (Né Hoàn Hảo, Phản) | tint + chớp | chỉ tint, không chớp (40 §9) |
- Kiểm tự động (CI, quay video 60 fps): phân tích độ sáng từng frame theo luật §4.1 trên 6 cảnh (MS01b 250 quái + Ult, 4 boss pha chuyển, Phản liên tục 10 s) → 0 cửa sổ 1.0 s > 3 chớp, 0 chớp đỏ; chạy ở cả Thường và Giảm chớp. Trailer (
43§2.3) qua cùng kiểm trước khi đăng.
75. Âm thanh (32 §5.1, §5.2, §5.8)
| Khoá | Tên | Giá trị · mặc định PC / Deck | Hệ chạm | Lưu |
|---|---|---|---|---|
audio.vol_master | Tổng | 0–100 bước 5 · 80 / 80 [ASSUMED] | mixer vol_master | S |
audio.vol_music · vol_sfx · vol_amb · vol_ui · vol_vo | Nhạc · Hiệu ứng · Môi trường · UI · Giọng (tiếng hô không lời) | 0–100 bước 5 · 100 | vol_music · vol_sfx · vol_amb · vol_ui · vol_vo | S |
audio.vol_tell | Âm tell | 50–150% · 100 (sàn −6 dB, AUD-03) | bus EnemyTell vol_tell; luôn miễn duck/snapshot | S |
audio.dynamic_range | Dải động | Rộng / Thường / Hẹp · Thường / Hẹp khi loa trong | Hẹp = snapshot SN_SMALL_SPEAKER (HP 150 Hz, nén −16 dB 4:1, tell +2 dB) | D |
audio.small_speaker | Loa nhỏ | tắt/bật · tắt / tự bật khi Deck không tai nghe | = Dải động Hẹp | D |
audio.mono | Mono | tắt/bật · tắt | tổng mono; tell giảm ≤ 3 dB (32 AT-10) | S |
audio.tell_positional | Âm tell theo vị trí | tắt/bật · tắt | tell pan ±1.0 theo x màn, "tinh" +2 bán cung khi nguồn ngoài màn (32 §2.1); tắt = pan ±0.6 như mọi SFX | S |
audio.tell_enhanced | Âm tăng cường (người nhìn kém) | tắt/bật · tắt | "tinh" ở glint 2 +6 dB, cao độ theo khoảng cách; "ù" to dần theo độ gần vùng P; âm "rì" khi bước vào N (SFX_SHARED_tell_* sẵn có); tự bật a11y.contrast_boost (11 §4.2) | S |
audio.h12_click | Click nhịp H12 | tắt/bật · tắt | lớp click 120 BPM trên bus UI khi chơi H12 (32 §3.5) | S |
audio.latency_ms | Hiệu chỉnh trễ âm | −100…+100 ms bước 10 · 0 | dời phát âm/hình hiển thị phách H12 + glint; KHÔNG dời mốc chấm (≠ Hiệu chỉnh trễ mercy.latency_offset §9, cũng không cờ) | D |
audio.mute_unfocused | Tắt âm khi mất focus | tắt/bật · bật | Master −80 dB khi cửa sổ mất focus | D |
a11y.visual_sound | Chỉ hình (người nghe kém) | tắt/bật · tắt | mọi SFX tell nhân đôi bằng hình: cung sáng 8 px quanh vòng chân hero hướng về nguồn — ◇ vàng ở glint 2 (Y), ▲ tím ở đầu windup (P) (11 §4.2) | S |
- Màn đo trễ (Cài đặt › Âm thanh): 8 lần gõ
CONFIRMtheo click 100 BPM, lấy trung vị lệch → đề xuấtaudio.latency_ms; cùng màn có bước hình (chớp ô 8×8 ngà) để đo trễ hiển thị → đề xuất "Hiệu chỉnh trễ"mercy.latency_offset(§9, không gắn cờ; người chơi tự chọn áp). - Không có lời thoại đọc ở 1.0 (
32§9) → không có option giọng/ngôn ngữ thoại.
86. Chữ, phụ đề, tiếng Việt
6.1 Cỡ chữ & đọc
| Khoá | Tên | Giá trị · mặc định PC / Deck | Hệ chạm | Lưu |
|---|---|---|---|---|
a11y.text_scale | Cỡ chữ | 100 / 125 / 150% · 100 / 125 (sàn Deck platform.ui_text_scale_min 1.25) | đổi font theo vai (40 §1.2), không scale lẻ; 150%: chữ ≥ FNT_BW_L vào TextCanvas | S |
a11y.text_contrast | Nền chữ đặc | tắt/bật · tắt | callout, nameplate, phụ đề, gợi ý: thêm hộp ui-void α 0.85 sau chữ (thay viền 1 px) | S |
a11y.dialogue_speed | Tốc hiện chữ thoại | 20 / 40 / 80 ký tự/s / tức thì · 40 (40 §6.2) | Dialogue | S |
a11y.dialogue_auto | Tự chuyển dòng | tắt/bật · tắt | chuyển sau 1.0 s + 0.05 s × số ký tự | S |
a11y.screen_reader | Đọc màn hình | tắt/bật · tắt | phát a11y_label của phần tử focus cho API đọc màn hình HĐH nếu có (40 §9) | S |
6.2 Tiếng Việt (nguồn VI, 40 §1.1, §8)
- Font
FNT_BW_S/M/L/XL/NUMvẽ tay, đủ 134 ký tự tiếng Việt dựng sẵn + Latin Extended-A; dấu chồng (ể, ặ, ỗ, Ữ) = 2 tầng trong vùng dấu 3–5 UI px, không đè dòng trên; chữ HOA giữ đủ dấu (TẠM DỪNG, LÊN CẤP) — cấm bỏ dấu để vừa hộp. - Chuỗi luôn chuẩn hoá Unicode NFC (ký tự dựng sẵn); CI loc từ chối mọi chuỗi còn dấu kết hợp U+0300–U+0323 sau chuẩn hoá hoặc ký tự ngoài bảng font (thay "□" = lỗi build).
- Cao chữ trên màn (cap + vùng dấu):
FNT_BW_S8 UI px = 32 px @1080p / 24 px @Deck;FNT_BW_M10 UI px = 40 / 30 px. Sàn Deck: chữ nhỏ nhất ≥ 12 px cap (43§8.2) → 125% đạt (S → M ởcaption). - Ngắt dòng: chỉ tại dấu cách; không ngắt giữa số và đơn vị ("12 px", "0.5 s"), giữa glyph nút
{btn:…}và chữ theo sau, và trong tên riêng ≤ 3 âm tiết ("Bà Ulla", "Lò Rèn Vọng", "Khăn Tang") → build loc chèn dấu cách không ngắt (U+00A0). - Đo hộp bằng UI px ở 125% (
40§8); 150% cho phép cuộn (thanh 2 px); cấm "…" trên chữ gameplay. - Số: dấu nghìn VI "1.234", thập phân VI "0,5" trong chữ hiển thị (doc dùng "0.5" cho số kỹ thuật); đơn vị giữ ký hiệu quốc tế (s, px, %).
6.3 Phụ đề & chú thích âm
| Khoá | Tên | Giá trị · mặc định | Nội dung | Lưu |
|---|---|---|---|---|
sub.enabled | Phụ đề | tắt/bật · bật | bark NPC/quái/boss (≤ 48 ký tự, 14 §14), "NÓ ĐÃ ĐỌC BẠN: <thói quen>", thoại hub | S |
sub.speaker | Tên người nói | tắt/bật · bật | "Bà Ulla: …"; quái/boss: tên codex; không phân biệt người nói bằng màu (dùng tên + chân dung 16×16) | S |
sub.bg_opacity | Nền phụ đề | 0–100% bước 10 · 60 | hộp ui-void sau chữ | S |
sub.size | Cỡ phụ đề | theo Cỡ chữ / 125 / 150% · theo Cỡ chữ | — | S |
a11y.tell_subs | Phụ đề tell | tắt/bật · tắt | "[tinh · trái]", "[ù · sau lưng]", "[ĐÁP]", "[Tro đọc]" (11 §4.2); mũi tên hướng ở mép màn khi nguồn ngoài màn (32 §2.1) | S |
sub.sound_captions | Chú thích tiếng động | tắt/bật · tắt | âm quan trọng không phải tell: "[chuông vọng · trên]", "[cửa phòng mở]", "[boss gầm]", "[Tro Nhớ đổi thế]", "[bầy kéo tới · phải]" (beat F9) | S |
- Vị trí: khối
SUBSđáySAFE(40§4.1), ≤ 2 dòng thoại/bark + ≤ 3 dòng tell chồng; tell 1.2 s/dòng; bark/chú thích hiệnmax(1.5, 0.5 + số ký tự / 15)s, trần 6.0 s (vd bark 48 ký tự → 3.7 s)[ASSUMED](tốc đọc VI ~15 ký tự/s). - Hướng 8 chữ: trái · phải · trên · dưới · trái-trên · phải-trên · trái-dưới · phải-dưới; "sau lưng" = nguồn trong nón 90° ngược hướng ngắm. Phụ đề tell hiện đúng tick SFX tell (glint 2 cho Y, đầu windup cho P).
- Phụ đề không bao giờ che vòng chân hero: hero ở 32 art px dưới đáy view → khối
SUBSdời lên trên hero.
97. Vận động (Điều khiển + Trợ năng)
7.1 Option
| Khoá | Tên | Giá trị · mặc định | Hệ chạm | Lưu |
|---|---|---|---|---|
input.preset | Preset điều khiển | PAD_DEFAULT / PAD_SOUTHPAW / PAD_LEFT_ONLY / PAD_RIGHT_ONLY / KBM_DEFAULT / KBM_KEYS / KB_LEFT_ONLY / CUSTOM · theo thiết bị | RebindService (41 §8.2) | S |
input.bindings.* | Remap | 2 ô/action/họ thiết bị | 41 §8.1 | S |
input.ls_deadzone | Vùng chết cần trái | 0.10–0.40 bước 0.05 · 0.20 | MOVE, ngắm LS (combat.aim_ls_deadzone = giá trị này) | S |
input.rs_deadzone | Vùng chết cần phải | 0.15–0.45 bước 0.05 · 0.30 | ngắm RS (combat.aim_rs_deadzone) | S |
input.swap_sticks · input.invert_y | Đảo cần · Đảo trục Y | tắt/bật · tắt | InputFrame | S |
input.mouse_sens | Độ nhạy chuột | ×0.5–×2.0 bước 0.1 · ×1.0 | con trỏ combat (đọc delta thô khi con trỏ bị khoá trong cửa sổ) | S |
input.cursor_confine | Khoá con trỏ trong cửa sổ | tắt/bật · bật (toàn màn) / tắt (cửa sổ) | HĐH | D |
input.aim_assist | Trợ ngắm tay cầm | 0–100% bước 10 · 100 | nhân xoay tối đa (41 §6.2); 0 = tắt | S |
input.boss_lock_hard | Khoá boss cứng (R3 / chuột giữa) | tắt/bật · tắt | AimService (10 §9) — trợ năng, không khoá | S |
input.hold_time_mult | Thời gian giữ | ×0.5–×2.0 bước 0.25 · ×1.0 | UI_C_Hold, giữ trong Draft (Xoá/Bỏ qua 0.5 s), Bỏ run 1.0 s, INTERACT giữ 0.5 s (rương Lời Nguyền, gỡ Relic); KHÔNG áp ANSWER_HOLD (= W) và attack_hold_ticks (gameplay) | S |
input.ash_inspect_toggle | Xem Tro Nhớ kiểu bật | tắt/bật · tắt | ASH_INSPECT chạm 1 = mở, chạm 2 = đóng | S |
input.skill_hold_mode | Kỹ năng ngắm | Giữ-thả / Chạm-chạm · Giữ-thả | kỹ năng cast_mode = HOLD: chạm 1 bắt đầu nạp/ngắm, chạm 2 tung; tự tung sau 3.0 s (41 §5) | S |
input.attack_toggle | Đánh kiểu bật (chỉ hero AUTO_CHAIN) | tắt/bật · tắt | chạm ATTACK = bật tự nối combo như đang giữ; chạm lại / mở màn / chết = tắt; hero CHARGE/CHANNEL/STANCE/DIG không áp | S |
input.move_latch | Giữ hướng đi khi nhả cần | 0 / 0.25 / 0.50 s · 0 (preset 1 tay: 0.25) | MOVE giữ vectơ cuối trong thời gian này khi ngón cái rời cần để bấm d-pad/ABXY | S |
input.confirm_swap | Đảo xác nhận/huỷ | tắt/bật · tắt | map UI (✕ ↔ ○; 41 §3.1) | S |
input.confirm_style | Kiểu xác nhận lệnh nguy hiểm | Giữ / 2 bước · Giữ | UI_C_Hold hoặc UI_C_Confirm 2 bước | S |
input.ui_repeat_delay | Trễ lặp điều hướng | 0.25–0.80 s · 0.35 | NAV (40 §3.1) | S |
input.haptic_strength · input.haptic_tells | Rung tay cầm · Rung tell | 0–100% · 100 · bật | Haptics (41 §10); KBM 0 (platform.haptics) | S |
- Verb giữ kiểu bật (chạm 1 vào, chạm 2 ra) KHÔNG nằm ở đây: Bible §4.3 xếp vào Thương Xót (§9, gắn cờ).
7.2 Preset 1 tay (Bible §4.3 "chế độ 1 tay"; không hành động nào cần 2 nút cùng lúc — 12 §1.1)
Mọi preset 1 tay: aim_mode = AIM_MOVE (đổi lại được), input.move_latch 0.25 s, MAP = mục "Bản đồ" trong Pause.
action_id | PAD_LEFT_ONLY | PAD_RIGHT_ONLY | KB_LEFT_ONLY (không chuột) |
|---|---|---|---|
MOVE | LS | RS | WASD |
ATTACK | LT | RT | Space |
ANSWER_HOLD | LB | RB | Q |
DASH | L3 · Deck: L4 | A · Deck: R4 | Shift trái |
SKILL_1 · SKILL_2 · SKILL_3 | d-pad ← · ↑ · → | X · Y · B | E · R · F |
ULT | d-pad ↓ | R3 | X |
POTION | View chạm < 0.25 s · Deck: L5 | Menu chạm < 0.25 s · Deck: R5 | 1 |
ASH_INSPECT | View giữ ≥ 0.25 s | View (giữ) | Tab |
INTERACT | = ATTACK khi có nhắc (vật ready chỉ có khi phòng sạch) | = ATTACK khi có nhắc | G |
PAUSE | Menu | Menu giữ ≥ 0.5 s | Esc |
Map UI | LS điều hướng · LT xác nhận · LB quay lại · d-pad ←/→ tab | RS · RT · RB · X/B tab | WASD · Space · Esc · Q/E |
- Chạm/giữ trên cùng 1 nút (View, Menu) = ngữ nghĩa theo thời lượng, không phải tổ hợp;
POTIONphát lúc nhả (trễ ≤ 0.25 s, chấp nhận cho preset). - Kiểm: 1 run Hồi I trọn vẹn với mỗi preset (
41CT-14).
108. Nhận thức (Trò chơi + Trợ năng)
| Khoá | Tên | Giá trị · mặc định | Hệ chạm | Lưu |
|---|---|---|---|---|
game.hints | Gợi ý nút | tắt/bật · bật | HINT 1 dòng trong run (40 §10.2) | S |
game.glossary_auto | Tự chú giải từ khoá lần đầu | tắt/bật · bật | thẻ/tooltip: lần đầu gặp từ khoá (Dư Âm, Dạng Rèn, Then Chốt, Khăn Tang, STS_*…) mở chú giải 1 dòng; luôn xem được bằng DETAIL (View/Tab) | S |
game.draft_timer | Đồng hồ tự chọn draft | 6 s / 12 s / Tắt · 6 s | Draft (40 §5.3); chỉ draft phòng thường; không lợi thế (World ×0.15, đồng hồ run vẫn chạy) | S |
game.objective_reminder | Nhắc mục tiêu phòng | tắt/bật · bật | OBJECTIVE (40 §4.4) nháy viền 1 lần sau 20 s không tiến độ [ASSUMED] | S |
game.ash_pct | Hiện số % Tro Nhớ | tắt/bật · bật | AshInspect (40 §4.5.3) | S |
game.hud_declutter | Giảm nhiễu HUD | tắt/bật · tắt | trong giao tranh: hoãn toast thành tựu/mở khoá tới khi phòng sạch, ẩn bộ đếm combo, callout chỉ M/L/XL; không ẩn HP, Dư Âm, ô kỹ năng, tell | S |
game.auto_pause_focus | Tự tạm dừng khi mất focus | tắt/bật · bật (Deck khoá bật) | 43 §8.3 | S |
game.combat_toasts | Thông báo trong trận | Ngay / Hoãn tới phòng sạch · Hoãn | Steam/thành tựu toast (40 §0.2 Overlay) | S |
game.cross_run_memory | Trí nhớ xuyên run | tắt/bật · bật | AshMemory MACRO (14 §9.6 hàng "Công tắc TẮT", §10.1, Q14). TẮT = không đọc/ghi Sổ Thù save/ash_profile_<steamId>.json (không thế mở màn MACRO BS_B1–BS_B4 §9.3, không thẻ "X nhớ…"; BS_FINAL P2 dùng thứ tự bóng mặc định BS_B4 → BS_B3 → BS_B2 §9.5); không Sẹo (không bật Sẹo đã khắc, ẩn nút "Khắc Sẹo" §9.4); MESO mỗi run khởi đầu từ phòng đầu (14 §7.1), không mang hồ sơ hero từ run trước. Bản ghi + Sẹo giữ nguyên, xám trong codex; BẬT lại → dùng tiếp. KHÔNG đổi MICRO/MESO trong run, trần/luật công bằng 14 §11, ash_level. Chỉ có tác dụng ở STANDARD/ENDLESS (DAILY/Truy Tuần/BOSS_RUSH/CUSTOM vốn không dùng Sổ Thù, 14 §9.6). KHÔNG gắn mercy_used, KHÔNG khoá leaderboard (DAILY / Truy Tuần / ENDLESS / BOSS_RUSH), KHÔNG chặn thành tựu Độ Tang (14 Q14). Đổi giữa run: áp ngay từ lần đọc/ghi Sổ Thù kế (điểm lưu, đầu trận boss), không UI_C_Confirm. ≠ "Xoá Sổ Thù" (14 §9.6, xoá thật) | S |
- Tạm dừng được MỌI lúc trong run (kể cả boss, DAILY; đồng hồ run dừng,
43§8.3); tiếp tục đếm 0.3 s; tell đang chạy đóng băng, mờ 50%. - Mọi bài hướng dẫn xem lại được ở Sân Tập (Sân Tập ST_YARD, menu
Yard); codex ghi mọi cơ chế đã gặp (CDX_*).
119. Hỗ trợ độ khó — Thương Xót (Bible §4.3, meta.mercy, 11 §4.1, 19 §6.1)
Bất kỳ mục nào khác mặc định trong run → cờ run mercy_used (giữ tới hết run kể cả khi tắt lại): không nộp leaderboard (DAILY / Truy Tuần / ENDLESS / BOSS_RUSH), không mở thành tựu Độ Tang (mercy_blocked). KHÔNG giảm Tro Hồn/Mảnh Vọng/Nến Canh/Thông Thạo, không khoá kết, hero, codex, thành tựu truyện; dùng chung được với Khăn Tang (MRN01–MRN15). Bật giữa run → UI_C_Confirm (40 §5.6); HUD: icon nến tắt 8×8 ui-text-2 ở đầu phải khối MODE, ngay trên Độ Tang (40 §4.1).
| Khoá | Tên | Giá trị · mặc định | Hệ chạm | Luật |
|---|---|---|---|---|
mercy.dmg_taken | Sát thương nhận | 0 / −25 / −50 / −75% · 0 | Damage.EnemyToHero (bước 6 10 §3.3) | ngay |
mercy.answer_window | Cửa sổ ĐÁP | +0 / +0.03 / +0.06 s · +0 | Defense.Window | cộng vào gốc hero, kẹp 15 tick; H12 cộng sau phách (tối đa 0.24 s) |
mercy.game_speed | Tốc game | 70–100% bước 5 · 100 | Time.GameScale | nhân MỌI đồng hồ gồm máy nhịp H12 (BPM × tỉ lệ); nhạc giữ cao độ |
mercy.auto_aim | Tự ngắm | tắt/bật · tắt | Aim.Assist → AIM_AUTO (140 / 300 px) | LS chỉ di chuyển |
mercy.hold_toggle | Verb giữ | Giữ / Bật · Giữ | Input.HoldMode | Bật: chạm ANSWER_HOLD vẫn = ĐÁP; giữ tới W = vào verb giữ và ở lại sau khi thả; chạm lần nữa = ra (19 §6.1) |
mercy.ash_zero | Tro Nhớ 0 | tắt/bật · tắt | AshMemory L_eff = 0 từ REST kế (INV-15); Ấn EM12 trống | — |
mercy.auto_defense | Phòng Thủ Tự Động 50% | tắt/bật · tắt | Defense.Auto | tất định: bộ đếm luân phiên mỗi đòn Y lẽ ra trúng hero (chưa ĐÁP/che/Lướt), đòn lẻ được tự ĐÁP; chỉ hiệu ứng chung 11 §2.2, không Dư Âm, không tài nguyên, không Phản (11 §4.1) |
mercy.h12_beat | Nhịp Ambrin | ±0.12 / ±0.16 s · ±0.12 | H12 rhythm_window | — |
mercy.h07_peak | Đỉnh Hơi Veyra | +0 / +0.04 s · +0 | H07 | cửa sổ tài nguyên, không phải ĐÁP |
- Không thuộc Thương Xót (không cờ): Hiệu chỉnh trễ
mercy.latency_offset(bảng dưới, DEC-2026-11-07-16),platform.answer_window_bonus_stheo nền tảng (0 trên PC/Deck), mọi option §2–§8. - Hiệu chỉnh trễ — hiệu chỉnh/trợ năng, KHÔNG phải Thương Xót (Bible §4.3 DEC-2026-11-07-16,
19Q7): hiện ở tab Trợ năng (cạnh màn đo trễ §5) và chung menu Thương Xót; khoá giữ tiền tốmercy.chỉ vì vị trí menu (19§6.1 trỏ tên này), không mang luật cờ:
| Khoá | Tên | Giá trị · mặc định | Hệ chạm | Luật |
|---|---|---|---|---|
mercy.latency_offset | Hiệu chỉnh trễ | −0.10…+0.10 s bước 0.01 · 0 | Input.LatencyOffset | dời mốc chấm ĐÁP/phách H12/Đỉnh Hơi theo trễ hiển thị đo được; KHÔNG nới cửa sổ; mọi giá trị (kể cả khác 0) KHÔNG gắn mercy_used, KHÔNG khoá leaderboard (DAILY / Truy Tuần / ENDLESS / BOSS_RUSH), KHÔNG chặn thành tựu Độ Tang; lưu D (theo máy/màn hình); áp ngay, kể cả giữa run, không UI_C_Confirm, không biểu tượng HUD |
- Preset "Chọn cách đi" (
19§6.2; chỉ là bộ điền §9):
| Preset | Sát thương nhận | ĐÁP | Tự ngắm | Verb giữ | Phòng Thủ Tự Động | Tro Nhớ | Tốc game | Cờ |
|---|---|---|---|---|---|---|---|---|
| Kể Chuyện | −50% | +0.06 s | bật | người chơi chọn Giữ/Bật | 50% | 0 | 100% | mercy_used |
| Đồng Hành | −25% | +0.03 s | bật | người chơi chọn Giữ/Bật | tắt | giữ | 100% | mercy_used |
| Hành Trình (mặc định) | 0 | 0 | tắt | Giữ | tắt | giữ | 100% | không |
- Chỉnh tay bất kỳ ô nào → hiện "Tự chỉnh". Ví dụ: H01 Gạt gốc 0.16 s + Kể Chuyện +0.06 = 0.22 s =
ceil(0.22 × 60 − 0.001)= 14 tick (≤ kẹp 15) ✓; H12 đúng phách 0.20 + 0.06 = 0.26 → kẹp 0.24 s (11§3.1).
1210. Preset trợ năng nhanh (Trợ năng › "Preset", không gắn cờ)
| Preset | Bật / đặt |
|---|---|
| Nhìn kém | Cỡ chữ 150% · Nền chữ đặc · Tell mù màu · Âm tăng cường (+ tăng tương phản) · Âm tell theo vị trí · Viền hero 3 px · Vòng chân đậm · Mũi tên ngoài màn · Reticle Luôn · Dấu ngắm 3× |
| Nghe kém | Phụ đề + tên người nói · Phụ đề tell · Chú thích tiếng động · Chỉ hình · Rung tell bật · Mũi tên ngoài màn |
| Mù màu | cvd_mode hỏi chọn Đỏ–lục / Lam–vàng / Đơn sắc → §3.3 |
| Nhạy sáng & chuyển động | Giảm chớp · Giảm chuyển động · Rung màn 0% · Giảm hạt FX · Viền HP thấp Tĩnh |
| Vận động | hỏi tay (trái/phải/bàn phím) → preset 1 tay §7.2 · Thời gian giữ ×1.5 · Xem Tro Nhớ kiểu bật · Kỹ năng Chạm-chạm · Đánh kiểu bật · Kiểu xác nhận 2 bước |
| Nhận thức | Đồng hồ draft Tắt · Giảm nhiễu HUD · Thông báo hoãn · Tự chú giải · Tốc chữ thoại 20 |
- Preset cộng dồn (bật preset sau không tắt option preset trước); "Mặc định" theo tab trả về bảng §2–§8.
1311. Xem trước & kiểm thử
- Mọi option §2–§8 có ảnh/clip minh hoạ 128×72 trong
Settings(40§6.3) + nút "Thử ở Sân Tập" (chỉ ở hub): Sân Tập ST_YARD mở dummy tell Y/P/N từng hạng, Thương Xót xem trước không gắn cờ (Sân Tập không phải run).
| # | Ca | Đạt khi |
|---|---|---|
| AC-01 | Mù màu | 4 mô phỏng §3.4 + xám 50%: người thử nhận đúng Y/P/N ≥ 95% trong 40 tell ngẫu nhiên (5 s/tell) trên B2, B4, 250 quái |
| AC-02 | Nhạy sáng | kiểm tự động §4.2 đạt ở 6 cảnh × 2 chế độ |
| AC-03 | Chữ VI | ảnh chụp mọi màn ở 1280×800 × 3 cỡ chữ: 0 dấu bị cắt, 0 "□", 0 tràn hộp ở 125%, chữ nhỏ nhất ≥ 12 px |
| AC-04 | Phụ đề tell | mỗi đòn Y/P nhắm hero có 1 dòng đúng tick SFX, đúng hướng 8 chữ |
| AC-05 | Thương Xót | bật/tắt từng mục giữa run → cờ mercy_used giữ; bảng DAILY từ chối nộp; tiền meta không đổi so với run cùng seed không cờ |
| AC-06 | Trợ năng không khoá | bật mọi option §2–§8 + mercy.latency_offset = +0.10 s và −0.10 s (đổi cả giữa run) → không cờ mercy_used, run vẫn nộp bảng DAILY, mở thành tựu Độ Tang |
| AC-07 | Áp ngay | đổi từng option khi đang mở màn: UI dựng lại ≤ 1 frame, không khởi động lại |
| AC-08 | Lưu | đổi máy (Steam Cloud): option S theo người; option D giữ theo máy |
| AC-09 | 1 tay | 41 CT-14 |
| AC-10 | Deck | mặc định Deck đúng bảng (chữ 125%, FX 70%, Loa nhỏ khi loa trong, Vùng an toàn khoá 0) ở lần chạy đầu |
14Quy tắc cho dev/AI
- Option mới = thêm 1 hàng vào bảng nhóm tương ứng (khoá, tên, giá trị · mặc định PC/Deck, hệ chạm, lưu S/D) + màn
Settings40§6.3 + chuỗi loc cùng lượt. - Option không bao giờ đổi hex tell world, windup, cửa sổ, token, mũi tên công bằng bắt buộc; đổi số gameplay = Thương Xót (cờ) hoặc DEC.
- Không bộ lọc màu toàn màn; mù màu chỉ thêm hình/mẫu/viền/độ sáng (§3).
- Mọi chớp mới phải khai báo vào §4.2 kèm bản Giảm chớp và qua kiểm tự động §4.2 trước merge.
- Chuỗi VI: NFC, đủ dấu, đo hộp ở 125%, không "…" trên chữ gameplay, dấu cách không ngắt trong tên riêng ≤ 3 âm tiết.
- Đọc option qua
AccessibilitySettings/SettingsService+ sự kiệnAccessibilityChanged(key); cấm PlayerPrefs trực tiếp.
15Quyết định đã chốt
| # | Câu hỏi | Quyết định | Lý do |
|---|---|---|---|
| A1 | Bước Tốc game? | 2026-11-07 — 5% (11 §4.1, 40 §6.3); lệch 19 §6.1 (10%) | doc nền 11 thắng; 7 nấc 70–100 |
| A2 | Phòng Thủ Tự Động ngẫu nhiên hay tất định? | 2026-11-07 — tất định luân phiên (11 §4.1); lệch 19 §6.1 (roll 50% luồng ai) | doc nền 11 thắng; đoán trước được, không hao RNG |
| A3 | Khoảng Hiệu chỉnh trễ? | 2026-11-07 — ±0.10 s bước 0.01 (11 §4.1, 32 §5.8); lệch 19 §6.1 (±150 ms) | doc nền 11 + 32 cùng số |
| A4 | Hiệu chỉnh trễ có gắn cờ? | 2026-11-07 — KHÔNG: mercy.latency_offset không bao giờ gắn mercy_used, không khoá leaderboard/thành tựu Độ Tang (Bible §4.3 DEC-2026-11-07-16, chấp nhận 19 Q7) | chỉ bù trễ hiển thị (TV, Deck dock), không nới cửa sổ; khoá leaderboard = phạt người chơi trên màn hình trễ |
| A5 | Bộ lọc mù màu toàn màn? | không; chỉ lớp hình + bổ sung theo chế độ | bộ lọc phá INV-01a (dải hue tell, slot hero) |
| A6 | Ngưỡng chớp? | ≤ 3/1.0 s toàn màn, vùng ≥ 160×90 art px; chớp màn ≤ 2/s α ≤ 0.35; cấm chớp đỏ | 31 R9 + chuẩn an toàn nhạy sáng phổ biến |
| A7 | Chớp trắng trúng đòn khi Giảm chớp? | giữ, ≤ 1/0.33 s mỗi mục tiêu, α 0.6 | INV-10 + 31 §6.2 không cắt nháy trắng |
| A8 | Thời gian giữ áp INTERACT? | có (0.5 s × hệ số); không áp ANSWER_HOLD/attack_hold_ticks | INTERACT chỉ khi phòng sạch → không phải gameplay; W là luật INV-11 |
| A9 | Verb giữ kiểu bật? | Thương Xót (cờ), không phải trợ năng | Bible §4.3 liệt kê trong Thương Xót |
| A10 | Mặc định Deck? | chữ 125%, FX 70%, Loa nhỏ khi loa trong, fps 60, Vùng an toàn khoá 0 | 43 §8.2, 01 §5.1 |
| A11 | Cảnh báo nhạy sáng? | màn 4 s trước chọn ngôn ngữ ở lần chạy đầu, nút mở Trợ năng | người chơi chỉnh trước cảnh chớp đầu tiên |
| A12 | Tab, luồng lần đầu, icon Thương Xót, khoá Trí nhớ xuyên run? | 2026-11-07 — theo 40: tab "Dữ liệu & quyền riêng tư", luồng PhotoWarning → Language → Consent → QuickSetup → Title (40 §3.2), icon nến tắt trong khối MODE (40 §4.1); thêm khoá game.cross_run_memory (14 §9) | doc 40 là nguồn màn hình/HUD; option cần khoá để cài đặt |