[MIRROR] next set of admin verbs (#12574)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2026-03-22 21:28:46 +01:00
committed by GitHub
co-authored by Kashargul
parent b397129b6b
commit 62b8453b69
62 changed files with 1129 additions and 2147 deletions
+48 -70
View File
@@ -28,7 +28,7 @@
return
if(SSticker.mode && SSticker.mode.check_antagonists_topic(href, href_list))
check_antagonists()
check_antagonists(usr.client)
return
if(href_list["ticket"])
@@ -841,7 +841,7 @@
if(istext(mute_type)) mute_type = text2num(mute_type)
if(!isnum(mute_type)) return
cmd_admin_mute(M, mute_type)
cmd_admin_mute(M, mute_type, usr)
else if(href_list["c_mode"])
if(!check_rights(R_ADMIN|R_EVENT)) return
@@ -877,7 +877,7 @@
return tgui_alert_async(usr, "The game has already started.")
GLOB.master_mode = href_list["c_mode2"]
log_admin("[key_name(usr)] set the mode as [config.mode_names[GLOB.master_mode]].")
message_admins(span_blue("[key_name_admin(usr)] set the mode as [config.mode_names[GLOB.master_mode]]."), 1)
message_admins(span_blue("[key_name_admin(usr)] set the mode as [config.mode_names[GLOB.master_mode]]."))
to_chat(world, span_world(span_blue("The mode is now: [config.mode_names[GLOB.master_mode]]")))
Game() // updates the main game menu
world.save_mode(GLOB.master_mode)
@@ -892,7 +892,7 @@
return tgui_alert_async(usr, "The game mode has to be secret!")
GLOB.secret_force_mode = href_list["f_secret2"]
log_admin("[key_name(usr)] set the forced secret mode as [GLOB.secret_force_mode].")
message_admins(span_blue("[key_name_admin(usr)] set the forced secret mode as [GLOB.secret_force_mode]."), 1)
message_admins(span_blue("[key_name_admin(usr)] set the forced secret mode as [GLOB.secret_force_mode]."))
Game() // updates the main game menu
.(href, list("f_secret"=1))
@@ -905,7 +905,7 @@
return
log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]")
message_admins(span_blue("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]"), 1)
message_admins(span_blue("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]"))
H.monkeyize()
else if(href_list["corgione"])
@@ -917,7 +917,7 @@
return
log_admin("[key_name(usr)] attempting to corgize [key_name(H)]")
message_admins(span_blue("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]"), 1)
message_admins(span_blue("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]"))
H.corgize()
else if(href_list["forcespeech"])
@@ -973,7 +973,7 @@
to_chat(M, span_filter_system(span_warning("You have been sent to the prison station!")))
log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.")
message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1)
message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."))
else if(href_list["sendbacktolobby"])
if(!check_rights(R_ADMIN))
@@ -1022,7 +1022,7 @@
spawn(50)
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1)
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)")
else if(href_list["tdome2"])
if(!check_rights(R_FUN)) return
@@ -1048,7 +1048,7 @@
spawn(50)
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1)
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)")
else if(href_list["tdomeadmin"])
if(!check_rights(R_FUN)) return
@@ -1071,7 +1071,7 @@
spawn(50)
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1)
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)")
else if(href_list["tdomeobserve"])
if(!check_rights(R_FUN)) return
@@ -1101,7 +1101,7 @@
spawn(50)
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1)
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)")
else if(href_list["revive"])
if(!check_rights(R_REJUVINATE)) return
@@ -1113,7 +1113,7 @@
if(CONFIG_GET(flag/allow_admin_rev))
L.revive()
message_admins(span_red("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"), 1)
message_admins(span_red("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"))
log_admin("[key_name(usr)] healed / Rrvived [key_name(L)]")
else
to_chat(usr, span_filter_adminlog(span_filter_warning("Admin Rejuvinates have been disabled")))
@@ -1126,7 +1126,7 @@
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
message_admins(span_red("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"), 1)
message_admins(span_red("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"))
log_admin("[key_name(usr)] AIized [key_name(H)]")
H.AIize()
@@ -1138,7 +1138,7 @@
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
usr.client.cmd_admin_alienize(H)
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/cmd_admin_alienize, H)
else if(href_list[VK_HK_TURN_ROBOT])
if(!check_rights(R_SPAWN)) return
@@ -1148,7 +1148,7 @@
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
usr.client.cmd_admin_robotize(H)
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/cmd_admin_robotize, H)
else if(href_list["makeanimal"])
if(!check_rights(R_SPAWN)) return
@@ -1158,7 +1158,7 @@
to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/new_player"))
return
usr.client.cmd_admin_animalize(M)
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/cmd_admin_animalize, M)
else if(href_list["respawn"])
if(!check_rights(R_SPAWN))
@@ -1207,7 +1207,7 @@
G.ManualFollow(M)
else if(href_list["check_antagonist"])
check_antagonists()
check_antagonists(usr.client)
else if(href_list["take_question"])
@@ -1514,13 +1514,13 @@
if(!check_rights(R_ADMIN|R_EVENT|R_FUN)) return
var/mob/M = locate(href_list["narrateto"])
usr.client.cmd_admin_direct_narrate(M)
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/cmd_admin_direct_narrate, M)
else if(href_list["subtlemessage"])
if(!check_rights(R_MOD|R_ADMIN|R_EVENT|R_FUN,0)) return
var/mob/M = locate(href_list["subtlemessage"])
usr.client.cmd_admin_subtle_message(M)
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/cmd_admin_subtle_message, M)
else if(href_list["traitor"])
if(!check_rights(R_ADMIN|R_MOD|R_EVENT)) return
@@ -1533,7 +1533,7 @@
if(!ismob(M))
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob."))
return
show_traitor_panel(M)
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/show_traitor_panel, M)
else if(href_list["create_object"])
if(!check_rights(R_SPAWN)) return
@@ -1678,15 +1678,15 @@
else if(href_list["ac_view_wanted"]) //Admin newscaster Topic() stuff be here
src.admincaster_screen = 18 //The ac_ prefix before the hrefs stands for AdminCaster.
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_channel_name"])
src.admincaster_feed_channel.channel_name = sanitizeSafe(tgui_input_text(usr, "Provide a Feed Channel Name", "Network Channel Handler", "", encode = FALSE))
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_channel_lock"])
src.admincaster_feed_channel.locked = !src.admincaster_feed_channel.locked
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_submit_new_channel"])
var/check = 0
@@ -1703,22 +1703,22 @@
feedback_inc("newscaster_channels",1) //Adding channel to the global network
log_admin("[key_name_admin(usr)] created command feed channel: [src.admincaster_feed_channel.channel_name]!")
src.admincaster_screen=5
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_channel_receiving"])
var/list/available_channels = list()
for(var/datum/feed_channel/F in GLOB.news_network.network_channels)
available_channels += F.channel_name
src.admincaster_feed_channel.channel_name = tgui_input_list(usr, "Choose receiving Feed Channel", "Network Channel Handler", available_channels)
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_new_title"])
src.admincaster_feed_message.title = tgui_input_text(usr, "Enter the Feed title", "Network Channel Handler", "", MAX_MESSAGE_LEN)
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_new_message"])
src.admincaster_feed_message.body = tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", "", MAX_MESSAGE_LEN, TRUE, prevent_enter = TRUE)
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_submit_new_message"])
if(src.admincaster_feed_message.body =="" || admincaster_feed_message.title == "" || admincaster_feed_message.body =="\[REDACTED\]" || admincaster_feed_channel.channel_name == "" )
@@ -1729,23 +1729,23 @@
src.admincaster_screen=4
log_admin("[key_name_admin(usr)] submitted a feed story to channel: [src.admincaster_feed_channel.channel_name]!")
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_create_channel"])
src.admincaster_screen=2
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_create_feed_story"])
src.admincaster_screen=3
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_menu_censor_story"])
src.admincaster_screen=10
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_menu_censor_channel"])
src.admincaster_screen=11
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_menu_wanted"])
var/already_wanted = 0
@@ -1756,15 +1756,15 @@
src.admincaster_feed_message.author = GLOB.news_network.wanted_issue.author
src.admincaster_feed_message.body = GLOB.news_network.wanted_issue.body
src.admincaster_screen = 14
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_wanted_name"])
src.admincaster_feed_message.author = tgui_input_text(usr, "Provide the name of the Wanted person", "Network Security Handler", "", MAX_MESSAGE_LEN)
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_wanted_desc"])
src.admincaster_feed_message.body = tgui_input_text(usr, "Provide the a description of the Wanted person and any other details you deem important", "Network Security Handler", "", MAX_MESSAGE_LEN)
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_submit_wanted"])
var/input_param = text2num(href_list["ac_submit_wanted"])
@@ -1790,7 +1790,7 @@
GLOB.news_network.wanted_issue.backup_author = src.admincaster_feed_message.backup_author
src.admincaster_screen = 19
log_admin("[key_name_admin(usr)] issued a Station-wide Wanted Notification for [src.admincaster_feed_message.author]!")
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_cancel_wanted"])
var/choice = tgui_alert(usr, "Please confirm Wanted Issue removal","Network Security Handler",list("Confirm","Cancel"))
@@ -1799,7 +1799,7 @@
for(var/obj/machinery/newscaster/NEWSCASTER in GLOB.allCasters)
NEWSCASTER.update_icon()
src.admincaster_screen=17
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_censor_channel_author"])
var/datum/feed_channel/FC = locate(href_list["ac_censor_channel_author"])
@@ -1808,7 +1808,7 @@
FC.author = span_bold("\[REDACTED\]")
else
FC.author = FC.backup_author
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_censor_channel_story_author"])
var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_author"])
@@ -1817,7 +1817,7 @@
MSG.author = span_bold("\[REDACTED\]")
else
MSG.author = MSG.backup_author
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_censor_channel_story_body"])
var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_body"])
@@ -1826,22 +1826,22 @@
MSG.body = span_bold("\[REDACTED\]")
else
MSG.body = MSG.backup_body
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_pick_d_notice"])
var/datum/feed_channel/FC = locate(href_list["ac_pick_d_notice"])
src.admincaster_feed_channel = FC
src.admincaster_screen=13
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_toggle_d_notice"])
var/datum/feed_channel/FC = locate(href_list["ac_toggle_d_notice"])
FC.censored = !FC.censored
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_view"])
src.admincaster_screen=1
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_setScreen"]) //Brings us to the main menu and resets all fields~
src.admincaster_screen = text2num(href_list["ac_setScreen"])
@@ -1850,26 +1850,26 @@
src.admincaster_feed_channel = new /datum/feed_channel
if(src.admincaster_feed_message)
src.admincaster_feed_message = new /datum/feed_message
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_show_channel"])
var/datum/feed_channel/FC = locate(href_list["ac_show_channel"])
src.admincaster_feed_channel = FC
src.admincaster_screen = 9
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_pick_censor_channel"])
var/datum/feed_channel/FC = locate(href_list["ac_pick_censor_channel"])
src.admincaster_feed_channel = FC
src.admincaster_screen = 12
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_refresh"])
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["ac_set_signature"])
src.admincaster_signature = tgui_input_text(usr, "Provide your desired signature", "Network Identity Handler", "", MAX_MESSAGE_LEN)
src.access_news_network()
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/access_news_network)
else if(href_list["populate_inactive_customitems"])
if(check_rights(R_ADMIN|R_SERVER))
@@ -1911,28 +1911,6 @@
return
SSadmin_verbs.dynamic_invoke_verb(usr.client, /datum/admin_verb/despawn_player, carbon_target)
// player info stuff
if(href_list["notes"])
var/ckey = href_list["ckey"]
if(!ckey)
var/mob/M = locate(href_list["mob"])
if(ismob(M))
ckey = M.ckey
switch(href_list["notes"])
if("show")
var/datum/tgui_module/player_notes_info/A = new(src)
A.key = ckey
A.tgui_interact(usr)
if("list")
var/filter
if(href_list["filter"] && href_list["filter"] != "0")
filter = url_decode(href_list["filter"])
PlayerNotesPage(text2num(href_list["index"]), filter)
if("filter")
PlayerNotesFilter()
return
/mob/living/proc/can_centcom_reply()