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

Ambrin

Trưởng Phường Kèn · kèn đưa tang (kèn dăm kép thân gỗ mun, loa đồng xỉn) · H12

Nhóm vai: RHYTHM_SUMMONTài nguyên: Nhịp#2ec0e8Cập nhật: 2026-11-07
115
HP tối đa
138
Tốc chạy
5
Độ khó / 5
37
Đòn
40
Edge
41
VFX

1Định danh & tiểu sử

Danh hiệu
Trưởng Phường Kèn
Vũ khí
kèn đưa tang (kèn dăm kép thân gỗ mun, loa đồng xỉn)
Nhóm vai
RHYTHM_SUMMON — nhịp, phường triệu hồi
Độ khó
5/5
Mở khoá
END_BELL_TOLL · Đạt kết END_BELL_TOLL hoặc END_ASH_CROWN (hạ BS_FINAL ở STANDARD), rồi trả 16 Mảnh Vọng ở ST_FORGE cho Lão Grem. · Mảnh Vang: 16
Mốc
1.0 14.99 USD MS07
Verb tag
Combo COMBO · Lướt DASH · Đáp ANSWER · Phản COUNTER · Kỹ năng SKILL · Tài nguyên: Nhịp RES:BEAT

Trục độ khó (doc 12 §4, 0–2)

Trục T2
Trục R2
Trục V1
Trục S2
Trục D2
🎯
Pitch Trưởng phường kèn trẻ nhất xứ thổi tiễn mỗi trận như một đám tang: đánh đúng phách 120 BPM để gọi phường nhạc công ma, hãm đạn bằng nốt ngân rồi trả lại đúng nhịp.

Tiểu sử

Chưa tới hai mươi đã cầm trịch Phường Kèn, thổi tiễn trăm đám chưa lạc một phách. Đêm Câm nuốt cả phường; anh chết ôm kèn, chỉ thức khi Đại Chuông ngân lần đầu. Phường giờ là bóng ma, chỉ hiện khi anh giữ đúng nhịp. Lắm lời, hay cười, sợ im lặng hơn sợ chết. Bodan khiêng quan, Ambrin thổi: hai người đã tiễn nửa xứ. Dov là đứa duy nhất dám thi ồn với anh. Calla nói tiếng kèn của anh làm đò nổi. "Người chết không đi một mình. Có phường tôi." "Lạc một phách thì đứng dậy, thổi lại từ phách một."

Câu nói

“Người chết không đi một mình. Có phường tôi.”RunStart heroId=H12 (rời Bến Đò, sau thẻ Hồi I; lần chạy đầu)
“Phường đâu, lên kèn! Đám này dài đấy.”RunStart heroId=H12 (lần chạy thứ 2 trở đi, ngẫu nhiên 1/2)
“Khăn tang buộc chặt rồi. Thổi thôi.”RunStart heroId=H12 mode có Khăn Tang ≥ 1 (MRN01–MRN15)
Ghi chú lệch có chủ đích

