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
+4 -1
View File
@@ -1,6 +1,6 @@
//admin verb groups - They can overlap if you so wish. Only one of each verb will exist in the verbs list regardless
var/list/admin_verbs_default = list(
/datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags,
/datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags),
/client/proc/player_panel_modern,
/client/proc/toggleadminhelpsound, /*toggles whether we hear a sound when adminhelps/PMs are used*/
/client/proc/deadmin_self, /*destroys our own admin datum so we can play as a regular player*/
@@ -41,6 +41,7 @@ var/list/admin_verbs_admin = list(
/client/proc/admin_call_shuttle, //allows us to call the emergency shuttle,
/client/proc/admin_cancel_shuttle, //allows us to cancel the emergency shuttle, sending it back to centcomm,
/client/proc/cmd_admin_direct_narrate, //send text directly to a player with no padding. Useful for narratives and fluff-text,
/client/proc/cmd_admin_local_narrate, //sends text to all mobs within 7 tiles of src.mob
/client/proc/cmd_admin_world_narrate, //sends text to all players with no padding,
/client/proc/cmd_admin_create_centcom_report,
/client/proc/check_ai_laws, //shows AI and borg laws,
@@ -78,6 +79,7 @@ var/list/admin_verbs_admin = list(
/client/proc/toggle_antagHUD_use,
/client/proc/toggle_antagHUD_restrictions,
/client/proc/allow_character_respawn, // Allows a ghost to respawn ,
/client/proc/allow_stationbound_reset,
/client/proc/event_manager_panel,
/client/proc/empty_ai_core_toggle_latejoin,
/client/proc/aooc,
@@ -263,6 +265,7 @@ var/list/admin_verbs_hideable = list(
/client/proc/admin_call_shuttle,
/client/proc/admin_cancel_shuttle,
/client/proc/cmd_admin_direct_narrate,
/client/proc/cmd_admin_local_narrate,
/client/proc/cmd_admin_world_narrate,
/client/proc/play_local_sound,
/client/proc/play_sound,
+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"