diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 2e7c8f4a412..ab0b6690e1c 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -43,7 +43,6 @@ #define ADMIN_VV(atom) "(VV)" #define ADMIN_SM(user) "(SM)" #define ADMIN_TP(user) "(TP)" -#define ADMIN_BSA(user) "(BSA)" #define ADMIN_KICK(user) "(KICK)" #define ADMIN_CENTCOM_REPLY(user) "(RPLY)" #define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" @@ -61,4 +60,5 @@ #define ADMIN_PUNISHMENT_LIGHTNING "Lightning bolt" #define ADMIN_PUNISHMENT_BRAINDAMAGE "Brain damage" -#define ADMIN_PUNISHMENT_GIB "Gib" \ No newline at end of file +#define ADMIN_PUNISHMENT_GIB "Gib" +#define ADMIN_PUNISHMENT_BSA "Bluespace Artillery Device" \ No newline at end of file diff --git a/code/game/objects/items/charter.dm b/code/game/objects/items/charter.dm index 24d3f65d6de..ad23d12754a 100644 --- a/code/game/objects/items/charter.dm +++ b/code/game/objects/items/charter.dm @@ -60,7 +60,7 @@ to_chat(user, "Your name has been sent to your employers for approval.") // Autoapproves after a certain time response_timer_id = addtimer(CALLBACK(src, .proc/rename_station, new_name, user.name, user.real_name, key_name(user)), approval_time, TIMER_STOPPABLE) - to_chat(admins, "CUSTOM STATION RENAME:[key_name_admin(user)] (?) proposes to rename the station to [new_name] (will autoapprove in [approval_time / 10] seconds). (BSA) (REJECT) (RPLY)") + to_chat(admins, "CUSTOM STATION RENAME:[key_name_admin(user)] (?) proposes to rename the station to [new_name] (will autoapprove in [approval_time / 10] seconds). [ADMIN_SMITE(user)] (REJECT) (RPLY)") /obj/item/station_charter/proc/reject_proposed(user) if(!user) diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index d15d8e6e0ec..824e0b1a8a9 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -92,13 +92,13 @@ var/list/admin_verbs_fun = list( /client/proc/set_ooc, /client/proc/reset_ooc, /client/proc/forceEvent, - /client/proc/bluespace_artillery, /client/proc/admin_change_sec_level, /client/proc/toggle_nuke, /client/proc/mass_zombie_infection, /client/proc/mass_zombie_cure, /client/proc/polymorph_all, - /client/proc/show_tip + /client/proc/show_tip, + /client/proc/smite ) var/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_atom, /*allows us to spawn instances*/ diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 1f0408fdc51..c7f221d85a0 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1716,33 +1716,10 @@ var/mob/living/carbon/human/H = locate(href_list["adminsmite"]) in mob_list if(!H || !istype(H)) + to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human") return - var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB) - - var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list - - if(QDELETED(H) || !punishment) - return - - switch(punishment) - if(ADMIN_PUNISHMENT_LIGHTNING) - var/turf/T = get_step(get_step(H, NORTH), NORTH) - T.Beam(H, icon_state="lightning[rand(1,12)]", time = 5) - H.adjustFireLoss(75) - H.electrocution_animation(40) - to_chat(H, "The gods have punished you for your sins!") - if(ADMIN_PUNISHMENT_BRAINDAMAGE) - H.adjustBrainLoss(75) - if(ADMIN_PUNISHMENT_GIB) - H.gib(FALSE) - - message_admins("[key_name_admin(usr)] punished [key_name_admin(H)] with [punishment].") - log_admin("[key_name(usr)] punished [key_name(H)] with [punishment].") - - else if(href_list["BlueSpaceArtillery"]) - var/mob/living/M = locate(href_list["BlueSpaceArtillery"]) in mob_list - usr.client.bluespace_artillery(M) + usr.client.smite(H) else if(href_list["CentcommReply"]) var/mob/living/carbon/human/H = locate(href_list["CentcommReply"]) in mob_list diff --git a/code/modules/admin/verbs/bluespacearty.dm b/code/modules/admin/verbs/bluespacearty.dm index 3353986ac3e..2a4c9a2d57a 100644 --- a/code/modules/admin/verbs/bluespacearty.dm +++ b/code/modules/admin/verbs/bluespacearty.dm @@ -1,7 +1,4 @@ /client/proc/bluespace_artillery(mob/M in mob_list) - set name = "Bluespace Artillery" - set category = "Fun" - if(!holder || !check_rights(R_FUN)) return @@ -11,9 +8,6 @@ to_chat(usr, "This can only be used on instances of type /mob/living") return - if(alert(usr, "Are you sure you wish to hit [key_name(target)] with Blue Space Artillery?", "Confirm Firing?" , "Yes" , "No") != "Yes") - return - explosion(target.loc, 0, 0, 0, 0) var/turf/open/floor/T = get_turf(target) @@ -23,10 +17,6 @@ else T.break_tile() - to_chat(target, "You're hit by bluespace artillery!") - log_admin("[key_name(target)] has been hit by Bluespace Artillery fired by [key_name(usr)]") - message_admins("[ADMIN_LOOKUPFLW(target)] has been hit by Bluespace Artillery fired by [ADMIN_LOOKUPFLW(usr)]") - if(target.health <= 1) target.gib(1, 1) else diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index bb35726331e..e9688ec89ed 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -48,34 +48,21 @@ /proc/Centcomm_announce(text , mob/Sender) var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN) - msg = "\ - CENTCOM:\ - [ADMIN_FULLMONTY(Sender)] [ADMIN_BSA(Sender)] \ - [ADMIN_CENTCOM_REPLY(Sender)]: \ - [msg]" + msg = "CENTCOM:[ADMIN_FULLMONTY(Sender)] [ADMIN_SMITE(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]: [msg]" to_chat(admins, msg) for(var/obj/machinery/computer/communications/C in machines) C.overrideCooldown() /proc/Syndicate_announce(text , mob/Sender) var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN) - msg = "\ - SYNDICATE:\ - [ADMIN_FULLMONTY(Sender)] [ADMIN_BSA(Sender)] \ - [ADMIN_SYNDICATE_REPLY(Sender)]: \ - [msg]" + msg = "SYNDICATE:[ADMIN_FULLMONTY(Sender)] [ADMIN_SMITE(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]: [msg]" to_chat(admins, msg) for(var/obj/machinery/computer/communications/C in machines) C.overrideCooldown() /proc/Nuke_request(text , mob/Sender) var/msg = copytext(sanitize(text), 1, MAX_MESSAGE_LEN) - msg = "\ - NUKE CODE REQUEST:\ - [ADMIN_FULLMONTY(Sender)] [ADMIN_BSA(Sender)] \ - [ADMIN_CENTCOM_REPLY(Sender)] \ - [ADMIN_SET_SD_CODE]: \ - [msg]" + msg = "NUKE CODE REQUEST:[ADMIN_FULLMONTY(Sender)] [ADMIN_SMITE(Sender)] [ADMIN_CENTCOM_REPLY(Sender)] [ADMIN_SET_SD_CODE]: [msg]" to_chat(admins, msg) for(var/obj/machinery/computer/communications/C in machines) C.overrideCooldown() diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index d9f27abda6e..39746fadb52 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1131,3 +1131,33 @@ var/list/datum/outfit/custom_outfits = list() //Admin created outfits message_admins("WARNING: The server will not show up on the hub because byond is detecting that a filewall is blocking incoming connections.") feedback_add_details("admin_verb","HUB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! + +/client/proc/smite(mob/living/carbon/human/target as mob) + set name = "Smite" + set category = "Fun" + if(!holder) + return + + var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA) + + var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list + + if(QDELETED(target) || !punishment) + return + + switch(punishment) + if(ADMIN_PUNISHMENT_LIGHTNING) + var/turf/T = get_step(get_step(target, NORTH), NORTH) + T.Beam(target, icon_state="lightning[rand(1,12)]", time = 5) + target.adjustFireLoss(75) + target.electrocution_animation(40) + to_chat(target, "The gods have punished you for your sins!") + if(ADMIN_PUNISHMENT_BRAINDAMAGE) + target.adjustBrainLoss(75) + if(ADMIN_PUNISHMENT_GIB) + target.gib(FALSE) + if(ADMIN_PUNISHMENT_BSA) + bluespace_artillery(target) + + message_admins("[key_name_admin(usr)] punished [key_name_admin(target)] with [punishment].") + log_admin("[key_name(usr)] punished [key_name(target)] with [punishment].") \ No newline at end of file