Fixes to AI malfunction and electrical storms.

- AI malfunction will now be announced, even before it starts the takeover. After 5 minutes by default, after 25 minutes if it buys the interhack module.
- Reduced blackout uses to 1.
This commit is contained in:
cib
2012-01-05 20:25:20 -08:00
parent 9e035424da
commit bf62258c0a
4 changed files with 17 additions and 11 deletions
+6 -6
View File
@@ -84,11 +84,11 @@
proc
BlowLight() //Blow out a light fixture
var/obj/machinery/light/Light = null
var/insanity = 0
var/failed_attempts = 0
while (Light == null || Light.status != 0)
Light = pick(Lights)
insanity++
if (insanity >= Lights.len)
failed_attempts++
if (failed_attempts >= 10)
return
spawn(0) //Overload the light, spectacularly.
@@ -98,12 +98,12 @@
Light.broken()
DisruptAPC()
var/insanity = 0
var/failed_attempts = 0
var/obj/machinery/power/apc/APC
while (!APC || !APC.operating)
APC = pick(APCs)
insanity++
if (insanity >= APCs.len)
failed_attempts++
if (failed_attempts >= 10)
return
if (prob(40))
@@ -93,7 +93,7 @@ rcd light flash thingy on matter drain
/datum/AI_Module/small/blackout
module_name = "Blackout"
mod_pick_name = "blackout"
uses = 3
uses = 1
/client/proc/blackout()
set category = "Malfunction"
@@ -246,7 +246,7 @@ rcd light flash thingy on matter drain
already = 1
if (!already)
usr.verbs += /client/proc/interhack
src.temp = "Hacks the status upgrade from Cent. Com, removing any information about malfunctioning electrical systems."
src.temp = "Tricks the station's automated diagnosis suite for a while, giving you more time until you are revealed."
usr:current_modules += new /datum/AI_Module/small/interhack
src.processing_time -= 15
else src.temp = "This module is only needed once."
@@ -62,6 +62,13 @@
*/
spawn (rand(waittime_l, waittime_h))
send_intercept()
sleep(10*60*5) // 5 minutes
if(intercept_hacked)
sleep(10 * 60 * 20) // 30 minutes
command_alert("Diagnosis suite failure detected. Running backup diagnosis tool.", "Anomaly Alert")
sleep(100)
command_alert("AI unit diagnosis failed. Unable to detect morality cores. Disabling of unit recommended.", "Anomaly Alert")
..()
+2 -3
View File
@@ -1895,10 +1895,9 @@
id = H.wear_id
if(!id)
usr << "Player has wear_id, but no id exists."
usr << "<font color=red>ERROR:</font> Inform the coders that an [H.name] had wear_id but no ID on their ID slot."
dat += "<td><font color=red>ERROR</font></td>"
if(isnull(id.assignment))
else if(isnull(id.assignment))
usr << "<font color=red>ERROR:</font> Inform the coders that an [id.name] was checked for its assignment variable."
dat += "<td><font color=red>ERROR</font></td>"
else