🔔 Bladewake GDD
⚔️ Kẻ Thức (Hero)

Sậu

Thợ Kẻ Mực · Compa Địa Lý: compa đo huyệt 2 chân lưỡi sắt có khớp · H04

Nhóm vai: REACHTài nguyên: Mực#30f089Cập nhật: 2026-11-07
105
HP tối đa
145
Tốc chạy
4
Độ khó / 5
40
Đòn
40
Edge
41
VFX

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)

Trục T1
Trục R1
Trục V2
Trục S2
Trục D1
🎯
Pitch Cô học trò thầy địa lý tách Compa Địa Lý làm hai lưỡi: gom Mực bằng thế Tách, đâm 80 px bằng thế Ghép, rồi kẻ một đường mực 320 px cắt đôi cả hàng quái.

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

“Đo trước, bước sau. Đi thôi.”RunStart (bark 1/3 ngẫu nhiên, sau wake)
“Thầy ơi, đêm nay con kẻ lại đất.”RunStart
“Mộ dời bao nhiêu, con đo lại bấy nhiêu.”RunStart
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
🎨
Khoá hình Silhouette (cao 34 px, 3 khối): đầu tóc đen búi thấp cài que phấn · thân áo thô xắn tay tới khuỷu, quần ống túm buộc dây · compa sắt cao gần bằng thân (2 chân lưỡi 30 px, khớp tròn ở đỉnh) dựng chéo sau lưng hoặc cầm 2 tay. Dấu nhận trong bầy: 2 lưỡi lục slot mở hình chữ V + túi phấn trắng đeo hông trái + la bàn gỗ tròn ở thắt lưng phải. Trang phục: áo vải gai mộc (ramp cloth), dây lưng gỗ, la bàn gỗ và cán compa (ramp wood), da tay/mặt (ramp skin); chỉ 2 lưỡi compa, vệt mực và viền FX mang slot `#30f089` (ramp blade). Vũ khí: Compa Địa Lý = 2 chân lưỡi sắt thẳng, khớp đinh tán ở đỉnh có vòng treo dây mực; thế Tách = 2 chân mở 60–120° thành 2 lưỡi, thế Ghép = 2 chân khép thành 1 mũi dài. Đọc ở 3/4 top-down: lưỡi luôn vẽ sáng hơn thân 2 bậc (r6 `#a3ffc5` ở mép), túi phấn trắng là điểm sáng thứ 2; thế Tách đọc bằng hình chữ V, thế Ghép bằng 1 vạch thẳng; vòng chân r12 `#30f089`. Chân dung bust: 3/4 mặt hướng phải, mắt nheo đo khoảng cách, que phấn ngậm ngang môi; 3 biểu cảm neutral/resolve/grief. Tư thế màn chọn: quỳ 1 gối, cắm 1 chân compa xuống sàn, chân kia xoay vạch nửa vòng phấn sáng quanh mình (gợi Kẻ Vòng), tay trái giơ la bàn gỗ. Cỡ chân dung: bust 128×128, màn chọn 192×192 theo doc 30 §5.3. CẤM: váy, mũ vải buộc cằm, ruy băng, kim, hình nhân giấy; không vàng/tím dải tell trên trang phục; không chữ Hán làm hoạ tiết.
Ramp màu SậuRamp màu Sậubladeblade #a3ffc5#a3ffc5blade #30f089#30f089blade #24b46e#24b46eblade #1a6b44#1a6b44clothcloth #cbbfa6#cbbfa6cloth #9c8f78#9c8f78cloth #6d6252#6d6252cloth #423a31#423a31woodwood #c98e5e#c98e5ewood #a86a42#a86a42wood #7a4a2e#7a4a2ewood #3b2316#3b2316skinskin #f0c8a0#f0c8a0skin #d49a72#d49a72skin #a8704e#a8704eskin #6e4430#6e4430
visual.palette_ramps

Skin

Phấn Đá Ong

SKN_H04_1
LUT_H04_1
currency CUR_VIGIL_CANDLE, cost 30

Mực Sương Sớm

SKN_H04_2
LUT_H04_2
currency CUR_VIGIL_CANDLE, cost 45

Thước Đêm Rằm

SKN_H04_3
LUT_H04_3
currency CUR_VIGIL_CANDLE, cost 60

Ngà Kẻ Mực

SKN_H04_4
LUT_H04_IVORY
mr MR20
Clip hoạt ảnh (42) — số khung
Số khung theo clipSố khung theo clipidleidle: 4848runrun: 1818dashdash: 1010attack1attack1: 2828attack2attack2: 2828attack3attack3: 2828attack4attack4: 2828attack5attack5: 3636attack_b1attack_b1: 3030attack_b2attack_b2: 3030attack_b3attack_b3: 4040stance_swapstance_swap: 1212clampclamp: 2828ink_lineink_line: 4040dash_attackdash_attack: 2626answeranswer: 1212answer_hitanswer_hit: 1818hold_inhold_in: 1010hold_loophold_loop: 1818hold_outhold_out: 88countercounter: 3030sk01sk01: 4040sk02sk02: 4444sk03sk03: 4040sk04sk04: 3636sk05sk05: 4444sk06sk06: 3434sk07sk07: 4040sk08sk08: 3030ul1ul1: 9696ul2ul2: 8484ul3ul3: 3030hurthurt: 1010brokenbroken: 2828deathdeath: 6060wakewake: 3434reviverevive: 3636victoryvictory: 4242hub_idlehub_idle: 6060selectselect: 2424as2_finas2_fin: 3030as3_finas3_fin: 3030
visual.clips
42 dòng
ClipKhungLặpKhung trúngHướng
idle48có—5+3
run18có—5+3
dash10—05+3
attack128—35+3
attack228—35+3
attack328—35+3
attack428—35+3
attack536—55+3
attack_b130—45+3
attack_b230—45+3
attack_b340—65+3
stance_swap12—25+3
clamp28—35+3
ink_line40—65+3
dash_attack26—25+3
answer12—05+3
answer_hit18—25+3
hold_in10——5+3
hold_loop18có—5+3
hold_out8——5+3
counter30—35+3
sk0140—5/115+3
sk0244—6/125+3
sk0340—5/85+3
sk0436—55+3
sk0544—3/6/9/125+3
sk0634—45+3
sk0740—115+3
sk0830—35+3
ul196—20/455+3
ul284—6/30/325+3
ul330—55+3
hurt10——5+3
broken28——5+3
death60——5+3
wake34——5+3
revive36——5+3
victory42——5+3
hub_idle60có—5+3
select24có—1
as2_fin30—65+3
as3_fin30—55+3

3Chỉ số & khung vai trò

Chỉ số Sậu so với khungMỗi trục chia theo max của 12 heroSậuKhung nhóm (max)Khung nhóm (min)TB 12 heroHP_MAXMOVE_SPEEDANSWER_WINDOWdash_pxSậuSậu · HP_MAX: 105Sậu · MOVE_SPEED: 145Sậu · ANSWER_WINDOW: 0.15Sậu · dash_px: 80Khung nhóm (max)Khung nhóm (max) · HP_MAX: 115Khung nhóm (max) · MOVE_SPEED: 145Khung nhóm (max) · ANSWER_WINDOW: 0.16Khung nhóm (max) · dash_px: 90Khung nhóm (min)Khung nhóm (min) · HP_MAX: 105Khung nhóm (min) · MOVE_SPEED: 138Khung nhóm (min) · ANSWER_WINDOW: 0.15Khung nhóm (min) · dash_px: 80TB 12 heroTB 12 hero · HP_MAX: 119.58TB 12 hero · MOVE_SPEED: 136.67TB 12 hero · ANSWER_WINDOW: 0.16TB 12 hero · dash_px: 80.83
Trục = chỉ số khác nhau giữa các hero; 100% = max roster. Khung nhóm = min–max các hero cùng role_group (Halka, Sậu).
27 dòng
Dòng sáng = hero đứng đầu/cuối roster ở chỉ số đó
Chỉ sốTênGiá trịĐơn vịSo max rosterRoster min–maxNhóm min–max
HP_MAXHP tối đa105HP
105
100 – 160105 – 115
MOVE_SPEEDTốc chạy145px sàn/s
145
130 – 145138 – 145
ACCEL_TIMEThời gian tăng/giảm tốc0.06s
0.06
0.06 – 0.060.06 – 0.06
POWERLực10điểm
10
10 – 1010 – 10
DMG_INCSát thương0+%
0
0 – 00 – 0
ATK_SPEEDTốc đánh1×
1
1 – 11 – 1
CRIT_CHANCETỉ lệ chí mạng5%
5
5 – 55 – 5
CRIT_MULTHệ số chí mạng2×
2
2 – 22 – 2
AREACỡ vùng1× bán kính
1
1 – 11 – 1
PROJ_SPEEDTốc đạn hero1×
1
1 – 11 – 1
DURATIONThời lượng hiệu ứng hero (vùng, triệu hồi, buff)1×
1
1 – 11 – 1
CDRGiảm thời gian hồi chiêu kỹ năng0%
0
0 – 00 – 0
DASH_CHARGESLượt Lướt2lượt
2
2 – 22 – 2
DASH_RECHARGENạp 1 lượt Lướt0.7s
0.7
0.7 – 0.70.7 – 0.7
ANSWER_WINDOWCửa sổ ĐÁP0.15s
0.15
0.15 – 0.180.15 – 0.16
POISE_MAXThế hero100điểm
100
100 – 100100 – 100
POISE_REGENHồi Thế40điểm/s
40
40 – 4040 – 40
DRGiảm sát thương nhận0%
0
0 – 00 – 0
ELITE_DMGSát thương lên M/L/XL0+%
0
0 – 00 – 0
STATUS_POWERUy lực trạng thái (sát thương DoT + số của trạng thái hero gây)0+%
0
0 – 00 – 0
HEAL_MULTHệ số hồi phục HP1×
1
1 – 11 – 1
PICKUP_RBán kính hút XP/cầu máu50px
50
50 – 5050 – 50
ULT_GAINHệ số nạp Dư Âm1×
1
1 – 11 – 1
RES_GAINHệ số nạp tài nguyên hero1×
1
1 – 11 – 1
KNOCKBACKLực đẩy1×
1
1 – 11 – 1
SHIELD_CAPTrần khiên50% HP tối đa
50
50 – 5050 – 50
dash_px—80—
80
72 – 9080 – 90

4Tài nguyên & nội tại

Thanh MựcThanh Mực 0–5, ngưỡng trạng tháiMực Đầy ≥ 505khởi đầu 05 · Mực Đầy
resource.thresholds
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
Nguồn nạp Mực (mỗi sự kiện)Nguồn nạp Mực (mỗi sự kiện)attackattack: 11combo_endcombo_end: 11stancestance: 11answeranswer: 11perfect_dodgeperfect_dodge: 11
resource.gain
Sự kiệnLượngTrần/sGhi chú
attack1—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_end1—Nhát 5 thế Tách (H04_COMBO_A_5) trúng ≥ 1 kẻ: +1.
stance1—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.
answer1—Khép Compa thành công (cận chiến hoặc đạn): +1.
perfect_dodge1—Né Hoàn Hảo khi Bước Phấn: +1.

Tiêu

Hành độngGiáThiếu vẫn dùngGhi chú
INK · RESOURCE H04_INK_LINE5khôngKẻ 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_SK022khôngDây Mực Bật. Thiếu Mực: kỹ năng bị từ chối, HUD nháy ô.
Thế Đứng Thước H04_SK061khôngThế Đứ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

Cú kết kế tiếp (A5 hoặc B3) hoá Kẻ Mực 320 × 24 px, tiêu 5 Mực.

Nội tại: Đường Thẳng

H04_PASSIVEmin_cut: 8refund: 2
Kẻ Mực cắt trúng từ 8 kẻ trở lên hoàn 2 Mực.

5Phòng thủ: ĐÁP · Giữ · Phản · Lướt

ĐÁP: Khép Compa

ANS · ANSWER H04_ANSWERlen: 64disarm_s: 2split_deg: 25split_mult: 1.5split_pierce: 1disarm_lxl_poise: 15

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
ĐÁP: Khép CompaĐÁP: Khép Compa16 px32 px48 px64 pxLINEhurtbox r 7shape LINE p0 [0, 0] p1 [64, 0] w 16sàn 3/4 · ry = rx × 0.5

