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