diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 682b31ce0e8..6ce52676bf3 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -70,6 +70,7 @@ if(required_organ) if(!has_required_infectious_organ(affected_mob, required_organ)) + cure() return FALSE if(has_cure()) diff --git a/code/datums/diseases/parasitic_infection.dm b/code/datums/diseases/parasitic_infection.dm index f2489ab068a..8eb7f9f2b19 100644 --- a/code/datums/diseases/parasitic_infection.dm +++ b/code/datums/diseases/parasitic_infection.dm @@ -19,12 +19,6 @@ if(!.) return - var/obj/item/organ/internal/liver/affected_liver = affected_mob.get_organ_by_type(/obj/item/organ/internal/liver) - if(!affected_liver) - affected_mob.visible_message(span_notice("[affected_mob]'s liver is covered in tiny larva! They quickly shrivel and die after being exposed to the open air.")) - cure() - return FALSE - switch(stage) if(1) if(SPT_PROB(2.5, seconds_per_tick)) @@ -48,6 +42,8 @@ else to_chat(affected_mob, span_warning("You feel much, MUCH lighter!")) affected_mob.vomit(20, TRUE) + // disease code already checks if the liver exists otherwise it is cured + var/obj/item/organ/internal/liver/affected_liver = affected_mob.get_organ_slot(ORGAN_SLOT_LIVER) affected_liver.Remove(affected_mob) affected_liver.forceMove(get_turf(affected_mob)) cure()