diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index b5e0f9c5c0..bacb35939a 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -507,9 +507,9 @@
infected = "Acute Infection:"
if (INFECTION_LEVEL_TWO + 200 to INFECTION_LEVEL_TWO + 300)
infected = "Acute Infection+:"
- if (INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_TWO + 400)
+ if (INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_THREE - 50)
infected = "Acute Infection++:"
- if (INFECTION_LEVEL_THREE to INFINITY)
+ if (INFECTION_LEVEL_THREE -49 to INFINITY)
infected = "Gangrene Detected:"
var/unknown_body = 0
@@ -549,9 +549,9 @@
infection = "Acute Infection:"
if (INFECTION_LEVEL_TWO + 200 to INFECTION_LEVEL_TWO + 300)
infection = "Acute Infection+:"
- if (INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_TWO + 400)
+ if (INFECTION_LEVEL_TWO + 300 to INFECTION_LEVEL_THREE - 50)
infection = "Acute Infection++:"
- if (INFECTION_LEVEL_THREE to INFINITY)
+ if (INFECTION_LEVEL_THREE -49 to INFINITY)
infection = "Necrosis Detected:"
dat += "
"
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index ca98cadd07..f9a18dbca6 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -361,6 +361,11 @@
if(((temp.status & ORGAN_BROKEN) && temp.brute_dam > temp.min_broken_damage) || (temp.status & ORGAN_MUTATED))
wound_flavor_text["[temp.name]"] += "[T.His] [temp.name] is dented and swollen!
"
+ if(temp.germ_level > INFECTION_LEVEL_TWO && !(temp.status & ORGAN_DEAD))
+ wound_flavor_text["[temp.name]"] += "[T.His] [temp.name] looks very infected!
"
+ else if(temp.status & ORGAN_DEAD)
+ wound_flavor_text["[temp.name]"] += "[T.His] [temp.name] looks rotten!
"
+
if(!wound_flavor_text["[temp.name]"] && (temp.status & ORGAN_BLEEDING))
is_bleeding["[temp.name]"] = "[T.His] [temp.name] is bleeding!
"
diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm
index f25339d6ef..fd6957aad4 100644
--- a/code/modules/organs/organ.dm
+++ b/code/modules/organs/organ.dm
@@ -139,8 +139,16 @@ var/list/organ_cache = list()
/obj/item/organ/proc/handle_germ_effects()
//** Handle the effects of infections
+ if(robotic >= ORGAN_ROBOT) //Just in case!
+ germ_level = 0
+ return 0
+
var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin")
+ if((status & ORGAN_DEAD) && antibiotics < 30) //Sepsis from 'dead' organs
+ var/sepsis_severity = 1 + round((germ_level - INFECTION_LEVEL_THREE)/200,0.25) //1 Tox plus a little based on germ level
+ owner.adjustToxLoss(sepsis_severity)
+
if (germ_level > 0 && germ_level < INFECTION_LEVEL_ONE/2 && prob(30))
germ_level--
@@ -155,7 +163,7 @@ var/list/organ_cache = list()
//owner.bodytemperature += between(0, (fever_temperature - T20C)/BODYTEMP_COLD_DIVISOR + 1, fever_temperature - owner.bodytemperature)
var/fever_temperature = owner.species.heat_discomfort_level * 1.10 //Heat discomfort level plus 10%
if(owner.bodytemperature < fever_temperature)
- owner.bodytemperature += (fever_temperature - owner.bodytemperature) / 10 //Tries to climb by 10% of the difference between fever and current
+ owner.bodytemperature += min(0.2,(fever_temperature - owner.bodytemperature) / 10) //Will usually climb by 0.2, else 10% of the difference if less
if (germ_level >= INFECTION_LEVEL_TWO)
. = 2 //Organ qualifies for effect-specific processing
@@ -164,8 +172,6 @@ var/list/organ_cache = list()
if (germ_level >= INFECTION_LEVEL_THREE && antibiotics < 30)
. = 3 //Organ qualifies for effect-specific processing
germ_level++ //Germ_level increases without overdose of antibiotics
- var/sepsis_severity = 1 + round((germ_level - INFECTION_LEVEL_THREE)/100,0.25) //1 Tox plus a little for going over INFECTION_LEVEL_THREE
- owner.adjustToxLoss(sepsis_severity)
/obj/item/organ/proc/handle_rejection()
// Process unsuitable transplants. TODO: consider some kind of
diff --git a/code/modules/organs/subtypes/machine.dm b/code/modules/organs/subtypes/machine.dm
index df692c4a97..eaf93ceeba 100644
--- a/code/modules/organs/subtypes/machine.dm
+++ b/code/modules/organs/subtypes/machine.dm
@@ -27,6 +27,7 @@
vital = 1
var/brain_type = /obj/item/device/mmi
var/obj/item/device/mmi/stored_mmi
+ robotic = ORGAN_ASSISTED
/obj/item/organ/internal/mmi_holder/Destroy()
if(stored_mmi && (stored_mmi.loc == src))
@@ -84,7 +85,7 @@
/obj/item/organ/internal/mmi_holder/posibrain
name = "positronic brain interface"
brain_type = /obj/item/device/mmi/digital/posibrain
-
+ robotic = ORGAN_ROBOT
/obj/item/organ/internal/mmi_holder/posibrain/update_from_mmi()
..()
@@ -94,6 +95,7 @@
/obj/item/organ/internal/mmi_holder/robot
name = "digital brain interface"
brain_type = /obj/item/device/mmi/digital/robot
+ robotic = ORGAN_ROBOT
/obj/item/organ/internal/mmi_holder/robot/update_from_mmi()
..()
diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm
index 09897729f9..0a1816e4c8 100644
--- a/code/modules/reagents/reagent_containers/dropper.dm
+++ b/code/modules/reagents/reagent_containers/dropper.dm
@@ -12,13 +12,6 @@
slot_flags = SLOT_EARS
volume = 5
-
-/obj/item/weapon/reagent_containers/dropper/do_surgery(mob/living/carbon/M, mob/living/user)
- if(user.a_intent != I_HELP) //in case it is ever used as a surgery tool
- return ..()
- afterattack(M, user, 1)
- return 1
-
/obj/item/weapon/reagent_containers/dropper/afterattack(var/obj/target, var/mob/user, var/proximity)
if(!target.reagents || !proximity) return
diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm
index 303dcfc141..2b93139111 100644
--- a/code/modules/surgery/other.dm
+++ b/code/modules/surgery/other.dm
@@ -146,10 +146,8 @@
var/trans = container.reagents.trans_to_mob(target, container.amount_per_transfer_from_this, CHEM_BLOOD) //technically it's contact, but the reagents are being applied to internal tissue
if (trans > 0)
-
- if(container.reagents.has_reagent("peridaxon"))
- affected.status &= ~ORGAN_DEAD
- affected.owner.update_body(1)
+ affected.status &= ~ORGAN_DEAD
+ affected.owner.update_body(1)
user.visible_message("\blue [user] applies [trans] units of the solution to affected tissue in [target]'s [affected.name]", \
"\blue You apply [trans] units of the solution to affected tissue in [target]'s [affected.name] with \the [tool].")
diff --git a/nano/templates/adv_med.tmpl b/nano/templates/adv_med.tmpl
index 7f7e931caf..a448b850ab 100644
--- a/nano/templates/adv_med.tmpl
+++ b/nano/templates/adv_med.tmpl
@@ -169,10 +169,10 @@ Used In File(s): \code\game\machinery\adv_med.dm
Acute Infection
{{else value.germ_level < 800}}
Acute Infection+
- {{else value.germ_level < 900}}
+ {{else value.germ_level < 950}}
Acute Infection++
- {{else value.germ_level >= 900}}
- Septic
+ {{else value.germ_level >= 950}}
+ Gangrene Detected
{{/if}}
{{/if}}
@@ -225,10 +225,10 @@ Used In File(s): \code\game\machinery\adv_med.dm
Acute Infection
{{else value.germ_level < 800}}
Acute Infection+
- {{else value.germ_level < 900}}
+ {{else value.germ_level < 950}}
Acute Infection++
- {{else value.germ_level >= 900}}
- Septic
+ {{else value.germ_level >= 950}}
+ Necrosis Detected
{{/if}}
{{/if}}