1Tổng quan
Vai trò: đánh xa/ném (lớp mid) — đứng sau bầy bắn cầu phản được; mục tiêu ưu tiên A10; vai khắc MESO cho A05 HIGH (gom cụm AoE) và A10 LOW (bỏ mặc quái xa)
- HP
- 20
- MOVE_SPEED
- 46
- RADIUS
- 6
- MASS
- 1
- ARMOR
- 0
- DOT_RES
- 0
Bảng màu:
#726f89#5a5470#3b384e#242334#f5f1de#c9c2b0#5c554b#9ff3ff- Cao
- 36 px
- Mã hình
- hexcaster
- Accent
- #9ff3ff
- Codex
- Thầy Bùa Tro CDX_en_b1_03
Truyền thuyết: Thầy cúng làng, trong Đêm Câm đang đốt bùa giải hạn thì lửa hoá xanh. Tro giữ cái giơ gậy cuối cùng; bùa giờ bắn ra như cầu lửa ma. Áo choàng trùm đầu xám tím, mặt nạ xương, gậy tre buộc bùa giấy, ngọn lửa ma xanh băng ở đầu gậy.
2Hành vi & AI
- AI
- ranged_kiter
- Vai
- ranged
- Rig
- biped
- Hồi nhà
- 1
- Cờ
- priority_target
behavior_note: Giữ cự ly 150–210 px, đi ngang (strafe ±24 px) sau lớp Thây Tro; chỉ bắn khi có đường bắn (raycast vật cao) + token PROJ + trong vùng an toàn khung nhìn. Mất đường bắn 2.0 s → thu keep 40 px (sàn 150). Hero < 60 px → FLEE chạy ngược 1.2 s rồi REPOSITION. Hai Thầy Bùa cách nhau ≥ 48 px và ≥ 30° nhìn từ hero (không 2 viên cùng một đường). Không leash khi còn trong khung.
death_note: gậy rơi, lửa đầu gậy tắt phụt; tan tro như quái S.
Tham số AI (14)
- keep_min
- 150
- keep_max
- 210
- flee_dist
- 60
- flee_s
- 1.2
- strafe_px
- 24
- same_type_gap_px
- 48
- same_type_gap_deg
- 30
- los_recheck_s
- 0.25
- keep_shrink_px
- 40
- fan_from_act_minute
- 3
- speed_jitter_pct
- 8
- spawn_intro_room
- 1
- spawn_minute_from
- 0
- spawn_pattern
- EDGE đơn lẻ hoặc cặp, cách nhau ≥ 30° góc nhìn
3Đòn đánh (2)
| Đòn | Tell | Loại | Nhịp | Windup s | Active s | Hồi s | ST | Kiểu ST | Tầm px | Hồi chiêu s | Trọng số/pha | Pha | Token | Nguồn |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cầu Bùa EN_B1_03_A01 | Vàng | projectile | 1 | 0.55 | 0.05 | 0.4 | 10 | PROJ | 60–300 | 3 | 65 | 1 | PROJ | BASE |
| Quạt Bùa EN_B1_03_A02 | Vàng | projectile | 1 | 0.65 | 0.05 | 0.55 | 10 | PROJ | 90–300 | 4.5 | 35 | 1 | PROJ | BASE |
Cầu Bùa
Mô tả: Bắn 1 cầu bùa thẳng tới vị trí hero lúc khoá (70% windup), 120 px/s, tầm 300 px. Đạn lõi tối #2e464c, viền #9ff3ff, vành vàng nháy 8 Hz. ĐÁP = phản đạn (×3 sát thương, bẻ về kẻ bắn, Thầy Bùa trúng đạn của mình chết).
Dáng tell: giơ gậy quá đầu, cầu lửa ma xanh băng tụ ở ngọn gậy; giữ ≥ 3 frame rồi đẩy gậy tới
Cách đáp: ĐÁP để phản cầu về chính nó; hoặc Lướt xuyên qua đạn.
- proj
- proj_cat: Y_REFLECT · speed: 120 · radius: 5 · count: 1 · spread_deg: 0 · range: 300 · destructible: không · height_px: 12
- angle_max
- 90
- anim
- attack
- VFX/SFX
- EN_B1_03_A01 Cầu Bùa windup: t = 0 = nhả đạn (windup 0.55 s, khoá đíc… VFX_EN_B1_03_A01_charge · EN_B1_03_A01 (1 viên) và EN_B1_03_A02 (3 viên quạt 18°): t = 0 = rời … VFX_EN_B1_03_A01_orb · windup_start (glint 1) và impact − 0.12 s (glint 2; đạn: ETA ≤ 0.12 s… VFX_SHARED_tell_glint_y · on_hit (đạn/nổ hero) t = 0 tại điểm nổ VFX_SHARED_hit_blast · EnemyWindupStart (enemyId=EN_B1_03, attackId=EN_B1_03_A01|EN_B1_03_A0… SFX_EN_B1_03_A01_charge · EnemyProjectileFire (enemyId=EN_B1_03, attackId=EN_B1_03_A01) — khung… SFX_EN_B1_03_A01_cast · EnemyWindupStart tellClass=Y (frame đầu windup = glint 1); lịch PlayS… SFX_SHARED_tell_y_glint1 · EnemyWindupStart tellClass=Y → lịch PlayScheduled đỉnh transient đúng… SFX_SHARED_tell_y_tinh · EnemyProjectileReflected (đạn bị ĐÁP dội, lõi trắng) SFX_SHARED_proj_reflect
Quạt Bùa
Mô tả: Từ phút 3 của Hồi (demo hexfan): quạt 3 cầu lệch 18°, cùng 1 token PROJ (1 loạt). Mỗi cầu phản riêng khi ĐÁP. Trước phút 3 trọng số = 0.
Dáng tell: xoè gậy ngang ngực, ba đốm lửa ma tụ thành hình quạt; giữ ≥ 3 frame
Cách đáp: Đứng thẳng trục giữa để ĐÁP cầu giữa, hoặc Lướt chéo qua khe 18° giữa hai cầu.
- proj
- proj_cat: Y_REFLECT · speed: 120 · radius: 5 · count: 3 · spread_deg: 18 · range: 300 · destructible: không · height_px: 12
- angle_max
- 90
- anim
- attack2
- VFX/SFX
- EN_B1_03_A02 Quạt Bùa windup 0.65 s (từ phút 3 Hồi): t = 0 = nhả 3 cầ… VFX_EN_B1_03_A02_fan_charge · EN_B1_03_A01 (1 viên) và EN_B1_03_A02 (3 viên quạt 18°): t = 0 = rời … VFX_EN_B1_03_A01_orb · windup_start (glint 1) và impact − 0.12 s (glint 2; đạn: ETA ≤ 0.12 s… VFX_SHARED_tell_glint_y · EnemyProjectileFire (enemyId=EN_B1_03, attackId=EN_B1_03_A02) — khung… SFX_EN_B1_03_A02_fan_cast · EnemyWindupStart tellClass=Y (frame đầu windup = glint 1); lịch PlayS… SFX_SHARED_tell_y_glint1 · EnemyWindupStart tellClass=Y → lịch PlayScheduled đỉnh transient đúng… SFX_SHARED_tell_y_tinh
4Biến thể thích nghi (0 CV)
Nguồn: BASEPhản ứng nền (BASE):
- Hero áp sát < 60 px (thấy trên màn) → bỏ chạy 1.2 s rồi tìm điểm đứng mới có đường bắn.
- Mất đường bắn vì vật cao → đi vòng tới điểm trên vòng giữ cự ly có đường bắn gần nhất (|Δθ| ≤ 90°).
5Sinh ra
| Quái | Trọng số | Nhóm | TP | Nhóm trần | Trần sống | Hồi từ | Nút | Phòng 1 | Kiểu | Mẫu / ghi chú |
|---|---|---|---|---|---|---|---|---|---|---|
| Thầy Bùa Tro | 6 | 1–2 | 1.5 | RANGED | 10 | 1 | CMB, CHL, RSC, ELT, EVT | có | ash_mark | EDGE đơn lẻ hoặc cặp, cách nhau ≥ 30° góc nhìn |
6Rơi đồ
- xp
- 0.6
- soul_ash
- 0.05
- paper_gold
- 0.05
- heal_orb_pct
- 0.02
7VFX & SFX
Trang Art · VFX · SFX của EN_B1 →
VFX: director_spawn t = 0 khi đặt ấn; quái bật tại t = 0.60 VFX_SHARED_spawn_mark · on_hit (dmg_kind lưỡi sắc) t = 0 tại frame chạm hits[0].t; ≤ 16 VFX t… VFX_SHARED_hit_slash · on_death quái S t = 0 tại frame chết; ≤ 12 VFX chết mới/frame (R6), q… VFX_SHARED_death_s · corpse_ready (sau hất/squash 0.30 s) t = 0 VFX_SHARED_dissolve_dither · EN_B1_03 sống: loop gắn đầu gậy (socket tip của gậy tre) từ spawn tới… VFX_EN_B1_03_staff_flame
SFX: EnemyAggro/EnemyIdleVocal (enemyId=EN_B1_03) — ≤ 1/250 ms toàn loài SFX_EN_B1_03_vocal · EnemyKilledBatch (HordeAudio cửa sổ trượt 100 ms, doc 32 §6.2) SFX_SHARED_kill_crunch · EnemyKilled Tinh Anh+/mini (tan dither 0.4 s, sau death riêng) SFX_SHARED_corpse_dissolve