1Tổng quan
27
VFX
26
SFX
0
bark
47
tài sản môi trường
📚
Doc định nghĩa luật 30-Art-Direction §3.3, §4, §6 · 31-VFX-Bible §2.4, §3, §4, §5, §9 · 32-Audio-Bible §4.2–4.3, §10 · biomes/B2.json
2VFX (27)
27 dòng
| ID | Hạng | Lớp | Frame | Giây | Palette | Kích hoạt |
|---|---|---|---|---|---|---|
| VFX_ENV_B2_wade_ripple | S | floor_decal | 9 | 0.3 | #32454c#4f6c75#76a0a8 | bước chân/di chuyển của hero hoặc quái trong ô HZ_B2_water / HZ_B2_shallow_water (1 gợn/0.25 s/actor, t = 0 = chân chạm) |
| VFX_ENV_B2_channel_ripple | S | floor_decal | 8 | 0.667 | #32454c#4f6c75#76a0a8 | vành kênh nông HZ_B2_shallow_water luôn chạy (sân BS_B2 r200–260, MB_B2_1 r170–200) |
| VFX_ENV_B2_gas_vent_idle | S | body_back | 12 | 1 | #d2e6dc#a8c8bc#6e9488#3f5a54 | túi khí ma trơi sẵn sàng (HZ_B2_gas / wisp_pocket / wisp_gas, trạng thái ARMED), loop |
| VFX_ENV_B2_gas_burst | L | overhead | 15 | 0.5 | #3f5a54#6e9488#a8c8bc#d2e6dc#393c36 | túi khí nổ (t = 0 = hết windup P 0.45 s / 0.60 s, frame gây sát thương); kèm VFX_SHARED_tell_zone_p trong windup |
| VFX_ENV_B2_bridge_creak | M | body_back | 6 | 0.5 | #434c34#6a7551#9da879#d4e0ae | ≥ 4 thân trên 1 đoạn cầu tre HZ_B2_bridge (trước ngưỡng sập 6), loop tới khi < 4 hoặc sập |
| VFX_ENV_B2_bridge_collapse | M | overhead | 18 | 0.6 | #434c34#6a7551#9da879#d4e0ae#76a0a8 | cầu sập (t = 0 = hết windup P 1.0 s); kèm VFX_SHARED_tell_zone_p (RECT đúng thân cầu) trong windup |
| VFX_ENV_B2_bridge_rebuild | M | body_back | 18 | 0.6 | #434c34#6a7551#9da879#a8a89e | cầu dựng lại (hết 15 s hồi; BS_B2: khi vào P2) |
| VFX_ENV_B2_mud_geyser_idle | S | floor_decal | 12 | 1 | #262a27#393c36#4e5048#6a6a5c | mạch bùn HZ_B2_mud_geyser nghỉ giữa 2 lần phun (loop) |
| VFX_ENV_B2_mud_geyser_burst | M | overhead | 15 | 0.5 | #262a27#393c36#4e5048#6a6a5c#75756e | mạch bùn phun (t = 0 = hết windup P 0.60 s); kèm VFX_SHARED_tell_zone_p r40 trong windup |
| VFX_ENV_B2_mire_surface | M | floor_decal | 8 | 0.667 | #262a27#393c36#4e5048 | vùng bùn lún HZ_B2_mire tồn tại (loop dưới lớp VFX_SHARED_tell_zone_n) |
| VFX_ENV_B2_drift_wreck | M | body_front | 8 | 0.667 | #3d4e56#4e646f#434c34#a8a89e#4f6c75#0b0a10 | xác đò mục trôi (actor môi trường HZ_B2_drift_wreck) chạy dọc làn kênh, loop thân |
| VFX_ENV_B2_drift_wreck_wake | L | floor_decal | 12 | 0.4 | #32454c#4f6c75#76a0a8#a8a89e | đò mục lao qua làn (t = 0 = hết windup P 0.80 s, đò vào làn ở 300 px/s) |
| VFX_ENV_B2_buoy_bell_wave | XL | floor_decal | 18 | 0.6 | #32454c#4f6c75#76a0a8#e0e0d6 | chuông phao OBJ_BELL_B2 ngân đủ (t = 0 = nhịp cuối) |
| VFX_ENV_B2_reed_burst | S | overhead | 9 | 0.3 | #434c34#6a7551#9da879 | bụi lau ENV_B2_reed_clump bị cú/đạn đi qua (t = 0 = frame chạm) |
| VFX_ENV_B2_wood_break | M | overhead | 12 | 0.4 | #434c34#6a7551#9da879#a8a89e#4e5048 | prop phá được vỡ (wash_tub, shroud_rack_fallen, net_rack, offering_jar biến thể sành), t = 0 = HP 0 |
| VFX_ENV_B2_boat_chip | S | overhead | 7 | 0.23 | #3d4e56#4e646f#6a7551#a8a89e | đạn (Y/P/hero) chạm thuyền úp hoặc thân đước rồi vỡ |
| VFX_ENV_B2_lantern_flame | S | body_front | 8 | 0.667 | #e6dcc4#d9c8a0#a8946e#6e6048 | đèn lồng (lantern_post, ferry_lantern_vigil) cháy, loop |
| VFX_ENV_B2_cocoon_shake | M | body_front | 24 | 0.8 | #4c4c47#75756e#a8a89e#e0e0d6 | kén OBJ_COCOON_B2 mất mỗi 100 HP → rung vỏ, bất tử 3 s (t = 0 = mốc HP) |
| VFX_ENV_B2_nest_raft_break | L | overhead | 18 | 0.6 | #32454c#4f6c75#6a7551#a8a89e#e0e0d6 | Bè Liệm OBJ_NEST_B2 HP 0 (t = 0); kèm sóng đẩy r100 quái S |
| VFX_ENV_B2_carrier_lantern | S | body_front | 8 | 0.667 | #d9c8a0#e6dcc4#e0e0d6#75756e | Hồn Đèn Liệm OBJ_CARRIER_B2 sống, loop; khoá 5 s đầu = vòng sáng ngà |
| VFX_ENV_B2_ash_snow | S | floor_decal | 8 | 0.667 | #75756e#a8a89e | luôn chạy trong mọi phòng B2 (hạt thưa — tro rơi dày dần theo độ cao, B2 thưa hơn B3–B4) |
| VFX_ENV_B2_marsh_mist | XL | floor_decal | 12 | 1 | #688290#8bacbd | luôn chạy; dày hơn ở rìa phòng (r > 300 từ tâm) |
| VFX_ENV_B2_drip_ring | S | floor_decal | 8 | 0.27 | #4f6c75#76a0a8 | giọt nước rơi từ rễ/liệm treo (1/3–6 s tại ô ngẫu nhiên gần prop cao) |
| VFX_ENV_B2_transition_mist | XL | screen | 18 | 0.6 | #3d4e56#4e646f#688290#8bacbd | chuyển phòng B2: thoát cửa (t = 0 = hero chạm vùng thoát) và vào phòng mới (phát ngược) |
| VFX_ENV_B2_gate_shroud_fall | M | body_front | 24 | 0.8 | #4c4c47#75756e#a8a89e#e0e0d6#4f6c75 | khoá cổng phòng MBS/BOS/ELT (hero tới tâm − 120 px; t = 0) |
| VFX_ENV_B2_gate_shroud_lift | M | body_front | 18 | 0.6 | #4c4c47#75756e#a8a89e#76a0a8 | phòng xong → mở cổng (t = 0 = room_clear + 0.8 s) |
| VFX_ENV_B2_dock_arrival | L | body_back | 24 | 0.8 | #32454c#4f6c75#688290#d9c8a0 | đò Calla cập Bến Calla (DOCK, t = 0 = đò chạm bến) |
3SFX (26)
26 dòng
| ID | Loại | Bus | ms | Biến thể | Tell | Hook |
|---|---|---|---|---|---|---|
| SFX_B2_amb_bed | amb_bed | Ambience | 64 000 | 1 | none | BiomeEnter B2 (mọi phòng B2 trừ cảnh tiện ích có bed riêng nhẹ hơn −3 dB); crossfade 1.5 s khi chuyển phòng |
| SFX_ENV_B2_spot_frog | amb_spot | Ambience | 1500 | 4 | none | AmbienceSpot B2 (bộ chọn spot: 1 spot/6–14 s, pan ±0.6, không phát trong 0.5 s quanh tell) |
| SFX_ENV_B2_spot_boat_knock | amb_spot | Ambience | 1400 | 4 | none | AmbienceSpot B2 |
| SFX_ENV_B2_spot_drip | amb_spot | Ambience | 600 | 4 | none | AmbienceSpot B2 + VFX_ENV_B2_drip_ring |
| SFX_ENV_B2_spot_mud_bubble | amb_spot | Ambience | 1200 | 4 | none | AmbienceSpot B2 |
| SFX_ENV_B2_spot_shroud_flap | amb_spot | Ambience | 1500 | 4 | none | AmbienceSpot B2 (ưu tiên khi phòng có ENV_B2_shroud_line) |
| SFX_ENV_B2_spot_reed_rustle | amb_spot | Ambience | 1500 | 4 | none | AmbienceSpot B2 |
| SFX_B2_hz_wade | move | World | 260 | 6 | none | FootstepHero/FootstepEnemyCluster khi chân trong ô HZ_B2_water / HZ_B2_shallow_water (thay bước thường) |
| SFX_B2_hz_gas_pocket | explode | World | 1100 | 3 | none | HazardTrigger (phase windup → impact) HZ_B2_gas / wisp_pocket / wisp_gas: windup_start → impact; lớp trang trí riêng, phát chồng SFX_SHARED_tell_p_swell (tell … |
| SFX_B2_hz_bamboo_collapse | impact | World | 1200 | 3 | none | HazardTrigger (phase impact) HZ_B2_bridge / HZ_B2_bamboo_bridge; lớp trang trí riêng, phát chồng SFX_SHARED_tell_p_impact (va chạm tím chung; tell P chung = SF… |
| SFX_ENV_B2_bridge_creak | loop | World | 2000 | 1 | none | HazardTrigger (phase state) HZ_B2_bridge thân_trên_cầu ≥ 4 (loop tới < 4 hoặc sập) |
| SFX_ENV_B2_mud_geyser | impact | World | 800 | 3 | none | HazardTrigger (phase impact) HZ_B2_mud_geyser; lớp trang trí riêng, phát chồng SFX_SHARED_tell_p_impact (va chạm tím chung; tell P chung = SFX_SHARED_tell_p_sw… |
| SFX_ENV_B2_drift_ram | impact | World | 1400 | 3 | none | HazardTrigger (phase impact) HZ_B2_drift_wreck: đò vào làn (frame va chạm đầu tiên); lớp trang trí riêng, phát chồng SFX_SHARED_tell_p_impact (va chạm tím chun… |
| SFX_ENV_B2_mire_loop | loop | World | 3000 | 1 | none | HazardTrigger (phase state) HZ_B2_mire: hero trong vùng (lớp phụ trên SFX_SHARED_zone_n_loop, chỉ vùng gần hero nhất) |
| SFX_ENV_B2_reed_break | hit | World | 250 | 4 | none | PropBroken ENV_B2_reed_clump (gộp: ≤ 1 lần/80 ms toàn cục) |
| SFX_ENV_B2_wood_break | hit | World | 600 | 4 | none | PropBroken wash_tub / shroud_rack_fallen / net_rack |
| SFX_ENV_B2_jar_break | hit | World | 500 | 4 | none | PropBroken ENV_B2_offering_jar |
| SFX_ENV_B2_boat_knock | impact | World | 300 | 4 | none | ProjectileBlocked trên capsized_boat / mangrove_trunk / mooring_post |
| SFX_ENV_B2_buoy_bell | impact | World | 900 | 3 | none | ObjectiveState OBJ_BELL_B2 state=rung (lớp riêng trên SFX_SHARED_objective_bell): nhịp 'ngân' + sóng r140 khi đủ |
| SFX_ENV_B2_cocoon_shake | impact | World | 900 | 3 | none | ObjectiveState OBJ_COCOON_B2 state=shake (mỗi 100 HP mất) |
| SFX_ENV_B2_nest_break | explode | World | 1400 | 3 | none | ObjectiveProgress OBJ_NEST_B2 (tổ vỡ, HP 0) |
| SFX_ENV_B2_lantern_loop | loop | Ambience | 4000 | 1 | none | PropAlive lantern_post / ferry_lantern_vigil (chỉ đèn gần hero nhất, ≤ 1 voice) |
| SFX_ENV_B2_carrier_loop | loop | World | 3000 | 1 | none | ObjectiveState OBJ_CARRIER_B2 state=alive (loop; pan theo bè) |
| SFX_ENV_B2_room_enter | move | World | 900 | 3 | none | RoomStart B2 (cùng VFX_ENV_B2_transition_mist) |
| SFX_ENV_B2_gate_shroud | impact | World | 900 | 3 | none | RoomLock / ExitOpened phòng MBS/BOS/ELT B2 |
| SFX_ENV_B2_dock_arrive | move | World | 1400 | 2 | none | DockEnter B2 (nút DOCK giữa Hồi II) |
4Tài sản môi trường (47)
47 dòng
| ID | Loại | Palette | Mô tả |
|---|---|---|---|
| ENV_B2_floor_mud | FLOOR | #232f34#2d3a41#3a4a52#36444c#3e5058#455862#393c36 | Sàn bùn nện lấm tro (32×16 trên màn = ô sàn thật 32×32): 2–3 mảng bùn khô nứt ranh giới mạch `mortar` 1 px, vệt tro trắng xám 1–2 px. 1 gốc + 7 biến thể, trọng số 60/40 (gốc 60%, 7 biến thể chia 40%)… |
| ENV_B2_floor_boardwalk | FLOOR | #2d3a41#434c34#6a7551#9da879#232f34 | Sàn ván tre/gỗ đò ghép trên cọc (lối đi khô ở làng chòi, bến): 4 thanh nằm ngang theo trục X, khe tối `mortar` 1 px, đinh gỗ 1 px `#434c34`. 1 gốc + 7 biến thể (thanh gãy, thanh mới, thanh lệch 1 px)… |
| ENV_B2_floor_bridge_deck | FLOOR | #434c34#6a7551#9da879#d4e0ae#0b0a10 | Mặt cầu tre buộc dây (dùng riêng cho đoạn HZ_B2_bridge / HZ_B2_bamboo_bridge): 6 ống tre dọc trục cầu, dây buộc liệm `#a8a89e` 1 px mỗi 16 px. 4 biến thể (ống nứt, dây đứt, ống mới, gốc). Khi hazard … |
| ENV_B2_floor_detail | FLOOR_DETAIL | #232f34#2d3a41#455862#4e5048#32454c#4c4c47 | Chi tiết sàn Tilemap con 16×8 (ô sàn 16×16): nứt bùn, sỏi vỏ ốc, rêu nước, vệt tro, mẩu vải liệm mục, dấu chân chim, vỏ trai, cành đước vụn. ≤ 30% ô FLOOR có chi tiết; vùng giữa phòng (r ≥ 120 quanh … |
| ENV_B2_edge_deep | EDGE | #8bacbd#688290#4e646f#3d4e56#32454c#232f34#0b0a10 | Bờ sàn → nước sâu (nước sâu = tường, không vào, không sát thương): RuleTile 47 ô blob 8 hướng. Đỉnh 32×16 mép bùn sụt, mặt rơi 24 px `w2→w3` + dither Bayer 4×4 tối dần xuống mặt nước sâu `#32454c`. R… |
| ENV_B2_edge_shallow | EDGE | #3a4a52#3e5058#4f6c75#32454c#393c36 | Chuyển sàn bùn → nước nông (đi được, HZ_B2_water): RuleTile 47 ô blob, viền ướt sẫm 2 px + mép nước gợn 1 px `#4f6c75`, không mặt rơi. Ô nước nông bên trong dùng ENV_B2_liquid_shallow. |
| ENV_B2_wall_n_mangrove | WALL_N | #8bacbd#688290#4e646f#3d4e56#434c34#75756e#0b0a10 | Tường Bắc/Đông/Tây = vách rễ đước dày + bờ đất cao: đỉnh 32×16 `w0` (tán rễ cong), mặt đứng 48 px `w1/w2` (rễ chùm đan, vải liệm rách mắc 1 dải/2 ô), chân `w3`. RuleTile 16 ô (4 hướng). Không che her… |
| ENV_B2_wall_s_reed | WALL_S | #688290#4e646f#3d4e56#6a7551#434c34 | Rìa Nam (hướng camera) = hàng lau sậy thấp + cọc tre: đỉnh 32×16, mặt ≤ 16 px; không bao giờ che hero. RuleTile 16 ô. |
| ENV_B2_liquid_shallow | LIQUID | #76a0a8#4f6c75#32454c#3e5058#4c4c47 | Nước nông đục (đi được, −15% tốc cả hero lẫn quái = HZ_B2_water): mặt nước xám lục đục (không trong, Bible lore cấm nước trong), gợn ngang 1 px dịch 1 px/frame. 8 frame @8 fps loop. Không phản chiếu. |
| ENV_B2_liquid_deep | LIQUID | #4f6c75#32454c#232f34#0b0a10 | Nước sâu (tường: không đi, không sát thương, chặn mọi actor mặt đất; đạn bay qua): mặt tối `#32454c` + dither, gợn rất chậm. 8 frame @8 fps loop. Rơi khỏi cầu sập không rơi vào nước sâu (cầu chỉ bắc … |
| ENV_B2_mangrove_trunk | PROP | #8bacbd#688290#4e646f#3d4e56#434c34#a8a89e#0b0a10 | Thân đước + chùm rễ chống (vật cao A08): footprint elip 28×16, cao 48. Chặn di chuyển + chặn đạn Y/P của địch và đạn hero (đạn vỡ vào). Không phá. 1 dải liệm rách treo cành (trang trí). 4 biến thể. |
| ENV_B2_mangrove_roots_low | PROP | #688290#4e646f#3d4e56#393c36#0b0a10 | Cụm rễ đước thấp lòi khỏi bùn: footprint elip 40×14, cao 14. Chặn quái + hero đi bộ; Lướt xuyên qua được (vật thấp ≤ 16); không chặn đạn. Không phá. |
| ENV_B2_shroud_line | PROP | #e0e0d6#a8a89e#75756e#6a7551#434c34#0b0a10 | Sào phơi liệm: 2 cọc tre cao 44 + 1 dây, 2–3 tấm vải liệm `#d6d8d0` rủ (PROP_ANIM gió ở ENV_B2_shroud_line_sway). Footprint 2 cọc r4 (va chạm chỉ ở cọc); vải không va chạm, không che tell (α vải 0.85… |
| ENV_B2_shroud_rack_fallen | PROP | #a8a89e#75756e#4c4c47#6a7551#434c34#0b0a10 | Giàn phơi liệm đổ nghiêng: footprint 64×20, cao 22. Chặn đi bộ, Lướt xuyên được. Phá được (HP 30, mọi cú hero/quái/hazard): vỡ thành vải + tre (VFX_ENV_B2_wood_break, SFX_ENV_B2_wood_break), rơi 6 Và… |
| ENV_B2_capsized_boat | PROP | #4f6c75#32454c#434c34#4e5048#75756e#0b0a10 | Thuyền úp mục (vật che): footprint elip 64×28, cao 26. Chặn di chuyển; chặn mọi đạn (đạn Y vỡ vào: VFX_ENV_B2_boat_chip, SFX_ENV_B2_boat_knock). Không phá. Vật cao cho A08. |
| ENV_B2_mooring_post | PROP | #688290#4e646f#3d4e56#75756e#0b0a10 | Cọc buộc đò gỗ đen, dây liệm quấn: footprint r6, cao 40. Chặn di chuyển + đạn (thân hẹp). Không phá. Sân BS_B2 có 6 cọc ở r196. |
| ENV_B2_wash_stone | PROP | #8bacbd#688290#4e646f#3d4e56#75756e | Phiến đá giặt liệm trơn nằm sát nước: footprint 36×16, cao 10. Không đứng lên được: chặn đi bộ, Lướt qua được, đạn bay qua. Không phá. |
| ENV_B2_wash_tub | PROP | #6a7551#434c34#4e5048#a8a89e#0b0a10 | Chậu giặt gỗ đựng liệm ngâm: footprint r10, cao 14. Phá được (HP 12, 1 cú bất kỳ): VFX_ENV_B2_wood_break; rơi 3 Vàng Mã (50%). Quái đẩy chậu lệch 8 px khi va. |
| ENV_B2_reed_clump | PROP | #9da879#6a7551#434c34#4e646f#0b0a10 | Bụi lau sậy: footprint r8, cao 28. KHÔNG va chạm; không che tell (lớp Map dưới FXBot khi cao > 24 thì mờ 0.45 khi che hero). Phá bởi mọi cú/đạn đi qua (HP 1): VFX_ENV_B2_reed_burst, SFX_ENV_B2_reed_b… |
| ENV_B2_lantern_post | PROP_ANIM | #e6dcc4#d9c8a0#a8946e#6e6048#3d4e56#0b0a10 | Cột đèn lồng đò (lửa người sống, Hội Đưa Đò để lại cho Calla): footprint r6, cao 44. Chặn di chuyển. Ngọn lửa 8 frame @8 fps (VFX_ENV_B2_lantern_flame). Vũng sáng r64 α 0.22 màu Đèn `#cad99c`, nhấp n… |
| ENV_B2_wisp_vent | PROP_ANIM | #d2e6dc#a8c8bc#6e9488#3f5a54#393c36 | Miệng túi khí ma trơi (sprite của HZ_B2_gas / wisp_pocket / wisp_gas): ụ bùn r16 có lỗ, bọt khí trồi 1 bọt/0.8 s (12 frame @12 loop, VFX_ENV_B2_gas_vent_idle), ánh lạnh `#a8c8bc` α 0.18 r24. Không va… |
| ENV_B2_whale_rib | PROP | #e0e0d6#a8a89e#75756e#4c4c47#3d4e56#0b0a10 | Xương sườn cá voi tro mắc cạn (cong như cổng): footprint 2 chân r8 cách 80, cao 60 → CHỈ đặt rìa ngoài vùng an toàn 427×267 hoặc sau tường Bắc (cột > 48 px). Chân xương chặn di chuyển; vòm không va c… |
| ENV_B2_whale_skull | PROP | #e0e0d6#a8a89e#75756e#4c4c47#32454c#0b0a10 | Sọ cá voi tro khổng lồ nửa vùi bùn (landmark LMK_B2_whale_strand): footprint elip 112×40, cao 48. Chặn di chuyển + đạn; hốc mắt tối (không mắt sáng). Không phá. 1 bản/biome. |
| ENV_B2_net_rack | PROP | #9da879#6a7551#434c34#75756e#0b0a10 | Giàn lưới cá rách: footprint 44×10, cao 34. Chặn đi bộ; đạn xuyên qua. Phá được (HP 30): VFX_ENV_B2_wood_break, rơi 5 Vàng Mã (60%). Lưới rơi để lại decal ENV_B2_decal_rope. |
| ENV_B2_oar_cross | PROP | #6a7551#434c34#a8a89e#3d4e56#0b0a10 | Biểu tượng Hội Đưa Đò: 2 mái chèo cắm chéo + đèn mũi đò tắt treo giữa: footprint r8, cao 44. Chặn di chuyển. Không phá. Đặt ở cửa vào phòng có Hội Đưa Đò (EL_B2_01, EN_B2_07 nhiều). |
| ENV_B2_offering_jar | PROP | #6a6a5c#4e5048#393c36#a8a89e#0b0a10 | Hũ cúng đất nung nắp vải liệm: footprint r6, cao 14. Phá được (HP 1): VFX_ENV_B2_wood_break (biến thể sành), SFX_ENV_B2_jar_break; rơi 2 Vàng Mã (70%). Không rơi máu/hồi phục (Bible §2.3). |
| ENV_B2_stilt_hut | PROP | #9da879#6a7551#434c34#4e646f#75756e#6e6048#0b0a10 | Chòi tre chân cao (làng chòi, sân MB_B2_2): sàn tre r28 cao 12 trên 4 cọc; mái lá rách. Phần mái > 48 → chỉ ở rìa phòng hoặc đã cắt mái ở sân MB_B2_2 (biến thể 2: chòi trơ sàn, cao 20, đứng lên được,… |
| ENV_B2_harpoon_gun | PROP | #688290#4e646f#3d4e56#434c34#a8a89e#0b0a10 | Súng lao cũ của Hội Đưa Đò trên sàn chòi (chỉ sân RM_B2_render_dock): bệ 32×16 cao 18, nòng chĩa qua tâm sân. Không va chạm (nằm trên chòi). Tương tác: đánh 1 cú vào cò (hộp 12×12 sau nòng) → bắn lao… |
| ENV_B2_bamboo_bridge | PROP | #d4e0ae#9da879#6a7551#434c34#a8a89e#0b0a10 | Cầu tre bắc qua nước nông (sprite của HZ_B2_bridge / HZ_B2_bamboo_bridge): dài 96 (đoạn 2×48), rộng 24, tay vịn tre 1 bên cao 12. Đi được (mặt cầu không chậm, không −15%). Sập: sprite ẩn 15 s (BS_B2:… |
| ENV_B2_campfire_living | PROP_ANIM | #e6dcc4#d9c8a0#a8946e#6e6048#393c36#0b0a10 | Bếp lửa người sống (chỉ ở cảnh tiện ích RST/SHP/DOCK, không trong sân chiến): đá kê + củi tre, lửa 8 frame @8 fps. Vũng sáng r80 α 0.24 `#cad99c`. Không va chạm. |
| ENV_B2_shroud_line_sway | PROP_ANIM | #e0e0d6#a8a89e#75756e#4c4c47 | Lớp vải động của ENV_B2_shroud_line: 6 frame @6 fps loop, lệch pha ngẫu nhiên theo seed ô; hướng gió đổi theo cờ phòng (`wind_dir`). Không va chạm. |
| ENV_B2_bell_buoy | PROP_ANIM | #8bacbd#688290#4e646f#3d4e56#4f6c75#a8a89e#0b0a10 | Chuông phao (sprite OBJ_BELL_B2): chuông đồng nhỏ úng nước treo trên phao gỗ, dập dềnh 1 px 6 frame @6 fps; footprint r14 trên ô nước nông. Chặn di chuyển. Bị gõ: rung 4 px, ngân (SFX_ENV_B2_buoy_bel… |
| ENV_B2_shroud_raft_nest | PROP | #e0e0d6#a8a89e#75756e#6a7551#434c34#32454c#0b0a10 | Bè Liệm (sprite OBJ_NEST_B2): bè tre chất xác bọc liệm, cọc cắm đèn tắt: footprint elip 56×28, cao 30. Chặn di chuyển. Thả gói 4 SWARM/6 s (Thây Đuối trườn khỏi bè). Vỡ: VFX_ENV_B2_nest_raft_break. |
| ENV_B2_mangrove_cocoon | PROP_ANIM | #e0e0d6#a8a89e#75756e#4c4c47#4e646f#0b0a10 | Kén treo đước (sprite OBJ_COCOON_B2): kén tơ tro bọc Kẻ Thức treo từ rễ đước, chân kén chạm bùn: footprint r18, cao 56 (chỉ đặt tâm sân RSC, quanh r120 trống). Đung đưa 6 frame @6 fps; rung vỏ mỗi 10… |
| ENV_B2_ferry_lantern_vigil | PROP_ANIM | #e6dcc4#d9c8a0#a8946e#6e6048#434c34#0b0a10 | Đèn Lồng Đò Canh (sprite OBJ_BRAZIER_B2): đèn lồng giấy ngà trên giá tre ba chân, r20, cao 44. Lửa 8 frame @8 fps; HP thấp → lửa nhỏ dần 3 bậc (100/60/30%). Vũng sáng r96 α 0.24 `#cad99c`. |
| ENV_B2_carrier_raft | PROP_ANIM | #e6dcc4#d9c8a0#a8a89e#6a7551#434c34#0b0a10 | Hồn Đèn Liệm (sprite OBJ_CARRIER_B2): bè tre con chở 1 đèn lồng có bóng liệm cuộn quanh, trôi theo waypoint (lướt mặt bùn như mặt nước). Thân r14, cao 40. Đèn 8 frame @8 fps (VFX_ENV_B2_carrier_lante… |
| ENV_B2_decal_algae | DECAL | #32454c#3e5058#434c34 | Váng rêu nước loang trên bùn, mép rách không tròn. |
| ENV_B2_decal_shroud_scrap | DECAL | #a8a89e#75756e#4c4c47 | Mảnh vải liệm ướt dán sàn, gấp nếp. |
| ENV_B2_decal_mud_print | DECAL | #232f34#393c36 | Dấu chân trần + vệt kéo xác về phía nước (kể chuyện Thây Đuối). |
| ENV_B2_decal_ash_drift | DECAL | #75756e#455862 | Đụn tro trôi dạt theo mép nước (tro rơi B2 thưa). |
| ENV_B2_decal_rope | DECAL | #6a7551#75756e | Dây đò/lưới đứt nằm sàn. |
| ENV_B2_decal_puddle | DECAL | #4f6c75#32454c | Vũng nước đọng hình bất định (không elip viền sáng, không chấm). |
| ENV_B2_decal_lily | DECAL | #6a7551#434c34#a8a89e | Lá sen héo + hoa trắng tàn (chỉ trên ô nước nông). |
| ENV_B2_decal_fishbone | DECAL | #a8a89e#4c4c47 | Xương cá + vảy tro rải mép bùn. |
| ENV_B2_decal_crack_mud | DECAL | #232f34#2d3a41 | Bùn khô nứt mạng (vùng cao, xa nước). |
| ENV_B2_light_lantern_pool | LIGHT | #cad99c | Vũng sáng elip additive dưới đèn lồng/lửa người sống: r 64–96 theo prop, α ≤ 0.24, màu Đèn B2 `#cad99c`, nhấp nháy ≤ 2 Hz biên độ α ≤ 0.04. Không viền. |
| ENV_B2_light_wisp_glow | LIGHT | #a8c8bc | Ánh lạnh trên miệng túi khí: elip r24 α 0.18 `#a8c8bc`, không nhấp nháy (để không giống tell). Tắt khi túi khí đang hồi. |