More GM tools (#18023)

* More GM tools

Added a few new GM tools:

Added the ability to use alt-clicks in advanced build mode to open VV or call proc.

Added the ability to spawn someone with a custom job title from Spawn Character.

Added the ability to give ColorMate to Simple Mobs or Borgs through player effects.

* Added a health scan button

* Adds medical issues
This commit is contained in:
SatinIsle
2025-07-25 15:30:11 +02:00
committed by GitHub
parent eaff3cc6e2
commit 07a8bc0553
7 changed files with 512 additions and 3 deletions
+9 -3
View File
@@ -109,7 +109,9 @@ GLOBAL_LIST_EMPTY(active_buildmode_holders)
Middle Mouse Button on turf/obj = Capture object type<br>\
Left Mouse Button on turf/obj = Place objects<br>\
Right Mouse Button = Delete objects<br>\
Mouse Button + ctrl = Copy object type<br><br>\
Mouse Button + ctrl = Copy object type<br>\
Left Mouse Button + alt = Open View Variable<br>\
Right Mouse Button + alt = Call Proc<br><br>\
Use the button in the upper left corner to<br>\
change the direction of built objects.<br>\
***********************************************************"))
@@ -412,19 +414,23 @@ GLOBAL_LIST_EMPTY(active_buildmode_holders)
if(BUILDMODE_ADVANCED)
if(pa.Find("left") && !pa.Find("ctrl"))
if(pa.Find("left") && !pa.Find("ctrl") && !pa.Find("alt"))
if(ispath(holder.buildmode.objholder,/turf))
var/turf/T = get_turf(object)
T.ChangeTurf(holder.buildmode.objholder)
else if(ispath(holder.buildmode.objholder))
var/obj/A = new holder.buildmode.objholder (get_turf(object))
A.set_dir(holder.builddir.dir)
else if(pa.Find("right"))
else if(pa.Find("right") && !pa.Find("alt"))
if(isobj(object))
qdel(object)
else if(pa.Find("ctrl"))
holder.buildmode.objholder = object.type
to_chat(user, span_notice("[object]([object.type]) copied to buildmode."))
else if(pa.Find("left") && pa.Find("alt"))
user.client.debug_variables(object)
else if(pa.Find("right") && pa.Find("alt"))
SSadmin_verbs.dynamic_invoke_verb(user, /datum/admin_verb/call_proc_datum, object)
if(pa.Find("middle"))
holder.buildmode.objholder = text2path("[object.type]")
if(holder.buildmode.objsay)
+25
View File
@@ -457,6 +457,18 @@ ADMIN_VERB(respawn_character, (R_ADMIN|R_REJUVINATE), "Spawn Character", "(Re)Sp
else
equipment = 0
var/custom_job
var/custom_job_title
if(charjob)
custom_job = tgui_alert(src,"Customise Job Title?", "Custom Job", list("No", "Yes", "Cancel"))
if(!custom_job || equipment == "Cancel")
return
else if(custom_job == "Yes")
custom_job = 1
custom_job_title = tgui_input_text(src,"Choose a Job Title for the character.","Job Title")
else
custom_job = 0
//For logging later
var/admin = key_name_admin(src)
var/player_key = picked_client.key
@@ -564,6 +576,19 @@ ADMIN_VERB(respawn_character, (R_ADMIN|R_REJUVINATE), "Spawn Character", "(Re)Sp
new_character.mind.assigned_role = charjob
new_character.mind.role_alt_title = job_master.GetPlayerAltTitle(new_character, charjob)
//If customised job title, modify here.
if(custom_job && custom_job_title)
var/character_name = new_character.name
for(var/obj/item/card/id/I in new_character.contents)
I.name = "[character_name]'s ID Card ([custom_job_title])"
I.assignment = custom_job_title
for(var/obj/item/pda/P in new_character.contents)
P.name = "PDA-[character_name] ([custom_job_title])"
P.ownjob = custom_job_title
new_character.mind.assigned_role = custom_job_title
new_character.mind.role_alt_title = custom_job_title
to_chat(new_character, "Your job title has been changed to [custom_job_title].")
//If desired, add records.
if(records)
GLOB.data_core.manifest_inject(new_character)