mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 21:40:55 +01:00
Storyteller admin/mod/fun verb smorgasbord (#20831)
As title: grants STs a small selection of admin/mod/fun verbs without needing them to have an admin_rank configured on the back end. I've been extra permissive here on the assumption that Those That Be will veto anything they don't like. The granted verbs: /client/proc/toggle_view_range, /client/proc/jumptozlevel, /client/proc/jumptoshuttle, /client/proc/jumptoship, /client/proc/jumptosector, /client/proc/Getmob, /client/proc/Jump, /client/proc/jumptomob, /client/proc/jumptoturf, /client/proc/check_ai_laws, /client/proc/manage_silicon_laws, /client/proc/odyssey_panel, /client/proc/damage_menu, /client/proc/change_human_appearance_admin, /client/proc/change_security_level, /client/proc/cmd_dev_bst, /datum/admins/proc/create_admin_fax, /client/proc/check_fax_history, /client/proc/clear_toxins, /datum/admins/proc/call_supply_drop, /datum/admins/proc/call_drop_pod, /client/proc/event_manager_panel, /client/proc/toggle_random_events This PR is full of _gross code_ but it _does_ work.
This commit is contained in:
@@ -519,6 +519,32 @@ GLOBAL_LIST_INIT(admin_verbs_cciaa, list(
|
||||
/client/proc/toggle_aooc
|
||||
))
|
||||
|
||||
GLOBAL_LIST_INIT(admin_verbs_storyteller, list(
|
||||
/client/proc/toggle_view_range, /*changes how far we can see*/
|
||||
/client/proc/jumptozlevel,
|
||||
/client/proc/jumptoshuttle,
|
||||
/client/proc/jumptoship,
|
||||
/client/proc/jumptosector,
|
||||
/client/proc/Getmob, /*teleports a mob to our location*/
|
||||
/client/proc/Jump,
|
||||
/client/proc/jumptomob, //allows us to jump to a specific mob,
|
||||
/client/proc/jumptoturf, /*allows us to jump to a specific turf*/
|
||||
/client/proc/check_ai_laws, //shows AI and borg laws,
|
||||
/client/proc/manage_silicon_laws,
|
||||
/client/proc/odyssey_panel,
|
||||
/client/proc/damage_menu,
|
||||
/client/proc/change_human_appearance_admin, // Allows an admin to change the basic appearance of human-based mobs ,
|
||||
/client/proc/change_security_level,
|
||||
/client/proc/cmd_dev_bst,
|
||||
/datum/admins/proc/create_admin_fax,
|
||||
/client/proc/check_fax_history,
|
||||
/client/proc/clear_toxins,
|
||||
/datum/admins/proc/call_supply_drop,
|
||||
/datum/admins/proc/call_drop_pod,
|
||||
/client/proc/event_manager_panel,
|
||||
/client/proc/toggle_random_events
|
||||
))
|
||||
|
||||
|
||||
/client/proc/add_admin_verbs()
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
@@ -561,6 +587,12 @@ GLOBAL_LIST_INIT(admin_verbs_cciaa, list(
|
||||
remove_verb(src, GLOB.debug_verbs)
|
||||
add_aooc_if_necessary()
|
||||
|
||||
/client/proc/add_storyteller_verbs()
|
||||
SHOULD_NOT_SLEEP(TRUE)
|
||||
|
||||
if(isstoryteller(src.mob))
|
||||
add_verb(src, GLOB.admin_verbs_storyteller)
|
||||
|
||||
/client/proc/hide_most_verbs()//Allows you to keep some functionality while hiding some verbs
|
||||
set name = "Adminverbs - Hide Most"
|
||||
set category = "Admin"
|
||||
@@ -856,7 +888,7 @@ GLOBAL_LIST_INIT(admin_verbs_cciaa, list(
|
||||
/client/proc/check_ai_laws()
|
||||
set name = "Check AI Laws"
|
||||
set category = "Admin"
|
||||
if(holder)
|
||||
if(holder || isstoryteller(src.mob))
|
||||
src.holder.output_ai_laws()
|
||||
|
||||
/client/proc/rename_silicon()
|
||||
@@ -878,29 +910,27 @@ GLOBAL_LIST_INIT(admin_verbs_cciaa, list(
|
||||
set name = "Manage Silicon Laws"
|
||||
set category = "Admin"
|
||||
|
||||
if(!check_rights(R_ADMIN)) return
|
||||
if(check_rights(R_ADMIN) || isstoryteller(src.mob))
|
||||
var/mob/living/silicon/S = input("Select silicon.", "Manage Silicon Laws") as null|anything in GLOB.silicon_mob_list
|
||||
if(!S) return
|
||||
|
||||
var/mob/living/silicon/S = input("Select silicon.", "Manage Silicon Laws") as null|anything in GLOB.silicon_mob_list
|
||||
if(!S) return
|
||||
|
||||
var/datum/tgui_module/admin/law_manager/L = new(S)
|
||||
L.ui_interact(usr)
|
||||
log_and_message_admins("has opened [S]'s law manager.")
|
||||
feedback_add_details("admin_verb","MSL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
var/datum/tgui_module/admin/law_manager/L = new(S)
|
||||
L.ui_interact(usr)
|
||||
log_and_message_admins("has opened [S]'s law manager.")
|
||||
feedback_add_details("admin_verb","MSL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/change_human_appearance_admin()
|
||||
set name = "Change Mob Appearance - Admin"
|
||||
set desc = "Allows you to change the mob appearance"
|
||||
set category = "Admin"
|
||||
|
||||
if(!check_rights(R_FUN)) return
|
||||
if(check_rights(R_FUN) || isstoryteller(src.mob))
|
||||
var/mob/living/carbon/human/H = tgui_input_list(usr, "Select mob.", "Change Mob Appearance - Self", GLOB.human_mob_list)
|
||||
if(!H) return
|
||||
|
||||
var/mob/living/carbon/human/H = tgui_input_list(usr, "Select mob.", "Change Mob Appearance - Self", GLOB.human_mob_list)
|
||||
if(!H) return
|
||||
|
||||
log_and_message_admins("is altering the appearance of [H].")
|
||||
H.change_appearance(APPEARANCE_ALL, usr, FALSE)
|
||||
feedback_add_details("admin_verb","CHAA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
log_and_message_admins("is altering the appearance of [H].")
|
||||
H.change_appearance(APPEARANCE_ALL, usr, FALSE)
|
||||
feedback_add_details("admin_verb","CHAA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/change_human_appearance_self()
|
||||
set name = "Change Mob Appearance - Self"
|
||||
@@ -930,13 +960,12 @@ GLOBAL_LIST_INIT(admin_verbs_cciaa, list(
|
||||
set desc = "Sets the station's security level"
|
||||
set category = "Admin"
|
||||
|
||||
if(!check_rights(R_ADMIN))
|
||||
return
|
||||
var/sec_level = tgui_input_list(usr, "It's currently code [get_security_level()].", "Select Security Level", list("green", "blue", "red", "yellow", "delta") - get_security_level())
|
||||
var/msg = tgui_alert(usr, "Switch from code [get_security_level()] to code [sec_level]?", "Security Level", list("Yes","No"))
|
||||
if(msg == "Yes")
|
||||
set_security_level(sec_level)
|
||||
log_admin("[key_name(usr)] changed the security level to code [sec_level].")
|
||||
if(check_rights(R_ADMIN) || isstoryteller(src.mob))
|
||||
var/sec_level = tgui_input_list(usr, "It's currently code [get_security_level()].", "Select Security Level", list("green", "blue", "red", "yellow", "delta") - get_security_level())
|
||||
var/msg = tgui_alert(usr, "Switch from code [get_security_level()] to code [sec_level]?", "Security Level", list("Yes","No"))
|
||||
if(msg == "Yes")
|
||||
set_security_level(sec_level)
|
||||
log_admin("[key_name(usr)] changed the security level to code [sec_level].")
|
||||
|
||||
//---- bs12 verbs ----
|
||||
|
||||
@@ -952,65 +981,64 @@ GLOBAL_LIST_INIT(admin_verbs_cciaa, list(
|
||||
set name = "Edit Appearance"
|
||||
set category = "Fun"
|
||||
|
||||
if(!check_rights(R_FUN)) return
|
||||
if(check_rights(R_FUN) || isstoryteller(src.mob))
|
||||
var/mob/living/carbon/human/selected_human = input("Select mob.", "Edit Appearance") as null|anything in GLOB.human_mob_list
|
||||
|
||||
var/mob/living/carbon/human/selected_human = input("Select mob.", "Edit Appearance") as null|anything in GLOB.human_mob_list
|
||||
|
||||
if(!istype(selected_human, /mob/living/carbon/human))
|
||||
to_chat(usr, SPAN_WARNING("You can only do this to humans!"))
|
||||
return
|
||||
switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Unathi and Tajaran can result in unintended consequences.",,"Yes","No"))
|
||||
if("No")
|
||||
if(!istype(selected_human, /mob/living/carbon/human))
|
||||
to_chat(usr, SPAN_WARNING("You can only do this to humans!"))
|
||||
return
|
||||
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
selected_human.r_facial = hex2num(copytext(new_facial, 2, 4))
|
||||
selected_human.g_facial = hex2num(copytext(new_facial, 4, 6))
|
||||
selected_human.b_facial = hex2num(copytext(new_facial, 6, 8))
|
||||
switch(alert("Are you sure you wish to edit this mob's appearance? Skrell, Unathi and Tajaran can result in unintended consequences.",,"Yes","No"))
|
||||
if("No")
|
||||
return
|
||||
var/new_facial = input("Please select facial hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
selected_human.r_facial = hex2num(copytext(new_facial, 2, 4))
|
||||
selected_human.g_facial = hex2num(copytext(new_facial, 4, 6))
|
||||
selected_human.b_facial = hex2num(copytext(new_facial, 6, 8))
|
||||
|
||||
var/new_hair = input("Please select hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
selected_human.r_hair = hex2num(copytext(new_hair, 2, 4))
|
||||
selected_human.g_hair = hex2num(copytext(new_hair, 4, 6))
|
||||
selected_human.b_hair = hex2num(copytext(new_hair, 6, 8))
|
||||
var/new_hair = input("Please select hair color.", "Character Generation") as color
|
||||
if(new_facial)
|
||||
selected_human.r_hair = hex2num(copytext(new_hair, 2, 4))
|
||||
selected_human.g_hair = hex2num(copytext(new_hair, 4, 6))
|
||||
selected_human.b_hair = hex2num(copytext(new_hair, 6, 8))
|
||||
|
||||
var/new_eyes = input("Please select eye color.", "Character Generation") as color
|
||||
if(new_eyes)
|
||||
selected_human.r_eyes = hex2num(copytext(new_eyes, 2, 4))
|
||||
selected_human.g_eyes = hex2num(copytext(new_eyes, 4, 6))
|
||||
selected_human.b_eyes = hex2num(copytext(new_eyes, 6, 8))
|
||||
selected_human.update_eyes()
|
||||
var/new_eyes = input("Please select eye color.", "Character Generation") as color
|
||||
if(new_eyes)
|
||||
selected_human.r_eyes = hex2num(copytext(new_eyes, 2, 4))
|
||||
selected_human.g_eyes = hex2num(copytext(new_eyes, 4, 6))
|
||||
selected_human.b_eyes = hex2num(copytext(new_eyes, 6, 8))
|
||||
selected_human.update_eyes()
|
||||
|
||||
var/new_skin = input("Please select body color. This is for Tajaran, Unathi, and Skrell only!", "Character Generation") as color
|
||||
if(new_skin)
|
||||
selected_human.r_skin = hex2num(copytext(new_skin, 2, 4))
|
||||
selected_human.g_skin = hex2num(copytext(new_skin, 4, 6))
|
||||
selected_human.b_skin = hex2num(copytext(new_skin, 6, 8))
|
||||
var/new_skin = input("Please select body color. This is for Tajaran, Unathi, and Skrell only!", "Character Generation") as color
|
||||
if(new_skin)
|
||||
selected_human.r_skin = hex2num(copytext(new_skin, 2, 4))
|
||||
selected_human.g_skin = hex2num(copytext(new_skin, 4, 6))
|
||||
selected_human.b_skin = hex2num(copytext(new_skin, 6, 8))
|
||||
|
||||
var/new_tone = input("Please select skin tone level: (Light [selected_human.species.lower_skin_tone_bound] - [selected_human.species.upper_skin_tone_bound] Dark). Higher is darker.", "Character Generation") as text
|
||||
var/new_tone = input("Please select skin tone level: (Light [selected_human.species.lower_skin_tone_bound] - [selected_human.species.upper_skin_tone_bound] Dark). Higher is darker.", "Character Generation") as text
|
||||
|
||||
if (new_tone)
|
||||
selected_human.s_tone = 35 - clamp(round(text2num(new_tone)), selected_human.species.lower_skin_tone_bound, selected_human.species.upper_skin_tone_bound)
|
||||
if (new_tone)
|
||||
selected_human.s_tone = 35 - clamp(round(text2num(new_tone)), selected_human.species.lower_skin_tone_bound, selected_human.species.upper_skin_tone_bound)
|
||||
|
||||
// hair
|
||||
var/new_hstyle = input(usr, "Select a hair style", "Grooming") as null|anything in GLOB.hair_styles_list
|
||||
if(new_hstyle)
|
||||
selected_human.h_style = new_hstyle
|
||||
// hair
|
||||
var/new_hstyle = input(usr, "Select a hair style", "Grooming") as null|anything in GLOB.hair_styles_list
|
||||
if(new_hstyle)
|
||||
selected_human.h_style = new_hstyle
|
||||
|
||||
// facial hair
|
||||
var/new_fstyle = input(usr, "Select a facial hair style", "Grooming") as null|anything in GLOB.facial_hair_styles_list
|
||||
if(new_fstyle)
|
||||
selected_human.f_style = new_fstyle
|
||||
// facial hair
|
||||
var/new_fstyle = input(usr, "Select a facial hair style", "Grooming") as null|anything in GLOB.facial_hair_styles_list
|
||||
if(new_fstyle)
|
||||
selected_human.f_style = new_fstyle
|
||||
|
||||
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
|
||||
if (new_gender)
|
||||
if(new_gender == "Male")
|
||||
selected_human.gender = MALE
|
||||
else
|
||||
selected_human.gender = FEMALE
|
||||
selected_human.update_hair()
|
||||
selected_human.update_body()
|
||||
selected_human.check_dna(selected_human)
|
||||
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
|
||||
if (new_gender)
|
||||
if(new_gender == "Male")
|
||||
selected_human.gender = MALE
|
||||
else
|
||||
selected_human.gender = FEMALE
|
||||
selected_human.update_hair()
|
||||
selected_human.update_body()
|
||||
selected_human.check_dna(selected_human)
|
||||
|
||||
/client/proc/playernotes()
|
||||
set name = "Show Player Info"
|
||||
|
||||
Reference in New Issue
Block a user