diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 6b7c2d89606..d099da71bf9 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -75,7 +75,7 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) var/cure = has_cure() if(carrier && !cure) - return + return TRUE stage = min(stage, max_stages) @@ -89,6 +89,8 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease)) if(disease_flags & CURABLE) if(cure && prob(cure_chance)) cure() + return FALSE + return TRUE /datum/disease/proc/has_cure() diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index 318dd176e45..f167df70dac 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -69,7 +69,8 @@ GLOBAL_LIST_INIT(advance_cures, list( // Randomly pick a symptom to activate. /datum/disease/advance/stage_act() - ..() + if(!..()) + return FALSE if(symptoms && symptoms.len) if(!processing) @@ -81,6 +82,7 @@ GLOBAL_LIST_INIT(advance_cures, list( S.Activate(src) else CRASH("We do not have any symptoms during stage_act()!") + return TRUE // Compares type then ID. /datum/disease/advance/IsSame(datum/disease/advance/D)