diff --git a/game/level.py b/game/level.py index 8d2b549..4848eb3 100644 --- a/game/level.py +++ b/game/level.py @@ -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: