Public repository for MUR pre alpha
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

47 lines
1.5 KiB

extends Spatial
var player:Player
var overspeed_rate:float = 0.8
var underspeed_rate:float = 0.8
func _ready():
randomize()
func _physics_process(delta):
if is_network_master() && player != null:
if player.is_out:
if player.is_resetable:
player.reset()
else:
if player.get_road() != null:
var rate = randf()
var road = player.get_road()
var distance = player.follow.get_offset()
var speed = player.current_speed
var has_constrain = false
for index in range(road.speed_constrains.size()):
var constrain = road.speed_constrains[index]
if constrain.x <= distance && constrain.y >= distance:
has_constrain = true
if constrain.z > 0 && speed < constrain.z && rate > underspeed_rate:
player.current_speed += player.speed_factor
elif player.current_speed > 0 && rate > overspeed_rate:
player.current_speed -= player.speed_factor * player.brake_factor
if not has_constrain:
if player.current_speed <= player.MAX_SPEED && rate > underspeed_rate:
player.current_speed += player.speed_factor
elif player.current_speed > 0 && rate > overspeed_rate:
player.current_speed -= player.speed_factor * player.brake_factor
if player.current_speed < 0:
player.current_speed = 0
func set_player(path:String):
player = get_node(path)
get_node("inventory").set_player(player)
func set_overspeed_rate(new_overspeed_rate:float):
overspeed_rate = new_overspeed_rate
func set_underspeed_rate(new_underspeed_rate:float):
underspeed_rate = new_underspeed_rate