TowerDefense/Enemies/boss.gd

24 lines
611 B
GDScript3
Raw Normal View History

extends Enemy
class_name Boss
2025-09-14 22:54:54 +02:00
@export_range(0.1, 15, 0.05, "or_greater") var disableTime : float
@export var projectileScene : PackedScene
func attack() -> bool:
if super.attack():
2025-09-14 12:52:01 +02:00
# already attacked TheCube
return true
var towerTargets : Array[Node3D] = targets.filter(func(b): return b is Tower)
if $AttackCooldown.is_stopped() && not towerTargets.is_empty():
2025-09-14 22:54:54 +02:00
var projectile : Projectile = projectileScene.instantiate()
projectile.amount = disableTime
projectile.shoot(towerTargets[0], global_position)
targets.erase(towerTargets[0])
$AttackCooldown.start()
2025-09-14 22:54:54 +02:00
return true
return false