Wasserschaden-Fix: can_swim statt swimming pruefen -- Smacks verlor beim Oberflaechensprung Herzen (swimming ist dort kurz False, obwohl noch im Wasser)

This commit is contained in:
2026-07-25 18:39:16 +02:00
parent 09264109ca
commit eb798a825e
+4 -1
View File
@@ -763,7 +763,10 @@ def run_level(clock, assets, audio_paths, map_name='W1L1'):
# Wasser-Schaden fuer Nicht-Schwimmer. Stefans Erinnerung ans
# Original: schon der ERSTE Wasserkontakt kostet ein Herz (+Blinken),
# danach alle WATER_DAMAGE_EVERY Sekunden ein weiteres.
if dying is None and level.in_water(player.y) and not player.swimming:
# WICHTIG: can_swim pruefen, nicht player.swimming -- beim
# Oberflaechensprung ist swimming kurz False, obwohl die Figur noch
# im Wasser steckt (Stefans Bug: "Smacks verliert Leben im Wasser").
if dying is None and level.in_water(player.y) and not player.can_swim:
take_heart = water_t is None or water_t >= WATER_DAMAGE_EVERY
water_t = 0.0 if take_heart else water_t + dt
if take_heart: