feat(whip): aplicació de dany amb retall de hitbox, alreadyHit i friendly fire

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

No files matched your search

+8
View File
@@ -441,12 +441,16 @@ class Player : public AnimatedSprite {
// Cardinal complet (N/S/E/W) usat per a la detecció de girs de 180°.
// El parell (Facing, flip) només té 3+1 estats; aquesta enum n'afegeix
// la 4a sense reorganitzar el sistema d'animacions.
// Pública perquè el `WhipAttack` la passa a `enterHurt` quan colpeja
// un altre jugador (friendly fire).
public:
enum class Cardinal : std::uint8_t { NONE,
NORTH,
SOUTH,
EAST,
WEST };
private:
// Configuració d'inèrcia llegida del bloc `inertia:` del YAML. Amb
// `brake_time_ms == 0` (o bloc absent) la inèrcia està desactivada i
// el comportament és instantani: soltar input para el jugador en sec.
@@ -554,8 +558,12 @@ class Player : public AnimatedSprite {
// i tria el que dóna més recorregut lliure.
// Decelera linealment fins a parar i, en eixe instant, torna a
// GROUNDED. Sense col·lisió amb altres jugadors mentre dura.
// Pública: la dispara tant la cinemàtica de "caure damunt" com el
// `WhipAttack` quan colpeja un altre jugador (friendly fire).
public:
void enterHurt(Cardinal preferred = Cardinal::NONE);
private:
// Tria la direcció definitiva del HURT. Si `preferred` cabe el
// recorregut natural complet, la retorna; d'altra manera tria la
// direcció amb més recorregut lliure entre els 4 cardinals.