Giữ: Kẻ Vòng

RING · HOLD H04_HOLDr: 56draw_s: 0.5stun_s: 0.3proj_slow_pct: 50m_stun_mult: 0.5lxl_poise: 15per_enemy_cd_s: 1

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

Phản: Kim Chỉ Nam

CTR · COUNTER H04_COUNTER
lunge_px
48
damage_eq
180
Phản: Kim Chỉ NamPhản: Kim Chỉ Nam32 px64 px96 pxLINEhurtbox r 7shape LINE p0 [0, 0] p1 [100, 0] w 16sàn 3/4 · ry = rx × 0.5

Lướt

DASH · DASH H04_DASH
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_SK02 TAP · H04_SK03 TAP · H04_SK04 HOLD · H04_SK05 TAP · H04_SK06 TAP · H04_SK07 TAP · H04_SK08 TAP

6Bộ đòn & frame data

Frame data Sậu · COMBO_AFrame data Sậu · COMBO_Akhởi (startup)hiệu lực (active)hồi (recovery)0 t51015202530A1 Tách 1 — lưỡi tráiA1 Tách 1 — lưỡi trái · startup 5t · coef 1A1 Tách 1 — lưỡi trái · active 4t · coef 1A1 Tách 1 — lưỡi trái · recovery 11t · coef 120tA2 Tách 2 — lưỡi phảiA2 Tách 2 — lưỡi phải · startup 5t · coef 1A2 Tách 2 — lưỡi phải · active 4t · coef 1A2 Tách 2 — lưỡi phải · recovery 11t · coef 120tA3 Tách 3 — chấm mựcA3 Tách 3 — chấm mực · startup 5t · coef 1A3 Tách 3 — chấm mực · active 4t · coef 1A3 Tách 3 — chấm mực · recovery 12t · coef 121tA4 Tách 4 — lưỡi chéoA4 Tách 4 — lưỡi chéo · startup 5t · coef 1A4 Tách 4 — lưỡi chéo · active 4t · coef 1A4 Tách 4 — lưỡi chéo · recovery 11t · coef 120tA5 Tách Kép — kết thế TáchA5 Tách Kép — kết thế Tách · startup 9t · coef 2.4A5 Tách Kép — kết thế Tách · active 5t · coef 2.4A5 Tách Kép — kết thế Tách · recovery 18t · coef 2.432t
Tick = 1/60 s (doc 12 §3.1) · khởi / hiệu lực / hồi
40 dòng
40 đòn · hero_moves
ĐònSlotKhởi tHiệu lực tHồi tTổng sCoefLớp đònHitboxMục tiêuThếHitstop sTraumaGiápHuỷ vàoCờGhi chú
Tách 1 — lưỡi trái H04_COMBO_A_1COMBO_A54110.3331LIGHTARC r 48 arc 1204840.0350NONEHEAVY@9atk_speed_scalesLưỡ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_2COMBO_A54110.3331LIGHTARC r 48 arc 1204840.0350NONEHEAVY@9atk_speed_scalesLưỡ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_3COMBO_A54120.351LIGHTARC r 48 arc 1204840.0350NONEHEAVY@9atk_speed_scalesTrú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_4COMBO_A54110.3331LIGHTARC r 48 arc 1204840.0350NONEHEAVY@9atk_speed_scales2 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_5COMBO_A95180.5332.4HEAVYARC r 52 arc 12048200.070.28NONEHEAVY@14finisher/shieldbreak/atk_speed_scales2 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_1COMBO_B83180.4832.2LIGHTLINE p0 0/0 p1 80/0 w 1448100.0350NONEHEAVY@11atk_speed_scales/pierceMũ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_2COMBO_B83180.4832.2LIGHTLINE p0 0/0 p1 80/0 w 1448100.0350NONEHEAVY@11atk_speed_scales/pierceRút về rồi đâm lại cùng trục.
Ghép Xuyên — kết thế Ghép H04_COMBO_B_3COMBO_B124270.7174.5HEAVYLINE p0 0/0 p1 96/0 w 1648300.070.28NONEHEAVY@16finisher/shieldbreak/atk_speed_scales/pierceLao 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_SWAPHEAVY4160.1830LIGHTNONE48000NONECOMBO_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_CLAMPHEAVY63140.3832.5MEDIUMARC r 40 arc 6048150.0450.22NONE——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_LINERESOURCE124220.6333HEAVYLINE p0 0/0 p1 320/0 w 2464100.070.5NONE—shieldbreak/pierceChâ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_DASHDASH0930.20LIGHTNONE48000NONE——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_ATTACKDASH_ATTACK44140.3671.6MEDIUMLINE p0 −16/0 p1 80/0 w 2848100.0450.22NONE—atk_speed_scalesKé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_ANSWERANSWER0960.250ANSWERLINE p0 0/0 p1 64/0 w 1648450.080.25NONE—chain_answerCử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_SPLITANSWER0100.0170ANSWERPOINT48000NONE—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_HOLDHOLD3018063.60LIGHTRING r 56 band 648000NONE——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_COUNTERCOUNTER64180.46716COUNTERLINE p0 0/0 p1 100/0 w 1648300.120.45INVULN—shieldbreak/pierceLao 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_INKCOUNTER82180.4672COUNTERLINE p0 100/−32 p1 100/32 w 4048000NONE——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_SWEEPSKILL1018160.7332.5SKILLCIRCLE r 9648120.040.25NONE—rehitCắ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_LINESKILL1214160.73SKILLLINE p0 0/0 p1 240/0 w 2048100.050.3NONE—pierce/rehitTick 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_CONESKILL98180.5832.5SKILLARC r 80 arc 9048100.050.3NONE—rehit2 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_PLANTSKILL104140.4673SKILLCIRCLE r 48 off_fwd 12048150.040.22NONE——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_STRINGSKILL1424004.2330.4SKILLLINE p0 0/0 p1 120/0 w 1248000NONE—rehitDâ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_STABSKILL620140.6671.5SKILLLINE p0 0/0 p1 80/0 w 14180.030.12NONE—rehit/shieldbreakKhoá 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_BURSTSKILL0100.0172.2SKILLCIRCLE r 16160.050.3NONE——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_STRIKESKILL84160.4679.5SKILLLINE p0 0/0 p1 80/0 w 163400.070.3FIRM——Đổ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_STRIDESKILL41440.3670SKILLNONE48000NONE——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_CLAMPSKILL223140.653SKILLARC r 40 arc 6048150.0450.22NONE——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_CASTSKILL61140.350SKILLNONE48000NONE——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_MIRRORSKILL0360060SKILLNONE48000NONE——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_LINESULT40305026ULTLINE p0 0/0 p1 320/0 w 48128100.060.55INVULN—shieldbreak/pierceCắ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_CLOSEULT9062426ULTCIRCLE r 140128400.10.8INVULN—shieldbreakTick 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_STABSULT1242421.64.5ULTLINE p0 0/0 p1 80/0 w 14160.030.25INVULN—shieldbreak/rehitKhoá 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_LINEULT604321.68ULTLINE p0 −48/0 p1 48/0 w 121200.080.5INVULN—shieldbreak/pierceTick 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_BURSTULT641311.628ULTCIRCLE r 241300.10.8INVULN—shieldbreak/executeTick 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_CASTULT106140.58ULTCIRCLE r 96128400.10.6INVULN—shieldbreak0.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_AUTOLINEULT0400.0674ULTLINE p0 0/0 p1 160/0 w 3248100.050.3NONE—pierceTrong 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_ECHOULT12400.26710.8COUNTERLINE p0 0/0 p1 100/0 w 1648180.080.35NONE—shieldbreak/pierceTrong 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_FINASPECT124260.74.5HEAVYLINE p0 0/0 p1 100/0 w 1648300.070.28NONE—finisher/shieldbreak/atk_speed_scales/pierceThay 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_FINASPECT108200.6332.6HEAVYCIRCLE r 7248200.070.28NONE—finisher/shieldbreak/atk_speed_scalesA6 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

Hồi chiêu 8 kỹ năngHồi chiêu 8 kỹ năngVẽ Vòng TrònVẽ Vòng Tròn: 7 s7 sDây Mực BậtDây Mực Bật: 8 s8 sKhoá LưỡiKhoá Lưỡi: 11 s11 sCắm Mốc ĐịaCắm Mốc Địa: 12 s12 sĐịnh Vị HuyệtĐịnh Vị Huyệt: 8 s8 sThế Đứng ThướcThế Đứng Thước: 10 s10 sSải CompaSải Compa: 5 s5 sĐối Xứng Địa LýĐối Xứng Địa Lý: 9 s9 s
skills[].cooldown_s

Vẽ Vòng Tròn

H04_SK01CLEARHồi: 7 sGiá: 0Bấm: TAP
mechanic_key skill.compass_pivot
ICắm 1 chân, quét 2 vòng r96 quanh mình, mỗi vòng 2.5× Lực.IICắm 1 chân, quét 2 vòng r104 quanh mình, mỗi vòng 3× Lực.IIIQuét 2 vòng r104, mỗi vòng 3× Lực; vòng 2 kéo bầy 32 px về chân cắm.

Hạ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

Hitbox Vẽ Vòng TrònHitbox Vẽ Vòng Tròn24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 96sàn 3/4 · ry = rx × 0.5

Dây Mực Bật

H04_SK02CLEARHồi: 8 sGiá: 2Bấm: TAP
mechanic_key skill.line_cut
ITiêu 2 Mực: kẻ dây 240 px, 2 nhịp 3× Lực; quái thường ≤ 40% HP đứt đôi.IITiêu 2 Mực: kẻ dây 270 px, 2 nhịp 3.6× Lực; quái thường ≤ 40% HP đứt đôi.IIIDây 270 px, 2 nhịp 3.6× Lực, đứt đôi quái ≤ 50% HP; cắt ≥ 6 kẻ hoàn 1 Mực.

Hạ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

Hitbox Dây Mực BậtHitbox Dây Mực Bật72 px144 px216 px288 pxLINEhurtbox r 7shape LINE p0 [0, 0] p1 [240, 0] w 20sàn 3/4 · ry = rx × 0.5

Khoá Lưỡi

H04_SK03CONTROLHồi: 11 sGiá: 0Bấm: TAP
mechanic_key skill.disarm
INón 90° r80: 2 nhịp 2.5× Lực, +2 lớp Sương Giá, Tước Khí 2 s.IINón 100° r88: 2 nhịp 3× Lực, +2 lớp Sương Giá, Tước Khí 2 s.IIINón 100° r88: 3 nhịp 3× Lực, +3 lớp Sương Giá (đủ 3 = đóng băng), Tước Khí 2 s.

Hạ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

Hitbox Khoá LưỡiHitbox Khoá Lưỡi24 px48 px72 px96 pxARChurtbox r 7shape ARC r 80 arc 90sàn 3/4 · ry = rx × 0.5

Cắm Mốc Địa

H04_SK04CONTROLHồi: 12 sGiá: 0Bấm: HOLDGiữ tối đa: 1 s
mechanic_key skill.beacon
ICắm Mốc ≤ 200 px (3× Lực, Trói), giữ 8 s; dây phấn 4 s làm choáng 0.3 s.IICắm Mốc ≤ 200 px (3.6× Lực, Trói), giữ 10 s; dây phấn 5 s làm choáng 0.3 s.IIIGiữ tới 2 Mốc, dây phấn nối Mốc ↔ Mốc ↔ hero 5 s; Kẻ Mực kế xuất phát từ Mốc.

Hạ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

Hitbox Cắm Mốc ĐịaHitbox Cắm Mốc Địa48 px96 px144 px192 pxCIRCLEhurtbox r 7shape CIRCLE r 48 off_fwd 120sàn 3/4 · ry = rx × 0.5

Định Vị Huyệt

