fix: made air accel, velocity dependence tunable

This commit is contained in:
Jakob Feldmann 2023-04-25 22:04:19 +02:00
parent 0d052e8f5c
commit 307399349c
2 changed files with 7 additions and 2 deletions

View File

@ -14,6 +14,7 @@ var stomp_time := 0.108
var inair_velocity := 21
var wallslide_threshold := 1000
var base_floor_friction := 0.5
var initial_velocity_dependence := 0.7
var floor_friction := base_floor_friction
var max_velocity := {
"walk": 120, "run": 160, "jump": Vector2(120, 420), "fall": Vector2(120, 420), "walljump": 200, "idle": 12000, "duck": 160

View File

@ -289,7 +289,9 @@ func calculate_jump_velocity(
# TODO This is poop too
if -max_velocity["jump"].x < velocity.x and direction.x < 0 || \
max_velocity["jump"].x > velocity.x and direction.x > 0:
var movementFactor = (0.3 + abs(velocity.x)/(max_velocity["fall"].x * 1.43 ))
var absolut = 1 - initial_velocity_dependence
var divisor = 1/max(0.1, initial_velocity_dependence)
var movementFactor = (absolut + abs(velocity.x)/(max_velocity["fall"].x * divisor))
linear_velocity.x = PhysicsFunc.two_step_euler(
linear_velocity.x, acceleration_force[state].x * movementFactor * direction.x,
mass,
@ -316,7 +318,9 @@ func calculate_fall_velocity(
if -max_velocity["fall"].x < velocity.x and direction.x < 0 || \
max_velocity["fall"].x > velocity.x and direction.x > 0:
# TODO This is poop
var movementFactor = (0.3 + abs(velocity.x)/(max_velocity["fall"].x * 1.43))
var absolut = 1 - initial_velocity_dependence
var divisor = 1/max(0.1, initial_velocity_dependence)
var movementFactor = (absolut + abs(velocity.x)/(max_velocity["fall"].x * divisor))
linear_velocity.x = PhysicsFunc.two_step_euler(
linear_velocity.x, acceleration_force[state].x * movementFactor * direction.x,
mass,