blob: c519fd68365c0e09b7bbed8317fa3b1ca5810bab (
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.head.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.head.global_transform.origin
rocket.global_transform.basis = Basis(-1*dir.z, dir.y, dir.x)
rocket.add_collision_exception_with(player)
func attack2():
pass
|