Biohazard Alert changes (#29616)

* better biohazard alerts

* fixing some legacy stuff

* fix admin outbreaks

* fuck

* fuck

* new announcement
This commit is contained in:
DeityLink
2021-05-30 23:14:40 +02:00
committed by GitHub
parent afd51afe57
commit 409dce55b9
16 changed files with 139 additions and 120 deletions

View File

@@ -849,7 +849,7 @@ var/global/floorIsLava = 0
<A href='?src=\ref[src];secretsfun=virus'>Trigger a Virus Outbreak</A><BR>
<A href='?src=\ref[src];secretsfun=mass_hallucination'>Cause the crew to hallucinate</A><BR>
<BR>
<A href='?src=\ref[src];secretsfun=lightsout'>Toggle a "lights out" event</A><BR>
<A href='?src=\ref[src];secretsfun=lightsout'>Trigger an Electrical Storm (breaks some lights)</A><BR>
<A href='?src=\ref[src];secretsfun=prison_break'>Trigger a Prison Break</A><BR>
<A href='?src=\ref[src];secretsfun=ionstorm'>Spawn an Ion Storm</A><BR>
<A href='?src=\ref[src];secretsfun=comms_blackout'>Trigger a communication blackout</A><BR>

View File

@@ -50,12 +50,8 @@
if (dish.contained_virus)
if (ID == "[dish.contained_virus.uniqueID]-[dish.contained_virus.subID]")
dishes++
var/nickname = ""
if (ID in virusDB)
var/datum/data/record/v = virusDB[ID]
nickname = v.fields["nickname"] ? " \"[v.fields["nickname"]]\"" : ""
dat += {"<tr>
<td><a href='?src=\ref[src];diseasepanel_examine=\ref[D]'>[D.form] #[add_zero("[D.uniqueID]", 4)]-[add_zero("[D.subID]", 4)][nickname]</a></td>
<td><a href='?src=\ref[src];diseasepanel_examine=\ref[D]'>[D.real_name()]</a></td>
<td>[D.origin]</td>
<td><a href='?src=\ref[src];diseasepanel_toggledb=\ref[D]'>[(ID in virusDB) ? "Yes" : "No"]</a></td>
<td><a href='?src=\ref[src];diseasepanel_infectedmobs=\ref[D]'>[infctd_mobs][infctd_mobs_dead ? " (including [infctd_mobs_dead] dead)" : "" ]</a></td>
@@ -70,3 +66,4 @@
"}
usr << browse(dat, "window=diseasespanel;size=705x450")

View File

@@ -3534,17 +3534,18 @@
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","PB")
message_admins("[key_name_admin(usr)] has allowed a prison break", 1)
prison_break()
new /datum/event/prison_break
if("lightsout")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","LO")
message_admins("[key_name_admin(usr)] has broke a lot of lights", 1)
lightsout(1,2)
message_admins("[key_name_admin(usr)] has triggered an electrical storm", 1)
new /datum/event/electrical_storm
if("blackout")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","BO")
message_admins("[key_name_admin(usr)] broke all lights", 1)
lightsout(0,0)
for(var/obj/machinery/power/apc/apc in power_machines)
apc.overload_lighting()
if("whiteout")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","WO")
@@ -3555,7 +3556,6 @@
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","RAD")
message_admins("[key_name_admin(usr)] has started a radiation event", 1)
//makeAliens()
new /datum/event/radiation_storm
if("floorlava")
if(floorIsLava)
@@ -3633,13 +3633,27 @@
if("virus")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","V")
var/answer = alert("Do you want this to be a greater disease or a lesser one?",,"Greater","Lesser")
if(answer=="Lesser")
//virus2_lesser_infection()
message_admins("[key_name_admin(usr)] has triggered a lesser virus outbreak.", 1)
else
//virus2_greater_infection()
message_admins("[key_name_admin(usr)] has triggered a greater virus outbreak.", 1)
var/answer = alert("Do you want this to be a greater disease or a lesser one?","Pathogen Outbreak","Greater","Lesser","Custom")
switch (answer)
if ("Lesser")
new /datum/event/viral_infection
message_admins("[key_name_admin(usr)] has triggered a lesser virus outbreak.", 1)
if ("Greater")
new /datum/event/viral_outbreak
message_admins("[key_name_admin(usr)] has triggered a greater virus outbreak.", 1)
if ("Custom")
var/list/existing_pathogen = list()
for (var/pathogen in disease2_list)
var/datum/disease2/disease/dis = disease2_list[pathogen]
existing_pathogen["[dis.real_name()]"] = pathogen
var/chosen_pathogen = input(usr, "Choose a pathogen", "Choose a pathogen") as null | anything in existing_pathogen
if (chosen_pathogen)
var/datum/disease2/disease/dis = disease2_list[existing_pathogen[chosen_pathogen]]
spread_disease_among_crew(dis,"Custom Outbreak")
message_admins("[key_name_admin(usr)] has triggered a custom virus outbreak.", 1)
var/dis_level = clamp(round((dis.get_total_badness()+1)/2),1,8)
spawn(rand(0,3000))
biohazard_alert(dis_level)
if("retardify")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","RET")