giants-godot/entities/genericprojectile.gd

27 lines
555 B
GDScript3
Raw Normal View History

2021-09-08 18:36:41 +02:00
extends Entity
class_name GenericProjectile
var BULLET_SPEED = 1
var BULLET_DAMAGE = 15
export var LIFETIME = 0
var _timer = 0
var from: Transform
var to: Vector3 = Vector3.ZERO
func _physics_process(delta):
if LIFETIME != 0:
_timer += delta
if _timer >= LIFETIME:
queue_free()
func create(_from: Transform, _to: Vector3, exclude_collisions: Array):
from = _from
to = _to
global_transform = from
for object in exclude_collisions:
add_collision_exception_with(object)
add_central_force((to - from.origin).normalized() * BULLET_SPEED)