Adminbus Things (#8683)

Adds full variants of stacks of items in the spawn menu.
    Adds local narrate, which allows you to narrate to all mobs in a 7 tile radius.
    Allows admins to reset stationbounds via right click or Special Verbs menu.
    Adds a random type golem rune to the spawn menu, if an admin wants to adminbus a random golem into a round.
This commit is contained in:
Geeves
2020-05-15 22:37:51 +02:00
committed by GitHub
parent 097ea6cfbc
commit fbfd4b5738
11 changed files with 270 additions and 7 deletions
+3 -2
View File
@@ -60,7 +60,7 @@
bst.equip_to_slot_or_del(new /obj/item/clothing/shoes/black/bst(bst), slot_shoes)
bst.equip_to_slot_or_del(new /obj/item/clothing/head/beret(bst), slot_head)
bst.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/bst(bst), slot_glasses)
bst.equip_to_slot_or_del(new /obj/item/storage/belt/utility/full(bst), slot_belt)
bst.equip_to_slot_or_del(new /obj/item/storage/belt/utility/very_full(bst), slot_belt)
bst.equip_to_slot_or_del(new /obj/item/clothing/gloves/swat/bst(bst), slot_gloves)
if(bst.backbag == 1)
bst.equip_to_slot_or_del(new /obj/item/storage/box/ids(bst), slot_r_hand)
@@ -68,7 +68,8 @@
bst.equip_to_slot_or_del(new /obj/item/storage/box/ids(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/device/t_scanner(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/device/pda/captain/bst(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/device/multitool(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/device/healthanalyzer(bst.back), slot_in_backpack)
bst.equip_to_slot_or_del(new /obj/item/research(bst.back), slot_in_backpack)
var/obj/item/storage/box/pills = new /obj/item/storage/box(null, TRUE)
pills.name = "adminordrazine"
+50
View File
@@ -118,6 +118,33 @@
message_admins("<span class='notice'>\bold GlobalNarrate: [key_name_admin(usr)] : [msg]<BR></span>", 1)
feedback_add_details("admin_verb","GLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_local_narrate()
set category = "Special Verbs"
set name = "Local Narrate"
if(!check_rights(R_ADMIN, TRUE))
return
var/list/mob/message_mobs = list()
var/choice = alert(usr, "Local narrate will send a plain message to mobs. Do you want the mobs messaged to be only ones that you can see, or ignore blocked vision and message everyone within seven tiles of you?", "Narrate Selection", "In my view", "In range of me", "Cancel")
if(choice != "Cancel")
if(choice == "In my view")
message_mobs = mobs_in_view(view, src.mob)
else
for(var/mob/M in range(view, src.mob))
message_mobs += M
else
return
var/msg = html_decode(sanitize(input("Message:", text("Enter the text you wish to appear to everyone within seven tiles of you:")) as text))
if(!msg)
return
for(var/M in message_mobs)
to_chat(M, msg)
log_admin("LocalNarrate: [key_name(usr)] : [msg]", admin_key = key_name(usr))
message_admins("<span class='notice'>\bold LocalNarrate: [key_name_admin(usr)] : [msg]<BR></span>", 1)
feedback_add_details("admin_verb", "LCLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_direct_narrate(var/mob/M) // Targetted narrate -- TLE
set category = "Special Verbs"
set name = "Direct Narrate"
@@ -296,6 +323,29 @@ proc/get_ghosts(var/notify = 0,var/what = 2, var/client/C = null)
log_admin("[key_name(usr)] allowed [key_name(G)] to bypass the 30 minute respawn limit",admin_key=key_name(usr),ckey=key_name(G))
message_admins("Admin [key_name_admin(usr)] allowed [key_name_admin(G)] to bypass the 30 minute respawn limit", 1)
/client/proc/allow_stationbound_reset(mob/living/silicon/robot/R in range(world.view))
set category = "Special Verbs"
set name = "Allow Stationbound Reset"
set desc = "Select a stationbound to reset its module."
if(!check_rights(R_ADMIN, TRUE))
return
if(!R || !istype(R))
return
R.uneq_all()
R.mod_type = initial(R.mod_type)
R.hands.icon_state = initial(R.hands.icon_state)
R.module.Reset(R)
QDEL_NULL(R.module)
R.updatename("Default")
to_chat(R, FONT_LARGE(SPAN_NOTICE("An admin has allowed you to reset your module.")))
log_admin("[key_name(usr)] allowed [key_name(R)] to reset themselves as a stationbound.", admin_key = key_name(usr), ckey = key_name(R))
message_admins("Admin [key_name_admin(usr)] allowed [key_name_admin(R)] to reset themselves as a stationbound.", 1)
/client/proc/toggle_antagHUD_use()
set category = "Server"