From cb91b9954f1de53827d9f60c1274bd8eecf2abc4 Mon Sep 17 00:00:00 2001 From: Dawson1917 <51552884+Dawson1917@users.noreply.github.com> Date: Tue, 20 Aug 2019 15:22:49 +0930 Subject: [PATCH] Adds Fix Air verb for admins (#45916) --- code/modules/admin/admin_verbs.dm | 3 ++- code/modules/admin/verbs/fix_air.dm | 21 +++++++++++++++++++++ tgstation.dme | 1 + 3 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 code/modules/admin/verbs/fix_air.dm diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 8d242832222..0918c786f36 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -18,7 +18,8 @@ GLOBAL_PROTECT(admin_verbs_default) /client/proc/cmd_admin_pm_context, /*right-click adminPM interface*/ /client/proc/cmd_admin_pm_panel, /*admin-pm list*/ /client/proc/stop_sounds, - /client/proc/mark_datum_mapview + /client/proc/mark_datum_mapview, + /client/proc/fix_air /*resets air in designated radius to its default atmos composition*/ ) GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) GLOBAL_PROTECT(admin_verbs_admin) diff --git a/code/modules/admin/verbs/fix_air.dm b/code/modules/admin/verbs/fix_air.dm new file mode 100644 index 00000000000..33173c30c90 --- /dev/null +++ b/code/modules/admin/verbs/fix_air.dm @@ -0,0 +1,21 @@ +// Proc taken from yogstation, credit to nichlas0010 for the original +/client/proc/fix_air(var/turf/open/T in world) + set name = "Fix Air" + set category = "Admin" + set desc = "Fixes air in specified radius." + + if(!holder) + to_chat(src, "Only administrators may use this command.") + return + if(check_rights(R_ADMIN,1)) + var/range=input("Enter range:","Num",2) as num + message_admins("[key_name_admin(usr)] fixed air with range [range] in area [T.loc.name]") + log_game("[key_name_admin(usr)] fixed air with range [range] in area [T.loc.name]") + var/datum/gas_mixture/GM = new + for(var/turf/open/F in range(range,T)) + if(F.blocks_air) + //skip walls + continue + GM.parse_gas_string(F.initial_gas_mix) + F.copy_air(GM) + F.update_visuals() \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 2a26103259b..3a3ec0b8065 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -1192,6 +1192,7 @@ #include "code\modules\admin\verbs\deadsay.dm" #include "code\modules\admin\verbs\debug.dm" #include "code\modules\admin\verbs\diagnostics.dm" +#include "code\modules\admin\verbs\fix_air.dm" #include "code\modules\admin\verbs\fps.dm" #include "code\modules\admin\verbs\getlogs.dm" #include "code\modules\admin\verbs\individual_logging.dm"