diff --git a/code/defines/client.dm b/code/defines/client.dm index 19bcfd60afc..b5666d7d8cd 100644 --- a/code/defines/client.dm +++ b/code/defines/client.dm @@ -10,7 +10,7 @@ var/ooccolor = "#b82e00" var/muted = null //Can't talk in OOC, say, whisper, emote... anything except for adminhelp and admin-pm. An admin punishment var/muted_complete = null //Can't talk in any way shape or form (muted + can't adminhelp or respond to admin pm-s). An admin punishment - + var/admin_invis = 0 //END Admin Things diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 8bc39c6f678..50fc1241a22 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -134,6 +134,8 @@ verbs += /client/proc/enable_mapping_debug verbs += /client/proc/everyone_random verbs += /client/proc/only_one // Fateweaver suggested I do this - Doohl + verbs += /client/proc/callprocgen + verbs += /client/proc/callprocobj if (holder.level >= 5)//Game Admin******************************************************************** verbs += /obj/admins/proc/view_txt_log @@ -168,6 +170,8 @@ verbs += /client/proc/triple_ai verbs += /client/proc/object_talk verbs += /client/proc/strike_team + verbs += /client/proc/admin_invis + verbs += /client/proc/cmd_admin_godmode if (holder.level >= 4)//Badmin******************************************************************** verbs += /obj/admins/proc/adrev //toggle admin revives @@ -395,6 +399,11 @@ verbs -= /client/proc/toggle_hear_radio verbs -= /client/proc/tension_report verbs -= /client/proc/cmd_admin_change_custom_event + verbs -= /client/proc/admin_invis + verbs -= /client/proc/callprocgen + verbs -= /client/proc/callprocobj + verbs -= /client/proc/cmd_admin_godmode + return @@ -693,6 +702,7 @@ verbs += /client/proc/cmd_admin_subtle_message verbs += /client/proc/cmd_admin_pm verbs += /client/proc/cmd_admin_gib_self + verbs += /client/proc/admin_invis verbs += /client/proc/deadchat //toggles deadchat verbs += /obj/admins/proc/toggleooc //toggle ooc @@ -717,3 +727,32 @@ verbs += /obj/admins/proc/toggleooc //toggle ooc verbs += /client/proc/cmd_admin_say//asay return + +/client/proc/admin_invis() + set category = "Admin" + set name = "Invisibility" + if(!src.holder) + src << "Only administrators may use this command." + return + src.admin_invis =! src.admin_invis + if(src.mob) + var/mob/m = src.mob//probably don't need this cast, but I'm too lazy to check if /client.mob is of type /mob or not + m.update_clothing() + log_admin("[key_name(usr)] has turned their invisibility [src.admin_invis ? "ON" : "OFF"]") + message_admins("[key_name_admin(usr)] has turned their invisibility [src.admin_invis ? "ON" : "OFF"]", 1) + +/client/proc/cmd_admin_godmode(mob/M as mob in world) + set category = "Admin" + set name = "Toggle Godmode" + if(!src.holder) + src << "Only administrators may use this command." + return + if (M.nodamage == 1) + M.nodamage = 0 + usr << "\blue Toggled OFF" + else + M.nodamage = 1 + usr << "\blue Toggled ON" + + log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]") + message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]", 1) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 8effc5a1f28..cba9a1d22c1 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -31,7 +31,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that /client/proc/callproc() set category = "Debug" - set name = "Advanced ProcCall" + set name = "Advanced ProcCall (TG Version)" if(!authenticated || !holder) src << "Only administrators may use this command." return @@ -117,6 +117,96 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that returnval = call(procname)(arglist(lst)) // Pass the lst as an argument list to the proc usr << "\blue Proc returned: [returnval ? returnval : "null"]" +/client/proc/callprocgen() + set category = "Debug" + set name = "ProcCall (BS12 Version)" + if(!src.holder) + src << "Only administrators may use this command." + return + + var/class = null + var/returnval = null + var/procname = input("Procpath (in full)","path", null) + + var/argNum = input("Number of arguments:","Number",null) as num //input("Arguments","Arguments:", null) + var/list/argL = new/list() + + var/i + for(i=0; iPM: [key_name(usr, K)]->[key_name(M, K)]: \blue [t]" -/client/proc/cmd_admin_godmode(mob/M as mob in world) - set category = "Special Verbs" - set name = "Godmode" - if(!authenticated || !holder) - src << "Only administrators may use this command." - return - if (M.nodamage == 1) - M.nodamage = 0 - usr << "\blue Toggled OFF" - else - M.nodamage = 1 - usr << "\blue Toggled ON" - - log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]") - message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]", 1) - /client/proc/cmd_admin_mute(mob/M as mob in world) set category = "Special Verbs" set name = "Admin Mute" diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 394206158c8..a28ade1f0c3 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -435,8 +435,9 @@ if (S.active) shielded = 2 break - - if (shielded == 2 || alien_invis) + if(client && client.admin_invis) + invisibility = 100 + else if (shielded == 2 || alien_invis) invisibility = 2 //New stealth. Hopefully doesn't lag too much. /N if(istype(loc, /turf))//If they are standing on a turf. diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm index 9145e31f328..427ace898b0 100644 --- a/code/modules/mob/living/carbon/alien/larva/larva.dm +++ b/code/modules/mob/living/carbon/alien/larva/larva.dm @@ -249,7 +249,9 @@ else m_select.screen_loc = null - if (alien_invis) + if(client && client.admin_invis) + invisibility = 100 + else if (alien_invis) invisibility = 2 if(istype(loc, /turf))//If they are standing on a turf. AddCamoOverlay(loc)//Overlay camo. diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 0fa6fbb9eae..d5933f49833 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1112,6 +1112,14 @@ NinjaStealthMalf() else invisibility = 0 + + if(client && client.admin_invis) + invisibility = 100 + else if (shielded == 2) + invisibility = 2 + else + invisibility = 0 + /* for (var/mob/M in viewers(1, src))//For the love of god DO NOT REFRESH EVERY SECOND - Mport if ((M.client && M.machine == src)) diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm index 539db41b194..50bee46fc92 100644 --- a/code/modules/mob/living/carbon/monkey/monkey.dm +++ b/code/modules/mob/living/carbon/monkey/monkey.dm @@ -406,6 +406,11 @@ else icon_state = "monkey0" + if(client && client.admin_invis) + invisibility = 100 + else + invisibility = 0 + if (wear_mask) if (istype(wear_mask, /obj/item/clothing/mask)) var/t1 = wear_mask.icon_state