feat(mummy): naix en SPAWN, llig spawn.duration_s del YAML

La mòmia ara entra a l'estat SPAWN al construir-se: visible al
pixel_rect_ inicial, sense moviment ni dany, esperant que algú extern
(GameScene) li armi el comptador via `triggerSpawnExit()`.

La durada (`spawn.duration_s` al YAML, default 0) controla quan passa
a ROAMING una vegada armat el comptador. Posat a 0.6s a mummy.yaml.

Aquest commit encara no enganxa el trigger: la mòmia es queda quieta
tota la partida — comportament visual intermedi, esperat. El commit
següent posarà el trigger a GameScene al final del text-exit de
ROOM_INTRO.

Tests de smoke i whip ajustats: les mòmies construïdes en stand-alone
necessiten `triggerSpawnExit()` + un update gran abans d'interactuar
amb `enterHurt`/contacto. Helper `exitMummySpawn` afegit a cada fitxer.

Guards defensius a `enterHurt` i `onPlayerContact`: encara que el filtre
central a EntityManager salta DynamicHazards en SPAWN, blindem la
crida directa per a futurs camins (whip propers, scripts...).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
JailDesignerandClaude Opus 4.7 committed 2026-05-11 08:49:23 +02:00
1 parent a6b2b02930
commit 041447eaa4
4 files changed
+49

No files matched your search

+8
View File
@@ -40,6 +40,14 @@ ai:
type: corridor_wanderer
direction_choice: random
initial_direction: east
# Estat SPAWN: la mòmia naix visible i quieta al pixel_rect_ inicial,
# sense col·lisió. El GameScene li arma el comptador al final del
# text-exit de ROOM_INTRO; passats `duration_s` segons des d'aleshores,
# transita a ROAMING i empieza a deambular. Sense aquest bloc, default
# 0 ⇒ al primer update post-trigger passa directament a ACTIVE.
spawn:
duration_s: 0.6
stats:
speed: 30
damage: 1