1Định danh & tiểu sử
- Danh hiệu
- Lính Gác Chuông
- Vũ khí
- giáo treo chuông (bell-spear polearm)
- Nhóm vai
REACH— cự ly mũi/đường, tay đôi mạnh- Độ khó
- 3/5
- Mở khoá
KILL_BOSS· Hạ Người Gác Chuông (BS_B1) một lần, rồi trả 6 Mảnh Vọng cho Lão Grem ở Lò Rèn: thầy cũ được tiễn, Halka mới chịu rời nhà nguyện. · Mảnh Vang: 6- Mốc
- Early Access 11.99 USD MS03
- Verb tag
- Combo COMBO · Lướt DASH · Đáp ANSWER · Phản COUNTER · Kỹ năng SKILL · Tài nguyên: Vang RES:TOLL
Trục độ khó (doc 12 §4, 0–2)
Tiểu sử
Halka lớn lên trong Nhà Nguyện Chuông Đá, học giáo từ thầy Nhạn, gọi Người Gác Chuông là cha nuôi. Đêm Câm, cả Dòng sa ngã; chỉ cô còn đứng gác. Thẳng như cán giáo, ít cười, giữ lời thề tới mức cứng đầu. Cô vẫn viết thư cho Thầy Hol dù ông điếc, và nghi Varek vì hắn từng gặt xác lính gác. Cô chiến đấu để gióng hồi chuông tiễn cuối cho chính đồng đội. "Chuông còn treo thì lính còn gác." · "Ba tiếng là đủ. Tiếng thứ ba để tiễn." · "Thầy ơi, đêm nay con gác thay thầy."
Câu nói
Ghi chú lệch có chủ đích
Ghi chú thiết kế H03 (2026-11-07). LỆCH BRIEF doc 12 §11.3 (có ngày 2026-11-07): (1) H03_SK01 coef 2.0 → 3.5 vì ngân sách doc 17 §4.2: bản 2.0 cho tỉ lệ DE 0.57 (ĐỎ), bản 3.5 = 0.848 XANH. (2) H03_SK05 LINE 110 × 14 → 110 × 11 để aoe ≤ 1.3 của nhóm tay đôi (110 × 14 = 1540 px² → aoe 1.34). (3) H03_SK06 aoe 1.95 > 1.3 của nhóm tay đôi: giữ vì doc 12 §10.3b đặt SK06 = SPIN_REPEL (thủ quanh thân); DE 0.853 XANH. (4) mass_verb = null: enum schema (GRAB/PULL/BURY/THROW/CUT) không có kích nổ; hàng Bible §5.2 'H03 Vỡ Âm' (S chết · M/L −30 Thế · XL −20 Thế, tích lại sau 4 s) nằm ở params của H03_VO_AM. (5) Slot HEAVY: Halka giữ ATTACK = AUTO_CHAIN nên vai HEAVY là A4 Cắm Sào (finisher); hàng H03_HEAVY_1 = Tháp Vang do A4 sinh (owner_ref H03_COMBO_A_4) để thoả slot bắt buộc. (6) portrait theo doc 12/51 (bust 64×64, thân 96×128); bản xuất select 192×192 của doc 30 §5.3 là ảnh dựng từ thân. MÔ HÌNH NGÂN SÁCH [ASSUMED]: 1 Vang = 0.5 coef-tương-đương/mục tiêu; 1 quái S chết vì Vỡ Âm = 1.4. Kết quả balance_calc (move_de): SK01 0.848 · SK02 0.893 · SK03 0.865 · SK04 1.161 · SK05 1.090 · SK06 0.853 · SK07 0.977 · SK08 0.824 (gồm ~16 Vang chuyển/6 s) · UL1 1.002 · UL2 0.858 (đơn mục tiêu 57 coef ≥ 55) · UL3 0.928 (gồm ~27 kẻ chết × 2 dấu × 2 Vang trong 9 s) — mọi mục XANH. ST [ASSUMED]: combo 11.0 coef/chu kỳ 155 tick (2.58 s); mũi 50% uptime → 12.25, Vang Dội ×1.1 trên ~85% cú → 51.5 HP/s; + 0.75 × (SK01 3.5/7 + SK05 10.5/8) = 13.6 → ST ≈ 65.1 (đích 63 ±5%: 59.9–66.2); combo = 79% ST. Loadout SK01 + SK03: ST ≈ 57.7 (thấp hơn dải, chấp nhận vì SK03 là khống chế). Vỡ Âm không gây sát thương lên M/L/XL (canon) nên không thổi phồng ST; Dư Âm +6/kẻ (≤ +24/lần) → ước 1 ult/48–52 s (sim chờ). A4 riêng lẻ DE 0.673 (đòn combo, không phải kỹ năng; giá trị nằm ở Tháp Vang + mở A5). Hồi nội bộ Vỡ Âm do đáp Nhảy Sào 1.2 s là [ASSUMED] của brief; chung cho verb giữ, A5, SK07. Thứ tự xử lý cùng tick: cộng Vang của cú trúng → kiểm Chín Vang → Vỡ Âm (tick kế, trễ 3 tick/bước lan). 2026-11-07 - Review heroes-a: A5 chung hồi chiêu 1.2 s với verb giữ (params.shared_cd); token huỷ đổi ATTACK@n → COMBO_A@n (Lướt → DASH_ATTACK@0) và thêm DASH@0/ANSWER@0/HOLD@0 + SKILL/ULT/MOVE sau 60% recovery như H01/H02. ST không đổi khi không dùng verb giữ (chu kỳ combo 2.58 s > 1.2 s); dùng verb giữ trong 1.2 s trước A4 thì chu kỳ mất A5 (−2.5 coef). 2026-11-07 - Sửa W4c: tên anim theo doc 30 §5 / av/H03__actor_sfx.json (attack4, attack5, hold_in, sk01–sk08, ul1–ul3, as2_fin, as3_fin); visual.clips dựng lại từ actors[H03].clips của file AV (hit_frames = hits; victory thay victory_idle; dirs = "1" cho clip AV ghi "Chỉ hướng se", còn lại "5+3" — chọn theo AV thay vì ép mọi clip "5+3"); H03_COMBO_A_5 thêm cờ follow_up (đòn nối sau finisher A4, doc 12 Q30); mastery bỏ MR13/MR14/MR17/MR19 (id mỹ phẩm chưa định nghĩa), MR20 chỉ còn SKN_H03_4 (tước hiệu ở title_mr20_vi).
2Hình ảnh & bảng màu
- Màu slot
- #3680e0 hue 214°
- Vòng chân
- #6eb4ff r 12 px
- Sprite
- 38 px cao
- Chân dung
- bust 64/64 · body 96/128 · viền #6eb4ff
- Trang phục pixelfx
Tools/pixelfx/src/fx/heroes/_halka.js
Skin
Clip hoạt ảnh (36) — số khung
| Clip | Khung | Lặp | Khung trúng | Hướng |
|---|---|---|---|---|
| idle | 36 | có | — | 5+3 |
| run | 24 | có | — | 5+3 |
| dash | 9 | — | — | 5+3 |
| attack1 | 30 | — | 3 | 5+3 |
| attack2 | 30 | — | 3 | 5+3 |
| attack3 | 36 | — | 4 | 5+3 |
| attack4 | 45 | — | 6 | 5+3 |
| attack5 | 30 | — | 10 | 5+3 |
| dash_attack | 24 | — | 2 | 5+3 |
| answer | 12 | — | 0 | 5+3 |
| hold_in | 8 | — | — | 5+3 |
| hold_loop | 12 | có | — | 5+3 |
| hold_out | 6 | — | — | 5+3 |
| counter | 24 | — | 3 | 5+3 |
| sk01 | 30 | — | 5 | 1 |
| sk02 | 12 | — | 0 | 5+3 |
| sk03 | 30 | — | 7 | 5+3 |
| sk04 | 30 | — | 6 | 5+3 |
| sk05 | 36 | — | 15 | 5+3 |
| sk06 | 40 | — | 4/11/19/26 | 1 |
| sk07 | 26 | — | — | 5+3 |
| sk08 | 12 | — | 0 | 5+3 |
| ul1 | 60 | — | 18/27/36/45/54 | 1 |
| ul2 | 54 | — | 6/9/12/15/18/21/24/27/33 | 5+3 |
| ul3 | 15 | — | 8 | 1 |
| as2_fin | 36 | — | 5 | 1 |
| hurt | 9 | — | — | 5+3 |
| broken | 27 | có | — | 5+3 |
| death | 45 | — | — | 5+3 |
| revive | 36 | — | — | 1 |
| victory | 48 | — | — | 1 |
| answer_hit | 18 | — | 0 | 5+3 |
| wake | 36 | — | — | 1 |
| hub_idle | 72 | có | — | 1 |
| select | 48 | có | — | 1 |
| as3_fin | 45 | — | 7 | 5+3 |
3Chỉ số & khung vai trò
| Chỉ số | Tên | Giá trị | Đơn vị | So max roster | Roster min–max | Nhóm min–max |
|---|---|---|---|---|---|---|
HP_MAX | HP tối đa | 115 | HP | 115 | 100 – 160 | 105 – 115 |
MOVE_SPEED | Tốc chạy | 138 | px sàn/s | 138 | 130 – 145 | 138 – 145 |
ACCEL_TIME | Thời gian tăng/giảm tốc | 0.06 | s | 0.06 | 0.06 – 0.06 | 0.06 – 0.06 |
POWER | Lực | 10 | điểm | 10 | 10 – 10 | 10 – 10 |
DMG_INC | Sát thương | 0 | +% | 0 | 0 – 0 | 0 – 0 |
ATK_SPEED | Tốc đánh | 1 | × | 1 | 1 – 1 | 1 – 1 |
CRIT_CHANCE | Tỉ lệ chí mạng | 5 | % | 5 | 5 – 5 | 5 – 5 |
CRIT_MULT | Hệ số chí mạng | 2 | × | 2 | 2 – 2 | 2 – 2 |
AREA | Cỡ vùng | 1 | × bán kính | 1 | 1 – 1 | 1 – 1 |
PROJ_SPEED | Tốc đạn hero | 1 | × | 1 | 1 – 1 | 1 – 1 |
DURATION | Thời lượng hiệu ứng hero (vùng, triệu hồi, buff) | 1 | × | 1 | 1 – 1 | 1 – 1 |
CDR | Giảm thời gian hồi chiêu kỹ năng | 0 | % | 0 | 0 – 0 | 0 – 0 |
DASH_CHARGES | Lượt Lướt | 2 | lượt | 2 | 2 – 2 | 2 – 2 |
DASH_RECHARGE | Nạp 1 lượt Lướt | 0.7 | s | 0.7 | 0.7 – 0.7 | 0.7 – 0.7 |
ANSWER_WINDOW | Cửa sổ ĐÁP | 0.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 | — | 90 | — | 90 | 72 – 90 | 80 – 90 |
4Tài nguyên & nội tại
- Tài nguyên
- Vang TOLL · kiểu
ON_ENEMY - Khoảng
- 0 – 3 (bắt đầu 0)
- Suy giảm
- sau 6 s: −3/s, sàn 0
- Khi trúng đòn
- 0
- ĐÁP
- 1
- Né hoàn hảo
- 1
- Sự kiện đầy
- detonate
- HUD
- ON_ENEMY · hud_bottom_left_beside_hp
- Liên kết Dư Âm
- Dư Âm +6 mỗi kẻ Vỡ Âm (≤ +24 mỗi lần kích, tính cả dây chuyền); chung: ĐÁP thành công +4, Né Hoàn Hảo +4. Mục tiêu nạp đầy 45–55 s ở Lv10.
| Sự kiện | Lượng | Trần/s | Ghi chú |
|---|---|---|---|
| attack | 1 | — | Mỗi cú chọc combo/Đánh sau Lướt trúng: +1 Vang lên mỗi kẻ trúng; trúng bằng đoạn mũi (A1–A2 70–90 px, A3 76–96 px, Đánh sau Lướt 80–100 px): +2 Vang thay vì +1 và sát thương ×1.5. |
| combo_end | 1 | — | Cắm Sào (A4) trúng: +1 Vang; Tháp Vang để lại xung r80 mỗi 1.5 s, +1 Vang mỗi xung (4 xung/6 s). |
| answer | 1 | — | Gõ Chuông thành công: xung r48 tâm tại kẻ tấn công, +1 Vang mọi kẻ trong xung (đạn: tại kẻ bắn nếu ≤ 300 px). |
| hold_end | 1 | — | Nhảy Sào (verb giữ, A5, SK07): +1 Vang lên mỗi kẻ bị vượt qua (dải 60/90 px × 24 px dưới cung vọt). |
| counter | 3 | — | Đâm Chuông: mục tiêu chính +3 Vang; xung r48 quanh nó +1 Vang. |
| skill_hit | 1 | — | Kỹ năng trúng: theo từng kỹ năng (SK05 mũi kim +3 Vang). |
| perfect_dodge | 1 | — | Né Hoàn Hảo: +1 Vang lên kẻ gần nhất trong r90. |
Tiêu
| Hành động | Giá | Thiếu vẫn dùng | Ghi chú |
|---|---|---|---|
| VO_AM | 3 | không | Vỡ Âm tiêu đủ 3 Vang trên kẻ đó (AS2: 2). Kích khi Gõ Chuông TRÚNG (r90 quanh Halka) hoặc khi Halka đáp Nhảy Sào (r90 quanh điểm đáp, hồi nội bộ 1.2 s chung mọi nguồn vọt). ĐÁP hụt không kích gì. |
| UL2_TOLL | 3 | có | Hồi Chuông Tiễn tự tích và tiêu Vang trên mục tiêu ghim, không cần trigger. |
Trạng thái theo ngưỡng
Vang Dội ≥ 2
Chín Vang ≥ 3
Nội tại: Vang Dội
5Phòng thủ: ĐÁP · Giữ · Phản · Lướt
ĐÁP: Gõ Chuông
Kết quả chung (S choáng 1.0 s + đẩy 30 px; M −45 Thế; L −40; XL −35) + xung chuông r48 TÂM TẠI kẻ tấn công: +1 Vang mọi kẻ trong xung; xong xung, mọi kẻ Chín Vang trong r90 quanh Halka Vỡ Âm và lan dây chuyền. Mở Phản Đâm Chuông 1.0 s.
Đạn vỡ tan thành mảnh chuông lam; xung r48 đặt tại kẻ bắn nếu ≤ 300 px, nếu không tại điểm đạn; +1 Vang trong xung; Vỡ Âm r90 quanh Halka như cận chiến; không mở Phản.
Xung chuông đặt tại kẻ tấn công (không quanh thân) cấy Vang vào cả cụm phía sau nó và là 1 trong 2 cò kích Vỡ Âm dây chuyền; chỉ Gõ Chuông TRÚNG mới kích.
- window_s
- 0.16
- poise_dmg_override
- M 45, L 40, XL 35
- res_gain
- 1
- needs_resource
- không
Giữ: Nhảy Sào
Không tốn Thế; hồi chiêu 1.2 s tính từ lúc đáp, dùng chung với A5 Nhảy Sào Bổ của combo (ra A5 cũng đặt hồi này).
Bất tử suốt cung vọt 0.35 s nên vượt được cả đòn tím; không tính Né Hoàn Hảo. Đáp xuống trong vùng tím vẫn trúng nếu vùng còn hiệu lực.
- mechanic
- LEAP
- armor_tier
- INVULN
- move_mult
- 0
- max_s
- 0.35
- cooldown_s
- 1.2
Lướt
- dash_px
- 90
- anim
- dash
- afterimage
- có
- trail_vfx
- VFX_H03_dash_pole
Ghi đè input (input_override)
- attack_hold_ticks
- 12
- attack_hold_action
- AUTO_CHAIN
- place_min
- 32
- place_default
- 96
- place_max
- 160
- Kiểu bấm kỹ năng
- H03_SK01
TAP· H03_SK02TAP· H03_SK03TAP· H03_SK04TAP· H03_SK05HOLD· H03_SK06TAP· H03_SK07TAP· H03_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ú |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chọc Mở H03_COMBO_A_1 | COMBO_A | 6 | 4 | 14 | 0.4 | 1.5 | LIGHT | LINE p0 10/0 p1 90/0 w 16 | 48 | 6 | 0.035 | 0 | NONE | COMBO_A@10/SKILL@18/ULT@18/MOVE@18 | atk_speed_scales/pierce | Chọc thẳng xuyên hàng 90 px; đoạn mũi 70–90 px (20 px cuối) ×1.5 và +2 Vang thay +1 — VFX tia mũi sáng r7 khi trúng đoạn mũi. |
| Chọc Nối H03_COMBO_A_2 | COMBO_A | 5 | 4 | 14 | 0.383 | 1.5 | LIGHT | LINE p0 10/0 p1 90/0 w 16 | 48 | 6 | 0.035 | 0 | NONE | COMBO_A@9/SKILL@17/ULT@17/MOVE@17 | atk_speed_scales/pierce | Chọc rút về rồi đâm lại, mũi lệch 6 px sang phải A1 để 2 nhát phủ hàng rộng hơn. |
| Chọc Xoắn H03_COMBO_A_3 | COMBO_A | 8 | 5 | 16 | 0.483 | 2 | MEDIUM | LINE p0 10/0 p1 96/0 w 18 | 48 | 10 | 0.045 | 0.22 | NONE | COMBO_A@13 | atk_speed_scales/pierce | Xoắn cán đâm sâu 96 px, 3 chuông kêu 1 hồi; SFX = a2_swing pitch +4% (doc 32 §4.4, chuỗi dài). |
| Cắm Sào H03_COMBO_A_4 | COMBO_A | 11 | 5 | 22 | 0.633 | 3.5 | HEAVY | CIRCLE r 56 off_fwd 40 | 48 | 25 | 0.07 | 0.28 | FIRM | COMBO_A@16/SKILL@29/ULT@29/MOVE@29 | finisher/shieldbreak/atk_speed_scales | Đòn kết + vai HEAVY của Halka (doc 12 §1.2): cắm chuôi chuông xuống sàn trước mặt, nổ r56, để lại Tháp Vang r80 6 s. Chạm ATTACK trong 36 tick (0.6 s) từ đầu recovery → A5 Nhảy Sào Bổ, CHỈ khi hồi chiêu chung Nhảy Sào (H03_HOLD_VAULT, 1.2 s) đã sẵn; đang hồi hoặc không chạm → recovery A4 trả combo về A1 (COMBO_A@16 = A1). Icon verb giữ trên HUD mờ = A5 chưa sẵn. |
| Nhảy Sào Bổ H03_COMBO_A_5 | COMBO_A | 20 | 3 | 18 | 0.683 | 2.5 | HEAVY | CIRCLE r 40 | 48 | 15 | 0.07 | 0.28 | INVULN | DASH@23/ANSWER@23/COMBO_A@23 | airborne/follow_up | Chống sào vọt 60 px qua đầu quái (bất tử 18 tick, AIRBORNE), rút giáo khỏi sàn và bổ xuống r40; kẻ bị vượt +1 Vang; cú đáp kích Vỡ Âm r90 (hồi nội bộ 1.2 s chung với verb giữ/SK07). Tháp Vang của A4 vẫn ở lại: tháp là tiếng ngân đọng tại điểm cắm, không phải cây giáo. 2026-11-07 - A5 dùng CHUNG hồi chiêu 1.2 s với verb giữ Nhảy Sào (params.shared_cd = H03_HOLD_VAULT, tính từ lúc đáp): ra A5 thì Nhảy Sào giữ vào hồi 1.2 s và ngược lại; đang hồi thì A5 không ra (A4 trả combo về A1). Tổng ngân sách vọt bất tử của combo + verb giữ = 1 lần/1.2 s, đánh thường không thành i-frame miễn phí (TT3, DU tells giữ nguyên áp lực). Huỷ: không trung khoá mọi ô (doc 12 §3.2) tới tick 23 (đáp + active); không có HOLD@ vì hồi chung vừa bắt đầu. |
| Tháp Vang H03_HEAVY_1 | HEAVY | 0 | 360 | 0 | 6 | 0 | LIGHT | CIRCLE r 80 | 48 | 0 | 0 | 0 | NONE | — | — | Vật do cú HEAVY A4 sinh: cột ngân lam r80 tại điểm cắm, xung mỗi 1.5 s (tick 0/90/180/270) +1 Vang mọi kẻ trong r80, 0 sát thương; tối đa 1 tháp từ combo (tháp mới thay tháp cũ). Fill sàn đặc ≤ 45% + viền slot 1 px (FX-04). |
| Lướt Vọt Sào H03_DASH | DASH | 0 | 9 | 3 | 0.2 | 0 | LIGHT | NONE | 48 | 0 | 0 | 0 | INVULN | DASH@6/DASH_ATTACK@0 | — | Lướt chung INV-12: chống cán đẩy mình trượt thấp 90 px, chuông rung. Khác hero khác chỉ anim + cự ly. |
| Chọc Lướt H03_DASH_ATTACK | DASH_ATTACK | 4 | 4 | 13 | 0.35 | 1.8 | MEDIUM | LINE p0 0/0 p1 100/0 w 24 | 48 | 8 | 0.045 | 0.22 | NONE | COMBO_A@8 | atk_speed_scales/pierce | ATTACK trong 9 tick cuối Lướt hoặc ≤ 9 tick sau: đâm dài 100 × 24 xuyên hàng theo đà Lướt; tính là bước 1 combo (cú kế = A2). |
| Gõ Chuông H03_ANSWER | ANSWER | 0 | 10 | 6 | 0.267 | 0 | ANSWER | CIRCLE r 48 | 48 | 45 | 0.08 | 0.25 | NONE | — | — | Chạm RB/RMB: cửa sổ W 10 tick, bảo vệ 360°. Halka xoay cán gõ chuông về phía mối đe doạ vàng gần nhất; xung r48 nổ TẠI kẻ tấn công. Thành công → Vỡ Âm r90 quanh Halka. Hụt: khoá ĐÁP 18 tick, không kích gì. |
| Nhảy Sào H03_HOLD_VAULT | HOLD | 0 | 21 | 8 | 0.483 | 0 | LIGHT | LINE p0 0/0 p1 60/0 w 24 | 48 | 0 | 0 | 0.12 | INVULN | DASH@21 | airborne | Còn giữ RB ở tick W: cắm chuôi, vọt cung 60 px theo hướng nhập (không nhập → hướng ngắm), bất tử 21 tick (0.35 s, khoá Lướt tới khi đáp). Dải dưới cung +1 Vang; cú đáp kích Vỡ Âm r90. Hồi 1.2 s từ lúc đáp, CHUNG với A5 Nhảy Sào Bổ (A5 ra cũng đặt hồi này). |
| Đâm Chuông H03_COUNTER | COUNTER | 5 | 5 | 18 | 0.467 | 14 | COUNTER | LINE p0 0/0 p1 120/0 w 20 | 48 | 30 | 0.12 | 0.45 | INVULN | — | shieldbreak/pierce | ATTACK trong cửa sổ Phản 1.0 s: lao 48 px (bất tử từ input tới hết active) đâm xuyên 120 × 20 vào mục tiêu ✦; mục tiêu +3 Vang (Chín Vang ngay). |
| Đâm Chuông — Hồi Ngân H03_COUNTER_PULSE | COUNTER | 5 | 3 | 0 | 0.133 | 4 | COUNTER | CIRCLE r 48 | 48 | 0 | 0.12 | 0.45 | INVULN | — | shieldbreak | Cùng tick với Đâm Chuông: chuông trên mũi giáo ngân, xung r48 tâm tại mục tiêu; tổng 14 + 4 = 18 × Lực = 180 tương đương (khuôn 11 §2.6). |
| Vỡ Âm H03_VO_AM | RESOURCE | 0 | 1 | 0 | 0.017 | 0 | MEDIUM | CIRCLE r 90 | 128 | 30 | 0.045 | 0.25 | NONE | — | — | Kẻ Chín Vang trong r90 quanh điểm kích: S chết ngay (bất kể HP), M/L −30 Thế, XL −20 Thế và chỉ tích Vang lại sau 4 s; Vang về 0. Mỗi kẻ vỡ lan sang mọi kẻ Chín Vang trong r90 của nó, trễ 3 tick/bước (pháo hoa lam lan dần). Duy nhất H03 có kích nổ lan (Bible #38). |
| Hồi Chuông Lan H03_SK01_RING | SKILL | 10 | 30 | 14 | 0.9 | 3.5 | SKILL | RING r 140 band 24 | 48 | 8 | 0.03 | 0.22 | NONE | — | — | Gõ cán xuống sàn: vòng ngân lan r0 → r140 trong 30 tick, trúng mỗi kẻ 1 lần khi mép vòng chạm. |
| Gióng Ba Hồi H03_SK02_CAST | SKILL | 12 | 4 | 14 | 0.5 | 3 | SKILL | CIRCLE r 160 | 64 | 10 | 0.04 | 0.3 | NONE | — | — | Gõ 3 hồi liền: xung r160 +1 Vang; trong 3 s, kẻ trong r160 quanh Halka vừa đạt ≥ 2 Vang tự Vỡ Âm (không cần cò), lan dây chuyền như thường. |
| Chuông Nín H03_SK03_HUSH | SKILL | 14 | 4 | 12 | 0.5 | 3 | SKILL | CIRCLE r 100 | 48 | 20 | 0.05 | 0.3 | NONE | — | — | Úp tay lên chuông, xung câm r100 tại điểm ≤ 160 px: S đang windup < 50% bị huỷ và không bắt đầu windup mới 1.5 s; M −20 Thế; L/XL −15 Thế; +1 Vang. Không huỷ được đòn Y sau glint 2 (tell trung thực). |
| Tháp Canh Chuông — Phóng H03_SK04_THROW | SKILL | 12 | 6 | 12 | 0.5 | 1 | SKILL | CIRCLE r 24 | 48 | 5 | 0.03 | 0.12 | NONE | — | — | Phóng giáo phụ treo 1 chuông cắm tại điểm ≤ 140 px; cú cắm r24 rồi thành tháp. |
| Tháp Canh Chuông — Xung H03_SK04_TOWER | SKILL | 0 | 480 | 0 | 8 | 1 | SKILL | CIRCLE r 80 | 48 | 4 | 0.02 | 0 | NONE | — | — | Tháp 8 s, xung mỗi 1.0 s: 1.0 × Lực, +1 Vang, huỷ windup S < 50% trong r80. Cộng dồn với Tháp Vang của A4 (2 tháp khác nguồn). |
| Mũi Kim Chuông H03_SK05_NEEDLE | SKILL | 6 | 4 | 16 | 0.433 | 7 | SKILL | LINE p0 0/0 p1 110/0 w 11 | 48 | 30 | 0.07 | 0.3 | NONE | — | shieldbreak/charge/pierce | Giữ nạp 0.4 s (đi ×0.6, xoay ≤ 720°/s), nhả: đâm kim 110 × 11; đoạn 90–110 px ×1.5 và +3 Vang ngay; thân giáo +1 Vang. Nhả trước 0.4 s: ra bản không nạp ×0.6. |
| Xoay Sào Hộ H03_SK06_SPIN | SKILL | 8 | 60 | 12 | 1.333 | 1.2 | SKILL | RING r 64 band 40 | 48 | 10 | 0.03 | 0.12 | FIRM | — | — | Cắm sào, xoay thân quanh cán 1.0 s (4 nhịp/15 tick), FIRM, không giảm sát thương; mỗi nhịp đẩy S/M trong r64 ra mép r88, +1 Vang. |
| Bước Sào Đôi — Vọt H03_SK07_VAULT | SKILL | 0 | 18 | 0 | 0.3 | 0 | SKILL | LINE p0 0/0 p1 90/0 w 24 | 48 | 0 | 0 | 0 | INVULN | — | airborne | 2 lần Nhảy Sào 90 px (lần 2 bấm lại trong 30 tick sau khi đáp), mỗi lần bất tử 18 tick, +1 Vang kẻ bị vượt; không dùng hồi chiêu verb giữ. |
| Bước Sào Đôi — Đáp H03_SK07_LAND | SKILL | 0 | 3 | 10 | 0.217 | 1.5 | SKILL | CIRCLE r 40 | 48 | 8 | 0.04 | 0.22 | NONE | — | — | Mỗi cú đáp r40; cú đáp đầu tiên ngoài hồi nội bộ 1.2 s kích Vỡ Âm r90. |
| Truyền Vang H03_SK08_CAST | SKILL | 10 | 4 | 12 | 0.433 | 1.5 | SKILL | CIRCLE r 96 | 48 | 5 | 0.03 | 0.12 | NONE | — | — | Xung r96 +1 Vang; 6 s: kẻ mang Vang chết (kể cả chết vì Vỡ Âm, khi đó chuyển trước lúc Vang về 0) → Vang của nó chuyển sang 2 kẻ gần nhất trong r80 (mỗi kẻ nhận đủ số đó, trần 3). |
| Đại Hồng Chung — Rơi H03_UL1_IMPACT | ULT | 36 | 4 | 0 | 0.667 | 8 | ULT | CIRCLE r 130 | 128 | 40 | 0.1 | 0.8 | INVULN | — | shieldbreak | Bóng chuông đặc màu slot trên sàn 0.6 s (không phải tell địch), chuông đồng khổng lồ rơi r130: 8.0 × Lực, mọi kẻ +3 Vang rồi Vỡ Âm lan ngay. |
| Đại Hồng Chung — Ngân H03_UL1_TOLL | ULT | 54 | 54 | 12 | 2 | 6 | ULT | RING r 130 band 30 | 128 | 10 | 0.05 | 0.45 | INVULN | — | shieldbreak/rehit | Chuông ngân 4 hồi (tick 54/72/90/108), vòng r40 → r130, mỗi hồi 6.0 × Lực + 1 Vang; hồi 4 kích Vỡ Âm lần 2. Tổng clip 120 tick, bất tử toàn bộ. |
| Hồi Chuông Tiễn — Chọc H03_UL2_POKE | ULT | 12 | 54 | 42 | 1.8 | 5 | ULT | LINE p0 0/0 p1 100/0 w 12 | 1 | 6 | 0.03 | 0.3 | INVULN | — | shieldbreak/rehit | Ghim mục tiêu chính (ưu tiên M/L/XL trong 140 px) tại chỗ 1.8 s; 9 cú chọc mũi (6 tick/cú) mỗi cú +1 Vang. |
| Hồi Chuông Tiễn — Vỡ H03_UL2_TOLL | ULT | 24 | 54 | 30 | 1.8 | 4 | ULT | POINT | 1 | 30 | 0.1 | 0.55 | INVULN | — | shieldbreak/execute/rehit | Sau cú 3, 6, 9: Vỡ Âm riêng trên mục tiêu (4.0 × Lực, −30 Thế, bỏ luật tích lại 4 s của XL); cú cuối kết liễu ≤ 15% (M ≤ 15%, L ≤ 10%, XL: ×1.5 khi HP ≤ 20%). |
| Lính Gác Cuối — Kích H03_UL3_CAST | ULT | 10 | 4 | 16 | 0.5 | 2 | ULT | CIRCLE r 96 | 128 | 20 | 0.08 | 0.45 | INVULN | — | shieldbreak | Clip kích 30 tick bất tử: dựng giáo, 3 chuông ngân cùng lúc, xung r96 +2 Vang. |
| Lính Gác Cuối — Tháp Theo Người H03_UL3_PULSE | ULT | 0 | 540 | 0 | 9 | 1.5 | ULT | CIRCLE r 80 | 128 | 4 | 0.02 | 0 | NONE | — | rehit | Trong dạng 9 s: Tháp Vang r80 dính theo Halka, xung mỗi 1.0 s 1.5 × Lực +1 Vang. |
| Xoay Song Chuông H03_AS2_A4_TWIN | ASPECT | 9 | 5 | 18 | 0.533 | 3.5 | HEAVY | CIRCLE r 60 | 48 | 25 | 0.07 | 0.28 | FIRM | COMBO_A@14 | finisher/shieldbreak/atk_speed_scales | Dạng Giáo Chuông Đôi thay A4: xoay giáo ngắn quanh thân, 2 chuông quét r60 quanh Halka (không dựng tháp); A5 giữ nguyên. |
| Cắm Móc Tháp H03_AS3_A4_HOOK | ASPECT | 13 | 5 | 26 | 0.733 | 3.5 | HEAVY | CIRCLE r 56 off_fwd 48 | 48 | 25 | 0.07 | 0.28 | FIRM | COMBO_A@18 | finisher/shieldbreak/atk_speed_scales | Dạng Giáo Móc Chuông thay A4: móc ngược cắm sâu, Tháp Vang r100 (VFX plant_tower bậc cỡ 1.3, 0 sheet mới). |
78 kỹ năng
Hồi Chuông Lan
skill.shockwaveHạng III: Hạng III: vòng chạm r160 thì dội ngược về tâm (cùng sheet chạy ngược), 0.5× sát thương, +1 Vang lần nữa.
Đòn: · SKILL H03_SK01_RING · Tag: Kỹ năng SKILL · Vùng rộng AREA
Gióng Ba Hồi
skill.chain_detonateHạng III: Hạng III: trong thời gian hiệu lực, bán kính lan dây chuyền 90 → 110 px.
Đòn: · SKILL H03_SK02_CAST · VO_AM · RESOURCE H03_VO_AM · Tag: Kỹ năng SKILL · Dây chuyền CHAIN
Chuông Nín
skill.interruptHạng III: Hạng III: xung câm xoá luôn đạn vàng (Y) của quái thường đang bay trong vùng; đạn Tinh Anh/boss không bị xoá.
Đòn: · SKILL H03_SK03_HUSH · Tag: Kỹ năng SKILL · Vùng rộng AREA
Tháp Canh Chuông
skill.totemHạng III: Hạng III: khi hết thời gian, tháp gãy và kích Vỡ Âm r96 quanh tháp (nguồn thứ 3, không chung hồi nội bộ vọt).
Đòn: · SKILL H03_SK04_THROW · · SKILL H03_SK04_TOWER · Tag: Kỹ năng SKILL · Vùng Sàn ZONE
Mũi Kim Chuông
skill.tip_sweetspotHạng III: Hạng III: mũi kim trúng kẻ đã Chín Vang → Vỡ Âm tại nó (cò thứ 3, chỉ kích kẻ đó rồi lan).
Đòn: · SKILL H03_SK05_NEEDLE · Tag: Kỹ năng SKILL · Chí mạng CRIT
Xoay Sào Hộ
skill.pole_pivotHạng III: Hạng III: vòng xoay đánh vỡ đạn vàng (Y) chạm mép r72 (không phản, không chặn đạn tím).
Đòn: · SKILL H03_SK06_SPIN · Tag: Kỹ năng SKILL · Sinh lực VITAL
Bước Sào Đôi
skill.vaultHạng III: Hạng III: thêm lần vọt thứ 3 (tham số đếm, chỉ tăng ở hạng III).
Đòn: · SKILL H03_SK07_VAULT · · SKILL H03_SK07_LAND · Tag: Kỹ năng SKILL · Di chuyển MOVE
Truyền Vang
skill.res_transferHạng III: Hạng III: Vang chuyển sang 3 kẻ gần thay vì 2.
Đòn: · SKILL H03_SK08_CAST · Tag: Kỹ năng SKILL · Dây chuyền CHAIN
83 tuyệt kỹ (Ult)
Đại Hồng Chung
ult.sky_dropChuông đồng rơi tại điểm ≤ 160 px sau 0.6 s: r130 8× Lực, mọi kẻ +3 Vang rồi Vỡ Âm; ngân 4 hồi, mỗi hồi 6× Lực.
Hồi Chuông Tiễn
ult.enemy_stackGhim 1 mục tiêu 1.8 s, 9 cú chọc 5× Lực tích Vang → 3 lần Vỡ Âm (4× Lực, −30 Thế); kết liễu ≤ 15% HP.
Lính Gác Cuối
ult.brand_on_kill9 s: chọc tầm +30 px; Tháp Vang r80 đi theo người; kẻ chết đóng dấu 2 kẻ gần +2 Vang.
Ghi đè khi biến hình
- COMBO_A
- range_add 30, tip_shift_px 30
- HEAVY
- tower_follow_hero có, tower_r 80, period_s 1, coef 1.5
- H03_SK05
- len 140, tip_d_min 120
- on_kill
- brand_n 2, brand_r 96, vang_add 2
- ult_gauge_gain
- 0
93 Dạng Rèn
Giáo Chuông Đồng
Giáo 1.8 × thân, 1 chuông lớn ở cổ mũi: kit gốc, Vỡ Âm ở 3 Vang, r90.
- Combo
- tempo_mult 1, arc_add 0, range_add 0
- Luật tài nguyên
- giữ gốc
- Lệch độ khó
- —
- mechanic_key
- —
Giáo Chuông Đôi
Giáo ngắn 2 chuông: tầm −15 px, nhịp ×1.2; Vỡ Âm ở 2 Vang, r60; A4 xoay 2 chuông r60.
- Combo
- tempo_mult 1.2, arc_add 0, range_add −15
- Luật tài nguyên
- Vỡ Âm kích ở 2 Vang thay vì 3; bán kính kích và lan r90 → r60; mất mốc Vang Dội riêng (Vang Dội áp ở 2 Vang).
- Lệch độ khó
- axis V, delta −1
- mechanic_key
- passive.chain_detonate
Đòn: · ASPECT H03_AS2_A4_TWIN
Giáo Móc Chuông
Giáo dài móc ngược: tầm +20 px, nhịp ×0.85; Vang không phai; A4 dựng Tháp Vang r100.
- Combo
- tempo_mult 0.85, arc_add 0, range_add 20
- Luật tài nguyên
- Vang trên kẻ địch không hết theo thời gian (decay = null); chỉ mất khi Vỡ Âm hoặc kẻ chết.
- Lệch độ khó
- axis R, delta −1
- mechanic_key
- passive.totem
Đòn: · ASPECT H03_AS3_A4_HOOK
10Nâng cấp: Edge · Cộng Hưởng · Tiến Hoá
Then Chốt (LEGENDARY)
Tiếng Vọng Hai Hồi
Vỡ Âm từ Gõ Chuông vọng lại sau 0.8 s: kẻ ≥ 2 Vang trong r90 Vỡ Âm ×1.3.
detonate.chain_detonate + answer_chain.enemy_stackSào Cắm Trời
Nhảy Sào đáp cắm Tháp Vang (tối đa 2 tháp); combo kế mở từ A3, mũi ×1.25.
hold_end.vault + heavy.totemPhản Gọi Đại Chung
Phản trúng +8 Dư Âm; Dư Âm đầy: chuông rơi r80, 5× Lực, cấy 3 Vang.
counter.sky_drop + counter.ult_gainGió Mang Vang
Lướt xuyên kẻ Chín Vang kích Vỡ Âm; kẻ mang Vang chết trao 1 Vang cho kẻ gần r80.
dash_through.chain_detonate + kill.res_transferHướng build Combo · 6 Edge
Cộng Hưởng: Nhịp Giáo Gác H03_RS1 · Combo COMBO
Đoạn mũi không còn là 20 px cuối cán: A1–A2 tính mũi từ 50 px, A3 từ 56 px, Chọc Lướt từ 60 px; cú trúng mũi nhân thêm MORE.
Cán Vươn Xa
Chọc combo: tầm +14/24/36 px, đoạn mũi dài thêm 10/18/26 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
len_add | 14 | 24 | 36 |
tip_add | 10 | 18 | 26 |
passive.range_extendMũi Chuông Sắc
Chọc combo trúng mũi: tỉ lệ chí mạng +30/52/75%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
value | 30 | 52 | 75 |
passive.tip_sweetspotCắm Sào Nặng
Cắm Sào: bán kính +25/44/62%, sát thương +40/70/100%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_inc | 25 | 44 | 62 |
coef_inc | 40 | 70 | 100 |
heavy.area_growTháp Ngân Gai
Tháp Vang: mỗi xung gây 1.2/1.9× Lực, đứng thêm 2 s.
| tham số | H1 | H2 |
|---|---|---|
coef | 1.2 | 1.9 |
zone_tick.totemMũi Gọi Kim
Chọc combo trúng mũi: Mũi Kim Chuông hồi chiêu −0.6/1 s.
| tham số | H1 | H2 |
|---|---|---|
amount | 0.6 | 1 |
attack.tip_sweetspotBa Mũi Một Sào
3 cú chọc liền trúng mũi: Cắm Sào kế ×1.25, cấy đủ 3 Vang.
combo_end.tip_sweetspotHướng build Lướt · 6 Edge
Cộng Hưởng: Bước Chuông H03_RS2 · Lướt DASH
Lướt Vọt Sào thôi là bước né thuần: điểm xuất phát mỗi Lướt thành một chuông dấu chân (tối đa {cap} chuông sống), kéo bầy theo vệt Lướt vào vùng ngân.
Chọc Lướt Dài
Chọc Lướt: sát thương +60/105/150%, tầm +16/28/40 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
coef_inc | 60 | 105 | 150 |
len_add | 16 | 28 | 40 |
dash_attack.range_extendVọt Gieo Vang
Khi Lướt, kẻ bị lướt xuyên trong dải 24/42/60 px +1 Vang.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
pass_w | 24 | 42 | 60 |
dash_through.enemy_stackSào Vọt Xa
Bước Sào Đôi: mỗi lần vọt +14/24/36 px, cú đáp +70/122/175% sát thương.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dist_add | 14 | 24 | 36 |
coef_inc | 70 | 122 | 175 |
passive.vaultSào Ba Bước
Bước Sào Đôi: +1 lần vọt; mỗi cú đáp +1/2 Vang kẻ trúng.
| tham số | H1 | H2 |
|---|---|---|
land_vang | 1 | 2 |
skill_hit.vaultNé Gọi Xoay
Khi Né Hoàn Hảo, Xoay Sào Hộ hồi chiêu −3.5/5.6 s.
| tham số | H1 | H2 |
|---|---|---|
amount | 3.5 | 5.6 |
perfect_dodge.cooldown_reduceBước Giữ Mũi
Lướt dừng cách quái 70 tới 100 px: hoàn 1 lượt; cú chọc kế ×1.2.
dash_end.tip_sweetspotHướng build Đáp · 6 Edge
Cộng Hưởng: Canh Chuông H03_RS3 · Đáp ANSWER
Ngưỡng Vỡ Âm do Gõ Chuông kích hạ từ Chín Vang xuống {vang_min} Vang (chỉ nguồn ĐÁP; cú đáp Nhảy Sào giữ ngưỡng 3).
Chuông Vang Xa
Gõ Chuông: xung tâm tại kẻ tấn công rộng +16/28/40 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 16 | 28 | 40 |
answer.area_growĐáp Gọi Tháp
Khi bắt đầu Nhảy Sào, Tháp Canh Chuông trong r220 xung ngay, đứng thêm 1/1.75/2.5 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dur_add | 1 | 1.75 | 2.5 |
hold_start.totemSào Bay Rộng
Nhảy Sào: vọt +10/18/26 px, dải cấy Vang rộng +8/14/20 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dist_add | 10 | 18 | 26 |
w_add | 8 | 14 | 20 |
passive.hold_shape_growGõ Một Lan Mười
Khi ĐÁP thành công, vòng Hồi Chuông Lan r90/144 lan từ kẻ tấn công, 2× Lực.
| tham số | H1 | H2 |
|---|---|---|
radius | 90 | 144 |
answer.shockwaveNín Là Gõ
Khi Chuông Nín trúng, kẻ Chín Vang trong r60/96 quanh tâm xung Vỡ Âm.
| tham số | H1 | H2 |
|---|---|---|
r | 60 | 96 |
skill_hit.chain_detonateHai Tâm Chuông
Gõ Chuông trúng: Vỡ Âm kích thêm r90 quanh kẻ tấn công, lan xa +30 px.
answer.chain_detonateHướng build Phản · 6 Edge
Cộng Hưởng: Mũi Phản Kép H03_RS4 · Phản COUNTER
Phản không còn là 1 đường đâm: 2 đường LINE song song, mỗi đường cấy đủ Vang cho kẻ đầu tiên nó xuyên.
Mũi Đâm Thấu
Đâm Chuông: kẻ ở đoạn mũi từ 84 px chịu +60/105/150% sát thương.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
tip_inc | 60 | 105 | 150 |
counter.tip_sweetspotChuông Phản Dày
Xung Đâm Chuông: rộng +16/28/40 px, +1/1/2 Vang mỗi kẻ trúng.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 16 | 28 | 40 |
vang_add | 1 | 1 | 2 |
counter.enemy_stackXoay Sào Rộng
Xoay Sào Hộ: vòng +6/10/16 px, mỗi nhịp −6/10/15 Thế thêm.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 6 | 10 | 16 |
poise_add | 6 | 10 | 15 |
passive.pole_pivotPhản Ngân Vòng
Khi Phản trúng, vòng ngân r110 lan từ mục tiêu: 3/4.8× Lực, +1 Vang.
| tham số | H1 | H2 |
|---|---|---|
coef | 3 | 4.8 |
counter.shockwaveTiễn Chuông Lan
Hồi Chuông Tiễn: mỗi Vỡ Âm lan sang kẻ mang ≥ 2 Vang trong r90/144.
| tham số | H1 | H2 |
|---|---|---|
r | 90 | 144 |
ult.chain_detonateĐâm Vỡ Chín Vang
Phản trúng kẻ đã Chín Vang: Vỡ Âm tại nó ×1.25, −15 Thế thêm.
counter.chain_detonateHướng build Kỹ năng · 6 Edge
Cộng Hưởng: Lễ Gióng Chuông H03_RS5 · Kỹ năng SKILL
Kỹ năng thôi chỉ là cú đánh một lần: mỗi kỹ năng trúng đông dựng thêm một Tháp Vang nhỏ, xung +1 Vang mỗi 1.5 s.
Chuông Lan Xa
Hồi Chuông Lan: bán kính +15/26/38%, sát thương +20/35/50%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_inc | 15 | 26 | 38 |
coef_inc | 20 | 35 | 50 |
passive.shockwaveNín Lặng Sâu
Chuông Nín: xung rộng +16/28/40 px, Tinh Anh −10/18/25 Thế thêm.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 16 | 28 | 40 |
poise_add | 10 | 18 | 25 |
passive.interruptTháp Đôi Canh
Tháp Canh Chuông: +1 tháp phụ r60/96 cạnh tháp chính, 6 s.
| tham số | H1 | H2 |
|---|---|---|
radius | 60 | 96 |
place.totemKim Nạp Nhanh
Mũi Kim Chuông: nạp nhanh 25/40%, đoạn mũi dài thêm 12/20 px.
| tham số | H1 | H2 |
|---|---|---|
charge_cut | 25 | 40 |
tip_add | 12 | 20 |
charge_mark.tip_sweetspotVang Truyền Xa
Truyền Vang: chuyển sang thêm 1 kẻ, kéo dài +2/3.2 s.
| tham số | H1 | H2 |
|---|---|---|
dur_add | 2 | 3.2 |
passive.res_transferBa Hồi Liền Nổ
Gióng Ba Hồi: mỗi hồi kích Vỡ Âm ngay ở kẻ ≥ 2 Vang; hồi thứ ba ×1.25.
skill_hit.shockwaveHướng build Tài nguyên: Vang · 6 Edge
Cộng Hưởng: Đại Hồi Vang H03_RS6 · Tài nguyên: Vang RES:TOLL
Dây chuyền không dừng ở kẻ chưa chín: kẻ mang {vang_min} Vang bị lan tới cũng Vỡ Âm (sát thương giảm) và tiếp tục lan.
Vang Dội Sâu
Vang Dội: kẻ mang ≥ 2 Vang chịu thêm +8/14/20% sát thương.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
value | 8 | 14 | 20 |
res_threshold.enemy_stackVang Lâu Phai
Vang trên kẻ địch phai chậm: trễ phai +2/3.5/5 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
delay_add | 2 | 3.5 | 5 |
res_gain.res_decay_pauseVang Truyền Nổ
Khi tiêu Vang lúc Truyền Vang, mỗi kẻ Vỡ Âm chuyển 1 Vang sang kẻ gần trong r60/96.
| tham số | H1 | H2 |
|---|---|---|
r | 60 | 96 |
detonate.res_transferHồi Ba Gấp
Khi tiêu Vang, Gióng Ba Hồi hồi chiêu −0.3/0.5 s.
| tham số | H1 | H2 |
|---|---|---|
amount | 0.3 | 0.5 |
detonate.cooldown_reduceChuông Đồng Ở Lại
Đại Hồng Chung đứng lại 6 s: mỗi 1.5 s xung r130, +1 Vang, kích Vỡ Âm.
ult_end.totemDấu Gác Lan Truyền
Lính Gác Cuối: dấu chết lan ≤ 2 tầng; mỗi dấu cấy đủ 3 Vang.
kill_multi.brand_on_killTiến Hoá
Vạn Hồi Chuông Lan
Hồi Chuông Lan ngân 3 vòng liền cách 0.35 s tới r170, mỗi vòng 2.6× Lực +1 Vang; vòng cuối kích Vỡ Âm.
- Cần Edge
- Chuông Lan Xa H03_E25 · Vang Dội Sâu H03_E31
- Điều kiện
SKILL_RANKHồi Chuông Lan H03_SK01 = 3 — Hồi Chuông Lan đạt hạng III.- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- skill_max_rank.shockwave
Kim Xuyên Trời
Mũi Kim Chuông đâm 170 px, cả đoạn từ 90 px là mũi ×1.5; kẻ trúng mũi Vỡ Âm ngay, ×1.25.
- Cần Edge
- Mũi Chuông Sắc H03_E02 · Kim Nạp Nhanh H03_E28
- Điều kiện
RESONANCENhịp Giáo Gác H03_RS1 = 1 — Nhịp Giáo Gác (RS1) đạt bậc I.- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- skill_max_rank.tip_sweetspot
Tháp Gác Chuông Cổ
Tháp Canh Chuông thành Tháp Gác r120, 12 s: mỗi 1 s xung 1.5× Lực, +1 Vang, kích Vỡ Âm; trong tháp Nhảy Sào hồi 0.6 s.
- Cần Edge
- Tháp Đôi Canh H03_E27 · Tháp Ngân Gai H03_E04
- Điều kiện
LEVEL= 15 — Halka đạt cấp 15 trong run.- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- zone_tick.chain_detonate
Giáo Chuông Thức Tỉnh
Combo chọc dài +20 px; trúng mũi phóng sóng ngân 60 px 0.8× Lực, +1 Vang thêm.
- Cần Edge
- —
- Điều kiện
BOSS_KILLEDThợ Cả Đúc Chuông BS_B3 = BS_B3 — 2 Cộng Hưởng Halka 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 (13)
| ID | Câu |
|---|---|
| TPL_H03_e06 | Đếm chuỗi cú chọc combo (A1, A2, A3, Chọc Lướt) liên tiếp trúng đoạn mũi; một cú chọc hụt mũi hoặc 1.5 s không chọc thì xoá chuỗi. Chuỗi đủ số `streak`: cú Cắm Sào (A4) kế tiếp nhân sát thương theo `more` (MORE, vào trần chung) và đặt Vang của mọi kẻ trúng lên `vang_set`; chuỗi về 0 sau cú Cắm Sào đó. |
| TPL_H03_e12 | Khi Lướt Vọt Sào kết thúc, đo khoảng cách tới quái gần nhất theo hướng nhìn; nằm trong dải `d_min`…`d_max` px thì hoàn `refund` lượt Lướt (hồi nội `cd_s` s, trong trần hoàn Lướt chung 1 lượt mỗi giây) và cú chọc combo hoặc Chọc Lướt kế trong 0.8 s nhân `more` (MORE). Không đổi i-frame Lướt. |
| TPL_H03_e17 | Khi xung Chuông Nín huỷ được ít nhất 1 windup hoặc trừ Thế Tinh Anh, tính như Gõ Chuông trúng tại tâm xung: mọi kẻ Chín Vang trong `r` quanh tâm Vỡ Âm và lan dây chuyền như luật gốc. Giá của nguồn kích này là hồi chiêu Chuông Nín (luật Q22 doc 12). |
| TPL_H03_e18 | Khi Gõ Chuông trúng (Answered), ngoài lượt Vỡ Âm r90 quanh Halka, kích thêm 1 lượt Vỡ Âm bán kính `r` tâm tại kẻ tấn công (đạn: kẻ bắn nếu trong 300 px). Mọi Vỡ Âm sinh từ 2 tâm này lan dây chuyền xa thêm `chain_add` px. Gõ Chuông hụt vẫn không kích gì. |
| TPL_H03_e23 | Trong Hồi Chuông Tiễn, mỗi lần Vỡ Âm trên mục tiêu ghim lan sang mọi kẻ mang ít nhất `vang_min` Vang trong bán kính `r` quanh nó (Vỡ Âm thường, lan tiếp theo luật gốc). Mục tiêu ghim không đổi. |
| TPL_H03_e24 | Khi Đâm Chuông trúng một kẻ đã đủ 3 Vang trước cú đâm, kích Vỡ Âm ngay tại kẻ đó (không cần Gõ Chuông hay cú đáp); Vỡ Âm này nhân `more` (MORE) và trừ thêm `poise_add` Thế. Sau đó +3 Vang của cú Phản cấy lại như thường. |
| TPL_H03_e30 | Gióng Ba Hồi bỏ bước chờ: mỗi hồi chuông (3 hồi) kích Vỡ Âm ngay ở mọi kẻ mang ít nhất `vang_min` Vang trong r160 sau khi cộng Vang của chính hồi đó; Vỡ Âm của hồi thứ ba nhân `more` (MORE). |
| TPL_H03_e35 | Sau cú rơi, Đại Hồng Chung không biến mất mà đứng lại `dur_s` s như một tháp lớn: mỗi `period_s` s phát xung bán kính `r` cộng 1 Vang mọi kẻ trúng rồi kích Vỡ Âm ở kẻ Chín Vang trong xung. Chuông đứng chặn đạn của chính Halka, không chặn đường quái. |
| TPL_H03_e36 | Trong Lính Gác Cuối, kẻ mang dấu chết khi chết cũng đóng dấu kẻ gần như luật gốc, tối đa `depth` tầng tính từ cú hạ đầu; mọi dấu đặt Vang của kẻ nhận lên `vang_set` thay vì cộng. |
| TPL_H03_lp37 | Mỗi lượt Vỡ Âm do Gõ Chuông trúng kích để lại 1 tiếng vọng tại tâm (Halka hoặc kẻ tấn công). Sau `delay_s` s tiếng vọng nổ: mọi kẻ mang ít nhất `vang_min` Vang trong `r` Vỡ Âm, nhân `more` (MORE, vào trần chung), lan dây chuyền như thường. Tiếng vọng không sinh tiếng vọng. |
| TPL_H03_lp38 | Cú đáp Nhảy Sào (verb giữ) cắm một Tháp Vang tại điểm đáp như cú Cắm Sào (giữ hồi nội vọt chung), tối đa `towers` tháp, tháp cũ nhất mất trước. Sau cú đáp, ATTACK kế mở combo từ A3 và cú chọc đó tính trúng mũi, nhân `more` (MORE). |
| TPL_H03_lp39 | Mỗi Đâm Chuông trúng cộng `ult_add` Dư Âm (trong trần nạp từ nâng cấp). Nếu Dư Âm đang đầy khi Phản trúng: một chuông nhỏ rơi tại mục tiêu sau 0.3 s, bán kính `r`, gây `coef` lần Lực, đặt Vang mọi kẻ trúng lên `vang_set`; không tốn Dư Âm, hồi nội `icd_s` s. |
| TPL_H03_lp40 | Lướt Vọt Sào xuyên qua kẻ đủ 3 Vang thì kích Vỡ Âm tại kẻ đó (hồi nội `icd_s` s, dùng chung hồi nội nguồn vọt của Nhảy Sào). Mọi kẻ mang Vang chết vì bất kỳ nguồn nào chuyển `n` Vang sang kẻ gần nhất trong `r` chưa đủ 3 Vang. |
11Thông Thạo (mastery)
Thử thách Thông Thạo
| Thử thách | Điều kiện | Thưởng |
|---|---|---|
| ĐÁP {answers} tell vàng trong 1 run. TT1 | answers 30 | TMB_H03_frame_bell |
| Đầy tài nguyên riêng {fills} lần trong 1 run. TT2 | event detonate, count 10, chain_min 20 | TMB_H03_frame_chain |
| Hạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… TT3 | boss ACT_BOSS_ANY, p_hits_max 0 | TMB_H03_frame_vault |
| Qua Hồi II chỉ dùng {skills} kỹ năng. TT4 | act II, skills_max 1 | TMB_H03_frame_tower |
| Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}. TT5 | boss BS_FINAL, do_tang_min 8, title Kẻ Thức Tang Halka | — |
- Danh hiệu MR20
- Tiếng Chuông Cuối Của Dòng Gác
- Mốc thoại MR11
- Mũ gác của con méo vành rồi. Ta hơ lửa nắn lại, để mai còn gác. DLG_ULLA_H03_001
- Mốc thoại MR15
- Chuông trên giáo con bé ngân thấp đi một nốt. Gác lâu thì chuông cũng già. DLG_GREM_H03_001
- Bia mộ
- TMB_H03
12VFX spec
SIGNATURE · 14
Dấu Vang trên địch: enter_fx của ngưỡng TOLL_RESONANT (2 Vang) và TOL…
Dấu Vang: ba chấm pip nhỏ trên mép vòng chân mỗi kẻ địch, sáng 1–3 theo Vang; đủ ba chấm thì rung nhẹ — báo kẻ đó Chín Vang, gõ chuông là vỡ. Không bị LOD cắt vì là thông tin luật của hero.
Chi tiết spec
- Kích hoạt
- Dấu Vang trên địch: enter_fx của ngưỡng TOLL_RESONANT (2 Vang) và TOLL_RIPE (3 Vang); bật/đổi mỗi khi Vang của kẻ đó đổi (1–3). Còn từ H03_SK08_CAST, Edge H03_E06 (cấy đủ 3), H03_E08, H03_E31. t = 0 = Vang đổi.
- Canvas
- 16×8 gốc 8/4
- Pha (s)
- antic 0/0.083 · impact 0.083/0.083 · dissipate 0.5/0.667
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/halka-vang-mark.js (loop thuần, 3 hàng)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-vang-mark), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | 3 chấm pip 3×3 px cách 2 px (tổng 13 × 3) đặt trên mép trước vòng chân kẻ địch; chấm tắt = #102347 viền 1 px #295aa8, chấm sáng = #6eb4ff lõi #dcefff. |
| 0.083 | Vào (khi +Vang): chấm vừa sáng chớp #fff6f0 1 frame rồi #6eb4ff. |
| 0.333 | Vang Dội (≥ 2): 2 chấm sáng nhịp α 0.8 → 1.0 chu kỳ 0.667 s. |
| 0.5 | Chín Vang (3): đủ 3 chấm #dcefff, rung ±1 px ngang 12 Hz + quầng 1 px #a8d7ff — báo sẵn sàng Vỡ Âm. |
| 0.667 | Lặp (loop 8 frame @12). |
Gõ Chuông THÀNH CÔNG (H03_ANSWER, answer hit_frame 0, cửa sổ 10 tick)…
Gõ Chuông: một hình chuông trắng loé ngay trên kẻ vừa tấn công, vành ngân lam bung đúng r48 quanh nó, mảnh chuông nhỏ văng ra — dấu hiệu Vang được cấy vào cả cụm phía sau.
Chi tiết spec
- Kích hoạt
- Gõ Chuông THÀNH CÔNG (H03_ANSWER, answer hit_frame 0, cửa sổ 10 tick): xung r48 nổ TẠI kẻ tấn công (đạn: tại kẻ bắn nếu ≤ 300 px, không thì tại điểm đạn). Edge H03_E13 (+16/28/40 px), cộng hưởng H03_RS3. Halka phát kèm VFX_SHARED_answer_flash tại thân; ĐÁP hụt không phát. t = 0 = frame ĐÁP trúng.
- Canvas
- 112×72 gốc 56/44
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind FLAKE, count 6, speed 90, life_s 0.3, hex #a8d7ff, gravity 600, shadow có/kind MOTE, count 3, speed 20, life_s 0.2, hex #dcefff, gravity 0, shadow không
- Hitbox
- shape circle r48, match Vành vẽ đúng elip r48 (96×48) tâm tại chân kẻ tấn công lúc 0.067 s; +1 Vang áp tức thì tick 0 cho cả r48; FLAKE bay tới r52 (≤ 6 ✓). E13: r64/76/88 qua s1.3 ×1.03 / s1.7 ×0.93 / s1.7 ×1.08., wave none
- Nguồn
- new src/fx/heroes/halka-answer-bell.js (mượn impacts/parry chớp + bladewake/violet-ring cách vẽ vành, đổi ramp hero)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-answer-bell), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r48' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng #ffffff: hình chuông 12×12 (đỉnh tròn, miệng loe) tại ngực kẻ tấn công h16; đĩa sàn r12 #fff6f0. |
| 0.033 | Vành r12 → r30 dày 3 px #dcefff; hình chuông chuyển #a8d7ff, rung ±1 px. |
| 0.067 | Vành chạm r48 (elip 96×48) #6eb4ff 2 px, fill α 0.35 #295aa8; 6 mảnh chuông FLAKE 2×2 bung ra theo spawn3. |
| 0.2 | Vành giữ r48 1 px #3680e0 α 0.5; hình chuông tan thành 3 MOTE. |
| 0.4 | Rỗng. |
Cung vọt Nhảy Sào: H03_HOLD_VAULT (hold_in, bất tử 21 tick, 60 px, dả…
Nhảy Sào: vệt cung mảnh theo người vọt qua đầu quái, bên dưới sáng một dải lam đúng 60 × 24 — kẻ trong dải được cấy +1 Vang.
Chi tiết spec
- Kích hoạt
- Cung vọt Nhảy Sào: H03_HOLD_VAULT (hold_in, bất tử 21 tick, 60 px, dải 24 px), H03_COMBO_A_5 (attack5, 60 px, bất tử 18 tick), H03_SK07_VAULT (90/100 px, 2–3 lần), Edge H03_E10, H03_E15 (+10/18/26 px, dải +8/14/20). t = 0 = chuôi rời sàn đẩy người lên.
- Canvas
- 96×80 gốc 12/64
- Pha (s)
- antic −0.067/0 · impact 0/0.033 · dissipate 0.033/0.367
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind DUST, count 3, speed 40, life_s 0.25, hex #1e3c6b, gravity 0, shadow không
- Hitbox
- shape line L60 W24, match Dải sàn x0–x60 rộng 24 vẽ đúng dải cấy Vang (không sát thương); cung vệt trên không chỉ là hình. SK07 L90 → s1.7 ×0.88; L100 → s1.7 ×0.98; E15 +26 px → L86 s1.3 ×1.10., wave none
- Nguồn
- new src/fx/heroes/halka-vault-arc.js (trace theo fly3 lob, mượn heroes/bellwarden-leap.js quỹ đạo; ramp hero)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-vault-arc), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L60 W24' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.067 | Chuôi cắm tại x0: chấm sàn #dcefff 2 px, 3 DUST bật. |
| 0 | Frame nhả: vệt cung vòng cầu mỏng 2 px #a8d7ff vẽ theo quỹ đạo chân h(t) = 4·H·u·(1−u), H = 24 px; đầu vệt #fff6f0. |
| 0.167 | Đỉnh cung tại x30 h24; dải sàn bên dưới (60 × 24, màn e 60×12) shadeFloor α 0.3 #295aa8 sáng dần theo bóng Halka (dải cấy Vang). |
| 0.3 | Vệt cung nguội #3680e0 từ gốc; đầu vệt tới x60 h0 (đáp, nối sang VFX_H03_vault_land). |
| 0.367 | Rỗng. |
Tháp Vang đứng: H03_HEAVY_1 (do A4 sinh, r80, 6 s), H03_SK04_TOWER (r…
Tháp Vang: cột ngân lam mảnh đứng tại điểm cắm, bóng chuông nhỏ lắc trên đỉnh, sàn tô đặc lam ≤ 45% với viền slot 1 px đúng bán kính. Bậc s1.3 dùng cho AS3 r100 và EVO3 r120 (×1.15); 0 sheet mới.
Chi tiết spec
- Kích hoạt
- Tháp Vang đứng: H03_HEAVY_1 (do A4 sinh, r80, 6 s), H03_SK04_TOWER (r80/96, 8–9 s), H03_UL3_PULSE (r80 dính theo Halka 9 s), H03_AS3_A4_HOOK (r100), H03_AS3 Dạng Rèn, Edge H03_E27 (tháp phụ r60/96, 6 s), H03_E38 (đáp Nhảy Sào cắm tháp, ≤ 2), H03_EVO3 (r120, 12 s), cộng hưởng H03_RS5. Loop suốt đời tháp; t = 0 = tháp sinh.
- Canvas
- 40×64 gốc 20/58
- Pha (s)
- antic 0/0.1 · impact 0.1/0.1 · dissipate 0.85/1
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind MOTE, count 2, speed 20, life_s 0.8, hex #dcefff, gravity −20, shadow không
- Hitbox
- shape circle r80, match Viền sàn thủ tục 1 px vẽ đúng r thật mọi nguồn (r60/80/96/100/120), lệch 0 px; cột sheet không mang hitbox; xung +Vang/sát thương phát qua VFX_H03_tower_pulse., wave procedural
- Nguồn
- new src/fx/heroes/halka-plant-tower.js (loop thuần draw(p,t,o), mượn heroes/bellwarden-toll.js chuông lắc, đổi ramp hero) + shader FloorEllipse {shape:disc} runtime cho vùng sàn
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-plant-tower), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r80' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Vào 0.1 s (runtime α 0 → 1): cột ngân mảnh 6 px rộng, cao 44 px dựng từ elip chân 24×12, lõi #fff6f0 2 px, viền #6eb4ff. |
| 0.25 | Bóng chuông mờ 10×12 px #a8d7ff α 0.6 ở đỉnh cột (h 40) lắc ±2 px; 2 vòng sóng ngang 1 px #3680e0 trượt từ chân lên. |
| 0.5 | Bóng chuông nghiêng về −2 px; MOTE #dcefff bốc lên 2 hạt; chân cột elip #295aa8 α 0.5 nhịp sáng. |
| 0.85 | Vòng sóng thứ 2 tới đỉnh, tan; khung cuối khớp khung đầu (loop liền). |
| 1 | Lặp. Hết đời: runtime tan dither 0.15 s, A4 tháp mới thay tháp cũ. |
Đâm Chuông: H03_COUNTER (counter hit_frame 3, lao 48 px, LINE 120 × 2…
Đâm Chuông: Halka lao tới, mũi giáo xuyên thẳng 120 px như kim, rồi chiếc chuông trên mũi ngân thành vành r48 quanh mục tiêu — mục tiêu Chín Vang ngay.
Chi tiết spec
- Kích hoạt
- Đâm Chuông: H03_COUNTER (counter hit_frame 3, lao 48 px, LINE 120 × 20, hitstop 0.12, trauma 0.45) + H03_COUNTER_PULSE (cùng tick, CIRCLE r48 tâm mục tiêu); Edge H03_E20 (xung +16/28/40 px), H03_E24, cộng hưởng H03_RS4. Kèm VFX_SHARED_counter_mark. t = 0 = frame xuyên.
- Canvas
- 144×64 gốc 12/44
- Pha (s)
- antic −0.067/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind FLAKE, count 8, speed 100, life_s 0.35, hex #a8d7ff, gravity 700, shadow có/kind STREAK, count 4, speed 260, life_s 0.12, hex #6eb4ff, gravity 0, shadow không
- Hitbox
- shape line L120 W20, match Pierce: dải sàn x0–x120 rộng 20 (màn e 120×10, n/s 60×20), mũi sáng tới x124 (≤ 6 ✓). Pulse: vành đúng elip r48 tâm mục tiêu (circle r48). E20: r64/76/88 qua s1.3/1.7/1.7. Đo trên --dirs 8., wave none
- Nguồn
- new src/fx/heroes/halka-counter-bellpierce.js (2 phần pierce/pulse; mượn heroes/varek-riposte nhịp lao, melee/thrust beam)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-counter-bellpierce), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L120 W20' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.067 | Lao 48 px: 4 vệt tốc 1 px #3680e0 sau lưng; 3 chuông ở cổ mũi sáng #dcefff. |
| 0 | Frame trắng: vệt xuyên x0 → x120 h18, lõi #fff6f0 4 px, đầu #ffffff 6 px; sàn shadeFloor 120 × 20 α 0.45 #1e3c6b. |
| 0.033 | Phần 'pulse' (sheet phụ, neo chân mục tiêu): hình chuông 14×14 #ffffff loé, vành r12 → r30 #dcefff. |
| 0.067 | Vành pulse chạm r48 (elip 96×48) #6eb4ff 2 px, fill α 0.35; vệt xuyên thân #a8d7ff, đoạn mũi #dcefff. |
| 0.25 | Vệt xuyên rút về mũi; vành pulse 1 px #3680e0; 8 FLAKE mảnh chuông rơi. |
| 0.5 | Rỗng. |
Vỡ Âm (H03_VO_AM, r90 quanh điểm kích): cò ANSWER_HIT (Gõ Chuông trún…
Vỡ Âm: tiếng chuông vỡ tại điểm kích — cột sáng trắng, hai vành lam lan đúng r90 kèm tám tia sóng; mọi kẻ Chín Vang trong vành nổ và lan dây chuyền (VFX_H03_toll_chain).
Chi tiết spec
- Kích hoạt
- Vỡ Âm (H03_VO_AM, r90 quanh điểm kích): cò ANSWER_HIT (Gõ Chuông trúng) và VAULT_LAND (đáp Nhảy Sào, hồi 1.2 s); còn từ H03_SK02_CAST, H03_UL1_IMPACT, H03_UL1_TOLL (hồi 4), H03_UL2_TOLL (trên mục tiêu ghim), SK04 hạng III (r96), SK05 hạng III, Edge H03_E17/E18/E24/E40. t = 0 = tick kích.
- Canvas
- 200×128 gốc 100/76
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0.045
- Hạt
- kind MOTE, count 12, speed 40, life_s 0.4, hex #a8d7ff, gravity −30, shadow không
- Hitbox
- shape circle r90, match Vành ngoài đúng elip r90 (180×90) tại 0.067 s; chọn mục tiêu tức thì tick 0 (r90), MOTE tới r94 (≤ 10 ✓). SK02 hạng III lan r110 → s1.3 ×0.94; SK04 hạng III r96 → s1.0 ×1.07; AS2 r60 xuất riêng qua --as h03_as2 (radius 60)., wave none
- Nguồn
- new src/fx/heroes/halka-toll-burst.js (mượn heroes/bellwarden-toll.js nhịp ngân, explosions/firework-burst hạt; ramp hero)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-toll-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r90' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: đĩa r16 #ffffff tại điểm kích, cột sáng 4 × 32 dựng lên. |
| 0.033 | Vành kép lan r16 → r60 (2 vành cách 8 px) #dcefff/#a8d7ff dày 2 px; fill α 0.3 #295aa8. |
| 0.067 | Vành ngoài chạm r90 (elip 180×90) #6eb4ff 2 px; 8 tia ngắn hướng tâm-ra 6 px trên vành (như sóng chuông). |
| 0.2 | Vành 1 px #3680e0 α 0.6; 12 MOTE lam bay lên 20 px. |
| 0.35 | Vành tan dither Bayer 4×4; MOTE còn 4. |
| 0.5 | Rỗng. |
Mỗi bước lan dây chuyền Vỡ Âm (H03_VO_AM chain_r 90, trễ 3 tick/bước,…
Lan dây chuyền: một gói sóng chuông nhỏ chạy trên sàn tới kẻ kế, nổ pháo hoa lam nhỏ — cả cụm vỡ dần từng nhịp 3 tick. Trần: ≤ 12 pop mới/frame (dư dời 1 frame), L2 bỏ packet giữ pop.
Chi tiết spec
- Kích hoạt
- Mỗi bước lan dây chuyền Vỡ Âm (H03_VO_AM chain_r 90, trễ 3 tick/bước, trần 128): t = 0 = kẻ kế bị kích; Edge H03_E17/E18/E23/E30/E36/E37, cộng hưởng H03_RS6.
- Canvas
- 32×32 gốc 16/24
- Pha (s)
- antic −0.05/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SPARK, count 6, speed 90, life_s 0.25, hex #a8d7ff, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor explosions/firework-burst --opts {sparks:6, radius:12} + phần packet mới trong src/fx/heroes/halka-toll-chain.js
- Review
- check_mjs pending (node tools/check.mjs explosions/firework-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.05 | Phần 'packet' (sprite 12×6, runtime dời thẳng trên sàn từ kẻ trước tới kẻ kế trong 3 tick, không giãn): 3 cung sóng ')))' #a8d7ff. |
| 0 | Frame trắng tại kẻ kế: pháo hoa nhỏ — đĩa r4 #ffffff, 6 tia 4 px. |
| 0.033 | Vành r4 → r12 (elip 24×12) #6eb4ff 1 px; 6 SPARK lam bung spawn3. |
| 0.15 | SPARK rơi #295aa8; vành tan. |
| 0.3 | Rỗng. |
Hồi Chuông Lan H03_SK01_RING (sk01 hit_frame 5, startup 10 tick, vòng…
Hồi Chuông Lan: gõ cán xuống sàn, một vành ngân lam đặc lan tới r140 trong 0.5 s, mép ngoài lấp lánh; hạng III vành dội ngược về tâm. Vành vẽ thủ tục nên luôn khớp bán kính thật.
Chi tiết spec
- Kích hoạt
- Hồi Chuông Lan H03_SK01_RING (sk01 hit_frame 5, startup 10 tick, vòng r0 → r140 trong 30 tick, dày 24); H03_UL1_TOLL (4 hồi r40 → r130 tick 54/72/90/108), Edge H03_E16 (r90/144 từ kẻ tấn công), H03_E22 (r110 từ mục tiêu Phản), H03_E25 (+15/26/38%), H03_EVO1 (3 vòng tới r170), cộng hưởng H03_RS2. t = 0 = cán chạm sàn.
- Canvas
- 304×160 gốc 152/80
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.5
- Easing
- curve outQuart, freeze_s 0.03
- Hạt
- kind STAR, count 16, speed 0, life_s 0.2, hex #dcefff, gravity 0, shadow không
- Hitbox
- shape ring r140 w24, match Vành thủ tục = vùng trúng frame đó (dải [r−12, r+12]), lệch 0 px; mỗi kẻ trúng 1 lần khi mép chạm; r_max đúng r thật (140/160/170/130/110/90/144)., wave procedural
- Nguồn
- shader FloorEllipse {shape:ring} (runtime, dùng chung mọi vành hero r > 112) + new src/fx/heroes/halka-ring-glint.js (sheet glint 8×8)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-sk01-ring), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'ring r140 w24' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: đĩa r10 #fff6f0 tại tâm, chớp cán #ffffff. |
| 0.033 | Vành thủ tục r(t) = r_max·outQuart(t/0.5): dải dày 24 (màn 24 Đ/T, 12 B/N) fill α 0.4 #295aa8, mép ngoài 2 px #a8d7ff, mép trong 1 px #3680e0. |
| 0.25 | Vành tại r≈131 (r140 bản gốc); glint sheet 8×8 ×16 rải đều trên mép ngoài, sống 0.2 s. |
| 0.5 | Vành chạm r_max, tan α → 0 trong 2 frame. Hạng III: 0.6 s sau phát ngược r_max → 0 (cùng shader, α ×0.5). |
| 0.6 | Rỗng (hạng I/II). |
Mũi Kim Chuông — nhả (H03_SK05_NEEDLE, sk05 hit_frame 15, LINE 110 × …
Mũi Kim Chuông: một kim sáng trắng mảnh xuyên 110 px, ba nhẫn ngân quấn thân trượt ra mũi, đoạn mũi 20 px cuối sáng nhất (×1.5, +3 Vang).
Chi tiết spec
- Kích hoạt
- Mũi Kim Chuông — nhả (H03_SK05_NEEDLE, sk05 hit_frame 15, LINE 110 × 11, step 12, hitstop 0.07, trauma 0.3); EVO2 Kim Xuyên Trời len 170; UL3 len 140; Edge H03_E28 (đoạn mũi +12/20 px). t = 0 = frame xuyên.
- Canvas
- 136×44 gốc 14/32
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind STREAK, count 6, speed 400, life_s 0.12, hex #dcefff, gravity 0, shadow không
- Hitbox
- shape line L110 W11, match Dải sàn x0–x110 rộng 11 (màn e 110×6, n/s 55×11); mũi + vòng ngân tới x114 (≤ 6 ✓); phủ 100%. EVO2 L170 → s1.7 ×0.91; UL3 L140 → s1.3 ×0.98. Đo --dirs 8., wave none
- Nguồn
- new src/fx/heroes/halka-sk05-needle.js (beam + nhẫn; mượn melee/thrust)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-sk05-needle), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L110 W11' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: kim sáng x0 → x110 h20 dày 2 px #ffffff, đoạn mũi x90–110 dày 3 px; sàn shadeFloor 110 × 11 α 0.45 #1e3c6b. |
| 0.033 | Thân kim #a8d7ff 2 px, đoạn mũi #dcefff 3 px + vòng ngân r6 tại x110; 3 vòng nhẫn 1 px quấn thân ở x30/60/90. |
| 0.1 | Kim tắt từ đuôi; vòng nhẫn trượt ra mũi; 6 STREAK bay tiếp 400 px/s. |
| 0.25 | Còn đoạn mũi #3680e0 1 px; sàn tan dither. |
| 0.4 | Rỗng. |
Xoay Sào Hộ H03_SK06_SPIN (sk06, 40 frame, hit_frames 4/11/19/26 = 4 …
Xoay Sào Hộ: Halka cắm sào và xoay quanh cán, mũi giáo quét bốn cung lam quanh người đúng dải r44–84, mỗi nhịp hất quái văng ra mép r88.
Chi tiết spec
- Kích hoạt
- Xoay Sào Hộ H03_SK06_SPIN (sk06, 40 frame, hit_frames 4/11/19/26 = 4 nhịp mỗi 15 tick, RING r64 dải 40, đẩy S/M ra r88); Edge H03_E21 (+6/10/16 px). t = 0 = sào cắm (trước nhịp 1 0.133 s).
- Canvas
- 192×128 gốc 96/80
- Pha (s)
- antic 0/0.133 · impact 0.133/0.167 · dissipate 0.167/1
- Easing
- curve outQuart, freeze_s 0.03
- Hạt
- kind DUST, count 16, speed 60, life_s 0.3, hex #1e3c6b, gravity 0, shadow không
- Hitbox
- shape ring r64 w40, match Dải sàn r44–r84 vẽ đúng ring r64 w40 (màn: dày 40 Đ/T, 20 B/N); cung quét mũi tại r64; DUST tới r88 = mép đẩy (vượt 4 px ≤ 10 ✓). II r72 → s1.0 ×1.13; E21 +16 → r88 → s1.3 ×1.06., wave reach
- Nguồn
- new src/fx/heroes/halka-sk06-pivot.js (swing tròn 4 nhịp; mượn melee/spin-slash + _reaver.js bladeArc)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-sk06-pivot), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'ring r64 w40' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Sào cắm tại chân: đĩa r6 #dcefff; Halka bắt đầu xoay quanh cán. |
| 0.133 | Nhịp 1: vệt quét tròn của mũi giáo r64 (elip 128×64) 90° dày 3 px #a8d7ff, mép trước #fff6f0; dải sàn r44–84 fill α 0.3 #295aa8 sáng theo cung quét; 4 DUST văng ra r88. |
| 0.367 | Nhịp 2 (frame 11): cung quét tiếp 90°, cung cũ nguội #3680e0; nửa xa vòng ở drawBack. |
| 0.633 | Nhịp 3 (frame 19). |
| 0.867 | Nhịp 4 (frame 26): khép đủ 360°, vòng sáng 1 frame #dcefff toàn vòng. |
| 1 | Tan; rỗng. |
Đại Hồng Chung: H03_UL1_IMPACT (startup 36 tick, r130, 8.0× Lực, +3 V…
Đại Hồng Chung: chuông đồng khổng lồ rơi thẳng xuống bóng lam, chớp trắng, sỏi bung, rồi ngân bốn hồi — mỗi hồi một vành lan r130, hồi bốn vỡ âm lần nữa.
Chi tiết spec
- Kích hoạt
- Đại Hồng Chung: H03_UL1_IMPACT (startup 36 tick, r130, 8.0× Lực, +3 Vang rồi Vỡ Âm, hitstop 0.1, trauma 0.8) + H03_UL1_TOLL (4 hồi tick 54/72/90/108); Edge H03_E35 (chuông ở lại 6 s, xung r130 mỗi 1.5 s), H03_E39 (bản r80). Kèm VFX_SHARED_screen_flash_ult. t = 0 = chuông chạm sàn.
- Canvas
- 288×232 gốc 144/196
- Pha (s)
- antic −0.2/0 · impact 0/0.1 · dissipate 0.1/1.8
- Easing
- curve outQuart, freeze_s 0.1
- Hạt
- kind GRIT, count 16, speed 160, life_s 0.5, hex #295aa8, gravity 950, shadow có/kind DUST, count 8, speed 40, life_s 0.5, hex #1e3c6b, gravity 0, shadow không/kind MOTE, count 12, speed 20, life_s 0.6, hex #a8d7ff, gravity −30, shadow không
- Hitbox
- shape circle r130, match Cú rơi: mép sóng thủ tục đúng r130 (= bóng UL1_shadow), lệch 0 px; thân chuông 64 px nằm trong; GRIT tới r136 (≤ 10 ✓). Hồi ngân: ring r130 w30 do SK01_ring vẽ. E39 bản r80 xuất --opts {radius:80, bell:[40,44]}., wave procedural
- Nguồn
- new src/fx/heroes/halka-ul1-great-bell.js (mượn heroes/bellwarden-toll.js chuông lắc + _lib.js slam; ramp hero, chuông = r7 + lõi theo art lock)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-ul1-great-bell), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r130' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.2 | Chuông đồng khổng lồ 64×72 px (vòm + miệng loe, 3 đai nổi) rơi từ h120 xuống h0 (inQuad), thân r3/r5, đai r7, lõi phản quang #fff6f0. |
| 0 | Chạm: frame trắng #ffffff toàn chuông 2 frame; đĩa sàn r40 #fff6f0; 16 GRIT + 8 DUST bung spawn3; khựng 0.1 s. |
| 0.1 | Sóng sàn đặc r40 → r130 (vành thủ tục FloorEllipse {shape:ring}), chuông rung ±2 px. |
| 0.3 | Hồi 1 (tick 54 tính từ cast): chuông lắc nghiêng ±4 px, chớp đai #dcefff, vành SK01_ring r40 → r130. |
| 0.6 | Hồi 2; 0.9 hồi 3; 1.2 hồi 4 (kích Vỡ Âm lần 2 — VFX_H03_toll_burst). |
| 1.4 | Chuông tan thành MOTE lam bốc lên, rỗng ở 1.8 s (khung 60 tính từ −0.2). E35: giữ frame 30–41 lặp 6 s, xung mỗi 1.5 s. |
Hồi Chuông Tiễn: H03_UL2_POKE (ul2, ghim mục tiêu chính trong 140 px …
Hồi Chuông Tiễn: ghim một mục tiêu bằng vòng ba chuông; chín cú chọc trắng liên hồi, cứ ba cú một chuông sáng và vỡ âm trên nó, cú cuối ba chuông cùng chớp để tiễn.
Chi tiết spec
- Kích hoạt
- Hồi Chuông Tiễn: H03_UL2_POKE (ul2, ghim mục tiêu chính trong 140 px 1.8 s, 9 cú chọc LINE 100 × 12 mỗi 6 tick, hit_frames 6/9/…/27) + H03_UL2_TOLL (Vỡ Âm sau cú 3/6/9, hit_frame 33 kết liễu); Edge H03_E23. t = 0 = cú chọc 1.
- Canvas
- 124×72 gốc 12/48
- Pha (s)
- antic −0.2/0 · impact 0/0.033 · dissipate 0.033/1.8
- Easing
- curve outExpo, freeze_s 0.03
- Hạt
- kind SPARK, count 36, speed 120, life_s 0.2, hex #a8d7ff, gravity 950, shadow không
- Hitbox
- shape line L100 W12, match Poke: dải sàn x0–x100 rộng 12 (màn e 100×6, n/s 50×12) mỗi cú, mũi tới x103 (≤ 6 ✓). Pin r24 chỉ là hình (mục tiêu đã chọn)., wave none
- Nguồn
- new src/fx/heroes/halka-ul2-toll-rite.js (2 phần pin/poke; poke mượn melee/thrust)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-ul2-toll-rite), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L100 W12' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.2 | Ghim: quanh chân mục tiêu hiện vòng ghim r24 1 px #6eb4ff + 3 hình chuông 6×6 tắt (#1e3c6b) xếp tam giác trên vòng (phần 'pin', neo floor mục tiêu). |
| 0 | Phần 'poke' (8 hướng, neo feet Halka): vệt chọc x0 → x100 h20 dày 2 px #fff6f0, mũi #ffffff; sàn 100 × 12 α 0.3; mỗi 0.1 s một cú, lệch d ±3 px luân phiên. |
| 0.3 | Sau cú 3: chuông pin 1 sáng #dcefff + Vỡ Âm tại mục tiêu (VFX_H03_toll_burst bậc s1.0). |
| 0.6 | Cú 6: chuông 2 sáng + Vỡ Âm; 0.9 cú 9: chuông 3 sáng. |
| 1.1 | Cú kết (frame 33): 3 chuông chớp trắng cùng lúc, vòng ghim nổ r24 → r40; kết liễu ≤ 15% HP. |
| 1.8 | Tan, rỗng. |
Lính Gác Cuối: H03_UL3_CAST (ul3 hit_frame 8, startup 10 tick, xung r…
Lính Gác Cuối: ba chuông ngân cùng lúc, vành lam lan r96; suốt 9 s Halka mang viền choàng lam sáng và hai dải sáng dựng hai bên thân như lính gác đứng canh.
Chi tiết spec
- Kích hoạt
- Lính Gác Cuối: H03_UL3_CAST (ul3 hit_frame 8, startup 10 tick, xung r96 +2 Vang, bất tử 30 tick) rồi dạng 9 s (H03_UL3_PULSE tháp theo người). t = 0 = xung kích; aura loop từ 0 tới hết 9 s.
- Canvas
- 208×112 gốc 104/72
- Pha (s)
- antic 0/0.083 · impact 0.083/0.083 · dissipate 0.833/1
- Easing
- curve inOutQuad, freeze_s 0.08
- Hạt
- kind MOTE, count 2, speed 20, life_s 0.8, hex #a8d7ff, gravity −20, shadow không
- Hitbox
- shape circle r96, match Phần cast: vành đúng elip r96 (192×96) tại 0.1 s, +2 Vang tức thì tick kích. Aura không hitbox; tháp theo người dùng VFX_H03_plant_tower + tower_pulse (r80)., wave none
- Nguồn
- new src/fx/heroes/halka-ul3-warden-aura.js (2 phần cast/aura; outline choàng mượn status/aura-outline nếu có, không thì mask thân từ act)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-ul3-warden-aura), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Phần 'cast' (one-shot 12 frame @30, overhead): 3 chuông giáo chớp #ffffff cùng lúc, đĩa r16 #fff6f0, vành lan r16 → r96 (elip 192×96) 2 px #a8d7ff trong 0.1 s, fill α 0.3. |
| 0.083 | Phần 'aura' (loop 12 frame @12, body_back, khung 48×64 trong canvas): cột sáng mảnh 2 bên thân h0 → h46 #3680e0 α 0.5, mép áo choàng viền 1 px #6eb4ff, 3 chuông giáo luôn sáng #dcefff. |
| 0.5 | Aura: 2 MOTE bốc từ vai; viền choàng nhịp sáng α 0.6 → 1.0. |
| 0.833 | Aura khép chu kỳ (khung cuối khớp khung đầu). |
| 1 | Lặp tới hết 9 s; ra: tan 0.15 s dither. |
Tiến hoá H03_EVO4 Giáo Chuông Thức Tỉnh: (1) 1 lần khi nhận tiến hoá …
Giáo Chuông Thức Tỉnh: mỗi lần trúng mũi, ba cung sóng ngân bay tiếp 60 px trước mũi giáo; lúc nhận tiến hoá cả cây giáo sáng dọc cán và ba chuông chớp.
Chi tiết spec
- Kích hoạt
- Tiến hoá H03_EVO4 Giáo Chuông Thức Tỉnh: (1) 1 lần khi nhận tiến hoá (t = 0 = nhận); (2) mỗi cú chọc combo TRÚNG MŨI: sóng ngân phóng tiếp 60 px từ mũi (0.8× Lực, +1 Vang) — t = 0 = frame trúng mũi.
- Canvas
- 96×48 gốc 8/34
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind MOTE, count 12, speed 30, life_s 0.5, hex #a8d7ff, gravity −10, shadow không
- Hitbox
- shape line L60 W22, match Sóng: dải sàn x0–x60 tính từ mũi, rộng 22 (= W16 + 6 EVO4); cung đầu dừng ở x62 (≤ 6 ✓), trúng theo reach của cung đầu., wave reach
- Nguồn
- new src/fx/heroes/halka-evo4-awaken.js (2 phần wave/awaken; mượn bladewake/crescent-wave cung sóng)
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-evo4-awaken), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L60 W22' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Phần 'wave' (8 hướng, neo mũi giáo): 3 cung sóng ')))' cao 16 px (elip dọc) xuất phát tại mũi, cung đầu #fff6f0 2 px. |
| 0.067 | Cung đầu tới x30, #a8d7ff; dải sàn x0–x60 rộng 22 shadeFloor α 0.3 #295aa8 sáng theo sóng. |
| 0.15 | Cung đầu tới x60 (hết tầm) rồi tan; cung 2/3 theo sau cách 8 px, #6eb4ff/#3680e0. |
| 0.333 | Rỗng. Phần 'awaken' (one-shot 1 lần, 30 frame, socket hand_main): giáo sáng dọc cán từ chuôi tới mũi #dcefff, 3 chuông chớp, 12 MOTE xoắn quanh cán. |
TEMPLATE · 25
Cú đáp: H03_COMBO_A_5 (attack5 hit_frame 10, CIRCLE r40, hitstop 0.07…
Cú đáp sau Nhảy Sào: chớp trắng dưới chân, vành lam bung đúng r40, sỏi và bụi bật hai bên.
Chi tiết spec
- Kích hoạt
- Cú đáp: H03_COMBO_A_5 (attack5 hit_frame 10, CIRCLE r40, hitstop 0.07, trauma 0.28), H03_HOLD_VAULT (đáp, trauma 0.12), H03_SK07_LAND (r40, mỗi lần), Edge H03_E09 (+70/122/175% sát thương), H03_E10 (+1/2 Vang). Cú đáp ngoài hồi 1.2 s kích Vỡ Âm r90 → phát thêm VFX_H03_toll_burst. t = 0 = chân chạm sàn.
- Canvas
- 96×60 gốc 48/36
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind GRIT, count 6, speed 120, life_s 0.35, hex #295aa8, gravity 950, shadow có/kind DUST, count 6, speed 30, life_s 0.3, hex #1e3c6b, gravity 0, shadow không
- Hitbox
- shape circle r40, match Vành vẽ đúng elip r40 (80×40) lúc 0.067 s, GRIT tới r44 (≤ 6 ✓), phủ 100%., wave reach
- Nguồn
- recolor impacts/heavy-landing --opts {radius:40, rocks:6}
- Review
- check_mjs pending (node tools/check.mjs impacts/heavy-landing), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: đĩa sàn r12 #fff6f0, chuôi giáo cắm cạnh chân chớp #ffffff. |
| 0.033 | Vành r12 → r28 dày 3 px #a8d7ff; 6 GRIT bật cao 12 px. |
| 0.067 | Vành chạm r40 (elip 80×40) #6eb4ff 2 px, fill α 0.35 #295aa8; bụi DUST 2 cụm hai bên. |
| 0.2 | Vành tan 1 px #3680e0; GRIT rơi nảy. |
| 0.4 | Rỗng. |
H03_DASH Lướt Vọt Sào (dash 9 tick active, 90 px, iframe 12 tick, 2 l…
Lướt chống sào: chuôi giáo cào một vệt lam mảnh 90 px trên sàn, bụi cuộn sau gót, ba chuông lấp lánh theo đà.
Chi tiết spec
- Kích hoạt
- H03_DASH Lướt Vọt Sào (dash 9 tick active, 90 px, iframe 12 tick, 2 lượt): t = 0 = frame đầu Lướt; Edge H03_E08 (dải Vang 24/42/60 px), H03_E12 (dừng 70–100 px: chớp hoàn lượt ở cuối vệt). Đi kèm VFX_SHARED_dash_afterimage.
- Canvas
- 120×36 gốc 14/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DUST, count 10, speed 30, life_s 0.3, hex #1e3c6b, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/dust-dash --opts {len:90, scrape:true}
- Review
- check_mjs pending (node tools/check.mjs bladewake/dust-dash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Chuôi giáo cào sàn tại x0: chớp #fff6f0 3×2 + 4 DUST bật ngược. |
| 0.1 | Vệt cào sàn 1 px #6eb4ff kéo dài x0 → x45; bụi DUST #295aa8 cuộn sau gót; 3 chuông rung: 3 chấm #dcefff nhấp nháy theo thân. |
| 0.15 | Vệt tới x90 (hết Lướt); bụi cuộn 2 cụm tại x30/x70. |
| 0.25 | Vệt sàn nguội #1e3c6b α 0.5; bụi tan lên 6 px. |
| 0.4 | Rỗng. |
Chọc combo: H03_COMBO_A_1 (attack1 hit_frame 3, startup 6 tick) và H0…
Vệt chọc thẳng của giáo chuông: lõi ngà mảnh, đoạn mũi 20 px cuối sáng hơn để người chơi đọc được 'trúng mũi'. Dạng Rèn: AS2 Giáo Chuông Đôi len 65 (range −15) hue −3; AS3 Giáo Móc Chuông len 100 (range +20) hue +3 — xuất qua node tools/hero.mjs halka attack1 attack2 --as h03_as2|h03_as3.
Chi tiết spec
- Kích hoạt
- Chọc combo: H03_COMBO_A_1 (attack1 hit_frame 3, startup 6 tick) và H03_COMBO_A_2 (attack2 hit_frame 3, startup 5 tick, mũi lệch d +6 px sang phải); t = 0 = frame chạm. EVO4 (H03_EVO4): cùng sheet bậc dài hơn (len +20, w +6). UL3 Lính Gác Cuối: tầm +30 px.
- Canvas
- 112×48 gốc 12/36
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind MOTE, count 3, speed 40, life_s 0.25, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape line L80 W16, match Dải sàn shadeFloor vẽ đúng x10–x90 rộng 16 (màn e 80×8, n/s 40×16, chéo 63×12); vệt sáng dừng ở x92 (vượt 2 px ≤ 6 ✓), phủ 100% chiều dài; gốc = chân sau bước 6 px. Đo trên --dirs 8., wave none
- Nguồn
- recolor melee/thrust --opts {len:80, w:16, h:20, tipSeg:[70,90]} (mượn heroes/_reaver.js keepIn; giáo vẽ ở _halka.js)
- Review
- check_mjs pending (node tools/check.mjs melee/thrust), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L80 W16' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame chạm (1 frame): vệt chọc thẳng từ x10 tới x62 ở cao h 20 (ngang ngực), lõi #fff6f0 dày 3 px, đầu nhọn #ffffff 2 px; sàn: dải shadeFloor 80 × 16 (màn hướng e 80 × 8) α 0.35 #1e3c6b. |
| 0.033 | Vệt chạm đủ x90: thân #a8d7ff, viền #3680e0 1 px; đoạn mũi x70–90 sáng r7 #dcefff dày 4 px (dấu đoạn mũi ×1.5, +2 Vang). |
| 0.1 | Vệt rút từ đuôi về mũi (đuôi ở x40), màu nguội #6eb4ff; 3 MOTE bung ngang tại x88. |
| 0.2 | Còn đoạn x70–90 #295aa8 1 px + 3 MOTE lơ lửng; dải sàn α 0.12. |
| 0.3 | Rỗng. |
Trúng đòn chọc (t = 0 = frame trúng mục tiêu): H03_COMBO_A_1/2/3, H03…
Tia trúng của mũi giáo: chớp trắng 1 frame, 6 tia xoè theo hướng chọc và một vòng ngân nhỏ như tiếng chuông chạm. Trúng đoạn mũi phát bậc s1.3 (10 tia, viền #dcefff).
Chi tiết spec
- Kích hoạt
- Trúng đòn chọc (t = 0 = frame trúng mục tiêu): H03_COMBO_A_1/2/3, H03_DASH_ATTACK, H03_UL2_POKE (9 cú), Edge H03_E02 (chí mạng mũi), H03_E12, H03_E19 (Đâm Chuông đoạn mũi ≥ 84 px), cộng hưởng H03_RS1. Trúng ĐOẠN MŨI → bậc s1.3 + viền r7.
- Canvas
- 32×32 gốc 10/18
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SPARK, count 6, speed 120, life_s 0.25, hex #a8d7ff, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor impacts/hit-spark --opts {sparks:6, ring:5}
- Review
- check_mjs pending (node tools/check.mjs impacts/hit-spark), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng #ffffff 1 frame: chấm chạm 4×4 + 6 tia ngắn 3–5 px xoè ±40° theo hướng chọc. |
| 0.033 | Lõi #fff6f0 3×3, tia dài 6–8 px #a8d7ff, 1 vòng ngân nhỏ r5 (elip 10×5) #6eb4ff 1 px quanh điểm chạm. |
| 0.1 | Vòng ngân r8 tan còn 1 px #3680e0; 4 SPARK bay tiếp 120 px/s, rơi. |
| 0.2 | SPARK chạm sàn nảy 1 lần, #295aa8. |
| 0.3 | Rỗng. |
H03_COMBO_A_3 Chọc Xoắn (attack3 hit_frame 4, startup 8 tick, active …
Chọc xoắn sâu 96 px: trục ngà thẳng, hai sợi lam xoắn quanh như cán giáo vặn, ba chuông ở cổ mũi ngân một hồi.
Chi tiết spec
- Kích hoạt
- H03_COMBO_A_3 Chọc Xoắn (attack3 hit_frame 4, startup 8 tick, active 5 tick, trauma 0.22); t = 0 = frame chạm.
- Canvas
- 124×52 gốc 12/38
- Pha (s)
- antic −0.067/0 · impact 0/0.05 · dissipate 0.05/0.4
- Easing
- curve outQuart, freeze_s 0.045
- Hạt
- kind MOTE, count 6, speed 60, life_s 0.3, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape line L86 W18, match Dải sàn x10–x96 rộng 18 (màn e 86×9, n/s 43×18); biên độ xoắn ±4 px nằm trong W18; mũi sáng tới x98 (vượt 2 px ≤ 6 ✓); phủ 100%. Đo trên --dirs 8., wave none
- Nguồn
- recolor melee/spear-sweep --opts {mode:'twist', len:86, w:18, helix:2}; helix mới viết trong src/fx/heroes/halka-a3-twist.js nếu knob mode chưa có
- Review
- check_mjs pending (node tools/check.mjs melee/spear-sweep), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L86 W18' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.067 | Antic 2 frame: 3 chuông ở cổ mũi (x≈22 h20) loé #dcefff 1 px từng chuông, 2 sợi xoắn mờ α 0.4 quấn quanh cán. |
| 0 | Frame chạm: vệt xoắn 2 sợi xoắn ốc (biên độ ±4 px, bước 12 px) quấn quanh trục chọc x10 → x96, lõi trục #fff6f0 3 px, mũi #ffffff; sàn shadeFloor 86 × 18 α 0.38 #1e3c6b. |
| 0.05 | Sợi xoắn #a8d7ff/#6eb4ff xoay pha +90°; đoạn mũi x76–96 #dcefff 4 px; 3 vòng ngân r4 phát từ 3 chuông. |
| 0.15 | Sợi xoắn rút về mũi, đuôi tại x50; 6 MOTE xoáy theo đường xoắn ra trước. |
| 0.3 | Còn mũi #295aa8 + MOTE tan; dải sàn α 0.1 dither. |
| 0.4 | Rỗng. |
Cắm Sào: H03_COMBO_A_4 (attack4 hit_frame 6, startup 11 tick, active …
Cú cắm chuôi giáo xuống sàn: chớp trắng tại chuôi, sóng sàn lam lan đúng r56 trước mặt, sỏi bật và vết nứt 4 nhánh còn 1.5 s.
Chi tiết spec
- Kích hoạt
- Cắm Sào: H03_COMBO_A_4 (attack4 hit_frame 6, startup 11 tick, active 5, hitstop 0.07, trauma 0.28), H03_AS3_A4_HOOK (off_fwd 48, startup 13); Edge H03_E03 (bán kính +25/44/62%), H03_E06 (Cắm Sào kế ×1.25). t = 0 = chuôi chạm sàn.
- Canvas
- 128×88 gốc 24/52
- Pha (s)
- antic −0.067/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0.07
- Hạt
- kind GRIT, count 8, speed 140, life_s 0.4, hex #295aa8, gravity 950, shadow có/kind MOTE, count 4, speed 30, life_s 0.2, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape circle r56, match Vành ngoài vẽ đúng elip r56 (112×56) tâm off_fwd 40 tại frame 0.067 s; GRIT bay tới r60 (vượt 4 px ≤ 6 ✓); fill phủ 100%. Bậc E03: r70/81/91 qua s1.3/1.3/1.7. Đo trên --dirs 8., wave reach
- Nguồn
- recolor impacts/ground-slam --opts {radius:56, off:40, cracks:4}
- Review
- check_mjs pending (node tools/check.mjs impacts/ground-slam), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r56' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.067 | Chuôi bịt đồng hình chuông úp hạ xuống tại x40: chấm sáng #dcefff 2 px trên sàn, 4 MOTE hút vào. |
| 0 | Frame trắng: đĩa sàn r20 #fff6f0 tâm x40 (elip 40×20), vành #ffffff 2 px; cột sáng mảnh 4 × 24 px dựng tại chuôi. |
| 0.033 | Vành sóng lan r20 → r40, dày 3 px #a8d7ff, fill α 0.4 #295aa8; 8 GRIT bật cao 16 px (spawn3). |
| 0.067 | Vành tới r56 (elip 112×56 tâm x40) #6eb4ff 2 px; fill α 0.3; nứt sàn 4 nhánh #102347 dài 10–18 px. |
| 0.25 | Vành tan dither; GRIT rơi nảy; nứt chuyển decal sống 1.5 s. |
| 0.5 | Rỗng (decal nứt còn ở floor_decal). |
Mỗi xung tháp: H03_HEAVY_1 (tick 0/90/180/270, 1.5 s), H03_SK04_TOWER…
Xung tháp: chuông trên đỉnh cột loé trắng, một vành ngân lam lan tới đúng bán kính tháp trong 0.1 s rồi mỏng dần; mỗi xung cấy +1 Vang.
Chi tiết spec
- Kích hoạt
- Mỗi xung tháp: H03_HEAVY_1 (tick 0/90/180/270, 1.5 s), H03_SK04_TOWER (1.0 s), H03_UL3_PULSE (1.0 s), Edge H03_E04 (xung gây 1.2/1.9× Lực), H03_E14 (Nhảy Sào gọi tháp r220 xung ngay), H03_E27, H03_E35 (Đại Hồng Chung đứng lại xung r130), H03_EVO3 (r120). t = 0 = tick xung.
- Canvas
- 176×96 gốc 88/52
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind MOTE, count 6, speed 30, life_s 0.25, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape circle r80, match Vành sheet chạm elip r80 (160×80) tại 0.1 s; +Vang/sát thương áp tức thì tick 0 cho cả r80 (vành lan chỉ là hình). r96 → s1.3 ×0.92; r120 (EVO3) → s1.7 ×0.88; r60 (E27) → s1.0 ×0.87 = r70 (vượt 10 px ≤ 10 L ✓, viền thủ tục plant_tower vẫn đúng r60); r130 (E35) → s1.7 ×0.96., wave none
- Nguồn
- recolor lightning/thunderclap --opts {radius:80, bolt:false, ring:true}
- Review
- check_mjs pending (node tools/check.mjs lightning/thunderclap), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r80' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: đỉnh cột loé #ffffff 6×6 (chuông gõ), đĩa sàn r12 #fff6f0 tại chân. |
| 0.033 | Vành lan r12 → r50 dày 3 px #a8d7ff, fill α 0.3 #295aa8 sau vành. |
| 0.1 | Vành chạm r80 (elip 160×80) #6eb4ff 2 px; 6 MOTE bật lên từ vành. |
| 0.2 | Vành giữ r80 mỏng 1 px #3680e0, α 0.5; fill tan. |
| 0.333 | Rỗng. |
H03_DASH_ATTACK Chọc Lướt (dash_attack hit_frame 2, startup 4 tick, a…
Chọc theo đà Lướt: một vệt lam ngà dài 100 px xuyên cả hàng quái, sóng gió chữ V sau mũi và vệt sàn đúng dải trúng 100 × 24.
Chi tiết spec
- Kích hoạt
- H03_DASH_ATTACK Chọc Lướt (dash_attack hit_frame 2, startup 4 tick, active 4, step 10, trauma 0.22): t = 0 = frame chạm; tính là bước 1 combo.
- Canvas
- 128×52 gốc 14/38
- Pha (s)
- antic −0.067/0 · impact 0/0.05 · dissipate 0.05/0.4
- Easing
- curve outExpo, freeze_s 0.045
- Hạt
- kind STREAK, count 5, speed 300, life_s 0.15, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape line L100 W24, match Dải sàn x0–x100 rộng 24 (màn e 100×12, n/s 50×24, chéo 79×18); STREAK vượt tới x104 (≤ 6 ✓); phủ 100%. Đo trên --dirs 8., wave none
- Nguồn
- recolor moves/dash-strike --opts {len:100, w:24, h:18}
- Review
- check_mjs pending (node tools/check.mjs moves/dash-strike), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'line L100 W24' (elip 1 px) trên --dirs 8 hướng + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.067 | Đà Lướt: 3 vệt tốc ngang 1 px #3680e0 sau lưng, mũi giáo chớm sáng #a8d7ff. |
| 0 | Frame trắng: vệt chọc dài x0 → x100 h18, lõi #fff6f0 4 px, đầu #ffffff; sàn shadeFloor 100 × 24 α 0.4 #1e3c6b. |
| 0.05 | Thân vệt #a8d7ff, đoạn mũi x80–100 #dcefff 5 px; sóng gió chữ V 2 nhánh từ thân xoè ±10° sau mũi. |
| 0.15 | Vệt rút về mũi (đuôi x60), 5 STREAK bay tiếp 300 px/s qua x100. |
| 0.3 | Còn mũi #295aa8 1 px; dải sàn tan dither. |
| 0.4 | Rỗng. |
Gõ Chuông trúng ĐẠN (H03_ANSWER, nhánh proj_result): đạn vỡ tan thành…
Đạn bị Gõ Chuông đánh tan: chớp trắng nhỏ rồi vỡ thành năm mảnh chuông lam văng ngược lại.
Chi tiết spec
- Kích hoạt
- Gõ Chuông trúng ĐẠN (H03_ANSWER, nhánh proj_result): đạn vỡ tan thành mảnh chuông lam tại điểm đạn; t = 0 = frame ĐÁP trúng đạn. Xung r48 phát riêng qua VFX_H03_answer_bell.
- Canvas
- 32×32 gốc 12/18
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SHARD, count 5, speed 110, life_s 0.3, hex #a8d7ff, gravity 950, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- recolor impacts/parry --opts {shards:5, cone:50}
- Review
- check_mjs pending (node tools/check.mjs impacts/parry), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: đạn thành chớp tròn 6×6 #ffffff, viền #dcefff. |
| 0.033 | Đạn vỡ: 5 mảnh SHARD hình cung chuông 3×2 #a8d7ff văng ngược hướng bay đạn ±50°. |
| 0.133 | Mảnh nguội #3680e0, rơi xuống sàn có bóng 1 px. |
| 0.3 | Rỗng. |
Gióng Ba Hồi H03_SK02_CAST (sk02 hit_frame 0, startup 12 tick, xung r…
Gióng Ba Hồi: ba tiếng gõ liền trên giáo, xung lam lan tới r160 rồi để lại vòng ngưỡng có 12 khấc chuông quay chậm trong 3 s — kẻ nào trong vòng đạt 2 Vang tự vỡ.
Chi tiết spec
- Kích hoạt
- Gióng Ba Hồi H03_SK02_CAST (sk02 hit_frame 0, startup 12 tick, xung r160 +1 Vang; 3 s hiệu lực: kẻ ≥ 2 Vang trong r160 tự Vỡ Âm); Edge H03_E30 (mỗi hồi kích Vỡ Âm, hồi 3 ×1.25). t = 0 = hồi 1.
- Canvas
- 336×176 gốc 168/88
- Pha (s)
- antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.6
- Easing
- curve outExpo, freeze_s 0.04
- Hạt
- kind MOTE, count 12, speed 20, life_s 0.5, hex #a8d7ff, gravity −20, shadow không
- Hitbox
- shape circle r160, match Vành xung và vòng ngưỡng thủ tục vẽ đúng r thật (160/180), lệch 0 px; khấc chuông nằm TRONG vành 2 px., wave procedural
- Nguồn
- recolor arcane/magic-circle-cast --opts {glyph:'bell', notches:12} cho khấc + shader FloorEllipse {shape:ring} cho vành
- Review
- check_mjs pending (node tools/check.mjs arcane/magic-circle-cast), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r160' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.2 | 3 hồi gõ cách 0.067 s: mỗi hồi 1 chớp #ffffff 6×6 trên 3 chuông giáo (socket hand_main). |
| 0 | Xung: vành thủ tục r16 → r160 trong 0.1 s, mép 2 px #a8d7ff, fill α 0.3 #295aa8. |
| 0.1 | Vòng ngưỡng r160 ở lại: mép liền 1 px #6eb4ff + 12 khấc hình chuông 4×3 px #a8d7ff đều quanh vành, xoay chậm 30°/s. |
| 0.6 | Sheet kết thúc; vòng ngưỡng (shader) giữ suốt buff_s 3 s (II/III 3.5 s), α 0.5, tắt dither 0.2 s. |
Chuông Nín H03_SK03_HUSH (sk03 hit_frame 7, startup 14 tick, xung câm…
Chuông Nín: một đĩa sáng nhạt loé đúng r100 rồi các vành co ngược về tâm, bàn tay úp lên chuông hiện ở giữa — tiếng chuông bị nén câm, quái thường mất windup.
Chi tiết spec
- Kích hoạt
- Chuông Nín H03_SK03_HUSH (sk03 hit_frame 7, startup 14 tick, xung câm r100 tại điểm ≤ 160 px); Edge H03_E26 (+16/28/40 px), H03_E17 (Vỡ Âm r60/96 quanh tâm). t = 0 = xung.
- Canvas
- 216×120 gốc 108/66
- Pha (s)
- antic −0.1/0 · impact 0/0.033 · dissipate 0.033/0.5
- Easing
- curve inOutQuad, freeze_s 0.05
- Hạt
- kind MOTE, count 6, speed 60, life_s 0.15, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape circle r100, match Mép frame 0 đúng elip r100 (200×100) — hiệu lực tức thì; vành co vào trong hitbox (không vượt). E26/II: r120 → s1.3 ×0.92; r140 → s1.3 ×1.08; r160 → s1.7 ×0.94 (khung 367×204 → hạng XL ở s1.7)., wave none
- Nguồn
- recolor arcane/mana-burst --opts {radius:100, implode:true, glyph:'hand_bell'}
- Review
- check_mjs pending (node tools/check.mjs arcane/mana-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r100' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.1 | Tại điểm đặt: 6 MOTE hút vào tâm từ r60, chấm tâm #a8d7ff. |
| 0 | Frame trắng: đĩa r100 (elip 200×100) fill α 0.25 #dcefff 1 frame, mép 2 px #ffffff. |
| 0.033 | Vành CO NGƯỢC r100 → r0 trong 0.3 s (nghĩa 'nín'), dày 2 px #a8d7ff; fill α 0.3 #1e3c6b đứng yên r100. |
| 0.15 | Glyph bàn tay úp lên chuông 12×12 #fff6f0 tại tâm h12; 2 vành con co theo, cách 10 px. |
| 0.33 | Vành tụ về tâm thành chấm, glyph tan; fill tan dither. |
| 0.5 | Rỗng. |
Tháp Canh Chuông — Phóng H03_SK04_THROW (sk04 hit_frame 6, startup 12…
Phóng giáo phụ: cây giáo treo một chuông bay vòng cầu rồi cắm thẳng xuống sàn, vành lam nhỏ r24 bung, giáo đứng lại làm tháp canh.
Chi tiết spec
- Kích hoạt
- Tháp Canh Chuông — Phóng H03_SK04_THROW (sk04 hit_frame 6, startup 12 tick, active 6 tick, cắm r24 tại điểm ≤ 140 px); sau cú cắm sinh tháp (VFX_H03_plant_tower + VFX_H03_tower_pulse). t = 0 = giáo phụ chạm sàn; nhả tay ở t = −0.1.
- Canvas
- 64×80 gốc 32/64
- Pha (s)
- antic −0.1/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.03
- Hạt
- kind GRIT, count 6, speed 100, life_s 0.3, hex #295aa8, gravity 950, shadow có
- Hitbox
- shape circle r24, match Vành đúng elip r24 (48×24) tâm điểm cắm; GRIT tới r28 (≤ 6 ✓); điểm cắm = điểm ngắm (≤ 140 px, kẹp)., wave reach
- Nguồn
- recolor arcane/sword-fall --opts {blade:'bell_spear', radius:24, lob:true} (giáo phụ vẽ lại theo _halka.js)
- Review
- check_mjs pending (node tools/check.mjs arcane/sword-fall), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r24' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.1 | Phần 'flight' (8 hướng, 16×8, 3 frame): giáo phụ treo 1 chuông bay vòng cầu h(t) = 4·H·u·(1−u), H = 0.35 × cự ly (kẹp 24–49 px); bóng sàn riêng co theo h; vệt 1 px #6eb4ff sau đuôi. |
| 0 | Frame trắng: giáo cắm thẳng đứng tại tâm, chớp đĩa r8 #ffffff; chuông trên giáo loé #dcefff. |
| 0.033 | Vành r8 → r24 (elip 48×24) #a8d7ff 2 px; 6 GRIT bật cao 10 px. |
| 0.067 | Vành chạm r24, fill α 0.35 #295aa8; giáo đứng (cột sheet tháp bắt đầu vào). |
| 0.25 | Vành tan; GRIT rơi. |
| 0.4 | Rỗng; còn giáo + tháp (plant_tower). |
Mũi Kim Chuông — nạp (H03_SK05_NEEDLE giữ, charge_s 0.4): t = 0 = bắt…
Nạp Mũi Kim: hạt lam hút vào mũi giáo, ba chuông sáng lần lượt; đủ 0.4 s thì mũi loé một vòng tròn trắng nhỏ — nhả là đâm.
Chi tiết spec
- Kích hoạt
- Mũi Kim Chuông — nạp (H03_SK05_NEEDLE giữ, charge_s 0.4): t = 0 = bắt đầu giữ; Edge H03_E28 (nạp nhanh 25/40% → phát nhanh ×1.33/×1.67). Nhả trước 0.4 s: tắt ngay.
- Canvas
- 32×32 gốc 16/16
- Pha (s)
- antic 0/0.4 · impact 0.4/0.4 · dissipate 0.4/0.4
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind MOTE, count 8, speed 40, life_s 0.2, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor lightning/charge-up --opts {bolts:0, motes:8, ring:5}
- Review
- check_mjs pending (node tools/check.mjs lightning/charge-up), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Mũi giáo: 8 MOTE #a8d7ff hút vào mũi từ r14, chấm mũi #3680e0 2 px. |
| 0.2 | Chấm mũi 3 px #6eb4ff; vành hút r10 → r4 #a8d7ff 1 px lặp 2 lần. |
| 0.367 | Chấm mũi 4 px #dcefff, 3 chuông nhỏ trên cán sáng lần lượt. |
| 0.4 | Đủ nạp (frame cuối, runtime giữ tới khi nhả): vòng ngân tròn r5 #fff6f0 1 frame + chấm #ffffff — báo nạp đủ (vòng tròn, KHÔNG glint 4 cánh để khác tell Y). |
Truyền Vang H03_SK08_CAST (sk08 hit_frame 0, startup 10 tick, xung r9…
Truyền Vang: chuông giáo chớp, vành lam lan r96 cấy Vang; trong 6 s, kẻ mang Vang ngã xuống thì tiếng vang bay thành dải sóng sang hai kẻ gần nhất.
Chi tiết spec
- Kích hoạt
- Truyền Vang H03_SK08_CAST (sk08 hit_frame 0, startup 10 tick, xung r96 +1 Vang; 6 s: kẻ mang Vang chết → Vang chuyển sang 2 kẻ gần trong r80); Edge H03_E29 (+1 kẻ, +2.0/3.2 s), H03_E33 (Vỡ Âm chuyển 1 Vang r60/96). t = 0 = xung; phần 'arc' t = 0 = kẻ mang Vang chết.
- Canvas
- 208×112 gốc 104/60
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.03
- Hạt
- kind MOTE, count 8, speed 30, life_s 0.3, hex #a8d7ff, gravity −20, shadow không
- Hitbox
- shape circle r96, match Vành xung đúng elip r96 (192×96) lúc 0.067 s, +1 Vang áp tick 0. II/III r112 → s1.3 ×0.90. Arc: điểm cuối = chân kẻ nhận (≤ r80/96), không hitbox., wave none
- Nguồn
- recolor lightning/chain-lightning --opts {bolt:'wave_arc', radius:96, hops:2}
- Review
- check_mjs pending (node tools/check.mjs lightning/chain-lightning), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: 3 chuông giáo chớp #ffffff; đĩa sàn r12 #fff6f0 dưới chân. |
| 0.033 | Vành r12 → r60 dày 2 px #a8d7ff, fill α 0.3 #295aa8. |
| 0.067 | Vành chạm r96 (elip 192×96) #6eb4ff 2 px; 8 MOTE lên. |
| 0.2 | Vành 1 px #3680e0; vòng buff quanh Halka (body_back, loop 8 frame @12, r14 1 px #6eb4ff α 0.5) chạy suốt buff_s. |
| 0.4 | Sheet xung hết. Phần 'arc' (S 24×12, runtime dời 4 tick, không giãn): từ xác kẻ chết bay 2 dải sóng ')))' tới 2 kẻ gần r80, chạm thì pip Vang của kẻ nhận sáng (VFX_H03_vang_mark). |
Đại Hồng Chung — bóng: H03_UL1_IMPACT (ul1, shadow_s 0.6 trước cú rơi…
Bóng Đại Hồng Chung: một bóng chuông lam đặc loang trên sàn trong 0.6 s, lớn đúng r130 nơi chuông sẽ rơi — người chơi đọc được vùng trúng, quái không bị cảnh báo. LOD never: là vùng sắp gây sát thương của ult.
Chi tiết spec
- Kích hoạt
- Đại Hồng Chung — bóng: H03_UL1_IMPACT (ul1, shadow_s 0.6 trước cú rơi tại điểm ≤ 160 px); Edge H03_E39 (bóng r80 khi Dư Âm đầy). t = −0.6 → 0 (0 = chuông chạm sàn).
- Canvas
- 280×144 gốc 140/72
- Pha (s)
- antic −0.6/0 · impact 0/0.033 · dissipate 0.033/0.033
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind MOTE, count 6, speed 80, life_s 0.4, hex #6eb4ff, gravity 300, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- shader FloorEllipse {shape:disc} (runtime) + recolor arcane/rune-circle --opts {glyph:'bell_mouth'} cho vành trong
- Review
- check_mjs pending (node tools/check.mjs heroes/halka-ul1-shadow), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.6 | Bóng chuông ĐẶC màu slot hiện r20: elip fill α 0.45 #102347 + viền liền 1 px #3680e0 (không viền 2 px, không fill 25%: không phải tell địch). |
| −0.3 | Bóng lớn tới r90; giữa bóng hiện hình miệng chuông (vành trong r60 1 px #295aa8); 6 MOTE rơi xuống từ trên. |
| −0.067 | Bóng đủ r130 (elip 260×130), fill α 0.55 #1e3c6b, viền #6eb4ff. |
| 0 | Chạm: bóng tắt ngay (VFX_H03_UL1_great_bell tiếp quản). |
| 0.033 | Rỗng. |
Dạng Rèn H03_AS2 Giáo Chuông Đôi: H03_AS2_A4_TWIN thay A4 (as2_fin hi…
Xoay Song Chuông: giáo ngắn hai đầu chuông xoay một vòng quanh Halka, hai vệt lam đối xứng khép thành vòng r60, không để lại tháp. Hue −3 theo Dạng Rèn.
Chi tiết spec
- Kích hoạt
- Dạng Rèn H03_AS2 Giáo Chuông Đôi: H03_AS2_A4_TWIN thay A4 (as2_fin hit_frame 5, startup 9 tick, active 5, CIRCLE r60 quanh Halka, hitstop 0.07, trauma 0.28; không dựng tháp). t = 0 = frame quét đầu.
- Canvas
- 136×88 gốc 68/56
- Pha (s)
- antic −0.067/0 · impact 0/0.167 · dissipate 0.167/0.6
- Easing
- curve outQuart, freeze_s 0.07
- Hạt
- kind SPARK, count 8, speed 140, life_s 0.25, hex #a8d7ff, gravity 950, shadow không
- Hitbox
- shape circle r60, match 2 vệt quét khép vòng đúng elip r60 (120×60) trong active 5 tick (0.083 s); SPARK tới r64 (≤ 6 ✓); fill phủ 100% đĩa., wave reach
- Nguồn
- recolor melee/spin-slash --opts {radius:60, blades:2, span:180}
- Review
- check_mjs pending (node tools/check.mjs melee/spin-slash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r60' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.067 | Giáo ngắn kéo ra sau, 2 chuông ở 2 đầu cán sáng #dcefff. |
| 0 | Frame trắng: 2 vệt cung đối xứng (2 chuông) bắt đầu quét tại 0°/180°, mép #ffffff, thân #a8d7ff dày 3 px, bán kính 60 (elip 120×60). |
| 0.083 | Mỗi vệt quét 180° → đủ 360° vòng tròn; nửa xa vòng ở drawBack; fill sàn r60 α 0.3 #295aa8 theo vệt. |
| 0.167 | Vòng khép: chớp #dcefff toàn vòng 1 frame; 8 SPARK văng tiếp tuyến. |
| 0.4 | Vòng nguội #3680e0 1 px, tan dither. |
| 0.6 | Rỗng. |
Dấu Gác: trong dạng H03_UL3 (on_kill brand_n 2, brand_r 96, +2 Vang),…
Dấu Gác: khi kẻ địch gục trong dạng Lính Gác Cuối, một tia ngắn nối sang hai kẻ gần nhất và in dấu mũi giáo trắng lên ngực chúng — mỗi dấu cấy 2 Vang.
Chi tiết spec
- Kích hoạt
- Dấu Gác: trong dạng H03_UL3 (on_kill brand_n 2, brand_r 96, +2 Vang), kẻ chết đóng dấu 2 kẻ gần nhất trong r96; Edge H03_E36 (lan ≤ 2 tầng, cấy đủ 3 Vang). t = 0 = dấu chạm kẻ nhận.
- Canvas
- 32×32 gốc 16/26
- Pha (s)
- antic −0.067/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SPARK, count 4, speed 60, life_s 0.2, hex #a8d7ff, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor lightning/zap-hit --opts {glyph:'spear_head', sparks:4}
- Review
- check_mjs pending (node tools/check.mjs lightning/zap-hit), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.067 | Tia dấu: đường gấp khúc 3 đoạn 1 px #a8d7ff (zap ngắn) từ xác tới ngực kẻ nhận, 2 frame (runtime nối 2 điểm, đoạn ≤ 96 px vẽ bằng glowLine thủ tục). |
| 0 | Frame trắng: dấu mũi giáo 8×10 (lá hẹp chĩa xuống) #ffffff trên ngực kẻ nhận. |
| 0.033 | Dấu #dcefff viền #3680e0 1 px; 4 SPARK nhỏ quanh dấu. |
| 0.15 | Dấu chìm vào thân, còn chấm #6eb4ff. |
| 0.3 | Rỗng (pip Vang của kẻ nhận do VFX_H03_vang_mark). |
Trúng đòn chung của Halka lên địch không phải đoạn mũi (thân giáo, vù…
Chớp trúng chung của Halka: một đốm trắng tròn với bốn tia chéo ngắn, viền lam, tan trong 0.23 s.
Chi tiết spec
- Kích hoạt
- Trúng đòn chung của Halka lên địch không phải đoạn mũi (thân giáo, vùng, xung có sát thương: A4, A5, Đâm Chuông, Vỡ Âm M/L/XL, kỹ năng, ult); t = 0 = frame trúng. Đòn chọc trúng mũi dùng VFX_H03_tip_spark.
- Canvas
- 32×32 gốc 16/20
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.233
- Easing
- curve outExpo, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- recolor impacts/hit-flash --opts {rays:4, diag:true}
- Review
- check_mjs pending (node tools/check.mjs impacts/hit-flash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng #ffffff 1 frame: đốm tròn 6×6 + 4 tia chéo 3 px (chéo 45°, không 4 cánh thẳng như glint Y). |
| 0.033 | Đốm #fff6f0 4×4, viền #6eb4ff 1 px; tia #a8d7ff. |
| 0.1 | Còn vành r6 (elip 12×6) #3680e0 1 px. |
| 0.233 | Rỗng. |
Then Chốt H03_E37 Tiếng Vọng Hai Hồi: Vỡ Âm từ Gõ Chuông vọng lại sau…
Tiếng Vọng Hai Hồi: 0.8 s sau Vỡ Âm, vành mờ co lại về điểm cũ rồi bật ra lần nữa đúng r90 kèm sương ngân lấp lánh.
Chi tiết spec
- Kích hoạt
- Then Chốt H03_E37 Tiếng Vọng Hai Hồi: Vỡ Âm từ Gõ Chuông vọng lại sau 0.8 s tại cùng điểm kích, kẻ ≥ 2 Vang trong r90 Vỡ Âm ×1.3. t = 0 = hồi vọng nổ (= 0.8 s sau Vỡ Âm gốc).
- Canvas
- 200×120 gốc 100/68
- Pha (s)
- antic −0.4/0 · impact 0/0.067 · dissipate 0.067/0.3
- Easing
- curve outExpo, freeze_s 0.04
- Hạt
- kind FLAKE, count 12, speed 60, life_s 0.35, hex #a8d7ff, gravity 300, shadow không
- Hitbox
- shape circle r90, match Vành bật đúng elip r90 (180×90) tại 0.067 s; chọn mục tiêu tức thì tick 0; FLAKE tới r94 (≤ 10 ✓)., wave none
- Nguồn
- recolor ice/frost-nova --opts {radius:90, implode_pre:0.4, crystals:12}
- Review
- check_mjs pending (node tools/check.mjs ice/frost-nova), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r90' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.4 | Vọng tụ: vành mờ r90 1 px #295aa8 α 0.4 hiện tại điểm kích gốc rồi CO dần vào r40 (tiếng vọng quay về). |
| 0 | Frame trắng: vành bật ra r40 → r90 trong 0.067 s, dày 3 px #dcefff, kèm 12 tinh thể FLAKE 2×3 (sương ngân) bung spawn3. |
| 0.067 | Vành r90 (elip 180×90) #6eb4ff 2 px, fill α 0.3 #1e3c6b; FLAKE bay chậm. |
| 0.2 | Vành 1 px #3680e0; FLAKE rơi lấp lánh. |
| 0.3 | Rỗng. |
Then Chốt H03_E38 Sào Cắm Trời: cú đáp Nhảy Sào cắm Tháp Vang (≤ 2 th…
Sào Cắm Trời: cú đáp phóng một tia sáng thẳng lên trời rồi hạ xuống thành Tháp Vang, ba tia ngắn nhảy vào mũi giáo báo cú chọc kế mạnh hơn.
Chi tiết spec
- Kích hoạt
- Then Chốt H03_E38 Sào Cắm Trời: cú đáp Nhảy Sào cắm Tháp Vang (≤ 2 tháp) và combo kế mở từ A3, mũi ×1.25. t = 0 = chân chạm sàn (cùng VFX_H03_vault_land).
- Canvas
- 64×112 gốc 32/100
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SPARK, count 6, speed 80, life_s 0.2, hex #a8d7ff, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor lightning/spark-arc --opts {beam_h:80, arcs:3}
- Review
- check_mjs pending (node tools/check.mjs lightning/spark-arc), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: tia sáng dựng thẳng từ điểm cắm cao 80 px, rộng 6 px #ffffff, chân đĩa r10 #fff6f0. |
| 0.067 | Tia co còn 3 px #a8d7ff; 3 cung điện ngắn (spark-arc) 8–12 px #6eb4ff nhảy từ đỉnh tia sang mũi giáo Halka (dấu combo kế mạnh). |
| 0.2 | Tia hạ xuống thành cột tháp (VFX_H03_plant_tower vào); cung điện tắt. |
| 0.5 | Rỗng. |
Then Chốt H03_E39 Phản Gọi Đại Chung: Phản trúng +8 Dư Âm; khi Dư Âm …
Phản Gọi Đại Chung: Dư Âm đầy sau một cú Phản, chiếc chuông nhỏ rơi xuống r80 với khung va chạm trắng cục bộ, cấy đủ ba Vang cho cả vùng.
Chi tiết spec
- Kích hoạt
- Then Chốt H03_E39 Phản Gọi Đại Chung: Phản trúng +8 Dư Âm; khi Dư Âm đầy, chuông rơi r80 (5.0× Lực, cấy 3 Vang, hồi 4 s) — bóng qua VFX_H03_UL1_shadow r80. t = 0 = chuông nhỏ chạm sàn.
- Canvas
- 176×112 gốc 88/72
- Pha (s)
- antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.05
- Hạt
- kind GRIT, count 10, speed 140, life_s 0.4, hex #295aa8, gravity 950, shadow có
- Hitbox
- shape circle r80, match Vành đúng elip r80 (160×80) = bóng UL1_shadow bản r80; GRIT tới r86 (≤ 10 ✓)., wave none
- Nguồn
- recolor impacts/impact-frame --opts {local:true, radius:80, rays:8} + bell sprite từ halka-ul1-great-bell --opts {bell:[40,44]}
- Review
- check_mjs pending (node tools/check.mjs impacts/impact-frame), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r80' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| −0.2 | Chuông 40×44 (bản nhỏ của Đại Hồng Chung) rơi từ h80, thân r3/r5, đai r7. |
| 0 | Frame trắng 2 frame: khung va chạm cục bộ — đĩa r80 (elip 160×80) #fff6f0 α 0.5, 8 tia tốc hướng tâm #ffffff. |
| 0.067 | Vành r80 #6eb4ff 2 px, fill α 0.35 #295aa8; 10 GRIT bung. |
| 0.2 | Chuông tan thành MOTE; vành 1 px #3680e0. |
| 0.4 | Rỗng. |
Then Chốt H03_E40 Gió Mang Vang: Lướt xuyên kẻ Chín Vang kích Vỡ Âm (…
Gió Mang Vang: Halka lướt qua kẻ Chín Vang, pháo hoa lam nở trên ngực nó kèm vệt gió theo hướng lướt; nếu nó gục, một hạt sáng bay trao Vang cho kẻ gần.
Chi tiết spec
- Kích hoạt
- Then Chốt H03_E40 Gió Mang Vang: Lướt xuyên kẻ Chín Vang kích Vỡ Âm (hồi 1.2 s, phát kèm VFX_H03_toll_burst); kẻ mang Vang chết trao 1 Vang cho kẻ gần r80. t = 0 = Halka lướt qua kẻ Chín Vang.
- Canvas
- 48×56 gốc 24/44
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind SPARK, count 10, speed 130, life_s 0.3, hex #a8d7ff, gravity 600, shadow không/kind MOTE, count 1, speed 300, life_s 0.25, hex #dcefff, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor explosions/firework-burst --opts {sparks:10, radius:10, wind:true}
- Review
- check_mjs pending (node tools/check.mjs explosions/firework-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: pháo hoa tại ngực kẻ bị lướt — đĩa r4 #ffffff, 10 tia bung tròn 6–10 px. |
| 0.067 | Tia thành 10 SPARK #a8d7ff bay toả đều, kéo vệt; luồng gió 2 vệt cong 1 px #6eb4ff theo hướng Lướt. |
| 0.2 | SPARK rơi #3680e0; 1 hạt sáng #dcefff bay sang kẻ gần nhất (≤ r80) khi trao Vang. |
| 0.4 | Rỗng. |
Tiến hoá H03_EVO1 Vạn Hồi Chuông Lan: SK01 ngân 3 vòng liền cách 0.35…
Vạn Hồi Chuông Lan: một quả cầu ngân lơ lửng trên đầu Halka, mỗi vòng chuông lan ra thì một vòng quỹ đạo tắt; vòng thứ ba cầu nổ cùng Vỡ Âm.
Chi tiết spec
- Kích hoạt
- Tiến hoá H03_EVO1 Vạn Hồi Chuông Lan: SK01 ngân 3 vòng liền cách 0.35 s tới r170 (2.6× Lực, +1 Vang mỗi vòng), vòng cuối kích Vỡ Âm. Vòng sàn do VFX_H03_SK01_ring; payoff = quả cầu ngân trên đầu Halka. t = 0 = vòng 1.
- Canvas
- 48×64 gốc 24/60
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/1.2
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind MOTE, count 8, speed 40, life_s 0.4, hex #a8d7ff, gravity 300, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor lightning/ball-lightning --opts {radius:8, orbits:3, bolts:0}
- Review
- check_mjs pending (node tools/check.mjs lightning/ball-lightning), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Quả cầu ngân r8 #dcefff lõi #fff6f0 hiện trên đầu Halka (h48), 3 vòng quỹ đạo 1 px quanh cầu. |
| 0.033 | Vòng 1: cầu chớp #ffffff, 1 vòng quỹ đạo tắt. |
| 0.35 | Vòng 2: cầu chớp, vòng quỹ đạo thứ 2 tắt; cầu nhỏ lại r6. |
| 0.7 | Vòng 3: cầu nổ r8 → r16 #ffffff 2 frame (đồng bộ Vỡ Âm), 8 MOTE rơi. |
| 1.2 | Rỗng. |
Tiến hoá H03_EVO2 Kim Xuyên Trời: Mũi Kim đâm 170 px, cả đoạn từ 90 p…
Kim Xuyên Trời: mỗi kẻ bị đoạn mũi kim xuyên qua đông thành tinh thể chuông rồi vỡ vụn theo hướng kim, cùng lúc Vỡ Âm.
Chi tiết spec
- Kích hoạt
- Tiến hoá H03_EVO2 Kim Xuyên Trời: Mũi Kim đâm 170 px, cả đoạn từ 90 px là mũi ×1.5; kẻ trúng mũi Vỡ Âm ngay ×1.25 (phát kèm VFX_H03_toll_burst tại nó). t = 0 = frame trúng mũi.
- Canvas
- 48×40 gốc 24/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outExpo, freeze_s 0.04
- Hạt
- kind SHARD, count 8, speed 150, life_s 0.35, hex #a8d7ff, gravity 950, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- recolor ice/ice-shatter --opts {crystal:[10,12], shards:8, cone:60}
- Review
- check_mjs pending (node tools/check.mjs ice/ice-shatter), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng: tinh thể chuông 10×12 #ffffff bọc mục tiêu tại điểm kim xuyên. |
| 0.033 | Tinh thể nứt 4 đường #3680e0, lõi #dcefff. |
| 0.1 | Vỡ: 8 SHARD 3×2 #a8d7ff văng theo hướng kim ±60°, có bóng. |
| 0.25 | SHARD rơi nảy #295aa8. |
| 0.4 | Rỗng. |
Tiến hoá H03_EVO3 Tháp Gác Chuông Cổ: SK04 thành Tháp Gác r120, 12 s,…
Tháp Gác Chuông Cổ: cổng xoáy mở dưới giáo phụ, cột tháp vọt cao 96 px đội vương miện ba chuông quay chậm, vùng canh r120 phủ sàn trong 12 s.
Chi tiết spec
- Kích hoạt
- Tiến hoá H03_EVO3 Tháp Gác Chuông Cổ: SK04 thành Tháp Gác r120, 12 s, xung 1.0 s (1.5× Lực, +1 Vang, kích Vỡ Âm); Nhảy Sào trong tháp hồi 0.6 s. Payoff = cổng nền + vương miện tháp (cột dùng VFX_H03_plant_tower bậc s1.3 ×1.15, xung VFX_H03_tower_pulse s1.7). t = 0 = tháp dựng.
- Canvas
- 64×120 gốc 32/108
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.6
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind MOTE, count 10, speed 30, life_s 0.6, hex #a8d7ff, gravity −20, shadow không
- Hitbox
- shape circle r120, match Vùng sàn thủ tục viền 1 px đúng r120 (lệch 0 px); sheet cổng/cột không mang hitbox; xung qua VFX_H03_tower_pulse., wave procedural
- Nguồn
- recolor arcane/portal --opts {radius:24, spin:2, column_h:96, crown:3}
- Review
- check_mjs pending (node tools/check.mjs arcane/portal), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay pending: overlay 'circle r120' (elip 1 px) trên sheet + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Cổng nền: elip r24 (48×24) xoáy 2 vòng 1 px #6eb4ff/#3680e0 quay ngược nhau, lõi #fff6f0. |
| 0.067 | Cột tháp vọt lên từ cổng h0 → h96 trong 0.1 s, rộng 8 px #a8d7ff, mép #dcefff. |
| 0.2 | Vương miện ở đỉnh h96: 3 chuông nhỏ 6×6 xếp vòng #dcefff quay chậm; cổng nền thu còn viền 1 px. |
| 0.6 | Sheet dừng ở frame cuối (cột + vương miện); runtime giao cho plant_tower loop + vòng sàn thủ tục r120 (viền 1 px r5, fill ≤ 45%). |
LIBRARY · 2
Quái S chết vì Vỡ Âm (H03_VO_AM s_result KILL): thay tro chết thường;…
Quái thường vỡ tan vì Vỡ Âm: loé lam rồi rã thành tro lam bốc lên — tách khỏi chết thường nhưng vẫn theo trần chết 12/frame.
Chi tiết spec
- Kích hoạt
- Quái S chết vì Vỡ Âm (H03_VO_AM s_result KILL): thay tro chết thường; t = 0 = frame chết.
- Canvas
- 48×40 gốc 24/32
- Pha (s)
- antic 0/0 · impact 0/0.1 · dissipate 0.1/0.5
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DUST, count 10, speed 30, life_s 0.4, hex #1e3c6b, gravity −40, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/death-ash --opts {palette:PAL_HERO_H03, ring:10}
- Review
- check_mjs pending (node tools/check.mjs bladewake/death-ash), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Loé 0.09 s: thân quái thành silhouette #dcefff 1 frame rồi #6eb4ff. |
| 0.1 | Thân vỡ thành 10 mảnh tro 2×2 #295aa8/#1e3c6b bốc lên, 1 vòng sóng r10 #3680e0 dưới chân. |
| 0.3 | Tro trôi lên 16 px, nguội #102347. |
| 0.5 | Rỗng. |
Khung va chạm thư viện cho H03_UL3_CAST (ul3 hit_frame 8): 2 frame mà…
Khung va chạm 2 frame khi kích Lính Gác Cuối: màn tối lam sâu, bóng Halka và ba chuông trắng nổi lên, rồi tan ngay.
Chi tiết spec
- Kích hoạt
- Khung va chạm thư viện cho H03_UL3_CAST (ul3 hit_frame 8): 2 frame màn hình tại tick kích; t = 0 = tick kích.
- Canvas
- 480×270 gốc 240/135
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.133
- Easing
- curve linear, freeze_s 0
- Hạt
- —
- Hitbox
- shape none, wave none
- Nguồn
- reuse impacts/impact-frame --opts {rays:6, dark:'r0'}
- Review
- check_mjs pending (node tools/check.mjs impacts/impact-frame), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H03), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending, date 2026-11-07
| t (s) | Mô tả |
|---|---|
| 0 | Frame 1: nền màn #091429 α 0.6, silhouette Halka + 3 chuông #fff6f0 (mask từ thân), 6 tia tốc hướng tâm #dcefff 1 px. |
| 0.033 | Frame 2: nền #102347 α 0.4, silhouette #a8d7ff. |
| 0.067 | Tan α 0.4 → 0 trong 2 frame. |
| 0.133 | Rỗng. |
13SFX
| SFX | Loại | ms | Biến thể | Bus | Ưu tiên | Giọng | LUFS | Tell | Nguồn | Trạng thái | Brief |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HeroAttackCut move=A1 (H03_COMBO_A_1) + H03_DASH_ATTACK (lớp gốc, pit… SFX_H03_a1_swing | swing | 200 | 4 | HeroAttack | 20 | 2 | −19 | none | freesound | brief | Nữ lính đâm giáo dài một tay: thẳng, gọn, có trọng lượng ở đầu cán; 3 chuông nhỏ nảy theo cú đâm. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. Dạng Rèn: AS2 bộ __as2_nn (giáo đôi 2 chuông, nhịp ×1.2 → whoosh ngắn hơn 15%, cao +3 bán cung, 2 lớp chuông lệch 25 ms), AS3 bộ __as3_nn (giáo móc 72 px bọc sắt, nhịp ×0.85 → whoosh dài hơn 15%, −2 bán cung, thêm cạch móc sắt 3 ms); cùng id. A2 = gốc +4% (doc 32 §4.4). KHÔNG được nghe như kiếm chém, roi quất, chuông xe đạp hay chuông gió. |
| HeroAttackCut move=A2 (H03_COMBO_A_2) và A3 (H03_COMBO_A_3 dùng bộ bi… SFX_H03_a2_swing | swing | 210 | 4 | HeroAttack | 20 | 2 | −19 | none | freesound | brief | Cú chọc nối và chọc xoắn: rút về – đâm lại, mũi lệch 6 px; A3 xoắn cán nghe rõ gỗ kẽo + một hồi chuông nhỏ đi lên (gợi tầng Vang). Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. Dạng Rèn: AS2 bộ __as2_nn (giáo đôi 2 chuông, nhịp ×1.2 → whoosh ngắn hơn 15%, cao +3 bán cung, 2 lớp chuông lệch 25 ms), AS3 bộ __as3_nn (giáo móc 72 px bọc sắt, nhịp ×0.85 → whoosh dài hơn 15%, −2 bán cung, thêm cạch móc sắt 3 ms); cùng id. KHÔNG được nghe như kiếm, roi, cửa gỗ cót két kéo dài. |
| HeroAttackCut move=A4 (H03_COMBO_A_4 Cắm Sào), H03_AS2_A4_TWIN, H03_A… SFX_H03_a3_swing | swing | 320 | 4 | HeroAttack | 20 | 2 | −18 | none | freesound | brief | Nhấc giáo bằng hai tay qua đầu rồi giáng chuôi xuống: âm vút xuống nặng, chuông lắc theo. AS2 (xoay song chuông): whoosh tròn 360° pan ±0.2, 2 chuông quét. AS3: thêm cạch móc sắt. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như rìu bổ củi, cánh quạt trực thăng, chuông nhà thờ. |
| HeroHitBatch heroId=H03 (mọi đòn chọc A1–A3, A5, Đánh sau Lướt, Đâm C… SFX_H03_hit | hit | 170 | 4 | HeroAttack | 30 | 3 | −20 | none | freesound | brief | Mũi giáo hẹp xuyên vào thân tro: nhanh, sắc, không vang. Biến thể __tip là phần thưởng tai cho cự ly đúng 70–90 px. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như dao chặt thịt, đấm bốc, gõ chuông lớn. |
| HeroComboSpecial heroId=H03 branch=PLANT (H03_COMBO_A_4 Cắm Sào nổ r5… SFX_H03_combo_special | explode | 650 | 3 | HeroAttack | 20 | 2 | −16 | none | foley | brief | Chữ ký của Halka: chuôi chuông cắm phập xuống sàn, cả cán ngân một tiếng trầm và đứng lại thành Tháp Vang. Người chơi phải nghe 'cột mốc được cắm'. Thu foley: chuôi gậy bọc đồng cắm vào khay đá + chuông tay đồng đặt úp bịt bằng khăn. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như búa tạ, nổ thuốc, cồng chiêng ngân dài. |
| HeroDash heroId=H03 (lớp trên SFX_SHARED_dash_base; Lướt Vọt Sào fram… SFX_H03_dash | move | 210 | 3 | Hero | 20 | 2 | −22 | none | freesound | brief | Chống giáo đẩy mình trượt thấp 90 px: một tiếng gõ chuôi, vải phất, chuông rung khẽ. Lớp gió chung đã có ở dash_base. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như dịch chuyển phép, ván trượt, chuông báo. |
| HeroAnswerSuccess heroId=H03 (Gõ Chuông; lớp trên SFX_SHARED_answer_c… SFX_H03_answer | answer | 380 | 3 | HeroDefense | 2 | 2 | −15 | none | foley | brief | Gõ Chuông: một tiếng gõ trầm, chặn tay, nổ ngay tại kẻ vừa đánh — tai nghe vị trí đòn đáp (pan theo x kẻ tấn công). Tổng cùng answer_core −12 LUFS. Đạn bị vỡ: thêm lớp vỡ 'xoảng' nhiễu ≤ 40 ms. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như kiếm gạt, khiên chặn, chuông cửa, tiếng 'tinh' của tell vàng. |
| HeroCounter heroId=H03 (H03_COUNTER đâm f3 + H03_COUNTER_PULSE xung r… SFX_H03_counter | hit | 360 | 3 | HeroDefense | 2 | 2 | −15 | none | freesound | brief | Đâm Chuông: lao 48 px, giáo xuyên mục tiêu ✦ rồi 3 chuông cùng ngân một hợp âm bịt — mục tiêu Chín Vang ngay (+3). Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như súng, kiếm đâm thép, chuông nhà thờ. |
| HeroHoldStart heroId=H03 (Nhảy Sào, tick W khi còn giữ RB) + H03_COMB… SFX_H03_hold_start | move | 220 | 3 | HeroDefense | 20 | 1 | −18 | none | freesound | brief | Cắm chuôi và bật lên: tiếng cán gỗ uốn căng như sào tre rồi bật. Không swell trầm (AUD-02). Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như lò xo hoạt hình, cung bắn tên, nhảy bạt nhún. |
| HeroHoldStart → loop trong cung vọt tới HeroHoldEnd (dừng ngay khi đá… SFX_H03_hold_loop | loop | 400 | 1 | HeroDefense | 20 | 1 | −24 | none | synth | brief | Thân bay trên cung 60–90 px trong 0.35 s: một lớp gió thẳng, mức ổn định. Loop mẫu chính xác 17.640 mẫu @44.1 kHz (0.40 s ≥ cung dài nhất 0.30 s của SK07). KHÔNG được nghe như gió bão, máy bay, ma kêu. |
| HeroHoldEnd heroId=H03 (đáp Nhảy Sào; cancelled=true → chỉ lớp transi… SFX_H03_hold_end | move | 230 | 3 | HeroDefense | 20 | 2 | −19 | none | freesound | brief | Đáp sau cú vọt: chắc, gọn, chuông nảy một lần. Khi cú đáp kích Vỡ Âm, res_spend phát chồng sau 1 frame. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như ngã, va kim loại lớn, tiếng nhảy hoạt hình. |
| HeroResource heroId=H03 kind=gain (Vang tăng trên địch: chọc, Tháp Va… SFX_H03_res_gain | impact | 220 | 4 | Hero | 30 | 2 | −24 | none | synth | brief | Vang là đếm bằng tai: tiếng ngân bịt nhỏ, cao dần theo tầng (A–E–B của motif A–E–A–B–C). Pitch ngẫu nhiên chỉ ±2% để giữ nốt. Cooldown 120 ms, pan theo x kẻ nhận. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như nhặt xu, chuông báo UI, tiếng 'tinh' tell. |
| HeroResource heroId=H03 kind=full (một kẻ đạt Chín Vang 3/3 — AS2: 2/… SFX_H03_res_full | impact | 450 | 2 | Hero | 20 | 1 | −20 | none | outsource | brief | Báo kẻ địch đã 'chín': một tiếng ngân bịt cao nhất + hơi sáo trúc ngắn — người chơi biết lúc nào kích Vỡ Âm. Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như level-up, thông báo UI, chuông điện thoại. |
| HeroResource heroId=H03 kind=spend (Vỡ Âm H03_VO_AM kích; mỗi đợt lan… SFX_H03_res_spend | explode | 480 | 4 | HeroAttack | 70 | 4 | −16 | none | synth | brief | Vỡ Âm: chuông nứt vỡ cùng tiếng trầm dưới chân — dây chuyền nghe như hồi chuông vỡ lan qua bầy, mỗi đợt cao thêm 1 bán cung. Sub có transient, không swell (AUD-02). Chuông đồng ĐÃ BỊT (doc 32 §2.3): fundamental ≤ 600 Hz, decay ≤ 400 ms; mọi partial 2.2–3.6 kHz tắt ≤ 60 ms hoặc thấp hơn đỉnh ≥ 12 dB (AUD-01, kiểm bằng audio_lint.py) — lớp ngân luôn lowpass 2.0 kHz + bóp tay trên miệng chuông. KHÔNG được nghe như kính vỡ, pháo hoa, sấm. |
| SkillCast skillId=H03_SK01 (H03_SK01_RING f5 chuôi nện sàn; mỗi kẻ bị… SFX_H03_SK01_cast | cast | 700 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Hồi Chuông Lan: một cú nện chuôi, tiếng ngân lan ra như sóng hồ — người chơi nghe vòng mở rộng. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| SkillCast skillId=H03_SK02 (H03_SK02_CAST f0, 3 hồi nhịp 4 tick; cửa … SFX_H03_SK02_cast | cast | 600 | 3 | Hero | 20 | 2 | −17 | none | foley | brief | Gióng Ba Hồi: ba hồi chuông gióng nhanh lên cao như gọi quân tập hợp — báo 3 s 'ai 2 Vang là vỡ'. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| SkillCast skillId=H03_SK03 (H03_SK03_HUSH f7 bàn tay úp chuông, xung … SFX_H03_SK03_cast | cast | 480 | 3 | Hero | 20 | 2 | −18 | none | freesound | brief | Chuông Nín: tiếng chuông bị bóp câm và một tiếng 'suỵt' — đòn windup của quái nhỏ bị cắt ngang. Không đảo ngược trầm (AUD-02). Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| SkillCast skillId=H03_SK04 (H03_SK04_THROW f6 phóng giáo phụ + cắm r2… SFX_H03_SK04_cast | cast | 800 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Tháp Canh Chuông: giáo phụ bay, cắm phập và thành tháp canh tự gõ mỗi giây — nhịp tháp là nhịp gác. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| SkillCast skillId=H03_SK05 (H03_SK05_NEEDLE: giữ nạp 0.4 s = lớp body… SFX_H03_SK05_cast | cast | 620 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Mũi Kim Chuông: nín thở nạp, chuông rung rì rì, rồi một mũi kim chọc xuyên hàng. Đoạn mũi 90–110 px phát thêm biến thể __tip của SFX_H03_hit. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| SkillCast skillId=H03_SK06 (H03_SK06_SPIN 4 nhịp f4/f11/f19/f26 = 4 v… SFX_H03_SK06_cast | cast | 1150 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Xoay Sào Hộ: xoay thân quanh cán như cánh cửa xoay, bốn nhịp rõ — người chơi đếm được nhịp đẩy. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| SkillCast skillId=H03_SK07 (H03_SK07_VAULT mỗi lần vọt; H03_SK07_LAND… SFX_H03_SK07_cast | cast | 420 | 3 | Hero | 20 | 2 | −18 | none | freesound | brief | Bước Sào Đôi: hai cú nhảy sào liền như bước qua hàng rào — lần hai cao hơn để tai biết đã dùng hết. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| SkillCast skillId=H03_SK08 (H03_SK08_CAST xung r96; 6 s: mỗi lần Vang… SFX_H03_SK08_cast | cast | 520 | 3 | Hero | 20 | 2 | −18 | none | foley | brief | Truyền Vang: tiếng chuông dặn dò — Vang không chết theo xác mà chạy sang hai kẻ bên cạnh. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). Hạng II–III: cùng âm + lớp sweetener __r2/__r3 (biến thể). |
| UltActivate ultId=H03_UL1 (H03_UL1_IMPACT f18 r130 + H03_UL1_TOLL 4 h… SFX_H03_UL1_great_bell | cast | 3400 | 1 | Hero | 5 | 1 | −13 | none | foley | brief | Đại Hồng Chung: chuông đồng khổng lồ rơi xuống và gióng bốn hồi bịt — trang nghiêm, nặng, rõ từng hồi (đếm được 4). Chuông thật quá vang sẽ phạm AUD-01: thu chuông lớn bọc chăn + cắt partial cao. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). |
| UltActivate ultId=H03_UL2 (H03_UL2_POKE 9 cú mỗi 6 tick + H03_UL2_TOL… SFX_H03_UL2_toll_rite | cast | 2600 | 1 | Hero | 5 | 1 | −13 | none | foley | brief | Hồi Chuông Tiễn: ghim một mục tiêu, chín mũi giáo dồn dập rồi ba lần chuông vỡ — tiếng cuối là hồi chuông tiễn đồng đội, buồn mà dứt khoát. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). |
| UltActivate ultId=H03_UL3 (H03_UL3_CAST f8 xung r96; 9 s Tháp Theo Ng… SFX_H03_UL3_last_warden | cast | 1500 | 1 | Hero | 5 | 1 | −13 | none | foley | brief | Lính Gác Cuối: dựng giáo, ba chuông cùng gióng một hợp âm — lời thề đứng gác. 9 s sau đó tháp đi theo người, gõ mỗi giây. Chuông đồng bịt: fundamental ≤ 600 Hz, decay ≤ 400 ms, không partial 2.2–3.6 kHz decay > 60 ms ở ≥ −12 dB (AUD-01); mọi lớp trầm có transient, không swell < 140 Hz dài > 0.25 s (AUD-02). |
| AnimEvent clip=attack3|attack4|attack5|as2_fin|counter|sk01|sk03|sk04… SFX_H03_vo_effort | vocal | 240 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Nữ lính gác gắng sức: kìm, gọn, có kỷ luật — như người quen thở theo nhịp giáo. KHÔNG được nghe như tiếng hét chiến binh, rên điệu đà. Giọng không lời (doc 32 §9): diễn viên giọng nữ trẻ (20–30) thuê theo giờ, hợp đồng chuyển quyền toàn cầu mọi nền tảng; không giọng AI; không âm tiết của ngôn ngữ thật. |
| HeroDamaged heroId=H03 (sau SFX_SHARED_hero_hurt_impact) SFX_H03_vo_hurt | vocal | 260 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Halka trúng đòn: một tiếng nén, không kêu — cô không cho kẻ thù nghe mình đau. KHÔNG được nghe như la thất thanh, khóc. Giọng không lời (doc 32 §9): diễn viên giọng nữ trẻ (20–30) thuê theo giờ, hợp đồng chuyển quyền toàn cầu mọi nền tảng; không giọng AI; không âm tiết của ngôn ngữ thật. |
| HeroDeath heroId=H03 (sau SFX_SHARED_hero_death; SN_DEATH) SFX_H03_vo_death | vocal | 1300 | 2 | VO | 45 | 2 | −18 | none | outsource | brief | Halka ngã: một hơi thở run như người lính buông gác, tiếc nhiều hơn đau. KHÔNG được nghe như tiếng hét, rên kéo dài. Giọng không lời (doc 32 §9): diễn viên giọng nữ trẻ (20–30) thuê theo giờ, hợp đồng chuyển quyền toàn cầu mọi nền tảng; không giọng AI; không âm tiết của ngôn ngữ thật. |
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 heroId=H03 (rời Bến Đò ST_DOCK, sau thẻ Hồi I) | Chuông còn treo thì lính còn gác. | hero | — | — |
| run_start_2 | RunStart heroId=H03 (lần chạy thứ 2 trở đi, ngẫu nhiên 1/2) | Thầy ơi, đêm nay con gác thay thầy. | hero | — | — |
| run_start_3 | RunStart heroId=H03 khi có Khăn Tang ≥ 1 (MRN01–MRN15) | Khăn tang buộc chặt. Lính gác không than. | hero | — | — |
| level_up_1 | LevelUp heroId=H03 (ngẫu nhiên 1/3, ≤ 1 lần/90 s) | Mũi giáo vững thêm một tấc. | hero | 90 | — |
| level_up_2 | LevelUp heroId=H03 (ngẫu nhiên 1/3, ≤ 1 lần/90 s) | Thầy Nhạn dạy đúng. Đâm thẳng, đừng vội. | hero | 90 | — |
| level_up_3 | LevelUp heroId=H03 khi cấp ≥ 10 | Ba chuông đã chung một tiếng. | hero | 90 | có |
| perfect_answer_1 | HeroAnswerSuccess heroId=H03 perfect=true (Gõ Chuông vừa khít) | Nghe rõ chưa? | hero | 20 | — |
| perfect_answer_2 | HeroAnswerSuccess heroId=H03 perfect=true targetTier=M|L|XL | Đánh vào chuông thì chuông trả lời. | hero | 20 | — |
| perfect_dodge | HeroPerfectDodge heroId=H03 | Chậm nửa nhịp rồi. | hero | 20 | — |
| vang_chain | HeroResource heroId=H03 kind=spend Vỡ Âm lan ≥ 4 đợt (≤ 1 lần/60 s) | Ba tiếng là đủ. Tiếng thứ ba để tiễn. | hero | 60 | — |
| ult_1 | UltActivate ultId=H03_UL1 | Đại Hồng Chung, gióng! | hero | — | — |
| ult_2 | UltActivate ultId=H03_UL2 | Đứng yên. Ta tiễn ngươi đi. | hero | — | — |
| ult_3 | UltActivate ultId=H03_UL3 | Còn một lính gác. Là ta. | hero | — | — |
| low_hp_1 | HeroLowHp heroId=H03 hpPct ≤ 25 (≤ 1 lần/60 s) | Chưa đổi gác. Đứng dậy. | hero | 60 | — |
| low_hp_2 | HeroLowHp heroId=H03 hpPct ≤ 25 lần thứ 2 trong run | Lời thề còn đó, chân còn đứng. | hero | 60 | — |
| elite_1 | EliteSpawn (EL_*) lần đầu trong phòng, hero H03 | Kẻ to đầu. Ghim nó lại. | hero | 30 | — |
| elite_2 | EliteSpawn có Ấn EM (affix) ≥ 2 | Mang nhiều ấn thế, chuông càng vang. | hero | 30 | — |
| boss_intro_b1 | BossIntro bossId=BS_B1 (sau BARK_BS_B1_intro ≥ 4 s; lần đầu gặp cha nuôi) | Cha… con về đổi gác cho cha đây. | hero | — | có |
| boss_intro_b1_again | BossIntro bossId=BS_B1 lần gặp thứ 2 trở đi | Lần này con gióng hồi tiễn, cha nghe nhé. | hero | — | — |
| boss_intro_b2 | BossIntro bossId=BS_B2 | Lão lái đò. Bến của đồng đội ta ở đâu? | hero | — | có |
| boss_intro_b3 | BossIntro bossId=BS_B3 | Ông đúc chuông. Ta giữ tiếng của nó. | hero | — | có |
| boss_intro_b4 | BossIntro bossId=BS_B4 | Yvra. Lính đứng gác không cúi đầu. | hero | — | có |
| boss_intro_final | BossIntro bossId=BS_FINAL | Dravos. Ta gióng hồi tiễn cho chiếc mũ chuông ấy. | hero | — | có |
| boss_intro_true | BossIntro bossId=BS_TRUE (Hồi VI) | Cái Lặng. Ta vẫn còn ba tiếng chuông. | hero | — | có |
| boss_intro_mini | BossIntro bossId=MB_* (mọi mini-boss, ngẫu nhiên) | To xác. Mũi giáo vẫn đủ dài. | hero | 30 | — |
| victory_1 | BossDefeated heroId=H03 (clip victory, sau khi tháo mũ) | Nghỉ đi. Phiên gác của ngươi hết rồi. | hero | — | — |
| victory_b1 | BossDefeated bossId=BS_B1 heroId=H03 | Con tiễn cha. Tiếng thứ ba là của cha. | hero | — | có |
| room_clear | RoomCleared heroId=H03 objective bất kỳ (ngẫu nhiên 1/6) | Yên rồi. Đổi vị trí gác. | hero | 45 | — |
| death_1 | HeroDeath heroId=H03 (trước SN_DEATH) | Xin lỗi thầy… con bỏ gác rồi. | hero | — | — |
| death_2 | HeroDeath heroId=H03 lần chết thứ 2 trở đi | Chuông chưa rơi. Con sẽ quay lại. | hero | — | — |
| revive | HeroRevive heroId=H03 | Lính gác không được ngủ quên. | hero | — | — |
| hub_wake | Wake tại Lửa Canh (clip wake, hero H03) | Ca gác mới. Ai thay ta đêm qua? | hero | — | — |
| hub_ulla | HubStationInteract stationId=ST_HEARTH hero H03 (NPC_ULLA, ngẫu nhiên) | Bà Ulla, bà nghỉ đi, để con trông lửa. | hero | 120 | — |
| hub_ledger | HubStationInteract stationId=ST_LEDGER hero H03 (NPC_HOL) | Thầy Hol, con lại viết thư cho thầy đây. | hero | 120 | — |
| hub_forge | HubStationInteract stationId=ST_FORGE hero H03 (NPC_GREM) | Lão Grem, mài mũi giáo, đừng đụng chuông. | hero | 120 | — |
| hub_yard | HubStationInteract stationId=ST_YARD hero H03 | Chọc một nghìn lần nữa. Thầy dặn thế. | hero | 120 | — |
| varek_doubt | RunStart heroId=H03 khi H01 đã mở khoá (ngẫu nhiên 1/5) | Varek từng gặt xác lính gác. Ta không quên. | hero | — | có |
| hub_idle | Hub đứng yên ≥ 20 s, hero H03 (clip hub_idle f40 đọc thư) | Dòng Gác Chuông còn một người. Vậy là còn. | hero | 180 | — |