diff options
| author | Anson Bridges <bridges.anson@gmail.com> | 2022-09-07 14:16:17 -0400 |
|---|---|---|
| committer | Anson Bridges <bridges.anson@gmail.com> | 2022-09-07 14:16:17 -0400 |
| commit | 366761197034a20d444282431e4a8edeb7882840 (patch) | |
| tree | 63d7b11eccbb499aef8f5afc3634945c63c14ff5 /scripts/machines | |
| parent | c232b92e2dde1277324d1f89d0e75ae641e4ac3b (diff) | |
whoops, fixed reorg
Diffstat (limited to 'scripts/machines')
| -rw-r--r-- | scripts/machines/Cannon.gd | 79 | ||||
| -rw-r--r-- | scripts/machines/NetworkedMachine.gd | 54 |
2 files changed, 0 insertions, 133 deletions
diff --git a/scripts/machines/Cannon.gd b/scripts/machines/Cannon.gd deleted file mode 100644 index 3cf6f5d..0000000 --- a/scripts/machines/Cannon.gd +++ /dev/null @@ -1,79 +0,0 @@ -extends "res://scripts/machines/NetworkedMachine.gd" - -var world_ballistics = null - -var cooldown = 0 -export var fire_rate = 1 #shot/s -export var ball_speed = 400 #m/s - -var pitch :float = 0.0 -var turn :float = 0.0 - -export var turn_speed = 7.5 #deg/s -export var pitch_speed = 10 - -export var max_pitch = 50 -export var min_pitch = -10 -export var min_yaw = -15 -export var max_yaw = 15 - -onready var muzzle = get_node("YawJoint/PitchJoint/Muzzle") - -remote func update_aim(pitch_z, yaw_y): - $YawJoint/PitchJoint.rotation_degrees.z = pitch_z - $YawJoint.rotation_degrees.y = yaw_y - -func get_init_info(): - return {"pitch_rot" : $YawJoint/PitchJoint.rotation_degrees.z, "turn_rot" : $YawJoint.rotation_degrees.y, "in_use" : in_use} - -func mp_init(init_info): - $YawJoint/PitchJoint.rotation_degrees.z = init_info["pitch_rot"] - $YawJoint.rotation_degrees.y = init_info["turn_rot"] - in_use = init_info["in_use"] - -# Called when the node enters the scene tree for the first time. -func _ready(): - if get_parent().name != "MACHINES": - add_collision_exception_with(get_parent()) - mode = RigidBody.MODE_STATIC - world_ballistics = world.get_node("BALLISTICS") - -func on_new_control(): - $YawJoint/PitchJoint/Camera.current = true - -func _physics_process(delta): - if cooldown > 0: - cooldown -= delta - if in_use and is_network_master(): #aim - $YawJoint/PitchJoint.rotation_degrees.z += pitch*pitch_speed*delta - $YawJoint.rotation_degrees.y += turn*turn_speed*delta - $YawJoint.rotation_degrees.y = clamp($YawJoint.rotation_degrees.y, min_yaw, max_yaw) - $YawJoint/PitchJoint.rotation_degrees.z = clamp($YawJoint/PitchJoint.rotation_degrees.z, min_pitch, max_pitch) - - rpc("update_aim", $YawJoint/PitchJoint.rotation_degrees.z, $YawJoint.rotation_degrees.y) - -func direction_input(fwd,bwd,left,right,_left,_right): - pitch = fwd - bwd - turn = right - left - -func attack1(): - if cooldown > 0: - return - rpc("fire") - -remotesync func fire(): - $YawJoint/PitchJoint/Muzzle/explosion_sound.play() - var expl = preload("res://particles/p_Explosion.tscn").instance() - var cball = preload("res://scenes/ballistics/Cannonball.tscn").instance() - world_ballistics.add_child(cball, true) - world.add_child(expl) - expl.scale = Vector3(0.25,0.25,0.25) - expl.init(muzzle.global_transform.origin, Vector3.ZERO) - add_collision_exception_with(cball) - cball.global_transform.origin = muzzle.global_transform.origin - cball.linear_velocity = muzzle.global_transform.basis.x*ball_speed - cooldown = fire_rate - if mode == RigidBody.MODE_STATIC: - get_parent().apply_impulse($YawJoint/PitchJoint.global_transform.origin - get_parent().global_transform.origin, -1*cball.mass*ball_speed*muzzle.global_transform.basis.x) - else: - apply_impulse($YawJoint/PitchJoint.global_transform.origin - global_transform.origin, -1*cball.mass*ball_speed*muzzle.global_transform.basis.x) diff --git a/scripts/machines/NetworkedMachine.gd b/scripts/machines/NetworkedMachine.gd deleted file mode 100644 index d4ccb61..0000000 --- a/scripts/machines/NetworkedMachine.gd +++ /dev/null @@ -1,54 +0,0 @@ -extends RigidBody - -var in_use : bool = false -var user = null -var world = null - -func _ready(): - world = get_tree().get_root().find_node("GAMEWORLD", true, false) - -remote func update_phys_transform(t, lv, av): - transform = t - linear_velocity = lv - angular_velocity = av - -remotesync func net_apply_impulse(impulse_v): - apply_central_impulse(impulse_v) - -func _integrate_forces(state): - if is_network_master() and mode == MODE_RIGID: - rpc("update_phys_transform", transform, linear_velocity, angular_velocity) - -remotesync func set_net_owner(id, char_name): - set_network_master(id) - if id == 1 and char_name == "NONE": #not under control - on_no_control() - if user != null: - user.lose_machine() - user = null - in_use = false - else: - in_use = true - user = world.get_node("PLAYERS/"+char_name) - user.take_control_of_machine(self) - if is_network_master(): - on_new_control() - -func relinquish_control(): - rpc("set_net_owner", 1, "NONE") - -#TO BE OVERRIDDEN BY CHILDREN -func on_new_control(): - pass - -func on_no_control(): - pass - -func attack1(): - pass - -func attack2(): - pass - -func direction_input(fwd,bwd,left,right,_left,_right): - pass |
