refactor(anim): direccions cardinals (north/south/east) en YAML i codi

This commit is contained in:
JailDesigner committed 2026-04-29 08:59:01 +02:00
1 parent 1d43a77800
commit 9dc7ff0da3
9 files changed
+189 -240

No files matched your search

+7 -7
View File
@@ -23,18 +23,18 @@ flags:
collides: true
interactable: false
# Strip de 12 frames en graella 4×3 (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)
# 0..3 → walk_south (cara avall)
# 4..7 → walk_north (cara amunt)
# 8..11 → walk_east (lateral; flip horitzontal segons el sentit)
# La momia no té variants `stand_*` perquè mai no para.
animations:
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 }
walk_south: { frames: [0, 1, 2, 3], fps: 8, loop: true }
walk_north: { frames: [4, 5, 6, 7], fps: 8, loop: true }
walk_east: { frames: [8, 9, 10, 11], fps: 8, loop: true }
ai:
type: corridor_wanderer
direction_choice: random
initial_direction: right
initial_direction: east
stats:
speed: 30
damage: 1
+23 -50
View File
@@ -12,60 +12,33 @@ collision:
height: 12
animations:
stand_down: { frames: [0] }
stand_up: { frames: [4] }
stand: { frames: [8] }
jump_down: { frames: [12] }
jump_up: { frames: [13] }
jump: { frames: [14] }
stun_down: { frames: [16] }
stun_up: { frames: [17] }
stun: { frames: [18] }
stand_south: { frames: [0] }
stand_north: { frames: [4] }
stand_east: { frames: [8] }
walk_down:
frames: [0, 1, 2, 3]
frame_ms: 100
jump_south: { frames: [12] }
jump_north: { frames: [13] }
jump_east: { frames: [14] }
walk_up:
frames: [4, 5, 6, 7]
frame_ms: 100
stun_south: { frames: [16] }
stun_north: { frames: [17] }
stun_east: { frames: [18] }
walk:
frames: [8, 9, 10, 11]
frame_ms: 100
walk_south: { frames: [0, 1, 2, 3], frame_ms: 100 }
walk_north: { frames: [4, 5, 6, 7], frame_ms: 100 }
walk_east: { frames: [8, 9, 10, 11], frame_ms: 100 }
hurt_down:
frames: [0, 1, 2, 3]
frame_ms: 100
hurt_south: { frames: [0, 1, 2, 3], frame_ms: 100 }
hurt_north: { frames: [4, 5, 6, 7], frame_ms: 100 }
hurt_east: { frames: [8, 9, 10, 11], frame_ms: 100 }
hurt_up:
frames: [4, 5, 6, 7]
frame_ms: 100
attack_south: { frames: [20, 21, 22, 23], frame_ms: 50 }
attack_north: { frames: [24, 25, 26, 27], frame_ms: 50 }
attack_east: { frames: [28, 29, 30, 31], frame_ms: 50 }
hurt:
frames: [8, 9, 10, 11]
frame_ms: 100
attack_down:
frames: [20, 21, 22, 23]
frame_ms: 50
attack_up:
frames: [24, 25, 26, 27]
frame_ms: 50
attack:
frames: [28, 29, 30, 31]
frame_ms: 50
recover_down:
frames: [23]
recover_up:
frames: [27]
recover:
frames: [31]
recover_south: { frames: [23] }
recover_north: { frames: [27] }
recover_east: { frames: [31] }
# Inèrcia de frenada en soltar la direcció. `threshold_ms` filtra
# tocs curts (passets d'un tile sense rellisquera).
@@ -78,8 +51,8 @@ inertia:
turn:
duration_ms: 80
transitions:
west_to_east: down
east_to_west: up
west_to_east: south
east_to_west: north
north_to_south: east
south_to_north: west
+23 -50
View File
@@ -12,60 +12,33 @@ collision:
height: 12
animations:
stand_down: { frames: [0] }
stand_up: { frames: [4] }
stand: { frames: [8] }
jump_down: { frames: [12] }
jump_up: { frames: [13] }
jump: { frames: [14] }
stun_down: { frames: [16] }
stun_up: { frames: [17] }
stun: { frames: [18] }
stand_south: { frames: [0] }
stand_north: { frames: [4] }
stand_east: { frames: [8] }
walk_down:
frames: [0, 1, 2, 3]
frame_ms: 100
jump_south: { frames: [12] }
jump_north: { frames: [13] }
jump_east: { frames: [14] }
walk_up:
frames: [4, 5, 6, 7]
frame_ms: 100
stun_south: { frames: [16] }
stun_north: { frames: [17] }
stun_east: { frames: [18] }
walk:
frames: [8, 9, 10, 11]
frame_ms: 100
walk_south: { frames: [0, 1, 2, 3], frame_ms: 100 }
walk_north: { frames: [4, 5, 6, 7], frame_ms: 100 }
walk_east: { frames: [8, 9, 10, 11], frame_ms: 100 }
hurt_down:
frames: [0, 1, 2, 3]
frame_ms: 100
hurt_south: { frames: [0, 1, 2, 3], frame_ms: 100 }
hurt_north: { frames: [4, 5, 6, 7], frame_ms: 100 }
hurt_east: { frames: [8, 9, 10, 11], frame_ms: 100 }
hurt_up:
frames: [4, 5, 6, 7]
frame_ms: 100
attack_south: { frames: [20, 21, 22, 23], frame_ms: 50 }
attack_north: { frames: [24, 25, 26, 27], frame_ms: 50 }
attack_east: { frames: [28, 29, 30, 31], frame_ms: 50 }
hurt:
frames: [8, 9, 10, 11]
frame_ms: 100
attack_down:
frames: [20, 21, 22, 23]
frame_ms: 50
attack_up:
frames: [24, 25, 26, 27]
frame_ms: 50
attack:
frames: [28, 29, 30, 31]
frame_ms: 50
recover_down:
frames: [23]
recover_up:
frames: [27]
recover:
frames: [31]
recover_south: { frames: [23] }
recover_north: { frames: [27] }
recover_east: { frames: [31] }
# Inèrcia de frenada en soltar la direcció. `threshold_ms` filtra
# tocs curts (passets d'un tile sense rellisquera).
@@ -78,8 +51,8 @@ inertia:
turn:
duration_ms: 80
transitions:
west_to_east: down
east_to_west: up
west_to_east: south
east_to_west: north
north_to_south: east
south_to_north: west