1Định danh & tiểu sử
- Danh hiệu
- Pháo Thủ Ma Trơi
- Vũ khí
- hoả mai nòng loa: báng gỗ mun, 2 ổ xoay 3 viên, nòng loe như miệng chuông
- Nhóm vai
RANGED— tầm xa/nón gần, sát thương theo hàng- Độ khó
- 2/5
- Mở khoá
ACT_CLEAR· Qua Hồi III (hạ BS_B3) một lần, rồi trả 12 Mảnh Vọng ở Lò Rèn · Mảnh Vang: 12- Mốc
- Cập nhật U2 MS05
- Verb tag
- Combo COMBO · Lướt DASH · Đáp ANSWER · Phản COUNTER · Kỹ năng SKILL · Tài nguyên: Ổ Đạn RES:SHELL
Trục độ khó (doc 12 §4, 0–2)
Tiểu sử
Pháo thủ trẻ nhất Đội Đèn Đêm, Dov lớn lên trên bãi pháo, nơi đội bắn ma trơi lên trời dẫn hồn thay chuông đã câm. Ồn, liều, đếm đạn bằng ngón tay ám khói, cô tin thứ tự là lời khấn: Muối trước cho hồn đứng lại, Ma Trơi sau soi đường. Cô biết pháo không đủ, hồn vẫn lạc, nên đội đóng trại dưới Thành Chuông Treo và cô lên tháp tìm chuông thật. Thi ồn với Ambrin; viết tên từng viên đạn lên bảng cho Thầy Hol, người nhìn pháo thay nghe. "Bắn đúng thứ tự thì người chết khỏi đi lạc." "Chuông câm thì để pháo nói." "Ồn hơn anh rồi nhé, Ambrin!"
Câu nói
Ghi chú lệch có chủ đích
2026-11-07 — Lệch có chủ đích: (1) Tì Báng Nạp không giảm sát thương (Bible DEC-2026-11-07-10 thắng doc 10 §3.3, 11 §3.2, 12 §10.3b −50% và _bible.json hold_verb); (2) H08_SK06 Chống Báng bỏ −70% trước 180° (cùng lý do; thay bằng siêu giáp 180° + nạp 0.2 s + bắn trả); (3) chỉnh số theo ngân sách doc 17 §4.2–4.3 (balance_calc): SK01 coef 4.0 → 6.0, SK02 1.0 → 1.3 (≤ 3 đinh/mục tiêu), SK03 cd 10 → 8 + choáng S 1.4 / M 0.7 + coef 2 × 1.5, SK04 cd 9 → 12 + nổ coef 2.5 → 1.2 + Than Hồng, SK05 coef 6.0 → 10.0, SK06 cd 10 → 8, SK07 cd 6 → 5 + vệt 0.6, SK08 cd 9 → 8 (khung nhịp độ 3–8 s), UL2 mỗi phát 2.5 → 6.5 (UL2 cần coef đơn ≥ 55); (4) foot_ring.hex #70bd0b (hue 86°, trong slot) thay r4 #7bb21b của Bible INV-09: validator đo #7bb21b trên sàn lit B2 #455862 = 2.91:1 < 3:1, còn r5/r6 ΔE với #ffd84a < 25; #70bd0b đạt 3.18:1 và ΔE 26.5 — cần cập nhật bảng Bible INV-09/doc 30 §3.2; (5) mass_verb null: enum schema không có verb choáng, số Muối choáng theo mass ghi ở H08_COMBO_A_MUOI.params. [ASSUMED] SK08 quy đổi tài nguyên ~12.8 coef (6 viên tiết kiệm ~2.1 s nạp) → tỉ lệ ~1.09; UL3 DE thêm ~95 trong 9 s; CLEAR_KPM/DU-06 chờ sim. 2026-11-07 — cancel_into đổi token cũ CHARGE@t → HEAVY@t, ATTACK@t → COMBO_A@t (giữ tick); mastery bỏ MR13/MR14/MR17/MR19 và TITLE_MR20_H08 (id cosmetic chưa định nghĩa), MR20 = SKN_H08_4; bỏ token EDGES:* ở MR01/MR03/MR06/MR08 (mở Edge theo luật meta.json mastery.ranks[].grants_vi, như H01).
2Hình ảnh & bảng màu
- Màu slot
- #7bb21b hue 82°
- Vòng chân
- #70bd0b r 12 px
- Sprite
- 35 px cao
- Chân dung
- bust 128/128 · body 192/192 · viền #7bb21b
- Trang phục pixelfx
Tools/pixelfx/src/fx/heroes/_dov.js
Skin
Clip hoạt ảnh (34) — số khung
| Clip | Khung | Lặp | Khung trúng | Hướng |
|---|---|---|---|---|
| idle | 48 | có | — | 5+3 |
| run | 18 | có | — | 5+3 |
| dash | 10 | — | 0 | 5+3 |
| attack1 | 28 | — | 3 | 5+3 |
| attack2 | 28 | — | 3 | 5+3 |
| attack3 | 36 | — | 5 | 5+3 |
| load | 30 | có | — | 5+3 |
| dash_attack | 26 | — | 2 | 5+3 |
| answer | 12 | — | 0 | 5+3 |
| answer_hit | 18 | — | 1 | 5+3 |
| hold_in | 8 | — | — | 5+3 |
| hold_loop | 24 | có | — | 5+3 |
| hold_out | 6 | — | — | 5+3 |
| counter | 30 | — | 2 | 5+3 |
| sk01 | 40 | — | 6 | 5+3 |
| sk02 | 36 | — | 5 | 5+3 |
| sk03 | 44 | — | 9/24 | 5+3 |
| sk04 | 34 | — | 7 | 5+3 |
| sk05 | 42 | — | 7 | 5+3 |
| sk06 | 76 | — | 72 | 5+3 |
| sk07 | 34 | — | 3 | 5+3 |
| sk08 | 48 | — | 18 | 5+3 |
| ul1 | 120 | — | 48/56/64/72/80/88 | 5+3 |
| ul2 | 108 | — | 18/26/34/42/50/58/66/74/82 | 5+3 |
| ul3 | 30 | — | 12 | 5+3 |
| hurt | 10 | — | — | 5+3 |
| broken | 27 | có | — | 5+3 |
| death | 72 | — | — | 5+3 |
| wake | 40 | — | — | 5+3 |
| victory | 54 | — | — | 5+3 |
| hub_idle | 72 | có | — | 5+3 |
| select | 48 | có | — | 1 |
| as2_fin | 36 | — | 5 | 5+3 |
| as3_fin | 38 | — | 5 | 5+3 |
3Chỉ số & khung vai trò
| Chỉ số | Tên | Giá trị | Đơn vị | So max roster | Roster min–max | Nhóm min–max |
|---|---|---|---|---|---|---|
HP_MAX | HP tối đa | 110 | HP | 110 | 100 – 160 | 100 – 110 |
MOVE_SPEED | Tốc chạy | 136 | px sàn/s | 136 | 130 – 145 | 136 – 142 |
ACCEL_TIME | Thời gian tăng/giảm tốc | 0.06 | s | 0.06 | 0.06 – 0.06 | 0.06 – 0.06 |
POWER | Lực | 10 | điểm | 10 | 10 – 10 | 10 – 10 |
DMG_INC | Sát thương | 0 | +% | 0 | 0 – 0 | 0 – 0 |
ATK_SPEED | Tốc đánh | 1 | × | 1 | 1 – 1 | 1 – 1 |
CRIT_CHANCE | Tỉ lệ chí mạng | 5 | % | 5 | 5 – 5 | 5 – 5 |
CRIT_MULT | Hệ số chí mạng | 2 | × | 2 | 2 – 2 | 2 – 2 |
AREA | Cỡ vùng | 1 | × bán kính | 1 | 1 – 1 | 1 – 1 |
PROJ_SPEED | Tốc đạn hero | 1 | × | 1 | 1 – 1 | 1 – 1 |
DURATION | Thời lượng hiệu ứng hero (vùng, triệu hồi, buff) | 1 | × | 1 | 1 – 1 | 1 – 1 |
CDR | Giảm thời gian hồi chiêu kỹ năng | 0 | % | 0 | 0 – 0 | 0 – 0 |
DASH_CHARGES | Lượt Lướt | 2 | lượt | 2 | 2 – 2 | 2 – 2 |
DASH_RECHARGE | Nạp 1 lượt Lướt | 0.7 | s | 0.7 | 0.7 – 0.7 | 0.7 – 0.7 |
ANSWER_WINDOW | Cửa sổ ĐÁP | 0.15 | s | 0.15 | 0.15 – 0.18 | 0.15 – 0.16 |
POISE_MAX | Thế hero | 100 | điểm | 100 | 100 – 100 | 100 – 100 |
POISE_REGEN | Hồi Thế | 40 | điểm/s | 40 | 40 – 40 | 40 – 40 |
DR | Giảm sát thương nhận | 0 | % | 0 | 0 – 0 | 0 – 0 |
ELITE_DMG | Sát thương lên M/L/XL | 0 | +% | 0 | 0 – 0 | 0 – 0 |
STATUS_POWER | Uy lực trạng thái (sát thương DoT + số của trạng thái hero gây) | 0 | +% | 0 | 0 – 0 | 0 – 0 |
HEAL_MULT | Hệ số hồi phục HP | 1 | × | 1 | 1 – 1 | 1 – 1 |
PICKUP_R | Bán kính hút XP/cầu máu | 50 | px | 50 | 50 – 50 | 50 – 50 |
ULT_GAIN | Hệ số nạp Dư Âm | 1 | × | 1 | 1 – 1 | 1 – 1 |
RES_GAIN | Hệ số nạp tài nguyên hero | 1 | × | 1 | 1 – 1 | 1 – 1 |
KNOCKBACK | Lực đẩy | 1 | × | 1 | 1 – 1 | 1 – 1 |
SHIELD_CAP | Trần khiên | 50 | % HP tối đa | 50 | 50 – 50 | 50 – 50 |
dash_px | — | 76 | — | 76 | 72 – 90 | 76 – 80 |
4Tài nguyên & nội tại
- Tài nguyên
- Ổ Đạn SHELL · kiểu
CHAMBERS - Khoảng
- 0 – 6 (bắt đầu 2)
- Suy giảm
- —
- Khi trúng đòn
- 0
- ĐÁP
- −1
- Né hoàn hảo
- 1
- Sự kiện đầy
- res_full
- HUD
- CHAMBERS · bottom_left_next_to_hp
- Liên kết Dư Âm
- +8 Dư Âm mỗi phản ứng cặp ổ (từ combo, Phản, H08_SK05); ĐÁP +4 và Né Hoàn Hảo +4 chung; UL2/UL3 không nạp Dư Âm
| Sự kiện | Lượng | Trần/s | Ghi chú |
|---|---|---|---|
| charge_mark | 1 | — | Giữ ATTACK rồi nhả: qua mốc 0.25 s = Đinh, 0.50 s = Muối, 0.75 s = Ma Trơi; viên vào ổ đang ít viên hơn (bằng nhau → ổ A), nên thứ tự nạp = thứ tự cặp. Nhả trong 0.10 s cuối trước mốc kế (Ma Trơi: 0.90–1.00 s) = Nạp Nóng, viên đó +50% sát thương và thời lượng hiệu ứng. |
| hold_tick | 1 | 2.5 | Tì Báng Nạp: 1 viên mỗi 0.4 s, cùng loại viên vừa nạp gần nhất (chưa nạp lần nào trong phòng → Đinh). |
| perfect_dodge | 1 | — | Né Hoàn Hảo: nạp 1 viên cùng loại viên vừa bắn vào ổ trống. |
| kill_multi | 1 | 1 | 1 phát giết ≥ 4 quái S: nạp lại 1 viên cùng loại (bầy nuôi ổ, HF-03). |
| skill | 6 | — | Chỉ H08_SK08 Nạp Một Hơi: lấp đầy 2 ổ bằng loại vừa nạp. |
| dash_end | 1 | — | Chỉ khi kết thúc H08_SK07 Lăn Lửa Ma: +1 Ma Trơi. |
Tiêu
| Hành động | Giá | Thiếu vẫn dùng | Ghi chú |
|---|---|---|---|
| COMBO_SHOT | 1 | có | Chạm ATTACK bắn viên trên cùng của ổ đang tới lượt (A → B → A…); ổ đó rỗng → bắn ổ kia (không thành cặp); 2 ổ rỗng → Phụt Mồi coef 0.5. |
| DASH_ATTACK | 1 | có | Phát Lăn tiêu 1 viên như bước A; rỗng → Phụt Mồi rộng. |
| ANSWER | 1 | có | Nổ Chặn tiêu viên trên cùng của ổ tới lượt để ra hiệu ứng viên; ổ rỗng vẫn ĐÁP (chỉ trung hoà, INV-11). |
| COUNTER | 2 | có | Hai Nòng Kề bắn 2 viên trên cùng; thiếu viên vẫn đủ coef 18, chỉ mất phản ứng cặp. |
| Nhồi Đôi H08_SK05 | 2 | có | Nhồi Đôi: < 2 viên → coef ×0.5, không phản ứng. |
| SWAP_TOP | 0 | không | Giữ ATTACK khi Ổ Đầy = Đảo Ổ: đổi chỗ 2 viên trên cùng của ổ A và ổ B (0.25 s). |
Trạng thái theo ngưỡng
Cặp Sẵn ≥ 2
Ổ Đầy ≥ 6
Nội tại: Nòng Loa
5Phòng thủ: ĐÁP · Giữ · Phản · Lướt
ĐÁP: Nổ Chặn
Thổi 1 phát nón 90° r48 về kẻ đánh, tiêu viên trên cùng của ổ tới lượt: Đinh 2.0 × POWER · Muối choáng S 0.8 s / M 0.4 s (L/XL −15 Thế) · Ma Trơi lửa sàn 3 s; cộng kết quả chung (S choáng 1.0 s + đẩy 30, M −45 Thế) và mở Phản.
Đạn Y bị thổi tan (huỷ) và nón vẫn nhả hiệu ứng viên vừa tiêu về phía đạn tới; không mở Phản.
Viên tiêu bởi Nổ Chặn tính là phát ổ A: chạm ATTACK trong 0.6 s sau đó bắn ổ B = phản ứng cặp ngay (ĐÁP → cặp). Ổ rỗng: chỉ trung hoà, không phạt.
- window_s
- 0.15
- res_gain
- −1
- needs_resource
- không
Giữ: Tì Báng Nạp
Không tốn Thế (không giảm, không chặn sát thương; Bible DEC-2026-11-07-10); đứng yên, xoay ngắm 360°/s; đòn P trúng khi đang tì = đủ sát thương + Vỡ Thế 0.9 s.
Đòn P trúng đủ sát thương + Vỡ Thế 0.9 s (siêu giáp không đỡ P, doc 10 §7.2).
- mechanic
- BRACE
- armor_tier
- HYPER
- move_mult
- 0
- max_s
- 6
- cooldown_s
- 0
Lướt
- dash_px
- 76
- anim
- dash
- afterimage
- có
- trail_vfx
- VFX_H08_roll_dash
Ghi đè input (input_override)
- attack_hold_ticks
- 12
- attack_hold_action
- CHARGE
- charge_marks
- 0.25/0.5/0.75
- charge_move_mult
- 0.7
- place_min
- 32
- place_default
- 96
- place_max
- 160
- aim_rotate_max
- 720
- Kiểu bấm kỹ năng
- H08_SK01
TAP· H08_SK02TAP· H08_SK03HOLD· H08_SK04TAP· H08_SK05TAP· H08_SK06TAP· H08_SK07TAP· H08_SK08TAP
6Bộ đòn & frame data
| Đòn | Slot | Khởi t | Hiệu lực t | Hồi t | Tổng s | Coef | Lớp đòn | Hitbox | Mục tiêu | Thế | Hitstop s | Trauma | Giáp | Huỷ vào | Cờ | Ghi chú |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Phát Đinh (ổ A) H08_COMBO_A_DINH | COMBO_A | 6 | 3 | 14 | 0.383 | 2.2 | LIGHT | ARC r 110 arc 70 | 48 | 10 | 0.035 | 0 | NONE | HEAVY@9/SKILL@12 | atk_speed_scales/pierce | Mạt đinh xoè nón 70° r110, trúng mọi mục tiêu trong nón 1 lần; Nạp Nóng ×1.5; mục tiêu trong r48 ×1.3 (Nòng Loa). Mở cửa sổ cặp 0.6 s cho phát ổ B. |
| Phát Muối (ổ A) H08_COMBO_A_MUOI | COMBO_A | 6 | 3 | 14 | 0.383 | 1 | LIGHT | ARC r 90 arc 70 | 48 | 6 | 0.035 | 0 | NONE | HEAVY@9/SKILL@12 | atk_speed_scales | Hạt muối ngà nón 70° r90: STS_STUN S 0.8 s / M 0.4 s, L/XL −15 Thế (Bible §5.2); Nạp Nóng ×1.5 cả sát thương lẫn thời lượng choáng. |
| Phát Ma Trơi (ổ A) H08_COMBO_A_MATROI | COMBO_A | 6 | 3 | 14 | 0.383 | 1.2 | LIGHT | ARC r 90 arc 70 | 48 | 6 | 0.035 | 0 | NONE | HEAVY@9/SKILL@12 | atk_speed_scales | Lửa ma lục nón 70° r90, để lại lửa sàn hình nón 3 s (H08_WISP_FLOOR, 0.5 coef mỗi 0.5 s). |
| Phụt Mồi H08_COMBO_A_BLANK | COMBO_A | 6 | 3 | 20 | 0.483 | 0.5 | LIGHT | ARC r 56 arc 60 | 48 | 3 | 0.035 | 0 | NONE | — | atk_speed_scales | Cả 2 ổ rỗng: phụt thuốc mồi nón 60° r56 để giữ nhịp (HF-04); không thành cặp, không tiêu viên. |
| Phát Cặp (ổ B) H08_COMBO_A_PAIR | COMBO_A | 9 | 4 | 18 | 0.517 | 2.2 | HEAVY | ARC r 110 arc 70 | 48 | 18 | 0.07 | 0.28 | NONE | SKILL@14/HEAVY@13 | finisher/shieldbreak/atk_speed_scales | Phát ổ B trong 0.6 s sau phát ổ A = đòn kết: hình và coef theo viên B (Đinh 2.2 nón 70° r110 · Muối 1.0 r90 · Ma Trơi 1.2 r90), rồi kích phản ứng cặp (A, B) tại điểm chạm (H08_RX_*). +8 Dư Âm. |
| Phát Đinh lẻ (ổ B) H08_COMBO_B_DINH | COMBO_B | 6 | 3 | 16 | 0.417 | 2.2 | MEDIUM | ARC r 110 arc 70 | 48 | 8 | 0.045 | 0.22 | NONE | HEAVY@9/SKILL@12 | atk_speed_scales | Phát ổ B không có phát ổ A trong 0.6 s trước: hiệu ứng viên đơn, không phản ứng, không đòn kết. |
| Phát Muối lẻ (ổ B) H08_COMBO_B_MUOI | COMBO_B | 6 | 3 | 16 | 0.417 | 1 | MEDIUM | ARC r 90 arc 70 | 48 | 6 | 0.045 | 0.22 | NONE | HEAVY@9/SKILL@12 | atk_speed_scales | Phát ổ B không có phát ổ A trong 0.6 s trước: hiệu ứng viên đơn, không phản ứng, không đòn kết. |
| Phát Ma Trơi lẻ (ổ B) H08_COMBO_B_MATROI | COMBO_B | 6 | 3 | 16 | 0.417 | 1.2 | MEDIUM | ARC r 90 arc 70 | 48 | 6 | 0.045 | 0.22 | NONE | HEAVY@9/SKILL@12 | atk_speed_scales | Phát ổ B không có phát ổ A trong 0.6 s trước: hiệu ứng viên đơn, không phản ứng, không đòn kết. |
| Xuyên Đinh (Đinh → Đinh) H08_RX_PIERCE_NAIL | RESOURCE | 0 | 3 | 0 | 0.05 | 3.08 | HEAVY | ARC r 150 arc 40 | 48 | 10 | 0.06 | 0.28 | NONE | — | pierce | Phát B đổi thành nón hẹp 40° r150, coef 2.2 × 1.4 = 3.08, xuyên mọi mục tiêu; thay hình phát B (không cộng thêm). |
| Muối Găm (Đinh → Muối) H08_RX_SALT_PIN | RESOURCE | 0 | 3 | 0 | 0.05 | 1 | HEAVY | ARC r 90 arc 70 | 48 | 20 | 0.06 | 0.28 | NONE | — | — | Muối bám vào mạt đinh: choáng của phát B thành S 1.2 s / M 0.6 s; L/XL −20 Thế. |
| Đinh Lửa (Đinh → Ma Trơi) H08_RX_FIRE_LINE | RESOURCE | 0 | 180 | 0 | 3 | 0.5 | DOT | LINE len 140 w 24 | 48 | 2 | 0 | 0 | NONE | — | — | Vệt lửa ma thẳng 140 × 24 px từ miệng loa theo hướng bắn, 3 s, 0.5 coef mỗi 0.5 s (6 nhịp). |
| Vỡ Muối (Muối → Đinh) H08_RX_SALT_BREAK | RESOURCE | 0 | 3 | 0 | 0.05 | 4.4 | HEAVY | ARC r 110 arc 70 | 48 | 22 | 0.06 | 0.28 | NONE | — | pierce | Mục tiêu đang choáng (do phát A Muối) nhận phát Đinh B ×2 = coef 4.4 và +12 Thế; mục tiêu không choáng nhận coef 2.2 thường. |
| Bão Muối (Muối → Muối) H08_RX_SALT_STORM | RESOURCE | 0 | 3 | 0 | 0.05 | 1 | HEAVY | ARC r 90 arc 120 | 48 | 15 | 0.06 | 0.28 | NONE | — | — | Phát B toả rộng nón 120° r90: choáng S 0.8 s / M 0.4 s, L/XL −15 Thế. |
| Nổ Muối (Muối → Ma Trơi) H08_RX_SALT_WISP | RESOURCE | 0 | 3 | 0 | 0.05 | 3 | HEAVY | CIRCLE r 64 | 48 | 20 | 0.08 | 0.45 | NONE | — | shieldbreak | Canon: muối gặp lửa ma nổ CIRCLE r64 coef 3.0 tại điểm chạm phát B (mục tiêu gần nhất trong nón; không trúng ai → cách miệng loa 56 px), đẩy 40 px. |
| Pháo Hoa Ma (Ma Trơi → Đinh) H08_RX_WISP_FIREWORK | RESOURCE | 0 | 3 | 0 | 0.05 | 1 | HEAVY | CIRCLE r 96 | 48 | 6 | 0.06 | 0.28 | NONE | — | — | Mỗi vùng lửa sàn của phát A còn cháy bắn 6 đinh lửa toả đều 6 hướng, tầm 96 px, coef 1.0, xuyên 1; mỗi mục tiêu ≤ 2 đinh. |
| Muối Lạnh (Ma Trơi → Muối) H08_RX_COLD_SALT | RESOURCE | 0 | 3 | 0 | 0.05 | 1 | HEAVY | ARC r 90 arc 70 | 48 | 10 | 0.06 | 0.28 | NONE | — | — | Muối dập lửa ma thành sương: phát B gây thêm 2 lớp STS_FROST cho mọi mục tiêu trúng (đủ 3 lớp với 1 lớp sẵn = đóng băng S). |
| Biển Ma Trơi (Ma Trơi → Ma Trơi) H08_RX_WISP_SEA | RESOURCE | 0 | 360 | 0 | 6 | 0.5 | DOT | CIRCLE r 64 | 48 | 2 | 0 | 0 | NONE | — | — | Lửa sàn r64 tại điểm chạm phát B, 6 s, 0.5 coef mỗi 0.5 s + STS_EMBER cho kẻ đứng trong; giữ cửa hẹp. |
| Lửa Sàn Ma Trơi H08_WISP_FLOOR | RESOURCE | 0 | 180 | 0 | 3 | 0.5 | DOT | ARC r 90 arc 70 | 48 | 1 | 0 | 0 | NONE | — | — | Lửa sàn do viên Ma Trơi để lại (hình nón của phát), 3 s, 0.5 coef/0.5 s; Nạp Nóng → 4.5 s. Không áp trạng thái (EMBER chỉ qua Biển Ma Trơi). |
| Nạp Đinh H08_HEAVY_LOAD_DINH | HEAVY | 15 | 1 | 6 | 0.367 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | NONE | COMBO_A@1 | charge/charge_mark_n | Giữ ATTACK qua mốc rồi nhả: nhét 1 viên vào ổ ít viên hơn (6 tick tra đạn). Nhả trong tick 24–29 (0.10 s cuối trước mốc kế) = Nạp Nóng +50%; cue chân sáng trắng-slot báo cửa sổ. Đi ×0.7 khi giữ. |
| Nạp Muối H08_HEAVY_LOAD_MUOI | HEAVY | 30 | 1 | 6 | 0.617 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | NONE | COMBO_A@1 | charge/charge_mark_n | Giữ ATTACK qua mốc rồi nhả: nhét 1 viên vào ổ ít viên hơn (6 tick tra đạn). Nhả trong tick 39–44 (0.10 s cuối trước mốc kế) = Nạp Nóng +50%; cue chân sáng trắng-slot báo cửa sổ. Đi ×0.7 khi giữ. |
| Nạp Ma Trơi H08_HEAVY_LOAD_MATROI | HEAVY | 45 | 1 | 6 | 0.867 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | NONE | COMBO_A@1 | charge/charge_mark_n | Giữ ATTACK qua mốc rồi nhả: nhét 1 viên vào ổ ít viên hơn (6 tick tra đạn). Nhả trong tick 54–59 (0.10 s cuối trước mốc kế) = Nạp Nóng +50%; cue chân sáng trắng-slot báo cửa sổ. Đi ×0.7 khi giữ. |
| Đảo Ổ H08_HEAVY_SWAP | HEAVY | 15 | 1 | 6 | 0.367 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | NONE | — | charge | Chỉ khi Ổ Đầy: giữ ATTACK tới 0.25 s rồi nhả = đổi chỗ viên trên cùng ổ A ↔ ổ B (đổi phản ứng cặp kế). |
| Lăn Ngang H08_DASH | DASH | 0 | 9 | 3 | 0.2 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | NONE | — | — | Lướt chung INV-12: lăn vai 76 px theo hướng MOVE (không có → hướng ngắm), i-frame 12 tick, 2 lượt × 0.70 s; Dov không có né giật lùi (Bible #28). |
| Phát Lăn H08_DASH_ATTACK | DASH_ATTACK | 4 | 3 | 13 | 0.333 | 1.6 | MEDIUM | ARC r 80 arc 80 | 48 | 10 | 0.045 | 0.22 | NONE | — | pierce | ATTACK trong 9 tick cuối Lướt/≤ 9 tick sau: bắn quỳ gối viên ổ tới lượt, nón 80° r80 coef 1.6 + hiệu ứng viên; tính là bước A (chạm kế = phát cặp). 2 ổ rỗng: Phụt Mồi rộng 100° r64 coef 1.0. |
| Nổ Chặn H08_ANSWER | ANSWER | 0 | 9 | 9 | 0.3 | 0 | ANSWER | ARC r 48 arc 90 | 48 | 0 | 0.08 | 0.25 | NONE | — | chain_answer | Cửa sổ 0.15 s (9 tick) 360°; nón 90° r48 về mối đe doạ chỉ là nơi hiệu ứng rơi. Ổ rỗng vẫn trung hoà. Đi ×0.5 trong W. |
| Nổ Chặn — viên H08_ANSWER_SHELL | ANSWER | 0 | 2 | 16 | 0.3 | 2 | ANSWER | ARC r 48 arc 90 | 48 | 0 | 0.08 | 0.25 | NONE | COUNTER@0/COMBO_A@4 | — | Hiệu ứng viên tiêu khi ĐÁP thành công: Đinh coef 2.0 (trần 2.0 × POWER, doc 11 §2.1) · Muối choáng · Ma Trơi lửa sàn; viên này tính là phát ổ A cho phản ứng cặp. |
| Tì Báng Nạp H08_HOLD | HOLD | 6 | 1 | 6 | 0.217 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | HYPER | — | — | Quỳ tì báng xuống đất: siêu giáp (miễn khựng + đẩy lùi) với đòn trước 120°, KHÔNG giảm sát thương; nạp 1 viên/0.4 s. Lướt huỷ mọi tick; thả rồi chạm = ĐÁP. |
| Hai Nòng Kề H08_COUNTER | COUNTER | 4 | 4 | 18 | 0.433 | 18 | COUNTER | ARC r 56 arc 120 | 48 | 30 | 0.12 | 0.45 | NONE | — | shieldbreak | Ấn miệng loa vào kẻ ✦ (lao 24 px trong 4 tick, bất tử từ input tới hết active), bắn liền 2 viên trên cùng: coef 18 = 180 ở POWER 10, nón 120° r56, −30 Thế, shieldbreak, rồi phản ứng cặp của 2 viên ngay tại mục tiêu. Thiếu viên: vẫn 18, không phản ứng. |
| Loa Sấm H08_SK01_BLAST | SKILL | 12 | 4 | 20 | 0.6 | 6 | SKILL | ARC r 140 arc 100 | 48 | 20 | 0.06 | 0.45 | NONE | — | — | Dồn thuốc thẳng vào miệng loa: nón 100° r140 coef 6.0, đẩy 40 px, không tiêu viên; Dov giật 0 px (không giật lùi). |
| Quạt Đinh H08_SK02_FAN | SKILL | 10 | 6 | 16 | 0.533 | 1.3 | SKILL | ARC r 220 arc 60 | 48 | 3 | 0.03 | 0.22 | NONE | — | pierce | 12 đinh quạt đều 60°, tầm 220 px, mỗi đinh coef 1.3 xuyên 1 (mục tiêu 2 ×0.5); 1 mục tiêu nhận tối đa 3 đinh. |
| Mưa Muối — đợt 1 H08_SK03_SALT | SKILL | 18 | 3 | 14 | 0.583 | 1.5 | SKILL | CIRCLE r 80 off_fwd 96 | 48 | 15 | 0.04 | 0.25 | NONE | — | — | Giữ ngắm điểm (≤ 160 px, reticle tròn r80), nhả: vốc muối nổ trên cao rơi r80: coef 1.5, choáng S 1.4 s / M 0.7 s, L/XL −15 Thế. |
| Mưa Muối — đợt 2 H08_SK03_SALT_2 | SKILL | 48 | 3 | 18 | 1.15 | 1.5 | SKILL | CIRCLE r 80 off_fwd 96 | 48 | 10 | 0.03 | 0.18 | NONE | — | — | Đợt 2 cùng tâm sau 0.5 s: coef 1.5, làm mới choáng của kẻ còn trong vùng (không cộng dồn thời lượng). |
| Đèn Ma Rải Đường H08_SK04_MINE | SKILL | 8 | 1 | 16 | 0.417 | 0 | SKILL | NONE | 1 | 0 | 0 | 0 | NONE | — | — | Rải 4 đèn ma thành hàng sau lưng (cách 48 px, hàng dài 144 px), sống 12 s, tối đa 8 đèn trên sàn (đèn cũ nhất tắt). |
| Đèn Ma — nổ H08_SK04_BURST | SKILL | 0 | 2 | 0 | 0.033 | 1.2 | SKILL | CIRCLE r 40 | 48 | 8 | 0.03 | 0.18 | NONE | — | — | Quái chạm đèn (r14) hoặc hết 12 s: nổ r40 coef 1.2, đẩy 30, STS_EMBER. |
| Đèn Ma — lửa sàn H08_SK04_FIRE | SKILL | 0 | 120 | 0 | 2 | 0.3 | DOT | CIRCLE r 40 | 48 | 1 | 0 | 0 | NONE | — | — | Lửa sàn r40 tại chỗ nổ 2 s, 0.3 coef mỗi 0.5 s. |
| Nhồi Đôi H08_SK05_SHOT | SKILL | 14 | 3 | 20 | 0.617 | 10 | SKILL | ARC r 48 arc 60 | 48 | 30 | 0.08 | 0.5 | NONE | — | shieldbreak | Ép 2 viên trên cùng vào 1 nòng, bắn sát nón 60° r48 coef 10.0 (Nòng Loa ×1.3 áp), −30 Thế, shieldbreak, rồi phản ứng cặp của 2 viên với coef/thời lượng ×2. |
| Chống Báng H08_SK06_BRACE | SKILL | 6 | 138 | 6 | 2.5 | 0 | SKILL | NONE | 1 | 0 | 0 | 0 | HYPER | — | — | 2.5 s chống báng: siêu giáp trước 180°, không giảm sát thương; nạp 1 viên/0.2 s; mỗi đòn Y/N trước mặt trúng Dov: nạp tức thì 1 viên Nạp Nóng + bắn trả 1 Đinh (≤ 3 lần). Lướt/ĐÁP huỷ. |
| Chống Báng — bắn trả H08_SK06_RETURN | SKILL | 0 | 2 | 0 | 0.033 | 2 | SKILL | LINE len 140 w 12 | 1 | 8 | 0.03 | 0.12 | NONE | — | — | Đinh bắn trả thẳng vào kẻ vừa đánh (tầm 140 px), coef 2.0. |
| Chống Báng — dậm báng H08_SK06_SLAM | SKILL | 0 | 4 | 18 | 0.367 | 4 | SKILL | ARC r 40 arc 90 | 48 | 25 | 0.06 | 0.3 | NONE | — | — | Hết 2.5 s (hoặc nhấn lại kỹ năng): dậm báng nón 90° r40 coef 4.0, −25 Thế, đẩy 40. |
| Lăn Lửa Ma H08_SK07_ROLL | SKILL | 3 | 15 | 10 | 0.467 | 0 | SKILL | NONE | 1 | 0 | 0 | 0 | NONE | — | — | Lăn 120 px sang ngang/tới theo MOVE (thành phần lùi so với hướng ngắm bị cắt, Bible #28), không i-frame; hết lăn +1 Ma Trơi. |
| Lăn Lửa Ma — vệt H08_SK07_TRAIL | SKILL | 0 | 180 | 0 | 3 | 0.6 | DOT | LINE len 120 w 24 | 48 | 1 | 0 | 0 | NONE | — | — | Vệt Ma Trơi dọc đường lăn 120 × 24 px, 3 s, 0.6 coef mỗi 0.5 s. |
| Nạp Một Hơi H08_SK08_LOAD | SKILL | 6 | 24 | 6 | 0.6 | 0 | SKILL | NONE | 1 | 0 | 0 | 0 | NONE | — | — | Xoay 2 ổ một vòng, lấp đầy 6 viên loại vừa nạp; cue chân sáng ở tick 18: chạm ATTACK trong 0.10 s → cả 6 viên Nạp Nóng. |
| Nạp Một Hơi — xả khói H08_SK08_RING | SKILL | 6 | 2 | 0 | 0.133 | 1 | SKILL | CIRCLE r 48 | 48 | 4 | 0.02 | 0.12 | NONE | — | — | Xả hơi thuốc thừa khi mở ổ: vòng r48 coef 1.0 đẩy 40 px (tạo chỗ đứng nạp). |
| Pháo Đêm — bắn lên H08_UL1_LAUNCH | ULT | 30 | 1 | 89 | 2 | 0 | ULT | NONE | 1 | 0 | 0 | 0 | INVULN | — | — | Dựng nòng lên trời bắn 6 phát liền (tick 30–40), bất tử toàn clip 2.0 s. |
| Pháo Đêm — rơi H08_UL1_SHELL | ULT | 48 | 42 | 30 | 2 | 6 | ULT | CIRCLE r 160 | 128 | 10 | 0.1 | 0.8 | INVULN | — | shieldbreak/rehit | 6 quả rơi nối tiếp mỗi 8 tick (tick 48–88), mỗi quả nổ r160 quanh điểm ngắm, coef 6.0. |
| Pháo Đêm — xác bốc ma trơi H08_UL1_CORPSE | ULT | 50 | 60 | 10 | 2 | 2 | ULT | CIRCLE r 40 | 128 | 4 | 0.03 | 0.3 | NONE | — | — | Mọi xác và quái chết trong r200 trong lúc ult bốc ma trơi nổ r40 coef 2.0 (≤ 40 nổ), không lan tiếp. |
| Phát Cuối Đội Đèn H08_UL2_SHOT | ULT | 18 | 66 | 24 | 1.8 | 6.5 | ULT | CIRCLE r 20 | 8 | 8 | 0.1 | 0.8 | INVULN | — | shieldbreak/execute/rehit | Khoá mục tiêu ưu tiên M/L/XL trong 140 px, nhồi 9 viên theo thứ tự 9 cặp, bắn 9 phát cách 8 tick (tick 18–82), mỗi phát coef 6.5 + phản ứng cặp tương ứng; execute 20% (XL thay bằng ×1.5). |
| Nòng Loa Vô Tận — mở H08_UL3_ENTER | ULT | 12 | 2 | 16 | 0.5 | 3 | ULT | CIRCLE r 64 | 128 | 10 | 0.1 | 0.45 | INVULN | — | shieldbreak | Clip kích 0.5 s bất tử: nổ miệng loa r64 coef 3.0 đẩy 40, rồi vào dạng 9 s. |
| Phát Cặp Nòng Chụm H08_AS2_FIN_LINE | ASPECT | 9 | 4 | 18 | 0.517 | 3 | HEAVY | LINE len 160 w 24 | 48 | 20 | 0.07 | 0.28 | NONE | — | finisher/shieldbreak/pierce | AS2: phát ổ B của cặp thành đường thẳng 160 × 24 px coef 3.0 xuyên tất cả, rồi phản ứng cặp tại mục tiêu xa nhất. |
| Phát Cặp Loa Rộng H08_AS3_FIN_RING | ASPECT | 9 | 4 | 20 | 0.55 | 2 | HEAVY | CIRCLE r 56 | 48 | 20 | 0.07 | 0.3 | NONE | — | finisher/shieldbreak | AS3: mỗi phản ứng cặp nổ thêm vòng r56 quanh miệng loa coef 2.0, đẩy 36. |
78 kỹ năng
Loa Sấm
skill.cone_blastHạng III: Hạng III: nón mở 120°; quái S bị đẩy va quái khác thì cả hai choáng 0.6 s (sóng sấm dội, cùng sheet, viền r7).
Đòn: SK01 · SKILL H08_SK01_BLAST · Tag: Kỹ năng SKILL · Vùng rộng AREA
Quạt Đinh
skill.projectile_fanHạng III: Hạng III: đinh hết tầm cắm sàn rồi nảy 1 lần tới quái gần nhất trong 64 px (cùng sheet, thêm vệt lùi).
Đòn: SK02 · SKILL H08_SK02_FAN · Tag: Kỹ năng SKILL · Phóng PROJ
Mưa Muối
skill.stunHạng III: Hạng III: muối đóng vỏ sàn 3 s; quái S bước vào vùng bị choáng 0.6 s (1 lần/quái).
Đòn: SK03 · SKILL H08_SK03_SALT · SK03_W2 · SKILL H08_SK03_SALT_2 · Tag: Kỹ năng SKILL · Vùng rộng AREA
Đèn Ma Rải Đường
skill.mineHạng III: Hạng III: mỗi đèn nổ toả 3 đốm ma trơi lăn 48 px theo 3 hướng cách 120°, mỗi đốm nổ r24 coef 0.6 (cùng sheet, cỡ 0.6).
Đòn: SK04 · SKILL H08_SK04_MINE · SK04_BURST · SKILL H08_SK04_BURST · SK04_FIRE · SKILL H08_SK04_FIRE · Tag: Kỹ năng SKILL · Than Hồng STS_EMBER
Nhồi Đôi
skill.shell_overchargeHạng III: Hạng III: trúng mục tiêu đang Vỡ Thế hoặc choáng → hoàn 1 viên cùng loại vào ổ A.
Đòn: SK05 · SKILL H08_SK05_SHOT · Tag: Kỹ năng SKILL · Tài nguyên: Ổ Đạn RES:SHELL
Chống Báng
skill.brace_reloadHạng III: Hạng III: đang chống báng, Nổ Chặn rộng cửa sổ +0.05 s (kẹp 0.24 s) và không tiêu viên; thả chống báng bằng ĐÁP không mất dậm báng.
Đòn: SK06 · SKILL H08_SK06_BRACE · SK06_RETURN · SKILL H08_SK06_RETURN · SK06_SLAM · SKILL H08_SK06_SLAM · Tag: Kỹ năng SKILL · Đáp ANSWER
Lăn Lửa Ma
skill.ground_scarHạng III: Hạng III: viên Ma Trơi nhận cuối lăn luôn là Nạp Nóng; vệt nối với lửa sàn khác thành 1 vùng (cùng sheet).
Đòn: SK07 · SKILL H08_SK07_ROLL · SK07_TRAIL · SKILL H08_SK07_TRAIL · Tag: Kỹ năng SKILL · Di chuyển MOVE
Nạp Một Hơi
skill.hot_reloadHạng III: Hạng III: thay vì 1 loại, nạp lại đúng thứ tự 3 cặp cuối đã bắn (lặp lại combo phản ứng).
Đòn: SK08 · SKILL H08_SK08_LOAD · SK08_RING · SKILL H08_SK08_RING · Tag: Kỹ năng SKILL · Tài nguyên: Ổ Đạn RES:SHELL
83 tuyệt kỹ (Ult)
Pháo Đêm Ma Trơi
ult.corpse_burstBắn 6 phát pháo ma trơi lên trời, rơi nổ r160 quanh điểm ngắm, mỗi phát 6 × POWER; xác trong r200 nổ r40, 2 × POWER.
Đòn: UL1 · ULT H08_UL1_LAUNCH · UL1_SHELL · ULT H08_UL1_SHELL · UL1_CORPSE · ULT H08_UL1_CORPSE
Phát Cuối Đội Đèn
ult.chamber_orderNhồi 9 viên theo đủ 9 cặp, bắn liền vào 1 Tinh Anh/boss: mỗi phát 6.5 × POWER + phản ứng cặp; dưới 0.2 HP là kết liễu.
Đòn: UL2 · ULT H08_UL2_SHOT
Nòng Loa Vô Tận
ult.hot_reload9 s: mọi viên tự Nạp Nóng, 2 ổ lặp lại 6 viên hiện có không cạn, tốc bắn ×1.2, Nổ Chặn không tốn viên.
Ghi đè khi biến hình
- hot_all
- có
- chamber_loop
- có
- loop_size
- 6
- answer_shell_cost
- 0
- atk_speed_mult
- 1.2
- pair_window_s
- 0.9
- load_disabled
- có
- COMBO_A_PAIR.coef_mult
- 1.2
- H08_SK01.cooldown_mult
- 0.5
- vfx_overlay
- VFX_H08_UL3_endless_bell
Đòn: UL3 · ULT H08_UL3_ENTER
93 Dạng Rèn
Hoả Mai Nòng Loa
Nòng loe gốc: Đinh nón 70° tầm 110 px, Nạp Nóng +50%.
- Combo
- tempo_mult 1, arc_add 0, range_add 0
- Luật tài nguyên
- giữ gốc
- Lệch độ khó
- —
- mechanic_key
- —
Đòn: PAIR · COMBO_A H08_COMBO_A_PAIR
Hoả Mai Nòng Chụm
Nòng thẳng hẹp: nón 50° tầm 150 px, sát thương phát ×0.9; phát cặp thành đường 160 px xuyên; Tì Báng nạp mỗi 0.3 s.
- Combo
- tempo_mult 1, arc_add −20, range_add 40
- Luật tài nguyên
- Tì Báng Nạp nạp 1 viên mỗi 0.3 s (gốc 0.4 s); chỉ thay mục gain hold_tick, các nguồn nạp khác (charge_mark, perfect_dodge, kill_multi, skill, dash_end) giữ nguyên.
- Lệch độ khó
- axis V, delta 1
- mechanic_key
- passive.brace_reload
Đòn: AS2_FIN · ASPECT H08_AS2_FIN_LINE
Pháo Tay Loa Rộng
Nòng loe to ngắn: nón 110° tầm 80 px, sát thương phát ×1.2; mỗi phản ứng cặp nổ thêm r56 quanh miệng loa; Nạp Nóng +70%.
- Combo
- tempo_mult 0.9, arc_add 40, range_add −30
- Luật tài nguyên
- Nạp Nóng +70% sát thương và thời lượng hiệu ứng (gốc +50%, số ở params.hot); chỉ thay mục gain charge_mark, các nguồn nạp khác (hold_tick, perfect_dodge, kill_multi, skill, dash_end) giữ nguyên.
- Lệch độ khó
- axis V, delta −1
- mechanic_key
- passive.cone_blast
Đòn: AS3_FIN · ASPECT H08_AS3_FIN_RING
10Nâng cấp: Edge · Cộng Hưởng · Tiến Hoá
Then Chốt (LEGENDARY)
Pháo Hoa Dẫn Hồn
Quái chết vì phản ứng cặp nổ r40 lặp phản ứng ×0.75; cặp hạ ≥ 4 quái → viên kế tự Nạp Nóng.
kill.corpse_burst + kill_multi.hot_reloadMảnh Chặn Nạp Ổ
Khi ĐÁP thành công, văng 3 mảnh nảy 3 quái (1.2 × POWER), mỗi mảnh trúng +1 Ổ Đạn (≤ 3).
answer_chain.projectile_fan + answer.res_addTì Báng Xả Loạt
Tì Báng: đòn trúng mặt trước +1 viên; nhả khi Ổ Đầy = 3 cặp liền, mỗi phát 3 × POWER, −15 Thế.
hold_end.chamber_order + hold_block.brace_reloadNgòi Nổ Lăn Đêm
Lướt khi Ổ Đầy cắm ngòi: 0.6 s sau nổ r72, 2 × POWER mỗi viên + 3 phản ứng; hoàn 1 Lướt.
dash.chamber_order + detonate.mineHướng build Combo · 6 Edge
Cộng Hưởng: Nhịp Ổ Thuộc Lòng H08_RS1 · Combo COMBO
Thay bậc I: không cần canh cue, cứ {every} phản ứng cặp liền nhau thì cặp thứ {every} tính là Nạp Nóng.
Miệng Chuông Loe
Phát đơn: nón +10/18/25°, sát thương +6/10/15%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
arc_add | 10 | 18 | 25 |
dmg_inc | 6 | 10 | 15 |
passive.arc_widenNgón Tay Ám Khói
Giữ Đánh nạp viên: mốc chọn viên sớm 8/14/20%; cửa Nạp Nóng +0.02/0.035/0.05 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
charge_pct | 8 | 14 | 20 |
hot_add | 0.02 | 0.035 | 0.05 |
charge_mark.charge_speedLửa Ma Bén Đất
Lửa sàn Ma Trơi: thời lượng +1/1.75/2.5 s, bán kính +0/0/8 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dur_add | 1 | 1.75 | 2.5 |
r_add | 0 | 0 | 8 |
zone_tick.ground_scarDội Nòng Kết
Khi Phát Cặp trúng, thổi thêm nón 90° r64: 1.5/2.4 × POWER.
| tham số | H1 | H2 |
|---|---|---|
coef | 1.5 | 2.4 |
combo_end.cone_blastSấm Theo Cặp
Khi Phát Cặp trúng, Loa Sấm hồi chiêu −0.5/0.8 s.
| tham số | H1 | H2 |
|---|---|---|
amount | 0.5 | 0.8 |
combo_end.cooldown_reduceChuỗi Ổ Không Nghỉ
Phát Cặp mở cửa sổ cặp mới: phản ứng nối tiếp ×0.6, tối đa 3 lần liền.
combo_end.chamber_orderHướng build Lướt · 6 Edge
Cộng Hưởng: Lăn Trên Lửa Ma H08_RS2 · Lướt DASH
Thay bậc I: lửa sàn của chính Dov thành trạm nạp đạn khi lăn qua.
Lăn Gọn Bãi Pháo
Thời gian nạp Lướt −12/−20/−28%; phát đầu sau Lướt +10/18/25% sát thương.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
recharge_pct | −12 | −20 | −28 |
after_inc | 10 | 18 | 25 |
passive.dash_rechargePhát Lăn Loe Nòng
Phát Lăn: nón +10/18/25°, hệ số +0.3/0.5/0.75.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
arc_add | 10 | 18 | 25 |
coef_add | 0.3 | 0.5 | 0.75 |
dash_attack.cone_blastVệt Lửa Dài
Lăn Lửa Ma: vệt Ma Trơi +0.5/0.9/1.25 s, hệ số mỗi nhịp +0.08/0.14/0.2.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
trail_add | 0.5 | 0.9 | 1.25 |
coef_add | 0.08 | 0.14 | 0.2 |
dash_end.ground_scarNé Nhồi Nóng
Khi Né Hoàn Hảo, +1 Ổ Đạn Nạp Nóng; +3/5 Dư Âm.
| tham số | H1 | H2 |
|---|---|---|
ult | 3 | 5 |
perfect_dodge.res_addĐèn Rơi Sau Lăn
Khi dùng Lăn Lửa Ma, để 2 đèn ma ở điểm xuất phát (8 s): chạm nổ r40, 1.4/2.2 × POWER.
| tham số | H1 | H2 |
|---|---|---|
coef | 1.4 | 2.2 |
dash.mineLăn Bắn Đôi Nòng
Phát Lăn bắn cùng lúc 2 viên trên cùng 2 ổ: phản ứng cặp ngay tại nón, ×0.8.
dash_attack.shell_overchargeHướng build Đáp · 6 Edge
Cộng Hưởng: Nổ Chặn Thuộc Tay H08_RS3 · Đáp ANSWER
Thay bậc I: ĐÁP không bao giờ là phát rỗng, viên tiêu khi ĐÁP luôn mạnh như nạp đúng cue.
Loa Chặn Mở Rộng
Nổ Chặn: nón +15/26/38°, tầm +8/14/20 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
arc_add | 15 | 26 | 38 |
r_add | 8 | 14 | 20 |
answer.cone_blastMắt Pháo Thủ
Cửa sổ ĐÁP +0.03/0.05/0.07 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
value | 0.03 | 0.05 | 0.07 |
passive.answer_window_addBáng Tì Vững
Tì Báng Nạp: chu kỳ nạp −0.04/0.07/0.1 s, xoay ngắm +0/0/90°/s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
period_cut | 0.04 | 0.07 | 0.1 |
rotate_add | 0 | 0 | 90 |
hold_tick.brace_reloadĐạn Dội Mảnh Nảy
Khi Nổ Chặn thổi tan đạn, bắn 3 mảnh nảy 2 lần trong r72, mỗi lần 1.4/2.2 × POWER.
| tham số | H1 | H2 |
|---|---|---|
coef | 1.4 | 2.2 |
answer_proj.projectile_fanChống Báng Ăn Đòn
Chống Báng: mỗi đòn chặn được +1 Ổ Đạn; dậm báng cuối +25/40%.
| tham số | H1 | H2 |
|---|---|---|
slam_inc | 25 | 40 |
stance.brace_reloadBáng Thả Nòng Kề
Chống Báng kết thúc: thay dậm báng bằng 2 viên sát nòng 10 × POWER, −30 Thế, phản ứng cặp ×2.
hold_end.shell_overchargeHướng build Phản · 6 Edge
Cộng Hưởng: Hai Nòng Song Thanh H08_RS4 · Phản COUNTER
Thay bậc I: Phản đổi từ đòn tay đôi thành nón quét cả cụm đứng sau kẻ bị Phản.
Kề Sát Họng Loa
Hai Nòng Kề lao +6/10/14 px; vùng Nòng Loa +6/10/14 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
lunge_add | 6 | 10 | 14 |
loa_r_add | 6 | 10 | 14 |
counter.range_extendPhản Nạp Lại Ổ
Khi Phản trúng, hoàn 50/50/100% viên vừa bắn (làm tròn lên); +0/2/3 Dư Âm.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
pct | 50 | 50 | 100 |
ult | 0 | 2 | 3 |
counter.res_refundPhản Lên Kẻ Choáng
Mưa Muối: choáng +0.1/0.2/0.25 s; Phản lên kẻ đang choáng +10/18/25% sát thương.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
stun_add | 0.1 | 0.2 | 0.25 |
stunned_inc | 10 | 18 | 25 |
counter.stunNhồi Đôi Sau Phản
Khi Phản trúng, Nhồi Đôi trong 2 s không tốn viên và −10/16 Thế thêm.
| tham số | H1 | H2 |
|---|---|---|
poise_add | 10 | 16 |
counter.shell_overchargeTiếng Vọng Hai Nòng
Khi Phản trúng, phản ứng cặp của Hai Nòng Kề nổ lại sau 0.3 s, 40/64% sát thương.
| tham số | H1 | H2 |
|---|---|---|
echo_pct | 40 | 64 |
counter.chamber_orderHướng build Kỹ năng · 6 Edge
Cộng Hưởng: Kỹ Năng Nhồi Đạn H08_RS5 · Kỹ năng SKILL
Thay bậc I: kỹ năng thành nguồn nạp đạn; Nhồi Đôi, Chống Báng, Nạp Một Hơi không tính.
Đèn Ma Cháy Lâu
Đèn Ma Rải Đường: nổ +4/6/10 px, lửa sàn +0.5/0.9/1.25 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 4 | 6 | 10 |
fire_add | 0.5 | 0.9 | 1.25 |
place.mineQuạt Đinh Dày Mũi
Quạt Đinh: mỗi đinh hệ số +0.15/0.26/0.38; thêm 0/0/1 đinh.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
coef_add | 0.15 | 0.26 | 0.38 |
n_add | 0 | 0 | 1 |
skill_hit.projectile_fanĐinh Tẩm Lửa Ma
Khi Quạt Đinh trúng, gây Than Hồng 3/4.8 s.
| tham số | H1 | H2 |
|---|---|---|
duration_s | 3 | 4.8 |
skill_hit.apply_emberMuối Đóng Sương
Khi Mưa Muối trúng, gây Sương Giá 2/3 lớp, 4 s.
| tham số | H1 | H2 |
|---|---|---|
stacks | 2 | 3 |
skill_hit.apply_frostXác Thắp Đèn Mới
Khi quái chết trong lửa Đèn Ma, rải 1 đèn mới (6/9 s, tối đa 3 đèn thêm).
| tham số | H1 | H2 |
|---|---|---|
life | 6 | 9 |
kill.mineLoa Sấm Xả Ổ
Loa Sấm tiêu hết viên trong 2 ổ: mỗi viên +1 × POWER và nhả hiệu ứng viên đó.
skill.res_dumpHướng build Tài nguyên: Ổ Đạn · 6 Edge
Cộng Hưởng: Ổ Phản Ứng H08_RS6 · Tài nguyên: Ổ Đạn RES:SHELL
Thay bậc I: Muối Lạnh cũng nổ như Nổ Muối, nên thứ tự Muối/Ma Trơi nào cũng ra nổ.
Than Theo Phản Ứng
Khi tiêu Ổ Đạn vào phản ứng cặp có Ma Trơi, gây Than Hồng 2/3.5/5 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
duration_s | 2 | 3.5 | 5 |
res_spend.apply_emberCue Nạp Một Hơi
Nạp Một Hơi: cửa cue +0.02/0.035/0.05 s, hồi chiêu −0.4/0.7/1 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
window_add | 0.02 | 0.035 | 0.05 |
cd_cut | 0.4 | 0.7 | 1 |
res_gain.hot_reloadNhồi Đôi Nạp Nóng
Nhồi Đôi: mỗi viên Nạp Nóng trong 2 viên +20/32% sát thương; hồi chiêu −0.5 s.
| tham số | H1 | H2 |
|---|---|---|
hot_inc | 20 | 32 |
skill_hit.shell_overchargeỔ Đầy Hát Vang
Khi Nạp Một Hơi làm Ổ Đạn đầy, xả khói r56: 3/4.8 × POWER, đẩy 40 px.
| tham số | H1 | H2 |
|---|---|---|
coef | 3 | 4.8 |
res_full.hot_reloadĐêm Bốc Ma Trơi
Pháo Đêm Ma Trơi: mỗi xác bốc ma trơi nạp 1 Ma Trơi Nạp Nóng (≤ 6); xác nổ +0.5 hệ số.
ult.res_addChuông Không Nghỉ
Nòng Loa Vô Tận +1 s; sau mỗi phản ứng cặp tự Đảo Ổ để cặp kế luôn khác.
ult.form_extendTiến Hoá
Bão Muối Tì Báng
Tì Báng Nạp: mỗi 1.2 s rắc vòng muối r64 (1.2 × POWER, choáng S 0.6 s, 1 lớp Sương Giá); Mưa Muối thành bão 3 s.
- Cần Edge
- Báng Tì Vững H08_E15 · Muối Đóng Sương H08_E28
- Điều kiện
SKILL_RANKMưa Muối H08_SK03 = 3 — Mưa Muối hạng III; Báng Tì Vững hạng III + Muối Đóng Sương hạng II (hướng Tì Báng).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- hold_tick.stun
Phố Đèn Ma
Đèn Ma thành đèn lồng cháy 10 s: lửa sàn r56 0.6 × POWER/0.5 s; Phát Ma Trơi trúng đèn nổ r48 2 × POWER.
- Cần Edge
- Lửa Ma Bén Đất H08_E03 · Đèn Ma Cháy Lâu H08_E25
- Điều kiện
RESONANCENhịp Ổ Thuộc Lòng H08_RS1 = 1 — Cộng Hưởng COMBO đạt bậc I; Lửa Ma Bén Đất + Đèn Ma Cháy Lâu hạng III (hướng Nón Lửa).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- zone_tick.mine
Thác Pháo Nạp Nóng
Mỗi viên Nạp Nóng bắn ra phóng 1 pháo ma trơi, 0.4 s sau nổ r40 1.5 × POWER; Nạp Một Hơi đúng cue phóng 6 pháo.
- Cần Edge
- Né Nhồi Nóng H08_E10 · Cue Nạp Một Hơi H08_E32
- Điều kiện
LEVEL= 14 — Lv ≥ 14; Né Nhồi Nóng hạng II + Cue Nạp Một Hơi hạng III (hướng Ổ Phản Ứng).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- charge_mark.hot_reload
Chuông Pháo Thức Tỉnh
Hoả mai thức tỉnh: phát đơn nón +20°, Nòng Loa r72; mỗi Phát Cặp ngân chuông r64, choáng S 0.5 s.
- Cần Edge
- —
- Điều kiện
BOSS_KILLEDThợ Cả Đúc Chuông BS_B3 = BS_B3 — 2 Cộng Hưởng hero bậc II bất kỳ + đã hạ BS_B3 trong run.- Mở
- Công thức EVO4 hiện ở ST_FORGE (mở khoá sức mạnh cuối của T… MR12
- mechanic
- passive.weapon_awaken
Mẫu câu (7)
| ID | Câu |
|---|---|
| TPL_H08_chain_pair | Phát ổ B vừa thành phản ứng cặp cũng tính là phát ổ A của cặp kế; chuỗi đứt khi quá cửa sổ cặp hoặc khi bắn Phụt Mồi. |
| TPL_H08_brace_release | Khi Chống Báng hết giờ hoặc bị thả, Dov bắn sát nòng 2 viên trên cùng thay cho cú dậm báng; ổ thiếu viên thì nửa sát thương, không phản ứng. |
| TPL_H08_last_shot_twin | Sau phát thứ chín của Phát Cuối Đội Đèn, Dov kề hai nòng vào mục tiêu và bắn thêm một Hai Nòng Kề không tốn viên, không cần ĐÁP trước. |
| TPL_H08_thunder_dump | Loa Sấm nuốt mọi viên còn trong 2 ổ theo thứ tự nạp: Đinh cộng sát thương, Muối choáng, Ma Trơi để lửa sàn trong nón; ổ rỗng thì Loa Sấm như gốc. |
| TPL_H08_reaction_corpse | Khi quái chết bởi phản ứng cặp, xác bốc ma trơi và nổ lặp đúng phản ứng ấy một lần; xác nổ không kích tiếp xác khác. |
| TPL_H08_brace_volley | Khi nhả Tì Báng Nạp lúc Ổ Đầy, Dov bắn liền 3 cặp theo thứ tự nạp, mỗi cặp ra phản ứng; thiếu Ổ Đầy thì nhả như gốc. |
| TPL_H08_fuse_roll | Khi Lăn Ngang lúc Ổ Đầy, Dov cắm ngòi pháo ở điểm xuất phát; ngòi cháy rồi nổ hố, tiêu hết viên và ra 3 phản ứng theo thứ tự cặp. |
11Thông Thạo (mastery)
Thử thách Thông Thạo
| Thử thách | Điều kiện | Thưởng |
|---|---|---|
| ĐÁP {answers} tell vàng trong 1 run. TT1 | answers 30, tell Y | — |
| Đầy tài nguyên riêng {fills} lần trong 1 run. TT2 | full_events 10, event res_full | — |
| Hạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… TT3 | boss_act 1, purple_hits 0 | — |
| Qua Hồi II chỉ dùng {skills} kỹ năng. TT4 | act II, skills_max 1 | — |
| Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}. TT5 | boss BS_FINAL, do_tang_min 8 | — |
- Danh hiệu MR20
- Pháo Hoa Dẫn Hồn
- Mốc thoại MR11
- Tóc con khét mùi thuốc pháo. Rửa đi rồi ăn, con gái. DLG_ULLA_H08_001
- Mốc thoại MR15
- Nòng pháo đen tới miệng. Bắn đủ một đội rồi đấy, con bé. DLG_GREM_H08_001
- Bia mộ
- TMB_H08
12VFX spec
SIGNATURE · 14
Cue nạp ở chân Dov (world_cue HUD): hàng 0 qua mốc nạp (H08_HEAVY_LOA…
Cue nạp đạn ở chân: vòng nhỏ lục với ký hiệu viên, chuyển trắng đúng 0.1 s cửa Nạp Nóng; đọc được giữa bầy mà không cần nhìn HUD.
Chi tiết spec
- Kích hoạt
- Cue nạp ở chân Dov (world_cue HUD): hàng 0 qua mốc nạp (H08_HEAVY_LOAD_* tick 15/30/45); hàng 1 cửa Nạp Nóng 6 tick (tick 24–29 / 39–44 / 54–59, = 0.1 s) và cue H08_SK08_LOAD tick 18 (0.1 s; E32 +0.02/0.035/0.05 s); hàng 2 vào PAIR_READY; hàng 3 vào FULL_CHAMBERS; hàng 4 H08_HEAVY_SWAP Đảo Ổ. t = 0 = tick sự kiện. H08_E02, H08_E06, H08_E10, H08_E35 phát hàng 1.
- Canvas
- 32×20 gốc 16/10
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.2
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/dov-hot-load-cue.js (mượn bladewake/levelup.js vòng chân)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-hot-load-cue), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: vòng chân r14 (elip 28×14) loé 1 vòng #aad44d, 1 chấm/viên theo loại: Đinh ▪ 2×2, Muối ● 2×2, Ma Trơi ▲ 3×2 ở phía trước chân. |
| 0 | Hàng 1 (cửa Nạp Nóng): vòng chân đổi lõi #fff6f0 + viền #e5ff9e dày 2 px giữ đúng 3 frame (0.1 s) rồi tắt cứng — đúng cửa sổ, không trễ. |
| 0 | Hàng 2 PAIR_READY: 2 chấm ổ A/B hai bên chân nối bằng vạch 1 px #7bb21b 4 frame. Hàng 3 FULL_CHAMBERS: 6 chấm quanh vòng loé lần lượt 6 frame. Hàng 4 Đảo Ổ: 2 chấm đổi chỗ theo cung 4 frame. |
| 0.1 | Hàng 1 tắt; hàng khác nguội về #578514. |
| 0.2 | Rỗng. |
Hàng 0: H08_ANSWER Nổ Chặn — t = 0 = frame ĐÁP thành công (answer hit…
Nổ Chặn: một phát nòng loa thổi bật đòn đánh/đạn ngay sát người, hiệu ứng viên rơi vào nón 90° r48.
Chi tiết spec
- Kích hoạt
- Hàng 0: H08_ANSWER Nổ Chặn — t = 0 = frame ĐÁP thành công (answer hit_frame 0, cửa sổ 9 tick), nón 90° r48 về mối đe doạ; đạn Y bị thổi tan tại điểm gặp. Hàng 1–3: H08_ANSWER_SHELL hiệu ứng viên (Đinh / Muối / Ma Trơi, answer_hit hit_frame 1). Hàng 4: ổ rỗng (chỉ trung hoà). H08_E13 (+15/26/38°, +8/14/20 px), H08_E16, H08_E38 dùng chung.
- Canvas
- 80×64 gốc 16/40
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind SPARK, count 4, speed 160, life_s 0.2, hex #e5ff9e, gravity 950, shadow có/kind SMOKE, count 3, speed 40, life_s 0.3, hex #476b15, gravity −20, shadow không
- Hitbox
- shape sector r48 a90, match Cung đặc phủ 100% elip r48 90° (48×24, mép ±45° tại (34, ±17)), mép vượt ≤ 4 px. E13 hạng III: r68 128° (--opts). Đạn huỷ tại mép r48., wave none
- Nguồn
- new src/fx/heroes/dov-answer-flak.js (mượn impacts/shield-block.js chớp + _reaver.js arcSparks)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-answer-flak), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r48 a90' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng #ffffff 1 frame: quạt chớp 90° r48 (elip 48×24), VFX_SHARED_answer_flash chồng ở thân. |
| 0.033 | Quạt khói-lửa đặc lõi #fff6f0 viền #aad44d dày 6 px chạy theo vòng cung r40–48; đạn bị bắt tại mép tan thành 4 SPARK. |
| 0.066 | Hàng 1 Đinh: 6 vệt ngắn r48; hàng 2 Muối: 14 hạt; hàng 3 Ma Trơi: lưỡi lửa sập thành wisp_floor (--opts radius 48 arc 90); hàng 4: chỉ khói 3 cuộn #476b15. |
| 0.2 | Vòng cung tan về ramp #578514, khói cuộn trôi lên 8 px. |
| 0.3 | Rỗng. |
Phát Đinh: H08_COMBO_A_DINH / H08_COMBO_B_DINH hit (t = 0 = frame nổ,…
Nón mạt đinh của hoả mai nòng loa: 14 vệt thẳng trắng-lục xoè từ miệng loa, sàn sáng đúng hình rẻ quạt trúng. Dạng Rèn: AS2 Nòng Chụm --opts {arc:50, radius:150} hue −3; AS3 Loa Rộng --opts {arc:110, radius:80} hue +3; EVO4 arc +20.
Chi tiết spec
- Kích hoạt
- Phát Đinh: H08_COMBO_A_DINH / H08_COMBO_B_DINH hit (t = 0 = frame nổ, attack1/attack2 hit_frame 3, startup 6 tick ép vào thân) và H08_COMBO_A_PAIR viên B = Đinh (attack3 hit_frame 5, startup 9 tick). Hàng 1: H08_E04 Dội Nòng Kết (nón 90° r64 khi Phát Cặp trúng). EVO4: --opts arc +20.
- Canvas
- 140×92 gốc 18/56
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind STREAK, count 14, speed 900, life_s 0.12, hex #f5ffd8, gravity 0, shadow không/kind SPARK, count 6, speed 120, life_s 0.2, hex #aad44d, gravity 950, shadow có
- Hitbox
- shape sector r110 a70, match Nón sàn shadeFloor vẽ đúng elip r110 70° (110×55 màn), phủ 100% hitbox; đầu vệt dừng ở r112 (vượt 2 px ≤ 6 ✓); gốc nón = chân sau bước 6 px (A) / 8 px (Phát Cặp). Hàng 1 E04: hình r66 92° vs sector r64 a90. Đo trên --dirs 8., wave reach
- Nguồn
- new src/fx/heroes/dov-muzzle-cone.js (mượn projectiles/muzzle-shotgun.js nón + _reaver.js arcSparks; floor shadeFloor sector)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-muzzle-cone), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r110 a70' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả (1 frame): 14 vệt mạt đinh bật từ miệng loa (socket muzzle x +16, h 18), gốc trắng #fff6f0, đuôi #aad44d; sàn: rẻ quạt shadeFloor 70° phủ đủ elip r110 (110×55 màn) α 0.35 #578514, lõi #e5ff9e trong r24. |
| 0.033 | Vệt dài 10–18 px bay 900 px/s, đầu vệt ở r30; nón sàn sáng dần từ gốc ra mép (quét reach). |
| 0.1 | Đầu vệt tới r90; 1/3 vệt đã tắt; mép sáng nón sàn ở r90 #aad44d 1 px, không viền 2 px (không giống tell P). |
| 0.133 | Đầu vệt chạm r110: 6 SPARK nảy ở mép cung (P(φ) ±35°), vệt cuối cùng tắt; nón sàn còn α 0.15 #476b15. |
| 0.2 | Tia lửa rơi chạm sàn nảy 1 lần; nón sàn tan dither Bayer 4×4. |
| 0.3 | Rỗng. |
Phát Muối: H08_COMBO_A_MUOI / H08_COMBO_B_MUOI hit (hit_frame 3, t = …
Viên Muối: chùm hạt muối trắng ngà bung nón 70° r90, đọng thành vệt muối mờ ở mép; choáng hiện bằng glyph chung.
Chi tiết spec
- Kích hoạt
- Phát Muối: H08_COMBO_A_MUOI / H08_COMBO_B_MUOI hit (hit_frame 3, t = 0 = nổ), H08_COMBO_A_PAIR khi viên B = Muối; hàng 1: H08_E30 Loa Sấm Xả Ổ (mỗi viên Muối xả theo nón Loa Sấm).
- Canvas
- 124×80 gốc 18/50
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind FLAKE, count 26, speed 520, life_s 0.3, hex #fff6f0, gravity 950, shadow có/kind SHARD, count 4, speed 160, life_s 0.33, hex #f5ffd8, gravity 950, shadow có
- Hitbox
- shape sector r90 a70, match Nón sàn vẽ đúng r90 70° (elip 90×45) phủ 100%; hạt xa nhất r94 (vượt 4 px ≤ 6 ✓). E30: hình r142 102° vs sector r140 a100., wave reach
- Nguồn
- new src/fx/heroes/dov-shell-salt.js (mượn ice/ice-shatter.js hạt + projectiles/muzzle-shotgun.js nón)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-shell-salt), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r90 a70' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: chùm hạt muối tròn 2×2 trắng ngà #fff6f0 bung từ miệng loa, chớp #ffffff 1 frame ở gốc; sàn rẻ quạt 70° r90 (90×45 màn) shadeFloor #aad44d α 0.3. |
| 0.033 | 26 hạt FLAKE toả trong ±35°, hạt trước to 3×2 #f5ffd8, hạt sau 1×1 #e5ff9e; tốc 520 px/s, h 18 → 4. |
| 0.133 | Hạt chạm r90 (0.17 s ở tốc 520 → hạt nhanh nhất đi 600): mép cung lấm tấm, hạt rơi chạm sàn đọng 2 khung. |
| 0.2 | Hạt đọng sàn thành vệt muối 1 px #e5ff9e dọc mép r70–90; nón sàn α 0.12. |
| 0.333 | Rỗng (vệt đọng tắt dither). |
Phát Ma Trơi: H08_COMBO_A_MATROI / H08_COMBO_B_MATROI hit (t = 0 = nổ…
Viên Ma Trơi: màn lửa ma lục đặc lõi trắng nóng liếm nón 70° r90 rồi sập xuống thành lửa sàn.
Chi tiết spec
- Kích hoạt
- Phát Ma Trơi: H08_COMBO_A_MATROI / H08_COMBO_B_MATROI hit (t = 0 = nổ), H08_COMBO_A_PAIR khi viên B = Ma Trơi; hàng 1: H08_E30 (nón Loa Sấm). Sinh VFX_H08_wisp_floor tại t = 0.2.
- Canvas
- 124×84 gốc 18/54
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind FIRE, count 18, speed 300, life_s 0.3, hex #7bb21b, gravity −60, shadow không/kind EMBER, count 6, speed 40, life_s 0.4, hex #e5ff9e, gravity −30, shadow không
- Hitbox
- shape sector r90 a70, match Màn lửa phủ 100% elip r90 70° tại t 0.1; đỉnh lưỡi chạm r92 (vượt 2 px ✓). E30: hình r142 102° vs sector r140 a100., wave reach
- Nguồn
- new src/fx/heroes/dov-shell-wisp.js (mượn fire/flamethrower.js lưỡi lửa + fire/spirit-flame.js ramp lục)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-shell-wisp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r90 a70' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: lưỡi lửa ma đặc lõi #fff6f0 phụt khỏi miệng loa dài 20 px, chớp #ffffff 1 frame. |
| 0.033 | Màn lửa xoè nón 70°, 5 lưỡi lửa uốn sóng, thân #7bb21b, mép trước #e5ff9e, đáy sát sàn #578514; dải sáng sàn rẻ quạt r90 α 0.4. |
| 0.1 | Lưỡi lửa liếm tới r90 (90×45 màn), đỉnh lưỡi cao 14 px, FIRE particles bay lên 40 px/s. |
| 0.2 | Lưỡi lửa sập xuống sàn, bàn giao cho wisp_floor (cùng hình nón); 6 EMBER lục bốc lên. |
| 0.4 | Rỗng (EMBER cuối tắt). |
H08_RX_SALT_WISP Nổ Muối (Muối → Ma Trơi): t = 0 = frame nổ tại điểm …
Nổ Muối: muối gặp lửa ma bùng thành vòm lửa lục lõi trắng r64, mảnh muối bắn tung — đòn mạnh nhất của vòng combo.
Chi tiết spec
- Kích hoạt
- H08_RX_SALT_WISP Nổ Muối (Muối → Ma Trơi): t = 0 = frame nổ tại điểm chạm phát B (mục tiêu gần nhất trong nón; không ai → cách miệng loa 56 px), hitstop 0.08, trauma 0.45. Cũng: H08_E06 phản ứng nối tiếp (×0.6), H08_E12 phản ứng cặp tại nón Phát Lăn (×0.8).
- Canvas
- 160×112 gốc 80/76
- Pha (s)
- antic −0.05/0 · impact 0/0.05 · dissipate 0.05/0.5
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind SHARD, count 24, speed 260, life_s 0.4, hex #fff6f0, gravity 950, shadow có/kind FIRE, count 14, speed 220, life_s 0.35, hex #aad44d, gravity −80, shadow không/kind EMBER, count 10, speed 60, life_s 0.5, hex #e5ff9e, gravity −30, shadow không
- Hitbox
- shape circle r64, match Vòm + đĩa sàn đạt r64 tại 0.33 s, phủ 100% elip 128×64; hạt vượt ≤ 8 px (L ≤ 10 ✓). Sóng lan theo reach (packer đo nửa ngang ≥ 50% hàng pivot)., wave reach
- Nguồn
- new src/fx/heroes/dov-salt-wisp-burst.js (mượn _lib.js slam + ice/ice-shatter.js SHARD + fire/spirit-flame.js ramp)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-salt-wisp-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r64' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.05 | Tụ: hạt muối và ngọn lửa ma xoắn vào điểm chạm r12 (2 frame). |
| 0 | Frame trắng #ffffff: đĩa nổ r20 + cột sáng cao 30 px. |
| 0.033 | Vòm lửa đặc lõi #fff6f0 → #e5ff9e nở, đĩa sàn đặc #7bb21b lan theo reach r(t) = 64·outExpo(t/0.33). |
| 0.1 | Vòm r44, 24 SHARD muối + 14 FIRE bắn spray + spawn3 cả 3 chiều; vành sàn sáng #aad44d. |
| 0.33 | Vòm chạm r64 (elip 128×64); quái đẩy 40 px; sàn để vết xém #192906 decal 2 s. |
| 0.5 | Rỗng (vết xém riêng). |
H08_COUNTER Hai Nòng Kề: input → lao 24 px trong 4 tick (bất tử) → t …
Hai Nòng Kề: Dov dí miệng loa vào kẻ hở thế và nổ liền 2 nòng — quạt trắng-lục r56 với hai vòng xung kích nối nhau.
Chi tiết spec
- Kích hoạt
- H08_COUNTER Hai Nòng Kề: input → lao 24 px trong 4 tick (bất tử) → t = 0 = nổ (counter hit_frame 2), nón 120° r56 coef 18, hitstop 0.12, trauma 0.45, kèm VFX_SHARED_screen_flash_white; phản ứng cặp sinh tại mục tiêu t = 0.033. H08_E19 (lao +6/10/14), H08_E23 (nổ lại sau 0.3 s), H08_E24 dùng chung.
- Canvas
- 112×96 gốc 20/60
- Pha (s)
- antic −0.067/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind SPARK, count 20, speed 220, life_s 0.3, hex #e5ff9e, gravity 950, shadow có/kind SMOKE, count 6, speed 40, life_s 0.4, hex #476b15, gravity −20, shadow không
- Hitbox
- shape sector r56 a120, match Quạt đặc phủ 100% elip r56 120°, mép vượt ≤ 4 px; gốc = chân sau lao 24 px. E19 hạng III lao 38 px (gốc dời, hình giữ)., wave none
- Nguồn
- new src/fx/heroes/dov-counter-twin.js (mượn impacts/shield-block.js + explosions/small-explosion.js vành, chồng 2 lần)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-counter-twin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r56 a120' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.067 | Lao: vệt tàn ảnh 24 px, miệng loa áp sát, 2 ổ loé #fff6f0. |
| 0 | Frame trắng #ffffff 2 frame (khựng 0.12 s): 2 chùm nổ chồng lệch 6°, quạt 120° r56 (elip 56×28, mép ±60° tại (28, ±24)) đặc lõi #fff6f0 → #e5ff9e. |
| 0.067 | Quạt nở hết, 2 vòng xung kích elip r20 → r56 lệch nhau 2 frame (2 nòng), 20 SPARK spray + spawn3. |
| 0.2 | Khói đôi #476b15 cuộn sau quạt, tia lửa nảy sàn. |
| 0.5 | Rỗng. |
H08_SK01_BLAST Loa Sấm: sk01 hit_frame 6 (startup 12 tick), t = 0 = n…
Loa Sấm: dồn thuốc vào miệng loa nổ 3 vòng sóng sấm đặc trong nón 100° r140, hất bầy văng.
Chi tiết spec
- Kích hoạt
- H08_SK01_BLAST Loa Sấm: sk01 hit_frame 6 (startup 12 tick), t = 0 = nổ; nón 100° r140, đẩy 40 px, trauma 0.45. Khói đuôi = VFX_H08_gunsmoke hàng 1. H08_E30 xả viên theo nón.
- Canvas
- 176×148 gốc 18/84
- Pha (s)
- antic −0.2/0 · impact 0/0.05 · dissipate 0.05/0.8
- Easing
- curve outExpo, freeze_s 0.06
- Hạt
- kind SPARK, count 18, speed 260, life_s 0.35, hex #e5ff9e, gravity 950, shadow có/kind DUST, count 10, speed 120, life_s 0.4, hex #2b470a, gravity 0, shadow có/kind MOTE, count 6, speed 60, life_s 0.2, hex #aad44d, gravity 0, shadow không
- Hitbox
- shape sector r140 a100, match Sóng đầu tới r142 tại 0.2 s (vượt 2 px ✓), nón sàn phủ 100% elip r140 100°; hạng II r150 → --opts radius 150 (bậc s gần nhất); hạng III r150 a120 cùng sheet --opts., wave reach
- Nguồn
- new src/fx/heroes/dov-sk01-thunder-horn.js (mượn bladewake/crescent-wave.js cung sóng + _lib.js slam bụi)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-sk01-thunder-horn), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r140 a100' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.2 | Tụ (thân dồn thuốc): miệng loa đỏ lửa lục #7bb21b → #e5ff9e, 6 MOTE hút vào. |
| 0 | Frame trắng #ffffff 1 frame + lõi #fff6f0: luồng nổ hình chuông rời miệng loa. |
| 0.033 | 3 cung sóng sấm đặc dày 10/8/6 px nối nhau trong nón 100° (mép ±50° tại (90, ±54)), lõi #fff6f0 → #aad44d; sàn rẻ quạt #578514 α 0.4 quét reach. |
| 0.2 | Sóng đầu chạm r140 (elip 280×140 phần nón); quái văng 40 px; 18 SPARK + 10 DUST spray + spawn3. |
| 0.4 | Sóng nguội #578514, còn 2 cung mờ; khói đuôi bàn giao gunsmoke. |
| 0.8 | Rỗng. |
H08_SK05_SHOT Nhồi Đôi: sk05 startup 14 tick (0.233 s), active 3 tick…
Nhồi Đôi: hai viên đạn bay vào nòng, nén sáng rồi nổ một nón 60° trắng-lục sát nòng, khói giật lùi nặng như phát pháo tay.
Chi tiết spec
- Kích hoạt
- H08_SK05_SHOT Nhồi Đôi: sk05 startup 14 tick (0.233 s), active 3 tick; t = 0 = frame nổ nón 60° r48 (hitstop 0.08, trauma 0.5, đẩy 36). Hàng 0 phát thường; hàng 1 khi ≥ 1 trong 2 viên Nạp Nóng (H08_E33); hàng 2 vòng nòng báo cửa 2 s Nhồi Đôi miễn phí sau Phản (H08_E22). H08_E18 phát hàng 0 tại cuối Chống Báng thay dậm báng. Kèm VFX_SHARED_hit_heavy trên mỗi mục tiêu.
- Canvas
- 72×60 gốc 14/36
- Pha (s)
- antic −0.233/0 · impact 0/0.05 · dissipate 0.05/0.4
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind SPARK, count 10, speed 260, life_s 0.15, hex #e5ff9e, gravity 0, shadow không/kind SHRAPNEL, count 6, speed 200, life_s 0.2, hex #aad44d, gravity 120, shadow có/kind SMOKE, count 4, speed 30, life_s 0.35, hex #2b470a, gravity −20, shadow không
- Hitbox
- shape sector r48 a60, match Cung nón đặc tại t = 0 trùng r48 ± 2 px trên cả 8 hướng (hướng lên/xuống: tầm dọc 24 px do elip 0.5), phủ ≥ 95%; hạt vượt ≤ 6 px. Glyph và khói không tính., wave reach
- Nguồn
- recolor projectiles/muzzle-shotgun --opts {arc:60, radius:48} (nón) + new src/fx/heroes/dov-sk05-double-charge.js (glyph 2 viên ép nòng, hàng 1–2)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-sk05-double-charge), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r48 a60' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.233 | 2 glyph viên (theo ổ A rồi ổ B: Đinh ▪ 2×2, Muối ● 2×2, Ma Trơi ▲ 3×2) bật khỏi hông Dov, bay cung 10 px vào miệng loa trong 6 frame; miệng loa nhen đĩa r4 #7bb21b. |
| −0.1 | Nén nòng: đĩa miệng loa r6 #e5ff9e, 4 tia 6 px #aad44d hút ngược vào tâm (2 frame), thân nòng rung ±1 px. |
| 0 | Frame trắng: nón 60° đặc #fff6f0 phủ trọn r48 (elip sàn 96×48 cắt quạt), viền cung 2 px #e5ff9e nằm đúng r48. |
| 0.033 | Nón xoè lửa-khói: lõi #aad44d → mép #578514; 10 SPARK + 6 SHRAPNEL chạy dọc 2 cạnh nón; 2 glyph viên hiện tại điểm chạm gần nhất (báo phản ứng cặp ×2). |
| 0.1 | Nón vỡ thành 3 lưỡi khói #2b470a, khói giật lùi 4 px về phía Dov; hàng 1: lõi trắng dày gấp đôi + vành #e5ff9e 1 px ngoài cung (r50). |
| 0.4 | Rỗng. Hàng 2 (E22): vòng 2 px #aad44d quanh miệng loa nhấp loop 4 frame @12 suốt 2 s, tắt khi Nhồi Đôi được dùng. |
H08_UL1 Pháo Đêm Ma Trơi (clip ul1 2.0 s, bất tử tick 0–120, world_sl…
Pháo Đêm Ma Trơi: Dov dựng nòng bắn sáu phát lên trời, sáu quả lửa ma lục rơi lần lượt quanh điểm ngắm, mỗi quả dựng một cột lửa và quét cả vùng r160.
Chi tiết spec
- Kích hoạt
- H08_UL1 Pháo Đêm Ma Trơi (clip ul1 2.0 s, bất tử tick 0–120, world_slow 0.4): hàng 1 phóng H08_UL1_LAUNCH tick 30–40 (6 vệt đạn lên trời từ miệng loa, mỗi 2 tick); hàng 0 rơi-nổ H08_UL1_SHELL tick 48–88: 6 quả, mỗi 8 tick, t = 0 = quả 1 chạm sàn (tick 48). Mỗi quả rơi tại 1 trong 6 điểm cố định quanh điểm ngắm (tâm, rồi 5 đỉnh ngũ giác r80 theo chiều kim đồng hồ từ hướng ngắm) và quét toàn vùng r160 (coef 6.0, rehit 8 tick, ≤ 6 lần). Kèm VFX_SHARED_screen_flash_ult tại tick 30.
- Canvas
- 128×128 gốc 64/100
- Pha (s)
- antic −0.3/0 · impact 0/0.033 · dissipate 0.033/0.5
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind FIRE, count 24, speed 200, life_s 0.35, hex #aad44d, gravity −80, shadow không/kind EMBER, count 12, speed 60, life_s 0.5, hex #e5ff9e, gravity −30, shadow không/kind SMOKE, count 8, speed 30, life_s 0.5, hex #2b470a, gravity −20, shadow không
- Hitbox
- shape circle r160, match Fill sàn thủ tục đúng elip 320×160 (r160 thật, không scale sheet) ở frame chạm của mỗi quả; viền đích 2 px nằm trên r160 ± 0 px. Cột lửa sheet chỉ trang trí, không định nghĩa vùng., wave none
- Nguồn
- new src/fx/heroes/dov-ul1-night-volley.js (_lib.js slam + cột lửa ma; vành r160 = shader sàn runtime, không xuất)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-ul1-night-volley), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r160' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.3 | Hàng 1 (32×64 tại muzzle socket, 6 frame): 6 vệt đạn 1×12 px #e5ff9e lõi #fff6f0 vọt thẳng lên khỏi khung. Đồng thời vành sàn thủ tục r160 (elip 320×160) viền 2 px #7bb21b α 0.6 → 1.0 hiện quanh điểm ngắm làm dấu đích. |
| −0.1 | Quả 1 rơi: hạt lửa ma 6×8 #aad44d kéo đuôi 24 px #578514 rơi thẳng từ đỉnh khung xuống điểm chạm; bóng elip 8×4 #192906 α 0.5 lớn dần trên sàn. |
| 0 | Chạm: frame trắng đĩa r24 #fff6f0 tại điểm rơi; shader sàn tô kín elip 320×160 bằng #aad44d α 0.35 đúng 1 frame (= nhịp sát thương r160) rồi tắt. |
| 0.033 | Nổ cột: cột lửa ma 20×64 lõi #fff6f0 → #aad44d → mép #578514 vọt lên, nấm khói đỉnh; vành sóng 2 px #e5ff9e lan từ tâm điểm rơi. |
| 0.133 | Quả kế tiếp chạm (mỗi 8 tick, lặp hàng 0 tại điểm kế); 24 FIRE + 12 EMBER + 8 SMOKE của quả trước còn bay; vết cháy sàn r24 #2b470a lưu 1 s. |
| 0.5 | Cột tan thành khói #2b470a; quả 6 chạm ở t = 0.667 và tắt ở t = 1.167; vành đích tắt sau quả 6. |
H08_UL2 Phát Cuối Đội Đèn (clip ul2 1.8 s, bất tử tick 0–108, world_s…
Phát Cuối Đội Đèn: chín ngọn đèn treo trên đầu kẻ bị khoá tắt dần theo từng phát đạn, mỗi loại viên một kiểu nổ; ngọn cuối sáng lại thành cột trắng kết liễu.
Chi tiết spec
- Kích hoạt
- H08_UL2 Phát Cuối Đội Đèn (clip ul2 1.8 s, bất tử tick 0–108, world_slow 0.3): khoá 1 mục tiêu M/L/XL gần nhất trong 140 px; hàng 0 dấu khoá từ tick 0; 9 phát cách 8 tick (tick 18–82) theo thứ tự cặp Đinh>Đinh … Ma Trơi>Ma Trơi, t = 0 = phát 1 chạm (tick 18); mỗi phát vùng r20 quanh điểm chạm coef 6.5, rồi phản ứng cặp tương ứng (VFX_H08_* phản ứng). Hàng 1/2/3 = chạm theo viên B (Đinh/Muối/Ma Trơi); hàng 4 kết liễu (HP ≤ 20%; H08_E24 25%, kết bằng VFX_H08_counter_twin). Tia đạn = đường thủ tục 1 px từ miệng loa đến mục tiêu, 2 frame.
- Canvas
- 64×56 gốc 32/40
- Pha (s)
- antic −0.3/0 · impact 0/0.033 · dissipate 0.033/0.2
- Easing
- curve outQuart, freeze_s 0.1
- Hạt
- kind SPARK, count 8, speed 220, life_s 0.12, hex #e5ff9e, gravity 0, shadow không/kind SHARD, count 6, speed 140, life_s 0.2, hex #f5ffd8, gravity 120, shadow có
- Hitbox
- shape circle r20, match Hàng 1–3 tại 0.033 s phủ 100% elip 40×20 quanh điểm chạm; gai/mảnh vượt ≤ 6 px. Vòng ngắm hàng 0 không phải hitbox., wave reach
- Nguồn
- new src/fx/heroes/dov-ul2-last-shot.js (vòng ngắm + 9 đèn; hàng chạm mượn ice/ice-shatter + projectiles/bullet-tracer recolor)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-ul2-last-shot), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r20' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.3 | Hàng 0 khoá (loop 4 frame @12): vòng ngắm r20 (elip 40×20) viền 1 px #aad44d quanh chân mục tiêu, 4 ngoặc góc 4×4 #e5ff9e co vào 2 px/frame; 9 chấm đèn 2×2 #e5ff9e xếp cung trên đầu mục tiêu. |
| 0 | Phát 1: tia thủ tục 1 px #fff6f0 nối miệng loa → mục tiêu 2 frame; chạm: frame trắng đĩa r8 #ffffff; 1 chấm đèn tắt (còn 8). |
| 0.033 | Chạm theo viên B: hàng 1 Đinh = sao 6 gai 20 px #e5ff9e; hàng 2 Muối = tinh thể vỡ trắng #f5ffd8 6 mảnh; hàng 3 Ma Trơi = bông lửa r20 #aad44d; tất cả viền đúng elip 40×20. |
| 0.133 | Phát kế (mỗi 8 tick) lặp hàng tương ứng; vòng ngắm co 1 px mỗi phát (20 → 12 px viền trong, hitbox giữ r20). |
| 0.2 | Tàn hàng chạm; hàng 4 kết liễu (12 frame @30, 0.4 s): cột sáng 8×48 #fff6f0 + vành chuông 2 px #e5ff9e lan r20 → r40, 9 chấm đèn sáng lại cùng lúc rồi tắt. |
H08_UL3 Nòng Loa Vô Tận: hàng 0 H08_UL3_ENTER startup 12 tick, active…
Nòng Loa Vô Tận: miệng loa ngân một tiếng chuông lửa r64 hất bầy ra, rồi suốt chín giây sáu viên đạn lõi trắng quay quanh nòng đang bốc hơi nóng.
Chi tiết spec
- Kích hoạt
- H08_UL3 Nòng Loa Vô Tận: hàng 0 H08_UL3_ENTER startup 12 tick, active 2, bất tử tick 0–30; t = 0 = nổ miệng loa r64 coef 3.0, đẩy 40, hitstop 0.1, trauma 0.45 (kèm VFX_SHARED_screen_flash_ult). Hàng 1 lớp phủ dạng (transform vfx_overlay) loop suốt 9 s (H08_E36 +1 s = 10 s). Hàng 2 H08_E36 tự Đảo Ổ sau mỗi phản ứng cặp.
- Canvas
- 144×104 gốc 72/66
- Pha (s)
- antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind FIRE, count 20, speed 180, life_s 0.3, hex #aad44d, gravity −60, shadow không/kind EMBER, count 2, speed 30, life_s 0.6, hex #e5ff9e, gravity −30, shadow không/kind SMOKE, count 6, speed 30, life_s 0.5, hex #2b470a, gravity −20, shadow không
- Hitbox
- shape circle r64, match Đĩa trắng t = 0 phủ 100% elip 128×64; vành ngoài t = 0.067 tại r64 ± 2 px; lửa vượt ≤ 10 px (L). Hàng 1–2 không hitbox., wave reach
- Nguồn
- new src/fx/heroes/dov-ul3-endless-bell.js (_lib.js slam + ring ngân; hàng 1 mượn fire/spirit-flame recolor cho hơi nóng)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-ul3-endless-bell), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r64' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.2 | Miệng loa bừng: đĩa r10 #e5ff9e, 6 glyph viên (▪ ● ▲ ×2) hiện thành vòng r14 quanh miệng loa và quay 1/6 vòng mỗi 2 frame. |
| 0 | Frame trắng: đĩa elip 128×64 #fff6f0 tâm miệng loa, viền 2 px #e5ff9e đúng r64. |
| 0.067 | Sóng chuông: vành 3 px #aad44d tại r64 + vành 1 px #e5ff9e ở r48 (2 lớp ngân), 20 FIRE toả theo vành; 6 glyph đổi lõi trắng (mọi viên Nạp Nóng). |
| 0.25 | Vành vỡ thành khói #2b470a; glyph co về vòng r10 quanh miệng loa. |
| 0.5 | Chuyển hàng 1 (loop 12 frame @12 = 1 s): 3 sợi hơi nóng #aad44d bốc 16 px khỏi miệng loa, méo không khí 1 px, 6 glyph lõi trắng quay vòng r10; 2 EMBER/s. Hàng 2 (4 frame @30): 2 glyph đối diện đổi chỗ theo cung, loé #fff6f0. Hết dạng: phụt khói 6 SMOKE rồi tắt. |
H08_E37 Pháo Hoa Dẫn Hồn (Then Chốt): quái chết vì phản ứng cặp → xác…
Pháo Hoa Dẫn Hồn: kẻ chết vì phản ứng cặp bật ra hai viên đạn đã giết nó rồi nổ thành chùm pháo hoa lục r40, lặp lại phản ứng.
Chi tiết spec
- Kích hoạt
- H08_E37 Pháo Hoa Dẫn Hồn (Then Chốt): quái chết vì phản ứng cặp → xác nổ r40, lặp phản ứng ×0.75 tại tâm xác (VFX phản ứng tương ứng phát kèm, α 0.75); t = 0 = frame chết. Hàng 1: 1 cặp hạ ≥ 4 quái S → chỉ nối từ 4 điểm chết về chân Dov, viên kế tự Nạp Nóng (kèm VFX_H08_hot_load_cue hàng 1). Đi cùng VFX_H08_wisp_fireworks. VFX: ≤ 8 nổ mới mỗi frame, dư chỉ vẽ đĩa sàn.
- Canvas
- 96×72 gốc 48/46
- Pha (s)
- antic −0.067/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SPARK, count 8, speed 240, life_s 0.17, hex #e5ff9e, gravity 60, shadow không/kind EMBER, count 6, speed 40, life_s 0.35, hex #aad44d, gravity −30, shadow không
- Hitbox
- shape circle r40, match Đĩa tại 0.067 s phủ 100% elip 80×40; đầu 8 tia dừng đúng r40 ± 2 px; hạt vượt ≤ 4 px., wave reach
- Nguồn
- new src/fx/heroes/dov-e37-chain-burst.js (_lib.js slam + tia mượn explosions/firework-burst recolor)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-e37-chain-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.067 | Xác co rút 2 frame, từ ngực bật 2 glyph viên của cặp vừa giết (vd ▪ + ▲) xếp cạnh nhau cao 14 px, lõi #e5ff9e. |
| 0 | Frame trắng: 2 glyph vỡ thành đĩa r12 #fff6f0; đĩa lửa-pháo hoa elip 80×40 lõi #aad44d nở ra. |
| 0.067 | Đĩa đạt r40, viền 2 px #e5ff9e; 8 tia pháo hoa 1×6 px toả đều 8 hướng tới đúng mép r40, 6 EMBER bay lên. |
| 0.2 | Tia rơi thành chấm #578514 lả xuống sàn; hàng 1 (nếu ≥ 4 giết): 4 chỉ 1 px #aad44d nối điểm chết → chân Dov, chạy hết trong 6 frame rồi tắt. |
| 0.4 | Rỗng. |
H08_EVO4 Chuông Pháo Thức Tỉnh (thức tỉnh): hàng 0 mỗi Phát Cặp (H08_…
Chuông Pháo Thức Tỉnh: hoả mai thức tỉnh mang miệng loa hình chuông; mỗi Phát Cặp ngân hai vành sóng r64 làm bầy nhỏ choáng váng.
Chi tiết spec
- Kích hoạt
- H08_EVO4 Chuông Pháo Thức Tỉnh (thức tỉnh): hàng 0 mỗi Phát Cặp (H08_COMBO_A_PAIR hit, attack3 hit_frame 5) ngân chuông r64 quanh miệng loa, choáng S 0.5 s (STS_STUN); t = 0 = frame phát cặp. Hàng 1 lớp phủ vĩnh viễn: miệng loa hình chuông + vạch vùng Nòng Loa r72 nón 90°. Phát đơn nón +20° = VFX_H08_muzzle_cone --opts arc 90.
- Canvas
- 144×96 gốc 72/60
- Pha (s)
- antic −0.083/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind NOTE, count 8, speed 60, life_s 0.3, hex #f5ffd8, gravity −40, shadow không
- Hitbox
- shape circle r64, match Vành ngoài t = 0.067 tại r64 ± 2 px; vành trắng t = 0 phủ ≥ 90% elip 128×64 khi tô đầy mặt trong α 0.3. Cung chấm hàng 1 trùng vùng Nòng Loa r72 a90 ± 2 px (không gây sát thương riêng)., wave reach
- Nguồn
- new src/fx/heroes/dov-evo4-bell-muzzle.js (2 ring ngân _lib.js + bell-flare; phát đơn dùng VFX_H08_muzzle_cone --opts arc 90)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-evo4-bell-muzzle), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r64' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.083 | Miệng loa chuông 10×8 loé #f5ffd8, rung ±1 px ngang 2 frame. |
| 0 | Frame trắng: vành elip 128×64 #fff6f0 dày 3 px bật ra (sóng ngân 1). |
| 0.067 | Vành đạt r64 viền 2 px #e5ff9e; vành thứ 2 1 px #aad44d theo sau ở r44; 8 nốt ngân 3×3 #f5ffd8 văng dọc vành; mục tiêu bị choáng nhận sao xoay STS_STUN chung. |
| 0.2 | Hai vành mờ #578514 rồi tắt; nốt ngân bay lên 8 px. |
| 0.4 | Rỗng. Hàng 1 (8 frame @12 loop, suốt run): loa chuông #aad44d lõi #e5ff9e ở miệng nòng, sàn trước Dov vạch chấm 1 px #578514 α 0.4 cung 90° r72 (vùng Nòng Loa ×1.3). |
TEMPLATE · 25
H08_HOLD Tì Báng Nạp: hold_in (8 frame) → hold_loop (24 frame loop, t…
Tì Báng Nạp: Dov quỳ, báng cắm đất; vạch sáng cung 120° trước mặt báo siêu giáp, ổ đạn loé mỗi nhịp nạp.
Chi tiết spec
- Kích hoạt
- H08_HOLD Tì Báng Nạp: hold_in (8 frame) → hold_loop (24 frame loop, tối đa 6 s) → hold_out (6 frame); t = 0 = báng chạm đất. Mỗi 0.4 s nạp 1 viên (nhịp sáng). Cũng nền cho H08_SK06_BRACE, H08_E15, H08_E18, H08_E39.
- Canvas
- 72×48 gốc 36/30
- Pha (s)
- antic −0.1/0 · impact 0/0.1 · dissipate 6/6.2
- Easing
- curve linear, freeze_s 0
- Hạt
- kind DUST, count 4, speed 30, life_s 0.3, hex #2b470a, gravity 0, shadow có/kind SPARK, count 3, speed 40, life_s 0.15, hex #e5ff9e, gravity 300, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor impacts/heavy-landing --opts {palette:PAL_HERO_H08} (khung chạm đất) + new src/fx/heroes/dov-brace-stance.js (vạch cung loop)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-brace-stance), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | hold_in: bụi DUST nhẹ 4 hạt khi quỳ. |
| 0 | Báng chạm đất: vòng bụi sàn rx 18 ry 9 #2b470a α 0.5 + 1 khung lõm sáng #e5ff9e tại chân. |
| 0.1 | Loop @12: cung sàn mặt trước 120° r24 (elip 48×24) dạng 5 vạch đặc 2×4 px #aad44d chạy vòng chậm (siêu giáp — không phải vùng sát thương, không fill). |
| 0.4 | Mỗi nhịp nạp 0.4 s: ổ đạn trên đai loé #fff6f0 1 frame + 3 SPARK nhỏ bay lên 6 px (đồng bộ SFX_H08_hold_loop). |
| 6 | hold_out: vạch tắt dither 0.2 s; bụi 2 hạt. |
| 6.2 | Rỗng. |
H08_DASH Lăn Ngang: t = 0 = rời đất (dash hit_frame 0), lăn 76 px tro…
Lăn Ngang: lăn vai gọn, bụi sau gót và vệt tàn ảnh lục mờ dọc 76 px.
Chi tiết spec
- Kích hoạt
- H08_DASH Lăn Ngang: t = 0 = rời đất (dash hit_frame 0), lăn 76 px trong 9 tick active, i-frame 12 tick. Hàng 1: H08_SK07_ROLL lăn 120 px (15 tick). H08_E07, H08_E40 dùng chung. VFX_SHARED_dash_dust phát kèm ở chân.
- Canvas
- 112×48 gốc 92/30
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DUST, count 7, speed 40, life_s 0.3, hex #2b470a, gravity 0, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/dust-dash --opts {palette:PAL_HERO_H08, dist:76}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-roll-dash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Rời đất: 3 cuộn bụi #2b470a sau gót, 1 vệt sáng ngang #7bb21b dài 8 px. |
| 0.033 | Vệt lăn: dải tàn ảnh lục #578514 α 0.6 → 0 dọc quãng 76 px (afterimage runtime 1 bản/0.03 s), ổ đạn trên đai vẽ 2 chấm #fff6f0. |
| 0.15 | Hết lăn: bụi tiếp đất 4 hạt; hàng 1: vệt dài 120 px, đi kèm fire_line. |
| 0.333 | Rỗng. |
Lửa sàn: H08_WISP_FLOOR (spawn t = 0.2 sau Phát Ma Trơi, sống 3 s, Nạ…
Lửa sàn ma trơi đặc, thấp, lục sáng lõi trắng, nằm đúng hình nón phát bắn (hoặc đĩa r40 của Đèn Ma); cháy 3 s rồi để vết xém.
Chi tiết spec
- Kích hoạt
- Lửa sàn: H08_WISP_FLOOR (spawn t = 0.2 sau Phát Ma Trơi, sống 3 s, Nạp Nóng 4.5 s, nhịp 0.5 s) hàng 0 rẻ quạt; hàng 1: H08_SK04_FIRE vòng r40 sống 2 s (E25 +0.5/0.9/1.25 s); H08_E03 +1.0/1.75/2.5 s, hạng 3 +8 px. Nổ Chặn Ma Trơi dùng hàng 0 --opts radius 48 arc 90.
- Canvas
- 120×76 gốc 8/40
- Pha (s)
- antic 0/0.2 · impact 0.2/0.25 · dissipate 2.7/3
- Easing
- curve linear, freeze_s 0
- Hạt
- kind EMBER, count 3, speed 30, life_s 0.5, hex #e5ff9e, gravity −20, shadow không
- Hitbox
- shape sector r90 a70, match Fill đặc phủ 100% elip r90 70° (90×45 màn), lưỡi lửa vượt mép ≤ 4 px; hàng 1 đĩa r42 vs circle r40. Không dạng tell P: fill ≥ 45% + mép mềm., wave none
- Nguồn
- recolor fire/spirit-flame --opts {palette:PAL_HERO_H08} + mask sector (knob shape:'sector'|'circle')
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-wisp-floor), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r90 a70' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vào (runtime 0.2 s): dither 4×4 từ gốc nón ra mép, fill đặc 55% #578514 + lõi #fff6f0 rải chấm. |
| 0.25 | Loop 8 frame @12: 7 lưỡi lửa thấp cao 6–10 px #7bb21b → #e5ff9e uốn lệch pha, mép mềm 3 px r2 (không viền cứng 2 px). |
| 0.5 | Nhịp sát thương (mỗi 0.5 s): toàn vùng loé r6 #e5ff9e 1 frame, 3 EMBER bốc. |
| 2.7 | Ra 0.3 s: lưỡi lửa thấp dần, fill tan dither, còn vết cháy xém #192906 α 0.3 sống 1.5 s. |
| 3 | Rỗng (vết xém tắt ở 4.5 s). |
Hàng 0: H08_RX_PIERCE_NAIL Xuyên Đinh (Đinh → Đinh) — thay hình phát …
Xuyên Đinh: chùm đinh hẹp sáng trắng-lục xuyên thẳng mọi kẻ trong nón 40° r150; cùng sheet cho đinh bắn trả của Chống Báng và đường 160 px của Nòng Chụm.
Chi tiết spec
- Kích hoạt
- Hàng 0: H08_RX_PIERCE_NAIL Xuyên Đinh (Đinh → Đinh) — thay hình phát B Phát Cặp, attack3 hit_frame 5, t = 0 = nổ. Hàng 1: H08_SK06_RETURN đinh bắn trả (đạn 900 px/s, tầm 140) và H08_E16 mảnh nảy. Hàng 2: H08_AS2_FIN_LINE đường 160 × 24.
- Canvas
- 176×84 gốc 16/52
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind STREAK, count 9, speed 900, life_s 0.17, hex #f5ffd8, gravity 0, shadow không/kind SPARK, count 2, speed 140, life_s 0.15, hex #aad44d, gravity 950, shadow có
- Hitbox
- shape sector r150 a40, match Hàng 0: dải sàn đúng r150 40° phủ 100%, đầu vệt r152 (vượt 2 px ✓). Hàng 1: đinh lõi r2 → va proj r4 (lõi + 2, doc 31 §7), dài màn L_s theo θ (e/w 140, n/s 70). Hàng 2: chữ nhật 160×24 (màn e 160×12, n/s 80×24) phủ 100%, vệt vượt 2 px., wave reach
- Nguồn
- recolor projectiles/bullet-tracer --opts {palette:PAL_HERO_H08, radius:150, arc:40} (+ knob shape line cho hàng 2)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-nail-pierce-line), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r150 a40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: 1 đinh lõi trắng #fff6f0 dài 24 px + 8 vệt mạt bám quanh, chớp #ffffff tại miệng loa. |
| 0.033 | Chùm đinh hẹp 40° bay 900 px/s, dải sáng sàn rẻ quạt hẹp r150 (elip 150×75, mép ±20° tại (141, ±26)) #578514 α 0.35 quét từ gốc. |
| 0.1 | Đầu chùm ở r90; mỗi mục tiêu xuyên qua bật 1 tia SPARK hai bên (xuyên mọi mục tiêu). |
| 0.167 | Đầu chùm chạm r150, vệt sau nhạt dần #7bb21b → #2b470a. |
| 0.333 | Rỗng. |
Hàng 0: H08_RX_SALT_PIN Muối Găm (Đinh → Muối), phát B attack3 hit_fr…
Muối Găm: muối bám vào mạt đinh rồi mọc gai tinh thể trắng ngà quanh chân kẻ trúng, đứng nguyên đến khi hết choáng.
Chi tiết spec
- Kích hoạt
- Hàng 0: H08_RX_SALT_PIN Muối Găm (Đinh → Muối), phát B attack3 hit_frame 5, t = 0 = nổ, nón 70° r90. Hàng 1 (mỗi mục tiêu bị choáng, pivot impact): gai muối bám thân, giữ suốt choáng S 1.2 s / M 0.6 s; dùng lại cho H08_E21 (choáng Mưa Muối +0.1/0.2/0.25 s).
- Canvas
- 124×80 gốc 18/50
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind FLAKE, count 20, speed 480, life_s 0.3, hex #fff6f0, gravity 950, shadow có/kind STREAK, count 6, speed 900, life_s 0.1, hex #f5ffd8, gravity 0, shadow không/kind SHARD, count 4, speed 80, life_s 0.3, hex #e5ff9e, gravity 950, shadow có
- Hitbox
- shape sector r90 a70, match Nón sàn r90 70° (elip 90×45) phủ 100%, hạt xa nhất r93. Hàng 1 không hitbox (báo trạng thái), ≤ 12 bản sống; glyph STS_STUN chung vẫn vẽ (R7)., wave reach
- Nguồn
- recolor ice/ice-spikes --opts {palette:PAL_HERO_H08, n:5, rx:8} (hàng 1) + dov-shell-salt.js (hàng 0)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-salt-spike-stun), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r90 a70' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: hạt muối trộn mạt đinh, chớp #ffffff 1 frame ở miệng loa. |
| 0.033 | Hạt muối + 6 đinh nhỏ bay trong nón 70°, sàn rẻ quạt r90 #aad44d α 0.3. |
| 0.1 | Trúng: hàng 1 bật ở chân mỗi mục tiêu — 5 gai tinh thể muối 2×6 → 3×9 px chĩa lên quanh thân (rx 8), lõi #fff6f0 viền #aad44d. |
| 0.2 | Gai đứng yên (hàng 1 giữ frame cuối tới hết choáng, runtime); nón tan. |
| 0.4 | Hàng 0 rỗng; hàng 1 vỡ 0.15 s khi hết choáng: 4 SHARD rơi. |
Hàng 0: H08_RX_FIRE_LINE Đinh Lửa (Đinh → Ma Trơi) — vệt 140 × 24 từ …
Vệt lửa ma thẳng trên sàn: Đinh Lửa kéo dài 140 px từ miệng loa, Lăn Lửa Ma để lại 120 px dọc đường lăn.
Chi tiết spec
- Kích hoạt
- Hàng 0: H08_RX_FIRE_LINE Đinh Lửa (Đinh → Ma Trơi) — vệt 140 × 24 từ miệng loa theo hướng bắn, spawn t = 0 phát B, sống 3 s, nhịp 0.5 s. Hàng 1: H08_SK07_TRAIL vệt lăn 120 × 24 dọc đường H08_SK07_ROLL (spawn khi lăn bắt đầu, 3 s; hạng II 3.5 s; H08_E09 +0.5/0.9/1.25 s).
- Canvas
- 156×48 gốc 8/28
- Pha (s)
- antic 0/0.2 · impact 0.2/0.25 · dissipate 2.7/3
- Easing
- curve linear, freeze_s 0
- Hạt
- kind EMBER, count 4, speed 30, life_s 0.5, hex #e5ff9e, gravity −20, shadow không
- Hitbox
- shape line L140 W24, match Dải fill phủ 100% chữ nhật 140×24 (màn e 140×12, n/s 70×24, chéo 111×17), lưỡi lửa vượt ≤ 4 px. Hàng 1 dải 120×24. Fill ≥ 45%, không viền 2 px (không giống tell P)., wave none
- Nguồn
- recolor fire/flamethrower --opts {palette:PAL_HERO_H08, shape:'line', len:140, w:24} (lấy lưỡi lửa, bỏ luồng phun)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-fire-line), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'line L140 W24' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vào 0.2 s: dải lửa chạy từ gốc ra đầu (hàng 1: theo chân Dov lúc lăn), fill đặc 55% #578514. |
| 0.25 | Loop 8 frame @12: 10 lưỡi lửa thấp 6–9 px dọc dải, lõi #fff6f0 chấm, mép mềm 3 px. |
| 0.5 | Nhịp: dải loé #e5ff9e 1 frame, 4 EMBER bốc. |
| 2.7 | Ra 0.3 s: lửa hạ, còn vết xém #192906 α 0.3 sống 1.5 s. |
| 3 | Rỗng. |
Hàng 0: H08_RX_SALT_BREAK Vỡ Muối (Muối → Đinh) phát B attack3 hit_fr…
Vỡ Muối: đinh bắn vào kẻ đang đóng muối làm vỏ muối nổ tung thành mảnh trắng ngà — đòn ×2 dễ đọc nhất của Dov.
Chi tiết spec
- Kích hoạt
- Hàng 0: H08_RX_SALT_BREAK Vỡ Muối (Muối → Đinh) phát B attack3 hit_frame 5, t = 0 = nổ, nón 70° r110. Hàng 1 (pivot impact, chỉ mục tiêu đang choáng — nhận ×2 + 12 Thế): vỏ muối vỡ tung.
- Canvas
- 140×92 gốc 18/56
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind STREAK, count 14, speed 900, life_s 0.12, hex #f5ffd8, gravity 0, shadow không/kind SHARD, count 10, speed 180, life_s 0.3, hex #fff6f0, gravity 950, shadow có
- Hitbox
- shape sector r110 a70, match Nón sàn r110 70° (110×55) phủ 100%, đầu vệt r112. Hàng 1 không hitbox (≤ 16 bản/frame theo R5)., wave reach
- Nguồn
- recolor ice/ice-shatter --opts {palette:PAL_HERO_H08} (hàng 1) + dov-muzzle-cone.js (hàng 0)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-salt-shatter), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r110 a70' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: chùm đinh như muzzle_cone nhưng lõi dày hơn 1 px, chớp #ffffff. |
| 0.033 | Vệt đinh 900 px/s trong nón 70° r110; sàn rẻ quạt #578514 α 0.35. |
| 0.066 | Hàng 1 trên mục tiêu choáng: vỏ muối quanh thân nổ thành 10 SHARD trắng ngà 2×2–3×3 + vòng loé #fff6f0 rx 10, chớp #ffffff 1 frame. |
| 0.2 | Mảnh muối rơi nảy, vệt đinh tắt. |
| 0.333 | Rỗng. |
H08_RX_SALT_STORM Bão Muối (Muối → Muối): phát B attack3 hit_frame 5,…
Bão Muối: màn muối trắng ngà cuộn rộng 120° trước miệng loa, choáng cả hàng quái.
Chi tiết spec
- Kích hoạt
- H08_RX_SALT_STORM Bão Muối (Muối → Muối): phát B attack3 hit_frame 5, t = 0 = nổ; nón toả 120° r90, choáng S 0.8 s / M 0.4 s.
- Canvas
- 124×104 gốc 18/60
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind FLAKE, count 40, speed 420, life_s 0.33, hex #fff6f0, gravity 600, shadow có/kind VAPOUR, count 6, speed 120, life_s 0.3, hex #e5ff9e, gravity 0, shadow không
- Hitbox
- shape sector r90 a120, match Màn muối phủ 100% elip r90 120° (90×45, mép (45, ±39)), hạt vượt ≤ 4 px., wave reach
- Nguồn
- recolor ice/frost-breath --opts {palette:PAL_HERO_H08, radius:90, arc:120}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-salt-storm), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r90 a120' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: chớp #ffffff hình quạt rộng ở miệng loa, hạt muối bung 120°. |
| 0.033 | Màn muối dày (40 hạt) cuộn như hơi thở lạnh, mép trước #f5ffd8, thân #e5ff9e α 0.8; sàn rẻ quạt 120° r90 — mép ±60° tại (45, ±39). |
| 0.133 | Màn muối chạm r90 khắp cung, hạt xoáy 1 vòng nhỏ ở mép (cuộn 6 px). |
| 0.25 | Hạt rơi đọng lớp muối mỏng 1 px dọc mép r70–90. |
| 0.4 | Rỗng. |
H08_RX_WISP_FIREWORK Pháo Hoa Ma (Ma Trơi → Đinh): t = 0 = phát B nổ;…
Pháo Hoa Ma: mỗi vùng lửa sàn bắn 6 đinh lửa toả tròn như pháo hoa lục.
Chi tiết spec
- Kích hoạt
- H08_RX_WISP_FIREWORK Pháo Hoa Ma (Ma Trơi → Đinh): t = 0 = phát B nổ; MỖI vùng lửa sàn còn cháy của phát A bắn 6 đinh lửa toả đều 360° tầm 96 px (720 px/s, 0.133 s). Cũng: H08_E37 (nổ dây chuyền), H08_EVO3 (pháo nổ).
- Canvas
- 208×120 gốc 104/72
- Pha (s)
- antic −0.05/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind BRAND, count 6, speed 720, life_s 0.133, hex #e5ff9e, gravity 0, shadow có/kind SPARK, count 36, speed 120, life_s 0.25, hex #aad44d, gravity 950, shadow có
- Hitbox
- shape circle r96, match 6 đinh lõi r2 → va proj r4 mỗi đinh trên 6 tia cách 60°; đầu đinh dừng r96 đúng elip 192×96 (±2 px). Phạm vi tối đa = circle r96., wave none
- Nguồn
- recolor explosions/firework-burst --opts {palette:PAL_HERO_H08, n:6, radius:96}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-wisp-fireworks), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.05 | Vùng lửa sàn phồng sáng #e5ff9e 2 frame (tụ). |
| 0 | Frame trắng: tâm vùng loé đĩa r10 #ffffff, 6 đinh lửa rời tâm cách 60°. |
| 0.033 | Đinh lửa lõi #fff6f0 dài 8 px + đuôi lửa 10 px #7bb21b bay 720 px/s ở h 10, bóng 3×2. |
| 0.133 | Đinh tới r96 (elip 192×96) nổ hoa nhỏ 6 SPARK; mục tiêu bị xuyên 1 (×0.5 mục tiêu thứ 2). |
| 0.4 | Rỗng. |
Hàng 0: H08_RX_COLD_SALT Muối Lạnh (Ma Trơi → Muối), phát B attack3 h…
Muối Lạnh: muối dập lửa ma thành làn sương lạnh lục nhạt lăn sát sàn, đóng sương lên quái.
Chi tiết spec
- Kích hoạt
- Hàng 0: H08_RX_COLD_SALT Muối Lạnh (Ma Trơi → Muối), phát B attack3 hit_frame 5, t = 0 = nổ, nón 70° r90, +2 lớp STS_FROST. Hàng 1: H08_E28 Muối Đóng Sương — đĩa sương r80 đè lên vùng Mưa Muối khi trúng (t = 0 = đợt muối chạm sàn).
- Canvas
- 124×84 gốc 18/52
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind VAPOUR, count 10, speed 160, life_s 0.35, hex #e5ff9e, gravity 0, shadow không/kind STAR, count 8, speed 20, life_s 0.3, hex #fff6f0, gravity 0, shadow không
- Hitbox
- shape sector r90 a70, match Sương phủ 100% elip r90 70° (90×45), mép vượt ≤ 4 px. Hàng 1: đĩa sương r82 vs circle r80 (theo Mưa Muối hạng I; II/III r90 → --opts radius 90)., wave reach
- Nguồn
- recolor ice/frost-nova --opts {palette:PAL_HERO_H08, shape:'sector', radius:90, arc:70}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-frost-salt), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r90 a70' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: chớp #ffffff, hạt muối gặp lửa ma tắt thành hơi. |
| 0.033 | Nón sương 70°: VAPOUR #e5ff9e α 0.6 lăn sát sàn, tinh thể 3×3 #fff6f0 lấp lánh trong sương. |
| 0.133 | Sương phủ đủ r90; mép kết sương 1 px #f5ffd8; glyph FROST tinh thể chung trên quái (R7). |
| 0.25 | Sương tan từ gốc ra mép. |
| 0.4 | Rỗng. |
H08_RX_WISP_SEA Biển Ma Trơi (Ma Trơi → Ma Trơi): spawn t = 0 tại điể…
Biển Ma Trơi: vùng lửa ma đặc r64 cháy 6 s, vành là bức tường lửa thấp — giữ cửa hẹp.
Chi tiết spec
- Kích hoạt
- H08_RX_WISP_SEA Biển Ma Trơi (Ma Trơi → Ma Trơi): spawn t = 0 tại điểm chạm phát B, sống 6 s, nhịp 0.5 s (12 nhịp), STS_EMBER cho kẻ đứng trong.
- Canvas
- 144×84 gốc 72/44
- Pha (s)
- antic 0/0.25 · impact 0.25/0.3 · dissipate 5.7/6
- Easing
- curve linear, freeze_s 0
- Hạt
- kind EMBER, count 4, speed 30, life_s 0.5, hex #e5ff9e, gravity −20, shadow không/kind FIRE, count 6, speed 40, life_s 0.4, hex #7bb21b, gravity −40, shadow không
- Hitbox
- shape circle r64, match Fill đặc phủ 100% elip 128×64, lưỡi lửa vành vượt ≤ 6 px; không viền 2 px, fill ≥ 45% (không giống tell P)., wave none
- Nguồn
- recolor fire/fire-ring --opts {palette:PAL_HERO_H08, radius:64, fill:0.6}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-wisp-sea), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r64' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vào 0.25 s: vòng lửa bùng từ tâm ra r64 (elip 128×64), fill đặc 60% #578514 + lõi chấm #fff6f0. |
| 0.3 | Loop 8 frame @12: 16 lưỡi lửa cao 8–14 px, vành ngoài lưỡi cao hơn (bức tường lửa thấp), mép mềm 3 px. |
| 0.5 | Nhịp: loé #e5ff9e 1 frame toàn vùng, 4 EMBER bốc; glyph EMBER chung trên quái. |
| 5.7 | Ra 0.3 s: lửa thấp dần, vết xém #192906 α 0.3 sống 2 s. |
| 6 | Rỗng. |
H08_DASH_ATTACK Phát Lăn: ATTACK trong 9 tick cuối Lướt/≤ 9 tick sau;…
Phát Lăn: Dov lăn xong quỳ gối bắn thấp, nón 80° r80 mang hiệu ứng viên đang lắp.
Chi tiết spec
- Kích hoạt
- H08_DASH_ATTACK Phát Lăn: ATTACK trong 9 tick cuối Lướt/≤ 9 tick sau; dash_attack hit_frame 2 (startup 4 tick), t = 0 = nổ khi quỳ gối; nón 80° r80. Rỗng: dùng VFX_H08_gunsmoke. H08_E08 (+10/18/25°), H08_E07, H08_E11 dùng chung.
- Canvas
- 112×84 gốc 16/54
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind STREAK, count 10, speed 900, life_s 0.09, hex #f5ffd8, gravity 0, shadow không/kind SPARK, count 4, speed 120, life_s 0.2, hex #aad44d, gravity 950, shadow có/kind DUST, count 2, speed 30, life_s 0.3, hex #2b470a, gravity 0, shadow có
- Hitbox
- shape sector r80 a80, match Nón sàn phủ 100% elip r80 80°, đầu vệt r82 (vượt 2 ✓); gốc = chân sau lăn. E08 hạng III: r82 107° vs sector r80 a105., wave reach
- Nguồn
- recolor projectiles/muzzle-pistol --opts {palette:PAL_HERO_H08, radius:80, arc:80, shell}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-dash-shot), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r80 a80' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: chớp #ffffff thấp (miệng loa h 10 do quỳ), viên tới lượt bung theo loại: Đinh vệt / Muối hạt / Ma Trơi lưỡi lửa (3 hàng sheet). |
| 0.033 | Nón 80° r80 (elip 80×40, mép ±40° tại (61, ±26)) sáng #578514 α 0.35; vệt/hạt bay 900/520 px/s. |
| 0.1 | Đầu vệt chạm r80, 4 SPARK nảy; vệt bụi quỳ gối 2 cuộn DUST #2b470a sau chân. |
| 0.3 | Rỗng. |
H08_SK02_FAN Quạt Đinh: sk02 hit_frame 5 (startup 10 tick), t = 0 = n…
Quạt Đinh: 12 đinh sáng đuôi lục toả quạt 60° bay xa 220 px, xuyên 1.
Chi tiết spec
- Kích hoạt
- H08_SK02_FAN Quạt Đinh: sk02 hit_frame 5 (startup 10 tick), t = 0 = nhả 12 đinh quạt đều 60° (5.45° mỗi đinh), 840 px/s, tầm 220 (0.26 s). Hạng II 14 đinh / 240 px; hạng III đinh cắm sàn rồi nảy 1 lần tới quái trong 64 px. VFX_H08_muzzle_flash ở miệng loa.
- Canvas
- 24×12 gốc 12/6
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.26/0.4
- Easing
- curve linear, freeze_s 0
- Hạt
- kind STREAK, count 1, speed 840, life_s 0.26, hex #f5ffd8, gravity 0, shadow có/kind SPARK, count 2, speed 80, life_s 0.15, hex #aad44d, gravity 950, shadow có
- Hitbox
- shape sector r220 a60, match Mỗi đinh lõi r2 → va proj r4 (doc 31 §7); 12 tia cách 5.45° phủ nón 60° r220, đinh tắt đúng r220 (±2 px, đo ở 3 hướng e/se/s theo L_s). Mỗi mục tiêu ≤ 3 đinh., wave none
- Nguồn
- recolor projectiles/bullet-tracer --opts {palette:PAL_HERO_H08, len:6, tail:10}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-sk02-nail-fan), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r220 a60' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Đạn rời nòng: đinh lõi #fff6f0 dài 6 px, đuôi #aad44d → #2b470a 10 px, bay h 16, bóng 4×2 ở h 0. |
| 0.067 | Loop 4 frame @15: đuôi rung 1 px, tia nhỏ STREAK lệch 1 px. |
| 0.26 | Hết tầm 220: hạng I/II tắt + 2 SPARK; hạng III cắm sàn (frame giữ 0.1 s) rồi nảy vệt lùi 64 px. |
| 0.4 | Rỗng. |
H08_SK03 Mưa Muối (HOLD ≤ 1.5 s): hàng 0 vạch ngắm khi giữ (≤ 160 px)…
Mưa Muối: vốc muối ném vòng cầu nổ trên cao, rơi thành đĩa muối trắng ngà r80 hai đợt cách 0.5 s.
Chi tiết spec
- Kích hoạt
- H08_SK03 Mưa Muối (HOLD ≤ 1.5 s): hàng 0 vạch ngắm khi giữ (≤ 160 px); hàng 1 đợt 1 (sk03 hit_frame 9, t = 0 = muối chạm sàn) và đợt 2 cùng tâm +0.5 s (hit_frame 24); hạng III vỏ muối 3 s. H08_EVO1 đổi thành bão 3 s (xem VFX_H08_EVO1_salt_tempest).
- Canvas
- 176×136 gốc 88/92
- Pha (s)
- antic −0.3/0 · impact 0/0.05 · dissipate 0.05/0.6
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind FLAKE, count 40, speed 60, life_s 0.3, hex #fff6f0, gravity 950, shadow có/kind SHARD, count 24, speed 140, life_s 0.35, hex #f5ffd8, gravity 950, shadow có
- Hitbox
- shape circle r80, match Đĩa muối phủ 100% elip 160×80, hạt vượt ≤ 6 px; vòng ngắm đúng r80 (hạng II/III r90 → --opts radius 90). Tâm = off_fwd 96 mặc định, đặt 32–160 px khi giữ., wave none
- Nguồn
- recolor ice/icicle-fall --opts {palette:PAL_HERO_H08, radius:80, h:48} (thay cột băng bằng hạt muối)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-sk03-salt-rain), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r80' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.3 | Hàng 0 (giữ): vòng ngắm chấm 1 px #aad44d α 0.5 r80 (16 chấm, không fill, không viền 2 px) + chấm tâm; vốc muối bay vòng cầu h(t) = 4·H·u(1−u), H 48. |
| −0.1 | Vốc muối nổ trên cao h 48: 40 hạt rơi tạo màn mưa thẳng đứng. |
| 0 | Chạm sàn: đĩa muối đặc #f5ffd8 fill 55% r80 (elip 160×80) bật trong 1 frame, chớp #ffffff 1 frame ở tâm. |
| 0.1 | 24 SHARD nảy, đĩa nguội #aad44d; glyph STUN chung trên quái. |
| 0.6 | Rỗng (hạng III: vỏ muối đọng 3 s, loop 4 frame @12 lấp lánh, fill 45%). |
H08_SK04 Đèn Ma Rải Đường: hàng 0 đèn sống (sk04 tick 8 rải 4 đèn các…
Đèn Ma Rải Đường: 4 chiếc đèn ma lục lơ lửng sau lưng, kẻ chạm vào thì nổ vòm lửa r40 rồi cháy sàn.
Chi tiết spec
- Kích hoạt
- H08_SK04 Đèn Ma Rải Đường: hàng 0 đèn sống (sk04 tick 8 rải 4 đèn cách 48 px sau lưng, 12 s, loop); hàng 1 nổ H08_SK04_BURST r40 (t = 0 = quái chạm r14 hoặc hết 12 s); hạng III 3 đốm lăn 48 px nổ r24 (hàng 1 --opts radius 24). Cũng H08_E11, H08_E25, H08_E29, H08_EVO2.
- Canvas
- 96×72 gốc 48/44
- Pha (s)
- antic −0.05/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outExpo, freeze_s 0.03
- Hạt
- kind FIRE, count 12, speed 180, life_s 0.3, hex #aad44d, gravity −60, shadow không/kind EMBER, count 6, speed 40, life_s 0.4, hex #e5ff9e, gravity −30, shadow không
- Hitbox
- shape circle r40, match Vòm đạt r40 tại 0.1 s phủ 100% elip 80×40, hạt vượt ≤ 4 px; hạng II r44, E25 +4/6/10 px (--opts radius). Kích hoạt r14 không vẽ., wave reach
- Nguồn
- recolor projectiles/flare --opts {palette:PAL_HERO_H08} (đèn) + _lib.js slam (nổ)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-sk04-wisp-mine), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.05 | Hàng 0 (loop 8 frame @12): đèn ma 8×10 lơ lửng h 6, lõi #fff6f0, ngọn lửa #7bb21b lắc ±1 px, bóng 5×3; vầng sáng sàn r10 #578514 α 0.3. |
| 0 | Nổ: frame trắng #ffffff đĩa r12, rồi vòm lửa đặc r40 (elip 80×40) lõi #fff6f0 → #aad44d. |
| 0.1 | Vòm đạt r40, 12 FIRE + 6 EMBER spray + spawn3; quái đẩy 30 px; glyph EMBER chung. |
| 0.2 | Vòm sập thành VFX_H08_wisp_floor hàng 1 (r40, 2 s). |
| 0.4 | Rỗng. |
H08_SK06 Chống Báng: hàng 0 vòm chắn trước 180° (H08_SK06_BRACE, star…
Chống Báng: Dov cắm báng dựng nửa vòm lưới lục trước mặt, mỗi đòn chặn loé trắng và nhồi thêm đạn; hết giờ dậm báng nứt sàn hình quạt.
Chi tiết spec
- Kích hoạt
- H08_SK06 Chống Báng: hàng 0 vòm chắn trước 180° (H08_SK06_BRACE, startup 6 tick, giữ 2.5 s = 138 tick active, loop); hàng 1 loé chặn khi đòn Y/N trước mặt trúng Dov (bắn trả = VFX_H08_nail_pierce_line hàng 1; H08_E17 +1 Ổ Đạn mỗi đòn chặn, icd 0.2 s); hàng 2 dậm báng H08_SK06_SLAM khi hết 2.5 s hoặc nhấn lại: t = 0 = frame dậm (active 4 tick), nón 90° r40, đẩy 40, hitstop 0.06. Nền VFX_H08_brace_stance chạy cùng. H08_E18 thay hàng 2 bằng VFX_H08_SK05_double_charge.
- Canvas
- 88×64 gốc 30/38
- Pha (s)
- antic −2.5/0 · impact 0/0.067 · dissipate 0.067/0.3
- Easing
- curve outQuart, freeze_s 0.06
- Hạt
- kind DUST, count 8, speed 60, life_s 0.3, hex #578514, gravity 40, shadow có/kind SPARK, count 6, speed 180, life_s 0.12, hex #e5ff9e, gravity 0, shadow không
- Hitbox
- shape sector r40 a90, match Hàng 2: mép nứt dừng đúng r40 ± 2 px tại t = 0.067 trong 8 hướng, phủ ≥ 90% quạt 90°; bụi vượt ≤ 6 px. Vòm hàng 0 chỉ báo siêu giáp trước 180° (không gây sát thương), chân vòm r28 nằm trong vòng chân., wave reach
- Nguồn
- recolor impacts/shield-block --opts {arc:180, radius:28} (vòm hàng 0–1) + impacts/heavy-landing --opts {arc:90, radius:40} (dậm hàng 2)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-sk06-brace-fort), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r40 a90' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −2.5 | Hàng 0 mở (6 tick): nửa vòm trước mặt dựng lên từ sàn, chân vòm là nửa elip r28 (56×28 phía trước), vành 2 px #aad44d, mặt vòm lưới mắt cáo 1 px #578514 α 0.5, cao 22 px. |
| −2.3 | Hàng 0 loop 8 frame @12: vân lưới trôi lên 1 px/frame; cứ 0.2 s một chấm viên 2×2 #e5ff9e sáng lên dọc vành (12 chấm trong 2.5 s), chấm thứ 6 trở đi sáng trắng #fff6f0 = Ổ Đầy. |
| −1 | Hàng 1 (mỗi đòn chặn, 4 frame @30): vành loé trắng #fff6f0 dày 3 px tại điểm va, 6 SPARK toé ngược về kẻ đánh, 1 glyph viên nhảy từ điểm va vào hông Dov (E17). |
| 0 | Hàng 2 dậm báng: vòm sụp xuống sàn, báng đập: nón 90° nứt sàn r40 (elip 80×40 cắt quạt) — 5 vết nứt toả #2b470a lõi #aad44d, frame trắng 1 frame #fff6f0 sát chân. |
| 0.067 | Bụi bung theo mép cung r40: 8 DUST #476b15 có bóng, vết nứt sáng #e5ff9e chạy ra đến đúng r40 rồi dừng. |
| 0.3 | Vết nứt nguội về #2b470a rồi tắt; rỗng. |
H08_SK08_LOAD Nạp Một Hơi: sk08 startup 6 tick, active 24 tick, recov…
Nạp Một Hơi: hai ổ đạn hoa thị quay một vòng bên ngực Dov, lấp sáu viên, loé trắng đúng nhịp cue — bấm kịp thì cả ổ bừng lõi trắng Nạp Nóng.
Chi tiết spec
- Kích hoạt
- H08_SK08_LOAD Nạp Một Hơi: sk08 startup 6 tick, active 24 tick, recovery 6; t = 0 = cue tick 18 (cửa 0.1 s; hạng II 0.12 s; H08_E32 +0.02/0.035/0.05 s). Cùng lúc VFX_H08_hot_load_cue hàng 1 sáng ở chân. Khói mở ổ H08_SK08_RING (tick 6, r48) = VFX_H08_gunsmoke; H08_E34 khi Ổ Đạn đầy xả thêm VFX_H08_gunsmoke r56. H08_EVO3 phóng 6 pháo VFX_H08_EVO3_hot_cascade khi trúng cue.
- Canvas
- 56×52 gốc 28/46
- Pha (s)
- antic −0.2/0 · impact 0/0.1 · dissipate 0.1/0.3
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind EMBER, count 6, speed 50, life_s 0.3, hex #e5ff9e, gravity −40, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/levelup (vòng xoay) + new src/fx/heroes/dov-sk08-rapid-load.js (2 hoa thị 6 lỗ, glyph dùng chung hot_load_cue)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-sk08-rapid-load), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.2 | 2 ổ xoay (hoa thị 6 lỗ, mỗi ổ 12×12, vành 1 px #578514) hiện hai bên ngực Dov cao 22 px trên chân, cách nhau 28 px; bắt đầu quay 1 vòng trọn trong 0.4 s. |
| −0.133 | Mỗi 4 tick một lỗ được lấp glyph viên loại vừa nạp (▪ ● ▲) màu #aad44d, xen kẽ ổ A/B; khói mở ổ (gunsmoke) đã nở dưới chân. |
| 0 | Cue: cả 2 ổ loé vành trắng #fff6f0 2 px giữ đúng 3 frame (0.1 s), 6 lỗ đều sáng #e5ff9e — đồng bộ với vòng chân hot_load_cue. |
| 0.1 | Trúng cue: 6 glyph đổi lõi trắng (Nạp Nóng) + 6 EMBER bay lên; trượt: glyph giữ #aad44d, vành tắt cứng. |
| 0.3 | 2 ổ thu nhỏ 12 → 4 px rồi tắt về hông Dov; rỗng. |
H08_AS3_FIN_RING Phát Cặp Loa Rộng (Dạng Rèn H08_AS3): as3_fin startu…
Phát Cặp Loa Rộng: mỗi phản ứng cặp bung thêm một vành lửa lục r56 quanh miệng pháo tay loe, hất bầy dạt ra.
Chi tiết spec
- Kích hoạt
- H08_AS3_FIN_RING Phát Cặp Loa Rộng (Dạng Rèn H08_AS3): as3_fin startup 9 tick (0.15 s), active 4 tick; t = 0 = frame phản ứng cặp kích; vòng nổ r56 quanh miệng loa, coef 2.0, đẩy 36, hitstop 0.07, trauma 0.3. Khói đuôi = VFX_H08_gunsmoke hàng 0.
- Canvas
- 124×88 gốc 62/58
- Pha (s)
- antic −0.15/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind FIRE, count 16, speed 160, life_s 0.25, hex #aad44d, gravity −40, shadow không/kind SMOKE, count 8, speed 40, life_s 0.4, hex #2b470a, gravity −20, shadow không
- Hitbox
- shape circle r56, match Đĩa trắng t = 0 phủ 100% elip 112×56; vành t = 0.067 có mép ngoài r56 ± 2 px; khói dạt r62 vượt 6 px (giới hạn M) và không tính sát thương., wave reach
- Nguồn
- recolor explosions/small-explosion --opts {radius:56} (đĩa → vành) + hue_shift 3 của Dạng Rèn AS3
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-as3-ring-blast), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r56' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.15 | Miệng loa rộng phồng sáng: đĩa r8 #aad44d nhịp 2 lần, 4 vệt khói #2b470a xoáy vào. |
| 0 | Frame trắng: đĩa elip 112×56 đặc #fff6f0 tâm miệng loa, viền 2 px #e5ff9e đúng r56. |
| 0.067 | Đĩa rỗng tâm thành vành dày 10 px #aad44d → #578514, 16 FIRE toả theo vành, 8 SMOKE puff đứng trên vành. |
| 0.2 | Vành khói #2b470a dạt thêm 6 px (r62) rồi mỏng dần; lửa tắt. |
| 0.4 | Rỗng. |
H08_UL1_CORPSE: trong tick 50–110 của ult, mọi xác và quái chết trong…
Xác bốc ma trơi: trong đêm pháo, mỗi xác quanh điểm ngắm phồng lên ngọn lửa lục rồi nổ tròn r40, như cả bãi chiến trường thắp đèn.
Chi tiết spec
- Kích hoạt
- H08_UL1_CORPSE: trong tick 50–110 của ult, mọi xác và quái chết trong r200 quanh điểm ngắm bốc ma trơi rồi nổ r40 coef 2.0 (≤ 40 nổ, không lan tiếp). Runtime rải: xác gần tâm nổ trước, ≤ 1 nổ mới mỗi tick. t = 0 = frame nổ. Hàng 1: H08_E35 mỗi xác nổ bắn 1 glyph Ma Trơi về chân Dov (nạp 1 Ma Trơi Nạp Nóng, ≤ 6; nổ +0.5 hệ số). Kèm VFX_SHARED_hit_ember trên mục tiêu.
- Canvas
- 96×80 gốc 48/54
- Pha (s)
- antic −0.15/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outExpo, freeze_s 0.03
- Hạt
- kind FIRE, count 10, speed 160, life_s 0.25, hex #aad44d, gravity −60, shadow không/kind EMBER, count 6, speed 40, life_s 0.35, hex #e5ff9e, gravity −30, shadow không
- Hitbox
- shape circle r40, match Đĩa lửa tại 0.067 s phủ 100% elip 80×40; hạt vượt ≤ 4 px. Ngọn antic không gây sát thương., wave reach
- Nguồn
- recolor bladewake/bloat-explode --opts {radius:40, palette:PAL_HERO_H08} + glyph ▲ từ hot_load_cue
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-ul1-corpse-wisp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.15 | Xác phồng: ngọn ma trơi 6×10 #7bb21b lõi #e5ff9e bốc lên từ xác 12 px, lắc ±1 px; sàn quanh xác loé r8 #578514 α 0.4. |
| 0 | Nổ: frame trắng đĩa r10 #fff6f0, rồi đĩa lửa elip 80×40 lõi #aad44d mép #578514. |
| 0.067 | Đĩa đạt r40 viền 2 px #e5ff9e; 10 FIRE + 6 EMBER văng; hàng 1: glyph ▲ 3×2 #e5ff9e lõi trắng bay cung về chân Dov trong 0.25 s. |
| 0.2 | Lửa co thành 3 ngọn nhỏ #578514, khói #2b470a bốc 8 px. |
| 0.4 | Rỗng (không để vết sàn — tránh chồng 40 decal). |
H08_E38 Mảnh Chặn Nạp Ổ (Then Chốt): ĐÁP thành công (H08_ANSWER hit) …
Mảnh Chặn Nạp Ổ: cú ĐÁP văng ba mảnh đạn xoay nảy qua ba kẻ địch, mỗi lần trúng một viên đạn nhỏ bay ngược về ổ của Dov.
Chi tiết spec
- Kích hoạt
- H08_E38 Mảnh Chặn Nạp Ổ (Then Chốt): ĐÁP thành công (H08_ANSWER hit) → t = 0 = 3 mảnh văng từ điểm chặn trong nón 90° r48, mỗi mảnh nảy 3 quái (coef 1.2), tốc vẽ 600 px/s theo đường runtime chọn; hàng 0 mảnh bay (loop), hàng 1 chạm-nảy: mỗi chạm +1 Ổ Đạn (≤ 3) → glyph ▪ (Đinh khi ổ rỗng) bay về chân Dov. Đi cùng VFX_H08_answer_flak.
- Canvas
- 24×24 gốc 12/12
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.267
- Easing
- curve linear, freeze_s 0
- Hạt
- kind SPARK, count 4, speed 160, life_s 0.1, hex #e5ff9e, gravity 0, shadow không
- Hitbox
- shape proj r4, match Lõi mảnh r2 (đường kính 4 px) + 2 px = va r4 (luật đạn hero); đuôi không tính., wave none
- Nguồn
- recolor impacts/ricochet --opts {palette:PAL_HERO_H08} (chạm-nảy) + new src/fx/heroes/dov-e38-answer-shrapnel.js (mảnh xoay)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-e38-answer-shrapnel), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'proj r4' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: mảnh 6×4 #e5ff9e viền #578514 xoay 90°/frame, đuôi 6 px #7bb21b α 0.5 sau lưng hướng bay; bóng 3×2. |
| 0.067 | Hàng 1 chạm (4 frame @30): chữ thập loé 9×9 #fff6f0 1 frame, 4 SPARK toé, mảnh bật góc mới. |
| 0.133 | Glyph ▪ 2×2 #f5ffd8 tách khỏi điểm chạm bay cung về chân Dov trong 0.2 s; tại chân bật VFX_H08_hot_load_cue hàng 0. |
| 0.267 | Sau lần nảy thứ 3: mảnh vỡ 3 chấm #578514 rơi rồi tắt. |
H08_E39 Tì Báng Xả Loạt (Then Chốt), trên H08_HOLD: hàng 0 mỗi đòn tr…
Tì Báng Xả Loạt: ăn đòn đầy ổ rồi nhả báng, pháo tay giật liền sáu phát ba cặp, vỏ đạn văng lách cách sau lưng.
Chi tiết spec
- Kích hoạt
- H08_E39 Tì Báng Xả Loạt (Then Chốt), trên H08_HOLD: hàng 0 mỗi đòn trúng mặt trước 120° khi đang Tì Báng (+1 viên, kèm VFX_H08_brace_stance); hàng 1 nhả Tì Báng khi Ổ Đầy: t = 0 = phát 1, 3 cặp = 6 phát liền mỗi 0.1 s trong 0.6 s (coef 3.0, −15 Thế mỗi phát). Hình nón mỗi phát = spec viên tương ứng (VFX_H08_muzzle_cone / VFX_H08_shell_salt / VFX_H08_shell_wisp), phát B kích phản ứng cặp; spec này vẽ loé nòng, giật, vỏ đạn.
- Canvas
- 64×48 gốc 12/30
- Pha (s)
- antic −0.1/0 · impact 0/0.033 · dissipate 0.033/0.6
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind CASING, count 6, speed 80, life_s 0.6, hex #578514, gravity 200, shadow có/kind SPARK, count 6, speed 200, life_s 0.1, hex #e5ff9e, gravity 0, shadow không/kind SMOKE, count 6, speed 30, life_s 0.4, hex #2b470a, gravity −20, shadow không
- Hitbox
- shape none, match Hitbox mỗi phát thuộc spec viên: Đinh sector r110 a70, Muối/Ma Trơi sector r90 a70 — loé nòng spec này đặt đúng gốc nón (muzzle socket ± 1 px) trong 8 hướng., wave none
- Nguồn
- recolor projectiles/muzzle-smg --opts {palette:PAL_HERO_H08} (loé + vỏ) + hàng 0 mượn impacts/shield-block
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-e39-brace-volley), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Hàng 0 (4 frame @30, tại điểm va trên vòm Tì Báng): loé vành 3 px #fff6f0, glyph viên nhảy vào hông Dov. Khi Ổ Đầy: 6 chấm vành vòm sáng trắng cùng lúc. |
| 0 | Phát 1 (ổ A): loé nòng sao 4 cánh 20×12 #fff6f0 → #e5ff9e, vòng khói giật r6 #2b470a phía trước, 1 vỏ đạn 2×3 #578514 văng ra sau 12 px. |
| 0.1 | Phát 2 (ổ B): loé to hơn 24×14 + 2 tia SPARK, đánh dấu phát B (phản ứng cặp); nòng giật lùi 3 px. |
| 0.2 | Phát 3–6 lặp nhịp A/B mỗi 3 frame; khói giật chồng thành dải #2b470a dài dần 40 px phía trước. |
| 0.6 | Sau phát 6: dải khói tan, 6 vỏ đạn nằm lăn trên sàn 0.3 s rồi tắt. |
H08_E40 Ngòi Nổ Lăn Đêm (Then Chốt): Lướt khi Ổ Đầy → cắm bó 6 viên +…
Ngòi Nổ Lăn Đêm: Dov lăn đi bỏ lại bó sáu viên cháy ngòi, vòng lục lấp dần rồi nổ thành hố lửa r72.
Chi tiết spec
- Kích hoạt
- H08_E40 Ngòi Nổ Lăn Đêm (Then Chốt): Lướt khi Ổ Đầy → cắm bó 6 viên + ngòi tại điểm bắt đầu lướt (hàng 0, 0.6 s); t = 0 = nổ r72, 2.0 × POWER mỗi viên + 3 phản ứng cặp (VFX phản ứng phát tại tâm lúc t = 0.1/0.2/0.3); hoàn 1 Lướt. Đi cùng VFX_H08_roll_dash.
- Canvas
- 160×112 gốc 80/72
- Pha (s)
- antic −0.6/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind FIRE, count 20, speed 200, life_s 0.3, hex #aad44d, gravity −60, shadow không/kind DEBRIS, count 10, speed 160, life_s 0.45, hex #476b15, gravity 300, shadow có/kind SMOKE, count 8, speed 30, life_s 0.5, hex #2b470a, gravity −20, shadow không
- Hitbox
- shape circle r72, match Viền đếm hàng 0 nằm đúng r72; đĩa trắng t = 0 phủ 100% elip 144×72; vành t = 0.067 tại r72 ± 2 px, mảnh vượt ≤ 10 px (L)., wave reach
- Nguồn
- recolor explosions/crater-blast --opts {radius:72, palette:PAL_HERO_H08} + new src/fx/heroes/dov-e40-fuse-detonate.js (bó đạn + ngòi hàng 0)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-e40-fuse-detonate), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r72' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.6 | Hàng 0 (6 frame loop @15): bó 6 viên 10×8 cắm nghiêng trên sàn, ngòi 1 px #e5ff9e cháy tóe 3 tia mỗi frame; viền elip 144×72 1 px #7bb21b α 0.5 hiện quanh bó, fill #578514 α 0.2 lớn dần từ tâm. |
| −0.1 | Fill chạm viền r72 (đầy đúng t = 0); ngòi cháy tới bó, bó loé #e5ff9e 2 lần. |
| 0 | Frame trắng: đĩa elip 144×72 #fff6f0, rồi miệng hố lửa lõi #aad44d mép #578514, cột khói-lửa 24×48 giữa tâm. |
| 0.067 | Đĩa đạt r72, vành 3 px #e5ff9e; 20 FIRE + 10 DEBRIS (có bóng) văng; vết hố r24 #192906 ở tâm lưu 1.5 s. |
| 0.3 | Khói #2b470a cuộn lên 32 px; 3 phản ứng cặp chồng lên lần lượt. |
| 0.5 | Rỗng (còn vết hố). |
H08_EVO1 Bão Muối Tì Báng: hàng 0 khi đang Tì Báng Nạp (H08_HOLD), mỗ…
Bão Muối Tì Báng: quỳ tì báng, cứ mỗi nhịp Dov rắc ra một vòng gai muối trắng r64; Mưa Muối hoá cơn lốc muối ba giây.
Chi tiết spec
- Kích hoạt
- H08_EVO1 Bão Muối Tì Báng: hàng 0 khi đang Tì Báng Nạp (H08_HOLD), mỗi 1.2 s rắc vòng muối r64 quanh chân Dov (1.2 × POWER, choáng S 0.6 s, 1 lớp STS_FROST); t = 0 = tick rắc. Hàng 1: H08_SK03 Mưa Muối thành bão 3 s tại vùng r80 (loop, đè lên VFX_H08_SK03_salt_rain).
- Canvas
- 176×120 gốc 88/78
- Pha (s)
- antic −0.1/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SALT, count 12, speed 140, life_s 0.25, hex #f5ffd8, gravity 160, shadow có/kind SALT, count 24, speed 90, life_s 0.5, hex #ffffff, gravity 0, shadow không
- Hitbox
- shape circle r64, match Hàng 0: vành t = 0.067 mép ngoài r64 ± 2 px, mặt trong phủ sương ≥ 90%; gai vượt ≤ 6 px. Hàng 1: rim 1 px trùng r80 của H08_SK03 (hitbox vùng bão)., wave reach
- Nguồn
- recolor ice/blizzard-vortex --opts {radius:80} (hàng 1) + ice/ice-spikes --opts {radius:64} (hàng 0)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-evo1-salt-tempest), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r64' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Muối tụ: 8 hạt 2×2 #f5ffd8 xoáy quanh gối Dov cao 10 px, bóng 1 px. |
| 0 | Frame trắng: vành elip 128×64 #ffffff dày 4 px bật ra từ chân. |
| 0.067 | Vành đạt r64: 16 gai muối 3×6 #f5ffd8 viền #aad44d cắm dọc vành, sương #e5ff9e α 0.4 phủ mặt trong; 12 SALT văng. |
| 0.25 | Gai vỡ thành bột #476b15 rơi; sương tan. |
| 0.4 | Rỗng. Hàng 1 (12 frame @12 loop, 3 s): lốc muối elip 160×80 (r80) — 3 dải hạt trắng xoáy ngược chiều kim đồng hồ 30°/frame, cao 40 px, mép ngoài vạch 1 px #aad44d đúng r80; hết 3 s tan trong 4 frame. |
H08_EVO2 Phố Đèn Ma: mỗi Đèn Ma của H08_SK04 thành đèn lồng cháy 10 s…
Phố Đèn Ma: mỗi đèn ma thắp một vũng lửa lục r56 cháy mười giây, cả con đường sau lưng Dov thành phố đèn.
Chi tiết spec
- Kích hoạt
- H08_EVO2 Phố Đèn Ma: mỗi Đèn Ma của H08_SK04 thành đèn lồng cháy 10 s (đèn = VFX_H08_SK04_wisp_mine hàng 0); spec này là lửa sàn r56 quanh đèn, nhịp 0.5 s (0.6 × POWER). t = 0 = đèn đặt xuống. Phát Ma Trơi trúng đèn → nổ r48 2.0 × POWER = VFX_H08_SK04_wisp_mine hàng 1 với --opts radius 48 (bậc 1.3 × 0.923).
- Canvas
- 128×72 gốc 64/38
- Pha (s)
- antic 0/0.25 · impact 0.25/0.333 · dissipate 9.667/10
- Easing
- curve linear, freeze_s 0
- Hạt
- kind EMBER, count 2, speed 20, life_s 0.6, hex #e5ff9e, gravity −30, shadow không
- Hitbox
- shape circle r56, match Viền 1 px hàng 0 nằm đúng r56; nền phủ 100% elip 112×56; lưỡi lửa vượt ≤ 4 px. Nổ r48 dùng hitbox của VFX_H08_SK04_wisp_mine., wave none
- Nguồn
- recolor fire/brazier --opts {radius:56} (lưỡi lửa) + floorDisc pixelfx _lib.js
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-evo2-lantern-field), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r56' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 1 lan (3 frame @12): lửa ma loang từ chân đèn ra r56 trong 0.25 s, mép trước #aad44d. |
| 0.25 | Hàng 0 loop: đĩa elip 112×56 nền #2b470a α 0.5, 10 lưỡi lửa ngắn 3×6 #7bb21b lõi #e5ff9e lắc ±1 px; viền 1 px #578514 đúng r56. |
| 0.5 | Nhịp sát thương (mỗi 0.5 s = 6 frame @12): toàn bộ lưỡi lửa bừng 1 frame #aad44d cao +2 px. |
| 9.667 | Hàng 2 tàn (4 frame @12): lửa co về chân đèn, nền mờ dần. |
| 10 | Rỗng. |
H08_EVO3 Thác Pháo Nạp Nóng: mỗi viên Nạp Nóng bắn ra phóng 1 pháo ma…
Thác Pháo Nạp Nóng: mỗi viên đạn nóng bắn ra kéo theo một quả pháo ma trơi vút lên rồi nổ bung lục ở chỗ kẻ địch đứng.
Chi tiết spec
- Kích hoạt
- H08_EVO3 Thác Pháo Nạp Nóng: mỗi viên Nạp Nóng bắn ra phóng 1 pháo ma trơi từ miệng loa; điểm rơi = mục tiêu gần nhất trong nón phát bắn (không có → 96 px trước miệng loa); bay 0.4 s rồi nổ r40 1.5 × POWER. H08_SK08 trúng cue phóng 6 pháo (6 quái gần nhất trong 160 px; thiếu → điểm đều trên vòng r64 quanh Dov). t = 0 = nổ. Đi cùng VFX_H08_wisp_fireworks.
- Canvas
- 96×80 gốc 48/54
- Pha (s)
- antic −0.4/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind FIRE, count 8, speed 160, life_s 0.25, hex #aad44d, gravity −40, shadow không/kind EMBER, count 6, speed 20, life_s 0.3, hex #e5ff9e, gravity −20, shadow không
- Hitbox
- shape circle r40, match Đĩa tại 0.067 s phủ 100% elip 80×40; đầu tia dừng r40 ± 2 px; pháo bay không có hitbox., wave reach
- Nguồn
- recolor explosions/firework-rocket --opts {radius:40, palette:PAL_HERO_H08}
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-evo3-hot-cascade), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.4 | Hàng 0 (12 frame @30, đi theo parabol runtime đỉnh 40 px): pháo 4×6 #e5ff9e lõi #fff6f0, đuôi lửa 10 px #7bb21b, 1 EMBER/2 frame; bóng 4×2 trên sàn chạy dưới đường bay. |
| −0.067 | Pháo chúc xuống, đuôi dài 14 px; bóng co về chấm 2×1 ngay điểm rơi. |
| 0 | Hàng 1 nổ: frame trắng đĩa r10 #fff6f0, rồi pháo hoa elip 80×40 lõi #aad44d. |
| 0.067 | Đĩa đạt r40 viền 2 px #e5ff9e; 6 tia 1×6 toả, 8 FIRE văng. |
| 0.4 | Tia rơi thành chấm #578514; rỗng. |
LIBRARY · 2
Mọi phát bắn từ miệng loa: combo A/B (hit_frame 3/5), Phát Cặp, Phát …
Chớp miệng loa: 1 frame trắng hình chuông rồi lõi ngà viền lục, kèm 1 phụt khói ≤ 12 px tan 0.3 s (HF-06).
Chi tiết spec
- Kích hoạt
- Mọi phát bắn từ miệng loa: combo A/B (hit_frame 3/5), Phát Cặp, Phát Lăn (dash_attack hit_frame 2), H08_SK02_FAN (sk02 hit_frame 5), H08_AS2_FIN_LINE. t = 0 = frame nhả.
- Canvas
- 32×24 gốc 4/12
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.133
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SMOKE, count 1, speed 20, life_s 0.3, hex #476b15, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- reuse projectiles/muzzle-shotgun --opts palette=PAL_HERO_H08 (chỉ map ramp, không sửa hình)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-muzzle-flash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng #ffffff 1 frame: chớp hình miệng chuông 12×10 px tại muzzle, 4 cánh ngắn 3 px. |
| 0.033 | Lõi #fff6f0 8×6, viền #aad44d 1 px, 2 cánh còn lại. |
| 0.066 | Còn đốm #7bb21b 4×3 + 1 phụt khói 6 px #476b15 α 0.5 trước miệng loa (≤ 12 px). |
| 0.133 | Rỗng. |
Hàng 0: H08_COMBO_A_BLANK Phụt Mồi hit (attack2 hit_frame 3, t = 0 = …
Khói thuốc súng của Dov: phụt khói lục-chì đặc theo nón (Phụt Mồi) hoặc vành tròn đẩy quái (Nạp Một Hơi), tan nhanh, không bao giờ che thân hero.
Chi tiết spec
- Kích hoạt
- Hàng 0: H08_COMBO_A_BLANK Phụt Mồi hit (attack2 hit_frame 3, t = 0 = phụt; nón 60° r56) và Phát Lăn rỗng (--opts arc 100 radius 64). Hàng 1: khói đuôi H08_SK01_BLAST (t = 0.1 sau nổ, không hitbox), H08_E04, H08_AS3_FIN_RING. Hàng 2: H08_SK08_RING xả khói vòng r48 (sk08 tick 6) và H08_E34 r56.
- Canvas
- 128×80 gốc 64/48
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SMOKE, count 10, speed 140, life_s 0.35, hex #476b15, gravity −40, shadow không/kind DUST, count 6, speed 60, life_s 0.3, hex #2b470a, gravity 0, shadow có
- Hitbox
- shape sector r56 a60, match Hàng 0: khói phủ elip r56 60° ≥ 95% (56×28 màn), mép cuộn vượt ≤ 4 px; Phát Lăn rỗng r66 102° vs r64 a100. Hàng 2: vành khói đặc phủ đĩa r48 (96×48) 100%, cuộn ngoài r52; E34 r58 vs r56., wave reach
- Nguồn
- recolor explosions/smoke-bomb --opts {palette:PAL_HERO_H08, radius, arc} (thêm knob arc mask rẻ quạt + khoét thân, mặc định giữ hình gốc)
- Review
- check_mjs pending (node tools/check.mjs heroes/dov-gunsmoke), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H08), hitbox_overlay pending: overlay 'sector r56 a60' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame phụt: nhân sáng #fff6f0 6×4 ở miệng loa (hàng 2: ở chân, vòng sáng r10), chớp #ffffff 1 frame. |
| 0.033 | Hàng 0: cụm khói đặc 3 khối tròn lăn theo nón 60° tới r40, thân #476b15 → #578514, đỉnh sáng #aad44d 1 px. Hàng 2: vành khói tròn nở r20. |
| 0.1 | Khói chạm r56 (hàng 0) / vành r48 (hàng 2, elip 96×48); quái bị đẩy 40 px theo vành. |
| 0.2 | Khói vỡ thành 8 cuộn nhỏ α 0.6 trôi lên 12 px, tối dần #2b470a; không cuộn nào vào r16 quanh thân Dov (giữ thân đọc rõ, cấm khói đen che thân). |
| 0.4 | Rỗng. |
13SFX
| SFX | Loại | ms | Biến thể | Bus | Ưu tiên | Giọng | LUFS | Tell | Nguồn | Trạng thái | Brief |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HeroAttackCut heroId=H08 moveIndex=A (H08_COMBO_A_DINH/A_MUOI/A_MATRO… SFX_H08_a1_swing | shot | 280 | 4 | HeroAttack | 20 | 6 | −19 | none | freesound | brief | Hoả mai nòng loa bắn 1 viên ổ A từ hông: thuốc đen nổ trầm, gọn, có hơi khói. Loại viên KHÔNG đổi âm nổ (đổi ở `SFX_H08_hit`/`combo_special`). AS2 = gốc +5% pitch, body hẹp hơn (bandpass 150–600 Hz); AS3 = gốc −6% pitch, body dày hơn 2 dB. KHÔNG được nghe như súng trường hiện đại, súng giảm thanh, pháo tết hay tiếng vỏ đạn đồng rơi ngân. |
| HeroAttackCut heroId=H08 moveIndex=B (H08_COMBO_B_DINH/B_MUOI/B_MATRO… SFX_H08_a2_swing | shot | 250 | 4 | HeroAttack | 20 | 6 | −19 | none | freesound | brief | Phát ổ B lẻ: cùng hoả mai, nghe nhẹ hơn và có tiếng ổ xoay đổi nấc trước; Phụt Mồi (2 ổ rỗng) = lẫy + phụt khói hụt hơi, không tiếng nổ, để người chơi biết ổ trống. KHÔNG được nghe như súng lục ổ quay hiện đại, tiếng tách ngòi pháo, hay tiếng bắn đồ chơi. |
| HeroAttackCut heroId=H08 moveIndex=PAIR (H08_COMBO_A_PAIR; AS2 H08_AS… SFX_H08_a3_swing | shot | 420 | 4 | HeroAttack | 20 | 4 | −17 | none | freesound | brief | Phát cặp kết chuỗi: hoả mai tì vai bắn nặng, đẩy người lùi; luôn phát cùng `SFX_H08_combo_special` (lớp phản ứng). AS2 = nổ gọn sắc như xé vải dày (+6% pitch); AS3 = pháo tay trầm rộng (−8% pitch, thêm tail vòng nổ 150 ms). KHÔNG được nghe như đại bác chiến hạm, shotgun hiện đại có tiếng lên đạn, hay nổ điện tử. |
| HeroHitBatch heroId=H08 (HordeAudio §6.1 gộp mỗi frame; ăn kèm SFX_SH… SFX_H08_hit | hit | 180 | 6 | HeroAttack | 30 | 4 | −20 | none | freesound | brief | Đạn chì và hạt nhồi ghim vào bầy xác khô; 6 biến thể = 2 mỗi loại viên (Đinh/Muối/Ma Trơi), runtime chọn theo viên của phát. Trần 3 lần/50 ms (§6.1). KHÔNG được nghe như đạn bắn kim loại 'peng', máu văng ướt, hay tiếng kính vỡ. |
| HeroComboSpecial heroId=H08 branch=RX_DD|RX_DM|RX_DT|RX_MD|RX_MM|RX_M… SFX_H08_combo_special | explode | 900 | 9 | HeroAttack | 20 | 3 | −17 | none | synth | brief | 9 biến thể CỐ ĐỊNH (không random): mỗi branch một file `SFX_H08_combo_special_0n` theo thứ tự RX_DD…RX_TT; người chơi học phản ứng qua tai. Nổ Muối (RX_MT) to nhất (−17), các cặp khác −19. KHÔNG được nghe như phép thuật điện tử lấp lánh, chuông, hay pháo hoa lễ hội có tiếng huýt dài. |
| HeroDash heroId=H08 (H08_DASH Lăn Ngang; xếp trên SFX_SHARED_dash_bas… SFX_H08_dash | move | 320 | 4 | HeroAttack | 20 | 2 | −21 | none | foley | brief | Pháo thủ áo dạ ôm súng lăn ngang 76 px trên nền tro sỏi; 3 viên mỗi hộp gỗ lắc nghe rõ = bản sắc. KHÔNG được nghe như whoosh gió, ninja lướt, hay xích kim loại. |
| HeroAnswerSuccess heroId=H08 (H08_ANSWER / H08_ANSWER_SHELL Nổ Chặn; … SFX_H08_answer | answer | 380 | 3 | HeroDefense | 2 | 2 | −14 | none | synth | brief | Phát nổ chặn cự ly sát: không phải tiếng súng đầy, mà cú phụt nén đẩy văng đòn tới; nghe là biết 'đã chặn được'. Tổng với answer_core ≤ −12 mmax. KHÔNG được nghe như kim loại gạt kim loại, khiên chặn, hay tiếng súng a1 (phải khác rõ). |
| HeroCounter heroId=H08 (H08_COUNTER Hai Nòng Kề sau ĐÁP) SFX_H08_counter | shot | 600 | 3 | HeroAttack | 2 | 2 | −15 | none | freesound | brief | Kề miệng loa sát ngực kẻ địch, xả 2 ổ liền: 'bùm-BÙM' như cú đấm đôi, đã nhất trong bộ âm H08 trừ Ult. KHÔNG được nghe như shotgun 2 nòng hiện đại (không tiếng bẻ nòng, không vỏ đạn), hay súng máy. |
| HeroHoldStart heroId=H08 (H08_HOLD Tì Báng Nạp) SFX_H08_hold_start | move | 260 | 3 | HeroDefense | 20 | 1 | −18 | none | foley | brief | Pháo thủ cắm báng súng xuống đất để trụ: chắc, nặng, gọn — báo 'đã vào thế không lùi'. KHÔNG được nghe như khiên kim loại dựng, tiếng gõ chuông, hay giậm chân nhảy. |
| HeroHoldStart heroId=H08 → loop tới HeroHoldEnd (dừng ngay khi thả/hu… SFX_H08_hold_loop | loop | 2400 | 1 | HeroDefense | 20 | 1 | −26 | none | foley | brief | Nền giữ thế Tì Báng: kín đáo, cho biết đang trụ; loop 2.4 s mẫu-chính-xác 44.1 kHz (105840 mẫu). AS2 phát ×1.33 tốc tick (0.3 s) bằng đổi pitch +0% và lịch tick runtime. KHÔNG được nghe như tiếng tim đập, đồng hồ tích tắc to, hay hum phép thuật. |
| HeroHoldEnd heroId=H08 cancelled=false|true SFX_H08_hold_end | move | 200 | 3 | HeroDefense | 20 | 1 | −22 | none | foley | brief | Rời thế trụ, nhẹ hơn hold_start, không gây chú ý. KHÔNG được nghe như whoosh hay tiếng lên đạn. |
| HeroResource heroId=H08 kind=gain (nạp 1 viên: mốc Nạp ở clip load, t… SFX_H08_res_gain | cast | 140 | 6 | Hero | 20 | 2 | −24 | none | foley | brief | Lẫy cơ khí nạp đạn: 6 biến thể = 3 loại viên × (thường, Nạp Nóng); 'cạch' Nạp Nóng phải nhận ra ngay khi nhả đúng cửa 0.10 s (thưởng tai). Trần 120 ms. KHÔNG được nghe như lên đạn súng trường hiện đại (bolt), tiếng xu rơi hay ui click điện tử. |
| HeroResource heroId=H08 kind=full (vào FULL_CHAMBERS Ổ Đầy 6/6; tính … SFX_H08_res_full | cast | 420 | 2 | Hero | 20 | 1 | −20 | none | foley | brief | Báo Ổ Đầy: 2 hộp ổ đạn khoá chặt, sẵn sàng xả; biến thể 2 (PAIR_READY) chỉ còn transient 1 'cạch' −6 dB. KHÔNG được nghe như chuông báo, jingle UI hay tiếng sạc năng lượng. |
| HeroResource heroId=H08 kind=spend action=SWAP_TOP (H08_HEAVY_SWAP Đả… SFX_H08_res_spend | cast | 200 | 3 | Hero | 20 | 1 | −22 | none | foley | brief | Đảo thứ tự đạn bằng ngón tay ám khói, nhanh và lanh: nghe là biết phản ứng kế đã đổi. KHÔNG được nghe như xào bài, tiếng xu, hay click giao diện. |
| SkillCast skillId=H08_SK01 (Loa Sấm; hạng II–III = cùng âm + lớp swee… SFX_H08_SK01_cast | cast | 760 | 2 | Hero | 20 | 2 | −17 | none | freesound | brief | Phát loa sấm nón 100° đẩy lùi cả mảng bầy: tiếng nổ có 'thân' sấm nhưng ngắn gọn, không vang trời. KHÔNG được nghe như sấm sét thời tiết dài, loa phóng thanh điện, hay đại bác của Ult. |
| SkillCast skillId=H08_SK02 (Quạt Đinh) SFX_H08_SK02_cast | cast | 560 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Xả quạt đinh bay xa 220 px: nhiều mảnh nhỏ rít qua không khí, đọc hướng toả. KHÔNG được nghe như mưa tên gỗ, súng máy, hay phi tiêu kim loại 'ting'. |
| SkillCast skillId=H08_SK03 (Mưa Muối; phát 2 lần: H08_SK03_SALT khung… SFX_H08_SK03_cast | cast | 900 | 2 | Hero | 20 | 2 | −18 | none | freesound | brief | Bắn muối lên cao rồi rơi như mưa xuống vùng r80: muối trắng, khô, giòn, rắc trừ tà. KHÔNG được nghe như mưa nước, kính vỡ, hay băng tuyết lạnh lấp lánh. |
| SkillCast skillId=H08_SK04 (Đèn Ma Rải Đường: thả = khung 7 sk04; lớp… SFX_H08_SK04_cast | cast | 700 | 2 | Hero | 20 | 3 | −18 | none | synth | brief | Rải đèn ma trơi xuống đường như mìn: tiếng lửa ma lặng, hơi rùng rợn nhưng nhẹ; nổ khi quái dẫm. KHÔNG được nghe như mìn bíp điện tử, nổ lựu đạn, hay lửa trại tí tách cam. |
| SkillCast skillId=H08_SK05 (Nhồi Đôi, kèm HeroComboSpecial nếu đủ 2 v… SFX_H08_SK05_cast | cast | 680 | 2 | Hero | 20 | 2 | −16 | none | freesound | brief | Nhồi 2 viên vào 1 phát, kề sát mục tiêu: cú nổ quá tải làm người bắn lùi 1 bước. < 2 viên = biến thể 2 (−4 dB, không sub). KHÔNG được nghe như nổ bom, đại bác chiến hạm, hay súng thần công có tiếng xích kéo. |
| SkillCast skillId=H08_SK06 (Chống Báng: vào thế khung 0; lớp __impact… SFX_H08_SK06_cast | cast | 600 | 2 | Hero | 20 | 3 | −17 | none | foley | brief | Quỳ cắm báng thành ụ pháo, ăn đòn trả đạn rồi dậm báng hất lùi; nặng, chắc, gỗ-đá. KHÔNG được nghe như khiên kim loại, tường đá dựng phép, hay giáp kêu loảng xoảng. |
| SkillCast skillId=H08_SK07 (Lăn Lửa Ma; vệt H08_SK07_TRAIL = lớp __im… SFX_H08_SK07_cast | cast | 700 | 3 | Hero | 20 | 2 | −17 | none | synth | brief | Lăn ngang kẹp viên Ma Trơi vạch đường lửa ma trên sàn: chất liệu lăn của `SFX_H08_dash` + lửa ma lặng. KHÔNG được nghe như lửa cam ầm ầm, động cơ phản lực, hay whoosh phép thuật lấp lánh. |
| SkillCast skillId=H08_SK08 (Nạp Một Hơi: 6 nhịp nạp khung 6–17 + xả v… SFX_H08_SK08_cast | cast | 1100 | 2 | Hero | 20 | 2 | −17 | none | foley | brief | Nạp đầy 2 ổ trong 1 hơi: nhịp lẫy dồn dập leo cao là cao trào nhỏ của bộ âm tài nguyên, kết bằng cú xả khói. KHÔNG được nghe như súng máy lên đạn, đồng hồ lên dây, hay jingle level-up. |
| UltActivate ultId=H08_UL1 (Pháo Đêm Ma Trơi; cùng SFX_SHARED_ult_core… SFX_H08_UL1_volley | explode | 4000 | 1 | Hero | 5 | 3 | −13 | none | freesound | brief | Phát đại bác của Dov (bản sắc UL1 doc 32 §2.3): pháo thủ dựng nòng như cối, bắn 6 trái ma trơi lên đêm rồi nổ dồn xuống bầy; dàn đều 4.0 s đúng nhịp clip 120 frame. KHÔNG được nghe như pháo hoa lễ hội có huýt dài, bom máy bay, hay đại bác chiến hạm vang biển. |
| UltActivate ultId=H08_UL2 (Phát Cuối Đội Đèn; cùng SFX_SHARED_ult_cor… SFX_H08_UL2_lastshot | explode | 3600 | 1 | Hero | 5 | 3 | −13 | none | synth | brief | Dồn trọn 9 cặp ổ vào 1 mục tiêu: chuỗi 9 phát như đọc tên 9 viên đạn, phát cuối là lời tiễn của đội đèn. Kết liễu dưới ngưỡng = thêm 'BÙM' sub ở phát 9 (runtime +2 dB). KHÔNG được nghe như súng máy, liên thanh hiện đại, hay nổ điện tử. |
| UltActivate ultId=H08_UL3 (Nòng Loa Vô Tận; vòng nổ khung 12; trong 9… SFX_H08_UL3_endless | cast | 1800 | 1 | Hero | 5 | 3 | −13 | none | synth | brief | Mở trạng thái 9 s khẩu pháo không bao giờ cạn: ổ xoay rồ lên như máy, vòng nổ chuông bịt quanh chân. KHÔNG được nghe như chuông chùa ngân dài, động cơ xe, hay súng gatling quay. |
| HeroAttackCut heroId=H08 moveIndex=PAIR, SkillCast, UltActivate, Hero… SFX_H08_vo_effort | vocal | 450 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Pháo thủ trẻ ồn, liều, tự tin: hơi gắng khi giật báng, đôi lúc cười khẩy; KHÔNG có âm tiết của ngôn ngữ thật, không giọng AI tổng hợp. KHÔNG được nghe như la hét chiến binh, rên đau, hay giọng trẻ con. |
| HeroDamaged heroId=H08 (cùng SFX_SHARED_hero_hurt_impact) SFX_H08_vo_hurt | vocal | 350 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Trúng đòn nhưng không gục: bực hơn là sợ. KHÔNG được nghe như thét kinh dị, rên kéo dài, hay ho. |
| HeroDeath heroId=H08 (cùng SFX_SHARED_hero_death + SN_DEATH) SFX_H08_vo_death | vocal | 1100 | 2 | VO | 45 | 1 | −20 | none | outsource | brief | Pháo thủ gục, vẫn cố cười như muốn nói 'chưa xong đâu': buồn mà không bi luỵ. KHÔNG được nghe như thét chết điện ảnh hay tiếng nấc kéo dài. |
14Câu thoại (bark)
| Bark | Kích hoạt | Câu thoại | Ưu tiên | Hồi s | 1 lần |
|---|---|---|---|---|---|
| run_start_1 | RunStart (rời ST_DOCK, phòng đầu Hồi I) | Đếm đạn: sáu viên, đủ đường về. | hero | 0 | — |
| run_start_2 | RunStart (chọn ngẫu nhiên 1/3) | Chuông câm thì để pháo nói. | hero | 0 | — |
| run_start_3 | RunStart (chọn ngẫu nhiên 1/3) | Muối trước, Ma Trơi sau. Đi thôi! | hero | 0 | — |
| level_up_1 | LevelUp (trước DraftOpen, chỉ khi không có boss/NPC bark trong 4 s) | Ổ thêm nặng, tay thêm chắc. | hero | 30 | — |
| level_up_2 | LevelUp (luân phiên) | Lại học thêm một cách nổ hay. | hero | 30 | — |
| level_up_3 | LevelUp khi vừa đạt phản ứng cặp mới lần đầu trong run | Ghi vào bảng cho Thầy Hol xem! | hero | 60 | — |
| perfect_1 | HeroAnswerSuccess heroId=H08 perfect=true (Nổ Chặn đúng cửa 0.15 s) | Chặn rồi! Giờ tới lượt tôi. | hero | 20 | — |
| perfect_2 | HeroAnswerSuccess perfect=true targetTier=M|L|XL | Nổ sát mặt, đỡ đi! | hero | 20 | — |
| perfect_3 | HeroAnswerSuccess perfect=true lần thứ 3 liên tiếp không trúng đòn | Đọc trúng nhịp rồi nhé. | hero | 30 | — |
| perfect_dodge | HeroPerfectDodge heroId=H08 (nạp +1 viên) | Hụt rồi! Thêm một viên cho tôi. | hero | 25 | — |
| low_hp_1 | HeroLowHp hpPct ≤ 0.30 (lần đầu mỗi phòng) | Còn hơi thì còn bắn. | hero | 45 | — |
| low_hp_2 | HeroLowHp hpPct ≤ 0.30 (luân phiên) | Đừng run, ngón tay… đừng run. | hero | 45 | — |
| low_hp_3 | HeroLowHp hpPct ≤ 0.15 | Ổ chưa cạn, tôi chưa gục. | hero | 60 | — |
| elite_1 | EliteSpawn (Tinh Anh EL_ vào tầm nhìn, sau stinger elite_in 1.0 s) | Con to kìa. Nhồi Muối trước! | hero | 30 | — |
| elite_2 | EliteSpawn (luân phiên) | Đứng yên đó cho tôi đếm đạn. | hero | 30 | — |
| elite_3 | EliteSpawn affixId=EM bất kỳ (có Ấn) | Ấn trên đầu nó sáng quá… bắn tắt đi. | hero | 40 | — |
| boss_intro_1 | BossIntro (sau dòng của boss, khung tên boss 2.0 s kết thúc) | Chuông thật ở trên kia. Mày chắn đường. | hero | 0 | — |
| boss_intro_2 | BossIntro (luân phiên) | Ồn hơn tôi à? Thử xem nào. | hero | 0 | — |
| boss_intro_3 | BossIntro khi UL2 đang lắp | Chín cặp, chín viên — đủ tiễn một con. | hero | 0 | — |
| ult_volley | UltActivate ultId=H08_UL1 (khung 30 ul1, lần đầu mỗi phòng) | Đêm nay có pháo hoa! | hero | 60 | — |
| victory_1 | BossDefeated (khung 25 clip victory) | Bắn đúng thứ tự thì người chết khỏi đi lạc. | hero | 0 | — |
| victory_2 | BossDefeated (luân phiên) | Một phát pháo hoa tiễn người ra đi. | hero | 0 | — |
| victory_3 | RoomCleared nodeType=BOS hoặc MBS không trúng đòn tím nào | Thấy chưa, pháo cũng biết khấn. | hero | 0 | — |
| death_1 | HeroDeath heroId=H08 (khung 18 clip death, trước SN_DEATH tắt hẳn) | Chưa… đếm xong mà… | hero | 0 | — |
| death_2 | HeroDeath (luân phiên) | Thắp giùm tôi một ngọn… đèn… | hero | 0 | — |
| hub_wake | Hub: clip wake xong tại ST_HEARTH | Lửa Canh còn ấm. Nạp lại thôi. | hero | 0 | — |
| hub_ambrin | Hub: đi ngang khi H12 đã mở khoá (1 lần mỗi lượt về hub) | Ồn hơn anh rồi nhé, Ambrin! | hero | 0 | — |
| hub_hol | HubStationInteract stationId=ST_LEDGER | Viết lên bảng cho Thầy Hol: mười hai cặp! | hero | 0 | — |
| hub_grem | HubStationInteract stationId=ST_FORGE | Lão Grem, nòng này loe thêm chút được không? | hero | 0 | — |
| hub_unlock | UnlockGranted id=H08 (mở hero ở ST_FORGE) | Đội Đèn Đêm, pháo thủ Dov có mặt! | hero | 0 | có |