From 135251ece397dbc7ae6f18f2b84aa5a1b409f4d3 Mon Sep 17 00:00:00 2001 From: skoglol <33292112+kriskog@users.noreply.github.com> Date: Tue, 7 Jan 2020 15:54:55 +0100 Subject: [PATCH] Fixes admin disease naming, basic disease trigger (#48628) --- code/datums/diseases/advance/advance.dm | 7 ++++--- code/modules/admin/secrets.dm | 2 +- code/modules/events/disease_outbreak.dm | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index cc3c2fec47c..e3c494505b7 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -248,7 +248,7 @@ SetSpread(DISEASE_SPREAD_CONTACT_FLUIDS) else SetSpread(DISEASE_SPREAD_BLOOD) - + permeability_mod = max(CEILING(0.4 * properties["transmittable"], 1), 1) cure_chance = 15 - CLAMP(properties["resistance"], -5, 5) // can be between 10 and 20 stage_prob = max(properties["stage_rate"], 2) @@ -419,7 +419,7 @@ // Should be only 1 entry left, but if not let's only return a single entry var/datum/disease/advance/to_return = pick(diseases) - to_return.Refresh(1) + to_return.Refresh(TRUE) return to_return /proc/SetViruses(datum/reagent/R, list/data) @@ -464,8 +464,9 @@ var/new_name = stripped_input(user, "Name your new disease.", "New Name") if(!new_name) return - D.AssignName(new_name) D.Refresh() + D.AssignName(new_name) //Updates the master copy + D.name = new_name //Updates our copy var/list/targets = list("Random") targets += sortNames(GLOB.human_list) diff --git a/code/modules/admin/secrets.dm b/code/modules/admin/secrets.dm index 57e866c8249..4ecffc5b233 100644 --- a/code/modules/admin/secrets.dm +++ b/code/modules/admin/secrets.dm @@ -444,7 +444,7 @@ var/datum/round_event_control/disease_outbreak/DC = locate(/datum/round_event_control/disease_outbreak) in SSevents.control E = DC.runEvent() if("Choose") - var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in sortList(typesof(/datum/disease, /proc/cmp_typepaths_asc)) + var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in sortList(typesof(/datum/disease), /proc/cmp_typepaths_asc) var/datum/round_event_control/disease_outbreak/DC = locate(/datum/round_event_control/disease_outbreak) in SSevents.control var/datum/round_event/disease_outbreak/DO = DC.runEvent() DO.virus_type = virus diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index b923b9c5207..5237e7a659b 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -23,7 +23,7 @@ /datum/round_event/disease_outbreak/start() var/advanced_virus = FALSE max_severity = 3 + max(FLOOR((world.time - control.earliest_start)/6000, 1),0) //3 symptoms at 20 minutes, plus 1 per 10 minutes - if(prob(20 + (10 * max_severity))) + if(!virus_type && prob(20 + (10 * max_severity))) advanced_virus = TRUE if(!virus_type && !advanced_virus)