diff --git a/baystation12.dme b/baystation12.dme index e0333a2e08787..ca8916e2fb3d1 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -819,6 +819,7 @@ #include "code\modules\admin\ToRban.dm" #include "code\modules\admin\DB ban\functions.dm" #include "code\modules\admin\permissionverbs\permissionedit.dm" +#include "code\modules\admin\verbs\admin_clean.dm" #include "code\modules\admin\verbs\adminhelp.dm" #include "code\modules\admin\verbs\adminjump.dm" #include "code\modules\admin\verbs\adminpm.dm" diff --git a/baystation12.int b/baystation12.int index b82874fded5f9..391e96c97baae 100644 --- a/baystation12.int +++ b/baystation12.int @@ -1,6 +1,9 @@ // BEGIN_INTERNALS /* MAP_ICON_TYPE: 0 +WINDOW: code\modules\admin\verbs\admin_clean.dm;code\modules\admin\admin_verbs.dm +DIR: code code\modules code\modules\admin code\modules\admin\verbs +FILE: code\modules\admin\admin_verbs.dm AUTO_FILE_DIR: OFF */ // END_INTERNALS diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 72de4dabf85a2..261d19b18ba18 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -8,6 +8,7 @@ var/list/admin_verbs_default = list( /client/proc/hide_most_verbs, /*hides all our hideable adminverbs*/ /client/proc/debug_variables, /*allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify*/ // /client/proc/check_antagonists, /*shows all antags*/ + /client/proc/clean, /client/proc/cmd_mentor_check_new_players // /client/proc/deadchat /*toggles deadchat on/off*/ ) @@ -70,6 +71,7 @@ var/list/admin_verbs_admin = list( /client/proc/cmd_admin_change_custom_event, /client/proc/cmd_admin_rejuvenate, /client/proc/toggleattacklogs, + /client/proc/clean, /client/proc/toggledebuglogs, /client/proc/toggleghostwriters, /client/proc/toggledrones, @@ -281,6 +283,7 @@ var/list/admin_verbs_mod = list( /datum/admins/proc/show_player_info, /client/proc/player_panel_new, /client/proc/dsay, + /client/proc/clean, /datum/admins/proc/show_skills, /datum/admins/proc/show_player_panel, /client/proc/check_antagonists, diff --git a/code/modules/admin/verbs/admin_clean.dm b/code/modules/admin/verbs/admin_clean.dm new file mode 100644 index 0000000000000..60573cc022421 --- /dev/null +++ b/code/modules/admin/verbs/admin_clean.dm @@ -0,0 +1,22 @@ +/client/proc/clean() + set category = "Special Verbs" + set name = "Clean" + + + var/i = 0 + for(var/obj/Obj in world) + if(istype(Obj,/obj/effect/decal/cleanable)) + i++ + + if(!i) + usr << "No objects of this type exist" + return + if(alert("There are [i] cleanable objects in the world. Do you still want to delete?",,"Yes", "No") == "Yes") + world << "

Admin [usr.client.holder.fakekey ? "Administrator" : usr.key] is cleaning the station.
Expect some lag

" + sleep 15 + for(var/obj/Obj in world) + if(istype(Obj,/obj/effect/decal/cleanable)) + del(Obj) + log_admin("[key_name_admin(usr)] cleaned the world ([i] objects deleted) ") + message_admins("\blue [key_name_admin(usr)] cleaned the world ([i] objects deleted) ") +