Remove the Thrusters upgrade - fleet speed is now global (#73)

int_speed/shd_speed granted +max_speed/+acceleration per level to a
single vessel, which is redundant now that #59/#62 gave the whole
fleet a shared speed fader instead - a per-ship speed stat has nothing
left to meaningfully affect since #59's multiplier is applied at the
point of use in Ship.gd regardless of the ship's own base stats.
Deleted both upgrade resources and their vessel-definition references
outright rather than leaving them unused.

test_ship_lab.gd's per-vessel-type isolation check used int_speed as
an arbitrary interceptor-only upgrade to prove it doesn't leak into
transporter stats - swapped to int_range, which still exists. Its
upgrade-card-count assertion updated for 3 remaining interceptor
upgrades instead of 4.
This commit is contained in:
Loïc Wisniewski 2026-08-17 19:47:22 +02:00
commit 8d089d6f76
5 changed files with 9 additions and 32 deletions

View file

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="VesselUpgradeDefinition" load_steps=2 format=3]
[ext_resource type="Script" path="res://VesselUpgradeDefinition.gd" id="1"]
[resource]
script = ExtResource("1")
upgrade_id = "int_speed"
display_name = "Thrusters"
description = "+40 top speed, +60 acceleration per level."
base_cost = 25
max_level = 3
research_point_cost = 1
icon = 18
additive_modifiers = {"max_speed": 40.0, "acceleration": 60.0}

View file

