diff options
author | bd <bdunahu@operationnull.com> | 2025-05-21 16:24:59 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-05-21 16:24:59 -0400 |
commit | bae54d556e064414eb1823764b5368a300f1d1e1 (patch) | |
tree | e422bcd840eba617a0e9cd18b9cd94912888a270 /scenes/defenders/warlock_projectile.gd | |
parent | ec10e5fe6222773fd59d7854ed172f5319dc9a4e (diff) |
Refactor tower firing and enemy detection
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() |