next set of admin verbs (#19260)

* next set of admin verbs

* invoke

* .

* a few more

* few more

* .

* few more

* some more

* move thos

* next

* some debug verbs

* axe the old mod loading

* del

* is local for some verbs

* few more

* .

* .

* .

* Add local narrate.

* Fixes this

Needed to be user.mob, since user is  the client and usr was the old user.mob

* fixes

* .

* .

* .

* .

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Kashargul
2026-03-21 17:16:41 -04:00
committed by GitHub
co-authored by Cameron Lennox
parent 5cf2876a85
commit 89fb9871e0
62 changed files with 1125 additions and 2133 deletions
+5 -14
View File
@@ -220,20 +220,13 @@
danger = disease.danger
return danger
/client/proc/ReleaseVirus()
set category = "Fun.Event Kit"
set name = "Release Virus"
set desc = "Release a pre-set virus."
if(!check_rights(R_FUN|R_EVENT))
return FALSE
var/disease = tgui_input_list(usr, "Choose virus", "Viruses", subtypesof(/datum/disease), subtypesof(/datum/disease))
ADMIN_VERB(ReleaseVirus, R_SPAWN|R_EVENT, "Release Virus", "Release a pre-set virus.", ADMIN_CATEGORY_FUN_EVENT_KIT)
var/disease = tgui_input_list(user, "Choose virus", "Viruses", subtypesof(/datum/disease), subtypesof(/datum/disease))
if(isnull(disease))
return FALSE
var/mob/living/carbon/human/H = tgui_input_list(usr, "Choose infectee", "Characters", GLOB.human_mob_list)
var/mob/living/carbon/human/H = tgui_input_list(user, "Choose infectee", "Characters", GLOB.human_mob_list)
if(isnull(H))
return FALSE
@@ -243,10 +236,8 @@
if(!H.HasDisease(D))
H.ForceContractDisease(D)
message_admins("[key_name_admin(usr)] has triggered a virus outbreak of [D.name]! Affected mob: [key_name_admin(H)]")
log_admin("[key_name_admin(usr)] infected [key_name_admin(H)] with [D.name]")
message_admins("[key_name_admin(user)] has triggered a virus outbreak of [D.name]! Affected mob: [key_name_admin(H)]")
log_admin("[key_name_admin(user)] infected [key_name_admin(H)] with [D.name]")
if(!GLOB.archive_diseases[D.GetDiseaseID()])
GLOB.archive_diseases[D.GetDiseaseID()] = D
return TRUE
+17 -25
View File
@@ -479,14 +479,7 @@ GLOBAL_LIST_INIT(advance_cures, list(
if(length(preserve))
R.data["viruses"] = preserve
/client/proc/AdminCreateVirus()
set category = "Fun.Event Kit"
set name = "Create Advanced Virus"
set desc = "Create an advanced virus and release it."
if(!is_admin(usr))
return FALSE
ADMIN_VERB(AdminCreateVirus, R_SPAWN|R_EVENT, "Create Advanced Virus", "Create an advanced virus and release it.", ADMIN_CATEGORY_FUN_EVENT_KIT)
var/i = VIRUS_SYMPTOM_LIMIT
var/mob/living/carbon/human/H = null
@@ -497,22 +490,23 @@ GLOBAL_LIST_INIT(advance_cures, list(
symptoms += "Done"
symptoms += GLOB.list_symptoms.Copy()
do
if(src)
var/symptom = tgui_input_list(src, "Choose a symptom to add ([i] remaining)", "Choose a Symptom", symptoms)
if(isnull(symptom))
return
else if(istext(symptom))
i = 0
else if(ispath(symptom))
var/datum/symptom/S = new symptom
if(!D.HasSymptom(S))
D.symptoms += S
i -= 1
if(!user)
return
var/symptom = tgui_input_list(user, "Choose a symptom to add ([i] remaining)", "Choose a Symptom", symptoms)
if(isnull(symptom))
return
else if(istext(symptom))
i = 0
else if(ispath(symptom))
var/datum/symptom/S = new symptom
if(!D.HasSymptom(S))
D.symptoms += S
i -= 1
while(i > 0)
if(length(D.symptoms) > 0)
var/new_name = tgui_input_text(src, "Name your new disease.", "New Name")
var/new_name = tgui_input_text(user, "Name your new disease.", "New Name")
if(!new_name)
return FALSE
D.AssignName(new_name)
@@ -521,7 +515,7 @@ GLOBAL_LIST_INIT(advance_cures, list(
for(var/datum/disease/advance/AD in GLOB.active_diseases)
AD.Refresh()
H = tgui_input_list(src, "Choose infectee", "Infectees", GLOB.human_mob_list)
H = tgui_input_list(user, "Choose infectee", "Infectees", GLOB.human_mob_list)
if(isnull(H))
return FALSE
@@ -532,10 +526,8 @@ GLOBAL_LIST_INIT(advance_cures, list(
var/list/name_symptoms = list()
for(var/datum/symptom/S in D.symptoms)
name_symptoms += S.name
message_admins("[key_name_admin(src)] has triggered a custom virus outbreak of [D.name]! It has these symptoms: [english_list(name_symptoms)]")
log_admin("[key_name_admin(src)] infected [key_name_admin(H)] with [D.name]. It has these symptoms: [english_list(name_symptoms)]")
return TRUE
message_admins("[key_name_admin(user)] has triggered a custom virus outbreak of [D.name]! It has these symptoms: [english_list(name_symptoms)]")
log_admin("[key_name_admin(user)] infected [key_name_admin(H)] with [D.name]. It has these symptoms: [english_list(name_symptoms)]")
/datum/disease/advance/infect(mob/living/infectee, make_copy = TRUE)
var/datum/disease/advance/A = make_copy ? Copy() : src
@@ -1,18 +1,15 @@
/client
var/datum/managed_browser/feedback_viewer/feedback_viewer = null
/datum/admins/proc/view_feedback()
set category = "Admin.Misc"
set name = "View Feedback"
set desc = "Open the Feedback Viewer"
if(!check_rights(R_ADMIN|R_DEBUG|R_EVENT))
ADMIN_VERB(view_feedback, R_ADMIN|R_DEBUG|R_EVENT, "View Feedback", "Open the Feedback Viewer.", ADMIN_CATEGORY_MISC)
if(!check_rights())
return
if(usr.client.feedback_viewer)
usr.client.feedback_viewer.display()
else
usr.client.feedback_viewer = new(usr.client)
if(user.feedback_viewer)
user.feedback_viewer.display()
return
user.feedback_viewer = new(user)
// This object holds the code to run the admin feedback viewer.
/datum/managed_browser/feedback_viewer
+6 -5
View File
@@ -127,9 +127,9 @@
popup.set_content(output)
popup.open()
/datum/mind/proc/edit_memory()
/datum/mind/proc/edit_memory(mob/user)
if(!SSticker || !SSticker.mode)
tgui_alert_async(usr, "Not before round-start!", "Alert")
tgui_alert_async(user, "Not before round-start!", "Alert")
return
var/out = span_bold("[name]") + "[(current&&(current.real_name!=name))?" (as [current.real_name])":""]<br>"
@@ -161,12 +161,13 @@
out += "<br><a href='byond://?src=\ref[src];[HrefToken()];obj_add=1'>\[add\]</a><br><br>"
out += span_bold("Ambitions:") + " [ambitions ? ambitions : "None"] <a href='byond://?src=\ref[src];[HrefToken()];amb_edit=\ref[src]'>\[edit\]</a></br>"
var/datum/browser/popup = new(usr, "edit_memory[src]", "Edit Memory")
var/datum/browser/popup = new(user, "edit_memory[src]", "Edit Memory")
popup.set_content(out)
popup.open()
/datum/mind/Topic(href, href_list)
if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return
if(!check_rights(R_ADMIN|R_FUN|R_EVENT))
return
if(href_list["add_antagonist"])
var/datum/antagonist/antag = GLOB.all_antag_types[href_list["add_antagonist"]]
@@ -428,7 +429,7 @@
for(var/datum/objective/objective in objectives)
to_chat(current, span_bold("Objective #[obj_count]") + ": [objective.explanation_text]")
obj_count++
edit_memory()
edit_memory(usr)
/datum/mind/proc/find_syndicate_uplink()
var/list/L = current.get_contents()