An unarmed hauler with no weapon component - only VesselCargoComponent, so it structurally cannot fire, the same pattern that already made the shield vessel weaponless after #35. Its cargo_capacity (120, six interceptors' worth) makes it the first real payoff for #56's fleet hold cap. Wired into the crafter, hangar and ship lab menus, all of which were already generic over VesselDefinitions.fleet()/.all() - only the per-vessel UI *nodes* are hand-placed (Main.tscn), not the logic, so this repacks those three button rows to 4/4/5 columns and extends BuildController's matching onready arrays. No new signal handlers were needed. Also fixes test_vessel_composition.gd's hardcoded fleet-catalog size (3 -> 4) now that a fourth vessel is fleet-eligible.
25 lines
1.1 KiB
Text
25 lines
1.1 KiB
Text
[gd_resource type="Resource" script_class="VesselDefinition" load_steps=4 format=3]
|
|
[ext_resource type="Script" path="res://VesselDefinition.gd" id="1"]
|
|
[ext_resource type="PackedScene" path="res://VesselCargoComponent.tscn" id="2"]
|
|
[ext_resource type="Resource" path="res://CarrierCapacityUpgrade.tres" id="3"]
|
|
[resource]
|
|
script = ExtResource("1")
|
|
definition_id = "carrier"
|
|
display_name = "Carrier"
|
|
description = "Unarmed hauler with a much larger hold than any combat vessel. Cannot fire."
|
|
build_cost = 24
|
|
build_time = 20.0
|
|
icon = 34
|
|
glow_color = Color(1, 0.78, 0.3, 1)
|
|
hull_points = PackedVector2Array(-32, -10, -18, -18, 18, -18, 32, -10, 32, 14, -32, 14)
|
|
fleet_eligible = true
|
|
capabilities = PackedStringArray("cargo")
|
|
component_scenes = Array[PackedScene]([ExtResource("2")])
|
|
base_stats = {"max_speed": 380.0, "acceleration": 360.0, "delivery_speed": 180.0, "cargo_capacity": 120.0}
|
|
upgrades = Array[Resource]([ExtResource("3")])
|
|
unlock_id = "unlock_carrier"
|
|
unlock_name = "Unlock Carrier"
|
|
unlock_description = "Research a dedicated hauler hull that trades weapons for a much larger cargo hold."
|
|
unlock_cost = 0
|
|
unlock_resource_costs = {"ore": 60}
|
|
unlock_icon = -1
|