class_name PlanetSetup extends Resource # A hand-authored enemy layout for a planet surface. Chosen # deterministically per planet (see PlanetSetups.setup_for_planet) rather # than generated - #40 wants curated setups, not procedural ones - and # stored as a committed .tres under res://PlanetSetups/, not in a save. @export var setup_id: String = "" @export var display_name: String = "" # Which PlanetSurfaceProfiles id (e.g. "rocky", "gas") this setup was # authored for; only setups matching a planet's own profile are eligible. @export var surface_profile_id: String = "rocky" # Surface-local positions (the fleet lands at Vector2.ZERO). #211 removed the # capture_points that used to sit beside these: the garrison IS the objective # now, so the enemies are the whole of what a setup places. @export var enemy_spawns: Array[Resource] = [] # Research points awarded for conquering this map, set in the map editor. # A harder lab is worth more, and how hard a lab IS depends on the layout # authored here - how many and what kind of defenders - which the planet # type cannot know. 0 means "use whatever the # planet type awards", so every setup written before this existed keeps its # old value rather than silently dropping to nothing. @export var research_point_reward: int = 0