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/defines/global.dm b/code/defines/global.dm
index d3a29ab23e8..9a7286f26ef 100644
--- a/code/defines/global.dm
+++ b/code/defines/global.dm
@@ -65,7 +65,7 @@ var
dna_ident = 1
abandon_allowed = 1
enter_allowed = 1
- guests_allowed = 1
+// guests_allowed = 1
shuttle_frozen = 0
shuttle_left = 0
tinted_weldhelh = 1
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index b676da8ffbd..25cbee548b8 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -2588,6 +2588,7 @@
log_admin("[key_name(usr)] toggled tinted_weldhelh.")
message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.", 1)
+/*
/obj/admins/proc/toggleguests()
set category = "Server"
set desc="Guests can't enter"
@@ -2599,6 +2600,7 @@
world << "Guests may now enter the game."
log_admin("[key_name(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.")
message_admins("\blue [key_name_admin(usr)] toggled guests game entering [guests_allowed?"":"dis"]allowed.", 1)
+*/
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 44d942eac54..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
@@ -231,7 +235,7 @@
if (holder.level >= 0)//Mod********************************************************************
verbs += /obj/admins/proc/toggleAI //Toggle the AI
verbs += /obj/admins/proc/toggleenter //Toggle enterting
- verbs += /obj/admins/proc/toggleguests //Toggle guests entering
+// verbs += /obj/admins/proc/toggleguests //Toggle guests entering
verbs += /obj/admins/proc/toggleooc //toggle ooc
verbs += /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc
verbs += /obj/admins/proc/voteres //toggle votes
@@ -352,7 +356,7 @@
verbs -= /client/proc/cmd_admin_create_centcom_report
verbs -= /obj/admins/proc/toggleAI //Toggle the AI
verbs -= /obj/admins/proc/toggleenter //Toggle enterting
- verbs -= /obj/admins/proc/toggleguests //Toggle guests entering
+// verbs -= /obj/admins/proc/toggleguests //Toggle guests entering
verbs -= /obj/admins/proc/toggleooc //toggle ooc
verbs -= /obj/admins/proc/toggleoocdead //toggle ooc for dead/unc
verbs -= /obj/admins/proc/voteres //toggle votes
@@ -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
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 60aef82be18..745c6d8f2d7 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -700,11 +700,17 @@
alert(src,"You have been banned.\nReason : [isbanned]","Ban","Ok")
del(src)
+/*
if (!guests_allowed && IsGuestKey(key))
log_access("Failed Login: [src] - Guests not allowed")
message_admins("\blue Failed Login: [src] - Guests not allowed")
alert(src,"You cannot play here.\nReason : Guests not allowed","Guests not allowed","Ok")
del(src)
+*/
+
+ if(IsGuestKey(src.key))
+ alert(src,"Baystation12 doesn't allow guest accounts to play. Please go to http://www.byond.com/ and register for a key.","Guest","OK")
+ del(src)
if (((world.address == address || !(address)) && !(host)))
host = key