1Định danh & tiểu sử
- Danh hiệu
- Nắm Đấm Lò
- Vũ khí
- găng lò rèn
- Nhóm vai
MELEE_HEAVY— cú to, giáp/siêu giáp, rủi ro đổi DPS- Độ khó
- 3/5
- Mở khoá
KILL_BOSS· Hạ Lão Lái Đò Không Bến (BS_B2) một lần với bất kỳ Kẻ Thức nào, rồi trả 8 Mảnh Vọng ở Lò Rèn. · Mảnh Vang: 8- 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: Nhiệt RES:HEAT
Trục độ khó (doc 12 §4, 0–2)
Tiểu sử
Thợ phụ thổi bễ Lò Đúc Câm, trốn năm NT 38, đôi găng còn kẹp mảnh khuôn chuông. Ít lời, nóng như than đầu mẻ; cãi ba câu là đấm vào tường. Thề đập vỡ từng chiếc chuông không lưỡi mình từng rót. Tự bỏng là tự phạt: găng càng nóng, cậu càng không tháo. Lão Grem, đào tẩu trước cậu 26 năm, rèn lại găng và gọi cậu "thằng lửa non". Với Oska, cậu cãi mãi chuyện lửa nên giữ hay nên thả. Vẫn sợ Thợ Cả: nghe búa gõ nhịp ba là vai co lại. Lão Lái Đò Không Bến chìm, kênh lên Hồi III mở, cậu mới dám về tháp. "Lò chưa tắt thì tay tôi cũng chưa." "Chuông câm là lỗi của tôi — tôi trả từng cái."
Câu nói
Ghi chú lệch có chủ đích
2026-11-07 — Hấp Nhiệt theo Bible DEC-2026-11-07-10 (KHÔNG giảm sát thương, 60% sát thương thành HP xám, mechanic BRACE, defense_effect GREY_HP). Lệch brief doc 12 §11.6 để vào dải ngân sách doc 17 §4.2–4.3 (balance_calc move_de): SK02 thây lăn 3.0× (brief 1.5) + vỡ tro r40 2.0× → 0.99 XANH; SK03 thêm 4.5× Lực + 2 lớp STS_ROT (brief chỉ hất) → 0.86 XANH; SK04 nện 4.5× (brief 3.0) + kẻ bị quật 3.0× + hất 0.6 s + 1 lớp ROT → 0.85 XANH; SK05 giữ r40 coef 5.0 nhưng max_targets 3 (aoe hiệu dụng 1.33, sát trần 1.3 của tay đôi) → 0.84 XANH; SK06 thêm cú vỗ 13.5× ARC 60° r36 (hạng II–III 16×), hồi 10 s trong dải DUEL 7–10 (DUEL cần ≥ 60% DE từ coef + Thế) → 0.83 XANH (balance_calc skill --hit 13.5 sector 36 60 --cd 10 --poise 30 = 0.834); SK07 lao 110 px (trần lunge kỹ năng; hạng II tăng chặn 5 đạn + ném 3.0× thay vì lao xa hơn) + ném khiên r40 2.5× + HYPER 0.33 s → 0.75 VÀNG (balance_calc skill --hit 1.5 rect 110 28 --hit 2.5 circle 40 --cd 7 --mob 110 = DE 8.03; + chặn ≤ 4 đạn vàng tính như khiên 8% HP × 0.15 = 1.20 + HYPER 0.33 s × 1.0 = 0.33 → DE 9.56 / 12.74 = 0.750). Lý do VÀNG (doc 17 §4.2–4.3): res_cost 0, giá trị chặn đạn mới tính sàn bằng khiên 8% HP [ASSUMED], việc tóm 1 S ra khỏi bầy (đẩy bầy bằng thân khiên) không có hạng mục DE; hạng II (chặn 5, ném 3.0×) và hạng III (chặn 6 + 2 thây lăn 1.5×) đưa DE vào dải XANH; SK08 thêm nổ mở r48 2.0× + vụn nón 2.0×/viên + khiên 2.5%/viên → 0.95 XANH; SK01 r96 3.5× + Than Hồng → 1.05 XANH. UL1 8.0 + 3 vòng 7.0 r150 → DE 86.7; UL2 10 đấm 4.8× (mỗi 6 tick) + nhát tôi 30× (brief 1.5×/6.0× chỉ 24 coef, dưới sàn đơn mục tiêu 55 của doc 17 §4.3) → 78 coef đơn mục tiêu, DE 84.2; UL3 Chảy ×1.5 9 s + Tôi tự do r80 4.0×/1.5 s + nổ r64 2.0× + nổ cuối r120 6.0× → DE 98.1. Combo cơ bản 4.79 coef/s = 76% ST kit 6.3 (H06 st_n 1.05). Lộn Đấm Móc ngoài ngân sách kỹ năng (đòn cơ bản). Chân dung theo doc 30 §5.3 (bust 128, màn chọn 192). Đòn thây lăn H06_BOWLING_ROLL đặt slot PASSIVE (vật thể sinh từ A5/Bắt Đòn, không phải bước combo). SK07 đổi cast_mode TAP (brief không yêu cầu giữ). mastery_unlocks Edge sinh từ hero_upgrades/H06.json unlock_rank: MR03 E05/E11/E17/E23; MR06 E06/E12/E18/E29; MR08 E24/E30/E35/E36; MR10 E37–E40; còn lại MR01. [ASSUMED] mọi tick frame data lượt đầu, tốc thây lăn 400 px/s, khiên SK07 8% HP, khiên SK08 2.5%/viên, giá skin 30/45/60 CUR_VIGIL_CANDLE. 2026-11-07 — sửa review heroes-a: Lộn về chuẩn INV-12 (9/3, bất tử [0,12]); Lộn Đấm Móc startup 4, step 16; A1–A3 active 9, rehit 6; UL2 nối tiếp 96 tick; UL3 world_slow 0.6. 2026-11-07 — SK07: giá trị chặn đạn quy đổi = khiên 8% HP (doc 17 §4.2 'khiên 0.15 / 1% HP_MAX', CLI balance_calc chưa có cờ khiên/siêu giáp → cộng tay theo move_de); chấp nhận VÀNG 0.750 thay vì tăng coef để giữ ý đồ kỹ năng nhịp độ phòng thủ.
2Hình ảnh & bảng màu
- Màu slot
- #f2501f hue 14°
- Vòng chân
- #ff8758 r 12 px
- Sprite
- 37 px cao
- Chân dung
- bust 128/128 · body 192/192 · viền #f2501f
- Trang phục pixelfx
Tools/pixelfx/src/fx/heroes/_ruvan.js
Skin
Clip hoạt ảnh (40) — số khung
| Clip | Khung | Lặp | Khung trúng | Hướng |
|---|---|---|---|---|
| idle | 48 | có | — | 5+3 |
| run | 18 | có | — | 5+3 |
| dash | 10 | — | — | 5+3 |
| attack1 | 28 | — | 2/5 | 5+3 |
| attack2 | 28 | — | 2/5 | 5+3 |
| attack3 | 30 | — | 2/5 | 5+3 |
| attack4 | 32 | — | 4 | 5+3 |
| attack5 | 40 | — | 5 | 5+3 |
| charge_hold | 12 | có | — | 5+3 |
| quench | 34 | — | 3 | 5+3 |
| charge_punch | 30 | — | 3 | 5+3 |
| dash_attack | 26 | — | 2 | 5+3 |
| answer | 12 | — | 0 | 5+3 |
| answer_hit | 20 | — | 2 | 5+3 |
| hold_in | 8 | — | — | 5+3 |
| hold_loop | 16 | có | — | 5+3 |
| hold_out | 6 | — | — | 5+3 |
| counter | 30 | — | 2 | 5+3 |
| overheat | 45 | — | 0/15/30 | 5+3 |
| sk01 | 34 | — | 5 | 5+3 |
| sk02 | 48 | — | 3/7 | 5+3 |
| sk03 | 40 | — | 6 | 5+3 |
| sk04 | 44 | — | 3/10 | 5+3 |
| sk05 | 30 | — | 4 | 5+3 |
| sk06 | 36 | — | 4 | 5+3 |
| sk07 | 40 | — | 3/12 | 5+3 |
| sk08 | 30 | — | 3 | 5+3 |
| ul1 | 60 | — | 15/18 | 1 |
| ul2 | 60 | — | 6/54 | 5+3 |
| ul3 | 60 | — | 14 | 1 |
| hurt | 10 | — | — | 5+3 |
| broken | 27 | có | — | 5+3 |
| death | 72 | — | — | 5+3 |
| wake | 36 | — | — | 5+3 |
| revive | 40 | — | — | 5+3 |
| victory | 54 | — | — | 5+3 |
| hub_idle | 72 | có | — | 5+3 |
| select | 48 | có | — | 1 |
| as2_fin | 32 | — | 4 | 5+3 |
| as3_fin | 36 | — | 5 | 5+3 |
3Chỉ số & khung vai trò
| Chỉ số | Tên | Giá trị | Đơn vị | So max roster | Roster min–max | Nhóm min–max |
|---|---|---|---|---|---|---|
HP_MAX | HP tối đa | 130 | HP | 130 | 100 – 160 | 130 – 160 |
MOVE_SPEED | Tốc chạy | 136 | px sàn/s | 136 | 130 – 145 | 130 – 136 |
ACCEL_TIME | Thời gian tăng/giảm tốc | 0.06 | s | 0.06 | 0.06 – 0.06 | 0.06 – 0.06 |
POWER | Lực | 10 | điểm | 10 | 10 – 10 | 10 – 10 |
DMG_INC | Sát thương | 0 | +% | 0 | 0 – 0 | 0 – 0 |
ATK_SPEED | Tốc đánh | 1 | × | 1 | 1 – 1 | 1 – 1 |
CRIT_CHANCE | Tỉ lệ chí mạng | 5 | % | 5 | 5 – 5 | 5 – 5 |
CRIT_MULT | Hệ số chí mạng | 2 | × | 2 | 2 – 2 | 2 – 2 |
AREA | Cỡ vùng | 1 | × bán kính | 1 | 1 – 1 | 1 – 1 |
PROJ_SPEED | Tốc đạn hero | 1 | × | 1 | 1 – 1 | 1 – 1 |
DURATION | Thời lượng hiệu ứng hero (vùng, triệu hồi, buff) | 1 | × | 1 | 1 – 1 | 1 – 1 |
CDR | Giảm thời gian hồi chiêu kỹ năng | 0 | % | 0 | 0 – 0 | 0 – 0 |
DASH_CHARGES | Lượt Lướt | 2 | lượt | 2 | 2 – 2 | 2 – 2 |
DASH_RECHARGE | Nạp 1 lượt Lướt | 0.7 | s | 0.7 | 0.7 – 0.7 | 0.7 – 0.7 |
ANSWER_WINDOW | Cửa sổ ĐÁP | 0.15 | s | 0.15 | 0.15 – 0.18 | 0.15 – 0.18 |
POISE_MAX | Thế hero | 100 | điểm | 100 | 100 – 100 | 100 – 100 |
POISE_REGEN | Hồi Thế | 40 | điểm/s | 40 | 40 – 40 | 40 – 40 |
DR | Giảm sát thương nhận | 0 | % | 0 | 0 – 0 | 0 – 0 |
ELITE_DMG | Sát thương lên M/L/XL | 0 | +% | 0 | 0 – 0 | 0 – 0 |
STATUS_POWER | Uy lực trạng thái (sát thương DoT + số của trạng thái hero gây) | 0 | +% | 0 | 0 – 0 | 0 – 0 |
HEAL_MULT | Hệ số hồi phục HP | 1 | × | 1 | 1 – 1 | 1 – 1 |
PICKUP_R | Bán kính hút XP/cầu máu | 50 | px | 50 | 50 – 50 | 50 – 50 |
ULT_GAIN | Hệ số nạp Dư Âm | 1 | × | 1 | 1 – 1 | 1 – 1 |
RES_GAIN | Hệ số nạp tài nguyên hero | 1 | × | 1 | 1 – 1 | 1 – 1 |
KNOCKBACK | Lực đẩy | 1 | × | 1 | 1 – 1 | 1 – 1 |
SHIELD_CAP | Trần khiên | 50 | % HP tối đa | 50 | 50 – 50 | 50 – 50 |
dash_px | — | 76 | — | 76 | 72 – 90 | 72 – 76 |
4Tài nguyên & nội tại
- Tài nguyên
- Nhiệt HEAT · kiểu
GAUGE - Khoảng
- 0 – 100 (bắt đầu 0)
- Suy giảm
- sau 2 s: −8/s, sàn 0
- Khi trúng đòn
- 0
- ĐÁP
- 10
- Né hoàn hảo
- 8
- Sự kiện đầy
- res_threshold
- HUD
- BAR · hud_bottom_left_under_hp
- Liên kết Dư Âm
- Dư Âm +15 mỗi lần Tôi ở Nhiệt 80–95 · +1 mỗi cú trúng khi đang Chảy (≤ 10/s) · chung: ĐÁP +4, Né Hoàn Hảo +4; trong dạng UL3 không nạp (doc 12 Q4).
| Sự kiện | Lượng | Trần/s | Ghi chú |
|---|---|---|---|
| attack | 6 | 36 | +6 mỗi cú đấm trúng ≥ 1 mục tiêu (tính theo cú, không theo số quái); A1–A3 mỗi bước 2 cú = +12; trần 36/s chống bầy dày. |
| answer | 10 | — | Bắt Đòn thành công, cả cận chiến lẫn đạn (bóp nát đạn); tài nguyên 0 vẫn được. |
| hold_block | 8 | — | Hấp Nhiệt: +8 mỗi đòn Y/N nhận khi đang giữ. |
| perfect_dodge | 8 | — | Né Hoàn Hảo bằng Lộn. |
| skill_hit | 12 | — | Chỉ cú 6 của Đấm Nung Chảy (H06_SK05_A6). |
| answer_proj | 10 | 30 | Nuốt Lửa (SK08) tự bóp nát đạn: +10 mỗi viên, trần 6 viên mỗi lần dùng. |
Tiêu
| Hành động | Giá | Thiếu vẫn dùng | Ghi chú |
|---|---|---|---|
| QUENCH | 50 | không | Tôi chỉ ra khi Nhiệt 80–95: Nhiệt đặt về 30 (tiêu 50–65), mất mọi HP xám đang treo, +15 Dư Âm. |
| SKILL:H06_SK01 | 20 | không | Phun Hơi Lò; thiếu Nhiệt → kỹ năng bị từ chối (HUD nháy ô). |
| SKILL:H06_SK06 | 30 | không | Mồ Hôi Sắt; thiếu Nhiệt → bị từ chối. |
| OVERHEAT_VENT | 70 | có | Chạm 100 → Xả Cưỡng Bức 1.5 s rồi Nhiệt về 30; huỷ bằng ĐÁP/Lướt thì Nhiệt về 90 (cắt ngang = còn cửa sổ Tôi). |
Trạng thái theo ngưỡng
Nung ≥ 40
Chảy ≥ 80
Quá Lò ≥ 100
Nội tại: Lò Trong Găng
5Phòng thủ: ĐÁP · Giữ · Phản · Lướt
ĐÁP: Bắt Đòn
Tóm 1 kẻ tấn công gần nhất (mọi đòn Y khác trong cửa sổ vẫn được trung hoà). Theo hạng khối: S bị ném bowling 120 px, thây lăn gây 1.5× Lực cho mỗi quái trên đường; M bị quật ném, −35 Thế; L Bẻ Đòn −25 Thế, không ném; XL Bẻ Đòn −35 Thế, không ném. Mở Phản 1.0 s.
Tóm đạn Y giữa không trung và bóp nát trong găng: đạn huỷ, +10 Nhiệt, không mở Phản.
Quái S thành quả bowling sống (thưởng riêng ≤ 1.5× Lực/mục tiêu, trong trần 2.0× của doc 11 §2.1); +10 Nhiệt cả với đạn, vẫn tính khi Nhiệt 0.
- window_s
- 0.15
- poise_dmg_override
- M 35, L 25, XL 35
- res_gain
- 10
- needs_resource
- không
Giữ: Hấp Nhiệt
Đứng yên, KHÔNG giảm sát thương: 60% sát thương mỗi đòn Y/N nhận đổi thành HP xám (cú trúng trong 3 s đổi lại, chưa đổi mất sau 3 s, không chịu trần 4 HP/s của Chảy). Tốn Thế = phần thành HP xám × 1.0 (≥ 6/đòn). +8 Nhiệt mỗi đòn nhận.
Đòn tím trúng khi đang Hấp Nhiệt: nhận đủ sát thương, không đổi HP xám, Vỡ Thế 0.9 s.
- mechanic
- BRACE
- armor_tier
- HYPER
- move_mult
- 0
- max_s
- 5
- cooldown_s
- 0
Lướt
- dash_px
- 76
- anim
- dash
- afterimage
- có
- trail_vfx
- VFX_H06_dash_roll
Verb bầy
Bắt Đòn → ném (Bible §5.2): tóm 1 mục tiêu tiếp xúc rồi xử theo hạng khối.
- verb
- GRAB
- by_mass
- S Ném bowling 120 px: thây lăn là đòn AREA 1.5× Lực mỗi quái trên đường, quái bị ném chịu 1.5× Lực khi dừng., M Quật ném 64 px, −35 Thế, không gây khựng thêm., L Bẻ Đòn: bẻ khớp tay vũ khí, −25 Thế, không ném., XL Bẻ Đòn: −35 Thế, không ném.
Ghi đè input (input_override)
- attack_hold_ticks
- 12
- attack_hold_action
- CHARGE
- charge_marks
- 0.3
- charge_move_mult
- 0.6
- Kiểu bấm kỹ năng
- H06_SK01
TAP· H06_SK02TAP· H06_SK03TAP· H06_SK04TAP· H06_SK05TAP· H06_SK06TAP· H06_SK07TAP· H06_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ú |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Đấm Lò 1 — trái rồi phải H06_COMBO_A_1 | COMBO_A | 5 | 9 | 8 | 0.367 | 0.9 | LIGHT | CIRCLE r 28 off_fwd 22 | 48 | 3 | 0.03 | 0 | NONE | DASH@7/HEAVY@11/SKILL@11 | atk_speed_scales | 2 cú đấm thẳng nối nhau (tick 5 và tick 11 của move, cách 6 tick), mỗi cú CIRCLE r28 tâm cách thân 22 px, 0.9× Lực; mỗi cú trúng ≥ 1 quái +6 Nhiệt (trần 36/s). |
| Đấm Lò 2 — phải rồi trái H06_COMBO_A_2 | COMBO_A | 5 | 9 | 8 | 0.367 | 0.9 | LIGHT | CIRCLE r 28 off_fwd 22 | 48 | 3 | 0.03 | 0 | NONE | DASH@7/HEAVY@11/SKILL@11 | atk_speed_scales | Đổi tay dẫn; hông xoay theo, tạp dề phất. Như A1: 2 × 0.9× Lực, +6 Nhiệt/cú trúng. |
| Đấm Lò 3 — song quyền H06_COMBO_A_3 | COMBO_A | 5 | 9 | 9 | 0.383 | 0.9 | LIGHT | CIRCLE r 28 off_fwd 24 | 48 | 4 | 0.035 | 0.05 | NONE | DASH@7/HEAVY@11/SKILL@11 | atk_speed_scales | Cú thứ 2 là 2 găng cùng ra, đẩy 10 px; âm swing dùng a2 pitch +4%. Hết A3 = đã đủ '6 đấm' của chuỗi. |
| Móc Hất H06_COMBO_A_4 | COMBO_A | 8 | 4 | 14 | 0.433 | 2.5 | MEDIUM | ARC r 40 arc 90 | 48 | 10 | 0.05 | 0.15 | NONE | DASH@10/HEAVY@12/SKILL@12 | launch/atk_speed_scales | Móc ngược từ thắt lưng lên ARC 90° r40: quái S bị hất tung 0.4 s (đang hất = mục tiêu ưu tiên của A5); M −10 Thế, không hất; L/XL chỉ ăn sát thương. |
| Ném Bowling H06_COMBO_A_5 | COMBO_A | 9 | 6 | 16 | 0.517 | 2 | HEAVY | CIRCLE r 32 off_fwd 16 | 1 | 35 | 0.07 | 0.3 | FIRM | DASH@12/SKILL@15 | finisher/shieldbreak/atk_speed_scales | Tóm 1 quái gần nhất trong r32 (ưu tiên S đang bị hất): S bị ném lăn 120 px — thây lăn (H06_BOWLING_ROLL) gây 1.5× Lực mỗi quái trên đường, quái bị ném ăn 2.0× khi dừng; M bị quật ném 64 px −35 Thế; L Bẻ Đòn −25 Thế, XL −35 Thế, không ném. Không có ai trong r32: đấm thẳng 2.0× Lực. |
| Thây Lăn H06_BOWLING_ROLL | PASSIVE | 0 | 18 | 0 | 0.3 | 1.5 | MEDIUM | LINE p0 0/0 p1 120/0 w 24 | 48 | 4 | 0.02 | 0.1 | NONE | — | pierce | Thây quái S lăn dọc sàn 400 px/s, mỗi quái trên đường 1 lần 1.5× Lực + đẩy ngang 24 px (bầy bị rẽ đôi như ki). Chạm tường/L/XL thì dừng sớm và vỡ thành tro. |
| Đấm Nạp H06_CHARGE_PUNCH | HEAVY | 6 | 4 | 16 | 0.433 | 3 | HEAVY | CIRCLE r 36 off_fwd 24 | 48 | 15 | 0.06 | 0.2 | FIRM | DASH@8/SKILL@12 | charge/atk_speed_scales | Giữ Đánh 18 tick (0.30 s, đi ×0.6, khe găng sáng dần) rồi thả khi Nhiệt NGOÀI 80–95: đấm nạp CIRCLE r36 3.0× Lực, FIRM khi đang nạp, +6 Nhiệt. Trong 80–95 thả ra Tôi (H06_QUENCH). |
| Tôi H06_QUENCH | RESOURCE | 4 | 6 | 18 | 0.467 | 4 | HEAVY | CIRCLE r 80 | 48 | 20 | 0.08 | 0.4 | HYPER | DASH@10/SKILL@14 | charge | Giữ Đánh 0.30 s khi Nhiệt 80–95: Ruvan nhúng 2 găng xuống sàn như nhúng sắt vào nước — cột hơi trắng cam nổ CIRCLE r80 4.0× Lực, đẩy 48 px; Nhiệt về 30 (tiêu 50–65), mọi HP xám đang treo mất, +15 Dư Âm. HYPER từ tick 0 tới hết active. |
| Xả Cưỡng Bức H06_OVERHEAT_VENT | RESOURCE | 0 | 90 | 0 | 1.5 | 0 | LIGHT | CIRCLE r 40 | 48 | 0 | 0 | 0.1 | NONE | ANSWER@0/DASH@0 | — | Nhiệt chạm 100: đứng xả hơi 1.5 s (90 tick), mỗi 0.5 s đẩy quái S trong r40 ra 24 px, không sát thương; Nhiệt về 30 khi xả xong. ĐÁP/Lướt huỷ ngay ở mọi tick → Nhiệt về 90 (còn cửa sổ Tôi). |
| Lộn H06_DASH | DASH | 0 | 9 | 3 | 0.2 | 0 | LIGHT | NONE | 48 | 0 | 0 | 0 | NONE | DASH_ATTACK@6/COMBO_A@9 | — | Lộn qua vai 76 px / 9 tick (Lướt chung INV-12: hậu Lướt 3 tick), bất tử 12 tick từ tick 0; găng chống sàn để lại 2 vết cháy 0.3 s (chỉ hình). 2 lượt, hồi 0.7 s. |
| Lộn Đấm Móc H06_DASH_ATTACK | DASH_ATTACK | 4 | 4 | 15 | 0.383 | 2 | MEDIUM | CIRCLE r 32 off_fwd 24 | 48 | 8 | 0.045 | 0.18 | NONE | COMBO_A@14/DASH@10 | atk_speed_scales | Bấm Đánh trong/sau Lộn: bật dậy từ thế lộn, móc tay phải CIRCLE r32, lướt thêm 16 px; tính là bước A1 (cú kế = A2). |
| Bắt Đòn H06_ANSWER | ANSWER | 0 | 9 | 6 | 0.25 | 0 | ANSWER | CIRCLE r 16 off_fwd 10 | 48 | 0 | 0.08 | 0.25 | NONE | COUNTER@9 | — | Cửa sổ 9 tick (0.15 s), hit-test 360°, anim tự xoay về đòn vàng gần nhất; găng chụp lấy cổ tay/vũ khí kẻ đánh. Mọi đòn Y trong cửa sổ bị trung hoà; chỉ 1 kẻ gần nhất bị tóm và xử bằng H06_ANSWER_THROW. +10 Nhiệt (kể cả Nhiệt 0). |
| Bắt Đòn — Ném H06_ANSWER_THROW | ANSWER | 4 | 6 | 14 | 0.4 | 1.5 | ANSWER | LINE p0 0/0 p1 120/0 w 24 | 48 | 35 | 0.06 | 0.3 | INVULN | — | — | Theo hạng khối kẻ bị tóm: S ném bowling 120 px (sinh H06_BOWLING_ROLL, 1.5× Lực/quái, thưởng ≤ 1.5× trong trần 2.0× doc 11 §2.1); M quật ném 64 px −35 Thế; L Bẻ Đòn −25 Thế; XL Bẻ Đòn −35 Thế, không ném. Mở Phản 1.0 s. |
| Bắt Đòn — Bóp Nát H06_ANSWER_CRUSH | ANSWER | 2 | 3 | 8 | 0.217 | 0 | ANSWER | POINT | 48 | 0 | 0.05 | 0.15 | NONE | — | — | Đòn Y là đạn: găng tóm đạn giữa không trung rồi bóp nát, vụn than rơi quanh nắm tay; đạn huỷ, +10 Nhiệt, không mở Phản. |
| Hấp Nhiệt H06_HOLD | HOLD | 8 | 300 | 6 | 5.233 | 0 | LIGHT | NONE | 48 | 0 | 0 | 0 | HYPER | — | — | Startup 8 tick (hold_in), giữ tối đa 300 tick (5 s), HYPER, đứng yên. Đòn Y/N trúng: nhận đủ sát thương nhưng 60% thành HP xám (đòn trúng trong 3 s đổi lại), +8 Nhiệt/đòn, tốn Thế = phần thành HP xám × 1.0 (≥ 6). Lướt/ĐÁP huỷ ở mọi tick. |
| Đấm Lò Nổ H06_COUNTER | COUNTER | 6 | 4 | 20 | 0.5 | 10 | COUNTER | CIRCLE r 20 off_fwd 28 | 1 | 30 | 0.12 | 0.45 | INVULN | — | shieldbreak | Trong 1.0 s sau Bắt Đòn cận chiến: lao 60 px trong 6 tick (bất tử từ input tới hết active), đấm thẳng 10× Lực vào 1 mục tiêu, −30 Thế, shieldbreak; nối ngay H06_COUNTER_BURST (tổng 18 coef = 180 ở POWER 10). |
| Đấm Lò Nổ — lò vỡ H06_COUNTER_BURST | COUNTER | 10 | 3 | 17 | 0.5 | 8 | COUNTER | CIRCLE r 40 off_fwd 28 | 48 | 0 | 0.08 | 0.35 | INVULN | — | shieldbreak | Khe găng phụt hơi nổ CIRCLE r40 quanh điểm đấm 8.0× Lực (mục tiêu chính ăn cả 2 phần = 18×). |
| Phun Hơi Lò H06_SK01_BURST | SKILL | 12 | 4 | 18 | 0.567 | 3.5 | SKILL | CIRCLE r 96 | 48 | 8 | 0.06 | 0.35 | FIRM | — | — | Đập 2 găng vào nhau trước ngực: khe găng phụt vòng hơi nóng CIRCLE r96 3.5× Lực, đẩy 40 px, áp Than Hồng 4 s. Không cần cửa sổ Tôi, không đổi Nhiệt ngoài giá 20. |
| Lăn Thây — tóm H06_SK02_GRAB | SKILL | 8 | 4 | 10 | 0.367 | 1 | SKILL | CIRCLE r 40 off_fwd 20 | 1 | 0 | 0.04 | 0.1 | FIRM | — | — | Tóm quái S gần nhất trong r40 (không có S: tóm M nhưng M chỉ trượt nửa đường), 1.0× Lực lên kẻ bị tóm. |
| Lăn Thây — lăn H06_SK02_ROLL | SKILL | 0 | 30 | 0 | 0.5 | 3 | SKILL | LINE p0 0/0 p1 200/0 w 32 | 48 | 6 | 0.03 | 0.2 | NONE | — | pierce | Thây lăn 200 px/0.5 s, mỗi quái trên đường 3.0× Lực + đẩy ngang 24 px; chạm tường nảy 1 lần đổi hướng theo góc phản xạ, đi tiếp ≤ 120 px và trúng lại được. |
| Lăn Thây — vỡ tro H06_SK02_END | SKILL | 0 | 3 | 0 | 0.05 | 2 | SKILL | CIRCLE r 40 | 48 | 4 | 0.04 | 0.15 | NONE | — | — | Thây dừng (hết đường/chạm L/XL) vỡ thành tro CIRCLE r40 2.0× Lực, đẩy 30 px. |
| Hất Lò H06_SK03_UPPER | SKILL | 12 | 5 | 23 | 0.667 | 4.5 | SKILL | ARC r 72 arc 120 | 48 | 10 | 0.06 | 0.3 | FIRM | — | launch | Đấm 2 găng xuống sàn, sóng nhiệt bật lên nón 120° r72: mọi S hất tung 0.6 s, 4.5× Lực, 2 lớp Mục Rữa (xỉ nóng ăn giáp); M −10 Thế, không hất. |
| Quật Ngã — tóm H06_SK04_GRAB | SKILL | 6 | 4 | 6 | 0.267 | 0 | SKILL | CIRCLE r 28 off_fwd 16 | 1 | 0 | 0.04 | 0.1 | HYPER | — | — | Tóm 1 S/M gần nhất r28. Gặp L/XL: Bẻ Đòn −25 Thế tại chỗ, không quật (vẫn ra cú nện). |
| Quật Ngã — nện H06_SK04_SLAM | SKILL | 14 | 4 | 16 | 0.567 | 4.5 | SKILL | CIRCLE r 48 off_fwd −32 | 48 | 35 | 0.09 | 0.5 | HYPER | — | shieldbreak/launch | Quật kẻ bị tóm qua vai ra sau lưng: nện CIRCLE r48 tâm sau lưng 32 px, 4.5× Lực + hất S 0.6 s + 1 lớp Mục Rữa; kẻ bị quật ăn thêm 3.0× Lực, M −35 Thế. Shieldbreak. |
| Đấm Nung Chảy — cú 6 H06_SK05_A6 | SKILL | 8 | 4 | 16 | 0.467 | 5 | HEAVY | CIRCLE r 40 off_fwd 24 | 3 | 20 | 0.08 | 0.35 | FIRM | — | atk_speed_scales | Kích kỹ năng: 5 s găng nung trắng đầu khe. Trong 5 s, sau A5 bấm Đánh ra cú 6: đấm thẳng cả thân CIRCLE r40 5.0× Lực, tối đa 3 mục tiêu (ưu tiên M/L/XL), −20 Thế, +12 Nhiệt. Dùng lại clip attack5 đổi lớp sáng. |
| Mồ Hôi Sắt H06_SK06_PALM | SKILL | 10 | 4 | 22 | 0.6 | 13.5 | SKILL | ARC r 36 arc 60 | 2 | 30 | 0.1 | 0.4 | FIRM | — | — | Vỗ găng đẫm mồ hôi sắt vào ngực đối thủ ARC 60° r36: 13.5× Lực, −30 Thế. Lúc kích: đổi ngay mọi HP xám về HP; 3 s sau đó mỗi đòn trúng đổi thêm 4 HP xám (tối đa 10 lần). |
| Húc Khiên Thịt — lao H06_SK07_CHARGE | SKILL | 8 | 24 | 6 | 0.633 | 1.5 | SKILL | RECT len 110 w 28 | 48 | 6 | 0.03 | 0.25 | HYPER | — | — | Tóm 1 S gần nhất r28 giơ trước ngực làm khiên, lao 110 px trong 24 tick (trần lunge kỹ năng 110 px, doc 12 §3.5): quái trên đường 1.5× Lực + đẩy 40 px; khiên chặn ≤ 4 đạn Y bay tới mặt trước 120° (khiên hấp thụ tương đương 8% HP tối đa). HYPER 20 tick đầu lao. Không có S: lao trơn, không khiên. |
| Húc Khiên Thịt — ném khiên H06_SK07_THROW | SKILL | 4 | 4 | 14 | 0.367 | 2.5 | SKILL | CIRCLE r 40 off_fwd 32 | 48 | 8 | 0.05 | 0.25 | NONE | — | — | Cuối đường lao ném thây-khiên xuống trước mặt: vỡ CIRCLE r40 2.5× Lực, đẩy 30 px. |
| Nuốt Lửa — mở lò H06_SK08_CAST | SKILL | 6 | 3 | 9 | 0.3 | 2 | SKILL | CIRCLE r 48 | 48 | 6 | 0.05 | 0.2 | NONE | — | — | Đấm sàn mở khe găng: nổ r48 2.0× Lực. 4 s sau: mọi đạn Y chạm nửa trước 120° (r40 quanh găng) tự bị tóm và bóp nát (tối đa 6 viên), mỗi viên +10 Nhiệt + khiên 2.5% HP tối đa và phun H06_SK08_SHARD. Không chặn đòn cận chiến, không chặn đòn tím. |
| Nuốt Lửa — vụn đạn H06_SK08_SHARD | SKILL | 0 | 3 | 0 | 0.05 | 2 | SKILL | ARC r 56 arc 60 | 48 | 4 | 0.03 | 0.1 | NONE | — | — | Mỗi viên đạn bị bóp nát phun vụn than hình nón 60° r56 về hướng đạn tới: 2.0× Lực. |
| Lò Bung — đấm sàn H06_UL1_SLAM | ULT | 30 | 6 | 24 | 1 | 8 | ULT | CIRCLE r 150 | 128 | 40 | 0.1 | 0.8 | INVULN | — | shieldbreak | Nhảy lên nửa nhịp, nện 2 găng xuống: sàn nứt hình miệng lò, nổ CIRCLE r150 8.0× Lực, Than Hồng 4 s, đẩy 60 px; Nhiệt đặt về 50. |
| Lò Bung — 3 vòng hơi H06_UL1_RING | ULT | 36 | 54 | 30 | 2 | 7 | ULT | RING r 150 band 24 | 128 | 8 | 0.04 | 0.4 | INVULN | — | shieldbreak/rehit | Từ miệng lò nứt bung 3 vòng hơi lan tới r150, cách nhau 18 tick, mỗi vòng 7.0× Lực. Tổng ult 2.0 s (120 tick), bất tử suốt. |
| Trăm Búa Rèn — loạt đấm H06_UL2_FLURRY | ULT | 6 | 60 | 0 | 1.1 | 4.8 | ULT | CIRCLE r 28 off_fwd 20 | 1 | 4 | 0.02 | 0.3 | INVULN | — | shieldbreak/rehit | Khoá 1 mục tiêu M/L/XL gần nhất (không có: S), lao 40 px rồi 10 đấm mỗi 0.1 s (tick 6–66), mỗi đấm 4.8× Lực như búa gõ phôi. |
| Trăm Búa Rèn — nhát tôi H06_UL2_FINAL | ULT | 66 | 4 | 26 | 1.6 | 30 | ULT | CIRCLE r 32 off_fwd 24 | 1 | 40 | 0.12 | 0.7 | INVULN | — | shieldbreak/execute | Nhát cuối 2 găng đan nhau nện xuống 30× Lực; mục tiêu M/L ≤ 20% HP bị kết liễu, XL thay bằng ×1.5 sát thương (doc 17 §4.3). startup_t 66 tính từ đầu ult (sau loạt đấm), kết thúc tick 96 = duration_s 1.6. |
| Thân Thép Nóng Chảy — nhóm lò H06_UL3_CAST | ULT | 14 | 4 | 12 | 0.5 | 2 | ULT | CIRCLE r 64 | 128 | 10 | 0.08 | 0.6 | INVULN | — | shieldbreak | Đập găng vào ngực, thân đỏ rực từ trong (lõi #fff6f0): nổ r64 2.0× Lực, bất tử 0.5 s; 9 s dạng: Nhiệt khoá 90 (Chảy ×1.5, không HP xám, không Quá Lò). |
| Thân Thép — Tôi tự do H06_UL3_QUENCH | ULT | 4 | 6 | 18 | 0.467 | 4 | ULT | CIRCLE r 80 | 128 | 20 | 0.08 | 0.4 | HYPER | — | shieldbreak | Trong dạng: giữ Đánh 0.30 s ra Tôi r80 4.0× Lực không tốn Nhiệt, hồi 1.5 s (≈ 6 lần/dạng). |
| Thân Thép — nguội nổ H06_UL3_AFTERSHOCK | ULT | 0 | 6 | 24 | 0.5 | 6 | ULT | CIRCLE r 120 | 128 | 30 | 0.1 | 0.6 | NONE | — | shieldbreak | Hết 9 s: thân nguội đột ngột, vỏ xỉ nổ CIRCLE r120 6.0× Lực, đẩy 50 px; Nhiệt về 30. |
| Xích Nguội Quật Ngược H06_AS2_FIN | ASPECT | 2 | 3 | 0 | 0.083 | 1 | LIGHT | CIRCLE r 32 | 48 | 2 | 0.02 | 0.05 | HYPER | — | — | Găng Xích Nguội: đang Hấp Nhiệt, mỗi kẻ đánh cận chiến trúng Ruvan bị xích nung quật ngược 1.0× Lực + Than Hồng 4 s (≤ 1 lần/kẻ/0.5 s). |
| Nện Đôi H06_AS3_FIN | ASPECT | 10 | 5 | 18 | 0.55 | 3.4 | MEDIUM | CIRCLE r 56 off_fwd 16 | 48 | 12 | 0.06 | 0.25 | FIRM | — | launch/atk_speed_scales | Găng Búa Đôi thay A4: 2 nắm búa nện đôi CIRCLE r56 3.4× Lực (2.5 × 1.35), hất tung S 0.4 s, +9 Nhiệt. |
78 kỹ năng
Phun Hơi Lò
skill.quench_burstHạng III: Hạng III: r104; kích khi Nhiệt 80–95 thì vòng hơi tính là 1 lần Tôi (Dư Âm +15, Nhiệt về 30, HP xám mất) — dùng lại sheet VFX_H06_quench_burst chồng lên.
Đòn: SK01 · SKILL H06_SK01_BURST · Tag: Kỹ năng SKILL · Vùng rộng AREA
Lăn Thây
skill.bowlingHạng III: Hạng III: thây nảy tường 2 lần; mỗi lần nảy để lại 1 vệt than 1 s (chỉ hình). Tường không có trong 120 px thì thây quay đầu 1 lần ở cuối đường.
Đòn: SK02_GRAB · SKILL H06_SK02_GRAB · SK02_ROLL · SKILL H06_SK02_ROLL · SK02_END · SKILL H06_SK02_END · Tag: Kỹ năng SKILL · Vùng rộng AREA
Hất Lò
skill.launchHạng III: Hạng III: r80, 3 lớp Mục Rữa; quái S rơi xuống trong 0.3 s đầu sau khi hết hất trúng A5/Bắt Đòn thì luôn được tóm trước.
Đòn: SK03 · SKILL H06_SK03_UPPER · Tag: Kỹ năng SKILL · Mục Rữa STS_ROT
Quật Ngã
skill.grab_throwHạng III: Hạng III: tóm 2 S/M cùng lúc (mỗi găng 1 kẻ), quật chéo nhau ra sau, vùng nện r56; M −40 Thế, L/XL −30.
Đòn: SK04_GRAB · SKILL H06_SK04_GRAB · SK04_SLAM · SKILL H06_SK04_SLAM · Tag: Kỹ năng SKILL · Vùng rộng AREA
Đấm Nung Chảy
skill.combo_extendHạng III: Hạng III: buff 6 s, cú 6 +15 Nhiệt và, nếu trúng mục tiêu đang Vỡ Thế, cho ra ngay cú 6 lần nữa không cần đi lại chuỗi (1 lần/buff).
Đòn: A6 · SKILL H06_SK05_A6 · Tag: Kỹ năng SKILL · Combo COMBO
Mồ Hôi Sắt
skill.grey_hpHạng III: Hạng III: cửa sổ 4 s, 5 HP xám mỗi đòn; −36 Thế.
Đòn: SK06 · SKILL H06_SK06_PALM · Tag: Kỹ năng SKILL · Sinh lực VITAL
Húc Khiên Thịt
skill.hostage_shieldHạng III: Hạng III: chặn ≤ 6 đạn; khiên ném ra vỡ thành 2 thây lăn 80 px toả chéo ±30° (dùng H06_BOWLING_ROLL, 1.5× Lực).
Đòn: SK07_RUN · SKILL H06_SK07_CHARGE · SK07_THROW · SKILL H06_SK07_THROW · Tag: Kỹ năng SKILL · Di chuyển MOVE
Nuốt Lửa
skill.proj_crushHạng III: Hạng III: bóp tối đa 8 viên; viên thứ 6 trở đi phun vụn rộng 90° thay 60°.
Đòn: SK08 · SKILL H06_SK08_CAST · SK08_SHARD · SKILL H06_SK08_SHARD · Tag: Kỹ năng SKILL · Tài nguyên: Nhiệt RES:HEAT
83 tuyệt kỹ (Ult)
Lò Bung
ult.quench_burstNện sàn vỡ lò r150: 8× Lực, Than Hồng 4 s; bung 3 vòng hơi, mỗi vòng 7×; Nhiệt về 50.
Đòn: UL1_SLAM · ULT H06_UL1_SLAM · UL1_RING · ULT H06_UL1_RING
Trăm Búa Rèn
ult.combo_extendKhoá 1 mục tiêu: 10 đấm mỗi 0.1 s, mỗi đấm 4.8× Lực; nhát tôi 30×, kết liễu M/L ≤ 20% HP (XL ×1.5).
Đòn: UL2_FLURRY · ULT H06_UL2_FLURRY · UL2_FINAL · ULT H06_UL2_FINAL
Thân Thép Nóng Chảy
ult.form_aftershock9 s: Nhiệt khoá 90 (×1.5 Lực, không HP xám), Tôi r80 4× không tốn Nhiệt mỗi 1.5 s; hết dạng nổ r120 6×.
Ghi đè khi biến hình
- heat_lock
- 90
- dmg_mult_state
- HEAT_CHAY
- grey_hp
- không
- overheat
- không
- decay
- không
- quench_cost
- 0
- quench_cd_s
- 1.5
- ult_gain
- 0
- tint
- molten_core_fff6f0
- hit_vfx
- VFX_H06_UL3_molten
Đòn: UL3_CAST · ULT H06_UL3_CAST · UL3_QUENCH · ULT H06_UL3_QUENCH · UL3_END · ULT H06_UL3_AFTERSHOCK
93 Dạng Rèn
Găng Lò Sắt
Găng sắt rèn đen kẹp mảnh khuôn chuông: 6 đấm → Móc Hất → Ném Bowling; Nhiệt giảm 8/s sau 2 s không đánh.
- Combo
- tempo_mult 1, arc_add 0, range_add 0
- Luật tài nguyên
- giữ gốc
- Lệch độ khó
- —
- mechanic_key
- —
Găng Xích Nguội
Đấm r36, nhịp ×0.9; Nhiệt giảm 4/s; đang Hấp Nhiệt, kẻ đánh cận chiến bị xích nung quật 1× Lực + Than Hồng 4 s.
- Combo
- tempo_mult 0.9, arc_add 0, range_add 8
- Luật tài nguyên
- Xích ướt làm nguội chậm: Nhiệt giảm 4/s thay 8/s sau 2 s không đánh.
- Lệch độ khó
- axis R, delta −1
- mechanic_key
- passive.thorns
Đòn: AS2_THORN · ASPECT H06_AS2_FIN
Găng Búa Đôi
4 đấm búa thay 6 (A1–A2 mỗi bước 2 đấm), nhịp ×0.8, mỗi đấm ×1.35, +9 Nhiệt/cú; A4 nện đôi r56 hất tung S 0.4 s.
- Combo
- tempo_mult 0.8, arc_add 0, range_add 0
- Luật tài nguyên
- Mỗi cú búa trúng +9 Nhiệt (thay +6), trần 36/s giữ nguyên.
- Lệch độ khó
- axis V, delta −1
- mechanic_key
- passive.launch
Đòn: AS3_A4 · ASPECT H06_AS3_FIN
10Nâng cấp: Edge · Cộng Hưởng · Tiến Hoá
Then Chốt (LEGENDARY)
Lò Nuốt Đòn
Bắt Đòn lúc Nhiệt 80–95 tự Tôi r80 ×1.35; đang Hấp Nhiệt, Nhiệt không dưới 60.
answer.quench_burst + hold_block.res_floorLăn Theo Thây
Lộn trong 0.6 s sau Ném Bowling: lăn theo thây, thây ×1.3; dậy là ra lại Ném Bowling.
dash.bowling + dash_end.combo_extendLò Nổ Chảy Tràn
Phản lúc Chảy là Tôi, lò vỡ ×1.4; Tôi mở Phản 0.8 s lên kẻ M+ trong r80.
counter.quench_burst + res_spend.counter_window_extendHướng build Combo · 6 Edge
Cộng Hưởng: Nhịp Sáu Đấm H06_RS1 · Combo COMBO
Thay bậc I: đòn kết không còn tóm 1 — mỗi Ném Bowling là 2 thây lăn song song, bầy bị rẽ thành 3 làn.
Đốt Ngón Dài
Đấm Lò A1–A3: bán kính +4/6/10 px, sát thương +6/10/15%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 4 | 6 | 10 |
dmg_inc | 6 | 10 | 15 |
passive.range_extendLò Hất Cao Miệng
Hất Lò: hất tung +0.1/0.15/0.25 s, tầm nón +8/14/20 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
launch_add | 0.1 | 0.15 | 0.25 |
r_add | 8 | 14 | 20 |
skill_hit.launchKi Lăn Đường Dài
Thây Lăn: lăn xa +32/56/80 px, sát thương +20/35/50%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
len_add | 32 | 56 | 80 |
dmg_inc | 20 | 35 | 50 |
combo_end.bowlingMóc Bật Dây
Móc Hất trúng quái S: nó văng sang quái gần nhất trong r56, 1.5/2.4× Lực, hất cả hai.
| tham số | H1 | H2 |
|---|---|---|
coef | 1.5 | 2.4 |
attack.launchCú Sáu Loang Lửa
Đấm Nung Chảy: cú 6 +2 mục tiêu, r +8/12 px; kéo dài +1/1.5 s.
| tham số | H1 | H2 |
|---|---|---|
r_add | 8 | 12 |
buff_add | 1 | 1.5 |
combo_end.combo_extendKi Đổ Hàng Loạt
Thây Lăn hạ quái S: xác lăn tiếp 96 px (1.5× Lực/quái), nối ≤ 2 đời.
kill.bowlingHướng build Lướt · 6 Edge
Cộng Hưởng: Thân Lộn Bén Than H06_RS2 · Lướt DASH
Thay bậc I: Lộn không chỉ để né mà để rải than — đường lăn của Ruvan thành vệt lửa chặn sau lưng.
Lộn Xa Tro
Lộn: quãng lộn +8/14/20 px.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dist_add | 8 | 14 | 20 |
passive.dash_distanceMóc Bật Dậy
Lộn Đấm Móc: sát thương +20/35/50%, hất tung quái S 0.3/0.4/0.6 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
dmg_inc | 20 | 35 | 50 |
launch_s | 0.3 | 0.4 | 0.6 |
dash_attack.launchHơi Lửa Lách Người
Khi Né Hoàn Hảo, +6/10/15 Nhiệt.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
amount | 6 | 10 | 15 |
perfect_dodge.res_addKhiên Thịt Lao Bổ
Húc Khiên Thịt: lao +24/40 px; hết lao hoàn 1 lượt Lộn.
| tham số | H1 | H2 |
|---|---|---|
lunge_add | 24 | 40 |
dash_end.hostage_shieldLộn Tóm Cổ
Lộn xuyên quái S: tóm 1 con, đứng dậy ném bowling 96/128 px (1/1.5× Lực/quái).
| tham số | H1 | H2 |
|---|---|---|
len | 96 | 128 |
coef | 1 | 1.5 |
dash_through.grab_throwLộn Lò Hất Ki
Lộn húc quái S trên đường: 1.5× Lực, hất tung 0.5 s; +2 Nhiệt/quái (≤ 5).
dash_through.launchHướng build Đáp · 6 Edge
Cộng Hưởng: Tay Bắt Lửa Sống H06_RS3 · Đáp ANSWER
Thay bậc I: ném là lây — Mục Rữa trên kẻ bị tóm lan dọc đường lăn, đủ để mở phản ứng cặp SHOCK+ROT.
Găng Đón Sẵn
Bắt Đòn: cửa sổ ĐÁP +0.03/0.04/0.05 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
window_add | 0.03 | 0.04 | 0.05 |
answer.answer_window_addQuật Ném Nặng Tay
Bắt Đòn — Ném: thây lăn +0.2/0.35/0.5× Lực; M bị quật −5/9/12 Thế thêm.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
coef_add | 0.2 | 0.35 | 0.5 |
poise_add | 5 | 9 | 12 |
throw.grab_throwDa Sắt Hấp Hơi
Hấp Nhiệt: phần thành HP xám +6/10/15%, thời gian đổi lại +0.5/1/1.5 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
grey_add | 6 | 10 | 15 |
window_add | 0.5 | 1 | 1.5 |
hold_block.grey_hpNuốt Trọn Lửa Đạn
Nuốt Lửa: thời gian +1/1.5 s; vụn nón mỗi viên +1/1.6× Lực.
| tham số | H1 | H2 |
|---|---|---|
t_add | 1 | 1.5 |
shard_add | 1 | 1.6 |
answer_proj.proj_crushBẻ Khớp Mục Xương
Khi ĐÁP thành công, kẻ bị tóm chịu 2/3 lớp Mục Rữa; quái thây lăn trúng 1 lớp.
| tham số | H1 | H2 |
|---|---|---|
stacks | 2 | 3 |
answer.apply_rotHai Găng Hai Mạng
Bắt Đòn tóm 2 kẻ tấn công (mỗi găng 1), xử cả hai theo hạng khối; Phản mở +0.3 s.
answer.grab_throwHướng build Phản · 6 Edge
Cộng Hưởng: Lò Nổ Hai Lần H06_RS4 · Phản COUNTER
Thay bậc I: mỗi Phản là 2 nhịp nổ — đứng giữ chỗ 0.5 s để ăn nhịp sau, hoặc lộn ra kéo bầy vào.
Lò Vỡ Rộng
Đấm Lò Nổ: lò vỡ r +8/14/20 px, sát thương +15/26/38%.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 8 | 14 | 20 |
dmg_inc | 15 | 26 | 38 |
counter.area_growThan Văng Lò Vỡ
Khi Phản trúng, quái trong lò vỡ chịu Than Hồng 4/7/10 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
duration_s | 4 | 7 | 10 |
counter.apply_emberQuật Qua Vai Sâu
Quật Ngã: nện r +8/14/20 px; M −6/10/15 Thế thêm.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 8 | 14 | 20 |
poise_add | 6 | 10 | 15 |
skill_hit.grab_throwNgã Là Hết Đường
Quật Ngã mở Phản 0.6/1 s lên kẻ bị quật; nó chịu 2 lớp Mục Rữa.
| tham số | H1 | H2 |
|---|---|---|
window_s | 0.6 | 1 |
grab.apply_rotHơi Tôi Sau Búa
Trăm Búa Rèn xong: nhát tôi phụt hơi nổ r64 5/8× Lực quanh mục tiêu.
| tham số | H1 | H2 |
|---|---|---|
coef | 5 | 8 |
ult_end.quench_burstĐấm Văng Ki Sống
Đấm Lò Nổ văng kẻ S/M thành thây lăn 160 px (2× Lực/quái); L/XL −15 Thế thêm.
counter.bowlingHướng build Kỹ năng · 6 Edge
Cộng Hưởng: Lò Rèn Đủ Lửa H06_RS5 · Kỹ năng SKILL
Thay bậc I: kỹ năng thôi chỉ tốn Nhiệt mà thành bễ thổi lò — xả kỹ năng vào cụm để giữ Chảy.
Bễ Thổi Rộng
Phun Hơi Lò: r +8/14/20 px, Than Hồng +1/2/3 s.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
r_add | 8 | 14 | 20 |
ember_add | 1 | 2 | 3 |
skill.area_growThây Lăn Đường Dài
Lăn Thây: lăn +32/56/80 px, vỡ tro +0.5/0.9/1.25× Lực.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
len_add | 32 | 56 | 80 |
end_add | 0.5 | 0.9 | 1.25 |
skill_hit.bowlingHất Lò Bật Gốc
Hất Lò hạng III: hất tung cả quái M 0.3/0.5 s, M −6/10 Thế thêm.
| tham số | H1 | H2 |
|---|---|---|
m_launch_s | 0.3 | 0.5 |
m_poise_add | 6 | 10 |
skill_max_rank.launchThây Vỡ Đôi Ki
Lăn Thây nảy tường: thây vỡ đôi, 2 mảnh lăn chéo 45° 96/128 px (1.5/2.4× Lực/quái).
| tham số | H1 | H2 |
|---|---|---|
len | 96 | 128 |
coef | 1.5 | 2.4 |
throw.bowlingKhiên Thịt Dày Mặt
Húc Khiên Thịt: khiên chặn +2 đạn; ném khiên r +16/24 px, +1.5/2.4× Lực.
| tham số | H1 | H2 |
|---|---|---|
r_add | 16 | 24 |
coef_add | 1.5 | 2.4 |
throw.hostage_shieldHướng build Tài nguyên: Nhiệt · 6 Edge
Cộng Hưởng: Lò Trong Ngực H06_RS6 · Tài nguyên: Nhiệt RES:HEAT
Thay bậc I: Tôi thôi đốt máu — nửa HP xám đang treo về lại thân, Chảy mở sớm 10 Nhiệt (cửa sổ Tôi vẫn 80–95).
Mồ Hôi Muối Rẻ
Mồ Hôi Sắt: giá −4/7/10 Nhiệt; mỗi đòn trúng đổi thêm +1/2/3 HP xám.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
cost_cut | 4 | 7 | 10 |
grey_add | 1 | 2 | 3 |
res_spend.grey_hpBụng Lò Ăn Đạn
Nuốt Lửa: mỗi viên bóp nát +3/5/8 Nhiệt.
| tham số | H1 | H2 | H3 |
|---|---|---|---|
heat_add | 3 | 5 | 8 |
answer_proj.res_addHơi Hồi Về Lò
Phun Hơi Lò trúng ≥ 5 quái: hoàn 10/16 Nhiệt.
| tham số | H1 | H2 |
|---|---|---|
refund | 10 | 16 |
skill.res_refundLò Bung Không Nguội
Lò Bung: Nhiệt về 65/80 thay 50; 6 s sau Nhiệt không dưới 40.
| tham số | H1 | H2 |
|---|---|---|
heat_set | 65 | 80 |
ult.res_floorCú Sáu Nhúng Nước
Đấm Nung Chảy: cú 6 lúc Nhiệt 80–95 là Tôi r80 4× Lực, +15 Dư Âm.
res_threshold.combo_extendThép Chưa Chịu Nguội
Thân Thép Nóng Chảy: mỗi Tôi trong dạng +0.5 s (≤ +3 s); nổ nguội ×1.2.
ult_end.form_aftershockTiến Hoá
Ki Tro Vạn Thây
Mọi thây lăn để vệt tro 2 s (0.5× Lực/s), nảy 2 lần; vỡ là nổ r48 2× Lực.
- Cần Edge
- Ki Lăn Đường Dài H06_E03 · Thây Vỡ Đôi Ki H06_E28
- Điều kiện
SKILL_RANKLăn Thây H06_SK02 = 3 — Lăn Thây hạng III trong run; Ki Lăn Đường Dài hạng III + Thây Vỡ Đôi Ki hạng II (hướng Bowling).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- zone_tick.bowling
Thân Lò Không Tắt
Nhiệt ≥ 80: HP xám không mất theo giờ; Tôi đổi 100% HP xám về HP, nổ r96 5× Lực.
- Cần Edge
- Mồ Hôi Muối Rẻ H06_E31 · Da Sắt Hấp Hơi H06_E15
- Điều kiện
RESONANCELò Trong Ngực H06_RS6 = 1 — Lò Trong Ngực (RS6) đạt bậc I; Mồ Hôi Muối Rẻ + Da Sắt Hấp Hơi hạng III (hướng Chảy Lò).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- res_threshold.grey_hp
Găng Bẻ Gãy
Bắt Đòn lên M/L/XL: −15 Thế thêm, 2 lớp Mục Rữa; Vỡ Thế thì quật nó xuống nổ r56 6× Lực.
- Cần Edge
- Quật Ném Nặng Tay H06_E14 · Ngã Là Hết Đường H06_E22
- Điều kiện
LEVEL= 14 — Đạt Lv14 trong run; Quật Ném Nặng Tay hạng III + Ngã Là Hết Đường hạng II (hướng Bắt Đòn).- Mở
- 4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
- mechanic
- broken.grab_throw
Lò Đúc Thức Giấc
Găng thức tỉnh: đấm r34, thây lăn 160×32 px, Tôi r104; Nhiệt nhận ×1.2.
- Cần Edge
- —
- Điều kiện
BOSS_KILLEDThợ Cả Đúc Chuông BS_B3 = BS_B3 — Hạ BS_B3 trong run + 2 Cộng Hưởng hero bậc II bất kỳ.- Mở
- Công thức EVO4 hiện ở ST_FORGE (mở khoá sức mạnh cuối của T… MR12
- mechanic
- passive.weapon_awaken
Mẫu câu (14)
| ID | Câu |
|---|---|
| TPL_H06_uppercut_ricochet | Móc Hất trúng quái S (kể cả đang bị hất): quái đó văng thẳng tới quái gần nhất trong r56, cả hai ăn coef và bị hất tung 0.4 s; mỗi Móc Hất văng ≤ 1 quái, không nảy tiếp. |
| TPL_H06_corpse_ki | Thây Lăn hạ quái S: xác bật dậy lăn tiếp theo hướng cũ lệch ±15°, là thây lăn mới (độ sâu kích +1); đời 2 không sinh đời 3. Xác quái M+ không lăn. |
| TPL_H06_roll_grab | Lộn đi xuyên quái S đầu tiên trên đường: Ruvan kẹp nó dưới nách, hết Lộn thì ném bowling theo hướng cần trái; nội hồi 1.5 s, không tóm M+. |
| TPL_H06_twin_grab | Bắt Đòn tóm 2 kẻ tấn công gần nhất trong cửa sổ (mỗi găng 1): mỗi kẻ xử riêng theo hạng khối (S ném, M quật, L/XL Bẻ Đòn); thây thứ 2 lăn lệch 30°. Phản mở 1.3 s, nhắm kẻ khối lớn hơn. |
| TPL_H06_slam_counter | Quật Ngã đặt kẻ bị quật vào trạng thái 'vừa bị Bắt Đòn': cửa sổ Phản mở cho riêng nó; Phản lên nó được tính như Phản sau ĐÁP. Không mở Phản lên quái S. |
| TPL_H06_counter_bowl | Đấm Lò Nổ trúng mục tiêu S/M còn sống: nó bị đánh văng thành thây lăn dài 160 rộng 32 theo hướng đấm (2.0× Lực mỗi quái trên đường, chính nó ăn 1.0× khi dừng); L/XL không văng, chịu thêm Thế. |
| TPL_H06_wall_split | Mỗi lần thây Lăn Thây nảy tường: thây vỡ thành 2 mảnh lăn chéo ±45° so với pháp tuyến tường; mảnh không nảy tiếp, không vỡ đôi lần nữa. |
| TPL_H06_sweat_coat | Sau cú vỗ của Mồ Hôi Sắt, Ruvan khoác lớp mồ hôi sắt 4 s: mọi đòn Y/N nhận đổi 50% thành HP xám (không chồng với Hấp Nhiệt — lấy giá trị cao hơn); mỗi đòn trúng trong áo đổi thêm 2 HP xám. |
| TPL_H06_six_quench | Cú 6 của Đấm Nung Chảy tung ra khi Nhiệt 80–95: thay đòn r40 bằng Tôi r80 4.0× Lực (Nhiệt về 30, HP xám mất, +15 Dư Âm) mà không cần giữ Đánh 0.30 s. |
| TPL_H06_form_stoke | Trong Thân Thép Nóng Chảy, mỗi Tôi tự do trúng ≥ 1 quái kéo dài dạng 0.5 s, tổng ≤ +3 s; nổ nguội cuối dạng ×1.2. |
| TPL_H06_catch_quench | Bắt Đòn thành công khi Nhiệt 80–95: Ruvan tự Tôi r80 tại chỗ (Nhiệt về 30, +15 Dư Âm) và ném kẻ bị tóm vào cột hơi, toàn bộ ×1.35. Đang Hấp Nhiệt: Nhiệt không giảm dưới 60. |
| TPL_H06_dash_bowl | Lộn trong 0.6 s sau Ném Bowling: Ruvan lăn bám sau thây (i-frame Lộn giữ nguyên), thây ×1.3; bật dậy là bước A5 kế (tóm và ném ngay), mỗi chuỗi combo dùng 1 lần. |
| TPL_H06_counter_quench | Phản tung lúc Nhiệt ≥ 80: Đấm Lò Nổ tính là 1 lần Tôi (Nhiệt về 30, +15 Dư Âm, HP xám mất), lò vỡ ×1.4. Mỗi Tôi trúng kẻ M/L/XL trong r80 mở cửa sổ Phản 0.8 s lên kẻ đó. |
| TPL_H06_forge_relay | Mỗi kỹ năng tung khi Nhiệt ≥ 80: +6 Dư Âm (trần nâng cấp 10/s). Mỗi lần tung Tuyệt kỹ: mọi kỹ năng đang hồi chiêu −3 s (sàn hồi chiêu doc 13 §15.3 giữ nguyên). |
11Thông Thạo (mastery)
Thử thách Thông Thạo
| Thử thách | Điều kiện | Thưởng |
|---|---|---|
| ĐÁP {answers} tell vàng trong 1 run. TT1 | answers 30, tell Y | khung bia mộ Găng Than |
| Đầy tài nguyên riêng {fills} lần trong 1 run. TT2 | full_events 10, res HEAT, event QUENCH_80_95 | khung bia mộ Cột Hơi |
| Hạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… TT3 | boss_act 1, purple_hits 0 | khung bia mộ Khuôn Chuông Vỡ |
| Qua Hồi II chỉ dùng {skills} kỹ năng. TT4 | act_reach 2, skills_max 1 | khung bia mộ Xỉ Đỏ |
| Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}. TT5 | boss BS_FINAL, do_tang_min 8 | danh hiệu Kẻ Thức Tang Ruvan |
- Danh hiệu MR20
- Kẻ Đập Chuông Câm
- Mốc thoại MR11
- Bỏng cũ chưa lành mà con lại đập. Đưa tay đây, ta bôi mỡ cho. DLG_ULLA_H06_001
- Mốc thoại MR15
- Găng ngươi thủng ba lỗ. Đủ để tay thở. Giữ vậy. DLG_GREM_H06_001
- Bia mộ
- TMB_H06
12VFX spec
TEMPLATE · 25
Vào Nung (Nhiệt ≥ 40, enter_fx HEAT_NUNG). Cũng phát khi H06_E09 (+Nh…
Báo vào Nung 40: vòng chân cam loé, hai tàn than bốc từ găng.
Chi tiết spec
- Kích hoạt
- Vào Nung (Nhiệt ≥ 40, enter_fx HEAT_NUNG). Cũng phát khi H06_E09 (+Nhiệt khi Né Hoàn Hảo), H06_E33 (hoàn Nhiệt), H06_E34 (Nhiệt sàn 40) cộng Nhiệt. t = 0 = tick vượt mốc.
- Canvas
- 32×24 gốc 16/14
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.267
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind EMBER, count 2, speed 30, life_s 0.25, hex #ff8758, gravity −60, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/ruvan-heat-nung.js (mượn bladewake/levelup.js vòng chân, thu nhỏ)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-heat-nung), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng chân r14 (elip 28×14) loé #f2501f 1 px; khe găng chuyển 2 px sáng (theo art_lock). |
| 0.1 | 2 tàn than bốc từ 2 găng lên h 20. |
| 0.267 | Rỗng; khe găng giữ 2 px (sprite, không phải sheet). |
Vào Chảy (Nhiệt ≥ 80, enter_fx HEAT_CHAY) + world_cue cửa sổ Tôi. Hàn…
Báo vào Chảy và cửa sổ Tôi 80–95 ngay dưới chân: vòng trắng nháy 2 Hz, sắp quá lò thì vạch đỏ rung.
Chi tiết spec
- Kích hoạt
- Vào Chảy (Nhiệt ≥ 80, enter_fx HEAT_CHAY) + world_cue cửa sổ Tôi. Hàng 0 vào mốc (8 frame); hàng 1 loop 80–95 (runtime lặp frame 8–11 ở 2 Hz); hàng 2 Nhiệt 96–99 (vạch #b53417 rung 1 px). H06_E40, H06_RS5, H06_RS6 phát hàng 0.
- Canvas
- 32×24 gốc 16/14
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.533
- Easing
- curve linear, freeze_s 0
- Hạt
- kind EMBER, count 4, speed 40, life_s 0.3, hex #ffbc9b, gravity −60, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/ruvan-heat-chay.js (mượn bladewake/levelup.js vòng chân + ui/countdown.js nhịp)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-heat-chay), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: vòng chân r14 loé #fff6f0 2 px + 4 tàn than; khe găng lên 4 px + lõi #fff6f0. |
| 0.267 | Hàng 1 (cửa Tôi 80–95): vòng chân trắng #fff6f0 nháy 2 Hz (bật 0.25 s / tắt 0.25 s), 2 vạch 3 px hai bên chân #ffbc9b. |
| 0.4 | Hàng 2 (96–99): 2 vạch đổi #b53417, rung ngang 1 px mỗi frame — sắp Quá Lò. |
| 0.533 | Hết sheet; hàng 1/2 do runtime giữ theo Nhiệt. |
Quá Lò: Nhiệt chạm 100 → H06_OVERHEAT_VENT (overheat hit_frames 0/15/…
Xả cưỡng bức khi quá lò: 3 nhịp hơi trắng phụt từ găng và cổ áo, báo người chơi đang mất 1.5 s.
Chi tiết spec
- Kích hoạt
- Quá Lò: Nhiệt chạm 100 → H06_OVERHEAT_VENT (overheat hit_frames 0/15/30, 1.5 s, đẩy S trong r40 mỗi 0.5 s, không sát thương). t = 0 = chạm 100; ĐÁP/Lướt huỷ → runtime cắt về 3 frame tan.
- Canvas
- 112×104 gốc 56/84
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/1.5
- Easing
- curve linear, freeze_s 0
- Hạt
- kind SMOKE, count 18, speed 50, life_s 0.6, hex #ffe4d7, gravity −40, shadow không
- Hitbox
- shape circle r40, match Vòng đẩy elip 80×40 vẽ đúng r40 (không gây sát thương, chỉ đẩy 24 px); 3 nhịp trùng tick 0/30/60., wave none
- Nguồn
- recolor water/water-jet --opts {palette:PAL_HERO_H06, n:4, h:40} + floorRing nhịp
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-overheat-vent), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Khe găng và cổ áo phụt 4 tia hơi trắng #fff6f0 xiên 45° lên cao h 40; vòng sàn r40 (elip 80×40) #f2501f 1 px loé. |
| 0.5 | Nhịp 2: 4 tia hơi phụt lại, vòng sàn đẩy r40 sáng #ff8758; thân hero rung (runtime). |
| 1 | Nhịp 3 yếu hơn: tia hơi h 28, vòng #b53417. |
| 1.3 | Hơi cuộn trôi lên tan; găng nguội về #6b2312. |
| 1.5 | Rỗng; Nhiệt về 30. |
Lộn (trail_vfx): H06_DASH 76 px / 10 tick (bất tử tick 0–11). Cũng: H…
Lộn qua vai: bụi tro theo đường lộn và 2 vết cháy găng chống sàn sống 0.3 s.
Chi tiết spec
- Kích hoạt
- Lộn (trail_vfx): H06_DASH 76 px / 10 tick (bất tử tick 0–11). Cũng: H06_SK07_CHARGE (lao 120 px, --opts dist 120), H06_E07 (+8/14/20 px), H06_E10, H06_E12, H06_E38 (lăn theo thây), H06_RS2. t = 0 = rời chân; VFX_SHARED_dash_afterimage phát song song.
- Canvas
- 112×48 gốc 92/30
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind DUST, count 6, speed 50, life_s 0.3, hex #6b2312, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/dust-dash --opts {palette:PAL_HERO_H06, dist:76} + 2 decal găng
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-dash-roll), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Bụi tro bung ở chân xuất phát (elip 20×10) #6b2312; 2 găng chống sàn để 2 vết cháy 4×2 px #f2501f cách nhau 38 px dọc đường lộn. |
| 0.1 | Vệt bụi kéo dài theo đường lộn 76 px (màn e/w 76, n/s 38), dày 6 px α 0.45; vết cháy sáng #ffbc9b lõi 1 px. |
| 0.3 | Vết cháy nguội #6b2312 rồi tắt đúng 0.3 s; bụi tan dither. |
| 0.333 | Rỗng. |
Nạp đấm: H06_CHARGE_PUNCH giữ Đánh 18 tick (0.30 s, đi ×0.6). t = 0 =…
Găng nạp nhiệt: khe ngón sáng dần, vòng chân thu vào, chớp trắng khi đủ 0.30 s.
Chi tiết spec
- Kích hoạt
- Nạp đấm: H06_CHARGE_PUNCH giữ Đánh 18 tick (0.30 s, đi ×0.6). t = 0 = bắt đầu giữ; tới 0.30 s = sẵn sàng. Nhiệt 80–95 lúc thả → ra Tôi (VFX_H06_quench_burst), sheet này chỉ đổi frame cuối sang trắng.
- Canvas
- 48×40 gốc 24/30
- Pha (s)
- antic 0/0.3 · impact 0.3/0.333 · dissipate 0.333/0.4
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind MOTE, count 4, speed 40, life_s 0.3, hex #ffbc9b, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/ruvan-charge-glow.js (mượn lightning/charge-up.js vòng thu + _ruvan.js glow mask)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-charge-glow), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Khe giữa đốt ngón 2 găng sáng #b53417 1 px; vòng chân r14 (elip 28×14) #6b2312 bắt đầu thu vào. |
| 0.15 | Khe găng #f2501f 2 px; vòng chân còn r9; 2 tàn than hút vào găng. |
| 0.3 | Sẵn sàng: khe găng #fff6f0 4 px + chớp #ffffff 1 frame; vòng chân chạm r4 rồi tắt. |
| 0.4 | Giữ frame sẵn sàng tới khi thả (runtime giữ frame 10); thả là cắt. |
Đấm Nạp: H06_CHARGE_PUNCH thả khi Nhiệt ngoài 80–95 (charge_punch hit…
Đấm nạp nặng: chớp trắng rồi sóng va cam r36 đúng hitbox, vụn than toả.
Chi tiết spec
- Kích hoạt
- Đấm Nạp: H06_CHARGE_PUNCH thả khi Nhiệt ngoài 80–95 (charge_punch hit_frame 3, startup 6 tick). t = 0 = frame chạm.
- Canvas
- 96×64 gốc 16/40
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.4
- Easing
- curve outExpo, freeze_s 0.06
- Hạt
- kind EMBER, count 6, speed 150, life_s 0.27, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r36, match Đĩa + vành đạt r36 tại 0.067 s, phủ 100% elip 72×36 tâm +24; vành vượt ≤ 2 px. Sóng 4 frame theo reach., wave reach
- Nguồn
- recolor impacts/blunt-hit --opts {palette:PAL_HERO_H06, radius:36} + band đấm
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-charge-punch), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r36' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame trắng #ffffff 1 frame ở tâm +24; vệt đấm dày 6 px từ găng; đĩa va elip 72×36 (r36) lõi #fff6f0 r12. |
| 0.067 | Sóng va lan đủ r36 α 0.7 #f2501f, vành #ffbc9b 2 px; 6 vụn than spray + spawn3. |
| 0.2 | Vành vỡ thành 4 cung nguội #b53417; 1 cuộn hơi nhỏ bốc ở găng. |
| 0.4 | Rỗng. |
Lộn Đấm Móc: H06_DASH_ATTACK (dash_attack hit_frame 2, startup 5 tick…
Bật dậy từ thế lộn móc tay phải: cung móc ngắn và đĩa va r32.
Chi tiết spec
- Kích hoạt
- Lộn Đấm Móc: H06_DASH_ATTACK (dash_attack hit_frame 2, startup 5 tick, CIRCLE r32 off_fwd 24, lướt 20 px). t = 0 = frame chạm. H06_E08 thêm hất S 0.3/0.4/0.6 s (hàng 1: bụi hất dọc).
- Canvas
- 88×72 gốc 20/48
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0.045
- Hạt
- kind EMBER, count 4, speed 130, life_s 0.25, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r32, match Đĩa va đúng elip 64×32 tâm +24 (sau lướt 20 px) phủ 100%; cung vượt ≤ 4 px., wave none
- Nguồn
- recolor melee/uppercut --opts {palette:PAL_HERO_H06, radius:32, arc:70} + floorDisc
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-dash-attack-hook), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r32' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Cung móc ngắn từ thấp (h 4) lên h 28, quét 70° quanh tâm +24; chớp găng #ffffff 1 frame; đĩa va elip 64×32 (r32) #f2501f α 0.6. |
| 0.067 | Cung đầy, mép #fff6f0 2 px; 4 vụn than spray + spawn3; bụi từ chân bật dậy lùi sau 12 px. |
| 0.2 | Cung nguội #b53417 tách 2 dải; đĩa tan dither. |
| 0.333 | Rỗng. |
Bóp nát đạn: H06_ANSWER_CRUSH (đạn Y bị ĐÁP, answer_hit hit_frame 2) …
Găng bóp nát đạn giữa không trung: đạn dẹt, vụn than rơi kẽ ngón, +10 Nhiệt.
Chi tiết spec
- Kích hoạt
- Bóp nát đạn: H06_ANSWER_CRUSH (đạn Y bị ĐÁP, answer_hit hit_frame 2) và mỗi viên H06_SK08 tự bóp (≤ 6/8), H06_SK08_SHARD, H06_E32. t = 0 = frame nắm tay khép quanh đạn.
- Canvas
- 32×32 gốc 16/22
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve outQuart, freeze_s 0.05
- Hạt
- kind SHARD, count 6, speed 70, life_s 0.3, hex #f2501f, gravity 950, shadow có/kind SMOKE, count 1, speed 20, life_s 0.3, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor impacts/bullet-impact --opts {palette:PAL_HERO_H06, mode:'crush'} + rơi vụn
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-proj-crush), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Đạn địch đổi ngay sang ramp hero (INV-01a), lõi #fff6f0 bị găng ép dẹt 6×3; chớp #ffffff 1 frame. |
| 0.067 | 6 vụn than vỡ ra kẽ ngón, rơi xuống quanh nắm tay (h 14 → 0). |
| 0.2 | Vụn chạm sàn nảy 1 lần, nguội #6b2312; 1 sợi hơi từ găng. |
| 0.333 | Rỗng. |
Lăn Thây: hàng 0 H06_SK02_GRAB (sk02 hit_frame 3, tóm r40 off 20) + t…
Tóm quái S quăng qua đầu thành thây lăn; thây vỡ thành tro, nảy tường thì tách đôi.
Chi tiết spec
- Kích hoạt
- Lăn Thây: hàng 0 H06_SK02_GRAB (sk02 hit_frame 3, tóm r40 off 20) + tung (hit_frame 7); hàng 1 vỡ tro r40 (H06_SK07_THROW, H06_E29 +16/24 px); hàng 2 nảy tường tách đôi (H06_E28, 45°; SK02 hạng III vệt than 1 s). t = 0 = frame tóm. H06_E26, EVO1.
- Canvas
- 120×88 gốc 28/60
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.5
- Easing
- curve outQuart, freeze_s 0.04
- Hạt
- kind ASH, count 10, speed 120, life_s 0.35, hex #6b2312, gravity 950, shadow có/kind EMBER, count 4, speed 100, life_s 0.25, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape circle r40, match Hàng 0 đĩa tóm elip 80×40 tâm +20 phủ 100%; hàng 1 cầu tro r40 phủ 100% elip 80×40 tại điểm vỡ. E29 r56/64 → bậc 1.3 ×1.077 / 1.7 ×0.941., wave reach
- Nguồn
- new src/fx/heroes/ruvan-sk02-toss.js (mượn moves/fireball-throw.js tung + spawn/shatter-death.js vỡ tro)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk02-toss), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: đĩa tóm elip 80×40 (r40) tâm +20 loé #fff6f0 1 frame; găng kẹp gáy quái. |
| 0.05 | Hàng 1: thây vỡ tro — cầu tro r40 (elip 80×40) #6b2312 viền #ff8758, 10 mảnh tro spray + spawn3. |
| 0.133 | Hàng 0: vệt tung vòng cung qua đầu (h 44) ra trước, đuôi #f2501f; điểm chạm đất = p0 của LINE 200×32. |
| 0.2 | Hàng 2: tia va tường 3 vạch, 2 mảnh thây lệch ±45° mỗi mảnh kéo vệt than 1 px. |
| 0.5 | Rỗng; vệt than hạng III giữ 1 s trên floor_decal. |
Hất Lò: H06_SK03_UPPER (sk03 hit_frame 6, startup 12 tick, ARC r72 12…
Đấm sàn bật sóng nhiệt nón 120° r72 hất tung bầy S, xỉ nóng bay lên.
Chi tiết spec
- Kích hoạt
- Hất Lò: H06_SK03_UPPER (sk03 hit_frame 6, startup 12 tick, ARC r72 120°). t = 0 = 2 găng đấm xuống sàn. Hạng III r80; H06_E02 (+8/14/20 px), H06_E27 (hất cả M).
- Canvas
- 128×112 gốc 24/70
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.6
- Easing
- curve outQuart, freeze_s 0.06
- Hạt
- kind SLAG, count 12, speed 140, life_s 0.45, hex #f2501f, gravity 950, shadow có
- Hitbox
- shape sector r72 a120, match Nón sàn đúng elip r72 120° (mép ±60° tại (36, ±31)) phủ 100%; lưỡi khí vượt ≤ 6 px. III r80 → bậc 1.0 ×1.111; E02 III + hạng III r100 → bậc 1.3 ×1.068., wave reach
- Nguồn
- recolor nature/earth-spike --opts {palette:PAL_HERO_H06, shape:'sector', radius:72, arc:120} (gai đất → lưỡi khí nóng)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk03-launch), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'sector r72 a120' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 1 frame #ffffff ở điểm đấm sàn +8; nứt 5 vạch toả trong nón. |
| 0.05 | Sóng nhiệt bật lên: rẻ quạt sàn 120° #f2501f α 0.5 lan từ gốc; 7 lưỡi khí nóng dựng đứng h 0 → 36 dọc nón. |
| 0.167 | Nón đầy r72 (màn mép ±60° tại (36, ±31)); quái S trong nón có cột bụi dọc 2×12 px; 12 xỉ nóng bay lên. |
| 0.35 | Lưỡi khí tan, xỉ rơi lại; nứt sàn decal 2 s #6b2312. |
| 0.6 | Rỗng. |
Quật Ngã: hàng 0 H06_SK04_GRAB (sk04 hit_frame 3, tóm r28 off 16; L/X…
Tóm rồi quật qua vai nện xuống sau lưng r48: vệt cung lớn và sóng nện nứt sàn.
Chi tiết spec
- Kích hoạt
- Quật Ngã: hàng 0 H06_SK04_GRAB (sk04 hit_frame 3, tóm r28 off 16; L/XL Bẻ Đòn tại chỗ); hàng 1 H06_SK04_SLAM (hit_frame 10, nện CIRCLE r48 tâm SAU lưng 32 px). t = 0 = frame tóm. Hạng III r56 (2 kẻ, quật chéo); H06_E21 (+8/14/20 px), H06_E22, EVO3 (nổ r56).
- Canvas
- 144×96 gốc 92/60
- Pha (s)
- antic 0/0 · impact 0/0.233 · dissipate 0.233/0.7
- Easing
- curve outExpo, freeze_s 0.09
- Hạt
- kind DUST, count 10, speed 90, life_s 0.4, hex #6b2312, gravity 950, shadow không/kind EMBER, count 8, speed 160, life_s 0.3, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r48, match Hàng 1 vành đạt r48 tại t 0.3 phủ 100% elip 96×48 tâm −32 (sau lưng) ±2 px. III r56 → bậc 1.3 ×0.897; E21 III r76 → bậc 1.7 ×0.931., wave reach
- Nguồn
- new src/fx/heroes/ruvan-sk04-suplex.js (mượn melee/hammer-smash.js nện + impacts/ground-slam.js nứt)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk04-suplex), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r48' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: 2 gọng găng khép quanh eo địch, đĩa tóm elip 56×28 (r28) tâm +16 loé #fff6f0 1 frame. |
| 0.133 | Vệt quật nửa vòng qua vai từ trước (h 8) lên đỉnh h 48 rồi xuống sau lưng; đuôi #f2501f dày 4 px. |
| 0.233 | Hàng 1: 1 frame #ffffff tại −32; sóng nện elip 96×48 (r48) #ff8758 lõi #fff6f0 r12, 8 nứt toả, bụi + 2 cuộn hơi. |
| 0.4 | Vành nện vỡ cung nguội #b53417; nứt decal 2 s. |
| 0.7 | Rỗng. |
Đấm Nung Chảy: hàng 0 lúc kích (buff 5 s; III 6 s; H06_E05 +1.0/1.5 s…
Găng nung trắng 5 s; cú 6 cả thân nện đĩa va r40 bắn xỉ chảy.
Chi tiết spec
- Kích hoạt
- Đấm Nung Chảy: hàng 0 lúc kích (buff 5 s; III 6 s; H06_E05 +1.0/1.5 s) — găng nung trắng, runtime lặp frame 2–5 ở 12 fps tới hết buff; hàng 1 cú 6 H06_SK05_A6 (clip attack5 đổi lớp sáng, hit_frame 4, CIRCLE r40 off 24, ≤ 3 mục tiêu). t = 0 = kích (hàng 0) / frame chạm (hàng 1). H06_E35 cú 6 ở 80–95 thêm VFX_H06_quench_burst.
- Canvas
- 104×72 gốc 20/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 SLAG, count 8, speed 150, life_s 0.35, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r40, match Hàng 1 đĩa va elip 80×40 tâm +24 phủ 100%, vành vượt ≤ 2 px. E05 r48/52 → bậc 1.3 ×0.923 / ×1.0., wave none
- Nguồn
- new src/fx/heroes/ruvan-sk05-molten-fist.js (mượn fire/_lib.js glow + impacts/crit-hit.js cú 6)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk05-molten-fist), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: 2 găng bọc lớp sáng #fff6f0 viền #ff8758 1 px, 3 tia nhiệt 2 px rung trên mu găng (h 20); 1 frame chớp #ffffff. |
| 0 | Hàng 1: cú 6 cả thân — vệt đấm 10 px trắng, đĩa va elip 80×40 (r40) tâm +24 lõi #fff6f0 r14, chớp #ffffff 1 frame. |
| 0.067 | Hàng 0 loop (frame 2–5): mu găng nhấp nháy #ffbc9b ↔ #fff6f0, 1 giọt kim loại chảy rơi mỗi 0.33 s. |
| 0.2 | Hàng 1: vành r40 2 px #f2501f vỡ, 8 giọt xỉ bắn spray + spawn3 rơi để chấm cháy 1 s. |
| 0.4 | Rỗng (hàng 1). |
Mồ Hôi Sắt: H06_SK06_PALM (sk06 hit_frame 4, startup 10 tick, ARC r36…
Vỗ găng đẫm mồ hôi sắt vào ngực địch: giọt kim loại văng xèo hơi, HP xám đổi lại.
Chi tiết spec
- Kích hoạt
- Mồ Hôi Sắt: H06_SK06_PALM (sk06 hit_frame 4, startup 10 tick, ARC r36 60°, 16×). t = 0 = frame vỗ. Hàng 1: H06_E30 áo mồ hôi 4 s (runtime lặp frame 12–15 @12 quanh thân). Kèm VFX_H06_grey_restore (đổi toàn bộ HP xám). H06_E31.
- Canvas
- 80×64 gốc 20/44
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.5
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind DROP, count 10, speed 140, life_s 0.3, hex #ffe4d7, gravity 950, shadow có/kind SMOKE, count 4, speed 30, life_s 0.4, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape sector r36 a60, match Quạt sàn đúng elip r36 60° phủ 100%, giọt vượt ≤ 4 px., wave none
- Nguồn
- recolor water/splash --opts {palette:PAL_HERO_H06, shape:'sector', radius:36, arc:60} + shadeFloor
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk06-sweat), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'sector r36 a60' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 1 frame #ffffff: lòng găng áp vào ngực địch tại +18; quạt sàn r36 60° (màn mép ±30° tại (31, ±9)) #ff8758 α 0.6. |
| 0.067 | Mồ hôi sắt bắn: 10 giọt kim loại #ffe4d7 đầu #fff6f0 văng nón 60°, kêu xèo — 4 cuộn hơi nhỏ bốc tại chỗ giọt chạm. |
| 0.25 | Quạt tan dither; giọt rơi sàn thành chấm #b53417. |
| 0.5 | Rỗng. Hàng 1 (E30): lớp hơi mỏng ôm thân 2 px α 0.4 loop 4 s. |
Húc Khiên Thịt: H06_SK07_CHARGE (sk07 hit_frame 3, lao 120 px / 24 ti…
Lao 120 px giơ thây quái làm khiên: cung khiên phía trước chặn đạn vàng, bầy bị đẩy hai bên.
Chi tiết spec
- Kích hoạt
- Húc Khiên Thịt: H06_SK07_CHARGE (sk07 hit_frame 3, lao 120 px / 24 tick, RECT 120×28, HYPER 20 tick). t = 0 = bắt đầu lao; loop theo hero tới hết lao. Hàng 1: khiên chặn đạn (≤ 4; III 6; H06_E29 +2) — chớp vòng cung 120° phía trước. H06_E10 (+24/40 px), III 140 px.
- Canvas
- 96×64 gốc 64/40
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve linear, freeze_s 0
- Hạt
- kind DUST, count 8, speed 60, life_s 0.3, hex #6b2312, gravity 0, shadow không/kind EMBER, count 4, speed 120, life_s 0.2, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape rect L120 W28, match Dải lao rộng 28 (màn e/w 14 dọc, n/s 28 ngang) bám thân, dài = đường lao thực (runtime) 120/140/160 px; phủ 100% bề rộng., wave procedural
- Nguồn
- recolor scifi/force-field --opts {palette:PAL_HERO_H06, arc:120, r:20} + bladewake/dust-dash band
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk07-shield-charge), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'rect L120 W28' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Cung khiên 120° r20 phía trước (màn mép ±60° tại (10, ±9)) viền #ff8758 2 px quanh thây giơ trước ngực; bụi đẩy 2 bên. |
| 0.133 | Vệt lao 28 px rộng (màn e/w 28→14) kéo sau 48 px #6b2312 α 0.45; quái bị đẩy có tia va 6×6 #fff6f0 bên hông. |
| 0.2 | Hàng 1 (đạn chạm khiên): chớp cung 120° #fff6f0 1 frame + 4 vụn than; đếm còn lại bằng 4/6 vạch nhỏ trên cung. |
| 0.4 | Hết vòng; runtime lặp tới 24 tick rồi cắt sang VFX_H06_SK02_toss hàng 1 (ném vỡ r40). |
Nuốt Lửa: hàng 0 H06_SK08_CAST (sk08 hit_frame 3, nổ CIRCLE r48); hàn…
Đấm sàn mở khe găng: nổ r48 rồi cung hút phía trước nuốt đạn vàng suốt 4 s.
Chi tiết spec
- Kích hoạt
- Nuốt Lửa: hàng 0 H06_SK08_CAST (sk08 hit_frame 3, nổ CIRCLE r48); hàng 1 cửa sổ 4 s (II/III 5 s; H06_E16 +1.0/1.5 s) — vòng hút nửa trước 120° r40 quanh găng, runtime lặp frame 8–11 @12. Mỗi viên bị tóm phát VFX_H06_proj_crush + VFX_H06_shard_cone. H06_E32. t = 0 = đấm sàn.
- Canvas
- 112×72 gốc 56/44
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.4
- Easing
- curve outQuart, freeze_s 0.05
- Hạt
- kind SMOKE, count 6, speed 60, life_s 0.4, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape circle r48, match Hàng 0 vành đạt r48 tại 0.1 s phủ 100% elip 96×48. Hàng 1 cung r40 120° = vùng tóm đạn (không gây sát thương), vẽ đúng biên ±2 px., wave reach
- Nguồn
- new src/fx/heroes/ruvan-sk08-swallow.js (mượn shadow/soul-drain.js hút + _lib.js slam)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk08-swallow), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r48' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: 1 frame #ffffff; khe găng mở, nổ sàn elip 96×48 (r48) #f2501f lõi #fff6f0 r10. |
| 0.1 | Vành r48 2 px #ffbc9b, 6 cuộn hơi ra mép. |
| 0.267 | Hàng 1: cung hút 120° r40 phía trước (màn mép ±60° tại (20, ±17)) 1 px #ff8758 chấm-gạch xoay vào trong, khe găng sáng 2 px. |
| 0.4 | Hàng 0 rỗng; hàng 1 lặp tới hết cửa sổ. |
Vụn than phun: H06_SK08_SHARD (mỗi viên bị bóp, nón 60° r56 về hướng …
Đạn bóp nát phun ngược thành nón vụn than r56 về phía kẻ bắn.
Chi tiết spec
- Kích hoạt
- Vụn than phun: H06_SK08_SHARD (mỗi viên bị bóp, nón 60° r56 về hướng đạn tới; III từ viên 6: 90°). t = 0 = frame bóp xong. H06_E16.
- Canvas
- 76×56 gốc 12/32
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SHARD, count 10, speed 560, life_s 0.1, hex #ffbc9b, gravity 0, shadow không
- Hitbox
- shape sector r56 a60, match Quạt sàn đúng elip r56 60° phủ 100%; vụn tắt tại r56 ±2 px. III 90°: --opts arc 90 cùng bậc., wave reach
- Nguồn
- recolor projectiles/muzzle-shotgun --opts {palette:PAL_HERO_H06, radius:56, arc:60}
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-shard-cone), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'sector r56 a60' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Nón vụn than bung từ găng: 10 vụn 2×1 px #ffbc9b đầu #fff6f0, xoè 60°; sàn quạt r56 (màn mép ±30° tại (48, ±14)) α 0.35 #b53417. |
| 0.1 | Vụn tới r56 và tắt; 3 tia lửa nảy ở mép. |
| 0.3 | Rỗng. |
Găng Xích Nguội (H06_AS2): H06_AS2_FIN — đang Hấp Nhiệt, kẻ đánh cận …
Xích nung quật ngược vào kẻ đánh cận chiến khi Ruvan đang Hấp Nhiệt.
Chi tiết spec
- Kích hoạt
- Găng Xích Nguội (H06_AS2): H06_AS2_FIN — đang Hấp Nhiệt, kẻ đánh cận chiến trúng Ruvan bị xích nung quật ngược (as2_fin hit_frame 4, CIRCLE r32, ≤ 1 lần/kẻ/0.5 s). t = 0 = frame quật; hướng = về phía kẻ đánh.
- Canvas
- 80×56 gốc 40/36
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outQuart, freeze_s 0.02
- Hạt
- kind EMBER, count 3, speed 60, life_s 0.3, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape circle r32, match Đầu xích dừng đúng mép elip 64×32 (r32) ±2 px theo hướng kẻ đánh; vùng r32 quanh Ruvan = vùng phản đòn., wave none
- Nguồn
- recolor nature/vine-whip --opts {palette:PAL_HERO_H06, hue:-3, link:3} (roi dây → xích mắt)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-as2-fin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r32' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Sợi xích 2 px (mắt xích 3×2 xen #ffbc9b/#b53417) quật từ găng về kẻ đánh; đầu xích chớp #fff6f0. |
| 0.067 | Xích căng tới mép r32 (elip 64×32); 3 tàn than bám kẻ bị quật (Than Hồng). |
| 0.2 | Xích thu về găng, nguội #6b2312. |
| 0.3 | Rỗng. |
Găng Búa Đôi (H06_AS3): H06_AS3_FIN thay A4 (as3_fin hit_frame 5, sta…
Hai nắm búa nện đôi r56 thay Móc Hất, hất tung quái S.
Chi tiết spec
- Kích hoạt
- Găng Búa Đôi (H06_AS3): H06_AS3_FIN thay A4 (as3_fin hit_frame 5, startup 10 tick, CIRCLE r56 off 16, hất S 0.4 s). t = 0 = 2 nắm búa chạm sàn.
- Canvas
- 144×88 gốc 56/56
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.5
- Easing
- curve outExpo, freeze_s 0.06
- Hạt
- kind DUST, count 10, speed 90, life_s 0.4, hex #6b2312, gravity 950, shadow không/kind EMBER, count 6, speed 150, life_s 0.3, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r56, match Vành đạt r56 tại 0.15 s phủ 100% elip 112×56 tâm +16; bụi vượt ≤ 4 px., wave reach
- Nguồn
- recolor impacts/ground-slam --opts {palette:PAL_HERO_H06, hue:2, radius:56}
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-as3-fin), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r56' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 1 frame #ffffff; 2 búa nện cạnh nhau tại +16, 2 vết lõm elip 10×5. |
| 0.05 | Sóng nện elip 112×56 (r56) #f2501f lõi #fff6f0 r14 lan theo reach, 6 nứt toả, bụi vành. |
| 0.2 | Quái S trong vùng có cột bụi dọc 2×10 (hất); vành nguội #b53417. |
| 0.5 | Rỗng; nứt decal 1.5 s. |
Then Chốt H06_E37 Lò Nuốt Đòn — ON_ANSWER: Bắt Đòn lúc Nhiệt 80–95 tự…
Ấn Then Chốt Lò Nuốt Đòn bùng trên đầu Ruvan mỗi lần edge kích — báo rõ build đang chạy.
Chi tiết spec
- Kích hoạt
- Then Chốt H06_E37 Lò Nuốt Đòn — ON_ANSWER: Bắt Đòn lúc Nhiệt 80–95 tự Tôi r80 ×1.35 (VFX_H06_quench_burst + VFX_H06_answer_catch phát cùng); đang Hấp Nhiệt Nhiệt không dưới 60. t = 0 = tick kích; ≤ 1 lần/0.5 s (chống spam hình).
- Canvas
- 64×72 gốc 32/64
- Pha (s)
- antic 0/0.1 · impact 0.1/0.167 · dissipate 0.167/0.6
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind EMBER, count 8, speed 50, life_s 0.4, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/levelup --opts {palette:PAL_HERO_H06, emblem:fist_flame} (tpl_linchpin_burst)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-e37-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng chân r16 (elip 32×16) #ff8758 2 px thu từ r24; 6 tàn than hút về thân. |
| 0.1 | 1 frame #ffffff; ấn Then Chốt trên đầu (h 44): nắm đấm khép quanh ngọn lửa 3 lưỡi 12×12, lõi #fff6f0 viền #b53417 1 px. |
| 0.3 | Ấn nổi lên 6 px rồi vỡ thành 8 tàn than rơi quanh chân; vòng chân tan. |
| 0.6 | Rỗng. |
Then Chốt H06_E38 Lăn Theo Thây — ON_DASH: Lộn trong 0.6 s sau Ném Bo…
Ấn Then Chốt Lăn Theo Thây bùng trên đầu Ruvan mỗi lần edge kích — báo rõ build đang chạy.
Chi tiết spec
- Kích hoạt
- Then Chốt H06_E38 Lăn Theo Thây — ON_DASH: Lộn trong 0.6 s sau Ném Bowling — lăn theo thây (thây ×1.3), dậy là ra lại Ném Bowling (VFX_H06_bowling_roll + VFX_H06_dash_roll phát cùng). t = 0 = tick kích; ≤ 1 lần/0.5 s (chống spam hình).
- Canvas
- 64×72 gốc 32/64
- Pha (s)
- antic 0/0.1 · impact 0.1/0.167 · dissipate 0.167/0.6
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind EMBER, count 8, speed 50, life_s 0.4, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/levelup --opts {palette:PAL_HERO_H06, emblem:rolling_ki} (tpl_linchpin_burst)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-e38-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng chân r16 (elip 32×16) #ff8758 2 px thu từ r24; 6 tàn than hút về thân. |
| 0.1 | 1 frame #ffffff; ấn Then Chốt trên đầu (h 44): quả ki tròn 10×10 với 2 vạch lăn, lõi #fff6f0 viền #b53417 1 px. |
| 0.3 | Ấn nổi lên 6 px rồi vỡ thành 8 tàn than rơi quanh chân; vòng chân tan. |
| 0.6 | Rỗng. |
Then Chốt H06_E39 Lò Nổ Chảy Tràn — ON_COUNTER: Phản lúc Chảy là Tôi,…
Ấn Then Chốt Lò Nổ Chảy Tràn bùng trên đầu Ruvan mỗi lần edge kích — báo rõ build đang chạy.
Chi tiết spec
- Kích hoạt
- Then Chốt H06_E39 Lò Nổ Chảy Tràn — ON_COUNTER: Phản lúc Chảy là Tôi, lò vỡ ×1.4; Tôi mở Phản 0.8 s lên kẻ M+ trong r80 (VFX_H06_counter_blast + VFX_H06_quench_burst phát cùng). t = 0 = tick kích; ≤ 1 lần/0.5 s (chống spam hình).
- Canvas
- 64×72 gốc 32/64
- Pha (s)
- antic 0/0.1 · impact 0.1/0.167 · dissipate 0.167/0.6
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind EMBER, count 8, speed 50, life_s 0.4, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/levelup --opts {palette:PAL_HERO_H06, emblem:burst_furnace} (tpl_linchpin_burst)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-e39-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng chân r16 (elip 32×16) #ff8758 2 px thu từ r24; 6 tàn than hút về thân. |
| 0.1 | 1 frame #ffffff; ấn Then Chốt trên đầu (h 44): miệng lò vỡ 12×10 phụt 3 tia, lõi #fff6f0 viền #b53417 1 px. |
| 0.3 | Ấn nổi lên 6 px rồi vỡ thành 8 tàn than rơi quanh chân; vòng chân tan. |
| 0.6 | Rỗng. |
Then Chốt H06_E40 Lò Rèn Không Tắt — ON_SKILL_CAST: kỹ năng dùng lúc …
Ấn Then Chốt Lò Rèn Không Tắt bùng trên đầu Ruvan mỗi lần edge kích — báo rõ build đang chạy.
Chi tiết spec
- Kích hoạt
- Then Chốt H06_E40 Lò Rèn Không Tắt — ON_SKILL_CAST: kỹ năng dùng lúc Chảy +6 Dư Âm; tung Tuyệt kỹ thì mọi kỹ năng hồi chiêu −3 s (VFX_H06_heat_chay phát cùng). t = 0 = tick kích; ≤ 1 lần/0.5 s (chống spam hình).
- Canvas
- 64×72 gốc 32/64
- Pha (s)
- antic 0/0.1 · impact 0.1/0.167 · dissipate 0.167/0.6
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind EMBER, count 8, speed 50, life_s 0.4, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor bladewake/levelup --opts {palette:PAL_HERO_H06, emblem:anvil_flame} (tpl_linchpin_burst)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-e40-lp), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng chân r16 (elip 32×16) #ff8758 2 px thu từ r24; 6 tàn than hút về thân. |
| 0.1 | 1 frame #ffffff; ấn Then Chốt trên đầu (h 44): đe 12×6 có ngọn lửa đứng trên, lõi #fff6f0 viền #b53417 1 px. |
| 0.3 | Ấn nổi lên 6 px rồi vỡ thành 8 tàn than rơi quanh chân; vòng chân tan. |
| 0.6 | Rỗng. |
Tiến Hoá H06_EVO1 Ki Tro Vạn Thây (H06_E03 + H06_E28, Lăn Thây hạng I…
Ki Tro Vạn Thây: khoảnh khắc đúc. Trong trận: mọi thây lăn dùng VFX_H06_bowling_roll với band giữ 2 s α 0.45 (vệt tro rộng 24, 0.5× Lực/s), nảy 2 lần; vỡ = VFX_H06_SK02_toss hàng 1 --opts radius 48 (bậc 1.3 ×0.923).
Chi tiết spec
- Kích hoạt
- Tiến Hoá H06_EVO1 Ki Tro Vạn Thây (H06_E03 + H06_E28, Lăn Thây hạng III): t = 0 = bắt đầu ghép ở màn chọn thưởng / trong run, phát 1 lần trên Ruvan; World chậm 0.3 s. VFX_SHARED_evolution_forge phát cùng.
- Canvas
- 96×112 gốc 48/100
- Pha (s)
- antic 0/0.6 · impact 0.6/0.7 · dissipate 0.7/1.5
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind EMBER, count 12, speed 40, life_s 0.8, hex #ff8758, gravity 950, shadow không/kind SMOKE, count 8, speed 40, life_s 0.6, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor shared/evolution-forge (sheet gốc VFX_SHARED_evolution_forge) --opts palette H06, knob emblem:ash_ki (tpl_evo_fuse)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-evo1-fuse), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 2 ấn edge 10×10 xoay quanh Ruvan r24 (elip 48×24), kéo hơi trắng vào giữa. |
| 0.4 | 2 ấn chập vào găng phải; khe găng sáng 4 px, đe nhỏ 8×4 loé dưới tay. |
| 0.6 | 1 frame #ffffff; biểu tượng quả ki tro 24×24 kéo vệt bùng trên đầu (h 48) lõi #fff6f0 viền #f2501f; đĩa sàn r40 (elip 80×40) α 0.45 3 frame. |
| 0.9 | Biểu tượng tan thành 12 tàn than rơi quanh chân. |
| 1.5 | Rỗng. |
Tiến Hoá H06_EVO2 Thân Lò Không Tắt (H06_E31 + H06_E15, RS6 bậc I): t…
Thân Lò Không Tắt: khoảnh khắc đúc. Trong trận: Tôi nổ r96 (VFX_H06_quench_burst bậc 1.3 ×0.923) + VFX_H06_grey_restore hàng 1 (đổi 100% HP xám).
Chi tiết spec
- Kích hoạt
- Tiến Hoá H06_EVO2 Thân Lò Không Tắt (H06_E31 + H06_E15, RS6 bậc I): t = 0 = bắt đầu ghép ở màn chọn thưởng / trong run, phát 1 lần trên Ruvan; World chậm 0.3 s. VFX_SHARED_evolution_forge phát cùng.
- Canvas
- 96×112 gốc 48/100
- Pha (s)
- antic 0/0.6 · impact 0.6/0.7 · dissipate 0.7/1.5
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind EMBER, count 12, speed 40, life_s 0.8, hex #ff8758, gravity 950, shadow không/kind SMOKE, count 8, speed 40, life_s 0.6, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor shared/evolution-forge (sheet gốc VFX_SHARED_evolution_forge) --opts palette H06, knob emblem:chest_furnace (tpl_evo_fuse)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-evo2-fuse), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 2 ấn edge 10×10 xoay quanh Ruvan r24 (elip 48×24), kéo hơi trắng vào giữa. |
| 0.4 | 2 ấn chập vào găng phải; khe găng sáng 4 px, đe nhỏ 8×4 loé dưới tay. |
| 0.6 | 1 frame #ffffff; biểu tượng lồng ngực có lò đỏ 24×24 bùng trên đầu (h 48) lõi #fff6f0 viền #f2501f; đĩa sàn r40 (elip 80×40) α 0.45 3 frame. |
| 0.9 | Biểu tượng tan thành 12 tàn than rơi quanh chân. |
| 1.5 | Rỗng. |
Tiến Hoá H06_EVO3 Găng Bẻ Gãy (H06_E14 + H06_E22, Lv14): t = 0 = bắt …
Găng Bẻ Gãy: khoảnh khắc đúc. Trong trận: Vỡ Thế sau Bắt Đòn → VFX_H06_SK04_suplex hàng 1 --opts radius 56 (bậc 1.3 ×0.897) + VFX_SHARED_guard_break.
Chi tiết spec
- Kích hoạt
- Tiến Hoá H06_EVO3 Găng Bẻ Gãy (H06_E14 + H06_E22, Lv14): t = 0 = bắt đầu ghép ở màn chọn thưởng / trong run, phát 1 lần trên Ruvan; World chậm 0.3 s. VFX_SHARED_evolution_forge phát cùng.
- Canvas
- 96×112 gốc 48/100
- Pha (s)
- antic 0/0.6 · impact 0.6/0.7 · dissipate 0.7/1.5
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind EMBER, count 12, speed 40, life_s 0.8, hex #ff8758, gravity 950, shadow không/kind SMOKE, count 8, speed 40, life_s 0.6, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor shared/evolution-forge (sheet gốc VFX_SHARED_evolution_forge) --opts palette H06, knob emblem:broken_bar (tpl_evo_fuse)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-evo3-fuse), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 2 ấn edge 10×10 xoay quanh Ruvan r24 (elip 48×24), kéo hơi trắng vào giữa. |
| 0.4 | 2 ấn chập vào găng phải; khe găng sáng 4 px, đe nhỏ 8×4 loé dưới tay. |
| 0.6 | 1 frame #ffffff; biểu tượng găng bẻ gãy thanh sắt 24×24 bùng trên đầu (h 48) lõi #fff6f0 viền #f2501f; đĩa sàn r40 (elip 80×40) α 0.45 3 frame. |
| 0.9 | Biểu tượng tan thành 12 tàn than rơi quanh chân. |
| 1.5 | Rỗng. |
SIGNATURE · 14
Bắt Đòn (ĐÁP): H06_ANSWER thành công trong cửa sổ 9 tick (0.15 s; H06…
Bắt Đòn: găng chụp gọn cổ tay kẻ đánh, chớp trắng và vòng nén cam — trả lời đòn vàng bằng cú tóm.
Chi tiết spec
- Kích hoạt
- Bắt Đòn (ĐÁP): H06_ANSWER thành công trong cửa sổ 9 tick (0.15 s; H06_E13 +0.03/0.04/0.05 s). t = 0 = frame đỡ trúng (answer hit_frame 0); VFX_SHARED_answer_flash phát song song. Hàng 1: H06_E18 tóm 2 kẻ (2 găng); H06_E17, H06_E37, H06_RS3.
- Canvas
- 64×48 gốc 20/30
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind EMBER, count 3, speed 80, life_s 0.25, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape circle r16, match Đĩa chụp elip 32×16 tâm +10 phủ 100% vùng tóm; hit-test thật 360° (anim tự xoay về đòn gần nhất) — sheet 8 hướng chọn theo hướng xoay., wave none
- Nguồn
- new src/fx/heroes/ruvan-answer-catch.js (mượn impacts/parry.js chớp + bladewake/parry-flash.js vòng nén)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-answer-catch), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r16' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 1 frame #ffffff: găng chụp tại +10, 2 gọng cong 6 px #fff6f0 khép quanh cổ tay địch; đĩa sàn elip 32×16 (r16) loé #ff8758. |
| 0.033 | 4 tia ép ngắn 3 px toả từ điểm chụp (+, không phải 4 cánh glint); vòng nén r16 2 px #f2501f thu vào. |
| 0.15 | Gọng giữ nguyên (kẻ bị tóm), khe găng sáng 2 px; vụn than 3 hạt rơi. |
| 0.3 | Rỗng; VFX_H06_bowling_throw nối tiếp. |
Hấp Nhiệt (hold): H06_HOLD — hold_in 8 tick, loop tới 5 s, hold_out 6…
Đứng hấp nhiệt: hơi trắng bốc từ vai, mỗi đòn trúng bị hút vào ngực thành HP xám và Nhiệt.
Chi tiết spec
- Kích hoạt
- Hấp Nhiệt (hold): H06_HOLD — hold_in 8 tick, loop tới 5 s, hold_out 6 tick. t = 0 = vào giữ. Hàng 1: mỗi đòn Y/N trúng khi giữ (hấp: +8 Nhiệt, 60% thành HP xám). H06_E15 (+6/10/15% HP xám), AS2 (xích nung) chồng VFX_H06_as2_fin.
- Canvas
- 64×56 gốc 32/44
- Pha (s)
- antic 0/0 · impact 0/0.083 · dissipate 0.083/0.667
- Easing
- curve linear, freeze_s 0
- Hạt
- kind SMOKE, count 4, speed 20, life_s 0.6, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/ruvan-hold-soak.js (mượn status/rage.js aura + weather/fog.js sợi hơi)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-hold-soak), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vòng sàn r20 (elip 40×20) #6b2312 α 0.5 quanh chân; hơi mỏng #ffe4d7 bốc từ vai và khăn cổ 2 sợi. |
| 0.25 | Loop: 2 sợi hơi uốn lên h 34, khe găng sáng 2 px nhịp thở. |
| 0.5 | Hàng 1 (đòn trúng): vệt hơi bị hút ngược vào ngực 4 tia 6 px #fff6f0 + vòng sàn loé #f2501f 1 frame. |
| 0.667 | Hết vòng loop (8 frame @12); hold_out: runtime phát frame 0 đảo ngược 2 frame. |
Đấm Lò: H06_COMBO_A_1/A_2 (attack1/attack2 hit_frames 2 và 6, startup…
Cú đấm thẳng nhanh của găng lò: vệt ngắn + đĩa va cam đặc đúng r28, 2 cú/bước; đọc được giữa bầy nhờ lõi trắng nóng.
Chi tiết spec
- Kích hoạt
- Đấm Lò: H06_COMBO_A_1/A_2 (attack1/attack2 hit_frames 2 và 6, startup 5 tick) và H06_COMBO_A_3 (attack3, cú 2 là 2 găng cùng ra, off_fwd 24). t = 0 = frame chạm của từng cú; 1 instance/cú (2 cú/bước). H06_E01 Đốt Ngón Dài nới r; EVO4 đấm r34.
- Canvas
- 72×48 gốc 10/30
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.233
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind EMBER, count 3, speed 120, life_s 0.2, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape circle r28, match Đĩa va vẽ đúng elip 56×28 tâm +22 (A3 +24) phủ 100% hitbox, viền vượt ≤ 2 px. E01 hạng III r38 → bậc 1.3 ×1.044 (vẽ r38). EVO4 r34 → bậc 1.3 ×0.934. Đo --dirs 8., wave none
- Nguồn
- new src/fx/heroes/ruvan-punch-jab.js (mượn melee/thrust.js vệt đâm + impacts/blunt-hit.js đĩa va)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-punch-jab), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r28' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Frame nhả: vệt đấm thẳng 4 px dày từ găng (x +10, h 14) tới tâm va x +22; đĩa va elip 56×28 (r28) tại +22 lõi #fff6f0 r8, viền #ff8758 1 px; chớp găng #ffffff 1 frame. |
| 0.033 | Đĩa va nở đủ r28 α 0.6 #f2501f; 3 vụn than bắn ngược hướng đấm ±40°, cao h 14 → 6. |
| 0.1 | Vệt đấm tắt từ gốc; đĩa còn vành 1 px #b53417 tan dither Bayer 4×4; 1 sợi hơi trắng #ffe4d7 bốc từ khe găng. |
| 0.233 | Rỗng. |
Móc Hất: H06_COMBO_A_4 (attack4 hit_frame 4, startup 8 tick, active 4…
Cú móc ngược hất tung quái S: cung lửa dựng đứng 90° với quạt sàn r40 khớp hitbox.
Chi tiết spec
- Kích hoạt
- Móc Hất: H06_COMBO_A_4 (attack4 hit_frame 4, startup 8 tick, active 4). t = 0 = frame chạm. Hàng 1: H06_E04 Móc Bật Dây (quái S văng sang mục tiêu trong r56); hàng 2: H06_E12 Lộn Lò Hất Ki (hất nhỏ r24 khi Lộn húc).
- Canvas
- 96×80 gốc 24/56
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.333
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind EMBER, count 4, speed 90, life_s 0.3, hex #ffbc9b, gravity −200, shadow không
- Hitbox
- shape sector r40 a90, match Quạt sàn đúng elip r40 90° (màn 40×28, mép ±45° tại (28, ±14)) phủ 100%; cung vượt ≤ 4 px. Hàng 2 E12 r24 không hitbox riêng (dùng hitbox thân Lộn)., wave none
- Nguồn
- recolor melee/uppercut --opts {palette:PAL_HERO_H06, radius:40, arc:90} + shadeFloor quạt
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-uppercut-arc), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'sector r40 a90' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Cung móc dựng đứng từ thắt lưng (h 4) lên trên đầu (h 40), quét 90° phía trước; mép cung #fff6f0 2 px, thân #f2501f; sàn: rẻ quạt r40 90° (màn 40×28) α 0.4 #b53417. |
| 0.05 | Cung đạt đỉnh h 40; 4 tàn than bị hút lên theo cung; quái S bị hất có vệt bụi dọc 1 px dưới chân. |
| 0.15 | Cung tách thành 3 dải nguội #b53417; sàn tan dither. |
| 0.333 | Rỗng. |
Tóm + ném: H06_COMBO_A_5 (attack5 hit_frame 5, startup 9 tick; tóm r3…
Ruvan tóm quái rồi quăng qua vai thành quả bowling; M bị quật, L/XL bị bẻ khớp — mỗi hạng khối một hàng hình riêng.
Chi tiết spec
- Kích hoạt
- Tóm + ném: H06_COMBO_A_5 (attack5 hit_frame 5, startup 9 tick; tóm r32 off_fwd 16) và H06_ANSWER_THROW (answer_hit hit_frame 2). t = 0 = frame tóm. Hàng 0: S ném bowling (nối VFX_H06_bowling_roll); hàng 1: M quật ném 64 px; hàng 2: L/XL Bẻ Đòn; hàng 3: không ai trong r32 = đấm thẳng 2.0×. H06_E11 (Lộn Tóm Cổ), H06_E14, H06_E18 (2 găng, 2 hàng 0 lật gương), H06_RS1.
- Canvas
- 112×80 gốc 24/52
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.4
- Easing
- curve outQuart, freeze_s 0.07
- Hạt
- kind DUST, count 6, speed 70, life_s 0.3, hex #6b2312, gravity 0, shadow không/kind EMBER, count 3, speed 110, life_s 0.2, hex #ff8758, gravity 950, shadow không
- Hitbox
- shape circle r32, match Đĩa tóm vẽ đúng elip 64×32 tâm +16 phủ 100% vùng tóm; hàng 0 điểm thả trùng p0 của LINE 120×24 (bowling_roll). Hàng 1 điểm nện +64 ± 2 px., wave none
- Nguồn
- new src/fx/heroes/ruvan-bowling-throw.js (mượn moves/fireball-throw.js vệt ném + impacts/heavy-landing.js bụi thả)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-bowling-throw), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r32' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Đĩa tóm elip 64×32 (r32) tâm +16 loé #fff6f0 1 frame; 2 găng kẹp: 2 vạch cong 5 px #ffbc9b khép lại. |
| 0.05 | Hàng 0: vệt quăng cong qua vai từ sau ra trước (h 30 → 4), đuôi #f2501f, bụi tung ở điểm thả (+24). Hàng 1: cung quật nửa vòng xuống sàn +64, nứt sàn 1 vạch. Hàng 2: tia gãy 3 vạch zíc-zắc #ffe4d7 ở cổ tay địch, không vệt quăng. |
| 0.2 | Bụi thả 6 hạt lan r12; vạch kẹp nguội #b53417. |
| 0.4 | Rỗng. |
Thây lăn (gắn vào thây quái S đang lăn, loop tới khi thây dừng): H06_…
Đường lăn của thây quái: dải bụi tro hai vệt cháy, tàn than nảy; bầy bị rẽ đôi như ki.
Chi tiết spec
- Kích hoạt
- Thây lăn (gắn vào thây quái S đang lăn, loop tới khi thây dừng): H06_BOWLING_ROLL (LINE 120×24, 400 px/s = 0.3 s), H06_SK02_ROLL (200×32, 0.5 s, nảy tường), H06_E03/E06/E11/E24/E28/E38, H06_RS1, EVO1, EVO4 (160×32). t = 0 = thây rời tay.
- Canvas
- 72×40 gốc 50/26
- Pha (s)
- antic 0/0 · impact 0/0.067 · dissipate 0.067/0.533
- Easing
- curve linear, freeze_s 0
- Hạt
- kind EMBER, count 16, speed 60, life_s 0.25, hex #ff8758, gravity 950, shadow không/kind DUST, count 8, speed 40, life_s 0.4, hex #6b2312, gravity 0, shadow không
- Hitbox
- shape line L120 W24, match Dải bụi rộng 24 (màn e/w 24→12 dọc, n/s 24 ngang, chéo 17) bám tâm thây, phủ 100% bề rộng va; dài theo đường thây đi thực (runtime), không nướng. SK02/EVO4 W32: bậc 1.3 ×1.026 = 32 ±1 px., wave procedural
- Nguồn
- new src/fx/heroes/ruvan-bowling-roll.js (mượn bladewake/dust-dash.js bụi + fire/_lib.js tàn than)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-bowling-roll), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'line L120 W24' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Vệt bụi tro sau thây: dải sàn rộng 24 (màn e 24×12) dài 48 px phía sau, #6b2312 α 0.5; 2 vệt cháy song song 1 px #f2501f ở mép dải. |
| 0.133 | Tàn than nảy 2 hạt/frame từ chỗ thây chạm sàn, cao h ≤ 8; đầu dải sáng #ff8758. |
| 0.267 | Dải cũ tan dither về #290a05 sau 48 px; khi thây trúng 1 quái: chớp va 6×6 #fff6f0 bên hông (đẩy ngang 24 px). |
| 0.533 | Hết vòng loop (8 frame @15); khi thây dừng runtime cắt về frame tan 2 frame. |
Tôi: H06_QUENCH (quench hit_frame 3, startup 4 tick, CIRCLE r80, Nhiệ…
Nhúng găng tôi thép: cột hơi trắng cam nổ tung r80, chữ ký của Ruvan khi Nhiệt 80–95.
Chi tiết spec
- Kích hoạt
- Tôi: H06_QUENCH (quench hit_frame 3, startup 4 tick, CIRCLE r80, Nhiệt 80–95) và H06_UL3_QUENCH. Chồng lên: SK01 hạng III ở 80–95 (r104), H06_E23 (r64), H06_E35 (r80), H06_E36, H06_E37 (r80 ×1.35), H06_E39 (r80), EVO2 (r96), EVO4 (r104). t = 0 = 2 găng chạm sàn.
- Canvas
- 184×136 gốc 92/92
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.7
- Easing
- curve outExpo, freeze_s 0.08
- Hạt
- kind SMOKE, count 10, speed 90, life_s 0.5, hex #ffe4d7, gravity −40, shadow không/kind EMBER, count 12, speed 180, life_s 0.35, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r80, match Sóng sàn đạt r80 tại 0.2 s, phủ 100% elip 160×80; cuộn hơi vượt ≤ 8 px (L ≤ 10 ✓). E37/E35/E39 r80 cùng bậc; EVO2 r96 → bậc 1.3 ×0.923; EVO4/SK01 III r104 → bậc 1.3 ×1.0; E23 r64 → bậc 1.0 ×0.87 (vẽ r70, vượt 6 px ✓)., wave reach
- Nguồn
- new src/fx/heroes/ruvan-quench-burst.js (mượn water/geyser.js cột hơi + _lib.js slam + explosions/smoke-bomb.js cuộn)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-quench-burst), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r80' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 1 frame #ffffff: 2 găng chạm sàn, đĩa trắng #fff6f0 r16 tại chân + vòng nứt 8 vạch toả. |
| 0.05 | Cột hơi trắng cam phụt thẳng lên cao h 56 rộng 28; sóng hơi lan sàn r40 #ffe4d7 viền #f2501f 2 px. |
| 0.2 | Sóng chạm r80 (elip màn 160×80: rx 80, ry 40); 10 cuộn hơi spray + spawn3 ra mép; cột hơi tách 3 cuộn. |
| 0.4 | Sàn để vết nhúng 2 vòng tròn cháy #6b2312 (decal 1.5 s); hơi trôi lên α 0.5. |
| 0.7 | Rỗng (decal sống tiếp trên floor_decal). |
Đổi HP xám về HP: mỗi cú trúng trong 3 s (Chảy +3, Hấp Nhiệt), H06_SK…
Hạt trắng nóng xoáy vào ngực khi HP xám đổi lại thành HP.
Chi tiết spec
- Kích hoạt
- Đổi HP xám về HP: mỗi cú trúng trong 3 s (Chảy +3, Hấp Nhiệt), H06_SK06_PALM (đổi toàn bộ, hàng 1 to hơn), H06_E15, H06_E30, H06_RS6, EVO2. t = 0 = tick đổi; ≤ 4 bản sống.
- Canvas
- 32×32 gốc 16/28
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.333
- Easing
- curve inOutQuad, freeze_s 0
- Hạt
- kind MOTE, count 3, speed 60, life_s 0.25, hex #fff6f0, gravity 0, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor holy/heal --opts {palette:PAL_HERO_H06, n:3, inward:true}
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-grey-restore), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 3 hạt sáng #fff6f0 2×2 xuất hiện quanh ngực r10. |
| 0.1 | Hạt xoáy vào ngực, đuôi #ffbc9b 3 px; ngực loé viền 1 px #ff8758. |
| 0.2 | Hàng 1 (SK06 đổi toàn bộ): 8 hạt + vòng 1 px r12 thu vào ngực. |
| 0.333 | Rỗng. |
Đấm Lò Nổ (Phản): hàng 0 H06_COUNTER (counter hit_frame 2, lao 60 px …
Đấm phản thẳng rồi khe găng phụt nổ hơi r40: 2 nhịp chữ ký Đấm Lò Nổ.
Chi tiết spec
- Kích hoạt
- Đấm Lò Nổ (Phản): hàng 0 H06_COUNTER (counter hit_frame 2, lao 60 px / 6 tick, CIRCLE r20 off 28); hàng 1 H06_COUNTER_BURST nổ r40 quanh điểm đấm 10 tick sau. t = 0 = frame chạm cú đấm. H06_E19 (+8/14/20 px), H06_E20, H06_E24, H06_E39 (×1.4), H06_RS4.
- Canvas
- 128×88 gốc 24/56
- Pha (s)
- antic 0/0 · impact 0/0.2 · dissipate 0.2/0.5
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind SMOKE, count 8, speed 80, life_s 0.4, hex #ffbc9b, gravity −30, shadow không/kind EMBER, count 8, speed 170, life_s 0.3, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r40, match Hàng 1 vành đạt r40 tại t 0.233 phủ 100% elip 80×40 tâm +28; hàng 0 đĩa r20 khớp đòn đơn. E19 r48/54/60 → bậc 1.3 ×0.923 / 1.3 ×1.038 / 1.7 ×0.882., wave reach
- Nguồn
- new src/fx/heroes/ruvan-counter-blast.js (mượn impacts/crit-hit.js đấm + explosions/small-explosion.js cầu hơi)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-counter-blast), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r40' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: 1 frame #ffffff; vệt đấm dày 8 px dài 24, đĩa va elip 40×20 (r20) tại +28 lõi #fff6f0. |
| 0.167 | Khe găng sáng 4 px, 4 tia hơi nén rỉ ra quanh nắm tay. |
| 0.2 | Hàng 1 (10 tick sau): khe găng phụt — quả cầu hơi trắng cam nở đủ r40 (elip 80×40) tâm +28, vành #f2501f 2 px, 8 cuộn hơi spray + spawn3. |
| 0.35 | Vành vỡ 6 cung nguội #b53417, cuộn hơi trôi lên. |
| 0.5 | Rỗng. |
Phun Hơi Lò: H06_SK01_BURST (sk01 hit_frame 5, startup 12 tick, CIRCL…
Đập 2 găng phụt vòng hơi nóng tâm rỗng lan r96 trong 0.27 s, để Than Hồng lên quái.
Chi tiết spec
- Kích hoạt
- Phun Hơi Lò: H06_SK01_BURST (sk01 hit_frame 5, startup 12 tick, CIRCLE r96). t = 0 = 2 găng đập vào nhau trước ngực. Hạng III ở Nhiệt 80–95 chồng VFX_H06_quench_burst (--opts radius 104). H06_E25 (+8/14/20 px), H06_E33, H06_RS5.
- Canvas
- 208×132 gốc 104/84
- Pha (s)
- antic 0/0 · impact 0/0.05 · dissipate 0.05/0.8
- Easing
- curve outQuart, freeze_s 0.06
- Hạt
- kind SMOKE, count 16, speed 60, life_s 0.5, hex #ffe4d7, gravity −30, shadow không/kind EMBER, count 10, speed 150, life_s 0.35, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r96, match Vòng hơi đạt r96 tại 0.267 s, mép ngoài trùng elip 192×96 ±2 px, phủ 100% (đĩa quét theo reach). III r104 → bậc 1.0 ×1.083; E25 hạng III r124 → bậc 1.3 ×0.994., wave reach
- Nguồn
- recolor ice/frost-nova --opts {palette:PAL_HERO_H06, radius:96, hollow:true} + mép cuộn hơi
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-sk01-steam), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r96' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 1 frame #ffffff tại ngực (h 20); 2 găng chạm, khe găng phụt vòng hơi. |
| 0.05 | Vòng hơi dày 12 px nở từ r16, thân #ffe4d7 mép trong #f2501f; tâm RỖNG (khác Tôi). |
| 0.267 | Vòng chạm r96 (elip 192×96) đúng 0.27 s; 16 cuộn hơi ở mép, 10 tàn than spray + spawn3. |
| 0.5 | Vòng tách cuộn, α 0.5, nguội #6b2312 ở chân cuộn. |
| 0.8 | Rỗng. |
Lò Bung: H06_UL1_SLAM (ul1 hit_frame 15, startup 30 tick, CIRCLE r150…
Tuyệt kỹ Lò Bung: nện sàn vỡ miệng lò r150, ba vòng hơi bung lan khắp đĩa.
Chi tiết spec
- Kích hoạt
- Lò Bung: H06_UL1_SLAM (ul1 hit_frame 15, startup 30 tick, CIRCLE r150) + H06_UL1_RING (3 vòng r150 band 24, cách 18 tick, từ tick 36). t = 0 = bấm ult (World chậm 0.5); nện ở 0.5 s. VFX_SHARED_screen_flash_ult phát ở 0.5 s. H06_E34 (Nhiệt về 65/80).
- Canvas
- 340×200 gốc 170/130
- Pha (s)
- antic 0/0.5 · impact 0.5/0.6 · dissipate 0.6/2
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind SMOKE, count 72, speed 80, life_s 0.6, hex #ffbc9b, gravity −30, shadow không/kind EMBER, count 30, speed 200, life_s 0.5, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r150, match Đĩa nện thủ tục vẽ đúng elip 300×150 (r150) phủ 100%; mỗi vòng = ring r150 w24 thủ tục, hitbox = vành đang vẽ frame đó (doc 31 §7); nứt sheet vượt ≤ 10 px., wave procedural
- Nguồn
- new src/fx/heroes/ruvan-ul1-furnace.js (mượn explosions/crater-blast.js nứt + water/geyser.js cột hơi; vành = shader elip pixel)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-ul1-furnace), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r150' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Ruvan nhảy nửa nhịp (h 0 → 18); 2 găng sáng trắng #fff6f0, tàn than hút về găng từ r60. |
| 0.5 | Nện: 1 frame #ffffff; sàn nứt hình miệng lò — 1 elip nứt r40 + 12 vạch toả tới r150, khe nứt #fff6f0 lõi, mép #f2501f; cột lửa hơi h 64 tại tâm. |
| 0.6 | Vòng 1 bung từ miệng lò: vành thủ tục r40 → r150 band 24 (shader elip pixel, #ffe4d7 viền #f2501f) trong 0.3 s; 24 cuộn hơi ở mép. |
| 0.9 | Vòng 2 (cách 18 tick); khe nứt đỏ dần #b53417; 30 tàn than rơi khắp đĩa. |
| 1.2 | Vòng 3; cột hơi tan thành cuộn; vết nứt thành decal 6 s. |
| 2 | Rỗng (decal miệng lò sống tiếp trên floor_decal). |
Trăm Búa Rèn: H06_UL2_FLURRY (ul2 hit_frame 6, lao 40 px, 12 đấm mỗi …
Tuyệt kỹ Trăm Búa Rèn: 12 đấm như búa gõ phôi rồi nhát tôi 2 găng đan nhau kết liễu.
Chi tiết spec
- Kích hoạt
- Trăm Búa Rèn: H06_UL2_FLURRY (ul2 hit_frame 6, lao 40 px, 12 đấm mỗi 0.08 s, CIRCLE r28 off 20) + H06_UL2_FINAL (hit_frame 54, nhát tôi 2 găng đan nhau CIRCLE r32 off 24). t = 0 = bấm ult (World chậm 0.3). VFX_SHARED_screen_flash_ult ở nhát cuối. H06_E23 thêm VFX_H06_quench_burst r64.
- Canvas
- 160×128 gốc 40/84
- Pha (s)
- antic 0/1.167 · impact 1.167/1.2 · dissipate 1.2/1.6
- Easing
- curve outExpo, freeze_s 0.12
- Hạt
- kind SPARK, count 48, speed 180, life_s 0.2, hex #ffbc9b, gravity 950, shadow không/kind SLAG, count 16, speed 160, life_s 0.4, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape circle r32, match Nhát cuối đĩa elip 64×32 tâm +24 phủ 100%; đấm liên hoàn đĩa r28 elip 56×28 tâm +20 phủ 100%; vượt ≤ 4 px., wave none
- Nguồn
- new src/fx/heroes/ruvan-ul2-hammers.js (mượn melee/dagger-flurry.js nhịp + melee/hammer-smash.js nhát cuối)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-ul2-hammers), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r32' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Lao 40 px: vệt bụi 2 găng sáng #fff6f0. |
| 0.1 | Đấm 1–12 mỗi 0.08 s: mỗi đấm 1 đĩa va elip 56×28 (r28) tại +20 xen kẽ trái/phải ±6 px, tia lửa như búa gõ phôi 4 vụn; số đấm đếm bằng vạch 1 px trên đầu. |
| 1.067 | Găng đan nhau giơ cao h 48, khe găng trắng toàn phần. |
| 1.167 | Nhát tôi: 1 frame #ffffff; đĩa va elip 64×32 (r32) tại +24 lõi #fff6f0 r12; 16 xỉ bắn spray + spawn3; hình đe 12×6 #ffbc9b loé trên mục tiêu. |
| 1.6 | Rỗng. |
Thân Thép Nóng Chảy: hàng 0 H06_UL3_CAST (ul3 hit_frame 14, nổ r64); …
Tuyệt kỹ Thân Thép Nóng Chảy: thân đỏ rực từ trong 9 s, Tôi miễn phí, hết dạng thì vỏ xỉ nổ r120.
Chi tiết spec
- Kích hoạt
- Thân Thép Nóng Chảy: hàng 0 H06_UL3_CAST (ul3 hit_frame 14, nổ r64); hàng 1 hit_vfx thay thế trong dạng 9 s (transform_overrides.hit_vfx, 6 frame đầu); hàng 2 lớp sáng cho H06_UL3_QUENCH; hàng 3 H06_UL3_AFTERSHOCK nổ vỏ xỉ r120 khi hết dạng. Thân tint = shader LUT molten_core_fff6f0 (runtime, không sheet). H06_E36 (+0.5 s/Tôi, ≤ +3 s).
- Canvas
- 272×176 gốc 136/112
- Pha (s)
- antic 0/0.467 · impact 0.467/0.533 · dissipate 0.533/1.5
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind SLAG, count 28, speed 170, life_s 0.5, hex #b53417, gravity 950, shadow có/kind DROP, count 4, speed 60, life_s 0.3, hex #ffbc9b, gravity 950, shadow không
- Hitbox
- shape circle r120, match Hàng 3 vành thủ tục đúng elip 240×120 (r120) = hitbox frame đó; hàng 0 nổ r64 phủ 100% elip 128×64 (sheet); xỉ vượt ≤ 10 px., wave procedural
- Nguồn
- new src/fx/heroes/ruvan-ul3-molten.js (mượn fire/_lib.js glow + spawn/shatter-death.js vỏ vỡ; thân = shader LUT)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-ul3-molten), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay pending: overlay 'circle r120' (elip 1 px) trên --dirs + 1 ảnh in-game, ghi lệch px, art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Hàng 0: đập găng vào ngực, vết nứt sáng lan khắp thân (shader); 8 tàn than hút vào ngực. |
| 0.467 | Hàng 0: 1 frame #ffffff; nổ r64 (elip 128×64) #fff6f0 viền #f2501f 2 px, 12 xỉ bắn. |
| 0.6 | Hàng 1 (hit_vfx dạng): chớp 4 cánh 11×11 #fff6f0 + 4 giọt kim loại chảy rơi (thay VFX_H06_hit_ember). |
| 0.8 | Hàng 3: thân nguội đột ngột — vỏ xỉ #6b2312 nứt bung 16 mảnh văng toả; vành thủ tục r120 band 16 #ff8758 lan 0.3 s. |
| 1.5 | Rỗng. |
Thức tỉnh H06_EVO4 Lò Đúc Thức Giấc: t = 0 = lúc thức tỉnh (1 lần/run…
Lò Đúc Thức Giấc: mảnh khuôn chuông trên găng vỡ bung, cột hơi trắng dựng sau lưng — găng mở rãnh sáng vĩnh viễn trong run.
Chi tiết spec
- Kích hoạt
- Thức tỉnh H06_EVO4 Lò Đúc Thức Giấc: t = 0 = lúc thức tỉnh (1 lần/run), World chậm 0.3 s; VFX_SHARED_evolution_forge phát cùng. Sau đó: đấm r34, thây lăn 160×32, Tôi r104, Nhiệt nhận ×1.2 (các FX khác đổi bậc, không sheet mới).
- Canvas
- 128×120 gốc 64/104
- Pha (s)
- antic 0/0.8 · impact 0.8/0.9 · dissipate 0.9/2
- Easing
- curve outExpo, freeze_s 0.1
- Hạt
- kind SHARD, count 8, speed 120, life_s 0.6, hex #6b2312, gravity 950, shadow có/kind SMOKE, count 16, speed 50, life_s 0.8, hex #ffe4d7, gravity −40, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- new src/fx/heroes/ruvan-evo4-awaken.js (mượn spawn/shatter-death.js mảnh vỡ + water/geyser.js cột hơi)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-evo4-awaken), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 2 găng nhấc ngang ngực; mảnh khuôn chuông trên mu găng rung, nứt 3 vạch sáng #ff8758. |
| 0.4 | Khuôn chuông vỡ bung 8 mảnh #6b2312 văng ra r32; khe găng mở rộng thành 3 rãnh sáng #fff6f0. |
| 0.8 | 1 frame #ffffff; cột hơi trắng dựng sau lưng h 72, 2 găng phụt hơi xuống sàn — đĩa r48 (elip 96×48) α 0.5. |
| 1.2 | Hơi cuộn tan, mảnh khuôn rơi nảy 1 lần; găng giữ rãnh sáng (sprite lớp awaken). |
| 2 | Rỗng. |
LIBRARY · 2
Tia trúng của Ruvan: mọi cú đấm/đòn H06 trúng 1 mục tiêu (A1–A5, Lộn …
Tia trúng than hồng của Ruvan: chớp trắng 1 frame rồi vụn than rơi; dùng chung cho mọi cú trúng đơn.
Chi tiết spec
- Kích hoạt
- Tia trúng của Ruvan: mọi cú đấm/đòn H06 trúng 1 mục tiêu (A1–A5, Lộn Đấm Móc, Đấm Nạp, SK02/SK03/SK05, UL2, AS2/AS3, H06_E27). t = 0 = frame trúng tại điểm trúng; ≤ 16 bản mới/frame (R5 doc 31 §6.1).
- Canvas
- 32×32 gốc 16/20
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
- Easing
- curve outExpo, freeze_s 0
- Hạt
- kind EMBER, count 6, speed 160, life_s 0.27, hex #ff8758, gravity 950, shadow có
- Hitbox
- shape none, wave none
- Nguồn
- recolor impacts/hit-spark --opts {palette:PAL_HERO_H06, n:6} (pixelfx lib hit_spark)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-hit-ember), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | 1 frame trắng #ffffff: chớp 4 cánh 9×9 tại điểm trúng (cao h 12). |
| 0.033 | 6 vụn than bắn toả 3 chiều (spray + spawn3), đầu #ffbc9b đuôi #f2501f, dài 2–4 px. |
| 0.133 | Vụn rơi theo trọng lực 950 px/s², nguội #b53417; 2 chấm lõi #fff6f0 tắt. |
| 0.3 | Rỗng. |
Phụt hơi phụ: H06_BOWLING_ROLL dừng, H06_QUENCH, H06_OVERHEAT_VENT (m…
Phụt hơi trắng ửng lò: lớp phụ cho mọi cú tôi/nổ/vỡ của Ruvan, hơi trắng không vàng.
Chi tiết spec
- Kích hoạt
- Phụt hơi phụ: H06_BOWLING_ROLL dừng, H06_QUENCH, H06_OVERHEAT_VENT (mỗi 0.5 s), H06_COUNTER_BURST, SK01, SK02_END, SK04_SLAM, SK07_THROW, SK08_CAST, UL1_RING, UL3_AFTERSHOCK, H06_E06/E21, H06_RS4. t = 0 = sự kiện; neo tại tâm vùng/điểm vỡ.
- Canvas
- 32×32 gốc 16/26
- Pha (s)
- antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
- Easing
- curve outQuart, freeze_s 0
- Hạt
- kind SMOKE, count 3, speed 30, life_s 0.4, hex #ffe4d7, gravity −30, shadow không
- Hitbox
- shape none, wave none
- Nguồn
- recolor explosions/smoke-bomb --opts {palette:PAL_HERO_H06, radius:10, n:3} (pixelfx lib smoke_puff)
- Review
- check_mjs pending (node tools/check.mjs heroes/ruvan-steam-puff), inv01_check pending (py -3 Tools/artcheck/inv01_check.py <png> --kind vfx_hero --id H06), hitbox_overlay không áp dụng (không hitbox), art_style_reviewer pending
| t (s) | Mô tả |
|---|---|
| 0 | Cục hơi trắng 10×6 bung ở sàn #fff6f0, viền #ffbc9b 1 px. |
| 0.1 | Cuộn lên h 12, nở 18×12, thân #ffe4d7, đáy ửng #f2501f (ánh lò). |
| 0.267 | Tách 3 cuộn nhỏ trôi lên h 20, α 0.5 dither. |
| 0.4 | Rỗng. |
13SFX
| SFX | Loại | ms | Biến thể | Bus | Ưu tiên | Giọng | LUFS | Tell | Nguồn | Trạng thái | Brief |
|---|---|---|---|---|---|---|---|---|---|---|---|
| HeroAttackCut heroId=H06 moveIndex=1 (H06_COMBO_A_1, 2 cú/clip); aspe… SFX_H06_a1_swing | swing | 200 | 4 | HeroAttack | 20 | 6 | −19 | none | freesound | brief | Cú đấm thẳng của găng sắt to bằng đầu: nặng, gọn, có hơi nóng lướt qua. Cú trái và cú phải là 2 biến thể khác nhau (phải trầm hơn 3%). AS2 = thêm lớp xích lắc 2 mắt 40 ms; AS3 = gốc −8% pitch, body dày 2 dB như búa vung. KHÔNG được nghe như kiếm chém, quạt máy, whoosh hoạt hình, hay cạo thép mỏng (cấm H06). |
| HeroAttackCut heroId=H06 moveIndex=2|3|4 (H06_COMBO_A_2, H06_COMBO_A_… SFX_H06_a2_swing | swing | 240 | 4 | HeroAttack | 20 | 6 | −19 | none | freesound | brief | Các cú đấm giữa chuỗi và móc lên: cùng găng sắt nặng như a1 nhưng có tiếng đốt găng chạm nhau và tạp dề vỗ; Móc Hất = biến thể quét lên; Nện Đôi AS3 = biến thể 'hammer' nặng hơn 3 dB, −10% pitch. KHÔNG được nghe như kiếm, roi, quạt, hay cạo thép mỏng. |
| HeroAttackCut heroId=H06 moveIndex=5 (H06_COMBO_A_5 Ném Bowling) và H… SFX_H06_a3_swing | swing | 320 | 4 | HeroAttack | 20 | 4 | −17 | none | freesound | brief | Cú kết chuỗi: vung nguyên thân quái ra như lăn ki hoặc đấm nạp dồn hết trọng lượng; luôn đi cùng `SFX_H06_combo_special` khi ném được. AS2 thêm xích quất ngắn; AS3 −8% pitch. KHÔNG được nghe như kiếm lớn chém, tiếng gió bão, hay nổ. |
| HeroHitBatch heroId=H06 (HordeAudio §6.1: n 1 → id này; 2–5 + hit_mul… SFX_H06_hit | hit | 200 | 6 | HeroAttack | 30 | 4 | −20 | none | freesound | brief | Cú găng nung trúng thịt: đặc, nặng, kèm tiếng xèo như sắt nóng chạm da; lớp xèo là cách tai đọc Nhiệt (Nung/Chảy chọn biến thể hot1/hot2). KHÔNG được nghe như kim loại va kim loại ngân, tát tay, hay đấm hoạt hình 'bốp'. |
| HeroComboSpecial heroId=H06 branch=bowling (H06_COMBO_A_5, H06_BOWLIN… SFX_H06_combo_special | impact | 900 | 4 | HeroAttack | 20 | 3 | −17 | none | synth | brief | Nhánh combo chữ ký H06 (doc 32 §4.4 #5): ném quái như quả bowling, thây lăn rẽ bầy đôi như ki đổ; file 900 ms có 2 điểm cắt 300/500 ms cho 120/200 px. AS3 = thêm 1 nện búa ở đầu. KHÔNG được nghe như bowling sân hiện đại (không tiếng ki nhựa vang, không nhạc đám đông), xe lăn, hay sấm. |
| HeroDash heroId=H06 (H06_DASH Lộn; cùng SFX_SHARED_dash_base; Edge H0… SFX_H06_dash | move | 300 | 4 | HeroAttack | 20 | 2 | −21 | none | foley | brief | Lộn qua vai của thợ phụ mang 2 khối sắt: thân người + da + sắt lăn trên đá, không phải lướt gió. KHÔNG được nghe như whoosh ma thuật, bước chân giáp, hay vật rơi vỡ. |
| HeroAnswerSuccess heroId=H06 (Bắt Đòn H06_ANSWER + H06_ANSWER_CRUSH; … SFX_H06_answer | answer | 380 | 3 | HeroDefense | 2 | 2 | −14 | none | synth | brief | Lớp hero của ĐÁP (doc 32 §2.3): tóm 'chát' rồi bóp vỡ; 3 biến thể = cận chiến S/M (chát + rắc), L/XL Bẻ Đòn (rắc 2 lần, trầm hơn), đạn (bóp vỡ + xì). Phải sáng, khác hẳn mọi âm đấm. KHÔNG được nghe như gạt kiếm, khiên chặn, hay vỗ tay. |
| HeroCounter heroId=H06 (H06_COUNTER Đấm Lò Nổ + H06_COUNTER_BURST; Ed… SFX_H06_counter | explode | 650 | 3 | HeroAttack | 2 | 2 | −15 | none | freesound | brief | Phản đòn sau Bắt Đòn: cú đấm kết thúc bằng khe găng nổ hơi như cửa lò bật tung; phải nặng nhất trong bộ đánh thường. KHÔNG được nghe như nổ thuốc súng, sét, hay nổ điện tử. |
| HeroHoldStart heroId=H06 (H06_HOLD Hấp Nhiệt; loop SFX_H06_hold_loop … SFX_H06_hold_start | move | 260 | 3 | HeroDefense | 20 | 1 | −18 | none | foley | brief | Mở cửa lò để hứng đòn: lửa hút vào trong thay vì phụt ra (doc 32 §2.3). KHÔNG được nghe như khiên dựng, phép phòng thủ lấp lánh, hay hít thở người. |
| HeroHoldStart → loop tới HeroHoldEnd (dừng ngay khi thả/huỷ, INV-11);… SFX_H06_hold_loop | loop | 2000 | 1 | HeroDefense | 20 | 1 | −26 | none | foley | brief | Nền Hấp Nhiệt: lò rèn đang hút lửa, nghe được dưới tiếng đánh nhưng không lấn; loop mẫu-chính-xác 2.0 s (88200 mẫu @44.1 kHz). Part `chain` (AS2 Xích Nguội Quật Ngược) = xích nung quất 'vút-chát' 260 ms, phát one-shot. KHÔNG được nghe như động cơ máy, gió hú, hay tiếng ù điện. |
| HeroHoldEnd heroId=H06 (cancelled=true dùng biến thể ngắn) SFX_H06_hold_end | move | 200 | 3 | HeroDefense | 20 | 1 | −22 | none | foley | brief | Đóng cửa lò, nhả hơi. KHÔNG được nghe như cửa sắt đóng sầm hay khiên hạ. |
| HeroResource heroId=H06 kind=gain (Nhiệt tăng: đấm trúng, Bắt Đòn, Hấ… SFX_H06_res_gain | cast | 140 | 6 | Hero | 20 | 2 | −24 | none | synth | brief | Tai đọc Nhiệt (doc 32 §2.3 'lò rít cao dần'): mỗi lần Nhiệt tăng, lò rít ngắn cao hơn lần trước; nhỏ, nằm dưới tiếng đấm. KHÔNG được nghe như ấm nước sôi huýt dài, còi, hay tiếng UI 'ting'. |
| HeroResource heroId=H06 kind=full (ngưỡng HEAT_NUNG 40 · HEAT_CHAY 80… SFX_H06_res_full | cast | 480 | 3 | Hero | 20 | 1 | −20 | none | synth | brief | 3 biến thể có tên (không ngẫu nhiên): `nung`, `chay`, `overheat` (dài 1.500 ms, ngoại lệ trong trần one-shot vì khớp clip 45 frame). Chảy phải nghe nguy hiểm mà phấn khích; Quá Lò nghe như lò sắp nổ, báo người chơi ĐÁP/Lộn để huỷ. KHÔNG được nghe như tell (không cao độ 'tinh', không swell tím), không chuông báo động. |
| HeroResource heroId=H06 kind=spend (H06_QUENCH Tôi, H06_UL3_QUENCH; E… SFX_H06_res_spend | cast | 900 | 3 | Hero | 20 | 1 | −17 | none | freesound | brief | Tôi = 'xì hơi lớn' (doc 32 §2.3): âm thưởng của đúng cửa sổ 80–95, phải đã tai nhất bộ; luôn kèm `SFX_SHARED_hit_heavy`. Trong dạng UL3: biến thể ngắn 500 ms (Tôi mỗi 1.5 s). KHÔNG được nghe như rắn rít, lốp xe xì, hay bình xịt. |
| SkillCast skillId=H06_SK01 (Phun Hơi Lò, H06_SK01_BURST); lớp __impac… SFX_H06_SK01_cast | cast | 800 | 2 | Hero | 20 | 2 | −17 | none | freesound | brief | Vỗ găng xả hơi lò quanh thân r96. Hạng II–III = thêm sweetener lửa (biến thể 2). KHÔNG được nghe như chũm chọe, chuông ngân, hay nổ bom. |
| SkillCast skillId=H06_SK02 (Lăn Thây: H06_SK02_GRAB; lăn = SFX_H06_co… SFX_H06_SK02_cast | cast | 600 | 3 | Hero | 20 | 2 | −17 | none | freesound | brief | Tóm 1 quái S, xoay lấy đà rồi tung; thân lăn dài do combo_special nối liền. KHÔNG được nghe như ném đĩa, lốc xoáy, hay roi. |
| SkillCast skillId=H06_SK03 (Hất Lò, H06_SK03_UPPER; Edge H06_E27) SFX_H06_SK03_cast | cast | 900 | 2 | Hero | 20 | 2 | −18 | none | freesound | brief | Hất tung cả nón quái S lên trời rồi để chúng rơi lộp độp: âm lên – treo – rơi. KHÔNG được nghe như phóng tên lửa, lò xo, hay sóng gió. |
| SkillCast skillId=H06_SK04 (Quật Ngã: H06_SK04_GRAB khung 3 + H06_SK0… SFX_H06_SK04_cast | cast | 750 | 2 | Hero | 20 | 3 | −16 | none | synth | brief | Đòn vật quật ngã sau lưng: nặng nhất trong bộ kỹ năng, phải có khoảng lặng 1 nhịp trước tiếng nện. KHÔNG được nghe như sập nhà, sấm, hay nổ. |
| SkillCast skillId=H06_SK05 (Đấm Nung Chảy: kích 5 s + cú 6 H06_SK05_A… SFX_H06_SK05_cast | cast | 680 | 2 | Hero | 20 | 2 | −16 | none | freesound | brief | 2 phần: `cast` (găng nung trắng, 680 ms) và `a6` (cú đấm thứ 6 sau A5, 520 ms, luôn kèm SFX_SHARED_hit_heavy). Trong 5 s, mọi a*_swing giữ biến thể hot2. KHÔNG được nghe như phép lửa ma thuật lấp lánh hay súng phun lửa. |
| SkillCast skillId=H06_SK06 (Mồ Hôi Sắt, H06_SK06_PALM; Edge H06_E30, … SFX_H06_SK06_cast | cast | 600 | 3 | Hero | 20 | 3 | −17 | none | foley | brief | Vỗ găng đẫm mồ hôi sắt: đòn đánh nặng nhất 1 mục tiêu và là âm hồi máu của Ruvan — xèo + nhịp tim. KHÔNG được nghe như phép hồi máu chuông sáng, tát tay, hay nước té. |
| SkillCast skillId=H06_SK07 (Húc Khiên Thịt: H06_SK07_CHARGE; ném khiê… SFX_H06_SK07_cast | cast | 700 | 3 | Hero | 20 | 2 | −17 | none | synth | brief | Cầm quái làm khiên mà húc tới: tiếng chân + thịt va thịt, đạn găm vào khiên nghe bịt. KHÔNG được nghe như ngựa phi, xe tông, hay khiên kim loại. |
| SkillCast skillId=H06_SK08 (Nuốt Lửa, H06_SK08_CAST; mỗi đạn bị nuốt … SFX_H06_SK08_cast | cast | 1000 | 2 | Hero | 20 | 2 | −17 | none | foley | brief | Mở miệng lò trong găng để nuốt đạn: âm hút vào, há to, trầm. KHÔNG được nghe như máy hút bụi, phép hấp thụ lấp lánh, hay gió hú. |
| UltActivate ultId=H06_UL1 (Lò Bung, H06_UL1_SLAM + H06_UL1_RING; cùng… SFX_H06_UL1_furnace | explode | 2600 | 1 | Hero | 5 | 3 | −13 | none | freesound | brief | Ult chữ ký H06: nhảy lên nện vỡ miệng lò dưới sàn, 3 vòng hơi bung ra; khớp clip 60 frame (2.0 s) + đuôi. Có lớp trống da + tù và ngắn của motif (không phải nhạc, ≤ −10 dB dưới body). KHÔNG được nghe như bom, núi lửa điện ảnh, động đất kéo dài, hay pháo hoa. |
| UltActivate ultId=H06_UL2 (Trăm Búa Rèn, H06_UL2_FLURRY + H06_UL2_FIN… SFX_H06_UL2_hammers | explode | 2400 | 1 | Hero | 5 | 3 | −13 | none | synth | brief | Rèn kẻ thù như phôi sắt: 12 nhát búa đều như thợ rèn, nhát tôi cuối là xèo nước. Kết liễu dưới ngưỡng = runtime +2 dB nhát tôi. KHÔNG được nghe như súng máy, chuông đe ngân dài, hay tiếng đấm hoạt hình liên thanh. |
| UltActivate ultId=H06_UL3 (Thân Thép Nóng Chảy, H06_UL3_CAST); part `… SFX_H06_UL3_molten | cast | 1800 | 1 | Hero | 5 | 3 | −13 | none | synth | brief | Mở dạng 9 s: thân thành phôi thép đỏ. Part `end` (1.200 ms) = nguội nổ r120: 'RẮC' vỏ nguội nứt + bùng hơi. Trong 9 s không thêm loop (giữ mix sạch); mọi hit dùng biến thể hot2. KHÔNG được nghe như dung nham núi lửa điện ảnh, quái vật gầm, hay phép biến hình lấp lánh. |
| HeroAttackCut moveIndex=5, H06_CHARGE_PUNCH, H06_QUENCH, SkillCast, U… SFX_H06_vo_effort | vocal | 450 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Thợ phụ trẻ, nóng tính, ít nói: gắng sức gằn trong họng như đang quai búa, đôi khi nghiến răng; KHÔNG có âm tiết của ngôn ngữ thật, không giọng AI tổng hợp. KHÔNG được nghe như võ sĩ hét thế võ, gầm quái vật, hay rên đau. |
| HeroDamaged heroId=H06 (cùng SFX_SHARED_hero_hurt_impact); không phát… SFX_H06_vo_hurt | vocal | 350 | 5 | VO | 45 | 2 | −20 | none | outsource | brief | Trúng đòn mà không lùi: đau nhưng gồng chịu, như bị bỏng lò quen rồi. KHÔNG được nghe như thét kinh dị, rên kéo dài, hay giọng trẻ con. |
| HeroDeath heroId=H06 (cùng SFX_SHARED_hero_death + SN_DEATH) SFX_H06_vo_death | vocal | 1100 | 2 | VO | 45 | 1 | −20 | none | outsource | brief | Lò trong người tắt: không gào, chỉ còn hơi thở cuối thoát ra đều. KHÔNG được nghe như thét chết điện ảnh, nấc kéo dài, hay ho sặc. |
14Câu thoại (bark)
| Bark | Kích hoạt | Câu thoại | Ưu tiên | Hồi s | 1 lần |
|---|---|---|---|---|---|
| run_start_1 | RunStart (rời ST_DOCK, phòng đầu Hồi I) | Lò còn đỏ. Đi thôi. | hero | 0 | — |
| run_start_2 | RunStart (chọn ngẫu nhiên 1/3) | Từng cái chuông câm, tôi trả từng cái. | hero | 0 | — |
| run_start_3 | RunStart (chọn ngẫu nhiên 1/3) | Găng nguội thì đánh cho nóng. | hero | 0 | — |
| level_up_1 | LevelUp (trước DraftOpen, chỉ khi không có boss/NPC bark trong 4 s) | Than thêm vào lò rồi. | hero | 30 | — |
| level_up_2 | LevelUp (luân phiên) | Tay nặng thêm. Tốt. | hero | 30 | — |
| level_up_3 | LevelUp khi Nhiệt đang ≥ 80 (Chảy) | Nóng nữa đi. Tôi chịu được. | hero | 60 | — |
| perfect_1 | HeroAnswerSuccess heroId=H06 perfect=true (Bắt Đòn đúng cửa 0.15 s) | Tóm được rồi. Đi lăn đi! | hero | 20 | — |
| perfect_2 | HeroAnswerSuccess perfect=true targetTier=L|XL (Bẻ Đòn) | Tay to mà khớp giòn quá. | hero | 20 | — |
| perfect_3 | HeroAnswerSuccess perfect=true lần đầu bóp nát đạn trong phòng | Lửa của mày? Tôi nuốt. | hero | 30 | — |
| perfect_dodge | HeroPerfectDodge heroId=H06 (+8 Nhiệt) | Hụt. Lò cảm ơn. | hero | 25 | — |
| quench | HeroResource kind=spend H06_QUENCH lần đầu mỗi phòng (Tôi ở 80–95) | Tôi! Nghe hơi kêu chưa? | hero | 45 | — |
| overheat | HeroResource kind=full state=HEAT_OVERHEAT (Xả Cưỡng Bức, lần đầu mỗi run) | Quá lửa… thả ra, thả ra! | hero | 90 | có |
| low_hp_1 | HeroLowHp hpPct ≤ 0.30 (lần đầu mỗi phòng) | Bỏng quen rồi. Chưa tháo găng. | hero | 45 | — |
| low_hp_2 | HeroLowHp hpPct ≤ 0.30 (luân phiên) | Lò chưa tắt thì tay tôi cũng chưa. | hero | 45 | — |
| low_hp_3 | HeroLowHp hpPct ≤ 0.15 | Đừng nguội… chưa được nguội. | hero | 60 | — |
| elite_1 | EliteSpawn (Tinh Anh EL_ vào tầm nhìn, sau stinger elite_in 1.0 s) | Con to. Tóm được thì vật được. | hero | 30 | — |
| elite_2 | EliteSpawn (luân phiên) | Mày nặng cỡ nào? Để tôi nhấc thử. | hero | 30 | — |
| elite_3 | EliteSpawn affixId=EM bất kỳ (có Ấn) | Ấn sáng thế kia… đập cho tắt. | hero | 40 | — |
| boss_intro_1 | BossIntro (sau dòng của boss, khung tên boss 2.0 s kết thúc) | Đứng yên đó. Tôi tới bằng tay không. | hero | 0 | — |
| boss_intro_2 | BossIntro (luân phiên) | Mày to hơn lò tôi à? Thử xem. | hero | 0 | — |
| boss_intro_b2 | BossIntro bossId=BS_B2 (Lão Lái Đò Không Bến) | Chìm đi, lão. Tôi cần con kênh. | hero | 0 | — |
| boss_intro_b3 | BossIntro bossId=BS_B3 (Thợ Cả Đúc Chuông) | Búa ba nhịp… tôi không run nữa. | hero | 0 | có |
| ult_furnace | UltActivate ultId=H06_UL1 (khung 15 ul1, lần đầu mỗi phòng) | Mở lò! | hero | 60 | — |
| victory_1 | BossDefeated (khung 24 clip victory) | Thêm một cái chuông câm. Trả xong. | hero | 0 | — |
| victory_2 | BossDefeated (luân phiên) | Nguội đi. Lần này tôi cho mày nguội. | hero | 0 | — |
| victory_b3 | BossDefeated bossId=BS_B3 | Lò của thầy, giờ tôi giữ lửa. | hero | 0 | có |
| death_1 | HeroDeath heroId=H06 (khung 18 clip death, trước SN_DEATH tắt hẳn) | Lò… tắt rồi à… | hero | 0 | — |
| death_2 | HeroDeath (luân phiên) | Còn… bao nhiêu cái chuông… | hero | 0 | — |
| hub_wake | Hub: clip wake xong tại ST_HEARTH | Khăn ướt rồi. Găng vào. Đi. | hero | 0 | — |
| hub_grem | HubStationInteract stationId=ST_FORGE | Lão Grem, khe găng lại nứt rồi. | hero | 0 | — |
| hub_oska | Hub: đi ngang H05 Oska khi đã mở khoá (1 lần mỗi lượt về hub) | Lửa phải giữ, Oska. Thả là mất. | hero | 0 | — |
| hub_hol | HubStationInteract stationId=ST_LEDGER | Thầy Hol, ghi giùm: thêm một cái chuông. | hero | 0 | — |
| hub_yard | HubStationInteract stationId=ST_YARD | Răm, đứng vững. Tôi đấm thật đấy. | hero | 0 | — |
| hub_unlock | UnlockGranted id=H06 (mở hero ở ST_FORGE) | Thợ phụ Ruvan. Giao găng đây. | hero | 0 | có |