1
0
Fork 0
spacetac/core/weapon.gd
2022-10-07 00:34:33 +02:00

32 lines
625 B
GDScript

@tool
extends Composer
class_name Weapon
@export var sprite: Texture2D:
set(val):
sprite = val
_check_compose()
@export var radius := 500.0
@export var damage := 1.0
@export var reload_time := 1.0
var __target: Unit
var __reload := 0.0
func _compose():
$sprite.texture = sprite
func _process(delta: float):
__reload -= delta
if __target != null and __reload < 0.0:
if __target.global_position.distance_to(global_position) <= radius:
fire(__target)
func set_target(target: Unit):
__target = target
func fire(target: Unit):
target.damage(damage)
__reload = reload_time * randf_range(0.9, 1.1)