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)