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
)
)
+59
View File
@@ -0,0 +1,59 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# - (fixes bugs)
# wip
# - (work in progress)
# qol
# - (quality of life)
# soundadd
# - (adds a sound)
# sounddel
# - (removes a sound)
# rscadd
# - (adds a feature)
# rscdel
# - (removes a feature)
# imageadd
# - (adds an image or sprite)
# imagedel
# - (removes an image or sprite)
# spellcheck
# - (fixes spelling or grammar)
# experiment
# - (experimental change)
# balance
# - (balance changes)
# code_imp
# - (misc internal code change)
# refactor
# - (refactors code)
# config
# - (makes a change to the config files)
# admin
# - (makes changes to administrator tools)
# server
# - (miscellaneous changes to server)
#################################
# Your name.
author: Ben10083
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Adhomian Eclipses Shi-rrata and Shi-rra ArrKahata added."
- admin: "Set Holiday Verb nows allows user to type in a holiday if not given."