Add carrier vessel (#57)
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.
This commit is contained in:
parent
f040327523
commit
bbb1d4b0c5
13 changed files with 489 additions and 40 deletions
25
CarrierVesselDefinition.tres
Normal file
25
CarrierVesselDefinition.tres
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
[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
|
||||
Loading…
Reference in a new issue