Add black hole planet and dark matter resource (#55)
A rare, deterministically-seeded landable body yielding a fourth resource, dark matter, obtainable only through an extractor - never a surface pickup. Reuses every existing generic system (resource/planet definitions, surface profiles, extractor/transporter pipeline) with no type-switch branching. Also fixes a latent conquest-gating gap: a surface profile with no authored PlanetSetup (like the black hole's "void") never registered capture points at all, permanently blocking extractor placement. register_capture_points() now treats zero required points as vacuously conquered, and PlanetSurfaceController registers that zero-point state explicitly when no setup exists.
This commit is contained in:
parent
097e17f7aa
commit
cbe07bbb55
20 changed files with 421 additions and 2 deletions
15
tests/_void_surface_preview.gd
Normal file
15
tests/_void_surface_preview.gd
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
extends Node2D
|
||||
|
||||
# Preview, not a test - a black hole's landed "void" surface: no craters, no
|
||||
# resource pickups, nothing but the empty field itself.
|
||||
#
|
||||
# bash tests/screenshot.sh res://tests/_void_surface_preview.tscn /tmp/void.png 15 720x1280
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
GameState.planet_name = "Event Zero"
|
||||
GameState.planet_definition_id = "black_hole"
|
||||
GameState.surviving_ship_count = 3
|
||||
var surface: Node = load("res://PlanetSurface.tscn").instantiate()
|
||||
surface.get_node("SurfaceController").fade_duration = 0.0
|
||||
add_child(surface)
|
||||
Loading…
Reference in a new issue