diff --git a/code/WorkInProgress/Mini/atmos_control.dm b/code/WorkInProgress/Mini/atmos_control.dm index e0bb07369b6..df9a3cbef9e 100644 --- a/code/WorkInProgress/Mini/atmos_control.dm +++ b/code/WorkInProgress/Mini/atmos_control.dm @@ -54,7 +54,7 @@ var/list/data[0] data["alarm"]=null if(current) - data += current.get_nano_data(user,TRUE) + data += current.get_nano_data(user,1,emagged) data["alarm"] = "\ref[current]" var/list/alarms=list() diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 1aa1d7d1e74..6de87e93a12 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -620,7 +620,7 @@ data["danger"]=danger return data -/obj/machinery/alarm/proc/get_nano_data(mob/user, fromAtmosConsole=0) +/obj/machinery/alarm/proc/get_nano_data(mob/user, fromAtmosConsole=0, AtmosConsoleEmagged=0) var/data[0] data["air"]=ui_air_status() @@ -631,7 +631,7 @@ // Not sent from atmos console AND // Not silicon AND locked. data["locked"]=!fromAtmosConsole && (!(istype(user, /mob/living/silicon)) && locked) - if(fromAtmosConsole && remote_control < 2) + if(fromAtmosConsole && (remote_control < 2 && !AtmosConsoleEmagged)) data["locked"] = 1 data["rcon"]=rcon_setting data["target_temp"] = target_temperature - T0C diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index aeb5ab87ce0..5813139b69d 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -330,13 +330,10 @@ user.visible_message("[defib] pings: Resuscitation successful.") playsound(get_turf(src), 'sound/machines/ping.ogg', 50, 0) H.stat = 1 - if(H in dead_mob_list) - dead_mob_list -= H - living_mob_list += H + H.revive() H.emote("gasp") if(tplus > tloss) H.setBrainLoss( max(0, min(99, ((tlimit - tplus) / tlimit * 100)))) - H.updatehealth() defib.deductcharge(revivecost) add_logs(user, M, "revived", object="defibrillator") else diff --git a/code/modules/mob/living/carbon/human/human_damage.dm b/code/modules/mob/living/carbon/human/human_damage.dm index 60b7f58c605..4016ad7bb13 100644 --- a/code/modules/mob/living/carbon/human/human_damage.dm +++ b/code/modules/mob/living/carbon/human/human_damage.dm @@ -16,26 +16,20 @@ if (species.flags & IS_SYNTHETIC) var/datum/organ/external/H = organs_by_name["head"] if (!H.amputated) - if ((health >= (config.health_threshold_dead/100*75)) && stat == DEAD) //need to get them 25% away from death point before reviving them - living_mob_list -= src - mob_list -= src - dead_mob_list -= src - living_mob_list += src - mob_list += src - stat = CONSCIOUS - ear_deaf = 0 - tod = 0 - timeofdeath = 0 + if ((health >= (config.health_threshold_dead/100*75)) && stat == DEAD) //need to get them 25% away from death point before reviving synthetics + revive() if (stat == CONSCIOUS && (src in dead_mob_list)) //Defib fix - living_mob_list -= src - mob_list -= src - dead_mob_list -= src - living_mob_list += src - mob_list += src - ear_deaf = 0 - tod = 0 - timeofdeath = 0 + revive() return + +/mob/living/carbon/human/revive() // handles revival through other means that cloning (defib, IPC repair) + stat = CONSCIOUS + dead_mob_list -= src + living_mob_list |= src + mob_list |= src + ear_deaf = 0 + tod = 0 + timeofdeath = 0 /mob/living/carbon/human/getBrainLoss() if(species && species.flags & NO_INTORGANS) return diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index db31e273a09..a05e8168026 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -3943,6 +3943,7 @@ "bxQ" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor,/area/quartermaster/office) "bxR" = (/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/quartermaster/office) "bxS" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/firealarm{pixel_y = 27},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/turf/simulated/floor,/area/quartermaster/office) +"bxT" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engine/reactor_core) "bxU" = (/turf/simulated/floor{dir = 8; icon_state = "browncorner"},/area/hallway/primary/central/sw) "bxV" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/hallway/primary/central/sw) "bxW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor{dir = 2; icon_state = "redcorner"},/area/hallway/primary/central/sw) @@ -6786,7 +6787,6 @@ "cAE" = (/obj/machinery/door/firedoor/border_only{dir = 1; layer = 2.5; name = "Engineering Firelock"},/obj/machinery/door/airlock/maintenance_hatch{name = "Supermatter SMES"; req_access_txt = "10"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) "cAF" = (/obj/machinery/alarm{pixel_x = 0; pixel_y = 24},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) "cAG" = (/obj/machinery/light{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/camera{c_tag = "Engineering Supermatter Hallway"; network = list("SS13")},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/obj/machinery/hologram/holopad,/turf/simulated/floor,/area/engine/reactor_core) -"cAH" = (/obj/machinery/atmospherics/unary/vent_scrubber,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor,/area/engine/reactor_core) "cAI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 101; on = 1; pressure_checks = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) "cAJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) "cAK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor,/area/engine/reactor_core) @@ -12689,7 +12689,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaactaaaaabaaaaabaabcxdaabaaaaabcxdaabaaaaabcxdaabaaaaaaaaaaaaaaaaaaaaaaaacuObChcxecxfcxgcxhaaicxibYscxjcuVcuVcuVcuVcuVcuVcxkaaicxlcxmcxncxocxpcxqcxrcxscxtcxucxvcxwcxxcxycxzcxAcxBctTctUcxCcxDctXctXcxEclCcxFcxGcvhcxHcsVcxIaaqcxJcxKcxLcxMcxNcxOcxNcxPaabctgctgctgctgctgaabaabaabcqycxQcvtcwPaaqcxRcxScxTcxUcxVabtabYabYcxWabYcxXaAzaaqabnaaaaaaaaicoRcoRcoRcvDcxYcxZcyacqNcybctwctwctwcyccydcyecyfaaaaaacqPaabctActBctBctBctBctCctDctEctFctFctFctFcygaabcqPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaactactafgaabaabcqccyhcqeaaacqccyhcqeaaacqccyhcqeaabaaaaaaaaaaaaaaaaaaaaaaabaabcyiaaiaaiaaiaaiaaicfEcyjbYscykbYsbYsbYscylcymcyncyocypcypcyqcyrcyscytcyucyvcywcyxcyycyzcyAcyBcyCcyDcyEcyFcyGcyHcyIcyJcyKcyLcyMcwCcyNcyOcyPcyQcyRcyScyTcyUcyVcyWcyXcyYcyZcuncuoczaczbczbctgaaaaaaaabafbczccvtczdaaqczeczfczfczgaaqczhcziczjczkczlczmcznczkcswaaacusaaiaaqaaqaaqaaqczocoVczpcnUczqcnUczrcnUczscnUcztczuaaaaaacqPaabcuMcuMcuMcuMcuMaaacsFaabcuMcuMcuMcuMcuMaaacqPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaaaaaaaaaaaaaaaacqccyhcqeaabcqccyhcqeaaacqccyhcqeaaaaaaaaaaabaaaaaaaaaaabaabaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiaaiczvaaiczwcxncxncxnczxczyczzczAczBaaiczCczDcwrczEczFaaiczGctXczHczIczJczKcyJczLczMczNczOczPczQczRczSczTczUczVczWcvhczXczYczZcvoaabcvpcAacAbcAcctgaaaaaaaaaafbaaqcAdaolaaqcAecAfcAgcAhcAicvtcAjcAkczkcAlcAmcAncAocApaabaaaaaaaaaaaaaaaaaicAqcArcAscAtcAucAvcAwcAxcAucAvcAyaaiaaaaabcobaaaaabaaaaabaaaaabaaacAzaaaaabaaaaabaabaabaabcqPaaaaaaaaaaaaaaaaaaaaaaaacAAaaaaaaaaacAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMVaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaaaaaaaaaaafgaabcqccyhcqeaaacqccyhcqeaaacqccyhcqeaabaaaaaaaaaaaaaaaaaaaabaabaaicABcACcADcAEcADcADcADcAFcAGcAHcADcAIcAJcAJcAKcALcAMcAMcAMcAMcAMcANcxncxncxnaaicAOcAPcAQcARcASceqanYcATcercAUcAVcAWcdjaubcAXcAYcAZcBacxHcsVcBbcBccBdcBecBfcvhczXcBgcBhcBicwMcuocBjczbczbctgaabaaaaaacqycBkcBlcBmcBncBocBpcBocBocBqcBrcBscBtcBtcBucBvcBwcBxcByaabaabaaaaaaaaaaaaaaicBzcBAcBBaaqcBCcBDcBEaaqcBFcBGcBHaaiaaaaaacqPaaacsEcsEcsEcsEcsEaabcqQaabcsEcsEcsEcsEcsEaabcqPaaaaaaaaaaaaaaaaaaaaaaaacAAcAAcAAcAAcAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaaaaaaaaaaafgaabcqccyhcqeaaacqccyhcqeaaacqccyhcqeaabaaaaaaaaaaaaaaaaaaaabaabaaicABcACcADcAEcADcADcADcAFcAGbxTcADcAIcAJcAJcAKcALcAMcAMcAMcAMcAMcANcxncxncxnaaicAOcAPcAQcARcASceqanYcATcercAUcAVcAWcdjaubcAXcAYcAZcBacxHcsVcBbcBccBdcBecBfcvhczXcBgcBhcBicwMcuocBjczbczbctgaabaaaaaacqycBkcBlcBmcBncBocBpcBocBocBqcBrcBscBtcBtcBucBvcBwcBxcByaabaabaaaaaaaaaaaaaaicBzcBAcBBaaqcBCcBDcBEaaqcBFcBGcBHaaiaaaaaacqPaaacsEcsEcsEcsEcsEaabcqQaabcsEcsEcsEcsEcsEaabcqPaaaaaaaaaaaaaaaaaaaaaaaacAAcAAcAAcAAcAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaaaaaaaaaaafgaabcqccyhcqeaaacqccyhcqeaabcqccyhcqeaabaabaabaaaaaaaaaaaaaabaaaaaicBIcBJcBKaaicBLcBMcBNcBNcBNcBOcBNcBNcBNcBNcBPacFcBQcBRcBScBTcBUcBVcBWcBXcBXcBXcBYcBZcxncxncxncCacCbcCcaaqcCdcCecCfcCgcChaaiaaiaaicCicxHcsVcCjcCkcClcCmcCncvhcCocCpcCqcCrcCsctgctgctgctgctgaaaaaaaaaafbcCtcCucCvcCwcCxcCycCxcCxcCzcCAcCBcCCcBxcCDcCEcAnczkcCFaabaabaaaaaaaaaaaaaaicCGcoRcoRaaqcCHcoRcoRaaqcCHcoRcoRaaiaaaaaacqPaabctActBctBctBctBcCIcCJcCIctFctFctFctFcygaabcqPaaacAAaaaaaacAAaaaaaacAAcAAcAAcAAcAAcAAcAAaaaaaacAAaaaaaacAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaaaaaaaaaaafOaabcqccCKcqeaaacqccCKcqeaaacqccCKcqeaabafgaabaabaaaaaaaaaaaaaaaaaicCLcBJcCMaaiaaicCNaaiaaiaaicCOaaiaaiaaiaaiaubaaiaaiaaiaaicCPcCQcCRcCScAMcAMcAMcCTcCUcCVcAMcAMcAMcCUcCWcCXcCYcCecCZcDacChcDbcDcacFcDdcDecDfcDgcDhcBfcDicDjcDkcDlcDmcDncyZcDocuocDpcDqcDqctgaaaaaaaaaafbcDrcDscDtcDucDvcDwcDxczkcDycDzcDAcDBcDCcDDcDEcDFcDGcDHaaaaaaaaaaaaaaaaaaaaicDIcoRcoRaaqcDJcoRcoRaaqcDJcoRcoRaaiaaaaaacqPaabcuMcuMcuMcuMcuMaaacqQaaacuMcuMcuMcuMcuMaaacqPaaacAAcAAcAAcAAaaacAAcAAcAAcAAcAAcAAcAAcAAcAAaaacAAcAAcAAcAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoZcoZcoZcoZcoZcoZcoZcoZcoZaaaaaaaaaaaaaaaaaaafgaaaaabaaaaaaaaaaabaabaabaaaaaaaabaabaaaafgaabaabaaaaaaaaaaaaaaaaaicDKcBJcCMaaicDLcDMcDNcDOcDPcDQcDRcDSaaicDTcDUcDVcDWcDXaaicDYcDZcEacEbcxncxncEccEdcEecEfcEgcEhcEicEjaaicEkcCYcCecElcEmcChaaicEnaaicEocEpcvhcDgcDhcEqcvhcDjcDkczXczYcErcvocEscvpcEtcEucEvctgaaaaaaaaabgLcEwcExcExcEyacgacgarncEzcEAcEBcEBcEBcECaaiaaiabnaveaaiaaaaaaaaaaaaaaaaaaaaicoRcoRcoRaaqcEDcoRcoRaaqcEDcoRcoRaaiaaaaabcqPaaaaaaaabaabaabaaaaaacqQaabaaaaaaaabaabaaaaaacqPaaacAAcAAcAAcAAaaacAAcAAcAAcAAcAAcAAcAAcAAcAAaaacAAcAAcAAcAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa