extends "res://scripts/base_defender.gd" var projectile: PackedScene = preload("res://scenes/warlock_projectile.tscn") func _ready(): set_tower_stats(game_stats_config.defenders_index.WARLOCK) reset_tower_range() reset_tower_sprite() func _on_fire_timer_timeout(): select_target() if (target != null): var bolt = _get_projectile() bolt.target = target get_node("ProjectileContainer").call_deferred("add_child", bolt) bolt.global_position = $Aim.global_position else: $FireTimer.stop() func _get_projectile() -> CharacterBody2D: var bolt = projectile.instantiate() bolt.speed = tower_data["projectile_speed"] bolt.projectile_damage = tower_data["damage"] bolt.chaos_factor = tower_data["chaos_factor"] bolt.max_lifetime = tower_data["max_projectile_lifetime"] return bolt