summaryrefslogtreecommitdiff
path: root/scripts/warlock.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/warlock.gd')
-rw-r--r--scripts/warlock.gd18
1 files changed, 12 insertions, 6 deletions
diff --git a/scripts/warlock.gd b/scripts/warlock.gd
index 80d6e58..e19b394 100644
--- a/scripts/warlock.gd
+++ b/scripts/warlock.gd
@@ -10,11 +10,17 @@ func _ready():
func _on_fire_timer_timeout():
select_target()
if (target != null):
- var tmp_projectile = projectile.instantiate()
- tmp_projectile.target = target
- tmp_projectile.speed = tower_data["projectile_speed"]
- tmp_projectile.projectile_damage = tower_data["damage"]
- get_node("ProjectileContainer").call_deferred("add_child", tmp_projectile)
- tmp_projectile.global_position = $Aim.global_position
+ 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