From aad319ddb5be108e9ca81d407bd90c843bae502d Mon Sep 17 00:00:00 2001 From: Anson Bridges Date: Wed, 14 Sep 2022 23:59:22 -0400 Subject: GUNBRIG HULL PROTOTYPE --- godot/scripts/vehicles/Airplane.gd | 15 ++++++++------- godot/scripts/vehicles/Gunboat.gd | 6 ++---- 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'godot/scripts/vehicles') diff --git a/godot/scripts/vehicles/Airplane.gd b/godot/scripts/vehicles/Airplane.gd index aa1f492..9762457 100644 --- a/godot/scripts/vehicles/Airplane.gd +++ b/godot/scripts/vehicles/Airplane.gd @@ -28,7 +28,7 @@ var user = null var world = null func get_init_info(): - return {"." : 0} + return {"linear_velocity" : linear_velocity, "angular_velocity" : angular_velocity, "in_use" : in_use} func mp_init(init_info): pass @@ -61,12 +61,12 @@ func relinquish_control(): #TO BE OVERRIDDEN BY CHILDREN func on_new_control(): - pass#user.add_collision_exception_with(self) - #user.global_transform.origin = $Cockpit.global_transform.origin + user.add_collision_exception_with(self) + user.global_transform.origin = $Cockpit.global_transform.origin func on_no_control(): - pass#user.remove_collision_exception_with(self) - #user.global_transform.origin = $PilotExit.global_transform.origin + user.remove_collision_exception_with(self) + user.global_transform.origin = $PilotExit.global_transform.origin func attack1(): pass @@ -127,6 +127,8 @@ func _physics_process(delta): func _integrate_forces(state): if is_network_master(): + if linear_velocity.angle_to(global_transform.basis.x) < 0.25: + set_linear_velocity(get_linear_velocity().slerp(transform.basis.x*linear_velocity.length(),0.1)) if linear_velocity.length() > 25: #linear_velocity = linear_velocity.normalized()*(linear_velocity.length()-vel_slow) var ang_vel_target = Vector3.ZERO @@ -146,8 +148,7 @@ func _integrate_forces(state): #apply angular velocity angular_velocity = ang_vel_target#lerp(angular_velocity,ang_vel_target,0.1) - if linear_velocity.angle_to(global_transform.basis.x) < 0.25: - set_linear_velocity(get_linear_velocity().slerp(transform.basis.x*linear_velocity.length(),0.1)) + #linear_velocity += parentvel[0]; angular_velocity += parentvel[1] rpc("update_phys_transform", transform, linear_velocity, angular_velocity) diff --git a/godot/scripts/vehicles/Gunboat.gd b/godot/scripts/vehicles/Gunboat.gd index 8c3f54e..3137361 100644 --- a/godot/scripts/vehicles/Gunboat.gd +++ b/godot/scripts/vehicles/Gunboat.gd @@ -39,8 +39,6 @@ func mp_init(init_info): # Called when the node enters the scene tree for the first time. func _ready(): world = get_tree().get_root().find_node("GAMEWORLD", true, false) - mass = 13500 - weight = mass * 9.8 func on_no_control(): rudder = 0.0 @@ -80,8 +78,8 @@ func _physics_process(delta): if world.winddir.angle_to($Mast.global_transform.basis.x) < PI/2: add_force(global_transform.basis.x*push_force, Vector3.ZERO) add_torque(Vector3(0,-rudder_turn*rudder_constant*(0.5+linear_velocity.dot(global_transform.basis.x)),0)) - add_torque(Vector3(-1000000*angular_velocity.x,0,0)) - add_torque(Vector3(0,0,-1000000*angular_velocity.z)) + add_torque(Vector3(-10000000*angular_velocity.x,0,0)) + add_torque(Vector3(0,0,-10000000*angular_velocity.z)) rudder_turn += rudder_speed*delta*(-0.25 if rudder_turn > 0 else 0.25) for point in $FloatPoints.get_children(): for area in point.get_overlapping_areas(): -- cgit v1.2.3