H04_SK05DUELHồi: 8 sGiá: 0Bấm: TAPphá khiên
mechanic_key skill.mark_apply
I4 đâm 1.5× Lực vào 1 kẻ, mỗi đâm 1 chấm; Kẻ Mực/Phản kế nổ mỗi chấm 2.2× Lực.II4 đâm 1.8× Lực vào 1 kẻ, mỗi đâm 1 chấm; Kẻ Mực/Phản kế nổ mỗi chấm 2.6× Lực.III5 đâm 1.8× Lực, đâm cuối luôn chí mạng; mỗi chấm nổ 2.6× Lực.

Hạ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

Hitbox Định Vị HuyệtHitbox Định Vị Huyệt24 px48 px72 px96 pxLINEhurtbox r 7shape LINE p0 [0, 0] p1 [80, 0] w 14sàn 3/4 · ry = rx × 0.5

Thế Đứng Thước

H04_SK06DUELHồi: 10 sGiá: 1Bấm: TAP
mechanic_key skill.stance_bonus
ITiêu 1 Mực: đổi thế, bổ 9.5× Lực; 3 s Kẻ Vòng vẽ tức thì, r72, khựng 0.6 s.IITiêu 1 Mực: đổi thế, bổ 11× Lực; 4 s Kẻ Vòng vẽ tức thì, r72, khựng 0.6 s.IIIBổ 11× Lực; 4 s Kẻ Vòng tức thì r72: kẻ vượt vạch khựng 0.6 s và Tước Khí 1 s.

Hạ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

Hitbox Bổ ThướcHitbox Bổ Thước24 px48 px72 px96 pxLINEhurtbox r 7shape LINE p0 [0, 0] p1 [80, 0] w 16sàn 3/4 · ry = rx × 0.5

Sải Compa

H04_SK07TEMPOHồi: 5 sGiá: 0Bấm: TAP
mechanic_key skill.stance_strike
IXoay quanh 1 chân, dịch 110 px, đổi thế và Kẹp Compa 3× Lực tại đích.IIXoay quanh 1 chân, dịch 110 px, đổi thế và Kẹp Compa 3.6× Lực; hồi 4.5 s.III2 lượt: xoay dịch 110 px, đổi thế, Kẹp Compa 3.6× Lực tại đích.

Hạ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

Hitbox Kẹp ĐíchHitbox Kẹp Đích8 px16 px24 px32 px40 px48 pxARChurtbox r 7shape ARC r 40 arc 60sàn 3/4 · ry = rx × 0.5

Đối Xứng Địa Lý

H04_SK08TEMPOHồi: 9 sGiá: 0Bấm: TAP
mechanic_key skill.mirror_shape
I+2 Mực; 6 s mọi cú combo có bản đối xứng sau lưng 50% sát thương.II+2 Mực; 7 s mọi cú combo có bản đối xứng sau lưng 60% sát thương.III+2 Mực; 7 s mỗi cú combo có 2 bản đối xứng 2 bên, 60% sát thương.

Hạ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

H04_UL1AREAThời lượng: 2 sBất tử t: 0/120Chậm thế giới: 0.5
mechanic_key ult.line_cut

Kẻ 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.

lines: 6len: 320w: 48coef: 6r: 140close_coef: 6mlxl_mult: 2.5

Đòn: UL1_LINES · ULT H04_UL1_LINES · UL1_CLOSE · ULT H04_UL1_CLOSE

Hitbox Lưới Kinh Tuyến — 6 đườngHitbox Lưới Kinh Tuyến — 6 đường96 px192 px288 px384 pxLINEhurtbox r 7shape LINE p0 [0, 0] p1 [320, 0] w 48sàn 3/4 · ry = rx × 0.5

Chấm Huyệt Tử

H04_UL2EXECUTEThời lượng: 1.6 sBất tử t: 0/96Chậm thế giới: 0.4
mechanic_key ult.mark_detonate

7 đâ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.

stabs: 7stab_coef: 4.5dot_coef: 4line_coef: 8exec_pct: 20

Đòn: UL2_STABS · ULT H04_UL2_STABS · UL2_LINE · ULT H04_UL2_LINE · UL2_BURST · ULT H04_UL2_BURST

Hitbox Chấm Huyệt Tử — 7 đâmHitbox Chấm Huyệt Tử — 7 đâm24 px48 px72 px96 pxLINEhurtbox r 7shape LINE p0 [0, 0] p1 [80, 0] w 14sàn 3/4 · ry = rx × 0.5

Thước Trời

H04_UL3TRANSFORMThời lượng: 9 sBất tử t: 0/30Chậm thế giới: 0.6
mechanic_key ult.counter_echo

9 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.

dur: 9combo_pct: 30len: 160beats: 2echo_pct: 60cast_coef: 8
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

Hitbox Thước Trời — kíchHitbox Thước Trời — kích24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 96sàn 3/4 · ry = rx × 0.5

93 Dạng Rèn

Compa Sắt Địa Lý

H04_AS1Lớp vũ khí: dividerMảnh Vang: 0

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
—
VFX — · SFX —

Compa Đồng Chân Dài

H04_AS2Lớp vũ khí: divider_bronze_longMảnh Vang: 8Lệch hue: −3°Clip mới: as2_fin

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

H04_AS3Lớp vũ khí: divider_loose_shortMảnh Vang: 15Lệch hue: 3°Clip mới: as3_fin

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á

40
Edge
6
Cộng Hưởng
4
Tiến Hoá
4
Then Chốt
Độ hiếm 40 EdgeĐộ hiếm 40 EdgeCOMMON: 16 (40%)RARE: 13 (32%)EPIC: 7 (18%)LEGENDARY: 4 (10%)40EdgeCOMMON — 16 (40%)RARE — 13 (32%)EPIC — 7 (18%)LEGENDARY — 4 (10%)
Số Edge theo tag (tính cả tag phụ)Số Edge theo tag (tính cả tag phụ)SKILLSKILL: 1515RES:INKRES:INK: 1111COMBOCOMBO: 88ANSWERANSWER: 88COUNTERCOUNTER: 88DASHDASH: 77ULTULT: 44CRITCRIT: 33AREAAREA: 33STS_FROSTSTS_FROST: 22
edges[].tags
COMMONRAREEPICLEGENDARY

Then Chốt (LEGENDARY)

Khép Compa Kẻ Mực

H04_E37LEGENDARYHạng tối đa: 1Mở: MR10

ĐÁP khi ≥ 3 Mực tự Kẻ Mực 80%; kẻ sống sót dính Tước Khí 1.5 s.

ON_ANSWER · CUSTOM_HOOK · NONE · answer.line_cut + res_spend.disarm
target VERB:ANSWER, tpl TPL_H04_lp37, offer_excl XG_H04_ANSWER_RULE, ink_cost 3, len 320, coef_pct 80, disarm_s 1.5
Tag: Đáp ANSWER · Tài nguyên: Mực RES:INK

Kim Ghép Liền Mạch

H04_E38LEGENDARYHạng tối đa: 1Mở: MR10

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%.

ON_COUNTER · CUSTOM_HOOK · NONE · counter.stance_bonus + attack.counter_echo
target VERB:COUNTER, tpl TPL_H04_lp38, offer_excl XG_H04_COUNTER_ECHO, hits 3, coef_pct 40, win_s 3
Tag: Combo COMBO · Phản COUNTER

Nét Liền Không Nhấc Bút

H04_E39LEGENDARYHạng tối đa: 1Mở: MR10

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).

ON_RESOURCE_SPEND · CUSTOM_HOOK · NONE · combo_end.line_cut + res_spend.res_refund
target RES, tpl TPL_H04_lp39, refund 2, pct 40, win_s 3, len 240, coef_pct 60, refund_cap 2, stack_passive_refund không, icd_s 4
Tag: Combo COMBO · Tài nguyên: Mực RES:INK

Bước Trên Kinh Tuyến

H04_E40LEGENDARYHạng tối đa: 1Mở: MR10

Né Hoàn Hảo +12 Dư Âm; trong Thước Trời, mỗi Lướt kẻ mực 3× Lực.

ON_PERFECT_DODGE · CUSTOM_HOOK · NONE · perfect_dodge.ult_gain + dash.line_cut
target VERB:DASH, tpl TPL_H04_lp40, ult 12, len 80, w 16, coef 3
Tag: Lướt DASH · Tuyệt kỹ ULT

Hướng build Combo · 6 Edge

Cộng Hưởng: Nhịp Hai Chân H04_RS1 · Combo COMBO

Bậc I≥ 3 Edge tag
Tốc đánh combo +14%.
Bậc II≥ 5 Edge tag
Cú kết tự đổi thế; cú đầu thế mới là Kẹp Compa +25% sát thương.
Đổ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ở

H04_E01COMMONHạng tối đa: 3Mở: MR01

Combo thế Tách: cung +20/35/50°, bán kính +6/10/15%.

tham sốH1H2H3
arc_add203550
radius_inc61015
PASSIVE · MODIFY_MOVE · INC · passive.arc_widen
target VERB:COMBO
Tag: Combo COMBO

Mũi Ghép Sâu

H04_E02COMMONHạng tối đa: 3Mở: MR01

Đâm thế Ghép: tầm +12/21/30 px, sát thương +8/14/20%.

tham sốH1H2H3
len_add122130
dmg_inc81420
PASSIVE · MODIFY_MOVE · INC · passive.range_extend
target VERB:COMBO
Tag: Combo COMBO

Gương Mực Đậm

H04_E03COMMONHạng tối đa: 3Mở: MR01

Đố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ốH1H2H3
coef_add122130
dur_add11.752.5
PASSIVE · MODIFY_MOVE · INC · passive.mirror_shape
target H04_SK08
Tag: Combo COMBO · Kỹ năng SKILL

Kẹp Tước Khí

H04_E04RAREHạng tối đa: 2Mở: MR01

Khi Kẹp Compa trúng, kẻ giữa 2 chân compa dính Tước Khí 1/1.6 s.

tham sốH1H2
duration_s11.6
ON_HIT · APPLY_STATUS · NONE · stance.disarm
target H04_MV_KEP, status STS_DISARM
Tag: Combo COMBO

Hai Mũi Đối Xứng

H04_E05RAREHạng tối đa: 2Mở: MR03

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ốH1H2
coef_pct6096
PASSIVE · MODIFY_MOVE · NONE · combo_end.mirror_shape
target VERB:FINISHER
Tag: Combo COMBO

Ba Huyệt Liền Mũi

H04_E06EPICHạng tối đa: 1Mở: MR06

Ghép trúng đặt chấm mực (trần 3); B3 nổ chấm 1.5× Lực, luôn chí mạng.

ON_HIT · BLAST · NONE · attack.mark_apply
target VERB:COMBO, offer_requires EDGE:H04_E02, cap 3, coef_per_mark 1.5, r 24
Tag: Combo COMBO · Chí mạng CRIT

Hướng build Lướt · 6 Edge

Cộng Hưởng: Bước Đo Đất Lành H04_RS2 · Lướt DASH

Bậc I≥ 3 Edge tag
Thời gian nạp Lướt −15%.
Bậc II≥ 5 Edge tag
Lướt xuyên quái: mỗi quái xuyên qua +1 Mực (≤ 2 Mực/Lướt).
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

H04_E07COMMONHạng tối đa: 3Mở: MR01

Lướt: cự ly +6/10/14 px, thời gian nạp −8/14/20%.

tham sốH1H2H3
dist_add61014
recharge_cut81420
PASSIVE · MODIFY_MOVE · FLAT · passive.dash_distance
target VERB:DASH
Tag: Lướt DASH

Chân Nhẹ Như Phấn

H04_E08COMMONHạng tối đa: 3Mở: MR01

Khi Né Hoàn Hảo, tốc đánh +15/26/38% trong 4 s.

tham sốH1H2H3
value152638
ON_PERFECT_DODGE · STAT · INC · perfect_dodge.stance_bonus
target SELF, duration_s 4
Tag: Lướt DASH

Sải Rộng Chân

H04_E09COMMONHạng tối đa: 3Mở: MR01

Sải Compa: xoay dịch +16/28/40 px, Kẹp tại đích +15/26/38%.

tham sốH1H2H3
travel_add162840
dmg_inc152638
PASSIVE · MODIFY_MOVE · INC · passive.stance_strike
target H04_SK07
Tag: Lướt DASH · Kỹ năng SKILL

Vệt Phấn Cắt

H04_E10RAREHạng tối đa: 2Mở: MR01

