feat(player): estat ATTACKING amb edge-detect, animacions i spawn del whip via bus

This commit is contained in:
JailDesigner committed 2026-04-28 16:20:22 +02:00
1 parent 5db3bb0bd0
commit d208ba02df
7 files changed
+288 -1

No files matched your search

+22
View File
@@ -68,6 +68,20 @@ animations:
frames: [8, 9, 10, 11]
frame_ms: 100
# Placeholder: igual que sam.yaml, reaprofitem `walk_*` fins que
# arribe l'art específic del braç llançant el látigo.
attack_down:
frames: [0, 1, 2, 3]
frame_ms: 50
attack_up:
frames: [4, 5, 6, 7]
frame_ms: 50
attack:
frames: [8, 9, 10, 11]
frame_ms: 50
# Inèrcia només de frenada. L'acceleració és sempre instantània (soltar
# el teclat + prémer una direcció = velocitat plena); en canvi, quan es
# solta la direcció el jugador decau linealment a 0 en `brake_time_ms`.
@@ -127,3 +141,11 @@ jump:
hurt:
speed: 120
brake_time_ms: 500
# Configuració del látigo. Mateixos valors que Sam de moment;
# diferenciar quan equilibrem cada personatge.
whip:
range_tiles: 3
swing_ms: 200
cooldown_ms: 200
damage: 1
+29
View File
@@ -68,6 +68,22 @@ animations:
frames: [8, 9, 10, 11]
frame_ms: 100
# Animacions del braç llançant el látigo. Placeholder: reaprofiten els
# frames de `walk_*` perquè els sprites reals encara no existeixen
# (TODO: dibuixar-ne d'específics quan arribe l'art). El sprite del
# látigo viu al `WhipAttack` i es renderitza superposat per z-order.
attack_down:
frames: [0, 1, 2, 3]
frame_ms: 50
attack_up:
frames: [4, 5, 6, 7]
frame_ms: 50
attack:
frames: [8, 9, 10, 11]
frame_ms: 50
# Inèrcia només de frenada. L'acceleració és sempre instantània (soltar
# el teclat + prémer una direcció = velocitat plena); en canvi, quan es
# solta la direcció el jugador decau linealment a 0 en `brake_time_ms`.
@@ -127,3 +143,16 @@ jump:
hurt:
speed: 120
brake_time_ms: 500
# Configuració del látigo. `range_tiles` és la longitud de la hitbox
# abans de retallar contra murs/sarcs (3 tiles ≈ 48 px). `swing_ms` és
# la durada de l'animació de l'atac, durant la qual la hitbox del whip
# està viva. `cooldown_ms` allarga ATTACKING amb una recuperació en què
# el jugador segueix bloquejat però la hitbox ja ha desaparegut: castiga
# l'ús abusiu del látigo. `damage` queda llegit per a futur (els
# objectius reben `enterHurt` directament; cap entitat té HP encara).
whip:
range_tiles: 3
swing_ms: 200
cooldown_ms: 200
damage: 1