Merge remote-tracking branch 'upstream/master' into lungsss

# Conflicts:
#	code/modules/mob/living/carbon/alien/humanoid/life.dm
#	code/modules/mob/living/carbon/human/life.dm
#	code/modules/mob/living/carbon/human/species/station.dm
#	code/modules/surgery/surgery.dm
This commit is contained in:
Fox-McCloud
2017-08-05 19:03:52 -04:00
368 changed files with 4818 additions and 14392 deletions
+6 -7
View File
@@ -181,7 +181,7 @@
return null
/proc/spread_germs_to_organ(obj/item/organ/E, mob/living/carbon/human/user, obj/item/tool)
if(!istype(user) || !istype(E))
if(!istype(user) || !istype(E) || !(E.status & ORGAN_ROBOT) || E.sterile)
return
var/germ_level = user.germ_level
@@ -189,12 +189,11 @@
//germ spread from surgeon touching the patient
if(user.gloves)
germ_level = user.gloves.germ_level
if(!(E.status & ORGAN_ROBOT)) //Germs on robotic limbs bad
E.germ_level = max(germ_level,E.germ_level) //as funny as scrubbing microbes out with clean gloves is - no.
spread_germs_by_incision(E,tool)//germ spread from environement to patient
E.germ_level += germ_level
spread_germs_by_incision(E, tool) //germ spread from environement to patient
/proc/spread_germs_by_incision(obj/item/organ/external/E,obj/item/tool)
if(!istype(E,/obj/item/organ/external))
if(!istype(E, /obj/item/organ/external))
return
var/germs = 0
@@ -202,7 +201,7 @@
for(var/mob/living/carbon/human/H in view(2, E.loc))//germs from people
if(AStar(E.loc, H.loc, /turf/proc/Distance, 2, simulated_only = 0))
if((!(BREATHLESS in H.mutations) || !(NO_BREATHE in H.species.species_traits)) && !H.wear_mask) //wearing a mask helps preventing people from breathing cooties into open incisions
germs+=H.germ_level/4
germs += H.germ_level * 0.25
for(var/obj/effect/decal/cleanable/M in view(2, E.loc))//germs from messes
if(AStar(E.loc, M.loc, /turf/proc/Distance, 2, simulated_only = 0))
@@ -213,7 +212,7 @@
germs += 30
if(E.internal_organs.len)
germs = germs / E.internal_organs.len
germs = germs / (E.internal_organs.len + 1) // +1 for the external limb this eventually applies to; let's not multiply germs now.
for(var/obj/item/organ/internal/O in E.internal_organs)
if(!(O.status & ORGAN_ROBOT))
O.germ_level += germs