Compose vessels from definitions and capabilities

This commit is contained in:
Loïc Wisniewski 2026-08-14 22:12:57 +02:00
commit 14081ad230
39 changed files with 705 additions and 386 deletions

View file

@ -0,0 +1,20 @@
[gd_resource type="Resource" script_class="VesselDefinition" load_steps=7 format=3]
[ext_resource type="Script" path="res://VesselDefinition.gd" id="1"]
[ext_resource type="PackedScene" path="res://VesselWeaponComponent.tscn" id="2"]
[ext_resource type="Resource" path="res://InterceptorDamageUpgrade.tres" id="3"]
[ext_resource type="Resource" path="res://InterceptorRateUpgrade.tres" id="4"]
[ext_resource type="Resource" path="res://InterceptorRangeUpgrade.tres" id="5"]
[ext_resource type="Resource" path="res://InterceptorSpeedUpgrade.tres" id="6"]
[resource]
script = ExtResource("1")
definition_id = "interceptor"
display_name = "Interceptor"
description = "Fast combat vessel with a rapid-firing cannon."
build_cost = 6
build_time = 10.0
icon = 2
glow_color = Color(0.25, 0.85, 1, 1)
capabilities = PackedStringArray("weapon")
component_scenes = Array[PackedScene]([ExtResource("2")])
base_stats = {"damage": 1.0, "fire_cooldown": 0.5, "fire_range": 320.0, "max_speed": 460.0, "acceleration": 450.0}
upgrades = Array[Resource]([ExtResource("3"), ExtResource("4"), ExtResource("5"), ExtResource("6")])