Created
March 30, 2023 01:50
-
-
Save kingthrillgore/30eaa9749e16eb6adbca8e19916316a6 to your computer and use it in GitHub Desktop.
Modified vehicle.gd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if Input.is_action_pressed(&"reverse"): | |
print("Reverse pressed (fwd_mps: ", fwd_mps, ")") | |
# Increase engine force at low speeds to make the initial acceleration faster. | |
if fwd_mps >= -1.0: | |
var speed := linear_velocity.length() | |
print("Meters Per Second is gteq -1 (speed: ", speed, ")") | |
if speed < 5.0 and not is_zero_approx(speed): | |
print("Reverse Engine") | |
engine_force = -clampf(engine_force_value * 5.0 / speed, 0.0, 0.0) | |
brake = 0.0 | |
else: | |
print("Shunt Engine force to -40 and reverse") | |
engine_force = -engine_force_value | |
brake = 0.0 | |
# Apply analog brake factor for more subtle braking if not fully holding down the trigger. | |
if brake == 0.5: | |
print("Appling Brake Factor Strength") | |
print("Kickstart engine force at its default of 40") | |
engine_force = -engine_force_value | |
print("brake is locked to 0.5, reset to 0") | |
brake = 0.0 | |
engine_force *= Input.get_action_strength(&"reverse") | |
else: | |
print("Meters per second is lteq -1") | |
print("Zero out brake") | |
brake = 0.0 | |
else: | |
#print("Reverse is not being pressed") | |
brake = 0.0 | |
if Input.is_action_pressed(&"handbrake"): | |
# Immediately halt engine force | |
if fwd_mps >= -1.0: | |
var speed := linear_velocity.length() | |
if speed < 5.0 and not is_zero_approx(speed): | |
# print("Clampf engine force to a value near to and eventually 0") | |
engine_force = -clampf(engine_force_value * 5.0 / speed, 0.0, 100.0) | |
brake = handbrake_force_value | |
else: | |
# print("Engine force must be zeroed out") | |
engine_force = 0 | |
brake = handbrake_force_value | |
engine_force *= 0 | |
brake = handbrake_force_value | |
# print("Handbrake Engine force ", engine_force) | |
else: | |
brake = 0 | |
else: | |
brake = 0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment