It was a siege piece that crept at 20px/s and lobbed a shell taking five seconds to cross the gap. That read as a thing that was stuck rather than a thing that was dangerous: by the time a shell landed the fleet had wandered off, and the tower was still approaching. It now moves at 150px/s, faces where it is going, and its bombs travel at 460 - fast enough to arrive while the target is roughly where it was aimed, slow enough that the impact cross is a warning rather than a formality. The hull is a bomber rather than a lumpy octagon: swept wings, a short fuselage, a bay under it. The bomb has fins and a hot core down its smoke trail, and the blast throws real debris - a BombBlastVFX built from the same LightBurstVFX as every other explosion, plus a second ring chasing the first outwards and a white flash that is gone almost at once. It also bombs what the player has BUILT, through the shared targeting rather than the fleet alone, and its blast damages structures - it had been asking Fleet directly and hitting only player_ships, which was already out of step with #101. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
19 lines
832 B
Text
19 lines
832 B
Text
[gd_resource type="Resource" script_class="EnemyDefinition" load_steps=3 format=3]
|
|
|
|
[ext_resource type="Script" path="res://enemies/EnemyDefinition.gd" id="1"]
|
|
[ext_resource type="PackedScene" path="res://enemies/EnemyArtilleryComponent.tscn" id="2"]
|
|
|
|
[resource]
|
|
script = ExtResource("1")
|
|
enemy_id = "artillery"
|
|
display_name = "Artillery"
|
|
max_hp = 8
|
|
speed = 215.0
|
|
acceleration = 390.0
|
|
rotation_speed = 4.2
|
|
hull_points = PackedVector2Array(0, -34, 7, -18, 34, -4, 40, 8, 20, 6, 12, 20, 4, 28, -4, 28, -12, 20, -20, 6, -40, 8, -34, -4, -7, -18)
|
|
glow_color = Color(1.0, 0.5, 0.2, 1)
|
|
detail_lines = PackedVector2Array(0, -30, 0, 22, -20, 4, 20, 4, -30, 0, -30, 6, 30, 0, 30, 6, -9, 12, 9, 12)
|
|
detail_rings = PackedVector2Array(0, 14, 9, 0, 0, -16, 5, 0)
|
|
component_scenes = Array[PackedScene]([ExtResource("2")])
|
|
contact_damage = 6
|