diff --git a/code/modules/organs/organ_external.dm b/code/modules/organs/organ_external.dm index d7d6fe3398..4492be8eef 100644 --- a/code/modules/organs/organ_external.dm +++ b/code/modules/organs/organ_external.dm @@ -596,7 +596,7 @@ return 0 /datum/organ/external/get_icon(gender="") - if (status & ORGAN_MUTATED) + if (status & ORGAN_MUTATED|ORGAN_DEAD) return new /icon(owner.deform_icon, "[icon_name][gender ? "_[gender]" : ""]") else return new /icon(owner.race_icon, "[icon_name][gender ? "_[gender]" : ""]") diff --git a/code/modules/organs/pain.dm b/code/modules/organs/pain.dm index fed144a39e..718abbe272 100644 --- a/code/modules/organs/pain.dm +++ b/code/modules/organs/pain.dm @@ -83,7 +83,7 @@ mob/living/carbon/human/proc/handle_pain() for(var/datum/organ/external/E in organs) // amputated limbs don't cause pain if(E.amputated) continue - + if(E.status & ORGAN_DEAD) continue var/dam = E.get_damage() // make the choice of the organ depend on damage, // but also sometimes use one of the less damaged ones diff --git a/code/modules/virus2/effect.dm b/code/modules/virus2/effect.dm index 8a090ca7d8..85c40c8add 100644 --- a/code/modules/virus2/effect.dm +++ b/code/modules/virus2/effect.dm @@ -134,10 +134,13 @@ activate(var/mob/living/carbon/mob,var/multiplier) if(istype(mob, /mob/living/carbon/human)) var/mob/living/carbon/human/H = mob - var/datum/organ/external/E = pick(H.organs) + var/organ = pick(list("r_arm","l_arm","r_leg","r_leg")) + var/datum/organ/external/E = H.organs_by_name[organ] if (!(E.status & ORGAN_DEAD)) E.status |= ORGAN_DEAD H << "You can't feel your [E.display_name] anymore..." + for (var/datum/organ/external/C in E.children) + C.status |= ORGAN_DEAD mob.adjustToxLoss(15*multiplier) deactivate(var/mob/living/carbon/mob,var/multiplier) @@ -145,6 +148,8 @@ var/mob/living/carbon/human/H = mob for (var/datum/organ/external/E in H.organs) E.status &= ~ORGAN_DEAD + for (var/datum/organ/external/C in E.children) + C.status &= ~ORGAN_DEAD /datum/disease2/effect/immortal name = "Longevity Syndrome"