Khi Lướt xuyên quái, vệt phấn 80 × 12 px cắt 1.6/2.6× Lực.

tham sốH1H2
coef1.62.6
ON_DASH · BLAST · NONE · dash_through.line_cut
target VERB:DASH, len 80, w 12
Tag: Lướt DASH · Vùng rộng AREA

Sải Quét Cung

H04_E11RAREHạng tối đa: 2Mở: MR03

Khi dùng Sải Compa, chân quét cung 180° r72 quanh chân trụ, 2/3.2× Lực.

tham sốH1H2
coef23.2
ON_SKILL_CAST · BLAST · NONE · stance.compass_pivot
target H04_SK07, arc 180, r 72
Tag: Lướt DASH · Kỹ năng SKILL

Bước Đo Đất

H04_E12EPICHạng tối đa: 1Mở: MR06

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.

ON_DASH · CUSTOM_HOOK · NONE · dash.beacon
target VERB:DASH, tpl TPL_H04_chalk_step, offer_requires EDGE:H04_E07, offer_excl XG_H04_INK_ORIGIN, t 4, cap 1, len_max 320
Tag: Lướt DASH · Tài nguyên: Mực RES:INK

Hướng build Đáp · 6 Edge

Cộng Hưởng: Khép Vòng Tước Khí H04_RS3 · Đáp ANSWER

Bậc I≥ 3 Edge tag
Tước Khí +0.5 s; Kẻ Vòng vẽ nhanh hơn 20%.
Bậc II≥ 5 Edge tag
Kẻ vượt Kẻ Vòng dính Tước Khí 1.5 s (mỗi kẻ 1 lần/4 s).
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

H04_E13COMMONHạng tối đa: 3Mở: MR01

Cửa sổ ĐÁP +0.03/0.05/0.07 s.

tham sốH1H2H3
value0.030.050.07
PASSIVE · STAT · FLAT · passive.answer_window_add
target SELF
Tag: Đáp ANSWER

Tước Khí Lâu

H04_E14COMMONHạng tối đa: 3Mở: MR01

Khép Compa: Tước Khí +0.4/0.7/1 s.

tham sốH1H2H3
dur_add0.40.71
PASSIVE · MODIFY_MOVE · FLAT · passive.disarm
target VERB:ANSWER
Tag: Đáp ANSWER

Vòng Phấn Rộng

H04_E15COMMONHạng tối đa: 3Mở: MR01

Kẻ Vòng: bán kính +15/26/38%, thời gian vẽ −10/18/25%.

tham sốH1H2H3
r_inc152638
draw_cut101825
PASSIVE · MODIFY_MOVE · INC · passive.hold_shape_grow
target VERB:HOLD
Tag: Đáp ANSWER

Vòng Sương Phấn

H04_E16RAREHạng tối đa: 2Mở: MR01

Khi Kẻ Vòng đỡ đòn, kẻ vượt vạch nhận 1 lớp Sương Giá 4/6 s.

tham sốH1H2
duration_s46
ON_HOLD_BLOCK · APPLY_STATUS · NONE · hold_block.apply_frost
target VERB:HOLD, status STS_FROST, stacks 1
Tag: Đáp ANSWER · Sương Giá STS_FROST

Lưỡi Khoá Gieo Chấm

H04_E17RAREHạng tối đa: 2Mở: MR03

Khi Khoá Lưỡi trúng, mỗi kẻ trong nón nhận 1 chấm mực 6/10 s.

tham sốH1H2
dur_s610
ON_SKILL_CAST · CUSTOM_HOOK · NONE · skill_hit.mark_apply
target H04_SK03, tpl TPL_H04_lock_mark, marks 1
Tag: Đáp ANSWER · Kỹ năng SKILL

Khoá Cả Vòng

H04_E18EPICHạng tối đa: 1Mở: MR06

Khi ĐÁP cận chiến thành công, Tước Khí 2 s lan mọi kẻ trong r72.

ON_ANSWER · APPLY_STATUS · NONE · answer.disarm
target VERB:ANSWER, offer_requires EDGE:H04_E14, offer_excl XG_H04_ANSWER_RULE, status STS_DISARM, r 72, duration_s 2
Tag: Đáp ANSWER · Phản COUNTER

Hướng build Phản · 6 Edge

Cộng Hưởng: Kim Chỉ Nam Thật H04_RS4 · Phản COUNTER

Bậc I≥ 3 Edge tag
Phản Kim Chỉ Nam +20% sát thương.
Bậc II≥ 5 Edge tag
Phản trúng nổ r64 quanh mũi kim 4× Lực, kích nổ mọi chấm mực trong vòng.
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

H04_E19COMMONHạng tối đa: 3Mở: MR01

Phản Kim Chỉ Nam: dài +20/35/50 px, tỉ lệ chí mạng +20/35/50%.

tham sốH1H2H3
len_add203550
crit_add203550
PASSIVE · MODIFY_MOVE · FLAT · counter.line_cut
target H04_MV_CTR
Tag: Phản COUNTER · Chí mạng CRIT

Kim Mở Huyệt

H04_E20COMMONHạng tối đa: 3Mở: MR01

Chấm Huyệt Tử: ngưỡng kết liễu +3/5/8%, nổ chấm +10/18/25%.

tham sốH1H2H3
exec_add358
dmg_inc101825
PASSIVE · MODIFY_MOVE · INC · passive.mark_detonate
target H04_UL2
Tag: Phản COUNTER · Tuyệt kỹ ULT

Thước Dựng Kim

H04_E21COMMONHạng tối đa: 3Mở: MR01

Khi dùng Thế Đứng Thước, Phản kế tỉ lệ chí mạng +30/52/75% (4 s).

tham sốH1H2H3
value305275
ON_SKILL_CAST · STAT · FLAT · skill_hit.stance_bonus
target H04_SK06, duration_s 4
Tag: Phản COUNTER · Chí mạng CRIT

Kim Gieo Chấm

H04_E22RAREHạng tối đa: 2Mở: MR01

Khi Phản trúng, đặt 2 chấm mực lên mục tiêu; chấm nổ +15/24%.

tham sốH1H2
dot_inc1524
ON_COUNTER · CUSTOM_HOOK · NONE · counter.mark_apply
target H04_SK05, tpl TPL_H04_needle_mark, marks 2
Tag: Phản COUNTER · Kỹ năng SKILL

Kim Sương

H04_E23RAREHạng tối đa: 2Mở: MR03

Khi Phản trúng, 2 lớp Sương Giá cho mọi kẻ trong r32/52 quanh mũi kim.

tham sốH1H2
r3252
ON_COUNTER · APPLY_STATUS · NONE · counter.apply_frost
target VERB:COUNTER, status STS_FROST, stacks 2
Tag: Phản COUNTER · Sương Giá STS_FROST

Ba Nhịp Thước Trời

H04_E24EPICHạng tối đa: 1Mở: MR08

Thước Trời: Phản tự ra 3 nhịp, nhịp cuối 60% và luôn chí mạng.

ON_COUNTER · CUSTOM_HOOK · NONE · counter.counter_echo
target H04_UL3, tpl TPL_H04_sky_three, offer_excl XG_H04_COUNTER_ECHO, beats 3, coef_pct 60, delay_s 0.2
Tag: Phản COUNTER · Tuyệt kỹ ULT

Hướng build Kỹ năng · 6 Edge

Cộng Hưởng: Đồ Nghề Thầy Địa H04_RS5 · Kỹ năng SKILL

Bậc I≥ 3 Edge tag
Giảm hồi chiêu +8%.
Bậc II≥ 5 Edge tag
Kỹ năng trúng ≥ 4 kẻ: +1 Mực (1 lần mỗi lần dùng).
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

H04_E25COMMONHạng tối đa: 3Mở: MR01

Vẽ Vòng Tròn: sát thương +15/26/38%, kéo bầy +8/14/20 px.

tham sốH1H2H3
dmg_inc152638
pull_add81420
PASSIVE · MODIFY_MOVE · INC · passive.compass_pivot
target H04_SK01
Tag: Kỹ năng SKILL · Vùng rộng AREA

Khoá Lưỡi Rộng

H04_E26COMMONHạng tối đa: 3Mở: MR01

Khoá Lưỡi: nón +10/18/25°, Tước Khí +0.3/0.5/0.75 s.

tham sốH1H2H3
arc_add101825
dur_add0.30.50.75
PASSIVE · MODIFY_MOVE · FLAT · skill_hit.disarm
target H04_SK03
Tag: Kỹ năng SKILL

Huyệt Nổ Lan

H04_E27RAREHạng tối đa: 2Mở: MR01

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ốH1H2
coef_per_mark1.52.4
ON_KILL · BLAST · NONE · kill.mark_detonate
target H04_SK05, r 56
Tag: Kỹ năng SKILL

Dây Mốc Hoá Mực

H04_E28RAREHạng tối đa: 2Mở: MR01

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ốH1H2
coef34.8
ON_HOOK · BLAST · NONE · place.line_cut
target H04_SK04, tpl TPL_H04_beacon_expire, len_max 320, w 16
Tag: Kỹ năng SKILL · Tài nguyên: Mực RES:INK

Thước Trói Vạch

H04_E29RAREHạng tối đa: 2Mở: MR06

Thế Đứng Thước: kẻ vượt vạch dính Trói 1.2 s (50/80%).

tham sốH1H2
chance5080
ON_SKILL_CAST · APPLY_STATUS · NONE · skill.apply_bind
target H04_SK06, status STS_BIND, duration_s 1.2
Tag: Kỹ năng SKILL · Đáp ANSWER

Đối Xứng Toàn Phần

H04_E30EPICHạng tối đa: 1Mở: MR08

Trong Đối Xứng Địa Lý, Kẻ Mực và Phản có bản đối xứng 70%.

ON_RESOURCE_SPEND · CUSTOM_HOOK · NONE · res_spend.mirror_shape
target H04_SK08, tpl TPL_H04_full_mirror, coef_pct 70
Tag: Kỹ năng SKILL · Tài nguyên: Mực RES:INK

Hướ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

Bậc I≥ 3 Edge tag
Kẻ Mực +15% sát thương, rộng +6 px.
Bậc II≥ 5 Edge tag
Kẻ Mực chỉ tiêu 4 Mực; Mực nhận khi đầy đổi thành +3 Dư Âm.
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

H04_E31COMMONHạng tối đa: 3Mở: MR01

Dây Mực Bật: dài +20/35/50 px (trần 320), sát thương +12/21/30%.

tham sốH1H2H3
len_add203550
dmg_inc122130
PASSIVE · MODIFY_MOVE · INC · passive.line_cut
target H04_SK02
Tag: Tài nguyên: Mực RES:INK · Kỹ năng SKILL

Vòng Gom Mực

H04_E32COMMONHạng tối đa: 3Mở: MR01

Khi Vẽ Vòng Tròn trúng ≥ 5 kẻ, +1/1/2 Mực.

tham sốH1H2H3
amount112
ON_SKILL_CAST · RESOURCE · NONE · skill_hit.res_add
target H04_SK01, n_hit 5
Tag: Tài nguyên: Mực RES:INK · Kỹ năng SKILL

Mốc Hai Đường

H04_E33RAREHạng tối đa: 2Mở: MR01

Kẻ Mực từ Mốc kẻ thêm đường Mốc → hero, 50/80% sát thương.

tham sốH1H2
coef_pct5080
ON_RESOURCE_SPEND · CUSTOM_HOOK · NONE · res_spend.beacon
target H04_SK04, tpl TPL_H04_twin_line, offer_excl XG_H04_INK_ORIGIN
Tag: Tài nguyên: Mực RES:INK · Kỹ năng SKILL

Kinh Tuyến Đẫm Mực

H04_E34RAREHạng tối đa: 2Mở: MR01

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ốH1H2
per_ink813
ON_ULT · CUSTOM_HOOK · NONE · ult.res_dump
target H04_UL1, tpl TPL_H04_meridian_dump
Tag: Tài nguyên: Mực RES:INK · Tuyệt kỹ ULT

Đường Thẳng Tuyệt Đối

H04_E35EPICHạng tối đa: 1Mở: MR08

Kẻ Mực cắt ≥ 6 kẻ: kẻ thêm đường vuông góc 200 px, 80%.

