39 lines
1.8 KiB
YAML
39 lines
1.8 KiB
YAML
name: whip_attack
|
||
|
||
# Quatre sprites distints, un per cardinal. El sistema d'animació actual
|
||
# només permet UNA mida de frame per surface, i els sprites del látigo
|
||
# tenen aspect ratios distints segons direcció. Per això són 4 fitxers
|
||
# en lloc d'una sola sheet compartida amb flips.
|
||
#
|
||
# Mides (= `draw_rect` del WhipAttack, que NO es retalla per
|
||
# bloquejadors):
|
||
# E/W → 80×32 px per frame: 16 px de wind-up darrere del jugador
|
||
# + 16 px de solapament + 48 px d'atac
|
||
# frontal. Cobreix tota l'altura del jugador.
|
||
# N/S → 16×96 px per frame: 48 px d'atac + 32 px solapant amb el jugador
|
||
# + 16 px de wind-up "darrere".
|
||
#
|
||
# La caja de DANY és independent i més petita (48×16 / 16×48), pegada
|
||
# al borde del jugador i retallada per murs/sarcs. La calcula
|
||
# `WhipAttack::configure` a partir del `owner_box` del payload.
|
||
sprites:
|
||
east: { path: whip_east.gif, size: [80, 32] }
|
||
west: { path: whip_west.gif, size: [80, 32] }
|
||
north: { path: whip_north.gif, size: [16, 96] }
|
||
south: { path: whip_south.gif, size: [16, 96] }
|
||
|
||
# Animació compartida entre les 4 direccions: la seqüència de frames i les
|
||
# durades són idèntiques; només canvia quina surface/mida es clipa.
|
||
# - `frames` : índex de tile dins l'spritesheet (graella deduïda).
|
||
# - `frame_ms` : durada uniforme per frame; 50 ms × 4 ≈ 200 ms swing.
|
||
# - `loop: false` : el látigo viu una animació i mor (`markDead`).
|
||
# - `active_frames` : valors dins de `frames` durant els quals la
|
||
# hitbox aplica dany. Wind-up (0) i recovery (3) no
|
||
# danyen — només els frames "actius" 1 i 2.
|
||
animations:
|
||
swing:
|
||
frames: [0, 1, 2, 3]
|
||
frame_ms: 50
|
||
loop: false
|
||
active_frames: [1, 2]
|