spaceship/ArtilleryEnemyDefinition.tres
Loïc Wisniewski def224667d Add artillery enemy with telegraphed AOE (#46)
EnemyArtilleryComponent is a stationary siege piece (slow drift toward
the fleet, deliberately no pursuit component) that fires at the fleet
centroid on a long cooldown via a standalone ArtilleryShell -
telegraph ring (~1.8s, growing radius plus a filling countdown arc) ->
slow visible travel -> AOE explosion via Ship.take_damage() on every
player_ships node inside, same all-or-nothing shield absorption as
every other damage source. The shell is independent of the enemy that
fired it (added to the tree root, like EnemyProjectile/Projectile) so
the shooter dying mid-flight doesn't cancel an already-telegraphed
shot, and the impact point is fixed at fire time - never re-aimed at
where the fleet moves to afterward.

Part of the #40 conquest-mechanic breakdown.
2026-08-15 21:23:43 +02:00

16 lines
599 B
Text

[gd_resource type="Resource" script_class="EnemyDefinition" load_steps=3 format=3]
[ext_resource type="Script" path="res://EnemyDefinition.gd" id="1"]
[ext_resource type="PackedScene" path="res://EnemyArtilleryComponent.tscn" id="2"]
[resource]
script = ExtResource("1")
enemy_id = "artillery"
display_name = "Artillery"
max_hp = 8
speed = 60.0
acceleration = 120.0
rotation_speed = 3.0
hull_points = PackedVector2Array(0, -26, 18.4, -18.4, 26, 0, 18.4, 18.4, 0, 26, -18.4, 18.4, -26, 0, -18.4, -18.4)
glow_color = Color(1.0, 0.5, 0.2, 1)
component_scenes = Array[PackedScene]([ExtResource("2")])