summaryrefslogtreecommitdiff
path: root/godot/scenes/weapons/rockets.gd
diff options
context:
space:
mode:
authorAnson Bridges <bridges.anson@gmail.com>2022-09-07 14:07:30 -0400
committerAnson Bridges <bridges.anson@gmail.com>2022-09-07 14:07:30 -0400
commitc232b92e2dde1277324d1f89d0e75ae641e4ac3b (patch)
treee11a5dd52f259c1cc7345baa40b372b304417f00 /godot/scenes/weapons/rockets.gd
parenta0967ebe815cd229b69fb9578f2288b95b2ddb28 (diff)
reorganized, ladders, vehicle control
Diffstat (limited to 'godot/scenes/weapons/rockets.gd')
-rw-r--r--godot/scenes/weapons/rockets.gd37
1 files changed, 37 insertions, 0 deletions
diff --git a/godot/scenes/weapons/rockets.gd b/godot/scenes/weapons/rockets.gd
new file mode 100644
index 0000000..56282e1
--- /dev/null
+++ b/godot/scenes/weapons/rockets.gd
@@ -0,0 +1,37 @@
+extends Node
+
+var weapon_name = "ROCKETS"
+var player
+onready var world = get_tree().get_root().get_node("GAMEWORLD")
+
+var ammo_full : int = 50
+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", player.cam.global_transform.basis, get_tree().get_network_unique_id())
+
+remotesync func add_rocket_to_scene(dir, id):
+ 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.shooter_id = id
+ rocket.global_transform.origin = player.cam.global_transform.origin
+ rocket.global_transform.basis = Basis(-1*dir.z, dir.y, dir.x)
+ rocket.add_collision_exception_with(player)
+
+func attack2():
+ pass