diff --git a/code/ZAS/ZAS_Zones.dm b/code/ZAS/ZAS_Zones.dm
index 026f6e3d45c..bc432289821 100644
--- a/code/ZAS/ZAS_Zones.dm
+++ b/code/ZAS/ZAS_Zones.dm
@@ -263,6 +263,9 @@ var/list/CounterDoorDirections = list(SOUTH,EAST) //Which directions doors turfs
ShareRatio( air , Z.air , connected_zones[Z] + unsimulated_boost)
for(var/zone/Z in closed_connection_zones)
+ //If that zone has already processed, skip it.
+ if(Z.last_update > last_update)
+ continue
if(air && Z.air)
if( abs(air.temperature - Z.air.temperature) > vsc.connection_temperature_delta )
ShareHeat(air, Z.air, closed_connection_zones[Z])
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index 90617f3019f..e20829aab85 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -60,6 +60,7 @@
/*if( LAssailant && ( istype( LAssailant,/mob/living/carbon/human ) ) )
var/mob/living/carbon/human/V = LAssailant
if (V.dna && (V.dna.mutantrace == "vox"))*/ //Not currently feasible due to terrible LAssailant tracking.
+ //world << "Vox kills: [vox_kills]"
vox_kills++ //Bad vox. Shouldn't be killing humans.
if(!gibbed)
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 95b2e678119..ed033f4d6f5 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -199,19 +199,15 @@
var/distance = get_dist(usr,src)
if(istype(usr, /mob/dead/observer) || usr.stat == 2) // ghosts can see anything
distance = 1
- if (src.stat == 1 || stat == 2)
+ if (src.stat)
msg += "[t_He] [t_is]n't responding to anything around [t_him] and seems to be asleep.\n"
if((stat == 2 || src.health < config.health_threshold_crit) && distance <= 3)
msg += "[t_He] does not appear to be breathing.\n"
- if(istype(usr, /mob/living/carbon/human) && usr.stat == 0 && src.stat == 1 && distance <= 1)
+ if(istype(usr, /mob/living/carbon/human) && !usr.stat && distance <= 1)
for(var/mob/O in viewers(usr.loc, null))
O.show_message("[usr] checks [src]'s pulse.", 1)
- spawn(15)
- usr << "\blue [t_He] has a pulse!"
-
- if(distance <= 1)
- if(istype(usr, /mob/living/carbon/human) && usr.stat == 0)
- spawn(15)
+ spawn(15)
+ if(distance <= 1 && usr.stat != 1)
if(pulse == PULSE_NONE)
usr << "[t_He] has no pulse[src.client ? "" : " and [t_his] soul has departed"]..."
else
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index c8a0ed3e807..e722b882ade 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -10,22 +10,7 @@ emp_act
/mob/living/carbon/human/bullet_act(var/obj/item/projectile/P, var/def_zone)
-// BEGIN TASER NERF
- if(istype(P, /obj/item/projectile/energy/electrode))
- var/datum/organ/external/select_area = get_organ(def_zone) // We're checking the outside, buddy!
- var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes) // What all are we checking?
- // var/deflectchance=90 //Is it a CRITICAL HIT with that taser?
- for(var/bp in body_parts) //Make an unregulated var to pass around.
- if(!bp)
- continue //Does this thing we're shooting even exist?
- if(bp && istype(bp ,/obj/item/clothing)) // If it exists, and it's clothed
- var/obj/item/clothing/C = bp // Then call an argument C to be that clothing!
- if(C.body_parts_covered & select_area.body_part) // Is that body part being targeted covered?
- P.agony=P.agony*C.siemens_coefficient
- apply_effect(P.agony,AGONY,0)
- flash_pain()
- src <<"\red You have been shot!"
- del P
+//Old taser nerf.
/* Commenting out new-old taser nerf.
if(C.siemens_coefficient == 0) //If so, is that clothing shock proof?
if(prob(deflectchance))
@@ -65,6 +50,23 @@ emp_act
P.xo = new_x - curloc.x
return -1 // complete projectile permutation
+//Book's taser nerf.
+ if(istype(P, /obj/item/projectile/energy/electrode))
+ var/datum/organ/external/select_area = get_organ(def_zone) // We're checking the outside, buddy!
+ var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes) // What all are we checking?
+ // var/deflectchance=90 //Is it a CRITICAL HIT with that taser?
+ for(var/bp in body_parts) //Make an unregulated var to pass around.
+ if(!bp)
+ continue //Does this thing we're shooting even exist?
+ if(bp && istype(bp ,/obj/item/clothing)) // If it exists, and it's clothed
+ var/obj/item/clothing/C = bp // Then call an argument C to be that clothing!
+ if(C.body_parts_covered & select_area.body_part) // Is that body part being targeted covered?
+ P.agony=P.agony*C.siemens_coefficient
+ apply_effect(P.agony,AGONY,0)
+ flash_pain()
+ src <<"\red You have been shot!"
+ del P
+//End taser nerf.
if(check_shields(P.damage, "the [P.name]"))
P.on_hit(src, 2)