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