/client/proc
general_report()
set category = "Debug"
set name = "Show General Report"
if(!master_controller)
usr << alert("Master_controller not found.")
var/mobs = 0
for(var/mob/M in world)
mobs++
var/output = {"GENERAL SYSTEMS REPORT
General Processing Data
# of Machines: [machines.len]
# of Pipe Networks: [pipe_networks.len]
# of Processing Items: [processing_objects.len]
# of Power Nets: [powernets.len]
# of Mobs: [mobs]
"}
usr << browse(output,"window=generalreport")
//feedback_add_details("admin_verb","SGR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new 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 0
var/active_groups = 0
var/inactive_groups = 0
var/active_tiles = 0
for(var/datum/air_group/group in air_master.air_groups)
if(group.group_processing)
active_groups++
else
inactive_groups++
active_tiles += group.members.len
var/hotspots = 0
for(var/obj/effect/hotspot/hotspot in world)
hotspots++
var/output = {"AIR SYSTEMS REPORT
General Processing Data
# of Groups: [air_master.air_groups.len]
---- Active: [active_groups]
---- Inactive: [inactive_groups]
-------- Tiles: [active_tiles]
# of Active Singletons: [air_master.active_singletons.len]
Special Processing Data
Hotspot Processing: [hotspots]
High Temperature Processing: [air_master.active_super_conductivity.len]
High Pressure Processing: [air_master.high_pressure_delta.len] (not yet implemented)
Geometry Processing Data
Group Rebuild: [air_master.groups_to_rebuild.len]
Tile Update: [air_master.tiles_to_update.len]
"}
usr << browse(output,"window=airreport")
//feedback_add_details("admin_verb","SAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
air_status(turf/target as turf)
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 << "\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!
*/
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.lastDblClick >= largest_click_time)
largest_click_mob = M
if(M.lastDblClick > world.time)
largest_click_time = M.lastDblClick - world.time
else
largest_click_time = 0
log_admin("DEBUG: [key_name(M)] next_move = [M.next_move] lastDblClick = [M.lastDblClick] world.time = [world.time]")
M.next_move = 1
M.lastDblClick = 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
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!
reload_admins()
set name = "Reload Admins"
set category = "Debug"
if(!(usr.client.holder && usr.client.holder.level >= 6)) // protect and prevent
usr << "\red Not a good cop"
return
message_admins("[usr] manually reloaded admins.txt")
usr << "You reload admins.txt"
var/text = file2text("config/admins.txt")
if (!text)
diary << "Failed to reload config/admins.txt\n"
else
var/list/lines = dd_text2list(text, "\n")
for(var/line in lines)
if (!line)
continue
if (copytext(line, 1, 2) == ";")
continue
var/pos = findtext(line, " - ", 1, null)
if (pos)
var/m_key = copytext(line, 1, pos)
var/a_lev = copytext(line, pos + 3, length(line) + 1)
admins[m_key] = a_lev
diary << ("ADMIN: [m_key] = [a_lev]")
//feedback_add_details("admin_verb","RLDA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new 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
kill_airgroup()
set name = "Kill Local Airgroup"
set desc = "Use this to allow manual manipulation 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.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!
*/
tension_report()
set category = "Debug"
set name = "Show Tension Report"
if(!master_controller || !tension_master)
alert(usr,"Master_controller or tension_master not found.","Tension Report")
return 0
if (!tension_master.get_num_players())
alert(usr,"No players found. How the fuck are you calling this?","Tension Report")
return 0
var/numghosts = 0
for(var/mob/dead/observer/theghost in world)
numghosts ++
var/output = {"TENSION REPORT
General Statistics
Deaths: [tension_master.deaths]
---- Humans: [tension_master.human_deaths]
Explosions: [tension_master.explosions]
Air alarms: [tension_master.air_alarms]
Adminhelps: [tension_master.adminhelps]
Ghosts: [numghosts]
Current Status
Tension: [tension_master.score]
Increase Tension by 50000
Tension per player: [tension_master.score/tension_master.get_num_players()]
Tensioner Debug Data: R1:[tension_master.round1] R2:[tension_master.round2] R3:[tension_master.round3] R4:[tension_master.round4] ES: [tension_master.eversupressed] CD: [tension_master.cooldown]
Current Tensioner Status: [config.Tensioner_Active]. Toggle?
Recommendations: All the modes. All of them. Press all of them.
Make Tratiors
Make Changlings
Make Revs
Make Wizard (Requires Ghosts)
Make Cult
Make Nuke Team (Requires Ghosts)
Make Malf AI
Make Space Ninja (Requires Ghosts)
Make Aliens (Requires Ghosts)
Make Deathsquad (Syndicate) (Requires Ghosts)
Make Deathsquad (Borg) (Requires Ghosts)
"}
for(var/game in tension_master.antagonistmodes)
output += "Points required/Probability for [game]: [tension_master.antagonistmodes[game]]
"
usr << browse(output,"window=tensionreport;size=480x480")
feedback_add_details("admin_verb","STR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!