summaryrefslogtreecommitdiff
path: root/scripts/warlock_projectile.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/warlock_projectile.gd')
-rw-r--r--scripts/warlock_projectile.gd23
1 files changed, 23 insertions, 0 deletions
diff --git a/scripts/warlock_projectile.gd b/scripts/warlock_projectile.gd
new file mode 100644
index 0000000..060a27d
--- /dev/null
+++ b/scripts/warlock_projectile.gd
@@ -0,0 +1,23 @@
+extends CharacterBody2D
+
+var target : CharacterBody2D
+var speed : int = 100
+var projectile_damage : int
+
+func _physics_process(_delta: float):
+ if !is_instance_valid(target):
+ queue_free()
+ else:
+ _move_projectile()
+
+func _on_area_2d_body_entered(body: Node2D):
+ if "Crawler" in body.name:
+ body.deal_damage(projectile_damage)
+ queue_free()
+
+func _move_projectile():
+ var pos : Vector2
+ pos = target.global_position
+ velocity = global_position.direction_to(pos) * speed
+ look_at(pos)
+ move_and_slide()