summaryrefslogtreecommitdiff
path: root/scripts/machines
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/machines')
-rw-r--r--scripts/machines/Cannon.gd79
-rw-r--r--scripts/machines/NetworkedMachine.gd54
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