1
0
Fork 0
spacetac/core/weapon.gd

32 lines
625 B
GDScript3
Raw Normal View History

2022-10-05 23:21:40 +00:00
@tool
extends Composer
class_name Weapon
@export var sprite: Texture2D:
set(val):
sprite = val
_check_compose()
2022-10-06 22:34:33 +00:00
@export var radius := 500.0
@export var damage := 1.0
@export var reload_time := 1.0
var __target: Unit
var __reload := 0.0
2022-10-05 23:21:40 +00:00
func _compose():
$sprite.texture = sprite
2022-10-06 22:34:33 +00:00
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)