diff --git a/code/datums/weather/weather_types/layenia.dm b/code/datums/weather/weather_types/layenia.dm index e551c788..97113bb9 100644 --- a/code/datums/weather/weather_types/layenia.dm +++ b/code/datums/weather/weather_types/layenia.dm @@ -19,7 +19,7 @@ area_type = /area/layenia target_trait = ZTRAIT_STATION - probability = 100 + probability = 98 barometer_predictable = TRUE diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm index 91b4217e..b2441940 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_events.dm @@ -779,6 +779,7 @@ repeatable_weight_decrease = 3 occurances_max = 3 +/* Unused, testing purposes only. /datum/dynamic_ruleset/event/oxygen_rain name = "Oxygen Rain" typepath = /datum/round_event/oxygen_rain @@ -788,3 +789,4 @@ repeatable = FALSE occurances_max = 1 map_whitelist = list("LayeniaStation.dmm") +*/ diff --git a/hyperstation/code/datums/weather/oxygen_rain.dm b/hyperstation/code/datums/weather/oxygen_rain.dm index 56397286..eba1fe49 100644 --- a/hyperstation/code/datums/weather/oxygen_rain.dm +++ b/hyperstation/code/datums/weather/oxygen_rain.dm @@ -2,31 +2,43 @@ name = "oxygen rain" desc = "The weather of Layenia can be quite unpredictable... Given the low temperature outside the station, oxygen condenses into liquid droplets." - telegraph_duration = 400 + telegraph_duration = 300 telegraph_message = "Oxygen clouds condense above and around the station..." + telegraph_overlay = "rain_med" weather_message = "Liquid oxygen pours down around you! It's freezing!" - weather_overlay = "oxygen_rain" + weather_overlay = "rain_high" weather_duration_lower = 600 - weather_duration_upper = 1500 + weather_duration_upper = 1200 - end_duration = 100 + end_duration = 300 end_message = "The downpour gradually slows to a light shower before fading away..." + end_overlay = "rain_low" - area_type = /area/layenia/cloudlayer + area_type = /area/layenia target_trait = ZTRAIT_STATION immunity_type = "storm" // temp - + probability = 2 //The chances of this happening are very low after all. We'll rarely see it, but it's worth it. barometer_predictable = TRUE - var/datum/looping_sound/active_outside_oxygenrain/sound_ao = new(list(), FALSE, TRUE) - var/datum/looping_sound/active_inside_oxygenrain/sound_ai = new(list(), FALSE, TRUE) var/datum/looping_sound/weak_outside_oxygenrain/sound_wo = new(list(), FALSE, TRUE) var/datum/looping_sound/weak_inside_oxygenrain/sound_wi = new(list(), FALSE, TRUE) /datum/weather/oxygen_rain/telegraph() . = ..() + priority_announce("[station_name()]: A large quantity of condensed oxygen clouds has been detected around and above the station. A liquid oxygen downpour is expected.", + sound = 'sound/misc/notice2.ogg', + sender_override = "Kinaris Meteorology Division") + for(var/V in GLOB.player_list) + var/mob/M = V + if((M.client.prefs.toggles & SOUND_MIDI) && is_station_level(M.z)) + M.playsound_local(M, 'hyperstation/sound/ambience/embrace.ogg', 40, FALSE, pressure_affected = FALSE) + /* + "Sappheiros - Embrace" is under a Creative Commons license (CC BY 3.0) + https://www.youtube.com/channel/UCxLKyBhC6igFhLEb0gxvQNg + Music promoted by BreakingCopyright: https://youtu.be/DzYp5uqixz0 + */ var/list/inside_areas = list() var/list/outside_areas = list() var/list/eligible_areas = list() @@ -40,8 +52,6 @@ inside_areas += place CHECK_TICK - sound_ao.output_atoms = outside_areas - sound_ai.output_atoms = inside_areas sound_wo.output_atoms = outside_areas sound_wi.output_atoms = inside_areas @@ -50,19 +60,9 @@ /datum/weather/oxygen_rain/start() . = ..() - sound_wo.stop() - sound_wi.stop() - - sound_ao.start() - sound_ai.start() /datum/weather/oxygen_rain/wind_down() . = ..() - sound_ao.stop() - sound_ai.stop() - - sound_wo.start() - sound_wi.start() /datum/weather/oxygen_rain/end() . = ..() @@ -73,38 +73,10 @@ //This is liquid oxygen after all. (-90C) L.adjust_bodytemperature(-rand(5,10)) - - - -/datum/looping_sound/active_outside_oxygenrain - mid_sounds = list( - 'sound/weather/oxygenrain/outside/active_mid1.ogg'=1, - 'sound/weather/oxygenrain/outside/active_mid1.ogg'=1, - 'sound/weather/oxygenrain/outside/active_mid1.ogg'=1 - ) - mid_length = 80 - start_sound = 'sound/weather/oxygenrain/outside/active_start.ogg' - start_length = 130 - end_sound = 'sound/weather/oxygenrain/outside/active_end.ogg' - volume = 60 - -/datum/looping_sound/active_inside_oxygenrain - mid_sounds = list( - 'sound/weather/oxygenrain/inside/active_mid1.ogg'=1, - 'sound/weather/oxygenrain/inside/active_mid2.ogg'=1, - 'sound/weather/oxygenrain/inside/active_mid3.ogg'=1 - ) - mid_length = 80 - start_sound = 'sound/weather/oxygenrain/inside/active_start.ogg' - start_length = 130 - end_sound = 'sound/weather/oxygenrain/inside/active_end.ogg' - volume = 20 - /datum/looping_sound/weak_outside_oxygenrain mid_sounds = list( 'sound/weather/oxygenrain/outside/weak_mid1.ogg'=1, - 'sound/weather/oxygenrain/outside/weak_mid2.ogg'=1, - 'sound/weather/oxygenrain/outside/weak_mid3.ogg'=1 + 'sound/weather/oxygenrain/outside/weak_mid2.ogg'=1 ) mid_length = 80 start_sound = 'sound/weather/oxygenrain/outside/weak_start.ogg' @@ -115,8 +87,7 @@ /datum/looping_sound/weak_inside_oxygenrain mid_sounds = list( 'sound/weather/oxygenrain/inside/weak_mid1.ogg'=1, - 'sound/weather/oxygenrain/inside/weak_mid2.ogg'=1, - 'sound/weather/oxygenrain/inside/weak_mid3.ogg'=1 + 'sound/weather/oxygenrain/inside/weak_mid2.ogg'=1 ) mid_length = 80 start_sound = 'sound/weather/oxygenrain/inside/weak_start.ogg' @@ -124,8 +95,7 @@ end_sound = 'sound/weather/oxygenrain/inside/weak_end.ogg' volume = 30 - - +/* Unused code for testing purposes. /datum/round_event_control/oxygen_rain name = "Oxygen Rain" @@ -143,10 +113,7 @@ SSweather.run_weather(/datum/weather/oxygen_rain) /datum/round_event/oxygen_rain/announce() - priority_announce("[station_name()]: Oxygen Rain Placeholder", + priority_announce("[station_name()]: A large quantity of condensed oxygen clouds has been detected around and above the station. A liquid oxygen downpour is expected.", sound = 'sound/misc/notice2.ogg', sender_override = "Kinaris Meteorology Division") - for(var/V in GLOB.player_list) - var/mob/M = V - if((M.client.prefs.toggles & SOUND_MIDI) && is_station_level(M.z)) - M.playsound_local(M, pick('sound/ambience/aurora_caelus_new.ogg','sound/ambience/aurora_caelus.ogg'), 40, FALSE, pressure_affected = FALSE) //ogg is "The Fire is Gone" by Heaven Pierce Her, used in the videogame ULTRAKILL. All respects and credits to the equivalent artists who worked on it. +*/ diff --git a/hyperstation/sound/ambience/embrace.ogg b/hyperstation/sound/ambience/embrace.ogg new file mode 100644 index 00000000..2f150fce Binary files /dev/null and b/hyperstation/sound/ambience/embrace.ogg differ diff --git a/icons/effects/weather_effects.dmi b/icons/effects/weather_effects.dmi index 6805e960..2f271d4a 100644 Binary files a/icons/effects/weather_effects.dmi and b/icons/effects/weather_effects.dmi differ diff --git a/sound/weather/oxygenrain/inside/weak_end.ogg b/sound/weather/oxygenrain/inside/weak_end.ogg new file mode 100644 index 00000000..c6cdcfff Binary files /dev/null and b/sound/weather/oxygenrain/inside/weak_end.ogg differ diff --git a/sound/weather/oxygenrain/inside/weak_mid1.ogg b/sound/weather/oxygenrain/inside/weak_mid1.ogg new file mode 100644 index 00000000..51595bf4 Binary files /dev/null and b/sound/weather/oxygenrain/inside/weak_mid1.ogg differ diff --git a/sound/weather/oxygenrain/inside/weak_mid2.ogg b/sound/weather/oxygenrain/inside/weak_mid2.ogg new file mode 100644 index 00000000..53e0769f Binary files /dev/null and b/sound/weather/oxygenrain/inside/weak_mid2.ogg differ diff --git a/sound/weather/oxygenrain/inside/weak_start.ogg b/sound/weather/oxygenrain/inside/weak_start.ogg new file mode 100644 index 00000000..6d71ae0f Binary files /dev/null and b/sound/weather/oxygenrain/inside/weak_start.ogg differ diff --git a/sound/weather/oxygenrain/outside/weak_end.ogg b/sound/weather/oxygenrain/outside/weak_end.ogg new file mode 100644 index 00000000..b540f929 Binary files /dev/null and b/sound/weather/oxygenrain/outside/weak_end.ogg differ diff --git a/sound/weather/oxygenrain/outside/weak_mid1.ogg b/sound/weather/oxygenrain/outside/weak_mid1.ogg new file mode 100644 index 00000000..504328ef Binary files /dev/null and b/sound/weather/oxygenrain/outside/weak_mid1.ogg differ diff --git a/sound/weather/oxygenrain/outside/weak_mid2.ogg b/sound/weather/oxygenrain/outside/weak_mid2.ogg new file mode 100644 index 00000000..ae66e6a4 Binary files /dev/null and b/sound/weather/oxygenrain/outside/weak_mid2.ogg differ diff --git a/sound/weather/oxygenrain/outside/weak_start.ogg b/sound/weather/oxygenrain/outside/weak_start.ogg new file mode 100644 index 00000000..15785282 Binary files /dev/null and b/sound/weather/oxygenrain/outside/weak_start.ogg differ