summaryrefslogtreecommitdiff
path: root/godot/scripts/vehicles/Airplane.gd
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-10-07 15:49:57 -0400
committerAnson Bridges <bridges.anson@gmail.com>2022-10-07 15:49:57 -0400
commit7dbec964a375598d454e04719576eb6c469a5d7b (patch)
treefa819e5e843ecdd88375ad1806ab43358b1ea670 /godot/scripts/vehicles/Airplane.gd
parent62c33688cf2f48d7669790a89e3d1cdec16798be (diff)
ai work
Diffstat (limited to 'godot/scripts/vehicles/Airplane.gd')
-rw-r--r--godot/scripts/vehicles/Airplane.gd31
1 files changed, 18 insertions, 13 deletions
diff --git a/godot/scripts/vehicles/Airplane.gd b/godot/scripts/vehicles/Airplane.gd
index 9762457..8ac755b 100644
--- a/godot/scripts/vehicles/Airplane.gd
+++ b/godot/scripts/vehicles/Airplane.gd
@@ -23,9 +23,10 @@ var parentvel = [Vector3.ZERO, Vector3.ZERO]
export var roll_curve : CurveTexture
#net machine variables
-var in_use : bool = false
-var user = null
-var world = null
+var in_use: bool = false
+var user: RigidBody = null
+var world: Spatial = null
+var controllable: bool = true
func get_init_info():
return {"linear_velocity" : linear_velocity, "angular_velocity" : angular_velocity, "in_use" : in_use}
@@ -81,7 +82,7 @@ func direction_input(fwd,bwd,left,right,_left2,_right2):
func misc_input(_ctrl,space,shift):
brake_control = shift
if space > 0.1 and !boosting: #if boost is pressed
- trigger_boost()
+ rpc("trigger_boost")
func mouse_input(_m1,_m3,_m2): #used for long-press actions
pass
@@ -91,32 +92,36 @@ func _ready():
countdown = boost_length
brake = 5
-func trigger_boost():
- print("boosting")
+remotesync func trigger_boost():
boosting = true
$"%RocketTrail".emitting = true
+remotesync func end_boost():
+ $"%RocketTrail".emitting = false
+ print("stopped boosting")
+ boosting = false
+ countdown = boost_length
+
func _process(delta):
if is_network_master():
if boosting and countdown <= 0:
- $"%RocketTrail".emitting = false
- print("stopped boosting")
- boosting = false
- countdown = boost_length
+ rpc("end_boost")
func _physics_process(delta):
+ if boosting:
+ add_force(global_transform.basis.x*booster_force,Vector3.ZERO)
+ countdown -= delta
if in_use and user.get_network_master() == world.client_id:
user.global_transform.origin = $Cockpit.global_transform.origin
user.global_transform.basis = $Cockpit.global_transform.basis.orthonormalized()
+ user.set_linear_velocity(get_linear_velocity())
if is_network_master():
$rearwheel.brake = lerp($rearwheel.brake, brake_force*brake_control, 0.05)
v_angle = atan2(global_transform.basis.x.y,sqrt(global_transform.basis.x.z*global_transform.basis.x.z + global_transform.basis.x.x*global_transform.basis.x.x))
roll_angle = global_transform.basis.x.cross(Vector3.UP).angle_to($rightaileron.global_transform.origin-$wingcenter.global_transform.origin)
if $rightaileron.global_transform.origin.y < $leftaileron.global_transform.origin.y:
roll_angle *= -1
- if boosting:
- add_force(global_transform.basis.x*booster_force,Vector3.ZERO)
- countdown -= delta
+
#print(linear_velocity.length())
#slow plane by drag and gravity