Add gas bomber skill-shot vessel
This commit is contained in:
parent
d0a9f5b971
commit
1d9afcbc2e
28 changed files with 882 additions and 85 deletions
42
tests/test_multi_resource_supply.gd
Normal file
42
tests/test_multi_resource_supply.gd
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
extends SceneTree
|
||||
|
||||
|
||||
func _initialize() -> void:
|
||||
var state: Node = root.get_node("GameState")
|
||||
state.buildings.clear()
|
||||
state.extractors.clear()
|
||||
state.transporters.clear()
|
||||
state.stored_vessels.clear()
|
||||
state.reset_progression()
|
||||
state.rocks = 0
|
||||
state.gas = 30
|
||||
state.build_time_scale = 0.01
|
||||
|
||||
state.add_building(GameState.BUILDING_MOTHERSHIP, Vector2.ZERO)
|
||||
state.add_building(GameState.BUILDING_TRANSPORT_HUB, Vector2.ZERO)
|
||||
var lab_id: int = state.add_building(GameState.BUILDING_SHIP_LAB, Vector2(120, 0))
|
||||
if not state.queue_lab_research(lab_id, "unlock_gas_bomber"):
|
||||
_fail("could not queue gas research")
|
||||
return
|
||||
if state.outstanding_resource_cost(lab_id, GameState.RESOURCE_GAS) != 30:
|
||||
_fail("lab did not request 30 gas")
|
||||
return
|
||||
|
||||
# Large steps make each physical leg complete in one call; multiple calls
|
||||
# still exercise dispatch -> bank pickup -> lab delivery -> hub return.
|
||||
for i in range(12):
|
||||
state._advance_transporters(10.0)
|
||||
state._advance_lab_research(10.0)
|
||||
if not state.vessel_is_unlocked(GameState.VESSEL_GAS_BOMBER):
|
||||
_fail("hub transporters did not deliver gas to research")
|
||||
return
|
||||
if state.gas != 0 or state.building_resource(lab_id, GameState.RESOURCE_GAS) != 0:
|
||||
_fail("gas was not consumed at the lab")
|
||||
return
|
||||
print("TEST_MULTI_RESOURCE_SUPPLY: PASS")
|
||||
quit(0)
|
||||
|
||||
|
||||
func _fail(message: String) -> void:
|
||||
print("TEST_MULTI_RESOURCE_SUPPLY: FAIL (%s)" % message)
|
||||
quit(1)
|
||||
Loading…
Reference in a new issue