summaryrefslogtreecommitdiff
path: root/scenes/defenders/warlock_projectile.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scenes/defenders/warlock_projectile.gd')
-rw-r--r--scenes/defenders/warlock_projectile.gd25
1 files changed, 11 insertions, 14 deletions
diff --git a/scenes/defenders/warlock_projectile.gd b/scenes/defenders/warlock_projectile.gd
index 2188c38..9645a2c 100644
--- a/scenes/defenders/warlock_projectile.gd
+++ b/scenes/defenders/warlock_projectile.gd
@@ -1,26 +1,23 @@
extends CharacterBody2D
-var target
-var speed = 100
-var curr = ""
-var projectile_damage
+var target : CharacterBody2D
+var speed : int = 100
+var projectile_damage : int
func _physics_process(_delta: float):
- var path_spawner_node = get_tree().get_root().get_node("Main/PathSpawner")
- for i in path_spawner_node.get_child_count():
- if path_spawner_node.get_child(i).name == curr.get_parent().name:
- target = path_spawner_node.get_child(i).get_child(0).get_child(0)
-
- # another tower destroyed this target
if !is_instance_valid(target):
queue_free()
else:
- target = target.global_position
- velocity = global_position.direction_to(target) * speed
- look_at(target)
- move_and_slide()
+ _move_projectile()
func _on_area_2d_body_entered(body: Node2D):
if "Crawler" in body.name:
body.health -= 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()