Port tg statpanel (#16463)

* Port tg statpanel

* Add verb descriptions using the title attribute

* Fix a dreamchecker error

* Remove chomp edits

* Add mentor tickets to ticket panel

---------

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
ShadowLarkens
2024-10-16 19:39:06 +02:00
committed by GitHub
co-authored by Kashargul
parent ed5fc193f7
commit c07027136e
211 changed files with 3233 additions and 1170 deletions
+12 -79
View File
@@ -694,86 +694,19 @@
for(var/mob/M in viewers())
M.see(message)
/mob/Stat()
..()
. = (is_client_active(10 MINUTES))
/// Adds this list to the output to the stat browser
/mob/proc/get_status_tab_items()
. = list()
if(.)
if(statpanel("Status"))
stat(null, "Time Dilation: [round(SStime_track.time_dilation_current,1)]% AVG:([round(SStime_track.time_dilation_avg_fast,1)]%, [round(SStime_track.time_dilation_avg,1)]%, [round(SStime_track.time_dilation_avg_slow,1)]%)")
if(ticker && ticker.current_state != GAME_STATE_PREGAME)
stat("Station Time", stationtime2text())
var/date = "[stationdate2text()], [capitalize(world_time_season)]"
stat("Station Date", date)
stat("Round Duration", roundduration2text())
if(client.holder)
if(statpanel("Status"))
stat("Location:", "([x], [y], [z]) [loc]")
stat("CPU:","[world.cpu]")
stat("Instances:","[world.contents.len]")
stat(null, "Time Dilation: [round(SStime_track.time_dilation_current,1)]% AVG:([round(SStime_track.time_dilation_avg_fast,1)]%, [round(SStime_track.time_dilation_avg,1)]%, [round(SStime_track.time_dilation_avg_slow,1)]%)")
stat("Keys Held", keys2text(client.move_keys_held | client.mod_keys_held))
stat("Next Move ADD", dirs2text(client.next_move_dir_add))
stat("Next Move SUB", dirs2text(client.next_move_dir_sub))
stat("Current size:", size_multiplier * 100)
if(statpanel("MC"))
stat("Location:", "([x], [y], [z]) [loc]")
stat("CPU:","[world.cpu]")
stat("Instances:","[world.contents.len]")
stat("World Time:", world.time)
stat("Real time of day:", REALTIMEOFDAY)
stat(null)
if(GLOB)
GLOB.stat_entry()
else
stat("Globals:", "ERROR")
if(Master)
Master.stat_entry()
else
stat("Master Controller:", "ERROR")
if(Failsafe)
Failsafe.stat_entry()
else
stat("Failsafe Controller:", "ERROR")
if(Master)
stat(null)
for(var/datum/controller/subsystem/SS in Master.subsystems)
SS.stat_entry()
if(statpanel("Tickets"))
if(check_rights(R_ADMIN|R_SERVER,FALSE)) //Prevents non-staff from opening the list of ahelp tickets
GLOB.ahelp_tickets.stat_entry()
if(length(GLOB.sdql2_queries))
if(statpanel("SDQL2"))
stat("Access Global SDQL2 List", GLOB.sdql2_vv_statobj)
for(var/datum/SDQL2_query/Q as anything in GLOB.sdql2_queries)
Q.generate_stat()
if(has_mentor_powers(client))
if(statpanel("Tickets"))
GLOB.mhelp_tickets.stat_entry()
if(listed_turf && client)
if(!TurfAdjacent(listed_turf))
listed_turf = null
else
if(statpanel("Turf"))
stat(listed_turf)
for(var/atom/A in listed_turf)
if(!A.mouse_opacity)
continue
if(A.invisibility > see_invisible)
continue
if(is_type_in_list(A, shouldnt_see))
continue
if(A.plane > plane)
continue
stat(A)
/// Gets all relevant proc holders for the browser statpenl
/mob/proc/get_proc_holders()
. = list()
//if(mind)
//. += get_spells_for_statpanel(mind.spell_list)
//. += get_spells_for_statpanel(mob_spell_list)
/mob/proc/update_misc_tabs()
misc_tabs = list() //Reset misc_tabs every Stat() to prevent old shit sticking around
// facing verbs
/mob/proc/canface()
@@ -1008,7 +941,7 @@
visible_message(span_warning("<b>[usr] rips [selection] out of [src]'s body.</b>"),span_warning("<b>[usr] rips [selection] out of your body.</b>"))
valid_objects = get_visible_implants(0)
if(valid_objects.len == 1) //Yanking out last object - removing verb.
src.verbs -= /mob/proc/yank_out_object
remove_verb(src, /mob/proc/yank_out_object)
clear_alert("embeddedobject")
if(ishuman(src))