class_name PlanetSetup extends Resource # A hand-authored capture-point/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). @export var capture_points: PackedVector2Array = PackedVector2Array() @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 capture points, 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