/client/proc/air_status(turf/target as turf) set category = "Debug" set name = "Display Air Status" if(!check_rights(R_DEBUG)) return if(!isturf(target)) return var/datum/gas_mixture/GM = target.return_air() var/burning = 0 if(issimulatedturf(target)) var/turf/simulated/T = target if(T.active_hotspot) burning = 1 to_chat(usr, "@[target.x],[target.y]: O:[GM.oxygen] T:[GM.toxins] N:[GM.nitrogen] C:[GM.carbon_dioxide] N2O: [GM.sleeping_agent] Agent B: [GM.agent_b] w [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("BURNING"):(null)]") message_admins("[key_name_admin(usr)] has checked the air status of [target]") log_admin("[key_name(usr)] has checked the air status of [target]") SSblackbox.record_feedback("tally", "admin_verb", 1, "Display Air Status") //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" if(!check_rights(R_DEBUG)) return message_admins("[key_name_admin(usr)] has unfrozen everyone") log_admin("[key_name(usr)] has unfrozen 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] next_click = [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!", 1) message_admins("[key_name_admin(largest_click_mob)] had the largest click delay with [largest_click_time] frames / [largest_click_time/10] seconds!", 1) message_admins("world.time = [world.time]", 1) SSblackbox.record_feedback("tally", "admin_verb", 1, "Unfreeze Everyone") //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" if(!check_rights(R_DEBUG)) return 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 = "Radio Report
" for(var/fq in SSradio.frequencies) output += "Freq: [fq]
" var/datum/radio_frequency/fqs = SSradio.frequencies[fq] if(!fqs) output += "  ERROR
" continue for(var/filter in fqs.devices) var/list/f = fqs.devices[filter] if(!f) output += "  [filters[filter]]: ERROR
" continue output += "  [filters[filter]]: [f.len]
" for(var/device in f) if(isobj(device)) output += "    [device] ([device:x],[device:y],[device:z] in area [get_area(device:loc)])
" else output += "    [device]
" usr << browse(output,"window=radioreport") message_admins("[key_name_admin(usr)] has generated a radio report") log_admin("[key_name(usr)] has generated a radio report") SSblackbox.record_feedback("tally", "admin_verb", 1, "Radio Report") //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 = "Server" if(!check_rights(R_SERVER)) return message_admins("[key_name_admin(usr)] has manually reloaded admins") log_admin("[key_name(usr)] has manually reloaded admins") load_admins(run_async=TRUE) SSblackbox.record_feedback("tally", "admin_verb", 1, "Reload Admins") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/vv_by_ref() set name = "VV by Ref" set desc = "Give this a ref string, and you will see its corresponding VV panel if it exists" set category = "Debug" // It's gated by "Debug Verbs", so might as well gate it to the debug permission // AA: This seems harmless but is **incredibly** powerful and dangerous. Maints only. if(!check_rights(R_MAINTAINER)) return var/refstring = clean_input("Which reference?","Ref") if(!refstring) return var/datum/D = locate(refstring) if(!D) to_chat(usr, "That ref string does not correspond to any datum.") return debug_variables(D)