@ -1,10 +1,9 @@
[gd_resource type="Resource" script_class="VesselDefinition" load_steps=8 format=3] [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="Script" path="res://VesselDefinition.gd" id="1"]
[ext_resource type="PackedScene" path="res://VesselWeaponComponent.tscn" id="2"] [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://InterceptorDamageUpgrade.tres" id="3"]
[ext_resource type="Resource" path="res://InterceptorRateUpgrade.tres" id="4"] [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://InterceptorRangeUpgrade.tres" id="5"]
[ext_resource type="Resource" path="res://InterceptorSpeedUpgrade.tres" id="6"]
[ext_resource type="PackedScene" path="res://VesselCargoComponent.tscn" id="7"] [ext_resource type="PackedScene" path="res://VesselCargoComponent.tscn" id="7"]
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
@ -19,4 +18,4 @@ fleet_eligible = true
capabilities = PackedStringArray("weapon", "cargo") capabilities = PackedStringArray("weapon", "cargo")
component_scenes = Array[PackedScene]([ExtResource("2"), ExtResource("7")]) component_scenes = Array[PackedScene]([ExtResource("2"), ExtResource("7")])
base_stats = {"damage": 1.0, "fire_cooldown": 0.5, "fire_range": 320.0, "max_speed": 460.0, "acceleration": 450.0, "delivery_speed": 180.0, "cargo_capacity": 20.0} base_stats = {"damage": 1.0, "fire_cooldown": 0.5, "fire_range": 320.0, "max_speed": 460.0, "acceleration": 450.0, "delivery_speed": 180.0, "cargo_capacity": 20.0}
upgrades = Array[Resource]([ExtResource("3"), ExtResource("4"), ExtResource("5"), ExtResource("6")]) upgrades = Array[Resource]([ExtResource("3"), ExtResource("4"), ExtResource("5")])

View file

@ -1,12 +0,0 @@
[gd_resource type="Resource" script_class="VesselUpgradeDefinition" load_steps=2 format=3]
[ext_resource type="Script" path="res://VesselUpgradeDefinition.gd" id="1"]
[resource]
script = ExtResource("1")
upgrade_id = "shd_speed"
display_name = "Thrusters"
description = "+40 top speed, +60 acceleration per level."
base_cost = 25
max_level = 3
research_point_cost = 1
icon = 18
additive_modifiers = {"max_speed": 40.0, "acceleration": 60.0}

View file

@ -1,9 +1,8 @@
[gd_resource type="Resource" script_class="VesselDefinition" load_steps=6 format=3] [gd_resource type="Resource" script_class="VesselDefinition" load_steps=5 format=3]
[ext_resource type="Script" path="res://VesselDefinition.gd" id="1"] [ext_resource type="Script" path="res://VesselDefinition.gd" id="1"]
[ext_resource type="PackedScene" path="res://VesselShieldComponent.tscn" id="3"] [ext_resource type="PackedScene" path="res://VesselShieldComponent.tscn" id="3"]
[ext_resource type="Resource" path="res://ShieldHitsUpgrade.tres" id="4"] [ext_resource type="Resource" path="res://ShieldHitsUpgrade.tres" id="4"]
[ext_resource type="Resource" path="res://ShieldRechargeUpgrade.tres" id="5"] [ext_resource type="Resource" path="res://ShieldRechargeUpgrade.tres" id="5"]
[ext_resource type="Resource" path="res://ShieldSpeedUpgrade.tres" id="6"]
[resource] [resource]
script = ExtResource("1") script = ExtResource("1")
definition_id = "shield" definition_id = "shield"
@ -19,7 +18,7 @@ component_scenes = Array[PackedScene]([ExtResource("3")])
hull_points = PackedVector2Array(0, -24, 20.7846, -12, 20.7846, 12, 0, 24, -20.7846, 12, -20.7846, -12) hull_points = PackedVector2Array(0, -24, 20.7846, -12, 20.7846, 12, 0, 24, -20.7846, 12, -20.7846, -12)
base_stats = {"damage": 1.0, "fire_cooldown": 0.5, "fire_range": 320.0, "max_speed": 460.0, "acceleration": 450.0, "shield_charges": 1.0, "shield_recharge": 6.0, "delivery_speed": 180.0} base_stats = {"damage": 1.0, "fire_cooldown": 0.5, "fire_range": 320.0, "max_speed": 460.0, "acceleration": 450.0, "shield_charges": 1.0, "shield_recharge": 6.0, "delivery_speed": 180.0}
minimum_stats = {"shield_recharge": 2.0} minimum_stats = {"shield_recharge": 2.0}
upgrades = Array[Resource]([ExtResource("4"), ExtResource("5"), ExtResource("6")]) upgrades = Array[Resource]([ExtResource("4"), ExtResource("5")])
unlock_id = "unlock_shield" unlock_id = "unlock_shield"
unlock_name = "Unlock Shield Vessel" unlock_name = "Unlock Shield Vessel"
unlock_description = "Lets the ship crafter build shield vessels. Its shield absorbs one lethal hit, then cycles back up." unlock_description = "Lets the ship crafter build shield vessels. Its shield absorbs one lethal hit, then cycles back up."

View file

@ -113,7 +113,10 @@ func _process(delta: float) -> bool:
quit(1) quit(1)
return true return true
controller.call("_on_lab_vessel", 0) controller.call("_on_lab_vessel", 0)
if not lab_card_0.visible or not lab_card_3.visible: # #73: the interceptor's Thrusters upgrade was removed (global
# fleet speed now belongs to the distorder fader, #59/#62)
# leaving 3 upgrade cards, not 4 - card 3 is correctly hidden now.
if not lab_card_0.visible or not lab_card_2.visible or lab_card_3.visible:
print("TEST_SHIP_LAB: FAIL (interceptor upgrade cards were not shown)") print("TEST_SHIP_LAB: FAIL (interceptor upgrade cards were not shown)")
quit(1) quit(1)
return true return true
@ -156,7 +159,7 @@ func _process(delta: float) -> bool:
# --- 7. per vessel type -------------------------------------- # --- 7. per vessel type --------------------------------------
var trn_speed_before: float = game_state.transporter_speed() var trn_speed_before: float = game_state.transporter_speed()
game_state.buy_upgrade("int_speed") game_state.buy_upgrade("int_range")
if game_state.transporter_speed() != trn_speed_before: if game_state.transporter_speed() != trn_speed_before:
print("TEST_SHIP_LAB: FAIL (an interceptor upgrade changed the transporter)") print("TEST_SHIP_LAB: FAIL (an interceptor upgrade changed the transporter)")
quit(1) quit(1)