Uueoa-Esa, Part 1: Sector & Planets (#18941)

Adds the Uueoa-Esa system, its skybox and stargazer, and its lore
planets, currently without ruins for ease of review.
This commit is contained in:
RustingWithYou
2024-04-18 14:03:05 +00:00
committed by GitHub
parent 61668a3d58
commit a066384247
43 changed files with 1232 additions and 17 deletions
+2
View File
@@ -576,6 +576,8 @@ var/list/asset_datums = list()
"konyang.png" = 'html/images/scans/exoplanets/konyang.png',
"konyang_point_verdant.png" = 'html/images/scans/exoplanets/konyang_point_verdant.png',
"biesel.png" = 'html/images/scans/exoplanets/biesel.png',
"moghes.png" = 'html/images/scans/exoplanets/moghes.png',
"chanterel.png" = 'html/images/scans/exoplanets/chanterel.png',
//end scan images
"bluebird.woff" = 'html/fonts/OFL/Bluebird.woff',
"grandhotel.woff" = 'html/fonts/OFL/GrandHotel.woff',
@@ -109,7 +109,29 @@
name = SECTOR_UUEOAESA
description = "The home of the Unathi race, Uueoa-Esa is a solar system with 4 rocky planets and 1 gas giant. Moghes is the homeworld of the Unathi species and third from its mother star. \
It is similar in density and composition to Earth and held host to varied and complex environments and local fauna and flora. It's surface area of salt water is much lower than most other habitable planets. \
Moghes is currently experiencing immense environmental degradation following a global nuclear war in the 2430's."
starlight_color = COLOR_WHITE
starlight_power = 5
starlight_range = 1
Moghes is currently experiencing immense environmental degradation following a global nuclear war in the 2430s."
skybox_icon = "uueoaesa"
starlight_color = "#f8711e"
starlight_power = 2
starlight_range = 4
cargo_price_coef = list("nt" = 1.5, "hpi" = 0.5, "zhu" = 1.5, "een" = 1.5, "get" = 1.2, "arz" = 0.5, "blm" = 1.2, "iac" = 1.0, "zsc" = 0.9, "vfc" = 1.2, "bis" = 1.5, "xmg" = 0.6, "npi" = 1.5)
sector_welcome_message = 'sound/AI/welcome_hegemony.ogg'
scheduled_port_visits = list("Thursday", "Sunday")
ports_of_call = list("the city of Skalamar")
possible_exoplanets = list(
/obj/effect/overmap/visitable/sector/exoplanet/barren/omzoli,
/obj/effect/overmap/visitable/sector/exoplanet/barren/pid,
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/chanterel,
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/ytizi,
/obj/effect/overmap/visitable/sector/exoplanet/ouerea,
/obj/effect/overmap/visitable/sector/exoplanet/moghes
)
lore_radio_stations = list(
"72.4 Radio Free Ouerea" = "config/lore_radio/uueoaesa/72.4_Radio_Free_Ouerea.txt",
"83.3 Canyon City Radio" = "config/lore_radio/uueoaesa/83.3_Canyon_City_Radio.txt",
"132.6 SkaldFM" = "config/lore_radio/uueoaesa/132.6_Skald_FM.txt",
"166.8 Discontinued Emergency Broadcast" = "config/lore_radio/uueoaesa/166.8_Azarak_Emergency_Broadcast.txt"
)
@@ -0,0 +1,269 @@
//Omzoli
/obj/effect/overmap/visitable/sector/exoplanet/barren/omzoli
name = "Omzoli"
desc = "A small and barren planet, bereft of anything other than scientific value and some small mineral deposits"
color = "#a39f9e"
icon_state = "globe"
rock_colors = list(COLOR_GRAY80)
possible_themes = list(/datum/exoplanet_theme/barren)
features_budget = 1
surface_color = "#6b6464"
generated_name = FALSE
charted = "Unathi core world. Charted 2403CE, Sol Alliance Department of Colonization"
geology = "Low mineral levels. No active geothermal signatures detected. "
ring_chance = 0
ruin_planet_type = PLANET_LORE
ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/izweski_probe, /datum/map_template/ruin/exoplanet/heph_survey_post, /datum/map_template/ruin/exoplanet/kazhkz_crash)
/obj/effect/overmap/visitable/sector/exoplanet/barren/omzoli/get_surface_color()
return "#6b6464"
/obj/effect/overmap/visitable/sector/exoplanet/barren/omzoli/update_icon()
return
/obj/effect/overmap/visitable/sector/exoplanet/barren/omzoli/generate_ground_survey_result()
..()
ground_survey_result += "<br>Trace mineral deposits detected in regolith"
ground_survey_result += "<br>Planetary rotation counter to spin of local star and other planets in system"
ground_survey_result += "<br>Carbon-dating indicates planetary age of at least 6.32 billion years"
ground_survey_result += "<br>Lack of atmosphere and unusual rotation can cause extremely wild temperature fluctuations"
ground_survey_result += "<br>High chance of meteor impact indicated through analysis of local surface craters"
//Pid
/obj/effect/overmap/visitable/sector/exoplanet/barren/pid
name = "Pid"
desc = "Tret's moon, now home to a majority of K'laxan k'ois farming efforts."
icon_state = "asteroid"
color = "#ddff61"
rock_colors = list("#93948f")
features_budget = 1
surface_color = "#83857f"
charted = "Natural satellite of Tret, Unathi core world. Charted 2403CE, Sol Alliance Department of Colonization"
generated_name = FALSE
small_flora_types = list(/datum/seed/koisspore)
possible_themes = list(/datum/exoplanet_theme/barren/pid)
ring_chance = 0
ruin_planet_type = PLANET_LORE
planetary_area = /area/exoplanet/barren/pid
ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/pid_crashed_shuttle, /datum/map_template/ruin/exoplanet/pid_kois_farm, /datum/map_template/ruin/exoplanet/izweski_probe, /datum/map_template/ruin/exoplanet/heph_survey_post, /datum/map_template/ruin/exoplanet/kazhkz_crash)
/obj/effect/overmap/visitable/sector/exoplanet/barren/pid/generate_atmosphere()
..()
if(atmosphere)
atmosphere.remove_ratio(1)
atmosphere.adjust_gas(GAS_NITROGEN, MOLES_N2STANDARD)
atmosphere.temperature = T0C + 20
atmosphere.update_values()
/obj/effect/overmap/visitable/sector/exoplanet/barren/pid/generate_ground_survey_result()
..()
ground_survey_result += "<br>Trace elements of phoron and biological matter detected in local atmosphere"
ground_survey_result += "<br>Small mineral deposits detected, largely untapped"
ground_survey_result += "<br>Evidence of lava tubes being present in the subsurface"
ground_survey_result += "<br>K'ois spores detected in local soil. Sample destruction recommended"
ground_survey_result += "<br>Surface soil may provide adequate radiation shielding"
//Ytizi Belt Asteroid. This exists solely for unique away site spawns, and is otherwise indistinguishable from a regular asteroid
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/ytizi
name = "Ytizi Belt asteroid"
desc = "One of the many mineral-rich asteroids found in the Uueoa-Esa system's asteroid belt"
icon_state = "asteroid2"
possible_themes = list(/datum/exoplanet_theme/barren/asteroid, /datum/exoplanet_theme/barren/asteroid/ice)
ruin_planet_type = PLANET_LORE
features_budget = 3
ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/heph_mining_station, /datum/map_template/ruin/exoplanet/miners_guild_outpost, /datum/map_template/ruin/exoplanet/sol_listening_post, /datum/map_template/ruin/exoplanet/crashed_sol_shuttle_01, /datum/map_template/ruin/exoplanet/crashed_skrell_shuttle_01, /datum/map_template/ruin/exoplanet/digsite, /datum/map_template/ruin/exoplanet/abandoned_outpost, /datum/map_template/ruin/exoplanet/izweski_probe, /datum/map_template/ruin/exoplanet/heph_survey_post, /datum/map_template/ruin/exoplanet/kazhkz_crash)
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/ytizi/pre_ruin_preparation()
if(istype(theme, /datum/exoplanet_theme/barren/asteroid/ice))
surface_color = COLOR_BLUE_GRAY
else
surface_color = COLOR_GRAY
//Chanterel
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/chanterel
name = "Chanterel"
desc = "Moghes' only moon. Rich in minerals, it is home to several mining operations."
icon_state = "asteroid"
color = "#dddedc"
possible_themes = list(/datum/exoplanet_theme/barren/asteroid/chanterel)
rock_colors = list("#c9c9c7")
features_budget = 3
surface_color = "#a3a3a3"
charted = "Natural satellite of Moghes, Unathi homeworld. Charted 2403CE, Sol Alliance Department of Colonization"
geology = "Large mineral deposits. No sign of geothermal activity."
generated_name = FALSE
ring_chance = 0
ruin_planet_type = PLANET_LORE
place_near_main = list(2,2)
ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/heph_mining_station, /datum/map_template/ruin/exoplanet/miners_guild_outpost, /datum/map_template/ruin/exoplanet/digsite, /datum/map_template/ruin/exoplanet/abandoned_outpost, /datum/map_template/ruin/exoplanet/crashed_sol_shuttle_01, /datum/map_template/ruin/exoplanet/crashed_skrell_shuttle_01, /datum/map_template/ruin/exoplanet/izweski_probe, /datum/map_template/ruin/exoplanet/heph_survey_post, /datum/map_template/ruin/exoplanet/kazhkz_crash)
scanimage = "chanterel.png"
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/chanterel/generate_planet_image()
skybox_image = image('icons/skybox/lore_planets.dmi', "chanterel")
skybox_image.pixel_x = rand(0,64)
skybox_image.pixel_y = rand(128,256)
/obj/effect/overmap/visitable/sector/exoplanet/barren/asteroid/chanterel/generate_ground_survey_result()
..()
ground_survey_result += "<br>No geothermal activity observed in the planetary core"
ground_survey_result += "<br>Silicon carbides found deep in the crust"
ground_survey_result += "<br>Oxygen found in locally stable metal oxides"
ground_survey_result += "<br>Regolith rich in heavy silicate alloys"
ground_survey_result += "<br>Traces of fusile material"
//Moghes
/obj/effect/overmap/visitable/sector/exoplanet/moghes
name = "Moghes"
desc = "The hot and arid homeworld of the Unathi race, and capital world of the Izweski Hegemony. Moghes is currently suffering from an ongoing ecological collapse due to recent nuclear war."
icon_state = "globe2"
color = "#dfe08d"
planetary_area = /area/exoplanet/moghes
massvolume = "0.97/1.03"
surfacegravity = "0.93"
charted = "Unathi homeworld. Charted 2403CE, Sol Alliance Department of Colonization"
geology = "High tectonic heat. Significant geothermal activity detected."
weather = "Global full-atmosphere hydrological weather system. Substantial meteorological activity, violent storms unpredictable. Heavy radioactive contamination detected in atmosphere."
surfacewater = "34% surface water. Weak tidal forces from natural satellite."
scanimage = "moghes.png"
ring_chance = 0
rock_colors = list(COLOR_BEIGE, COLOR_PALE_YELLOW, COLOR_GRAY80, COLOR_BROWN)
plant_colors = null
possible_themes = list(/datum/exoplanet_theme/grass/moghes) //default to untouched lands in case pre_ruin_preparation fucks up
features_budget = 8
flora_diversity = 0
has_trees = FALSE
small_flora_types = list(/datum/seed/xuizi, /datum/seed/gukhe, /datum/seed/sarezhi, /datum/seed/flower/serkiflower, /datum/seed/sthberry)
surface_color = "#e8faff"
generated_name = FALSE
ruin_planet_type = PLANET_LORE
//ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/moghes_village) //defaults to village bc for some reason nothing spawns if this is empty
place_near_main = list(2,2)
actors = list("reptilian humanoid", "three-faced reptilian humanoid", "a statue", "a sword", "an unidentifiable object", "an Unathi skull", "a staff", "a fishing spear", "reptilian humanoids", "unusual devices", "a pyramid")
var/landing_region
/obj/effect/overmap/visitable/sector/exoplanet/moghes/pre_ruin_preparation()
if(prob(30))
landing_region = "Untouched Lands"
else
landing_region = "Wasteland"
switch(landing_region)
if("Untouched Lands")
possible_themes = list(/datum/exoplanet_theme/grass/moghes) //non-nuked theme
surface_color = "#164a14"
//Untouched Lands ruins
//ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/moghes_village, /datum/map_template/ruin/exoplanet/moghes_heph_mining, /datum/map_template/ruin/exoplanet/moghes_bar, /datum/map_template/ruin/exoplanet/moghes_hegemony_base, /datum/map_template/ruin/exoplanet/moghes_skakh, /datum/map_template/ruin/exoplanet/moghes_thakh, /datum/map_template/ruin/exoplanet/moghes_kung_fu, /datum/map_template/ruin/exoplanet/moghes_fishing_spot, /datum/map_template/ruin/exoplanet/moghes_memorial, /datum/map_template/ruin/exoplanet/moghes_guild_mining, /datum/map_template/ruin/exoplanet/moghes_threshbeast_herd, /datum/map_template/ruin/exoplanet/moghes_diona_traders, /datum/map_template/ruin/exoplanet/moghes_untouched_tyrant)
if("Wasteland")
possible_themes = list(/datum/exoplanet_theme/desert/wasteland) //nuked theme
surface_color = "#faeac5"
//Wasteland ruins
//ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/moghes_guwandi, /datum/map_template/ruin/exoplanet/moghes_gawgaryn_bikers, /datum/map_template/ruin/exoplanet/moghes_kataphract_wasteland, /datum/map_template/ruin/exoplanet/moghes_wasteland_dorviza, /datum/map_template/ruin/exoplanet/moghes_wasteland_ozeuoi, /datum/map_template/ruin/exoplanet/moghes_wasteland_vihnmes, /datum/map_template/ruin/exoplanet/moghes_wasteland_village, /datum/map_template/ruin/exoplanet/moghes_wasteland_izweski, /datum/map_template/ruin/exoplanet/moghes_siakh, /datum/map_template/ruin/exoplanet/moghes_queendom, /datum/map_template/ruin/exoplanet/moghes_wasteland_klax, /datum/map_template/ruin/exoplanet/moghes_wasteland_reclaimer, /datum/map_template/ruin/exoplanet/moghes_wasteland_mikuetz, /datum/map_template/ruin/exoplanet/moghes_wasteland_crater, /datum/map_template/ruin/exoplanet/moghes_wasteland_oasis, /datum/map_template/ruin/exoplanet/moghes_wasteland_battlefield, /datum/map_template/ruin/exoplanet/moghes_ruined_base, /datum/map_template/ruin/exoplanet/moghes_wasteland_tomb, /datum/map_template/ruin/exoplanet/moghes_wasteland_bomb, /datum/map_template/ruin/exoplanet/moghes_wasteland_crash, /datum/map_template/ruin/exoplanet/moghes_wasteland_priests, /datum/map_template/ruin/exoplanet/moghes_dead_guwandi, /datum/map_template/ruin/exoplanet/moghes_gawgaryn_riders, /datum/map_template/ruin/exoplanet/moghes_wasteland_tyrant)
desc += " The landing sites are located in the [landing_region]."
/obj/effect/overmap/visitable/sector/exoplanet/moghes/generate_habitability()
return HABITABILITY_IDEAL
/obj/effect/overmap/visitable/sector/exoplanet/moghes/generate_map()
if(prob(75))
lightlevel = rand(5,10)/10
..()
/obj/effect/overmap/visitable/sector/exoplanet/moghes/generate_atmosphere()
..()
if(atmosphere)
atmosphere.remove_ratio(1)
atmosphere.adjust_gas(GAS_OXYGEN, MOLES_O2STANDARD, 1)
atmosphere.adjust_gas(GAS_NITROGEN, MOLES_N2STANDARD, 1)
if(landing_region == "Wasteland")
atmosphere.temperature = T0C + rand(40, 50)
else
atmosphere.temperature = T0C + rand(30, 40)
atmosphere.update_values()
/obj/effect/overmap/visitable/sector/exoplanet/moghes/update_icon()
return
/obj/effect/overmap/visitable/sector/exoplanet/moghes/generate_planet_image()
skybox_image = image('icons/skybox/lore_planets.dmi', "moghes")
skybox_image.pixel_x = rand(0,64)
skybox_image.pixel_y = rand(128,256)
/obj/effect/overmap/visitable/sector/exoplanet/moghes/generate_ground_survey_result()
..()
switch(landing_region)
if("Untouched Lands")
ground_survey_result += "<br>Low levels of radioactive material detected in the soil"
ground_survey_result += "<br>Signs indicate soil is undergoing signs of early nutrient depletion"
ground_survey_result += "<br>Stratigraphy indicates low risk of tectonic activity in this region"
ground_survey_result += "<br>Fossilized organic material found settled in sedimentary rock"
ground_survey_result += "<br>Soft clays detected, composed of quartz and calcites"
ground_survey_result += "<br>Trace signs of radioactive contamination present in local surface water deposits"
if("Wasteland")
ground_survey_result += "<br>Extremely high levels of radioactive material detected in the soil"
ground_survey_result += "<br>Soil near-completely depleted of nutrients."
ground_survey_result += "<br>High concentration of decayed organic matter detected in soil samples"
ground_survey_result += "<br>Fragmented concrete detected within local soil. High levels of radiation indicated"
ground_survey_result += "<br>Geological analysis suggests there were once large bodies of water in this region"
ground_survey_result += "<br>Fossilized organic material found settled in sedimentary rock"
if(prob(10))
ground_survey_result += "<br>Signs of a large subterranean aquifer in this region"
//Ouerea
/obj/effect/overmap/visitable/sector/exoplanet/ouerea
name = "Ouerea"
desc = "The fourth planet from the Uueoa-Esa star, Ouerea was the first planet colonized by the Unathi. It is now home to most of the Hegemony's food production, as ecological collapse devastated Moghes"
icon_state = "globe1"
color = "#0b9e68"
planetary_area = /area/exoplanet/ouerea
massvolume = "0.94/1.0"
surfacegravity = "0.98"
charted = "Unathi core world. Charted 2403CE, Sol Alliance Department of Colonization"
geology = "High-energy geothermal signature, tectonic activity non-obstructive to surface environment"
weather = "Global full-atmosphere hydrological weather system. Dangerous meteorological activity not present"
surfacewater = "67% surface water. Four major surface seas detected."
rock_colors = null
plant_colors = null
possible_themes = list(/datum/exoplanet_theme/grass/ouerea)
features_budget = 6
ring_chance = 0
flora_diversity = 0
has_trees = FALSE
small_flora_types = list(/datum/seed/xuizi, /datum/seed/gukhe, /datum/seed/aghrassh)
generated_name = FALSE
ruin_planet_type = PLANET_LORE
//ruin_type_whitelist = list(/datum/map_template/ruin/exoplanet/ouerea_heph_mining, /datum/map_template/ruin/exoplanet/ouerea_village, /datum/map_template/ruin/exoplanet/ouerea_bar, /datum/map_template/ruin/exoplanet/ouerea_autakh, /datum/map_template/ruin/exoplanet/ouerea_hegemony_base, /datum/map_template/ruin/exoplanet/ouerea_farm, /datum/map_template/ruin/exoplanet/ouerea_fishing_spot, /datum/map_template/ruin/exoplanet/ouerea_sol_base, /datum/map_template/ruin/exoplanet/ouerea_skrell_base, /datum/map_template/ruin/exoplanet/ouerea_guild_mining, /datum/map_template/ruin/exoplanet/ouerea_nt_ruin, /datum/map_template/ruin/exoplanet/ouerea_freewater, /datum/map_template/ruin/exoplanet/ouerea_battlefield, /datum/map_template/ruin/exoplanet/ouerea_threshbeast_herd)
place_near_main = list(2,2)
/obj/effect/overmap/visitable/sector/exoplanet/ouerea/generate_habitability()
return HABITABILITY_IDEAL
/obj/effect/overmap/visitable/sector/exoplanet/ouerea/generate_map()
if(prob(75))
lightlevel = rand(5,10)/10
..()
/obj/effect/overmap/visitable/sector/exoplanet/ouerea/generate_atmosphere()
..()
if(atmosphere)
atmosphere.remove_ratio(1)
atmosphere.adjust_gas(GAS_OXYGEN, MOLES_O2STANDARD, 1)
atmosphere.adjust_gas(GAS_NITROGEN, MOLES_N2STANDARD, 1)
atmosphere.temperature = T0C + rand(25, 30)
atmosphere.update_values()
/obj/effect/overmap/visitable/sector/exoplanet/ouerea/update_icon()
return
/obj/effect/overmap/visitable/sector/exoplanet/ouerea/generate_ground_survey_result()
..()
ground_survey_result += "<br>High quality natural fertilizer found in subterranean pockets"
ground_survey_result += "<br>Chemical extraction indicates soil is rich in major and secondary nutrients for agriculture"
ground_survey_result += "<br>Extensive subterranean water deposits detected"
ground_survey_result += "<br>Stratigraphy indicates moderate risk of tectonic activity in this region"
ground_survey_result += "<br>Muddy dirt rich in organic material"
ground_survey_result += "<br>Fossilized organic material found settled in sedimentary rock"
ground_survey_result += "<br>High nitrogen and phosphorus contents of the soil"
@@ -64,6 +64,9 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy/mannequin)
/mob/living/carbon/human/stok/Initialize(mapload)
. = ..(mapload, SPECIES_MONKEY_UNATHI)
/mob/living/carbon/human/stok/moghes
faction = "Moghes"
/mob/living/carbon/human/bug/Initialize(mapload)
. = ..(mapload, SPECIES_MONKEY_VAURCA)
src.gender = FEMALE
@@ -16,6 +16,7 @@
response_disarm = "gently pushes aside"
response_harm = "kicks"
attacktext = "kicked"
faction = "Moghes"
maxHealth = 100
health = 100
@@ -59,6 +60,7 @@
response_disarm = "gently pushes aside"
response_harm = "kicks"
attacktext = "kicked"
faction = "Moghes"
maxHealth = 200
health = 200
@@ -94,6 +96,7 @@
/mob/living/simple_animal/aquatic/fish/moghes
name = "orszi fish"
desc = "A small fish native to the rivers and seas of the planet Moghes, the orzsi or 'swarm fish' is a common food source for noble and common Unathi alike."
faction = "Moghes"
/mob/living/simple_animal/otzek
name = "otzek"
@@ -110,6 +113,7 @@
emote_see = list("flicks its tongue", "shakes its head")
speak_chance = 1
turns_per_move = 5
faction = "Moghes"
organ_names = list("head", "chest", "right fore leg", "left fore leg", "right rear leg", "left rear leg", "tail")
response_help = "pets"
@@ -138,6 +142,7 @@
emote_see = list("pecks at the ground","flaps its wings","flicks out its tongue")
speak_chance = 1
turns_per_move = 5
faction = "Moghes"
organ_names = list("head", "chest", "left leg", "right leg", "left wing", "right wing")
response_help = "pets"
@@ -23,3 +23,12 @@
/singleton/biome/barren/asteroid/ice
turf_type = /turf/simulated/floor/exoplanet/ice
/singleton/biome/barren/pid
turf_type = /turf/simulated/floor/exoplanet/barren
generators = list(SMALL_FLORA = list(POISSON_SAMPLE, 7))
spawn_types = list(
SMALL_FLORA = list(
/obj/effect/landmark/exoplanet_spawn/plant = 2
)
)
@@ -75,3 +75,29 @@
/mob/living/simple_animal/tindalos = 1
)
)
/singleton/biome/desert/wasteland //TODO: Add cool wrecked shit for the wasteland
generators = list(
GRASSES = list(BATCHED_NOISE, -0.1, 360, 4),
SMALL_FLORA = list(POISSON_SAMPLE, 7),
LARGE_FLORA = list(POISSON_SAMPLE, 7),
WILDLIFE = list(POISSON_SAMPLE, 45)
)
spawn_types = list(
GRASSES = list(
/obj/structure/flora/grass/desert/bush = 1,
/obj/structure/flora/grass/desert = 3
),
SMALL_FLORA = list(
/obj/structure/flora/rock/desert = 1,
/obj/structure/flora/rock/desert/scrub = 3,
),
LARGE_FLORA = list(
/obj/structure/flora/tree/desert/tiny = 1
),
WILDLIFE = list(
/mob/living/simple_animal/hostile/shrieker = 1,
/mob/living/carbon/human/stok/moghes = 1,
/mob/living/simple_animal/threshbeast = 1
)
)
@@ -193,3 +193,265 @@
/mob/living/simple_animal/cosmozoan = 1,
)
)
//Moghes Biomes
//TODO - add Moghes flora and fauna here when they're implemented, as well as generic structure/flora for the planet.
/singleton/biome/grass/moghes
turf_type = /turf/simulated/floor/exoplanet/grass/moghes
generators = list(
SMALL_FLORA = list(POISSON_SAMPLE, 4),
GRASSES = list(BATCHED_NOISE, -0.1, 360, 4),
WILDLIFE = list(POISSON_SAMPLE, 10)
)
spawn_types = list(
SMALL_FLORA = list(
/obj/structure/flora/bush/jungle/random = 3,
/obj/structure/flora/bush/jungle/b/random = 3,
/obj/structure/flora/bush/jungle/c/random = 3,
/obj/effect/landmark/exoplanet_spawn/plant = 3
),
GRASSES = list(
/obj/structure/flora/grass/junglegrass/random = 4,
/obj/structure/flora/grass/junglegrass/dense/random = 2,
/obj/structure/flora/grass/junglegrass/rocky/random = 1
),
WILDLIFE = list(
/mob/living/carbon/human/stok/moghes = 1,
/mob/living/simple_animal/threshbeast = 1,
/mob/living/simple_animal/hostile/retaliate/hegeranzi = 1,
/mob/living/simple_animal/hostile/shrieker = 1,
/mob/living/simple_animal/otzek = 1
//other mobs when added
)
)
/singleton/biome/grass/forest/moghes
turf_type = /turf/simulated/floor/exoplanet/grass/moghes
generators = list(
LARGE_FLORA = list(POISSON_SAMPLE, 5),
SMALL_FLORA = list(POISSON_SAMPLE, 1),
GRASSES = list(BATCHED_NOISE, 0.1, 360, 4),
WILDLIFE = list(POISSON_SAMPLE, 15)
)
exclusive_generators = list(LARGE_FLORA, SMALL_FLORA)
spawn_types = list(
LARGE_FLORA = list(
/obj/structure/flora/tree/jungle/small/random = 5,
/obj/structure/flora/tree/jungle/random = 1
),
SMALL_FLORA = list(
/obj/structure/flora/bush/jungle/large/random = 1,
/obj/structure/flora/bush/jungle/random = 3,
/obj/structure/flora/bush/jungle/b/random = 3,
/obj/structure/flora/bush/jungle/c/random = 3,
/obj/effect/landmark/exoplanet_spawn/plant = 3
),
GRASSES = list(
/obj/structure/flora/grass/junglegrass/random = 4,
/obj/structure/flora/grass/junglegrass/dense/random = 2,
/obj/structure/flora/grass/junglegrass/rocky/random = 1
),
WILDLIFE = list(
/mob/living/carbon/human/stok/moghes = 1,
/mob/living/simple_animal/threshbeast = 1,
/mob/living/simple_animal/hostile/retaliate/hegeranzi = 1,
/mob/living/simple_animal/hostile/shrieker = 1,
/mob/living/simple_animal/otzek = 1
//other mobs when added
)
)
/singleton/biome/grass/riverside/moghes
turf_type = /turf/simulated/floor/exoplanet/grass/moghes
generators = list(
PLANET_TURF = list(HEIGHT_MOD, 0.95),
SMALL_FLORA = list(POISSON_SAMPLE, 1),
WILDLIFE = list(POISSON_SAMPLE, 15)
)
exclusive_generators = list(PLANET_TURF)
spawn_types = list(
PLANET_TURF = list(
/turf/simulated/floor/exoplanet/water/shallow/moghes = 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/carbon/human/stok/moghes = 1,
/mob/living/simple_animal/threshbeast = 1,
/mob/living/simple_animal/hostile/retaliate/hegeranzi = 1,
/mob/living/simple_animal/hostile/shrieker = 1,
/mob/living/simple_animal/aquatic/fish/moghes = 1,
/mob/living/simple_animal/otzek = 1
//other mobs when added
)
)
/singleton/biome/grass/chaparral/moghes
generators = list(
GRASS_1 = list(BATCHED_NOISE, -0.4, 360, 4),
GRASS_2 = list(BATCHED_NOISE, -0.4, 360, 4),
GRASS_3 = list(BATCHED_NOISE, -0.4, 360, 4),
SMALL_FLORA = list(POISSON_SAMPLE, 3),
WILDLIFE = list(POISSON_SAMPLE, 15)
)
exclusive_generators = list(GRASS_1, GRASS_2, GRASS_3)
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(
/mob/living/carbon/human/stok/moghes = 1,
/mob/living/simple_animal/threshbeast = 1,
/mob/living/simple_animal/hostile/retaliate/hegeranzi = 1,
/mob/living/simple_animal/hostile/shrieker = 1,
/mob/living/simple_animal/otzek = 1
//other mobs when added
)
)
//Ouerea Biomes
//TODO: Ouerea flora and fauna
/singleton/biome/grass/ouerea
turf_type = /turf/simulated/floor/exoplanet/grass
generators = list(
GRASS_1 = list(BATCHED_NOISE, -0.3, 360, 4),
GRASS_2 = list(BATCHED_NOISE, -0.3, 360, 4),
GRASS_3 = list(BATCHED_NOISE, -0.3, 360, 4),
SMALL_FLORA = list(POISSON_SAMPLE, 6),
WILDLIFE = list(POISSON_SAMPLE, 15)
)
exclusive_generators = list(GRASS_1, GRASS_2, GRASS_3)
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(
/mob/living/simple_animal/threshbeast = 1,
/mob/living/simple_animal/otzek = 1,
/mob/living/simple_animal/miervesh = 1
)
)
/singleton/biome/grass/forest/ouerea
turf_type = /turf/simulated/floor/exoplanet/grass
generators = list(
LARGE_FLORA = list(POISSON_SAMPLE, 5),
SMALL_FLORA = list(POISSON_SAMPLE, 1),
WILDLIFE = list(POISSON_SAMPLE, 15)
)
exclusive_generators = list(LARGE_FLORA)
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(
/mob/living/simple_animal/threshbeast = 1,
/mob/living/simple_animal/otzek = 1,
/mob/living/simple_animal/miervesh = 1
)
)
/singleton/biome/grass/riverside/ouerea
turf_type = /turf/simulated/floor/exoplanet/grass
generators = list(
PLANET_TURF = list(HEIGHT_MOD, 0.95),
SMALL_FLORA = list(POISSON_SAMPLE, 1),
WILDLIFE = list(POISSON_SAMPLE, 15)
)
exclusive_generators = list(PLANET_TURF)
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/threshbeast = 1,
/mob/living/simple_animal/aquatic/fish/moghes = 1,
/mob/living/simple_animal/otzek = 1,
/mob/living/simple_animal/miervesh = 1
)
)
/singleton/biome/grass/chaparral/ouerea
turf_type = /turf/simulated/floor/exoplanet/grass
generators = list(
GRASS_1 = list(BATCHED_NOISE, -0.4, 360, 4),
GRASS_2 = list(BATCHED_NOISE, -0.4, 360, 4),
GRASS_3 = list(BATCHED_NOISE, -0.4, 360, 4),
SMALL_FLORA = list(POISSON_SAMPLE, 3),
WILDLIFE = list(POISSON_SAMPLE, 15)
)
exclusive_generators = list(GRASS_1, GRASS_2, GRASS_3)
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(
/mob/living/simple_animal/threshbeast = 1,
/mob/living/simple_animal/otzek = 1,
/mob/living/simple_animal/miervesh = 1
)
)
@@ -29,11 +29,25 @@
/area/exoplanet/barren/burzsia
name = "Burzsia Surface"
/area/exoplanet/barren/pid
name = "Pid Surface"
area_blurb = "The surface of this moon is lifeless and rocky - almost. A faint yellow light suffuses the ground, the dim glow of spores in bloom."
/area/exoplanet/crystal
name = "\improper Planetary surface"
ambience = AMBIENCE_SPACE
base_turf = /turf/simulated/floor/exoplanet/crystal
/area/exoplanet/moghes //ambience and area_blurb are set on init
name = "Moghes Wilderness"
base_turf = /turf/simulated/floor/exoplanet/grass/moghes/dirt
/area/exoplanet/ouerea
name = "Ouerea Wilderness"
ambience = AMBIENCE_JUNGLE
base_turf = /turf/simulated/floor/exoplanet/barren
area_blurb = "Strange grasses beneath your feet, and a warm breeze in the air. The shapes of strange flying reptiles dart between the trees, their bright and clear calls drifting on the wind."
/area/exoplanet/desert
ambience = list('sound/effects/wind/desert0.ogg','sound/effects/wind/desert1.ogg','sound/effects/wind/desert2.ogg','sound/effects/wind/desert3.ogg','sound/effects/wind/desert4.ogg','sound/effects/wind/desert5.ogg')
base_turf = /turf/simulated/floor/exoplanet/desert
@@ -45,3 +45,16 @@
/turf/simulated/floor/exoplanet/grass/marsh/Initialize()
. = ..()
icon_state = "marsh[rand(1,8)]"
/turf/simulated/floor/exoplanet/grass/moghes
icon = 'icons/turf/flooring/exoplanet/moghes.dmi'
icon_state = "grass"
color = null
/turf/simulated/floor/exoplanet/grass/moghes/dirt
icon_state = "dirt"
color = null
does_footprint = TRUE
/turf/simulated/floor/exoplanet/grass/moghes/dirt/beach
icon_state = "beach"
@@ -171,6 +171,10 @@
W.germ_level = INFECTION_LEVEL_ONE
W.germ_level += rand(10, 50)
/turf/simulated/floor/exoplanet/water/shallow/moghes
icon = 'icons/turf/flooring/exoplanet/moghes.dmi'
icon_state = "water"
/turf/simulated/floor/exoplanet/water/proc/wash(atom/movable/O)
var/obj/effect/effect/water/W = new(O)
@@ -205,6 +205,7 @@
generate_flora()
generate_map()
generate_features()
theme.after_map_generation(src)
generate_landing(2)
update_biome()
generate_planet_image()
@@ -356,3 +356,5 @@
M.UpdateMineral() // It's already a mineral turf, so we can avoid changeturf here
/datum/exoplanet_theme/proc/get_planet_image_extra()
/datum/exoplanet_theme/proc/after_map_generation(obj/effect/overmap/visitable/sector/exoplanet/E) //after the map is generated and ruins exist
@@ -94,3 +94,55 @@
ORE_PHORON = list(0, 2)
)
)
/datum/exoplanet_theme/barren/pid
name = "Pid"
possible_biomes = list(
BIOME_POLAR = list(
BIOME_ARID = /singleton/biome/barren/pid
)
)
/datum/exoplanet_theme/barren/asteroid/chanterel
name = "Chanterel"
surface_turfs = list(
/turf/simulated/mineral/planet,
/turf/simulated/floor/exoplanet/barren
)
possible_biomes = list(
BIOME_POLAR = list(
BIOME_ARID = /singleton/biome/barren
)
)
wall_ore_levels = list(
ORE_PLATINUM = 0.6,
ORE_DIAMOND = 0.6,
ORE_URANIUM = 0.7,
ORE_GOLD = 0.68,
ORE_SILVER = 0.7,
ORE_COAL = 0.9,
ORE_IRON = 0.92,
)
ground_ore_levels = list(
SURFACE_ORES = list(
ORE_IRON = list(2, 4),
ORE_GOLD = list(0, 2),
ORE_SILVER = list(0, 2),
ORE_URANIUM = list(0, 2)
),
RARE_ORES = list(
ORE_GOLD = list(1, 3),
ORE_SILVER = list(1, 3),
ORE_URANIUM = list(1, 3),
ORE_PLATINUM = list(1, 3),
),
DEEP_ORES = list(
ORE_URANIUM = list(0, 2),
ORE_DIAMOND = list(0, 2),
ORE_PLATINUM = list(2, 4),
ORE_HYDROGEN = list(1, 3),
)
)
@@ -53,3 +53,34 @@
BIOME_SUBHUMID = 0.8,
BIOME_HUMID = 1.0
)
/datum/exoplanet_theme/desert/wasteland //nuked Moghes theme
name = "Wasteland"
possible_biomes = list(
BIOME_EQUATOR = list(
BIOME_ARID = /singleton/biome/desert/wasteland //ecological diversity? in this economy?
)
)
mountain_threshold = 0.6
heat_levels = list(
BIOME_EQUATOR = 1.0
)
humidity_levels = list(
BIOME_ARID = 1.0
)
/datum/exoplanet_theme/desert/wasteland/after_map_generation(obj/effect/overmap/visitable/sector/exoplanet/E) //irradiate to shit
var/area/A = E.planetary_area
LAZYDISTINCTADD(A.ambience, AMBIENCE_DESERT)
A.area_blurb = "The sweltering heat presses down on you from every direction. Clouds of sand swirl around your feet. In the distance, the jagged shapes of broken skyscrapers loom on the horizon. This is the Wasteland of Moghes, a bleeding scar of a war that had no victors."
var/radiation_power = rand(10, 37.5)
var/num_craters = round(min(0.04, rand()) * 0.02 * E.maxx, E.maxy)
for(var/i = 1 to num_craters)
var/turf/simulated/T = pick_area_turf(E.planetary_area, list(/proc/not_turf_contains_dense_objects))
if(!T)
return
var/datum/radiation_source/S = new(T, radiation_power, FALSE)
S.range = 4
SSradiation.add_source(S)
@@ -84,3 +84,77 @@
BIOME_SUBHUMID = /singleton/biome/grass/riverside/biesel
)
)
/datum/exoplanet_theme/grass/moghes //un-nuked Moghes theme
name = "Untouched Lands"
mountain_threshold = 0.9
possible_biomes = list(
BIOME_COOL = list(
BIOME_ARID = /singleton/biome/grass/chaparral/moghes,
BIOME_SEMIARID = /singleton/biome/grass/forest/moghes,
BIOME_SUBHUMID = /singleton/biome/grass/forest/moghes
),
BIOME_WARM = list(
BIOME_ARID = /singleton/biome/grass/chaparral/moghes,
BIOME_SEMIARID = /singleton/biome/grass/moghes,
BIOME_SUBHUMID = /singleton/biome/grass/riverside/moghes
),
BIOME_EQUATOR = list(
BIOME_ARID = /singleton/biome/grass/moghes,
BIOME_SEMIARID = /singleton/biome/grass/riverside/moghes,
BIOME_SUBHUMID = /singleton/biome/grass/riverside/moghes
)
)
heat_levels = list(
BIOME_COOL = 0.4,
BIOME_WARM = 0.8,
BIOME_EQUATOR = 1.0
)
humidity_levels = list(
BIOME_ARID = 0.2,
BIOME_SEMIARID = 0.5,
BIOME_SUBHUMID = 1.0
)
/datum/exoplanet_theme/grass/moghes/after_map_generation(obj/effect/overmap/visitable/sector/exoplanet/E)
var/area/A = E.planetary_area
LAZYDISTINCTADD(A.ambience, AMBIENCE_JUNGLE)
A.area_blurb = "The air is hot and humid, clinging to your skin. An occasional cool breeze offers some small respite. Beneath your feet lies lush grass, and the sounds of strange animals fill the air."
/datum/exoplanet_theme/grass/ouerea //Ouerea theme.
name = "Ouerea"
surface_turfs = list(
/turf/simulated/mineral
)
mountain_threshold = 0.9
possible_biomes = list(
BIOME_COOL = list(
BIOME_ARID = /singleton/biome/grass/chaparral/ouerea,
BIOME_SEMIARID = /singleton/biome/grass/forest/ouerea,
BIOME_SUBHUMID = /singleton/biome/grass/forest/ouerea
),
BIOME_WARM = list(
BIOME_ARID = /singleton/biome/grass/chaparral/ouerea,
BIOME_SEMIARID = /singleton/biome/grass/ouerea,
BIOME_SUBHUMID = /singleton/biome/grass/riverside/ouerea
),
BIOME_EQUATOR = list(
BIOME_ARID = /singleton/biome/grass/ouerea,
BIOME_SEMIARID = /singleton/biome/grass/riverside/ouerea,
BIOME_SUBHUMID = /singleton/biome/grass/riverside/ouerea
)
)
heat_levels = list(
BIOME_COOL = 0.4,
BIOME_WARM = 0.8,
BIOME_EQUATOR = 1.0
)
humidity_levels = list(
BIOME_ARID = 0.2,
BIOME_SEMIARID = 0.5,
BIOME_SUBHUMID = 1.0
)