TGUI updates + statpanel
This commit is contained in:
+21
-72
@@ -586,87 +586,34 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
/mob/proc/is_muzzled()
|
||||
return FALSE
|
||||
|
||||
/mob/Stat()
|
||||
..()
|
||||
/// Adds this list to the output to the stat browser
|
||||
/mob/proc/get_status_tab_items()
|
||||
. = list()
|
||||
|
||||
SSvote?.render_statpanel(src)
|
||||
|
||||
//This is only called from client/Stat(), let's assume client exists.
|
||||
|
||||
if(statpanel("Status"))
|
||||
var/list/L = list()
|
||||
L += "Ping: [round(client.lastping,1)]ms (Avg: [round(client.avgping,1)]ms)"
|
||||
L += SSmapping.stat_map_name
|
||||
L += "Round ID: [GLOB.round_id || "NULL"]"
|
||||
L += SStime_track.stat_time_text
|
||||
L += SSshuttle.emergency_shuttle_stat_text
|
||||
stat(null, "[L.Join("\n\n")]")
|
||||
|
||||
if(client.holder)
|
||||
if(statpanel("MC"))
|
||||
var/turf/T = get_turf(client.eye)
|
||||
stat("Location:", COORD(T))
|
||||
stat("CPU:", "[world.cpu]")
|
||||
stat("Instances:", "[num2text(world.contents.len, 10)]")
|
||||
stat("World Time:", "[world.time]")
|
||||
GLOB.stat_entry()
|
||||
config.stat_entry()
|
||||
stat(null)
|
||||
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.statworthy_subsystems)
|
||||
SS.stat_entry()
|
||||
GLOB.cameranet.stat_entry()
|
||||
if(statpanel("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/i in GLOB.sdql2_queries)
|
||||
var/datum/SDQL2_query/Q = i
|
||||
Q.generate_stat()
|
||||
if(listed_turf && client)
|
||||
if(!TurfAdjacent(listed_turf))
|
||||
listed_turf = null
|
||||
else
|
||||
statpanel(listed_turf.name, null, listed_turf)
|
||||
var/list/overrides = list()
|
||||
for(var/image/I in client.images)
|
||||
if(I.loc && I.loc.loc == listed_turf && I.override)
|
||||
overrides += I.loc
|
||||
for(var/atom/A in listed_turf)
|
||||
if(!A.mouse_opacity)
|
||||
continue
|
||||
if(A.invisibility > see_invisible)
|
||||
continue
|
||||
if(overrides.len && (A in overrides))
|
||||
continue
|
||||
statpanel(listed_turf.name, null, A)
|
||||
/// Gets all relevant proc holders for the browser statpenl
|
||||
/mob/proc/get_proc_holders()
|
||||
. = list()
|
||||
if(mind)
|
||||
add_spells_to_statpanel(mind.spell_list)
|
||||
var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling)
|
||||
if(changeling)
|
||||
add_stings_to_statpanel(changeling.purchasedpowers)
|
||||
add_spells_to_statpanel(mob_spell_list)
|
||||
. += get_spells_for_statpanel(mind.spell_list)
|
||||
. += get_spells_for_statpanel(mob_spell_list)
|
||||
|
||||
/mob/proc/add_spells_to_statpanel(list/spells)
|
||||
/**
|
||||
* Convert a list of spells into a displyable list for the statpanel
|
||||
*
|
||||
* Shows charge and other important info
|
||||
*/
|
||||
/mob/proc/get_spells_for_statpanel(list/spells)
|
||||
var/list/L = list()
|
||||
for(var/obj/effect/proc_holder/spell/S in spells)
|
||||
if((!S.mobs_blacklist || !S.mobs_blacklist[src]) && (!S.mobs_whitelist || S.mobs_whitelist[src]))
|
||||
switch(S.charge_type)
|
||||
if("recharge")
|
||||
statpanel("[S.panel]","[S.charge_counter/10.0]/[S.charge_max/10]",S)
|
||||
L[++L.len] = list("[S.panel]", "[S.charge_counter/10.0]/[S.charge_max/10]", S.name, REF(S))
|
||||
if("charges")
|
||||
statpanel("[S.panel]","[S.charge_counter]/[S.charge_max]",S)
|
||||
L[++L.len] = list("[S.panel]", "[S.charge_counter]/[S.charge_max]", S.name, REF(S))
|
||||
if("holdervar")
|
||||
statpanel("[S.panel]","[S.holder_var_type] [S.holder_var_amount]",S)
|
||||
L[++L.len] = list("[S.panel]", "[S.holder_var_type] [S.holder_var_amount]", S.name, REF(S))
|
||||
return L
|
||||
|
||||
/mob/proc/add_stings_to_statpanel(list/stings)
|
||||
for(var/obj/effect/proc_holder/changeling/S in stings)
|
||||
@@ -798,6 +745,8 @@ GLOBAL_VAR_INIT(exploit_warn_spam_prevention, 0)
|
||||
if(istype(S, spell))
|
||||
mob_spell_list -= S
|
||||
qdel(S)
|
||||
if(client)
|
||||
client << output(null, "statbrowser:check_spells")
|
||||
|
||||
/mob/proc/anti_magic_check(magic = TRUE, holy = FALSE, tinfoil = FALSE, chargecost = 1, self = FALSE)
|
||||
if(!magic && !holy && !tinfoil)
|
||||
|
||||
Reference in New Issue
Block a user