diff options
author | bd <bdunahu@operationnull.com> | 2025-05-20 14:00:43 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-05-20 14:00:43 -0400 |
commit | 5daf4cc09c6fb40729607138260cc10acb422477 (patch) | |
tree | e2789eba02b7c109215e63740dfe47304cd4bff7 /scenes/defenders/warlock_projectile.gd | |
parent | 142ae6688ff54c91944e61407572cc64a2a9b003 (diff) |
Fix a few bugs, add Warlock tower, enemy health, fire-rate...
Diffstat (limited to 'scenes/defenders/warlock_projectile.gd')
-rw-r--r-- | scenes/defenders/warlock_projectile.gd | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/scenes/defenders/warlock_projectile.gd b/scenes/defenders/warlock_projectile.gd new file mode 100644 index 0000000..b46ed29 --- /dev/null +++ b/scenes/defenders/warlock_projectile.gd @@ -0,0 +1,27 @@ +extends CharacterBody2D + +var target +var speed = 300 +var path_name = "" +var projectile_damage + +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 == path_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() + + +func _on_area_2d_body_entered(body: Node2D): + if "CrawlerSoldier" in body.name: + body.health -= projectile_damage + queue_free() |