2026-11-07 — lệch/giả định so với brief doc 12 §11.12 (ghi để duyệt): (1) Thưởng đúng phách ×1.3 sát thương cho cú combo/khúc (lãnh thổ rhythm_window) — coef brief 1.0/2.5–3.5 với máy nhịp cố định 2 cú/s chỉ cho 2.75 coef/s; ×1.3 + Phường trung vị đưa kit ST 56.4 (59 −4%), HD 737 (683 +8%) [ASSUMED Phường trung vị: Trống luôn, Chũm Chọe 70%, Cờ Phướn 40%, Kèn Phụ 25%]. (2) COMBO_A = Phách 1–3 + Khúc Dồn (finisher); 5 khúc còn lại slot HEAVY (owner_ref H12_FIN_DON), cùng luật đòn kết phách 4. Ô nhịp thay luật reset 27 tick: khúc giữ tới hết phách 4. (3) Cờ Phướn/UL3 'tốc đánh' nhân vào coef (máy nhịp không đổi tốc). Cú tự nối khi giữ Đánh: ×1.0, +0 Nhịp, không phạt. (4) Kèn Phụ ngoài +50 Dư Âm còn thổi LINE 160 × 16 0.6 coef ở phách 2 và 4; Kèn Phụ ngân lại cần ≥ 40 cú đúng phách [ASSUMED] để giữ Dư Âm 45–55 s. (5) Nốt Ngân theo Bible §5.1 / DEC-2026-11-07-10 (canon thắng doc 11): vòng r60 giữ đạn Y đứng yên (≤ 6; viên thứ 7 đẩy viên cũ nhất phóng sớm), phách kế (≤ 0.5 s) phóng ra thành nốt ×1.0 [ASSUMED] theo hướng ngắm; không % chậm (bỏ bản chậm 50% trùng H04 Kẻ Vòng); không giữ đạn tím; hold_key hold.held_note, defense_effect CATCH_RELEASE (doc 12 §10.3b) ghi trong defense.hold.params vì schema chưa có field riêng. 2026-11-07 - defense.hold.mechanic = CATCH (enum hero.schema đã thêm CATCH theo DEC-2026-11-07-10); bỏ placeholder STANCE + params.mechanic_canon. H12_SK04 đổi thành hoá nốt tức thì về kẻ bắn để không lặp verb giữ (Bible #38). (6) Thêm để vào dải ngân sách doc 17 §4.2: SK01 STS_DREAD 1.5 s + dạt 16 px (1.02); SK02 phách 4 nốt trầm vỡ r40 1.2 + STS_SHOCK (1.08; cơ cấu CLEAR chỉ 43% từ aoe ≥ 1.6 vì đạn xuyên 1 theo brief — VÀNG cơ cấu); SK03 3.0 coef + STS_DREAD (0.91); SK04 vòng bám r80 chậm 25% + nổ 2.0 + nốt trả ×1.5 sàn 2.2 coef về kẻ bắn (0.84 XANH ở 6 đạn hoá nốt; R2 0.90; R3 1.20 tính STS_DREAD lên 3 kẻ bắn; giá trị phụ thuộc đạn địch, 0 đạn còn vòng chậm + nổ 0.27); SK05 1.0/1.2/1.4 + 9.6 (0.85); SK06 3 nhịp dội 2.5 r72 (0.84; vai DUEL nhưng aoe 2.0 — thủ vùng theo brief); SK07 dậm r40 1.5 khi Lướt đúng phách (0.84); SK08 nhạc công hạ xuống r64 2.0 (0.92, đời Trống 16 s). 1 Nhịp ≈ 0.6 coef-tương-đương [ASSUMED]. (7) UL1 DE 97.0 (sóng 40.4 + Phường ×2 25 s còn lại phòng 56.6) — cơ cấu ≥ 60% aoe ≥ 2.0 chỉ đạt ~45%: lý do brief đặt giá trị chính ở Phường ×2; UL2 thêm 7 phách 6.0 coef tăng dần để đạt sàn đơn mục tiêu ≥ 55 (77.3) → DE 84.5; UL2 nhịp phách 13 tick (8 phách trong 1.8 s); 2026-11-07 - UL1 sóng cách 26 tick (tick 16/42/68/94, 16 + 4 × 26 = 120) thay vì 30 tick theo phách 120 BPM để 4 sóng nằm trong clip 2.0 s; mọi move UL1/UL2 có clip chạy tới hết Ult và invuln_ticks phủ cả clip ([0,120] / [0,108]) theo doc 10 Q10, doc 12 §2.5 (INV-11); UL3 thêm hợp âm phách 4 RING r120 4.0 × 5 → DE 99.2. (8) Mã Then Chốt/EVO trong vfx_list (E37 funeral_escort, E38 band_echo, E39 last_call, E40 eternal_wake, EVO1 grand_drum, EVO2 thunder_cymbal, EVO3 white_banner, EVO4 awaken) là slug đặt trước cho agent nâng cấp. (9) music_stem schema nhận 1 id: ghi MUS_b1_grave_hill_h12; 3 bộ còn lại (MUS_b2_shroud_marsh_h12, MUS_b3_mute_foundry_h12, MUS_b4_hanging_city_h12) chọn theo biome. (10) 2026-11-07 - SK06 cd 11, SK08 cd 12 ngoài dải nhóm doc 17 §4.2 (tay đôi 5–8 / nhịp độ 3–8; doc 12 §2.4 7–10 / 4–8): SK06 Vòng Tang Ca là vùng DR_ZONE −25% chia cho cả Phường, cd 11 giữ thời gian phủ ≤ 55% (6 s / 11 s) để vòng không thành chỗ đứng mãi; SK08 Gọi Phường giá trị chính là nhảy Nhịp lên mốc kế (gọi ngay 1 nhạc công, ~19.6 coef-tương-đương với Trống sống 16 s), cd 8 làm Phường luôn đủ mà không cần đánh đúng phách (phá bài kiểm nhịp) và tỉ lệ lên ~1.58 ĐỎ; DE giữ ở cd hiện tại: SK06 0.84, SK08 0.92. (11) 2026-11-07 - visual.clips đồng bộ số frame/hit với av/H12__actor_sfx.json (AV thắng: nguồn sản xuất sprite); band_drum_play hit f8. Mastery: bỏ MR13/MR14/MR17/MR19 (id mỹ phẩm chưa định nghĩa trong canon), MR20 chỉ còn SKN_H12_4; danh hiệu MR20 giữ ở title_mr20_vi.

2Hình ảnh & bảng màu

Màu slot
#2ec0e8 hue 192°
Vòng chân
#2ec0e8 r 12 px
Sprite
37 px cao
Chân dung
bust 128/128 · body 192/192 · viền #66e6ff
Trang phục pixelfx
Tools/pixelfx/src/fx/heroes/_ambrin.js
🎨
Khoá hình Cao 37 px, rộng 22. Khối nhận diện: khăn tang trắng quấn đầu buông 2 đuôi dài tới bả vai (đuôi khăn bay theo nhịp, lệch 1 frame mỗi phách), áo the dài tới gối màu lam than (ramp robe), thắt lưng vải trắng, quần ống gọn, chân đất quấn xà cạp. Kèn: thân gỗ mun 18 px (PAL.wood tối) + loa đồng xỉn 8 px (ramp horn_bronze, S ≤ 40% để không chạm dải tell vàng) = 26 px; mép loa viền slot #66e6ff 1 px; dăm kèn ngậm ngang miệng. Tư thế thủ: kèn chếch 30° lên trời, tay trái đỡ loa. Đọc ở 3/4: loa kèn sáng là điểm nhấn duy nhất trên thân; khăn trắng tạo đầu sáng tách khỏi bầy xám. Phường ma (triệu hồi, FX-14): 4 nhạc công cao 24 px (≤ 70% hero), thân lõi #fff6f0 alpha 70% + viền slot 1 px, không mặt, khăn tang trắng như Ambrin: Trống (trống cái đeo bụng), Chũm Chọe (2 đĩa trên tay), Cờ Phướn (sào phướn trắng 30 px), Kèn Phụ (kèn nhỏ 14 px); không mang hình bóng quái. Cấm: nhạc cụ khác ngoài kèn trên thân Ambrin; vàng kim/đồng bão hoà; mũ trùm che mặt; nốt nhạc phương Tây vẽ trên FX (nốt = giọt âm tròn có đuôi ngắn). Portrait: bust 128×128 3/4 mặt, kèn chếch qua vai phải, khăn tang bay trái, 3 biểu cảm neutral (mím dăm kèn) / resolve (thổi, má phồng) / grief (kèn hạ, mắt nhắm); select 192×192: đứng nghiêng, kèn giơ cao 45° như sắp thổi hiệu, 4 bóng phường mờ 30% xếp hàng sau lưng, vòng nhịp slot dưới chân nhấp theo 1 vòng thở 24 frame.
Ramp màu AmbrinRamp màu Ambrinslotslot #2389ae#2389aeslot #2ec0e8#2ec0e8slot #66e6ff#66e6ffslot #a3f4ff#a3f4ffroberobe #0a1418#0a1418robe #14252c#14252crobe #22383f#22383frobe #38525a#38525amourning_clothmourning_cloth #6b675f#6b675fmourning_cloth #9d988c#9d988cmourning_cloth #c9c4b8#c9c4b8mourning_cloth #e8e4dc#e8e4dchorn_bronzehorn_bronze #3a2f26#3a2f26horn_bronze #5c4b3a#5c4b3ahorn_bronze #8a7458#8a7458horn_bronze #c2ab8a#c2ab8a
visual.palette_ramps

Skin

Kèn Khói Sương

SKN_H12_1
LUT_H12_1
currency CUR_VIGIL_CANDLE, cost 30

Phường Đêm Rằm

SKN_H12_2
LUT_H12_2
currency CUR_VIGIL_CANDLE, cost 45

Khăn Tang Bạc

SKN_H12_3
LUT_H12_3
currency CUR_VIGIL_CANDLE, cost 60

Kèn Ngà Tiễn Biệt

SKN_H12_4
LUT_H12_ivory
mr MR20
Clip hoạt ảnh (44) — số khung
Số khung theo clipSố khung theo clipidleidle: 4848runrun: 1818dashdash: 1010attack1attack1: 3030attack2attack2: 3030attack3attack3: 3030attack4attack4: 3636attack5attack5: 3636attack6attack6: 3636dash_attackdash_attack: 2828answeranswer: 1212answer_hitanswer_hit: 1818hold_inhold_in: 99hold_loophold_loop: 1818hold_outhold_out: 88countercounter: 3030sk01sk01: 4040sk02sk02: 6060sk03sk03: 3636sk04sk04: 4545sk05sk05: 4040sk06sk06: 3636sk07sk07: 3030sk08sk08: 3636ul1ul1: 6060ul2ul2: 5454ul3ul3: 3030hurthurt: 1010brokenbroken: 2727deathdeath: 6060reviverevive: 3636wakewake: 3030victoryvictory: 4545victory_idlevictory_idle: 3636hub_idlehub_idle: 6060selectselect: 4848as2_finas2_fin: 3636as3_finas3_fin: 3636band_drum_playband_drum_play: 1515band_cymbal_clashband_cymbal_clash: 1818band_flag_waveband_flag_wave: 1515band_horn_blowband_horn_blow: 2424band_arriveband_arrive: 1818band_vanishband_vanish: 1212
visual.clips
44 dòng
ClipKhungLặpKhung trúngHướng
idle48có—5+3
run18có—5+3
dash10——5+3
attack130—85+3
attack230—85+3
attack330—85+3
attack436—125+3
attack536—125+3
attack636—115+3
dash_attack28—65+3
answer12—15+3
answer_hit18—35+3
hold_in9——5+3
hold_loop18có—5+3
hold_out8——5+3
counter30—55+3
sk0140—105+3
sk0260có65+3
sk0336—95+3
sk0445có85+3
sk0540—105+3
sk0636—95+3
sk0730—65+3
sk0836—125+3
ul160—8/23/38/535+3
ul254—5/11/18/24/31/37/44/505+3
ul330—145+3
hurt10——5+3
broken27có—5+3
death60——5+3
revive36——5+3
wake30——5+3
victory45——5+3
victory_idle36có—5+3
hub_idle60có—5+3
select48có—1
as2_fin36—115+3
as3_fin36—115+3
band_drum_play15có85+3
band_cymbal_clash18—85+3
band_flag_wave15có—5+3
band_horn_blow24có85+3
band_arrive18——1
band_vanish12——1

3Chỉ số & khung vai trò

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

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

Thanh NhịpThanh Nhịp 0–16, ngưỡng trạng tháiTrống Sóng ≥ 4Chũm Chọe ≥ 8Cờ Phướn ≥ 12016khởi đầu 04 · Trống Sóng8 · Chũm Chọe12 · Cờ Phướn
resource.thresholds
Tài nguyên
Nhịp BEAT · kiểu CLOCK
Khoảng
0 – 16 (bắt đầu 0)
Suy giảm
sau 2 s: −2/s, sàn 0
Khi trúng đòn
−2
ĐÁP
2
Né hoàn hảo
1
Sự kiện đầy
res_full
HUD
CLOCK · HUD_BOTTOM_LEFT_BESIDE_HP
Liên kết Dư Âm
Kèn Phụ ngân +50 Dư Âm: lần đầu trong run khi Nhịp chạm 16; sau đó mỗi khi Nhịp = 16 và đã có ≥ 40 cú đúng phách kể từ lần ngân trước (bộ đếm giữ qua phòng). Cộng chung: ĐÁP +4, Né Hoàn Hảo +4. Nhảy Nhịp bằng H12_SK08 không kích ngân.
Nguồn nạp Nhịp (mỗi sự kiện)Nguồn nạp Nhịp (mỗi sự kiện)attackattack: 11dash_attackdash_attack: 11answeranswer: 22answer_projanswer_proj: 22perfect_dodgeperfect_dodge: 11
resource.gain
Sự kiệnLượngTrần/sGhi chú
attack12Mỗi cú combo/khúc trúng ≥ 1 mục tiêu và được bấm đúng phách ±0.12 s (Thương Xót ±0.16 s; đo theo đồng hồ DSP lúc bấm, sau hiệu chỉnh trễ). Cú tự nối khi giữ Đánh: +0, không chia đôi.
dash_attack12Kèn Lướt Rước bấm đúng phách.
answer2—Thổi Dội đúng phách +2, lệch phách +1; ĐÁP không bao giờ chia đôi Nhịp.
answer_proj2—Như ĐÁP cận chiến: đúng phách +2, lệch +1.
perfect_dodge1—Né Hoàn Hảo +1 (doc 11 §3.1).

Tiêu

Hành độngGiáThiếu vẫn dùngGhi chú
OFFBEAT_HIT0cóCú combo/khúc bấm lệch phách: Nhịp = floor(Nhịp / 2) (AS2 đổi thành −2). Cú vẫn ra đủ sát thương.
Hợp Âm Thu H12_SK042khôngHợp Âm Thu: thiếu 2 Nhịp → kỹ năng bị từ chối.
Vòng Tang Ca H12_SK064khôngVòng Tang Ca: thiếu 4 Nhịp → kỹ năng bị từ chối.

Trạng thái theo ngưỡng

Trống Sóng ≥ 4

Gọi nhạc công Trống: mỗi phách 4 của ô nhịp đập sóng r60 quanh Ambrin, 1× Lực.

Chũm Chọe ≥ 8

Gọi Chũm Chọe: mỗi 8 phách xoảng r90, 0.8× Lực, choáng S 1 s / M 0.4 s, L/XL −15 Thế.

Cờ Phướn ≥ 12

Gọi Cờ Phướn: Ambrin và cả Phường +20% tốc đánh (với Ambrin: nhân vào coef vì máy nhịp không đổi tốc).

Nội tại: Phường Theo Nhịp

H12_PASSIVEdrum_at: 4cymbal_at: 8flag_at: 12horn_at: 16band_max: 4hp: 40hits_to_break: 3orbit_r: 48horn_coef: 0.6horn_len: 160horn_w: 16ult_gain: 50retrigger_hits: 40summon_h_px: 24atk_speed_to_coef: có
Nhịp 4/8/12/16 gọi Trống, Chũm Chọe, Cờ Phướn, Kèn Phụ (≤ 4, HP 40, mất sau 3 đòn). Kèn Phụ ngân: +50 Dư Âm.

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

ĐÁP: Thổi Dội

· ANSWER H12_ANSWERon_beat_window_add: 0.04kb_px: 30proj_dmg_mult: 2window_cap_s: 0.24

Kết quả chung (S choáng 1.0 s + đẩy; M −45 / L −40 / XL −35 Thế) + sóng âm r44 đẩy mọi S trong vòng 30 px; mở Phản 1.0 s.

Đạn Y dội ngược theo hướng tâm Ambrin → ra ngoài, thành đạn của Ambrin ×2 sát thương gốc, không bẻ hướng; không mở Phản.

Bấm đúng phách: cửa sổ 0.20 s (12 tick, Thương Xót kẹp 0.24 s) và ô phách đó được tính là nốt ♪ cho khúc của ô nhịp (Thổi Dội ở phách 4 kích luôn đòn kết khúc); +2 Nhịp đúng phách / +1 lệch.

window_s
0.16
res_gain
2
needs_resource
không
ĐÁP: Thổi DộiĐÁP: Thổi Dội16 px32 px48 pxCIRCLEhurtbox r 7shape CIRCLE r 44sàn 3/4 · ry = rx × 0.5

Giữ: Nốt Ngân

· HOLD H12_HOLDhold_key: hold.held_notedefense_effect: CATCH_RELEASEr: 60catch_cap: 6overflow: viên thứ 7 đẩy viên cũ nhất phóng sớmrelease: phách kế (≤ 0.5 s)release_dir: hướng ngắmrelease_dmg_mult: 1catches_violet: khôngbeat_lock: códecay_pause: cóon_beat_release_keeps_measure: cóblocks_melee: khôngfollows_hero: cóon_end: phóng hết đạn đang giữ

Không tốn Thế, không tốn Nhịp; giữ tối đa 4.0 s (8 phách); hồi 0.5 s sau khi thả; Đánh/Lướt/kỹ năng huỷ ngay (đạn đang giữ phóng hết theo hướng ngắm lúc huỷ).

Đòn tím trúng thường (Nốt Ngân không chặn/giảm sát thương nên không Vỡ Thế); đạn tím đi xuyên vòng, không bị giữ.

mechanic
CATCH
armor_tier
NONE
move_mult
0.6
max_s
4
cooldown_s
0.5

Phản: Hồi Kèn Tiễn

· COUNTER H12_COUNTER
lunge_px
24
damage_eq
180
Phản: Hồi Kèn TiễnPhản: Hồi Kèn Tiễn40 px80 px120 px160 pxLINEhurtbox r 7shape LINE len 140 w 40 p0 [0, 0] p1 [140, 0]sàn 3/4 · ry = rx × 0.5

Lướt

· DASH H12_DASH
dash_px
80
anim
dash
afterimage
có
trail_vfx
VFX_H12_dash_trail
Ghi đè input (input_override)
attack_hold_ticks
12
attack_hold_action
AUTO_CHAIN
aim_rotate_max
720
rhythm_clock
có
Kiểu bấm kỹ năng
H12_SK01 TAP · H12_SK02 TAP · H12_SK03 TAP · H12_SK04 TAP · H12_SK05 TAP · H12_SK06 TAP · H12_SK07 TAP · H12_SK08 TAP

6Bộ đòn & frame data

Frame data Ambrin · COMBO_AFrame data Ambrin · COMBO_Akhởi (startup)hiệu lực (active)hồi (recovery)0 t51015202530B1 Phách MộtB1 Phách Một · startup 4t · coef 1B1 Phách Một · active 4t · coef 1B1 Phách Một · recovery 14t · coef 122tB2 Phách HaiB2 Phách Hai · startup 4t · coef 1B2 Phách Hai · active 4t · coef 1B2 Phách Hai · recovery 14t · coef 122tB3 Phách BaB3 Phách Ba · startup 4t · coef 1B3 Phách Ba · active 4t · coef 1B3 Phách Ba · recovery 14t · coef 122tFIN_DON Khúc DồnFIN_DON Khúc Dồn · startup 8t · coef 2.5FIN_DON Khúc Dồn · active 4t · coef 2.5FIN_DON Khúc Dồn · recovery 18t · coef 2.530t
Tick = 1/60 s (doc 12 §3.1) · khởi / hiệu lực / hồi
37 dòng
37 đòn · hero_moves
ĐònSlotKhởi tHiệu lực tHồi tTổng sCoefLớp đònHitboxMục tiêuThếHitstop sTraumaGiápHuỷ vàoCờGhi chú
Phách Một H12_BEAT_1COMBO_A44140.3671LIGHTARC r 56 arc 1204860.0350NONECOMBO_A@22/HEAVY@22—Thổi một hơi ngắn, sóng âm cung 120° r56 trước mặt. Bấm trong ±0.12 s quanh phách 1 của ô nhịp: ×1.3 sát thương, +1 Nhịp; lệch: ×1.0, Nhịp chia đôi (làm tròn xuống). Phách nghỉ (không bấm) không phạt; cú lệch được gán vào phách gần nhất để xác định khúc.
Phách Hai H12_BEAT_2COMBO_A44140.3671LIGHTARC r 56 arc 1204860.0350NONECOMBO_A@22/HEAVY@22—Thổi một hơi ngắn, sóng âm cung 120° r56 trước mặt. Bấm trong ±0.12 s quanh phách 2 của ô nhịp: ×1.3 sát thương, +1 Nhịp; lệch: ×1.0, Nhịp chia đôi (làm tròn xuống). Phách nghỉ (không bấm) không phạt; cú lệch được gán vào phách gần nhất để xác định khúc.
Phách Ba H12_BEAT_3COMBO_A44140.3671LIGHTARC r 56 arc 1204860.0350NONECOMBO_A@22/HEAVY@22—Thổi một hơi ngắn, sóng âm cung 120° r56 trước mặt. Bấm trong ±0.12 s quanh phách 3 của ô nhịp: ×1.3 sát thương, +1 Nhịp; lệch: ×1.0, Nhịp chia đôi (làm tròn xuống). Phách nghỉ (không bấm) không phạt; cú lệch được gán vào phách gần nhất để xác định khúc.
Khúc Dồn H12_FIN_DONCOMBO_A84180.52.5HEAVYRING r 80 r_in 64 band 1648250.070.28NONECOMBO_A@23shieldbreak/finisherKhúc Khúc Dồn (♪ ♪ ♪ ♪). Bốn phách liền: Ambrin xoay một vòng thổi dài, vòng âm RING r80 (dày 16) nổ quanh thân; S trúng văng 24 px ra ngoài. Đòn kết phách 4 = HEAVY, shieldbreak; đúng phách ×1.3.
Khúc Hụt Hơi H12_FIN_HUTHEAVY84180.53.5HEAVYLINE len 160 w 24 p0 0/0 p1 160/048250.070.28NONECOMBO_A@23shieldbreak/finisher/pierceKhúc Khúc Hụt Hơi (♪ ♪ — ♪). Nghỉ phách 3 để lấy hơi: phách 4 thổi thẳng một luồng LINE 160 × 24 xuyên mọi mục tiêu. Đòn kết phách 4 = HEAVY, shieldbreak; đúng phách ×1.3.
Khúc Vấp H12_FIN_VAPHEAVY84180.53HEAVYCIRCLE r 6448250.070.28NONECOMBO_A@23shieldbreak/finisherKhúc Khúc Vấp (♪ — ♪ ♪). Nhịp vấp: dậm chân + thổi xuống đất, CIRCLE r64 quanh thân, đẩy S 40 px. Đòn kết phách 4 = HEAVY, shieldbreak; đúng phách ×1.3.
Khúc Muộn H12_FIN_MUONHEAVY84180.53HEAVYARC r 72 arc 20048250.070.28NONECOMBO_A@23shieldbreak/finisherKhúc Khúc Muộn (— ♪ ♪ ♪). Vào muộn một phách: phách 4 quét kèn nửa vòng ARC 200° r72. Đòn kết phách 4 = HEAVY, shieldbreak; đúng phách ×1.3.
Khúc Chờ H12_FIN_CHOHEAVY84180.53HEAVYLINE len 240 w 32 p0 0/0 p1 240/048300.070.28NONECOMBO_A@23shieldbreak/finisher/pierceKhúc Khúc Chờ (♪ — — ♪). Hai phách nghỉ nén hơi: LINE 240 × 32 xuyên, coef ×(1 + 0.25 × số phách nghỉ) = ×1.5 → 4.5. Đòn kết phách 4 = HEAVY, shieldbreak; đúng phách ×1.3.
Khúc Lẻ H12_FIN_LEHEAVY84180.52.8HEAVYARC r 64 arc 9048250.070.28NONECOMBO_A@23shieldbreak/finisherKhúc Khúc Lẻ (— ♪ — ♪). Phách lẻ: thổi trước rồi quặt kèn ra sau, 2 ARC 90° r64 (trước + sau), mỗi mục tiêu trúng 1 lần. Đòn kết phách 4 = HEAVY, shieldbreak; đúng phách ×1.3.
Bước Đưa Tang H12_DASHDASH0930.20LIGHTNONE48000NONE——Lướt chung INV-12: 80 px / 9 tick, bất tử 12 tick, 2 lượt nạp tuần tự 42 tick; Ambrin lướt thấp, khăn tang bay ngược. Né Hoàn Hảo +1 Nhịp. Lướt KHÔNG làm lệch phách (máy nhịp vẫn chạy).
Kèn Lướt Rước H12_DASH_ATTACKDASH_ATTACK34120.3171.2LIGHTARC r 48 arc 1804880.040.12NONECOMBO_A@19atk_speed_scalesĐánh trong 9 tick cuối Lướt/≤ 9 tick sau: quét kèn ARC 180° r48 khi trượt tới. Tính là phách đang tới của ô nhịp (đúng phách +1 Nhịp, ×1.3) — Lướt vào phách 1 rồi đánh = mở khúc.
Thổi Dội H12_ANSWERANSWER01090.3171ANSWERCIRCLE r 444800.080.25NONE——Cửa sổ 10 tick (đúng phách 12 tick): một tiếng kèn cụt, sóng âm CIRCLE r44 quanh thân. Cận chiến: kết quả chung + đẩy S 30 px, mở Phản. Đạn Y: dội ra ngoài theo hướng tâm → đạn, ×2 sát thương gốc. +2 Nhịp đúng phách / +1 lệch.
Nốt Ngân H12_HOLDHOLD924084.2830LIGHTCIRCLE r 60128000NONE——hold_in 9 tick → ngân một nốt dài, vòng âm r60 bám thân: đạn Y chạm vòng đứng yên trong vòng (≤ 6 viên; viên thứ 7 đẩy viên cũ nhất phóng sớm); phách kế (≤ 0.5 s ở 120 BPM) mỗi viên phóng ra thành nốt của Ambrin theo hướng ngắm, sát thương = gốc viên đạn ×1.0 [ASSUMED] (VFX_H12_note_bolt). Không % chậm; đạn tím đi xuyên, không bị giữ; không chặn cận chiến. Nhịp không giảm, ô nhịp bị khoá (vị trí phách giữ nguyên tới khi thả). Tối đa 240 tick; thả → hold_out 8 tick, đạn còn giữ phóng hết.
Hồi Kèn Tiễn H12_COUNTERCOUNTER65180.48318COUNTERLINE len 140 w 40 p0 0/0 p1 140/048300.120.45NONE—shieldbreak/pierceTrong 60 tick sau Thổi Dội cận chiến: bước 24 px, chĩa loa thẳng, thổi hồi kèn tiễn LINE 140 × 40 xuyên; coef 18 = 180 ở POWER 10, −30 Thế, bất tử từ input tới hết active.
Trống Sóng H12_BAND_DRUMPASSIVE03270.51SKILLCIRCLE r 6048400.1NONE——Nhạc công Trống (Nhịp ≥ 4): đúng phách 4 mỗi ô nhịp nện trống, sóng CIRCLE r60 tâm Ambrin, đẩy S 16 px.
Chũm Chọe Xoảng H12_BAND_CYMBALPASSIVE03210.40.8SKILLCIRCLE r 90481500.12NONE——Nhạc công Chũm Chọe (Nhịp ≥ 8): mỗi 8 phách xoảng một tiếng, CIRCLE r90 tâm Ambrin: choáng S 1.0 s / M 0.4 s; L/XL −15 Thế.
Kèn Phụ Họa H12_BAND_HORNPASSIVE04260.50.6SKILLLINE len 160 w 16 p0 0/0 p1 160/048200NONE—pierceNhạc công Kèn Phụ (Nhịp 16): phách 2 và 4 thổi LINE 160 × 16 xuyên về quái gần nhất trong 240 px.
Đám Rước H12_SK01_MARCHSKILL1060101.3331.5SKILLRECT len 240 w 484880.030.15NONECOMBO_A@20/SKILL@20—Thổi hiệu rước (Ambrin rảnh từ tick 20): cả Phường xếp hàng một, thiếu bao nhiêu thì bù bấy nhiêu bóng tạm (lõi 40% alpha) cho đủ 4, diễu thẳng 240 px theo hướng ngắm trong 2 phách; mỗi thành viên đi qua gây 1.5 coef + đẩy dạt 16 px sang 2 bên, S dính STS_DREAD 1.5 s; xong diễu thành viên thật quay về vòng r48, bóng tạm tan.
Tấu Khúc Bay H12_SK02_VOLLEYSKILL64200.51SKILLLINE len 260 w 8 p0 0/0 p1 260/04800.020.05NONE—pierceTấu 4 phách (120 tick, đi ×0.7): mỗi phách thổi 3 giọt nốt song song (cách 12 px) thẳng hướng ngắm, tầm 260, tốc 520 px/s, xuyên 1; mục tiêu trúng lần đầu dính STS_SHOCK.
Nốt Trầm Vỡ H12_SK02_LOWSKILL64200.51.2SKILLCIRCLE r 404860.040.12NONE——Phách 4: 3 nốt là nốt trầm, vỡ CIRCLE r40 coef 1.2 ở mục tiêu đầu hoặc cuối tầm.
Kèn Xua H12_SK03_BLASTSKILL95160.53SKILLRECT len 200 w 9648300.060.25NONECOMBO_A@19/SKILL@19—Chĩa loa thổi một hồi xua đuổi: sóng RECT 200 × 96 trước mặt, đẩy mọi S 80 px ra xa, STS_DREAD 1.5 s; bấm đúng phách: S khựng thêm 0.6 s sau khi bị đẩy. M/L/XL −30 Thế.
Hợp Âm Thu H12_SK04_CHORDSKILL8120102.32SKILLCIRCLE r 80128000.05NONECOMBO_A@18/SKILL@18—Thổi một hợp âm vang: vòng r80 bám thân Ambrin 2 s; đạn Y chạm vòng lập tức hoá nốt bay ngược về kẻ bắn (không giữ, không cần phách; trần 12 nốt, thừa thì đi tiếp), quái trong vòng chậm 25%; đạn tím đi xuyên. Hết giờ vòng nổ CIRCLE r80 2.0 coef.
Nốt Trả H12_SK04_RELEASESKILL06140.3332.2SKILLLINE len 320 w 12 p0 0/0 p1 320/0100.030.15NONE——Mỗi đạn Y chạm vòng Hợp Âm Thu hoá ngay 1 nốt bay ngược đuổi kẻ bắn (tầm 320, 600 px/s), sát thương = gốc viên đạn ×1.5 (sàn 2.2 coef), không xuyên; kẻ bắn đã chết → nốt bay thẳng ngược hướng tới. Hạng III: kẻ bắn trúng nốt bị STS_DREAD 1.5 s.
Cao Trào — phách dồn H12_SK05_BEATSKILL43230.51SKILLLINE len 72 w 24 p0 0/0 p1 72/01100.040.1NONE——Khoá 1 mục tiêu trong 120 px, áp sát ≤ 48 px; phách 1–3 mỗi cú 1.0 coef × (1 + cộng dồn); mỗi cú đúng phách +20% cộng dồn, cú lệch xoá cộng dồn.
Cao Trào — phách chốt H12_SK05_FINALSKILL84180.56SKILLLINE len 96 w 32 p0 0/0 p1 96/01300.10.4NONE—shieldbreak/finisherPhách 4: một nốt cao chót vót xuyên mục tiêu, 6.0 coef × (1 + cộng dồn ≤ 0.6) = tối đa 9.6; shieldbreak, −30 Thế.
Vòng Tang Ca H12_SK06_RINGSKILL10360126.3672.5SKILLCIRCLE r 7248100.030.1NONECOMBO_A@22/SKILL@22—Cắm cờ tang, hát một khúc tang ca: vòng r72 cố định 6 s; Ambrin và nhạc công đứng trong vòng −25% sát thương nhận, Thế Ambrin hồi ×2; mỗi phách 4 vòng dội 2.5 coef lên quái trong vòng (3 lần).
Nhịp Bước Tang H12_SK07_STEPSKILL412062.1670SKILLNONE48000NONECOMBO_A@4/SKILL@4—4 phách (120 tick) bước theo nhịp trống: +35% tốc chạy (trần ×1.40); mỗi Lướt bắt đầu đúng phách +2 Nhịp.
Bước Dậm Tang H12_SK07_FOOTFALLSKILL0300.051.5SKILLCIRCLE r 404840.020.08NONE——Lướt đúng phách trong Nhịp Bước Tang: điểm dừng dậm CIRCLE r40 1.5 coef, đẩy S 12 px (tối đa 2 lần/lượt).
Gọi Phường H12_SK08_CALLSKILL124140.52SKILLCIRCLE r 6448100.050.2NONECOMBO_A@16/SKILL@16—Thổi hiệu gọi phường: Nhịp nhảy ngay lên mốc kế (4/8/12/16), nhạc công của mốc đó hiện tức thì, hạ xuống tạo CIRCLE r64 2.0 coef đẩy S 24 px. Nhảy lên 16 bằng kỹ năng này không kích Kèn Phụ ngân +50 Dư Âm.
Đại Nhạc — gọi phường H12_UL1_CALLULT01210820ULTNONE128000.5NONE——Thổi hiệu đại tang: cả 4 nhạc công hiện cùng lúc (chưa có thì gọi mới), chỉ số ×2 (HP 80, sát thương ×2, mất sau 6 đòn) tới hết phòng, không tan khi Nhịp về 0. Không kích Kèn Phụ ngân.
Đại Nhạc — sóng tống táng H12_UL1_WAVEULT16822223ULTRING r 150 r_in 0 band 150128200.080.8NONE—shieldbreak4 phách dồn (tick 16/42/68/94, nhịp 26 tick để cả 4 sóng nằm gọn trong clip 120 tick: 16 + 4 × 26 = 120), cả Phường cùng tấu: mỗi phách sóng RING lan từ tâm ra r150 trong 10 tick, 3.0 coef, đẩy 40 px.
Kèn Tiễn — phách dồn H12_UL2_BEATULT1080181.86ULTLINE len 96 w 32 p0 0/0 p1 96/01150.050.3NONE—shieldbreakKhoá 1 quái M/L/XL (không có thì S nhiều HP nhất), áp sát ≤ 60 px; 7 phách nhanh (mỗi 13 tick), mỗi phách 6.0 coef × (1 + 0.15 × số phách đã qua), tự đúng phách.
Kèn Tiễn — phách tám H12_UL2_FINALULT101431.88ULTLINE len 140 w 40 p0 0/0 p1 140/01400.120.8NONE—shieldbreak/executePhách 8 (tick 101): một hồi kèn tiễn dài, 8.0 × 2.05 = 16.4 coef; mục tiêu ≤ 20% HP chết ngay (XL: ×1.5 sát thương thay vì kết liễu).
Ban Nhạc Bất Tận — khai tấu H12_UL3_ACTIVATEULT02820.50ULTNONE128000.5NONE——Khai tấu 30 tick bất tử: cả 4 nhạc công hiện, vòng nhịp quanh chân sáng cả 4 vạch.
Ban Nhạc Bất Tận — hợp âm phách 4 H12_UL3_CHORDULT04260.54ULTRING r 120 r_in 0 band 120128150.050.4NONE—shieldbreakTrong dạng, mỗi phách 4 cả Phường tấu hợp âm: RING lan r120, 4.0 coef, đẩy 24 px (5 lần trong 10 s).
Loa Lớn Đẩy H12_AS2_FINASPECT84180.51.5HEAVYRECT len 120 w 6448150.060.25NONE—shieldbreakDạng Rèn Loa Lớn: mọi đòn kết phách 4 kèm sóng đẩy RECT 120 × 64 trước mặt, 1.5 coef, đẩy S 48 px.
Lá Xương Quạt Nốt H12_AS3_FINASPECT84180.50.9HEAVYLINE len 220 w 8 p0 0/0 p1 220/04860.040.2NONE—pierceDạng Rèn Lá Xương: mọi đòn kết phách 4 kèm 5 nốt xương quạt 60°, tầm 220, 0.9 coef, xuyên 1.

78 kỹ năng

Hồi chiêu 8 kỹ năngHồi chiêu 8 kỹ năngĐám RướcĐám Rước: 9 s9 sTấu Khúc BayTấu Khúc Bay: 7 s7 sKèn XuaKèn Xua: 9 s9 sHợp Âm ThuHợp Âm Thu: 11 s11 sCao TràoCao Trào: 9 s9 sVòng Tang CaVòng Tang Ca: 11 s11 sNhịp Bước TangNhịp Bước Tang: 6 s6 sGọi PhườngGọi Phường: 12 s12 s
skills[].cooldown_s

Đám Rước

H12_SK01CLEARHồi: 9 sGiá: 0Bấm: TAPLượt: 1
mechanic_key skill.procession_march
ICả Phường (bù bóng tạm đủ 4) diễu 240 × 48 theo hướng ngắm, 1.5 coef/thành viên, đẩy dạt 16 px, STS_DREAD 1.5 s.IICả Phường (bù bóng tạm đủ 4) diễu 240 × 48 theo hướng ngắm, 1.8 coef/thành viên, đẩy dạt 16 px, STS_DREAD 1.5 s.IIICả Phường (bù bóng tạm đủ 4) diễu 240 × 48 theo hướng ngắm, 1.8 coef/thành viên, đẩy dạt 16 px, STS_DREAD 1.5 s. Đám rước rẽ 90° theo cần ngắm giữa đường.

Hạng III: Hạng III: giữa đường (sau phách 1) đám rước rẽ tối đa 90° theo cần ngắm, vẽ thành chữ L — quét được góc phòng; cùng sheet VFX_H12_SK01_procession.

Đòn: · SKILL H12_SK01_MARCH · Tag: Kỹ năng SKILL · Triệu hồi SUMMON

Hitbox Đám RướcHitbox Đám Rước72 px144 px216 px288 pxRECThurtbox r 7shape RECT len 240 w 48sàn 3/4 · ry = rx × 0.5

Tấu Khúc Bay

H12_SK02CLEARHồi: 7 sGiá: 0Bấm: TAPLượt: 1
mechanic_key skill.note_volley
ITấu 4 phách: mỗi phách 3 nốt, tầm 260, 1 coef, xuyên 1; phách cuối nốt trầm vỡ r40 1.2 coef; STS_SHOCK.IITấu 4 phách: mỗi phách 3 nốt, tầm 260, 1.2 coef, xuyên 1; phách cuối nốt trầm vỡ r40 1.4 coef; STS_SHOCK.IIITấu 4 phách: mỗi phách 3 nốt, tầm 260, 1.2 coef, xuyên 2; phách cuối nốt trầm vỡ r40 1.4 coef; STS_SHOCK. Nốt lượn tối đa 20° về quái gần.

Hạng III: Hạng III: nốt xuyên 2 và tự lượn ≤ 20° về quái gần nhất trong đường bay; cùng sheet VFX_H12_note_bolt.

Đòn: · SKILL H12_SK02_VOLLEY · · SKILL H12_SK02_LOW · Tag: Kỹ năng SKILL · Phóng PROJ

Hitbox Tấu Khúc BayHitbox Tấu Khúc Bay72 px144 px216 px288 pxLINEhurtbox r 7shape LINE len 260 w 8 p0 [0, 0] p1 [260, 0]sàn 3/4 · ry = rx × 0.5

Kèn Xua

H12_SK03CONTROLHồi: 9 sGiá: 0Bấm: TAPLượt: 1
mechanic_key skill.push_wave
ISóng xua 200 × 96: 3 coef, đẩy 80 px, STS_DREAD 1.5 s; đúng phách: S khựng 0.6 s.IISóng xua 200 × 96: 3.6 coef, đẩy 80 px, STS_DREAD 1.5 s; đúng phách: S khựng 0.8 s.IIISóng xua 240 × 96: 3.6 coef, đẩy 96 px, STS_DREAD 1.5 s; đúng phách: S khựng 0.8 s. Quái bị đẩy đập tường choáng 1 s.

Hạng III: Hạng III: sóng dài 240, đẩy 96 px; S bị đẩy đập tường/vật cản choáng 1.0 s; cùng sheet VFX_H12_SK03_shoo_wave kéo dài.

Đòn: · SKILL H12_SK03_BLAST · Tag: Kỹ năng SKILL · Khiếp STS_DREAD

Hitbox Kèn XuaHitbox Kèn Xua56 px112 px168 px224 pxRECThurtbox r 7shape RECT len 200 w 96sàn 3/4 · ry = rx × 0.5

Hợp Âm Thu

H12_SK04CONTROLHồi: 11 sGiá: 2Bấm: TAPLượt: 1
mechanic_key skill.convert_projectile
IVòng r80 bám Ambrin 2 s: đạn Y chạm vòng lập tức hoá nốt bay ngược về kẻ bắn ×1.5 (sàn 2.2 coef, trần 12 nốt); quái trong vòng chậm 25%; hết giờ vòng nổ 2 coef.IIVòng r88 bám Ambrin 2 s: đạn Y chạm vòng lập tức hoá nốt bay ngược về kẻ bắn ×1.5 (sàn 2.4 coef, trần 12 nốt); quái trong vòng chậm 25%; hết giờ vòng nổ 2 coef.IIIVòng r88 bám Ambrin 2 s: đạn Y chạm vòng lập tức hoá nốt bay ngược về kẻ bắn ×1.5 (sàn 2.4 coef, trần 16 nốt); quái trong vòng chậm 25%; hết giờ vòng nổ 2 coef. Kẻ bắn trúng nốt trả bị STS_DREAD 1.5 s.

Hạng III: Hạng III: kẻ bắn trúng nốt trả bị STS_DREAD 1.5 s; trần 16 nốt; cùng sheet VFX_H12_SK04_chord_hold.

Đòn: · SKILL H12_SK04_CHORD · · SKILL H12_SK04_RELEASE · Tag: Kỹ năng SKILL · Vùng Sàn ZONE

Hitbox Hợp Âm ThuHitbox Hợp Âm Thu24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 80sàn 3/4 · ry = rx × 0.5

Cao Trào

H12_SK05DUELHồi: 9 sGiá: 0Bấm: TAPLượt: 1phá khiên
mechanic_key skill.crescendo
I4 phách lên 1 mục tiêu: cú đúng phách +20% cộng dồn; phách cuối 6 coef (tối đa ×1.6).II4 phách lên 1 mục tiêu: cú đúng phách +24% cộng dồn; phách cuối 7 coef (tối đa ×1.72).III4 phách lên 1 mục tiêu: cú đúng phách +24% cộng dồn; phách cuối 7 coef (tối đa ×1.72). Cộng dồn còn lại chuyển sang cú combo kế.

Hạng III: Hạng III: cộng dồn chưa xả (tối đa +72%) chuyển sang đòn kết khúc đầu tiên trong 2 s sau đó; cùng sheet VFX_H12_SK05_crescendo.

Đòn: · SKILL H12_SK05_BEAT · · SKILL H12_SK05_FINAL · Tag: Kỹ năng SKILL · Combo COMBO

Hitbox Cao Trào — phách dồnHitbox Cao Trào — phách dồn24 px48 px72 pxLINEhurtbox r 7shape LINE len 72 w 24 p0 [0, 0] p1 [72, 0]sàn 3/4 · ry = rx × 0.5

Vòng Tang Ca

H12_SK06DUELHồi: 11 sGiá: 4Bấm: TAPLượt: 1
mechanic_key skill.zone_buff
IVòng r72 trong 6 s: Ambrin + Phường trong vòng −25% sát thương nhận, Thế hồi ×2; phách 4 dội 2.5 coef.IIVòng r72 trong 6 s: Ambrin + Phường trong vòng −25% sát thương nhận, Thế hồi ×2; phách 4 dội 3 coef.IIIVòng r80 trong 7 s: Ambrin + Phường trong vòng −25% sát thương nhận, Thế hồi ×2; phách 4 dội 3 coef. Nhạc công trong vòng hồi 10 HP mỗi phách 4.

Hạng III: Hạng III: vòng r80 sống 7 s; nhạc công trong vòng hồi 10 HP mỗi phách 4 (không vượt HP 40); cùng sheet VFX_H12_SK06_dirge_ring.

Đòn: · SKILL H12_SK06_RING · Tag: Kỹ năng SKILL · Vùng Sàn ZONE

Hitbox Vòng Tang CaHitbox Vòng Tang Ca24 px48 px72 pxCIRCLEhurtbox r 7shape CIRCLE r 72sàn 3/4 · ry = rx × 0.5

Nhịp Bước Tang

H12_SK07TEMPOHồi: 6 sGiá: 0Bấm: TAPLượt: 1
mechanic_key skill.rhythm_window
I4 phách: +35% tốc chạy; Lướt đúng phách +2 Nhịp và dậm r40 1.5 coef.II4 phách: +35% tốc chạy; Lướt đúng phách +2 Nhịp và dậm r40 1.8 coef.III6 phách: +35% tốc chạy; Lướt đúng phách +2 Nhịp và dậm r40 1.8 coef. Lướt đúng phách đầu tiên hoàn 1 lượt Lướt.

Hạng III: Hạng III: kéo dài 6 phách; Lướt đúng phách đầu tiên hoàn 1 lượt Lướt; cùng sheet VFX_H12_SK07_march_step.

Đòn: · SKILL H12_SK07_STEP · · SKILL H12_SK07_FOOTFALL · Tag: Kỹ năng SKILL · Di chuyển MOVE

Hitbox Bước Dậm TangHitbox Bước Dậm Tang8 px16 px24 px32 px40 px48 pxCIRCLEhurtbox r 7shape CIRCLE r 40sàn 3/4 · ry = rx × 0.5

Gọi Phường

H12_SK08TEMPOHồi: 12 sGiá: 0Bấm: TAPLượt: 1
mechanic_key skill.summon_band
INhịp nhảy lên mốc kế, gọi ngay nhạc công mốc đó; nhạc công hạ xuống r64 2 coef, đẩy 24 px.IINhịp nhảy lên mốc kế, gọi ngay nhạc công mốc đó; nhạc công hạ xuống r64 2.4 coef, đẩy 24 px.IIINhịp nhảy lên mốc kế, gọi ngay nhạc công mốc đó; nhạc công hạ xuống r64 2.4 coef, đẩy 24 px. Nhịp không giảm trong 4 s sau đó.

Hạng III: Hạng III: sau khi gọi, Nhịp không bị trừ do nghỉ trong 4 s (giữ Phường qua lúc né đòn lớn); cùng sheet VFX_H12_SK08_call_band.

Đòn: · SKILL H12_SK08_CALL · Tag: Kỹ năng SKILL · Triệu hồi SUMMON

Hitbox Gọi PhườngHitbox Gọi Phường16 px32 px48 px64 pxCIRCLEhurtbox r 7shape CIRCLE r 64sàn 3/4 · ry = rx × 0.5

83 tuyệt kỹ (Ult)

Đại Nhạc Tống Táng

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

Gọi đủ 4 nhạc công, tấu 4 phách: mỗi phách sóng r150 3 coef; Phường ×2 chỉ số tới hết phòng.

members: 4waves: 4r: 150coef: 3mult: 2kb: 40max_targets: 128dur: 2

Đòn: · ULT H12_UL1_CALL · · ULT H12_UL1_WAVE

Hitbox Đại Nhạc — sóng tống tángHitbox Đại Nhạc — sóng tống táng64 px128 px192 px256 pxRINGRINGhurtbox r 7shape RING r 150 r_in 0 band 150sàn 3/4 · ry = rx × 0.5

Kèn Tiễn Một Người

H12_UL2EXECUTEThời lượng: 1.8 sBất tử t: 0/108Chậm thế giới: 0.6
mechanic_key ult.crescendo

8 phách nhanh lên 1 quái M/L/XL: mỗi phách 6 coef, +15%/phách; phách 8 8 coef, kết liễu ≤ 20% HP.

beats: 8coef: 6inc: 15fin: 8exe: 20execute_xl_mult: 1.5max_single_coef: 77.3

Đòn: · ULT H12_UL2_BEAT · · ULT H12_UL2_FINAL

Hitbox Kèn Tiễn — phách dồnHitbox Kèn Tiễn — phách dồn24 px48 px72 px96 pxLINEhurtbox r 7shape LINE len 96 w 32 p0 [0, 0] p1 [96, 0]sàn 3/4 · ry = rx × 0.5

Ban Nhạc Bất Tận

H12_UL3TRANSFORMThời lượng: 10 sBất tử t: 0/30Chậm thế giới: 0
mechanic_key ult.attack_speed_burst

10 s: đủ 4 nhạc công không mất; cửa sổ phách ±0.16 s; tốc đánh ×1.4; mọi khúc tính đúng phách; phách 4 hợp âm r120 4 coef.

dur: 10members: 4win: 0.16atk: 1.4r: 120coef: 4
Ghi đè khi biến hình
band_full
có
band_immortal
có
beat_window_s
0.16
atk_coef_mult
1.4
all_on_beat
có
res_decay
paused
offbeat_penalty
none
horn_ult_gain
0

Đòn: · ULT H12_UL3_ACTIVATE · · ULT H12_UL3_CHORD

Hitbox Ban Nhạc Bất Tận — hợp âm phách 4Hitbox Ban Nhạc Bất Tận — hợp âm phách 448 px96 px144 px192 pxRINGRINGhurtbox r 7shape RING r 120 r_in 0 band 120sàn 3/4 · ry = rx × 0.5

93 Dạng Rèn

Kèn Đưa Tang

H12_AS1Lớp vũ khí: funeral_hornMảnh Vang: 0

Kèn gỗ mun loa đồng xỉn: phách 1–3 cung 120° r56; lệch phách Nhịp chia đôi; mốc Phường 4/8/12/16.

Combo
tempo_mult 1, arc_add 0, range_add 0
Luật tài nguyên
giữ gốc
Lệch độ khó
—
mechanic_key
—

Đòn: FIN_DON · COMBO_A H12_FIN_DON

Kèn Đồng Loa Lớn

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

Loa đồng to: cung 150° r72, coef ×1.2; lệch phách −2 Nhịp; đòn kết kèm sóng đẩy 120 × 64, 1.5 coef, đẩy 48 px.

Combo
tempo_mult 1, arc_add 30, range_add 16
Luật tài nguyên
cú lệch phách trừ 2 Nhịp thay vì chia đôi
Lệch độ khó
axis R, delta −1
mechanic_key
passive.push_wave

Đòn: · ASPECT H12_AS2_FIN

Kèn Lá Xương

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

Kèn xương nhỏ: r44, coef ×0.9; Phường ở 3/7/11/16 Nhịp; đòn kết kèm 5 nốt quạt 60°, tầm 220, 0.9 coef.

Combo
tempo_mult 1, arc_add 0, range_add −12
Luật tài nguyên
nhạc công ở 3/7/11/16 Nhịp (cùng hiệu ứng mốc gốc 4/8/12/16)
Lệch độ khó
axis V, delta 1
mechanic_key
passive.note_volley

Đòn: · ASPECT H12_AS3_FIN

10Nâng cấp: Edge · Cộng Hưởng · Tiến Hoá

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

Then Chốt (LEGENDARY)

Đoàn Đưa Không Dứt

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

Lướt đúng phách khi Nhịp ≥ 8: hoàn lượt (hồi 1 s), Phường diễu theo đường Lướt, mỗi nhạc công 10 sát thương; Phường ×1.3.

ON_DASH · CUSTOM_HOOK · MORE · dash.summon_band + dash_through.minion_empower
target VERB:DASH, tpl TPL_H12_lp37, min_beat 8, icd_s 1, coef 1, dmg 10, more 1.3, offer_excl XG_H12_DASH_ROUTE
Tag: Lướt DASH · Tài nguyên: Nhịp RES:BEAT

Cả Phường Thổi Dội

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

ĐÁP đúng phách: mọi nhạc công Thổi Dội r44 (S choáng 1 s, đạn ×2); giữ Nốt Ngân thì nhạc công cũng giữ đạn Y chạm vòng r40 của mình.

ON_ANSWER · CUSTOM_HOOK · NONE · answer.summon_band + answer_proj.push_wave
target VERB:ANSWER, tpl TPL_H12_lp38, r 44, stun_s 1, proj_mult 2, hold_r 40, offer_excl XG_H12_HOLD
Tag: Đáp ANSWER · Tài nguyên: Nhịp RES:BEAT

Hồi Kèn Cuối

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

Phản lên quái Vỡ Thế: 4 phách Kèn Tiễn, mỗi phách 30 +15%/phách, kết liễu ≤ 12% HP; tiêu 4 Nhịp → +10 Dư Âm.

ON_COUNTER · CUSTOM_HOOK · NONE · broken.crescendo + counter.res_to_ult
target VERB:COUNTER, tpl TPL_H12_lp39, beats 4, coef 3, dmg 30, inc 15, exe 12, cost 4, ult 10, offer_excl XG_H12_COUNTER_FORM
Tag: Phản COUNTER · Tuyệt kỹ ULT

Đám Tang Không Tàn

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

Ở 16 Nhịp: cú đúng phách tích Vang, đủ 4 Vang Kèn Phụ hợp âm r120 gây 25; khúc kết ×1.3.

ON_RESOURCE_FULL · CUSTOM_HOOK · MORE · res_full.res_overflow + combo_end.summon_band
target VERB:FINISHER, tpl TPL_H12_lp40, vang_cap 4, r 120, coef 2.5, dmg 25, more 1.3, offer_excl XG_H12_FINALE
Tag: Combo COMBO · Tài nguyên: Nhịp RES:BEAT

Hướng build Combo · 6 Edge

Cộng Hưởng: Phách Đều Tay Kèn H12_RS1 · Combo COMBO

Bậc I≥ 3 Edge tag
Combo (phách 1–3 và khúc) +12% sát thương.
Bậc II≥ 5 Edge tag
Cửa sổ đúng phách của combo ±0.14 s; combo ×1.15.
Cửa sổ đúng phách của cú combo/khúc nới từ ±0.12 s lên ±0.14 s (Thương Xót ±0.16 s giữ nguyên, không cộng); thay bậc I. Không chạm cửa sổ ĐÁP.

Đúng Nhịp Dày Tiếng

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

Combo đúng phách: sát thương +14/25/35%.

tham sốH1H2H3
on_beat_inc142535
PASSIVE · MODIFY_MOVE · INC · passive.rhythm_window
target VERB:COMBO
Tag: Combo COMBO

Loa Mở Cung Phách

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

Combo: cung +20/35/50°, bán kính +10/18/25%.

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

Khúc Chốt Đanh Tiếng

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

Khúc kết đúng phách: chí mạng +12/21/30%, bán kính +12/21/30%.

tham sốH1H2H3
crit_add122130
radius_inc122130
PASSIVE · MODIFY_MOVE · FLAT · combo_end.rhythm_window
target VERB:FINISHER
Tag: Combo COMBO · Chí mạng CRIT

Khúc Vỡ Thành Nốt

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

Khi khúc kết trúng, Tấu Khúc Bay bắn 3 nốt gây 8/13 sát thương, xuyên 1 (hồi 4 s).

tham sốH1H2
coef0.81.28
dmg813
ON_HIT · SPAWN_PROJ · NONE · combo_end.note_volley
target H12_SK02, notes 3, pierce 1, icd_s 4
Tag: Combo COMBO

Dồn Dập Lên Cao

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

Mỗi cú đúng phách liền nhau: chí mạng +4/6% (tối đa 4 lớp); lệch phách mất hết lớp.

tham sốH1H2
crit_add46
ON_HIT · STAT · FLAT · attack.crescendo
target SELF, cap 4
Tag: Combo COMBO · Chí mạng CRIT

Vọng Khúc Đôi

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

Khúc kết đúng phách vọng lại ở phách 1 ô kế: 60% sát thương; khúc gốc ×1.15.

ON_HIT · CUSTOM_HOOK · MORE · heavy.rhythm_window
target VERB:FINISHER, tpl TPL_H12_echo_finale, echo_pct 60, more 1.15, offer_requires EDGE:H12_E03, offer_excl XG_H12_FINALE
Tag: Combo COMBO

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

Cộng Hưởng: Bước Đưa Đều Chân H12_RS2 · Lướt DASH

Bậc I≥ 3 Edge tag
Kèn Lướt Rước +25% sát thương.
Bậc II≥ 5 Edge tag
Lướt đúng phách tính là 1 nốt ♪ của ô nhịp; Kèn Lướt Rước ×1.2.
Lướt không còn làm hỏng khúc: phách bị Lướt (hoặc Kèn Lướt Rước) chiếm, nếu bấm đúng phách, được tính là nốt ♪ cho mẫu khúc của ô nhịp; thay bậc I.

Kèn Rước Dạt Đường

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

Kèn Lướt Rước: sát thương +50/88/125%, bán kính +15/26/38%.

tham sốH1H2H3
dmg_inc5088125
radius_inc152638
PASSIVE · MODIFY_MOVE · INC · dash_attack.push_wave
target H12_MV_DASH_ATTACK
Tag: Lướt DASH

Dậm Chân Đưa Tang

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

Nhịp Bước Tang: dậm bán kính +8/14/20 px, sát thương +30/53/75%.

tham sốH1H2H3
r_add81420
dmg_inc305375
PASSIVE · MODIFY_MOVE · INC · dash.rhythm_window
target H12_SK07
Tag: Lướt DASH

Né Theo Tiếng Trống

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

Khi Né Hoàn Hảo, Trống đập sóng tại chỗ: nổ r60 gây 15/27/38 sát thương.

tham sốH1H2H3
coef1.52.653.75
dmg152738
ON_PERFECT_DODGE · BLAST · NONE · perfect_dodge.summon_band
radius 60
Tag: Lướt DASH

Phường Hạ Theo Bước

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

Gọi Phường: nhạc công hạ tại điểm đáp Lướt kế (1.5 s), sát thương hạ xuống +40/64%.

tham sốH1H2
dmg_inc4064
ON_DASH · MODIFY_MOVE · INC · dash_end.summon_band
target H12_SK08, window_s 1.5
Tag: Lướt DASH · Triệu hồi SUMMON

Bước Nhảy Ban Nhạc

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

Ban Nhạc Bất Tận: Lướt đúng phách hoàn 1 lượt (hồi 1 s); hợp âm phách 4 +30/48%.

tham sốH1H2
dmg_inc3048
PASSIVE · MODIFY_MOVE · INC · dash.attack_speed_burst
target H12_UL3, refund 1, icd_s 1
Tag: Lướt DASH · Tuyệt kỹ ULT

Đoàn Rước Theo Chân

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

Nhịp Bước Tang: Lướt đúng phách kéo Phường diễu theo đường Lướt, mỗi nhạc công gây 12 sát thương (hồi 1 s).

ON_DASH · CUSTOM_HOOK · NONE · dash_through.procession_march
target H12_SK07, tpl TPL_H12_dash_procession, coef 1.2, dmg 12, icd_s 1, offer_excl XG_H12_DASH_ROUTE
Tag: Lướt DASH

Hướng build Đáp · 6 Edge

Cộng Hưởng: Tiếng Dội Ngân Vang H12_RS3 · Đáp ANSWER

Bậc I≥ 3 Edge tag
Thổi Dội: đạn dội +25% sát thương.
Bậc II≥ 5 Edge tag
ĐÁP đúng phách để lại Nốt Ngân 2 phách tại chỗ; ĐÁP ×1.2.
Nốt Ngân tách khỏi tay: mỗi ĐÁP đúng phách đặt 1 vòng Nốt Ngân r60 đứng tại chỗ 2 phách (1.0 s), Ambrin vẫn đánh/Lướt tự do; vòng không khoá phách, không chặn cận chiến; thay bậc I.

Tiếng Dội Lan Xa

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

Thổi Dội: bán kính +15/26/38%, đẩy thêm 6/10/16 px.

tham sốH1H2H3
radius_inc152638
kb_add61016
PASSIVE · MODIFY_MOVE · INC · answer.push_wave
target VERB:ANSWER
Tag: Đáp ANSWER

Nốt Ngân Dày Hơi

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

Nốt Ngân: bán kính +8/14/20 px, giữ thêm 1/2/3 đạn.

tham sốH1H2H3
r_add81420
catch_cap_add123
PASSIVE · MODIFY_MOVE · FLAT · hold_start.hold_shape_grow
target VERB:HOLD
Tag: Đáp ANSWER

Dội Điện Loa Đồng

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

Khi ĐÁP thành công, gây Điện Giật 2 s (30/53/75%) lên quái trong sóng.

tham sốH1H2H3
chance305375
ON_ANSWER · APPLY_STATUS · NONE · answer.apply_shock
status STS_SHOCK, duration_s 2
Tag: Đáp ANSWER · Điện Giật STS_SHOCK

Vòng Tang Đáp Lời

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

Khi ĐÁP thành công trong Vòng Tang Ca, vòng dội ngay 60/96% sức phách 4 (hồi 1 s).

tham sốH1H2
pct6096
ON_ANSWER · MODIFY_MOVE · NONE · answer.zone_buff
target H12_SK06, icd_s 1
Tag: Đáp ANSWER

Hợp Âm Ôm Chặt

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

Hợp Âm Thu: trần +4 đạn, nổ +25/40% sát thương.

tham sốH1H2
dmg_inc2540
PASSIVE · MODIFY_MOVE · INC · skill.convert_projectile
target H12_SK04, cap_add 4
Tag: Đáp ANSWER

Nốt Ngân Bắt Đạn

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

Nốt phóng từ Nốt Ngân ×1.5 sát thương, xuyên +2, Điện Giật 2 s.

ON_HOOK · CUSTOM_HOOK · NONE · hold_end.convert_projectile
target VERB:HOLD, tpl TPL_H12_held_catch, mult 1.5, pierce_add 2, shock_s 2, offer_requires EDGE:H12_E14, offer_excl XG_H12_HOLD
Tag: Đáp ANSWER · Điện Giật STS_SHOCK

Hướng build Phản · 6 Edge

Cộng Hưởng: Tiễn Đưa Trọn Lễ H12_RS4 · Phản COUNTER

Bậc I≥ 3 Edge tag
Hồi Kèn Tiễn +15% sát thương.
Bậc II≥ 5 Edge tag
Phản đúng phách: Phường diễu theo đường Phản, 1 coef/nhạc công; Phản ×1.2.
Hồi Kèn Tiễn đúng phách thành đầu đoàn rước: Phường xếp hàng diễu LINE 140 × 40 theo hướng Phản (như Đám Rước, không bù bóng tạm); thay bậc I.

Kèn Tiễn Dài Hơi

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

Hồi Kèn Tiễn: dài +20/36/50 px, sát thương +25/44/63%.

tham sốH1H2H3
len_add203650
dmg_inc254463
PASSIVE · MODIFY_MOVE · INC · counter.push_wave
target VERB:COUNTER
Tag: Phản COUNTER

Cả Phường Thổi Theo

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

Khi Phản trúng, mỗi nhạc công bắn 1 nốt theo hướng Phản gây 8/14/20 sát thương, xuyên 1.

tham sốH1H2H3
coef0.81.42
dmg81420
ON_COUNTER · SPAWN_PROJ · NONE · counter.summon_band
count 1, pierce 1
Tag: Phản COUNTER

Phản Mở Cao Trào

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

Khi Phản trúng, Cao Trào kế trong 4 s: phách chốt +30/53/75%.

tham sốH1H2H3
dmg_inc305375
ON_COUNTER · MODIFY_MOVE · INC · counter.crescendo
target H12_SK05, window_s 4
Tag: Phản COUNTER

Tiễn Đúng Tên Người

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

Kèn Tiễn Một Người: ngưỡng kết liễu +3/5%, mỗi phách thêm +3/5%.

tham sốH1H2
execute_add35
inc_add35
PASSIVE · MODIFY_MOVE · FLAT · ult.crescendo
target H12_UL2
Tag: Phản COUNTER · Tuyệt kỹ ULT

Phường Dồn Một Mối

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

Khi Phản trúng, Phường dồn đánh mục tiêu Phản 4 s, sát thương Phường lên nó +30/48%.

tham sốH1H2
inc3048
ON_COUNTER · CUSTOM_HOOK · INC · counter.minion_empower
tpl TPL_H12_band_focus, dur_s 4
Tag: Phản COUNTER

Tiễn Ba Hồi Kèn

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

Hồi Kèn Tiễn thổi tiếp 2 phách kế, mỗi phách 40% sát thương Phản; phách cuối đẩy 40 px.

ON_COUNTER · CUSTOM_HOOK · NONE · counter.rhythm_window
target VERB:COUNTER, tpl TPL_H12_triple_farewell, extra 2, beat_pct 40, kb_px 40, offer_requires EDGE:H12_E19, offer_excl XG_H12_COUNTER_FORM
Tag: Phản COUNTER

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

Cộng Hưởng: Bản Tấu Liền Hơi H12_RS5 · Kỹ năng SKILL

Bậc I≥ 3 Edge tag
Hồi chiêu kỹ năng −8%.
Bậc II≥ 5 Edge tag
Kỹ năng dùng đúng phách hoàn 15% hồi chiêu; kỹ năng ×1.15.
Kỹ năng vào máy nhịp: dùng kỹ năng đúng phách (±0.12 s) hoàn 15% hồi chiêu (trần doc 13 §15.3) và phách đó tính là nốt ♪ của ô nhịp; thay bậc I.

Đám Rước Dài Đường

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

Đám Rước: dài +24/42/60 px, rộng +8/14/20 px.

tham sốH1H2H3
len_add244260
w_add81420
PASSIVE · MODIFY_MOVE · FLAT · skill.procession_march
target H12_SK01
Tag: Kỹ năng SKILL

Khúc Bay Vượt Sông

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

Tấu Khúc Bay: tầm +30/52/76 px, sát thương +12/21/30%.

tham sốH1H2H3
range_add305276
dmg_inc122130
PASSIVE · MODIFY_MOVE · INC · skill.note_volley
target H12_SK02
Tag: Kỹ năng SKILL

Kèn Xua Hồn Vía

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

Khi Kèn Xua trúng, gây thêm Khiếp 1/1.6 s; quái đang Khiếp nhận +20/32% từ sóng.

tham sốH1H2
duration_s11.6
dmg_inc2032
ON_HIT · APPLY_STATUS · NONE · skill_hit.apply_dread
target H12_SK03, status STS_DREAD
Tag: Kỹ năng SKILL · Khiếp STS_DREAD

Tang Ca Ngân Dài

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

Vòng Tang Ca: sống +1/1.6 s, phách 4 dội +25/40%.

tham sốH1H2
dur_add11.6
dmg_inc2540
PASSIVE · MODIFY_MOVE · INC · skill.zone_buff
target H12_SK06
Tag: Kỹ năng SKILL

Hợp Âm Tìm Người

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

Hợp Âm Thu: đạn trả lượn ≤ 25° về quái gần nhất, sàn sát thương 20/32.

tham sốH1H2
coef23.2
dmg2032
PASSIVE · MODIFY_MOVE · NONE · skill_hit.convert_projectile
target H12_SK04, homing_deg 25
Tag: Kỹ năng SKILL

Cao Trào Không Gãy

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

Cao Trào: lệch phách chỉ mất 1 lớp thay vì về 0; phách chốt ×1.2.

PASSIVE · MODIFY_MOVE · MORE · skill_hit.crescendo
target H12_SK05, lose 1, more 1.2
Tag: Kỹ năng SKILL

Hướng build Tài nguyên: Nhịp · 6 Edge

Cộng Hưởng: Phường Đủ Mặt H12_RS6 · Tài nguyên: Nhịp RES:BEAT

Bậc I≥ 3 Edge tag
Nhạc công Phường HP +20.
Bậc II≥ 5 Edge tag
Trống đánh theo khúc của Ambrin, Chũm Chọe mỗi 4 phách; Phường ×1.15.
Phường thôi đợi máy nhịp: Trống đập ngay khi khúc kết của Ambrin trúng (thay vì cứ phách 4), Chũm Chọe xoảng mỗi 4 phách thay 8; thay bậc I.

Phường Thật Bước Nặng

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

Đám Rước: nhạc công thật +20/35/50% sát thương, Khiếp +0.3/0.55/0.75 s.

tham sốH1H2H3
dmg_inc203550
dread_add0.30.550.75
PASSIVE · MODIFY_MOVE · INC · skill_hit.procession_march
target H12_SK01
Tag: Tài nguyên: Nhịp RES:BEAT · Triệu hồi SUMMON

Lời Gọi Gấp Gáp

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

Gọi Phường: hồi chiêu −8/14/20%, hạ xuống +25/44/63% sát thương.

tham sốH1H2H3
cd_pct81420
dmg_inc254463
PASSIVE · MODIFY_MOVE · INC · skill.summon_band
target H12_SK08
Tag: Tài nguyên: Nhịp RES:BEAT

Xua Bằng Cả Nhịp

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

Khi dùng Kèn Xua, tiêu thêm 2 Nhịp nếu đủ: sóng dài +40/64 px, sát thương +30/48%.

tham sốH1H2
len_add4064
dmg_inc3048
ON_SKILL_CAST · MODIFY_MOVE · INC · res_spend.push_wave
target H12_SK03, cost 2
Tag: Tài nguyên: Nhịp RES:BEAT

Đại Nhạc Dồn Nhịp

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

Đại Nhạc Tống Táng: sóng r +20/32 px; xong ult, Nhịp lên 12 nếu đang thấp hơn.

tham sốH1H2
r_add2032
PASSIVE · MODIFY_MOVE · FLAT · ult.minion_empower
target H12_UL1, set_beat 12
Tag: Tài nguyên: Nhịp RES:BEAT · Tuyệt kỹ ULT

Phường Không Bỏ Đám

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

Nhịp tụt không xoá Phường ngay: mỗi 2 phách rời 1 nhạc công; nhạc công vỡ quay lại sau 4 phách nếu Nhịp còn đủ mốc.

ON_RESOURCE_SPEND · CUSTOM_HOOK · NONE · res_spend.summon_band
target RES, tpl TPL_H12_band_stays, leave_beats 2, return_beats 4, offer_requires RS1:H12_RS6
Tag: Tài nguyên: Nhịp RES:BEAT · Triệu hồi SUMMON

Hợp Tấu Phách Bốn

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

Nhịp ≥ 12: phách 4 mọi nhạc công đánh cùng 1 frame tại Ambrin, gộp 1 nổ r96 ×1.2.

ON_HOOK · CUSTOM_HOOK · MORE · res_threshold.minion_empower
target RES, tpl TPL_H12_band_unison, min_beat 12, r 96, more 1.2
Tag: Tài nguyên: Nhịp RES:BEAT

Tiến Hoá

requires_edges + condition.ref → Tiến Hoá

Trống Cái Tống Táng

H12_EVO1

Giữ Phường Hạ Theo Bước (+64%) và Đại Nhạc Dồn Nhịp (r +32). Đại Nhạc Tống Táng hạ Trống Cái: +2 phách sóng; tới hết phòng Trống đập r96 1.6 coef mỗi 2 phách.

Cần Edge
Phường Hạ Theo Bước H12_E10 · Đại Nhạc Dồn Nhịp H12_E34
Điều kiện
RESONANCE Phường Đủ Mặt H12_RS6 = 2 — Cộng Hưởng Phường Đủ Mặt đạt bậc II
Mở
4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
mechanic
ult.summon_band

Chũm Chọe Gọi Sấm

H12_EVO2

Giữ Hợp Âm Ôm Chặt (+4 đạn, +40%) và Hợp Âm Tìm Người (sàn 32). Hợp Âm Thu nổ thành xoảng sấm r112: Điện Giật 3 s, S choáng 1 s; đạn trả mang Điện Giật, xuyên +2.

Cần Edge
Hợp Âm Ôm Chặt H12_E17 · Hợp Âm Tìm Người H12_E29
Điều kiện
SKILL_RANK Hợp Âm Thu H12_SK04 = 3 — Hợp Âm Thu đạt hạng III
Mở
4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
mechanic
skill_max_rank.convert_projectile

Phướn Trắng Cao Trào

H12_EVO3

Giữ Dồn Dập Lên Cao (+6%/lớp, 4 lớp) và Phản Mở Cao Trào (+75%). Cao Trào cắm Phướn Trắng tại mục tiêu 4 s: mỗi đòn Phường đúng phách +1 lớp; phách chốt luôn chí mạng.

Cần Edge
Dồn Dập Lên Cao H12_E05 · Phản Mở Cao Trào H12_E21
Điều kiện
LEVEL = 14 — đạt cấp 14 trong run
Mở
4/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed… MR01
mechanic
crit.crescendo

Kèn Thức Tỉnh Gọi Đò

H12_EVO4Thức Tỉnh

Thức Tỉnh Vũ Khí: loa đồng bừng xanh. Phách 1–3 cung 150° r64, Khúc Dồn r96; cú đúng phách gây Điện Giật 1.5 s, khúc kết gây Khiếp 1 s (cùng frame gốc, không anim mới).

Cần Edge
—
Điều kiện
BOSS_KILLED Thợ Cả Đúc Chuông BS_B3 = BS_B3 — 2 Cộng Hưởng hero bậc II bất kỳ + đã hạ trùm Hồi III trong run
Mở
Công thức EVO4 hiện ở ST_FORGE (mở khoá sức mạnh cuối của T… MR12
mechanic
passive.weapon_awaken
Mẫu câu (17)
IDCâu
TPL_H12_echo_finaleMệnh đề khúc kết: khúc kết bấm đúng phách được vọng lại ở phách 1 của ô nhịp kế — cùng hình hitbox, cùng frame active, tại vị trí khúc gốc, không cần bấm, không chiếm phách (phách 1 vẫn nhận cú của người chơi); sát thương vọng = % của hàng; khúc gốc nhân MORE của hàng. Vọng không kích trigger ON_HIT (độ sâu 1). VFX: VFX_H12_fin_ring / VFX_H12_fin_lance biến thể tint slot α 0.5, scale 1.0 (doc 31 variant, không sheet mới).
TPL_H12_dash_processionMệnh đề Lướt: trong lúc Nhịp Bước Tang bật, Lướt bấm đúng phách kéo mọi nhạc công Phường đang có (không bù bóng tạm) xếp hàng diễu theo đúng đoạn đường Lướt 80 px (LINE rộng 32), mỗi nhạc công trúng mỗi quái 1 lần, sát thương theo hàng; hồi theo hàng. Phường quay về vòng r48 sau 0.5 s.
TPL_H12_held_catchMệnh đề Nốt Ngân (nâng cú phóng, không đổi luật giữ canon): Nốt Ngân vẫn giữ đạn Y như gốc — vòng r60, ≤ 6 viên + phần giữ thêm của Nốt Ngân Dày Hơi; viên vượt trần đẩy viên cũ nhất phóng sớm; đạn tím không bị giữ; không % chậm; Nhịp không giảm, khoá phách; không chặn cận chiến. Mọi nốt phóng ra từ Nốt Ngân (phóng ở phách kế, ≤ 0.5 s ở 120 BPM, và viên bị đẩy phóng sớm) theo hướng ngắm: sát thương = gốc viên × hàng (thay ×1.0 canon), xuyên thêm 2 quái, gây STS_SHOCK theo hàng (2 s). Nhóm loại trừ với Cả Phường Thổi Dội.
TPL_H12_band_focusMệnh đề Phản: mục tiêu trúng Hồi Kèn Tiễn bị Phường khoá: mọi đòn nhạc công (Trống sóng, Chũm Chọe xoảng, Kèn Phụ thổi) ưu tiên hướng/điểm vào nó trong thời gian của hàng, sát thương Phường lên nó cộng INC theo hàng. Không giữ token địch (Bible Phường).
TPL_H12_triple_farewellMệnh đề Phản: Hồi Kèn Tiễn ra cú 1 như gốc rồi tự thổi thêm số phách của hàng, mỗi cú rơi đúng phách kế của máy nhịp (0.5 s/phách), cùng hitbox LINE 140 × 40 theo hướng Phản, % sát thương theo hàng, −0 Thế; cú cuối đẩy theo hàng. Ambrin đánh/Lướt tự do giữa các cú (cú tự ra từ loa đặt tại điểm Phản). Ghi đè bởi Then Chốt Hồi Kèn Cuối (cùng nhóm loại trừ).
TPL_H12_band_staysMệnh đề Nhịp: khi Nhịp tụt (lệch phách, nghỉ, trúng đòn) xuống dưới mốc, Phường không mất ngay: nhạc công mốc cao nhất rời sau số phách của hàng, rồi tới người kế; Nhịp lên lại mốc trước khi rời → giữ nguyên. Nhạc công vỡ (3 đòn) quay lại ở HP 40 sau số phách của hàng nếu Nhịp còn ≥ mốc của nó. Nhịp = 0 vẫn xoá toàn Phường (canon).
TPL_H12_band_unisonMệnh đề Phường: khi Nhịp ≥ ngưỡng hàng, ở phách 4 mỗi ô nhịp mọi nhạc công đang có dồn đòn của mình về Ambrin và đánh cùng 1 frame: gộp thành 1 nổ RING bán kính hàng, coef = tổng coef các đòn đã gộp (Trống 1.0, Chũm Chọe 0.8 nếu tới lượt, Kèn Phụ 0.6), nhân MORE của hàng; choáng của Chũm Chọe giữ nguyên. VFX: VFX_H12_band_drum scale 1.6 + VFX_H12_fin_ring tint slot.
TPL_H12_lp37THEN CHỐT Đoàn Đưa Không Dứt — Lướt đúng phách khi Nhịp ≥ ngưỡng hàng hoàn lượt Lướt vừa dùng (trần doc 13 §15.3: 1 lượt/1.0 s); mọi nhạc công Phường diễu theo đường Lướt như đoàn đưa (LINE theo quãng Lướt, rộng 40), mỗi nhạc công gây sát thương theo hàng lên quái trên đường; sát thương Phường nhân MORE của hàng khi đang diễu và 2 s sau. Ghi đè Đoàn Rước Theo Chân (cùng nhóm loại trừ).
TPL_H12_lp38THEN CHỐT Cả Phường Thổi Dội — ĐÁP bấm đúng phách: mỗi nhạc công Phường thổi 1 Thổi Dội tại chỗ (sóng r44: S choáng theo hàng + đẩy, đạn Y trong sóng dội ×hàng, không mở Phản cho nhạc công). Khi Ambrin giữ Nốt Ngân, mỗi nhạc công ngân 1 vòng r40 quanh mình: đạn Y chạm vòng bị giữ đứng như Nốt Ngân gốc (gộp chung trần 6 viên của Ambrin; viên vượt trần đẩy viên cũ nhất phóng sớm), phóng cùng phách kế theo hướng ngắm của Ambrin, sát thương = gốc viên ×1.0; đạn tím không bị giữ; không % chậm, không chặn cận chiến. Nhóm loại trừ với Nốt Ngân Bắt Đạn.
TPL_H12_lp39THEN CHỐT Hồi Kèn Cuối — Hồi Kèn Tiễn trúng quái đang Vỡ Thế (M/L/XL): thay bằng Kèn Tiễn rút gọn — khoá mục tiêu, tấu số phách của hàng ở nhịp nhanh 13 tick/phách, mỗi phách sát thương theo hàng +INC cộng dồn/phách; phách cuối kết liễu quái dưới ngưỡng HP (không lên Boss: Boss chỉ nhận sát thương). Mỗi lần kích tiêu Nhịp theo hàng (nếu đủ) đổi thành Dư Âm theo hàng (trần +10/s, khoá nạp sau ult giữ nguyên). Ghi đè Tiễn Ba Hồi Kèn.
TPL_H12_lp40THEN CHỐT Đám Tang Không Tàn — khi Nhịp = 16, mỗi cú đúng phách không phí: tích 1 Vang (tối đa theo hàng, hiện trên HUD vòng nhịp); đủ Vang thì Kèn Phụ ngân hợp âm RING bán kính hàng, sát thương theo hàng, Vang về 0 (không cộng Dư Âm, Dư Âm vẫn theo luật Kèn Phụ canon). Khúc kết ra khi Nhịp = 16 nhân MORE của hàng. Nhóm loại trừ với Vọng Khúc Đôi.
TPL_H12_rs4_marchMệnh đề Cộng Hưởng Phản bậc II: Hồi Kèn Tiễn bấm đúng phách khiến Phường đang có xếp hàng diễu LINE 140 × 40 theo hướng Phản, coef/nhạc công theo hàng, không bù bóng tạm; Phản nhân MORE.
TPL_H12_rs6_tempoMệnh đề Cộng Hưởng Nhịp bậc II: Trống đập sóng r60 ngay frame khúc kết của Ambrin trúng (thay vì cứ phách 4; ô nhịp không có khúc → không đập); Chũm Chọe xoảng mỗi số phách của hàng; sát thương Phường nhân MORE.
TPL_H12_build_phuong_dongHƯỚNG BUILD Phường Đông (RES:BEAT + SUMMON, SRS06 SUMMON; kỹ năng hợp SK08, SK01; RS6 → RS2): lõi E31 E32 E33 E34 E35 E36 + E09 E10 E20 E23 + Then Chốt E37/E40; Tiến Hoá EVO1 Trống Cái Tống Táng. Chơi: giữ phách lên 16 Nhịp, Gọi Phường nhảy mốc, Đám Rước quét đường. Yếu: lệch phách → Nhịp/2, Phường rơi.
TPL_H12_build_dung_phachHƯỚNG BUILD Đúng Phách (COMBO + CRIT, SRS01 CRIT; kỹ năng hợp SK05, SK07; RS1 → RS4): lõi E01 E02 E03 E04 E05 E06 + E08 E12 E21 E22 E30 + Then Chốt E40/E39; Tiến Hoá EVO3 Phướn Trắng Cao Trào. Chơi: mọi cú ±0.12 s, khúc kết chí mạng, Cao Trào chốt phách 4. Yếu: nhịp lừa của địch.
TPL_H12_build_not_nganHƯỚNG BUILD Nốt Ngân (ANSWER + STS_SHOCK, SRS10 SHOCK+ROT; kỹ năng hợp SK04, SK06, SK03; RS3 → RS5): lõi E13 E14 E15 E16 E17 E18 + E27 E28 E29 E33 + Then Chốt E38; Tiến Hoá EVO2 Chũm Chọe Gọi Sấm. Chơi: Thổi Dội đúng phách, vòng âm r60 hãm đạn, trả đạn Điện Giật. Yếu: cận chiến xuyên vòng.
TPL_H12_notesGHI CHÚ 2026-11-07: (1) hướng Nốt Ngân theo doc 13 §14 (ANSWER + STS_SHOCK, SRS10) thay vì doc 12 §11.12 (ANSWER + ZONE) — doc 13 sở hữu bảng hướng build. (2) Ngân sách PI ước theo doc 17 §4.4 với tỉ phần kit [ASSUMED]: phách 1–3 25%, khúc 20%, Kèn Lướt Rước 5%, Phường 18%, kỹ năng 25%, Phản 5% (tay đôi 8%), ult 8%; mọi hàng nằm trong dải rarity. (3) Mọi VFX dùng id có sẵn trong av.vfx_list H12 hoặc thư viện SHARED; đổi nhỏ = biến thể tint/scale doc 31, không sheet mới; không đổi heroes/H12.json.

11Thông Thạo (mastery)

Thông Thạo Ambrin MR01–MR20Thông Thạo Ambrin MR01–MR20MR02MR05MR07MR10MR12MR15MR17MR20Đám Rước · Kèn Xua · Cao Trào · Nhịp Bước Tang · Đại Nhạc Tống Táng · Kèn Đưa Tang · EDGE_TAG:COMBO:4 · EDGE_TAG:DASH:4 · EDGE_TAG:ANSWER:4 · EDGE_TAG:COUNTER:4 · EDGE_TAG:SKILL:4 · EDGE_TAG:RES_BEAT:4Đám Rước · Kèn Xua · Cao …MR01 · 12 mởTấu Khúc BayTấu Khúc BayMR02 · 1 mởEDGE_TAG:COMBO:1 · EDGE_TAG:DASH:1 · EDGE_TAG:ANSWER:1 · EDGE_TAG:COUNTER:1EDGE_TAG:COMBO:1 · EDGE_T…MR03 · 4 mởHợp Âm ThuHợp Âm ThuMR04 · 1 mởĐÁP {answers} tell vàng trong 1 run. · Đầy tài nguyên riêng {fills} lần trong 1 run.ĐÁP {answers} tell vàng t…MR05 · 2 mởEDGE_TAG:SKILL:1 · EDGE_TAG:RES_BEAT:1 · EDGE_TAG:COMBO:1 · EDGE_TAG:DASH:1EDGE_TAG:SKILL:1 · EDGE_T…MR06 · 4 mởVòng Tang CaVòng Tang CaMR07 · 1 mởEDGE_TAG:ANSWER:1 · EDGE_TAG:COUNTER:1 · EDGE_TAG:SKILL:1 · EDGE_TAG:RES_BEAT:1EDGE_TAG:ANSWER:1 · EDGE_…MR08 · 4 mởGọi PhườngGọi PhườngMR09 · 1 mởĐoàn Đưa Không Dứt · Cả Phường Thổi Dội · Hồi Kèn Cuối · Đám Tang Không TànĐoàn Đưa Không Dứt · Cả P…MR10 · 4 mởCon thổi tiễn cả xứ. Ngày ta đi, con thổi bài chậm thôi nhé.Con thổi tiễn cả xứ. Ngày…MR11 · 1 mởKèn Thức Tỉnh Gọi ĐòKèn Thức Tỉnh Gọi ĐòMR12 · 1 mởKèn của ngươi giờ ngân cả khi im. Ta nghe qua đe.Kèn của ngươi giờ ngân cả…MR15 · 1 mởHạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… · Qua Hồi II chỉ dùng {skills} kỹ năng. · Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}.Hạ 1 boss Hồi mà không tr…MR16 · 3 mởTMB_H12TMB_H12MR18 · 1 mởKèn Tang NgàKèn Tang NgàMR20 · 1 mở
mastery.mastery_unlocks
MR014/8 kỹ năng (SK01, SK03, SK05, SK07) · UL1 · AS1 · 24/40 Ed…
Đám Rước H12_SK01 · Kèn Xua H12_SK03 · Cao Trào H12_SK05 · Nhịp Bước Tang H12_SK07 · Đại Nhạc Tống Táng H12_UL1 · Kèn Đưa Tang H12_AS1 · EDGE_TAG:COMBO:4 · EDGE_TAG:DASH:4 · EDGE_TAG:ANSWER:4 · EDGE_TAG:COUNTER:4 · EDGE_TAG:SKILL:4 · EDGE_TAG:RES_BEAT:4
MR02+1 kỹ năng (SK02).
MR03+4 Edge hero: RARE còn lại của tag verb 1–4.
EDGE_TAG:COMBO:1 · EDGE_TAG:DASH:1 · EDGE_TAG:ANSWER:1 · EDGE_TAG:COUNTER:1
MR04+1 kỹ năng (SK04).
Hợp Âm Thu H12_SK04
MR06+4 Edge hero: RARE còn lại của tag 5 + EPIC tag 1, 2, 3.
EDGE_TAG:SKILL:1 · EDGE_TAG:RES_BEAT:1 · EDGE_TAG:COMBO:1 · EDGE_TAG:DASH:1
MR07+1 kỹ năng (SK06).
Vòng Tang Ca H12_SK06
MR08+4 Edge hero: EPIC tag 4, 5, 6 (đủ 36).
EDGE_TAG:ANSWER:1 · EDGE_TAG:COUNTER:1 · EDGE_TAG:SKILL:1 · EDGE_TAG:RES_BEAT:1
MR09+1 kỹ năng (SK08, đủ 8).
MR10Then Chốt E37–E40 vào pool.
MR111 beat thoại hub riêng hero với Bà Ulla.
MR12Công thức EVO4 hiện ở ST_FORGE (mở khoá sức mạnh cuối của T…
MR151 beat thoại hub riêng hero với Lão Grem.
MR18Bia mộ riêng của hero trong recap chết (TMB_Hxx).
TMB_H12
MR20Skin ngà SKN_Hxx_4 (LUT trong slot) + danh hiệu Ngà (TITLE_…
Kèn Tang Ngà SKN_H12_4

Thử thách Thông Thạo

Thử tháchĐiều kiệnThưởng
ĐÁP {answers} tell vàng trong 1 run. TT1on_beat_answers 30, tell Ykhung bia mộ loa kèn
Đầy tài nguyên riêng {fills} lần trong 1 run. TT2full_events 10, full Nhịp 16 đủ 4 nhạc côngkhung bia mộ phường bốn bóng
Hạ 1 boss Hồi mà không trúng đòn tím nào ({hits_allowed} tr… TT3offbeat_hits 0, target boss Hồi bất kỳkhung bia mộ vòng nhịp
Qua Hồi II chỉ dùng {skills} kỹ năng. TT4act II, band_lost 0khung bia mộ khăn tang trắng
Hạ BS_FINAL ở Độ Tang ≥ {do_tang_min}. TT5boss BS_FINAL, do_tang_min 8, title Kẻ Thức Tang Ambrin—
Danh hiệu MR20
Người Thổi Tiễn Cả Xứ
Mốc thoại MR11
Con thổi tiễn cả xứ. Ngày ta đi, con thổi bài chậm thôi nhé. DLG_ULLA_H12_011
Mốc thoại MR15
Kèn của ngươi giờ ngân cả khi im. Ta nghe qua đe. DLG_GREM_H12_015
Bia mộ
TMB_H12

12VFX spec

Nhịp pha 41 VFX của AmbrinNhịp pha 41 VFX của Ambrinkhởi (startup)hiệu lực (active)hồi (recovery)0 s0.511.52beat_ringbeat_ring · startup 0.12sbeat_ring · active 0.03sbeat_ring · recovery 1.97s2.12ssound_arcsound_arc · startup 0.07ssound_arc · active 0.07ssound_arc · recovery 0.33s0.47sfin_ringfin_ring · startup 0.13sfin_ring · active 0.07sfin_ring · recovery 0.53s0.73sfin_lancefin_lance · startup 0.13sfin_lance · active 0.07sfin_lance · recovery 0.43s0.63sband_summonband_summon · startup 0.2sband_summon · active 0.07sband_summon · recovery 0.73s1sband_drumband_drum · startup 0.07sband_drum · active 0.05sband_drum · recovery 0.45s0.57sband_cymbalband_cymbal · startup 0.1sband_cymbal · active 0.05sband_cymbal · recovery 0.45s0.6sanswer_blastanswer_blast · active 0.07sanswer_blast · recovery 0.43s0.5sheld_noteheld_note · startup 0.15sheld_note · active 0.07sheld_note · recovery 1.93s2.15scounter_send_offcounter_send_off · startup 0.1scounter_send_off · active 0.07scounter_send_off · recovery 0.63s0.8snote_boltnote_bolt · active 0.07snote_bolt · recovery 0.47s0.53sUL1_grand_dirgeUL1_grand_dirge · startup 0.27sUL1_grand_dirge · active 0.07sUL1_grand_dirge · recovery 1.87s2.2sUL2_lone_farewellUL2_lone_farewell · startup 0.17sUL2_lone_farewell · active 0.07sUL2_lone_farewell · recovery 0.25s0.48sUL3_endless_bandUL3_endless_band · startup 0.5sUL3_endless_band · active 0.07sUL3_endless_band · recovery 0.43s1sdash_traildash_trail · active 0.03sdash_trail · recovery 0.37s0.4sdash_attackdash_attack · startup 0.05sdash_attack · active 0.07sdash_attack · recovery 0.33s0.45shit_soundhit_sound · active 0.03shit_sound · recovery 0.27s0.3sfin_stompfin_stomp · startup 0.13sfin_stomp · active 0.07sfin_stomp · recovery 0.53s0.73sband_hornband_horn · startup 0.07sband_horn · active 0.07sband_horn · recovery 0.33s0.47sband_flagband_flag · startup 0.13sband_flag · active 0.07sband_flag · recovery 1.93s2.13soffbeat_crackoffbeat_crack · active 0.03soffbeat_crack · recovery 0.27s0.3sSK01_processionSK01_procession · startup 0.17sSK01_procession · active 0.07sSK01_procession · recovery 1.13s1.37sSK02_volleySK02_volley · startup 0.13sSK02_volley · active 0.07sSK02_volley · recovery 0.47s0.67sSK03_shoo_waveSK03_shoo_wave · startup 0.15sSK03_shoo_wave · active 0.08sSK03_shoo_wave · recovery 0.62s0.85sSK04_chord_holdSK04_chord_hold · startup 0.13sSK04_chord_hold · active 0.07sSK04_chord_hold · recovery 0.13s0.33sSK05_crescendoSK05_crescendo · startup 0.07sSK05_crescendo · active 0.07sSK05_crescendo · recovery 0.53s0.67sSK06_dirge_ringSK06_dirge_ring · startup 0.17sSK06_dirge_ring · active 0.07sSK06_dirge_ring · recovery 0.43s0.67sSK07_march_stepSK07_march_step · startup 0.03sSK07_march_step · active 0.05sSK07_march_step · recovery 0.35s0.43sSK08_call_bandSK08_call_band · startup 0.2sSK08_call_band · active 0.07sSK08_call_band · recovery 0.63s0.9sAS2_bell_pushAS2_bell_push · startup 0.13sAS2_bell_push · active 0.07sAS2_bell_push · recovery 0.43s0.63sAS3_bone_fanAS3_bone_fan · startup 0.07sAS3_bone_fan · active 0.03sAS3_bone_fan · recovery 0.27s0.37sE37_funeral_escortE37_funeral_escort · startup 0.05sE37_funeral_escort · active 0.07sE37_funeral_escort · recovery 0.53s0.65sE38_band_echoE38_band_echo · active 0.07sE38_band_echo · recovery 0.43s0.5sE39_last_callE39_last_call · startup 0.1sE39_last_call · active 0.07sE39_last_call · recovery 0.48s0.65sE40_eternal_wakeE40_eternal_wake · startup 0.2sE40_eternal_wake · active 0.07sE40_eternal_wake · recovery 0.43s0.7sEVO1_grand_drumEVO1_grand_drum · startup 0.2sEVO1_grand_drum · active 0.07sEVO1_grand_drum · recovery 0.53s0.8sEVO2_thunder_cymbalEVO2_thunder_cymbal · startup 0.1sEVO2_thunder_cymbal · active 0.07sEVO2_thunder_cymbal · recovery 0.53s0.7sEVO3_white_bannerEVO3_white_banner · startup 0.1sEVO3_white_banner · active 0.07sEVO3_white_banner · recovery 1.93s2.1sEVO4_awakenEVO4_awaken · startup 0.08sEVO4_awaken · active 0.08sEVO4_awaken · recovery 0.92s1.08sres_fullres_full · startup 0.07sres_full · active 0.07sres_full · recovery 0.53s0.67sband_vanishband_vanish · active 0.03sband_vanish · recovery 0.37s0.4s
phases antic / impact / dissipate (giây)
anticimpactdissipate

SIGNATURE · 14

luôn bật khi chơi H12 (world cue resource.hud): frame = floor(pha ô n…

VFX_H12_beat_ringSIGNATURELớp: floor_decalCỡ: SLOD: never

Vòng nhịp dưới chân: 4 vạch là 4 phách của ô nhịp 2 s; vạch sắp tới sáng dần đúng 0.12 s — nhìn chân là bấm đúng phách giữa bầy.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_beat_ring60 khung @ 30 fpsantic · khung 0–3impact · khung 4–4dissipate · khung 5–5960 khung · 30 fps · 2 s · lặp
Chi tiết spec
Kích hoạt
luôn bật khi chơi H12 (world cue resource.hud): frame = floor(pha ô nhịp 2.0 s × 30); sáng mạnh khi bật H12_SK07 (4 phách), phản hồi cú đúng phách của H12_E01 / H12_RS1 / H12_RS5; t = 0 = phách 1 của ô nhịp
Canvas
32×20 gốc 16/10
Pha (s)
antic −0.12/0 · impact 0/0.033 · dissipate 0.033/2
Easing
curve linear, freeze_s 0
Hạt
—
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
new src/fx/heroes/h12-beat-ring.js (costume _ambrin.js; floorRing + 4 floorLine vạch phách, runtime chọn frame theo đồng hồ DSP)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.12vạch phách sắp tới (Đông = phách 1) sáng dần #2389ae → #dafbff trong 0.12 s = cửa sổ đúng phách
0phách 1: vạch Đông 1 frame #fff6f0, vành r12 nhấp 1 px ra ngoài rồi về
0.5phách 2 vạch Nam (gần người xem); 1.0 phách 3 vạch Tây; 1.5 phách 4 vạch Bắc dày 2 px
1.88vạch phách 1 kế tiếp bắt đầu sáng; loop liền mạch tại 2.0 s

attack1/2/3 hit (H12_BEAT_1..3, startup 4 tick, active 4 tick, hit_fr…

VFX_H12_sound_arcSIGNATURELớp: body_frontCỡ: MLOD: L3

Phách 1–3: mỗi hơi kèn là một cung sóng âm 3 lớp đúng r56 — đúng phách thêm lớp thứ 4 và mép trắng, nhìn là biết cú ăn ×1.3.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_sound_arc12 khung @ 30 fpsantic · khung 0–2impact · khung 3–4dissipate · khung 5–1112 khung · 30 fps · 0.4 s
Hitbox VFX_H12_sound_arcHitbox VFX_H12_sound_arc16 px32 px48 px64 pxARChurtbox r 7shape ARC r 56 arc 120sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
attack1/2/3 hit (H12_BEAT_1..3, startup 4 tick, active 4 tick, hit_frame 8); cũng H12_FIN_MUON (arc 200 r72), H12_FIN_LE (twin 90° r64 trước + sau), H12_DASH_ATTACK (arc 180 r48), Dạng Rèn AS1, H12_E02, H12_EVO4; t = 0 = frame chạm
Canvas
96×96 gốc 16/56
Pha (s)
antic −0.067/0 · impact 0/0.067 · dissipate 0.067/0.4
Easing
curve outQuart, freeze_s 0
Hạt
kind MOTE, count 6, speed 60, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape sector r56 a120, match floorArc r56 trùng biên P(φ) ±2 px; hình phủ ≥ 92% rẻ quạt, vượt ≤ 4 px (MUON r72 a200, LE 2 × r64 a90, DA r48 a180 cùng luật), wave none
Nguồn
new src/fx/heroes/h12-sound-arc.js (costume _ambrin.js; swing toolkit đổi lưỡi thành 3 band sóng âm, knob arc|radius|twin)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay sector r56 a120 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.067má Ambrin phồng; 3 giọt âm tụ trong loa (muzzle), loa sáng #66e6ff
0cung sóng 3 lớp bật ra từ loa: lớp ngoài trùng r56 trên sàn (floorArc) + cùng cung ở h 14; mép trước 1 px #fff6f0, thân #2ec0e8 fill 40%
0.033đúng phách: thêm 1 frame #ffffff mép ngoài + lớp thứ 4; lệch phách: không có, gọi VFX_H12_offbeat_crack
0.0673 lớp trượt ra ngoài 4 px rồi đứng, nguội #66e6ff → #2389ae
0.25lớp trong tan dither từ tâm ra
0.4rỗng

attack4 hit (H12_FIN_DON Khúc Dồn ♪♪♪♪, startup 8 tick, active 4 tick…

VFX_H12_fin_ringSIGNATURELớp: body_frontCỡ: LLOD: L3

Khúc Dồn: bốn phách liền dồn thành một vành âm r80 nổ quanh thân — vành dày 16 đúng chỗ hitbox, bầy S văng ra như bị thổi bay.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_fin_ring18 khung @ 30 fpsantic · khung 0–3impact · khung 4–5dissipate · khung 6–1718 khung · 30 fps · 0.6 s
Hitbox VFX_H12_fin_ringHitbox VFX_H12_fin_ring24 px48 px72 px96 pxRINGRINGhurtbox r 7shape RING r_mid 80 band 16sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
attack4 hit (H12_FIN_DON Khúc Dồn ♪♪♪♪, startup 8 tick, active 4 tick, hit_frame 12); cũng vọng H12_E06 (α 0.5), hợp tấu H12_E36 (r96, tint slot), H12_EVO4 (r96); t = 0 = frame chạm
Canvas
184×120 gốc 92/68
Pha (s)
antic −0.133/0 · impact 0/0.067 · dissipate 0.067/0.6
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 12, speed 90, life_s 0.35, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape ring r80 w16, match vành ngoài r80 / trong r64 trên sàn (elip 160×80 / 128×64) lệch ≤ 2 px; phủ ≥ 95% vành; bậc 1.7/2.2 (r > 112) chuyển vành thủ tục, sheet chỉ giữ hạt, wave none
Nguồn
new src/fx/heroes/h12-fin-ring.js (costume _ambrin.js; floorRing kép + band vòng h 12, knob r|w|alpha)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay ring r80 w16 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.133Ambrin xoay 1 vòng, loa quét quanh thân; vòng mảnh r16 #66e6ff thu vào chân
01 frame #ffffff: vành âm bật từ r24 tới đúng vành r64–r80 trong 2 frame (elip 160×80 ngoài, 128×64 trong)
0.067vành giữ dày 16 (8 px màn ở Bắc/Nam), fill #2ec0e8 40%, mép ngoài 1 px #fff6f0; 3 sóng phụ mảnh ở h 6/12/18 chồng lên vành
0.2S trúng văng ra 24 px; vành nguội #2389ae, sóng phụ tan từ trên xuống
0.45vành tan dither từ trong ra
0.6rỗng

attack5 hit: H12_FIN_HUT Khúc Hụt Hơi (LINE 160 × 24) và H12_FIN_CHO …

VFX_H12_fin_lanceSIGNATURELớp: overheadCỡ: LLOD: L3

Khúc Hụt Hơi / Khúc Chờ: nhịn phách để dồn một luồng hơi thẳng tắp xuyên cả hàng quái — càng nghỉ lâu tia càng dài, càng dày.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_fin_lance15 khung @ 30 fpsantic · khung 0–3impact · khung 4–5dissipate · khung 6–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H12_fin_lanceHitbox VFX_H12_fin_lance48 px96 px144 px192 pxRECThurtbox r 7shape RECT len 160 w 24sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
attack5 hit: H12_FIN_HUT Khúc Hụt Hơi (LINE 160 × 24) và H12_FIN_CHO Khúc Chờ (LINE 240 × 32, 2 phách nghỉ); vọng H12_E06 (α 0.5); startup 8 tick, active 4 tick, hit_frame 12; t = 0 = frame chạm
Canvas
256×56 gốc 8/36
Pha (s)
antic −0.133/0 · impact 0/0.067 · dissipate 0.067/0.5
Easing
curve outExpo, freeze_s 0
Hạt
kind STREAK, count 10, speed 300, life_s 0.25, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape line L160 W24, match vệt sàn L160 × W24 (Khúc Chờ L240 × W32) trùng hitbox ±2 px; dài màn theo §2.1 (e/w 160, n/s 80, chéo 126); vượt đầu ≤ 6 px, wave none
Nguồn
new src/fx/heroes/h12-fin-lance.js (costume _ambrin.js; beam + glowLine sàn + vòng âm trượt dọc tia, knob len|w)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay line L160 W24 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.133Ambrin ngả người lấy hơi, loa chĩa thẳng; giọt âm hút vào loa
01 frame #ffffff: tia âm bắn thẳng từ loa (h 16) tới hết L; vệt sàn glowLine rộng W trùng hitbox
0.033lõi tia 4 px #fff6f0, thân #2ec0e8 rộng W/2 màn; 4 vòng âm (elip đứng 8×12) trượt dọc tia 520 px/s
0.12tia mỏng dần từ gốc tới ngọn, vòng âm cuối nở tại đầu tia
0.35vệt sàn nguội #1a556b
0.5rỗng

Nhịp vượt mốc 4/8/12/16 (AS3: 3/7/11/16) — enter_fx BAND_DRUM/CYMBAL/…

VFX_H12_band_summonSIGNATURELớp: body_frontCỡ: MLOD: L2

Phường hiện: khăn tang trắng bung lên rồi quấn thành bóng nhạc công 24 px — mỗi mốc Nhịp là một người trong phường thức dậy.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_band_summon24 khung @ 30 fpsantic · khung 0–5impact · khung 6–8dissipate · khung 9–2324 khung · 30 fps · 0.8 s
Chi tiết spec
Kích hoạt
Nhịp vượt mốc 4/8/12/16 (AS3: 3/7/11/16) — enter_fx BAND_DRUM/CYMBAL/FLAG + Kèn Phụ; H12_SK01 (bóng tạm α 0.4), H12_SK08, H12_UL1_CALL (4 cùng lúc), H12_RS6, H12_E35 quay lại; t = 0 = frame nhạc công hiện đủ
Canvas
40×48 gốc 20/42
Pha (s)
antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.8
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 8, speed 30, life_s 0.6, hex #a3f4ff, gravity −40, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
new src/fx/heroes/h12-band-summon.js (costume _ambrin.js; floorRing + khăn tang bung + bóng nhạc công mọc, knob member:drum|cymbal|flag|horn|temp)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.2tại ô quỹ đạo r48 quanh Ambrin (Trống 225°, Chũm Chọe 315°, Cờ Phướn 135°, Kèn Phụ 45°): vòng sàn r10 #2389ae, 4 vạch phách xoay vào
01 frame #fff6f0: dải khăn tang trắng bung thẳng lên cao 24 px, bóng nhạc công 24 px hiện (lõi #fff6f0 α 70% + viền slot 1 px)
0.1khăn rơi quấn quanh đầu bóng, 2 đuôi buông; nhạc cụ sáng 1 nhịp
0.5vòng sàn tan dither
0.8rỗng — thân nhạc công giao cho actor H12_BAND

H12_BAND_DRUM (Nhịp ≥ 4): đúng phách 4 mỗi ô nhịp, CIRCLE r60 tâm Amb…

VFX_H12_band_drumSIGNATURELớp: floor_decalCỡ: LLOD: L2

Trống Sóng: cứ phách 4 nhạc công nện trống, một sóng sàn r60 lan từ chân Ambrin — Phường giữ nhịp thay anh.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_band_drum15 khung @ 30 fpsantic · khung 0–2impact · khung 3–3dissipate · khung 4–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H12_band_drumHitbox VFX_H12_band_drum16 px32 px48 px64 pxCIRCLEhurtbox r 7shape CIRCLE r 60sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_BAND_DRUM (Nhịp ≥ 4): đúng phách 4 mỗi ô nhịp, CIRCLE r60 tâm Ambrin, active 3 tick, đẩy S 16 px; cũng H12_E09 (tại điểm Né Hoàn Hảo), H12_EVO1 Trống Cái (r96 mỗi 2 phách), H12_E36 hợp tấu (scale 1.6 = r96); t = 0 = frame dùi chạm mặt trống
Canvas
136×76 gốc 68/38
Pha (s)
antic −0.067/0 · impact 0/0.05 · dissipate 0.05/0.5
Easing
curve outExpo, freeze_s 0
Hạt
kind DUST, count 8, speed 40, life_s 0.3, hex #1a556b, gravity 0, shadow không
Hitbox
shape circle r60, match vành r60 (elip 120×60) chạm đủ ở frame 2 = trong active 3 tick; lệch ≤ 2 px, phủ 100%, wave none
Nguồn
new src/fx/heroes/h12-band-drum.js (costume _ambrin.js; sóng sàn từ tâm Ambrin + chớp mặt trống tại nhạc công, knob radius)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r60 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.067nhạc công Trống giơ dùi; vòng nhịp dưới chân Ambrin sáng vạch phách 4
01 frame #fff6f0 mặt trống; sóng sàn bật r24 → r60 trong 2 frame (elip 120×60), mép 2 px #fff6f0
0.05vành r60 giữ 1 frame, fill trong #2ec0e8 30% chia 3 vòng gợn đồng tâm
0.2gợn nguội #2389ae, bụi nhẹ ở mép
0.5rỗng

H12_BAND_CYMBAL (Nhịp ≥ 8): mỗi 8 phách xoảng, CIRCLE r90 tâm Ambrin,…

VFX_H12_band_cymbalSIGNATURELớp: floor_decalCỡ: LLOD: L2

Chũm Chọe Xoảng: hai đĩa chập một tiếng chói, vành kép r90 lấp lánh khoá cả bầy S đứng hình 1 giây.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_band_cymbal15 khung @ 30 fpsantic · khung 0–2impact · khung 3–4dissipate · khung 5–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H12_band_cymbalHitbox VFX_H12_band_cymbal24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 90sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_BAND_CYMBAL (Nhịp ≥ 8): mỗi 8 phách xoảng, CIRCLE r90 tâm Ambrin, active 3 tick, choáng S 1.0 s / M 0.4 s, L/XL −15 Thế; t = 0 = frame 2 đĩa chập
Canvas
196×108 gốc 98/54
Pha (s)
antic −0.1/0 · impact 0/0.05 · dissipate 0.05/0.5
Easing
curve outExpo, freeze_s 0
Hạt
kind STAR, count 10, speed 60, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape circle r90, match vành ngoài r90 (elip 180×90) trùng biên hitbox ±2 px ở frame 2; phủ ≥ 92% đĩa (giữa vành fill 20%), wave none
Nguồn
new src/fx/heroes/h12-band-cymbal.js (costume _ambrin.js; flare chập đĩa + floorRing kép lấp lánh, knob radius)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r90 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.1nhạc công Chũm Chọe dang 2 đĩa ra 2 bên
02 đĩa chập: flare 4 cánh #ffffff 1 frame tại tay nhạc công (h 16); vành kép r84/r90 bật đầy trong 2 frame (elip 180×90)
0.05vành ngoài #fff6f0 1 px, vành trong #66e6ff, giữa 2 vành 16 chấm lấp lánh nháy lệch nhau
0.2vành nở thêm 4 px rồi nguội #2389ae
0.5rỗng; S trúng mang glyph STUN chung (sao xoay)

ĐÁP Thổi Dội (H12_ANSWER, CIRCLE r44, cửa sổ 10 tick / đúng phách 12 …

VFX_H12_answer_blastSIGNATURELớp: body_frontCỡ: MLOD: L3

Thổi Dội: một tiếng kèn cụt nổ thành vòng r44 — đạn vàng quay đầu thành nốt của Ambrin; bấm đúng phách có thêm vòng thứ hai.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_answer_blast15 khung @ 30 fpsimpact · khung 0–2dissipate · khung 3–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H12_answer_blastHitbox VFX_H12_answer_blast16 px32 px48 pxCIRCLEhurtbox r 7shape CIRCLE r 44sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
ĐÁP Thổi Dội (H12_ANSWER, CIRCLE r44, cửa sổ 10 tick / đúng phách 12 tick, startup 0); cũng H12_E13, H12_E38 (mỗi nhạc công), kèm VFX_SHARED_answer_flash; t = 0 = frame ĐÁP thành công
Canvas
104×72 gốc 52/44
Pha (s)
antic 0/0 · impact 0/0.067 · dissipate 0.067/0.5
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 8, speed 100, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape circle r44, match đĩa r44 (elip 88×44) lệch ≤ 2 px, phủ 100%; vòng đúng phách r50 là trang trí (vượt 6 px, trong luật M), wave none
Nguồn
new src/fx/heroes/h12-answer-blast.js (costume _ambrin.js; vòng nổ cụt + vòng ♪ đúng phách, knob radius|on_beat)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r44 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
01 frame #ffffff: tiếng kèn cụt, vòng nổ đặc r44 (elip 88×44) bật đầy, mép 2 px #fff6f0
0.033S trong vòng bị đẩy 30 px; đạn Y trong vòng đổi ngay sang ramp H12 + lõi #fff6f0, bay ngược tâm → ngoài ×1.6 tốc
0.067đúng phách: vòng thứ 2 r50 mảnh 1 px + vạch phách trên vòng nhịp nháy; lệch phách: không vòng 2
0.25vòng nguội #2389ae, 8 giọt âm văng ra
0.5rỗng

giữ Nốt Ngân (H12_HOLD: hold_in 9 tick → loop tối đa 240 tick → hold_…

VFX_H12_held_noteSIGNATURELớp: floor_decalCỡ: LLOD: L3

Nốt Ngân: một nốt kéo dài thành vòng âm r60 quanh Ambrin, gợn theo từng phách — đạn bay vào vòng chậm hẳn, nhịp đứng chờ.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_held_note30 khung @ 15 fpsantic · khung 0–2impact · khung 3–3dissipate · khung 4–2930 khung · 15 fps · 2 s · lặp
Hitbox VFX_H12_held_noteHitbox VFX_H12_held_note16 px32 px48 px64 pxCIRCLEhurtbox r 7shape CIRCLE r 60sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
giữ Nốt Ngân (H12_HOLD: hold_in 9 tick → loop tối đa 240 tick → hold_out 8 tick), vòng r60 bám thân, đạn Y trong vòng chậm 50%, ô nhịp khoá; cũng H12_E14, H12_E18 (giữ đứng ≤ 6 đạn), H12_RS3, H12_E38 (mỗi nhạc công ngân r40); t = 0 = hết hold_in
Canvas
136×88 gốc 68/48
Pha (s)
antic −0.15/0 · impact 0/0.067 · dissipate 0.067/2
Easing
curve linear, freeze_s 0
Hạt
kind MOTE, count 6, speed 15, life_s 1, hex #a3f4ff, gravity −10, shadow không
Hitbox
shape circle r60, match vành r60 (elip 120×60) trùng vùng hãm ±1 px, bám chân hero mỗi frame; không fill 25% / viền 2 px (khác tell P), viền liền (khác N), wave none
Nguồn
new src/fx/heroes/h12-held-note.js (costume _ambrin.js; floorRing + gợn thu vào loop theo phách, knob radius|catch)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r60 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.15hold_in: vòng nở r0 → r60 outQuart, loa ngân một vệt sóng dài h 16
0vành r60 (elip 120×60) liền 1 px #66e6ff, fill #2ec0e8 12%; 3 gợn đồng tâm r56/r44/r32 thu vào tâm, mỗi phách 1 gợn mới ở r60
0.5phách kế: gợn mới; đạn Y lọt vòng kéo vệt mờ 3 frame (thấy bị hãm)
1.9nối loop liền mạch tại 2.0 s; hold_out: vành thu r60 → r0 trong 0.133 s rồi rỗng

Phản Hồi Kèn Tiễn (H12_COUNTER: trong 60 tick sau Thổi Dội cận chiến,…

VFX_H12_counter_send_offSIGNATURELớp: overheadCỡ: LLOD: L3

Hồi Kèn Tiễn: một hồi kèn đưa tang thẳng như cây sào, khăn tang bay dọc luồng hơi — đòn phản dài và thẳng nhất trong mọi hero.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_counter_send_off21 khung @ 30 fpsantic · khung 0–2impact · khung 3–5dissipate · khung 6–2021 khung · 30 fps · 0.7 s
Hitbox VFX_H12_counter_send_offHitbox VFX_H12_counter_send_off40 px80 px120 px160 pxRECThurtbox r 7shape RECT len 140 w 40sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Phản Hồi Kèn Tiễn (H12_COUNTER: trong 60 tick sau Thổi Dội cận chiến, bước 24 px, startup 6 tick, active 5 tick, LINE 140 × 40 xuyên, hitstop 0.12, trauma 0.45); cũng H12_E19, H12_RS4, H12_E23; kèm VFX_SHARED_counter_mark; t = 0 = frame chạm
Canvas
176×72 gốc 12/44
Pha (s)
antic −0.1/0 · impact 0/0.067 · dissipate 0.067/0.7
Easing
curve outExpo, freeze_s 0
Hạt
kind STREAK, count 14, speed 400, life_s 0.3, hex #a3f4ff, gravity 0, shadow không/kind FLAKE, count 6, speed 120, life_s 0.5, hex #fff6f0, gravity 300, shadow có
Hitbox
shape line L140 W40, match vệt sàn L140 × W40 từ chân sau bước trùng hitbox ±2 px; dài màn e/w 140, n/s 70, chéo 111; dải vải vượt đầu ≤ 10 px (L), wave none
Nguồn
new src/fx/heroes/h12-counter-send-off.js (costume _ambrin.js; beam dày + dải khăn tang bay dọc + vòng âm trượt, knob len|w)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay line L140 W40 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.1bước 24 px, chĩa loa thẳng; vòng nhịp nháy cả 4 vạch
01 frame #ffffff: cột âm dày bắn hết L140 ở h 16, vệt sàn rộng 40 (20 px màn ở Đông/Tây)
0.033lõi 6 px #fff6f0, thân #2ec0e8; 4 dải khăn tang trắng bay dọc cột, 5 vòng âm đứng trượt 700 px/s
0.15đóng băng 0.12 s (runtime); cột mỏng dần, dải khăn bay quá đầu cột 12 px rồi rơi
0.45vệt sàn nguội #1a556b
0.7rỗng

đạn nốt của Ambrin: H12_SK02_VOLLEY (3 nốt/phách, 520 px/s, tầm 260, …

VFX_H12_note_boltSIGNATURELớp: overheadCỡ: SLOD: L3

Nốt bay: giọt âm tròn có đuôi ngắn, lõi trắng nóng — đạn của Ambrin luôn đặc, đọc được giữa cầu bùa rỗng của địch.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_note_bolt8 khung @ 15 fpsimpact · khung 0–1dissipate · khung 2–78 khung · 15 fps · 0.533 s · lặp
Hitbox VFX_H12_note_boltHitbox VFX_H12_note_bolt8 px16 pxCIRCLEhurtbox r 7shape CIRCLE r 4sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
đạn nốt của Ambrin: H12_SK02_VOLLEY (3 nốt/phách, 520 px/s, tầm 260, xuyên 1), H12_SK02_LOW (nốt trầm), H12_SK04_RELEASE (trả đạn 600 px/s, tầm 320, quạt 30°), H12_AS3_FIN (5 nốt xương 480 px/s, tầm 220), H12_E04, H12_E18, H12_E20, H12_E29; t = 0 = projectile spawn
Canvas
24×12 gốc 16/6
Pha (s)
antic 0/0 · impact 0/0.067 · dissipate 0.067/0.533
Easing
curve linear, freeze_s 0
Hạt
—
Hitbox
shape proj r4, match bán kính va = lõi r2 + 2 px (doc 31 §7); nốt trầm/trả đạn lõi r4 → proj r6, wave none
Nguồn
new src/fx/heroes/h12-note-bolt.js (costume _ambrin.js; p.disc lõi + đuôi ngắn, bay loop 15 fps, knob kind:note|low|bone|reflect)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay proj r4 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
0giọt âm tròn lõi đường kính 5 px #fff6f0, viền 1 px #2ec0e8, đuôi ngắn 6 px nhọn dần ngược hướng bay (KHÔNG vẽ nốt nhạc phương Tây)
0.133lõi nhún lên 1 px, đuôi rung lệch 1 px (nhịp bay)
0.267về vị trí; đuôi #66e6ff → #2389ae
0.533nối loop; khi chạm/hết tầm runtime gọi VFX_H12_hit_sound (nốt trầm: VFX_H12_SK02_volley vỡ r40)

ult H12_UL1 Đại Nhạc Tống Táng (bất tử 0–120 tick, world_slow 0.4; FX…

VFX_H12_UL1_grand_dirgeSIGNATURELớp: body_frontCỡ: XLLOD: L3

Đại Nhạc Tống Táng: cả phường hiện đủ, bốn hồi đại tang lan thành bốn vành sóng r150 — cả sân rung theo nhịp đưa người đi.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_UL1_grand_dirge66 khung @ 30 fpsantic · khung 0–8impact · khung 9–9dissipate · khung 10–6566 khung · 30 fps · 2.2 s
Hitbox VFX_H12_UL1_grand_dirgeHitbox VFX_H12_UL1_grand_dirge64 px128 px192 px256 pxRINGRINGhurtbox r 7shape RING r_mid 150 band 150sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
ult H12_UL1 Đại Nhạc Tống Táng (bất tử 0–120 tick, world_slow 0.4; FX chạy đồng hồ Hero): H12_UL1_CALL tick 0 gọi đủ 4 nhạc công ×2 chỉ số; H12_UL1_WAVE 4 sóng RING r150 ở tick 16/46/76/106, mỗi sóng lan 10 tick, 3.0 coef, đẩy 40 px; cũng H12_E34, H12_EVO1 (+2 sóng tick 136/166); kèm VFX_SHARED_screen_flash_ult + VFX_H12_band_summon; t = 0 = kích ult
Canvas
160×176 gốc 80/152
Pha (s)
antic 0/0.267 · impact 0.267/0.333 · dissipate 0.333/2.2
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 24, speed 60, life_s 0.8, hex #a3f4ff, gravity −30, shadow không/kind STREAK, count 16, speed 300, life_s 0.3, hex #fff6f0, gravity 0, shadow không
Hitbox
shape ring r150 w150, match vành thủ tục = hitbox frame đó (RING r150 r_in 0: sóng lan quét cả đĩa); r150 elip 300×150 lệch ≤ 1 px; hạng EVO1/E34 đổi r thật, wave procedural
Nguồn
new src/fx/heroes/h12-ul1-grand-dirge.js (costume _ambrin.js; cột hiệu kèn + 4 quầng nhạc công; vành sóng = shader thủ tục FloorEllipse {shape:ring})
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay ring r150 w150 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
0Ambrin giơ kèn thẳng trời; 4 nhạc công hiện đồng loạt ở r48 (VFX_H12_band_summon), viền slot dày 2 px = trạng thái ×2
0.267sóng 1: 1 frame #ffffff tại loa; vành thủ tục rộng 12 lan r0 → r150 trong 10 tick (elip 300×150), mép #fff6f0, thân #2ec0e8 40%
0.767sóng 2; 1.267 sóng 3; 1.767 sóng 4 — mỗi sóng 4 nhạc công cùng nhả 1 vòng âm r12 tại chỗ
1cột hiệu kèn giữa sheet (rộng 16, cao 120) đập theo phách, 4 khăn tang dài bay vòng quanh cột
1.933sóng 4 chạm r150, trauma 0.8; cột vỡ thành 24 giọt âm
2.2rỗng; Phường giữ viền ×2 tới hết phòng

ult H12_UL2 Kèn Tiễn Một Người (bất tử 0–108 tick, world_slow 0.6): k…

VFX_H12_UL2_lone_farewellSIGNATURELớp: overheadCỡ: LLOD: L3

Kèn Tiễn Một Người: cả phường lùi lại, chỉ còn Ambrin thổi tiễn một kẻ — bảy tầng âm chồng lên đầu nó, phách tám đưa nó đi trong dải khăn trắng.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_UL2_lone_farewell60 khung @ 30 fpsantic · khung 0–5dissipate · khung 6–50impact · khung 51–52dissipate · khung 53–5960 khung · 30 fps · 2 s
Hitbox VFX_H12_UL2_lone_farewellHitbox VFX_H12_UL2_lone_farewell40 px80 px120 px160 pxRECThurtbox r 7shape RECT len 140 w 40sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
ult H12_UL2 Kèn Tiễn Một Người (bất tử 0–108 tick, world_slow 0.6): khoá 1 quái M/L/XL (không có: S nhiều HP nhất), áp sát ≤ 60 px; H12_UL2_BEAT 7 phách mỗi 13 tick từ tick 10 (LINE 96 × 32, 6.0 coef × (1 + 0.15·n)); H12_UL2_FINAL tick 101 LINE 140 × 40, 16.4 coef, kết liễu ≤ 20% HP (XL ×1.5); cũng H12_E22, H12_E39 (4 phách); t = 0 = kích ult
Canvas
192×128 gốc 24/96
Pha (s)
antic 0/0.167 · impact 1.683/1.75 · dissipate 1.75/2
Easing
curve outExpo, freeze_s 0
Hạt
kind STAR, count 16, speed 100, life_s 0.4, hex #a3f4ff, gravity 0, shadow không/kind FLAKE, count 10, speed 60, life_s 0.8, hex #fff6f0, gravity −60, shadow không
Hitbox
shape line L140 W40, match phách 1–7: tia line L96 W32 trùng hitbox ±2 px; phách 8: vệt sàn 140 × 40 trùng ±2 px, cột đứng tại mục tiêu; vượt ≤ 10 px (L), wave none
Nguồn
new src/fx/heroes/h12-ul2-lone-farewell.js (costume _ambrin.js; tia khoá mục tiêu + tầng vòng âm 7 phách + hồi tiễn cuối, knob beats:7|4)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay line L140 W40 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
0Phường lùi ra r64, mờ còn 30%; Ambrin lướt áp sát, viền mục tiêu nhận dấu khoá = vòng âm đơn r10 trên đầu
0.167phách 1 (tick 10): tia ngắn 96 × 32 từ loa tới mục tiêu, 1 tầng vòng âm trên đầu mục tiêu
0.383phách 2–7 mỗi 0.217 s: thêm tầng (tối đa 7, cách 6 px, tầng mới 1 frame #fff6f0), tia dày dần +2 px/phách
1.683phách 8 (tick 101): 1 frame #ffffff, hồi kèn tiễn dài LINE 140 × 40 xuyên mục tiêu, 7 tầng dồn thành cột cao 80
1.75kết liễu: mục tiêu hoá dải khăn trắng bay thẳng lên rồi tan; không kết liễu: cột vỡ thành giọt âm
2rỗng; Phường về r48

ult H12_UL3 Ban Nhạc Bất Tận (dạng 10 s): H12_UL3_ACTIVATE tick 0–30 …

VFX_H12_UL3_endless_bandSIGNATURELớp: body_frontCỡ: XLLOD: L3

Ban Nhạc Bất Tận: mười giây cả phường không bao giờ tan, mọi khúc tính đúng phách, cứ phách bốn là một hợp âm r120 hất văng bầy.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_UL3_endless_band30 khung @ 30 fpsantic · khung 0–14impact · khung 15–17dissipate · khung 18–2930 khung · 30 fps · 1 s
Hitbox VFX_H12_UL3_endless_bandHitbox VFX_H12_UL3_endless_band48 px96 px144 px192 pxRINGRINGhurtbox r 7shape RING r_mid 120 band 120sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
ult H12_UL3 Ban Nhạc Bất Tận (dạng 10 s): H12_UL3_ACTIVATE tick 0–30 bất tử, đủ 4 nhạc công không mất, vòng nhịp sáng cả 4 vạch (frame 0–14); H12_UL3_CHORD mỗi phách 4 RING r120 4.0 coef, đẩy 24 px, 5 lần (frame 15–29); cũng H12_E11; kèm VFX_H12_band_flag + VFX_SHARED_screen_flash_ult; t = 0 = frame hợp âm (đoạn 2)
Canvas
256×160 gốc 128/96
Pha (s)
antic −0.5/0 · impact 0/0.067 · dissipate 0.067/0.5
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 12, speed 120, life_s 0.4, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape ring r120 w120, match vành thủ tục = hitbox frame đó (RING r120 r_in 0); r120 elip 240×120 lệch ≤ 1 px; 5 hợp âm trong 10 s, wave procedural
Nguồn
new src/fx/heroes/h12-ul3-endless-band.js (costume _ambrin.js; 2 đoạn: khai tấu frame 0–14, hợp âm phách 4 frame 15–29; vành r120 = shader FloorEllipse {shape:ring})
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay ring r120 w120 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.5đoạn 1 khai tấu: 4 nhạc công hiện ở r48 đánh 1 nhịp chung, vòng nhịp dưới chân bật đủ 4 vạch #dafbff, khăn tang Ambrin bay ngang
0đoạn 2 phách 4: 1 frame #ffffff tại Ambrin + 4 tia mảnh từ 4 nhạc công dồn vào tâm
0.033vành thủ tục rộng 10 lan r0 → r120 trong 6 tick (elip 240×120), mép #fff6f0, thân #2ec0e8 40%
0.2vành chạm r120, 12 giọt âm bắn ra; trauma 0.4
0.5rỗng; vòng nhịp giữ 4 vạch sáng suốt 10 s

TEMPLATE · 25

Lướt Bước Đưa Tang (H12_DASH: 80 px / 9 tick, bất tử 12 tick, 2 lượt)…

VFX_H12_dash_trailTEMPLATELớp: floor_decalCỡ: MLOD: L2

Bước Đưa Tang: lướt thấp sát đất, hai đuôi khăn tang quật ngược — máy nhịp vẫn chạy, không mất phách.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_dash_trail12 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1112 khung · 30 fps · 0.4 s
Chi tiết spec
Kích hoạt
Lướt Bước Đưa Tang (H12_DASH: 80 px / 9 tick, bất tử 12 tick, 2 lượt); cũng H12_E10 (điểm đáp), H12_E12 (đường diễu); kèm VFX_SHARED_dash_afterimage; t = 0 = frame bắt đầu Lướt
Canvas
112×40 gốc 100/30
Pha (s)
antic 0/0 · impact 0/0.033 · dissipate 0.033/0.4
Easing
curve outQuart, freeze_s 0
Hạt
kind DUST, count 8, speed 40, life_s 0.3, hex #1a556b, gravity 0, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor sheet gốc VFX_SHARED_dash_dust --opts palette H12, knob len:80, cloth:2, neo feet
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
0bụi sàn bật tại điểm xuất phát, 2 đuôi khăn tang dài 12 px bay ngược hướng Lướt
0.05vệt sàn mảnh rộng 6 px kéo theo chân suốt 80 px, 3 cụm bụi #1a556b
0.15dừng: 4 giọt âm rơi tại điểm đáp; nếu Lướt đúng phách vạch phách nháy (beat_ring)
0.4rỗng

H12_DASH_ATTACK Kèn Lướt Rước (ARC 180° r48, startup 3 tick, active 4…

VFX_H12_dash_attackTEMPLATELớp: body_frontCỡ: MLOD: L3

Kèn Lướt Rước: trượt tới quét kèn nửa vòng r48 — lướt vào phách 1 rồi đánh là mở khúc.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_dash_attack12 khung @ 30 fpsantic · khung 0–1impact · khung 2–3dissipate · khung 4–1112 khung · 30 fps · 0.4 s
Hitbox VFX_H12_dash_attackHitbox VFX_H12_dash_attack16 px32 px48 pxARChurtbox r 7shape ARC r 48 arc 180sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_DASH_ATTACK Kèn Lướt Rước (ARC 180° r48, startup 3 tick, active 4 tick, hit_frame 6; tính là phách đang tới); cũng H12_E07, H12_RS2; kèm VFX_H12_sound_arc; t = 0 = frame chạm
Canvas
80×80 gốc 24/52
Pha (s)
antic −0.05/0 · impact 0/0.067 · dissipate 0.067/0.4
Easing
curve outQuart, freeze_s 0
Hạt
kind DUST, count 6, speed 60, life_s 0.3, hex #1a556b, gravity 0, shadow không/kind MOTE, count 4, speed 70, life_s 0.25, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape sector r48 a180, match floorArc r48 a180 trùng biên P(φ) ±2 px; phủ ≥ 92%, vượt ≤ 4 px, wave none
Nguồn
recolor sheet gốc VFX_SHARED_hit_slash --opts palette H12, knob radius:48, arc:180, bands:2, swing tilt 0.9
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay sector r48 a180 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.05trượt tới, kèn quặt ngang ra sau vai
0quét kèn nửa vòng: cung 2 band đặc từ -90° đến +90° trên sàn r48 + ở h 12, mép #fff6f0
0.033đúng phách: 1 frame #ffffff mép ngoài; bụi sàn bắn theo hướng trượt
0.2cung nguội #2389ae
0.4rỗng

mỗi mục tiêu trúng sóng âm của Ambrin (H12_BEAT_1..3, H12_SK05_BEAT, …

VFX_H12_hit_soundTEMPLATELớp: overheadCỡ: SLOD: L2

Tia trúng của Ambrin: không tia lửa, chỉ 2 vòng âm và 4 giọt âm — trúng bằng tiếng, không bằng lưỡi.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_hit_sound9 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–89 khung · 30 fps · 0.3 s
Chi tiết spec
Kích hoạt
mỗi mục tiêu trúng sóng âm của Ambrin (H12_BEAT_1..3, H12_SK05_BEAT, H12_UL2_BEAT); t = 0 = frame chạm; trần R5 16 VFX trúng/frame
Canvas
32×32 gốc 16/20
Pha (s)
antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
Easing
curve outQuart, freeze_s 0
Hạt
kind MOTE, count 4, speed 80, life_s 0.2, hex #66e6ff, gravity 0, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor sheet gốc VFX_SHARED_hit_blunt --opts palette H12, knob rings:2, neo impact
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
01 frame #ffffff thân mục tiêu (runtime) + vòng âm r6 #fff6f0
0.0332 vòng âm lan r6 → r12 (elip 24×12 khi chiếu ở sàn h 12), viền #2ec0e8
0.154 giọt âm văng chéo, nguội #2389ae
0.3rỗng

attack6 hit (H12_FIN_VAP Khúc Vấp ♪—♪♪, CIRCLE r64, đẩy S 40 px, star…

VFX_H12_fin_stompTEMPLATELớp: floor_decalCỡ: LLOD: L3

Khúc Vấp: nhịp hụt chân thành cú dậm — đĩa sóng r64 nứt toác sàn, đẩy bầy ra 40 px.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_fin_stomp18 khung @ 30 fpsantic · khung 0–3impact · khung 4–5dissipate · khung 6–1718 khung · 30 fps · 0.6 s
Hitbox VFX_H12_fin_stompHitbox VFX_H12_fin_stomp16 px32 px48 px64 pxCIRCLEhurtbox r 7shape CIRCLE r 64sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
attack6 hit (H12_FIN_VAP Khúc Vấp ♪—♪♪, CIRCLE r64, đẩy S 40 px, startup 8 tick, active 4 tick, hit_frame 11); t = 0 = frame chạm
Canvas
152×104 gốc 76/60
Pha (s)
antic −0.133/0 · impact 0/0.067 · dissipate 0.067/0.6
Easing
curve outQuart, freeze_s 0
Hạt
kind DUST, count 10, speed 50, life_s 0.4, hex #1a556b, gravity 0, shadow không/kind MOTE, count 6, speed 70, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape circle r64, match đĩa r64 (elip 128×64) lệch ≤ 2 px; phủ 100% hitbox, nứt vượt ≤ 8 px (L), wave none
Nguồn
recolor sheet gốc VFX_SHARED_hit_heavy --opts palette H12, knob radius:64, cracks:6, slam(o,{D:64,motes:10})
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r64 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.133Ambrin co gối, loa chúc xuống sàn
0dậm chân: 1 frame #ffffff; đĩa sóng r64 (elip 128×64) bật đầy, mép 1 px #fff6f0
0.0676 nứt âm toả từ chân dài 24–48 px #66e6ff; bụi sàn trồi vòng mép
0.25đĩa nguội #2389ae, nứt còn lại thành decal 1.5 s
0.6sheet rỗng (decal nứt tan dither ở 1.5 s)

H12_BAND_HORN (Nhịp = 16): phách 2 và 4 thổi LINE 160 × 16 xuyên về q…

VFX_H12_band_hornTEMPLATELớp: overheadCỡ: LLOD: L2

Kèn Phụ Họa: nhạc công thứ tư thổi tia âm mảnh xuyên hàng ở phách 2 và 4 — dấu hiệu Phường đã đủ mặt.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_band_horn12 khung @ 30 fpsantic · khung 0–2impact · khung 3–4dissipate · khung 5–1112 khung · 30 fps · 0.4 s
Hitbox VFX_H12_band_hornHitbox VFX_H12_band_horn48 px96 px144 px192 pxRECThurtbox r 7shape RECT len 160 w 16sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_BAND_HORN (Nhịp = 16): phách 2 và 4 thổi LINE 160 × 16 xuyên về quái gần nhất trong 240 px, active 4 tick; H12_E40 đủ Vang dùng VFX_H12_E40_eternal_wake; t = 0 = frame nhả hơi
Canvas
176×40 gốc 8/28
Pha (s)
antic −0.067/0 · impact 0/0.067 · dissipate 0.067/0.4
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 3, speed 600, life_s 0.25, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape line L160 W16, match vệt sàn L160 × W16 trùng hitbox ±2 px, gốc tại chân nhạc công Kèn Phụ; dài màn theo §2.1, wave none
Nguồn
new src/fx/heroes/h12-band-horn.js (costume _ambrin.js; beam mảnh từ kèn nhỏ 14 px nhạc công, knob len|w)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay line L160 W16 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.067kèn phụ nhạc công giơ lên hướng mục tiêu, loa nhỏ sáng #66e6ff
01 frame #fff6f0: tia mảnh lõi 2 px bắn hết L160 ở h 14; vệt sàn rộng 16 (8 px màn)
0.0333 giọt âm chạy dọc tia 600 px/s
0.2tia mảnh dần từ gốc
0.4rỗng

trạng thái BAND_FLAG (Nhịp ≥ 12: Ambrin + Phường +20% tốc đánh) — loo…

VFX_H12_band_flagTEMPLATELớp: body_backCỡ: MLOD: L2

Cờ Phướn: phướn tang trắng giật theo từng phách — Phường đang đánh nhanh hơn 20%.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_band_flag30 khung @ 15 fpsantic · khung 0–1impact · khung 2–2dissipate · khung 3–2930 khung · 15 fps · 2 s · lặp
Chi tiết spec
Kích hoạt
trạng thái BAND_FLAG (Nhịp ≥ 12: Ambrin + Phường +20% tốc đánh) — loop gắn nhạc công Cờ Phướn; cũng H12_UL3 (Phường đủ, không mất) và H12_EVO3 (Phướn Trắng tại mục tiêu); t = 0 = phách 1 của ô nhịp
Canvas
32×48 gốc 16/44
Pha (s)
antic −0.133/0 · impact 0/0.067 · dissipate 0.067/2
Easing
curve linear, freeze_s 0
Hạt
kind MOTE, count 12, speed 20, life_s 0.6, hex #a3f4ff, gravity −30, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor sheet gốc VFX_SHARED_resonance_on --opts palette H12, knob banner_h:30, ripple:4, loop 15 fps
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.133phướn trắng (sào 30 px) rủ xuống
0phách 1: phướn giật bung ngang, mép phướn 1 px #66e6ff, 3 hạt sáng bay lên
0.5phách 2, 1.0 phách 3, 1.5 phách 4: mỗi phách một gợn chạy dọc phướn từ sào ra đuôi
1.8phướn rủ lại, nối vòng liền mạch tại 2.0 s

cú combo/khúc bấm lệch phách (ngoài ±0.12 s, Thương Xót ±0.16 s): Nhị…

VFX_H12_offbeat_crackTEMPLATELớp: body_frontCỡ: SLOD: L1

Lạc phách: loa kèn nứt tiếng, giọt âm rơi tõm — báo Nhịp vừa bị chia đôi mà không che đòn.

#081e29#0d3547#1a556b#2389ae#66e6ff#a3f4ff
Dải khung VFX_H12_offbeat_crack9 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–89 khung · 30 fps · 0.3 s
Chi tiết spec
Kích hoạt
cú combo/khúc bấm lệch phách (ngoài ±0.12 s, Thương Xót ±0.16 s): Nhịp = floor(Nhịp/2) (AS2: −2); t = 0 = frame chạm của cú lệch
Canvas
32×32 gốc 16/24
Pha (s)
antic 0/0 · impact 0/0.033 · dissipate 0.033/0.3
Easing
curve linear, freeze_s 0
Hạt
kind DRIP, count 3, speed 20, life_s 0.25, hex #2389ae, gravity 950, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor sheet gốc VFX_SHARED_dissolve_dither --opts palette PD H12 (ramp tối), knob crack:3, neo muzzle
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
0loa kèn: 3 vết nứt gãy khúc 1 px #66e6ff toả từ miệng loa (tiếng vỡ)
0.033số pip mất trên vòng nhịp dưới chân tắt; giọt âm rơi thẳng xuống sàn 8 px
0.15vết nứt tan dither Bayer 4×4 #1a556b → #0d3547
0.3rỗng

H12_SK01 Đám Rước (H12_SK01_MARCH: startup 10 tick, diễu 60 tick = 2 …

VFX_H12_SK01_processionTEMPLATELớp: floor_decalCỡ: LLOD: L2

Đám Rước: cả phường xếp hàng một diễu thẳng 240 px, khăn tang bay dạt hai bên — bầy bị xua sang lề như người đứng xem đám.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK01_procession36 khung @ 30 fpsantic · khung 0–5impact · khung 6–7dissipate · khung 8–3536 khung · 30 fps · 1.2 s
Hitbox VFX_H12_SK01_processionHitbox VFX_H12_SK01_procession72 px144 px216 px288 pxRECThurtbox r 7shape RECT len 240 w 48sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK01 Đám Rước (H12_SK01_MARCH: startup 10 tick, diễu 60 tick = 2 phách, RECT 240 × 48 theo hướng ngắm, 4 thành viên, đẩy dạt 16 px, STS_DREAD 1.5 s); cũng H12_E12/E37 (đường Lướt), H12_E24/E30; t = 0 = thành viên đầu bước vào làn
Canvas
256×64 gốc 8/40
Pha (s)
antic −0.167/0 · impact 0/0.067 · dissipate 0.067/1.2
Easing
curve linear, freeze_s 0
Hạt
kind DUST, count 16, speed 30, life_s 0.4, hex #1a556b, gravity 0, shadow không/kind MOTE, count 8, speed 20, life_s 0.6, hex #a3f4ff, gravity −20, shadow không
Hitbox
shape rect L240 W48, match làn 240 × 48 trùng hitbox ±2 px (rộng màn e/w 24, n/s 48); vệt gót mỗi thành viên phủ 100% bề rộng làn khi đi qua, wave none
Nguồn
recolor sheet gốc VFX_SHARED_summon_vortex → new src/fx/heroes/h12-sk01-procession.js (costume _ambrin.js; vệt đường diễu + dải vải theo hàng, knob len|w|turn)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay rect L240 W48 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.167Ambrin thổi hiệu rước, loa chĩa trước; 4 nhạc công (thiếu thì bóng tạm α 0.4) xếp hàng một sau lưng
0làn sàn 240 × 48 hiện viền 1 px #2389ae α 0.6 (không fill 25%: khác tell P); thành viên đầu bước vào
0.067mỗi thành viên để vệt sáng rộng 48 sau gót, 2 dải khăn tang bay ra 2 mép làn (đẩy dạt 16 px)
0.5phách 2: đoàn tới giữa làn (120 px); hạng III rẽ ≤ 90° tại đây (làn gãy chữ L 120 + 120)
1thành viên cuối ra khỏi làn; bóng tạm tan bằng VFX_H12_band_vanish
1.2vệt làn tan dither, rỗng

H12_SK02 Tấu Khúc Bay: mỗi phách 3 nốt (frame 0–3 = phun tại loa); ph…

VFX_H12_SK02_volleyTEMPLATELớp: overheadCỡ: MLOD: L2

Tấu Khúc Bay: mỗi phách ba nốt phụt khỏi loa, phách cuối nốt trầm vỡ đĩa r40 — đếm được 4 phách qua 4 lần phun.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK02_volley16 khung @ 30 fpsantic · khung 0–3impact · khung 4–5dissipate · khung 6–1516 khung · 30 fps · 0.533 s
Hitbox VFX_H12_SK02_volleyHitbox VFX_H12_SK02_volley8 px16 px24 px32 px40 px48 pxCIRCLEhurtbox r 7shape CIRCLE r 40sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK02 Tấu Khúc Bay: mỗi phách 3 nốt (frame 0–3 = phun tại loa); phách 4 nốt trầm H12_SK02_LOW vỡ CIRCLE r40 ở mục tiêu đầu hoặc cuối tầm (frame 4–15); cũng H12_E04, H12_E25; t = 0 = frame vỡ nốt trầm
Canvas
96×60 gốc 48/38
Pha (s)
antic −0.133/0 · impact 0/0.067 · dissipate 0.067/0.533
Easing
curve outExpo, freeze_s 0
Hạt
kind SHARD, count 6, speed 120, life_s 0.3, hex #a3f4ff, gravity 950, shadow có
Hitbox
shape circle r40, match đĩa vỡ r40 (elip 80×40) lệch ≤ 2 px, phủ 100%; nốt bay dùng VFX_H12_note_bolt proj r4, wave none
Nguồn
recolor sheet gốc VFX_SHARED_hit_pierce --opts palette H12, knob burst_r:40, muzzle_rings:3
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r40 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.133frame 0–3 (phát tại muzzle mỗi phách): 3 vòng âm nhỏ r6 phụt khỏi loa theo 3 làn cách 12 px
0nốt trầm chạm: 1 frame #ffffff, vỡ thành đĩa âm r40 (elip 80×40) mép #fff6f0 2 px
0.0676 mảnh giọt âm văng tròn, glyph SHOCK chung lên mục tiêu đầu
0.3đĩa nguội #2389ae
0.533rỗng

H12_SK03 Kèn Xua (H12_SK03_BLAST: startup 9 tick, active 5 tick, RECT…

VFX_H12_SK03_shoo_waveTEMPLATELớp: overheadCỡ: LLOD: L3

Kèn Xua: một bức tường âm đứng tiến thẳng 200 px, lùa cả bầy ra xa như xua quạ khỏi đám tang.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK03_shoo_wave21 khung @ 30 fpsantic · khung 0–4impact · khung 5–6dissipate · khung 7–2021 khung · 30 fps · 0.7 s
Hitbox VFX_H12_SK03_shoo_waveHitbox VFX_H12_SK03_shoo_wave56 px112 px168 px224 pxRECThurtbox r 7shape RECT len 200 w 96sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK03 Kèn Xua (H12_SK03_BLAST: startup 9 tick, active 5 tick, RECT 200 × 96 trước mặt, đẩy S 80 px trong 14 tick, STS_DREAD 1.5 s, đúng phách S khựng 0.6 s); cũng H12_E32; kèm VFX_SHARED_sts_dread; t = 0 = frame nhả hơi
Canvas
232×88 gốc 12/60
Pha (s)
antic −0.15/0 · impact 0/0.083 · dissipate 0.083/0.7
Easing
curve outQuart, freeze_s 0
Hạt
kind STREAK, count 18, speed 340, life_s 0.3, hex #a3f4ff, gravity 0, shadow không/kind DUST, count 10, speed 80, life_s 0.4, hex #1a556b, gravity 0, shadow không
Hitbox
shape rect L200 W96, match vệt quét 200 × 96 trùng hitbox ±2 px; tường đi đúng 200 px trong 14 tick = quãng đẩy; hạng III xuất knob len 240 (ô 256 rộng), wave reach
Nguồn
recolor sheet gốc VFX_SHARED_hit_blast → new src/fx/heroes/h12-sk03-shoo-wave.js (bức tường âm đứng tiến tới, knob len:200|240, w:96)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay rect L200 W96 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.15chĩa loa, má phồng; 4 vòng âm tụ trong loa
01 frame #ffffff: bức tường âm đứng cao 32 rộng 96 (48 px màn ở Đông/Tây) bật tại loa
0.083tường tiến 0 → 200 px trong 0.233 s (14 tick) đẩy bầy theo, mép trước #fff6f0, thân 3 lớp gợn #2ec0e8 40%
0.233tường đứng ở 200 px, vỡ thành 10 vệt gió
0.5vệt sàn nguội #1a556b
0.7rỗng

H12_SK04 Hợp Âm Thu (H12_SK04_CHORD: startup 8 tick, vòng r80 đặt tại…

VFX_H12_SK04_chord_holdTEMPLATELớp: floor_decalCỡ: LLOD: L2

Hợp Âm Thu: một hợp âm treo lơ lửng thành vòng r80, đạn địch bị cuốn quay vòng rồi bị trả ngược ×2 khi hợp âm vỡ.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK04_chord_hold66 khung @ 30 fpsantic · khung 0–3dissipate · khung 4–63impact · khung 64–6566 khung · 30 fps · 2.2 s
Hitbox VFX_H12_SK04_chord_holdHitbox VFX_H12_SK04_chord_hold24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 80sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK04 Hợp Âm Thu (H12_SK04_CHORD: startup 8 tick, vòng r80 đặt tại chỗ 120 tick, giữ ≤ 12 đạn Y, quái chậm 25%, đạn tím xuyên; hết giờ nổ r80 1.5 coef + STS_SHOCK, rồi H12_SK04_RELEASE trả đạn); cũng H12_E17, H12_E29; kèm VFX_SHARED_sts_slow; t = 0 = vòng thành hình
Canvas
184×104 gốc 92/56
Pha (s)
antic −0.133/0 · impact 2/2.067 · dissipate 2.067/2.2
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 12, speed 90, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape circle r80, match vành r80 (elip 160×80) trùng vùng giữ đạn + nổ ±2 px; nổ phủ 100% ở frame 2.0 s, wave none
Nguồn
recolor sheet gốc VFX_SHARED_sts_slow → new src/fx/heroes/h12-sk04-chord-hold.js (vòng hợp âm treo + quỹ đạo đạn, knob radius|follow)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r80 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.133loa thổi một hợp âm 3 nốt, 3 vòng âm bay tới điểm đặt
0vành r80 (elip 160×80) 1 px #66e6ff + vành trong r72 #2389ae, fill 15%; 3 dây âm xoay quanh tâm 0.5 vòng/s
0.5mỗi phách vành nhấp 1 px; đạn Y bị bắt đổi ramp H12, xoay quỹ đạo r24–r64 quanh tâm
21 frame #ffffff: vòng nổ đặc r80 fill 45%, mép #fff6f0 2 px; đạn giữ phóng theo hướng ngắm (VFX_H12_note_bolt)
2.067glyph SHOCK chung lên quái trúng; vòng nguội
2.2rỗng

H12_SK05 Cao Trào: H12_SK05_BEAT phách 1–3 (khoá 1 mục tiêu ≤ 120 px,…

VFX_H12_SK05_crescendoTEMPLATELớp: overheadCỡ: MLOD: L3

Cao Trào: mỗi phách đúng chồng thêm một tầng vòng âm trên đầu mục tiêu, phách bốn dồn cả ba thành một nốt cao chót vót xuyên qua.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK05_crescendo18 khung @ 30 fpsantic · khung 0–2impact · khung 3–4dissipate · khung 5–1718 khung · 30 fps · 0.6 s
Hitbox VFX_H12_SK05_crescendoHitbox VFX_H12_SK05_crescendo24 px48 px72 pxRECThurtbox r 7shape RECT len 72 w 24sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK05 Cao Trào: H12_SK05_BEAT phách 1–3 (khoá 1 mục tiêu ≤ 120 px, áp sát ≤ 48 px, LINE 72 × 24, startup 4 tick, active 3 tick) và H12_SK05_FINAL phách 4 (LINE 96 × 32, 6.0 coef × ≤ 1.6, shieldbreak); cũng H12_E21, H12_E22, H12_EVO3; t = 0 = frame chạm
Canvas
112×96 gốc 16/72
Pha (s)
antic −0.067/0 · impact 0/0.067 · dissipate 0.067/0.6
Easing
curve outExpo, freeze_s 0
Hạt
kind STAR, count 8, speed 90, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape line L72 W24, match tia loa → mục tiêu dài 72 rộng 24 trùng hitbox ±2 px; phách chốt line L96 W32, cột đứng đặt đúng điểm cuối 96 px, wave none
Nguồn
recolor sheet gốc VFX_SHARED_hit_crit → new src/fx/heroes/h12-sk05-crescendo.js (tia ngắn loa → mục tiêu + tầng vòng âm chồng trên mục tiêu, knob tier:1|2|3|final)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay line L72 W24 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.067áp sát, loa chĩa vào mục tiêu
0tia âm ngắn từ loa tới mục tiêu (72 px, h 14); trên đầu mục tiêu bật 1 tầng vòng âm elip 20×10 cho mỗi cú đúng phách đã tích (tối đa 3 tầng, cách nhau 8 px)
0.033lệch phách: các tầng vỡ rơi (xoá cộng dồn); đúng phách: tầng mới 1 frame #fff6f0
0.067phách chốt (tier final): cột nốt cao chót vót h 64 xuyên mục tiêu, 1 frame #ffffff, các tầng dồn vào cột
0.3cột và tầng nguội #2389ae
0.6rỗng

H12_SK06 Vòng Tang Ca (H12_SK06_RING: startup 10 tick, vòng r72 cố đị…

VFX_H12_SK06_dirge_ringTEMPLATELớp: floor_decalCỡ: LLOD: L2

Vòng Tang Ca: cắm cờ tang hát một khúc, vòng r72 che chở cả phường; mỗi phách bốn tiếng ca dội ra như sóng.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK06_dirge_ring30 khung @ 15 fpsantic · khung 0–2dissipate · khung 3–25impact · khung 26–26dissipate · khung 27–2930 khung · 15 fps · 2 s · lặp
Hitbox VFX_H12_SK06_dirge_ringHitbox VFX_H12_SK06_dirge_ring24 px48 px72 pxCIRCLEhurtbox r 7shape CIRCLE r 72sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK06 Vòng Tang Ca (H12_SK06_RING: startup 10 tick, vòng r72 cố định 360 tick, −25% sát thương nhận cho Ambrin + Phường trong vòng, Thế hồi ×2, mỗi phách 4 dội 2.5 coef ×3); cũng H12_E16, H12_E27; kèm VFX_SHARED_shield_hero trên thân; t = 0 = cờ tang cắm xuống
Canvas
168×104 gốc 84/60
Pha (s)
antic −0.167/0 · impact 1.5/1.567 · dissipate 1.567/2
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 6, speed 15, life_s 1, hex #a3f4ff, gravity −15, shadow không
Hitbox
shape circle r72, match vành r72 (elip 144×72) trùng vùng giảm sát thương + dội ±2 px; sóng dội phủ 100% ở frame 1.567 s, wave none
Nguồn
recolor sheet gốc VFX_SHARED_shield_hero → new src/fx/heroes/h12-sk06-dirge-ring.js (vòng tang ca + cờ tang cắm tâm, loop 1 ô nhịp, knob radius)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r72 trên sheet + 1 ảnh in-game có tell P gần (kiểm R2 α 0.70), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.167cờ tang trắng (sào 30 px) cắm phập xuống tâm, bụi bật
0vành r72 (elip 144×72) liền 1 px #66e6ff + vành trong r64 liền #2389ae (không chấm, khác vùng N); fill 15%; 4 dải khăn buông từ đầu cờ xuống 4 phía
0.5phách 2–3: dải khăn lay theo phách, vành nhấp 1 px
1.5phách 4: 1 frame #fff6f0 — sóng dội từ cờ lan r0 → r72 trong 2 frame, mép 2 px
1.567sóng nguội, vành về trạng thái giữ
2nối loop; hết 6 s vòng tan dither 0.3 s

H12_SK07 Nhịp Bước Tang: H12_SK07_STEP 4 phách +35% tốc chạy (dấu châ…

VFX_H12_SK07_march_stepTEMPLATELớp: floor_decalCỡ: MLOD: L2

Nhịp Bước Tang: chạy theo trống, mỗi bước đúng phách in một đĩa dậm r40 có 4 vạch phách — chân giữ nhịp thay tay.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK07_march_step12 khung @ 30 fpsantic · khung 0–0impact · khung 1–2dissipate · khung 3–1112 khung · 30 fps · 0.4 s
Hitbox VFX_H12_SK07_march_stepHitbox VFX_H12_SK07_march_step8 px16 px24 px32 px40 px48 pxCIRCLEhurtbox r 7shape CIRCLE r 40sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK07 Nhịp Bước Tang: H12_SK07_STEP 4 phách +35% tốc chạy (dấu chân = frame 0–3 ở scale 0.4 mỗi phách) và H12_SK07_FOOTFALL Lướt đúng phách dậm CIRCLE r40 1.5 coef, đẩy S 12 px (≤ 2 lần/lượt); cũng H12_E08; kèm VFX_H12_beat_ring sáng; t = 0 = frame Lướt dừng
Canvas
96×56 gốc 48/30
Pha (s)
antic −0.033/0 · impact 0/0.05 · dissipate 0.05/0.4
Easing
curve outQuart, freeze_s 0
Hạt
kind DUST, count 8, speed 50, life_s 0.3, hex #1a556b, gravity 0, shadow không
Hitbox
shape circle r40, match đĩa r40 (elip 80×40) lệch ≤ 2 px, phủ 100%, wave none
Nguồn
new src/fx/heroes/h12-sk07-march-step.js (costume _ambrin.js; dậm sàn r40 + dấu chân nhịp, knob radius)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r40 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.033gót chạm sàn, vạch phách trên vòng nhịp sáng
01 frame #fff6f0: đĩa dậm r40 (elip 80×40) bật đầy, mép 2 px, 4 vạch phách in lên đĩa
0.05đĩa nở thêm 2 px, bụi bật quanh mép
0.2nguội #2389ae
0.4rỗng

H12_SK08 Gọi Phường (H12_SK08_CALL: startup 12 tick, Nhịp nhảy lên mố…

VFX_H12_SK08_call_bandTEMPLATELớp: overheadCỡ: LLOD: L2

Gọi Phường: một hiệu kèn và nhạc công của mốc kế rơi thẳng xuống, đĩa hạ r64 hất bầy — Nhịp nhảy vọt không cần chờ.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_SK08_call_band21 khung @ 30 fpsantic · khung 0–5impact · khung 6–8dissipate · khung 9–2021 khung · 30 fps · 0.7 s
Hitbox VFX_H12_SK08_call_bandHitbox VFX_H12_SK08_call_band16 px32 px48 px64 pxCIRCLEhurtbox r 7shape CIRCLE r 64sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
H12_SK08 Gọi Phường (H12_SK08_CALL: startup 12 tick, Nhịp nhảy lên mốc kế 4/8/12/16, nhạc công mốc đó hạ xuống CIRCLE r64 2.0 coef, đẩy S 24 px); cũng H12_E10 (hạ tại điểm đáp Lướt), H12_E31; kèm VFX_H12_band_summon; t = 0 = frame chạm sàn
Canvas
152×120 gốc 76/88
Pha (s)
antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.7
Easing
curve outExpo, freeze_s 0
Hạt
kind DUST, count 12, speed 70, life_s 0.4, hex #1a556b, gravity 0, shadow không/kind MOTE, count 8, speed 80, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape circle r64, match đĩa hạ r64 (elip 128×64) lệch ≤ 2 px, phủ 100%, wave none
Nguồn
recolor sheet gốc VFX_SHARED_spawn_rise → new src/fx/heroes/h12-sk08-call-band.js (nhạc công rơi từ h 48 + đĩa hạ r64, knob radius|member)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r64 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.2Ambrin thổi hiệu gọi; cột sáng mảnh từ trên rơi xuống điểm hạ, bóng sàn r10 lớn dần
0nhạc công chạm sàn: 1 frame #ffffff, đĩa hạ r64 (elip 128×64) bật đầy, mép #fff6f0 2 px; khăn tang bung
0.067S bị đẩy 24 px, bụi + giọt âm toả
0.35đĩa nguội #2389ae
0.7rỗng

Dạng Rèn H12_AS2: H12_AS2_FIN kèm MỌI đòn kết phách 4 (startup 8 tick…

VFX_H12_AS2_bell_pushTEMPLATELớp: overheadCỡ: MLOD: L3

Loa Lớn Đẩy: mọi khúc kết kèm một mặt sóng phẳng 120 × 64 lùa thẳng — loa đồng to thổi bạt cả hàng.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_AS2_bell_push15 khung @ 30 fpsantic · khung 0–3impact · khung 4–5dissipate · khung 6–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H12_AS2_bell_pushHitbox VFX_H12_AS2_bell_push32 px64 px96 px128 pxRECThurtbox r 7shape RECT len 120 w 64sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Dạng Rèn H12_AS2: H12_AS2_FIN kèm MỌI đòn kết phách 4 (startup 8 tick, active 4 tick, RECT 120 × 64 trước mặt, 1.5 coef, đẩy S 48 px, shieldbreak); t = 0 = frame chạm của khúc kết
Canvas
144×80 gốc 8/48
Pha (s)
antic −0.133/0 · impact 0/0.067 · dissipate 0.067/0.5
Easing
curve outQuart, freeze_s 0
Hạt
kind STREAK, count 10, speed 300, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape rect L120 W64, match vệt quét 120 × 64 trùng hitbox ±2 px (rộng màn e/w 32, n/s 64); mặt sóng đi đủ 120 px trong active, wave reach
Nguồn
recolor sheet gốc VFX_SHARED_hit_heavy --opts palette H12 hue −3 (Dạng Rèn AS2 Kèn Đồng Loa Lớn), knob len:120, w:64
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay rect L120 W64 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.133loa đồng lớn (rộng 12 px) sáng viền #66e6ff
01 frame #ffffff: mặt sóng phẳng rộng 64 (32 px màn ở Đông/Tây), cao 24, bật tại loa
0.067mặt sóng trượt 0 → 120 px trong 4 frame, mép trước #fff6f0, 2 lớp gợn sau #2ec0e8 40%
0.2mặt sóng dừng ở 120, vỡ thành vệt gió
0.5rỗng

Dạng Rèn H12_AS3: H12_AS3_FIN kèm MỌI đòn kết phách 4 (startup 8 tick…

VFX_H12_AS3_bone_fanTEMPLATELớp: overheadCỡ: MLOD: L2

Lá Xương Quạt Nốt: khúc kết nào cũng xoè 5 nốt lá xương quạt 60° — kèn nhỏ, tầm xa.

#2389ae#2ec0e8#66e6ff#a3f4ff#dafbff#fff6f0
Dải khung VFX_H12_AS3_bone_fan9 khung @ 30 fpsantic · khung 0–2dissipate · khung 3–89 khung · 30 fps · 0.3 s
Chi tiết spec
Kích hoạt
Dạng Rèn H12_AS3: H12_AS3_FIN kèm MỌI đòn kết phách 4 (startup 8 tick, active 4 tick): 5 nốt xương quạt 60°, tầm 220, 480 px/s, xuyên 1 — sheet này là chớp phát tại loa, nốt bay = VFX_H12_note_bolt biến thể bone; t = 0 = frame phát
Canvas
64×48 gốc 12/36
Pha (s)
antic −0.067/0 · impact 0/0.033 · dissipate 0.033/0.3
Easing
curve outQuart, freeze_s 0
Hạt
kind MOTE, count 5, speed 60, life_s 0.2, hex #dafbff, gravity 0, shadow không
Hitbox
shape none, match sheet phát tại loa; sát thương do 5 nốt VFX_H12_note_bolt (bone, proj r4) quạt 60° tầm 220 — đo trên note_bolt, wave none
Nguồn
recolor sheet gốc VFX_SHARED_hit_pierce --opts palette PB H12 hue +3 (Dạng Rèn AS3 Kèn Lá Xương), knob notes:5, fan:60
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (hitbox đo trên VFX_H12_note_bolt), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.067kèn lá xương nhỏ sáng #dafbff, 5 lá xương xoè sẵn quanh loa
01 frame #fff6f0: quạt 5 tia ngắn 12 px ở −30°/−15°/0°/15°/30°
0.0335 lá nhọn 7×3 tách khỏi loa thành nốt bay
0.15vệt quạt tan
0.3rỗng

Then Chốt H12_E37 Đoàn Đưa Không Dứt (TPL_H12_lp37): Lướt đúng phách …

VFX_H12_E37_funeral_escortTEMPLATELớp: body_frontCỡ: MLOD: L2

Đoàn Đưa Không Dứt: mỗi bước lướt đúng phách, cả phường lướt theo sau như đoàn đưa tang không bao giờ dừng.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_E37_funeral_escort18 khung @ 30 fpsantic · khung 0–1impact · khung 2–3dissipate · khung 4–1718 khung · 30 fps · 0.6 s
Hitbox VFX_H12_E37_funeral_escortHitbox VFX_H12_E37_funeral_escort24 px48 px72 px96 pxRECThurtbox r 7shape RECT len 80 w 40sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Then Chốt H12_E37 Đoàn Đưa Không Dứt (TPL_H12_lp37): Lướt đúng phách khi Nhịp ≥ 8 — hoàn lượt (hồi 1.0 s), mọi nhạc công diễu theo đường Lướt LINE 80 × 40, 10 sát thương/nhạc công, Phường ×1.3 khi diễu + 2 s; kèm VFX_H12_SK01_procession + VFX_SHARED_dash_afterimage; t = 0 = frame Lướt kết thúc
Canvas
120×56 gốc 104/40
Pha (s)
antic −0.05/0 · impact 0/0.067 · dissipate 0.067/0.6
Easing
curve outQuart, freeze_s 0
Hạt
kind MOTE, count 8, speed 30, life_s 0.4, hex #a3f4ff, gravity −20, shadow không
Hitbox
shape line L80 W40, match làn 80 × 40 theo đúng đoạn Lướt (rộng màn e/w 20, n/s 40) ±2 px; mỗi bóng phủ cả bề rộng làn khi đi qua, wave none
Nguồn
recolor sheet gốc VFX_SHARED_dash_afterimage --opts palette H12, knob members:4, len:80, w:40
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay line L80 W40 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.05vòng nhịp nháy vạch đúng phách; 4 nhạc công rời quỹ đạo r48
04 bóng nhạc công (24 px, lõi #fff6f0 α 0.7) lướt nối đuôi dọc đường 80 px, mỗi bóng để 1 dải khăn tang rộng 40 trên sàn
0.067dải khăn sàn nối liền thành làn 80 × 40, mép #66e6ff 1 px
0.5Phường quay về r48 (0.5 s), làn tan dither
0.6rỗng; viền nhạc công dày 2 px 2 s = ×1.3

Then Chốt H12_E38 Cả Phường Thổi Dội (TPL_H12_lp38): ĐÁP đúng phách →…

VFX_H12_E38_band_echoTEMPLATELớp: body_frontCỡ: MLOD: L3

Cả Phường Thổi Dội: Ambrin đáp đúng phách, bốn nhạc công cùng thổi dội theo — năm vòng nổ cùng một frame.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_E38_band_echo15 khung @ 30 fpsimpact · khung 0–2dissipate · khung 3–1415 khung · 30 fps · 0.5 s
Hitbox VFX_H12_E38_band_echoHitbox VFX_H12_E38_band_echo16 px32 px48 pxCIRCLEhurtbox r 7shape CIRCLE r 44sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Then Chốt H12_E38 Cả Phường Thổi Dội (TPL_H12_lp38): ĐÁP đúng phách → mỗi nhạc công Thổi Dội r44 tại chỗ (S choáng 1.0 s, đạn Y dội ×2); khi giữ Nốt Ngân mỗi nhạc công ngân vòng r40 (đạn chậm 50%); kèm VFX_H12_answer_blast tại Ambrin; t = 0 = frame ĐÁP của Ambrin
Canvas
104×64 gốc 52/40
Pha (s)
antic 0/0 · impact 0/0.067 · dissipate 0.067/0.5
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 6, speed 90, life_s 0.3, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape circle r44, match đĩa r44 (elip 88×44) tâm chân nhạc công lệch ≤ 2 px, phủ 100%; vành ngân r40 trùng vùng hãm ±1 px, wave none
Nguồn
recolor sheet gốc VFX_SHARED_answer_perfect --opts palette H12, knob radius:44, hold_r:40, neo feet nhạc công
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r44 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
0cùng frame với Ambrin: tại mỗi nhạc công 1 frame #fff6f0, vòng nổ r44 (elip 88×44) mép 2 px
0.033nhạc cụ của từng người phụt vòng âm (trống: vòng dày, chũm chọe: vòng kép, phướn: vòng gợn, kèn phụ: vòng mảnh)
0.25vòng nguội #2389ae
0.5rỗng; nếu giữ Nốt Ngân: mỗi nhạc công giữ vành r40 1 px loop theo VFX_H12_held_note

Then Chốt H12_E39 Hồi Kèn Cuối (TPL_H12_lp39): Phản trúng quái M/L/XL…

VFX_H12_E39_last_callTEMPLATELớp: overheadCỡ: MLOD: L3

Hồi Kèn Cuối: phản trúng kẻ đã vỡ thế thì thổi luôn bốn phách tiễn rút gọn — đốt 4 Nhịp đổi thành Dư Âm.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_E39_last_call36 khung @ 30 fpsantic · khung 0–2dissipate · khung 3–22impact · khung 23–24dissipate · khung 25–3536 khung · 30 fps · 1.2 s
Hitbox VFX_H12_E39_last_callHitbox VFX_H12_E39_last_call24 px48 px72 px96 pxRECThurtbox r 7shape RECT len 96 w 32sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Then Chốt H12_E39 Hồi Kèn Cuối (TPL_H12_lp39): Phản trúng quái M/L/XL đang Vỡ Thế → khoá, 4 phách mỗi 13 tick, 30 sát thương +15%/phách, phách cuối kết liễu ≤ 12% HP (Boss chỉ nhận sát thương); tiêu 4 Nhịp → +10 Dư Âm; t = 0 = frame Phản chạm
Canvas
112×96 gốc 16/72
Pha (s)
antic −0.1/0 · impact 0.65/0.717 · dissipate 0.717/1.2
Easing
curve outExpo, freeze_s 0
Hạt
kind STAR, count 10, speed 90, life_s 0.3, hex #a3f4ff, gravity 0, shadow không/kind FLAKE, count 6, speed 50, life_s 0.7, hex #fff6f0, gravity −60, shadow không
Hitbox
shape line L96 W32, match tia mỗi phách 96 × 32 trùng hitbox ±2 px; cột đặt đúng tâm mục tiêu khoá, wave none
Nguồn
recolor sheet gốc VFX_SHARED_hit_crit → biến thể rút gọn của VFX_H12_UL2_lone_farewell (knob beats:4), palette H12
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay line L96 W32 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.14 chấm Nhịp rút khỏi vòng nhịp dưới chân bay vào loa (= tiêu 4 Nhịp)
0phách 1: tia 96 × 32 loa → mục tiêu, 1 tầng vòng âm trên đầu mục tiêu
0.217phách 2; 0.433 phách 3 — mỗi phách thêm 1 tầng, tầng mới 1 frame #fff6f0
0.65phách 4: 1 frame #ffffff, 4 tầng dồn thành cột h 64; kết liễu: mục tiêu hoá dải khăn trắng bay lên
0.7171 tia sáng mảnh từ cột bay về Ambrin (= +10 Dư Âm)
1.2rỗng

Then Chốt H12_E40 Đám Tang Không Tàn (TPL_H12_lp40): Nhịp = 16, mỗi c…

VFX_H12_E40_eternal_wakeTEMPLATELớp: body_frontCỡ: LLOD: L3

Đám Tang Không Tàn: ở 16 Nhịp, bốn cung Vang lấp dần quanh chân; đủ bốn là Kèn Phụ ngân một hợp âm r120.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_E40_eternal_wake21 khung @ 30 fpsantic · khung 0–5impact · khung 6–8dissipate · khung 9–2021 khung · 30 fps · 0.7 s
Hitbox VFX_H12_E40_eternal_wakeHitbox VFX_H12_E40_eternal_wake48 px96 px144 px192 pxRINGRINGhurtbox r 7shape RING r_mid 120 band 120sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Then Chốt H12_E40 Đám Tang Không Tàn (TPL_H12_lp40): Nhịp = 16, mỗi cú đúng phách +1 Vang (≤ 4, hiện trên vòng nhịp); đủ 4 Vang → Kèn Phụ hợp âm RING r120, 25 sát thương, Vang về 0; khúc kết ×1.3; kèm VFX_H12_band_horn; t = 0 = frame hợp âm
Canvas
256×144 gốc 128/84
Pha (s)
antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.5
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 10, speed 110, life_s 0.35, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape ring r120 w120, match vành thủ tục = hitbox frame đó (RING r120 r_in 0, elip 240×120 lệch ≤ 1 px), wave procedural
Nguồn
recolor sheet gốc VFX_SHARED_resonance_on → new src/fx/heroes/h12-e40-eternal-wake.js (đoạn Vang frame 0–5 + hợp âm frame 6–20; vành r120 = shader FloorEllipse {shape:ring})
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay ring r120 w120 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.2đoạn Vang: mỗi Vang = 1 cung ngắn 6 px #dafbff ngoài vòng nhịp r16 (4 cung ở 45°/135°/225°/315°, xen giữa 4 vạch phách)
0đủ 4 Vang: 1 frame #ffffff tại kèn phụ nhạc công; 4 cung Vang bay vào tâm
0.033vành thủ tục rộng 10 lan r0 → r120 trong 6 tick (elip 240×120), mép #fff6f0, thân #2ec0e8 35%
0.2vành chạm r120, 10 giọt âm toả
0.5rỗng; Vang về 0

Tiến Hoá H12_EVO1 Trống Cái Tống Táng: H12_UL1 hạ Trống Cái tại Ambri…

VFX_H12_EVO1_grand_drumTEMPLATELớp: overheadCỡ: LLOD: L3

Trống Cái Tống Táng: đại nhạc gọi xuống một Trống Cái nện r96 — từ đó tới hết phòng, cứ hai phách trống lại rền.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_EVO1_grand_drum24 khung @ 30 fpsantic · khung 0–5impact · khung 6–8dissipate · khung 9–2324 khung · 30 fps · 0.8 s
Hitbox VFX_H12_EVO1_grand_drumHitbox VFX_H12_EVO1_grand_drum24 px48 px72 px96 pxCIRCLEhurtbox r 7shape CIRCLE r 96sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Tiến Hoá H12_EVO1 Trống Cái Tống Táng: H12_UL1 hạ Trống Cái tại Ambrin (+2 sóng, tick 136/166); tới hết phòng Trống đập r96 1.6 coef mỗi 2 phách (dùng VFX_H12_band_drum scale 1.6); sheet này = cú hạ Trống Cái; t = 0 = frame trống chạm sàn
Canvas
216×136 gốc 108/84
Pha (s)
antic −0.2/0 · impact 0/0.067 · dissipate 0.067/0.6
Easing
curve outExpo, freeze_s 0
Hạt
kind DUST, count 16, speed 70, life_s 0.4, hex #1a556b, gravity 0, shadow không/kind MOTE, count 10, speed 90, life_s 0.35, hex #a3f4ff, gravity 0, shadow không
Hitbox
shape circle r96, match đĩa nện r96 (elip 192×96) lệch ≤ 2 px, phủ 100%; nhịp đập sau dùng VFX_H12_band_drum r96, wave none
Nguồn
recolor sheet gốc VFX_SHARED_evolution_forge → new src/fx/heroes/h12-evo1-grand-drum.js (Trống Cái rơi + đĩa nện r96, knob radius)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r96 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.2Trống Cái (cao 40 px, mặt trống #fff6f0 α 0.7, đai viền slot) rơi từ h 48, bóng sàn r20 lớn dần
0chạm sàn: 1 frame #ffffff, đĩa nện r96 (elip 192×96) bật đầy, mép #fff6f0 2 px, 8 nứt âm toả
0.067khăn tang buộc quanh trống bung 4 phía; bụi vòng mép
0.35đĩa nguội #2389ae, trống đứng lại (thân = biến thể actor nhạc công Trống scale 1.5)
0.6sheet rỗng

Tiến Hoá H12_EVO2 Chũm Chọe Gọi Sấm: Hợp Âm Thu (H12_SK04) hết giờ nổ…

VFX_H12_EVO2_thunder_cymbalTEMPLATELớp: overheadCỡ: LLOD: L3

Chũm Chọe Gọi Sấm: hợp âm treo vỡ thành tiếng xoảng sấm r112 — tia gãy khúc chạy khắp vòng, bầy đứng sững.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_EVO2_thunder_cymbal18 khung @ 30 fpsantic · khung 0–2impact · khung 3–5dissipate · khung 6–1718 khung · 30 fps · 0.6 s
Hitbox VFX_H12_EVO2_thunder_cymbalHitbox VFX_H12_EVO2_thunder_cymbal32 px64 px96 px128 pxCIRCLEhurtbox r 7shape CIRCLE r 112sàn 3/4 · ry = rx × 0.5
Chi tiết spec
Kích hoạt
Tiến Hoá H12_EVO2 Chũm Chọe Gọi Sấm: Hợp Âm Thu (H12_SK04) hết giờ nổ thành xoảng sấm CIRCLE r112 — STS_SHOCK 3 s, S choáng 1.0 s; đạn trả mang STS_SHOCK, xuyên +2; thay frame nổ của VFX_H12_SK04_chord_hold; t = 0 = frame nổ (tick 120 của vòng)
Canvas
240×136 gốc 120/76
Pha (s)
antic −0.1/0 · impact 0/0.067 · dissipate 0.067/0.6
Easing
curve outExpo, freeze_s 0
Hạt
kind SPARK, count 20, speed 160, life_s 0.25, hex #a3f4ff, gravity 950, shadow không
Hitbox
shape circle r112, match vành ngoài r112 (elip 224×112) trùng biên hitbox ±2 px ở frame 2; phủ ≥ 92% đĩa, wave none
Nguồn
recolor sheet gốc VFX_SHARED_evolution_forge → new src/fx/heroes/h12-evo2-thunder-cymbal.js (chũm chọe sấm thay nổ SK04, knob radius)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay pending: overlay circle r112 trên sheet --dirs + 1 ảnh in-game, art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.12 đĩa chũm chọe ma (16 px) hiện trên tâm vòng ở h 32, dang ra
0đĩa chập: flare 4 cánh #ffffff 1 frame; vành kép r104/r112 (elip 224×112) bật đầy, mép #fff6f0
0.0338 tia sấm gãy khúc 1–2 px từ tâm chạy ra vành (hình zigzag = SHOCK, doc 31 §3), giữa 2 vành 24 chấm lấp lánh
0.2tia sấm tắt từng tia, vành nguội #2389ae
0.6rỗng; glyph SHOCK chung trên quái trúng

Tiến Hoá H12_EVO3 Phướn Trắng Cao Trào: H12_SK05 cắm Phướn Trắng tại …

VFX_H12_EVO3_white_bannerTEMPLATELớp: body_backCỡ: MLOD: L2

Phướn Trắng Cao Trào: một ngọn phướn tang cắm cạnh kẻ bị khoá, vạch trên sào đếm lớp — phách chốt chắc chắn chí mạng.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_EVO3_white_banner30 khung @ 15 fpsantic · khung 0–1impact · khung 2–2dissipate · khung 3–2930 khung · 15 fps · 2 s · lặp
Chi tiết spec
Kích hoạt
Tiến Hoá H12_EVO3 Phướn Trắng Cao Trào: H12_SK05 cắm Phướn Trắng tại mục tiêu 4 s; mỗi đòn Phường đúng phách lên nó +1 lớp; phách chốt luôn chí mạng; kèm VFX_H12_band_flag; t = 0 = phướn cắm xuống (runtime thả từ h 24 trong 0.1 s rồi chạy loop)
Canvas
40×56 gốc 20/50
Pha (s)
antic −0.1/0 · impact 0/0.067 · dissipate 0.067/2
Easing
curve linear, freeze_s 0
Hạt
kind MOTE, count 8, speed 20, life_s 0.6, hex #a3f4ff, gravity −30, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor sheet gốc VFX_SHARED_evolution_forge → new src/fx/heroes/h12-evo3-white-banner.js (phướn trắng cắm tại mục tiêu, loop 15 fps, knob stacks)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.1phướn trắng sào 36 px rơi cắm cạnh chân mục tiêu, bụi nhỏ
0phướn bung, mép 1 px #66e6ff; vạch lớp trên sào = số lớp đã tích (0–4 vạch #dafbff)
0.5mỗi phách phướn giật 1 gợn; khi Phường đánh đúng phách: vạch mới 1 frame #fff6f0
2nối loop; hết 4 s phướn rủ và tan dither 0.3 s

Tiến Hoá H12_EVO4 Kèn Thức Tỉnh Gọi Đò (thức tỉnh vũ khí): loop trên …

VFX_H12_EVO4_awakenTEMPLATELớp: body_frontCỡ: SLOD: L2

Kèn Thức Tỉnh Gọi Đò: loa đồng bừng xanh vĩnh viễn — cung rộng hơn, vành xa hơn, mỗi phách đúng đều gieo Điện Giật.

#2389ae#2ec0e8#66e6ff#a3f4ff#dafbff#fff6f0
Dải khung VFX_H12_EVO4_awaken12 khung @ 12 fpsantic · khung 0–0impact · khung 1–1dissipate · khung 2–1112 khung · 12 fps · 1 s · lặp
Chi tiết spec
Kích hoạt
Tiến Hoá H12_EVO4 Kèn Thức Tỉnh Gọi Đò (thức tỉnh vũ khí): loop trên loa kèn tới hết run; phách 1–3 đổi ARC 150° r64, Khúc Dồn RING r96 (VFX_H12_sound_arc / VFX_H12_fin_ring dùng bậc tham số awaken); cú đúng phách STS_SHOCK 1.5 s, khúc kết STS_DREAD 1.0 s; t = 0 = frame thức tỉnh
Canvas
24×24 gốc 12/12
Pha (s)
antic −0.083/0 · impact 0/0.083 · dissipate 0.083/1
Easing
curve linear, freeze_s 0
Hạt
kind MOTE, count 3, speed 25, life_s 1, hex #dafbff, gravity 0, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor sheet gốc VFX_SHARED_evolution_forge → new src/fx/heroes/h12-evo4-awaken.js (quầng loa kèn thức tỉnh loop 12 fps, neo muzzle)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.083loa đồng bừng sáng xanh, mép loa viền #a3f4ff dày 2 px
0quầng r8 quanh loa nhấp 1 px; 3 giọt âm nhỏ quay quanh loa 1 vòng/1.0 s
0.5phách: quầng sáng #dafbff 1 frame
1nối loop liền mạch

LIBRARY · 2

full_event res_full: Nhịp chạm 16 (Kèn Phụ hiện); cũng kèm H12_BAND_H…

VFX_H12_res_fullLIBRARYLớp: body_frontCỡ: MLOD: L2

Phường Đủ Mặt: 16 chấm nhịp dồn lên loa, vòng tia 4 cụm xoay — đọc 16 Nhịp ngay trên thân Ambrin, không cần nhìn HUD.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_res_full18 khung @ 30 fpsantic · khung 0–2impact · khung 3–4dissipate · khung 5–1718 khung · 30 fps · 0.6 s
Chi tiết spec
Kích hoạt
full_event res_full: Nhịp chạm 16 (Kèn Phụ hiện); cũng kèm H12_BAND_HORN mỗi lần Kèn Phụ ngân +50 Dư Âm; t = 0 = frame Nhịp = 16
Canvas
64×72 gốc 32/64
Pha (s)
antic −0.067/0 · impact 0/0.067 · dissipate 0.067/0.6
Easing
curve outExpo, freeze_s 0
Hạt
kind MOTE, count 8, speed 30, life_s 0.5, hex #a3f4ff, gravity −40, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor magic/sparkle-ring --opts palette H12, knob ring_r:14, pips:16, neo socket muzzle (loa kèn)
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
−0.06716 chấm sáng #66e6ff từ vòng nhịp dưới chân bay lên loa kèn theo đường xoắn
01 frame #ffffff tại loa; vòng tia lấp lánh r14 quanh loa (elip 28×14) bật đủ 16 tia
0.14 cụm tia (mỗi cụm 4 = 4 phách) xoay 90° quanh loa, đầu tia #fff6f0
0.35vòng thu còn r8, tia nguội #2ec0e8
0.6rỗng; vòng nhịp dưới chân giữ 4 vạch sáng tới khi Nhịp < 16

nhạc công rời Phường: Nhịp tụt dưới mốc, vỡ sau 3 đòn (HP 40), hết ph…

VFX_H12_band_vanishLIBRARYLớp: body_frontCỡ: SLOD: L1

Nhạc công rời phường: khăn trắng tuột rơi, bóng tan thành khói — Nhịp vừa tụt dưới mốc.

#1a556b#2389ae#2ec0e8#66e6ff#a3f4ff#fff6f0
Dải khung VFX_H12_band_vanish12 khung @ 30 fpsimpact · khung 0–0dissipate · khung 1–1112 khung · 30 fps · 0.4 s
Chi tiết spec
Kích hoạt
nhạc công rời Phường: Nhịp tụt dưới mốc, vỡ sau 3 đòn (HP 40), hết phòng sau UL1, hoặc rời từng người theo H12_E35 (2 phách/người); Nhịp = 0 xoá cả Phường cùng frame; t = 0 = frame rời
Canvas
32×32 gốc 16/28
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 5, speed 20, life_s 0.35, hex #2389ae, gravity −20, shadow không
Hitbox
shape none, match không gây sát thương — không đo, wave none
Nguồn
recolor smoke/puff-small --opts palette H12, knob puffs:5, neo feet nhạc công
Review
check_mjs pending, inv01_check pending (--kind vfx_hero --id H12), hitbox_overlay không áp dụng (không gây sát thương), art_style_reviewer pending, date 2026-11-07
t (s)Mô tả
0khăn tang tuột khỏi bóng, rơi chéo xuống
0.033thân bóng tan thành 5 cụm khói nhỏ #2389ae α 0.5
0.2khăn chạm sàn, tan dither
0.4rỗng

13SFX

SFX theo loạiSFX theo loạicast: 12 (43%)move: 5 (18%)swing: 3 (11%)vocal: 3 (11%)hit: 2 (7%)explode: 1 (4%)answer: 1 (4%)loop: 1 (4%)28SFXcast — 12 (43%)move — 5 (18%)swing — 3 (11%)vocal — 3 (11%)hit — 2 (7%)explode — 1 (4%)answer — 1 (4%)loop — 1 (4%)
Độ dài (ms)Độ dài (ms)a1_swinga1_swing: 260 ms260 msa2_swinga2_swing: 240 ms240 msa3_swinga3_swing: 380 ms380 mshithit: 180 ms180 mscombo_specialcombo_special: 700 ms700 msdashdash: 220 ms220 msansweranswer: 340 ms340 mscountercounter: 600 ms600 mshold_starthold_start: 280 ms280 mshold_loophold_loop: 2000 ms2000 mshold_endhold_end: 240 ms240 msres_gainres_gain: 260 ms260 msres_fullres_full: 1000 ms1000 msres_spendres_spend: 230 ms230 msSK01_castSK01_cast: 720 ms720 msSK02_castSK02_cast: 900 ms900 msSK03_castSK03_cast: 650 ms650 msSK04_castSK04_cast: 900 ms900 msSK05_castSK05_cast: 850 ms850 msSK06_castSK06_cast: 900 ms900 msSK07_castSK07_cast: 420 ms420 msSK08_castSK08_cast: 1200 ms1200 msUL1_grand_dirgeUL1_grand_dirge: 3200 ms3200 msUL2_lone_farewellUL2_lone_farewell: 2600 ms2600 msUL3_endless_bandUL3_endless_band: 1800 ms1800 msvo_effortvo_effort: 240 ms240 msvo_hurtvo_hurt: 280 ms280 msvo_deathvo_death: 1400 ms1400 ms
28 dòng
SFXLoạimsBiến thểBusƯu tiênGiọngLUFSTellNguồnTrạng tháiBrief
HeroAttackCut move=Phách Một (attack1 f8) + Kèn Lướt Rước (dash_attac… SFX_H12_a1_swingswing2604HeroAttack202−19noneoutsourcebriefPhách Một: một tiếng kèn đưa tang ngắn, gắt mà buồn, như hiệu lệnh đầu đám. 4 biến thể = 4 hơi thổi khác nhau mỗi nốt; pitch_rand 0 vì cao độ phải khớp hợp âm. Đúng phách (±0.12 s, Thương Xót ±0.16 s, đo DSP): runtime chọn nốt theo hợp âm ô hiện tại trong <cue>.chords.json (4 nốt ghi sẵn D4/F4/A4/C5, dịch ≤ ±2 bán cung tới nốt hợp âm gần nhất); lệch phách: biến thể __off = cùng nốt lạc nửa cung + hụt hơi. Thời điểm phát KHÔNG lượng tử hoá (AP4, doc 32 §2.3/§3.5). Dạng Rèn: AS2 bộ __as2_nn (loa đồng to, trầm −3 bán cung, thêm thump 110 Hz), AS3 bộ __as3_nn (kèn lá xương mảnh, +4 bán cung, hơi gió nhiều hơn); cùng id. Nhạc công kèn dăm thuê theo giờ (hợp đồng chuyển quyền toàn cầu mọi nền tảng), không mẫu AI. KHÔNG được nghe như kèn đồng quân hành, còi tàu, hay kèn đồ chơi.
HeroAttackCut move=Phách Hai (attack2 f8) SFX_H12_a2_swingswing2404HeroAttack202−19noneoutsourcebriefPhách Hai: nốt kèn thứ hai của ô nhịp, gọn hơn, tấn công lưỡi rõ (tongue). Đúng phách (±0.12 s, Thương Xót ±0.16 s, đo DSP): runtime chọn nốt theo hợp âm ô hiện tại trong <cue>.chords.json (4 nốt ghi sẵn D4/F4/A4/C5, dịch ≤ ±2 bán cung tới nốt hợp âm gần nhất); lệch phách: biến thể __off = cùng nốt lạc nửa cung + hụt hơi. Thời điểm phát KHÔNG lượng tử hoá (AP4, doc 32 §2.3/§3.5). Dạng Rèn: AS2 bộ __as2_nn (loa đồng to, trầm −3 bán cung, thêm thump 110 Hz), AS3 bộ __as3_nn (kèn lá xương mảnh, +4 bán cung, hơi gió nhiều hơn); cùng id. Nhạc công kèn dăm thuê theo giờ (hợp đồng chuyển quyền toàn cầu mọi nền tảng), không mẫu AI. KHÔNG được nghe như tiếng vịt kêu, kèn xe.
HeroAttackCut move=Phách Ba (attack3 f8) · lớp đầu khúc phách 4 (atta… SFX_H12_a3_swingswing3804HeroAttack202−18noneoutsourcebriefPhách Ba và lớp mở của mọi khúc phách 4: nốt kèn dài nhất của ô, dâng lên báo đòn kết sắp tới. Đúng phách (±0.12 s, Thương Xót ±0.16 s, đo DSP): runtime chọn nốt theo hợp âm ô hiện tại trong <cue>.chords.json (4 nốt ghi sẵn D4/F4/A4/C5, dịch ≤ ±2 bán cung tới nốt hợp âm gần nhất); lệch phách: biến thể __off = cùng nốt lạc nửa cung + hụt hơi. Thời điểm phát KHÔNG lượng tử hoá (AP4, doc 32 §2.3/§3.5). Dạng Rèn: AS2 bộ __as2_nn (loa đồng to, trầm −3 bán cung, thêm thump 110 Hz), AS3 bộ __as3_nn (kèn lá xương mảnh, +4 bán cung, hơi gió nhiều hơn); cùng id. Nhạc công kèn dăm thuê theo giờ (hợp đồng chuyển quyền toàn cầu mọi nền tảng), không mẫu AI. KHÔNG được nghe như kèn săn, còi báo động.
HeroHitBatch heroId=H12 (Phách 1–3, khúc phách 4, Kèn Lướt Rước, SK01… SFX_H12_hithit1804HeroAttack303−20nonefreesoundbriefSóng âm của kèn chạm thân quái: không phải lưỡi chém, là cú đập hơi + giấy rung. Gộp theo luật bầy §6.1 (≥ 4 mục tiêu: +3 dB, lớp kill-crunch chung). Không partial kim loại 2.2–3.6 kHz decay > 60 ms (AUD-01). KHÔNG được nghe như đấm, kiếm, súng hơi.
HeroComboSpecial heroId=H12 branch=KHUC (đòn kết phách 4: Khúc Dồn/Hụ… SFX_H12_combo_specialexplode7006HeroAttack205−16noneoutsourcebriefĐòn kết khúc: 6 biến thể theo nhánh, KHÔNG ngẫu nhiên — __don (vòng, trống dồn 3 nhát), __hut_hoi (nốt kéo dài hụt cuối), __vap (dậm đất + nốt gãy), __muon (nốt trễ nửa phách cố ý), __cho (nốt dài 2 phách nghỉ), __le (nốt lẻ cao quãng 8). AS2 thêm __as2 (loa đồng đẩy, thump 70 Hz 120 ms), AS3 thêm __as3 (5 nốt xương staccato 40 ms rải quạt). Cao độ theo hợp âm ô (chords.json). Nhạc công kèn dăm thuê theo giờ (hợp đồng chuyển quyền toàn cầu mọi nền tảng), không mẫu AI. Trống không lượng tử hoá. KHÔNG được nghe như dàn kèn đồng lễ hội, pháo nổ.
HeroDash heroId=H12 (Bước Đưa Tang dash f0; lớp trên SFX_SHARED_dash_… SFX_H12_dashmove2203Hero202−22nonefreesoundbriefLướt của Ambrin: vải và khăn, không tiếng kèn (kèn chỉ kêu khi đánh/ĐÁP để giữ ngữ nghĩa nhịp). Né Hoàn Hảo +1 Nhịp phát res_gain riêng. KHÔNG được nghe như áo choàng siêu anh hùng, cờ lớn.
HeroAnswerSuccess heroId=H12 (Thổi Dội answer f1; lớp trên SFX_SHARED… SFX_H12_answeranswer3403HeroDefense22−15noneoutsourcebriefThổi Dội: sóng kèn ngắn đẩy ngược đòn (doc 32 §2.3) — người chơi học: lớp chung answer_core = thành công, lớp kèn = Ambrin. Đúng phách: biến thể __on (nốt đúng hợp âm + trống), lệch: __off (nốt hơi lạc, không trống). Nhạc công kèn dăm thuê theo giờ (hợp đồng chuyển quyền toàn cầu mọi nền tảng), không mẫu AI. KHÔNG được nghe như còi trọng tài, tiếng nổ.
HeroCounter heroId=H12 (Hồi Kèn Tiễn counter f5; lớp trên SFX_SHARED_… SFX_H12_counterhit6003HeroDefense22−15noneoutsourcebriefPhản: hồi kèn tiễn người đi — LINE 140 xuyên thẳng; âm dài và trang nghiêm nhất trong bộ đánh thường. Nốt cố định D5→A4 (motif LM_H12 D–A), không theo hợp âm ô để luôn nhận ra. Nhạc công kèn dăm thuê theo giờ (hợp đồng chuyển quyền toàn cầu mọi nền tảng), không mẫu AI. KHÔNG được nghe như kèn xung trận, tiếng voi.
HeroHoldStart heroId=H12 (Nốt Ngân hold_in f6) SFX_H12_hold_startmove2803HeroDefense201−20noneoutsourcebriefVào Nốt Ngân: kèn giữ hơi (doc 32 §2.3). Nốt = gốc hợp âm ô hiện tại; nối liền vào hold_loop không khe (crossfade 20 ms). Nhạc công kèn dăm thuê theo giờ, hợp đồng chuyển quyền toàn cầu. KHÔNG được nghe như còi tàu, tiếng hú.
HeroHoldStart → loop tới HeroHoldEnd (Nốt Ngân hold_loop; dừng ngay k… SFX_H12_hold_looploop20001HeroDefense201−24nonesynthbriefNốt Ngân: một hơi kèn giữ suốt, mức ổn định (không phồng, AUD-02). Loop đúng 1 ô nhịp = 88.200 mẫu @44.1 kHz để vạch ô trùng vạch nhạc. Mỗi vạch ô runtime đổi nốt theo hợp âm mới (crossfade 40 ms giữa 4 bản D4/F4/A4/C5 ghi sẵn). KHÔNG được nghe như còi báo cháy, tiếng ve.
HeroHoldEnd heroId=H12 cancelled=any (hold_out) · H12_E18 bắt đạn SFX_H12_hold_endmove2403HeroDefense201−22noneoutsourcebriefThả Nốt Ngân: thả đúng phách = biến thể __on (nốt khép tròn, giữ ô nhịp); lệch = __off (luyến hụt). Nhạc công kèn dăm thuê theo giờ. KHÔNG được nghe như hơi xì lốp.
HeroResource heroId=H12 kind=gain (Nhịp +1/+2) · nhạc công Trống Sóng… SFX_H12_res_gainmove2605Hero1203−22nonefreesoundbriefMột id, 5 bộ con do runtime chọn: __tick (Nhịp +1, −24 LUFS), __click (máy nhịp khi bật 'Click nhịp H12', thanh Music = 0, hoặc MUS_quiet_shore B6: −18 LUFS, đồng hồ DSP), __drum / __cymbal / __horn (đòn của Phường, mỗi bộ 3 biến thể). Chũm chọe là nhiễu, không partial kim loại 2.2–3.6 kHz kéo > 60 ms. KHÔNG được nghe như đồng xu, chuông, xylophone.
HeroResource heroId=H12 kind=full (Nhịp 16: Kèn Phụ ngân +50 Dư Âm) ·… SFX_H12_res_fullcast10002Hero201−17noneoutsourcebriefĐủ 16 Nhịp, cả 4 nhạc công: một hợp âm tutti ngắn = motif LM_H12 D–A–C–D thu gọn (doc 32 §3.3). Chuyển giọng theo hợp âm ô (2 bản D và A). Không lượng tử hoá. Nhạc công thuê theo giờ, hợp đồng chuyển quyền toàn cầu. KHÔNG được nghe như kèn chiến thắng thể thao, nhạc lễ hội.
HeroResource heroId=H12 kind=spend (đánh lệch phách: Nhịp chia đôi / … SFX_H12_res_spendmove2303Hero1202−21noneoutsourcebriefNhịp/2 = kèn hụt hơi (doc 32 §2.3): lỗi nhịp phải nghe ra ngay mà không chói. Bộ __spend (SK04/SK06 tiêu chủ động) sạch hơn: nốt rơi 1 cung, không kẹt dăm. Nhạc công thuê theo giờ. KHÔNG được nghe như tiếng xì hơi hài, tiếng vịt.
SkillCast skillId=H12_SK01 (Đám Rước sk01 f10; bóng phường diễu RECT … SFX_H12_SK01_castcast7203Hero202−17noneoutsourcebriefĐám rước bóng ma đi qua đè bầy dạt 16 px: kèn hiệu dẫn đoàn + trống bước. Trống bám phách thật của máy nhịp (lớp trống phát theo DSP, kèn hiệu phát ngay khi cast). KHÔNG được nghe như diễu binh, kèn hướng đạo.
SkillCast skillId=H12_SK02 (Tấu Khúc Bay sk02 f6; mỗi nốt bay +1 lần … SFX_H12_SK02_castcast9003Hero202−18noneoutsourcebriefLoạt nốt bay: mỗi nốt 1 đạn LINE 260. File chứa nốt đơn __n1..__n4 (4 cao độ) + __burst (Nốt Trầm Vỡ CIRCLE r40); runtime phát mỗi nốt khi đạn rời loa. KHÔNG được nghe như sáo trúc, tiếng chim, laser.
SkillCast skillId=H12_SK03 (Kèn Xua sk03 f9; RECT 200 × 96 đẩy 80 px,… SFX_H12_SK03_castcast6503Hero202−16noneoutsourcebriefKèn xua tà: thổi quá hơi, chói và thô để xua cả bầy lùi 80 px và gây sợ. Không theo hợp âm (cố ý lạc để nghe như xua). KHÔNG được nghe như còi xe cứu thương, voi rống.
SkillCast skillId=H12_SK04 (Hợp Âm Thu sk04 f8 hút đạn r80; Trả Hợp Â… SFX_H12_SK04_castcast9002Hero202−18noneoutsourcebriefĐạn bị cuốn vào một hợp âm rồi trả lại đúng hướng: phần hút ngân êm, phần trả gắt. Hợp âm theo ô hiện tại. KHÔNG được nghe như máy hút bụi, đàn organ nhà thờ.
SkillCast skillId=H12_SK05 (Cao Trào sk05: phách dồn f0–8 + phách chố… SFX_H12_SK05_castcast8503Hero202−16noneoutsourcebriefCao trào của bài kèn: dồn dập rồi vỡ ở nốt đỉnh, khớp LINE 72 rồi 96 × 32. Gốc theo hợp âm ô. Nhạc công kèn dăm thuê theo giờ. KHÔNG được nghe như kèn xiếc, còi cảnh sát.
SkillCast skillId=H12_SK06 (Vòng Tang Ca sk06 f9; vòng r72; nền ngân … SFX_H12_SK06_castcast9002Hero202−18noneoutsourcebriefVòng hát tiễn che chở: câu kèn buồn, êm, mở vòng khiên. Câu cố định = đuôi motif LM_H12 (A–C–D). Nhạc công thuê theo giờ. KHÔNG được nghe như nhạc ru, chuông gió.
SkillCast skillId=H12_SK07 (Nhịp Bước Tang sk07 f6) · Bước Dậm Tang (… SFX_H12_SK07_castcast4203Hero202−18nonefreesoundbriefBước đưa tang đúng nhịp: dậm chân + trống đáp, mở cửa sổ phách rộng. Không tiếng kèn. KHÔNG được nghe như bước lính, nhảy múa.
SkillCast skillId=H12_SK08 (Gọi Phường sk08 f12; 4 nhạc công mọc, ban… SFX_H12_SK08_castcast12002Hero201−17noneoutsourcebriefGọi phường ma về: một hồi kèn gọi rồi từng bóng đáp lời theo thứ tự xuất hiện. Không làm Kèn Phụ ngân (không +Dư Âm) nên không chứa hợp âm tutti. KHÔNG được nghe như tù và săn, còi tập hợp.
UltActivate ultId=H12_UL1 (ul1 2.0 s; 4 phách f8/f23/f38/f53 trùng 4 … SFX_H12_UL1_grand_dirgecast32001Hero51−13noneoutsourcebriefĐại nhạc tống táng: đúng 4 phách 120 BPM (0.5 s/phách) — phát ngay khi bấm (không chờ vạch phách, AP4), 4 nhát trống cách đúng 0.5 s khớp 4 hit frame của clip. Bản D và bản A theo hợp âm ô. Phường ×2 tới hết phòng. Nhạc công thuê theo giờ, hợp đồng chuyển quyền toàn cầu. KHÔNG được nghe như dàn nhạc giao hưởng, nhạc đám cưới.
UltActivate ultId=H12_UL2 (ul2 1.8 s; 8 phách nhanh dần f5…f50, phách… SFX_H12_UL2_lone_farewellcast26001Hero51−13noneoutsourcebriefKèn tiễn riêng một người: 8 nốt nhanh dần khớp 8 hit frame, nốt cuối kéo dài như tiễn đưa. Trường hợp kết liễu: biến thể __exe nối 1 nhát trống cái −6 dB. Nhạc công thuê theo giờ. KHÔNG được nghe như tiếng còi đếm ngược, kèn xung phong.
UltActivate ultId=H12_UL3 (ul3 f14 khai tấu; mỗi phách 4 trong 10 s p… SFX_H12_UL3_endless_bandcast18002Hero51−13noneoutsourcebriefBan nhạc bất tận: mở 10 s phường bất tử; khai tấu 1.8 s + bộ __chord (2 biến thể D/A) phát mỗi phách 4 theo DSP. Không đổi tempo (máy nhịp cố định 120). Nhạc công thuê theo giờ. KHÔNG được nghe như nhạc diễu hành lễ hội, kèn đồng jazz.
AnimEvent clip=attack4|attack5|attack6|as2_fin|as3_fin|counter|sk01–s… SFX_H12_vo_effortvocal2405VO452−20noneoutsourcebriefGắng sức của người thổi kèn: hít lấy hơi trước nốt nặng, không la hét. Giọng không lời (doc 32 §9): diễn viên giọng nam trẻ (khoảng 20 tuổi, sáng, hơi khàn hơi thổi kèn) thuê theo giờ, hợp đồng chuyển quyền toàn cầu mọi nền tảng; không giọng AI; không âm tiết ngôn ngữ thật. KHÔNG được nghe như võ sĩ hét, tiếng nấc.
HeroDamaged heroId=H12 (sau SFX_SHARED_hero_hurt_impact) SFX_H12_vo_hurtvocal2805VO452−20noneoutsourcebriefĐau nhưng lo mất hơi hơn: cuối mỗi tiếng luôn có hít lại (người sợ im lặng). Giọng không lời (doc 32 §9): diễn viên giọng nam trẻ (khoảng 20 tuổi, sáng, hơi khàn hơi thổi kèn) thuê theo giờ, hợp đồng chuyển quyền toàn cầu mọi nền tảng; không giọng AI; không âm tiết ngôn ngữ thật. KHÔNG được nghe như la thất thanh, chửi.
HeroDeath heroId=H12 (sau SFX_SHARED_hero_death; SN_DEATH) SFX_H12_vo_deathvocal14002VO452−18noneoutsourcebriefNgã xuống ôm kèn: hơi cuối đi qua kèn thành một nốt khàn rồi tắt — sự im lặng anh sợ nhất. Giọng không lời (doc 32 §9): diễn viên giọng nam trẻ (khoảng 20 tuổi, sáng, hơi khàn hơi thổi kèn) thuê theo giờ, hợp đồng chuyển quyền toàn cầu mọi nền tảng; không giọng AI; không âm tiết ngôn ngữ thật. Lớp dăm kèn ghi cùng buổi với nhạc công kèn. KHÔNG được nghe như tiếng hét, rên kéo dài.

14Câu thoại (bark)

40 dòng
BarkKích hoạtCâu thoạiƯu tiênHồi s1 lần
run_start_1RunStart heroId=H12 (rời Bến Đò, sau thẻ Hồi I; lần chạy đầu)Người chết không đi một mình. Có phường tôi.hero—có
run_start_2RunStart heroId=H12 (lần chạy thứ 2 trở đi, ngẫu nhiên 1/2)Phường đâu, lên kèn! Đám này dài đấy.hero——
run_start_3RunStart heroId=H12 mode có Khăn Tang ≥ 1 (MRN01–MRN15)Khăn tang buộc chặt rồi. Thổi thôi.hero——
act_changeActChanged heroId=H12 act=II..VI (rời DOCK)Sang hồi mới. Đổi giọng, giữ nhịp.hero——
level_up_1LevelUp heroId=H12 (ngẫu nhiên 1/3, ≤ 1 lần/90 s)Hơi dài thêm một đoạn rồi.hero90—
level_up_2LevelUp heroId=H12 (ngẫu nhiên 1/3, ≤ 1 lần/90 s)Phường ơi, lên thêm một cung!hero90—
level_up_3LevelUp heroId=H12 khi cấp ≥ 10Tiễn trăm đám, giờ mới thấy đủ hơi.hero90—
perfect_answer_1HeroAnswerSuccess heroId=H12 perfect=true (Thổi Dội đúng phách)Đúng phách! Trả lại nguyên tiếng.hero20—
perfect_answer_2HeroAnswerSuccess heroId=H12 perfect=true targetTier=M|L|XLDội về đi. Có nhịp hẳn hoi.hero20—
perfect_answer_projHeroAnswerSuccess heroId=H12 perfect=true kind=proj (đạn dội ngược)Đạn cũng phải theo nhịp tôi.hero20—
perfect_dodgeHeroPerfectDodge heroId=H12Né theo trống, chân không lạc.hero20—
res_fullHeroResource heroId=H12 kind=full value=16 (Kèn Phụ ngân, ≤ 1 lần/60 s)Đủ phường rồi! Kèn Phụ, ngân!hero60—
low_hp_1HeroLowHp heroId=H12 hpPct ≤ 25 (≤ 1 lần/60 s)Chưa được im... chưa được.hero60—
low_hp_2HeroLowHp heroId=H12 hpPct ≤ 25 lần thứ 2 trong runLạc một phách thì đứng dậy, thổi lại.hero60—
low_hp_3HeroLowHp heroId=H12 hpPct ≤ 15Hơi ngắn rồi. Phường, đừng bỏ tôi.hero60—
elite_1EliteSpawn (EL_*) lần đầu trong phòng, hero H12Đứa này có ấn. Lên giọng cao hơn.hero30—
elite_2EliteSpawn có Ấn EM (affix) ≥ 2, hero H12Tinh Anh à? Để tôi thổi riêng một hồi.hero30—
elite_ashAshVariantOn ownerId=EL_* (Tinh Anh đổi thế Tro Nhớ), hero H12Nó thuộc nhịp tôi rồi. Đổi khúc!hero30—
boss_b1BossIntro bossId=BS_B1 heroId=H12 (sau bark boss ≥ 4 s)Đồi Mộ Tro mà chẳng ai thổi tiễn? Có tôi.hero——
boss_b2BossIntro bossId=BS_B2 heroId=H12Đầm Vải Liệm nuốt tiếng. Thổi to hơn nó.hero——
boss_b3BossIntro bossId=BS_B3 heroId=H12Lò Đúc Câm à? Thứ tôi ghét nhất là câm.hero——
boss_b4BossIntro bossId=BS_B4 heroId=H12Thành Chuông Treo à? Chuông im, kèn thổi.hero——
boss_finalBossIntro bossId=BS_FINAL heroId=H12Đêm Câm nuốt cả phường tôi. Trả đây.hero——
boss_miniBossIntro bossId=MB_* heroId=H12 (mọi mini-boss, ngẫu nhiên)Đám nhỏ cũng phải tiễn cho tử tế.hero——
victory_1BossDefeated heroId=H12 (clip victory, sau 2 hồi kèn)Xong một đám. Ai về nhà nấy.hero——
victory_2BossDefeated heroId=H12 (ngẫu nhiên 1/2)Nghe chưa? Phách cuối tròn trịa.hero——
victory_finalBossDefeated bossId=BS_FINAL heroId=H12Phường ơi, lần này tiễn cả Đêm Câm.hero——
room_clearedRoomCleared heroId=H12 objective bất kỳ (ngẫu nhiên 1/6)Hết tiếng rồi. Tôi ghét lúc này nhất.hero45—
ult_1UltActivate ultId=H12_UL1Cả phường, tấu!hero——
ult_2UltActivate ultId=H12_UL2Hồi kèn này của riêng mày.hero——
ult_3UltActivate ultId=H12_UL3Không ai nghỉ! Thổi tới sáng!hero——
death_1HeroDeath heroId=H12 (cùng SFX_H12_vo_death, trước SN_DEATH)Đừng... để nó im...hero——
death_2HeroDeath heroId=H12 lần chết thứ 2 trở điPhách một... thổi lại từ phách một.hero——
reviveHeroRevive heroId=H12Còn hơi. Phường, vào lại!hero——
wakeWake tại Lửa Canh (clip wake, hero H12)Lại thức. Kèn đâu? À, đây rồi.hero——
hub_ullaHubStationInteract stationId=ST_HEARTH hero H12 (NPC_ULLA, ngẫu nhiên)Bà Ulla ngân giùm tôi một câu đi.hero——
hub_gremHubStationInteract stationId=ST_FORGE hero H12 (NPC_GREM)Lão Grem, rèn cho tôi cái loa to hơn.hero——
hub_holHubStationInteract stationId=ST_LEDGER hero H12 (NPC_HOL)Thầy Hol không nghe mà vẫn gõ đúng nhịp.hero——
hub_callaHubStationInteract stationId=ST_DOCK hero H12 (NPC_CALLA)Calla ơi, thổi một bài cho đò nổi nhé?hero——
hub_idleHub đứng yên ≥ 20 s, hero H12 (clip hub_idle f42)Im quá. Ai nói gì đi chứ.hero120—