1Tổng quan
27
VFX
27
SFX
7
bark
0
tài sản môi trường
Chủ sở hữu: Cái Lặng BS_TRUE
📚
Doc định nghĩa luật 30-Art-Direction §2.3, §3.4, §3.5, §5.1, §5.5, §5.6, §8 · 32-Audio-Bible §2.1, §2.4, §4.2–4.4, §5.2–5.7, §9, §10.1, §11.1, §12.2 · 14-Adaptive-AI §9.5 (BASE R1–R5, mirror_hero; không CV) · bosses/BS_TRUE.json; vfx[] rỗng: spec VFX_BS_TRUE_* nằm ở av/BS_TRUE__<part> khác; clip P3 (mirror_*, echo_*, summon_shade, last_hush) dùng lại atlas hero đang chơi + PAL_LUT hàng 13, frames = khung dòng thời gian; hook BossBaseRead / BossWedgeWarn / EnemyWindupHold / EnemyAttackActive là sự kiện mới cần thêm vào doc 32 §12.2
2VFX (27)
27 dòng
| ID | Hạng | Lớp | Frame | Giây | Palette | Kích hoạt |
|---|---|---|---|---|---|---|
| VFX_BS_TRUE_A01_arrow | S | floor_decal | 8 | 0.667 | #282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A01 báo trước: t = 0 = 3.0 s trước windup (wedge_warn_s 3.0), cùng SFX chuông 660 Hz; sống tới va chạm (t = 4.0 s) rồi tắt |
| VFX_BS_TRUE_A01_wedge | XL | floor_decal | 15 | 0.5 | #1a1821#3a394c#595975#8386a8#b9bce0 | BS_TRUE_A01 va chạm: t = 0 = hết windup 1.0 s (active 0.1 s); rẻ thành vùng N Lặng 30 s; nhả (rẻ thứ 3 bị nuốt hoặc hết 30 s hoặc vào P2) = mờ 0.5 s |
| VFX_BS_TRUE_A02_spike | M | body_front | 9 | 0.3 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A02 va chạm: t = 0 = hết windup 0.55 s (active 0.08 s); dùng lại cho nhịp đâm của combo Đâm Rồi Rải / Xoay Rồi Ném |
| VFX_BS_TRUE_A03_fan | M | body_front | 9 | 0.3 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A03 mỗi nhịp: t = 0 = frame va chạm (nhịp 1 sau windup 0.6 s, nhịp 2/3 sau khe beat_gap 0.45 s); active 0.08 s |
| VFX_BS_TRUE_A04_pellet | S | overhead | 6 | 0.4 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A04 projectile spawn: t = 0 = hết windup 0.6 s, 5 viên toả 48° (bước 12°), tốc 210 px/s, bay tới r_max 320 rồi pop; pop khi trúng/hết tầm |
| VFX_BS_TRUE_A05_drop | L | overhead | 21 | 0.7 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A05: t = 0 = va chạm (hết windup 0.9 s, active 0.1 s); sheet bắt đầu t = −0.2 (lõi rơi vào khung), điểm rơi = vị trí hero lúc bắt đầu windup (khoá từ t… |
| VFX_BS_TRUE_A06_ring | XL | floor_tell | 84 | 2.8 | #b14cff#ffffff | BS_TRUE_A06 windup start t = −0.8 s; vành chạy từ t = 0, r(t) = 30 + 120·t, tới mép r240 ở t = 1.75 s (active 1.8 s), tan 0.2 s |
| VFX_BS_TRUE_A07_shed | S | overhead | 8 | 0.533 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A07 windup start t = 0: 3 cụm hạt bứt khỏi bầy, bay 0.8 s tới 3 điểm spawn ngoài r90; t = 0.8 = mở VFX_SHARED_summon_vortex 1.0 s tại mỗi điểm |
| VFX_BS_TRUE_A08_inhale | S | floor_decal | 12 | 0.4 | #282732#3a3a48#5e5c70#8888a0#dcdce4 | spawn bởi VFX_BS_TRUE_A08_field (BS_TRUE_A08 active 0 → 2.5 s): 20 vệt/s trên biên r200; mỗi vệt t = 0 = lúc spawn, đời 0.4 s |
| VFX_BS_TRUE_A08_field | XL | floor_decal | 84 | 2.8 | #5e5c70 | BS_TRUE_A08: t = −0.6 s = bắt đầu windup; t = 0 = bắt đầu kéo; kéo 26 px/s trong r200 suốt active 2.5 s; recovery 0.3 s tan |
| VFX_BS_TRUE_A09_close | L | body_front | 48 | 1.6 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A09: sheet t = −1.0 = windup start (vành chuông dựng), t = 0 = chuông úp (va chạm, active 0.1 s); lõi đứng yên 1.3 s sau đó |
| VFX_BS_TRUE_A10_whirl | L | body_front | 12 | 0.4 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A10 mỗi nhịp: t = 0 = va chạm (nhịp 1 sau windup 0.65 s, nhịp 2–4 sau khe beat_gap 0.5 s); active 0.08 s; luân phiên phải–trái |
| VFX_BS_TRUE_A11_drift | S | overhead | 8 | 0.533 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A11 projectile spawn: t = 0 = hết windup 0.9 s; 2 khối lệch nhau 30°, bay thẳng 110 px/s tới r_max 400 rồi tan; đường bay tím đã vẽ ≥ 0.45 s trước (VFX… |
| VFX_BS_TRUE_A12_bell_chunk | M | overhead | 8 | 0.533 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A12 projectile spawn: t = 0 = hết windup 0.7 s; 1 khối bay 180 px/s tới điểm ngắm (lệch 24 px theo Lướt cuối nếu R2 BASE), vỡ khi trúng/hết tầm 380 |
| VFX_BS_TRUE_A13_spike_hold | M | body_front | 38 | 1.267 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A13: sheet t = −0.95 = windup start (pose giữ 'nín thở'), t = 0 = va chạm (active 0.08 s); glint 2 chung đúng t = −0.12 |
| VFX_BS_TRUE_A14_echo | M | body_front | 9 | 0.3 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A14: t = 0 = frame chạm của clip hero echo_move (hits[0].t), sau windup 0.70 s; P3 Gương Lặng |
| VFX_BS_TRUE_A15_echo_open | M | body_front | 9 | 0.3 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A15: t = 0 = frame chạm của clip hero COMBO_A_1 (hits[0].t), sau windup 0.50 s; P3 Gương Lặng |
| VFX_BS_TRUE_A16_echo_finish | M | body_front | 9 | 0.3 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | BS_TRUE_A16: t = 0 = frame chạm của clip hero FINISHER (hits[0].t), sau windup 0.60 s; P3 Gương Lặng |
| VFX_BS_TRUE_A17_shade_rise | M | floor_decal | 54 | 1.8 | #1a1821#3a394c#595975#8386a8#b9bce0 | BS_TRUE_A17: sheet t = 0 = windup start (bóng hero cúi chạm nước); điểm spawn ngoài r90; VFX_SHARED_summon_vortex mở t = 0.8 (1.0 s); EN_B6_01 nhận điều khiển … |
| VFX_BS_TRUE_A18_last_ring | XL | floor_tell | 96 | 3.2 | #b14cff#ffffff | BS_TRUE_A18 (1 lần, HP ≤ 10% trong P3) windup start t = −1.2 s; vành chạy t = 0, r(t) = 24 + 120·t, chạm r240 t = 1.8 s; active 2.0 s; recovery 2.0 s rồi nối c… |
| VFX_BS_TRUE_read_glyph | S | overhead | 18 | 0.6 | #282732#5e5c70#9797a0#dcdce4 | Báo đọc BASE (lần đầu mỗi phản ứng R1–R5 trong trận, R1 thêm mỗi rẻ): t = 0 = đầu khựng 0.6 s pose ash_read; hiệu lực phản ứng từ t + 1.0 s |
| VFX_BS_TRUE_broken | M | body_front | 12 | 1 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | Vỡ Thế (Thế 200 về 0): t = 0 = vào BROKEN (cùng VFX_SHARED_guard_break), kéo dài BROKEN_TIME 4.0 s; clip vào 0.3 s → loop → clip ra 0.3 s |
| VFX_BS_TRUE_idle_swarm | M | body_back | 24 | 2 | #3c3a4a#5e5c70#8888a0#adafc3#9797a0#dcdce4 | Thân bầy hạt luôn phát khi boss sống ở P1/P2 (và lớp hạt rơi khỏi vai ở P3); t = 0 = spawn sau cảnh mở; chạy song song mọi clip thân |
| VFX_BS_TRUE_intro | L | body_front | 120 | 4 | #1a1821#3a3a48#5e5c70#8888a0#b9bce0#dcdce4 | Cảnh mở 7.0 s (boss bất tử, cổng Nam đã khoá + xoáy 1.0 s): sheet t = 0 = cảnh mở + 2.0 s; trước đó (t −2.0 → 0) và sau sheet (t 4.0 → 5.0) là shader thủ tục |
| VFX_BS_TRUE_phase2_swallow | L | body_front | 45 | 1.5 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | Vào P2 (HP 60%): t = 0 = đầu chuyển pha (bất tử 1.5 s, clip phase quỳ); cùng VFX_SHARED_screen_phase; snapshot SN_SWALLOW bật t = 0.75 |
| VFX_BS_TRUE_phase3_mirror | M | body_front | 60 | 2 | #1a1821#282732#3a3a48#5e5c70#8888a0#dcdce4 | Vào P3 (HP 30%): t = 0 = đầu chuyển pha (bất tử 2.0 s); cùng VFX_SHARED_screen_phase; sprite hero + LUT 13 nhận điều khiển t = 2.0 |
| VFX_BS_TRUE_death | L | body_front | 90 | 3 | #1a1821#3a3a48#5e5c70#8386a8#b9bce0#dcdce4 | BS_TRUE chết (HP 0 trong P3): t = 0 = on_death, cùng VFX_SHARED_death_xl; quái phụ tan tro 0.8 s song song |
3SFX (27)
27 dòng
| ID | Loại | Bus | ms | Biến thể | Tell | Hook |
|---|---|---|---|---|---|---|
| SFX_BS_TRUE_intro | move | Boss | 1300 | 1 | none | BossIntro bossId=BS_TRUE (mốc 3.0 s cảnh mở: hero bước 1 bước; SN_BOSS_INTRO + stinger boss_intro của MUS_quiet_shore do MusicDirector ở mốc 7.0 s) |
| SFX_BS_TRUE_move_loop | loop | Boss | 4000 | 1 | none | BossState BS_TRUE state=MOVE (tốc > 5 px/s; dừng fade 150 ms khi đứng, windup, Vỡ Thế; P3 phát −6 dB LP 1.5 kHz) |
| SFX_BS_TRUE_sig_a | impact | Boss | 900 | 2 | none | EnemyAttackContact attackId=BS_TRUE_A01 (rẻ bị nuốt; tell tím = SFX_SHARED_tell_p_swell cắt cứng + SFX_SHARED_tell_p_impact chung; ngay sau đó SN_WEDGE cho her… |
| SFX_BS_TRUE_sig_b | cast | Boss | 900 | 2 | none | EnemyWindupStart attackId=BS_TRUE_A08 (Hút Lặng, không tell; loop SFX_BS_TRUE_A08_inhale nối từ khung 18) |
| SFX_BS_TRUE_sig_c | cast | Enemy | 1200 | 1 | none | EnemyAttackCut attackId=BS_TRUE_A14 (Đòn Vọng; tell = SFX_SHARED_tell_y_glint1 + tell_y_tinh chung) |
| SFX_BS_TRUE_phase | cast | Boss | 2000 | 2 | none | BossPhase bossId=BS_TRUE phase=2 → biến thể 01 'nuốt' (bật SN_SWALLOW 1.5 s) · phase=3 → biến thể 02 'nhả' (tắt SN_SWALLOW 2.0 s); kèm __stg_phase2 / __stg_pha… |
| SFX_BS_TRUE_broken | impact | Boss | 1100 | 2 | none | PoiseBroken enemyId=BS_TRUE (sau SFX_SHARED_poise_break chung) |
| SFX_BS_TRUE_death | explode | Boss | 4000 | 1 | none | BossDefeated bossId=BS_TRUE (mốc 2.0 s cảnh hạ: lõi nứt; MUS_end_quiet_shore nhận tiếp; kèm __stg_victory) |
| SFX_BS_TRUE_read | cast | Tell | 600 | 1 | none | BossBaseRead bossId=BS_TRUE read=R1|R2|R3|R4|R5 (lần đầu mỗi phản ứng trong trận; R1 thêm mỗi rẻ mới) — t0 khựng 0.6 s |
| SFX_BS_TRUE_A01_bell | cast | Tell | 500 | 1 | none | BossWedgeWarn attackId=BS_TRUE_A01 (3.0 s trước windup, cùng VFX_BS_TRUE_A01_arrow; + 1 lần dạy luật ở mốc 5.0 s cảnh mở) |
| SFX_BS_TRUE_A02_spike | swing | Boss | 260 | 3 | none | EnemyAttackCut attackId=BS_TRUE_A02 (tell Y = SFX_SHARED_tell_y_glint1 + tell_y_tinh chung) |
| SFX_BS_TRUE_A03_fan | swing | Boss | 280 | 3 | none | EnemyAttackCut attackId=BS_TRUE_A03 beat=1|2|3 (mỗi nhịp 1 lần; tell Y mỗi nhịp 1 'tinh' riêng chung) |
| SFX_BS_TRUE_A04_scatter | shot | Boss | 320 | 3 | none | EnemyProjectileFire attackId=BS_TRUE_A04 (5 viên 1 sự kiện; tell Y chung) |
| SFX_BS_TRUE_A05_drop | impact | Boss | 1000 | 2 | none | EnemyAttackContact attackId=BS_TRUE_A05 (lớp thân; tell P = SFX_SHARED_tell_p_swell + tell_p_impact chung) |
| SFX_BS_TRUE_A06_ring | cast | Boss | 2200 | 2 | none | EnemyAttackContact attackId=BS_TRUE_A06 (vành nhả; tell P chung = swell tới va chạm + tell_p_impact) |
| SFX_BS_TRUE_A07_shed | cast | Boss | 700 | 2 | none | EnemySummon attackId=BS_TRUE_A07 (3 cụm bứt ra; xoáy = SFX_SHARED_summon_vortex chung qua SummonVortex) |
| SFX_BS_TRUE_feint | move | Tell | 250 | 3 | none | EnemyFeint enemyId=BS_TRUE attackId=BS_TRUE_A16 (chỉ P3, ≤ 1/chuỗi; phát chồng SFX_SHARED_tell_feint) |
| SFX_BS_TRUE_A08_inhale | loop | Boss | 2000 | 1 | none | EnemyAttackActive attackId=BS_TRUE_A08 (loop suốt active 2.5 s; dừng fade 100 ms khi hết hút hoặc Vỡ Thế) |
| SFX_BS_TRUE_A09_close | impact | Boss | 1000 | 2 | none | EnemyAttackContact attackId=BS_TRUE_A09 (lớp thân; tell P chung = swell + tell_p_impact) |
| SFX_BS_TRUE_A10_whirl | swing | Boss | 300 | 4 | none | EnemyAttackCut attackId=BS_TRUE_A10 beat=1..4 (mỗi nhịp 1 lần; tell Y mỗi nhịp 1 'tinh' chung) |
| SFX_BS_TRUE_A11_drift | shot | Boss | 400 | 3 | none | EnemyProjectileFire attackId=BS_TRUE_A11 (2 khối; loop bay = SFX_SHARED_tell_p_proj chung ≤ 2 voice) |
| SFX_BS_TRUE_A12_hurl | shot | Boss | 450 | 3 | none | EnemyProjectileFire attackId=BS_TRUE_A12 (tell Y chung; trúng/phản = SFX_SHARED_proj_reflect chung) |
| SFX_BS_TRUE_A13_hold | move | Boss | 350 | 2 | none | EnemyWindupHold attackId=BS_TRUE_A13 (bắt đầu pose giữ 'nín thở'; tell Y chung không đổi) |
| SFX_BS_TRUE_A15_echo | swing | Enemy | 300 | 4 | none | EnemyAttackCut attackId=BS_TRUE_A15 (tell Y chung) |
| SFX_BS_TRUE_A16_echo | swing | Enemy | 350 | 4 | none | EnemyAttackCut attackId=BS_TRUE_A16 (tell Y chung; nếu là nhịp lừa thì SFX_BS_TRUE_feint đã phát trước) |
| SFX_BS_TRUE_A17_shade | cast | Boss | 1100 | 2 | none | EnemySummon attackId=BS_TRUE_A17 (xoáy = SFX_SHARED_summon_vortex chung) |
| SFX_BS_TRUE_A18_last | cast | Boss | 2400 | 1 | none | EnemyAttackContact attackId=BS_TRUE_A18 (vành Lặng Cuối nhả; tell P chung = swell 1.2 s + tell_p_impact; 1 lần/trận) |
4Bark (7)
| ID | Người nói | Kích hoạt | Lời thoại |
|---|---|---|---|
| BARK_BS_TRUE_wedge | BS_TRUE | BossBaseRead read=R1 'Nuốt chỗ bạn đứng' (lần đầu trong trận + mỗi rẻ mới; khựng 0.6 s, c… | [chuông nhỏ — chỗ bạn đứng sắp bị nuốt] |
| BARK_BS_TRUE_dash_read | BS_TRUE | BossBaseRead read=R2 'Nghe bước Lướt' (lần đầu A12 lệch ngắm theo Lướt cuối ≤ 2.0 s; call… | [nó nghe bước Lướt của bạn] |
| BARK_BS_TRUE_hug | BS_TRUE | BossBaseRead read=R3 'Hút kẻ đứng gần' (lần đầu hero ở trong r140 ≥ 3.0 s → A08 ưu tiên; … | [tro kéo bạn lại gần] |
| BARK_BS_TRUE_swallow | BS_TRUE | BossPhase phase=2 (khung 30 clip phase2, SN_SWALLOW đang bật) | [tiếng bạn bị nuốt] |
| BARK_BS_TRUE_mirror | BS_TRUE | BossBaseRead read=R4 'Gương Lặng' (khung 48 clip phase3; special_choice mirror_hero; call… | [nó mặc bóng bạn] |
| BARK_BS_TRUE_last | BS_TRUE | BossBaseRead read=R5 'Khe cho người còn đứng' (HP ≤ 10%, trước A18 Lặng Cuối; callout 'CÒ… | [im lặng cuối cùng] |
| BARK_BS_TRUE_broken | BS_TRUE | PoiseBroken enemyId=BS_TRUE (khung 0 clip broken / mirror_broken; ≤ 1 bark/4 s) | [lõi chuông lộ ra] |