diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm
index 4cd2aa1d22a..92c59b67032 100644
--- a/code/modules/events/disease_outbreak.dm
+++ b/code/modules/events/disease_outbreak.dm
@@ -8,11 +8,10 @@ GLOBAL_LIST_EMPTY(current_pending_diseases)
/datum/disease/advance/hullucigen, /datum/disease/advance/sensory_restoration, /datum/disease/advance/voice_change)
var/static/list/transmissable_symptoms = list()
var/static/list/diseases_minor = list()
- var/static/list/diseases_moderate = list()
- var/static/list/diseases_major = list()
+ var/static/list/diseases_moderate_major = list()
/datum/event/disease_outbreak/setup()
- if(isemptylist(diseases_minor) && isemptylist(diseases_moderate) && isemptylist(diseases_major))
+ if(isemptylist(diseases_minor) && isemptylist(diseases_moderate_major))
populate_diseases()
if(isemptylist(transmissable_symptoms))
populate_symptoms()
@@ -22,35 +21,27 @@ GLOBAL_LIST_EMPTY(current_pending_diseases)
if(EVENT_LEVEL_MUNDANE)
virus = pick(diseases_minor)
if(EVENT_LEVEL_MODERATE)
- virus = pick(diseases_moderate)
- if(EVENT_LEVEL_MAJOR)
- virus = pick(diseases_major)
+ virus = pick(diseases_moderate_major)
else
- stack_trace("Disease Outbreak: Invalid Event Level [severity]. Expected: 1-3")
+ stack_trace("Disease Outbreak: Invalid Event Level [severity]. Expected: 1-2")
virus = /datum/disease/cold
chosen_disease = new virus()
else
- chosen_disease = create_virus(severity * 2) //Severity of the virus depends on the event severity level
+ if(severity == EVENT_LEVEL_MODERATE)
+ chosen_disease = create_virus(severity * pick(2,3)) //50% chance for a major disease instead of a moderate one
+ else
+ chosen_disease = create_virus(severity * 2)
+
chosen_disease.carrier = TRUE
/datum/event/disease_outbreak/start()
GLOB.current_pending_diseases += chosen_disease
- var/severity_text = "undefined (contact a coder)"
- switch(severity)
- if(EVENT_LEVEL_MUNDANE)
- severity_text = "mundane"
- if(EVENT_LEVEL_MODERATE)
- severity_text = "moderate"
- if(EVENT_LEVEL_MAJOR)
- severity_text = "major"
-
-
for(var/mob/M as anything in GLOB.dead_mob_list) //Announce outbreak to dchat
if(istype(chosen_disease, /datum/disease/advance))
var/datum/disease/advance/temp_disease = chosen_disease.Copy()
- to_chat(M, "Disease outbreak: The next new arrival is a carrier of [temp_disease.name]! A [severity_text] disease with the following symptoms: [english_list(temp_disease.symptoms)]")
+ to_chat(M, "Disease outbreak: The next new arrival is a carrier of [chosen_disease.name]! A \"[chosen_disease.severity]\" disease with the following symptoms: [english_list(temp_disease.symptoms)]")
else
- to_chat(M, "Disease outbreak: The next new arrival is a carrier of a [severity_text] disease: [chosen_disease.name]!")
+ to_chat(M, "Disease outbreak: The next new arrival is a carrier of a \"[chosen_disease.severity]\" disease: [chosen_disease.name]!")
//Creates a virus with a harmful effect, guaranteed to be spreadable by contact or airborne
/datum/event/disease_outbreak/proc/create_virus(max_severity = 6)
@@ -80,10 +71,8 @@ GLOBAL_LIST_EMPTY(current_pending_diseases)
switch(CD.severity)
if(NONTHREAT, MINOR)
diseases_minor += candidate
- if(MEDIUM, HARMFUL)
- diseases_moderate += candidate
- if(DANGEROUS, BIOHAZARD)
- diseases_major += candidate
+ if(MEDIUM, HARMFUL, DANGEROUS, BIOHAZARD)
+ diseases_moderate_major += candidate
/datum/event/disease_outbreak/proc/populate_symptoms()
for(var/candidate in subtypesof(/datum/symptom))
diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm
index 8b06d518bd1..b0d72f38cb3 100644
--- a/code/modules/events/event_container.dm
+++ b/code/modules/events/event_container.dm
@@ -200,7 +200,6 @@ GLOBAL_LIST_EMPTY(event_last_fired)
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Traders", /datum/event/traders, 85, is_one_shot = TRUE), // 8.4% on high pop, 9.4% on low pop
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Terror Spiders", /datum/event/spider_terror, 20, list(ASSIGNMENT_SECURITY = 4), TRUE), // 7.1% on high pop, 5.3% on low pop
new /datum/event_meta(EVENT_LEVEL_MAJOR, "Slaughter Demon", /datum/event/spawn_slaughter, 10, is_one_shot = TRUE), // 3% on high pop, 2.1% on low pop
- new /datum/event_meta(EVENT_LEVEL_MAJOR, "Disease Outbreak",/datum/event/disease_outbreak, 0, list(ASSIGNMENT_MEDICAL = 150), TRUE),
//new /datum/event_meta(EVENT_LEVEL_MAJOR, "Floor Cluwne", /datum/event/spawn_floor_cluwne, 15, is_one_shot = TRUE)
)