Adds the Xanu System & Xanu Prime (#20917)

Adds a Xanu region for Xanu Prime to spawn in. Ice/barren asteroids as
possible spawns for mining operations.

Adds Xanu Prime as a visitable planet, with 2 regions: the arid
grasslands of Naya-Khyber; the tundra of Himavatia.

Only basic, super generic planet ruins included.

Random ground survey data available for scientific investigations.

The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| --- | --- | --- |
| /html/images/scans/exoplanets/xanu_prime.png | Kyres1 (Sourced from
our own wiki) | CC BY-SA 4.0 |
| /sound/music/regional/xanu/xanu_rock_1.ogg | Swara Sutra
(https://swarasutra.bandcamp.com/album/indulgence) | CC BY-NC-SA 3.0 |
| /sound/music/regional/xanu/xanu_rock_2.ogg | Swara Sutra
(https://swarasutra.bandcamp.com/album/indulgence) | CC BY-NC-SA 3.0 |
This commit is contained in:
smellie
2025-07-10 18:27:38 +01:00
committed by GitHub
parent 7b9692be60
commit 7b865b9f2e
21 changed files with 328 additions and 12 deletions
@@ -455,3 +455,91 @@
/mob/living/simple_animal/miervesh = 1
)
)
//Xanu Biomes
//TODO: Xanu flora and fauna
/singleton/biome/grass/xanu
turf_type = /turf/simulated/floor/exoplanet/grass/stalk
spawn_types = list(
GRASS_1 = list(
/obj/structure/flora/ausbushes/ywflowers = 1
),
GRASS_2 = list(
/obj/structure/flora/ausbushes/brflowers = 1
),
GRASS_3 = list(
/obj/structure/flora/ausbushes/ppflowers = 1
),
SMALL_FLORA = list(
/obj/structure/flora/ausbushes/ywflowers = 1,
/obj/structure/flora/ausbushes/brflowers = 1,
/obj/structure/flora/ausbushes/ppflowers = 1,
/obj/structure/flora/ausbushes/grassybush = 1,
/obj/structure/flora/ausbushes/palebush = 1,
/obj/structure/flora/ausbushes = 1,
/obj/structure/flora/ausbushes/fernybush = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 1
),
WILDLIFE = list() // No wildlife assets for xanu
)
/singleton/biome/grass/forest/xanu
turf_type = /turf/simulated/floor/exoplanet/grass/stalk
spawn_types = list(
LARGE_FLORA = list(
/obj/structure/flora/tree/grove = 1
),
SMALL_FLORA = list(
/obj/structure/flora/ausbushes/ywflowers = 1,
/obj/structure/flora/ausbushes/brflowers = 1,
/obj/structure/flora/ausbushes/ppflowers = 1,
/obj/structure/flora/ausbushes/grassybush = 1,
/obj/structure/flora/ausbushes/palebush = 1,
/obj/structure/flora/ausbushes = 1,
/obj/structure/flora/ausbushes/fernybush = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 1
),
WILDLIFE = list()
)
/singleton/biome/grass/riverside/xanu
turf_type = /turf/simulated/floor/exoplanet/grass/stalk
spawn_types = list(
PLANET_TURF = list(
/turf/simulated/floor/exoplanet/water/shallow = 1
),
SMALL_FLORA = list(
/obj/structure/flora/ausbushes/reedbush = 1,
/obj/structure/flora/ausbushes/stalkybush = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 1
),
WILDLIFE = list(
/mob/living/simple_animal/aquatic/fish/cod = 1,
/mob/living/simple_animal/aquatic/fish/gupper = 1
)
)
/singleton/biome/grass/chaparral/xanu
turf_type = /turf/simulated/floor/exoplanet/dirt_konyang
spawn_types = list(
GRASS_1 = list(
/obj/structure/flora/ausbushes/ywflowers = 1
),
GRASS_2 = list(
/obj/structure/flora/ausbushes/brflowers = 1
),
GRASS_3 = list(
/obj/structure/flora/ausbushes/ppflowers = 1
),
SMALL_FLORA = list(
/obj/structure/flora/ausbushes/grassybush = 1,
/obj/structure/flora/ausbushes/palebush = 1,
/obj/structure/flora/ausbushes = 1,
/obj/structure/flora/ausbushes/fernybush = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 1
),
WILDLIFE = list()
)
@@ -254,3 +254,51 @@
/singleton/biome/water/ice/polar
turf_type = /turf/simulated/floor/exoplanet/ice/dark
// Xanu Biomes
// TODO: Xanan wildlife
/singleton/biome/snow/xanu
spawn_types = list(
PLANET_TURF = list(/turf/simulated/floor/exoplanet/permafrost = 1),
GRASSES = list(
/obj/structure/flora/grass/both = 2,
/obj/structure/flora/grass/green = 1,
/obj/structure/flora/grass/brown = 1
),
LARGE_FLORA = list(
/obj/effect/floor_decal/snowdrift/large/random = 4,
/obj/structure/flora/rock/snow = 4,
/obj/structure/flora/tree/dead = 2,
/obj/structure/flora/tree/pine = 1,
/obj/effect/landmark/exoplanet_spawn/large_plant = 1
),
SMALL_FLORA = list(
/obj/structure/flora/bush = 2,
/obj/effect/floor_decal/snowrocks = 1,
/obj/effect/floor_decal/snowdrift/random = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 2
),
WILDLIFE = list() //No Xanu wildlife assets yet
)
/singleton/biome/snow/forest/xanu
spawn_types = list(
GRASSES = list(
/obj/structure/flora/grass/both = 1,
/obj/structure/flora/grass/green = 2,
/obj/structure/flora/grass/brown = 1
),
LARGE_FLORA = list(
/obj/structure/flora/rock/snow = 1,
/obj/structure/flora/tree/dead = 2,
/obj/structure/flora/tree/pine = 4,
/obj/effect/landmark/exoplanet_spawn/large_plant = 3
),
SMALL_FLORA = list(
/obj/structure/flora/bush = 3,
/obj/effect/floor_decal/snowrocks = 1,
/obj/effect/floor_decal/snowdrift/random = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 3
),
WILDLIFE = list() //no xanu wildlife assets yet
)
@@ -68,6 +68,10 @@
name = "Konyang Wilderness"
base_turf = /turf/simulated/floor/exoplanet/konyang
/area/exoplanet/grass/xanu
name = "Xanu Prime Wilderness"
base_turf = /turf/simulated/floor/exoplanet/grass/stalk
/area/exoplanet/lava
name = "\improper Planetary surface"
ambience = AMBIENCE_LAVA
@@ -158,3 +158,28 @@
BIOME_SEMIARID = 0.5,
BIOME_SUBHUMID = 1.0
)
/datum/exoplanet_theme/grass/xanu_nayakhyber
name = "Naya Khyber"
surface_turfs = list(
/turf/simulated/floor/exoplanet/grass/stalk,
/turf/simulated/mineral/planet
)
possible_biomes = list(
BIOME_COOL = list(
BIOME_ARID = /singleton/biome/grass/xanu,
BIOME_SEMIARID = /singleton/biome/grass/chaparral/xanu,
BIOME_SUBHUMID = /singleton/biome/grass/forest/xanu
),
BIOME_WARM = list(
BIOME_ARID = /singleton/biome/grass/chaparral/xanu,
BIOME_SEMIARID = /singleton/biome/grass/chaparral/xanu,
BIOME_SUBHUMID = /singleton/biome/grass/riverside/xanu
),
BIOME_EQUATOR = list(
BIOME_ARID = /singleton/biome/grass/forest/xanu,
BIOME_SEMIARID = /singleton/biome/grass/forest/xanu,
BIOME_SUBHUMID = /singleton/biome/grass/chaparral/xanu
)
)
@@ -89,3 +89,17 @@
BIOME_SEMIARID = /singleton/biome/snow/adhomai/polar/eclipse
)
)
/datum/exoplanet_theme/snow/tundra/xanu_himavatia
name = "Himavatian Tundra"
possible_biomes = list(
BIOME_POLAR = list(
BIOME_ARID = /singleton/biome/water/ice,
BIOME_SEMIARID = /singleton/biome/snow/xanu
),
BIOME_COOL = list(
BIOME_ARID = /singleton/biome/snow/xanu,
BIOME_SEMIARID = /singleton/biome/snow/forest/xanu
)
)