diff options
Diffstat (limited to 'godot/scenes/weapons')
| -rw-r--r-- | godot/scenes/weapons/rockets.gd | 37 | ||||
| -rw-r--r-- | godot/scenes/weapons/w_Rockets.tscn | 6 |
2 files changed, 43 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 diff --git a/godot/scenes/weapons/w_Rockets.tscn b/godot/scenes/weapons/w_Rockets.tscn new file mode 100644 index 0000000..c52f8e3 --- /dev/null +++ b/godot/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 ) |
