diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm index 2c8f505ae5d3..02d572e51e58 100644 --- a/code/game/turfs/simulated.dm +++ b/code/game/turfs/simulated.dm @@ -14,6 +14,10 @@ levelupdate() /turf/simulated/Entered(atom/A, atom/OL) + if(movement_disabled) + usr << "\red Movement is admin-disabled." //This is to identify lag problems + return + if (istype(A,/mob/living/carbon)) var/mob/living/carbon/M = A if(M.lying) return diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm index dcccefff4fca..ec044dbed164 100644 --- a/code/game/turfs/space/space.dm +++ b/code/game/turfs/space/space.dm @@ -61,6 +61,9 @@ // Ported from unstable r355 /turf/space/Entered(atom/movable/A as mob|obj) + if(movement_disabled) + usr << "\red Movement is admin-disabled." //This is to identify lag problems + return ..() if ((!(A) || src != A.loc)) return diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index c9d8d9235c8f..df5226c9585e 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -68,6 +68,9 @@ return 0 /turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area) + if(movement_disabled) + usr << "\red Movement is admin-disabled." //This is to identify lag problems + return if (!mover || !isturf(mover.loc)) return 1 @@ -108,6 +111,9 @@ /turf/Entered(atom/atom as mob|obj) + if(movement_disabled) + usr << "\red Movement is admin-disabled." //This is to identify lag problems + return ..() //vvvvv Infared beam stuff vvvvv diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm index f02f084f9d8f..2271bc26b80e 100644 --- a/code/game/verbs/ooc.dm +++ b/code/game/verbs/ooc.dm @@ -2,6 +2,10 @@ set name = "OOC" //Gave this shit a shorter name so you only have to time out "ooc" rather than "ooc message" to use it --NeoFite set category = "OOC" + if(say_disabled) //This is here to try to identify lag problems + usr << "\red Speech is currently admin-disabled." + return + if(!mob) return if(IsGuestKey(key)) src << "Guests may not use OOC." diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 31664b40393f..ef35112af26b 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -7,6 +7,10 @@ var/list/adminhelp_ignored_words = list("unknown","the","a","an","of","monkey"," set category = "Admin" set name = "Adminhelp" + if(say_disabled) //This is here to try to identify lag problems + usr << "\red Speech is currently admin-disabled." + return + //handle muting and automuting if(prefs.muted & MUTE_ADMINHELP) src << "Error: Admin-PM: You cannot send adminhelps (Muted)." diff --git a/code/modules/admin/verbs/mapping.dm b/code/modules/admin/verbs/mapping.dm index 172be842c678..8cfde1c2fff8 100644 --- a/code/modules/admin/verbs/mapping.dm +++ b/code/modules/admin/verbs/mapping.dm @@ -157,6 +157,8 @@ var/intercom_range_display_status = 0 src.verbs += /client/proc/regroup_all_air_groups src.verbs += /client/proc/kill_pipe_processing src.verbs += /client/proc/kill_air_processing + src.verbs += /client/proc/disable_communication + src.verbs += /client/proc/disable_movement //src.verbs += /client/proc/cmd_admin_rejuvenate feedback_add_details("admin_verb","mDV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! @@ -270,4 +272,28 @@ var/global/prevent_airgroup_regroup = 0 if(air_processing_killed) message_admins("[src.ckey] used 'kill air processing', stopping all air processing.") else - message_admins("[src.ckey] used 'kill air processing', restoring all air processing.") \ No newline at end of file + message_admins("[src.ckey] used 'kill air processing', restoring all air processing.") + +//This proc is intended to detect lag problems relating to communication procs +var/global/say_disabled = 0 +/client/proc/disable_communication() + set category = "Mapping" + set name = "Disable all communication verbs" + + say_disabled = !say_disabled + if(say_disabled) + message_admins("[src.ckey] used 'Disable all communication verbs', killing all communication methods.") + else + message_admins("[src.ckey] used 'Disable all communication verbs', restoring all communication methods.") + +//This proc is intended to detect lag problems relating to movement +var/global/movement_disabled = 0 +/client/proc/disable_movement() + set category = "Mapping" + set name = "Disable all movement" + + movement_disabled = !movement_disabled + if(movement_disabled) + message_admins("[src.ckey] used 'Disable all movement', killing all movement.") + else + message_admins("[src.ckey] used 'Disable all movement', restoring all movement.") \ No newline at end of file diff --git a/code/modules/admin/verbs/pray.dm b/code/modules/admin/verbs/pray.dm index f4d12123d27d..906ec8a5ac4d 100644 --- a/code/modules/admin/verbs/pray.dm +++ b/code/modules/admin/verbs/pray.dm @@ -2,6 +2,10 @@ set category = "IC" set name = "Pray" + if(say_disabled) //This is here to try to identify lag problems + usr << "\red Speech is currently admin-disabled." + return + msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) if(!msg) return diff --git a/code/modules/mob/living/carbon/human/whisper.dm b/code/modules/mob/living/carbon/human/whisper.dm index 8ba18757b530..b844ae784a9d 100644 --- a/code/modules/mob/living/carbon/human/whisper.dm +++ b/code/modules/mob/living/carbon/human/whisper.dm @@ -1,5 +1,9 @@ //Lallander was here /mob/living/carbon/human/whisper(message as text) + if(say_disabled) //This is here to try to identify lag problems + usr << "\red Speech is currently admin-disabled." + return + message = trim(copytext(strip_html_simple(message), 1, MAX_MESSAGE_LEN)) if (!message || silent || miming) diff --git a/code/modules/mob/say.dm b/code/modules/mob/say.dm index e5aa7e4f0234..487dd675fe01 100644 --- a/code/modules/mob/say.dm +++ b/code/modules/mob/say.dm @@ -9,12 +9,19 @@ /mob/verb/say_verb(message as text) set name = "Say" set category = "IC" + if(say_disabled) //This is here to try to identify lag problems + usr << "\red Speech is currently admin-disabled." + return usr.say(message) /mob/verb/me_verb(message as text) set name = "Me" set category = "IC" + if(say_disabled) //This is here to try to identify lag problems + usr << "\red Speech is currently admin-disabled." + return + message = trim(copytext(sanitize(message), 1, MAX_MESSAGE_LEN)) if(ishuman(src) || isrobot(src)) @@ -26,6 +33,10 @@ var/name = src.real_name var/alt_name = "" + if(say_disabled) //This is here to try to identify lag problems + usr << "\red Speech is currently admin-disabled." + return + if(mind && mind.name) name = "[mind.name]" else