From 3254aa10d8a5f28a03147c41b752d1b5c24efa06 Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Fri, 3 Feb 2012 17:48:35 -0700 Subject: [PATCH] Adjustments to events Adds alarm for the singularity containment field. --- code/game/events/EventProcs/miniblob.dm | 2 +- code/game/events/Events/ElectricalStorm.dm | 2 +- code/game/events/Events/IonStorm.dm | 7 +++++-- code/game/events/Events/PowerOffline.dm | 13 ++++++++++--- code/game/events/Events/RadiationBelt.dm | 2 +- code/modules/power/singularity/containment_field.dm | 2 +- code/modules/power/singularity/field_generator.dm | 8 ++++++++ 7 files changed, 27 insertions(+), 9 deletions(-) diff --git a/code/game/events/EventProcs/miniblob.dm b/code/game/events/EventProcs/miniblob.dm index eaeb7f44662..db3df423c99 100644 --- a/code/game/events/EventProcs/miniblob.dm +++ b/code/game/events/EventProcs/miniblob.dm @@ -15,7 +15,7 @@ dotheblobbaby() spawn(15000) blobevent = 0 - spawn(rand(3000, 6000)) //Delayed announcements to keep the crew on their toes. + spawn(rand(30, 60)) //Delayed announcements to keep the crew on their toes. command_alert("Confirmed outbreak of level 5 biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert") world << sound('outbreak5.ogg') diff --git a/code/game/events/Events/ElectricalStorm.dm b/code/game/events/Events/ElectricalStorm.dm index c06384cd386..22c7cbf9d3f 100644 --- a/code/game/events/Events/ElectricalStorm.dm +++ b/code/game/events/Events/ElectricalStorm.dm @@ -6,7 +6,7 @@ list/obj/machinery/light/Comms = list( ) Announce() - command_alert("The station is flying through an electrical storm. Radio communications may be disrupted", "Anomaly Alert") +// command_alert("The station is flying through an electrical storm. Radio communications may be disrupted", "Anomaly Alert") for(var/obj/machinery/light/Light in world) if(Light.z == 1 && Light.status != 0) diff --git a/code/game/events/Events/IonStorm.dm b/code/game/events/Events/IonStorm.dm index d06fc9b9ceb..7f360fa1ed3 100644 --- a/code/game/events/Events/IonStorm.dm +++ b/code/game/events/Events/IonStorm.dm @@ -5,7 +5,7 @@ Announce() Lifetime = rand(15, 20) - command_alert("The station has entered an ion storm. Monitor all electronic equipment for malfunctions", "Anomaly Alert") +// command_alert("The station has entered an ion storm. Monitor all electronic equipment for malfunctions", "Anomaly Alert") for (var/mob/living/carbon/human/player in world) if(player.client) players += player.real_name @@ -43,4 +43,7 @@ if(prob(botEmagChance)) bot.Emag() - Die() \ No newline at end of file + Die() + spawn(rand(5000,8000)) + if(prob(50)) + command_alert("It has come to our attention that the station passed through an ion storm. Please monitor all electronic equipment for malfunctions.", "Anomaly Alert") \ No newline at end of file diff --git a/code/game/events/Events/PowerOffline.dm b/code/game/events/Events/PowerOffline.dm index a964732dc34..a8e03dcacd0 100644 --- a/code/game/events/Events/PowerOffline.dm +++ b/code/game/events/Events/PowerOffline.dm @@ -1,8 +1,15 @@ /datum/event/power_offline Announce() - command_alert("The station is performing an automated power system grid check, please stand by.", "Maintenance alert") for(var/obj/machinery/power/apc/a in world) if(!a.crit) + if(istype(a.area, /area/engine)) + continue a.eventoff = 1 - spawn(200) - a.eventoff = 0 /*Got a few bug reports about this, disabling for now --Mloc*/ + a.update() + + Die() + command_alert("The station has finished an automated power system grid check, thank you.", "Maintenance alert") + for(var/obj/machinery/power/apc/a in world) + if(!a.crit) + a.eventoff = 0 + a.update() \ No newline at end of file diff --git a/code/game/events/Events/RadiationBelt.dm b/code/game/events/Events/RadiationBelt.dm index 247b4fc14fc..ba68bf6952b 100644 --- a/code/game/events/Events/RadiationBelt.dm +++ b/code/game/events/Events/RadiationBelt.dm @@ -5,7 +5,7 @@ Tick() for(var/mob/living/carbon/L in world) - L.apply_effect(rand(1,7), IRRADIATE) + L.apply_effect(rand(4,10), IRRADIATE) Die() command_alert("The station has cleared the radiation belt", "Medical Alert") diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm index 0f679e421a9..1e49b8c2ca8 100644 --- a/code/modules/power/singularity/containment_field.dm +++ b/code/modules/power/singularity/containment_field.dm @@ -62,7 +62,7 @@ user.burn_skin(shock_damage) user.updatehealth() user.visible_message("\red [user.name] was shocked by the [src.name]!", \ - "\red You feel a powerful shock course through your body sending you flying!", \ + "\red You feel a powerful shock course through your body, sending you flying!", \ "\red You hear a heavy electrical crack") var/stun = min(shock_damage, 15) diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 1dfb4e694e5..6b4a6b33822 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -1,3 +1,4 @@ +var/containment_fail_announced = 0 /* field_generator power level display @@ -329,6 +330,13 @@ field_generator power level display cleanup() + if(!containment_fail_announced) + containment_fail_announced = 1 + var/obj/item/device/radio/a = new /obj/item/device/radio(null) + a.autosay("DANGER! Field failure detected! Immediate response advised!", "Singularity Monitoring Computer") + del(a) + spawn(6000) //10 minutes. + containment_fail_announced = 0 clean_up = 1 for (var/obj/machinery/containment_field/F in fields) if (isnull(F))