diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 76fb1bdd2e..93f2f2718d 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -233,6 +233,7 @@ var/list/admin_verbs_mod = list( /client/proc/cmd_mod_say, /datum/admins/proc/show_player_info, /client/proc/player_panel_new, + /client/proc/dsay, /datum/admins/proc/show_skills, /client/proc/jobbans, /client/proc/cmd_admin_subtle_message /*send an message to somebody as a 'voice in their head'*/ @@ -582,8 +583,8 @@ var/list/admin_verbs_mod = list( set category = "Debug" set name = "Kill Air" set desc = "Toggle Air Processing" - if(kill_air) - kill_air = 0 + if(air_processing_killed) + air_processing_killed = 0 usr << "Enabled air processing." else kill_air = 1 diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index e930af3565..a95b9d625e 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -610,7 +610,7 @@ //JOBBAN'S INNARDS else if(href_list["jobban3"]) - if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return + if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return var/mob/M = locate(href_list["jobban4"]) if(!ismob(M)) @@ -715,7 +715,7 @@ href_list["jobban2"] = 1 // lets it fall through and refresh return 1 if("No") - if(!check_rights(R_BAN)) return + if(!check_rights(R_BAN)) return var/reason = input(usr,"Reason?","Please State Reason","") as text|null if(reason) var/msg @@ -813,7 +813,7 @@ DB_ban_unban(ckey(key), BANTYPE_JOB_PERMA, job) else if(href_list["newban"]) - if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) return + if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) return var/mob/M = locate(href_list["newban"]) if(!ismob(M)) return @@ -846,7 +846,7 @@ del(M.client) //del(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends. if("No") - if(check_rights(R_BAN)) return + if(check_rights(R_BAN)) return var/reason = input(usr,"Reason?","reason","Griefer") as text|null if(!reason) return @@ -887,7 +887,7 @@ unjobbanpanel() else if(href_list["mute"]) - if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return + if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return var/mob/M = locate(href_list["mute"]) if(!ismob(M)) return @@ -1407,7 +1407,7 @@ if(!istype(H)) usr << "This can only be used on instances of type /mob/living/carbon/human" return - if(!istype(H.ears, /obj/item/device/radio/headset)) + if(!istype(H.l_ear, /obj/item/device/radio/headset) && !istype(H.r_ear, /obj/item/device/radio/headset)) usr << "The person you are trying to contact is not wearing a headset" return @@ -1417,14 +1417,14 @@ src.owner << "You sent [input] to [H] via a secure channel." log_admin("[src.owner] replied to [key_name(H)]'s Centcomm message with the message [input].") message_admins("[src.owner] replied to [key_name(H)]'s Centcom message with: \"[input]\"") - H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows. [input]. Message ends.\"" + H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from Central Command. Message as follows. \"[input]\" Message ends.\"" else if(href_list["SyndicateReply"]) var/mob/living/carbon/human/H = locate(href_list["SyndicateReply"]) if(!istype(H)) usr << "This can only be used on instances of type /mob/living/carbon/human" return - if(!istype(H.ears, /obj/item/device/radio/headset)) + if(!istype(H.l_ear, /obj/item/device/radio/headset) && !istype(H.r_ear, /obj/item/device/radio/headset)) usr << "The person you are trying to contact is not wearing a headset" return @@ -1433,7 +1433,7 @@ src.owner << "You sent [input] to [H] via a secure channel." log_admin("[src.owner] replied to [key_name(H)]'s Syndicate message with the message [input].") - H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from your benefactor. Message as follows, agent. [input]. Message ends.\"" + H << "You hear something crackle in your headset for a moment before a voice speaks. \"Please stand by for a message from your benefactor. Message as follows, agent. \"[input]\" Message ends.\"" else if(href_list["CentcommFaxView"]) var/info = locate(href_list["CentcommFaxView"]) @@ -1448,22 +1448,29 @@ var/customname = input(src.owner, "Pick a title for the report", "Title") as text|null - for(var/obj/machinery/faxmachine/F in world) + for(var/obj/machinery/faxmachine/F in machines) if(! (F.stat & (BROKEN|NOPOWER) ) ) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( F.loc ) - P.name = "[command_name()]- [customname]" - P.info = input - P.update_icon() - playsound(F.loc, "sound/items/polaroid1.ogg", 50, 1) - // Stamps - var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') - stampoverlay.icon_state = "paper_stamp-cent" - if(!P.stamped) - P.stamped = new - P.stamped += /obj/item/weapon/stamp - P.overlays += stampoverlay - P.stamps += "
This paper has been stamped by the Central Command Quantum Relay." + // animate! it's alive! + flick("faxreceive", F) + + // give the sprite some time to flick + spawn(20) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( F.loc ) + P.name = "[command_name()]- [customname]" + P.info = input + P.update_icon() + + playsound(F.loc, "sound/items/polaroid1.ogg", 50, 1) + + // Stamps + var/image/stampoverlay = image('icons/obj/bureaucracy.dmi') + stampoverlay.icon_state = "paper_stamp-cent" + if(!P.stamped) + P.stamped = new + P.stamped += /obj/item/weapon/stamp + P.overlays += stampoverlay + P.stamps += "
This paper has been stamped by the Central Command Quantum Relay." src.owner << "Message reply to transmitted successfully." log_admin("[key_name(src.owner)] replied to a fax message from [key_name(H)]: [input]") @@ -1496,7 +1503,7 @@ usr.client.cmd_admin_direct_narrate(M) else if(href_list["subtlemessage"]) - if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return + if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN)) return var/mob/M = locate(href_list["subtlemessage"]) usr.client.cmd_admin_subtle_message(M) @@ -1735,6 +1742,21 @@ log_admin("[key_name(usr)] spawned a meteor wave", 1) message_admins("\blue [key_name_admin(usr)] spawned a meteor wave.", 1) new /datum/event/meteor_wave + if("goblob") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","Blob") + log_admin("[key_name(usr)] spawned a blob", 1) + message_admins("\blue [key_name_admin(usr)] spawned a blob.", 1) + new /datum/event/blob + + if("aliens") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","Aliens") + log_admin("[key_name(usr)] spawned an alien infestation", 1) + message_admins("\blue [key_name_admin(usr)] attempted an alien infestation", 1) + new /datum/event/alien_infestation + + if("power") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","P") @@ -1969,6 +1991,76 @@ spawn(0) sleep(rand(30,400)) Wall.ex_act(rand(2,1)) */ + if("wave") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","MW") + new /datum/event/meteor_wave + + if("gravanomalies") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","GA") + command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert") + world << sound('sound/AI/granomalies.ogg') + var/turf/T = pick(blobstart) + var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 ) + spawn(rand(100, 600)) + del(bh) + + if("timeanomalies") //dear god this code was awful :P Still needs further optimisation + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","STA") + //moved to its own dm so I could split it up and prevent the spawns copying variables over and over + //can be found in code\game\game_modes\events\wormholes.dm + wormhole_event() + + if("goblob") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","BL") + mini_blob_event() + message_admins("[key_name_admin(usr)] has spawned blob", 1) + if("aliens") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","AL") + if(aliens_allowed) + new /datum/event/alien_infestation + message_admins("[key_name_admin(usr)] has spawned aliens", 1) + if("alien_silent") //replaces the spawn_xeno verb + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","ALS") + if(aliens_allowed) + create_xeno() + if("spiders") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","SL") + new /datum/event/spider_infestation + message_admins("[key_name_admin(usr)] has spawned spiders", 1) + if("comms_blackout") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","CB") + var/answer = alert(usr, "Would you like to alert the crew?", "Alert", "Yes", "No") + if(answer == "Yes") + communications_blackout(0) + else + communications_blackout(1) + message_admins("[key_name_admin(usr)] triggered a communications blackout.", 1) + if("spaceninja") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","SN") + if(toggle_space_ninja) + if(space_ninja_arrival())//If the ninja is actually spawned. They may not be depending on a few factors. + message_admins("[key_name_admin(usr)] has sent in a space ninja", 1) + if("carp") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","C") + var/choice = input("You sure you want to spawn carp?") in list("Badmin", "Cancel") + if(choice == "Badmin") + message_admins("[key_name_admin(usr)] has spawned carp.", 1) + new /datum/event/carp_migration + if("radiation") + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","R") + message_admins("[key_name_admin(usr)] has has irradiated the station", 1) + new /datum/event/radiation_storm if("immovable") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","IR") @@ -2127,13 +2219,13 @@ if("spacevines") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","K") - //new /datum/event/spacevine + new /datum/event/spacevine message_admins("[key_name_admin(usr)] has spawned spacevines", 1) if("onlyone") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","OO") usr.client.only_one() -// message_admins("[key_name_admin(usr)] has triggered a battle to the death (only one)") + message_admins("[key_name_admin(usr)] has triggered a battle to the death (only one)") if(usr) log_admin("[key_name(usr)] used secret [href_list["secretsfun"]]") if (ok) @@ -2501,4 +2593,4 @@ show_player_info(ckey) if("list") PlayerNotesPage(text2num(href_list["index"])) - return + return \ No newline at end of file