feat(entities): caja-peus concèntrica i animacions direccionals a la momia, còpia de data/ sempre sincronitzada; v0.19.0

This commit is contained in:
JailDesigner committed 2026-04-21 23:21:32 +02:00
1 parent a3592d6c73
commit 32dcf264c4
9 files changed
+251 -58

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 1.8 KiB

+17 -8
View File
@@ -4,23 +4,32 @@ sprite:
path: mummy.gif
size: [12, 24]
tile_size: [1, 1]
# La momia usa falsa perspectiva: el sprite fa 24 px d'alt però la caixa
# AABB només ocupa els 12×12 de baix (els "peus"). L'spawn `position` del
# map és el tile dels peus: el sprite es centra horitzontalment i la
# seua vora inferior s'alinea amb la vora inferior del tile.
# La momia usa falsa perspectiva: el sprite fa 12×24 (dos 12×12: cap i
# peus) però la caja de col·lisió amb el mapa és 16×16, concèntrica amb
# el rectangle-base 12×12 dels peus (igual que fa el jugador). Així la
# caixa s'estén 2 px a cada costat i 2 px per sota dels peus visuals,
# i amb `anchor: feet` s'alinea exactament amb el tile 16×16 on naix —
# la momia va pel centre del corredor i la caja ocupa la cel·la completa.
anchor: feet
collision:
size: [12, 12]
size: [16, 16]
base_size: [12, 12]
flags:
collides: true
interactable: false
# Strip de 12 frames en graella 12×1 (mateix esquema que el jugador):
# 0..3 → walk_down (cara avall)
# 4..7 → walk_up (cara amunt)
# 8..11 → walk (lateral; flip horitzontal segons el sentit)
# La momia no té variants `stand_*` perquè mai no para.
animations:
idle: { frames: [0], fps: 1, loop: true }
walk: { frames: [0], fps: 8, loop: true }
walk_down: { frames: [0, 1, 2, 3], fps: 8, loop: true }
walk_up: { frames: [4, 5, 6, 7], fps: 8, loop: true }
walk: { frames: [8, 9, 10, 11], fps: 8, loop: true }
ai:
type: corridor_wanderer
direction_choice: random
initial_direction: right
stats:
speed: 40
speed: 30
damage: 1