1Định danh & tiểu sử
- Danh hiệu
- Thợ Kẻ Mực
- Vũ khí
- Compa Địa Lý: compa đo huyệt 2 chân lưỡi sắt có khớp
- Nhóm vai
REACH— cự ly mũi/đường, tay đôi mạnh- Độ khó
- 4/5
- Mở khoá
CLEAR_NODE· Hoàn thành nút Giải Cứu (RSC) ở Hồi II, rồi trả 10 Mảnh Vọng ở Lò Rèn · Mảnh Vang: 10- Mốc
- Cập nhật U1 MS04
- Verb tag
- Combo COMBO · Lướt DASH · Đáp ANSWER · Phản COUNTER · Kỹ năng SKILL · Tài nguyên: Mực RES:INK
Trục độ khó (doc 12 §4, 0–2)
Tiểu sử
Sậu, mười bảy tuổi, học trò cuối của thầy địa lý chọn huyệt; thầy hoá Tro đêm đầu, để lại cây Compa Địa Lý. Tỉ mỉ, ít cười, đo trước khi bước; giận thì im lặng và kẻ thêm một đường. Tro trôi dời mộ, làm mọi huyệt sai chỗ: mỗi đêm cô kẻ lại đất, vẽ lối cho người chết về đúng nơi. Sậu chọn huyệt, Wenna đào; hai đứa cãi nhau từng gang tay đất. Với bà Ingra, cô đọc dấu người chết: bà nghe khói, cô nghe đất. Bị Phù Thủy Móc Liệm cuốn kén trong đầm, cô vẫn đo ra lối thoát. "Đất không nói dối, chỉ người đo sai." "Một đường thôi. Đủ thẳng là đủ."
Câu nói
Ghi chú lệch có chủ đích
2026-11-07 — Lệch brief doc 12 §11.4 (cân ngân sách doc 17 §4.2–4.3, balance_calc move_de): SK01 quét 2 vòng (mỗi vòng coef 2.5, brief 1 vòng) → 0.97 XANH; SK03 thêm 2 nhịp 2.5 + 2 lớp STS_FROST (brief chỉ Tước Khí) → 0.81 XANH; SK04 thêm cắm r48 coef 3.0 + STS_BIND và dây 0.4 coef/nhịp → 0.83 XANH; SK05 nổ chấm 2.2/chấm (brief 3.0 → 1.36 ĐỎ) → 1.15 XANH; SK06 thêm cú Bổ Thước coef 9.5 khi đổi thế → 0.84 XANH; SK07 Kẹp tại đích coef 3.0 (Kẹp gốc 2.5) → 0.83 XANH; SK08 +2 Mực khi kích, gương cộng Mực tối đa +4/lần → 1.20 XANH; SK02 giữ số brief (2 nhịp 3.0) → 0.71 VÀNG: lý do = tốn 2 Mực + đứt đôi S ≤ 40% HP không tính vào DE. UL1 đường mực rộng 48 px (để aoe ≥ 2.0) + Thu Lưới r140 coef 6.0 → DE 95.0 (0.95); UL2 7 đâm 4.5 + nổ 7 × 4.0 + nét xuyên 96 × 12 coef 8.0 → DE 83.9, đơn mục tiêu 67.5 coef ≥ 55; UL3 kích r96 coef 8.0 + đường tự động 160 × 32 coef 4.0 + combo +30% + Phản vọng 60% → DE ≈ 88.6. SK08 hồi chiêu 9 s theo brief (ngoài dải nhịp độ 3–8 s doc 17 §4.2, giữ brief). Phản: vạch mực 64 px dải rộng 40 px thay vùng r40 của khuôn doc 11 §2.6. ST ước tính 66.7 HP/s (Ghép 5.29 coef/s = 79% + SK05) trong ±5% của 66; HD cần đo ở Sân Tập. Chân dung theo doc 30 §5.3 (bust 128, màn chọn 192) thay số 64/96×128 của doc 12 §8.2. mastery_unlocks Edge lấy đúng unlock_rank của hero_upgrades/H04.json (doc 13 §5.5). [ASSUMED] mọi tick frame data lượt đầu, place_min/default/max 48/120/200, hold_max_s SK04 1.0, giá skin 30/45/60. 2026-11-07 — Ghép chậm vì tầm 80–96 px xuyên mọi kẻ trên đường: B1/B2 recovery 18 tick (dải 10–16), B3 recovery 27 tick (dải 16–22); kéo về dải (16/16/22) làm Ghép 5.29 → 5.80 coef/s, ST ≈ 71.8 HP/s vượt ±5% của 66, nên giữ nhịp chậm thay vì giảm coef. 2026-11-07 — Sải Compa (SK07) dịch 110 px (trần lao doc 12 §3.5: ≤ 110 px), trước là 120. 2026-11-07 — Sửa đồng bộ: cancel_into của combo dùng HEAVY@<tick> (bỏ token thế cũ); số frames của visual.clips lấy theo av/H04__actor_sfx.json (nguồn AV thắng); mastery_unlocks bỏ MR13/MR14/MR17/MR19 (id cosmetic chưa định nghĩa), MR20 chỉ còn SKN_H04_4.
2Hình ảnh & bảng màu
- Màu slot
- #30f089 hue 148°
- Vòng chân
- #30f089 r 12 px
- Sprite
- 34 px cao
- Chân dung
- bust 128/128 · body 192/192 · viền #30f089
- Trang phục pixelfx
Tools/pixelfx/src/fx/heroes/_sau.js
Skin
Clip hoạt ảnh (42) — 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 | 28 | — | 3 | 5+3 |
| attack4 | 28 | — | 3 | 5+3 |
| attack5 | 36 | — | 5 | 5+3 |
| attack_b1 | 30 | — | 4 | 5+3 |
| attack_b2 | 30 | — | 4 | 5+3 |
| attack_b3 | 40 | — | 6 | 5+3 |
| stance_swap | 12 | — | 2 | 5+3 |
| clamp | 28 | — | 3 | 5+3 |
| ink_line | 40 | — | 6 | 5+3 |
| dash_attack | 26 | — | 2 | 5+3 |
| answer | 12 | — | 0 | 5+3 |
| answer_hit | 18 | — | 2 | 5+3 |
| hold_in | 10 | — | — | 5+3 |
| hold_loop | 18 | có | — | 5+3 |
| hold_out | 8 | — | — | 5+3 |
| counter | 30 | — | 3 | 5+3 |
| sk01 | 40 | — | 5/11 | 5+3 |
| sk02 | 44 | — | 6/12 | 5+3 |
| sk03 | 40 | — | 5/8 | 5+3 |
| sk04 | 36 | — | 5 | 5+3 |
| sk05 | 44 | — | 3/6/9/12 | 5+3 |
| sk06 | 34 | — | 4 | 5+3 |
| sk07 | 40 | — | 11 | 5+3 |
| sk08 | 30 | — | 3 | 5+3 |
| ul1 | 96 | — | 20/45 | 5+3 |
| ul2 | 84 | — | 6/30/32 | 5+3 |
| ul3 | 30 | — | 5 | 5+3 |
| hurt | 10 | — | — | 5+3 |
| broken | 28 | — | — | 5+3 |
| death | 60 | — | — | 5+3 |
| wake | 34 | — | — | 5+3 |
| revive | 36 | — | — | 5+3 |
| victory | 42 | — | — | 5+3 |
| hub_idle | 60 | có | — | 5+3 |
| select | 24 | có | — | 1 |
| as2_fin | 30 | — | 6 | 5+3 |
| as3_fin | 30 | — | 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 | 105 | HP | 105 | 100 – 160 | 105 – 115 |
MOVE_SPEED | Tốc chạy | 145 | px sàn/s | 145 | 130 – 145 | 138 – 145 |
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 | — | 80 | — | 80 | 72 – 90 | 80 – 90 |
4Tài nguyên & nội tại
- Tài nguyên
- Mực INK · kiểu
PIPS - Khoảng
- 0 – 5 (bắt đầu 0)
- Suy giảm
- —
- Khi trúng đòn
- −1
- ĐÁP
- 1
- Né hoàn hảo
- 1
- Sự kiện đầy
- res_full
- HUD
- PIPS · bottom_left_under_hp
- Liên kết Dư Âm
- Dư Âm +20 mỗi Kẻ Mực, +2 mỗi quái bị Kẻ Mực cắt (tối đa +30 mỗi lần); chung: ĐÁP +4, Né Hoàn Hảo +4
| Sự kiện | Lượng | Trần/s | Ghi chú |
|---|---|---|---|
| attack | 1 | — | Nhát 3 thế Tách (H04_COMBO_A_3) trúng ≥ 1 kẻ: +1, tối đa 1 lần mỗi nhát (quái S cũng tính — bầy nuôi Mực). |
| combo_end | 1 | — | Nhát 5 thế Tách (H04_COMBO_A_5) trúng ≥ 1 kẻ: +1. |
| stance | 1 | — | Kẹp Compa (H04_HEAVY_CLAMP) có ≥ 1 kẻ nằm giữa 2 chân (cung trong ±20°, cự ly 16–40 px): +1. |
| answer | 1 | — | Khép Compa thành công (cận chiến hoặc đạn): +1. |
| perfect_dodge | 1 | — | Né Hoàn Hảo khi Bước Phấn: +1. |
Tiêu
| Hành động | Giá | Thiếu vẫn dùng | Ghi chú |
|---|---|---|---|
| INK · RESOURCE H04_INK_LINE | 5 | không | Kẻ Mực: cú kết A5/B3 hoá H04_INK_LINE khi Mực = 5. Chưa đủ 5 Mực thì cú kết ra bản thường, không phạt. |
| Dây Mực Bật H04_SK02 | 2 | không | Dây Mực Bật. Thiếu Mực: kỹ năng bị từ chối, HUD nháy ô. |
| Thế Đứng Thước H04_SK06 | 1 | không | Thế Đứng Thước. Thiếu Mực: kỹ năng bị từ chối, HUD nháy ô. |
Trạng thái theo ngưỡng
Mực Đầy ≥ 5
Nội tại: Đường Thẳng
5Phòng thủ: ĐÁP · Giữ · Phản · Lướt
ĐÁP: Khép Compa
Hiệu ứng chung (S choáng 1.0 s + đẩy 30 px; M −45 Thế; L −40; XL −35 — poise_dmg_override) + kẻ đánh trên đường 64 px dính STS_DISARM 2.0 s: đòn vàng kế tiếp của nó huỷ ngay khi bắt đầu windup. L/XL không dính Tước Khí; thay vào đó nhận thêm −15 Thế (disarm_lxl_poise, cộng vào −40/−35). Mở cửa sổ Phản Kim Chỉ Nam 1.0 s.
Đạn vàng bị cắt đôi tại mép đường 64 px: 2 nửa bay lệch ±25° thành đạn hero, mỗi nửa 1.5 × sát thương gốc, xuyên 1, không bẻ hướng. Không mở Phản.
Tước Khí: STS_DISARM 2.0 s lên kẻ cận chiến (Tinh Anh mất đòn vàng kế — cửa sổ trừng phạt dài nhất roster); đạn thành 2 đạn hero. +1 Mực.
- window_s
- 0.15
- res_gain
- 1
- needs_resource
- không
- poise_dmg_override
- M 45, L 40, XL 35
Giữ: Kẻ Vòng
Không tốn Thế, không tốn Mực; vẽ 0.5 s (huỷ được bằng Lướt/ĐÁP); giữ tối đa 3 s; hồi 1.0 s sau khi vòng tắt.
Không giảm sát thương: đòn tím trúng thường, không Vỡ Thế; vòng phấn không chặn vùng tím, không chặn vùng đọng.
- mechanic
- LINE_TRAP
- armor_tier
- NONE
- move_mult
- 0.5
- max_s
- 3
- cooldown_s
- 1
Lướt
- dash_px
- 80
- anim
- dash
- afterimage
- có
- trail_vfx
- VFX_H04_dash_chalk
Verb bầy
Kẻ Mực (H04_INK_LINE) cắt theo hạng khối, mọi kẻ trên đường 320 × 24 px.
- verb
- CUT
- by_mass
- S đứt đôi: chết ngay, xác tách 2 nửa theo hướng đường mực, M ×2.5 sát thương của Kẻ Mực, L ×2.5 sát thương, −30 Thế, XL ×2.5 sát thương, −30 Thế
Ghi đè input (input_override)
- attack_hold_ticks
- 15
- attack_hold_action
- STANCE
- place_min
- 48
- place_default
- 120
- place_max
- 200
- aim_rotate_max
- 720
- Kiểu bấm kỹ năng
- H04_SK01
TAP· H04_SK02TAP· H04_SK03TAP· H04_SK04HOLD· H04_SK05TAP· H04_SK06TAP· H04_SK07TAP· H04_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ú |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tách 1 — lưỡi trái H04_COMBO_A_1 | COMBO_A | 5 | 4 | 11 | 0.333 | 1 | LIGHT | ARC r 48 arc 120 | 48 | 4 | 0.035 | 0 | NONE | HEAVY@9 | atk_speed_scales | Lưỡi trái chém chéo từ phải sang trái; bước 8 px. |
| Tách 2 — lưỡi phải H04_COMBO_A_2 | COMBO_A | 5 | 4 | 11 | 0.333 | 1 | LIGHT | ARC r 48 arc 120 | 48 | 4 | 0.035 | 0 | NONE | HEAVY@9 | atk_speed_scales | Lưỡi phải chém ngược chiều A1, xen kẽ 2 lưỡi. |
| Tách 3 — chấm mực H04_COMBO_A_3 | COMBO_A | 5 | 4 | 12 | 0.35 | 1 | LIGHT | ARC r 48 arc 120 | 48 | 4 | 0.035 | 0 | NONE | HEAVY@9 | atk_speed_scales | Trúng ≥ 1 kẻ: +1 Mực (1 lần/nhát). SFX a2 pitch +4%. |
| Tách 4 — lưỡi chéo H04_COMBO_A_4 | COMBO_A | 5 | 4 | 11 | 0.333 | 1 | LIGHT | ARC r 48 arc 120 | 48 | 4 | 0.035 | 0 | NONE | HEAVY@9 | atk_speed_scales | 2 lưỡi chéo hình X ngắn. SFX a2 pitch +8%. |
| Tách Kép — kết thế Tách H04_COMBO_A_5 | COMBO_A | 9 | 5 | 18 | 0.533 | 2.4 | HEAVY | ARC r 52 arc 120 | 48 | 20 | 0.07 | 0.28 | NONE | HEAVY@14 | finisher/shieldbreak/atk_speed_scales | 2 lưỡi chém kép cùng lúc; +1 Mực khi trúng. Mực = 5 lúc bấm → thay bằng H04_INK_LINE. |
| Ghép 1 — đâm mũi H04_COMBO_B_1 | COMBO_B | 8 | 3 | 18 | 0.483 | 2.2 | LIGHT | LINE p0 0/0 p1 80/0 w 14 | 48 | 10 | 0.035 | 0 | NONE | HEAVY@11 | atk_speed_scales/pierce | Mũi compa khép đâm thẳng 80 px, xuyên mọi kẻ trên đường (cự ly mũi giữa 56–80 px). |
| Ghép 2 — đâm rút H04_COMBO_B_2 | COMBO_B | 8 | 3 | 18 | 0.483 | 2.2 | LIGHT | LINE p0 0/0 p1 80/0 w 14 | 48 | 10 | 0.035 | 0 | NONE | HEAVY@11 | atk_speed_scales/pierce | Rút về rồi đâm lại cùng trục. |
| Ghép Xuyên — kết thế Ghép H04_COMBO_B_3 | COMBO_B | 12 | 4 | 27 | 0.717 | 4.5 | HEAVY | LINE p0 0/0 p1 96/0 w 16 | 48 | 30 | 0.07 | 0.28 | NONE | HEAVY@16 | finisher/shieldbreak/atk_speed_scales/pierce | Lao người theo mũi đâm xuyên 96 px. Mực = 5 lúc bấm → thay bằng H04_INK_LINE. |
| Đổi Thế H04_HEAVY_SWAP | HEAVY | 4 | 1 | 6 | 0.183 | 0 | LIGHT | NONE | 48 | 0 | 0 | 0 | NONE | COMBO_A@5/COMBO_B@5 | — | Giữ Đánh 15 tick (0.25 s) → bật/khép 2 chân: Tách ↔ Ghép. Không sát thương; Lướt/ĐÁP huỷ; bước combo về 1. |
| Kẹp Compa H04_HEAVY_CLAMP | HEAVY | 6 | 3 | 14 | 0.383 | 2.5 | MEDIUM | ARC r 40 arc 60 | 48 | 15 | 0.045 | 0.22 | NONE | — | — | Cú đầu tiên sau Đổi Thế (thay bước 1 của thế mới; cú kế = bước 2). 2 chân khép vào nhau như kéo cắt; kẻ nằm giữa 2 chân (±20°, 16–40 px) → +1 Mực. |
| Kẻ Mực H04_INK_LINE | RESOURCE | 12 | 4 | 22 | 0.633 | 3 | HEAVY | LINE p0 0/0 p1 320/0 w 24 | 64 | 10 | 0.07 | 0.5 | NONE | — | shieldbreak/pierce | Chân 1 cắm tại hero, chân 2 cắm tại điểm ngắm (kẹp ≤ 320 px; tay cầm: hết tầm theo hướng ngắm); dây mực búng 1 frame cắt mọi kẻ trên đoạn nối. S đứt đôi; M ×2.5; L/XL ×2.5 và −30 Thế. Tiêu 5 Mực. |
| Bước Phấn H04_DASH | DASH | 0 | 9 | 3 | 0.2 | 0 | LIGHT | NONE | 48 | 0 | 0 | 0 | NONE | — | — | Lướt 80 px / 9 tick, i-frame 12 tick; để lại viền phấn 0.3 s (chỉ hình ảnh, không hitbox). |
| Vạch Phấn Lướt H04_DASH_ATTACK | DASH_ATTACK | 4 | 4 | 14 | 0.367 | 1.6 | MEDIUM | LINE p0 −16/0 p1 80/0 w 28 | 48 | 10 | 0.045 | 0.22 | NONE | — | atk_speed_scales | Kéo 1 chân compa vạch đường 96 × 28 px dọc hướng Lướt; tính là bước 1 của thế đang giữ (cú kế = A2 hoặc B2). |
| Khép Compa H04_ANSWER | ANSWER | 0 | 9 | 6 | 0.25 | 0 | ANSWER | LINE p0 0/0 p1 64/0 w 16 | 48 | 45 | 0.08 | 0.25 | NONE | — | chain_answer | Cửa sổ 9 tick (0.15 s), 360°; anim tự xoay, 2 chân khép đánh 'xoẹt' thành đường 64 px tới mối đe doạ. |
| Cắt Đôi Đạn H04_ANSWER_SPLIT | ANSWER | 0 | 1 | 0 | 0.017 | 0 | ANSWER | POINT | 48 | 0 | 0 | 0 | NONE | — | pierce | Đạn vàng bị ĐÁP: tách 2 nửa bay ±25°, mỗi nửa = 1.5 × sát thương gốc của đạn (không theo POWER), xuyên 1, không bẻ hướng. |
| Kẻ Vòng H04_HOLD | HOLD | 30 | 180 | 6 | 3.6 | 0 | LIGHT | RING r 56 band 6 | 48 | 0 | 0 | 0 | NONE | — | — | Startup = 30 tick vẽ vòng (huỷ được); active ≤ 180 tick khi còn giữ. Quái cận chiến vượt vạch: choáng 0.3 s (M 0.15 s; L/XL −15 Thế), ≤ 1 lần/kẻ/1.0 s; đạn vàng qua vạch chậm 50%. |
| Kim Chỉ Nam H04_COUNTER | COUNTER | 6 | 4 | 18 | 0.467 | 16 | COUNTER | LINE p0 0/0 p1 100/0 w 16 | 48 | 30 | 0.12 | 0.45 | INVULN | — | shieldbreak/pierce | Lao 48 px trong 6 tick (bất tử từ input tới hết active), đâm mũi compa khép thẳng như kim la bàn 100 × 16; tổng với vạch mực = 18 coef = 180 ở POWER 10. |
| Vạch Mực Phản H04_COUNTER_INK | COUNTER | 8 | 2 | 18 | 0.467 | 2 | COUNTER | LINE p0 100/−32 p1 100/32 w 40 | 48 | 0 | 0 | 0 | NONE | — | — | 2 tick sau mũi đâm: vạch mực ngang 64 px qua điểm trúng (dải rộng 40 px) — phần vùng của khuôn Phản. |
| Vẽ Vòng Tròn H04_SK01_SWEEP | SKILL | 10 | 18 | 16 | 0.733 | 2.5 | SKILL | CIRCLE r 96 | 48 | 12 | 0.04 | 0.25 | NONE | — | rehit | Cắm chân trái làm tâm (tick 0–9), chân phải quét 360° r96 hai vòng (tick 10 và 22); trúng 2 lần/kẻ. |
| Dây Mực Bật H04_SK02_LINE | SKILL | 12 | 14 | 16 | 0.7 | 3 | SKILL | LINE p0 0/0 p1 240/0 w 20 | 48 | 10 | 0.05 | 0.3 | NONE | — | pierce/rehit | Tick 12 căng dây mực 240 × 20 (nhịp 1), tick 24 búng dây (nhịp 2); quái S còn ≤ 40% HP sau nhịp nào thì đứt đôi. |
| Khoá Lưỡi H04_SK03_CONE | SKILL | 9 | 8 | 18 | 0.583 | 2.5 | SKILL | ARC r 80 arc 90 | 48 | 10 | 0.05 | 0.3 | NONE | — | rehit | 2 lưỡi bập mở rồi khép 2 lần trong nón 90° r80: mỗi nhịp +1 lớp STS_FROST; kết nhịp 2 áp STS_DISARM 2.0 s (M 1.0 s; L/XL −15 Thế). |
| Cắm Mốc Địa H04_SK04_PLANT | SKILL | 10 | 4 | 14 | 0.467 | 3 | SKILL | CIRCLE r 48 off_fwd 120 | 48 | 15 | 0.04 | 0.22 | NONE | — | — | Phóng 1 chân compa cắm tại điểm đặt (48–200 px, mặc định 120): r48 coef 3.0 + STS_BIND (S 1.2 s · M 0.4 s · L/XL −15 Thế). Chân đó thành Mốc 8 s. |
| Dây Phấn Mốc H04_SK04_STRING | SKILL | 14 | 240 | 0 | 4.233 | 0.4 | SKILL | LINE p0 0/0 p1 120/0 w 12 | 48 | 0 | 0 | 0 | NONE | — | rehit | Dây phấn nối Mốc ↔ hero 4 s (p1 = vị trí Mốc, dài ≤ 200 px; hero đi xa hơn → dây đứt sớm): quái S chạm dây choáng 0.3 s + 0.4 coef (≤ 1 lần/kẻ/0.5 s); đạn vàng qua dây chậm 50%. |
| Định Vị Huyệt H04_SK05_STAB | SKILL | 6 | 20 | 14 | 0.667 | 1.5 | SKILL | LINE p0 0/0 p1 80/0 w 14 | 1 | 8 | 0.03 | 0.12 | NONE | — | rehit/shieldbreak | Khoá 1 mục tiêu (ưu tiên M/L/XL trong 100 px), 4 đâm mũi khép cách nhau 6 tick; mỗi đâm trúng đặt 1 chấm mực (trần 5, tồn 6 s). |
| Nổ Chấm Huyệt H04_SK05_BURST | SKILL | 0 | 1 | 0 | 0.017 | 2.2 | SKILL | CIRCLE r 16 | 1 | 6 | 0.05 | 0.3 | NONE | — | — | Khi Kẻ Mực, Kim Chỉ Nam hoặc Dây Mực Bật trúng mục tiêu mang chấm: mỗi chấm nổ 2.2 coef (1 hit cộng dồn), xoá chấm. |
| Bổ Thước H04_SK06_STRIKE | SKILL | 8 | 4 | 16 | 0.467 | 9.5 | SKILL | LINE p0 0/0 p1 80/0 w 16 | 3 | 40 | 0.07 | 0.3 | FIRM | — | — | Đổi thế tức thì và bổ compa như cây thước sắt (LINE 80 × 16, coef 9.5); sau đó 3 s Kẻ Vòng vẽ ngay (bỏ 0.5 s vẽ), r72, khựng 0.6 s. |
| Sải Compa H04_SK07_STRIDE | SKILL | 4 | 14 | 4 | 0.367 | 0 | SKILL | NONE | 48 | 0 | 0 | 0 | NONE | — | — | Cắm chân trước, xoay thân 180° quanh nó: dịch 110 px theo hướng nhập (xuyên quái S, dừng trước M/L/XL, không i-frame); kết thúc đã đổi thế. |
| Kẹp Đích H04_SK07_CLAMP | SKILL | 22 | 3 | 14 | 0.65 | 3 | SKILL | ARC r 40 arc 60 | 48 | 15 | 0.045 | 0.22 | NONE | — | — | Kẹp Compa tại đích (tick 22): coef 3.0; kẻ nằm giữa 2 chân → +1 Mực như Kẹp Compa thường; cú kế = bước 2 thế mới. |
| Đối Xứng Địa Lý H04_SK08_CAST | SKILL | 6 | 1 | 14 | 0.35 | 0 | SKILL | NONE | 48 | 0 | 0 | 0 | NONE | — | — | Xoay compa vẽ trục đối xứng qua chân mình: +2 Mực ngay, bật trạng thái gương 6 s. |
| Bản Đối Xứng H04_SK08_MIRROR | SKILL | 0 | 360 | 0 | 6 | 0 | SKILL | NONE | 48 | 0 | 0 | 0 | NONE | — | — | Trong 6 s: mọi cú COMBO_A/COMBO_B/DASH_ATTACK sinh 1 bản hình đối xứng qua tâm hero (sau lưng) cùng tick, sát thương = 50% cú gốc; bản đối xứng trúng cũng cộng Mực (tối đa +4 Mực/lần dùng). |
| Lưới Kinh Tuyến — 6 đường H04_UL1_LINES | ULT | 40 | 30 | 50 | 2 | 6 | ULT | LINE p0 0/0 p1 320/0 w 48 | 128 | 10 | 0.06 | 0.55 | INVULN | — | shieldbreak/pierce | Cắm compa giữa sân, 6 đường mực 320 px toả hình sao (60°/đường), mỗi đường bật cách nhau 5 tick; S đứt đôi, M/L/XL ×2.5. |
| Thu Lưới H04_UL1_CLOSE | ULT | 90 | 6 | 24 | 2 | 6 | ULT | CIRCLE r 140 | 128 | 40 | 0.1 | 0.8 | INVULN | — | shieldbreak | Tick 90: 6 đường co về tâm như kéo lưới, nổ r140 coef 6.0, đẩy 30 px ra ngoài. |
| Chấm Huyệt Tử — 7 đâm H04_UL2_STABS | ULT | 12 | 42 | 42 | 1.6 | 4.5 | ULT | LINE p0 0/0 p1 80/0 w 14 | 1 | 6 | 0.03 | 0.25 | INVULN | — | shieldbreak/rehit | Khoá mục tiêu chính (ưu tiên M/L/XL trong 140 px), lướt vòng quanh nó đâm 7 nhát cách 6 tick, đặt 7 chấm mực. |
| Đường Xuyên Huyệt H04_UL2_LINE | ULT | 60 | 4 | 32 | 1.6 | 8 | ULT | LINE p0 −48/0 p1 48/0 w 12 | 1 | 20 | 0.08 | 0.5 | INVULN | — | shieldbreak/pierce | Tick 60: 1 nét mực 96 × 12 xuyên qua mục tiêu nối các chấm. |
| Nổ Bảy Huyệt H04_UL2_BURST | ULT | 64 | 1 | 31 | 1.6 | 28 | ULT | CIRCLE r 24 | 1 | 30 | 0.1 | 0.8 | INVULN | — | shieldbreak/execute | Tick 64: 7 chấm nổ cùng lúc = 7 × 4.0 coef (1 hit); sau cú nổ HP ≤ 20% → chết (M 20%, L 10%, XL thay bằng ×1.5). |
| Thước Trời — kích H04_UL3_CAST | ULT | 10 | 6 | 14 | 0.5 | 8 | ULT | CIRCLE r 96 | 128 | 40 | 0.1 | 0.6 | INVULN | — | shieldbreak | 0.5 s bất tử: dựng compa thẳng đứng như cây thước trời, vạch vòng sáng r96 coef 8.0; sau đó vào dạng 9 s. |
| Đường Mực Trời H04_UL3_AUTOLINE | ULT | 0 | 4 | 0 | 0.067 | 4 | ULT | LINE p0 0/0 p1 160/0 w 32 | 48 | 10 | 0.05 | 0.3 | NONE | — | pierce | Trong dạng: mỗi cú kết (A5/B3/AS fin) tự bật thêm đường mực 160 × 32 theo hướng đánh, không tốn Mực; S đứt đôi. |
| Kim Vọng H04_UL3_ECHO | ULT | 12 | 4 | 0 | 0.267 | 10.8 | COUNTER | LINE p0 0/0 p1 100/0 w 16 | 48 | 18 | 0.08 | 0.35 | NONE | — | shieldbreak/pierce | Trong dạng: Khép Compa cận chiến thành công tự ra Kim Chỉ Nam; nhịp 2 sau 0.2 s = 60% (10.8 coef), bất tử theo khuôn Phản. |
| Đâm Cắm Mốc H04_AS2_FIN | ASPECT | 12 | 4 | 26 | 0.7 | 4.5 | HEAVY | LINE p0 0/0 p1 100/0 w 16 | 48 | 30 | 0.07 | 0.28 | NONE | — | finisher/shieldbreak/atk_speed_scales/pierce | Thay B3 khi lắp Compa Đồng Chân Dài: đâm 100 × 16 rồi để chân compa đồng cắm lại làm Mốc 3 s (Kẻ Mực kế xuất phát từ Mốc). |
| Tung Khớp Gãy H04_AS3_FIN | ASPECT | 10 | 8 | 20 | 0.633 | 2.6 | HEAVY | CIRCLE r 72 | 48 | 20 | 0.07 | 0.28 | NONE | — | finisher/shieldbreak/atk_speed_scales | A6 khi lắp Compa Gãy Khớp: tung 2 chân lỏng khớp quay vòng r72 quanh thân; +1 Mực khi trúng. |
78 kỹ năng
Vẽ Vòng Tròn
skill.compass_pivotHạng III: Vòng quét thứ 2 đổi chiều và kéo quái S 32 px về chân cắm (gom bầy cho Kẻ Mực); dùng lại sheet VFX_H04_SK01_pivot chạy ngược.
Đòn: SK01 · SKILL H04_SK01_SWEEP · Tag: Kỹ năng SKILL · Vùng rộng AREA
Dây Mực Bật
skill.line_cutHạng III: Ngưỡng đứt đôi 50% HP; cắt ≥ 6 kẻ hoàn 1 Mực (vòng lặp Mực ngắn cho hướng Kẻ Mực).
Đòn: SK02 · SKILL H04_SK02_LINE · Tag: Kỹ năng SKILL · Tài nguyên: Mực RES:INK
Khoá Lưỡi
skill.disarmHạng III: Thêm nhịp bập thứ 3 (hits_max 3) → đủ 3 lớp Sương Giá, quái S đóng băng 1.0 s ngay trong lúc bị Tước Khí.
Đòn: SK03 · SKILL H04_SK03_CONE · Tag: Kỹ năng SKILL · Sương Giá STS_FROST
Cắm Mốc Địa
skill.beaconHạng III: Tồn tại 2 Mốc cùng lúc; dây phấn nối Mốc 1 ↔ Mốc 2 ↔ hero thành tam giác; Kẻ Mực kế đi từ Mốc 1 qua Mốc 2 (2 đoạn, mỗi đoạn ≤ 320 px).
Đòn: SK04 · SKILL H04_SK04_PLANT · SK04_STR · SKILL H04_SK04_STRING · Tag: Kỹ năng SKILL · Trói STS_BIND
Định Vị Huyệt
skill.mark_applyHạng III: 5 đâm (đủ trần 5 chấm trong 1 lần), đâm thứ 5 luôn chí mạng; chấm nổ cũng mở được bằng Dây Mực Bật.
Đòn: SK05 · SKILL H04_SK05_STAB · SK05_BURST · SKILL H04_SK05_BURST · Tag: Kỹ năng SKILL · Chí mạng CRIT
Thế Đứng Thước
skill.stance_bonusHạng III: Trong buff, quái cận chiến vượt vạch còn dính STS_DISARM 1.0 s (defense_effect RING_TRAP được nâng; Tinh Anh bước vào mất đòn vàng kế).
Đòn: SK06 · SKILL H04_SK06_STRIKE · Tag: Kỹ năng SKILL · Đáp ANSWER
Sải Compa
skill.stance_strikeHạng III: 2 lượt (charges 2): sải liền 2 lần thành đường zíc-zắc, mỗi lần đổi thế — Tách → Ghép → Tách.
Đòn: SK07 · SKILL H04_SK07_STRIDE · SK07_KEP · SKILL H04_SK07_CLAMP · Tag: Kỹ năng SKILL · Di chuyển MOVE
Đối Xứng Địa Lý
skill.mirror_shapeHạng III: Bản đối xứng chuyển sang 2 bên trái/phải (trục ±90°) thay vì sau lưng — 3 hình cùng lúc, dùng lại sheet gốc lật gương.
Đòn: SK08 · SKILL H04_SK08_CAST · SK08_MIR · SKILL H04_SK08_MIRROR · Tag: Kỹ năng SKILL · Tài nguyên: Mực RES:INK
83 tuyệt kỹ (Ult)
Lưới Kinh Tuyến
ult.line_cutKẻ 6 đường mực 320 px hình sao, mỗi đường 6× Lực (quái thường đứt đôi); thu lưới nổ r140.
Đòn: UL1_LINES · ULT H04_UL1_LINES · UL1_CLOSE · ULT H04_UL1_CLOSE
Chấm Huyệt Tử
ult.mark_detonate7 đâm đặt 7 chấm lên 1 kẻ, nét xuyên nổ mỗi chấm 4× Lực; còn ≤ 20% HP thì chết.
Đòn: UL2_STABS · ULT H04_UL2_STABS · UL2_LINE · ULT H04_UL2_LINE · UL2_BURST · ULT H04_UL2_BURST
Thước Trời
ult.counter_echo9 s: combo +30%, mỗi cú kết tự kẻ đường mực 160 px; Khép Compa tự ra Phản 2 nhịp.
Ghi đè khi biến hình
- H04_COMBO_A
- arc_add 30, coef_mult 1.3
- H04_COMBO_B
- range_add 30, coef_mult 1.3
- finisher_autoline
- move_id H04_UL3_AUTOLINE, len 160, ink_cost 0
- H04_COUNTER
- echo_move H04_UL3_ECHO, delay_s 0.2, coef_pct 60, auto_on_answer có
- H04_SK07
- cooldown_mult 0.5
- ult_gauge_gain
- 0
Đòn: UL3_CAST · ULT H04_UL3_CAST · UL3_LINE · ULT H04_UL3_AUTOLINE · UL3_ECHO · ULT H04_UL3_ECHO
93 Dạng Rèn
Compa Sắt Địa Lý
Compa sắt của thầy: 2 chân lưỡi có khớp, Tách 5 nhát 120°, Ghép đâm 80 px.
- Combo
- tempo_mult 1, arc_add 0, range_add 0
- Luật tài nguyên
- giữ gốc
- Lệch độ khó
- —
- mechanic_key
- —
Compa Đồng Chân Dài
Tách r58 cung 100°, Ghép đâm 100 px, nhịp ×0.9; Kẻ Mực 4 Mực dài 280 px; B3 cắm Mốc 3 s.
- Combo
- tempo_mult 0.9, arc_add −20, range_add 10
- Luật tài nguyên
- Kẻ Mực tốn 4 Mực, dài 280 px.
- Lệch độ khó
- axis D, delta 1
- mechanic_key
- passive.beacon
Đòn: AS2_B3 · ASPECT H04_AS2_FIN
Compa Gãy Khớp
Tách 6 nhát nhịp ×1.2, cung 140° r44; nhát 2 trúng +1 Mực; A6 tung 2 chân quét vòng r72.
- Combo
- tempo_mult 1.2, arc_add 20, range_add −4
- Luật tài nguyên
- Thêm +1 Mực mỗi nhát 2 thế Tách trúng.
- Lệch độ khó
- axis V, delta −1
- mechanic_key
- passive.compass_pivot
Đòn: AS3_A6 · ASPECT H04_AS3_FIN
10Nâng cấp: Edge · Cộng Hưởng · Tiến Hoá
Then Chốt (LEGENDARY)
Khép Compa Kẻ Mực
ĐÁP khi ≥ 3 Mực tự Kẻ Mực 80%; kẻ sống sót dính Tước Khí 1.5 s.
answer.line_cut + res_spend.disarmKim Ghép Liền Mạch
Phản trúng chuyển thế Ghép; 3 cú Ghép kế mỗi cú vọng 1 nhịp Phản 40%.
counter.stance_bonus + attack.counter_echoNét Liền Không Nhấc Bút
Kẻ Mực hoàn 2 Mực (không cộng dồn với hoàn của passive Đường Thẳng: tối đa 2 Mực/lần Kẻ); cú kết kế trong 3 s tự kẻ mực 240 px, 60% (tối đa 1 lần/4 s).
combo_end.line_cut + res_spend.res_refundHướng build Combo · 6 Edge
Cộng Hưởng: Nhịp Hai Chân H04_RS1 · Combo COMBO
Đổi thế không cần giữ Đánh: mọi cú kết A5/B3 tự chuyển thế, cú kế luôn là Kẹp Compa.
Cung Tách Mở
Combo thế Tách: cung +20/35/50°, bán kính +6/10/15%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
arc_add | 20 | 35 | 50 |
radius_inc | 6 | 10 | 15 |
passive.arc_widenMũi Ghép Sâu
Đâm thế Ghép: tầm +12/21/30 px, sát thương +8/14/20%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
len_add | 12 | 21 | 30 |
dmg_inc | 8 | 14 | 20 |
passive.range_extendGương Mực Đậm
Đối Xứng Địa Lý: bản đối xứng +12/21/30% sát thương, +1/1.75/2.5 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
coef_add | 12 | 21 | 30 |
dur_add | 1 | 1.75 | 2.5 |
passive.mirror_shapeKẹp Tước Khí
Khi Kẹp Compa trúng, kẻ giữa 2 chân compa dính Tước Khí 1/1.6 s.
| tham số | H1 | H2 |
|---|---|---|
duration_s | 1 | 1.6 |
stance.disarmHai Mũi Đối Xứng
Cú kết A5/B3 ra thêm 1 bản đối xứng sau lưng, 60/96% sát thương.
| tham số | H1 | H2 |
|---|---|---|
coef_pct | 60 | 96 |
combo_end.mirror_shapeHướng build Lướt · 6 Edge
Cộng Hưởng: Bước Đo Đất Lành H04_RS2 · Lướt DASH
Lướt thành nguồn Mực: xuyên qua thân quái nạp Mực như nhát 3 thế Tách.
Bước Phấn Dài
Lướt: cự ly +6/10/14 px, thời gian nạp −8/14/20%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dist_add | 6 | 10 | 14 |
recharge_cut | 8 | 14 | 20 |
passive.dash_distanceChân Nhẹ Như Phấn
Khi Né Hoàn Hảo, tốc đánh +15/26/38% trong 4 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
value | 15 | 26 | 38 |
perfect_dodge.stance_bonusSải Rộng Chân
Sải Compa: xoay dịch +16/28/40 px, Kẹp tại đích +15/26/38%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
travel_add | 16 | 28 | 40 |
dmg_inc | 15 | 26 | 38 |
passive.stance_strikeVệt Phấn Cắt
Khi Lướt xuyên quái, vệt phấn 80 × 12 px cắt 1.6/2.6× Lực.
| tham số | H1 | H2 |
|---|---|---|
coef | 1.6 | 2.6 |
dash_through.line_cutSải Quét Cung
Khi dùng Sải Compa, chân quét cung 180° r72 quanh chân trụ, 2/3.2× Lực.
| tham số | H1 | H2 |
|---|---|---|
coef | 2 | 3.2 |
stance.compass_pivotBước Đo Đất
Lướt cắm Mốc phấn 4 s ở điểm xuất phát; Kẻ Mực kế kẻ từ Mốc tới hero.
dash.beaconHướng build Đáp · 6 Edge
Cộng Hưởng: Khép Vòng Tước Khí H04_RS3 · Đáp ANSWER
Kẻ Vòng tước khí như Khép Compa: cận chiến vượt vạch mất đòn Y kế tiếp.
Mắt Thước
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_addTước Khí Lâu
Khép Compa: Tước Khí +0.4/0.7/1 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dur_add | 0.4 | 0.7 | 1 |
passive.disarmVòng Phấn Rộng
Kẻ Vòng: bán kính +15/26/38%, thời gian vẽ −10/18/25%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_inc | 15 | 26 | 38 |
draw_cut | 10 | 18 | 25 |
passive.hold_shape_growVòng Sương Phấn
Khi Kẻ Vòng đỡ đòn, kẻ vượt vạch nhận 1 lớp Sương Giá 4/6 s.
| tham số | H1 | H2 |
|---|---|---|
duration_s | 4 | 6 |
hold_block.apply_frostLưỡi Khoá Gieo Chấm
Khi Khoá Lưỡi trúng, mỗi kẻ trong nón nhận 1 chấm mực 6/10 s.
| tham số | H1 | H2 |
|---|---|---|
dur_s | 6 | 10 |
skill_hit.mark_applyKhoá Cả Vòng
Khi ĐÁP cận chiến thành công, Tước Khí 2 s lan mọi kẻ trong r72.
answer.disarmHướng build Phản · 6 Edge
Cộng Hưởng: Kim Chỉ Nam Thật H04_RS4 · Phản COUNTER
Phản thành kích nổ: chấm mực trong r64 nổ theo luật Định Vị Huyệt, không cần Kẻ Mực.
Kim Dài Mũi Nhọn
Phản Kim Chỉ Nam: dài +20/35/50 px, tỉ lệ chí mạng +20/35/50%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
len_add | 20 | 35 | 50 |
crit_add | 20 | 35 | 50 |
counter.line_cutKim Mở Huyệt
Chấm Huyệt Tử: ngưỡng kết liễu +3/5/8%, nổ chấm +10/18/25%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
exec_add | 3 | 5 | 8 |
dmg_inc | 10 | 18 | 25 |
passive.mark_detonateThước Dựng Kim
Khi dùng Thế Đứng Thước, Phản kế tỉ lệ chí mạng +30/52/75% (4 s).
| tham số | H1 | H2 | H3 |
|---|---|---|---|
value | 30 | 52 | 75 |
skill_hit.stance_bonusKim Gieo Chấm
Khi Phản trúng, đặt 2 chấm mực lên mục tiêu; chấm nổ +15/24%.
| tham số | H1 | H2 |
|---|---|---|
dot_inc | 15 | 24 |
counter.mark_applyKim Sương
Khi Phản trúng, 2 lớp Sương Giá cho mọi kẻ trong r32/52 quanh mũi kim.
| tham số | H1 | H2 |
|---|---|---|
r | 32 | 52 |
counter.apply_frostBa Nhịp Thước Trời
Thước Trời: Phản tự ra 3 nhịp, nhịp cuối 60% và luôn chí mạng.
counter.counter_echoHướng build Kỹ năng · 6 Edge
Cộng Hưởng: Đồ Nghề Thầy Địa H04_RS5 · Kỹ năng SKILL
Kỹ năng thành nguồn Mực thứ ba, cạnh nhát Tách và Khép Compa.
Compa Mở Rộng
Vẽ Vòng Tròn: sát thương +15/26/38%, kéo bầy +8/14/20 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dmg_inc | 15 | 26 | 38 |
pull_add | 8 | 14 | 20 |
passive.compass_pivotKhoá Lưỡi Rộng
Khoá Lưỡi: nón +10/18/25°, Tước Khí +0.3/0.5/0.75 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
arc_add | 10 | 18 | 25 |
dur_add | 0.3 | 0.5 | 0.75 |
skill_hit.disarmHuyệt Nổ Lan
Khi kẻ mang chấm mực chết, chấm nổ r56, 1.5/2.4× Lực mỗi chấm.
| tham số | H1 | H2 |
|---|---|---|
coef_per_mark | 1.5 | 2.4 |
kill.mark_detonateDây Mốc Hoá Mực
Khi Mốc Địa tắt, dây phấn hoá đường mực ≤ 320 px cắt 3/4.8× Lực.
| tham số | H1 | H2 |
|---|---|---|
coef | 3 | 4.8 |
place.line_cutThước Trói Vạch
Thế Đứng Thước: kẻ vượt vạch dính Trói 1.2 s (50/80%).
| tham số | H1 | H2 |
|---|---|---|
chance | 50 | 80 |
skill.apply_bindĐối Xứng Toàn Phần
Trong Đối Xứng Địa Lý, Kẻ Mực và Phản có bản đối xứng 70%.
res_spend.mirror_shapeHướng build Tài nguyên: Mực · 6 Edge
Cộng Hưởng: Mực Lục Không Khô H04_RS6 · Tài nguyên: Mực RES:INK
Ngưỡng Kẻ Mực 5 → 4 Mực (Compa Đồng Chân Dài 4 → 3); Mực tràn không mất mà nạp Dư Âm.
Dây Mực Căng
Dây Mực Bật: dài +20/35/50 px (trần 320), sát thương +12/21/30%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
len_add | 20 | 35 | 50 |
dmg_inc | 12 | 21 | 30 |
passive.line_cutVòng Gom Mực
Khi Vẽ Vòng Tròn trúng ≥ 5 kẻ, +1/1/2 Mực.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
amount | 1 | 1 | 2 |
skill_hit.res_addMốc Hai Đường
Kẻ Mực từ Mốc kẻ thêm đường Mốc → hero, 50/80% sát thương.
| tham số | H1 | H2 |
|---|---|---|
coef_pct | 50 | 80 |
res_spend.beaconKinh Tuyến Đẫm Mực
Khi tung Lưới Kinh Tuyến, tiêu hết Mực; mỗi Mực +8/13% sát thương lưới.
| tham số | H1 | H2 |
|---|---|---|
per_ink | 8 | 13 |
ult.res_dumpĐường Thẳng Tuyệt Đối
Kẻ Mực cắt ≥ 6 kẻ: kẻ thêm đường vuông góc 200 px, 80%.
detonate.line_cutDây Bật Hai Lần
Dây Mực Bật bật lần 2 sau 0.3 s, lệch 30°, không tốn thêm Mực.
skill.rehit_addTiến Hoá
La Bàn Mực
Vẽ Vòng Tròn hoá La Bàn Mực: vòng 2 kéo bầy 40 px rồi kẻ 4 đường mực 200 px xuyên tâm, 3× Lực, quái S đứt đôi.
- Cần Edge
- Compa Mở Rộng H04_E25 · Dây Mực Căng H04_E31
- Điều kiện
SKILL_RANKVẽ Vòng Tròn H04_SK01 = 3 — Vẽ Vòng Tròn hạng III; hướng Kẻ Mực (RES:INK + AREA).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- skill_max_rank.compass_pivot
Mũi Ghép Kim Chỉ Nam
Thế Ghép giữ tầm +30 px, +20%; Kim Chỉ Nam dài +50 px, chí mạng +50%. Luật mới: Ghép Xuyên trúng → sau 0.2 s vọng 1 Kim Chỉ Nam dọc mũi đâm, 70%, chí mạng +25%; nhịp vọng không tính là Phản (không kích Edge ON_COUNTER).
- Cần Edge
- Mũi Ghép Sâu H04_E02 · Kim Dài Mũi Nhọn H04_E19
- Điều kiện
RELIC_COUNT= 3 — ≥ 3 Relic; hướng Thế Ghép (COMBO + COUNTER + CRIT). 2026-11-07 - nguồn đổi từ E09+E19 sang E02 (COMBO) + E19 (COUNTER) để hướng Thế Ghép có EVO mang tag COMBO (doc 13 §14).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- combo_end.counter_echo
Khoá Băng Trăm Lưỡi
Khoá Lưỡi hoá vòng 360° r96, Tước Khí 2.5 s; kẻ có ≥ 2 lớp Sương Giá đóng băng ngay.
- Cần Edge
- Khoá Lưỡi Rộng H04_E26 · Kim Sương H04_E23
- Điều kiện
RESONANCEKhép Vòng Tước Khí H04_RS3 = 1 — Khép Vòng Tước Khí ≥ bậc I; hướng Tước Khí (ANSWER + COUNTER + STS_FROST).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- skill_max_rank.disarm
Compa Kinh Tuyến Thức Tỉnh
Compa thức tỉnh: Tách để vệt mực 1 s (0.6× Lực); Ghép đâm 112 px; Kẻ Mực rộng 32 px.
- 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 (14)
| ID | Câu |
|---|---|
| TPL_H04_chalk_step | Bước Đo Đất: điểm xuất phát Lướt thành Mốc phấn; Kẻ Mực kế nối Mốc tới hero. |
| TPL_H04_lock_mark | Khoá Lưỡi gieo chấm mực lên mọi kẻ trong nón (trần chung 5 chấm của Định Vị Huyệt). |
| TPL_H04_needle_mark | Phản Kim Chỉ Nam gieo chấm mực lên mục tiêu (trần chung 5 chấm). |
| TPL_H04_sky_three | Trong Thước Trời: Phản ra nhịp thứ 3 sau nhịp 2, luôn chí mạng. |
| TPL_H04_beacon_expire | Khi Mốc Địa tắt: dây phấn Mốc ↔ hero hoá đường mực cắt. |
| TPL_H04_full_mirror | Đối Xứng Địa Lý phản chiếu cả Kẻ Mực và Phản Kim Chỉ Nam. |
| TPL_H04_twin_line | Kẻ Mực xuất phát từ Mốc kẻ thêm đường nối Mốc với hero. |
| TPL_H04_meridian_dump | Lưới Kinh Tuyến tiêu hết Mực; mỗi Mực tiêu cộng sát thương lưới. |
| TPL_H04_cross_line | Kẻ Mực đông kẻ: đường thứ 2 vuông góc tại trung điểm, không kích passive Đường Thẳng. |
| TPL_H04_double_snap | Dây Mực Bật bật lại lần 2 lệch góc, không tốn Mực, không hoàn Mực lần 2. |
| TPL_H04_lp37 | THEN CHỐT — ĐÁP cận chiến khi đủ Mực tự kẻ Kẻ Mực theo hướng khép; quái sống sót bị Tước Khí. |
| TPL_H04_lp38 | THEN CHỐT — Phản trúng chuyển thế Ghép; mỗi cú Ghép kế vọng thêm 1 nhịp Phản. |
| TPL_H04_lp39 | THEN CHỐT — Kẻ Mực hoàn Mực (trần 2/lần, không cộng dồn với passive); cú kết kế trong cửa sổ tự kẻ đường mực ngắn, hồi nội 4 s. |
| TPL_H04_lp40 | THEN CHỐT — Né Hoàn Hảo nạp Dư Âm; trong Thước Trời mỗi Lướt kẻ đường mực theo đường lướt. |
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 | khung bia mộ Phấn Trắng |
| Đầy tài nguyên riêng {fills} lần trong 1 run. TT2 | full_events 10, res INK | khung bia mộ Mực Lục |
| 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 | khung bia mộ La Bàn |
| Qua Hồi II chỉ dùng {skills} kỹ năng. TT4 | act_reach 2, skills_max 1 | khung bia mộ Thước Sắt |
| Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}. TT5 | boss BS_FINAL, do_tang_min 8 | danh hiệu Kẻ Thức Tang Sậu |
- Danh hiệu MR20
- Người Kẻ Lối Cuối
- Mốc thoại MR11
- Con vẽ lối cho cả xứ. Vẽ cho ta lối từ lửa ra bến, ta già rồi hay lạc. DLG_ULLA_H04_001
- Mốc thoại MR15
- Mũi compa mòn tới tay. Ngươi kẻ đủ một xứ rồi. DLG_GREM_H04_001
- Bia mộ
- TMB_H04
12VFX spec
TEMPLATE · 25
Ngưỡng INK_FULL (Mực = 5; res_full; H04_RS6 bậc 2 ngưỡng 4, AS2 3/4):…
Mực Đầy: 2 chấm lục nhấp nháy ở 2 mũi compa — cú kết kế tiếp sẽ thành Kẻ Mực.
Chi tiết spec
- Kích hoạt
- Ngưỡng INK_FULL (Mực = 5; res_full; H04_RS6 bậc 2 ngưỡng 4, AS2 3/4): t = 0 = tick đạt ngưỡng; frame 0–5 vào, 6–13 loop tới khi tiêu Mực (world_cue: 2 chấm lục 2 px nhấp nháy ở 2 mũi compa). Hàng 1 H04_RS6 bậc 2: Mực tràn khi đầy → +3 Dư Âm (chấm bay lên đầu 0.2 s).
- Canvas
- 32×32 gốc 16/20
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.2/0.467
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-ink-full.js (mượn effects/sparkle.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ink-full), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: 2 mũi compa loé chấm 5×5 #ffffff + vòng r6 #66ffa5 quanh khớp. |
| 0.033 | 2 chấm co về 2×2 #30f089 viền 1 px #0e472e tại 2 mũi (cách nhau theo thế: Tách 10 px, Ghép chồng). |
| 0.2 | Loop frame 6–13: 2 chấm nhấp #30f089 ↔ #daffe8 chu kỳ 8 frame, lệch pha nhau 4 frame. |
| 0.467 | Tiêu Mực: tắt ngay (runtime dừng loop). |
H04_DASH Bước Phấn (clip dash hit frame 0; lướt 80 px / 9 tick, i-fra…
Bước Phấn: 2 vạch phấn song song trên sàn và viền silhouette mờ, như thầy địa lý đo bước.
Chi tiết spec
- Kích hoạt
- H04_DASH Bước Phấn (clip dash hit frame 0; lướt 80 px / 9 tick, i-frame 12 tick): t = 0 = bắt đầu lướt. Viền phấn sống 0.3 s (chỉ hình). H04_RS2 bậc 2: mỗi quái lướt xuyên qua (≤ 2) phát hàng 1 (chấm mực tại thân quái, +1 Mực). Đi cùng VFX_SHARED_dash_afterimage.
- Canvas
- 112×48 gốc 96/30
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DUST, count 8, speed 20, life_s 0.3, hex #daffe8, gravity 0, shadow có
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-dash-chalk.js (recolor bladewake/dust-dash opts {dist:80}, ramp → PAL_HERO_H04; thêm vạch phấn mới dọc quãng lướt)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-dash-chalk), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vệt phấn 2 vạch song song 1 px #daffe8 trên sàn, cách 6 px, bắt đầu từ chân. |
| 0.033 | Vệt kéo dài theo hero tới 80 px (runtime dời sheet theo pivot cũ); viền phấn 1 px quanh silhouette hero 3 bản cách 26 px, α 0.6. |
| 0.15 | Bụi phấn DUST 8 hạt bay chậm; viền silhouette nhạt #66ffa5. |
| 0.3 | Rỗng. |
H04_HEAVY_SWAP Đổi Thế (giữ Đánh 15 tick; clip stance_swap hit frame …
Glint ở khớp compa khi đổi thế: chữ V khép thành vạch hoặc ngược lại, báo thế mới trong 0.27 s.
Chi tiết spec
- Kích hoạt
- H04_HEAVY_SWAP Đổi Thế (giữ Đánh 15 tick; clip stance_swap hit frame 2; startup 4 tick, active 1): t = 0 = tick đổi. Hàng 0 Tách→Ghép (2 chân khép), hàng 1 Ghép→Tách (2 chân bung V). Cũng phát khi H04_RS1 bậc 2 tự đổi thế sau A5/B3, khi H04_SK06 đổi thế tức thì và cuối H04_SK07.
- Canvas
- 32×32 gốc 16/24
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.267
- Easing
- curve outQuart, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-stance-swap.js (mượn effects/sparkle.js flare)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-stance-swap), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: glint 4 cánh 7×7 #ffffff tại khớp đinh tán compa. |
| 0.033 | Hàng 0: 2 vạch 1 px #a3ffc5 từ 2 mũi chạy vào nhau thành 1 vạch 12 px; hàng 1: 1 vạch tách thành chữ V 60°. |
| 0.133 | Vòng nhỏ r5 #30f089 quanh khớp loé rồi tắt. |
| 0.267 | Rỗng. |
Quái S chết bởi đòn 's_cut' (H04_INK_LINE, H04_SK02_LINE nhịp nào để …
Quái thường bị Kẻ Mực cắt: tách 2 nửa theo hướng đường, viền mực lục ở vết cắt, tan tro; L1 trở lên quá 12/frame thì về chết thường.
Chi tiết spec
- Kích hoạt
- Quái S chết bởi đòn 's_cut' (H04_INK_LINE, H04_SK02_LINE nhịp nào để ≤ 40% HP (hạng III 50%), H04_UL1_LINES, H04_UL3_AUTOLINE, H04_E35, H04_EVO1): t = 0 = tick chết; góc cắt = hướng đường mực (runtime). Thay VFX chết thường của quái S đó.
- Canvas
- 48×48 gốc 24/36
- 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 6, speed 70, life_s 0.3, hex #0e472e, gravity 950, shadow có/kind DUST, count 4, speed 30, life_s 0.3, hex #1a6b44, gravity −40, shadow không
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-ink-cut-half.js (mask + hạt; mượn bladewake/death-ash.js tro) + shader SpriteSplit
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ink-cut-half), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: vạch cắt 1 px #ffffff xuyên sprite quái theo góc đường mực. |
| 0.033 | Runtime cắt frame cuối của sprite quái thành 2 nửa bằng mask theo góc; mỗi nửa trượt 6 px vuông góc đường cắt (outQuart), nửa trên rơi h 4 → 0. |
| 0.1 | Mép cắt mỗi nửa viền 1 px #30f089; 6 FLAKE mực văng từ vết cắt. |
| 0.25 | 2 nửa tan thành tro (dither 50%) + 4 DUST xám-lục #1a6b44. |
| 0.4 | Rỗng; không phát VFX chết chung (tránh đôi). |
Hàng 0: H04_DASH_ATTACK Vạch Phấn Lướt (clip dash_attack hit frame 2;…
Vạch phấn kéo bằng 1 chân compa dọc hướng lướt; biến thể mực tối trong Thước Trời.
Chi tiết spec
- Kích hoạt
- Hàng 0: H04_DASH_ATTACK Vạch Phấn Lướt (clip dash_attack hit frame 2; startup 4 tick, active 4 tick, LINE p0 −16 → p1 80, w 28). Hàng 1: H04_E10 Lướt xuyên quái vạch 80 × 12 (1.6–2.6 coef). Hàng 2: H04_E40 trong Thước Trời mỗi Lướt kẻ mực 80 × 16 (3.0 coef). t = 0 = tick chạm.
- Canvas
- 128×48 gốc 24/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0.045
- Hạt
- kind SPARK, count 8, speed 150, life_s 0.15, hex #a3ffc5, gravity 950, shadow không/kind DUST, count 6, speed 20, life_s 0.3, hex #daffe8, gravity 0, shadow có
- Hitbox
- shape line L96 W28, match Hàng 0: dải sàn đúng −16 → 80 × 28 (màn e 96×14, n/s 48×28) phủ 100%, bụi vượt ≤ 4 px. Hàng 1 80×12, hàng 2 80×16 phủ 100%., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-dash-attack-line.js (mượn bladewake/dust-dash.js + p.floorLine)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-dash-attack-line), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L96 W28' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: chân compa cào vạch sàn từ x −16 tới x 80, lõi #ffffff; hàng 0 rộng 28 px (màn e 14), hàng 1 12, hàng 2 16 (mực tối). |
| 0.033 | Vạch thành phấn #daffe8 viền #30f089 (hàng 2: thân mực #0e472e viền #30f089); 8 SPARK bật tại mũi chân compa. |
| 0.15 | Vạch dither 50%, bụi phấn DUST. |
| 0.333 | Rỗng. |
H04_ANSWER_SPLIT Cắt Đôi Đạn: đạn vàng bị ĐÁP tại mép đường 64 px → 2…
Đạn bị cắt đôi thành 2 nửa trăng lục bay chéo ±25° — đạn của hero, lõi trắng, khác hẳn đạn địch.
Chi tiết spec
- Kích hoạt
- H04_ANSWER_SPLIT Cắt Đôi Đạn: đạn vàng bị ĐÁP tại mép đường 64 px → 2 nửa bay ±25°, tốc 260 px/s, tầm 300 px, xuyên 1, không bẻ hướng. t = 0 = frame cắt; hàng 0 chớp tách (4 frame), hàng 1 nửa đạn bay (loop 4 frame) tới hết tầm hoặc chạm 2 kẻ.
- Canvas
- 16×12 gốc 8/6
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.533
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape proj r4, match Lõi nửa đạn r2 → va proj r4 (lõi + 2, doc 31 §7); tốc màn theo θ: e/w 260, n/s 130 (không bù). Kiểm 3 hướng e/se/s., wave none
- Nguồn
- new src/fx/heroes/h04-fx-proj-split.js (recolor bladewake/orb opts {reflected:true} = bw-fx orb_reflected, ramp → PAL_HERO_H04; opt mới half:true = cắt đôi quả cầu)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-proj-split), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'proj r4' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: đạn địch đổi sang ramp hero ngay frame này (INV-01a): vạch cắt 1 px #ffffff ngang lõi, 2 nửa bung ±25°. |
| 0.067 | Hàng 1 loop: nửa đạn hình bán nguyệt lõi 4×3 #fff6f0 viền #30f089, đuôi 6 px #24b46e; cao h 18, bóng sàn elip 4×2 #0a0810 α 0.45 ở h 0. |
| 0.267 | Loop lặp 4 frame (15 fps) — đuôi lắc ±1 px. |
| 0.533 | Hết tầm 300 px: tắt bằng 1 frame loé 5×5 rồi rỗng. |
H04_SK02_LINE Dây Mực Bật (clip sk02 hit 6, 12; tiêu 2 Mực): tick 12 …
Dây Mực Bật: căng sợi dây mực 240 px rồi búng đập xuống đất như thợ kẻ mực, cắt đôi quái yếu.
Chi tiết spec
- Kích hoạt
- H04_SK02_LINE Dây Mực Bật (clip sk02 hit 6, 12; tiêu 2 Mực): tick 12 căng dây 240 × 20 (nhịp 1), tick 24 búng (nhịp 2). t = 0 = tick 12. H04_E36: bật lần 2 sau 0.3 s lệch 30° (phát lại sheet, góc +30°). Quái S ≤ 40% HP (III 50%) đứt đôi → VFX_H04_ink_cut_half.
- Canvas
- 272×56 gốc 16/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.2/1
- Easing
- curve outExpo, freeze_s 0.05
- Hạt
- kind FLAKE, count 20, speed 60, life_s 0.4, hex #0e472e, gravity 950, shadow có
- Hitbox
- shape line L240 W20, match Shader vẽ đúng chữ nhật L × W (0 px lệch) ở cả 2 nhịp; hạng II/III len 270 (tham số). E36 góc +30° cùng L × W., wave procedural
- Nguồn
- new src/fx/heroes/h04-fx-sk02-snapline.js (nắp + hạt; mượn lightning/chain-bolt.js dây) + shader FloorEllipse {shape:line}
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk02-snapline), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L240 W20' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nhịp 1: hero kéo sợi dây mực từ khớp compa tới mũi xa 240 px, dây căng ở h 4 rộng 2 px #66ffa5, bóng 1 px; frame trắng toàn dây. |
| 0.1 | Dây rung sóng sin biên độ 3 → 1 px, 4 bụng, nắp xa chấm 5×5 #a3ffc5. |
| 0.2 | Nhịp 2 búng: dây đập xuống sàn — dải L × W lõi #fff6f0 1 frame rồi thân mực #0e472e viền #30f089; 20 FLAKE văng. |
| 0.5 | Vệt mực dither 50%. |
| 1 | Rỗng. |
H04_SK03_CONE Khoá Lưỡi (clip sk03 hit 5, 8; 2 nhịp bập mở-khép cách …
Khoá Lưỡi: 2 lưỡi compa bập mở-khép trong nón 90°, mỗi nhịp mọc tinh thể lục, khoá vũ khí kẻ trúng.
Chi tiết spec
- Kích hoạt
- H04_SK03_CONE Khoá Lưỡi (clip sk03 hit 5, 8; 2 nhịp bập mở-khép cách 6 tick, hạng III 3 nhịp): t = 0 = nhịp 1. Mỗi nhịp +1 lớp STS_FROST (glyph VFX_SHARED_sts_frost), kết áp STS_DISARM (VFX_SHARED_sts_disarm). H04_EVO3 Khoá Băng Trăm Lưỡi: phát 4 bản xoay 0/90/180/270° thành vòng 360° r96.
- Canvas
- 112×96 gốc 16/48
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.6
- Easing
- curve outQuart, freeze_s 0.05
- Hạt
- kind FLAKE, count 10, speed 50, life_s 0.3, hex #a3ffc5, gravity 600, shadow có
- Hitbox
- shape sector r80 a90, match Quạt sàn đúng elip r80 90° (160×80, mép (57, ±28)) phủ 100%; tinh thể vượt ≤ 6 px. II/III r88 a100 (--opts, bậc 1.0 × 1.1). EVO3 4 bản xoay phủ vòng r96 (--opts radius 96)., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-sk03-lockcone.js (mượn ice/frost-breath.js quạt + effects/crystal)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk03-lockcone), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'sector r80 a90' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nhịp 1: 2 lưỡi bung ra mép ±45° rồi khép về 0° trong 3 frame, vệt quạt r80 90° #a3ffc5; frame trắng mép. |
| 0.1 | Nhịp 2 (6 tick sau): lặp; mỗi lần khép mọc 5 tinh thể lục 3×5 #66ffa5 trong quạt (hình FROST = tinh thể). |
| 0.2 | Hạng III nhịp 3: lặp lần nữa; tinh thể đông thành vỏ 1 px #daffe8 quanh quạt. |
| 0.6 | Tinh thể vỡ FLAKE, rỗng. |
H04_SK04_PLANT Cắm Mốc Địa (giữ ≤ 1.0 s chọn điểm 48–200 px, mặc định…
Cắm Mốc Địa: phóng 1 chân compa cắm xuống đất thành cọc Mốc phát sáng, trói kẻ quanh điểm cắm r48.
Chi tiết spec
- Kích hoạt
- H04_SK04_PLANT Cắm Mốc Địa (giữ ≤ 1.0 s chọn điểm 48–200 px, mặc định 120; clip sk04 hit 5): t = 0 = chân compa cắm đất (CIRCLE r48, STS_BIND → VFX_SHARED_sts_bind). Frame 0–11 cắm, 12–19 loop Mốc (8 s; II/III 10 s), 20–25 tắt. Dùng lại: H04_AS2_FIN (Mốc 3 s), H04_E12 Bước Đo Đất (Mốc phấn 4 s ở điểm xuất phát Lướt, chỉ loop + tắt, không hitbox). Hạng III: 2 Mốc cùng lúc (2 instance).
- Canvas
- 112×88 gốc 56/64
- Pha (s)
- antic −0.1/0 · impact 0/0.05 · dissipate 0.4/0.867
- Easing
- curve outQuart, freeze_s 0.04
- Hạt
- kind GRIT, count 8, speed 90, life_s 0.3, hex #1a6b44, gravity 950, shadow có/kind STAR, count 2, speed 0, life_s 0.27, hex #daffe8, gravity 0, shadow không
- Hitbox
- shape circle r48, match Đĩa cắm đúng elip 96×48 phủ 100% lúc t 0, GRIT vượt ≤ 4 px; tâm = điểm đặt (48–200 px, đo trên 3 cự ly 48/120/200)., wave none
- Nguồn
- new src/fx/heroes/h04-fx-sk04-beacon.js (mượn _lib.js slam nhỏ + projectiles/lob.js vòng cầu)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk04-beacon), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'circle r48' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Chân compa bay vòng cầu h(t) = 4·24·u(1−u) từ tay tới điểm đặt, bóng elip 6×3 chạy dưới. |
| 0 | Cắm: frame trắng; đĩa sàn r48 (elip 96×48) loé #66ffa5 fill α 0.5 → 0 trong 4 frame; vành 2 px #30f089; 8 GRIT đất văng. |
| 0.133 | Cọc Mốc đứng: chân compa cao 26 px, đỉnh khớp tròn 4×4 #a3ffc5, chân cọc elip phấn r8 #daffe8. |
| 0.4 | Loop frame 12–19 (@30, lặp tới hết Mốc): đỉnh khớp nhấp 1 bậc, 2 hạt STAR quay quanh khớp. |
| 0.667 | Tắt: cọc chìm xuống sàn 26 → 0 px trong 6 frame, elip phấn tan. |
| 0.867 | Rỗng. |
H04_SK04_STRING Dây Phấn Mốc (bắt đầu tick 14 sau cắm; tồn 4 s, II/II…
Dây phấn căng giữa Mốc và Sậu: quái thường chạm dây khựng, đạn vàng bay qua chậm lại.
Chi tiết spec
- Kích hoạt
- H04_SK04_STRING Dây Phấn Mốc (bắt đầu tick 14 sau cắm; tồn 4 s, II/III 5 s; LINE Mốc ↔ hero, dài ≤ 200 px, w 12): t = 0 = dây xuất hiện. Đứt sớm khi hero đi xa hơn 200 px (frame tắt). Hạng III: tam giác Mốc 1 ↔ Mốc 2 ↔ hero (3 đoạn). H04_E33: Kẻ Mực từ Mốc kẻ thêm đường Mốc → hero (dùng VFX_H04_ink_line).
- Canvas
- 232×40 gốc 16/20
- Pha (s)
- antic 0/0.083 · impact 0.083/0.167 · dissipate 0.167/0.667
- Easing
- curve linear, freeze_s 0
- Hạt
- kind MOTE, count 10, speed 30, life_s 0.6, hex #daffe8, gravity 0, shadow không
- Hitbox
- shape line L200 W12, match Shader vẽ đúng chữ nhật dài = khoảng cách thật × 12 (0 px lệch); đứt ngay khi > 200 px. Hạng III 3 đoạn cùng W 12., wave procedural
- Nguồn
- new src/fx/heroes/h04-fx-sk04-string.js (nút dây + hạt; mượn lightning/chain-bolt.js) + shader FloorEllipse {shape:line}
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk04-string), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L200 W12' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Dây phấn 2 px #daffe8 viền 1 px #30f089 trải từ Mốc tới chân hero, cao h 3 (võng 2 px giữa), bóng 1 px. |
| 0.083 | Loop 8 frame @12: hạt phấn chạy dọc dây 2 hạt/40 px; dây rung ±1 px. |
| 0.333 | Quái S chạm dây: đoạn 16 px quanh điểm chạm loé #ffffff 2 frame (runtime) + glyph VFX_SHARED_sts_stun; đạn vàng qua dây: vệt chậm #66ffa5. |
| 0.667 | Hết giờ hoặc đứt: dây đứt ở giữa, 2 nửa co về 2 đầu trong 4 frame, rỗng. |
Chấm mực (mark) trên mục tiêu: H04_SK05_STAB mỗi đâm trúng +1 (trần 5…
Chấm huyệt mực lục xếp vòng quanh ngực kẻ địch, đếm được bằng mắt tới 7 chấm.
Chi tiết spec
- Kích hoạt
- Chấm mực (mark) trên mục tiêu: H04_SK05_STAB mỗi đâm trúng +1 (trần 5, tồn 6 s), H04_UL2_STABS 7 chấm, H04_E06 Ghép trúng (trần 3), H04_E17 Khoá Lưỡi trúng (1 chấm, 6–10 s), H04_E22 Phản trúng (2 chấm). t = 0 = chấm đặt; frame 0–3 đặt, 4–11 loop @30 tới hết thời gian; số chấm vẽ theo đếm (1–7).
- Canvas
- 24×16 gốc 12/8
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.133/0.4
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-ink-dot.js (mượn effects/mark-glyph.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ink-dot), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Chấm mới: giọt 3×3 #30f089 lõi #fff6f0 rơi vào vị trí trên vòng elip 20×8 quanh ngực mục tiêu, frame trắng. |
| 0.033 | Chấm ổn định 3×3 #30f089 viền 1 px #0e472e (đọc trên mọi nền). |
| 0.133 | Loop: các chấm nhấp lần lượt 1 bậc sáng #daffe8, chu kỳ 8 frame. |
| 0.4 | Hết hạn: chấm mờ 2 frame rồi mất (frame tắt dùng hàng loop α 0.5). |
Hàng 0: H04_SK05_BURST — Kẻ Mực / Kim Chỉ Nam / Dây Mực Bật (hạng III…
Chấm huyệt nổ: mỗi chấm bật tia 4 cánh trắng, bản lan nở vành mực lục r56–64.
Chi tiết spec
- Kích hoạt
- Hàng 0: H04_SK05_BURST — Kẻ Mực / Kim Chỉ Nam / Dây Mực Bật (hạng III) trúng mục tiêu mang chấm: mỗi chấm nổ 2.2 coef (II 2.6), CIRCLE r16, xoá chấm; E06 B3 nổ chấm 1.5× r24. Hàng 1: H04_E27 kẻ mang chấm chết → nổ r56; H04_RS4 bậc 2 Phản trúng → nổ r64 quanh mũi kim (bậc 1.0 × 1.143). t = 0 = tick nổ.
- Canvas
- 128×80 gốc 64/48
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outExpo, freeze_s 0.05
- Hạt
- kind FLAKE, count 12, speed 110, life_s 0.3, hex #0e472e, gravity 950, shadow có
- Hitbox
- shape circle r16, match Hàng 0 đĩa đúng elip 32×16 phủ 100%; hàng 1 vành tới r56 (112×56) tại 0.1 s phủ 100% (reach), RS4 r64 = scale 1.143; FLAKE vượt ≤ 6 px., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-ink-dot-burst.js (mượn bladewake/orb-burst.js + _lib.js slam vành)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ink-dot-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'circle r16' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: mỗi chấm thành tia nổ 4 cánh 7×7 #ffffff (hàng 0 r16: đĩa sàn elip 32×16 #66ffa5 fill 60%). |
| 0.033 | Hàng 1: vòng mực lan từ tâm tới r56 trong 3 frame, vành 3 px #30f089, thân #0e472e α 0.5; 12 FLAKE văng. |
| 0.133 | Vành nguội #1a6b44 dither; tia nổ còn chấm 1 px. |
| 0.333 | Rỗng. |
H04_SK06_STRIKE Bổ Thước (clip sk06 hit 4; startup 8 tick, active 4 t…
Bổ Thước: đập compa khép xuống như thước sắt, để dải sáng có vạch khắc trên sàn, rồi vòng phấn r72 bật ngay.
Chi tiết spec
- Kích hoạt
- H04_SK06_STRIKE Bổ Thước (clip sk06 hit 4; startup 8 tick, active 4 tick, LINE 80 × 16, coef 9.5/11.0, ≤ 3 mục tiêu, hitstop 0.07): t = 0 = tick bổ. Đổi thế tức thì (kèm VFX_H04_stance_swap) rồi bật VFX_H04_hold_ring r72 (vẽ tức thì) 3 s (II/III 4 s).
- Canvas
- 112×64 gốc 16/40
- Pha (s)
- antic −0.133/0 · impact 0/0.05 · dissipate 0.05/0.5
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind GRIT, count 10, speed 120, life_s 0.3, hex #1a6b44, gravity 950, shadow có
- Hitbox
- shape line L80 W16, match Dải sàn đúng 80×16 (màn e 80×8, n/s 40×16) phủ 100%, sóng nén vượt ≤ 6 px (M)., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-sk06-ruler.js (mượn _lib.js slam + bladewake/slam-crimson.js recolor dải)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk06-ruler), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L80 W16' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.133 | Antic: compa khép giơ cao h 40 như cây thước sắt, đỉnh loé glint 5×5. |
| 0 | Frame trắng: compa đập phẳng xuống sàn thành dải 80 × 16 (màn e 80×8) lõi #ffffff, 2 vạch thước khắc 1 px mỗi 8 px. |
| 0.033 | Dải #a3ffc5 viền #30f089; sóng nén 2 bên dải lan 6 px; 10 GRIT + p.floorGlow r24 tại x 60. |
| 0.2 | Vạch khắc thước nguội #24b46e, dải dither. |
| 0.5 | Rỗng. |
H04_SK07_STRIDE Sải Compa (clip sk07; startup 4 tick, active 14 tick;…
Sải Compa: cắm chân trụ, xoay người nửa vòng 120 px để lại nửa vòng phấn trên đất, đáp xuống đổi thế.
Chi tiết spec
- Kích hoạt
- H04_SK07_STRIDE Sải Compa (clip sk07; startup 4 tick, active 14 tick; cắm chân trước, xoay thân 180° quanh nó, dịch 120 px; không i-frame): t = 0 = bắt đầu xoay; kết bằng VFX_H04_clamp_pinch tại đích (tick 22) và VFX_H04_stance_swap. Hạng III 2 lượt (zíc-zắc, lượt 2 lật gương). H04_EVO2 Bước Kim: cuối mỗi lượt + VFX_H04_counter_needle scale 0.7.
- Canvas
- 144×64 gốc 12/40
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind DUST, count 8, speed 20, life_s 0.3, hex #daffe8, gravity 0, shadow có
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-sk07-stride.js (mượn p.floorArc + bladewake/dust-dash.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk07-stride), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Chân trụ cắm tại (60, 0) loé 5×5 #a3ffc5 + elip phấn r6. |
| 0.033 | Vạch phấn nửa vòng bán kính 60 (elip 120×60, nửa phía phải hướng đi) vẽ theo mũi chân đang xoay trong 7 frame (= 14 tick), đầu bút #ffffff. |
| 0.233 | Tới đích (120, 0): vạch khép, đuôi phấn DUST; hero xuất hiện ở đích. |
| 0.4 | Rỗng. |
H04_SK08_CAST Đối Xứng Địa Lý (clip sk08 hit 3; +2 Mực ngay): t = 0 =…
Đối Xứng Địa Lý: vạch trục đối xứng qua chân; 6 s mọi nhát combo có bản mờ đối xứng sau lưng.
Chi tiết spec
- Kích hoạt
- H04_SK08_CAST Đối Xứng Địa Lý (clip sk08 hit 3; +2 Mực ngay): t = 0 = tick vẽ trục; frame 0–8 vẽ trục, 9–16 loop trạng thái 6 s (II/III 7 s). H04_SK08_MIRROR: mọi COMBO_A/B, DASH_ATTACK sinh bản đối xứng qua tâm hero cùng tick — runtime phát lại chính sheet gốc (vd VFX_H04_tach_slash) lật qua tâm, ramp PAL_GHOST α 0.7, không lõi trắng; hạng III 2 bản ±90°. H04_E05 cú kết A5/B3 bản sau lưng 60–96%; H04_E30 Kẻ Mực và Phản cũng có bản gương 70%.
- Canvas
- 96×48 gốc 48/24
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.3/0.567
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-sk08-mirror.js (trục + loop) + runtime MirrorFX tái dùng sheet gốc
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk08-mirror), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Compa xoay vạch trục đối xứng: đường phấn 1 px dài 80 px qua chân, vuông góc hướng ngắm, frame trắng. |
| 0.033 | 2 mũi tên nhỏ 3 px ở 2 đầu trục chỉ 2 phía; vòng chân r14 viền kép #66ffa5. |
| 0.3 | Loop frame 9–16: trục mờ α 0.4, 2 chấm gương 2×2 đối xứng quanh chân quay chậm — báo trạng thái gương. |
| 0.567 | Hết 6 s: trục tan 3 frame (dùng frame loop α giảm runtime). |
H04_UL3_AUTOLINE Đường Mực Trời: trong dạng Thước Trời, mỗi cú kết (A…
Đường mực tự kẻ sau mỗi cú kết trong Thước Trời: 160 px, cắt đôi quái thường.
Chi tiết spec
- Kích hoạt
- H04_UL3_AUTOLINE Đường Mực Trời: trong dạng Thước Trời, mỗi cú kết (A5/B3/AS2_FIN/AS3_FIN) tự bật đường mực 160 × 32 theo hướng đánh, không tốn Mực, active 4 tick. t = 0 = tick chạm của cú kết.
- Canvas
- 192×56 gốc 16/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.5
- Easing
- curve outExpo, freeze_s 0.05
- Hạt
- kind FLAKE, count 12, speed 60, life_s 0.4, hex #0e472e, gravity 950, shadow có
- Hitbox
- shape line L160 W32, match Shader vẽ đúng chữ nhật 160×32 (0 px); nắp vượt đầu ≤ 4 px., wave procedural
- Nguồn
- new src/fx/heroes/h04-fx-ul3-ink-auto.js (nắp + hạt) + shader FloorEllipse {shape:line}
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ul3-ink-auto), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L160 W32' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: dải 160 × 32 (màn e 160×16) lõi #fff6f0, bật cùng tick chạm. |
| 0.033 | Thân mực #0e472e viền 2 px #30f089, gân giữa #a3ffc5; nắp xa chấm 5×5; 12 FLAKE. |
| 0.25 | Viền tắt từ đầu xa về chân; thân dither 50%. |
| 0.5 | Rỗng. |
H04_AS2_FIN Đâm Cắm Mốc (Dạng Rèn H04_AS2 Compa Đồng Chân Dài thay B3…
Đâm Cắm Mốc: mũi compa đồng đâm 100 px rồi để lại 1 chân cắm làm Mốc 3 s.
Chi tiết spec
- Kích hoạt
- H04_AS2_FIN Đâm Cắm Mốc (Dạng Rèn H04_AS2 Compa Đồng Chân Dài thay B3; clip as2_fin hit 6; startup 12 tick, active 4, LINE 100 × 16, bước 16): t = 0 = tick chạm; xong đâm để chân đồng cắm lại làm Mốc 3 s (VFX_H04_SK04_beacon chỉ loop + tắt). Trong Thước Trời kèm VFX_H04_UL3_ink_auto.
- Canvas
- 144×48 gốc 16/30
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.467
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind STREAK, count 6, speed 260, life_s 0.15, hex #a3ffc5, gravity 0, shadow không
- Hitbox
- shape line L100 W16, match Vạch 100 px sàn (màn e 100, n/s 50), dải 100×16 phủ ≥ 90%, mũi vượt ≤ 4 px; cọc cắm đúng x 100 ± 2., wave reach
- Nguồn
- recolor heroes/h04-fx-ghep-fin --opts {palette:PAL_HERO_H04, len:100, stake:true} (Dạng Rèn hue −3 qua --opts palette của aspect)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-as2-fin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L100 W16' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: vạch kim 100 px dày 3 px ở h 18, mũi dài 8 px. |
| 0.033 | Mũi loé 7×7; chân đồng tách khỏi compa rơi cắm tại x 100 (cọc 20 px), elip sàn r8 #66ffa5. |
| 0.167 | Vạch nguội #24b46e; 6 STREAK. |
| 0.467 | Rỗng (cọc chuyển sang VFX_H04_SK04_beacon). |
H04_AS3_FIN Tung Khớp Gãy (Dạng Rèn H04_AS3 Compa Gãy Khớp, nhát A6; …
Tung Khớp Gãy: 2 chân compa lỏng khớp bay quay quanh Sậu 1 vòng r72 rồi về tay.
Chi tiết spec
- Kích hoạt
- H04_AS3_FIN Tung Khớp Gãy (Dạng Rèn H04_AS3 Compa Gãy Khớp, nhát A6; clip as3_fin hit 5; startup 10 tick, active 8 tick, CIRCLE r72): t = 0 = tick chạm; 2 chân lỏng khớp bay quay vòng quanh thân 1 vòng trong 8 tick rồi về tay.
- Canvas
- 160×96 gốc 80/56
- Pha (s)
- antic 0/0 · impact 0/0.133 · dissipate 0.133/0.5
- Easing
- curve outQuart, freeze_s 0.07
- Hạt
- kind SPARK, count 10, speed 150, life_s 0.2, hex #a3ffc5, gravity 950, shadow không
- Hitbox
- shape circle r72, match Vệt quay chạy đúng vành elip 144×72 (mép ngoài r74 ≤ +2), sóng quét phủ đĩa trong 4 frame (reach theo góc)., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-as3-fin.js (mượn moves/spin-slash.js + WEAPONS.divider_loose_short)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-as3-fin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'circle r72' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: 2 chân compa đối diện nhau trên vành r72 (elip 144×72) ở h 10, vệt quay #a3ffc5 dày 5 px. |
| 0.033 | 2 chân quay 360° trong 4 frame (= active 8 tick = 0.133 s), mỗi chân kéo vệt cung 90° nối đuôi. |
| 0.133 | Chân về tay; vành nguội #24b46e dither; 10 SPARK tiếp tuyến. |
| 0.5 | Rỗng. |
Then Chốt H04_E37 Khép Compa Kẻ Mực: ĐÁP thành công khi Mực ≥ 3 → tiê…
Then Chốt Khép Compa Kẻ Mực: hoa la bàn 8 cánh bật ở khớp compa, 3 giọt Mực rút vào mũi rồi đường mực tự búng.
Chi tiết spec
- Kích hoạt
- Then Chốt H04_E37 Khép Compa Kẻ Mực: ĐÁP thành công khi Mực ≥ 3 → tiêu 3 Mực, tự Kẻ Mực 320 px 80% (VFX_H04_ink_line), kẻ sống sót trên đường dính STS_DISARM 1.5 s. t = 0 = tick ĐÁP (cùng VFX_H04_answer_close).
- Canvas
- 64×48 gốc 32/34
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind FLAKE, count 6, speed 50, life_s 0.3, hex #0e472e, gravity 950, shadow có
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-e37-lp.js (khuôn tpl_linchpin_burst: chớp Then Chốt + ký hiệu riêng; mượn effects/sparkle.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-e37-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: hoa la bàn 8 cánh 15×15 #ffffff tại khớp compa (h 20) — dấu Then Chốt. |
| 0.033 | 3 giọt mực #30f089 rút từ 3 ô Mực (bay từ socket:overhead xuống) vào mũi compa trong 3 frame; vòng chân r20 (elip 40×20) loé #66ffa5 2 px. |
| 0.133 | Hoa la bàn xoay 45° co về 5×5, nhỏ giọt FLAKE xuống điểm đầu đường mực. |
| 0.4 | Rỗng. |
Then Chốt H04_E38 Kim Ghép Liền Mạch: Phản trúng → chuyển thế Ghép; 3…
Then Chốt Kim Ghép Liền Mạch: 3 kim la bàn quay quanh chân, mỗi cú Ghép tiêu 1 kim để vọng 1 nhịp Phản.
Chi tiết spec
- Kích hoạt
- Then Chốt H04_E38 Kim Ghép Liền Mạch: Phản trúng → chuyển thế Ghép; 3 cú Ghép kế (trong 3 s) mỗi cú vọng 1 nhịp Phản 40% (VFX_H04_counter_needle hàng vọng). t = 0 = tick Phản trúng; frame 0–5 nạp 3 kim, 6–13 loop (3 kim quay quanh chân tới khi dùng hết hoặc hết 3 s); mỗi cú Ghép tắt 1 kim (runtime ẩn 1 kim + chớp 2 frame).
- Canvas
- 32×24 gốc 16/14
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.2/0.467
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-e38-lp.js (khuôn tpl_linchpin_burst: chớp Then Chốt + ký hiệu riêng; mượn effects/sparkle.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-e38-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: 3 kim thoi 3×5 #ffffff bật ra từ chân, xếp đều 120° trên elip r14 (28×14). |
| 0.033 | Kim thành #a3ffc5 lõi #fff6f0, viền 1 px #0e472e; hoa la bàn 8 cánh 9×9 loé 1 lần tại chân (dấu Then Chốt). |
| 0.2 | Loop: 3 kim quay quanh chân 1 vòng / 8 frame, đầu kim luôn chỉ hướng ngắm. |
| 0.467 | Hết 3 s: kim còn lại tắt 2 frame. |
Then Chốt H04_E39 Nét Liền Không Nhấc Bút: Kẻ Mực hoàn 2 Mực; cú kết …
Then Chốt Nét Liền: Mực hoàn về mũi compa, dải nét mực lượn theo mũi báo cú kết kế sẽ tự kẻ mực.
Chi tiết spec
- Kích hoạt
- Then Chốt H04_E39 Nét Liền Không Nhấc Bút: Kẻ Mực hoàn 2 Mực; cú kết kế trong 3 s tự kẻ mực 240 px 60% (VFX_H04_ink_line). t = 0 = tick Kẻ Mực búng xong; frame 0–5 hoàn Mực, 6–13 loop dải 'nét liền' ở mũi compa tới khi cú kết kế dùng hoặc hết 3 s.
- Canvas
- 32×32 gốc 16/24
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.2/0.467
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-e39-lp.js (khuôn tpl_linchpin_burst: chớp Then Chốt + ký hiệu riêng; mượn effects/sparkle.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-e39-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: hoa la bàn 8 cánh 9×9 tại mũi compa (dấu Then Chốt); 2 giọt mực #30f089 bay từ cuối đường về mũi (runtime điểm đầu). |
| 0.033 | Giọt nhập mũi compa; mũi kéo theo dải mực 1 px dài 12 px #66ffa5 uốn lượn như nét bút chưa nhấc. |
| 0.2 | Loop: dải nét liền lượn sóng 2 px theo mũi, chu kỳ 8 frame; vòng chân r14 có cung đếm ngược 3 s (runtime cắt cung theo thời gian). |
| 0.467 | Dùng hoặc hết giờ: dải đứt 2 frame, rỗng. |
Then Chốt H04_E40 Bước Trên Kinh Tuyến: Né Hoàn Hảo +12 Dư Âm; trong …
Then Chốt Bước Trên Kinh Tuyến: Né Hoàn Hảo nở sao 6 tia dưới chân và 1 chấm Dư Âm bay lên đầu.
Chi tiết spec
- Kích hoạt
- Then Chốt H04_E40 Bước Trên Kinh Tuyến: Né Hoàn Hảo +12 Dư Âm; trong Thước Trời mỗi Lướt kẻ mực 80 × 16, 3.0 coef (VFX_H04_dash_attack_line hàng 2). t = 0 = tick Né Hoàn Hảo.
- Canvas
- 64×48 gốc 32/30
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind STAR, count 4, speed 40, life_s 0.25, hex #daffe8, gravity 0, shadow không
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-e40-lp.js (khuôn tpl_linchpin_burst: chớp Then Chốt + ký hiệu riêng; mượn effects/sparkle.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-e40-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: sao kinh tuyến 6 tia mảnh 1 px dài 24 px sàn (elip, cách 60°) toả từ chân + hoa la bàn 8 cánh 9×9 ở h 20. |
| 0.033 | Tia #66ffa5 → #30f089; 1 chấm sáng 3×3 #daffe8 bay thẳng lên socket:overhead (Dư Âm +12) trong 4 frame. |
| 0.167 | Tia co về chân, dither. |
| 0.333 | Rỗng. |
Tiến Hoá H04_EVO1 La Bàn Mực (Vẽ Vòng Tròn hoá): t = 0 = tick Tiến Ho…
Tiến Hoá La Bàn Mực: 2 kỹ năng hợp thành chữ thập mực 4 nhánh dưới chân — mỗi lần Vẽ Vòng Tròn sau đó bung 4 đường mực.
Chi tiết spec
- Kích hoạt
- Tiến Hoá H04_EVO1 La Bàn Mực (Vẽ Vòng Tròn hoá): t = 0 = tick Tiến Hoá thành (hàng 0, 1.0 s, 1 lần); hàng 1 mỗi lần cast H04_SK01 sau tiến hoá: dấu 4 nhánh tại chân cắm báo 4 đường mực 200 × 20 (VFX_H04_ink_line ×4) + kéo bầy 40 px.
- Canvas
- 96×80 gốc 48/60
- Pha (s)
- antic −0.333/0 · impact 0/0.067 · dissipate 0.067/0.667
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SPARK, count 12, speed 140, life_s 0.3, hex #a3ffc5, gravity 950, shadow không/kind STAR, count 6, speed 30, life_s 0.5, hex #daffe8, gravity 0, shadow không
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-evo1-fuse.js (khuôn tpl_evo_fuse; nền VFX_SHARED_evolution_forge chạy song song)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-evo1-fuse), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.333 | Hàng 0 (Tiến Hoá thành): VFX_SHARED_evolution_forge bao thân; 2 icon kỹ năng gốc (glyph 8×8) quay quanh hero và ép vào nhau ở h 30. |
| 0 | Frame trắng: glyph la bàn mực 4 nhánh 13×13 #ffffff bật tại h 30. |
| 0.067 | Glyph rơi xuống chân thành chữ thập sàn 4 tia 20 px #30f089 (hàng 1 dùng đúng đoạn này) + vòng r24 #66ffa5. |
| 0.333 | Chữ thập nguội #1a6b44, STAR rơi. |
| 0.667 | Rỗng; hàng 1 (mỗi lần dùng kỹ năng đã tiến hoá) chỉ phát frame 10–19 tại chân. |
Tiến Hoá H04_EVO2 Bước Kim Chỉ Nam (Sải Compa hoá): hàng 0 lúc Tiến H…
Tiến Hoá Bước Kim: kim la bàn xoay chỉ hướng rồi cắm xuống chân — mỗi lượt Sải kết bằng 1 cú Phản Kim Chỉ Nam.
Chi tiết spec
- Kích hoạt
- Tiến Hoá H04_EVO2 Bước Kim Chỉ Nam (Sải Compa hoá): hàng 0 lúc Tiến Hoá thành; hàng 1 cuối mỗi lượt Sải (2 lượt): glint kim tại đích trước VFX_H04_counter_needle scale 0.7 (70%, chí mạng +25%).
- Canvas
- 96×80 gốc 48/60
- Pha (s)
- antic −0.333/0 · impact 0/0.067 · dissipate 0.067/0.667
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SPARK, count 12, speed 140, life_s 0.3, hex #a3ffc5, gravity 950, shadow không/kind STAR, count 6, speed 30, life_s 0.5, hex #daffe8, gravity 0, shadow không
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-evo2-fuse.js (khuôn tpl_evo_fuse; nền VFX_SHARED_evolution_forge chạy song song)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-evo2-fuse), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.333 | Hàng 0 (Tiến Hoá thành): VFX_SHARED_evolution_forge bao thân; 2 icon kỹ năng gốc (glyph 8×8) quay quanh hero và ép vào nhau ở h 30. |
| 0 | Frame trắng: kim la bàn dọc 5×15 #ffffff tại h 30, đầu Bắc nhọn. |
| 0.067 | Kim xoay 1 vòng chỉ về hướng ngắm, rơi xuống chân thành vạch kim sàn 16 px #a3ffc5 (hàng 1 dùng đoạn này). |
| 0.333 | Vạch kim nguội #24b46e, STAR rơi. |
| 0.667 | Rỗng; hàng 1 (mỗi lần dùng kỹ năng đã tiến hoá) chỉ phát frame 10–19 tại chân. |
Tiến Hoá H04_EVO3 Khoá Băng Trăm Lưỡi (Khoá Lưỡi hoá vòng 360° r96, T…
Tiến Hoá Khoá Băng: vòng 8 lưỡi tinh thể quanh Sậu cắm xuống đất — Khoá Lưỡi từ đây khoá cả vòng 360°.
Chi tiết spec
- Kích hoạt
- Tiến Hoá H04_EVO3 Khoá Băng Trăm Lưỡi (Khoá Lưỡi hoá vòng 360° r96, Tước Khí 2.5 s, ≥ 2 lớp Sương Giá → đóng băng): hàng 0 lúc Tiến Hoá thành; hàng 1 mỗi cast H04_SK03: 4 lưỡi tinh thể xoay quanh hero báo 4 bản VFX_H04_SK03_lockcone xoay 0/90/180/270° (kèm VFX_SHARED_sts_frost).
- Canvas
- 96×80 gốc 48/60
- Pha (s)
- antic −0.333/0 · impact 0/0.067 · dissipate 0.067/0.667
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SPARK, count 12, speed 140, life_s 0.3, hex #a3ffc5, gravity 950, shadow không/kind STAR, count 6, speed 30, life_s 0.5, hex #daffe8, gravity 0, shadow không
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-evo3-fuse.js (khuôn tpl_evo_fuse; nền VFX_SHARED_evolution_forge chạy song song)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-evo3-fuse), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.333 | Hàng 0 (Tiến Hoá thành): VFX_SHARED_evolution_forge bao thân; 2 icon kỹ năng gốc (glyph 8×8) quay quanh hero và ép vào nhau ở h 30. |
| 0 | Frame trắng: vòng 8 lưỡi tinh thể 3×7 #ffffff quanh hero ở h 24. |
| 0.067 | Lưỡi tinh thể #66ffa5 xoay 90° rồi cắm xuống elip r24 quanh chân (hàng 1 dùng đoạn này). |
| 0.333 | Tinh thể vỡ FLAKE #daffe8, STAR rơi. |
| 0.667 | Rỗng; hàng 1 (mỗi lần dùng kỹ năng đã tiến hoá) chỉ phát frame 10–19 tại chân. |
SIGNATURE · 14
H04_ANSWER Khép Compa (ĐÁP; cửa sổ 9 tick = 0.15 s, 360°, anim tự xoa…
Khép Compa: 2 chân khép thành 1 vạch trắng 64 px tới kẻ đánh, chớp chữ X ở mũi; phản hồi ĐÁP không bao giờ bị LOD cắt.
Chi tiết spec
- Kích hoạt
- H04_ANSWER Khép Compa (ĐÁP; cửa sổ 9 tick = 0.15 s, 360°, anim tự xoay; hitstop 0.08, trauma 0.25): t = 0 = tick ĐÁP thành công. Hàng 0 cận chiến (STS_DISARM 2.0 s lên kẻ trên đường 64 px), hàng 1 đạn (cắt đôi → VFX_H04_proj_split). Hàng 2 H04_E18: Tước Khí lan r72. Đi cùng VFX_SHARED_answer_flash.
- Canvas
- 96×72 gốc 16/36
- 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 6, speed 160, life_s 0.15, hex #a3ffc5, gravity 950, shadow không
- Hitbox
- shape line L64 W16, match Vạch dài đúng 64 px sàn (màn e 64, n/s 32), dải 64×16 phủ ≥ 90%; chớp X vượt mũi ≤ 4 px. Hàng 2 vòng shader đúng r72 (0 px)., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-answer-close.js (mượn impacts/parry-flash.js chớp + beam)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-answer-close), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L64 W16' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: 2 chân compa khép 'xoẹt' thành vạch 64 px từ chân tới mối đe doạ, lõi #ffffff 3 px ở h 16. |
| 0.033 | Vạch #a3ffc5 lõi #fff6f0; tại x 64 chớp kéo cắt hình chữ X 9×9; hàng 2 E18: vành sàn r72 (elip 144×72 — vẽ phần trong canvas, nửa sau runtime vòng FloorEllipse {shape:ring}) loé #30f089 2 px 2 frame. |
| 0.1 | Vạch tách thành 2 sợi 1 px tản ±3 px rồi tắt; 6 SPARK. |
| 0.3 | Rỗng. |
H04_HOLD Kẻ Vòng (giữ ĐÁP; startup 30 tick = 0.5 s vẽ vòng, active ≤ …
Kẻ Vòng: compa xoay vạch vòng phấn r56 quanh mình trong 0.5 s; kẻ cận chiến vượt vạch bị khựng, đoạn vạch chặn loé trắng.
Chi tiết spec
- Kích hoạt
- H04_HOLD Kẻ Vòng (giữ ĐÁP; startup 30 tick = 0.5 s vẽ vòng, active ≤ 180 tick = 3 s, hồi 1.0 s). t = 0 = bắt đầu vẽ. Frame 0–14 vẽ, 15–22 loop (giữ), 23–28 tắt. H04_SK06 Thế Đứng Thước: 3 s (II/III 4 s) vòng r72 vẽ tức thì (nhảy thẳng frame 15). H04_RS3 bậc 2 / SK06 hạng III: kẻ vượt vạch kèm VFX_SHARED_sts_disarm. Chặn quái: đoạn vành nơi kẻ vượt loé (runtime, 4 frame).
- Canvas
- 128×72 gốc 64/36
- Pha (s)
- antic 0/0.5 · impact 0.5/0.533 · dissipate 0.533/0.967
- Easing
- curve linear, freeze_s 0
- Hạt
- kind STAR, count 3, speed 0, life_s 0.27, hex #daffe8, gravity 0, shadow không/kind DUST, count 10, speed 15, life_s 0.4, hex #a3ffc5, gravity 0, shadow có
- Hitbox
- shape ring r56 w6, match Vành vẽ đúng 2 elip (r ± 3): ngoài 118×59, trong 106×53 (0–1 px); hitbox ring trùng vành. SK06 r72 = bậc s 1.3 × 0.989 (t 1.286). Vạch phấn không có fill để không giống tell P., wave none
- Nguồn
- new src/fx/heroes/h04-fx-hold-ring.js (mượn bladewake/levelup.js vòng chân + p.floorRing)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-hold-ring), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'ring r56 w6' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Chân compa cắm tại hero, chân kia vạch vòng phấn bắt đầu ở hướng ngắm, vẽ 360° trong 15 frame (0.5 s), đầu bút loé 3×3 #ffffff. |
| 0.5 | Vòng khép: frame trắng 1 frame toàn vành, rồi vành phấn r56 dày 6 (màn: 6 px Đông/Tây, 3 px Bắc/Nam) #daffe8 viền ngoài 1 px #30f089. |
| 0.533 | Loop frame 15–22 (giữ ≤ 3 s): hạt phấn lấp lánh 3 điểm chạy quanh vành, vành nhấp ±1 bậc sáng; vạch không chặn vùng tím (không fill). |
| 0.767 | Thả/hết giờ: frame 23–28 vành đứt thành 12 đoạn, dither 50% → 0. |
| 0.967 | Rỗng. |
H04_COMBO_A_1..A_4 (clip attack1..attack4, hit frame 3): t = 0 = tick…
Cung chém mảnh 120° của thế Tách: 2 lưỡi compa xen kẽ trái/phải như kéo, lõi trắng nóng, nguội lục rất nhanh để giữ nhịp 5 nhát. Quyết định 2026-11-07 - quầng sàn (r ≤ 56, trong canvas) của VFX_H04_tach_slash, tach_fin, counter_needle, SK06_ruler, ink_dot_burst là nét pixelfx p.floorGlow / p.floorGlowRing nướng vào sheet (painter.js), KHÔNG phải shader FloorGlow (VFX_SHARED_floor_glow chỉ dùng khi vẽ runtime); bí danh shader line/ring cũ đổi về FloorEllipse {shape:line|ring}.
Chi tiết spec
- Kích hoạt
- H04_COMBO_A_1..A_4 (clip attack1..attack4, hit frame 3): t = 0 = tick chạm (startup 5 tick = 0.083 s, active 4 tick = 0.067 s, recovery 11–12 tick). Hàng 0 A1 lưỡi trái chém phải→trái · hàng 1 A2 lưỡi phải trái→phải · hàng 2 A3 (+ VFX_H04_ink_drop khi trúng) · hàng 3 A4 2 lưỡi chéo hình X. Trong bản gương H04_SK08_MIRROR runtime vẽ lại hàng này lật qua tâm hero (xem VFX_H04_SK08_mirror).
- Canvas
- 112×80 gốc 32/52
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outQuart, freeze_s 0.035
- Hạt
- kind SPARK, count 6, speed 140, life_s 0.18, hex #a3ffc5, gravity 950, shadow không
- Hitbox
- shape sector r48 a120, match Mũi lưỡi = 8 (bước) + R 40 = 48 px từ chân trước bước, đúng biên elip 96×48; mép ±60° tại (24, ±21) màn ±4 px; phủ ≥ 95%, vượt ≤ 4 px (≤ 6 M). AS2 r58 a100, AS3 r44 a140, UL3 a150 xuất --opts radius/arc; đo trên --dirs 8., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-tach-slash.js (mượn heroes/varek-attack1.js swing + _reaver.js bladeArc arcSparks; vũ khí WEAPONS.divider 2 chân lưỡi)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-tach-slash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'sector r48 a120' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: cung 120° bung hết trong 1 frame, mép trước #ffffff dày 2 px, thân cung #a3ffc5 → #30f089, rộng lưỡi W 7 px ở giữa cung, nhọn 1 px ở 2 đầu; nửa xa cung (phía sau thân) vẽ ở drawBack. |
| 0.033 | Mép trước về lõi #fff6f0; 6 SPARK bắn tiếp tuyến từ mũi lưỡi; p.floorGlow r24 #30f089 α 0.35 tại (36, 0). |
| 0.1 | Thân cung nguội #24b46e, đứt thành 3 đoạn dither 50%; hàng 3 (A4): 2 cung ngắn 60° cắt nhau tại (30, 0) thành chữ X. |
| 0.2 | Chỉ còn vệt mảnh 1 px #1a6b44 ở mép ngoài, SPARK rơi chạm sàn tắt. |
| 0.3 | Rỗng. |
H04_COMBO_A_5 Tách Kép (clip attack5, hit frame 5): t = 0 = tick chạm…
Cú kết thế Tách: 2 lưỡi quét vào nhau thành chữ V trắng, chớp tại điểm gặp, để 2 vạch cắt mảnh trên sàn.
Chi tiết spec
- Kích hoạt
- H04_COMBO_A_5 Tách Kép (clip attack5, hit frame 5): t = 0 = tick chạm (startup 9 tick = 0.15 s, active 5 tick = 0.083 s, hitstop 0.07, trauma 0.28). Khi Mực = 5 lúc bấm, move bị thay bằng H04_INK_LINE (không phát FX này).
- Canvas
- 128×88 gốc 30/56
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.4
- Easing
- curve outQuart, freeze_s 0.07
- Hạt
- kind SPARK, count 10, speed 170, life_s 0.22, hex #a3ffc5, gravity 950, shadow không
- Hitbox
- shape sector r52 a120, match Mũi 2 cung = 12 (bước) + R 40 = 52 px, biên elip 104×52; mép ±60° tại (26, ±23) ±4 px; phủ ≥ 95%. UL3 a150 --opts arc 150; đo --dirs 8., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-tach-fin.js (mượn heroes/varek-attack3.js 2 cung + _reaver.js impact)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-tach-fin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'sector r52 a120' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.15 | Ở thân: 2 lưỡi mở chữ V 120° ra sau (thân clip, không FX). |
| 0 | Frame trắng: 2 cung đồng thời, cung trái từ +60° và cung phải từ −60° quét vào giữa, gặp nhau tại (40, 0) thành chữ V sáng #ffffff; W 9 px. |
| 0.033 | Điểm gặp loé chớp 9×9 #fff6f0 + p.floorGlow r32 #30f089 α 0.4; 10 SPARK toả nửa trước. |
| 0.1 | 2 cung nguội #66ffa5 → #24b46e, đứt dither; vết cắt sàn 2 vạch mảnh 1 px #1a6b44 dài 30 px (decal 0.5 s). |
| 0.25 | Còn tàn SPARK và 2 vạch sàn mờ. |
| 0.4 | Rỗng. |
H04_COMBO_B_1 / B_2 (clip attack_b1/b2, hit frame 4; startup 8 tick =…
Mũi compa khép đâm thẳng như kim: 1 vạch trắng-lục dài 80 px, smear lùi về chân, gọn và nhanh.
Chi tiết spec
- Kích hoạt
- H04_COMBO_B_1 / B_2 (clip attack_b1/b2, hit frame 4; startup 8 tick = 0.133 s, active 3 tick = 0.05 s) và H04_SK05_STAB (4 đâm cách 6 tick, hạng III 5 đâm; phát lại sheet mỗi đâm). t = 0 = tick chạm. B2 = rút về rồi đâm lại cùng trục (cùng sheet).
- Canvas
- 112×40 gốc 12/26
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.267
- Easing
- curve outExpo, freeze_s 0.035
- Hạt
- kind STREAK, count 4, speed 220, life_s 0.12, hex #a3ffc5, gravity 0, shadow không
- Hitbox
- shape line L80 W14, match Vạch kim dài đúng 80 px sàn (màn e 80, n/s 40, chéo 63) từ chân sau bước 10 px; bóng vạch phủ dải 80×14 (màn e 80×7) ≥ 90%, mũi vượt ≤ 4 px. AS2 len 90 (range +10), EVO4 112, UL3 +30 → --opts len., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-ghep-thrust.js (mượn moves/spear-thrust.js beam + smear)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ghep-thrust), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L80 W14' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: vạch kim thẳng từ x 10 tới x 80 ở cao h 18, lõi 2 px #ffffff, viền #a3ffc5 1 px mỗi bên; mũi nhọn tam giác 5 px tại x 80. |
| 0.033 | Vệt thành smear 3 dải #66ffa5/#30f089/#24b46e chạy ngược về chân; 4 STREAK bắn tiếp từ mũi ra x 86. |
| 0.1 | Vạch rút từ gốc về mũi, mỏng 1 px #24b46e. |
| 0.267 | Rỗng. |
H04_COMBO_B_3 Ghép Xuyên (clip attack_b3, hit frame 6; startup 12 tic…
Cú kết thế Ghép: lao người theo mũi compa xuyên 96 px, vạch kim dày với vòng xé gió ở mũi.
Chi tiết spec
- Kích hoạt
- H04_COMBO_B_3 Ghép Xuyên (clip attack_b3, hit frame 6; startup 12 tick = 0.2 s, active 4 tick = 0.067 s, bước lao 16 px, hitstop 0.07, trauma 0.28). Khi Mực = 5 lúc bấm → H04_INK_LINE thay thế.
- Canvas
- 144×48 gốc 16/30
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.4
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind STREAK, count 6, speed 260, life_s 0.15, hex #a3ffc5, gravity 0, shadow không
- Hitbox
- shape line L96 W16, match Vạch 96 px sàn từ chân trước lao (màn e 96, n/s 48), dải 96×16 phủ ≥ 90%, mũi vượt ≤ 4 px. AS2 thay bằng VFX_H04_as2_fin; EVO4 len 112+16; UL3 +30 → --opts len., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-ghep-fin.js (mượn moves/spear-thrust.js + bladewake/crescent-wave.js vòng sóng)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ghep-fin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L96 W16' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.2 | Ở thân: hero lùi trọng tâm, mũi compa khép kéo ra sau (thân clip). |
| 0 | Frame trắng: vạch kim 96 px dày 3 px ở h 18 + vòng sóng xé gió elip 12×6 tại mũi. |
| 0.033 | Hero lao 16 px theo mũi (runtime); vệt lao 3 dải dài 40 px sau lưng; mũi loé 7×7 #fff6f0. |
| 0.133 | Vạch nguội #24b46e, 2 vòng sóng lan tới elip 20×10 rồi tắt; 6 STREAK. |
| 0.4 | Rỗng. |
H04_HEAVY_CLAMP Kẹp Compa (cú đầu sau Đổi Thế; clip clamp hit frame 3…
Kẹp Compa: 2 lưỡi khép vào nhau như kéo cắt, vùng quạt giữa 2 chân sáng lên khi có kẻ bị kẹp (+1 Mực).
Chi tiết spec
- Kích hoạt
- H04_HEAVY_CLAMP Kẹp Compa (cú đầu sau Đổi Thế; clip clamp hit frame 3; startup 6 tick = 0.1 s, active 3 tick = 0.05 s, hitstop 0.045) và H04_SK07_CLAMP (tick 22 của Sải Compa). t = 0 = tick chạm. Hàng 1 = có ≥ 1 kẻ trong vùng kẹp (±20°, 16–40 px) → kèm VFX_H04_ink_drop; H04_E04 thêm VFX_SHARED_sts_disarm lên kẻ đó.
- Canvas
- 80×56 gốc 16/32
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.333
- Easing
- curve outQuart, freeze_s 0.045
- Hạt
- kind SPARK, count 4, speed 120, life_s 0.15, hex #a3ffc5, gravity 950, shadow không
- Hitbox
- shape sector r40 a60, match 2 lưỡi quét đúng biên quạt r40 60° (elip 80×40, mép (20, ±17)) ±4 px; dải kẹp vẽ đúng r16–40 ±20° (đo trên --dirs 8), lệch ≤ 2 px để người chơi canh kẻ giữa 2 chân., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-clamp-pinch.js (mượn heroes/varek-attack2.js swing ngắn + p.shadeFloor quạt)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-clamp-pinch), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'sector r40 a60' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Ở thân: 2 chân compa bung 60° (thân clip). |
| 0 | Frame trắng: 2 lưỡi thẳng dài 24 px từ ±30° quét vào 0°, gặp nhau tại (28, 0) như lưỡi kéo; mép #ffffff 2 px. |
| 0.033 | Vùng kẹp: dải sàn hình quạt r16–40, ±20° fill #30f089 α 0.4 trong 2 frame (hàng 1: fill #a3ffc5 α 0.6 + viền 1 px #fff6f0). |
| 0.1 | Điểm gặp loé 5×5; 4 SPARK; 2 lưỡi nguội #24b46e. |
| 0.333 | Rỗng. |
H04_INK_LINE Kẻ Mực (clip ink_line hit frame 6; startup 12 tick = 0.2…
Kẻ Mực: dây mực búng giữa 2 chân compa, cắt đôi mọi thứ trên đường 320 × 24 px rồi để vệt mực lục tan trong 0.6 s.
Chi tiết spec
- Kích hoạt
- H04_INK_LINE Kẻ Mực (clip ink_line hit frame 6; startup 12 tick = 0.2 s, active 4 tick, hitstop 0.07, trauma 0.5; tiêu 5 Mực, AS2 4, RS6 bậc 2 4/3). t = 0 = tick búng dây. Đoạn thẳng từ chân 1 (cắm tại hero) tới chân 2 (điểm ngắm, kẹp ≤ 320 px). Dùng lại cho: H04_COUNTER_INK (vạch ngang 64 × 40 qua điểm trúng), H04_UL2_LINE (96 × 12), H04_E28 (dây Mốc hoá mực ≤ 320 × 16), H04_E30 (bản gương), H04_E33 (Mốc → hero, 50/80%), H04_E35 (đường vuông góc 200 px), H04_E37 (ĐÁP tự Kẻ Mực 80%), H04_E39 (cú kết tự kẻ 240 px), H04_EVO1 (4 nhánh 200 × 20), H04_EVO4 (rộng 32), H04_RS6 (rộng +6).
- Canvas
- 352×64 gốc 16/32
- Pha (s)
- antic −0.2/0 · impact 0/0.033 · dissipate 0.033/0.6
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind FLAKE, count 24, speed 60, life_s 0.4, hex #0e472e, gravity 950, shadow có/kind SPARK, count 8, speed 160, life_s 0.15, hex #a3ffc5, gravity 950, shadow không
- Hitbox
- shape line L320 W24, match Shader vẽ đúng chữ nhật L × W hitbox (0 px lệch, cùng tham số runtime); nắp tròn r6 vượt đầu đoạn ≤ 6 px. Biến thể: COUNTER_INK 64×40 vuông góc; UL2 96×12; E28 ≤ 320×16; E35 200×24 vuông góc; E39 240×24; EVO1 4 × 200×20; EVO4 w32; RS6 w30; AS2 len 280., wave procedural
- Nguồn
- new src/fx/heroes/h04-fx-ink-line.js (nắp + hạt; mượn lightning/chain-bolt.js dây căng) + shader FloorEllipse {shape:line} (chung với VFX_H04_SK02_snapline, VFX_H04_SK04_string, VFX_H04_UL3_ink_auto, VFX_H04_UL1_meridian)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ink-line), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L320 W24' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.2 | Antic: chân 2 compa bay tới điểm ngắm và cắm (nắp 2: chấm 5×5 #a3ffc5 + elip sàn r6); sợi dây 1 px #66ffa5 căng ở h 2 nối 2 nắp, rung ±1 px. |
| 0 | Búng: cả dải L × W bật trong 1 frame — lõi #fff6f0 dày W/3, mép #30f089, frame trắng #ffffff đúng 1 frame dọc toàn đoạn; 2 nắp loé 9×9. |
| 0.033 | Dải thành mực lục: thân #0e472e/#08291a fill 85%, mép 1 px #30f089 mỗi bên, gân sáng giữa #66ffa5 1 px; 24 FLAKE mực văng ±W/2 dọc đường, bóng. |
| 0.2 | Mép tắt dần từ 2 đầu vào giữa; thân mực dither 75% → 50%. |
| 0.45 | Vệt mực dither 25%, chỉ còn gân giữa. |
| 0.6 | Rỗng (decal tắt). |
H04_COUNTER Kim Chỉ Nam (clip counter hit frame 3; lao 48 px / 6 tick…
Kim Chỉ Nam: lao 48 px và đâm mũi compa như kim la bàn 100 px, nở hoa la bàn 4 cánh ở điểm trúng; bản vọng mờ cho các nhịp lặp.
Chi tiết spec
- Kích hoạt
- H04_COUNTER Kim Chỉ Nam (clip counter hit frame 3; lao 48 px / 6 tick, bất tử 0–10 tick, LINE 100 × 16, hitstop 0.12, trauma 0.45); 2 tick sau phát VFX_H04_ink_line biến thể COUNTER_INK. Hàng 1 (bóng vọng α 0.6, không lõi trắng): H04_UL3_ECHO nhịp 2 sau 0.2 s (60%), H04_E24 3 nhịp (nhịp cuối luôn chí mạng → chớp #ffffff), H04_E38 vọng 40% trên 3 cú Ghép, H04_EVO2 cuối mỗi Sải (scale 0.7). Đi cùng VFX_SHARED_counter_mark.
- Canvas
- 160×56 gốc 52/32
- Pha (s)
- antic −0.1/0 · impact 0/0.05 · dissipate 0.05/0.5
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind STREAK, count 10, speed 240, life_s 0.15, hex #a3ffc5, gravity 0, shadow không/kind SPARK, count 6, speed 180, life_s 0.2, hex #daffe8, gravity 950, shadow không
- Hitbox
- shape line L100 W16, match Kim dài 100 px sàn từ chân sau lao (màn e 100, n/s 50, chéo 79), dải 100×16 phủ ≥ 90%; hoa la bàn vượt mũi 5 px ≤ 6 ✓. EVO2 scale 0.7 → line L70 (--opts len 70)., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-counter-needle.js (mượn moves/spear-thrust.js + effects/sparkle.js flare)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-counter-needle), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L100 W16' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Lao: vệt lao 48 px sau lưng 2 dải #24b46e (antic, chạy cùng thân). |
| 0 | Frame trắng: mũi compa khép đâm thẳng 100 px — kim hình thoi dài, đầu nhọn 8 px, đuôi 2 nhánh như kim la bàn; lõi #ffffff 3 px ở h 18. |
| 0.033 | Tại mũi: hoa la bàn 4 cánh 11×11 #fff6f0 (cánh Bắc dài hơn 2 px) + p.floorGlow r28 #30f089 α 0.45; 10 STREAK dọc kim. |
| 0.15 | Kim nguội #66ffa5 → #24b46e, hoa la bàn xoay 45° rồi co. |
| 0.5 | Rỗng. |
H04_SK01_SWEEP Vẽ Vòng Tròn (clip sk01 hit 5, 11; cắm chân trái tick …
Vẽ Vòng Tròn: cắm 1 chân compa làm tâm, chân kia quét 2 vòng r96 như vẽ vòng tròn lên đất.
Chi tiết spec
- Kích hoạt
- H04_SK01_SWEEP Vẽ Vòng Tròn (clip sk01 hit 5, 11; cắm chân trái tick 0–9, quét 360° r96 tại tick 10 và 22, active 18 tick, 2 hit/kẻ). t = 0 = tick 10 (quét 1). Hạng III: vòng 2 đổi chiều (phát sheet ngược) + kéo quái S 32 px về chân cắm. H04_E11 (Sải Compa quét cung 180° r72): --opts arc 180 radius 72. H04_EVO1 La Bàn Mực: kèm 4 nhánh VFX_H04_ink_line 200 × 20.
- Canvas
- 208×112 gốc 104/60
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.8
- Easing
- curve outQuart, freeze_s 0.04
- Hạt
- kind SPARK, count 14, speed 160, life_s 0.2, hex #a3ffc5, gravity 950, shadow không/kind DUST, count 12, speed 60, life_s 0.3, hex #24b46e, gravity 0, shadow có
- Hitbox
- shape circle r96, match Vệt quét chạy đúng vành elip 192×96 (mép ngoài r98 ≤ +2), phủ toàn đĩa trong 1 vòng; hạng II/III r104 = bậc 1.0 × 1.083; E11 r72 a180 xuất riêng (--opts)., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-sk01-pivot.js (mượn bladewake/crescent-wave.js + heroes/varek-skill1.js quét tròn)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-sk01-pivot), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Quét 1: lưỡi phải vạch 360° trong 6 frame, mép #ffffff, vệt cung #a3ffc5 → #30f089 dày 6 px trên vành elip 192×96; chân trái cắm tâm loé 5×5. |
| 0.2 | Vệt quét 1 nguội #24b46e; quét 2 (tick 22 = 0.2 s) chạy lại 6 frame; hạng III chạy ngược + 12 DUST hút về tâm (kéo 32 px). |
| 0.4 | Vành đôi nguội, vạch phấn sàn r96 1 px #1a6b44 còn 0.3 s; SPARK văng tiếp tuyến. |
| 0.8 | Rỗng. |
H04_UL1 Lưới Kinh Tuyến (clip ul1 hit 20, 45; bất tử 0–120 tick, Worl…
Lưới Kinh Tuyến: cắm compa giữa sân, búng 6 đường mực hình sao cắt đôi bầy rồi kéo lưới về tâm nổ r140.
Chi tiết spec
- Kích hoạt
- H04_UL1 Lưới Kinh Tuyến (clip ul1 hit 20, 45; bất tử 0–120 tick, World chậm 0.5, 2.0 s). Mốc: tick 0 cắm compa giữa sân; H04_UL1_LINES tick 40 → 65 bật 6 đường 320 × 48 hình sao cách 60°, mỗi đường cách 5 tick; H04_UL1_CLOSE tick 90 co lưới về tâm, nổ r140, đẩy 30 px (kèm VFX_SHARED_screen_flash_ult). t = 0 = tick 40 (đường 1). H04_E34: mỗi Mực tiêu khi tung +1 giọt mực rơi xuống tâm lúc antic (≤ 5).
- Canvas
- 320×200 gốc 160/120
- Pha (s)
- antic −0.667/0 · impact 0/0.933 · dissipate 0.933/1.333
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind FLAKE, count 48, speed 70, life_s 0.5, hex #0e472e, gravity 950, shadow có/kind SPARK, count 12, speed 200, life_s 0.25, hex #a3ffc5, gravity 950, shadow không
- Hitbox
- shape line L320 W48, match 6 dải shader trùng 6 hitbox LINE 320×48 (0 px); close: vành shader đúng r140 (0 px), vòm sheet nằm trong r60. Đo trên ảnh in-game 1 lần mỗi hướng ngắm e/se/s., wave procedural
- Nguồn
- new src/fx/heroes/h04-fx-ul1-meridian.js (compa tâm + vòm + nắp; mượn _lib.js slam) + shader FloorEllipse {shape:line}/FloorEllipse {shape:ring}
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ul1-meridian), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'line L320 W48' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.667 | Antic: compa dựng thẳng cắm tâm, khớp đỉnh loé 9×9; vòng phấn r24 quanh chân compa vẽ dần; E34 giọt mực rơi từ h 80 xuống tâm. |
| 0 | Đường 1 (hướng ngắm): dây mực búng 1 frame trắng dải 320 × 48 (shader), nắp xa cắm chấm 7×7; 5 tick sau đường 2 ở +60°… tới đường 6 tại 0.417 s. |
| 0.417 | 6 đường mực sao: thân #0e472e viền 2 px #30f089, gân giữa #66ffa5; FLAKE mực văng dọc mỗi đường. |
| 0.833 | Thu Lưới (tick 90): 6 đường co về tâm trong 3 frame như kéo lưới (shader rút L 320 → 0), tâm nổ: vành r140 (shader FloorEllipse {shape:ring}, elip 280×140) lõi #fff6f0 1 frame + vòm sáng sheet 120×80 tại tâm. |
| 0.933 | Vành mực lan tan, 24 FLAKE + 12 SPARK; vòng phấn tâm còn 0.3 s. |
| 1.333 | Rỗng. |
H04_UL2 Chấm Huyệt Tử (clip ul2 hit 6, 30, 32; bất tử 0–96 tick, Worl…
Chấm Huyệt Tử: lướt vòng đâm 7 huyệt quanh 1 kẻ, nối huyệt bằng nét mực rồi nổ cả 7 cùng lúc.
Chi tiết spec
- Kích hoạt
- H04_UL2 Chấm Huyệt Tử (clip ul2 hit 6, 30, 32; bất tử 0–96 tick, World chậm 0.4, 1.6 s). H04_UL2_STABS tick 12 → 54: lướt vòng quanh mục tiêu (ưu tiên M/L/XL trong 140 px) đâm 7 nhát cách 6 tick, đặt 7 chấm (VFX_H04_ink_dot); H04_UL2_LINE tick 60: nét mực 96 × 12 xuyên mục tiêu (VFX_H04_ink_line biến thể); H04_UL2_BURST tick 64: 7 chấm nổ r24 + xử tử ≤ 20% (kèm VFX_SHARED_screen_flash_ult). t = 0 = tick 12.
- Canvas
- 176×128 gốc 88/76
- Pha (s)
- antic −0.2/0 · impact 0/0.9 · dissipate 0.9/1.4
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind STREAK, count 14, speed 220, life_s 0.12, hex #a3ffc5, gravity 0, shadow không/kind FLAKE, count 16, speed 90, life_s 0.4, hex #0e472e, gravity 950, shadow có
- Hitbox
- shape circle r24, match Đĩa nổ đúng elip 48×24 phủ 100%; vệt kim mỗi đâm phủ LINE 80×14 về mục tiêu (đầu kim dừng tại tâm ± 2 px); nét xuyên 96×12 do shader FloorEllipse {shape:line} (0 px)., wave none
- Nguồn
- new src/fx/heroes/h04-fx-ul2-acupoint.js (mượn moves/spear-thrust.js + effects/sparkle.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ul2-acupoint), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'circle r24' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.2 | Antic: vòng ngắm 2 px #a3ffc5 elip 48×24 siết quanh chân mục tiêu. |
| 0 | 7 đâm: mỗi 0.1 s 1 vệt kim 40 px từ 1 điểm trên vòng r40 quanh mục tiêu (các góc 0, 103, 206, 309, 51, 154, 257°) đâm vào tâm, frame trắng mỗi đâm; mỗi đâm để 1 chấm. |
| 0.8 | Tick 60: nét mực 96 × 12 xuyên tâm theo hướng ngắm, nối các chấm bằng chỉ 1 px #66ffa5. |
| 0.867 | Tick 64: 7 chấm nổ cùng lúc — 7 tia 4 cánh 9×9 #ffffff, đĩa r24 (elip 48×24) fill #fff6f0 1 frame; xử tử: thân mục tiêu nháy trắng 2 frame. |
| 0.9 | Vành mực #30f089 lan r24 → r40 tan; 16 FLAKE. |
| 1.4 | Rỗng. |
H04_UL3 Thước Trời (clip ul3 hit 5; bất tử 0–30 tick, World chậm 0.6)…
Thước Trời: dựng compa thành cây thước trời, vạch vòng sáng r96 có vạch khắc, rồi giữ dạng 9 s.
Chi tiết spec
- Kích hoạt
- H04_UL3 Thước Trời (clip ul3 hit 5; bất tử 0–30 tick, World chậm 0.6): H04_UL3_CAST tick 10 vạch vòng sáng r96 coef 8.0 (kèm VFX_SHARED_screen_flash_ult); sau đó dạng 9 s (frame 15–22 loop trên thân). t = 0 = tick 10. Trong dạng: cú kết tự ra VFX_H04_UL3_ink_auto, Khép Compa tự ra VFX_H04_counter_needle hàng vọng.
- Canvas
- 208×176 gốc 104/120
- Pha (s)
- antic −0.167/0 · impact 0/0.1 · dissipate 0.1/0.5
- Easing
- curve outQuart, freeze_s 0.1
- Hạt
- kind STAR, count 16, speed 40, life_s 0.5, hex #daffe8, gravity 300, shadow không
- Hitbox
- shape circle r96, match Vòng vạch đúng elip 192×96 (0–2 px), tia vượt ≤ 6 px; phủ toàn đĩa bằng sóng lan 3 frame., wave reach
- Nguồn
- new src/fx/heroes/h04-fx-ul3-sky-ruler.js (mượn bladewake/levelup.js vòng + lightning/pillar.js cột)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ul3-sky-ruler), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.167 | Antic: compa dựng đứng trên đầu như cây thước trời, cột sáng 4 px #a3ffc5 cao 100 px. |
| 0 | Frame trắng: vòng r96 (elip 192×96) vạch 3 px #ffffff quét 360° trong 3 frame, khắc 12 vạch thước 4 px quanh vành. |
| 0.1 | Vành #30f089 nguội; cột sáng mờ thành tia 1 px; 16 STAR rơi. |
| 0.5 | Loop dạng (frame 15–22): 2 chân compa sau lưng viền #66ffa5 nhấp, 1 tia sáng mảnh 1 px trên đầu cao 24 px, vòng chân r14 khắc 4 vạch. |
| 0.767 | Lặp tới hết 9 s; thoát: tắt 3 frame. |
Thức Tỉnh H04_EVO4 Compa Kinh Tuyến: hàng 0 lúc thức tỉnh (1.0 s, 1 l…
Thức Tỉnh Compa Kinh Tuyến: compa khắc vạch kinh tuyến; từ đó mỗi nhát Tách để vệt mực sàn 1 s cắt kẻ đứng trong.
Chi tiết spec
- Kích hoạt
- Thức Tỉnh H04_EVO4 Compa Kinh Tuyến: hàng 0 lúc thức tỉnh (1.0 s, 1 lần, kèm VFX_SHARED_evolution_forge); hàng 1 vệt mực sau mỗi nhát Tách A1–A5 (sector r48 a120, tồn 1.0 s, 0.6 coef — vùng sàn hero gây sát thương). Ghép dài 112 px và Kẻ Mực rộng 32 dùng tham số của VFX_H04_ghep_thrust / VFX_H04_ink_line. t = 0 = tick chạm của nhát Tách (hàng 1).
- Canvas
- 112×72 gốc 32/40
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/1
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind FLAKE, count 8, speed 20, life_s 0.4, hex #0e472e, gravity −30, shadow không
- Hitbox
- shape sector r48 a120, match Vệt sàn đúng quạt r48 120° (96×48, mép (24, ±21)) phủ 100% hitbox vệt; mép vượt ≤ 2 px; fill 70% + không viền tím/vàng → không giống tell P. Đo --dirs 8., wave none
- Nguồn
- new src/fx/heroes/h04-fx-evo4-awaken.js (mượn heroes/h04-fx-tach-slash.js cung + p.shadeFloor)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-evo4-awaken), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay pending: overlay 'sector r48 a120' (elip 1 px) trên ảnh --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: compa nổi lên h 30, 2 chân viền #a3ffc5, khắc 12 vạch kinh tuyến sáng lần lượt, vòng chân r20 loé #ffffff. Hàng 1: vệt mực quạt r48 120° (elip 96×48) bật đúng cung vừa chém, mép #30f089. |
| 0.033 | Hàng 1: thân vệt #0e472e fill 70% viền 1 px #30f089, gân sáng theo cung #66ffa5. |
| 0.5 | Vệt dither 50%, FLAKE mực nhỏ bốc lên. |
| 0.9 | Vệt dither 25%; hàng 0 compa hạ về tay. |
| 1 | Rỗng. |
LIBRARY · 2
On-hit lên mục tiêu của mọi đòn cắt H04: COMBO_A_1..5, HEAVY_CLAMP, D…
Tia trúng kiểu vết kéo cắt: 1 vạch chéo trắng-lục theo hướng đòn, 2 mảnh văng, tắt trong 0.3 s.
Chi tiết spec
- Kích hoạt
- On-hit lên mục tiêu của mọi đòn cắt H04: COMBO_A_1..5, HEAVY_CLAMP, DASH_ATTACK, SK01_SWEEP, SK07_CLAMP, AS3_FIN. t = 0 = tick trúng; hướng = hướng đòn (dir runtime). ≤ 16 FX trúng mới / frame (R5).
- Canvas
- 32×24 gốc 16/12
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SHARD, count 2, speed 90, life_s 0.2, hex #66ffa5, gravity 950, shadow không
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-hit-cut.js (recolor bladewake/hit-crimson như VFX_SHARED_hit_slash, chỉ map ramp sang PAL_HERO_H04; opt mới len:18 = độ dài tia px)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-hit-cut), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng #ffffff: vạch chéo 18×3 px theo hướng đòn qua tâm trúng + 4 tia 3 px vuông góc. |
| 0.033 | Vạch thành #a3ffc5 lõi #fff6f0, 2 mảnh tam giác 2 px văng 2 bên. |
| 0.13 | Vạch co còn 10 px #30f089, dither 50%. |
| 0.3 | Rỗng. |
Cue +1 Mực: H04_COMBO_A_3 trúng ≥ 1 kẻ (1 lần/nhát), H04_HEAVY_CLAMP …
Giọt mực lục nảy từ mục tiêu về mũi compa: báo +1 Mực ngay trên thân hero, không cần nhìn HUD.
Chi tiết spec
- Kích hoạt
- Cue +1 Mực: H04_COMBO_A_3 trúng ≥ 1 kẻ (1 lần/nhát), H04_HEAVY_CLAMP có kẻ giữa 2 chân, H04_E32 Vẽ Vòng Tròn trúng ≥ 5 kẻ (+1/+1/+2: phát 1 hoặc 2 giọt cách 0.1 s). t = 0 = tick cộng Mực; giọt bay từ điểm trúng về mũi compa (socket:hand_main) trong 0.2 s.
- Canvas
- 24×32 gốc 12/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DRIP, count 3, speed 40, life_s 0.25, hex #24b46e, gravity 950, shadow có
- Hitbox
- shape none, match không áp dụng: FX không mang hitbox; sát thương do move data, wave none
- Nguồn
- new src/fx/heroes/h04-fx-ink-drop.js (recolor water/drip, ramp nước → PAL_HERO_H04; opt mới size:3 = bán kính giọt px; thêm quỹ đạo fly3)
- Review
- check_mjs pending (node tools/check.mjs heroes/h04-fx-ink-drop), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H04), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Giọt mực 3×4 px #30f089 lõi #fff6f0 bật khỏi mục tiêu, cao h 18. |
| 0.033 | Bay cung parabol h(t) = 4·12·u(1−u) về mũi compa; đuôi 4 px #1a6b44. |
| 0.2 | Chạm mũi compa: loé chấm 5×5 #daffe8 + 4 tia 2 px; ô Mực HUD sáng cùng tick. |
| 0.333 | 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 move=H04_COMBO_A_1 | H04_COMBO_B_1 | H04_DASH_ATTACK (c… SFX_H04_a1_swing | swing | 220 | 4 | HeroAttack | 20 | 2 | −19 | none | freesound | brief | Lưỡi compa sắt mỏng 22 px chém không khí, nhanh, khô, gần mic. Bộ 4 biến thể Tách + 4 biến thể Ghép (chọn theo stance payload, cùng id). Dạng Rèn: AS2 đồng chân dài = whoosh trầm hơn 2 bán cung + bản lề đồng 'cạch' tròn; AS3 gãy khớp = thêm lớp dây thừng quất + khớp lỏng lách cách (≤ 40 ms). KHÔNG được nghe như kiếm thép ngân dài, dao phay nặng, kéo cắt tóc hay tiếng zip hoạt hình. |
| HeroAttackCut move=H04_COMBO_A_2/A_3/A_4 (A3 pitch +4%, A4 +8%) | H04… SFX_H04_a2_swing | swing | 200 | 4 | HeroAttack | 20 | 2 | −19 | none | freesound | brief | Nhát xen kẽ của 2 lưỡi: nhẹ hơn a1, nối thành chuỗi 'tách–tách–tách' nhịp 1.88 s/5 nhát mà không mỏi tai. Bản đối xứng SK08 phát id này −6 dB, pitch −3%. KHÔNG được nghe như roi quất, quạt máy hay kim loại 'ding'. |
| HeroAttackCut move=H04_COMBO_A_5 | H04_COMBO_B_3 | H04_AS2_FIN | H04_… SFX_H04_a3_swing | swing | 300 | 4 | HeroAttack | 20 | 2 | −18 | none | freesound | brief | Cú kết chuỗi (Tách Kép / Ghép Xuyên): nặng, dứt khoát, khép lại câu nhịp combo. AS2 fin = thêm cắm đồng xuống đất 'cộc'; AS3 fin = 2 chân lỏng quay vòng 'vù–vù' theo dây thừng (biến thể riêng, cùng id). KHÔNG được nghe như rìu chặt gỗ, kiếm ngân hay phát súng. |
| HeroHitBatch heroId=H04 (HordeAudio §6.1 gộp, + hit_multi/hit_crit/hi… SFX_H04_hit | hit | 180 | 8 | HeroAttack | 30 | 4 | −20 | none | freesound | brief | Cú trúng chất liệu compa sắt mảnh: sắc, khô, ngắn. 8 biến thể = 4 cắt (thế Tách, SK01/SK03) + 4 đâm (thế Ghép, SK05, UL2) chọn theo move tag; trần 3 lần/50 ms. Dạng Rèn AS2: lớp đồng dày hơn (−2 bán cung); AS3: thêm khớp lỏng lách cách. KHÔNG được nghe như đấm thịt, kiếm chạm khiên hay 'ting' kim loại. |
| HeroComboSpecial heroId=H04 branch=SWAP (H04_HEAVY_SWAP) | CLAMP (H04… SFX_H04_combo_special | swing | 240 | 3 | HeroAttack | 20 | 2 | −18 | none | foley | brief | Chữ ký 2 thế: người chơi phải nghe được đổi thế mà không cần nhìn (Tách = mở 'rắc', Ghép = khép 'cạch' thấp hơn 3 bán cung). Thu foley compa sắt/kéo thợ may cũ khô dầu. KHÔNG được nghe như lên đạn súng, kéo cắt tóc salon hay ngân kim loại > 60 ms (AUD-01). |
| HeroDash heroId=H04 frame 0 (lớp trên SFX_SHARED_dash_base) SFX_H04_dash | move | 200 | 4 | Hero | 20 | 2 | −22 | none | foley | brief | Bước Phấn: lớp chất liệu đặt trên dash_base; vạch phấn là chữ ký của Sậu. KHÔNG được nghe như bánh xe trượt, giấy nhám máy hay tiếng vải bay dài. |
| HeroAnswerSuccess heroId=H04 (lớp trên SFX_SHARED_answer_core, send A… SFX_H04_answer | answer | 320 | 3 | HeroDefense | 2 | 2 | −12 | none | foley | brief | ĐÁP của Sậu = âm to nhất mix khi thành công (AP3), tổng với answer_core ≤ −12 LUFS mmax. 'Xoẹt' ≤ 60 ms (luật timbre doc 32 §2.3) — tuyệt đối không ngân. 3 biến thể: cận chiến ×2, đạn ×1 (chọn theo payload). KHÔNG được nghe như kiếm gạt kiếm điện ảnh, kéo cắt giấy văn phòng hay tiếng 'ding' thưởng điểm. |
| HeroCounter heroId=H04 (H04_COUNTER Kim Chỉ Nam, H04_UL3_ECHO, H04_E3… SFX_H04_counter | hit | 420 | 3 | HeroDefense | 2 | 2 | −14 | none | foley | brief | Phản Kim Chỉ Nam: đòn trừng phạt nặng nhất ngoài Ult, đâm thẳng như kim la bàn chỉ hướng. Lớp 'pưng' là họ âm Kẻ Mực thu nhỏ (người chơi nối Phản ↔ Mực). KHÔNG được nghe như mũi tên, lò xo hoạt hình, hay chuông/kim loại ngân. |
| HeroHoldStart heroId=H04 (Kẻ Vòng bắt đầu vẽ, 30 tick) SFX_H04_hold_start | move | 520 | 3 | HeroDefense | 20 | 1 | −20 | none | foley | brief | Vẽ vòng phấn r56 trong 0.5 s: người chơi nghe được lúc vòng khép (cuối âm có 1 tiếng 'tách' khép vòng nhỏ). Huỷ bằng Lướt/ĐÁP → cắt âm ngay. KHÔNG được nghe như phấn rít bảng đen chói tai (cấm năng lượng > 6 kHz kéo dài) hay sơn xịt. |
| HeroHoldStart heroId=H04 sau hold_start (loop tới HeroHoldEnd); cũng … SFX_H04_hold_loop | loop | 1200 | 1 | HeroDefense | 20 | 1 | −26 | none | foley | brief | Loop giữ tối đa 3 s, dừng NGAY khi thả/huỷ (INV-11). Nhỏ, không che tell. Loop mẫu-chính-xác 1.200 ms = 52.920 mẫu @44.1 kHz. KHÔNG được nghe như mưa, lửa lép bép hay tiếng ù (dải tell tím). |
| HeroHoldEnd heroId=H04 (thả hoặc hết 3 s; cancelled=1 → −4 dB) SFX_H04_hold_end | move | 180 | 3 | HeroDefense | 20 | 1 | −22 | none | foley | brief | Kết Kẻ Vòng: ngắn, gọn, báo hồi 1.0 s bắt đầu. KHÔNG được nghe như thổi nến hay tiếng xì hơi. |
| HeroResource heroId=H04 kind=gain (A3/A5 trúng, Kẹp có kẻ giữa 2 chân… SFX_H04_res_gain | ui_short | 120 | 4 | Hero | 20 | 1 | −24 | none | freesound | brief | Báo +1 Mực ngay cả giữa bầy: nhỏ, ướt, không lẫn với pickup XP (XP là ngân pha lê). Cooldown 120 ms (doc 32 §4.4). KHÔNG được nghe như giọt nước vang hang, bong bóng hoạt hình hay 'ting' kim loại. |
| HeroResource heroId=H04 kind=full (Mực = 5, ngưỡng INK_FULL; kèm VFX_… SFX_H04_res_full | ui_short | 420 | 1 | Hero | 20 | 1 | −20 | none | foley | brief | Thông báo 'Kẻ Mực sẵn sàng': cú kết kế (A5/B3) sẽ thành đường mực 320 px. Rõ nhưng không át combat; chỉ phát 1 lần mỗi lần chạm 5. KHÔNG được nghe như level-up, chuông báo hay dây đàn ngân dài > 400 ms. |
| HeroResource heroId=H04 kind=spend (H04_INK_LINE Kẻ Mực, SK02, SK06) … SFX_H04_res_spend | cast | 650 | 3 | Hero | 20 | 2 | −16 | none | foley | brief | Âm chữ ký của Sậu (Kẻ Mực, T3 trauma 0.50): 'pưng' trầm + xé giấy = một nét cắt thẳng qua cả hàng. Bản UL3_AUTOLINE/SK05 burst phát −4 dB, pitch +3%. 'Pưng' là transient + decay ≤ 180 ms, không swell (AUD-02). KHÔNG được nghe như dây đàn bass điện, súng laser hay tiếng roi điện. |
| SkillCast skillId=H04_SK01 (Vẽ Vòng Tròn), rank I–III; lớp '__impact'… SFX_H04_SK01_cast | cast | 820 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Quét 2 vòng quanh tâm cắm: người chơi nghe rõ 2 nhịp (tick 10, tick 22). EVO1 La Bàn Mực: +lớp 'pưng' nhỏ ×4 nhánh (biến thể 3). KHÔNG được nghe như quạt trần, lốc xoáy hay đĩa cưa. |
| SkillCast skillId=H04_SK02 (Dây Mực Bật), rank I–III; lớp '__impact' … SFX_H04_SK02_cast | cast | 700 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Phiên bản nhỏ của Kẻ Mực (tiêu 2 Mực), 2 nhịp búng rõ. E36 bật lần 2 = phát lại −3 dB lệch 0.3 s. KHÔNG được nghe như cung tên, dây đàn guitar hay tiếng roi. |
| SkillCast skillId=H04_SK03 (Khoá Lưỡi), rank I–III; lớp '__impact' kh… SFX_H04_SK03_cast | cast | 520 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Kìm sắt khoá vũ khí: 2 nhịp khô + hơi sương. KHÔNG được nghe như kéo cắt tóc, gãy xương hay băng vỡ to (băng vỡ là của STS_FROST chung). |
| SkillCast skillId=H04_SK04 (Cắm Mốc Địa), rank I–III; lớp '__impact' … SFX_H04_SK04_cast | cast | 600 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Mốc 8 s + dây phấn 4 s: âm cắm phải nặng để người chơi nhớ vị trí Mốc (pan cố định center, hero là người nghe). KHÔNG được nghe như mũi tên, giáo sắt ngân hay súng móc. |
| SkillCast skillId=H04_SK05 (Định Vị Huyệt), rank I–III; lớp '__impact… SFX_H04_SK05_cast | cast | 600 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Chuỗi 4 nhát chính xác như thầy địa lý dò huyệt: nhịp đều, khô, đếm được. Nổ chấm = res_spend −4 dB. KHÔNG được nghe như máy khâu, súng máy hay kim tiêm. |
| SkillCast skillId=H04_SK06 (Thế Đứng Thước), rank I–III; lớp '__impac… SFX_H04_SK06_cast | cast | 760 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Cú bổ nặng (coef 9.5) rồi vòng phấn tức thì: transient chắc, đuôi phấn mềm. KHÔNG được nghe như búa tạ kim loại ngân, sấm hay nổ thuốc súng. |
| SkillCast skillId=H04_SK07 (Sải Compa), rank I–III; lớp '__impact' kh… SFX_H04_SK07_cast | cast | 560 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Dịch chuyển xoay quanh 1 chân compa 120 px rồi kẹp: 3 nhịp cộc–vù–xoạch. EVO2 Bước Kim: 2 lượt, cú kết đổi sang counter. KHÔNG được nghe như dịch chuyển phép thuật, gió bão hay bước chân nặng. |
| SkillCast skillId=H04_SK08 (Đối Xứng Địa Lý), rank I–III; lớp '__impa… SFX_H04_SK08_cast | cast | 520 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Bật 6 s gương đối xứng: phải nghe 'lạ' một chút (lớp ngược mỏng), không phép thuật lấp lánh. KHÔNG được nghe như gương vỡ, chuông gió hay swell trầm (dải tell tím). |
| UltActivate ultId=H04_UL1 (lớp trên SFX_SHARED_ult_core + stinger ult… SFX_H04_UL1_meridian | cast | 3800 | 1 | Hero | 5 | 1 | −13 | none | foley | brief | Ult chữ ký: 'đường mực khổng lồ xé' (doc 32 §2.3). Đồng bộ clip ul1 120 frame: 'pưng' 1 tại 0.67 s, nổ thu lưới tại 1.5 s + 1.5 s đuôi (tổng 3.8 s ≤ 4.0). Đỉnh ≤ −1 dBTP. Lớp đàn tranh chỉ là sweetener tonal ≤ 600 Hz–2 kHz, không partial 2.2–3.6 kHz dài. KHÔNG được nghe như sấm, laser, kiếm khí hay dàn dây điện ảnh. |
| UltActivate ultId=H04_UL2 (lớp trên ult_core + stinger ult_H04, send … SFX_H04_UL2_acupoint | cast | 3200 | 1 | Hero | 5 | 1 | −13 | none | foley | brief | Ult đơn mục tiêu, chính xác như châm cứu: nhịp đếm 1–7 rồi im, rồi nổ. Đồng bộ clip ul2 96 frame (đâm từ 0.2 s, nét 2.0 s, nổ 2.13 s). KHÔNG được nghe như súng máy, kim tiêm y tế hay phép thuật lấp lánh. |
| UltActivate ultId=H04_UL3 (lớp trên ult_core + stinger ult_H04, send … SFX_H04_UL3_sky_ruler | cast | 1400 | 2 | Hero | 5 | 1 | −14 | none | foley | brief | Mở dạng Thước Trời 9 s: ngắn hơn UL1/UL2 vì phần thưởng là 9 s combo (mọi cú kết tự kẻ mực = res_spend −4 dB). Hết dạng: res_spend bản ngược −10 dB. KHÔNG được nghe như biến hình anh hùng, hợp xướng hay chuông lớn. |
| HeroAttackCut move=H04_COMBO_A_5|H04_COMBO_B_3 · HeroResource kind=sp… SFX_H04_vo_effort | vocal | 320 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Giọng không lời (doc 32 §9): tập trung, kìm nén, không la hét. Thu diễn viên giọng thuê, chuyển quyền toàn cầu; không giọng AI. KHÔNG được nghe như hét võ thuật, cười, hay giọng trẻ con. |
| HeroDamaged heroId=H04 (kèm SFX_SHARED_hero_hurt_impact; cooldown 400… SFX_H04_vo_hurt | vocal | 300 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Đau nhưng không mất kiểm soát; 5 biến thể từ nhẹ tới nặng (chọn theo % HP mất). KHÔNG được nghe như hét kinh dị, khóc hay tiếng ho. |
| HeroDeath heroId=H04 (kèm SFX_SHARED_hero_death, SN_DEATH) SFX_H04_vo_death | vocal | 1000 | 2 | VO | 45 | 1 | −18 | none | outsource | brief | Chết: lặng, buồn, không kịch tính; khớp clip death 60 frame (frame 0–20). KHÔNG được nghe như hét dài, ngã sầm hay giọng hấp hối điện ảnh. |
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 (bark 1/3 ngẫu nhiên, sau wake) | Đo trước, bước sau. Đi thôi. | hero | — | — |
| run_start_2 | RunStart | Thầy ơi, đêm nay con kẻ lại đất. | hero | — | — |
| run_start_3 | RunStart | Mộ dời bao nhiêu, con đo lại bấy nhiêu. | hero | — | — |
| level_up_1 | LevelUp (trước DraftOpen) | Tay vững thêm một phân. | hero | 30 | — |
| level_up_2 | LevelUp | Đường kẻ dài thêm rồi. | hero | 30 | — |
| level_up_3 | LevelUp | Thêm một vạch trên thước. | hero | 30 | — |
| perfect_answer_1 | HeroAnswerSuccess heroId=H04 perfect=1 (cận chiến, Tước Khí) | Khép lại. Hết đường đánh. | hero | 20 | — |
| perfect_answer_2 | HeroAnswerSuccess heroId=H04 perfect=1 (đạn bị cắt đôi) | Đạn thẳng quá. Cắt làm đôi. | hero | 20 | — |
| perfect_dodge | HeroPerfectDodge heroId=H04 | Lệch nửa gang. Ta đo rồi. | hero | 20 | — |
| perfect_counter | HeroCounter heroId=H04 (Kim Chỉ Nam trúng Tinh Anh/boss) | Kim chỉ đúng hướng rồi. | hero | 25 | — |
| ink_full | HeroResource heroId=H04 kind=full (Mực = 5, lần đầu mỗi phòng) | Năm giọt đủ rồi. Một đường thôi. | hero | 25 | — |
| big_cut | H04_PASSIVE Đường Thẳng kích (Kẻ Mực cắt ≥ 8 kẻ) | Một đường thôi. Đủ thẳng là đủ. | hero | 25 | — |
| low_hp_1 | HeroLowHp heroId=H04 (HP ≤ 30%, 1 lần mỗi lần xuống ngưỡng) | Chưa… đo chưa xong. | hero | 45 | — |
| low_hp_2 | HeroLowHp | Đứng vững. Đất còn dưới chân. | hero | 45 | — |
| low_hp_3 | HeroLowHp | Thở đi, Sậu. Đếm lại từ một. | hero | 45 | — |
| elite_1 | EliteSpawn (Tinh Anh EL_* trong 240 px) | Cái này to. Đo kỹ hơn. | hero | 30 | — |
| elite_2 | EliteSpawn (có Ấn EM*) | Dấu trên đầu nó… nhớ lấy chỗ đó. | hero | 30 | — |
| elite_3 | EliteSpawn (Tinh Anh cận chiến) | Kẻ cầm vũ khí. Khép trước khi nó vung. | hero | 30 | — |
| boss_intro_mb | BossIntro bossId=MB_* (mini-boss bất kỳ) | Một khối to. Tìm đường cắt. | hero | — | — |
| boss_intro_b1 | BossIntro bossId=BS_B1 | Chuông kêu sai giờ. Để ta chỉnh. | hero | — | có |
| boss_intro_b2 | BossIntro bossId=BS_B2 | Bến của ông lệch rồi, ông lái. | hero | — | có |
| boss_intro_b3 | BossIntro bossId=BS_B3 | Khuôn đúc lệch tâm. Ta thấy rồi. | hero | — | có |
| boss_intro_b4 | BossIntro bossId=BS_B4 | Thương dài mấy cũng có tầm của nó. | hero | — | có |
| boss_intro_final | BossIntro bossId=BS_FINAL | Đất nhà ngươi, ta đo lại hết. | hero | — | có |
| victory_1 | BossDefeated (clip victory) | Về đúng huyệt rồi. Nằm yên. | hero | — | — |
| victory_2 | BossDefeated | Đất không nói dối. Chỉ người đo sai. | hero | — | — |
| victory_3 | BossDefeated | Xong một nét. Còn nhiều nét. | hero | — | — |
| death_1 | HeroDeath heroId=H04 (sau vo_death, trên DeathRecap) | Lệch… một phân thôi mà… | hero | — | — |
| death_2 | HeroDeath heroId=H04 | Thầy… con đo sai rồi. | hero | — | — |
| hub_hearth | HubStationInteract stationId=ST_HEARTH | Lửa ấm quá. Con ngồi đo đất chút, bà Ulla. | hero | 60 | — |
| hub_forge | HubStationInteract stationId=ST_FORGE | Lão Grem, khớp compa lại lỏng rồi. | hero | 60 | — |
| hub_yard | HubStationInteract stationId=ST_YARD | Răm, đứng yên. Ta đo khoảng cách. | hero | 60 | — |
| hub_ledger | HubStationInteract stationId=ST_LEDGER | Thầy Hol, ghi giúp con mấy huyệt mới. | hero | 60 | — |
| hub_dock | HubStationInteract stationId=ST_DOCK | Bờ bên kia đo không ra. Lạ thật. | hero | 60 | — |
| hub_wenna | HubStationInteract stationId=ST_HEARTH khi H11 đã mở (hub_idle) | Wenna lại đào lệch nửa gang rồi. | hero | 120 | — |