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:
Loïc Wisniewski 2026-08-16 13:13:38 +02:00
commit cbe07bbb55
20 changed files with 421 additions and 2 deletions

View file

@ -4,11 +4,13 @@ extends RefCounted
const ORE_ID: String = "ore"
const GAS_ID: String = "gas"
const ENERGY_ID: String = "energy"
const ORDER: PackedStringArray = [ORE_ID, GAS_ID, ENERGY_ID]
const DARK_MATTER_ID: String = "dark_matter"
const ORDER: PackedStringArray = [ORE_ID, GAS_ID, ENERGY_ID, DARK_MATTER_ID]
const DEFINITIONS: Dictionary = {
ORE_ID: preload("res://OreResourceDefinition.tres"),
GAS_ID: preload("res://GasResourceDefinition.tres"),
ENERGY_ID: preload("res://EnergyResourceDefinition.tres"),
DARK_MATTER_ID: preload("res://DarkMatterResourceDefinition.tres"),
}