Adds Adhomian Eclipses (#19378)

Adds Adhomian Eclipses of Shi-rr’ata and Shi-rra Arr’Kahata

- [x] Backend code to allow for different 'sunlight'
- [x] Add Shi-rr’ata
- [x] Add Shi-rra Arr’Kahata
- [ ] Find date for Shi-rr’ata (Denied by Cat Lore)

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
This commit is contained in:
Ben
2024-06-10 11:52:44 +00:00
committed by GitHub
co-authored by Ben10083
parent ce6edd0a56
commit 6b30f10cce
7 changed files with 212 additions and 5 deletions
@@ -155,8 +155,19 @@ var/global/Holiday = null
/client/proc/Set_Holiday(T as text|null)
set name = "Set Holiday"
set category = "Fun"
set desc = "Force-set the Holiday variable to make the game think it's a certain day."
if(!check_rights(R_SERVER)) return
set desc = "Force-set the Holiday variable to make the game think it's a certain day. Set to 'None' to unset the Holiday"
if(!check_rights(R_SERVER))
return FALSE
if(!T)
T = tgui_input_text(src, "Type in a holiday below, or type 'None' to unset any holiday", "What Holiday is today?", "")
if(!T)
return FALSE
else if (T == "None")
Holiday = null
message_admins(SPAN_NOTICE("ADMIN: Event: [key_name(src)] unset today's Holiday."))
log_admin("[key_name(src)] unset today's Holiday",admin_key=key_name(src))
return TRUE
Holiday = T
@@ -164,7 +175,7 @@ var/global/Holiday = null
message_admins(SPAN_NOTICE("ADMIN: Event: [key_name(src)] force-set Holiday to \"[Holiday]\""))
log_admin("[key_name(src)] force-set Holiday to \"[Holiday]\"",admin_key=key_name(src))
return TRUE
//Run at the start of a round
/proc/Holiday_Game_Start()
@@ -125,6 +125,9 @@
ground_survey_result = "<br>High concretation of dense metal in the mantle"
// --------------------------------- Adhomai
// NOTE: To trigger Adhomai 'event' (eclipses). Use the set holiday verb to the eclipse name BEFORE this planet is initialized, or have holiday added to holidays.dm
// "Shi-rrata" : Messa Eclipse. Lighting changes.
// "Shi-rra ArrKahata" : Raskara Eclipse. This makes planet covered in darkness and increases hostile animal spawns (Adhomai Hell)
/obj/effect/overmap/visitable/sector/exoplanet/adhomai
name = "Adhomai"
desc = "The Tajaran homeworld. Adhomai is a cold and icy world, suffering from almost perpetual snowfall and extremely low temperatures."
@@ -192,6 +195,12 @@
ruin_type_whitelist = list (/datum/map_template/ruin/exoplanet/north_pole_monolith, /datum/map_template/ruin/exoplanet/north_pole_nka_expedition, /datum/map_template/ruin/exoplanet/north_pole_worm)
initial_weather_state = /singleton/state/weather/calm/arctic_planet
if(Holiday == "Shi-rra ArrKahata") // Messa weeps.
if(landing_faction != "North Pole")
possible_themes = list(/datum/exoplanet_theme/snow/adhomai/darkest_eclipse)
else
possible_themes = list(/datum/exoplanet_theme/snow/tundra/adhomai/darkest_eclipse)
desc += " The landing sites are located at the [landing_faction]'s territory."
/obj/effect/overmap/visitable/sector/exoplanet/adhomai/generate_habitability()
@@ -200,6 +209,12 @@
/obj/effect/overmap/visitable/sector/exoplanet/adhomai/generate_map()
if(prob(75))
lightlevel = rand(3,10)/10
switch(Holiday) // Handle eclipses
if("Shi-rrata") // Messa Eclipse
lightlevel = 9/10
lightcolor = COLOR_CYAN
if("Shi-rra ArrKahata") //Raskara Eclipse. Board your windows.
lightlevel = 0
..()
/obj/effect/overmap/visitable/sector/exoplanet/adhomai/generate_planet_image()
@@ -102,6 +102,40 @@
)
)
/singleton/biome/snow/adhomai/eclipse
spawn_types = list(
PLANET_TURF = list(/turf/simulated/floor/exoplanet/permafrost = 1),
GRASSES = list(
/obj/structure/flora/grass/adhomai = 1
),
LARGE_FLORA = list(
/obj/effect/floor_decal/snowdrift/large/random = 1,
/obj/structure/flora/rock/adhomai = 1,
/obj/structure/flora/tree/adhomai = 1
),
SMALL_FLORA = list(
/obj/structure/flora/bush/adhomai = 2.5,
/obj/effect/floor_decal/snowdrift/random = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 1
),
WILDLIFE = list(
/mob/living/simple_animal/ice_tunneler = 0.5,
/mob/living/simple_animal/ice_tunneler/male = 0.5,
/mob/living/simple_animal/fatshouter = 0.5,
/mob/living/simple_animal/fatshouter/male = 0.5,
/mob/living/simple_animal/hostile/retaliate/rafama = 0.5,
/mob/living/simple_animal/hostile/retaliate/rafama/male = 0.5,
/mob/living/simple_animal/hostile/retaliate/rafama/baby = 0.5,
/mob/living/simple_animal/hostile/wind_devil = 2, // Hope you like wind devils
/mob/living/carbon/human/farwa/adhomai = 0.5,
/mob/living/simple_animal/hostile/harron = 1.5,
/mob/living/simple_animal/climber = 0.5,
/mob/living/simple_animal/snow_strider = 0.3,
/mob/living/simple_animal/nosehorn = 0.1,
/mob/living/simple_animal/hostile/cavern_geist = 0.01 // Something stirs in the darkness...
)
)
/singleton/biome/snow/forest/adhomai
spawn_types = list(
GRASSES = list(
@@ -134,6 +168,40 @@
)
)
/singleton/biome/snow/forest/adhomai/eclipse
spawn_types = list(
GRASSES = list(
/obj/structure/flora/grass/adhomai = 1
),
LARGE_FLORA = list(
/obj/effect/floor_decal/snowdrift/large/random = 1,
/obj/structure/flora/rock/adhomai = 1,
/obj/structure/flora/tree/adhomai = 4
),
SMALL_FLORA = list(
/obj/structure/flora/bush/adhomai = 3,
/obj/effect/floor_decal/snowdrift/random = 1,
/obj/effect/landmark/exoplanet_spawn/plant = 2
),
WILDLIFE = list(
/mob/living/simple_animal/ice_tunneler = 0.5,
/mob/living/simple_animal/ice_tunneler/male = 0.5,
/mob/living/simple_animal/fatshouter = 0.5,
/mob/living/simple_animal/fatshouter/male = 0.5,
/mob/living/simple_animal/hostile/retaliate/rafama = 0.5,
/mob/living/simple_animal/hostile/retaliate/rafama/male = 0.5,
/mob/living/simple_animal/hostile/retaliate/rafama/baby = 0.5,
/mob/living/simple_animal/hostile/wind_devil = 2,
/mob/living/carbon/human/farwa/adhomai = 0.5,
/mob/living/simple_animal/hostile/harron = 1.5,
/mob/living/simple_animal/climber = 0.5,
/mob/living/simple_animal/snow_strider = 0.3,
/mob/living/simple_animal/nosehorn = 0.1,
/mob/living/simple_animal/hostile/cavern_geist = 0.01 // Something stirs in the darkness...
)
)
/singleton/biome/snow/adhomai/polar
turf_type = /turf/simulated/floor/exoplanet/snow
generators = list(
@@ -159,5 +227,30 @@
)
)
/singleton/biome/snow/adhomai/polar/eclipse
turf_type = /turf/simulated/floor/exoplanet/snow
generators = list(
LARGE_FLORA = list(POISSON_SAMPLE, 6),
SMALL_FLORA = list(POISSON_SAMPLE, 6),
WILDLIFE = list(POISSON_SAMPLE, 20)
)
spawn_types = list(
LARGE_FLORA = list(
/obj/effect/floor_decal/snowdrift/large/random = 1,
/obj/structure/flora/rock/adhomai = 2,
/obj/structure/flora/rock/ice = 3
),
SMALL_FLORA = list(
/obj/structure/geyser = 1,
/obj/effect/floor_decal/snowdrift/random = 1
),
WILDLIFE = list(
/mob/living/simple_animal/scavenger = 0.5,
/mob/living/simple_animal/ice_catcher = 0.5,
/mob/living/simple_animal/hostile/plasmageist = 1.2,
/mob/living/simple_animal/hostile/wriggler = 1.2
)
)
/singleton/biome/water/ice/polar
turf_type = /turf/simulated/floor/exoplanet/ice/dark
@@ -28,7 +28,7 @@
initial_gas = list()
temperature = T0C
//Must be done here, as light data is not fully carried over by ChangeTurf (but overlays are).
set_light(MINIMUM_USEFUL_LIGHT_RANGE, E.lightlevel, COLOR_WHITE)
set_light(MINIMUM_USEFUL_LIGHT_RANGE, E.lightlevel, E.lightcolor)
if(E.planetary_area && istype(loc, world.area))
ChangeArea(src, E.planetary_area)
// if not on an exoplanet, instead just keep the default or mapped in atmos
+4 -1
View File
@@ -10,7 +10,10 @@
var/list/breathgas = list() //list of gases animals/plants require to survive
var/badgas //id of gas that is toxic to life here
var/lightlevel = 0 //This default makes turfs not generate light. Adjust to have exoplanents be lit.
/// This default makes turfs not generate light. Adjust to have exoplanents be lit.
var/lightlevel = 0
/// Change this to have the light be a different color. Useful for planets with special suns
var/lightcolor = COLOR_WHITE
var/night = TRUE
// Fluff, specifically for celestial objects.
@@ -50,6 +50,19 @@
)
)
/// Special biome when Raskara blocks the Suns. We will have hostile animals spawn more often
/datum/exoplanet_theme/snow/adhomai/darkest_eclipse
possible_biomes = list(
BIOME_POLAR = list(
BIOME_ARID = /singleton/biome/water/ice,
BIOME_SEMIARID = /singleton/biome/snow/adhomai/eclipse
),
BIOME_COOL = list(
BIOME_ARID = /singleton/biome/snow/adhomai/eclipse,
BIOME_SEMIARID = /singleton/biome/snow/forest/adhomai/eclipse
)
)
/datum/exoplanet_theme/snow/tundra/adhomai
name = "Adhomai North Pole"
mountain_biome = /singleton/biome/mountain/adhomai
@@ -63,3 +76,16 @@
BIOME_SEMIARID = /singleton/biome/snow/adhomai/polar
)
)
/// Special biome when Raskara blocks the Suns. We will have hostile animals spawn more often
/datum/exoplanet_theme/snow/tundra/adhomai/darkest_eclipse
possible_biomes = list(
BIOME_POLAR = list(
BIOME_ARID = /singleton/biome/water/ice/polar,
BIOME_SEMIARID = /singleton/biome/snow/adhomai/polar/eclipse
),
BIOME_COOL = list(
BIOME_ARID = /singleton/biome/snow/adhomai/polar/eclipse,
BIOME_SEMIARID = /singleton/biome/snow/adhomai/polar/eclipse
)
)