aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/player/controllable_player.gd20
1 files changed, 10 insertions, 10 deletions
diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd
index 5e3dba97..29110eb7 100644
--- a/client/player/controllable_player.gd
+++ b/client/player/controllable_player.gd
@@ -18,8 +18,8 @@
class_name ControllablePlayer
extends Player
-const PLAYER_FRICTION = 10
const PLAYER_SPEED = 55
+const PLAYER_FRICTION = 10
const BOOST_FACTOR = 2.5
const BOOST_DURATION = 0.3
const BOOST_RESTORE = 0.5
@@ -80,28 +80,28 @@ func _process_movement(delta):
)
interact()
var was_boosting = boosting
- update(delta, input, boost)
+ direction = input
+ update(delta, boost)
if boosting and not was_boosting:
Input.start_joy_vibration(0, 0, 1, 0.15)
walking = input.length_squared() > 0.1
position_anim = position_
rotation_anim = rotation_
-func update(dt: float, input: Vector2, boost: bool):
- input = input.limit_length(1.);
- direction = input
- if input.length() > 0.1:
- self.facing = input + (self.facing - input) * exp( - dt * 10.)
+func update(dt: float,boost: bool):
+ direction = direction.limit_length(1.);
+ if direction.length() > 0.1:
+ self.facing = direction + (self.facing - direction) * exp( - dt * 10.)
rotation_ = atan2(self.facing.x, self.facing.y);
- boost = boost and input.length() > 0.1
+ boost = boost and direction.length() > 0.1
boosting = boost and (boosting or stamina >= 1.0) and stamina > 0
if boosting: stamina -= dt / BOOST_DURATION
else: stamina += dt / BOOST_RESTORE
stamina = max(min(stamina, 1.0), 0.0)
var speed = PLAYER_SPEED * (BOOST_FACTOR if boosting else 1.)
- self.velocity_ += input * dt * speed
+ self.velocity_ += direction * dt * speed
self.position_ += self.velocity_ * dt
- self.velocity_ = self.velocity_ * exp( - dt * 15.)
+ self.velocity_ = self.velocity_ * exp( - dt * PLAYER_FRICTION)
collide(dt)
func collide(dt: float):