diff --git a/code/datums/shuttle_controller.dm b/code/datums/shuttle_controller.dm index c75f262eb73..4baa14869d5 100644 --- a/code/datums/shuttle_controller.dm +++ b/code/datums/shuttle_controller.dm @@ -20,7 +20,7 @@ datum/shuttle_controller fake_recall = 0 //Used in rounds to prevent "ON NOES, IT MUST [INSERT ROUND] BECAUSE SHUTTLE CAN'T BE CALLED" deny_shuttle = 0 //for admins not allowing it to be called. departed = 0 - + sound_siren = 1 //if siren should go off // call the shuttle // if not called before, set the endtime to T+600 seconds // otherwise if outgoing, switch to incoming @@ -34,6 +34,13 @@ datum/shuttle_controller else settimeleft(SHUTTLEARRIVETIME*coeff) online = 1 + //turning on the red lights in hallways and siren + for(var/area/A in world) + if(istype(A, /area/hallway)) + A.readyalert() + sound_siren = 1 + + proc/recall() if(direction == 1) @@ -45,6 +52,11 @@ datum/shuttle_controller world << sound('shuttlerecalled.ogg') setdirection(-1) online = 1 + //turning off the red lights in hallways and siren + for(var/area/A in world) + if(istype(A, /area/hallway)) + A.readyreset() + sound_siren = 0 // returns the time (in seconds) before shuttle arrival @@ -83,6 +95,11 @@ datum/shuttle_controller var/timeleft = timeleft() if(timeleft > 1e5) // midnight rollover protection timeleft = 0 + if (sound_siren) //playing siren every 90 seconds + sound_siren = 0 + world << sound('siren.ogg') + spawn(900) + sound_siren = 1 switch(location) if(0) if(timeleft>timelimit) diff --git a/icons/effects/alert.dmi b/icons/effects/alert.dmi index d84e77e33c0..51b81750334 100644 Binary files a/icons/effects/alert.dmi and b/icons/effects/alert.dmi differ diff --git a/sound/effects/siren.ogg b/sound/effects/siren.ogg new file mode 100644 index 00000000000..908f0d1f551 Binary files /dev/null and b/sound/effects/siren.ogg differ