diff options
author | bd <bdunahu@operationnull.com> | 2025-05-20 21:19:19 -0400 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2025-05-20 21:19:19 -0400 |
commit | eb5ea9d42ff3363c62f11dff1c33cff84f435f7e (patch) | |
tree | 7437aac2b26b1af94ff57fbc7fcad85392b9d5c6 /scenes/defenders/warlock.gd | |
parent | dc46bc748d45346c8062a46121e1d0f13c8af05a (diff) |
Move targetting functions to base defender class
Diffstat (limited to 'scenes/defenders/warlock.gd')
-rw-r--r-- | scenes/defenders/warlock.gd | 42 |
1 files changed, 6 insertions, 36 deletions
diff --git a/scenes/defenders/warlock.gd b/scenes/defenders/warlock.gd index fbc6a3f..0178382 100644 --- a/scenes/defenders/warlock.gd +++ b/scenes/defenders/warlock.gd @@ -1,44 +1,14 @@ -extends StaticBody2D +extends "res://scenes/defenders/base_defender.gd" -@export var projectile_damage = 5 +var projectile: PackedScene = preload("res://scenes/defenders/warlock_projectile.tscn") -@onready var sprite_node = $Sprite2D -var projectile = preload("res://scenes/defenders/warlock_projectile.tscn") -var curr +func _ready(): + damage = 200 -func select_target(targets): - var tmp = [] - for i in targets: - if "Crawler" in i.name: - tmp.append(i) - - # this is all to select the furthest target on the track - curr = null - for i in tmp: - if curr == null: - curr = i.get_node("../") - else: - if i.get_parent().get_progress() > curr.get_progress(): - curr = i.get_node("../") - -func _on_tower_body_entered(_body: Node2D): - select_target(get_node("Tower").get_overlapping_bodies()) - handle_animation() - -func _on_tower_body_exited(_body: Node2D): - select_target(get_node("Tower").get_overlapping_bodies()) - handle_animation() - -func _on_fire_rate_timeout(): +func _on_fire_timer_timeout(): if (curr != null): var tmp_projectile = projectile.instantiate() tmp_projectile.curr = curr - tmp_projectile.projectile_damage = projectile_damage + tmp_projectile.projectile_damage = damage get_node("ProjectileContainer").call_deferred("add_child", tmp_projectile) tmp_projectile.global_position = $Aim.global_position - -func handle_animation(): - if (curr == null): - sprite_node.idle_state() - else: - sprite_node.attack_state() |