mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-27 05:57:24 +01:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user