Does more work, particularly on zlevel stuff.

This commit is contained in:
Neerti
2018-12-19 18:31:41 -05:00
parent 96527e47b8
commit e8a94d915e
70 changed files with 201 additions and 50 deletions
@@ -94,7 +94,7 @@
. = pickweight(.)
/datum/looping_sound/proc/on_start()
var/start_wait = 0
var/start_wait = 1 // On TG this is 0, however it needs to be 1 to work around an issue.
if(start_sound)
play(start_sound)
start_wait = start_length
+8 -16
View File
@@ -1,13 +1,9 @@
#define RAD_GEIGER_LOW 0.1 // Geiger counter sound thresholds
#define RAD_GEIGER_MEDIUM 10
#define RAD_GEIGER_HIGH 25
/datum/looping_sound/geiger
mid_sounds = list(
list('sound/items/geiger/new/low1.ogg'=1, 'sound/items/geiger/new/low2.ogg'=1, 'sound/items/geiger/new/low3.ogg'=1, 'sound/items/geiger/new/low4.ogg'=1),
list('sound/items/geiger/new/med1.ogg'=1, 'sound/items/geiger/new/med2.ogg'=1, 'sound/items/geiger/new/med3.ogg'=1, 'sound/items/geiger/new/med4.ogg'=1),
list('sound/items/geiger/new/high1.ogg'=1, 'sound/items/geiger/new/high2.ogg'=1, 'sound/items/geiger/new/high3.ogg'=1, 'sound/items/geiger/new/high4.ogg'=1),
list('sound/items/geiger/new/ext1.ogg'=1, 'sound/items/geiger/new/ext2.ogg'=1, 'sound/items/geiger/new/ext3.ogg'=1, 'sound/items/geiger/new/ext4.ogg'=1)
list('sound/items/geiger/low1.ogg'=1, 'sound/items/geiger/low2.ogg'=1, 'sound/items/geiger/low3.ogg'=1, 'sound/items/geiger/low4.ogg'=1),
list('sound/items/geiger/med1.ogg'=1, 'sound/items/geiger/med2.ogg'=1, 'sound/items/geiger/med3.ogg'=1, 'sound/items/geiger/med4.ogg'=1),
list('sound/items/geiger/high1.ogg'=1, 'sound/items/geiger/high2.ogg'=1, 'sound/items/geiger/high3.ogg'=1, 'sound/items/geiger/high4.ogg'=1),
list('sound/items/geiger/ext1.ogg'=1, 'sound/items/geiger/ext2.ogg'=1, 'sound/items/geiger/ext3.ogg'=1, 'sound/items/geiger/ext4.ogg'=1)
)
mid_length = 1 SECOND
volume = 25
@@ -16,13 +12,13 @@
/datum/looping_sound/geiger/get_sound(starttime)
var/danger
switch(last_radiation)
if(0 to RAD_GEIGER_LOW)
if(0 to RAD_LEVEL_MODERATE)
danger = 1
if(RAD_GEIGER_LOW to RAD_GEIGER_MEDIUM)
if(RAD_LEVEL_MODERATE to RAD_LEVEL_HIGH)
danger = 2
if(RAD_GEIGER_MEDIUM to RAD_GEIGER_HIGH)
if(RAD_LEVEL_HIGH to RAD_LEVEL_VERY_HIGH)
danger = 3
if(RAD_GEIGER_HIGH to INFINITY)
if(RAD_LEVEL_VERY_HIGH to INFINITY)
danger = 4
else
return null
@@ -31,7 +27,3 @@
/datum/looping_sound/geiger/stop()
. = ..()
last_radiation = 0
#undef RAD_GEIGER_LOW
#undef RAD_GEIGER_MEDIUM
#undef RAD_GEIGER_HIGH
@@ -0,0 +1,47 @@
/datum/looping_sound/outside_blizzard
mid_sounds = list(
'sound/effects/weather/snowstorm/outside/active_mid1.ogg'=1,
'sound/effects/weather/snowstorm/outside/active_mid1.ogg'=1,
'sound/effects/weather/snowstorm/outside/active_mid1.ogg'=1
)
mid_length = 80
start_sound = 'sound/effects/weather/snowstorm/outside/active_start.ogg'
start_length = 130
end_sound = 'sound/effects/weather/snowstorm/outside/active_end.ogg'
volume = 80
/datum/looping_sound/inside_blizzard
mid_sounds = list(
'sound/effects/weather/snowstorm/inside/active_mid1.ogg'=1,
'sound/effects/weather/snowstorm/inside/active_mid2.ogg'=1,
'sound/effects/weather/snowstorm/inside/active_mid3.ogg'=1
)
mid_length = 80
start_sound = 'sound/effects/weather/snowstorm/inside/active_start.ogg'
start_length = 130
end_sound = 'sound/effects/weather/snowstorm/inside/active_end.ogg'
volume = 60
/datum/looping_sound/outside_snow
mid_sounds = list(
'sound/effects/weather/snowstorm/outside/weak_mid1.ogg'=1,
'sound/effects/weather/snowstorm/outside/weak_mid2.ogg'=1,
'sound/effects/weather/snowstorm/outside/weak_mid3.ogg'=1
)
mid_length = 80
start_sound = 'sound/effects/weather/snowstorm/outside/weak_start.ogg'
start_length = 130
end_sound = 'sound/effects/weather/snowstorm/outside/weak_end.ogg'
volume = 50
/datum/looping_sound/inside_snow
mid_sounds = list(
'sound/effects/weather/snowstorm/inside/weak_mid1.ogg'=1,
'sound/effects/weather/snowstorm/inside/weak_mid2.ogg'=1,
'sound/effects/weather/snowstorm/inside/weak_mid3.ogg'=1
)
mid_length = 80
start_sound = 'sound/effects/weather/snowstorm/inside/weak_start.ogg'
start_length = 130
end_sound = 'sound/effects/weather/snowstorm/inside/weak_end.ogg'
volume = 30
+16
View File
@@ -0,0 +1,16 @@
// Observer Pattern Implementation: Z_Moved
// Registration type: /atom/movable
//
// Raised when: An /atom/movable instance has changed z-levels by any means.
//
// Arguments that the called proc should expect:
// /atom/movable/moving_instance: The instance that moved
// old_z: The z number before the move.
// new_z: The z number after the move.
GLOBAL_DATUM_INIT(z_moved_event, /decl/observ/z_moved, new)
/decl/observ/z_moved
name = "Z_Moved"
expected_type = /atom/movable