diff options
Diffstat (limited to 'scenes/defenders/warlock_projectile.gd')
-rw-r--r-- | scenes/defenders/warlock_projectile.gd | 25 |
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() |