From 01d20eb7af54cc15baa1b8b76166cce0456a533e Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 2 Feb 2019 17:50:05 -0500 Subject: [PATCH] Ensures Some Diseases Cannot Be Cheesed --- code/datums/diseases/_disease.dm | 1 + code/datums/diseases/advance/symptoms/heal.dm | 2 ++ code/datums/diseases/appendicitis.dm | 1 + code/datums/diseases/food_poisoning.dm | 1 + code/datums/diseases/kuru.dm | 2 ++ code/game/objects/items/weapons/storage/artistic_toolbox.dm | 3 ++- 6 files changed, 9 insertions(+), 1 deletion(-) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 42cf8d07b3b..84dde0f22e0 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -59,6 +59,7 @@ var/list/diseases = subtypesof(/datum/disease) var/cure_chance = 8 var/carrier = FALSE //If our host is only a carrier var/bypasses_immunity = FALSE //Does it skip species virus immunity check? Some things may diseases and not viruses + var/virus_heal_resistant = FALSE // Some things aren't technically viruses/traditional diseases and should be immune to edge case cure methods, like healing viruses. var/permeability_mod = 1 var/severity = NONTHREAT var/list/required_organs = list() diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 56be430f85d..ddec1008c4c 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -69,6 +69,8 @@ Bonus var/cured = 0 for(var/thing in M.viruses) var/datum/disease/D = thing + if(D.virus_heal_resistant) + continue if(D != A) cured = 1 cured_diseases += D.GetDiseaseID() diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm index d06c49de9c8..6696c306631 100644 --- a/code/datums/diseases/appendicitis.dm +++ b/code/datums/diseases/appendicitis.dm @@ -13,6 +13,7 @@ visibility_flags = HIDDEN_PANDEMIC required_organs = list(/obj/item/organ/internal/appendix) bypasses_immunity = TRUE + virus_heal_resistant = TRUE /datum/disease/appendicitis/stage_act() ..() diff --git a/code/datums/diseases/food_poisoning.dm b/code/datums/diseases/food_poisoning.dm index 25166ecf13b..79a3801ce10 100644 --- a/code/datums/diseases/food_poisoning.dm +++ b/code/datums/diseases/food_poisoning.dm @@ -13,6 +13,7 @@ severity = MINOR disease_flags = CURABLE spread_flags = NON_CONTAGIOUS + virus_heal_resistant = TRUE var/remissive = 0 /datum/disease/food_poisoning/stage_act() diff --git a/code/datums/diseases/kuru.dm b/code/datums/diseases/kuru.dm index 55fd4490d8e..5cb04ef5f85 100644 --- a/code/datums/diseases/kuru.dm +++ b/code/datums/diseases/kuru.dm @@ -11,7 +11,9 @@ desc = "Uncontrollable laughing." severity = BIOHAZARD spread_flags = NON_CONTAGIOUS + disease_flags = CAN_CARRY bypasses_immunity = TRUE //Kuru is a prion disorder, not a virus + virus_heal_resistant = TRUE /datum/disease/kuru/stage_act() ..() diff --git a/code/game/objects/items/weapons/storage/artistic_toolbox.dm b/code/game/objects/items/weapons/storage/artistic_toolbox.dm index 5dc5eaca2f1..8752f95c1f0 100644 --- a/code/game/objects/items/weapons/storage/artistic_toolbox.dm +++ b/code/game/objects/items/weapons/storage/artistic_toolbox.dm @@ -116,8 +116,9 @@ cure_text = "Unknown" viable_mobtypes = list(/mob/living/carbon/human) severity = BIOHAZARD - disease_flags = CURABLE + disease_flags = CAN_CARRY spread_flags = NON_CONTAGIOUS + virus_heal_resistant = TRUE var/obj/item/storage/toolbox/green/memetic/progenitor = null /datum/disease/memetic_madness/Destroy()