blob: e19b394f99476c0d2cbfbb33486c249ef50e8310 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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
|