/client/proc/air_report() set category = "Debug" set name = "Show Air Report" if(!master_controller || !air_master) alert(usr,"Master_controller or air_master not found.","Air Report") return var/active_groups = air_master.active_zones var/inactive_groups = air_master.zones.len - active_groups var/hotspots = 0 for(var/obj/fire/hotspot in world) hotspots++ var/active_on_main_station = 0 var/inactive_on_main_station = 0 for(var/zone/zone in air_master.zones) var/turf/simulated/turf = locate() in zone.contents if(turf && turf.z == 1) if(zone.needs_update) active_on_main_station++ else inactive_on_main_station++ var/output = {"AIR SYSTEMS REPORT
General Processing Data
Cycle: [air_master.current_cycle]
Groups: [air_master.zones.len]
---- Active: [active_groups]
---- Inactive: [inactive_groups]

---- Active on station: [active_on_main_station]
---- Inactive on station: [inactive_on_main_station]

Special Processing Data
Hotspot Processing: [hotspots]

Geometry Processing Data
Tile Update: [air_master.tiles_to_update.len]
"} usr << browse(output,"window=airreport") /client/proc/air_status(turf/target as turf) set category = "Debug" set name = "Display Air Status" /*(!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 << "\blue @[target.x],[target.y] ([GM.group_multiplier]): 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)]" 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] 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) 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 = "Radio Report
" for (var/fq in radio_controller.frequencies) output += "Freq: [fq]
" var/list/datum/radio_frequency/fqs = radio_controller.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") 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 = "Debug" if(!check_rights(R_SERVER)) return message_admins("[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! //todo: /client/proc/jump_to_dead_group() set name = "Jump to dead group" set category = "Debug" /* if(!holder) src << "Only administrators may use this command." return if(!air_master) usr << "Cannot find air_system" return var/datum/air_group/dead_groups = list() for(var/datum/air_group/group in air_master.air_groups) if (!group.group_processing) dead_groups += group var/datum/air_group/dest_group = pick(dead_groups) usr.loc = pick(dest_group.members) feedback_add_details("admin_verb","JDAG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return */ /client/proc/kill_airgroup() set name = "Kill Local Airgroup" set desc = "Use this to allow manual manupliation of atmospherics." set category = "Debug" /* if(!holder) src << "Only administrators may use this command." return if(!air_master) usr << "Cannot find air_system" return var/turf/T = get_turf(usr) if(istype(T, /turf/simulated)) var/datum/air_group/AG = T:parent AG.next_check = 30 AG.group_processing = 0 else usr << "Local airgroup is unsimulated!" feedback_add_details("admin_verb","KLAG") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! */ /client/proc/print_jobban_old() set name = "Print Jobban Log" set desc = "This spams all the active jobban entries for the current round to standard output." set category = "Debug" usr << "Jobbans active in this round." for(var/t in jobban_keylist) usr << "[t]" /client/proc/print_jobban_old_filter() set name = "Search Jobban Log" set desc = "This searches all the active jobban entries for the current round and outputs the results to standard output." set category = "Debug" var/filter = input("Contains what?","Filter") as text|null if(!filter) return usr << "Jobbans active in this round." for(var/t in jobban_keylist) if(findtext(t, filter)) usr << "[t]"