From eb5ea9d42ff3363c62f11dff1c33cff84f435f7e Mon Sep 17 00:00:00 2001 From: bd Date: Tue, 20 May 2025 21:19:19 -0400 Subject: Move targetting functions to base defender class --- scenes/defenders/warlock.gd | 42 ++++++------------------------------------ 1 file changed, 6 insertions(+), 36 deletions(-) (limited to 'scenes/defenders/warlock.gd') 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() -- cgit v1.2.3