summaryrefslogtreecommitdiff
path: root/scenes/weapons/rockets.gd
blob: 56282e1ebbc433e7bf98798a5ba8778c84120b2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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