Steh-Pose auf Slot 17 (frontal, wie DOSBox-Referenz) korrigiert; Slot 8 nur noch als 0.17s-Uebergangspose, Idle-Warteanimation nach 4s

This commit is contained in:
2026-07-26 10:59:34 +02:00
parent b9532758cb
commit bcd29cbc61
2 changed files with 24 additions and 3 deletions
+12
View File
@@ -1974,3 +1974,15 @@ Sterbeanimation (wie Herzen leer), danach Leben -1, Respawn mit vollen
Herzen und FRISCHER Levelzeit (start-Reset auch beim Respawn nach
normalem Tod). E2E: Levelzeit auf 2s gestutzt -> 3 Versuche + Rueckkehr
zur Karte nach 13.4s. --once exit 0.
## 26.07.2026 (26) -- Steh-Pose korrigiert: Slot 17 (frontal), nicht Slot 8
Stefans Feedback: "Stand-Animation passt bei keinem Charakter". DOSBox-
Abgleich (stand_timeline.png, Tony steht nach Levelstart): das Original
steht FRONTAL (Bauch zur Kamera) = Slot 17 (Tony BOB 34); Slot 8 (BOB 16,
Seiten-/Rueckenpose) ist nur die kurze Uebergangspose beim Anhalten/
Landen (Original-Tabelle [4][8,8,8] = ~0.17s). Umgesetzt: SLOT_IDLE=17,
Slot 8 laeuft 0.17s beim Anhalten, Idle-Warteanimation (Schachtel) jetzt
nach 4s (Timeline: ~4s). Slot 18 = zweite Frontal-Pose (Variante), noch
ungenutzt. Damit ist auch klar: Slot-17-Frames sind KEINE Schadensposen.
Alle 4 Charaktere haben Slot 17 (Coco sogar als Richtungs-Paar).
+12 -3
View File
@@ -50,7 +50,8 @@ SWIM_GRAVITY = 240.0 # Smacks im Wasser: traege sinken
SWIM_KICK = -140.0 # Schwimmstoss mit Space
WALK_ANIM_FPS = 17.5 # Original: delay 4 Ticks @70Hz (Binary-Tabelle)
RUN_ANIM_FPS = 17.5 # Rad hat dasselbe delay 4
IDLE_ANIM_AFTER = 5.0 # Sekunden Stillstand bis zur Idle-Animation
IDLE_ANIM_AFTER = 4.0 # Sekunden Stillstand bis zur Idle-Animation
# (DOSBox-Timeline: Schachtel nach ~4s)
IDLE_ANIM_FPS = 2.8 # Original: delay 25 Ticks @70Hz
WATER_DAMAGE_EVERY = 1.5 # im Wasser: alle 1.5s ein Herz (Stefan: 5s war arg lang)
SPAWN_ANIM_SECONDS = 1.1 # Start-Sprite beim Levelstart/Charakterwechsel
@@ -85,12 +86,17 @@ SLOPE_CT = 16
# Charakter hat, ergibt sich daraus, WELCHE Slots sein BOB enthaelt
# (nur Tony hat 13-16 = rennen, nur Smacks/Toucan 25-28 = schwimmen,
# nur Toucan 29-31 als Richtungs-Paare = fliegen, nur Coco 35-44 = hangeln).
SLOT_IDLE = 8
# Slot 17 = FRONTALE Steh-Pose (DOSBox-Abgleich stand_timeline.png: das
# Original steht mit Bauch zur Kamera -- BOB 34 bei Tony). Slot 8 (BOB 16)
# ist nur eine Seiten-/Uebergangspose und sah beim Stehen falsch aus
# (Stefans Feedback "Stand-Animation passt nicht").
SLOT_IDLE = 17
SLOT_IDLE_LANDING = 8 # kurze Pose direkt nach der Landung (Tabelle [4][8,8,8])
SLOT_JUMP = 9 # Springen/Fallen
SLOT_SQUAT = 10 # Absprung-Hocke
SLOT_ARMUP = 11 # Arm hoch / Daumen hoch (Spawn-Pose, Tabelle [70][10,11,10])
SLOT_DUCK = 12
SLOT_HURT = 17 # Schadens-/Schreck-Frames 17,18
SLOT_STAND_ALT = 18 # zweite Frontal-Pose (Blinzeln/Variante)
SLOT_DEATH = 19 # Tod (19, Sturz 20)
SLOT_SWIM_IDLE = 25 # Treiben im Wasser (erster Schwimm-Frame; 22-24 sind
# die "Schachtel essen"-Posen der Idle-Warteanimation)
@@ -575,6 +581,9 @@ class Player:
if self.idle_t >= IDLE_ANIM_AFTER:
i = int((self.idle_t - IDLE_ANIM_AFTER) * IDLE_WAIT_FPS) % len(ANIM_IDLE_WAIT)
return ANIM_IDLE_WAIT[i]
if self.idle_t < 0.17:
# kurze Uebergangspose beim Anhalten/Landen (Original [4][8,8,8])
return SLOT_IDLE_LANDING
return SLOT_IDLE
def draw(self, screen, cam_x, cam_y):