From e9df2e0627f447a1badb10dbf54fa495bcb8b567 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Mon, 23 Nov 2015 18:13:47 -0500 Subject: [PATCH] Allows for command reports to come from other people than centcom --- code/defines/procs/announce.dm | 25 +++- code/modules/admin/verbs/randomverbs.dm | 154 ++++++++++++++---------- sound/AI/intercept2.ogg | Bin 0 -> 23156 bytes 3 files changed, 113 insertions(+), 66 deletions(-) create mode 100644 sound/AI/intercept2.ogg diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index 34822d2d509..0267bd88d98 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -1,6 +1,8 @@ /var/datum/announcement/minor/minor_announcement = new() /var/datum/announcement/priority/priority_announcement = new(do_log = 0) /var/datum/announcement/priority/command/command_announcement = new(do_log = 0, do_newscast = 1) +/var/datum/announcement/priority/enemy/communications_announcement = new(do_log = 0, do_newscast = 1) + /datum/announcement var/title = "Attention" @@ -16,7 +18,7 @@ sound = new_sound log = do_log newscast = do_newscast - + /datum/announcement/minor/New(var/do_log = 0, var/new_sound = sound('sound/misc/notice2.ogg'), var/do_newscast = 0) ..(do_log, new_sound, do_newscast) title = "Attention" @@ -32,12 +34,17 @@ title = "[command_name()] Update" announcement_type = "[command_name()] Update" +/datum/announcement/priority/enemy/New(var/do_log = 1, var/new_sound = sound('sound/AI/intercept2.ogg'), var/do_newscast = 0) + ..(do_log, new_sound, do_newscast) + title = "[command_name()] Update" + announcement_type = "Enemy Communications" + /datum/announcement/priority/security/New(var/do_log = 1, var/new_sound = sound('sound/misc/notice2.ogg'), var/do_newscast = 0) ..(do_log, new_sound, do_newscast) title = "Security Announcement" announcement_type = "Security Announcement" -/datum/announcement/proc/Announce(var/message as text, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0) +/datum/announcement/proc/Announce(var/message as text, var/new_title = "", var/new_sound = null, var/do_newscast = newscast, var/msg_sanitized = 0, var/from) if(!message) return var/tmp/message_title = new_title ? new_title : title @@ -47,7 +54,7 @@ message = trim_strip_html_properly(message) message_title = html_encode(message_title) - Message(message, message_title) + Message(message, message_title, from) if(do_newscast) NewsCast(message, message_title) Sound(message_sound) @@ -84,6 +91,18 @@ datum/announcement/priority/command/Message(message as text, message_title as te if(!istype(M,/mob/new_player) && !isdeaf(M)) M << command +datum/announcement/priority/enemy/Message(message as text, message_title as text, from as text) + var/command + command += "

[from]

" + if (message_title) + command += "

[message_title]

" + + command += "
[message]
" + command += "
" + for(var/mob/M in player_list) + if(!istype(M,/mob/new_player) && !isdeaf(M)) + M << command + datum/announcement/priority/security/Message(message as text, message_title as text) world << "[message_title]" world << "[message]" diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index e047a9c6497..e8b57143786 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1,7 +1,7 @@ /client/proc/cmd_admin_drop_everything(mob/M as mob in mob_list) set category = null set name = "Drop Everything" - + if(!check_rights(R_DEBUG|R_ADMIN)) return @@ -19,10 +19,10 @@ /client/proc/cmd_admin_prison(mob/M as mob in mob_list) set category = "Admin" set name = "Prison" - + if(!check_rights(R_ADMIN)) return - + if (ismob(M)) if(istype(M, /mob/living/silicon/ai)) alert("The AI can't be sent to prison you jerk!", null, null, null, null, null) @@ -48,10 +48,10 @@ set category = "Event" set name = "Subtle Message" - if(!ismob(M)) + if(!ismob(M)) return - if(!check_rights(R_SERVER|R_EVENT)) + if(!check_rights(R_SERVER|R_EVENT)) return var/msg = input("Message:", text("Subtle PM to [M.key]")) as text @@ -70,7 +70,7 @@ /client/proc/cmd_mentor_check_new_players() //Allows mentors / admins to determine who the newer players are. set category = "Admin" set name = "Check new Players" - + if(!check_rights(R_MENTOR|R_MOD|R_ADMIN)) return @@ -103,7 +103,7 @@ set category = "Event" set name = "Global Narrate" - if(!check_rights(R_SERVER|R_EVENT)) + if(!check_rights(R_SERVER|R_EVENT)) return var/msg = input("Message:", text("Enter the text you wish to appear to everyone:")) as text @@ -119,7 +119,7 @@ set category = "Event" set name = "Direct Narrate" - if(!check_rights(R_SERVER|R_EVENT)) + if(!check_rights(R_SERVER|R_EVENT)) return if(!M) @@ -141,10 +141,10 @@ /client/proc/cmd_admin_godmode(mob/M as mob in mob_list) set category = "Special Verbs" set name = "Godmode" - + if(!check_rights(R_ADMIN)) return - + M.status_flags ^= GODMODE usr << "\blue Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]" @@ -155,7 +155,7 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) if(automute) - if(!config.automute_on) + if(!config.automute_on) return else if(!usr || !usr.client) @@ -165,7 +165,7 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) return if(!M.client) usr << "Error: cmd_admin_mute: This mob doesn't have a client tied to it." - if(!M.client) + if(!M.client) return var/muteunmute @@ -204,10 +204,10 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) /client/proc/cmd_admin_add_random_ai_law() set category = "Event" set name = "Add Random AI Law" - + if(!check_rights(R_EVENT)) return - + var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") if(confirm != "Yes") return log_admin("[key_name(src)] has added a random AI law.") @@ -226,7 +226,7 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) if(!check_rights(R_SERVER)) return - + var/action="" if(config.antag_hud_allowed) for(var/mob/dead/observer/g in get_ghosts()) @@ -256,10 +256,10 @@ proc/cmd_admin_mute(mob/M as mob, mute_type, automute = 0) set category = "Server" set name = "Toggle antagHUD Restrictions" set desc = "Restricts players that have used antagHUD from being able to join this round." - + if(!check_rights(R_SERVER)) return - + var/action="" if(config.antag_hud_restricted) for(var/mob/dead/observer/g in get_ghosts()) @@ -289,10 +289,10 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Respawn Character" set desc = "Respawn a person that has been gibbed/dusted/killed. They must be a ghost for this to work and preferably should not have a body to go back into." - + if(!check_rights(R_SPAWN)) return - + var/input = ckey(input(src, "Please specify which key will be respawned.", "Key", "")) if(!input) return @@ -469,7 +469,7 @@ Traitors and the like can also be revived with the previous role mostly intact. new_xeno.ckey = ckey message_admins("\blue [key_name_admin(usr)] has spawned [ckey] as a filthy xeno [alien_caste].", 1) return 1 - + /client/proc/get_ghosts(var/notify = 0,var/what = 2) // what = 1, return ghosts ass list. @@ -493,15 +493,15 @@ Traitors and the like can also be revived with the previous role mostly intact. if(what==1) return ghosts else - return mobs - + return mobs + /client/proc/cmd_admin_add_freeform_ai_law() set category = "Event" set name = "Add Custom AI law" - + if(!check_rights(R_EVENT)) return - + var/input = input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null if(!input) return @@ -519,10 +519,10 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/cmd_admin_rejuvenate(mob/living/M as mob in mob_list) set category = "Special Verbs" set name = "Rejuvenate" - + if(!check_rights(R_REJUVINATE)) return - + if(!mob) return if(!istype(M)) @@ -536,37 +536,65 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/cmd_admin_create_centcom_report() set category = "Event" - set name = "Create Command Report" + set name = "Create Communications Report" - if(!check_rights(R_SERVER|R_EVENT)) + if(!check_rights(R_SERVER|R_EVENT)) return + var/type = input(usr, "Pick a type of report to send", "Report Type", "") in list("Centcom Report","Enemy Commnunications") var/input = input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null var/customname = input(usr, "Pick a title for the report.", "Title") as text|null if(!input) return - if(!customname) - customname = "Nanotrasen Update" - for (var/obj/machinery/computer/communications/C in machines) - if(! (C.stat & (BROKEN|NOPOWER) ) ) - var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc ) - P.name = "'[command_name()] Update.'" - P.info = input - P.update_icon() - C.messagetitle.Add("[command_name()] Update") - C.messagetext.Add(P.info) - switch(alert("Should this be announced to the general population?",,"Yes","No")) - if("Yes") - command_announcement.Announce(input, customname); - if("No") - world << "\red New Nanotrasen Update available at all communication consoles." + if(type == "Enemy Communications") + if(!customname) + customname = type + + var/from = input(usr, "What kind of report? Example: Syndicate Communique", "From") as text|null + if(!from) + from = "Syndicate Communique" + switch(alert("Should this be announced to the general population?",,"Yes","No")) + if("Yes") + communications_announcement.Announce(input, customname, , , , from); + if("No") + world << "\red [from] available at all communications consoles." + + for (var/obj/machinery/computer/communications/C in machines) + if(! (C.stat & (BROKEN|NOPOWER) ) ) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc ) + P.name = "[from]" + P.info = input + P.update_icon() + C.messagetitle.Add("[from]") + C.messagetext.Add(P.info) + + + if(type == "Centcom Report") + if(!customname) + customname = "Nanotrasen Update" + + switch(alert("Should this be announced to the general population?",,"Yes","No")) + if("Yes") + command_announcement.Announce(input, customname); + if("No") + world << "\red New Nanotrasen Update available at all communication consoles." + + for (var/obj/machinery/computer/communications/C in machines) + if(! (C.stat & (BROKEN|NOPOWER) ) ) + var/obj/item/weapon/paper/P = new /obj/item/weapon/paper( C.loc ) + P.name = "'[command_name()] Update.'" + P.info = input + P.update_icon() + C.messagetitle.Add("[command_name()] Update") + C.messagetext.Add(P.info) world << sound('sound/AI/commandreport.ogg') - log_admin("[key_name(src)] has created a command report: [input]") - message_admins("[key_name_admin(src)] has created a command report", 1) + log_admin("[key_name(src)] has created a communications report: [input]") + message_admins("[key_name_admin(src)] has created a communications report", 1) feedback_add_details("admin_verb","CCR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + /client/proc/cmd_admin_delete(atom/O as obj|mob|turf in view()) set category = "Admin" set name = "Delete" @@ -590,7 +618,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if(!check_rights(R_ADMIN)) return - + if(job_master) for(var/datum/job/job in job_master.occupations) src << "[job.title]: [job.total_positions]" @@ -600,7 +628,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Event" set name = "Explosion" - if(!check_rights(R_DEBUG|R_EVENT)) + if(!check_rights(R_DEBUG|R_EVENT)) return var/devastation = input("Range of total devastation. -1 to none", text("Input")) as num|null @@ -631,7 +659,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "EM Pulse" - if(!check_rights(R_DEBUG|R_EVENT)) + if(!check_rights(R_DEBUG|R_EVENT)) return var/heavy = input("Range of heavy pulse.", text("Input")) as num|null @@ -654,7 +682,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Gib" - if(!check_rights(R_ADMIN|R_EVENT)) + if(!check_rights(R_ADMIN|R_EVENT)) return var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") @@ -677,8 +705,8 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Event" if(!check_rights(R_ADMIN|R_EVENT)) - return - + return + var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") if(confirm == "Yes") if (istype(mob, /mob/dead/observer)) // so they don't spam gibs everywhere @@ -693,7 +721,7 @@ Traitors and the like can also be revived with the previous role mostly intact. /client/proc/cmd_admin_check_contents(mob/living/M as mob in mob_list) set category = "Special Verbs" set name = "Check Contents" - + if(!check_rights(R_ADMIN)) return @@ -706,7 +734,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Special Verbs" set name = "Change View Range" set desc = "switches between 1x and custom views" - + if(!check_rights(R_ADMIN)) return @@ -727,7 +755,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if ((!( ticker ) || !emergency_shuttle.location())) return - if(!check_rights(R_ADMIN)) + if(!check_rights(R_ADMIN)) return var/confirm = alert(src, "You sure?", "Confirm", "Yes", "No") @@ -743,8 +771,8 @@ Traitors and the like can also be revived with the previous role mostly intact. choice = input("The shuttle will not be able to leave if you call it. Call anyway?") in list("Confirm", "Cancel") if(choice != "Confirm") return - - + + choice = input("Is this an emergency evacuation or a crew transfer?") in list("Emergency", "Crew Transfer") if (choice == "Emergency") @@ -763,7 +791,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set category = "Admin" set name = "Cancel Shuttle" - if(!check_rights(R_ADMIN)) + if(!check_rights(R_ADMIN)) return if(alert(src, "You sure?", "Confirm", "Yes", "No") != "Yes") return @@ -785,7 +813,7 @@ Traitors and the like can also be revived with the previous role mostly intact. if (!ticker) return - if(!check_rights(R_ADMIN)) + if(!check_rights(R_ADMIN)) return emergency_shuttle.deny_shuttle = !emergency_shuttle.deny_shuttle @@ -798,8 +826,8 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Attack Log" if(!check_rights(R_ADMIN)) - return - + return + usr << text("\red Attack Log for []", mob) for(var/t in M.attack_log) usr << t @@ -811,7 +839,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Make Everyone Random" set desc = "Make everyone have a random appearance. You can only use this before rounds!" - if(!check_rights(R_SERVER|R_EVENT)) + if(!check_rights(R_SERVER|R_EVENT)) return if (ticker && ticker.mode) @@ -845,7 +873,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Toggle random events on/off" set desc = "Toggles random events such as meteors, black holes, blob (but not space dust) on/off" - if(!check_rights(R_SERVER|R_EVENT)) + if(!check_rights(R_SERVER|R_EVENT)) return if(!config.allow_random_events) @@ -863,7 +891,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Toggle ERT" set desc = "Toggle the station's ability to call a response team." - if(!check_rights(R_EVENT)) + if(!check_rights(R_EVENT)) return if(ticker.mode.ert_disabled) diff --git a/sound/AI/intercept2.ogg b/sound/AI/intercept2.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ab106a7295a42ce0a5959a28c48c6a58fc5ca237 GIT binary patch literal 23156 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 B8s-21 literal 0 HcmV?d00001