mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
Makes the MC stat panel tab usable, and also nicer (#92405)
(cherry picked from commit 0909348cea)
This commit is contained in:
@@ -22,7 +22,8 @@ SUBSYSTEM_DEF(admin_verbs)
|
||||
admin_verbs_by_type = SSadmin_verbs.admin_verbs_by_type
|
||||
|
||||
/datum/controller/subsystem/admin_verbs/stat_entry(msg)
|
||||
return "[..()] | V: [length(admin_verbs_by_type)]"
|
||||
msg = "V:[length(admin_verbs_by_type)]"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/admin_verbs/proc/process_pending_admins()
|
||||
var/list/pending_admins = admins_pending_subsytem_init
|
||||
|
||||
@@ -21,7 +21,7 @@ SUBSYSTEM_DEF(ai_controllers)
|
||||
|
||||
/datum/controller/subsystem/ai_controllers/stat_entry(msg)
|
||||
var/list/planning_list = GLOB.ai_controllers_by_status[planning_status]
|
||||
msg = "Planning AIs:[length(planning_list)]/[round(our_cost,1)]%"
|
||||
msg = "\n Planning AIs:[length(planning_list)]/[round(our_cost,1)]%"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/ai_controllers/fire(resumed)
|
||||
|
||||
@@ -63,7 +63,7 @@ SUBSYSTEM_DEF(air)
|
||||
|
||||
|
||||
/datum/controller/subsystem/air/stat_entry(msg)
|
||||
msg += "C:{"
|
||||
msg += "\n Cost:{"
|
||||
msg += "AT:[round(cost_turfs,1)]|"
|
||||
msg += "HS:[round(cost_hotspots,1)]|"
|
||||
msg += "EG:[round(cost_groups,1)]|"
|
||||
@@ -75,7 +75,7 @@ SUBSYSTEM_DEF(air)
|
||||
msg += "RB:[round(cost_rebuilds,1)]|"
|
||||
msg += "AJ:[round(cost_adjacent,1)]|"
|
||||
msg += "} "
|
||||
msg += "AT:[active_turfs.len]|"
|
||||
msg += "\n Count:{AT:[active_turfs.len]|"
|
||||
msg += "HS:[hotspots.len]|"
|
||||
msg += "EG:[excited_groups.len]|"
|
||||
msg += "HP:[high_pressure_delta.len]|"
|
||||
@@ -87,6 +87,7 @@ SUBSYSTEM_DEF(air)
|
||||
msg += "EP:[expansion_queue.len]|"
|
||||
msg += "AJ:[adjacent_rebuild.len]|"
|
||||
msg += "AT/MS:[round((cost ? active_turfs.len/cost : 0),0.1)]"
|
||||
msg += "}"
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ SUBSYSTEM_DEF(area_contents)
|
||||
total_to_clear += length(to_clear.turfs_to_uncontain_by_zlevel[area_zlevel])
|
||||
if (length(to_clear.turfs_by_zlevel) >= area_zlevel) //this should always be true, but stat_entry is no place for runtimes. fire() can handle that
|
||||
total_clearing_from += length(to_clear.turfs_by_zlevel[area_zlevel])
|
||||
msg = "A:[length(currentrun)] MR:[length(marked_for_clearing)] TC:[total_to_clear] CF:[total_clearing_from]"
|
||||
msg = "\n A:[length(currentrun)] MR:[length(marked_for_clearing)] TC:[total_to_clear] CF:[total_clearing_from]"
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ SUBSYSTEM_DEF(dbcore)
|
||||
log_config("ERROR: POOLING_MAX_SQL_CONNECTIONS ([max_sql_connections]) is set lower than POOLING_MIN_SQL_CONNECTIONS ([min_sql_connections]). Please check your config or the code defaults for sanity")
|
||||
|
||||
/datum/controller/subsystem/dbcore/stat_entry(msg)
|
||||
msg = "P:[length(all_queries)]|Active:[length(queries_active)]|Standby:[length(queries_standby)]"
|
||||
msg = "\n P:[length(all_queries)]|Active:[length(queries_active)]|Standby:[length(queries_standby)]"
|
||||
return ..()
|
||||
|
||||
/// Resets the tracking numbers on the subsystem. Used by SStime_track.
|
||||
|
||||
@@ -45,7 +45,7 @@ SUBSYSTEM_DEF(explosions)
|
||||
|
||||
|
||||
/datum/controller/subsystem/explosions/stat_entry(msg)
|
||||
msg += "C:{"
|
||||
msg += "\n Cost:{"
|
||||
msg += "LT:[round(cost_lowturf,1)]|"
|
||||
msg += "MT:[round(cost_medturf,1)]|"
|
||||
msg += "HT:[round(cost_highturf,1)]|"
|
||||
@@ -59,7 +59,7 @@ SUBSYSTEM_DEF(explosions)
|
||||
|
||||
msg += "} "
|
||||
|
||||
msg += "AMT:{"
|
||||
msg += "\n Count:{"
|
||||
msg += "LT:[lowturf.len]|"
|
||||
msg += "MT:[medturf.len]|"
|
||||
msg += "HT:[highturf.len]|"
|
||||
@@ -72,7 +72,7 @@ SUBSYSTEM_DEF(explosions)
|
||||
msg += "TO:[throwturf.len]"
|
||||
msg += "HTO:[held_throwturf.len]"
|
||||
|
||||
msg += "} "
|
||||
msg += "}"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/explosions/proc/is_exploding()
|
||||
|
||||
@@ -63,19 +63,19 @@ SUBSYSTEM_DEF(garbage)
|
||||
var/list/counts = list()
|
||||
for (var/list/L in queues)
|
||||
counts += length(L)
|
||||
msg += "Q:[counts.Join(",")]|D:[delslasttick]|G:[gcedlasttick]|"
|
||||
msg += "\n Queue:[counts.Join(",")]|Dels:[delslasttick]|GCs:[gcedlasttick]|"
|
||||
msg += "GR:"
|
||||
if (!(delslasttick+gcedlasttick))
|
||||
msg += "n/a|"
|
||||
else
|
||||
msg += "[round((gcedlasttick/(delslasttick+gcedlasttick))*100, 0.01)]%|"
|
||||
|
||||
msg += "TD:[totaldels]|TG:[totalgcs]|"
|
||||
msg += "\n TD:[totaldels]|TG:[totalgcs]|"
|
||||
if (!(totaldels+totalgcs))
|
||||
msg += "n/a|"
|
||||
else
|
||||
msg += "TGR:[round((totalgcs/(totaldels+totalgcs))*100, 0.01)]%"
|
||||
msg += " P:[pass_counts.Join(",")]"
|
||||
msg += "\n P:[pass_counts.Join(",")]"
|
||||
msg += "|F:[fail_counts.Join(",")]"
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -94,6 +94,5 @@ VERB_MANAGER_SUBSYSTEM_DEF(input)
|
||||
current_clicks = 0
|
||||
|
||||
/datum/controller/subsystem/verb_manager/input/stat_entry(msg)
|
||||
. = ..()
|
||||
. += "M/S:[round(movements_per_second,0.01)] | C/S:[round(clicks_per_second,0.01)] ([round(delayed_clicks_per_second,0.01)] | CD: [round(average_click_delay / (1 SECONDS),0.01)])"
|
||||
|
||||
msg = "\n M/S:[round(movements_per_second,0.01)] | C/S:[round(clicks_per_second,0.01)] ([round(delayed_clicks_per_second,0.01)] | CD: [round(average_click_delay / (1 SECONDS),0.01)])"
|
||||
return ..()
|
||||
|
||||
@@ -41,7 +41,8 @@ SUBSYSTEM_DEF(ipintel)
|
||||
))
|
||||
|
||||
/datum/controller/subsystem/ipintel/stat_entry(msg)
|
||||
return "[..()] | M: [CONFIG_GET(number/ipintel_rate_minute) - rate_limit_minute]"
|
||||
msg = "M:[CONFIG_GET(number/ipintel_rate_minute) - rate_limit_minute]"
|
||||
return ..()
|
||||
|
||||
|
||||
/datum/controller/subsystem/ipintel/proc/is_enabled()
|
||||
|
||||
@@ -16,7 +16,7 @@ SUBSYSTEM_DEF(lighting)
|
||||
#endif
|
||||
|
||||
/datum/controller/subsystem/lighting/stat_entry(msg)
|
||||
msg = "L:[length(sources_queue)]|C:[length(corners_queue)]|O:[length(objects_queue)]"
|
||||
msg = "\n Sources:[length(sources_queue)]|Corners:[length(corners_queue)]|Objects:[length(objects_queue)]"
|
||||
return ..()
|
||||
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ SUBSYSTEM_DEF(machines)
|
||||
propagate_network(power_cable, power_cable.powernet)
|
||||
|
||||
/datum/controller/subsystem/machines/stat_entry(msg)
|
||||
msg = "M:[length(all_machines)]|MT:[length(machines_by_type)]|PM:[length(processing)]|PN:[length(powernets)]"
|
||||
msg = "\n M:[length(all_machines)]|MT:[length(machines_by_type)]|PM:[length(processing)]|PN:[length(powernets)]"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/machines/fire(resumed = FALSE)
|
||||
|
||||
@@ -334,7 +334,7 @@ SUBSYSTEM_DEF(polling)
|
||||
QDEL_IN(finishing_poll, 0.5 SECONDS)
|
||||
|
||||
/datum/controller/subsystem/polling/stat_entry(msg)
|
||||
msg += "Active: [length(currently_polling)] | Total: [total_polls]"
|
||||
msg = "\n Active: [length(currently_polling)] | Total: [total_polls]"
|
||||
var/datum/candidate_poll/soonest_to_complete = get_next_poll_to_finish()
|
||||
if(soonest_to_complete)
|
||||
msg += " | Next: [DisplayTimeText(soonest_to_complete.time_left())] ([length(soonest_to_complete.signed_up)] candidates)"
|
||||
|
||||
@@ -26,7 +26,7 @@ SUBSYSTEM_DEF(radiation)
|
||||
processing.Cut(1, 2)
|
||||
|
||||
/datum/controller/subsystem/radiation/stat_entry(msg)
|
||||
msg = "[msg] | Pulses: [processing.len]"
|
||||
msg = "Pulses:[processing.len]"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/radiation/proc/pulse(atom/source, datum/radiation_pulse_information/pulse_information)
|
||||
|
||||
@@ -206,7 +206,7 @@ SUBSYSTEM_DEF(statpanels)
|
||||
list("World Time:", "[world.time]"),
|
||||
list("Globals:", GLOB.stat_entry(), text_ref(GLOB)),
|
||||
list("[config]:", config.stat_entry(), text_ref(config)),
|
||||
list("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%)) (Internal Tick Usage: [round(MAPTICK_LAST_INTERNAL_TICK_USAGE,0.1)]%)"),
|
||||
list("Byond:", "(FPS:[world.fps]) (TickCount:[world.time/world.tick_lag]) (TickDrift:[round(Master.tickdrift,1)]([round((Master.tickdrift/(world.time/world.tick_lag))*100,0.1)]%))\n (Internal Tick Usage: [round(MAPTICK_LAST_INTERNAL_TICK_USAGE,0.1)]%)"),
|
||||
list("Master Controller:", Master.stat_entry(), text_ref(Master)),
|
||||
list("Failsafe Controller:", Failsafe.stat_entry(), text_ref(Failsafe)),
|
||||
list("","")
|
||||
|
||||
@@ -55,7 +55,7 @@ SUBSYSTEM_DEF(timer)
|
||||
bucket_resolution = world.tick_lag
|
||||
|
||||
/datum/controller/subsystem/timer/stat_entry(msg)
|
||||
msg = "B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)] RST:[bucket_reset_count]"
|
||||
msg = "\n B:[bucket_count] P:[length(second_queue)] H:[length(hashes)] C:[length(clienttime_timers)] S:[length(timer_id_dict)] RST:[bucket_reset_count]"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/timer/proc/dump_timer_buckets(full = TRUE)
|
||||
|
||||
@@ -45,7 +45,7 @@ SUBSYSTEM_DEF(tts)
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/tts/stat_entry(msg)
|
||||
msg = "Active:[length(in_process_http_messages)]|Standby:[length(queued_http_messages?.L)]|Avg:[average_tts_messages_time]"
|
||||
msg = "\n Active:[length(in_process_http_messages)]|Standby:[length(queued_http_messages?.L)]|Avg:[average_tts_messages_time]"
|
||||
return ..()
|
||||
|
||||
/proc/cmp_word_length_asc(datum/tts_request/a, datum/tts_request/b)
|
||||
|
||||
@@ -23,7 +23,7 @@ SUBSYSTEM_DEF(unplanned_controllers)
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/unplanned_controllers/stat_entry(msg)
|
||||
msg = "Planning AIs:[length(GLOB.unplanned_controllers[target_status])]"
|
||||
msg = "\n Planning AIs:[length(GLOB.unplanned_controllers[target_status])]"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/unplanned_controllers/fire(resumed)
|
||||
|
||||
@@ -66,10 +66,9 @@ SUBSYSTEM_DEF(wardrobe)
|
||||
/datum/controller/subsystem/wardrobe/stat_entry(msg)
|
||||
var/total_provided = max(stock_hit + stock_miss, 1)
|
||||
var/current_max_store = (one_go_master * cache_intensity) + (overflow_lienency * length(canon_minimum))
|
||||
msg += " P:[length(canon_minimum)] Q:[length(order_list)] S:[length(preloaded_stock)] I:[cache_intensity] O:[overflow_lienency]"
|
||||
msg += " H:[stock_hit] M:[stock_miss] T:[total_provided] H/T:[PERCENT(stock_hit / total_provided)]% M/T:[PERCENT(stock_miss / total_provided)]%"
|
||||
msg += " MAX:[current_max_store]"
|
||||
msg += " ID:[inspect_delay] NI:[last_inspect_time + inspect_delay]"
|
||||
msg += "\n P:[length(canon_minimum)] Q:[length(order_list)] S:[length(preloaded_stock)] I:[cache_intensity] O:[overflow_lienency] MAX:[current_max_store]"
|
||||
msg += "\n H:[stock_hit] M:[stock_miss] T:[total_provided] H/T:[PERCENT(stock_hit / total_provided)]% M/T:[PERCENT(stock_miss / total_provided)]%"
|
||||
msg += "\n ID:[inspect_delay] NI:[last_inspect_time + inspect_delay]"
|
||||
return ..()
|
||||
|
||||
/datum/controller/subsystem/wardrobe/fire(resumed=FALSE)
|
||||
|
||||
Reference in New Issue
Block a user