diff --git a/princesse.gd b/princesse.gd index c19ddd5..59afeab 100644 --- a/princesse.gd +++ b/princesse.gd @@ -105,9 +105,22 @@ func walk(direction:int) -> int: func fall() -> int: - if jumping or is_on_floor(): + if jumping: falling_step = -1 return velocity.y + if is_on_floor(): + if get_floor_normal()[0] < 0: # pente à gauche + if direction >= 0:# on va à droite, désactive la gravité + falling_step = -1 + return velocity.y + else: # on va à gauche, gravité à fond + falling_step = FALL_SPEED_TABLE.size()-1 + else: # pente à droite + if direction > 0:# on va à droite, active la gravité à fond + falling_step = FALL_SPEED_TABLE.size()-1 + else: # on va à gauche, désactive la gravité + falling_step = -1 + return velocity.y else: if grab_wall: falling_step = max(falling_step-1, 1)