diff --git a/code/__DEFINES/diseases.dm b/code/__DEFINES/diseases.dm index 3efea92a646..7fdb3182218 100644 --- a/code/__DEFINES/diseases.dm +++ b/code/__DEFINES/diseases.dm @@ -6,6 +6,12 @@ #define HIDDEN_SCANNER (1<<0) #define HIDDEN_PANDEMIC (1<<1) +//Bitfield for Visibility Flags +DEFINE_BITFIELD(visibility_flags, list( + "HIDDEN_FROM_ANALYZER" = HIDDEN_SCANNER, + "HIDDEN_FROM_PANDEMIC" = HIDDEN_PANDEMIC, +)) + //Disease Flags #define CURABLE (1<<0) #define CAN_CARRY (1<<1) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 6ce52676bf3..9d63a8c21b9 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -18,7 +18,7 @@ /// The probability of this infection advancing a stage every second the cure is not present. var/stage_prob = 2 /// How long this infection incubates (non-visible) before revealing itself - var/incubation_time = 0 + var/incubation_time //Other var/list/viable_mobtypes = list() //typepaths of viable mobs diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index a9cb1349e80..26a60c8e8a1 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -535,11 +535,14 @@ return properties["transmittable"] /** - * If the disease has an incubation time (such as event diseases) start the timer + * If the disease has an incubation time (such as event diseases) start the timer, let properties determine if there's no timer set. */ /datum/disease/advance/after_add() . = ..() + if(isnull(incubation_time)) + return + if(incubation_time < world.time) make_visible() return