summaryrefslogtreecommitdiff
path: root/scenes/weapons
diff options
context:
space:
mode:
Diffstat (limited to 'scenes/weapons')
-rw-r--r--scenes/weapons/rockets.gd40
-rw-r--r--scenes/weapons/w_Rockets.tscn6
2 files changed, 46 insertions, 0 deletions
diff --git a/scenes/weapons/rockets.gd b/scenes/weapons/rockets.gd
new file mode 100644
index 0000000..e765a93
--- /dev/null
+++ b/scenes/weapons/rockets.gd
@@ -0,0 +1,40 @@
+extends Node
+
+var weapon_name = "ROCKETS"
+var player
+onready var world = get_tree().get_root().get_node("GAMEWORLD")
+
+var ammo_full : int = 5
+var ammo : int
+
+var reload_time :float= 1.0
+var cooldown_time : float = 0.0
+
+func _ready():
+ ammo = ammo_full
+ player = get_parent()
+
+func _process(delta):
+ if cooldown_time > 0.0:
+ cooldown_time -= delta
+
+func attack1():
+ if cooldown_time <= 0.0 and ammo >= 1:
+ ammo -= 1
+ cooldown_time = reload_time
+ rpc("add_rocket_to_scene", -1*player.cam.global_transform.basis.z)
+
+remotesync func add_rocket_to_scene(dir):
+ print(dir)
+ var rocket = preload("res://scenes/ballistics/Rocket.tscn").instance()
+ world.get_node("BALLISTICS").add_child(rocket, true)
+ rocket.shooter = player.name + " (" + world.players_info[player.get_network_master()][0] + ")"
+ #rocket.set_network_master(player.get_network_master())
+ #if get_tree().get_network_unique_id() == player.get_network_master():
+ rocket.global_transform.origin = player.cam.global_transform.origin
+ rocket.global_transform.basis.x = dir
+ rocket.add_collision_exception_with(player)
+
+
+func attack2():
+ pass
diff --git a/scenes/weapons/w_Rockets.tscn b/scenes/weapons/w_Rockets.tscn
new file mode 100644
index 0000000..c52f8e3
--- /dev/null
+++ b/scenes/weapons/w_Rockets.tscn
@@ -0,0 +1,6 @@
+[gd_scene load_steps=2 format=2]
+
+[ext_resource path="res://scenes/weapons/rockets.gd" type="Script" id=1]
+
+[node name="w_Rockets" type="Spatial"]
+script = ExtResource( 1 )