1Định danh & tiểu sử
- Danh hiệu
- Cung Xương Sườn
- Vũ khí
- trường cung xương (bone longbow) làm từ sườn cá voi tro mắc cạn
- Nhóm vai
RANGED— tầm xa/nón gần, sát thương theo hàng- Độ khó
- 3/5
- Mở khoá
COUNT_ANSWER· 150 lần ĐÁP thành công (cộng dồn tài khoản, tính hồi tố, mọi mode trừ CUSTOM) rồi trả 6 Mảnh Vọng ở Lò Rèn (ST_FORGE) — Mảnh Lưỡi Vọng chỉ theo người bắn trúng nhịp. · Mảnh Vang: 6- Mốc
- Demo Next Fest MS02
- Verb tag
- Combo COMBO · Lướt DASH · Đáp ANSWER · Phản COUNTER · Kỹ năng SKILL · Tài nguyên: Hơi RES:BREATH
Trục độ khó (doc 12 §4, 0–2)
Tiểu sử
Veyra săn trên Đầm Vải Liệm từ trước Đêm Câm; giờ cô săn thứ Tro bò lên bờ kênh để người sống ven đầm còn chỗ phơi lưới. Ít lời, đếm hơi thay đếm giờ; tin một mũi tên đúng nhịp hơn mười mũi vội. Cây cung là sườn con cá voi tro mắc cạn: Cá Voi Xác cùng đàn con đã nhả nó cho cô, nên cô không bao giờ bắn vào đàn ấy. Đò Calla là nhà thứ hai; cô vớt người chết đuối cho Hội Đưa Đò và đổi xu với Kessa để giữ tên họ. Mảnh Lưỡi Vọng chỉ theo người bắn trúng nhịp, nên cô tới tháp muộn. "Nín. Đếm. Thả." · "Đầm không nợ ai một cái xác." · "Hụt một hơi, đi một người."
Câu nói
Ghi chú lệch có chủ đích
Sân Tập/sim [ASSUMED]: tỉ lệ nhả trúng Đỉnh Hơi 40% (dummy M ĐÁP 50% tell ngắt kéo); loadout tham chiếu SK03 + SK05 (2 ô khởi đầu MR01). ST = combo 5.73 coef/s (gồm Mắt Thợ Đầm, Tên Hồi) + 0.75 × (4.0/8 + 7.0/8) = 6.76 coef/s → 67.6 HP/s (ST_n 1.13, khung 67 ±5%); combo = 85% ST. HD = combo 332 + 0.75 × (4.0 × 19.7 / 8 + 7.0 × 30.7 / 8) × 10 = 608 (HD_n 0.91, trong ±10% của 670); V = 0.962 (khung cứng 0.90–1.10). Đạn: A = tầm × rộng khi xuyên vô hạn, A ≤ n × 500 khi xuyên n (doc 17 §4.1). DE không nhân chí mạng. balance_calc: SK01 0.821 · SK02 1.065 (3.74 + 12.38) · SK03 0.901 · SK04 0.915 · SK05 1.021 · SK06 1.133 · SK07 0.583 + Hơi 20 × 0.2 = 0.90 [ASSUMED quy đổi 1 Hơi = 0.2 coef] · SK08 (2026-11-07 - Đỉnh do Nín Thở hoàn 0 Hơi, +5 Dư Âm ≤ +20/lần; ngân sách cd 12 = 26.04): Hơi 100 − 40 = 60 → 2 lần kéo 0.7 s (21 Hơi) + kill_multi ~+10 → 3 phát Đỉnh/lần (hạng I); mỗi phát Đỉnh thay mốc 2: 6.0 × aoe(380 × 12 = 4560) 1.62 = 9.71 − 4.0 × aoe(2 × 500) 1.25 = 5.00 → +4.71; 3 Đỉnh = 1 Tên Hồi chắc chắn: 9.0 × aoe(420 × 28) 1.92 = 17.27 − mốc 1 2.87 = +14.40 · hạng I 3 × 4.71 + 14.40 = 28.5 → 1.10 XANH · hạng II (5 s, ~3.5 Đỉnh nhờ hồi Hơi giữa lần kéo) 30.9 → 1.19 (+8% ≤ +20%) · hạng III (+chuỗi 2 cho Đỉnh đầu → 1.5 Tên Hồi kỳ vọng) 3.5 × 4.71 + 1.5 × 14.40 = 38.1 → 1.46 (+34% so với hạng I ≤ +40% doc 17 §4.2); Hơi ròng âm nên phần tài nguyên 0% < 30% dải nhịp độ (chấp nhận, như cd 12). Dư Âm/lần: ≤ +20 từ Đỉnh + Tên Hồi +10–15 = ≤ 35/12 s (cũ hạng III 80–90) · UL1 0.602 + dễ tổn 25% × 6 s × 6.7 coef/s × aoe 2.5 = 0.853 · UL2 0.694 VÀNG (không tính chí mạng; tính chí mạng bảo đảm = 1.32): số canon brief §11.7 giữ nguyên, ult khoá 1 mục tiêu nên bù bằng execute 0.20 · UL3 ≈ 1.09 (lao mốc 3 mỗi 0.77 s 12.06 DE so với nền 3.6 coef/s, 9 s). Lệch có chủ đích (2026-11-07): SK02 cd 7 → 8 và SK03 cd 10 → 8 (đưa về XANH); SK03 thêm coef 4.0 khi cắm; SK04 coef 1.0 → 4.0 và khựng 0.4 s → STS_STUN 1.2 s (S), tránh ĐỎ 0.30; SK06 cd 9 → 6 (ĐỎ 0.56 → XANH, vào dải tay đôi 5–8 s); SK01 thêm mảnh vỡ r48 mỗi tên (brief không ghi bán kính). Giữ theo brief dù lệch dải nhóm doc 17 §4.2: SK04 cd 7 (khống chế 8–12), SK08 cd 12 (nhịp độ 3–8), SK05 aoe 2.01 > 1.3 (lao xuyên hàng là bản sắc). Phản: coef 16 (brief) + tự đánh dấu Mắt Thợ Đầm trước cú = 184 tương đương (khuôn 180 ±10%). Vòng chân/rim dùng r6 #5dd463 thay r4 #2db23a của Bible INV-09 vì validator đo #2db23a / sàn lit B2 #455862 = 2.67:1 < 3:1. Tên skin theo doc 18 §bảng skin. Tên cắm sàn: mọi phát kéo hết tầm cắm 4 s (nguồn Gió Đầm). Không có music stinger ult (doc 32 §3 không có cue riêng). · 2026-11-07 - Mastery: bỏ MR13/MR14/MR17/MR19 (FRAME_PORTRAIT_SILVER_H07, FRAME_CARD_H07, HEARTH_RIM_H07, TITLE_H07_SUB chưa có id định nghĩa); MR20 giữ [SKN_H07_4], danh hiệu MR20 ở title_mr20_vi.
2Hình ảnh & bảng màu
- Màu slot
- #2db23a hue 126°
- Vòng chân
- #5dd463 r 12 px
- Sprite
- 37 px cao
- Chân dung
- bust 128/128 · body 192/192 · viền #5dd463
- Trang phục pixelfx
Tools/pixelfx/src/fx/heroes/_h07.js
Skin
Clip hoạt ảnh (38) — số khung
| Clip | Khung | Lặp | Khung trúng | Hướng |
|---|---|---|---|---|
| idle | 48 | có | — | 5+3 |
| run | 18 | có | — | 5+3 |
| dash | 10 | — | — | 5+3 |
| attack_1 | 28 | — | 3 | 5+3 |
| attack_2 | 28 | — | 3 | 5+3 |
| attack_3 | 36 | — | 5 | 5+3 |
| charge_draw | 30 | có | — | 5+3 |
| charge_release | 18 | — | 1 | 5+3 |
| peak_release | 18 | — | 1 | 5+3 |
| recall_shot | 36 | — | 4 | 5+3 |
| dash_attack | 26 | — | 2 | 5+3 |
| answer | 12 | — | 0 | 5+3 |
| answer_hit | 18 | — | 2 | 5+3 |
| hold_in | 9 | — | — | 5+3 |
| hold_loop | 18 | có | — | 5+3 |
| hold_out | 8 | — | — | 5+3 |
| counter | 24 | — | 3 | 5+3 |
| sk01 | 36 | — | 7 | 5+3 |
| sk02 | 32 | — | 7 | 5+3 |
| sk03 | 32 | — | 6 | 5+3 |
| sk04 | 13 | — | 3 | 5+3 |
| sk05 | 28 | — | 15 | 5+3 |
| sk06 | 60 | — | 15/35/55 | 5+3 |
| sk07 | 15 | — | 2 | 5+3 |
| sk08 | 12 | — | — | 5+3 |
| ul1 | 66 | — | 24/39/54 | 5+3 |
| ul2 | 54 | — | 9/18/27/36/45 | 5+3 |
| ul3 | 15 | — | — | 5+3 |
| as2_fin | 30 | — | 4 | 5+3 |
| as3_fin | 40 | — | 6 | 5+3 |
| hurt | 10 | — | — | 5+3 |
| broken | 27 | có | — | 5+3 |
| death | 72 | — | — | 5+3 |
| revive | 36 | — | — | 5+3 |
| wake | 36 | — | — | 5+3 |
| victory | 54 | — | — | 5+3 |
| hub_idle | 72 | có | — | 5+3 |
| select | 48 | có | — | 1 |
3Chỉ số & khung vai trò
| Chỉ số | Tên | Giá trị | Đơn vị | So max roster | Roster min–max | Nhóm min–max |
|---|---|---|---|---|---|---|
HP_MAX | HP tối đa | 100 | HP | 100 | 100 – 160 | 100 – 110 |
MOVE_SPEED | Tốc chạy | 142 | px sàn/s | 142 | 130 – 145 | 136 – 142 |
ACCEL_TIME | Thời gian tăng/giảm tốc | 0.06 | s | 0.06 | 0.06 – 0.06 | 0.06 – 0.06 |
POWER | Lực | 10 | điểm | 10 | 10 – 10 | 10 – 10 |
DMG_INC | Sát thương | 0 | +% | 0 | 0 – 0 | 0 – 0 |
ATK_SPEED | Tốc đánh | 1 | × | 1 | 1 – 1 | 1 – 1 |
CRIT_CHANCE | Tỉ lệ chí mạng | 5 | % | 5 | 5 – 5 | 5 – 5 |
CRIT_MULT | Hệ số chí mạng | 2 | × | 2 | 2 – 2 | 2 – 2 |
AREA | Cỡ vùng | 1 | × bán kính | 1 | 1 – 1 | 1 – 1 |
PROJ_SPEED | Tốc đạn hero | 1 | × | 1 | 1 – 1 | 1 – 1 |
DURATION | Thời lượng hiệu ứng hero (vùng, triệu hồi, buff) | 1 | × | 1 | 1 – 1 | 1 – 1 |
CDR | Giảm thời gian hồi chiêu kỹ năng | 0 | % | 0 | 0 – 0 | 0 – 0 |
DASH_CHARGES | Lượt Lướt | 2 | lượt | 2 | 2 – 2 | 2 – 2 |
DASH_RECHARGE | Nạp 1 lượt Lướt | 0.7 | s | 0.7 | 0.7 – 0.7 | 0.7 – 0.7 |
ANSWER_WINDOW | Cửa sổ ĐÁP | 0.16 | s | 0.16 | 0.15 – 0.18 | 0.15 – 0.16 |
POISE_MAX | Thế hero | 100 | điểm | 100 | 100 – 100 | 100 – 100 |
POISE_REGEN | Hồi Thế | 40 | điểm/s | 40 | 40 – 40 | 40 – 40 |
DR | Giảm sát thương nhận | 0 | % | 0 | 0 – 0 | 0 – 0 |
ELITE_DMG | Sát thương lên M/L/XL | 0 | +% | 0 | 0 – 0 | 0 – 0 |
STATUS_POWER | Uy lực trạng thái (sát thương DoT + số của trạng thái hero gây) | 0 | +% | 0 | 0 – 0 | 0 – 0 |
HEAL_MULT | Hệ số hồi phục HP | 1 | × | 1 | 1 – 1 | 1 – 1 |
PICKUP_R | Bán kính hút XP/cầu máu | 50 | px | 50 | 50 – 50 | 50 – 50 |
ULT_GAIN | Hệ số nạp Dư Âm | 1 | × | 1 | 1 – 1 | 1 – 1 |
RES_GAIN | Hệ số nạp tài nguyên hero | 1 | × | 1 | 1 – 1 | 1 – 1 |
KNOCKBACK | Lực đẩy | 1 | × | 1 | 1 – 1 | 1 – 1 |
SHIELD_CAP | Trần khiên | 50 | % HP tối đa | 50 | 50 – 50 | 50 – 50 |
dash_px | — | 80 | — | 80 | 72 – 90 | 76 – 80 |
4Tài nguyên & nội tại
- Tài nguyên
- Hơi BREATH · kiểu
GAUGE - Khoảng
- 0 – 100 (bắt đầu 100)
- Suy giảm
- —
- Khi trúng đòn
- −20
- ĐÁP
- 20
- Né hoàn hảo
- 15
- Sự kiện đầy
- res_full
- HUD
- BAR · hud_bottom_left_under_hp
- Liên kết Dư Âm
- Dư Âm +10 mỗi phát nhả trong Đỉnh Hơi (gồm Tên Hồi, Mũi Lao Sườn hạng III); phát Đỉnh do Nín Thở +5 Dư Âm (≤ +20/lần dùng); chung ĐÁP +4, Né Hoàn Hảo +4; không nạp trong UL3
| Sự kiện | Lượng | Trần/s | Ghi chú |
|---|---|---|---|
| passive | 20 | 20 | hồi 20 Hơi/s khi KHÔNG kéo (trễ 0.25 s sau mỗi lần nhả); vào phòng mới giữ nguyên Hơi (vào run đầy 100) |
| heavy | 15 | — | chỉ phát nhả trong Đỉnh Hơi (8 tick sau mốc 3; Thương Xót 10 tick) hoàn 15 Hơi (phát Đỉnh do Nín Thở hoàn 0); nhả ngoài Đỉnh = 0 |
| answer | 20 | — | ĐÁP thành công +20 (canon 11 §3.1); MRN07 bậc 2: 0 khi Hơi < 20 |
| perfect_dodge | 15 | — | Né Hoàn Hảo +15 (canon) |
| kill_multi | 5 | 10 | 1 mũi tên kéo (mốc 1+) giết ≥ 3 quái → +5 Hơi; nguồn từ bầy S, không cần Tinh Anh (HF-03) |
Tiêu
| Hành động | Giá | Thiếu vẫn dùng | Ghi chú |
|---|---|---|---|
| HEAVY | 30 | có | kéo (giữ ATTACK ≥ 12 tick) tốn 30 Hơi/s; Hơi về 0 giữa lúc kéo → tự nhả ở mốc cao nhất đã đạt; Hơi < 10.5 không vào được kéo (chỉ bắn tên nhanh); 2026-11-07 - action = HEAVY: kéo là ô HEAVY (H07_HEAVY_1..3), thay chữ thường draw để khớp pattern khóa máy đọc |
| Mũi Lao Sườn H07_SK05 | 30 | không | Mũi Lao Sườn; thiếu Hơi = từ chối kỹ năng (HUD nháy) |
| Nín Thở H07_SK08 | 40 | không | Nín Thở; thiếu Hơi = từ chối kỹ năng; phát Đỉnh trong Nín Thở hoàn 0 Hơi, kéo vẫn tốn 30 Hơi/s nên Hơi giới hạn ~3 phát Đỉnh/lần dùng (Hơi đầy) |
Trạng thái theo ngưỡng
Hụt Hơi ≥ 0
Đủ Hơi ≥ 30
Lặng Hơi ≥ 100
Nội tại: Mắt Thợ Đầm
5Phòng thủ: ĐÁP · Giữ · Phản · Lướt
ĐÁP: Bắn Ngắt
Mũi tên hông bật ngay khỏi dây, không cần kéo: trúng kẻ đánh 1.0 × Lực, đẩy 20 px, cộng hiệu ứng ĐÁP chung (S choáng 1.0 s; M −45 Thế) và mở Phản.
Bắn rơi đạn giữa không trung; mũi tên bay tiếp theo đường đạn tới kẻ bắn nếu ≤ 300 px, gây 1.5 × Lực; > 300 px thì tên rơi cắm sàn.
Ngắt mà không mất nạp: ĐÁP thành công trong lúc kéo giữ nguyên mốc kéo đã đạt 1.0 s (không trừ Hơi trong 1.0 s đó) — thả ATTACK là ra đòn mốc đó ngay; Đỉnh Hơi không giữ được qua ĐÁP.
- window_s
- 0.16
- res_gain
- 20
- needs_resource
- không
Giữ: Lùi Lắp
hồi 0.8 s sau khi thả; phần kéo tốn 30 Hơi/s như thường (Hơi 0: chỉ lùi, không lắp)
Không chặn, không giảm: đòn P trúng thường, không Vỡ Thế (verb di chuyển, 11 §2.3).
- mechanic
- RETREAT
- armor_tier
- NONE
- move_mult
- 0.5
- max_s
- 1.5
- cooldown_s
- 0.8
Lướt
- dash_px
- 80
- anim
- dash
- afterimage
- có
- trail_vfx
- VFX_H07_dash_trail
Ghi đè input (input_override)
- attack_hold_ticks
- 12
- attack_hold_action
- CHARGE
- charge_marks
- 0.35/0.7/1
- charge_move_mult
- 0.5
- place_min
- 48
- place_default
- 160
- place_max
- 260
- aim_rotate_max
- 720
- Kiểu bấm kỹ năng
- H07_SK01
TAP· H07_SK02TAP· H07_SK03TAP· H07_SK04TAP· H07_SK05HOLD· H07_SK06TAP· H07_SK07TAP· H07_SK08TAP
6Bộ đòn & frame data
| Đòn | Slot | Khởi t | Hiệu lực t | Hồi t | Tổng s | Coef | Lớp đòn | Hitbox | Mục tiêu | Thế | Hitstop s | Trauma | Giáp | Huỷ vào | Cờ | Ghi chú |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Tên Nhanh I H07_COMBO_A_1 | COMBO_A | 6 | 2 | 12 | 0.333 | 1 | LIGHT | LINE len 220 w 8 | 1 | 3 | 0.035 | 0 | NONE | COMBO_A@14/HEAVY@8 | atk_speed_scales | Bắn hông 1 tên sậy mũi xương, không tốn Hơi; dừng ở mục tiêu đầu; hết tầm 220 px rơi xuống sàn (không cắm). |
| Tên Nhanh II H07_COMBO_A_2 | COMBO_A | 6 | 2 | 12 | 0.333 | 1 | LIGHT | LINE len 220 w 8 | 1 | 3 | 0.035 | 0 | NONE | COMBO_A@14/HEAVY@8 | atk_speed_scales | Tên thứ 2 lệch 6° sang phải hướng ngắm (bù quái tạt ngang); cùng thông số A1. |
| Tên Nặng H07_COMBO_A_3 | COMBO_A | 10 | 2 | 18 | 0.5 | 2 | HEAVY | LINE len 260 w 10 | 2 | 14 | 0.07 | 0.28 | NONE | HEAVY@12 | finisher/shieldbreak/pierce/atk_speed_scales | Kéo nửa dây bắn tên xương nặng, xuyên 2, đẩy S 16 px; đòn kết combo; giữ ATTACK ngay sau A3 nối thẳng vào kéo (đếm từ tick bấm). |
| Kéo Mốc 1 H07_HEAVY_1 | HEAVY | 21 | 2 | 16 | 0.65 | 2.5 | MEDIUM | LINE len 300 w 12 | 1 | 10 | 0.045 | 0 | NONE | SKILL@0/ULT@0 | charge/charge_mark_n/pierce | Giữ ATTACK ≥ 12 tick vào kéo; mốc 1 ở tick 21 (0.35 s); đi ×0.5, xoay ngắm ≤ 720°/s; kéo tốn 30 Hơi/s; nhả = tên xuyên 1. |
| Kéo Mốc 2 H07_HEAVY_2 | HEAVY | 42 | 2 | 16 | 1 | 4 | MEDIUM | LINE len 340 w 12 | 2 | 18 | 0.045 | 0.22 | NONE | SKILL@0/ULT@0 | charge/charge_mark_n/pierce | Mốc 2 ở tick 42 (0.70 s): tên xuyên 2, đẩy S 20 px. |
| Kéo Mốc 3 H07_HEAVY_3 | HEAVY | 60 | 2 | 18 | 1.333 | 6 | HEAVY | LINE len 380 w 12 | 3 | 30 | 0.07 | 0.28 | NONE | SKILL@0/ULT@0 | charge/charge_mark_n/pierce/shieldbreak | Mốc 3 ở tick 60 (1.00 s): xuyên 3, đẩy S 28 px. Nhả sau cửa sổ Đỉnh (tick ≥ 68) vẫn là mốc 3; giữ quá 1.5 s tự nhả mốc 3. |
| Đỉnh Hơi H07_HEAVY_PEAK | HEAVY | 60 | 2 | 14 | 1.267 | 6 | HEAVY | LINE len 380 w 12 | 48 | 30 | 0.07 | 0.3 | NONE | COMBO_A@8/HEAVY@8/SKILL@0/ULT@0 | charge/charge_mark_n/pierce/crit/shieldbreak | Nhả trong cửa sổ Đỉnh Hơi: tick 60–67 sau bấm (0.12 s = 8 tick, ceil; Thương Xót 0.16 s = 10 tick; hiệu chỉnh trễ ±0.10 s dời cửa sổ). Xuyên vô hạn (trần 48 mục tiêu), luôn chí mạng, hoàn 15 Hơi, Dư Âm +10, đánh dấu Mắt Thợ Đầm; recovery ngắn hơn mốc 3 4 tick. Đếm chuỗi Tên Hồi +1. |
| Tên Hồi H07_HEAVY_RECALL | HEAVY | 21 | 3 | 18 | 0.7 | 9 | HEAVY | LINE len 420 w 28 | 48 | 45 | 0.08 | 0.45 | NONE | COMBO_A@10/SKILL@0 | charge/pierce/crit/shieldbreak | Sau 3 phát Đỉnh liền (không nhả mốc thường/không bị trúng đòn Y/P xen giữa), phát kéo kế đạt mốc 1 trở lên thành Tên Hồi: tên xương dài gấp đôi, xuyên vô hạn, luôn chí mạng, đẩy S 40 px, đánh dấu Mắt Thợ Đầm; chuỗi về 0. HUD: 3 vạch trắng trên thanh Hơi. |
| Lách H07_DASH | DASH | 0 | 9 | 3 | 0.2 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | NONE | DASH@6/DASH_ATTACK@0 | — | Lướt chung INV-12: 80 px / 9 tick, bất tử 12 tick, 2 lượt nạp 42 tick tuần tự; dáng nghiêng người lách qua giữa 2 thân, cung dựng sát lưng; dư ảnh slot ≤ 3. |
| Quạt Tên Lách H07_DASH_ATTACK | DASH_ATTACK | 3 | 2 | 14 | 0.317 | 0.9 | MEDIUM | ARC r 200 arc 40 | 5 | 6 | 0.045 | 0.22 | NONE | COMBO_A@10/HEAVY@6 | pierce/atk_speed_scales | ATTACK trong 9 tick cuối Lách hoặc ≤ 9 tick sau: xoay người bắn quạt 5 tên 40° (mỗi tên LINE 200 × 8, xuyên 1, coef 0.9); tính là bước 1 COMBO_A (cú kế = A2). |
| Bắn Ngắt H07_ANSWER | ANSWER | 0 | 10 | 8 | 0.3 | 1 | ANSWER | LINE len 300 w 10 | 1 | 0 | 0.08 | 0.25 | NONE | COUNTER@0/HOLD@10/DASH@0 | — | Cửa sổ W 0.16 s = 10 tick (ceil); hit-test 360°, thân tự xoay về kẻ tấn công; trúng tell vàng cận chiến: mũi tên hông bắn thẳng kẻ đánh 1.0 × Lực, đẩy 20 px, S choáng 1.0 s, M/L/XL −45/−40/−35 Thế, mở Phản 60 tick. Hụt: khoá 0.30 s. Không tốn Hơi; ĐÁP lúc đang kéo giữ mốc đã đạt 1.0 s. |
| Bắn Ngắt — Tên Đuổi H07_ANSWER_PROJ | ANSWER | 0 | 18 | 6 | 0.4 | 1.5 | ANSWER | LINE len 300 w 10 | 1 | 0 | 0.08 | 0.25 | NONE | DASH@0/COMBO_A@6/HEAVY@6 | — | Trúng đạn vàng: tên bắn rơi đạn tại điểm chạm rồi bay tiếp theo ngược đường đạn tới kẻ bắn (≤ 300 px, 18 tick bay) gây 1.5 × Lực; kẻ bắn > 300 px → tên cắm sàn (nhặt được bằng H07_SK07). Không mở Phản. |
| Lùi Lắp H07_HOLD | HOLD | 0 | 9 | 0 | 0.15 | 0 | LIGHT | NONE | 1 | 0 | 0 | 0 | NONE | DASH@0/ANSWER@0/SKILL@9/ULT@9 | charge | Giữ RB/RMB qua ngưỡng W: lùi 40 px ngược hướng ngắm trong 9 tick (không bất tử), rồi tự kéo, mốc 1 sau 0.35 s (21 tick, trả 30 Hơi/s). Giữ tiếp tới 1.5 s vẫn kéo (đi ×0.5, có thể tới mốc 2/3 và Đỉnh Hơi đếm từ tick bắt đầu kéo); thả = nhả tên ở mốc đã đạt. Hồi 0.8 s sau khi thả. Lướt/ĐÁP huỷ mọi lúc. |
| Tên Xuyên Tim H07_COUNTER | COUNTER | 6 | 3 | 18 | 0.45 | 16 | COUNTER | LINE len 160 w 16 | 48 | 30 | 0.12 | 0.45 | NONE | DASH@9/HEAVY@12/SKILL@12 | shieldbreak/pierce | Đánh trong cửa sổ Phản 60 tick: lùi nửa bước rồi bắn sát tim mục tiêu ✦ LINE 160 × 16 xuyên vô hạn; đánh dấu Mắt Thợ Đầm ở tick 0 nên tên hưởng +15%: 16 × 1.15 = 18.4 × Lực = 184 tương đương (khuôn 180 ±10%). −30 Thế, đẩy 40 px, bất tử tick 0–9; vùng sau mục tiêu r40 tính trong đường bay. |
| Mưa Xương Sườn — mưa H07_SK01_RAIN | SKILL | 14 | 72 | 0 | 1.433 | 1.2 | SKILL | CIRCLE r 96 | 48 | 3 | 0.03 | 0.18 | NONE | COMBO_A@34/HEAVY@34/SKILL@34 | rehit | Tick 0–14 bắn 1 tên vút lên trời; vùng r96 tại điểm ngắm ≤ 260 px (tay cầm: place_min 48 → place_max 260 theo |RS|). Tick 14–86: 18 tên rơi, 1 tên/4 tick, tâm ngẫu nhiên trong r96 (rải đều theo 3 vòng lệch pha, không trùng tâm < 24 px); mỗi tên vỡ mảnh xương CIRCLE r48 coef 1.2 → quái trong r96 trúng ~4.5 tên. Hero hồi phục từ tick 34 (vùng sống độc lập). Vòng sàn báo vùng: fill slot 30% + viền 1 px (FX-04), hiện ngay tick 14. |
| Tên Chẻ Đàn — tên mẹ H07_SK02_MAIN | SKILL | 12 | 2 | 16 | 0.5 | 3 | SKILL | LINE len 300 w 12 | 1 | 10 | 0.045 | 0.2 | NONE | COMBO_A@10/HEAVY@10 | pierce | Tên mẹ đuôi chẻ đôi LINE 300 × 12, dừng ở mục tiêu đầu; trúng hoặc hết tầm → tách H07_SK02_SPLIT tại điểm đó. |
| Tên Chẻ Đàn — tên con H07_SK02_SPLIT | SKILL | 0 | 2 | 0 | 0.033 | 1.8 | SKILL | LINE len 160 w 12 | 6 | 4 | 0.03 | 0 | NONE | — | pierce | 6 tên con quạt 120° quanh hướng bay (cách 24°), mỗi tên LINE 160 × 12, xuyên 1, 60% coef tên mẹ = 1.8; tên con không trúng lại mục tiêu tên mẹ. |
| Ghim Sàn H07_SK03_PIN | SKILL | 12 | 2 | 18 | 0.533 | 4 | SKILL | CIRCLE r 56 | 48 | 20 | 0.06 | 0.25 | NONE | COMBO_A@12/HEAVY@12 | — | Bắn tên cọc xương cắm điểm ≤ 240 px (bay 12 tick, vòng sàn báo r56 hiện từ tick 0): CIRCLE r56 coef 4.0; S STS_PIN 1.5 s · M 0.75 s · L/XL −15 Thế (không ghim). Vẫn đánh được khi bị ghim (chỉ khoá di chuyển). |
| Bật Dây H07_SK04_SNAP | SKILL | 6 | 3 | 16 | 0.417 | 4 | SKILL | ARC r 64 arc 120 | 48 | 15 | 0.05 | 0.25 | NONE | COMBO_A@10/HEAVY@10 | — | Kéo căng rồi bật dây không lắp tên: sóng dây ARC 120° r64 trước mặt, coef 4.0, đẩy 60 px; S choáng STS_STUN 1.2 s · M 0.6 s (×0.5) · L/XL −15 Thế. Lối thoát khi bị vây. |
| Mũi Lao Sườn H07_SK05_LANCE | SKILL | 30 | 3 | 22 | 0.917 | 7 | SKILL | LINE len 480 w 32 | 48 | 30 | 0.08 | 0.45 | NONE | COMBO_A@14/HEAVY@14 | shieldbreak/pierce/charge | HOLD: lắp nguyên 1 xương sườn làm lao; giữ ≥ 0.5 s (30 tick) mới phóng đủ lực (thả sớm hơn = 60% coef, vẫn tốn Hơi); giữ tối đa 1.0 s rồi tự phóng. LINE 480 × 32 xuyên vô hạn coef 7.0, đẩy S 24 px, −30 Thế đã gồm; tốn 30 Hơi lúc phóng (thiếu = từ chối). Đi ×0.5 khi giữ. |
| Lùi Ba Bước — bước H07_SK06_STEP | SKILL | 0 | 9 | 31 | 0.667 | 0 | SKILL | NONE | 1 | 0 | 0 | 0 | NONE | HEAVY@30 | charge | 3 bước liền, mỗi bước 40 tick: lùi 40 px ngược hướng ngắm trong 9 tick (bất tử 6 tick đầu), rồi tự kéo tới mốc 1 ở tick 30 của bước; chạm ATTACK trong 10 tick cuối bước = nhả H07_HEAVY_1 (2.5, xuyên 1) không tốn Hơi; bỏ qua = bước kế tự chạy. Đi trong kéo ×0.5. |
| Gió Đầm H07_SK07_GUST | SKILL | 4 | 14 | 12 | 0.5 | 3 | SKILL | LINE len 140 w 32 | 48 | 6 | 0.035 | 0.18 | NONE | HEAVY@18/COMBO_A@18 | — | Lướt dài 140 px trong 14 tick theo hướng đi (không bất tử, lao xuyên S, dừng trước M/L/XL); gió dọc đường LINE 140 × 32 coef 3.0 đẩy S 30 px sang 2 bên. Nhặt mọi tên cắm sàn trong 24 px quanh đường: +5 Hơi/tên, phát kéo kế +1 xuyên/tên (trần +6). Tên cắm sàn: mọi phát kéo hết tầm cắm 4 s (H07_HEAVY_*, Bắn Ngắt quá 300 px). |
| Nín Thở H07_SK08_HOLD | SKILL | 6 | 1 | 18 | 0.417 | 0 | SKILL | NONE | 1 | 0 | 0 | 0 | NONE | HEAVY@7/COMBO_A@7 | — | Hít sâu rồi nín (tốn 40 Hơi): 4 s (hạng II–III 5 s), mọi phát kéo nhả ở ≥ 0.7 s (mốc 2) tính là Đỉnh Hơi (chí mạng, xuyên vô hạn, hoàn 0 Hơi, Dư Âm +5 tới trần +20/lần dùng, chuỗi Tên Hồi +1; hạng III: phát Đỉnh đầu tiên tính +2). Kéo vẫn tốn 30 Hơi/s, không hồi Hơi lúc kéo. Không cộng dồn với chính nó. |
| Cung Trời Xương — bắn trời H07_UL1_LAUNCH | ULT | 24 | 1 | 0 | 0.417 | 0 | ULT | NONE | 1 | 0 | 0 | 0.3 | NONE | — | shieldbreak | Bất tử toàn clip 132 tick (đòn này 0–25, H07_UL1_RAIN 0–132); giải trừ trạng thái ở tick 0; kéo căng hết dây chĩa thẳng trời, World ×0.4. |
| Cung Trời Xương — 3 đợt H07_UL1_RAIN | ULT | 48 | 62 | 22 | 2.2 | 1.5 | ULT | CIRCLE r 160 | 128 | 8 | 0.1 | 0.55 | NONE | — | shieldbreak/rehit | 3 đợt ở tick 48 / 78 / 108, mỗi đợt 40 tên rơi trong r160 quanh hero (mảnh xương CIRCLE r56 mỗi tên, coef 1.5): quái trong vùng trúng ~4.9 tên/đợt. Mọi kẻ trúng nhận dễ tổn +25% sát thương từ Veyra 6 s (không cộng với Mắt Thợ Đầm: lấy cao hơn). |
| Tên Hồi Cuối — 4 Đỉnh H07_UL2_VOLLEY | ULT | 18 | 55 | 0 | 1.217 | 6 | ULT | LINE len 380 w 12 | 128 | 15 | 0.08 | 0.3 | NONE | — | shieldbreak/crit/pierce | Khoá mục tiêu chính (M/L/XL ưu tiên, trong 300 px; không có → S gần nhất): 4 phát Đỉnh ở tick 18 / 36 / 54 / 72, mỗi phát 6.0 chí mạng, +12% cộng dồn (×1.00/1.12/1.24/1.36), xuyên vô hạn qua đường bắn. |
| Tên Hồi Cuối — phát 5 H07_UL2_RECALL | ULT | 90 | 3 | 15 | 1.8 | 18 | ULT | LINE len 420 w 28 | 128 | 40 | 0.12 | 0.8 | NONE | — | shieldbreak/crit/pierce/execute | Phát 5 = Tên Hồi ×2 (coef 18.0, ×1.48 cộng dồn, chí mạng) LINE 420 × 28; mục tiêu chính HP ≤ 20% sau cú → kết liễu (S/M); boss XL: ×1.5 thay kết liễu (doc 10 §3.4). |
| Thợ Săn Gió Lạnh — kích H07_UL3_ACTIVATE | ULT | 0 | 30 | 0 | 0.5 | 0 | ULT | NONE | 1 | 0 | 0 | 0.3 | NONE | — | shieldbreak | Kích 0.5 s bất tử (30 tick), giải trừ trạng thái; gió lạnh cuộn quanh dây cung, vào dạng 9 s. |
| Thợ Săn Gió Lạnh — lao gió H07_UL3_LANCE | ULT | 30 | 3 | 14 | 0.783 | 6 | ULT | LINE len 480 w 32 | 48 | 30 | 0.07 | 0.3 | NONE | — | shieldbreak/pierce/charge/charge_mark_n | Trong dạng: mốc kéo 0.18 / 0.35 / 0.50 s; mọi phát nhả ≥ mốc 1 thành lao LINE 480 × 32 xuyên vô hạn với coef mốc (2.5 / 4.0 / 6.0); Đỉnh Hơi vẫn mở 8 tick sau mốc 3 (chí mạng + chuỗi). |
| Tên Sừng Đôi H07_AS2_FIN | ASPECT | 8 | 2 | 16 | 0.433 | 1.6 | HEAVY | LINE len 180 w 10 | 2 | 12 | 0.07 | 0.28 | NONE | — | finisher/shieldbreak/pierce/atk_speed_scales | AS2 cú 5: 2 tên song song cách 12 px, mỗi tên LINE 180 × 10 xuyên 2 coef 1.6; thay A3 khi lắp Cung Sừng Ngắn (combo 5 cú, 4 cú đầu là A1/A2 nhịp ×1.30 tầm 180). |
| Tên Hồi Cọc Sống H07_AS3_FIN | ASPECT | 27 | 3 | 20 | 0.833 | 11.7 | HEAVY | LINE len 420 w 28 | 48 | 50 | 0.09 | 0.5 | NONE | — | crit/pierce/shieldbreak | AS3 Tên Hồi: mốc 1 ở 0.45 s (27 tick), coef 9.0 × 1.30 = 11.7, chí mạng, xuyên vô hạn; mục tiêu chính STS_PIN 1.0 s (M 0.5 s; L/XL −15 Thế). |
78 kỹ năng
Mưa Xương Sườn
skill.projectile_rainHạng III: hạng III: hệ số ×1.40 so với hạng I và mỗi tên rơi để lại 1 tên cắm sàn 4 s (nguồn cho Gió Đầm/AS2); dùng lại sheet VFX_H07_arrow_stuck
Đòn: · SKILL H07_SK01_RAIN · Tag: Kỹ năng SKILL · Vùng rộng AREA
Tên Chẻ Đàn
skill.split_projectileHạng III: hạng III: 8 tên con quạt 150°, mỗi tên con xuyên 2 (đổi tham số split_projectile n/coef_pct); cùng sheet VFX_H07_SK02_split_fan
Đòn: · SKILL H07_SK02_MAIN · · SKILL H07_SK02_SPLIT · Tag: Kỹ năng SKILL · Phóng PROJ
Ghim Sàn
skill.pinHạng III: hạng III: cọc xương đứng lại 2 s; quái S/M bước vào r40 quanh cọc bị Ghim 0.5 s (mỗi quái 1 lần); cùng sheet VFX_H07_SK03_pin_stake
Đòn: · SKILL H07_SK03_PIN · Tag: Kỹ năng SKILL · Vùng rộng AREA
Bật Dây
skill.string_snapHạng III: hạng III: sóng dây mở 180° r72 (đổi tham số string_snap arc/r) — thoát vòng vây nửa trước thân; cùng sheet VFX_H07_SK04_string_snap
Đòn: · SKILL H07_SK04_SNAP · Tag: Kỹ năng SKILL · Vùng rộng AREA
Mũi Lao Sườn
skill.lanceHạng III: hạng III: thả trong 0.12 s ngay sau mốc 0.5 s (8 tick, Thương Xót 10) = lao Đỉnh Hơi: chí mạng, hoàn 15 Hơi, chuỗi Tên Hồi +1; cùng sheet VFX_H07_SK05_rib_lance + VFX_H07_peak_cue
Đòn: · SKILL H07_SK05_LANCE · Tag: Kỹ năng SKILL · Phóng PROJ
Lùi Ba Bước
skill.backstep_drawHạng III: hạng III: mỗi tên nhả từ 1 bước lùi được +2 xuyên (đổi tham số backstep_draw); dùng lại VFX_H07_SK06_three_steps
Đòn: · SKILL H07_SK06_STEP · DRAW1 · HEAVY H07_HEAVY_1 · Tag: Kỹ năng SKILL · Di chuyển MOVE
Gió Đầm
skill.arrow_harvestHạng III: hạng III: lướt 160 px, trần xuyên cộng thêm 8 (đổi tham số arrow_harvest cap); cùng sheet VFX_H07_SK07_marsh_wind
Đòn: · SKILL H07_SK07_GUST · Tag: Kỹ năng SKILL · Di chuyển MOVE
Nín Thở
skill.peak_releaseHạng III: hạng III: giữ 5 s và ngưỡng 0.7 s (mốc 2); phát Đỉnh đầu tiên trong Nín Thở tính 2 cho chuỗi Tên Hồi (2 phát Đỉnh đã đủ mở Tên Hồi). 2026-11-07 - bỏ ngưỡng 0.35 s cũ: mọi phát kéo thành Đỉnh, hoàn Hơi ròng dương, ~8–9 Đỉnh/lần = +80–90 Dư Âm, phá ULT_INTERVAL 45–60 s (Bible §5.1). Dùng lại VFX_H07_SK08_held_breath
Đòn: · SKILL H07_SK08_HOLD · Tag: Kỹ năng SKILL · Tài nguyên: Hơi RES:BREATH
83 tuyệt kỹ (Ult)
Cung Trời Xương
ult.vulnerabilityBắn 1 tên lên trời: 3 đợt × 40 tên xương rơi trong r160, mỗi tên 1.5× Lực; kẻ trúng nhận thêm 25% sát thương 6 s.
Tên Hồi Cuối
ult.focusKhoá 1 mục tiêu: 5 phát Đỉnh Hơi liền, mỗi phát +12% cộng dồn; phát cuối là Tên Hồi ×2, kết liễu dưới 20% máu.
Thợ Săn Gió Lạnh
ult.lance9 s: kéo không tốn Hơi, mốc kéo nhanh gấp đôi; mọi phát kéo thành lao 480 × 32 xuyên vô hạn; chuỗi tên nhanh 5 phát.
Ghi đè khi biến hình
- input_override.charge_marks
- 0.18/0.35/0.5
- H07_HEAVY_1.on_release
- H07_UL3_LANCE
- H07_HEAVY_2.on_release
- H07_UL3_LANCE
- H07_HEAVY_3.on_release
- H07_UL3_LANCE
- resource.spend.draw.cost
- 0
- COMBO_A.quick_count
- 5
- H07_COMBO_A_3.slot_index
- 5
- H07_SK07_GUST.cooldown_mult
- 0.5
- ult_gauge_gain
- 0
93 Dạng Rèn
Cung Sườn Cá Voi
Kit gốc: 3 tên nhanh, kéo mốc 0.35/0.7/1 s, Đỉnh Hơi 0.12 s hoàn 15 Hơi.
- Combo
- tempo_mult 1, arc_add 0, range_add 0
- Luật tài nguyên
- giữ gốc
- Lệch độ khó
- —
- mechanic_key
- —
Cung Sừng Ngắn
5 tên nhanh (nhịp ×1.3, tầm 180); mốc kéo 0.3/0.6/0.85 s; tên nhanh hết tầm cắm sàn 4 s, nhặt +3 Hơi.
- Combo
- tempo_mult 1.3, arc_add 0, range_add −40
- Luật tài nguyên
- kéo rẻ hơn: 24 Hơi/s; mọi nguồn khác giữ nguyên
- Lệch độ khó
- axis R, delta −1
- mechanic_key
- passive.arrow_harvest
Đòn: · ASPECT H07_AS2_FIN
Cung Xương Lớn
Mốc kéo 0.45/0.9/1.3 s, sát thương kéo ×1.3; Đỉnh hoàn 25 Hơi; Tên Hồi Ghim mục tiêu chính 1 s.
- Combo
- tempo_mult 0.8, arc_add 0, range_add 40
- Luật tài nguyên
- Đỉnh Hơi hoàn 25 Hơi thay 15; các nguồn khác giữ nguyên
- Lệch độ khó
- axis D, delta 1
- mechanic_key
- passive.pin
Đòn: · ASPECT H07_AS3_FIN
10Nâng cấp: Edge · Cộng Hưởng · Tiến Hoá
Then Chốt (LEGENDARY)
Ngắt Đúng Đỉnh
ĐÁP lúc đã đạt mốc 3: nhả trong 1 s vẫn là Đỉnh Hơi; Bắn Ngắt rơi đạn +1 chuỗi Tên Hồi.
answer.peak_release + answer_proj.peak_releaseLách Xả Quạt
Hết Lách, dây tự tới mốc 1 không tốn Hơi; mỗi tên Quạt Tên Lách trúng tách 2 tên con 50%.
dash_end.backstep_draw + dash_attack.split_projectileTim Gọi Tên Hồi
Tên Xuyên Tim thành Tên Hồi 420 × 28, ×1.25, không xoá chuỗi; Vỡ Thế do Veyra làm đầy chuỗi Tên Hồi.
counter.lance + broken.peak_releaseHơi Vọng Hai Lần
Đỉnh Hơi vọng 1 tên theo cùng đường sau 0.3 s, ×0.6; tên vọng chồng Mắt Thợ Đầm +15%.
heavy.lance + proj_hit.vulnerabilityHướng build Combo · 6 Edge
Cộng Hưởng: Nhịp Tên Thuộc Lòng H07_RS1 · Combo COMBO
Thay bậc I: chuỗi 3 tên nhanh thành đòn dồn — 2 tên nhanh trúng cùng mục tiêu thì Tên Nặng xuyên hàng sau nó.
Nhịp Tay Thợ Đầm
Tên nhanh trúng cùng mục tiêu liên tiếp: +7/12/18% mỗi phát (trần 21/36/54%).
| tham số | H1 | H2 | H3 |
|---|---|---|---|
inc | 7 | 12 | 18 |
cap | 21 | 36 | 54 |
attack.focusMũi Xương Mài Nhọn
Tên nhanh và Tên Nặng: xuyên +1/1/2, sát thương +5/9/12%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
pierce_add | 1 | 1 | 2 |
dmg_inc | 5 | 9 | 12 |
combo_end.pierce_addKéo Thuộc Tay
Kéo: tới mốc sớm hơn 8/14/20%; cửa Đỉnh Hơi dời theo mốc 3.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
pct | 8 | 14 | 20 |
passive.charge_speedĐuôi Vảy Tách Đôi
Khi Tên Nặng trúng, tách 2 tên con quạt 40°, mỗi tên 70/112% sát thương.
| tham số | H1 | H2 |
|---|---|---|
coef_pct | 70 | 112 |
combo_end.split_projectileChẻ Giữa Lúc Kéo
Dùng Tên Chẻ Đàn khi đang kéo không nhả dây; tên mẹ +25/40% mỗi mốc đã đạt.
| tham số | H1 | H2 |
|---|---|---|
inc_per_mark | 25 | 40 |
charge_mark.split_projectileHàng Xương Thẳng Lối
Kéo mốc 3: thành lao 420 × 16 xuyên vô hạn; mỗi quái xuyên qua +4% (trần 40%).
charge_mark.lanceHướng build Lướt · 6 Edge
Cộng Hưởng: Bước Lùi Đầm Lầy H07_RS2 · Lướt DASH
Thay bậc I: Lách xuyên bầy để đánh dấu — mỗi quái Veyra lách qua bị Mắt Thợ Đầm như vừa trúng Đỉnh Hơi.
Gió Đầm Xa Bờ
Gió Đầm: cự ly +12/21/30%, hồi chiêu −6/10/15%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dist_pct | 12 | 21 | 30 |
cd_pct | 6 | 10 | 15 |
skill.range_extendBước Lùi Đánh Dấu
Khi tên nhả từ Lùi Ba Bước trúng, kẻ trúng nhận thêm 10/18/25% sát thương từ Veyra 3 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
inc | 10 | 18 | 25 |
skill_hit.vulnerabilityTên Lùi Buốt Giá
Khi Quạt Tên Lách trúng, gây Sương Giá 1.5/2.5/3.5 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
duration_s | 1.5 | 2.5 | 3.5 |
dash_attack.apply_frostBước Né Kéo Sẵn
Khi Né Hoàn Hảo trong Lùi Ba Bước, lùi thêm 16/26 px, dây tự tới mốc 2 giữ 0.6/1 s.
| tham số | H1 | H2 |
|---|---|---|
back_px | 16 | 26 |
keep_s | 0.6 | 1 |
perfect_dodge.backstep_drawGió Lạnh Thổi Dài
Thợ Săn Gió Lạnh: dạng +0.5/1 s; mỗi Lướt trong dạng phóng 1 lao 2/3.2× Lực.
| tham số | H1 | H2 |
|---|---|---|
form_add | 0.5 | 1 |
dash_lance_coef | 2 | 3.2 |
ult.form_extendLách Giữ Dây
Lướt khi đang kéo không nhả dây; nhả ở mốc 3 trong 0.2 s sau Lướt = Đỉnh Hơi.
dash.peak_releaseHướng build Đáp · 6 Edge
Cộng Hưởng: Ngắt Như Thở H07_RS3 · Đáp ANSWER
Thay bậc I: mỗi lần ĐÁP thành công là một lần Lùi Lắp miễn phí đã nạp sẵn tới mốc 2.
Mắt Canh Nhịp
Bắn Ngắt: cửa sổ ĐÁP +0.03/0.05/0.07 s (trần 0.24 s).
| tham số | H1 | H2 | H3 |
|---|---|---|---|
s_add | 0.03 | 0.05 | 0.07 |
passive.answer_window_addNgắt Là Đánh Dấu
Khi ĐÁP thành công, kẻ bị Bắn Ngắt nhận Mắt Thợ Đầm; Mắt Thợ Đầm +10/18/25%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
inc | 10 | 18 | 25 |
answer.vulnerabilityLùi Lắp Hoàn Hơi
Lùi Lắp: khi nhả tên, hoàn 20/35/50% Hơi đã kéo trong lần giữ đó.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
pct | 20 | 35 | 50 |
hold_end.res_refundĐạn Rơi Tên Tách
Khi Bắn Ngắt rơi đạn, tên tách 3 tên con quạt 30° về kẻ bắn, mỗi tên 50/80% sát thương.
| tham số | H1 | H2 |
|---|---|---|
coef_pct | 50 | 80 |
answer_proj.split_projectileCọc Ghim Đáp Lời
Khi ĐÁP thành công, cọc Ghim Sàn cắm tại kẻ đánh: quái S trong r48 bị Ghim 0.6/1 s.
| tham số | H1 | H2 |
|---|---|---|
duration_s | 0.6 | 1 |
answer.pinBắn Ngắt Xuyên Lưng
Bắn Ngắt: tên thành lao 300 × 16 xuyên vô hạn qua kẻ đánh, 2× Lực mỗi quái.
answer.lanceHướng build Phản · 6 Edge
Cộng Hưởng: Tim Đếm Nhịp H07_RS4 · Phản COUNTER
Thay bậc I: Tên Xuyên Tim mở một khoá săn — mục tiêu bị Phản càng trúng tên càng chịu đau.
Tim Đợi Lâu
Tên Xuyên Tim: cửa sổ Phản +0.1/0.18/0.25 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
s_add | 0.1 | 0.18 | 0.25 |
passive.counter_window_extendTim Gọi Trời Xương
Khi Phản trúng, +4/7/10 Dư Âm; mục tiêu dễ tổn +10% 4 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
amount | 4 | 7 | 10 |
counter.vulnerabilityTim Cắm Tên Quanh
Khi Phản trúng, 2/2/3 tên cắm quanh mục tiêu 3/4/5 s; Gió Đầm nhặt mỗi tên +5 Hơi.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
n | 2 | 2 | 3 |
t_s | 3 | 4 | 5 |
counter.arrow_harvestTim Bật Dây
Khi Phản trúng, Bật Dây tự bật quanh Veyra ở 60/96% sức, không tốn hồi chiêu.
| tham số | H1 | H2 |
|---|---|---|
coef_pct | 60 | 96 |
counter.string_snapTim Gọi Ống Tên
Khi Phản trúng, mọi kỹ năng đang hồi −0.6/1 s.
| tham số | H1 | H2 |
|---|---|---|
amount | 0.6 | 1 |
counter.cooldown_reduceTim Vỡ Quạt Xương
Khi Phản trúng, tên nổ thành 6 tên con quạt 90° sau mục tiêu, mỗi tên 30% sát thương.
counter.split_projectileHướng build Kỹ năng · 6 Edge
Cộng Hưởng: Ống Tên Đầy H07_RS5 · Kỹ năng SKILL
Thay bậc I: kỹ năng nuôi kỹ năng — mỗi lần trúng đông quái rút ngắn ô kỹ năng kia.
Mưa Rộng Đầm
Mưa Xương Sườn: bán kính +12/21/30%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
pct | 12 | 21 | 30 |
skill.area_growCọc Hút Tên
Ghim Sàn: quái đang bị Ghim nhận thêm 12/21/30% sát thương từ Veyra.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
inc | 12 | 21 | 30 |
status.vulnerabilityDây Gân Lạnh
Khi Bật Dây trúng, gây Sương Giá 2/3.2 s.
| tham số | H1 | H2 |
|---|---|---|
duration_s | 2 | 3.2 |
skill_hit.apply_frostSườn Mục Rơi
Khi tên Mưa Xương Sườn trúng, gây Mục Rữa 4 s (35/56%).
| tham số | H1 | H2 |
|---|---|---|
chance | 35 | 56 |
skill_hit.apply_rotChẻ Lần Hai
Khi tên con Tên Chẻ Đàn trúng, tách tiếp 2 tên cháu, mỗi tên 30/48% sát thương.
| tham số | H1 | H2 |
|---|---|---|
coef_pct | 30 | 48 |
proj_hit.split_projectileLao Sườn Quay Về
Mũi Lao Sườn hạ ≥ 5 quái: lao quay về theo đường cũ sau 0.4 s, 60% sát thương.
kill_multi.lanceHướng build Tài nguyên: Hơi · 6 Edge
Cộng Hưởng: Lồng Ngực Đầm Sâu H07_RS6 · Tài nguyên: Hơi RES:BREATH
Thay bậc I: Hơi không còn tăng đều — chỉ người nhả trúng Đỉnh liên tiếp mới thở được dài hơn.
Đỉnh Mài Sắc
Đỉnh Hơi và Tên Hồi: hệ số chí mạng +25/44/63%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
crit_mult_pct | 25 | 44 | 63 |
heavy.peak_releaseLao Hút Hơi
Khi Mũi Lao Sườn trúng, +2/4/5 Hơi mỗi quái xuyên qua (trần 20).
| tham số | H1 | H2 | H3 |
|---|---|---|---|
amount | 2 | 4 | 5 |
skill_hit.res_addLặng Trước Đỉnh
Khi Hơi đầy, Nín Thở kế: +0.5/0.8 s, phát Đỉnh trong đó +20/32% hệ số chí mạng.
| tham số | H1 | H2 |
|---|---|---|
dur_add | 0.5 | 0.8 |
crit_mult_pct | 20 | 32 |
res_full.peak_releaseNín Sâu
Khi Nín Thở kết thúc, hoàn 40/64% Hơi đã trả cho nó.
| tham số | H1 | H2 |
|---|---|---|
pct | 40 | 64 |
skill.res_refundHơi Tràn Đầu Tên
Hơi hoàn vượt 100 không mất: mỗi 1 Hơi tràn +1% sát thương phát kéo kế (trần 30%).
heavy.res_overflowChuỗi Hồi Sau Cuối
Tên Hồi Cuối kết thúc: chuỗi Tên Hồi đầy; mỗi mục tiêu bị kết liễu +10 Hơi.
ult_end.peak_releaseTiến Hoá
Sườn Băng Thả Diều
Quạt Tên Lách thành 3 lao băng 260 × 12 xuyên vô hạn (1.2× Lực, Sương Giá 3.5 s); Bật Dây gây Sương Giá 3.2 s.
- Cần Edge
- Tên Lùi Buốt Giá H07_E09 · Dây Gân Lạnh H07_E27
- Điều kiện
RESONANCEBước Lùi Đầm Lầy H07_RS2 = 1 — Cộng Hưởng Lướt (Bước Lùi Đầm Lầy) đạt bậc I; Tên Lùi Buốt Giá hạng III + Dây Gân Lạnh hạng II (hướng Thả Diều).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- dash_attack.lance
Mưa Mục Xương
Mưa Xương Sườn: 24 tên, mỗi tên gây Mục Rữa 4 s; tên cắm sàn rỉ mục r24 trong 3 s, tên nhanh bay qua +1 xuyên.
- Cần Edge
- Sườn Mục Rơi H07_E28 · Mũi Xương Mài Nhọn H07_E02
- Điều kiện
SKILL_RANKMưa Xương Sườn H07_SK01 = 3 — Mưa Xương Sườn hạng III; Sườn Mục Rơi hạng II + Mũi Xương Mài Nhọn hạng III (hướng Xuyên Hàng).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- skill_max_rank.projectile_rain
Lao Chẻ Đàn
Tên Chẻ Đàn: tên mẹ thành lao 480 × 24 xuyên vô hạn, luôn chí mạng như Đỉnh Hơi; mỗi quái bị xuyên tách 2 tên con 40% (trần 16).
- Cần Edge
- Chẻ Lần Hai H07_E29 · Đỉnh Mài Sắc H07_E31
- Điều kiện
LEVEL= 14 — Lv ≥ 14; Chẻ Lần Hai hạng II + Đỉnh Mài Sắc hạng III (hướng Đỉnh Hơi).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- skill_hit.lance
Cung Sườn Thức Tỉnh
Cung sườn thức tỉnh: tên nhanh xuyên 2, dây cung trắng-lục; Đỉnh Hơi để vệt sương gây Sương Giá 1.5 s.
- Cần Edge
- —
- Điều kiện
BOSS_KILLEDThợ Cả Đúc Chuông BS_B3 = BS_B3 — 2 Cộng Hưởng hero bậc II bất kỳ + đã hạ BS_B3 trong run.- Mở
- Công thức EVO4 hiện ở ST_FORGE (mở khoá sức mạnh cuối của T… MR12
- mechanic
- passive.weapon_awaken
Mẫu câu (7)
| ID | Câu |
|---|---|
| TPL_H07_dash_keep_string | Lách giữa lúc kéo không huỷ đòn kéo: mốc đã đạt được giữ, đồng hồ kéo dừng trong lúc Lách và chạy tiếp ngay sau; nếu đã đạt mốc 3, phát nhả ngay sau Lách vẫn tính là Đỉnh Hơi trong cửa sổ ân hạn. |
| TPL_H07_lance_return | Khi một Mũi Lao Sườn kết liễu đủ số quái, lao dừng ở cuối tầm rồi bay ngược về Veyra theo đúng đường cũ, xuyên vô hạn, không tốn Hơi; lao quay về không kích lại luật này. |
| TPL_H07_last_recall_chain | Khi Tên Hồi Cuối kết thúc, bộ đếm chuỗi Tên Hồi lên đủ 3 vạch trắng nên phát kéo kế đạt mốc 1 là Tên Hồi; mỗi mục tiêu bị kết liễu trong ult hoàn Hơi. |
| TPL_H07_answer_peak | ĐÁP thành công khi dây đã qua mốc 3: Đỉnh Hơi được giữ lại thay vì mất, thả ATTACK trong thời gian giữ là phát Đỉnh đủ thưởng; Bắn Ngắt rơi đạn tính như một phát Đỉnh cho chuỗi Tên Hồi. |
| TPL_H07_dash_volley | Hết Lách, dây tự kéo tới mốc 1 không tốn Hơi phần đầu; Quạt Tên Lách vẫn ra như thường và mỗi tên trúng tách tên con một lần, tên con không tách tiếp. |
| TPL_H07_counter_recall | Tên Xuyên Tim mượn hình Tên Hồi: dài và rộng hơn, xuyên vô hạn, luôn chí mạng, không xoá chuỗi Tên Hồi; mục tiêu nào Vỡ Thế do Veyra thì chuỗi Tên Hồi đầy ngay. |
| TPL_H07_breath_echo | Mỗi phát Đỉnh Hơi để lại tiếng vọng: sau một nhịp ngắn một tên xương mờ bay lại đúng đường cũ, giữ chí mạng; tên vọng không tính chuỗi Tên Hồi và không vọng lại lần nữa. |
11Thông Thạo (mastery)
Thử thách Thông Thạo
| Thử thách | Điều kiện | Thưởng |
|---|---|---|
| ĐÁP {answers} tell vàng trong 1 run. TT1 | answer_count 30, reward_vi khung bia mộ 'Tên Bắn Ngắt' | — |
| Đầy tài nguyên riêng {fills} lần trong 1 run. TT2 | full_event_count 10, event H07_HEAVY_RECALL, reward_vi khung bia mộ 'Ba Hơi Một Tên' (10 Tên Hồi trong 1 run; full_event = Đỉnh Hơi, 3 Đỉnh liền = 1 Tên Hồi) | — |
| Hạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… TT3 | purple_hits_max 0, reward_vi khung bia mộ 'Đầm Không Gợn' | — |
| Qua Hồi II chỉ dùng {skills} kỹ năng. TT4 | skills_used_max 1, act_reached 2, reward_vi khung bia mộ 'Một Dây Cung' | — |
| Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}. TT5 | do_tang_min 8, boss BS_FINAL, reward_vi danh hiệu 'Kẻ Thức Tang Veyra' | — |
- Danh hiệu MR20
- Hơi Thở Không Lệch
- Mốc thoại MR11
- Con ngủ trên đò nhiều hơn ngủ trên giường. Ta để chăn ở bến rồi. DLG_ULLA_H07_001
- Mốc thoại MR15
- Dây cung đứt bao nhiêu lần rồi? Lần này ta bện bằng dây chuông. DLG_GREM_H07_001
- Bia mộ
- TMB_H07
12VFX spec
SIGNATURE · 14
Tên bay (projectile spawn): t = 0 = tick nhả. Hàng 0: H07_COMBO_A_1 /…
Tên sậy mũi xương đuôi vảy lục bay thẳng: đòn thường của Veyra, đọc được như một vạch ngà mảnh giữa bầy tối.
Chi tiết spec
- Kích hoạt
- Tên bay (projectile spawn): t = 0 = tick nhả. Hàng 0: H07_COMBO_A_1 / A_2 (attack_1/2 hit_frame 3; startup 6 tick, LINE 220 × 8, 720 px/s → 0.306 s, A2 lệch 6° phải). Hàng 1: tên kéo H07_HEAVY_1 (mốc 1, tick 21, LINE 300 × 12, 820 px/s) và H07_HEAVY_2 (mốc 2, tick 42, LINE 340 × 12, 880 px/s); tên mẹ H07_SK02_MAIN (LINE 300 × 12, 900 px/s). Edge H07_E01 phát hàng 0; H07_EVO4 đổi hàng 0 thành 260 × 10 xuyên 2.
- Canvas
- 32×16 gốc 8/8
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.306/0.4
- Easing
- curve linear, freeze_s 0.035
- Hạt
- kind STREAK, count 1, speed 720, life_s 0.306, hex #a9ffa9, gravity 0, shadow có/kind GRIT, count 2, speed 60, life_s 0.2, hex #c2b9a2, gravity 950, shadow có
- Hitbox
- shape line L220 W8, match Lõi tên rộng 4 px → va = lõi r2 + 2 = 4 = W/2 (doc 31 §7). Tên bay đúng trục, tắt đúng 220 px (±2): màn e 220 × 4, n/s 110 × 8, chéo 174 × 6.3. Hàng 1: hình rộng 8 px (lõi + quầng) → va 6 = W12/2 ✓., wave none
- Nguồn
- recolor projectiles/arrow --opts {palette:PAL_HERO_H07, shaft:12, tip:3, tail:'scale3', trail:10} (mượn moves/arrow-shot nhịp nhả)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-quick-arrow), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L220 W8' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Rời dây: tên sậy 12 px #c2b9a2, mũi xương mài 3 px #e6e0cf, đuôi 3 vảy tỉa #2db23a; vệt sau 10 px #a9ffa9 → #2db23a; bay h 18, bóng 6×3 runtime ở h 0 (lớp shadow). |
| 0.067 | Loop 4 frame @15: đuôi vảy rung 1 px, vệt sau nhấp nháy 8 ↔ 10 px; hàng 1 thêm quầng slot 2 px hai bên thân (rộng hình 8 px). |
| 0.306 | Hết tầm 220 (hàng 1: 300/340): tên chúi mũi rơi 6 px rồi tắt, 2 GRIT xương nảy; trúng mục tiêu: tắt ngay + VFX_H07_hit_bone. |
| 0.4 | Rỗng. |
Tên Nặng bay: t = 0 = tick nhả. Hàng 0: H07_COMBO_A_3 (attack_3 hit_f…
Tên xương nặng có vệt lục dài: đòn kết combo và mốc 3, xuyên hàng, khác hẳn tên nhanh nhờ thân dài gấp đôi và chớp nhả trắng.
Chi tiết spec
- Kích hoạt
- Tên Nặng bay: t = 0 = tick nhả. Hàng 0: H07_COMBO_A_3 (attack_3 hit_frame 5; startup 10 tick, LINE 260 × 10, 640 px/s → 0.406 s, xuyên 2, đẩy S 16 px). Hàng 1: H07_HEAVY_3 mốc 3 (tick 60, LINE 380 × 12, 940 px/s → 0.404 s, xuyên 3, đẩy 28 px). H07_E02 phát hàng 0 (+xuyên).
- Canvas
- 64×24 gốc 16/12
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.404/0.5
- Easing
- curve linear, freeze_s 0.07
- Hạt
- kind MOTE, count 2, speed 30, life_s 0.3, hex #a9ffa9, gravity −20, shadow không/kind STREAK, count 1, speed 640, life_s 0.406, hex #5dd463, gravity 0, shadow có/kind GRIT, count 3, speed 70, life_s 0.25, hex #c2b9a2, gravity 950, shadow có
- Hitbox
- shape line L260 W10, match Hình rộng 6 px (lõi 4 + viền) → va 3 + 2 = 5 = W10/2 ✓; tắt đúng 260 px (±2): màn e 260 × 5, n/s 130 × 10, chéo 206 × 7.9. Hàng 1 LINE 380 × 12: hình 8 px (quầng) → va 6 ✓, màn e 380, n/s 190, chéo 300., wave none
- Nguồn
- recolor projectiles/arrow --opts {palette:PAL_HERO_H07, shaft:24, tip:5, trail:24} (mượn moves/arrow-shot chớp nhả)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-a3-heavy-arrow), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L260 W10' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nhả: chớp miệng dây 2 frame #ffffff 5×5 rồi #fff6f0; tên xương nặng 24 px (thân #c2b9a2, mũi #e6e0cf 5 px, 3 vảy đuôi #2db23a), vệt sau 24 px #5dd463 → #11471c. |
| 0.067 | Loop 6 frame @15: vệt sau co giãn 20 ↔ 24 px, 2 MOTE #a9ffa9 bong khỏi đuôi mỗi chu kỳ; hàng 1 quầng #5dd463 2 px hai bên, vệt 32 px. |
| 0.2 | Mỗi lần xuyên: tên khựng 1 frame (hitstop 0.07), VFX_H07_hit_bone tại điểm trúng, tên bay tiếp. |
| 0.404 | Hết tầm: tên cắm sàn nếu là phát kéo (hàng 1 → VFX_H07_arrow_stuck), hàng 0 rơi tắt + 3 GRIT. |
| 0.5 | Rỗng. |
Kéo dây (H07_HEAVY_1/2/3, H07_HOLD, H07_SK06_STEP): neo tay kéo. t = …
Dây cung gân sáng dần theo 3 mốc kéo, chấm ✦ đếm mốc; mốc 3 loé trắng báo Đỉnh Hơi mở — đọc được không cần nhìn HUD.
Chi tiết spec
- Kích hoạt
- Kéo dây (H07_HEAVY_1/2/3, H07_HOLD, H07_SK06_STEP): neo tay kéo. t = 0 = tick đạt mốc. Hàng 0 mốc 1 (tick 21 = 0.35 s), hàng 1 mốc 2 (tick 42 = 0.70 s), hàng 2 mốc 3 + mở Đỉnh Hơi (tick 60 = 1.00 s; dây loé trắng 2 frame), hàng 3 giữ kéo (runtime lặp 8 frame suốt lúc kéo, vào từ tick 12). Mốc đổi theo Dạng Rèn: AS2 0.30/0.60/0.85 s · AS3 0.45/0.90/1.30 s · UL3 0.18/0.35/0.50 s; H07_E03 rút ngắn theo charge_speed.
- Canvas
- 56×56 gốc 28/28
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.267
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind MOTE, count 4, speed 24, life_s 0.25, hex #a9ffa9, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/h07-draw-marks.js (mượn bladewake/levelup.js vòng nở, sparkle chấm)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-draw-marks), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Mốc đạt: dây gân sáng 1 bậc (hàng 0 #5dd463, hàng 1 #a9ffa9, hàng 2 #ffffff 2 frame rồi #ddffdd); n chấm ✦ 3×3 #fff6f0 (n = số mốc) xếp ngang cách 2 px ngay trên tay kéo. |
| 0.067 | Vòng nhỏ r8 (elip 16×8) quanh tay kéo nở r8 → r12 rồi tắt; 4 MOTE hút vào nock. |
| 0.133 | Dây giữ sáng mức mốc, rung 1 px mỗi 2 frame (nín thở); chấm ✦ giữ. |
| 0.267 | Hàng 0–2 hết, trả về hàng 3 (dây sáng đều theo mốc, 2 MOTE/chu kỳ trôi dọc dây); thả ATTACK = tắt cứng trong 1 frame. |
Cửa sổ Đỉnh Hơi ở chân Veyra (world_cue HUD): t = 0 = tick 60 (mốc 3)…
Vòng chân trắng co lại đúng trong cửa sổ Đỉnh Hơi: thả ATTACK khi vòng còn trắng là trúng đỉnh.
Chi tiết spec
- Kích hoạt
- Cửa sổ Đỉnh Hơi ở chân Veyra (world_cue HUD): t = 0 = tick 60 (mốc 3). Hàng 0 thường: cửa 8 tick (0.133 s; Thương Xót 10 tick = 0.167 s). Hàng 1 H07_SK08_HOLD Nín Thở: cửa mở ở mốc 2 (≥ 0.7 s; hạng III 0.35 s), vòng đôi. Hàng 2 giữ Đỉnh: H07_E12 (ân hạn Lách 0.2 s), H07_E37 (giữ 1.0 s sau ĐÁP) — runtime lặp frame 2–3 tới hết thời gian giữ.
- Canvas
- 32×20 gốc 16/10
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.133/0.2
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/h07-peak-cue.js (mượn bladewake/levelup.js vòng chân)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-peak-cue), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng chân riêng r12 (elip 24×12, nằm trong vòng chân chung INV-09, không thay nó) loé lõi #fff6f0 + viền #ffffff 2 px. |
| 0.033 | Vòng co r12 → r6 đều trong 4 frame (0.133 s) — kích thước ≤ 12 px theo art lock; hàng 1 thêm vòng thứ 2 r10 #a9ffa9 co cùng nhịp. |
| 0.133 | Hết cửa thường: frame 5 vòng r6 mờ #5dd463 (frame Thương Xót, tới 0.167 s). |
| 0.2 | Rỗng; hàng 2 giữ frame 2–3 lặp (r9 ↔ r8) tới hết keep_s rồi tắt cứng. |
H07_HEAVY_PEAK Đỉnh Hơi (peak_release hit_frame 1; nhả trong tick 60–…
Đỉnh Hơi: một vạch trắng nóng xuyên thẳng 380 px qua cả hàng quái rồi nguội về lục — chữ ký của Veyra, khác mọi tên thường.
Chi tiết spec
- Kích hoạt
- H07_HEAVY_PEAK Đỉnh Hơi (peak_release hit_frame 1; nhả trong tick 60–67): t = 0 = tick nhả. LINE 380 × 12, 1200 px/s → đầu tên tới 380 px ở 0.317 s, xuyên vô hạn (trần 48), luôn chí mạng. Cũng phát cho: H07_UL2_VOLLEY (4 phát tick 18/36/54/72), phát Đỉnh do Nín Thở / H07_SK05 hạng III, H07_E31, H07_E35. Hàng 1 = H07_EVO4 rộng 18.
- Canvas
- 400×48 gốc 8/30
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.317/0.5
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind MOTE, count 6, speed 20, life_s 0.3, hex #ddffdd, gravity −10, shadow không
- Hitbox
- shape line L380 W12, match Vệt rộng hình 4 px (lõi 2 + quầng 1×2) → va 2 + 2 = 4, hitbox 6 lớn hơn hình 2 px (≤ 4 cho phép). Đầu tên khớp vị trí projectile mỗi frame (±2 px); vệt phủ 100% chiều dài 380: màn e 380 × 6, n/s 190 × 12, chéo 300 × 9.5. Hàng 1 W18: hình 10 px → va 7, lệch 2 ✓., wave none
- Nguồn
- new src/fx/heroes/h07-peak-streak.js (mượn projectiles/laser-bolt.js vệt, moves/arrow-shot nhả)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-peak-streak), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L380 W12' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nhả: chớp miệng dây #ffffff 1 frame 8×8 tại muzzle (+10 px, h 18); dây cung bật thẳng. |
| 0.033 | Đầu tên (mũi xương 6 px #fff6f0) chạy 40 px/frame trên trục (khớp 1200 px/s); phía sau là vệt liền: lõi 2 px #fff6f0 + quầng #a9ffa9 1 px mỗi bên + bóng vệt sàn 1 px #228530 ở h 0. |
| 0.317 | Đầu tới 380 px: loé #ffffff 2×2 rồi tắt; vệt đủ dài 380 px giữ 1 frame. |
| 0.35 | Vệt nguội #ddffdd → #5dd463 → #228530 từ đuôi về đầu, tan dither 2×2; 6 MOTE bong theo vệt. |
| 0.5 | Rỗng. |
Tên Hồi: t = 0 = tick nhả. H07_HEAVY_RECALL (recall_shot hit_frame 4;…
Tên Hồi: mũi xương dài gấp đôi kéo theo dải gió trắng-lục rộng 28 px quét 420 px — phần thưởng sau 3 Đỉnh liền, to và nặng hơn mọi phát kéo.
Chi tiết spec
- Kích hoạt
- Tên Hồi: t = 0 = tick nhả. H07_HEAVY_RECALL (recall_shot hit_frame 4; phát kéo đạt mốc 1 sau 3 Đỉnh liền, LINE 420 × 28, 1000 px/s → 0.42 s, xuyên vô hạn, chí mạng, đẩy S 40 px). Cũng phát cho: H07_UL2_RECALL (phát 5, tick 90), H07_AS3_FIN (mốc 1 = 0.45 s), H07_E36 (chuỗi sau ult), template của H07_E39.
- Canvas
- 440×64 gốc 8/40
- Pha (s)
- antic −0.1/0 · impact 0/0.067 · dissipate 0.42/0.8
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind MOTE, count 16, speed 24, life_s 0.4, hex #ddffdd, gravity −20, shadow không/kind STREAK, count 2, speed 1000, life_s 0.42, hex #fff6f0, gravity 0, shadow có
- Hitbox
- shape line L420 W28, match Dải hình rộng 24 px (±12) → hitbox ±14 lớn hơn hình 2 px ✓; phủ ≥ 92% chữ nhật 420 × 28 (mép răng cưa thiếu ≤ 1 px). Màn e 420 × 14, n/s 210 × 28, chéo 332 × 22. Đầu dải khớp projectile ±2 px mỗi frame., wave none
- Nguồn
- new src/fx/heroes/h07-recall-arrow.js (mượn projectiles/laser-bolt.js, moves/arrow-shot; vệt sàn theo bladewake/crescent-wave)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-recall-arrow), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L420 W28' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Tụ: 3 vòng trắng nhỏ r4 (3 vạch chuỗi Tên Hồi) quanh thân tên ở tay kéo co lại rồi vỡ thành 6 MOTE. |
| 0 | Nhả: chớp #ffffff 2 frame 12×12 tại muzzle; tên xương dài 36 px (gấp đôi tên kéo), đuôi 3 vảy #5dd463, bay h 18. |
| 0.033 | Đầu tên chạy 33 px/frame (1000 px/s); sau lưng là dải gió rộng: lõi 4 px #fff6f0, quầng #a9ffa9 → #2db23a tổng rộng hình 24 px (± 12 quanh trục), mép dải xé 1 px răng cưa; sàn dưới dải ép tối #11471c α 0.4 rộng 28. |
| 0.42 | Đầu tới 420 px: loé tròn r8 #ffffff 1 frame; dải đủ dài giữ 2 frame; xác văng theo trục 28–40 px (runtime). |
| 0.5 | Dải nguội từ đuôi về đầu #ddffdd → #228530, tan dither; 10 MOTE trôi lên; vệt sàn tối tan 0.3 s. |
| 0.8 | Rỗng. |
ĐÁP Bắn Ngắt (H07_ANSWER, cửa W 0.16 s = 10 tick; H07_ANSWER_PROJ). t…
Bắn Ngắt: dây bật trắng, mũi tên hông lao thẳng vào kẻ đánh hoặc bắn vỡ đạn giữa không trung rồi đuổi ngược về kẻ bắn.
Chi tiết spec
- Kích hoạt
- ĐÁP Bắn Ngắt (H07_ANSWER, cửa W 0.16 s = 10 tick; H07_ANSWER_PROJ). t = 0 = tick ĐÁP thành công. Hàng 0: tên hông bật khỏi dây ở muzzle (answer hit_frame 0). Hàng 1: bắn rơi đạn vàng tại điểm chạm (runtime đặt pivot ở điểm chạm), rồi tên đuổi ngược đường đạn ≤ 300 px trong 18 tick (1000 px/s). Hàng 2: tên ĐÁP bay (4 frame đầu, runtime lặp) 1400 px/s tới kẻ đánh cận chiến. Kèm VFX_SHARED_answer_flash.
- Canvas
- 64×48 gốc 16/30
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outQuart, freeze_s 0.08
- Hạt
- kind SHARD, count 8, speed 90, life_s 0.25, hex #a9ffa9, gravity 950, shadow có/kind STREAK, count 1, speed 1400, life_s 0.21, hex #fff6f0, gravity 0, shadow có
- Hitbox
- shape line L300 W10, match Tên ĐÁP rộng hình 6 px → va 3 + 2 = 5 = W10/2 ✓; đường bay từ hero tới kẻ đánh (≤ 300 px, ±2). Màn e 300 × 5, n/s 150 × 10, chéo 237 × 7.9. Hàng 1 bay tiếp ngược đường đạn, tắt đúng 300 px nếu kẻ bắn xa hơn (tên cắm sàn → VFX_H07_arrow_stuck)., wave none
- Nguồn
- new src/fx/heroes/h07-answer.js (mượn bladewake/orb-burst.js vỡ, projectiles/arrow tên)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-answer), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L300 W10' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: dây bật — vòng nở r6 → r14 (elip) #ffffff 1 frame rồi #a9ffa9, 6 tia thẳng ngắn 4 px hướng bắn (không dạng sao 4 cánh của tell Y). |
| 0 | Hàng 1: đạn địch vỡ — vòng trắng r10 + 8 mảnh SHARD lõi #fff6f0 viền #5dd463 văng 360° (đạn bị phản đổi sang ramp hero đúng frame, INV-01a). |
| 0.033 | Hàng 2: tên ĐÁP lõi trắng 14 px #fff6f0 + đuôi #5dd463 8 px, rộng hình 6 px; bay h 18. |
| 0.1 | Vòng nguội #5dd463 → #228530, mảnh rơi nảy 1 lần trên sàn. |
| 0.3 | Rỗng. |
Phản Tên Xuyên Tim (H07_COUNTER, counter hit_frame 3; startup 6, acti…
Tên Xuyên Tim: bắn sát ngực, lồng sườn ngà bật mở quanh điểm trúng, vệt trắng xuyên thẳng 160 px — hình Phản không giống hero nào khác.
Chi tiết spec
- Kích hoạt
- Phản Tên Xuyên Tim (H07_COUNTER, counter hit_frame 3; startup 6, active 3 tick): t = 0 = tick bắn. Lùi nửa bước (clip), ✦ Mắt Thợ Đầm đặt lên mục tiêu ở tick 0 (VFX_H07_peak_mark), tên 1600 px/s bắn sát tim LINE 160 × 16 xuyên vô hạn → hết 160 px ở 0.1 s; vùng sau mục tiêu r40 tính trong đường bay. Hitstop 0.12.
- Canvas
- 184×72 gốc 12/44
- Pha (s)
- antic −0.1/0 · impact 0/0.1 · dissipate 0.1/0.6
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind SHARD, count 10, speed 120, life_s 0.35, hex #e6e0cf, gravity 950, shadow có/kind SPARK, count 6, speed 160, life_s 0.15, hex #fff6f0, gravity 950, shadow không
- Hitbox
- shape line L160 W16, match Vệt hình rộng 12 px → va 6 + 2 = 8 = W16/2 ✓; dài 160 từ muzzle (±2). Nón mảnh sau mục tiêu ≤ 40 px nằm trong 160 (đánh dấu r40 sau mục tiêu). Màn e 160 × 8, n/s 80 × 16, chéo 126 × 12.6., wave none
- Nguồn
- new src/fx/heroes/h07-counter-heartshot.js (mượn moves/arrow-shot nhả, spawn/shatter-death mảnh)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-counter-heartshot), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L160 W16' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Dây kéo căng sát ngực mục tiêu: 1 vạch ngắm 1 px #a9ffa9 từ muzzle tới tâm mục tiêu (≤ 1 frame/2 nhấp). |
| 0 | Bắn: chớp #ffffff 10×10 tại muzzle; tên trắng 20 px xuyên tâm mục tiêu. |
| 0.033 | Tại tim mục tiêu: 4 cung sườn ngà #e6e0cf (dài 10 px, cong như lồng ngực) bật mở 2 bên trục — dấu chữ ký Xuyên Tim; khựng 0.12 s (freeze). |
| 0.1 | Vệt 160 px: lõi 4 px #fff6f0, quầng #5dd463 tổng rộng hình 12 px; sau mục tiêu toé 10 SHARD xương trong nón 40° dài ≤ 40 px. |
| 0.3 | Cung sườn rơi xuống sàn, tan dither; vệt nguội về #228530. |
| 0.6 | Rỗng. |
H07_SK01_RAIN Mưa Xương Sườn (sk01 hit_frame 7): tick 0–14 bắn 1 tên …
Mưa sườn: vùng lục trong r96, 18 mũi tên xương rơi thẳng xuống theo 3 vòng lệch pha, mỗi mũi vỡ thành mảnh xương.
Chi tiết spec
- Kích hoạt
- H07_SK01_RAIN Mưa Xương Sườn (sk01 hit_frame 7): tick 0–14 bắn 1 tên vút lên (dùng VFX_H07_quick_arrow hàng 1 hướng lên); t = 0 = tick 14 = vùng hiện ở điểm ngắm ≤ 260 px. Hàng 0: vùng sàn r96 sống tới tick 86 (1.2 s) + 0.2 s tan. Hàng 1: 1 tên rơi (runtime phát 18 lần, 1 tên/4 tick, tâm theo 3 vòng lệch pha, không trùng < 24 px), chạm sàn → VFX_H07_bone_shatter r48. Hạng III tên cắm 4 s → VFX_H07_arrow_stuck.
- Canvas
- 200×176 gốc 100/124
- Pha (s)
- antic −0.233/0 · impact 0/0.067 · dissipate 1.2/1.4
- Easing
- curve linear, freeze_s 0.03
- Hạt
- kind DUST, count 2, speed 30, life_s 0.3, hex #8a9690, gravity 0, shadow không
- Hitbox
- shape circle r96, match Viền 1 px nằm đúng r96 (±1 px, elip 192 × 96); fill phủ 100% vùng. Mỗi tên vỡ r48 vẽ bởi VFX_H07_bone_shatter. Bậc thang Area: r96 × s; bậc 1.3 (r125) sang hạng XL khi xuất., wave procedural
- Nguồn
- new src/fx/heroes/h07-sk01-rib-rain.js (mượn moves/meteor-call.js nhịp rơi, bladewake/violet-ring.js chỉ tham chiếu hình vòng)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk01-rib-rain), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.233 | Tên vút lên từ Veyra (ngoài sheet); điểm ngắm hiện 1 chấm #a9ffa9. |
| 0 | Hàng 0: vùng r96 (elip 192 × 96) hiện trong 2 frame: fill slot #2db23a 30% + viền 1 px #5dd463 (FX-04; không viền 2 px của tell P); 3 vòng chấm lệch pha mờ #a9ffa9 α 0.3 báo tâm rơi. |
| 0.067 | Hàng 1 (mỗi tên): vệt rơi thẳng đứng 14 px #e6e0cf lõi #fff6f0 từ h 72 xuống h 0 trong 4 frame (khớp 4 tick), bóng 6×3 co dần r 3 → 6 tại điểm rơi. |
| 0.6 | Hàng 0 giữa đợt: fill nhấp α 0.30 ↔ 0.36 mỗi 4 frame theo nhịp tên rơi; viền giữ. |
| 1.2 | Tên cuối chạm; fill tan dither 0.2 s, viền tắt sau cùng. |
| 1.4 | Rỗng. |
H07_SK05_LANCE Mũi Lao Sườn (HOLD; sk05 hit_frame 15): giữ ≥ 0.5 s (3…
Mũi Lao Sườn: cả một xương sườn cá voi phóng đi, xé dải gió rộng 32 px dài 480 px và để 2 rãnh song song trên sàn.
Chi tiết spec
- Kích hoạt
- H07_SK05_LANCE Mũi Lao Sườn (HOLD; sk05 hit_frame 15): giữ ≥ 0.5 s (30 tick) đủ lực, tối đa 1.0 s tự phóng; t = 0 = tick phóng. LINE 480 × 32, 1300 px/s → đầu lao tới 480 px ở 0.369 s, xuyên vô hạn, đẩy S 24 px. Thả sớm < 0.5 s: hàng 1 (mảnh hơn, 60% coef). Cũng dùng cho H07_E06 (420 × 16), H07_E18 (Bắn Ngắt 300 × 16), H07_E30 (lao quay về, đảo hướng), H07_E32.
- Canvas
- 480×72 gốc 0/44
- Pha (s)
- antic −0.5/0 · impact 0/0.067 · dissipate 0.369/0.7
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind MOTE, count 4, speed 20, life_s 0.3, hex #a9ffa9, gravity 0, shadow không/kind SHARD, count 8, speed 140, life_s 0.35, hex #e6e0cf, gravity 950, shadow có
- Hitbox
- shape line L480 W32, match Hai rãnh sàn nằm đúng mép ±16 (vẽ ở ±14, hitbox lớn hơn hình 2 px ✓); dải phủ ≥ 90% chữ nhật 480 × 32. Màn e 480 × 16, n/s 240 × 32, chéo 380 × 25.3. Đầu lao khớp projectile ±2 px. Hàng 1 thả sớm: dải 20 px, cùng hitbox., wave none
- Nguồn
- new src/fx/heroes/h07-sk05-rib-lance.js (mượn moves/ice-lance-throw.js nhịp phóng, projectiles/laser-bolt.js dải)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk05-rib-lance), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L480 W32' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.5 | Giữ: lao sườn (1 xương sườn cong 40 px #e6e0cf, viền #5dd463) lắp trên dây, 4 MOTE hút vào mũi; mốc đủ lực 0.5 s = mũi loé #ffffff 1 frame (hạng III mở cửa Đỉnh 0.12 s → VFX_H07_peak_cue). |
| 0 | Phóng: chớp #ffffff 16×10 tại muzzle, sóng dội vòng elip r16 ở chân. |
| 0.033 | Lao bay h 18, đầu chạy 43 px/frame (1300 px/s); sau lưng dải khí rộng hình 28 px: lõi 6 px #fff6f0, 2 rãnh sàn song song #11471c ở ±14 px (mép W32), giữa là gió #a9ffa9 α 0.5. |
| 0.369 | Đầu tới 480 px: lao cắm/tan thành 8 SHARD xương; dải giữ 2 frame. |
| 0.45 | Dải nguội #5dd463 → #228530 từ đuôi; 2 rãnh sàn tối giữ thêm 0.25 s rồi tan dither. |
| 0.7 | Rỗng. |
Ult H07_UL1 Cung Trời Xương (ul1, 66 frame clip, 132 tick bất tử, Wor…
Cung Trời Xương: Veyra bắn một cột sáng lên trời rồi 3 đợt 40 mũi xương trút xuống quanh mình trong r160.
Chi tiết spec
- Kích hoạt
- Ult H07_UL1 Cung Trời Xương (ul1, 66 frame clip, 132 tick bất tử, World ×0.4). Hàng 0: H07_UL1_LAUNCH, t = 0 = tick 24 (nhả tên lên trời; kèm VFX_SHARED_screen_flash_ult). Hàng 1: H07_UL1_RAIN, phát 3 lần ở tick 48 / 78 / 108 (t = 0.4 / 0.9 / 1.4 s): 40 tên rơi trong r160 quanh hero, mỗi tên chạm → VFX_H07_bone_shatter r56 + VFX_H07_UL1_vuln_mark lên kẻ trúng. Vành r160 vẽ thủ tục (shader elip, r > 112).
- Canvas
- 336×268 gốc 168/186
- Pha (s)
- antic −0.4/0 · impact 0/0.067 · dissipate 0.067/0.8
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind MOTE, count 12, speed 40, life_s 0.4, hex #a9ffa9, gravity −30, shadow không/kind DUST, count 20, speed 30, life_s 0.4, hex #8a9690, gravity 0, shadow không
- Hitbox
- shape circle r160, match Vành thủ tục đúng r160 (elip 320 × 160, ±1 px; viền hitbox luôn khớp). 40 vệt/đợt rải trong elip, không vệt nào ra ngoài r160 − 8; mỗi tên r56 do bone_shatter vẽ., wave procedural
- Nguồn
- new src/fx/heroes/h07-ul1-bone-sky.js (mượn moves/meteor-call.js nhịp rơi, moves/lightning-call.js cột)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-ul1-bone-sky), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'circle r160' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.4 | Hàng 0 antic: Veyra kéo hết dây chĩa thẳng trời; 12 MOTE #a9ffa9 bị hút lên đầu cung; vành thủ tục r160 hiện viền 1 px #5dd463 + fill 20% #2db23a (FX-04). |
| 0 | Hàng 0 nhả: cột sáng 6 px #fff6f0 viền #a9ffa9 bắn từ tay lên mép trên canvas trong 2 frame; 1 frame #ffffff; vòng sóng r24 → r48 ở chân. |
| 0.2 | Cột co về 2 px rồi đứt từng khúc 8 px bay lên; mép trên canvas loé 3 frame (bầu trời nhận tên). |
| 0.4 | Hàng 1 (mỗi đợt): 40 vệt rơi 16 px #e6e0cf lõi #fff6f0 rải đều trong elip 320 × 160 (vị trí cố định theo seed, khoảng cách ≥ 20 px), rơi h 96 → 0 trong 6 frame, lệch pha trong 20 frame (0.33 s); mỗi vệt chạm sàn giao cho bone_shatter. |
| 0.8 | Hàng 1 hết: bụi DUST lắng; vành thủ tục giữ tới tick 132 rồi tan 0.2 s. |
Ult H07_UL2 Tên Hồi Cuối (ul2, 54 frame, World ×0.3): neo chân mục ti…
Tên Hồi Cuối: lồng 4 cung sườn khoá chân mục tiêu, mỗi phát Đỉnh thêm 1 vạch trắng trên đầu, phát 5 khép lồng và vỡ tung.
Chi tiết spec
- Kích hoạt
- Ult H07_UL2 Tên Hồi Cuối (ul2, 54 frame, World ×0.3): neo chân mục tiêu chính (M/L/XL ưu tiên trong 300 px, không có → S gần nhất). Hàng 0: khoá, t = 0 = tick 0. Hàng 1: vạch đếm, phát ở tick 18 / 36 / 54 / 72 (4 phát Đỉnh, ×1.00/1.12/1.24/1.36; đạn = VFX_H07_peak_streak). Hàng 2: phát 5 tick 90 (H07_UL2_RECALL, đạn = VFX_H07_recall_arrow): nổ chốt + kết liễu khi HP ≤ 20% (S/M). Kèm VFX_SHARED_screen_flash_ult.
- Canvas
- 212×176 gốc 106/120
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.6
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind SHARD, count 12, speed 120, life_s 0.35, hex #e6e0cf, gravity 950, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/h07-ul2-last-recall.js (mượn status/cursed.js khoá quanh chân, spawn/shatter-death vỡ)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-ul2-last-recall), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: 4 cung sườn ngà #e6e0cf (dài 12 px) từ r40 khép vào r24 quanh chân mục tiêu trong 6 frame (outExpo), viền #5dd463; chấm ✦ #fff6f0 trên đầu mục tiêu. |
| 0.2 | Hàng 0 giữ: 4 cung xoay chậm 6°/frame, nhấp sáng theo nhịp 0.3 s. |
| 0 | Hàng 1 (mỗi phát): 1 vạch đếm 2 × 6 px #ffffff bật lên trên đầu mục tiêu (vạch thứ k ở x = −9 + 6k), giữ tới hết ult; cung sườn co thêm 2 px. |
| 0 | Hàng 2: 4 cung sườn đâm vào tâm như lồng khép, loé vòng r32 #ffffff 1 frame, rồi vỡ 12 SHARD; kết liễu: thân mục tiêu ném theo trục 40 px (runtime). |
| 0.6 | Rỗng (vạch đếm tắt cùng hàng 2). |
Ult H07_UL3 Thợ Săn Gió Lạnh: hàng 0 kích H07_UL3_ACTIVATE (ul3, 30 t…
Thợ Săn Gió Lạnh: gió lạnh cuộn quanh Veyra và dây cung suốt 9 s, mọi phát kéo thành lao gió.
Chi tiết spec
- Kích hoạt
- Ult H07_UL3 Thợ Săn Gió Lạnh: hàng 0 kích H07_UL3_ACTIVATE (ul3, 30 tick bất tử, World ×0.5), t = 0 = tick 0; hàng 1 hào quang dạng 9.0 s (runtime lặp 15 frame suốt dạng; H07_E11 +0.5/1.0 s); hàng 2 thoát khi hết dạng. Kèm VFX_SHARED_screen_flash_ult ở hàng 0.
- Canvas
- 96×80 gốc 48/60
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind FLAKE, count 8, speed 40, life_s 0.5, hex #ddffdd, gravity 30, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/h07-ul3-cold-wind-form.js (mượn holy/halo.js vòng, ice/frost-nova hạt băng nếu có, không thì Particles FLAKE)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-ul3-cold-wind-form), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: vòng chân bùng r12 → r28 (elip 56 × 28) #ffffff 1 frame rồi #a9ffa9; 3 dải gió 2 px cuộn xoắn từ chân lên dây cung (h 0 → 30) trong 8 frame. |
| 0.267 | Hàng 0: 8 FLAKE tinh thể 3 × 3 (hình băng, ramp hero) toả ngang r24; dây cung đổi trắng-lục giữ suốt dạng (LUT thân). |
| 0.5 | Hàng 1 (lặp 0.5 s): 2 dải gió mảnh 1 px quay quanh thân r14 (elip 28 × 14) ở h 10 và h 26, 3 FLAKE trôi xuống, vòng chân r12 viền #a9ffa9. |
| 0.5 | Hàng 2: dải gió duỗi thẳng bay lên tan dither trong 15 frame, vòng chân về #5dd463. |
Tiến hoá thức tỉnh H07_EVO4 Cung Sườn Thức Tỉnh. Hàng 0: một lần khi …
Cung sườn thức tỉnh: dây trắng-lục, mỗi Đỉnh Hơi để lại một vệt sương kết tinh trên sàn làm quái chậm cóng 1.5 s.
Chi tiết spec
- Kích hoạt
- Tiến hoá thức tỉnh H07_EVO4 Cung Sườn Thức Tỉnh. Hàng 0: một lần khi nhận EVO4 (t = 0 = lúc nhận, 0.8 s). Hàng 1: vệt sương sàn theo mỗi phát Đỉnh Hơi (t = 0 = tick nhả; LINE 380 × 18 sau thức tỉnh), sống 1.5 s = Sương Giá 1.5 s (VFX_SHARED_sts_frost lên kẻ trúng). Đồng thời tên nhanh dùng VFX_H07_quick_arrow hàng 0 với --opts {len:260, w:10}.
- Canvas
- 400×48 gốc 8/30
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/1.5
- Easing
- curve linear, freeze_s 0
- Hạt
- kind FLAKE, count 2, speed 20, life_s 0.3, hex #ddffdd, gravity 30, shadow không
- Hitbox
- shape line L380 W18, match Dải sàn vẽ rộng 18 px đúng bề rộng Đỉnh Hơi sau thức tỉnh (±1 px); dài 380 trùng VFX_H07_peak_streak hàng 1. Màn e 380 × 9, n/s 190 × 18, chéo 300 × 14.2., wave none
- Nguồn
- new src/fx/heroes/h07-evo4-awaken-bow.js (mượn ice/ice-lance.js tinh thể, bladewake/levelup.js vòng)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-evo4-awaken-bow), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L380 W18' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: vòng chân r12 → r20 kết tinh 10 tinh thể xương-băng 3 × 4 #ddffdd viền #5dd463; dây cung (LUT thân) chuyển trắng-lục vĩnh viễn. |
| 0 | Hàng 1: vệt sương bám theo đầu tên Đỉnh (40 px/frame): dải sàn rộng 18 px fill #a9ffa9 α 0.35, mép 1 px #ddffdd, tinh thể nhỏ 2 × 3 rải mỗi 12 px. |
| 0.317 | Vệt đủ 380 px; tinh thể loé #fff6f0 1 frame lần lượt từ đuôi. |
| 1.2 | Tan dither từ mép vào trục; tinh thể vỡ thành 2 FLAKE. |
| 1.5 | Rỗng. |
TEMPLATE · 25
Trúng đòn của mọi tên/lao Veyra (A1–A3, HEAVY_*, PEAK, RECALL, ANSWER…
Trúng tên xương: chớp trắng 1 frame và mảnh xương vụn văng theo hướng bay.
Chi tiết spec
- Kích hoạt
- Trúng đòn của mọi tên/lao Veyra (A1–A3, HEAVY_*, PEAK, RECALL, ANSWER_PROJ, COUNTER, DASH_ATTACK, SK01–SK03, SK05, UL3_LANCE, AS2_FIN): t = 0 = frame chạm (hits[0].t), neo điểm trúng, xoay theo hướng tên. Trần R5: 16 trúng mới/frame, quá trần bỏ mảnh của mục tiêu xa hero nhất (vẫn nháy trắng).
- Canvas
- 32×32 gốc 12/16
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind GRIT, count 5, speed 110, life_s 0.25, hex #e6e0cf, gravity 950, shadow có/kind SPARK, count 3, speed 140, life_s 0.12, hex #5dd463, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor impacts/hit-spark --opts {palette:PAL_HERO_H07, shards:'bone', n:5}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-hit-bone), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: chấm nổ 6 × 4 #ffffff tại điểm trúng (1 frame). |
| 0.033 | 5 mảnh xương GRIT #e6e0cf / #c2b9a2 văng theo hướng tên trong nón 60°, 3 SPARK #5dd463 ngắn; vòng elip r6 #a9ffa9. |
| 0.133 | Mảnh rơi theo trọng lực 950, nảy 1 lần; vòng nguội #228530. |
| 0.3 | Rỗng. |
Lách H07_DASH (dash, 80 px trong 9 tick = 0.15 s, bất tử 12 tick, 2 l…
Lách: hai sợi gió lục mảnh và bùn đầm bắn sau gót, vệt dài đúng 80 px.
Chi tiết spec
- Kích hoạt
- Lách H07_DASH (dash, 80 px trong 9 tick = 0.15 s, bất tử 12 tick, 2 lượt nạp): t = 0 = tick 0 của Lách, neo chân lúc bắt đầu, hướng = hướng lướt. Kèm VFX_SHARED_dash_dust + dư ảnh slot ≤ 3 (runtime, 1 bản/0.03 s). Cũng phát cho H07_E12 (Lách giữ dây) và H07_E38 (Lách Xả Quạt).
- Canvas
- 112×40 gốc 12/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.15/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DUST, count 2, speed 40, life_s 0.3, hex #8a9690, gravity 0, shadow không/kind DRIP, count 4, speed 70, life_s 0.3, hex #474f4c, gravity 950, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/dust-dash --opts {palette:PAL_HERO_H07, streaks:2, mud:true}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-dash-trail), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Bước đạp: 4 giọt bùn #474f4c + 2 DUST #8a9690 bật sau gót; vạch trượt 1 px #2db23a bắt đầu. |
| 0.033 | Vệt lướt dọc 0 → 80 px: 2 sợi gió 1 px #a9ffa9 song song cách 6 px (dáng nghiêng lách giữa 2 thân), đầu vệt khớp vị trí thân mỗi frame (≈ 9 px/frame). |
| 0.15 | Tới 80 px: vệt đứt thành đoạn 6 px, nguội #5dd463 → #11471c; bùn rơi nảy. |
| 0.333 | Rỗng. |
H07_DASH_ATTACK Quạt Tên Lách (dash_attack hit_frame 2; startup 3 tic…
Quạt Tên Lách: xoay người giữa lúc lướt, 5 mũi tên toả quạt 40° bay 200 px.
Chi tiết spec
- Kích hoạt
- H07_DASH_ATTACK Quạt Tên Lách (dash_attack hit_frame 2; startup 3 tick): ATTACK trong 9 tick cuối Lách hoặc ≤ 9 tick sau. t = 0 = tick nhả. 5 tên quạt 40° (−20/−10/0/+10/+20°), mỗi tên LINE 200 × 8, 720 px/s → 0.278 s, xuyên 1. Cũng phát cho H07_E09 (kèm VFX_SHARED_sts_frost lên kẻ trúng) và là template của H07_E38.
- Canvas
- 216×96 gốc 8/52
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.278/0.4
- Easing
- curve linear, freeze_s 0.045
- Hạt
- kind STREAK, count 5, speed 720, life_s 0.278, hex #a9ffa9, gravity 0, shadow có/kind GRIT, count 10, speed 60, life_s 0.2, hex #c2b9a2, gravity 950, shadow có
- Hitbox
- shape sector r200 a40, match 5 trục tên ở −20/−10/0/+10/+20°, mỗi tên hình 4 px → va r4 = W8/2 ✓; đầu tên tắt đúng r200 (±2) nên mép quạt P(φ) trùng điểm tắt. Màn e: tên giữa 200 px, tên biên 200·√(cos²20 + 0.25 sin²20) = 191 px; bề ngang quạt ±34 px., wave none
- Nguồn
- recolor moves/arrow-shot --opts {palette:PAL_HERO_H07, n:5, spread:40, range:200}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-dash-attack-volley), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'sector r200 a40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Xoay người nhả: cung quạt r12 40° #ffffff 1 frame tại muzzle (+10 px, h 18). |
| 0.033 | 5 tên sậy 12 px mũi xương (như VFX_H07_quick_arrow) bay toả, mỗi tên kéo vệt 10 px #a9ffa9; đầu tên chạy 24 px/frame. |
| 0.278 | Tên tới r200: tắt + 2 GRIT mỗi tên (tên trúng tắt sớm tại điểm trúng, giao VFX_H07_hit_bone). |
| 0.4 | Rỗng. |
Giữ Lùi Lắp H07_HOLD (hold_in 9 frame): giữ RB/RMB qua ngưỡng W → lùi…
Lùi Lắp: gót cày hai rãnh trên bùn khi lùi 40 px, vòng nhỏ ở chân báo đã vào kéo.
Chi tiết spec
- Kích hoạt
- Giữ Lùi Lắp H07_HOLD (hold_in 9 frame): giữ RB/RMB qua ngưỡng W → lùi 40 px ngược hướng ngắm trong 9 tick (0.15 s, không bất tử), rồi tự kéo (VFX_H07_draw_marks). t = 0 = tick 0 của bước lùi; sheet hướng e = hướng ngắm (thân lùi về −x). Cũng phát cho H07_E15 (hoàn Hơi khi thả: thêm hàng 1) và là template của H07_SK06_STEP.
- Canvas
- 72×36 gốc 56/24
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.15/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DRIP, count 3, speed 60, life_s 0.25, hex #474f4c, gravity 950, shadow có/kind MOTE, count 3, speed 30, life_s 0.3, hex #a9ffa9, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/dust-dash --opts {palette:PAL_HERO_H07, reverse:true, len:40, grooves:2}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-hold-backstep), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Gót cày sàn: 2 rãnh trượt 1 px #11471c bắt đầu dưới chân, bùn #474f4c bắn về phía trước (hướng ngắm) 3 giọt. |
| 0.033 | Rãnh kéo dài theo thân lùi tới −40 px (≈ 4.4 px/frame); 2 dư ảnh 50% #2db23a ở −13 và −26 px. |
| 0.15 | Dừng: vòng nhỏ r8 #5dd463 tại chân mới (báo vào kéo); hàng 1 (E15): 3 MOTE #a9ffa9 bay ngược vào ngực. |
| 0.333 | Rãnh và dư ảnh tan; rỗng. |
Hơi chạm 100 (ngưỡng STILL_BREATH Lặng Hơi, resource.thresholds enter…
Lặng Hơi: một vòng sáng nở ở ngực khi Hơi đầy — phát kéo tới miễn phí 0.35 s đầu.
Chi tiết spec
- Kích hoạt
- Hơi chạm 100 (ngưỡng STILL_BREATH Lặng Hơi, resource.thresholds enter_fx; full_event res_full): t = 0 = tick đầy. Cũng phát cho H07_E33 (Lặng Trước Đỉnh) và H07_E35 (Hơi Tràn Đầu Tên, mỗi lần hoàn Hơi khi đầy). Là template của VFX_H07_SK08_held_breath.
- Canvas
- 32×32 gốc 16/16
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind MOTE, count 4, speed 20, life_s 0.3, hex #ddffdd, gravity −20, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor holy/halo --opts {palette:PAL_HERO_H07, r:10, ry:5}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-breath-full), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng ngực elip r10 × 5 #ffffff 1 frame tại ngực (h 22). |
| 0.033 | Vòng nở r10 → r14, đổi #a9ffa9; 4 MOTE #ddffdd bay lên 8 px. |
| 0.2 | Vòng mảnh 1 px #5dd463 mờ dần; dây cung (LUT thân) giữ sáng 1 bậc khi Lặng Hơi. |
| 0.4 | Rỗng. |
Hơi về 0 (ngưỡng BREATHLESS Hụt Hơi, resource.thresholds enter_fx): t…
Hụt Hơi: một làn hơi xám nhạt thoát khỏi miệng Veyra — chỉ còn bắn tên nhanh.
Chi tiết spec
- Kích hoạt
- Hơi về 0 (ngưỡng BREATHLESS Hụt Hơi, resource.thresholds enter_fx): t = 0 = tick Hơi = 0. Khoá kéo tới khi Hơi ≥ 10.5; vòng chân nhạt 1 bậc (runtime, không thuộc sheet).
- Canvas
- 32×32 gốc 12/20
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind VAPOUR, count 3, speed 14, life_s 0.35, hex #8a9690, gravity −12, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor spawn/poof --opts {palette:PAL_HERO_H07, n:3, size:6}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-breath-out), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hơi thở ra: 1 cụm VAPOUR 6 × 4 #ddffdd α 0.6 bật từ miệng về trước. |
| 0.033 | Cụm hơi giãn thành 3 bông 3–5 px trôi lên 10 px, chuyển #8a9690 α 0.4. |
| 0.25 | Bông hơi tan dither. |
| 0.4 | Rỗng. |
Mắt Thợ Đầm (H07_PASSIVE: +15% sát thương từ Veyra 4 s, tối đa 48 mục…
Mắt Thợ Đầm: dấu đuôi tên 3 vảy trên đầu quái đã bị Đỉnh Hơi đánh dấu, chịu thêm 15% sát thương từ Veyra.
Chi tiết spec
- Kích hoạt
- Mắt Thợ Đầm (H07_PASSIVE: +15% sát thương từ Veyra 4 s, tối đa 48 mục tiêu, làm mới): đặt khi trúng H07_HEAVY_PEAK / H07_HEAVY_RECALL / H07_COUNTER (tick 0, ✦) và H07_E08, H07_E14, H07_E26, H07_RS2 bậc II. t = 0 = lúc đặt; runtime lặp frame 3–10 tới hết thời gian, ra 0.15 s.
- Canvas
- 16×16 gốc 8/12
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- recolor status/cursed --opts {palette:PAL_HERO_H07, glyph:'fletch3', size:7}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-peak-mark), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vào: dấu đuôi tên 7 × 5 (3 vảy xếp chữ V, #fff6f0 viền #2db23a) bật từ cỡ 3 → 7 px trong 2 frame, 1 frame #ffffff. |
| 0.1 | Giữ (lặp 8 frame): dấu nhấp α 1.0 ↔ 0.8, vảy giữa sáng #a9ffa9 mỗi 4 frame; làm mới = 1 frame #ffffff. |
| 0.333 | Ra (khi hết 4 s): dấu co 7 → 3 px, mờ trong 0.15 s. |
| 0.4 | Rỗng. |
Tên cắm sàn nhặt được (4 s): mọi phát kéo hết tầm (H07_HEAVY_1/2/3, P…
Tên cắm nghiêng trong bùn, đuôi vảy lục chớp nhẹ — lướt Gió Đầm qua để nhặt lại thành Hơi và xuyên.
Chi tiết spec
- Kích hoạt
- Tên cắm sàn nhặt được (4 s): mọi phát kéo hết tầm (H07_HEAVY_1/2/3, PEAK, RECALL), Bắn Ngắt quá 300 px (H07_ANSWER_PROJ), H07_SK01 hạng III (stick_s 4), H07_AS2 (arrow_harvest t 4), H07_E21 (2/2/3 tên quanh mục tiêu Phản, 3/4/5 s), H07_RS5. t = 0 = lúc cắm, neo điểm sàn, nghiêng theo hướng bay. Hàng 0 lặp 8 frame @12 tới hết thời gian; hàng 1 nhặt (H07_SK07_GUST trong 24 px: +5 Hơi) chạy 4 frame đầu rồi rỗng.
- Canvas
- 16×24 gốc 8/20
- Pha (s)
- antic 0/0 · impact 0/0.083 · dissipate 0.083/0.667
- Easing
- curve linear, freeze_s 0
- Hạt
- kind MOTE, count 3, speed 160, life_s 0.33, hex #a9ffa9, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor projectiles/arrow --opts {palette:PAL_HERO_H07, stuck:true, angle:30}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-arrow-stuck), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Cắm: tên 14 px nghiêng 30° cắm ngập mũi, thân #c2b9a2, đuôi 3 vảy #2db23a; vòng bùn elip r4 #474f4c α 0.5 quanh chân tên; 2 giọt bùn bắn. |
| 0.083 | Lặp: đuôi vảy loé #a9ffa9 1 frame mỗi 8 frame (0.667 s) báo nhặt được; chân tên có chấm #5dd463 1 px. |
| 0.333 | 3.5 s trở đi: tên nhấp α 1.0 ↔ 0.5 mỗi 2 frame báo sắp mất (runtime). |
| 0.667 | Hàng 1 nhặt: tên bật lên 4 px và vỡ thành 3 MOTE bay thẳng về ngực Veyra (0.333 s), rồi rỗng. |
Tách tên con: H07_SK02_SPLIT (tên mẹ H07_SK02_MAIN trúng hoặc hết tầm…
Tên Chẻ Đàn: đuôi vảy tên mẹ bung thành quạt tên con toả 120° xuyên vào bầy.
Chi tiết spec
- Kích hoạt
- Tách tên con: H07_SK02_SPLIT (tên mẹ H07_SK02_MAIN trúng hoặc hết tầm 300 px → tách tại điểm đó). t = 0 = tick tách, neo điểm tách, hướng = hướng tên mẹ. 6 tên con quạt 120° (cách 24°), mỗi tên LINE 160 × 12, 760 px/s → 0.21 s; hạng III 8 tên 150°, xuyên 2. Biến thể --opts {n, arc}: H07_E04 (2 tên 40° từ A3), H07_E05, H07_E16 (3 tên 30° từ Bắn Ngắt rơi đạn), H07_E24 (6 tên 90° từ Tên Xuyên Tim), H07_E29 (2 tên chẻ lần hai); template của H07_EVO3.
- Canvas
- 176×160 gốc 8/80
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.21/0.3
- Easing
- curve linear, freeze_s 0.03
- Hạt
- kind STREAK, count 6, speed 760, life_s 0.21, hex #a9ffa9, gravity 0, shadow có/kind GRIT, count 6, speed 60, life_s 0.2, hex #c2b9a2, gravity 950, shadow có
- Hitbox
- shape sector r160 a120, match Mỗi tên con hình rộng 8 px → va 4 + 2 = 6 = W12/2 ✓; trục tên cách 24° (hạng III 21.4°), đầu tắt đúng r160 (±2) = mép quạt P(φ). Màn e: tên giữa 160, tên biên 160·√(cos²60 + 0.25 sin²60) = 106 px, bề ngang ±69 (hạng III ±77)., wave none
- Nguồn
- recolor moves/arrow-shot --opts {palette:PAL_HERO_H07, n:6, spread:120, range:160, origin:'impact'} (tên con = hình VFX_H07_quick_arrow thu 10 px)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk02-split-fan), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'sector r160 a120' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Đuôi chẻ của tên mẹ nổ: vòng r6 #ffffff 1 frame, 6 vảy đuôi bung ra thành 6 tên con. |
| 0.033 | Tên con 10 px (thân #c2b9a2, mũi #e6e0cf, vệt 6 px #a9ffa9) toả đều trong quạt, đầu chạy 25 px/frame; quầng slot 2 px (rộng hình 8 px). |
| 0.21 | Tên con tới 160 px: tắt + 1 GRIT; tên trúng tắt tại điểm trúng (VFX_H07_hit_bone). |
| 0.3 | Rỗng. |
H07_SK03_PIN Ghim Sàn (sk03 hit_frame 6; startup 12): tên cọc bay 12 …
Ghim Sàn: cọc đốt sống cắm giữa vùng r56, sáu gai sườn bật lên ghim chặt bầy quái.
Chi tiết spec
- Kích hoạt
- H07_SK03_PIN Ghim Sàn (sk03 hit_frame 6; startup 12): tên cọc bay 12 tick tới điểm ≤ 240 px; vòng báo r56 hiện từ tick 0 tại điểm đích. t = 0 = tick cọc cắm (tick 12). CIRCLE r56 (hạng II/III r64); kèm VFX_SHARED_sts_pin lên S (1.5 s) / M (0.75 s). Hạng III: cọc đứng 2.0 s, vòng r40 Ghim 0.5 s ai bước vào (runtime lặp frame 14–17). Cũng phát cho H07_E17 (r48, từ ĐÁP); template của H07_AS3_spine_pin.
- Canvas
- 136×104 gốc 68/64
- Pha (s)
- antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.8
- Easing
- curve outExpo, freeze_s 0.06
- Hạt
- kind GRIT, count 8, speed 80, life_s 0.3, hex #c2b9a2, gravity 950, shadow có/kind DUST, count 4, speed 30, life_s 0.4, hex #8a9690, gravity 0, shadow không/kind SHARD, count 4, speed 70, life_s 0.3, hex #e6e0cf, gravity 950, shadow có
- Hitbox
- shape circle r56, match Viền vòng báo 1 px nằm đúng r56 (±1, elip 112 × 56); sóng đạt r56 ở frame 2 (0.067 s); gai trong r40–r52 không vượt r56 + 4. Hạng II/III r64: bậc 1.0 × 1.143; E17 r48: bậc 1.0 × 0.87 (viền thủ tục vẫn đúng r48)., wave reach
- Nguồn
- recolor nature/earth-spike --opts {palette:PAL_HERO_H07, n:6, radius:56, spike:'rib'} + cọc mới
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk03-pin-stake), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'circle r56' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.2 | Vòng báo r56 (elip 112 × 56): fill #2db23a 30% + viền 1 px #5dd463 (FX-04), hiện ngay; cọc bay h 18 tới đích (ngoài sheet: VFX_H07_quick_arrow hàng 1). |
| 0 | Cắm: đốt sống cọc 4 × 14 #e6e0cf viền #5a5448 cắm giữa vòng, 1 frame #ffffff; sóng elip r12 → r56 trong 2 frame. |
| 0.067 | 6 gai sườn xương (earth-spike) 4 × 12 bật lên đều quanh r40–r52, nghiêng ra ngoài; 8 GRIT + 4 DUST. |
| 0.3 | Gai thụt xuống sàn, vòng fill tan; cọc giữa giữ (hạng III: vòng r40 viền 1 px nhấp mỗi 0.25 s, 2.0 s). |
| 0.8 | Cọc vỡ 4 SHARD; rỗng. |
H07_SK04_SNAP Bật Dây (sk04 hit_frame 3; startup 6, active 3 tick): t…
Bật Dây: dây cung bật không tên thành một cung sóng 120° r64 hất văng bầy quanh mình.
Chi tiết spec
- Kích hoạt
- H07_SK04_SNAP Bật Dây (sk04 hit_frame 3; startup 6, active 3 tick): t = 0 = tick bật. Sóng dây ARC 120° r64 trước mặt, đẩy 60 px; S choáng 1.2 s (VFX_SHARED_sts_stun). Hạng II đẩy 72; hạng III 180° r72. Cũng phát cho H07_E22 (Phản → Bật Dây 60/96%) và H07_E27 (kèm VFX_SHARED_sts_frost).
- Canvas
- 104×88 gốc 16/44
- Pha (s)
- antic −0.1/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.05
- Hạt
- kind DUST, count 10, speed 90, life_s 0.3, hex #8a9690, gravity 0, shadow không
- Hitbox
- shape sector r64 a120, match Mép ngoài cung sóng tại frame 2 nằm đúng biên P(φ) r64 ±2 px (elip 128 × 64 nửa trước), hai đầu cung ở ±60° (±4 px); phủ ≥ 90% rẻ quạt qua 3 frame lan. Hạng III r72 α180: --opts {arc:180, radius:72}., wave reach
- Nguồn
- recolor melee/whip-crack --opts {palette:PAL_HERO_H07, arc:120, radius:64, wave:3}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk04-string-snap), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'sector r64 a120' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Kéo căng dây không tên: dây cung sáng #a9ffa9, rung 1 px. |
| 0 | Bật: dây duỗi thành cung sóng 2 px #ffffff tại r24, cùng frame. |
| 0.033 | Cung sóng lan r48 (#fff6f0 lõi, viền #5dd463), 3 gợn song song phía sau cách 4 px; bùn DUST bị thổi theo hướng sóng. |
| 0.067 | Cung sóng tới r64 (hạng III r72), dày 3 px; quái bị đẩy theo pháp tuyến cung (runtime). |
| 0.2 | Gợn nguội #228530, đứt thành đoạn 6 px; DUST lắng. |
| 0.4 | Rỗng. |
H07_SK06_STEP Lùi Ba Bước (sk06, hit_frames 15/35/55): 3 bước, mỗi bư…
Lùi Ba Bước: ba bước lùi cày rãnh, chấm đếm bước ở chân, chuyển trắng đúng cửa nhả tên miễn phí.
Chi tiết spec
- Kích hoạt
- H07_SK06_STEP Lùi Ba Bước (sk06, hit_frames 15/35/55): 3 bước, mỗi bước 40 tick (0.667 s): lùi 40 px trong 9 tick (bất tử 6 tick đầu), tự kéo tới mốc 1 ở tick 30 (VFX_H07_draw_marks hàng 0), cửa chạm ATTACK 10 tick cuối (nhả H07_HEAVY_1 không tốn Hơi). t = 0 = tick 0 của bước; hàng 0/1/2 = bước 1/2/3. Hạng II 48 px, bất tử 8 tick. Cũng phát cho H07_E10 (Né Hoàn Hảo → lùi 16/26 px, mốc 2).
- Canvas
- 80×40 gốc 64/26
- Pha (s)
- antic 0/0 · impact 0/0.1 · dissipate 0.5/0.667
- Easing
- curve outQuart, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/dust-dash --opts {palette:PAL_HERO_H07, reverse:true, len:40} (từ VFX_H07_hold_backstep + chấm bước)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk06-three-steps), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Bước lùi: 2 rãnh gót 1 px #11471c dài theo thân tới −40 px trong 9 tick (≈ 4.4 px/frame); viền thân trắng 1 px nháy 3 frame = bất tử 6 tick. |
| 0.15 | Dừng: n chấm #5dd463 2 × 2 cạnh chân (n = số bước, hàng 0/1/2); dư ảnh 50% #2db23a ở vị trí cũ tan 0.15 s. |
| 0.5 | Cửa nhả (10 tick cuối = 5 frame): chấm bước chuyển #ffffff + vòng chân nhỏ r8 #a9ffa9 — chạm ATTACK lúc này. |
| 0.667 | Hết bước: rỗng (bước kế bắt đầu hàng sau). |
H07_SK07_GUST Gió Đầm (sk07 hit_frame 2; startup 4, active 14 tick): …
Gió Đầm: Veyra lướt 140 px, gió rẽ đôi hai bên như mũi thuyền hất quái sang ngang và gom tên cắm sàn.
Chi tiết spec
- Kích hoạt
- H07_SK07_GUST Gió Đầm (sk07 hit_frame 2; startup 4, active 14 tick): t = 0 = tick 4 (bắt đầu lướt). Lướt 140 px trong 14 tick (0.233 s) theo hướng đi, gió dọc đường LINE 140 × 32 đẩy S 30 px sang 2 bên; nhặt tên cắm sàn trong 24 px (VFX_H07_arrow_stuck hàng 1, +5 Hơi, +1 xuyên/tên, trần 6). Hạng III 160 px, trần 8. VFX_H07_marsh_splash 1 cái/3 frame dưới chân. Cũng phát cho H07_E07 (+12/21/30% quãng).
- Canvas
- 160×64 gốc 8/40
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.233/0.5
- Easing
- curve outQuart, freeze_s 0.035
- Hạt
- kind VAPOUR, count 8, speed 40, life_s 0.3, hex #ddffdd, gravity −10, shadow không/kind DRIP, count 10, speed 90, life_s 0.35, hex #a9ffa9, gravity 950, shadow có
- Hitbox
- shape line L140 W32, match Hai bức gió vẽ ở ±14 px (hình rộng 28) → hitbox ±16 lớn hơn 2 px ✓; dài 140 trùng quãng lướt (±2). Màn e 140 × 16, n/s 70 × 32, chéo 111 × 25.3. Hạng III 160: bậc 1.0 × 1.143; E07 +30%: bậc 1.3., wave none
- Nguồn
- recolor moves/dash-strike --opts {palette:PAL_HERO_H07, len:140, w:32, part:'wake'}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk07-marsh-wind), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L140 W32' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Đạp: vòng gió r10 #a9ffa9 ở chân xuất phát, 1 frame #ffffff. |
| 0.033 | Hai bức gió cong 2 px (#5dd463 lõi #fff6f0) rẽ đôi hai bên đường lướt như mũi thuyền rẽ nước, mép ngoài ở ±14 px; đầu sóng khớp thân (10 px/frame). |
| 0.233 | Tới 140 px: 2 bức gió đổ ra hai bên thành 8 VAPOUR + giọt nước #ddffdd; vệt sàn ướt #1f6b2a α 0.3 rộng 28 dọc đường. |
| 0.35 | Vệt ướt và gió tan dither; nước rơi. |
| 0.5 | Rỗng. |
H07_SK08_HOLD Nín Thở (sk08; startup 6 tick, tốn 40 Hơi): t = 0 = tic…
Nín Thở: hơi bị hút vào ngực rồi đứng im, hạt sáng treo lơ lửng quanh vai — mọi phát kéo đủ mốc 2 đều là Đỉnh Hơi.
Chi tiết spec
- Kích hoạt
- H07_SK08_HOLD Nín Thở (sk08; startup 6 tick, tốn 40 Hơi): t = 0 = tick 6. Hàng 0 hít vào (0.4 s). Hàng 1 nín: runtime lặp 12 frame suốt 4 s (hạng II/III 5 s; H07_E33 +0.5/0.8 s) — mọi phát kéo ≥ 0.7 s (hạng III 0.35 s) là Đỉnh, cue VFX_H07_peak_cue hàng 1. Hàng 2 thở ra khi hết. Cũng phát cho H07_E34 (hoàn 40/64% Hơi khi hết: hàng 2 sáng hơn).
- Canvas
- 48×64 gốc 24/52
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.267/0.4
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind MOTE, count 6, speed 30, life_s 0.2, hex #a9ffa9, gravity 0, shadow không/kind VAPOUR, count 3, speed 14, life_s 0.35, hex #ddffdd, gravity −12, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor holy/halo --opts {palette:PAL_HERO_H07, r:12, inward:true} (từ VFX_H07_breath_full)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-sk08-held-breath), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: 6 MOTE #a9ffa9 từ r20 quanh thân hút vào ngực (h 22) trong 6 frame; ngực loé #ffffff 1 frame. |
| 0.2 | Hàng 0: vòng ngực elip r12 × 6 co về r6 #fff6f0 và đứng yên — nín. |
| 0.4 | Hàng 1 (lặp 0.4 s): vòng ngực r6 đứng yên #a9ffa9, 3 MOTE treo lơ lửng bất động quanh vai (không trôi = nín), dây cung viền 1 px #ddffdd; mỗi 12 frame 1 nhịp tim: vòng loé #fff6f0 1 frame. |
| 0.4 | Hàng 2 thở ra: vòng ngực vỡ thành làn VAPOUR #ddffdd từ miệng (như VFX_H07_breath_out nhưng sáng), MOTE rơi tan. |
Dễ tổn của H07_UL1 (+25% sát thương từ Veyra 6 s; không cộng Mắt Thợ …
Dấu dễ tổn của Cung Trời Xương: đuôi tên đôi trên đầu quái, chịu thêm 25% sát thương từ Veyra trong 6 s.
Chi tiết spec
- Kích hoạt
- Dễ tổn của H07_UL1 (+25% sát thương từ Veyra 6 s; không cộng Mắt Thợ Đầm — lấy cao hơn, dấu này thay VFX_H07_peak_mark khi cùng có): đặt khi trúng mảnh xương H07_UL1_RAIN. Cũng phát cho H07_E20. t = 0 = lúc đặt; runtime lặp frame 3–10, ra 0.15 s.
- Canvas
- 20×20 gốc 10/15
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- recolor status/cursed --opts {palette:PAL_HERO_H07, glyph:'fletch3x2', size:9} (từ VFX_H07_peak_mark)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-ul1-vuln-mark), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vào: dấu đuôi tên đôi 9 × 8 (2 hàng 3 vảy chữ V chồng nhau, #fff6f0 viền #2db23a) rơi từ trên xuống 6 px rồi khựng, 1 frame #ffffff. |
| 0.1 | Giữ (lặp 8 frame): hàng vảy trên và dưới loé #a9ffa9 so le mỗi 4 frame. |
| 0.333 | Ra (hết 6 s): dấu tách đôi, mờ trong 0.15 s. |
| 0.4 | Rỗng. |
Trong dạng H07_UL3: H07_UL3_LANCE (charge_release hit_frame 1): mọi p…
Lao gió của Thợ Săn Gió Lạnh: tên xương bọc hai sợi gió xoắn quét 480 px, bắn liên tục suốt dạng.
Chi tiết spec
- Kích hoạt
- Trong dạng H07_UL3: H07_UL3_LANCE (charge_release hit_frame 1): mọi phát nhả ≥ mốc 1 (mốc 0.18/0.35/0.50 s) thành lao gió LINE 480 × 32, 1300 px/s → 0.369 s, xuyên vô hạn, coef 2.5/4.0/6.0 theo mốc. t = 0 = tick nhả. Hàng 0 mốc 1–2, hàng 1 mốc 3 / Đỉnh (lõi trắng dày hơn). Cũng phát cho H07_E11 (lao khi Lách trong dạng, 2.0/3.2 coef).
- Canvas
- 480×72 gốc 0/44
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.369/0.6
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind FLAKE, count 12, speed 20, life_s 0.3, hex #ddffdd, gravity 30, shadow không/kind VAPOUR, count 6, speed 30, life_s 0.3, hex #ddffdd, gravity −10, shadow không
- Hitbox
- shape line L480 W32, match Biên sợi xoắn ±14 (hình rộng 28) → hitbox ±16 lớn hơn 2 px ✓; xoắn phủ ≥ 90% dải nhờ 2 sợi lệch pha 180°. Màn e 480 × 16, n/s 240 × 32, chéo 380 × 25.3; đầu lao khớp projectile ±2 px., wave none
- Nguồn
- recolor heroes/h07-sk05-rib-lance --opts {palette:PAL_HERO_H07, wind:true, rib:false} (từ VFX_H07_SK05_rib_lance)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-ul3-lance-shot), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L480 W32' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nhả: chớp #ffffff 12 × 8 tại muzzle; tên xương bọc xoắn gió 2 vòng. |
| 0.033 | Đầu lao chạy 43 px/frame; sau lưng dải gió xoắn: 2 sợi 2 px #a9ffa9 xoắn quanh trục (chu kỳ 24 px), biên ±14 px; lõi 2 px #fff6f0 (hàng 1: 4 px); 1 FLAKE mỗi 40 px. |
| 0.369 | Đầu tới 480 px: sợi gió duỗi tung thành 6 VAPOUR. |
| 0.45 | Dải nguội #5dd463 → #228530 từ đuôi, tan dither. |
| 0.6 | Rỗng. |
Dạng Rèn H07_AS2 Cung Sừng Ngắn: H07_AS2_FIN cú 5 (as2_fin hit_frame …
Tên Sừng Đôi: hai mũi tên sừng ngắn song song cách 12 px, cú kết combo 5 nhịp của Cung Sừng Ngắn.
Chi tiết spec
- Kích hoạt
- Dạng Rèn H07_AS2 Cung Sừng Ngắn: H07_AS2_FIN cú 5 (as2_fin hit_frame 4; startup 8 tick): t = 0 = tick nhả. 2 tên song song cách 12 px, mỗi tên LINE 180 × 10, 760 px/s → 0.237 s, xuyên 2, đẩy 12 px. Tên sừng ngắn: mũi sừng xám, đuôi 2 vảy.
- Canvas
- 48×32 gốc 12/16
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.237/0.4
- Easing
- curve linear, freeze_s 0.07
- Hạt
- kind STREAK, count 2, speed 760, life_s 0.237, hex #a9ffa9, gravity 0, shadow có/kind GRIT, count 4, speed 60, life_s 0.2, hex #c2b9a2, gravity 950, shadow có
- Hitbox
- shape line L180 W10, match 2 trục ở ±6 px; mỗi tên hình 6 px → va 3 + 2 = 5 = W10/2 ✓, tắt đúng 180 px (±2). Màn e 180 × 5 mỗi tên (cách 6 px trên màn ở e, 12 px ở n/s), chéo 142 × 7.9., wave none
- Nguồn
- recolor projectiles/arrow --opts {palette:PAL_HERO_H07, pair:12, shaft:14, tip:'horn'} (từ VFX_H07_quick_arrow)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-as2-horn-volley), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L180 W10' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nhả: chớp đôi #ffffff 4 × 4 ở 2 điểm cách 12 px trên dây; 2 tên sừng 14 px (thân #8f8774, mũi sừng #5a5448 viền #c2b9a2, đuôi 2 vảy #2db23a), vệt 12 px #a9ffa9. |
| 0.067 | Loop 6 frame @15: 2 vệt nhấp so le (tên trái frame chẵn, phải frame lẻ), giữ khoảng 12 px. |
| 0.237 | Tới 180 px: 2 tên tắt + 2 GRIT mỗi tên; trúng → VFX_H07_hit_bone, xuyên tiếp 1 lần. |
| 0.4 | Rỗng. |
Dạng Rèn H07_AS3 Cung Xương Lớn: H07_AS3_FIN Tên Hồi Cọc Sống (as3_fi…
Tên Hồi Cọc Sống: chuỗi đốt sống đâm xuyên mục tiêu chính xuống sàn, vòng xích xương khoá chân nó 1 s.
Chi tiết spec
- Kích hoạt
- Dạng Rèn H07_AS3 Cung Xương Lớn: H07_AS3_FIN Tên Hồi Cọc Sống (as3_fin hit_frame 6; đạn = VFX_H07_recall_arrow): mục tiêu chính bị STS_PIN 1.0 s (M 0.5 s; L/XL −15 Thế, không ghim — hàng 1: chỉ nứt sàn). t = 0 = tick trúng mục tiêu chính, neo điểm trúng (chân mục tiêu). Kèm VFX_SHARED_sts_pin.
- Canvas
- 96×80 gốc 48/60
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/1
- Easing
- curve outExpo, freeze_s 0.09
- Hạt
- kind GRIT, count 6, speed 80, life_s 0.25, hex #c2b9a2, gravity 950, shadow có/kind SHARD, count 8, speed 90, life_s 0.3, hex #e6e0cf, gravity 950, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- recolor heroes/h07-sk03-pin-stake --opts {palette:PAL_HERO_H07, stake:'spine5', ring:16} (từ VFX_H07_SK03_pin_stake)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-as3-spine-pin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Chuỗi 5 đốt sống #e6e0cf (mỗi đốt 4 × 4, viền #5a5448) đâm xuyên mục tiêu từ trên xuống, cắm sàn; 1 frame #ffffff; vòng nứt sàn elip r24 #11471c. |
| 0.067 | Vòng xích xương r16 (8 đốt nhỏ) khép quanh chân mục tiêu, viền #5dd463; 6 GRIT bắn ra. |
| 0.5 | Giữ (M hết ở 0.5 s: vòng xích mở sớm); đốt sống nhấp #c2b9a2 ↔ #e6e0cf mỗi 6 frame. |
| 0.85 | Vòng xích vỡ 8 SHARD, chuỗi đốt sống tụt xuống sàn tan dither. |
| 1 | Rỗng. |
Then Chốt H07_E37 Ngắt Đúng Đỉnh (ON_ANSWER, TPL_H07_answer_peak): ĐÁ…
Ngắt Đúng Đỉnh: sau ĐÁP lúc dây đã căng hết, vòng đồng hồ trắng quanh tay đếm ngược 1 s giữ Đỉnh Hơi.
Chi tiết spec
- Kích hoạt
- Then Chốt H07_E37 Ngắt Đúng Đỉnh (ON_ANSWER, TPL_H07_answer_peak): ĐÁP thành công khi dây đã qua mốc 3 → Đỉnh Hơi giữ 1.0 s (keep_s); Bắn Ngắt rơi đạn (H07_ANSWER_PROJ) +1 chuỗi Tên Hồi. t = 0 = tick ĐÁP thành công, neo tay kéo. Hàng 0: giữ Đỉnh 30 frame = đúng 1.0 s (thả ATTACK trong lúc này = phát Đỉnh đủ thưởng, tắt cứng ngay khi nhả). Hàng 1: +1 chuỗi (9 frame đầu). Kèm VFX_H07_peak_cue hàng 2 ở chân.
- Canvas
- 56×64 gốc 28/36
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/1
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- recolor heroes/h07-answer --opts {palette:PAL_HERO_H07, mode:'keep_peak', keep_s:1.0} (từ VFX_H07_answer; đồng hồ vòng mượn bladewake/levelup.js)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-e37-answer-peak), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: dây cung loé #ffffff 2 frame; vòng giữ elip r10 quanh tay kéo, viền 2 px #fff6f0. |
| 0.067 | Vòng giữ là đồng hồ: cung sáng #a9ffa9 hụt dần theo chiều kim đồng hồ 12°/frame (360° trong 1.0 s); 3 chấm ✦ mốc trên tay giữ trắng. |
| 0.833 | 5 frame cuối: vòng nhấp #ffffff ↔ #5dd463 mỗi frame báo sắp hết giữ. |
| 1 | Hết giữ: vòng tắt; dây về mức mốc 3 thường. |
| 0 | Hàng 1 (+1 chuỗi): vạch trắng 2 × 6 #ffffff bật trên vai, bay lên 6 px rồi nhập vào thanh Hơi (HUD); vòng r6 loé 1 frame. |
Then Chốt H07_E38 Lách Xả Quạt (ON_DASH, TPL_H07_dash_volley): hết Lá…
Lách Xả Quạt: mỗi tên quạt trúng đích nứt đuôi thành chữ Y, hai tên con nhỏ bay tiếp lệch ±20°.
Chi tiết spec
- Kích hoạt
- Then Chốt H07_E38 Lách Xả Quạt (ON_DASH, TPL_H07_dash_volley): hết Lách dây tự tới mốc 1 không tốn Hơi (VFX_H07_draw_marks hàng 0); mỗi tên H07_DASH_ATTACK trúng tách 2 tên con 50%, tên con không tách tiếp. t = 0 = tick trúng, neo điểm trúng, hướng = hướng tên mẹ. Tên con theo khuôn tên quạt: LINE 200 × 8, 720 px/s → 0.278 s, lệch ±20° (40° như quạt gốc), xuyên 1. Kèm VFX_H07_dash_trail.
- Canvas
- 216×96 gốc 8/48
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.278/0.4
- Easing
- curve linear, freeze_s 0.045
- Hạt
- kind STREAK, count 2, speed 720, life_s 0.278, hex #a9ffa9, gravity 0, shadow có/kind GRIT, count 2, speed 60, life_s 0.2, hex #c2b9a2, gravity 950, shadow có
- Hitbox
- shape sector r200 a40, match 2 trục ±20° tại biên quạt 40°; tên con hình 4 px → va r4 = W8/2 ✓; tắt đúng 200 px (±2). Màn e: 191 px mỗi tên (lệch 20°), bề ngang ±34., wave none
- Nguồn
- recolor moves/arrow-shot --opts {palette:PAL_HERO_H07, n:2, spread:40, range:200, origin:'impact', scale:0.8} (từ VFX_H07_dash_attack_volley)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-e38-dash-volley), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'sector r200 a40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Tên mẹ vỡ đuôi tại điểm trúng: hình chữ Y #ffffff 1 frame (2 nhánh ±20°, dài 8 px). |
| 0.033 | 2 tên con 10 px (thân #c2b9a2, mũi #e6e0cf, vệt 8 px #a9ffa9 α 0.8) bay ±20°, đầu 24 px/frame; nhỏ hơn tên mẹ để phân biệt. |
| 0.278 | Tên con tới 200 px: tắt + 1 GRIT; trúng → VFX_H07_hit_bone. |
| 0.4 | Rỗng. |
Then Chốt H07_E39 Tim Gọi Tên Hồi (ON_COUNTER, TPL_H07_counter_recall…
Tim Gọi Tên Hồi: Phản bắn sát tim nhưng tên hoá Tên Hồi, dải gió rộng 28 px quét 420 px qua lồng sườn bật mở.
Chi tiết spec
- Kích hoạt
- Then Chốt H07_E39 Tim Gọi Tên Hồi (ON_COUNTER, TPL_H07_counter_recall): H07_COUNTER thành hình Tên Hồi LINE 420 × 28, ×1.25, xuyên vô hạn, chí mạng, không xoá chuỗi; Vỡ Thế do Veyra làm đầy chuỗi (3 vạch). t = 0 = tick bắn (counter hit_frame 3), tên 1600 px/s → 420 px ở 0.263 s. Kèm VFX_H07_recall_arrow (dải) — sheet này là phần riêng: lồng sườn ở tim mục tiêu + dải gió kéo dài.
- Canvas
- 440×64 gốc 8/40
- Pha (s)
- antic −0.1/0 · impact 0/0.1 · dissipate 0.263/0.8
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind SHARD, count 10, speed 120, life_s 0.35, hex #e6e0cf, gravity 950, shadow có/kind MOTE, count 10, speed 24, life_s 0.4, hex #ddffdd, gravity −20, shadow không
- Hitbox
- shape line L420 W28, match Dải hình ±12 → hitbox ±14 lớn hơn 2 px ✓, phủ ≥ 92%; dài 420 (±2). Màn e 420 × 14, n/s 210 × 28, chéo 332 × 22; đầu dải khớp projectile 1600 px/s., wave none
- Nguồn
- recolor heroes/h07-recall-arrow --opts {palette:PAL_HERO_H07, ribcage:true, speed:1600} (từ VFX_H07_recall_arrow + lồng sườn của counter_heartshot)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-e39-counter-recall), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L420 W28' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| −0.1 | Vạch ngắm 1 px #a9ffa9 từ muzzle qua tim mục tiêu tới 420 px. |
| 0 | Bắn: chớp #ffffff 14 × 10; 4 cung sườn ngà bật mở quanh tim mục tiêu như VFX_H07_counter_heartshot nhưng dài 16 px. |
| 0.033 | Dải gió rộng hình 24 px (lõi 4 px #fff6f0, quầng #a9ffa9 → #2db23a) chạy 53 px/frame (1600 px/s) tới 420 px; freeze 0.12 tại tim. |
| 0.263 | Đầu tới 420: loé r8 #ffffff; nếu mục tiêu Vỡ Thế: 3 vạch trắng 2 × 6 bật trên vai Veyra (chuỗi đầy). |
| 0.45 | Dải nguội từ đuôi; cung sườn rơi tan. |
| 0.8 | Rỗng. |
Then Chốt H07_E40 Hơi Vọng Hai Lần (ON_HIT, TPL_H07_breath_echo): mỗi…
Hơi Vọng: 0.3 s sau mỗi Đỉnh Hơi, một tên xương mờ như tiếng vọng bay lại đúng đường cũ.
Chi tiết spec
- Kích hoạt
- Then Chốt H07_E40 Hơi Vọng Hai Lần (ON_HIT, TPL_H07_breath_echo): mỗi phát Đỉnh Hơi vọng 1 tên xương mờ bay lại đúng đường cũ sau 0.3 s, ×0.6, giữ chí mạng, không tính chuỗi, không vọng lại; tên vọng chồng Mắt Thợ Đầm +15%. t = 0 = 0.3 s sau tick nhả Đỉnh; neo chân lúc nhả (đường cũ, không theo Veyra di chuyển). LINE 380 × 12, 1200 px/s → 0.317 s.
- Canvas
- 400×48 gốc 8/30
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.317/0.5
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind MOTE, count 3, speed 20, life_s 0.25, hex #a9ffa9, gravity −10, shadow không
- Hitbox
- shape line L380 W12, match Vệt hình 4 px (lõi 2 + quầng 1×2) → va 4, hitbox ±6 lớn hơn 2 px ✓; trùng khít đường Đỉnh gốc (±1 px, cùng gốc + hướng). Màn e 380 × 6, n/s 190 × 12, chéo 300 × 9.5., wave none
- Nguồn
- recolor heroes/h07-peak-streak --opts {palette:PAL_HERO_H07, ghost:true, dither:0.5, core:false} (từ VFX_H07_peak_streak)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-e40-breath-echo), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L380 W12' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Bóng tên xuất hiện tại gốc đường: mũi xương 6 px #a9ffa9 α 0.6, dither 50% (bóng ma), không chớp trắng ở muzzle. |
| 0.033 | Đầu tên chạy 40 px/frame; vệt sau mảnh: lõi 2 px #5dd463 α 0.6 + quầng #228530 1 px — tối hơn Đỉnh thật để phân biệt. |
| 0.317 | Tới 380 px: loé #ddffdd 2 × 2. |
| 0.35 | Vệt tan dither từ đuôi; 3 MOTE. |
| 0.5 | Rỗng. |
Tiến hoá H07_EVO1 Sườn Băng Thả Diều: H07_DASH_ATTACK thành 3 lao băn…
Sườn Băng: Quạt Tên Lách hoá 3 lao sườn bọc tinh thể xuyên cả hàng, để lại dải sương chậm trên sàn.
Chi tiết spec
- Kích hoạt
- Tiến hoá H07_EVO1 Sườn Băng Thả Diều: H07_DASH_ATTACK thành 3 lao băng (−20/0/+20°) LINE 260 × 12 xuyên vô hạn, coef 1.2, Sương Giá 3.5 s (VFX_SHARED_sts_frost); 720 px/s → 0.361 s; vệt chậm sàn 2 s. t = 0 = tick nhả (dash_attack hit_frame 2). Bật Dây Sương Giá 3.2 s dùng VFX_H07_SK04_string_snap + sts_frost.
- Canvas
- 96×24 gốc 24/12
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.361/0.4
- Easing
- curve linear, freeze_s 0.045
- Hạt
- kind FLAKE, count 6, speed 20, life_s 0.4, hex #ddffdd, gravity 40, shadow không/kind SHARD, count 6, speed 90, life_s 0.3, hex #ddffdd, gravity 950, shadow có
- Hitbox
- shape line L260 W12, match Lao hình rộng 8 px → va 4 + 2 = 6 = W12/2 ✓; tắt đúng 260 (±2); 3 trục −20/0/+20°. Màn e 260 × 6, n/s 130 × 12, chéo 206 × 9.5; trục lệch 20° trên màn e dài 248., wave none
- Nguồn
- recolor ice/ice-lance --opts {palette:PAL_HERO_H07, len:20, trail:64, rib:true}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-evo1-frost-rib), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L260 W12' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Lao băng: sườn mảnh 20 px #e6e0cf bọc 4 mặt tinh thể #ddffdd viền #5dd463 (hình băng, ramp hero), rộng hình 8 px; bay h 18. |
| 0.067 | Loop 6 frame @15: đuôi sương 64 px #a9ffa9 α 0.6 → 0, 1 FLAKE rơi mỗi 2 frame; dưới đường bay vẽ dải sàn tinh thể chấm #ddffdd α 0.3 rộng 12 sống 2 s (decal, tan dither). |
| 0.361 | Tới 260 px: lao vỡ 6 SHARD tinh thể + 4 FLAKE. |
| 0.4 | Rỗng (decal sàn còn tới 2 s). |
Tiến hoá H07_EVO2 Mưa Mục Xương (thay hình H07_SK01_RAIN khi có): 24 …
Mưa Mục Xương: 24 tên xương mục rơi xuống vùng sủi bọt, mỗi tên cắm để lại một vũng mục r24.
Chi tiết spec
- Kích hoạt
- Tiến hoá H07_EVO2 Mưa Mục Xương (thay hình H07_SK01_RAIN khi có): 24 tên trong 1.2 s (1 tên/3 tick) xuống vùng r96, mỗi tên gây Mục Rữa 4 s (VFX_SHARED_sts_rot), tên cắm sàn rỉ mục r24 trong 3 s, tên nhanh bay qua vũng +1 xuyên. t = 0 = tick 14 (vùng hiện). Hàng 0 vùng r96; hàng 1 1 tên rơi (runtime phát 24 lần); hàng 2 vũng mục r24 quanh tên cắm (runtime lặp frame 8–15 trong 3 s). Mảnh vỡ mỗi tên: VFX_H07_bone_shatter.
- Canvas
- 200×176 gốc 100/124
- Pha (s)
- antic −0.233/0 · impact 0/0.067 · dissipate 1.2/1.4
- Easing
- curve linear, freeze_s 0.03
- Hạt
- kind MOTE, count 12, speed 10, life_s 0.4, hex #a9ffa9, gravity −15, shadow không/kind DRIP, count 2, speed 40, life_s 0.2, hex #5dd463, gravity 950, shadow có
- Hitbox
- shape circle r96, match Viền 1 px đúng r96 (±1, elip 192 × 96), fill 100% vùng; vũng r24 viền đúng r24 (±1, elip 48 × 24). Mảnh r48 mỗi tên: VFX_H07_bone_shatter., wave procedural
- Nguồn
- recolor heroes/h07-sk01-rib-rain --opts {palette:PAL_HERO_H07, n:24, rot:true, pool_r:24} (từ VFX_H07_SK01_rib_rain)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-evo2-rot-rain), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: vùng r96 (elip 192 × 96) fill #1f6b2a 30% + viền 1 px #5dd463; 12 bọt ROT 2–3 px #a9ffa9 nổi lên vỡ rải rác (hình bọt = Mục Rữa). |
| 0.05 | Hàng 1: tên mục rơi — thân sẫm #5a5448, mũi #8f8774, 2 giọt lục #5dd463 rơi theo; vệt 14 px từ h 72 xuống 0 trong 3 frame (khớp 3 tick). |
| 0.6 | Hàng 2: vũng mục elip r24 (48 × 24) fill #11471c α 0.45, viền 1 px #2db23a, 3 bọt nổi lặp; tên cắm giữa vũng. |
| 1.2 | Hàng 0 tan dither 0.2 s; vũng (hàng 2) còn tới 3 s rồi khô thành vết #0a2910 α 0.3, tan 0.3 s. |
| 1.4 | Rỗng (trừ vũng). |
Tiến hoá H07_EVO3 Lao Chẻ Đàn: tên mẹ H07_SK02_MAIN thành lao LINE 48…
Lao Chẻ Đàn: tên mẹ hoá lao chí mạng xuyên 480 px, mỗi chỗ xuyên nứt khía chữ V tách hai tên con.
Chi tiết spec
- Kích hoạt
- Tiến hoá H07_EVO3 Lao Chẻ Đàn: tên mẹ H07_SK02_MAIN thành lao LINE 480 × 24 xuyên vô hạn, luôn chí mạng như Đỉnh Hơi; mỗi quái bị xuyên tách 2 tên con 40% (trần 16; tên con = VFX_H07_SK02_split_fan --opts {n:2, spread:40}). t = 0 = tick nhả (sk02 hit_frame 7), 900 px/s → 480 px ở 0.533 s. Kèm VFX_H07_SK05_rib_lance chỉ cho chớp crit, không cho dải.
- Canvas
- 480×56 gốc 0/36
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.533/0.8
- Easing
- curve outExpo, freeze_s 0.045
- Hạt
- kind SHARD, count 6, speed 120, life_s 0.3, hex #e6e0cf, gravity 950, shadow có/kind MOTE, count 8, speed 20, life_s 0.3, hex #ddffdd, gravity −10, shadow không
- Hitbox
- shape line L480 W24, match Dải hình ±10 → hitbox ±12 lớn hơn 2 px ✓, phủ ≥ 90%; dài 480 (±2). Màn e 480 × 12, n/s 240 × 24, chéo 380 × 19; đầu lao khớp projectile 900 px/s., wave none
- Nguồn
- recolor heroes/h07-sk05-rib-lance --opts {palette:PAL_HERO_H07, w:24, fork:true, grooves:false} (dải từ VFX_H07_SK05_rib_lance; tách từ VFX_H07_SK02_split_fan)
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-evo3-split-lance), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'line L480 W24' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nhả: chớp #ffffff 12 × 8; lao sườn 30 px đuôi chẻ đôi (2 nhánh vảy #2db23a). |
| 0.033 | Đầu lao chạy 30 px/frame; dải sau rộng hình 20 px: lõi 4 px #fff6f0, quầng #a9ffa9 → #2db23a; mỗi điểm xuyên bật 1 khía chữ V #ffffff 4 px trên dải (chỗ tách tên con). |
| 0.533 | Đầu tới 480 px: lao vỡ đôi theo đuôi chẻ, 6 SHARD. |
| 0.6 | Dải nguội từ đuôi #5dd463 → #228530, khía chữ V giữ 2 frame lâu hơn rồi tan. |
| 0.8 | Rỗng. |
LIBRARY · 2
Mảnh xương vỡ trên sàn của mỗi tên rơi: H07_SK01_RAIN (r48, 18 tên/1.…
Mũi tên xương rơi vỡ toang thành vòng mảnh ngà r48 trên sàn.
Chi tiết spec
- Kích hoạt
- Mảnh xương vỡ trên sàn của mỗi tên rơi: H07_SK01_RAIN (r48, 18 tên/1.2 s), H07_EVO2 (r48, 24 tên), H07_UL1_RAIN (r56, 40 tên/đợt × 3, rải trong 0.33 s). t = 0 = frame tên chạm sàn, neo điểm rơi. Hitbox mỗi tên CIRCLE r48 (UL1 r56).
- Canvas
- 112×72 gốc 56/40
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.1/0.4
- Easing
- curve outExpo, freeze_s 0.03
- Hạt
- kind SHARD, count 10, speed 140, life_s 0.3, hex #e6e0cf, gravity 950, shadow có/kind DUST, count 3, speed 20, life_s 0.3, hex #8a9690, gravity 0, shadow không
- Hitbox
- shape circle r48, match Vòng sóng đạt đúng r48 ở frame 3 (elip 96 × 48, ±2 px); mảnh văng không quá r48 + 6. UL1 r56: bậc 1.3 × 0.897; E25 +12/21/30% (r53.8/58.1/62.4): bậc 1.0 × 1.12 · 1.3 × 0.93 · 1.3 × 1.0. L1: mảnh ×0.6, L3 chỉ còn chớp + vòng., wave reach
- Nguồn
- recolor spawn/shatter-death --opts {palette:PAL_HERO_H07, radius:48, shards:10, bone:true}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-bone-shatter), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay pending: overlay 'circle r48' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Chạm: chớp elip 8 × 4 #ffffff 1 frame; mũi tên vỡ. |
| 0.033 | Sóng mảnh: vòng elip lan r16 → r48 trong 3 frame (0.1 s) viền 1 px #c2b9a2 + 10 SHARD xương #e6e0cf văng toả 3 chiều (spray), cao ≤ 24 px. |
| 0.1 | Vòng tới r48 (elip 96 × 48) rồi tắt; mảnh rơi theo trọng lực 950, nảy 1 lần, bóng 2 × 1. |
| 0.25 | Mảnh nằm sàn chuyển #8f8774 → #5a5448, tan dither; 3 DUST lắng. |
| 0.4 | Rỗng. |
Té nước đầm dưới chân Veyra khi lướt H07_SK07_GUST (runtime phát 1 cá…
Té nước đầm lục nhạt dưới gót khi Veyra lướt Gió Đầm.
Chi tiết spec
- Kích hoạt
- Té nước đầm dưới chân Veyra khi lướt H07_SK07_GUST (runtime phát 1 cái/3 frame dọc đường lướt, 5 cái/lần lướt 140 px) và khi nhặt tên cắm sàn (1 cái tại tên). t = 0 = lúc phát, neo điểm sàn.
- Canvas
- 32×24 gốc 16/18
- 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 6, speed 70, life_s 0.3, hex #ddffdd, gravity 950, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- recolor water/splash --opts {palette:PAL_HERO_H07, radius:10, drops:6}
- Review
- check_mjs pending (node tools/check.mjs heroes/h07-marsh-splash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H07), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng nước elip r4 #a9ffa9 α 0.6 viền 1 px #ddffdd tại chân. |
| 0.033 | Vòng lan r4 → r10 (elip 20 × 10), 6 giọt DRIP #ddffdd / #a9ffa9 bắn cao ≤ 12 px. |
| 0.167 | Giọt rơi lại, chấm sàn ướt #1f6b2a α 0.3; vòng mờ #2db23a. |
| 0.333 | Rỗng. |
13SFX
| SFX | Loại | ms | Biến thể | Bus | Ưu tiên | Giọng | LUFS | Tell | Nguồn | Trạng thái | Brief |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HeroAttackCut heroId=H07 moveIndex=A1 (H07_COMBO_A_1); aspect chọn bộ… SFX_H07_a1_swing | shot | 230 | 4 | HeroAttack | 20 | 6 | −19 | none | freesound | brief | Cung xương bắn 1 tên sậy nhanh từ hông: nhẹ, khô, gọn, đọc nhịp 3 tên. AS2 = gốc +6% pitch, body mỏng (cung sừng ngắn, highpass 250 Hz); AS3 = gốc −8% pitch, body dày +2 dB, tail rít dài 160 ms. KHÔNG được nghe như tên kim loại 'ding', súng hơi, roi quất hay whoosh kiếm. |
| HeroAttackCut heroId=H07 moveIndex=A2 (H07_COMBO_A_2) và H07_DASH_ATT… SFX_H07_a2_swing | shot | 240 | 5 | HeroAttack | 20 | 6 | −19 | none | freesound | brief | Tên thứ hai nối nhịp: nghe như a1 nhưng có tiếng rút tên trước để tai đếm 1–2–3; quạt 5 tên khi lách = 1 tiếng bung xoè, không 5 tiếng rời. 5 biến thể = 3 thường + 2 'fan'. KHÔNG được nghe như súng hoa cải, roi, hay tiếng ném dao kim loại. |
| HeroAttackCut heroId=H07 moveIndex=A3|HEAVY_1|HEAVY_2|HEAVY_3|HEAVY_P… SFX_H07_a3_swing | shot | 360 | 6 | HeroAttack | 20 | 4 | −17 | none | freesound | brief | Phát nhả kéo của trường cung xương: càng kéo lâu càng nặng (6 biến thể = A3, mốc 1, mốc 2, mốc 3 ×2, AS2 đôi). Phát Đỉnh Hơi dùng biến thể mốc 3 nhưng phát SAU lớp 'nín' của `SFX_H07_res_full` 0.12 s. KHÔNG được nghe như nỏ máy cơ khí (tiếng lẫy sắt), súng, hay tên kim loại 'ding'. |
| HeroHitBatch heroId=H07 (HordeAudio §6.1 gộp mỗi frame; ăn kèm SFX_SH… SFX_H07_hit | hit | 180 | 5 | HeroAttack | 30 | 4 | −20 | none | freesound | brief | Tên xương trúng xác tro: 'phập' gọn, khô, không máu thịt; trần 3 lần/50 ms (HordeAudio). Tiếng xuyên chuỗi khi phát kéo đi qua cả hàng là thưởng tai chính. KHÔNG được nghe như tên cắm bia gỗ 'tock' vang, mũi thép chạm giáp, hay dao chém thịt ướt. |
| HeroComboSpecial heroId=H07 branch=RECALL (H07_HEAVY_RECALL Tên Hồi) … SFX_H07_combo_special | shot | 750 | 3 | HeroAttack | 20 | 3 | −16 | none | synth | brief | Tên Hồi — phần thưởng sau 3 Đỉnh Hơi liền: tiếng xương lớn rền như gọi đàn, xuyên cả hàng quái. 3 biến thể = RECALL, AS3_FIN, EVO4 (EVO4 thêm lớp dây ngân slot sáng hơn +3 bán cung). KHÔNG được nghe như sấm phép, tên lửa nổ, hay tiếng chuông kim loại. |
| HeroDash heroId=H07 (H07_DASH Lách; xếp trên SFX_SHARED_dash_base) SFX_H07_dash | move | 300 | 4 | HeroAttack | 20 | 2 | −21 | none | foley | brief | Thợ săn đầm nghiêng người lách qua khe 2 thân quái: nhẹ, ướt, tên trong ống lắc là bản sắc. KHÔNG được nghe như whoosh gió phép, ninja lướt, hay xích kim loại. |
| HeroAnswerSuccess heroId=H07 (H07_ANSWER / H07_ANSWER_PROJ Bắn Ngắt; … SFX_H07_answer | answer | 340 | 3 | HeroDefense | 2 | 2 | −14 | none | synth | brief | Bắn Ngắt: phựt nhanh đúng doc 32 §2.3 — 1 mũi tên hông bật khỏi dây cắt ngang đòn; nghe là biết 'đã ngắt được'. 3 biến thể = cận chiến, bắn rơi đạn, ngắt khi đang kéo (giữ mốc: thêm dây ngân nhẹ). Tổng với answer_core ≤ −12 mmax. KHÔNG được nghe như kim loại gạt kim loại, khiên chặn, hay giống a1_swing. |
| HeroCounter heroId=H07 (H07_COUNTER Tên Xuyên Tim sau ĐÁP; E39 Tim Gọ… SFX_H07_counter | shot | 560 | 3 | HeroAttack | 2 | 2 | −15 | none | freesound | brief | Phản đòn kề sát: 1 tên duy nhất bắn thẳng tim từ cự ly 1 bước, nặng nhất bộ âm H07 trừ Ult và Tên Hồi; khoảng lặng 80 ms trước cú đổ là chữ ký. Biến thể 'recall' (E39) nối thêm tail rền của combo_special. KHÔNG được nghe như cú đâm dao, súng, hay tiếng tim đập. |
| HeroHoldStart heroId=H07 (H07_HOLD Lùi Lắp; cũng phát mỗi bước của H0… SFX_H07_hold_start | move | 240 | 3 | HeroDefense | 20 | 1 | −18 | none | foley | brief | Bước lùi + lắp tên trong một động tác (doc 32 §2.3 'bước lùi + kéo'): báo 'đã vào thế giữ khoảng cách'. KHÔNG được nghe như khiên dựng, giậm chân nặng hay whoosh. |
| HeroHoldStart heroId=H07 → loop tới HeroHoldEnd (dừng ngay khi thả/hu… SFX_H07_hold_loop | loop | 1500 | 1 | HeroDefense | 20 | 1 | −26 | none | foley | brief | Nền giữ thế Lùi Lắp ≤ 1.5 s: kín đáo, cho biết dây đang căng; loop 1.5 s mẫu-chính-xác 44.1 kHz (66150 mẫu). Mốc 1 tự đạt ở 0.35 s là âm res_spend riêng. KHÔNG được nghe như cửa gỗ kẽo kẹt to, tim đập, hay hum phép thuật. |
| HeroHoldEnd heroId=H07 cancelled=true (thả mà có tên = phát a3_swing … SFX_H07_hold_end | move | 180 | 3 | HeroDefense | 20 | 1 | −22 | none | foley | brief | Huỷ giữ, không bắn: nhẹ, không gây chú ý. KHÔNG được nghe như dây đứt, whoosh, hay tiếng lên đạn. |
| HeroResource heroId=H07 kind=gain (Đỉnh hoàn 15/25 Hơi, ĐÁP +20, Né H… SFX_H07_res_gain | cast | 130 | 4 | Hero | 20 | 2 | −24 | none | foley | brief | Hơi được nạp lại: hít vào (doc 32 §2.3 'Hơi: hít vào'), nhỏ, nằm dưới mọi âm đánh; trần 120 ms. 4 biến thể = hoàn Đỉnh, ĐÁP/Né, kill_multi, nhặt tên. KHÔNG được nghe như thở hổn hển, ui click điện tử hay chuông nhặt đồ. |
| HeroResource heroId=H07 kind=threshold PEAK (mở cửa sổ Đỉnh Hơi 0.12 … SFX_H07_res_full | cast | 160 | 2 | Hero | 2 | 1 | −20 | none | synth | brief | Đỉnh Hơi = khoảnh khắc 'nín' (doc 32 §2.3): mọi lớp tắt 0.12 s + 1 tiếng gõ dây nhẹ báo 'thả NGAY'. Đây là cue thời điểm, phải đọc được cả khi 250 quái ồn: pitch ±1%, không ngẫu nhiên âm lượng, phát đúng tick (clock Hero). KHÔNG được nghe như tell vàng 'tinh' (khác chất liệu: gân, không kim loại, ≤ −12 dB so với tell), chuông, hay ui tick. |
| HeroResource heroId=H07 kind=spend action=draw (bắt đầu kéo H07_HEAVY… SFX_H07_res_spend | cast | 1300 | 6 | Hero | 20 | 1 | −22 | none | foley | brief | Âm kéo dây — đồng hồ tai của mốc kéo: 6 biến thể đúng lịch mốc (AS1 0.35/0.7/1.0 s · AS2 0.3/0.6/0.85 · AS3 0.45/0.9/1.3 · UL3 0.18/0.35/0.5 · SK05 · SK08); pitch không ngẫu nhiên để mốc luôn cùng cao độ. Runtime dừng ngay khi nhả (fade 10 ms). KHÔNG được nghe như cửa gỗ cót két to, dây đàn guitar, hay ròng rọc kim loại. |
| SkillCast skillId=H07_SK01 (Mưa Xương Sườn; hạng II–III = cùng âm + l… SFX_H07_SK01_cast | cast | 1500 | 2 | Hero | 20 | 2 | −17 | none | freesound | brief | Bắn 1 tên lên trời rồi mưa 18 tên xương rơi vào vùng r96: nghe được trình tự lên – rơi dồn, không thành 1 khối ồn. KHÔNG được nghe như mưa nước, mưa đá, hay mưa đạn súng máy. |
| SkillCast skillId=H07_SK02 (Tên Chẻ Đàn; tách 6/8 tên con là lớp __im… SFX_H07_SK02_cast | cast | 700 | 2 | Hero | 20 | 2 | −17 | none | freesound | brief | Một tên bay vào đàn rồi chẻ ra 6 mũi quạt 120°: tiếng tách phải rõ là xương nứt, rồi tiếng xoè rộng. KHÔNG được nghe như pháo hoa nổ, kính vỡ, hay shotgun. |
| SkillCast skillId=H07_SK03 (Ghim Sàn; __impact khi cọc cắm, hạng III … SFX_H07_SK03_cast | cast | 650 | 2 | Hero | 20 | 2 | −17 | none | foley | brief | Tên cọc xương cắm xuống đất đầm, ghim mọi thứ trong r56: nặng, ướt, chắc. KHÔNG được nghe như búa sắt đóng cọc, chuông, hay tiếng đá vỡ. |
| SkillCast skillId=H07_SK04 (Bật Dây; S choáng 1.2 s) SFX_H07_SK04_cast | cast | 520 | 3 | Hero | 20 | 3 | −17 | none | synth | brief | Bật dây cung rỗng thành sóng đẩy văng vòng vây: tiếng 'tưng' gân to như đàn bầu bị giật mạnh rồi luồng khí. KHÔNG được nghe như dây thép đàn guitar, roi quất, hay sấm. |
| SkillCast skillId=H07_SK05 (Mũi Lao Sườn HOLD; phóng khi thả ≥ 0.5 s;… SFX_H07_SK05_cast | cast | 900 | 3 | Hero | 20 | 2 | −16 | none | freesound | brief | Phóng nguyên 1 xương sườn như lao 480 px xuyên cả hàng: nặng nhất trong 8 kỹ năng. 3 biến thể = thường, phóng sớm (60%, mỏng −3 dB), 'peak'. KHÔNG được nghe như tên lửa phản lực, ném giáo kim loại 'vút' cao, hay đạn pháo. |
| SkillCast skillId=H07_SK06 (Lùi Ba Bước; mỗi bước phát thêm SFX_H07_h… SFX_H07_SK06_cast | cast | 420 | 2 | Hero | 20 | 2 | −18 | none | foley | brief | Mở nhịp 3 bước lùi – kéo – nhả: âm mở ngắn, để 3 bước lùi + 3 phát nhả tự kể nhịp. KHÔNG được nghe như whoosh phép, tiếng nhảy, hay trống. |
| SkillCast skillId=H07_SK07 (Gió Đầm; mỗi tên nhặt = SFX_H07_res_gain … SFX_H07_SK07_cast | cast | 650 | 2 | Hero | 20 | 2 | −17 | none | freesound | brief | Thợ săn lướt 140 px theo gió đầm, rẽ nước và rẽ bầy, quét nhặt tên cắm: ướt, có gió sậy, khác hẳn Lách. KHÔNG được nghe như gió bão, phản lực, hay lướt ván. |
| SkillCast skillId=H07_SK08 (Nín Thở 4 s; 5 s hạng III; tốn 40 Hơi = r… SFX_H07_SK08_cast | cast | 700 | 2 | Hero | 20 | 1 | −19 | none | synth | brief | Nín thở 4 s, mọi phát kéo thành Đỉnh Hơi: thế giới như lặng đi quanh thợ săn; âm mở ngắn, trạng thái kéo dài do VFX `VFX_H07_SK08_held_breath` báo, không loop âm. KHÔNG được nghe như tiếng tim đập, đồng hồ tích tắc, hay hum phép thuật. |
| UltActivate ultId=H07_UL1 (Cung Trời Xương; cùng SFX_SHARED_ult_core … SFX_H07_UL1_bone_sky | explode | 3600 | 1 | Hero | 5 | 3 | −13 | none | freesound | brief | Ult bản sắc: một tên lên trời gọi 120 tên xương rơi thành 3 đợt quanh hero, rồi thợ săn thở ra dài. Dàn đúng lịch clip ul1 (66 frame + 3 đợt). KHÔNG được nghe như mưa đá, pháo hoa, hay mưa đạn súng máy; không tiếng kim loại 'ding'. |
| UltActivate ultId=H07_UL2 (Tên Hồi Cuối; cùng SFX_SHARED_ult_core + s… SFX_H07_UL2_last_recall | explode | 2600 | 1 | Hero | 5 | 3 | −13 | none | synth | brief | Khoá 1 mục tiêu, 5 hơi thở – 5 phát: 4 phát Đỉnh như đếm nhịp lên dốc, phát cuối Tên Hồi kết liễu. Người chơi phải đếm được 4 + 1 bằng tai. KHÔNG được nghe như liên thanh, súng bắn tỉa, hay sấm sét. |
| UltActivate ultId=H07_UL3 (Thợ Săn Gió Lạnh, kích 0.5 s; trong 9 s mỗ… SFX_H07_UL3_cold_wind | cast | 1600 | 2 | Hero | 5 | 3 | −13 | none | synth | brief | Mở dạng 9 s: gió lạnh đầm cuộn quanh thợ săn, mọi phát kéo thành lao gió xuyên vô hạn. Biến thể 'lance' 500 ms, −4 dB so với 'form', không duck Ult (runtime chỉ gửi send Ult ở 'form'). KHÔNG được nghe như bão tuyết phép, phản lực, hay chuông gió kim loại. |
| HeroAttackCut heroId=H07 moveIndex=HEAVY_3|PEAK|RECALL, SkillCast, Ul… SFX_H07_vo_effort | vocal | 450 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Thợ săn kiệm lời, đếm hơi: gắng sức là một hơi thở ra có kiểm soát đúng lúc buông dây. KHÔNG có âm tiết của ngôn ngữ thật, không giọng AI tổng hợp. KHÔNG được nghe như thét chiến binh, rên đau hay thở hổn hển. |
| HeroDamaged heroId=H07 (cùng SFX_SHARED_hero_hurt_impact; mất 20 Hơi) SFX_H07_vo_hurt | vocal | 300 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Trúng đòn = mất hơi (cơ chế −20 Hơi): âm phải là hơi bị đánh bật, không phải tiếng kêu. KHÔNG được nghe như thét kinh dị, rên kéo dài, hay ho. |
| HeroDeath heroId=H07 (cùng SFX_SHARED_hero_death + SN_DEATH) SFX_H07_vo_death | vocal | 1200 | 2 | VO | 45 | 1 | −20 | none | outsource | brief | Thợ săn gục: hơi thở cuối đếm không trọn, lặng lẽ, không bi luỵ. KHÔNG được nghe như thét chết điện ảnh, tiếng nấc kéo dài, hay ho sặc. |
14Câu thoại (bark)
| Bark | Kích hoạt | Câu thoại | Ưu tiên | Hồi s | 1 lần |
|---|---|---|---|---|---|
| run_start_1 | RunStart (rời ST_DOCK, phòng đầu Hồi I) | Nín. Đếm. Thả. | hero | 0 | — |
| run_start_2 | RunStart (chọn ngẫu nhiên 1/3) | Đầm không nợ ai một cái xác. | hero | 0 | — |
| run_start_3 | RunStart (chọn ngẫu nhiên 1/3) | Năm mũi trên vai. Đủ cho buổi sáng. | hero | 0 | — |
| level_up_1 | LevelUp (trước DraftOpen, chỉ khi không có boss/NPC bark trong 4 s) | Hơi dài thêm một nhịp. | hero | 30 | — |
| level_up_2 | LevelUp (luân phiên) | Tay vững hơn. Dây cũng vậy. | hero | 30 | — |
| level_up_3 | LevelUp khi vừa nhận Then Chốt H07_E37–E40 lần đầu trong run | Giờ thì đầm nghe tôi thở. | hero | 60 | — |
| perfect_1 | HeroAnswerSuccess heroId=H07 perfect=true (Bắn Ngắt đúng cửa 0.16 s) | Ngắt rồi. Đến lượt tôi. | hero | 20 | — |
| perfect_2 | HeroAnswerSuccess perfect=true khi đang kéo (giữ mốc) | Dây vẫn căng. Mày thì không. | hero | 20 | — |
| perfect_3 | HeroAnswerSuccess perfect=true targetTier=M|L|XL | Đòn to, hơi ngắn. Hụt rồi. | hero | 30 | — |
| perfect_dodge | HeroPerfectDodge heroId=H07 (+15 Hơi) | Lách qua. Hít lại. | hero | 25 | — |
| peak_streak | HeroComboSpecial branch=RECALL lần đầu mỗi phòng (sau 3 Đỉnh Hơi liền) | Ba hơi đúng đỉnh. Về đây, Tên Hồi. | hero | 45 | — |
| low_hp_1 | HeroLowHp hpPct ≤ 0.30 (lần đầu mỗi phòng) | Hụt một hơi, đi một người. | hero | 45 | — |
| low_hp_2 | HeroLowHp hpPct ≤ 0.30 (luân phiên) | Chậm lại. Đếm lại từ một. | hero | 45 | — |
| low_hp_3 | HeroLowHp hpPct ≤ 0.15 | Còn một hơi thì còn một mũi. | hero | 60 | — |
| elite_1 | EliteSpawn (Tinh Anh EL_ vào tầm nhìn, sau stinger elite_in 1.0 s) | Con to. Đứng xa, kéo trọn. | hero | 30 | — |
| elite_2 | EliteSpawn (luân phiên) | Nó đọc tay tôi. Tôi đọc hơi nó. | hero | 30 | — |
| elite_3 | EliteSpawn affixId=EM bất kỳ (có Ấn) | Ấn trên đầu… ghim nó xuống trước. | hero | 40 | — |
| boss_intro_1 | BossIntro (sau dòng của boss, khung tên boss 2.0 s kết thúc) | Tao săn thứ to hơn mày dưới bùn. | hero | 0 | — |
| boss_intro_2 | BossIntro (luân phiên) | Đứng yên. Tao đang đếm. | hero | 0 | — |
| boss_intro_3 | BossIntro khi UL2 Tên Hồi Cuối đang lắp | Năm hơi. Năm mũi. Một cái tên. | hero | 0 | — |
| ult_bone_sky | UltActivate ultId=H07_UL1 (khung 12 ul1, lần đầu mỗi phòng) | Trời nhận một mũi, trả cả đàn. | hero | 60 | — |
| victory_1 | BossDefeated (khung 18 clip victory, lúc cắm tên) | Ngủ đi. Đầm sẽ giữ chỗ cho mày. | hero | 0 | — |
| victory_2 | BossDefeated (luân phiên) | Một mũi cắm đất, thay nén nhang. | hero | 0 | — |
| victory_3 | RoomCleared nodeType=BOS hoặc MBS không trúng đòn tím nào | Không phí một hơi nào. | hero | 0 | — |
| death_1 | HeroDeath heroId=H07 (khung 18 clip death, trước SN_DEATH tắt hẳn) | Hụt… hơi… | hero | 0 | — |
| death_2 | HeroDeath (luân phiên) | Calla… vớt tôi… bờ nào cũng được… | hero | 0 | — |
| hub_wake | Hub: clip wake xong tại ST_HEARTH | Năm mũi. Đủ. Đi thôi. | hero | 0 | — |
| hub_dock | HubStationInteract stationId=ST_DOCK (Đò Calla) | Đò còn chỗ. Đầm thì chưa yên. | hero | 0 | — |
| hub_forge | HubStationInteract stationId=ST_FORGE | Grem, đừng mài xương của tôi bóng quá. | hero | 0 | — |
| hub_ledger | HubStationInteract stationId=ST_LEDGER | Ghi giùm tôi tên người đã vớt lên. | hero | 0 | — |
| hub_kessa | Hub: đi ngang khi H09 đã mở khoá (1 lần mỗi lượt về hub) | Kessa, xu tháng này tôi trả đủ. | hero | 0 | — |
| hub_unlock | UnlockGranted id=H07 (mở hero ở ST_FORGE) | Thợ săn đầm. Tôi tới muộn, nhưng tới. | hero | 0 | có |