diff options
Diffstat (limited to 'scripts/warlock.gd')
-rw-r--r-- | scripts/warlock.gd | 18 |
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 |