diff --git a/code/modules/events/organ_failure.dm b/code/modules/events/organ_failure.dm index f1d6a06a691..3639895cec6 100644 --- a/code/modules/events/organ_failure.dm +++ b/code/modules/events/organ_failure.dm @@ -39,5 +39,7 @@ datum/event/organ_failure/start() O.germ_level = max(INFECTION_LEVEL_TWO, O.germ_level) else O.germ_level = max(rand(INFECTION_LEVEL_ONE,INFECTION_LEVEL_ONE*2), O.germ_level) + + C.bad_external_organs |= O severity-- diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index 141d86b1ba6..37ea5b37bd3 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -362,12 +362,14 @@ This function completely restores a damaged organ to perfect condition. if(germ_level >= INFECTION_LEVEL_ONE) //having an infection raises your body temperature - var/temperature_increase = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) - if (owner.bodytemperature < temperature_increase) + var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) + owner.species.body_temperature + if (owner.bodytemperature < fever_temperature) + //world << "fever: [owner.bodytemperature] < [fever_temperature], raising temperature." owner.bodytemperature++ if(prob(round(germ_level/10))) //aiming for a light infection to become serious after 40 minutes, standing still - germ_level++ + if (prob(5)) + germ_level++ owner.adjustToxLoss(1) if(germ_level >= INFECTION_LEVEL_TWO) diff --git a/code/modules/organs/organ_internal.dm b/code/modules/organs/organ_internal.dm index 4608f2ab9ca..0cc7870ce60 100644 --- a/code/modules/organs/organ_internal.dm +++ b/code/modules/organs/organ_internal.dm @@ -38,6 +38,10 @@ if (!germ_level) return + if (robotic >= 2) //TODO make robotic internal and external organs separate types of organ instead of a flag + germ_level = 0 + return + var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin") if (germ_level > 0 && antibiotics > 5)