From 9dda16954b62eca7abcc7c4bbbb36939d8ea1c1a Mon Sep 17 00:00:00 2001 From: oranges Date: Wed, 17 Jan 2018 09:28:52 +1300 Subject: [PATCH] Merge pull request #34457 from AutomaticFrenzy/patch/air-status Combine and fix Show Air Status and Air Status in Location --- code/modules/admin/verbs/debug.dm | 14 ++---------- code/modules/admin/verbs/diagnostics.dm | 30 +++++++++++++++---------- 2 files changed, 20 insertions(+), 24 deletions(-) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 440ebcf361..19aae06a65 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -231,20 +231,10 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention) set name = "Air Status in Location" if(!mob) return - var/turf/T = mob.loc - + var/turf/T = get_turf(mob) if(!isturf(T)) return - - var/datum/gas_mixture/env = T.return_air() - var/list/env_gases = env.gases - - var/t = "" - for(var/id in env_gases) - if(id in GLOB.hardcoded_gases || env_gases[id][MOLES]) - t+= "[env_gases[id][GAS_META][META_GAS_NAME]] : [env_gases[id][MOLES]]\n" - - to_chat(usr, t) + show_air_status_to(T, usr) SSblackbox.record_feedback("tally", "admin_verb", 1, "Air Status In Location") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_robotize(mob/M in GLOB.mob_list) diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 6f2bcb6c46..663e21d826 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -1,21 +1,27 @@ +/proc/show_air_status_to(turf/target, mob/user) + var/datum/gas_mixture/env = target.return_air() + var/list/env_gases = env.gases + var/burning = FALSE + if(isopenturf(target)) + var/turf/open/T = target + if(T.active_hotspot) + burning = TRUE + + var/list/lines = list("[COORD(target)]: [env.temperature] K ([env.temperature - T0C] C), [env.return_pressure()] kPa[(burning)?(", burning"):(null)]") + for(var/id in env_gases) + var/gas = env_gases[id] + var/moles = gas[MOLES] + if (moles >= 0.00001) + lines += "[gas[GAS_META][META_GAS_NAME]]: [moles]" + to_chat(usr, lines.Join("\n")) + /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/list/GM_gases - var/burning = 0 - if(isopenturf(target)) - var/turf/open/T = target - if(T.active_hotspot) - burning = 1 - - to_chat(usr, "@[target.x],[target.y]: [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]") - for(var/id in GM_gases) - to_chat(usr, "[GM_gases[id][GAS_META][META_GAS_NAME]]: [GM_gases[id][MOLES]]") + show_air_status_to(target, usr) SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Air Status") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/fix_next_move()