diff --git a/code/modules/admin/force_event.dm b/code/modules/admin/force_event.dm index 4affec2f0c2..20066547de9 100644 --- a/code/modules/admin/force_event.dm +++ b/code/modules/admin/force_event.dm @@ -90,7 +90,7 @@ if(!event) return if(length(event.admin_setup)) - for(var/datum/event_admin_setup/admin_setup_datum in event.admin_setup) + for(var/datum/event_admin_setup/admin_setup_datum as anything in event.admin_setup) if(admin_setup_datum.prompt_admins() == ADMIN_CANCEL_EVENT) return var/always_announce_chance = 100 diff --git a/code/modules/admin/verbs/secrets.dm b/code/modules/admin/verbs/secrets.dm index d042fd00f09..9fb6a2c756d 100644 --- a/code/modules/admin/verbs/secrets.dm +++ b/code/modules/admin/verbs/secrets.dm @@ -203,17 +203,25 @@ GLOBAL_DATUM(everyone_a_traitor, /datum/everyone_is_a_traitor_controller) if(!is_funmin) return SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("Virus Outbreak")) - switch(tgui_alert(usr,"Do you want this to be a random disease or do you have something in mind?",,list("Make Your Own","Random","Choose"))) + var/datum/round_event_control/event + var/prompt = tgui_alert(usr, "What disease system do you want?", "Disease Setup", list("Advanced", "Simple", "Make Your Own")) + switch(prompt) if("Make Your Own") AdminCreateVirus(holder) - if("Random") - force_event(/datum/round_event_control/disease_outbreak) - if("Choose") - var/virus = input("Choose the virus to spread", "BIOHAZARD") as null|anything in sort_list(typesof(/datum/disease), GLOBAL_PROC_REF(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.run_event() - DO.virus_type = virus - E = DO + if("Advanced") + event = locate(/datum/round_event_control/disease_outbreak/advanced) in SSevents.control + if("Simple") + event = locate(/datum/round_event_control/disease_outbreak) in SSevents.control + if(isnull(event)) + return + if(length(event.admin_setup)) + for(var/datum/event_admin_setup/admin_setup_datum as anything in event.admin_setup) + if(admin_setup_datum.prompt_admins() == ADMIN_CANCEL_EVENT) + return + event.run_event(admin_forced = TRUE) + message_admins("[key_name_admin(usr)] has triggered an event. ([event.name])") + log_admin("[key_name(usr)] has triggered an event. ([event.name])") + if("allspecies") if(!is_funmin) return diff --git a/code/modules/events/disease_outbreak.dm b/code/modules/events/disease_outbreak.dm index 4f251e871c7..cd9a25ea37e 100644 --- a/code/modules/events/disease_outbreak.dm +++ b/code/modules/events/disease_outbreak.dm @@ -143,7 +143,8 @@ return CHECK_TICK //don't lag the server to death if(isnull(victim)) - log_game("Event Disease Outbreak: Classic attempted to start, but failed.") + message_admins("Event Disease Outbreak: Classic attempted to start, but failed to find a candidate target.") + log_game("Event Disease Outbreak: Classic attempted to start, but failed to find a candidate target") /datum/round_event_control/disease_outbreak/advanced name = "Disease Outbreak: Advanced" @@ -279,7 +280,8 @@ return CHECK_TICK //don't lag the server to death if(isnull(victim)) - log_game("Event Disease Outbreak: Advanced attempted to start, but failed.") + message_admins("Event Disease Outbreak: Advanced attempted to start, but failed to find a candidate target.") + log_game("Event Disease Outbreak: Advanced attempted to start, but failed to find a candidate target.") /datum/disease/advance/random/event name = "Event Disease"