Merge remote-tracking branch 'origin/master' into perlin-genny
This commit is contained in:
@@ -58,13 +58,13 @@
|
||||
/// The list of z-levels that this weather is actively affecting
|
||||
var/impacted_z_levels
|
||||
|
||||
/// Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
|
||||
var/overlay_layer = AREA_LAYER
|
||||
/// Since it's above everything else, this is the layer used by default. TURF_LAYER is below mobs and walls if you need to use that.
|
||||
var/overlay_layer = AREA_LAYER
|
||||
/// Plane for the overlay
|
||||
var/overlay_plane = BLACKNESS_PLANE
|
||||
/// If the weather has no purpose but aesthetics.
|
||||
/// If the weather has no purpose but aesthetics.
|
||||
var/aesthetic = FALSE
|
||||
/// Used by mobs to prevent them from being affected by the weather
|
||||
/// Used by mobs to prevent them from being affected by the weather
|
||||
var/immunity_type = "storm"
|
||||
|
||||
/// The stage of the weather, from 1-4
|
||||
@@ -79,6 +79,8 @@
|
||||
var/barometer_predictable = FALSE
|
||||
/// For barometers to know when the next storm will hit
|
||||
var/next_hit_time = 0
|
||||
/// This causes the weather to only end if forced to
|
||||
var/perpetual = FALSE
|
||||
|
||||
/datum/weather/New(z_levels)
|
||||
..()
|
||||
@@ -140,7 +142,8 @@
|
||||
to_chat(M, weather_message)
|
||||
if(weather_sound)
|
||||
SEND_SOUND(M, sound(weather_sound))
|
||||
addtimer(CALLBACK(src, .proc/wind_down), weather_duration)
|
||||
if(!perpetual)
|
||||
addtimer(CALLBACK(src, .proc/wind_down), weather_duration)
|
||||
|
||||
/**
|
||||
* Weather enters the winding down phase, stops effects
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/datum/weather/void_storm
|
||||
name = "void storm"
|
||||
desc = "A rare and highly anomalous event often accompanied by unknown entities shredding spacetime continouum. We'd advise you to start running."
|
||||
|
||||
telegraph_duration = 2 SECONDS
|
||||
telegraph_overlay = "void"
|
||||
|
||||
weather_message = "<span class='danger'><i>You feel air around you getting colder... and void's sweet embrace...</i></span>"
|
||||
weather_overlay = "void_storm"
|
||||
weather_duration_lower = 60 SECONDS
|
||||
weather_duration_upper = 120 SECONDS
|
||||
|
||||
|
||||
end_duration = 10 SECONDS
|
||||
|
||||
area_type = /area
|
||||
protect_indoors = FALSE
|
||||
target_trait = ZTRAIT_VOIDSTORM
|
||||
|
||||
immunity_type = "void"
|
||||
|
||||
barometer_predictable = FALSE
|
||||
perpetual = TRUE
|
||||
|
||||
/datum/weather/void_storm/weather_act(mob/living/L)
|
||||
if(IS_HERETIC(L) || IS_HERETIC_MONSTER(L))
|
||||
return
|
||||
L.adjustOxyLoss(rand(1,3))
|
||||
L.adjustFireLoss(rand(1,3))
|
||||
L.adjust_blurriness(rand(0,1))
|
||||
L.adjust_bodytemperature(-rand(5,15))
|
||||
Reference in New Issue
Block a user