diff --git a/behaviours/move_physics.gd b/behaviours/move_physics.gd index bb8524a..42fa35f 100644 --- a/behaviours/move_physics.gd +++ b/behaviours/move_physics.gd @@ -9,8 +9,10 @@ signal fallen @export var acceleration = 1250.0 @export var drag_damp = 0.4 -@export var drop_damp = 0.05 -@export var drop_epsilon = 16.0 +@export var fly_damp = 0.045 +@export var drop_damp = 0.2 +@export var fly_cutoff = 400.0 +@export var drop_cutoff = 16.0 var cursor: Cursor = null var falling: bool = false @@ -40,7 +42,12 @@ func _physics_process(delta: float) -> void: velocity += gap * delta * acceleration velocity *= 1.0 - drag_damp else: - velocity *= 1.0 - drop_damp - if falling and velocity.length() < drop_epsilon: + if velocity.length() >= fly_cutoff: + velocity *= (1.0 - fly_damp) + else: + velocity *= (1.0 - drop_damp) + + + if falling and velocity.length() < drop_cutoff: fall() move.emit(velocity * delta) diff --git a/scenes/game/main_game.tscn b/scenes/game/main_game.tscn index 18bbdd9..f30cc0f 100644 --- a/scenes/game/main_game.tscn +++ b/scenes/game/main_game.tscn @@ -884,6 +884,9 @@ position = Vector2(56, -50) [node name="Sheep" parent="." instance=ExtResource("9_qrqqu")] position = Vector2(-310, 166) +[node name="Imp2" parent="." instance=ExtResource("10_yw228")] +position = Vector2(408, 225) + [node name="Imp" parent="." instance=ExtResource("10_yw228")] position = Vector2(393, -137)