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.
This commit is contained in:
parent
fc2b5ca74a
commit
def224667d
16 changed files with 455 additions and 1 deletions
16
ArtilleryEnemyDefinition.tres
Normal file
16
ArtilleryEnemyDefinition.tres
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
[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")])
|
||||
Loading…
Reference in a new issue