From fca90f5c78b19978eedd9e87d5d8d882ce68ca61 Mon Sep 17 00:00:00 2001 From: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Date: Sat, 4 Feb 2023 04:20:18 -0500 Subject: [PATCH] Redoes the admin verb define to require passing in an Admin Visible Name, and restores the usage of '-' for the verb bar when you want to call verbs from the command bar. Also cleans up and organizes the backend for drawing verbs to make it easier in the future for me to make it look better (#73214) ## About The Pull Request Damn that's a long title. Admin Verbs can be used in the verb bar with hyphens instead of spaces again. ## Why It's Good For The Game Admin muscle memory ## Changelog --- code/__HELPERS/admin_verb.dm | 16 ++-- code/controllers/subsystem/admin_verbs.dm | 11 +-- code/controllers/subsystem/explosions.dm | 2 +- code/controllers/subsystem/mapping.dm | 2 +- code/datums/components/puzzgrid.dm | 2 +- code/datums/station_traits/admin_panel.dm | 2 +- .../gamemodes/dynamic/dynamic_simulations.dm | 2 +- code/modules/admin/admin.dm | 18 ++-- code/modules/admin/admin_verbs.dm | 72 +++++++-------- code/modules/admin/callproc/callproc.dm | 2 +- code/modules/admin/force_event.dm | 2 +- code/modules/admin/outfit_manager.dm | 2 +- code/modules/admin/permissionedit.dm | 2 +- code/modules/admin/stickyban.dm | 2 +- code/modules/admin/verbs/SDQL2/SDQL_2.dm | 2 +- code/modules/admin/verbs/admin.dm | 12 +-- code/modules/admin/verbs/adminevents.dm | 28 +++--- code/modules/admin/verbs/adminfun.dm | 14 +-- code/modules/admin/verbs/admingame.dm | 16 ++-- code/modules/admin/verbs/adminjump.dm | 14 +-- code/modules/admin/verbs/ai_triumvirate.dm | 2 +- code/modules/admin/verbs/anonymousnames.dm | 2 +- code/modules/admin/verbs/atmosdebug.dm | 4 +- code/modules/admin/verbs/beakerpanel.dm | 2 +- code/modules/admin/verbs/cinematic.dm | 2 +- code/modules/admin/verbs/commandreport.dm | 4 +- code/modules/admin/verbs/config_helpers.dm | 2 +- code/modules/admin/verbs/debug.dm | 78 ++++++++-------- code/modules/admin/verbs/diagnostics.dm | 8 +- code/modules/admin/verbs/ert.dm | 2 +- code/modules/admin/verbs/fov.dm | 2 +- code/modules/admin/verbs/fps.dm | 2 +- code/modules/admin/verbs/getlogs.dm | 4 +- .../admin/verbs/ghost_pool_protection.dm | 2 +- code/modules/admin/verbs/lua/lua_editor.dm | 2 +- code/modules/admin/verbs/manipulate_organs.dm | 2 +- .../admin/verbs/map_template_loadverb.dm | 4 +- code/modules/admin/verbs/mapping.dm | 30 +++---- code/modules/admin/verbs/maprotation.dm | 4 +- code/modules/admin/verbs/panicbunker.dm | 4 +- code/modules/admin/verbs/playsound.dm | 10 +-- code/modules/admin/verbs/possess.dm | 4 +- code/modules/admin/verbs/server.dm | 28 +++--- code/modules/admin/verbs/spawnobjasmob.dm | 2 +- code/modules/admin_verbs/admin_verbs.dm | 11 +-- code/modules/admin_verbs/default_verbs.dm | 30 +++---- .../modules/admin_verbs/fishing_calculator.dm | 2 +- code/modules/admin_verbs/vv_admin_verb.dm | 2 +- .../antagonists/traitor/balance_helper.dm | 2 +- code/modules/client/verbs/ooc.dm | 4 +- code/modules/explorer_drone/manager.dm | 2 +- .../procedural_mapping/mapGenerator.dm | 2 +- .../reagents/chemistry/chem_wiki_render.dm | 2 +- code/modules/wiremod/core/duplicator.dm | 2 +- html/statbrowser.css | 28 ++++++ html/statbrowser.js | 89 ++++++++++++------- 56 files changed, 317 insertions(+), 288 deletions(-) diff --git a/code/__HELPERS/admin_verb.dm b/code/__HELPERS/admin_verb.dm index 5862b41c11e..04417df93d6 100644 --- a/code/__HELPERS/admin_verb.dm +++ b/code/__HELPERS/admin_verb.dm @@ -1,10 +1,10 @@ /** * Creates an admin verb with the specified module(category) name, desc, permissions, and parameters as needed. */ -#define ADMIN_VERB(module, verb_name, verb_desc, permissions, params...) \ -/mob/admin_module_holder/##module/##verb_name/verb/invoke(##params){ \ +#define ADMIN_VERB(module, verb_id, verb_name, verb_desc, permissions, params...) \ +/mob/admin_module_holder/##module/##verb_id/verb/invoke(##params){ \ set src in usr.group; \ - set name = #verb_name; \ + set name = verb_name; \ set desc = verb_desc; \ if(datum_flags & DF_VAR_EDITED) { \ message_admins("[key_name_admin(usr)] attempted to elevate permissions by executing from a var edited admin verb holder!"); \ @@ -16,16 +16,16 @@ return; \ } \ if(check_rights_for(usr.client, permissions)) { \ - _##verb_name(arglist(args)); \ - SSblackbox.record_feedback("tally", "admin_verb", 1, "[#module]/[#verb_name]"); \ + _##verb_id(arglist(args)); \ + SSblackbox.record_feedback("tally", "admin_verb", 1, "[#module]/[#verb_id]"); \ } else { \ to_chat(usr, span_warning("You lack the permissions ([rights2text(permissions, " ")]) for this verb!")); \ } \ } \ -/mob/admin_module_holder/##module/##verb_name/dynamic_map_generate(){ \ - return list(#module, #verb_name, verb_desc, permissions); \ +/mob/admin_module_holder/##module/##verb_id/dynamic_map_generate(){ \ + return list(#module, verb_name, verb_desc, permissions); \ } \ -/mob/admin_module_holder/##module/##verb_name/proc/_##verb_name(##params) +/mob/admin_module_holder/##module/##verb_id/proc/_##verb_id(##params) /** * Creates a context menu entry for the client. The source of this proc will be the client! diff --git a/code/controllers/subsystem/admin_verbs.dm b/code/controllers/subsystem/admin_verbs.dm index bd90a415a4e..cfaa73f39bd 100644 --- a/code/controllers/subsystem/admin_verbs.dm +++ b/code/controllers/subsystem/admin_verbs.dm @@ -72,20 +72,11 @@ GENERAL_PROTECT_DATUM(/datum/controller/subsystem/admin_verbs) cached_formats[verb_module] = verb_module_formatted var/original_name = verb_information[VERB_MAP_NAME] - if(!cached_formats[original_name]) - var/formatted_name = "" - for(var/name_part in splittext(original_name, "_")) - if(name_part in abbreviations) - formatted_name += "[uppertext(name_part)] " - else - formatted_name += "[capitalize(name_part)] " - formatted_name = copytext(formatted_name, 1, -1) - cached_formats[original_name] = formatted_name var/verb_desc = verb_information[VERB_MAP_DESCRIPTION] if(!stat_data[cached_formats[verb_module]]) stat_data[cached_formats[verb_module]] = list() - stat_data[cached_formats[verb_module]] += list(list(cached_formats[original_name], verb_desc, original_name)) + stat_data[cached_formats[verb_module]] += list(list(original_name, verb_desc, original_name)) var/sorted_stat_data = list() for(var/verb_category in stat_data) sorted_stat_data[verb_category] = sort_list(stat_data[verb_category], GLOBAL_PROC_REF(cmp_admin_verb_name)) diff --git a/code/controllers/subsystem/explosions.dm b/code/controllers/subsystem/explosions.dm index 42621b534d2..7c8015e04f0 100644 --- a/code/controllers/subsystem/explosions.dm +++ b/code/controllers/subsystem/explosions.dm @@ -81,7 +81,7 @@ SUBSYSTEM_DEF(explosions) flameturf -= T throwturf -= T -ADMIN_VERB(debug, check_bomb_impact, "", R_DEBUG) +ADMIN_VERB(debug, check_bomb_impact, "Check Bomb Impact", "", R_DEBUG) var/newmode = tgui_alert(usr, "Use reactionary explosions?","Check Bomb Impact", list("Yes", "No")) var/turf/epicenter = get_turf(usr) if(!epicenter) diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 4312087b7f1..144077730e8 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -603,7 +603,7 @@ GLOBAL_LIST_EMPTY(the_station_areas) holodeck_templates[holo_template.template_id] = holo_template -ADMIN_VERB(events, load_away_mission, "", R_FUN) +ADMIN_VERB(events, load_away_mission, "Load Away Mission", "", R_FUN) if(!GLOB.the_gateway) if(tgui_alert(usr, "There's no home gateway on the station. You sure you want to continue ?", "Uh oh", list("Yes", "No")) != "Yes") return diff --git a/code/datums/components/puzzgrid.dm b/code/datums/components/puzzgrid.dm index 4324101e3cc..66fd6232496 100644 --- a/code/datums/components/puzzgrid.dm +++ b/code/datums/components/puzzgrid.dm @@ -276,7 +276,7 @@ /// Debug verb for validating that all puzzgrids can be created successfully. /// Locked behind a verb because it's fairly slow and memory intensive. -ADMIN_VERB(debug, validate_puzzgrids, "", R_DEBUG) +ADMIN_VERB(debug, validate_puzzgrids, "Validate Puzzgrids", "", R_DEBUG) var/line_number = 0 for (var/line in world.file2list(PUZZGRID_CONFIG)) diff --git a/code/datums/station_traits/admin_panel.dm b/code/datums/station_traits/admin_panel.dm index e81f1455068..2408df8f33a 100644 --- a/code/datums/station_traits/admin_panel.dm +++ b/code/datums/station_traits/admin_panel.dm @@ -1,6 +1,6 @@ /// Opens the station traits admin panel -ADMIN_VERB(events, modify_station_traits, "", R_FUN) +ADMIN_VERB(events, modify_station_traits, "Modify Station Traits", "", R_FUN) var/static/datum/station_traits_panel/station_traits_panel if(!station_traits_panel) station_traits_panel = new diff --git a/code/game/gamemodes/dynamic/dynamic_simulations.dm b/code/game/gamemodes/dynamic/dynamic_simulations.dm index 7c64859c3ee..8d2b99b5ce0 100644 --- a/code/game/gamemodes/dynamic/dynamic_simulations.dm +++ b/code/game/gamemodes/dynamic/dynamic_simulations.dm @@ -69,7 +69,7 @@ var/forced_threat_level #ifdef TESTING -ADMIN_VERB(debug, run_dynamic_simulations, "", R_DEBUG) +ADMIN_VERB(debug, run_dynamic_simulations, "Run Dynamic Simulations", "", R_DEBUG) var/simulations = input(usr, "Enter number of simulations") as num var/roundstart_players = input(usr, "Enter number of round start players") as num var/forced_threat_level = input(usr, "Enter forced threat level, if you want one") as num | null diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index c189a398b55..d1acc1fd3aa 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -46,14 +46,9 @@ ////////////////////////////////////////////////////////////////////////////////////////////////ADMIN HELPER PROCS -/datum/admins/proc/spawn_atom(object as text) - set category = "Debug" - set desc = "(atom path) Spawn an atom" - set name = "Spawn" - - if(!check_rights(R_SPAWN) || !object) +ADMIN_VERB(debug, spawn_atom, "Spawn Atom", "", R_SPAWN, object as text) + if(!object) return - var/list/preparsed = splittext(object,":") var/path = preparsed[1] var/amount = 1 @@ -73,9 +68,8 @@ A.flags_1 |= ADMIN_SPAWNED_1 log_admin("[key_name(usr)] spawned [amount] x [chosen] at [AREACOORD(usr)]") - SSblackbox.record_feedback("tally", "admin_verb", 1, "Spawn Atom") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -ADMIN_VERB(debug, podspawn_atom, "Spawn an atom typepath via supply drop", R_SPAWN, object as text) +ADMIN_VERB(debug, podspawn_atom, "Podspawn Atom", "Spawn an atom typepath via supply drop", R_SPAWN, object as text) var/chosen = pick_closest_path(object) if(!chosen) return @@ -93,7 +87,7 @@ ADMIN_VERB(debug, podspawn_atom, "Spawn an atom typepath via supply drop", R_SPA A.flags_1 |= ADMIN_SPAWNED_1 log_admin("[key_name(usr)] pod-spawned [chosen] at [AREACOORD(usr)]") -ADMIN_VERB(debug, spawn_cargo_crate, "Spawn a cargo crate", R_SPAWN, object as text) +ADMIN_VERB(debug, spawn_cargo_crate, "Spawn Cargo Crate", "Spawn a cargo crate", R_SPAWN, object as text) var/chosen = pick_closest_path(object, make_types_fancy(subtypesof(/datum/supply_pack))) if(!chosen) return @@ -102,7 +96,7 @@ ADMIN_VERB(debug, spawn_cargo_crate, "Spawn a cargo crate", R_SPAWN, object as t S.generate(get_turf(usr)) log_admin("[key_name(usr)] spawned cargo pack [chosen] at [AREACOORD(usr)]") -ADMIN_VERB(debug, toggle_tinted_welding_helmets, "Reduces view range when wearing welding helmets", R_DEBUG) +ADMIN_VERB(debug, toggle_tinted_welding_helmets, "Toggle Tinted Welding Helmets", "Reduces view range when wearing welding helmets", R_DEBUG) GLOB.tinted_weldhelh = !GLOB.tinted_weldhelh to_chat(world, span_bold("Welding Helmet tinting has been [(GLOB.tinted_weldhelh ? "enabled" : "disabled")]")) log_admin("[key_name(usr)] toggled tinted_weldhelh.") @@ -131,7 +125,7 @@ ADMIN_VERB(debug, toggle_tinted_welding_helmets, "Reduces view range when wearin user << browse(dat, "window=dyn_mode_options;size=900x650") -ADMIN_VERB(debug, create_or_modify_area, "", R_DEBUG) +ADMIN_VERB(debug, create_or_modify_area, "Create or Modify Area", "", R_DEBUG) create_area(usr) //Kicks all the clients currently in the lobby. The second parameter (kick_only_afk) determins if an is_afk() check is ran, or if all clients are kicked diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 9ca15b2d2a9..809cda5756f 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -7,7 +7,7 @@ /client/proc/remove_admin_verbs() SSadmin_verbs.deassosciate_admin(src) -ADMIN_VERB(admin, hide_all_verbs, "Hide all of your Admin Verbs", NONE) +ADMIN_VERB(admin, hide_all_verbs, "Hide All Verbs", "Hide all of your Admin Verbs", NONE) usr.client.remove_admin_verbs() add_verb(usr.client, /client/proc/show_verbs) to_chat(usr, span_admin("Almost all of your adminverbs have been hidden.")) @@ -22,7 +22,7 @@ ADMIN_VERB(admin, hide_all_verbs, "Hide all of your Admin Verbs", NONE) to_chat(src, span_interface("All of your adminverbs are now visible."), confidential = TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Adminverbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! -ADMIN_VERB(game, aghost, "Observe without leaving the game", R_ADMIN) +ADMIN_VERB(game, aghost, "AGhost", "Observe without leaving the game", R_ADMIN) if(isnewplayer(usr)) to_chat(usr, span_red("Error: AGhost: Cannot admin-ghost wile in the lobby. Join or Observe first.")) return @@ -45,7 +45,7 @@ ADMIN_VERB(game, aghost, "Observe without leaving the game", R_ADMIN) if(usr && !usr.key) usr.key = "@[key]" // If the key starts with '@' it designates an admin ghost -ADMIN_VERB(game, invisimin, "Toggles ghost-like invisibility", R_ADMIN) +ADMIN_VERB(game, invisimin, "Invisimin", "Toggles ghost-like invisibility", R_ADMIN) if(initial(usr.invisibility) == INVISIBILITY_OBSERVER) to_chat(usr, span_boldannounce("Invisimin toggle failed. You are already an invisible mob like a ghost."), confidential = TRUE) return @@ -56,40 +56,40 @@ ADMIN_VERB(game, invisimin, "Toggles ghost-like invisibility", R_ADMIN) usr.invisibility = INVISIBILITY_OBSERVER to_chat(usr, span_adminnotice("Invisimin on. You are now as invisible as a ghost."), confidential = TRUE) -ADMIN_VERB(game, check_antagonists, "", R_ADMIN) +ADMIN_VERB(game, check_antagonists, "Check Antagonists", "", R_ADMIN) usr.client.holder.check_antagonists() log_admin("[key_name(usr)] checked antagonists.") //for tsar~ get a room you two if(!isobserver(usr) && SSticker.HasRoundStarted()) message_admins("[key_name_admin(usr)] checked antagonists.") -ADMIN_VERB(game, list_bombers, "", R_ADMIN) +ADMIN_VERB(game, list_bombers, "List Bombers", "", R_ADMIN) usr.client.holder.list_bombers() -ADMIN_VERB(game, list_signalers, "", R_ADMIN) +ADMIN_VERB(game, list_signalers, "List Signalers", "", R_ADMIN) usr.client.holder.list_signalers() -ADMIN_VERB(game, list_law_changes, "", R_ADMIN) +ADMIN_VERB(game, list_law_changes, "List Law Changes", "", R_ADMIN) usr.client.holder.list_law_changes() -ADMIN_VERB(game, show_manifest, "", R_ADMIN) +ADMIN_VERB(game, show_manifest, "Show Manifest", "", R_ADMIN) usr.client.holder.show_manifest() -ADMIN_VERB(game, list_dna, "", R_ADMIN) +ADMIN_VERB(game, list_dna, "List DNA", "", R_ADMIN) usr.client.holder.list_dna() -ADMIN_VERB(game, list_fingerprints, "", R_ADMIN) +ADMIN_VERB(game, list_fingerprints, "List Fingerprints", "", R_ADMIN) usr.client.holder.list_fingerprints() -ADMIN_VERB(admin, banning_panel, "", R_BAN) +ADMIN_VERB(admin, banning_panel, "Banning Panel", "", R_BAN) usr.client.holder.ban_panel() -ADMIN_VERB(admin, unbanning_panel, "", R_BAN) +ADMIN_VERB(admin, unbanning_panel, "Unbanning Panel", "", R_BAN) usr.client.holder.unban_panel() -ADMIN_VERB(game, game_panel, "", NONE) +ADMIN_VERB(game, game_panel, "Game Panel", "", NONE) usr.client.holder.Game() -ADMIN_VERB(admin, server_poll_management, "", R_POLL) +ADMIN_VERB(admin, server_poll_management, "Server Poll Management", "", R_POLL) usr.client.holder.poll_list_panel() /// Returns this client's stealthed ckey @@ -125,7 +125,7 @@ ADMIN_VERB(admin, server_poll_management, "", R_POLL) /client/proc/createStealthKey() GLOB.stealthminID["[ckey]"] = generateStealthCkey() -ADMIN_VERB(admin, stealth_mode, "Makes you unable to be seen through most means", R_STEALTH) +ADMIN_VERB(admin, stealth_mode, "Stealth Mode", "Makes you unable to be seen through most means", R_STEALTH) if(usr.client.holder.fakekey) usr.client.disable_stealth_mode() else @@ -172,7 +172,7 @@ ADMIN_VERB(admin, stealth_mode, "Makes you unable to be seen through most means" #undef STEALTH_MODE_TRAIT -ADMIN_VERB(fun, drop_bomb, "Cause an explosion of varying strength at your location", R_FUN) +ADMIN_VERB(fun, drop_bomb, "Drop Bomb", "Cause an explosion of varying strength at your location", R_FUN) var/list/choices = list("Small Bomb (1, 2, 3, 3)", "Medium Bomb (2, 3, 4, 4)", "Big Bomb (3, 5, 7, 5)", "Maxcap", "Custom Bomb") var/choice = tgui_input_list(usr, "What size explosion would you like to produce? NOTE: You can do all this rapidly and in an IC manner (using cruise missiles!) with the Config/Launch Supplypod verb. WARNING: These ignore the maxcap", "Drop Bomb", choices) if(isnull(choice)) @@ -209,7 +209,7 @@ ADMIN_VERB(fun, drop_bomb, "Cause an explosion of varying strength at your locat message_admins("[ADMIN_LOOKUPFLW(usr)] creating an admin explosion at [epicenter.loc].") log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc].") -ADMIN_VERB(fun, drop_dynex_bomb, "Cause an explosion of varting strength at your location", R_FUN) +ADMIN_VERB(fun, drop_dynex_bomb, "Drop Dynex Bomb", "Cause an explosion of varting strength at your location", R_FUN) var/ex_power = input(usr, "Explosive Power:") as null|num var/turf/epicenter = get_turf(usr) if(ex_power && epicenter) @@ -217,21 +217,21 @@ ADMIN_VERB(fun, drop_dynex_bomb, "Cause an explosion of varting strength at your message_admins("[ADMIN_LOOKUPFLW(usr)] creating an admin explosion at [epicenter.loc].") log_admin("[key_name(usr)] created an admin explosion at [epicenter.loc].") -ADMIN_VERB(debug, get_dynex_range, "Get the estimated range of a bomb, using explosive power", R_FUN) +ADMIN_VERB(debug, get_dynex_range, "Get Dynex Range", "Get the estimated range of a bomb, using explosive power", R_FUN) var/ex_power = input(usr, "Explosive Power:") as null|num if (isnull(ex_power)) return var/range = round((2 * ex_power)**GLOB.DYN_EX_SCALE) to_chat(usr, "Estimated Explosive Range: (Devastation: [round(range*0.25)], Heavy: [round(range*0.5)], Light: [round(range)])") -ADMIN_VERB(debug, get_dynex_power, "Get the estimated power of a bomb, to reach the specific range", R_FUN) +ADMIN_VERB(debug, get_dynex_power, "Get Dynex Power", "Get the estimated power of a bomb, to reach the specific range", R_FUN) var/ex_range = input(usr, "Light Explosion Range:") as null|num if (isnull(ex_range)) return var/power = (0.5 * ex_range)**(1/GLOB.DYN_EX_SCALE) to_chat(usr, "Estimated Explosive Power: [power]") -ADMIN_VERB(debug, set_dynex_scale, "Set the scale multiplier on dynex explosions. Default of 0.5", R_FUN) +ADMIN_VERB(debug, set_dynex_scale, "Set Dynex Scale", "Set the scale multiplier on dynex explosions. Default of 0.5", R_FUN) var/ex_scale = input("New DynEx Scale:") as null|num if(isnull(ex_scale)) return @@ -239,17 +239,17 @@ ADMIN_VERB(debug, set_dynex_scale, "Set the scale multiplier on dynex explosions log_admin("[key_name(usr)] has modified Dynamic Explosion Scale: [ex_scale]") message_admins("[key_name_admin(usr)] has modified Dynamic Explosion Scale: [ex_scale]") -ADMIN_VERB(debug, atmos_control_panel, "", R_DEBUG) +ADMIN_VERB(debug, atmos_control_panel, "Atmos Control Panel", "", R_DEBUG) SSair.ui_interact(usr) -ADMIN_VERB(trading_card_game, reload_cards, "", R_DEBUG) +ADMIN_VERB(trading_card_game, reload_cards, "Reload Cards", "", R_DEBUG) if(!SStrading_card_game.loaded) to_chat(usr, span_admin("The card subsystem is not currently loaded!")) return message_admins("[key_name_admin(usr)] manually reloaded SStrading_card_game.") SStrading_card_game.reloadAllCardFiles() -ADMIN_VERB(trading_card_game, validate_cards, "", R_DEBUG) +ADMIN_VERB(trading_card_game, validate_cards, "Validate Cards", "", R_DEBUG) if(!SStrading_card_game.loaded) to_chat(usr, span_admin("The card subsystem is not currently loaded!")) return @@ -261,7 +261,7 @@ ADMIN_VERB(trading_card_game, validate_cards, "", R_DEBUG) else to_chat(usr, span_admin("No errors found in card rarities or overrides.")) -ADMIN_VERB(trading_card_game, test_cardpack_distribution, "", R_DEBUG) +ADMIN_VERB(trading_card_game, test_cardpack_distribution, "Test Cardpack Distribution", "", R_DEBUG) if(!SStrading_card_game.loaded) to_chat(usr, span_admin("The card subsystem is not currently loaded!")) return @@ -275,14 +275,14 @@ ADMIN_VERB(trading_card_game, test_cardpack_distribution, "", R_DEBUG) var/guar = tgui_input_number(usr, "Should we use the pack's guaranteed rarity? If so, how many?", "We've all been there. Man you should have seen the old system") SStrading_card_game.check_card_distribution(pack, batch_size, batch_count, guar) -ADMIN_VERB(trading_card_game, print_cards, "", R_DEBUG) +ADMIN_VERB(trading_card_game, print_cards, "Print Cards", "", R_DEBUG) if(!SStrading_card_game.loaded) to_chat(usr, span_admin("The card subsystem is not currently loaded!")) return SStrading_card_game.printAllCards() -ADMIN_VERB(fun, give_mob_spell, "", R_FUN, mob/spell_recipient in GLOB.mob_list) +ADMIN_VERB(fun, give_mob_spell, "Give Mob Spell", "", R_FUN, mob/spell_recipient in GLOB.mob_list) var/which = tgui_alert(usr, "Chose by name or by type path?", "Chose option", list("Name", "Typepath")) if(!which) return @@ -325,7 +325,7 @@ ADMIN_VERB(fun, give_mob_spell, "", R_FUN, mob/spell_recipient in GLOB.mob_list) to_chat(usr, span_userdanger("Spells given to mindless mobs will belong to the mob and not their mind, \ and as such will not be transferred if their mind changes body (Such as from Mindswap).")) -ADMIN_VERB(fun, remove_spell, "", R_FUN, mob/removal_target in GLOB.mob_list) +ADMIN_VERB(fun, remove_spell, "Remove Spell", "", R_FUN, mob/removal_target in GLOB.mob_list) var/list/target_spell_list = list() for(var/datum/action/cooldown/spell/spell in removal_target.actions) target_spell_list[spell.name] = spell @@ -344,7 +344,7 @@ ADMIN_VERB(fun, remove_spell, "", R_FUN, mob/removal_target in GLOB.mob_list) log_admin("[key_name(usr)] removed the spell [chosen_spell] from [key_name(removal_target)].") message_admins("[key_name_admin(usr)] removed the spell [chosen_spell] from [key_name_admin(removal_target)].") -ADMIN_VERB(fun, give_disease, "Give Disease", R_FUN, mob/living/victim in GLOB.mob_living_list) +ADMIN_VERB(fun, give_disease, "Give Disease", "", R_FUN, mob/living/victim in GLOB.mob_living_list) var/datum/disease/disease_type = input(usr, "Choose the disease to give to that guy", "ACHOO") as null|anything in sort_list(SSdisease.diseases, GLOBAL_PROC_REF(cmp_typepaths_asc)) if(!disease_type) return @@ -361,10 +361,10 @@ ADMIN_CONTEXT_ENTRY(context_object_say, "Object Say", R_FUN, obj/target in world log_admin("[key_name(usr)] made [target] at [AREACOORD(target)] say \"[message]\"") message_admins(span_adminnotice("[key_name_admin(usr)] made [target] at [AREACOORD(target)]. say \"[message]\"")) -ADMIN_VERB(build_mode, toggle_build_mode_self, "", R_BUILD) +ADMIN_VERB(build_mode, toggle_build_mode_self, "Toggle Build Mode Self", "", R_BUILD) togglebuildmode(usr) -ADMIN_VERB(game, check_ai_laws, "", R_ADMIN) +ADMIN_VERB(game, check_ai_laws, "Check AI Laws", "", R_ADMIN) var/law_bound_entities = 0 for(var/mob/living/silicon/subject as anything in GLOB.silicon_mobs) law_bound_entities++ @@ -418,14 +418,14 @@ ADMIN_VERB(game, check_ai_laws, "", R_ADMIN) log_admin("[src] re-adminned themselves.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Readmin") -ADMIN_VERB(debug, populate_world, "Populate the world with the given number of test mobs", R_DEBUG, amount = 50 as num) +ADMIN_VERB(debug, populate_world, "Populate World", "Populate the world with the given number of test mobs", R_DEBUG, amount = 50 as num) for (var/i in 1 to amount) var/turf/tile = get_safe_random_station_turf() var/mob/living/carbon/human/hooman = new(tile) hooman.equipOutfit(pick(subtypesof(/datum/outfit))) testing("Spawned test mob at [get_area_name(tile, TRUE)] ([tile.x],[tile.y],[tile.z])") -ADMIN_VERB(game, toggle_admin_ai_interaction, "Allows you to interact with most machines as an AI would as a ghost", R_ADMIN) +ADMIN_VERB(game, toggle_admin_ai_interaction, "Toggle Admin AI Interaction", "Allows you to interact with most machines as an AI would as a ghost", R_ADMIN) usr.client.AI_Interact = !usr.client.AI_Interact if(usr && isAdminGhostAI(usr)) usr.has_unlimited_silicon_privilege = usr.client.AI_Interact @@ -440,7 +440,7 @@ ADMIN_VERB(game, toggle_admin_ai_interaction, "Allows you to interact with most var/datum/admins/admin = GLOB.admin_datums[ckey] admin?.associate(src) -ADMIN_VERB(debug, send_maps_profile, "", R_DEBUG) +ADMIN_VERB(debug, send_maps_profile, "Send Maps Profile", "", R_DEBUG) usr.client << link("?debug=profile&type=sendmaps&window=test") /** @@ -452,7 +452,7 @@ ADMIN_VERB(debug, send_maps_profile, "", R_DEBUG) * They're all clientles mobs with minds / jobs. */ -ADMIN_VERB(debug, spawn_debug_full_crew, "Creates a full crew for the station, filling the datacore and assigning them all minds/jobs. Don't do this on live", R_DEBUG) +ADMIN_VERB(debug, spawn_debug_full_crew, "Spawn Full Debug Crew", "Creates a full crew for the station, filling the datacore and assigning them all minds/jobs. Don't do this on live", R_DEBUG) if(SSticker.current_state != GAME_STATE_PLAYING) to_chat(usr, "You should only be using this after a round has setup and started.") return @@ -515,7 +515,7 @@ ADMIN_VERB(debug, spawn_debug_full_crew, "Creates a full crew for the station, f /// Debug verb for seeing at a glance what all spells have as set requirements -ADMIN_VERB(debug, show_spell_requirements, "seeing at a glance what all spells have as set requirements", R_DEBUG) +ADMIN_VERB(debug, show_spell_requirements, "Show Spell Requirements", "seeing at a glance what all spells have as set requirements", R_DEBUG) var/header = "