Rewrite of delta level

- Fixed bug that required the admin who activated it to remain on the
server till restart.
- Changed Delta level from Sleep Timer to Controller
- Added counter to debug stats to check it's working

--and apparently
This commit is contained in:
SoundScopes
2014-06-27 17:26:50 +01:00
parent 348df0b44b
commit 48a0017caa
6 changed files with 83 additions and 27 deletions
+10 -25
View File
@@ -610,22 +610,22 @@ var/list/admin_verbs_mod = list(
feedback_add_details("admin_verb","GD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] gave [key_name(T)] the disease [D].")
message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] the disease [D].", 1)
/client/proc/give_disease2(mob/T as mob in mob_list) // -- Giacom
set category = "Fun"
set name = "Give Disease"
set desc = "Gives a Disease to a mob."
var/datum/disease2/disease/D = new /datum/disease2/disease()
var/greater = ((input("Is this a lesser or greater disease?", "Give Disease") in list("Lesser", "Greater")) == "Greater")
D.makerandom(greater)
if (!greater)
D.infectionchance = 1
D.infectionchance = input("How virulent is this disease? (1-100)", "Give Disease", D.infectionchance) as num
if(istype(T,/mob/living/carbon/human))
var/mob/living/carbon/human/H = T
if (H.species)
@@ -634,7 +634,7 @@ var/list/admin_verbs_mod = list(
var/mob/living/carbon/monkey/M = T
D.affected_species = list(M.greaterform)
infect_virus2(T,D,1)
feedback_add_details("admin_verb","GD2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] gave [key_name(T)] a [(greater)? "greater":"lesser"] disease2 with infection chance [D.infectionchance].")
message_admins("\blue [key_name_admin(usr)] gave [key_name(T)] a [(greater)? "greater":"lesser"] disease2 with infection chance [D.infectionchance].", 1)
@@ -907,23 +907,8 @@ var/list/admin_verbs_mod = list(
if("Red")
set_security_level(SEC_LEVEL_RED)
if("Delta")
if (alert(usr, "Everyone will die, there is no cancelling.", "Are you sure you want Code Delta?", "Yes", "No") != "Yes") //Confirmation box incase of miss-clicks
if (alert(usr, "Everyone will die, there is no cancelling yet.", "Are you sure you want Code Delta?", "Yes", "No") != "Yes") //Confirmation box incase of miss-clicks
return
set_security_level(SEC_LEVEL_DELTA)
ticker.mode:explosion_in_progress = 1
for(var/mob/M in player_list)
M << 'sound/machines/Alarm.ogg'
for(var/i = 600 to 1 step -1) //TODO: Change this for a normal timer?
for (var/obj/machinery/status_display/SD in machines)
SD.set_picture("redalert") //A bug here makes a cool flashing alert signs. Keep?
sleep(10)
if(i <= 7)
world << i+3 //Adding 3 to make the cinematic match with the timer
enter_allowed = 0
if(ticker)
for(var/mob/M in player_list)
M << 'sound/effects/Explosion2.ogg'
ticker.station_explosion_cinematic(0,null) //Can't fully test auto restart on test server.
if(ticker.mode)
ticker.mode:station_was_nuked = 1
ticker.mode:explosion_in_progress = 0
delta_level:active = 1
delta_level.activate()