From e4b0f292f83b2116d4c33ac89aabb98b3984b9fa Mon Sep 17 00:00:00 2001 From: Unknown Date: Tue, 2 Feb 2021 00:45:28 -0500 Subject: [PATCH] Uplink and Adminverb Tweaks - Tweaks the proc for Virgo uplink beacons to not give away information about traitors - Removes the Void Cell from antag uplinks - Adds a combat defibrillator for Mercenaries - Adds the cabin shelter capsule to uplinks - Adds some stuff for admin use of uplinks - Fixes bug with adminspawn ERT job not getting PDAs - Adds an admin command to set up an uplink on a character - Fixes Retired Admin to work properly - Splits off VORE's adminverb list for improved downstream support - Fixes retired staff not being able to talk in staff chats --- code/datums/outfits/jobs/special_vr.dm | 5 +- code/datums/uplink/ammunition_vr.dm | 2 + code/datums/uplink/backup.dm | 6 +- code/datums/uplink/medical_vr.dm | 7 + code/datums/uplink/tools_vr.dm | 5 + code/datums/uplink/visible_weapons.dm | 2 +- code/game/machinery/syndicatebeacon_vr.dm | 6 +- code/modules/admin/admin_verb_lists.dm | 8 +- code/modules/admin/admin_verb_lists_vr.dm | 570 ++++++++++++++++++++++ code/modules/admin/admin_vr.dm | 12 + code/modules/admin/verbs/adminsay.dm | 8 +- vorestation.dme | 3 +- 12 files changed, 617 insertions(+), 17 deletions(-) create mode 100644 code/modules/admin/admin_verb_lists_vr.dm create mode 100644 code/modules/admin/admin_vr.dm diff --git a/code/datums/outfits/jobs/special_vr.dm b/code/datums/outfits/jobs/special_vr.dm index 89c4883e92a..010010291dd 100644 --- a/code/datums/outfits/jobs/special_vr.dm +++ b/code/datums/outfits/jobs/special_vr.dm @@ -15,11 +15,14 @@ shoes = /obj/item/clothing/shoes/boots/swat gloves = /obj/item/clothing/gloves/swat l_ear = /obj/item/device/radio/headset/ert - belt = /obj/item/weapon/gun/energy/gun glasses = /obj/item/clothing/glasses/sunglasses back = /obj/item/weapon/storage/backpack/satchel id_type = /obj/item/weapon/card/id/centcom/ERT pda_type = /obj/item/device/pda/centcom + + post_equip(var/mob/living/carbon/human/H) + ..() + ert.add_antagonist(H.mind) /decl/hierarchy/outfit/job/clown name = OUTFIT_JOB_NAME("Clown") diff --git a/code/datums/uplink/ammunition_vr.dm b/code/datums/uplink/ammunition_vr.dm index 3235bb7311f..18235e53432 100644 --- a/code/datums/uplink/ammunition_vr.dm +++ b/code/datums/uplink/ammunition_vr.dm @@ -18,3 +18,5 @@ name = "Void cell" path = /obj/item/weapon/cell/device/weapon/recharge/alien/hybrid item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 + antag_roles = list("ert") + blacklisted = 1 diff --git a/code/datums/uplink/backup.dm b/code/datums/uplink/backup.dm index 40f2a468f67..3e21676da3b 100644 --- a/code/datums/uplink/backup.dm +++ b/code/datums/uplink/backup.dm @@ -11,7 +11,7 @@ This type comes with a directional shield projector, a supressive fire energy weapon, \ a stunbaton, handcuffs, an agent ID, energy sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit path = /obj/item/weapon/antag_spawner/syndicate_drone/protector /datum/uplink_item/item/backup/syndicate_drone_combat_medic @@ -21,7 +21,7 @@ a powerful hypospray that can create many potent chemicals, an agent ID, energy \ sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit path = /obj/item/weapon/antag_spawner/syndicate_drone/combat_medic /datum/uplink_item/item/backup/syndicate_drone_mechanist @@ -31,5 +31,5 @@ a cryptographic sequencer, an AI detector, the ability to analyze and repair full-body prosthetics, \ a set of construction materials, an ionic rapier, an agent ID, energy sword, pinpointer, and a jetpack." item_cost = DEFAULT_TELECRYSTAL_AMOUNT * 1.5 - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit path = /obj/item/weapon/antag_spawner/syndicate_drone/mechanist \ No newline at end of file diff --git a/code/datums/uplink/medical_vr.dm b/code/datums/uplink/medical_vr.dm index 8f0264d3e9d..3ca972cdb9b 100644 --- a/code/datums/uplink/medical_vr.dm +++ b/code/datums/uplink/medical_vr.dm @@ -100,3 +100,10 @@ name = "Healing Nanite pill bottle" item_cost = 30 path = /obj/item/weapon/storage/pill_bottle/healing_nanites + +/datum/uplink_item/item/medical/defib + name = "Combat Defibrilator" + item_cost = 90 + path = /obj/item/device/defib_kit/compact/combat + antag_roles = list("mercenary", "ert") + blacklisted = 1 diff --git a/code/datums/uplink/tools_vr.dm b/code/datums/uplink/tools_vr.dm index 30b2cd725e0..b0464123ac9 100644 --- a/code/datums/uplink/tools_vr.dm +++ b/code/datums/uplink/tools_vr.dm @@ -26,6 +26,11 @@ item_cost = 5 path = /obj/item/device/survivalcapsule +/datum/uplink_item/item/tools/popcabin + name = "Cabin Capsule" + item_cost = 5 + path = /obj/item/device/survivalcapsule/popcabin + /datum/uplink_item/item/tools/nanopaste name = "Nanopaste (Advanced)" item_cost = 10 diff --git a/code/datums/uplink/visible_weapons.dm b/code/datums/uplink/visible_weapons.dm index d3ed1dcec34..b939e953de3 100644 --- a/code/datums/uplink/visible_weapons.dm +++ b/code/datums/uplink/visible_weapons.dm @@ -103,7 +103,7 @@ name = "Anti-Materiel Rifle (14.5mm)" item_cost = DEFAULT_TELECRYSTAL_AMOUNT path = /obj/item/weapon/gun/projectile/heavysniper - antag_roles = list("mercenary") + antag_roles = list("mercenary", "ert") //VOREStation Edit /datum/uplink_item/item/visible_weapons/heavysnipertraitor name = "Anti-Materiel Rifle (14.5mm)" diff --git a/code/game/machinery/syndicatebeacon_vr.dm b/code/game/machinery/syndicatebeacon_vr.dm index ef6b3da0bbf..2a7b2df56bd 100644 --- a/code/game/machinery/syndicatebeacon_vr.dm +++ b/code/game/machinery/syndicatebeacon_vr.dm @@ -25,7 +25,7 @@ updateUsrDialog() return var/mob/M = locate(href_list["traitormob"]) - if(M.mind.special_role || jobban_isbanned(M, "Syndicate")) + if(M.mind.tcrystals || jobban_isbanned(M, "Syndicate")) temptext = "We have no need for you at this time. Have a pleasant day.
" updateUsrDialog() return @@ -33,7 +33,9 @@ if(istype(M, /mob/living/carbon/human)) var/mob/living/carbon/human/N = M to_chat(N, "Access granted, here are the supplies!") - traitors.equip(N) + traitors.spawn_uplink(N) + N.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT + N.mind.accept_tcrystals = 1 message_admins("[N]/([N.ckey]) has recieved an uplink and telecrystals from the syndicate beacon.") updateUsrDialog() diff --git a/code/modules/admin/admin_verb_lists.dm b/code/modules/admin/admin_verb_lists.dm index 0eaedc9fbeb..3fa8903f72d 100644 --- a/code/modules/admin/admin_verb_lists.dm +++ b/code/modules/admin/admin_verb_lists.dm @@ -104,7 +104,6 @@ var/list/admin_verbs_admin = list( /client/proc/toggle_attack_logs, /datum/admins/proc/paralyze_mob, /client/proc/fixatmos, - /datum/admins/proc/quick_nif, //VOREStation Add, /datum/admins/proc/sendFax, /client/proc/despawn_player, /datum/admins/proc/view_feedback @@ -139,7 +138,6 @@ var/list/admin_verbs_fun = list( /datum/admins/proc/call_supply_drop, /datum/admins/proc/call_drop_pod, /client/proc/smite, - /client/proc/smite_vr, //VOREStation Add, /client/proc/admin_lightning_strike, ) @@ -150,7 +148,6 @@ var/list/admin_verbs_spawn = list( /datum/admins/proc/spawn_plant, /datum/admins/proc/spawn_atom, //allows us to spawn instances, /client/proc/respawn_character, - /client/proc/spawn_character_mob, //VOREStation Add, /client/proc/virus2_editor, /client/proc/spawn_chemdisp_cartridge, /client/proc/map_template_load, @@ -181,6 +178,7 @@ var/list/admin_verbs_server = list( /datum/admins/proc/toggle_space_ninja, /client/proc/toggle_random_events, /client/proc/check_customitem_activity, + /client/proc/nanomapgen_DumpImage, /client/proc/modify_server_news, /client/proc/recipe_dump, /client/proc/panicbunker, @@ -228,7 +226,7 @@ var/list/admin_verbs_debug = list( /client/proc/toggle_debug_logs, /client/proc/admin_ghost, //allows us to ghost/reenter body at will, /datum/admins/proc/view_runtimes, - // /client/proc/show_gm_status, // VOREStation Edit - We don't use SSgame_master yet. + /client/proc/show_gm_status, /datum/admins/proc/change_weather, /datum/admins/proc/change_time, /client/proc/admin_give_modifier, @@ -403,7 +401,7 @@ var/list/admin_verbs_event_manager = list( /client/proc/callproc, /client/proc/callproc_datum, /client/proc/debug_controller, - // /client/proc/show_gm_status, // VOREStation Edit - We don't use SSgame_master yet. + /client/proc/show_gm_status, /datum/admins/proc/change_weather, /datum/admins/proc/change_time, /client/proc/admin_give_modifier, diff --git a/code/modules/admin/admin_verb_lists_vr.dm b/code/modules/admin/admin_verb_lists_vr.dm new file mode 100644 index 00000000000..32859c234f4 --- /dev/null +++ b/code/modules/admin/admin_verb_lists_vr.dm @@ -0,0 +1,570 @@ +//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, //VOREStation Remove, +// /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, //VOREStation Remove, +// /client/proc/player_panel, //VOREStation Remove, + /client/proc/deadmin_self, //destroys our own admin datum so we can play as a regular player, + /client/proc/cmd_admin_say, //VOREStation Add, + /client/proc/cmd_mod_say, //VOREStation Add, + /client/proc/cmd_event_say, //VOREStation Add, +// /client/proc/hide_verbs, //hides all our adminverbs, //VOREStation Remove, +// /client/proc/hide_most_verbs, //hides all our hideable adminverbs, //VOREStation Remove, +// /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify, //VOREStation Remove, +// /client/proc/mark_datum_mapview, //VOREStation Remove, +// /client/proc/cmd_check_new_players, //allows us to see every new player, //VOREStation Remove, +// /client/proc/check_antagonists, //shows all antags, +// /client/proc/cmd_mod_say, +// /client/proc/deadchat //toggles deadchat on/off, +// /client/proc/toggle_ahelp_sound, + ) + +var/list/admin_verbs_admin = list( + /datum/admins/proc/set_tcrystals, + /datum/admins/proc/add_tcrystals, + /client/proc/invisimin, //allows our mob to go invisible/visible, + /datum/admins/proc/show_traitor_panel, //interface which shows a mob's mind., + /datum/admins/proc/show_game_mode, //Configuration window for the current game mode., + /datum/admins/proc/force_mode_latespawn, //Force the mode to try a latespawn proc, + /datum/admins/proc/force_antag_latespawn, //Force a specific template to try a latespawn proc, + /datum/admins/proc/toggleenter, //toggles whether people can join the current game, + /datum/admins/proc/toggleguests, //toggles whether guests can join the current game, + /datum/admins/proc/announce, //priority announce something to all clients., + /datum/admins/proc/intercom, //send a fake intercom message, like an arrivals announcement, + /datum/admins/proc/intercom_convo, //send a fake intercom conversation, like an ATC exchange, + /client/proc/colorooc, //allows us to set a custom colour for everythign we say in ooc, + /client/proc/admin_ghost, //allows us to ghost/reenter body at will, + /datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags, //VOREStation Add, + /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, //VOREStation Add, + /client/proc/player_panel, //VOREStation Add, + /client/proc/hide_verbs, //hides all our adminverbs, //VOREStation Add, + /client/proc/hide_most_verbs, //hides all our hideable adminverbs, //VOREStation Add, + /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify, //VOREStation Add, + /client/proc/mark_datum_mapview, //VOREStation Add, + /client/proc/cmd_check_new_players, //allows us to see every new player, //VOREStation Add, + /client/proc/toggle_view_range, //changes how far we can see, + /datum/admins/proc/view_txt_log, //shows the server log (diary) for today, + /datum/admins/proc/view_atk_log, //shows the server combat-log, doesn't do anything presently, + /client/proc/cmd_admin_pm_context, //right-click adminPM interface, + /client/proc/cmd_admin_pm_panel, //admin-pm list, + /client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head', + /client/proc/cmd_admin_delete, //delete an instance/object/mob/etc, + /client/proc/cmd_admin_check_contents, //displays the contents of an instance, + /client/proc/cmd_admin_check_player_logs, //checks a player's attack logs, + /client/proc/cmd_admin_check_dialogue_logs, //checks a player's dialogue logs, + /datum/admins/proc/access_news_network, //allows access of newscasters, + /client/proc/giveruntimelog, //allows us to give access to runtime logs to somebody, + /client/proc/getserverlog, //allows us to fetch server logs (diary) for other days, + /client/proc/jumptocoord, //we ghost and jump to a coordinate, + /client/proc/Getmob, //teleports a mob to our location, + /client/proc/Getkey, //teleports a mob with a certain ckey to our location, +// /client/proc/sendmob, //sends a mob somewhere, -Removed due to it needing two sorting procs to work, which were executed every time an admin right-clicked. ~Errorage, + /client/proc/Jump, + /client/proc/jumptokey, //allows us to jump to the location of a mob with a certain ckey, + /client/proc/jumptomob, //allows us to jump to a specific mob, + /client/proc/jumptoturf, //allows us to jump to a specific turf, + /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 CentCom, + /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_world_narrate, //sends text to all players with no padding, + /client/proc/cmd_admin_create_centcom_report, + /client/proc/check_words, //displays cult-words, + /client/proc/check_ai_laws, //shows AI and borg laws, + /client/proc/rename_silicon, //properly renames silicons, + /client/proc/manage_silicon_laws, // Allows viewing and editing silicon laws. , + /client/proc/check_antagonists, + /client/proc/admin_memo, //admin memo system. show/delete/write. +SERVER needed to delete admin memos of others, + /client/proc/dsay, //talk in deadchat using our ckey/fakekey, +// /client/proc/toggle_hear_deadcast, //toggles whether we hear deadchat, + /client/proc/investigate_show, //various admintools for investigation. Such as a singulo grief-log, + /client/proc/secrets, + /datum/admins/proc/toggleooc, //toggles ooc on/off for everyone, + /datum/admins/proc/togglelooc, //toggles looc on/off for everyone, + /datum/admins/proc/toggleoocdead, //toggles ooc on/off for everyone who is dead, + /datum/admins/proc/togglehubvisibility, //toggles visibility on the BYOND Hub., + /datum/admins/proc/toggledsay, //toggles dsay on/off for everyone, + /client/proc/game_panel, //game panel, allows to change game-mode etc, + /client/proc/cmd_admin_say, //admin-only ooc chat, + /client/proc/cmd_mod_say, + /client/proc/cmd_event_say, + /datum/admins/proc/PlayerNotes, + /datum/admins/proc/show_player_info, + /client/proc/free_slot, //frees slot for chosen job, + /client/proc/cmd_admin_change_custom_event, + /client/proc/cmd_admin_rejuvenate, + /client/proc/toggleghostwriters, + /client/proc/toggledrones, + /datum/admins/proc/show_skills, + /client/proc/check_customitem_activity, + /client/proc/man_up, + /client/proc/global_man_up, + /client/proc/response_team, // Response Teams admin verb, + /client/proc/trader_ship, // Trader ship admin verb, + /client/proc/toggle_antagHUD_use, + /client/proc/toggle_antagHUD_restrictions, + /client/proc/allow_character_respawn, // Allows a ghost to respawn , + /client/proc/event_manager_panel, + /client/proc/empty_ai_core_toggle_latejoin, + /client/proc/empty_ai_core_toggle_latejoin, + /client/proc/aooc, + /client/proc/change_human_appearance_admin, // Allows an admin to change the basic appearance of human-based mobs , + /client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance , + /client/proc/change_security_level, + /client/proc/view_chemical_reaction_logs, + /client/proc/makePAI, + /client/proc/toggle_debug_logs, + /client/proc/toggle_attack_logs, + /datum/admins/proc/paralyze_mob, + /client/proc/fixatmos, + /datum/admins/proc/quick_nif, //VOREStation Add, + /datum/admins/proc/set_uplink, //VOREStation Add, + /datum/admins/proc/sendFax, + /client/proc/despawn_player, + /datum/admins/proc/view_feedback + ) + +var/list/admin_verbs_ban = list( + /client/proc/unban_panel, + /client/proc/jobbans + ) + +var/list/admin_verbs_sounds = list( + /client/proc/play_local_sound, + /client/proc/play_sound, + /client/proc/play_server_sound + ) + +var/list/admin_verbs_fun = list( + /client/proc/object_talk, + /datum/admins/proc/cmd_admin_dress, + /client/proc/cmd_admin_gib_self, + /client/proc/drop_bomb, + /client/proc/everyone_random, + /client/proc/cinematic, + /datum/admins/proc/toggle_aliens, + /datum/admins/proc/toggle_space_ninja, + /client/proc/cmd_admin_add_freeform_ai_law, + /client/proc/cmd_admin_add_random_ai_law, + /client/proc/make_sound, + /client/proc/toggle_random_events, + /client/proc/editappear, + /client/proc/roll_dices, + /datum/admins/proc/call_supply_drop, + /datum/admins/proc/call_drop_pod, + /client/proc/smite, + /client/proc/smite_vr, //VOREStation Add, + /client/proc/admin_lightning_strike, + ) + +var/list/admin_verbs_spawn = list( + /datum/admins/proc/spawn_fruit, + /datum/admins/proc/spawn_custom_item, + /datum/admins/proc/check_custom_items, + /datum/admins/proc/spawn_plant, + /datum/admins/proc/spawn_atom, //allows us to spawn instances, + /client/proc/respawn_character, + /client/proc/spawn_character_mob, //VOREStation Add, + /client/proc/virus2_editor, + /client/proc/spawn_chemdisp_cartridge, + /client/proc/map_template_load, + /client/proc/map_template_upload, + /client/proc/map_template_load_on_new_z + ) + +var/list/admin_verbs_server = list( + /datum/admins/proc/capture_map, + /client/proc/Set_Holiday, + /client/proc/ToRban, + /datum/admins/proc/startnow, + /datum/admins/proc/restart, + /datum/admins/proc/delay, + /datum/admins/proc/toggleaban, + /datum/admins/proc/togglepersistence, + /client/proc/cmd_mod_say, + /client/proc/toggle_log_hrefs, + /datum/admins/proc/immreboot, + /client/proc/everyone_random, + /datum/admins/proc/toggleAI, + /client/proc/cmd_admin_delete, //delete an instance/object/mob/etc, + /client/proc/cmd_debug_del_all, + /datum/admins/proc/adrev, + /datum/admins/proc/adspawn, + /datum/admins/proc/adjump, + /datum/admins/proc/toggle_aliens, + /datum/admins/proc/toggle_space_ninja, + /client/proc/toggle_random_events, + /client/proc/check_customitem_activity, + /client/proc/modify_server_news, + /client/proc/recipe_dump, + /client/proc/panicbunker, + /client/proc/paranoia_logging, + /client/proc/ip_reputation + ) + +var/list/admin_verbs_debug = list( + /client/proc/getruntimelog, //allows us to access runtime logs to somebody, + /client/proc/cmd_admin_list_open_jobs, + /client/proc/Debug2, + /client/proc/kill_air, + /client/proc/ZASSettings, + /client/proc/cmd_debug_make_powernets, + /client/proc/kill_airgroup, + /client/proc/debug_controller, + /client/proc/debug_antagonist_template, + /client/proc/cmd_debug_mob_lists, + /client/proc/cmd_debug_using_map, + /client/proc/cmd_admin_delete, + /client/proc/cmd_debug_del_all, + /client/proc/cmd_debug_tog_aliens, + /client/proc/cmd_display_del_log, + /client/proc/cmd_display_init_log, + /client/proc/cmd_display_overlay_log, + /client/proc/air_report, + /client/proc/reload_admins, + /client/proc/reload_eventMs, + /client/proc/restart_controller, + /datum/admins/proc/restart, + /client/proc/print_random_map, + /client/proc/create_random_map, + /client/proc/apply_random_map, + /client/proc/overlay_random_map, + /client/proc/delete_random_map, + /client/proc/show_plant_genes, + /client/proc/enable_debug_verbs, + /client/proc/callproc, + /client/proc/callproc_datum, + /client/proc/SDQL2_query, + /client/proc/Jump, + /client/proc/jumptomob, + /client/proc/jumptocoord, + /client/proc/dsay, + /client/proc/toggle_debug_logs, + /client/proc/admin_ghost, //allows us to ghost/reenter body at will, + /datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags, //VOREStation Add, + /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, //VOREStation Add, + /client/proc/player_panel, //VOREStation Add, + /client/proc/hide_verbs, //hides all our adminverbs, //VOREStation Add, + /client/proc/hide_most_verbs, //hides all our hideable adminverbs, //VOREStation Add, + /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify, //VOREStation Add, + /client/proc/mark_datum_mapview, //VOREStation Add, + /client/proc/cmd_check_new_players, //allows us to see every new player, //VOREStation Add, + /datum/admins/proc/view_runtimes, + // /client/proc/show_gm_status, // VOREStation Edit - We don't use SSgame_master yet. + /datum/admins/proc/set_uplink, //VOREStation Add, + /datum/admins/proc/change_weather, + /datum/admins/proc/change_time, + /client/proc/admin_give_modifier, + /client/proc/simple_DPS, + /datum/admins/proc/view_feedback + ) + +var/list/admin_verbs_paranoid_debug = list( + /client/proc/callproc, + /client/proc/callproc_datum, + /client/proc/debug_controller + ) + +var/list/admin_verbs_possess = list( + /proc/possess, + /proc/release + ) +var/list/admin_verbs_permissions = list( + /client/proc/edit_admin_permissions + ) +var/list/admin_verbs_rejuv = list( + /client/proc/respawn_character + ) + +//verbs which can be hidden - needs work +var/list/admin_verbs_hideable = list( + /client/proc/deadmin_self, +// /client/proc/deadchat, + /datum/admins/proc/show_traitor_panel, + /datum/admins/proc/toggleenter, + /datum/admins/proc/toggleguests, + /datum/admins/proc/announce, + /client/proc/colorooc, + /client/proc/admin_ghost, + /client/proc/toggle_view_range, + /datum/admins/proc/view_txt_log, + /datum/admins/proc/view_atk_log, + /client/proc/cmd_admin_subtle_message, + /client/proc/cmd_admin_check_contents, + /client/proc/cmd_admin_check_player_logs, + /client/proc/cmd_admin_check_dialogue_logs, + /datum/admins/proc/access_news_network, + /client/proc/admin_call_shuttle, + /client/proc/admin_cancel_shuttle, + /client/proc/cmd_admin_direct_narrate, + /client/proc/cmd_admin_world_narrate, + /client/proc/check_words, + /client/proc/play_local_sound, + /client/proc/play_sound, + /client/proc/play_server_sound, + /client/proc/object_talk, + /datum/admins/proc/cmd_admin_dress, + /client/proc/cmd_admin_gib_self, + /client/proc/drop_bomb, + /client/proc/cinematic, + /datum/admins/proc/toggle_aliens, + /datum/admins/proc/toggle_space_ninja, + /client/proc/cmd_admin_add_freeform_ai_law, + /client/proc/cmd_admin_add_random_ai_law, + /client/proc/cmd_admin_create_centcom_report, + /client/proc/make_sound, + /client/proc/toggle_random_events, + /client/proc/cmd_admin_add_random_ai_law, + /client/proc/Set_Holiday, + /client/proc/ToRban, + /datum/admins/proc/startnow, + /datum/admins/proc/restart, + /datum/admins/proc/delay, + /datum/admins/proc/toggleaban, + /client/proc/toggle_log_hrefs, + /datum/admins/proc/immreboot, + /client/proc/everyone_random, + /datum/admins/proc/toggleAI, + /datum/admins/proc/adrev, + /datum/admins/proc/adspawn, + /datum/admins/proc/adjump, + /client/proc/restart_controller, + /client/proc/cmd_admin_list_open_jobs, + /client/proc/callproc, + /client/proc/callproc_datum, + /client/proc/Debug2, + /client/proc/reload_admins, + /client/proc/kill_air, + /client/proc/cmd_debug_make_powernets, + /client/proc/kill_airgroup, + /client/proc/debug_controller, + /client/proc/startSinglo, + /client/proc/simple_DPS, + /client/proc/cmd_debug_mob_lists, + /client/proc/cmd_debug_using_map, + /client/proc/cmd_debug_del_all, + /client/proc/cmd_debug_tog_aliens, + /client/proc/cmd_display_del_log, + /client/proc/air_report, + /client/proc/enable_debug_verbs, + /client/proc/roll_dices, + /proc/possess, + /proc/release, + /datum/admins/proc/set_uplink, //VOREStation Add, + /datum/admins/proc/set_tcrystals + ) +var/list/admin_verbs_mod = list( + /client/proc/cmd_admin_pm_context, //right-click adminPM interface, + /client/proc/cmd_admin_pm_panel, //admin-pm list, + /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game., + /datum/admins/proc/PlayerNotes, + /client/proc/admin_ghost, //allows us to ghost/reenter body at will, + /datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags, //VOREStation Add, + /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, //VOREStation Add, + /client/proc/player_panel, //VOREStation Add, + /client/proc/hide_verbs, //hides all our adminverbs, //VOREStation Add, + /client/proc/hide_most_verbs, //hides all our hideable adminverbs, //VOREStation Add, + /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify, //VOREStation Add, + /client/proc/mark_datum_mapview, //VOREStation Add, + /client/proc/cmd_check_new_players, //allows us to see every new player, //VOREStation Add, + /client/proc/cmd_mod_say, + /client/proc/cmd_event_say, + /datum/admins/proc/show_player_info, + /datum/admins/proc/show_traitor_panel, + /client/proc/colorooc, + /client/proc/player_panel_new, + /client/proc/dsay, + /datum/admins/proc/show_skills, + /datum/admins/proc/show_player_panel, + /client/proc/check_antagonists, + /client/proc/aooc, + /client/proc/jobbans, + /client/proc/toggle_attack_logs, + /client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head', + /datum/admins/proc/paralyze_mob, + /client/proc/cmd_admin_direct_narrate, + /client/proc/allow_character_respawn, // Allows a ghost to respawn , + /datum/admins/proc/sendFax, + /client/proc/getserverlog, //allows us to fetch server logs (diary) for other days, + /datum/admins/proc/view_persistent_data, + /datum/admins/proc/view_txt_log, //shows the server log (diary) for today, + /datum/admins/proc/view_atk_log //shows the server combat-log, doesn't do anything presently, +) + +var/list/admin_verbs_event_manager = list( + /client/proc/cmd_event_say, + /client/proc/cmd_admin_pm_context, + /client/proc/cmd_admin_pm_panel, + /client/proc/admin_ghost, + /datum/admins/proc/show_player_panel, //shows an interface for individual players, with various links (links require additional flags, //VOREStation Add, + /client/proc/player_panel_new, //shows an interface for all players, with links to various panels, //VOREStation Add, + /client/proc/player_panel, //VOREStation Add, + /client/proc/hide_verbs, //hides all our adminverbs, //VOREStation Add, + /client/proc/hide_most_verbs, //hides all our hideable adminverbs, //VOREStation Add, + /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify, //VOREStation Add, + /client/proc/mark_datum_mapview, //VOREStation Add, + /client/proc/cmd_check_new_players, //allows us to see every new player, //VOREStation Add, + /datum/admins/proc/show_player_info, + /client/proc/dsay, + /client/proc/cmd_admin_subtle_message, + /client/proc/debug_variables, + /client/proc/check_antagonists, + /client/proc/aooc, + /datum/admins/proc/paralyze_mob, + /client/proc/cmd_admin_direct_narrate, + /client/proc/allow_character_respawn, + /datum/admins/proc/sendFax, + /client/proc/respawn_character, + /proc/possess, + /proc/release, + /datum/admins/proc/change_weather, + /datum/admins/proc/change_time, + /client/proc/admin_give_modifier, + /client/proc/Jump, + /client/proc/jumptomob, + /client/proc/jumptocoord, + /client/proc/cmd_admin_delete, + /datum/admins/proc/delay, + /client/proc/Set_Holiday, + /client/proc/make_sound, + /client/proc/toggle_random_events, + /datum/admins/proc/cmd_admin_dress, + /client/proc/cmd_admin_gib_self, + /client/proc/drop_bomb, + /client/proc/cmd_admin_add_freeform_ai_law, + /client/proc/cmd_admin_add_random_ai_law, + /client/proc/make_sound, + /client/proc/toggle_random_events, + /client/proc/editappear, + /client/proc/roll_dices, + /datum/admins/proc/call_supply_drop, + /datum/admins/proc/call_drop_pod, + /datum/admins/proc/PlayerNotes, + /client/proc/callproc, + /client/proc/callproc_datum, + /client/proc/debug_controller, + // /client/proc/show_gm_status, // VOREStation Edit - We don't use SSgame_master yet. + /datum/admins/proc/change_weather, + /datum/admins/proc/change_time, + /client/proc/admin_give_modifier, + /datum/admins/proc/cmd_admin_dress, + /client/proc/cmd_admin_gib_self, + /datum/admins/proc/set_tcrystals, + /datum/admins/proc/add_tcrystals, + /client/proc/invisimin, //allows our mob to go invisible/visible, + /datum/admins/proc/show_traitor_panel, //interface which shows a mob's mind., + /datum/admins/proc/show_game_mode, //Configuration window for the current game mode., + /datum/admins/proc/force_mode_latespawn, //Force the mode to try a latespawn proc, + /datum/admins/proc/force_antag_latespawn, //Force a specific template to try a latespawn proc, + /datum/admins/proc/announce, //priority announce something to all clients., + /datum/admins/proc/intercom, //send a fake intercom message, like an arrivals announcement, + /datum/admins/proc/intercom_convo, //send a fake intercom conversation, like an ATC exchange, + /client/proc/colorooc, //allows us to set a custom colour for everythign we say in ooc, + /client/proc/admin_ghost, //allows us to ghost/reenter body at will, + /client/proc/toggle_view_range, //changes how far we can see, + /client/proc/cmd_admin_pm_context, //right-click adminPM interface, + /client/proc/cmd_admin_pm_panel, //admin-pm list, + /client/proc/cmd_admin_subtle_message, //send an message to somebody as a 'voice in their head', + /client/proc/cmd_admin_delete, //delete an instance/object/mob/etc, + /client/proc/cmd_admin_check_contents, //displays the contents of an instance, + /client/proc/cmd_admin_check_player_logs, //checks a player's attack logs, + /client/proc/cmd_admin_check_dialogue_logs, //checks a player's dialogue logs, + /datum/admins/proc/access_news_network, //allows access of newscasters, + /client/proc/jumptocoord, //we ghost and jump to a coordinate, + /client/proc/Getmob, //teleports a mob to our location, + /client/proc/Getkey, //teleports a mob with a certain ckey to our location, + /client/proc/Jump, + /client/proc/jumptokey, //allows us to jump to the location of a mob with a certain ckey, + /client/proc/jumptomob, //allows us to jump to a specific mob, + /client/proc/jumptoturf, //allows us to jump to a specific turf, + /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 CentCom, + /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_world_narrate, //sends text to all players with no padding, + /client/proc/cmd_admin_create_centcom_report, + /client/proc/check_words, //displays cult-words, + /client/proc/check_ai_laws, //shows AI and borg laws, + /client/proc/rename_silicon, //properly renames silicons, + /client/proc/manage_silicon_laws, // Allows viewing and editing silicon laws. , + /client/proc/check_antagonists, + /client/proc/admin_memo, //admin memo system. show/delete/write. +SERVER needed to delete admin memos of others, + /client/proc/dsay, //talk in deadchat using our ckey/fakekey, + /client/proc/secrets, + /client/proc/game_panel, //game panel, allows to change game-mode etc, + /client/proc/cmd_mod_say, + /client/proc/cmd_event_say, + /datum/admins/proc/show_player_info, + /client/proc/free_slot, //frees slot for chosen job, + /client/proc/cmd_admin_change_custom_event, + /client/proc/cmd_admin_rejuvenate, + /client/proc/toggleghostwriters, + /datum/admins/proc/show_skills, + /client/proc/man_up, + /client/proc/global_man_up, + /client/proc/response_team, // Response Teams admin verb, + /client/proc/trader_ship, // Trader ship admin verb, + /client/proc/allow_character_respawn, // Allows a ghost to respawn , + /client/proc/event_manager_panel, + /client/proc/aooc, + /client/proc/change_human_appearance_admin, // Allows an admin to change the basic appearance of human-based mobs , + /client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance , + /client/proc/change_security_level, + /client/proc/makePAI, + /client/proc/toggle_debug_logs, + /client/proc/toggle_attack_logs, + /datum/admins/proc/paralyze_mob, + /client/proc/fixatmos, + /datum/admins/proc/sendFax, + /client/proc/despawn_player, + /datum/admins/proc/view_feedback, + /datum/admins/proc/capture_map, + /client/proc/Set_Holiday, + /datum/admins/proc/startnow, + /datum/admins/proc/restart, + /datum/admins/proc/delay, + /client/proc/cmd_mod_say, + /datum/admins/proc/immreboot, + /client/proc/everyone_random, + /client/proc/cmd_admin_delete, //delete an instance/object/mob/etc, + /client/proc/cmd_debug_del_all, + /client/proc/toggle_random_events, + /client/proc/modify_server_news + +) + +/client/proc/add_admin_verbs() + if(holder) + verbs += admin_verbs_default + if(holder.rights & R_BUILDMODE) verbs += /client/proc/togglebuildmodeself + if(holder.rights & R_ADMIN) verbs += admin_verbs_admin + if(holder.rights & R_BAN) verbs += admin_verbs_ban + if(holder.rights & R_FUN) verbs += admin_verbs_fun + if(holder.rights & R_SERVER) verbs += admin_verbs_server + if(holder.rights & R_DEBUG) + verbs += admin_verbs_debug + if(config.debugparanoid && !(holder.rights & R_ADMIN)) + verbs.Remove(admin_verbs_paranoid_debug) //Right now it's just callproc but we can easily add others later on. + if(holder.rights & R_POSSESS) verbs += admin_verbs_possess + if(holder.rights & R_PERMISSIONS) verbs += admin_verbs_permissions + if(holder.rights & R_STEALTH) verbs += /client/proc/stealth + if(holder.rights & R_REJUVINATE) verbs += admin_verbs_rejuv + if(holder.rights & R_SOUNDS) verbs += admin_verbs_sounds + if(holder.rights & R_SPAWN) verbs += admin_verbs_spawn + if(holder.rights & R_MOD) verbs += admin_verbs_mod + if(holder.rights & R_EVENT) verbs += admin_verbs_event_manager + +/client/proc/remove_admin_verbs() + verbs.Remove( + admin_verbs_default, + /client/proc/togglebuildmodeself, + admin_verbs_admin, + admin_verbs_ban, + admin_verbs_fun, + admin_verbs_server, + admin_verbs_debug, + admin_verbs_possess, + admin_verbs_permissions, + /client/proc/stealth, + admin_verbs_rejuv, + admin_verbs_sounds, + admin_verbs_spawn, + debug_verbs + ) diff --git a/code/modules/admin/admin_vr.dm b/code/modules/admin/admin_vr.dm new file mode 100644 index 00000000000..356d69a3761 --- /dev/null +++ b/code/modules/admin/admin_vr.dm @@ -0,0 +1,12 @@ +/datum/admins/proc/set_uplink(mob/living/carbon/human/H as mob) + set category = "Debug" + set name = "Set Uplink" + set desc = "Allows admins to set up an uplink on a character. This will be required for a character to use telecrystals." + set popup_menu = FALSE + + if(check_rights(R_ADMIN|R_DEBUG)) + traitors.spawn_uplink(H) + H.mind.tcrystals = DEFAULT_TELECRYSTAL_AMOUNT + H.mind.accept_tcrystals = 1 + else + to_chat(usr, "You do not have access to this command.") \ No newline at end of file diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index ba75d453175..b9332751b56 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -11,9 +11,9 @@ log_adminsay(msg,src) - //VOREStation Edit Start - Adds R_EVENT + //VOREStation Edit Start - Adds R_STEALTH for(var/client/C in GLOB.admins) - if(check_rights(R_ADMIN|R_EVENT)) + if(check_rights(R_ADMIN|R_STEALTH)) to_chat(C, "" + create_text_tag("admin", "ADMIN:", C) + " [key_name(usr, 1)]([admin_jump_link(mob, src)]): [msg]") //VOREStation Edit End @@ -24,7 +24,7 @@ set name = "Msay" set hidden = 1 - if(!check_rights(R_ADMIN|R_MOD|R_SERVER|R_EVENT)) //VOREStation Edit + if(!check_rights(R_ADMIN|R_MOD|R_SERVER|R_STEALTH)) //VOREStation Edit return msg = sanitize(msg) @@ -47,7 +47,7 @@ set name = "Esay" set hidden = 1 - if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_SERVER|R_EVENT)) + if(!check_rights(R_ADMIN|R_MOD|R_EVENT|R_SERVER|R_STEALTH)) //VOREStation Edit return msg = sanitize(msg) diff --git a/vorestation.dme b/vorestation.dme index 7ea68b414c7..fd06341bb10 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -1579,8 +1579,9 @@ #include "code\modules\admin\admin_ranks.dm" #include "code\modules\admin\admin_secrets.dm" #include "code\modules\admin\admin_tools.dm" -#include "code\modules\admin\admin_verb_lists.dm" +#include "code\modules\admin\admin_verb_lists_vr.dm" #include "code\modules\admin\admin_verbs.dm" +#include "code\modules\admin\admin_vr.dm" #include "code\modules\admin\banjob.dm" #include "code\modules\admin\ckey_vr.dm" #include "code\modules\admin\create_mob.dm"