ON_HOOK · CUSTOM_HOOK · NONE · detonate.line_cut
target RES, tpl TPL_H04_cross_line, offer_requires LV:6, min_cut 6, len 200, coef_pct 80
Tag: Tài nguyên: Mực RES:INK · Vùng rộng AREA

Dây Bật Hai Lần

H04_E36EPICHạng tối đa: 1Mở: MR08

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.

ON_SKILL_CAST · CUSTOM_HOOK · NONE · skill.rehit_add
target H04_SK02, tpl TPL_H04_double_snap, delay_s 0.3, deg 30
Tag: Tài nguyên: Mực RES:INK · Kỹ năng SKILL

Tiến Hoá

requires_edges + condition.ref → Tiến Hoá

La Bàn Mực

H04_EVO1

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_RANK Vẽ 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

H04_EVO2

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

H04_EVO3

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
RESONANCE Khé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

H04_EVO4Thứ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_KILLED Thợ 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)
IDCâu
TPL_H04_chalk_stepBướ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_markKhoá 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_markPhản Kim Chỉ Nam gieo chấm mực lên mục tiêu (trần chung 5 chấm).
TPL_H04_sky_threeTrong Thước Trời: Phản ra nhịp thứ 3 sau nhịp 2, luôn chí mạng.
TPL_H04_beacon_expireKhi 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_lineKẻ Mực xuất phát từ Mốc kẻ thêm đường nối Mốc với hero.
TPL_H04_meridian_dumpLướ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_lineKẻ 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_snapDâ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_lp37THEN 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_lp38THEN 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_lp39THEN 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_lp40THEN 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ông Thạo Sậu MR01–MR20Thông Thạo Sậu MR01–MR20MR02MR05MR07MR10MR12MR15MR17MR20Vẽ Vòng Tròn · Khoá Lưỡi · Định Vị Huyệt · Sải Compa · Lưới Kinh Tuyến · Compa Sắt Địa Lý · Cung Tách Mở · Mũi Ghép Sâu · Gương Mực Đậm · Kẹp Tước Khí · Bước Phấn Dài · Chân Nhẹ Như Phấn · Sải Rộng Chân · Vệt Phấn Cắt · Mắt Thước · Tước Khí Lâu · Vòng Phấn Rộng · Vòng Sương Phấn · Kim Dài Mũi Nhọn · Kim Mở Huyệt · Thước Dựng Kim · Kim Gieo Chấm · Compa Mở Rộng · Khoá Lưỡi Rộng · Huyệt Nổ Lan · Dây Mốc Hoá Mực · Dây Mực Căng · Vòng Gom Mực · Mốc Hai Đường · Kinh Tuyến Đẫm MựcVẽ Vòng Tròn · Khoá Lưỡi …MR01 · 30 mởDây Mực BậtDây Mực BậtMR02 · 1 mởHai Mũi Đối Xứng · Sải Quét Cung · Lưỡi Khoá Gieo Chấm · Kim SươngHai Mũi Đối Xứng · Sải Qu…MR03 · 4 mởCắm Mốc ĐịaCắm Mốc ĐịaMR04 · 1 mởĐÁP {answers} tell vàng trong 1 run. · Đầy tài nguyên riêng {fills} lần trong 1 run.ĐÁP {answers} tell vàng t…MR05 · 2 mởBa Huyệt Liền Mũi · Bước Đo Đất · Khoá Cả Vòng · Thước Trói VạchBa Huyệt Liền Mũi · Bước …MR06 · 4 mởThế Đứng ThướcThế Đứng ThướcMR07 · 1 mởBa Nhịp Thước Trời · Đối Xứng Toàn Phần · Đường Thẳng Tuyệt Đối · Dây Bật Hai LầnBa Nhịp Thước Trời · Đối …MR08 · 4 mởĐối Xứng Địa LýĐối Xứng Địa LýMR09 · 1 mởKhép Compa Kẻ Mực · Kim Ghép Liền Mạch · Nét Liền Không Nhấc Bút · Bước Trên Kinh TuyếnKhép Compa Kẻ Mực · Kim G…MR10 · 4 mở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.Con vẽ lối cho cả xứ. Vẽ …MR11 · 1 mởCompa Kinh Tuyến Thức TỉnhCompa Kinh Tuyến Thức TỉnhMR12 · 1 mởMũi compa mòn tới tay. Ngươi kẻ đủ một xứ rồi.Mũi compa mòn tới tay. Ng…MR15 · 1 mởHạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… · Qua Hồi II chỉ dùng {skills} kỹ năng. · Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}.Hạ 1 boss Hồi mà không tr…MR16 · 3 mởTMB_H04TMB_H04MR18 · 1 mởCompa Mực NgàCompa Mực NgàMR20 · 1 mở
mastery.mastery_unlocks
MR014/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed…
Vẽ Vòng Tròn H04_SK01 · Khoá Lưỡi H04_SK03 · Định Vị Huyệt H04_SK05 · Sải Compa H04_SK07 · Lưới Kinh Tuyến H04_UL1 · Compa Sắt Địa Lý H04_AS1 · Cung Tách Mở H04_E01 · Mũi Ghép Sâu H04_E02 · Gương Mực Đậm H04_E03 · Kẹp Tước Khí H04_E04 · Bước Phấn Dài H04_E07 · Chân Nhẹ Như Phấn H04_E08 · Sải Rộng Chân H04_E09 · Vệt Phấn Cắt H04_E10 · Mắt Thước H04_E13 · Tước Khí Lâu H04_E14 · Vòng Phấn Rộng H04_E15 · Vòng Sương Phấn H04_E16 · Kim Dài Mũi Nhọn H04_E19 · Kim Mở Huyệt H04_E20 · Thước Dựng Kim H04_E21 · Kim Gieo Chấm H04_E22 · Compa Mở Rộng H04_E25 · Khoá Lưỡi Rộng H04_E26 · Huyệt Nổ Lan H04_E27 · Dây Mốc Hoá Mực H04_E28 · Dây Mực Căng H04_E31 · Vòng Gom Mực H04_E32 · Mốc Hai Đường H04_E33 · Kinh Tuyến Đẫm Mực H04_E34
MR02+1 kỹ năng (SK02).
MR03+4 Edge hero: RARE còn lại của tag verb 1–4.
MR04+1 kỹ năng (SK04).
MR06+4 Edge hero: RARE còn lại của tag 5 + EPIC tag 1, 2, 3.
MR07+1 kỹ năng (SK06).
MR08+4 Edge hero: EPIC tag 4, 5, 6 (đủ 36).
MR09+1 kỹ năng (SK08, đủ 8).
MR10Then Chốt E37–E40 vào pool.
MR111 beat thoại hub riêng hero với Bà Ulla.
MR12Công thức EVO4 hiện ở ST_FORGE (mở khoá sức mạnh cuối của T…
MR151 beat thoại hub riêng hero với Lão Grem.
MR18Bia mộ riêng của hero trong recap chết (TMB_Hxx).
TMB_H04
MR20Skin ngà SKN_Hxx_4 (LUT trong slot) + danh hiệu Ngà (TITLE_…

Thử thách Thông Thạo

Thử tháchĐiều kiệnThưởng
ĐÁP {answers} tell vàng trong 1 run. TT1answers 30, tell Ykhung bia mộ Phấn Trắng
Đầy tài nguyên riêng {fills} lần trong 1 run. TT2full_events 10, res INKkhung bia mộ Mực Lục
Hạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… TT3boss_act 1, purple_hits 0khung bia mộ La Bàn
Qua Hồi II chỉ dùng {skills} kỹ năng. TT4act_reach 2, skills_max 1khung bia mộ Thước Sắt
Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}. TT5boss BS_FINAL, do_tang_min 8danh 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

Nhịp pha 41 VFX của SậuNhịp pha 41 VFX của Sậukhởi (startup)hiệu lực (active)hồi (recovery)0 s0.250.50.7511.251.51.752ink_fullink_full · active 0.03sink_full · recovery 0.27s0.3sanswer_closeanswer_close · active 0.03sanswer_close · recovery 0.27s0.3shold_ringhold_ring · startup 0.5shold_ring · active 0.03shold_ring · recovery 0.43s0.97sdash_chalkdash_chalk · active 0.03sdash_chalk · recovery 0.27s0.3stach_slashtach_slash · active 0.03stach_slash · recovery 0.27s0.3shit_cuthit_cut · active 0.03shit_cut · recovery 0.27s0.3sink_dropink_drop · active 0.03sink_drop · recovery 0.3s0.33stach_fintach_fin · active 0.05stach_fin · recovery 0.35s0.4sghep_thrustghep_thrust · active 0.03sghep_thrust · recovery 0.23s0.27sghep_finghep_fin · active 0.05sghep_fin · recovery 0.35s0.4sstance_swapstance_swap · active 0.03sstance_swap · recovery 0.23s0.27sclamp_pinchclamp_pinch · active 0.05sclamp_pinch · recovery 0.28s0.33sink_lineink_line · startup 0.2sink_line · active 0.03sink_line · recovery 0.57s0.8sink_cut_halfink_cut_half · active 0.03sink_cut_half · recovery 0.37s0.4sdash_attack_linedash_attack_line · active 0.03sdash_attack_line · recovery 0.3s0.33sproj_splitproj_split · active 0.07sproj_split · recovery 0.47s0.53scounter_needlecounter_needle · startup 0.1scounter_needle · active 0.05scounter_needle · recovery 0.45s0.6sSK01_pivotSK01_pivot · active 0.05sSK01_pivot · recovery 0.75s0.8sSK02_snaplineSK02_snapline · active 0.03sSK02_snapline · recovery 0.8s0.83sSK03_lockconeSK03_lockcone · active 0.03sSK03_lockcone · recovery 0.57s0.6sSK04_beaconSK04_beacon · startup 0.1sSK04_beacon · active 0.05sSK04_beacon · recovery 0.47s0.62sSK04_stringSK04_string · startup 0.08sSK04_string · active 0.08sSK04_string · recovery 0.5s0.67sink_dotink_dot · active 0.03sink_dot · recovery 0.27s0.3sink_dot_burstink_dot_burst · active 0.03sink_dot_burst · recovery 0.3s0.33sSK06_rulerSK06_ruler · startup 0.13sSK06_ruler · active 0.05sSK06_ruler · recovery 0.45s0.63sSK07_strideSK07_stride · active 0.03sSK07_stride · recovery 0.37s0.4sSK08_mirrorSK08_mirror · active 0.03sSK08_mirror · recovery 0.27s0.3sUL1_meridianUL1_meridian · startup 0.67sUL1_meridian · active 0.93sUL1_meridian · recovery 0.4s2sUL2_acupointUL2_acupoint · startup 0.2sUL2_acupoint · active 0.9sUL2_acupoint · recovery 0.5s1.6sUL3_sky_rulerUL3_sky_ruler · startup 0.17sUL3_sky_ruler · active 0.1sUL3_sky_ruler · recovery 0.4s0.67sUL3_ink_autoUL3_ink_auto · active 0.03sUL3_ink_auto · recovery 0.47s0.5sas2_finas2_fin · active 0.05sas2_fin · recovery 0.42s0.47sas3_finas3_fin · active 0.13sas3_fin · recovery 0.37s0.5sEVO4_awakenEVO4_awaken · active 0.03sEVO4_awaken · recovery 0.97s1sE37_lpE37_lp · active 0.03sE37_lp · recovery 0.37s0.4sE38_lpE38_lp · active 0.03sE38_lp · recovery 0.27s0.3sE39_lpE39_lp · active 0.03sE39_lp · recovery 0.27s0.3sE40_lpE40_lp · active 0.03sE40_lp · recovery 0.3s0.33sEVO1_fuseEVO1_fuse · startup 0.33sEVO1_fuse · active 0.07sEVO1_fuse · recovery 0.6s1sEVO2_fuseEVO2_fuse · startup 0.33sEVO2_fuse · active 0.07sEVO2_fuse · recovery 0.6s1sEVO3_fuseEVO3_fuse · startup 0.33sEVO3_fuse · active 0.07sEVO3_fuse · recovery 0.6s1s
phases antic / impact / dissipate (giây)
anticimpactdissipate

TEMPLATE · 25

Ngưỡng INK_FULL (Mực = 5; res_full; H04_RS6 bậc 2 ngưỡng 4, AS2 3/4):…

VFX_H04_ink_fullTEMPLATELớp: overheadCỡ: SLOD: never

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.

#08291a#0e472e#30f089#66ffa5#daffe8#fff6f0
Dải khung VFX_H04_ink_full14 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1314 khung · 30 fps · 0.467 s · lặp
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ả
0Frame trắng: 2 mũi compa loé chấm 5×5 #ffffff + vòng r6 #66ffa5 quanh khớp.
0.0332 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.2Loop frame 6–13: 2 chấm nhấp #30f089 ↔ #daffe8 chu kỳ 8 frame, lệch pha nhau 4 frame.
0.467Tiê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…

VFX_H04_dash_chalkTEMPLATELớp: body_backCỡ: MLOD: L2

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_dash_chalk9 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–89 khung · 30 fps · 0.3 s
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ả
0Vệ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.033Vệ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.15Bụi phấn DUST 8 hạt bay chậm; viền silhouette nhạt #66ffa5.
0.3Rỗng.

H04_HEAVY_SWAP Đổi Thế (giữ Đánh 15 tick; clip stance_swap hit frame …

VFX_H04_stance_swapTEMPLATELớp: body_frontCỡ: SLOD: L3

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_stance_swap8 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–78 khung · 30 fps · 0.267 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ả
0Frame trắng: glint 4 cánh 7×7 #ffffff tại khớp đinh tán compa.
0.033Hà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.133Vòng nhỏ r5 #30f089 quanh khớp loé rồi tắt.
0.267Rỗng.

Quái S chết bởi đòn 's_cut' (H04_INK_LINE, H04_SK02_LINE nhịp nào để …

VFX_H04_ink_cut_halfTEMPLATELớp: overheadCỡ: MLOD: L1

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.

#08291a#0e472e#1a6b44#30f089#a3ffc5#ffffff
Dải khung VFX_H04_ink_cut_half12 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1112 khung · 30 fps · 0.4 s
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ả
0Frame trắng: vạch cắt 1 px #ffffff xuyên sprite quái theo góc đường mực.
0.033Runtime 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.1Mép cắt mỗi nửa viền 1 px #30f089; 6 FLAKE mực văng từ vết cắt.
0.252 nửa tan thành tro (dither 50%) + 4 DUST xám-lục #1a6b44.
0.4Rỗ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;…

VFX_H04_dash_attack_lineTEMPLATELớp: floor_decalCỡ: MLOD: L2

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_dash_attack_line10 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–910 khung · 30 fps · 0.333 s
Hitbox VFX_H04_dash_attack_lineHitbox VFX_H04_dash_attack_line24 px48 px72 px96 pxRECThurtbox r 7shape RECT len 96 w 28sàn 3/4 · ry = rx × 0.5
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ả
0Frame 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.033Vạ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.15Vạch dither 50%, bụi phấn DUST.
0.333Rỗng.

H04_ANSWER_SPLIT Cắt Đôi Đạn: đạn vàng bị ĐÁP tại mép đường 64 px → 2…

VFX_H04_proj_splitTEMPLATELớp: overheadCỡ: SLOD: L3

Đạ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.

#1a6b44#24b46e#30f089#a3ffc5#fff6f0#ffffff
Dải khung VFX_H04_proj_split8 khung @ 15 fpsimpact · khung 0–1dissipate · khung 2–78 khung · 15 fps · 0.533 s · lặp
Hitbox VFX_H04_proj_splitHitbox VFX_H04_proj_split8 px16 pxCIRCLEhurtbox r 7shape CIRCLE r 4sàn 3/4 · ry = rx × 0.5
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ả
0Hà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.067Hà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.267Loop lặp 4 frame (15 fps) — đuôi lắc ±1 px.
0.533Hế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 …

VFX_H04_SK02_snaplineTEMPLATELớp: floor_decalCỡ: XLLOD: L3

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.

#08291a#0e472e#24b46e#30f089#a3ffc5#fff6f0
Dải khung VFX_H04_SK02_snapline30 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–2930 khung · 30 fps · 1 s
Hitbox VFX_H04_SK02_snaplineHitbox VFX_H04_SK02_snapline72 px144 px216 px288 pxRECThurtbox r 7shape RECT len 240 w 20sàn 3/4 · ry = rx × 0.5
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ả
0Nhị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.1Dây rung sóng sin biên độ 3 → 1 px, 4 bụng, nắp xa chấm 5×5 #a3ffc5.
0.2Nhị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.5Vệt mực dither 50%.
1Rỗng.

H04_SK03_CONE Khoá Lưỡi (clip sk03 hit 5, 8; 2 nhịp bập mở-khép cách …

VFX_H04_SK03_lockconeTEMPLATELớp: overheadCỡ: LLOD: L3

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.

#1a6b44#30f089#66ffa5#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_SK03_lockcone18 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1718 khung · 30 fps · 0.6 s
Hitbox VFX_H04_SK03_lockconeHitbox VFX_H04_SK03_lockcone24 px48 px72 px96 pxARChurtbox r 7shape ARC r 80 arc 90sàn 3/4 · ry = rx × 0.5
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ả
0Nhị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.1Nhị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.2Hạng III nhịp 3: lặp lần nữa; tinh thể đông thành vỏ 1 px #daffe8 quanh quạt.
0.6Tinh 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…

VFX_H04_SK04_beaconTEMPLATELớp: body_backCỡ: MLOD: L3

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.

#0e472e#24b46e#30f089#66ffa5#daffe8#fff6f0
Dải khung VFX_H04_SK04_beacon26 khung @ 30 fpsantic · khung 0–2impact · khung 3–4dissipate · khung 5–2526 khung · 30 fps · 0.867 s · lặp
Hitbox VFX_H04_SK04_beaconHitbox VFX_H04_SK04_beacon16 px32 px48 pxCIRCLEhurtbox r 7shape CIRCLE r 48sàn 3/4 · ry = rx × 0.5
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.1Châ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.
0Cắ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.133Cọ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.4Loop 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.667Tắt: cọc chìm xuống sàn 26 → 0 px trong 6 frame, elip phấn tan.
0.867Rỗng.

H04_SK04_STRING Dây Phấn Mốc (bắt đầu tick 14 sau cắm; tồn 4 s, II/II…

VFX_H04_SK04_stringTEMPLATELớp: floor_decalCỡ: XLLOD: L3

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_SK04_string8 khung @ 12 fpsantic · khung 0–0impact · khung 1–2dissipate · khung 3–78 khung · 12 fps · 0.667 s · lặp
Hitbox VFX_H04_SK04_stringHitbox VFX_H04_SK04_string56 px112 px168 px224 pxRECThurtbox r 7shape RECT len 200 w 12sàn 3/4 · ry = rx × 0.5
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ả
0Dâ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.083Loop 8 frame @12: hạt phấn chạy dọc dây 2 hạt/40 px; dây rung ±1 px.
0.333Quá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.667Hế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…

VFX_H04_ink_dotTEMPLATELớp: prioritizeCỡ: SLOD: never

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.

#08291a#0e472e#30f089#66ffa5#daffe8#fff6f0
Dải khung VFX_H04_ink_dot12 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1112 khung · 30 fps · 0.4 s · lặp
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ả
0Chấ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.033Chấm ổn định 3×3 #30f089 viền 1 px #0e472e (đọc trên mọi nền).
0.133Loop: các chấm nhấp lần lượt 1 bậc sáng #daffe8, chu kỳ 8 frame.
0.4Hế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…

VFX_H04_ink_dot_burstTEMPLATELớp: overheadCỡ: MLOD: L2

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.

#0e472e#24b46e#30f089#66ffa5#a3ffc5#fff6f0
Dải khung VFX_H04_ink_dot_burst10 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–910 khung · 30 fps · 0.333 s
Hitbox VFX_H04_ink_dot_burstHitbox VFX_H04_ink_dot_burst8 px16 pxCIRCLEhurtbox r 7shape CIRCLE r 16sàn 3/4 · ry = rx × 0.5
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ả
0Frame 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.033Hà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.133Vành nguội #1a6b44 dither; tia nổ còn chấm 1 px.
0.333Rỗng.

H04_SK06_STRIKE Bổ Thước (clip sk06 hit 4; startup 8 tick, active 4 t…

VFX_H04_SK06_rulerTEMPLATELớp: overheadCỡ: MLOD: L3

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_SK06_ruler15 khung @ 30 fpsantic · khung 0–3impact · khung 4–5dissipate · khung 6–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H04_SK06_rulerHitbox VFX_H04_SK06_ruler24 px48 px72 px96 pxRECThurtbox r 7shape RECT len 80 w 16sàn 3/4 · ry = rx × 0.5
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.133Antic: compa khép giơ cao h 40 như cây thước sắt, đỉnh loé glint 5×5.
0Frame 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.033Dả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.2Vạch khắc thước nguội #24b46e, dải dither.
0.5Rỗng.

H04_SK07_STRIDE Sải Compa (clip sk07; startup 4 tick, active 14 tick;…

VFX_H04_SK07_strideTEMPLATELớp: floor_decalCỡ: MLOD: L3

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ế.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_SK07_stride12 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1112 khung · 30 fps · 0.4 s
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ả
0Chân trụ cắm tại (60, 0) loé 5×5 #a3ffc5 + elip phấn r6.
0.033Vạ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.233Tới đích (120, 0): vạch khép, đuôi phấn DUST; hero xuất hiện ở đích.
0.4Rỗng.

H04_SK08_CAST Đối Xứng Địa Lý (clip sk08 hit 3; +2 Mực ngay): t = 0 =…

VFX_H04_SK08_mirrorTEMPLATELớp: floor_decalCỡ: MLOD: L3

Đố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.

#0e472e#1a6b44#24b46e#66ffa5#a3ffc5#daffe8
Dải khung VFX_H04_SK08_mirror17 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1617 khung · 30 fps · 0.567 s · lặp
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ả
0Compa 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.0332 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.3Loop 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.567Hế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…

VFX_H04_UL3_ink_autoTEMPLATELớp: floor_decalCỡ: LLOD: L2

Đườ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.

#08291a#0e472e#24b46e#30f089#a3ffc5#fff6f0
Dải khung VFX_H04_UL3_ink_auto15 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H04_UL3_ink_autoHitbox VFX_H04_UL3_ink_auto48 px96 px144 px192 pxRECThurtbox r 7shape RECT len 160 w 32sàn 3/4 · ry = rx × 0.5
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ả
0Frame trắng: dải 160 × 32 (màn e 160×16) lõi #fff6f0, bật cùng tick chạm.
0.033Thân mực #0e472e viền 2 px #30f089, gân giữa #a3ffc5; nắp xa chấm 5×5; 12 FLAKE.
0.25Viền tắt từ đầu xa về chân; thân dither 50%.
0.5Rỗng.

H04_AS2_FIN Đâm Cắm Mốc (Dạng Rèn H04_AS2 Compa Đồng Chân Dài thay B3…

VFX_H04_as2_finTEMPLATELớp: body_frontCỡ: MLOD: L3

Đâ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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_as2_fin14 khung @ 30 fpsimpact · khung 0–1dissipate · khung 2–1314 khung · 30 fps · 0.467 s
Hitbox VFX_H04_as2_finHitbox VFX_H04_as2_fin32 px64 px96 pxRECThurtbox r 7shape RECT len 100 w 16sàn 3/4 · ry = rx × 0.5
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ả
0Frame trắng: vạch kim 100 px dày 3 px ở h 18, mũi dài 8 px.
0.033Mũ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.167Vạch nguội #24b46e; 6 STREAK.
0.467Rỗ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; …

VFX_H04_as3_finTEMPLATELớp: body_frontCỡ: LLOD: L3

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_as3_fin15 khung @ 30 fpsimpact · khung 0–3dissipate · khung 4–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H04_as3_finHitbox VFX_H04_as3_fin24 px48 px72 pxCIRCLEhurtbox r 7shape CIRCLE r 72sàn 3/4 · ry = rx × 0.5
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ả
0Frame 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.0332 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.133Chân về tay; vành nguội #24b46e dither; 10 SPARK tiếp tuyến.
0.5Rỗng.

Then Chốt H04_E37 Khép Compa Kẻ Mực: ĐÁP thành công khi Mực ≥ 3 → tiê…

VFX_H04_E37_lpTEMPLATELớp: overheadCỡ: MLOD: L3

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.

#08291a#0e472e#30f089#66ffa5#daffe8#fff6f0
Dải khung VFX_H04_E37_lp12 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1112 khung · 30 fps · 0.4 s
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ả
0Frame 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.0333 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.133Hoa la bàn xoay 45° co về 5×5, nhỏ giọt FLAKE xuống điểm đầu đường mực.
0.4Rỗng.

Then Chốt H04_E38 Kim Ghép Liền Mạch: Phản trúng → chuyển thế Ghép; 3…

VFX_H04_E38_lpTEMPLATELớp: body_backCỡ: SLOD: never

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_E38_lp14 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1314 khung · 30 fps · 0.467 s · lặp
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ả
0Frame 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.033Kim 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.2Loop: 3 kim quay quanh chân 1 vòng / 8 frame, đầu kim luôn chỉ hướng ngắm.
0.467Hế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 …

VFX_H04_E39_lpTEMPLATELớp: overheadCỡ: SLOD: never

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.

#08291a#0e472e#24b46e#30f089#a3ffc5#fff6f0
Dải khung VFX_H04_E39_lp14 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1314 khung · 30 fps · 0.467 s · lặp
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ả
0Frame 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.033Giọ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.2Loop: 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.467Dù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 …

VFX_H04_E40_lpTEMPLATELớp: overheadCỡ: MLOD: L3

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_E40_lp10 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–910 khung · 30 fps · 0.333 s
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ả
0Frame 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.033Tia #66ffa5 → #30f089; 1 chấm sáng 3×3 #daffe8 bay thẳng lên socket:overhead (Dư Âm +12) trong 4 frame.
0.167Tia co về chân, dither.
0.333Rỗng.

Tiến Hoá H04_EVO1 La Bàn Mực (Vẽ Vòng Tròn hoá): t = 0 = tick Tiến Ho…

VFX_H04_EVO1_fuseTEMPLATELớp: overheadCỡ: MLOD: L3

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.

#08291a#0e472e#24b46e#30f089#a3ffc5#fff6f0
Dải khung VFX_H04_EVO1_fuse30 khung @ 30 fpsantic · khung 0–9impact · khung 10–11dissipate · khung 12–2930 khung · 30 fps · 1 s
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.333Hà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.
0Frame trắng: glyph la bàn mực 4 nhánh 13×13 #ffffff bật tại h 30.
0.067Glyph 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.333Chữ thập nguội #1a6b44, STAR rơi.
0.667Rỗ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…

VFX_H04_EVO2_fuseTEMPLATELớp: overheadCỡ: MLOD: L3

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_EVO2_fuse30 khung @ 30 fpsantic · khung 0–9impact · khung 10–11dissipate · khung 12–2930 khung · 30 fps · 1 s
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.333Hà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.
0Frame trắng: kim la bàn dọc 5×15 #ffffff tại h 30, đầu Bắc nhọn.
0.067Kim 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.333Vạch kim nguội #24b46e, STAR rơi.
0.667Rỗ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…

VFX_H04_EVO3_fuseTEMPLATELớp: overheadCỡ: MLOD: L3

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°.

#1a6b44#30f089#66ffa5#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_EVO3_fuse30 khung @ 30 fpsantic · khung 0–9impact · khung 10–11dissipate · khung 12–2930 khung · 30 fps · 1 s
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.333Hà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.
0Frame trắng: vòng 8 lưỡi tinh thể 3×7 #ffffff quanh hero ở h 24.
0.067Lưỡ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.333Tinh thể vỡ FLAKE #daffe8, STAR rơi.
0.667Rỗ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…

VFX_H04_answer_closeSIGNATURELớp: overheadCỡ: MLOD: never

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_answer_close9 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–89 khung · 30 fps · 0.3 s
Hitbox VFX_H04_answer_closeHitbox VFX_H04_answer_close16 px32 px48 px64 pxRECThurtbox r 7shape RECT len 64 w 16sàn 3/4 · ry = rx × 0.5
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ả
0Frame 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.033Vạ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.1Vạch tách thành 2 sợi 1 px tản ±3 px rồi tắt; 6 SPARK.
0.3Rỗng.

H04_HOLD Kẻ Vòng (giữ ĐÁP; startup 30 tick = 0.5 s vẽ vòng, active ≤ …

VFX_H04_hold_ringSIGNATURELớp: floor_decalCỡ: MLOD: L3

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_hold_ring29 khung @ 30 fpsantic · khung 0–14impact · khung 15–15dissipate · khung 16–2829 khung · 30 fps · 0.967 s · lặp
Hitbox VFX_H04_hold_ringHitbox VFX_H04_hold_ring16 px32 px48 px64 pxRINGRINGhurtbox r 7shape RING r_mid 56 band 6sàn 3/4 · ry = rx × 0.5
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ả
0Châ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.5Vò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.533Loop 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.767Thả/hết giờ: frame 23–28 vành đứt thành 12 đoạn, dither 50% → 0.
0.967Rỗng.

H04_COMBO_A_1..A_4 (clip attack1..attack4, hit frame 3): t = 0 = tick…

VFX_H04_tach_slashSIGNATURELớp: body_frontCỡ: MLOD: L2

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}.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_tach_slash9 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–89 khung · 30 fps · 0.3 s
Hitbox VFX_H04_tach_slashHitbox VFX_H04_tach_slash16 px32 px48 pxARChurtbox r 7shape ARC r 48 arc 120sàn 3/4 · ry = rx × 0.5
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ả
0Frame 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.033Mé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.1Thâ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.2Chỉ còn vệt mảnh 1 px #1a6b44 ở mép ngoài, SPARK rơi chạm sàn tắt.
0.3Rỗng.

H04_COMBO_A_5 Tách Kép (clip attack5, hit frame 5): t = 0 = tick chạm…

VFX_H04_tach_finSIGNATURELớp: body_frontCỡ: MLOD: L3

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_tach_fin12 khung @ 30 fpsimpact · khung 0–1dissipate · khung 2–1112 khung · 30 fps · 0.4 s
Hitbox VFX_H04_tach_finHitbox VFX_H04_tach_fin16 px32 px48 pxARChurtbox r 7shape ARC r 52 arc 120sàn 3/4 · ry = rx × 0.5
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).
0Frame 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.12 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.25Còn tàn SPARK và 2 vạch sàn mờ.
0.4Rỗng.

H04_COMBO_B_1 / B_2 (clip attack_b1/b2, hit frame 4; startup 8 tick =…

VFX_H04_ghep_thrustSIGNATURELớp: body_frontCỡ: MLOD: L2

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_ghep_thrust8 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–78 khung · 30 fps · 0.267 s
Hitbox VFX_H04_ghep_thrustHitbox VFX_H04_ghep_thrust24 px48 px72 px96 pxRECThurtbox r 7shape RECT len 80 w 14sàn 3/4 · ry = rx × 0.5
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ả
0Frame 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.033Vệ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.1Vạch rút từ gốc về mũi, mỏng 1 px #24b46e.
0.267Rỗng.

H04_COMBO_B_3 Ghép Xuyên (clip attack_b3, hit frame 6; startup 12 tic…

VFX_H04_ghep_finSIGNATURELớp: body_frontCỡ: MLOD: L3

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_ghep_fin12 khung @ 30 fpsimpact · khung 0–1dissipate · khung 2–1112 khung · 30 fps · 0.4 s
Hitbox VFX_H04_ghep_finHitbox VFX_H04_ghep_fin24 px48 px72 px96 pxRECThurtbox r 7shape RECT len 96 w 16sàn 3/4 · ry = rx × 0.5
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).
0Frame 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.033Hero 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.133Vạch nguội #24b46e, 2 vòng sóng lan tới elip 20×10 rồi tắt; 6 STREAK.
0.4Rỗng.

H04_HEAVY_CLAMP Kẹp Compa (cú đầu sau Đổi Thế; clip clamp hit frame 3…

VFX_H04_clamp_pinchSIGNATURELớp: body_frontCỡ: MLOD: L3

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).

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_clamp_pinch10 khung @ 30 fpsimpact · khung 0–1dissipate · khung 2–910 khung · 30 fps · 0.333 s
Hitbox VFX_H04_clamp_pinchHitbox VFX_H04_clamp_pinch8 px16 px24 px32 px40 px48 pxARChurtbox r 7shape ARC r 40 arc 60sàn 3/4 · ry = rx × 0.5
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).
0Frame 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.033Vù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.333Rỗng.

H04_INK_LINE Kẻ Mực (clip ink_line hit frame 6; startup 12 tick = 0.2…

VFX_H04_ink_lineSIGNATURELớp: floor_decalCỡ: XLLOD: L3

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.

#08291a#0e472e#24b46e#30f089#a3ffc5#fff6f0
Dải khung VFX_H04_ink_line18 khung @ 30 fpsantic · khung 0–5impact · khung 6–6dissipate · khung 7–1718 khung · 30 fps · 0.6 s
Hitbox VFX_H04_ink_lineHitbox VFX_H04_ink_line96 px192 px288 px384 pxRECThurtbox r 7shape RECT len 320 w 24sàn 3/4 · ry = rx × 0.5
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.2Antic: 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.
0Bú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.033Dả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.2Mép tắt dần từ 2 đầu vào giữa; thân mực dither 75% → 50%.
0.45Vệt mực dither 25%, chỉ còn gân giữa.
0.6Rỗng (decal tắt).

H04_COUNTER Kim Chỉ Nam (clip counter hit frame 3; lao 48 px / 6 tick…

VFX_H04_counter_needleSIGNATURELớp: overheadCỡ: MLOD: L3

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_counter_needle15 khung @ 30 fpsantic · khung 0–2impact · khung 3–4dissipate · khung 5–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H04_counter_needleHitbox VFX_H04_counter_needle32 px64 px96 pxRECThurtbox r 7shape RECT len 100 w 16sàn 3/4 · ry = rx × 0.5
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.1Lao: vệt lao 48 px sau lưng 2 dải #24b46e (antic, chạy cùng thân).
0Frame 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.033Tạ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.15Kim nguội #66ffa5 → #24b46e, hoa la bàn xoay 45° rồi co.
0.5Rỗng.

H04_SK01_SWEEP Vẽ Vòng Tròn (clip sk01 hit 5, 11; cắm chân trái tick …

VFX_H04_SK01_pivotSIGNATURELớp: body_frontCỡ: LLOD: L3

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.

#1a6b44#24b46e#30f089#a3ffc5#daffe8#fff6f0
Dải khung VFX_H04_SK01_pivot24 khung @ 30 fpsimpact · khung 0–1dissipate · khung 2–2324 khung · 30 fps · 0.8 s
Hitbox VFX_H04_SK01_pivotHitbox VFX_H04_SK01_pivot24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 96sàn 3/4 · ry = rx × 0.5
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ả
0Qué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.2Vệ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.4Và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.8Rỗng.

H04_UL1 Lưới Kinh Tuyến (clip ul1 hit 20, 45; bất tử 0–120 tick, Worl…

VFX_H04_UL1_meridianSIGNATURELớp: overheadCỡ: XLLOD: L3

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.

#08291a#0e472e#24b46e#30f089#a3ffc5#fff6f0
Dải khung VFX_H04_UL1_meridian60 khung @ 30 fpsantic · khung 0–20impact · khung 21–47dissipate · khung 48–5960 khung · 30 fps · 2 s
Hitbox VFX_H04_UL1_meridianHitbox VFX_H04_UL1_meridian96 px192 px288 px384 pxRECThurtbox r 7shape RECT len 320 w 48sàn 3/4 · ry = rx × 0.5
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.667Antic: 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.4176 đườ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.833Thu 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.933Vành mực lan tan, 24 FLAKE + 12 SPARK; vòng phấn tâm còn 0.3 s.
1.333Rỗng.

H04_UL2 Chấm Huyệt Tử (clip ul2 hit 6, 30, 32; bất tử 0–96 tick, Worl…

VFX_H04_UL2_acupointSIGNATURELớp: overheadCỡ: LLOD: L3

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.

#0e472e#24b46e#30f089#66ffa5#a3ffc5#fff6f0
Dải khung VFX_H04_UL2_acupoint48 khung @ 30 fpsantic · khung 0–5impact · khung 6–32dissipate · khung 33–4748 khung · 30 fps · 1.6 s
Hitbox VFX_H04_UL2_acupointHitbox VFX_H04_UL2_acupoint8 px16 px24 pxCIRCLEhurtbox r 7shape CIRCLE r 24sàn 3/4 · ry = rx × 0.5
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.2Antic: vòng ngắm 2 px #a3ffc5 elip 48×24 siết quanh chân mục tiêu.
07 đâ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.8Tick 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.867Tick 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.9Vành mực #30f089 lan r24 → r40 tan; 16 FLAKE.
1.4Rỗng.

H04_UL3 Thước Trời (clip ul3 hit 5; bất tử 0–30 tick, World chậm 0.6)…

VFX_H04_UL3_sky_rulerSIGNATURELớp: body_backCỡ: LLOD: L3

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.

#1a6b44#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_UL3_sky_ruler23 khung @ 30 fpsantic · khung 0–5impact · khung 6–8dissipate · khung 9–2223 khung · 30 fps · 0.767 s · lặp
Hitbox VFX_H04_UL3_sky_rulerHitbox VFX_H04_UL3_sky_ruler24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 96sàn 3/4 · ry = rx × 0.5
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.167Antic: compa dựng đứng trên đầu như cây thước trời, cột sáng 4 px #a3ffc5 cao 100 px.
0Frame 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.1Vành #30f089 nguội; cột sáng mờ thành tia 1 px; 16 STAR rơi.
0.5Loop 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.767Lặ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…

VFX_H04_EVO4_awakenSIGNATURELớp: floor_decalCỡ: MLOD: L2

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.

#08291a#0e472e#24b46e#30f089#a3ffc5#fff6f0
Dải khung VFX_H04_EVO4_awaken30 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–2930 khung · 30 fps · 1 s
Hitbox VFX_H04_EVO4_awakenHitbox VFX_H04_EVO4_awaken16 px32 px48 pxARChurtbox r 7shape ARC r 48 arc 120sàn 3/4 · ry = rx × 0.5
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ả
0Hà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.033Hàng 1: thân vệt #0e472e fill 70% viền 1 px #30f089, gân sáng theo cung #66ffa5.
0.5Vệt dither 50%, FLAKE mực nhỏ bốc lên.
0.9Vệt dither 25%; hàng 0 compa hạ về tay.
1Rỗ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…

VFX_H04_hit_cutLIBRARYLớp: overheadCỡ: SLOD: L2

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.

#24b46e#30f089#a3ffc5#daffe8#fff6f0#ffffff
Dải khung VFX_H04_hit_cut9 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–89 khung · 30 fps · 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ả
0Frame 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.033Vạch thành #a3ffc5 lõi #fff6f0, 2 mảnh tam giác 2 px văng 2 bên.
0.13Vạch co còn 10 px #30f089, dither 50%.
0.3Rỗng.

Cue +1 Mực: H04_COMBO_A_3 trúng ≥ 1 kẻ (1 lần/nhát), H04_HEAVY_CLAMP …

VFX_H04_ink_dropLIBRARYLớp: overheadCỡ: SLOD: L3

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.

#0e472e#1a6b44#30f089#66ffa5#daffe8#fff6f0
Dải khung VFX_H04_ink_drop10 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–910 khung · 30 fps · 0.333 s
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ả
0Giọt mực 3×4 px #30f089 lõi #fff6f0 bật khỏi mục tiêu, cao h 18.
0.033Bay cung parabol h(t) = 4·12·u(1−u) về mũi compa; đuôi 4 px #1a6b44.
0.2Chạm mũi compa: loé chấm 5×5 #daffe8 + 4 tia 2 px; ô Mực HUD sáng cùng tick.
0.333Rỗng.

13SFX

SFX theo loạiSFX theo loạicast: 12 (43%)swing: 4 (14%)move: 3 (11%)vocal: 3 (11%)hit: 2 (7%)ui_short: 2 (7%)answer: 1 (4%)loop: 1 (4%)28SFXcast — 12 (43%)swing — 4 (14%)move — 3 (11%)vocal — 3 (11%)hit — 2 (7%)ui_short — 2 (7%)answer — 1 (4%)loop — 1 (4%)
Độ dài (ms)Độ dài (ms)a1_swinga1_swing: 220 ms220 msa2_swinga2_swing: 200 ms200 msa3_swinga3_swing: 300 ms300 mshithit: 180 ms180 mscombo_specialcombo_special: 240 ms240 msdashdash: 200 ms200 msansweranswer: 320 ms320 mscountercounter: 420 ms420 mshold_starthold_start: 520 ms520 mshold_loophold_loop: 1200 ms1200 mshold_endhold_end: 180 ms180 msres_gainres_gain: 120 ms120 msres_fullres_full: 420 ms420 msres_spendres_spend: 650 ms650 msSK01_castSK01_cast: 820 ms820 msSK02_castSK02_cast: 700 ms700 msSK03_castSK03_cast: 520 ms520 msSK04_castSK04_cast: 600 ms600 msSK05_castSK05_cast: 600 ms600 msSK06_castSK06_cast: 760 ms760 msSK07_castSK07_cast: 560 ms560 msSK08_castSK08_cast: 520 ms520 msUL1_meridianUL1_meridian: 3800 ms3800 msUL2_acupointUL2_acupoint: 3200 ms3200 msUL3_sky_rulerUL3_sky_ruler: 1400 ms1400 msvo_effortvo_effort: 320 ms320 msvo_hurtvo_hurt: 300 ms300 msvo_deathvo_death: 1000 ms1000 ms
28 dòng
SFXLoạimsBiến thểBusƯu tiênGiọngLUFSTellNguồnTrạng tháiBrief
HeroAttackCut move=H04_COMBO_A_1 | H04_COMBO_B_1 | H04_DASH_ATTACK (c… SFX_H04_a1_swingswing2204HeroAttack202−19nonefreesoundbriefLưỡ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_swingswing2004HeroAttack202−19nonefreesoundbriefNhá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_swingswing3004HeroAttack202−18nonefreesoundbriefCú 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_hithit1808HeroAttack304−20nonefreesoundbriefCú 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_specialswing2403HeroAttack202−18nonefoleybriefChữ 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_dashmove2004Hero202−22nonefoleybriefBướ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_answeranswer3203HeroDefense22−12nonefoleybriefĐÁ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_counterhit4203HeroDefense22−14nonefoleybriefPhả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_startmove5203HeroDefense201−20nonefoleybriefVẽ 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_looploop12001HeroDefense201−26nonefoleybriefLoop 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_endmove1803HeroDefense201−22nonefoleybriefKế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_gainui_short1204Hero201−24nonefreesoundbriefBá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_fullui_short4201Hero201−20nonefoleybriefThô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_spendcast6503Hero202−16nonefoleybriefÂ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_castcast8203Hero202−17nonefreesoundbriefQué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_castcast7003Hero202−17nonefreesoundbriefPhiê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_castcast5203Hero202−17nonefreesoundbriefKì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_castcast6003Hero202−17nonefreesoundbriefMố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_castcast6003Hero202−17nonefreesoundbriefChuỗ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_castcast7603Hero202−17nonefreesoundbriefCú 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_castcast5603Hero202−17nonefreesoundbriefDị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_castcast5203Hero202−17nonefreesoundbriefBậ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_meridiancast38001Hero51−13nonefoleybriefUlt 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_acupointcast32001Hero51−13nonefoleybriefUlt đơ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_rulercast14002Hero51−14nonefoleybriefMở 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_effortvocal3205VO452−20noneoutsourcebriefGiọ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_hurtvocal3005VO452−20noneoutsourcebriefĐ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_deathvocal10002VO451−18noneoutsourcebriefChế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)

35 dòng
BarkKích hoạtCâu thoạiƯu tiênHồi s1 lần
run_start_1RunStart (bark 1/3 ngẫu nhiên, sau wake)Đo trước, bước sau. Đi thôi.hero——
run_start_2RunStartThầy ơi, đêm nay con kẻ lại đất.hero——
run_start_3RunStartMộ dời bao nhiêu, con đo lại bấy nhiêu.hero——
level_up_1LevelUp (trước DraftOpen)Tay vững thêm một phân.hero30—
level_up_2LevelUpĐường kẻ dài thêm rồi.hero30—
level_up_3LevelUpThêm một vạch trên thước.hero30—
perfect_answer_1HeroAnswerSuccess heroId=H04 perfect=1 (cận chiến, Tước Khí)Khép lại. Hết đường đánh.hero20—
perfect_answer_2HeroAnswerSuccess heroId=H04 perfect=1 (đạn bị cắt đôi)Đạn thẳng quá. Cắt làm đôi.hero20—
perfect_dodgeHeroPerfectDodge heroId=H04Lệch nửa gang. Ta đo rồi.hero20—
perfect_counterHeroCounter heroId=H04 (Kim Chỉ Nam trúng Tinh Anh/boss)Kim chỉ đúng hướng rồi.hero25—
ink_fullHeroResource 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.hero25—
big_cutH04_PASSIVE Đường Thẳng kích (Kẻ Mực cắt ≥ 8 kẻ)Một đường thôi. Đủ thẳng là đủ.hero25—
low_hp_1HeroLowHp heroId=H04 (HP ≤ 30%, 1 lần mỗi lần xuống ngưỡng)Chưa… đo chưa xong.hero45—
low_hp_2HeroLowHpĐứng vững. Đất còn dưới chân.hero45—
low_hp_3HeroLowHpThở đi, Sậu. Đếm lại từ một.hero45—
elite_1EliteSpawn (Tinh Anh EL_* trong 240 px)Cái này to. Đo kỹ hơn.hero30—
elite_2EliteSpawn (có Ấn EM*)Dấu trên đầu nó… nhớ lấy chỗ đó.hero30—
elite_3EliteSpawn (Tinh Anh cận chiến)Kẻ cầm vũ khí. Khép trước khi nó vung.hero30—
boss_intro_mbBossIntro bossId=MB_* (mini-boss bất kỳ)Một khối to. Tìm đường cắt.hero——
boss_intro_b1BossIntro bossId=BS_B1Chuông kêu sai giờ. Để ta chỉnh.hero—có
boss_intro_b2BossIntro bossId=BS_B2Bến của ông lệch rồi, ông lái.hero—có
boss_intro_b3BossIntro bossId=BS_B3Khuôn đúc lệch tâm. Ta thấy rồi.hero—có
boss_intro_b4BossIntro bossId=BS_B4Thương dài mấy cũng có tầm của nó.hero—có
boss_intro_finalBossIntro bossId=BS_FINALĐất nhà ngươi, ta đo lại hết.hero—có
victory_1BossDefeated (clip victory)Về đúng huyệt rồi. Nằm yên.hero——
victory_2BossDefeatedĐất không nói dối. Chỉ người đo sai.hero——
victory_3BossDefeatedXong một nét. Còn nhiều nét.hero——
death_1HeroDeath heroId=H04 (sau vo_death, trên DeathRecap)Lệch… một phân thôi mà…hero——
death_2HeroDeath heroId=H04Thầy… con đo sai rồi.hero——
hub_hearthHubStationInteract stationId=ST_HEARTHLửa ấm quá. Con ngồi đo đất chút, bà Ulla.hero60—
hub_forgeHubStationInteract stationId=ST_FORGELão Grem, khớp compa lại lỏng rồi.hero60—
hub_yardHubStationInteract stationId=ST_YARDRăm, đứng yên. Ta đo khoảng cách.hero60—
hub_ledgerHubStationInteract stationId=ST_LEDGERThầy Hol, ghi giúp con mấy huyệt mới.hero60—
hub_dockHubStationInteract stationId=ST_DOCKBờ bên kia đo không ra. Lạ thật.hero60—
hub_wennaHubStationInteract stationId=ST_HEARTH khi H11 đã mở (hub_idle)Wenna lại đào lệch nửa gang rồi.hero120—