extends RefCounted # Expand these lists to add names. The generator draws without repeats per system. const PLANETS := [ "Aeloria", "Aetheris", "Akara", "Almara", "Altessa", "Amaris", "Ankora", "Ardessa", "Arkanis", "Arluna", "Ashara", "Astraya", "Aurelia", "Avalora", "Axion", "Azura", "Belara", "Borealis", "Bravora", "Caelora", "Caldera", "Calyptra", "Carthis", "Celestia", "Cerion", "Cindara", "Corthis", "Cyrenia", "Damaris", "Danora", "Delyra", "Demeris", "Doria", "Dravona", "Draxia", "Elaris", "Elatha", "Eldora", "Elysara", "Emberia", "Enara", "Erevia", "Esterra", "Ethora", "Evoria", "Faleris", "Farona", "Fenoria", "Ferros", "Florana", "Galara", "Galdora", "Ganyra", "Gareth", "Gorath", "Halara", "Heloria", "Hespera", "Hydrion", "Icarra", "Ilmara", "Ilyria", "Imeris", "Inara", "Ionia", "Iridia", "Iskora", "Ixara", "Janara", "Jovara", "Kaelith", "Kalara", "Kandora", "Karthis", "Kelora", "Kharon", "Korelia", "Krythia", "Lamara", "Lanthea", "Larion", "Lethara", "Lioris", "Lumara", "Luneth", "Lyssara", "Maelora", "Malthis", "Maravia", "Meridia", "Mireth", "Morana", "Myrris", "Nalara", "Neridia", "Nethora", "Nivalis", "Noctara", "Novara", "Nyxara", "Oceara", "Olmara", "Ondaris", "Orenth", "Orilia", "Othara", "Palaris", "Peloria", "Peridia", "Phaedra", "Pyrrha", "Qalara", "Quenora", "Ralith", "Ravena", "Relora", "Rhyona", "Rivara", "Saelora", "Salthis", "Seloria", "Serenia", "Shalara", "Solara", "Sylvara", "Talara", "Tamaris", "Telora", "Teravia", "Thalara", "Thyra", "Toralis", "Trivora", "Uloria", "Umbria", "Vaelora", "Valthis", "Velara", "Vesperia", "Virelia", "Volara", "Weylara", "Xandria", "Xelora", "Yalara", "Ydris", "Zaelora", "Zareth", "Zeridia", "Zyphora", ] const STARS := [ "Aldorin", "Althar", "Anteros", "Arcthel", "Asterion", "Astraeus", "Aurion", "Azareth", "Baelor", "Balthir", "Belthar", "Caelion", "Caldrin", "Caphiron", "Celion", "Cerath", "Corvian", "Cygnar", "Daelion", "Damarion", "Denaris", "Doranth", "Dracon", "Elarion", "Elthar", "Endrion", "Erethon", "Esterion", "Falrion", "Fendris", "Feron", "Galath", "Galdrian", "Gethar", "Haelion", "Haldor", "Heliar", "Hesperion", "Hyron", "Ildar", "Ilthion", "Indrath", "Iriath", "Iskar", "Jareth", "Jovion", "Kaelor", "Kalthar", "Keldrin", "Kharion", "Korath", "Kyron", "Laerion", "Lantor", "Larath", "Lethion", "Lorath", "Lumion", "Lyrian", "Maelthar", "Maldrin", "Mendros", "Merath", "Mithrion", "Morion", "Naelor", "Neldrin", "Nerath", "Nivalon", "Nocturion", "Oberion", "Olthar", "Orath", "Orionis", "Othrin", "Paelor", "Pelion", "Perath", "Pyron", "Quenthar", "Raelion", "Raldor", "Rethar", "Saelion", "Seldrin", "Serath", "Solion", "Sylthar", "Taelor", "Teldrin", "Tharion", "Theron", "Ulthar", "Vaelion", "Valdrin", "Velthar", "Veyron", "Xanthor", "Yldar", "Zerion", ] static func take_name(pool: Array, rng: RandomNumberGenerator) -> String: var index := rng.randi_range(0, pool.size() - 1) var result: String = pool[index] pool.remove_at(index) return result