mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-16 20:16:09 +00:00
Clients now cache their jobbans to save on DB queries. Legacy jobbans and "new" (savefile) jobbans have been removed. These are old cruft that has been unused for years, and since we require a DB for notes anyway we might as well just get rid of the legacy stuff. I considered removing legacy bans as well, but I was unsure if that would go way beyond the scope of this PR (my main goal here is making jobban_isbanned not awful). Also note that this was basically untested, as I do not have a test database. Any help testing this would be much appreciated.
100 lines
3.7 KiB
Plaintext
100 lines
3.7 KiB
Plaintext
/client/proc/air_status(turf/target)
|
|
set category = "Debug"
|
|
set name = "Display Air Status"
|
|
|
|
if(!isturf(target))
|
|
return
|
|
|
|
var/datum/gas_mixture/GM = target.return_air()
|
|
var/burning = 0
|
|
if(istype(target, /turf/simulated))
|
|
var/turf/simulated/T = target
|
|
if(T.active_hotspot)
|
|
burning = 1
|
|
|
|
usr << "<span class='adminnotice'>@[target.x],[target.y]: O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]</span>"
|
|
for(var/datum/gas/trace_gas in GM.trace_gases)
|
|
usr << "[trace_gas.type]: [trace_gas.moles]"
|
|
feedback_add_details("admin_verb","DAST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
|
|
/client/proc/fix_next_move()
|
|
set category = "Debug"
|
|
set name = "Unfreeze Everyone"
|
|
var/largest_move_time = 0
|
|
var/largest_click_time = 0
|
|
var/mob/largest_move_mob = null
|
|
var/mob/largest_click_mob = null
|
|
for(var/mob/M in world)
|
|
if(!M.client)
|
|
continue
|
|
if(M.next_move >= largest_move_time)
|
|
largest_move_mob = M
|
|
if(M.next_move > world.time)
|
|
largest_move_time = M.next_move - world.time
|
|
else
|
|
largest_move_time = 1
|
|
if(M.next_click >= largest_click_time)
|
|
largest_click_mob = M
|
|
if(M.next_click > world.time)
|
|
largest_click_time = M.next_click - world.time
|
|
else
|
|
largest_click_time = 0
|
|
log_admin("DEBUG: [key_name(M)] next_move = [M.next_move] lastDblClick = [M.next_click] world.time = [world.time]")
|
|
M.next_move = 1
|
|
M.next_click = 0
|
|
message_admins("[key_name_admin(largest_move_mob)] had the largest move delay with [largest_move_time] frames / [largest_move_time/10] seconds!")
|
|
message_admins("[key_name_admin(largest_click_mob)] had the largest click delay with [largest_click_time] frames / [largest_click_time/10] seconds!")
|
|
message_admins("world.time = [world.time]")
|
|
feedback_add_details("admin_verb","UFE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
return
|
|
|
|
/client/proc/radio_report()
|
|
set category = "Debug"
|
|
set name = "Radio report"
|
|
|
|
var/filters = list(
|
|
"1" = "RADIO_TO_AIRALARM",
|
|
"2" = "RADIO_FROM_AIRALARM",
|
|
"3" = "RADIO_CHAT",
|
|
"4" = "RADIO_ATMOSIA",
|
|
"5" = "RADIO_NAVBEACONS",
|
|
"6" = "RADIO_AIRLOCK",
|
|
"7" = "RADIO_SECBOT",
|
|
"8" = "RADIO_MULEBOT",
|
|
"_default" = "NO_FILTER"
|
|
)
|
|
var/output = "<b>Radio Report</b><hr>"
|
|
for (var/fq in radio_controller.frequencies)
|
|
output += "<b>Freq: [fq]</b><br>"
|
|
var/list/datum/radio_frequency/fqs = radio_controller.frequencies[fq]
|
|
if (!fqs)
|
|
output += " <b>ERROR</b><br>"
|
|
continue
|
|
for (var/filter in fqs.devices)
|
|
var/list/f = fqs.devices[filter]
|
|
if (!f)
|
|
output += " [filters[filter]]: ERROR<br>"
|
|
continue
|
|
output += " [filters[filter]]: [f.len]<br>"
|
|
for (var/device in f)
|
|
if (isobj(device))
|
|
output += " [device] ([device:x],[device:y],[device:z] in area [get_area(device:loc)])<br>"
|
|
else
|
|
output += " [device]<br>"
|
|
|
|
usr << browse(output,"window=radioreport")
|
|
feedback_add_details("admin_verb","RR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
|
|
|
/client/proc/reload_admins()
|
|
set name = "Reload Admins"
|
|
set category = "Admin"
|
|
|
|
if(!src.holder) return
|
|
|
|
var/confirm = alert(src, "Are you sure you want to reload all admins?", "Confirm", "Yes", "No")
|
|
if(confirm !="Yes") return
|
|
|
|
message_admins("[key_name_admin(usr)] manually reloaded admins")
|
|
load_admins()
|
|
feedback_add_details("admin_verb","RLDA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|