- The admin-mute verb and mute option in the player panel now makes the mob unable to speak in everything except for adminhelps and admin private messages.

- The player panel now has a Compelte mute option, which mutes everything including adminhelps and admin pm-s.
- A person who is muted will now be informed he is whenever they try to speak/OOC/etc.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2391 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
baloh.matevz@gmail.com
2011-10-19 12:49:02 +00:00
parent 454835bdb8
commit de944a135c
14 changed files with 33 additions and 14 deletions

View File

@@ -118,7 +118,8 @@
var/miming = null //checks if the guy is a mime//Human var/miming = null //checks if the guy is a mime//Human
var/silent = null //Can't talk. Value goes down every life proc.//Human var/silent = null //Can't talk. Value goes down every life proc.//Human
var/muted = null //Can't talk in any way shape or form (Even OOC or emote). An admin punishment 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/obj/hud/hud_used = null var/obj/hud/hud_used = null

View File

@@ -25,7 +25,8 @@
else if (!dooc_allowed && !src.client.holder && (src.client.deadchat != 0)) else if (!dooc_allowed && !src.client.holder && (src.client.deadchat != 0))
usr << "OOC for dead mobs has been turned off." usr << "OOC for dead mobs has been turned off."
return return
else if (src.muted) else if (src.muted || src.muted_complete)
src << "You are muted."
return return
else if (findtext(msg, "byond://") && !src.client.holder) else if (findtext(msg, "byond://") && !src.client.holder)
src << "<B>Advertising other servers is not allowed.</B>" src << "<B>Advertising other servers is not allowed.</B>"

View File

@@ -380,7 +380,18 @@
M.muted = !M.muted M.muted = !M.muted
log_admin("[key_name(usr)] has [(M.muted ? "muted" : "voiced")] [key_name(M)].") log_admin("[key_name(usr)] has [(M.muted ? "muted" : "voiced")] [key_name(M)].")
message_admins("\blue [key_name_admin(usr)] has [(M.muted ? "muted" : "voiced")] [key_name_admin(M)].", 1) message_admins("\blue [key_name_admin(usr)] has [(M.muted ? "muted" : "voiced")] [key_name_admin(M)].", 1)
M << "You have been [(M.muted ? "muted" : "voiced")]." M << "You have been [(M.muted ? "muted" : "voiced")]. Please resolve this in adminhelp."
if (href_list["mute_complete"])
if ((src.rank in list( "Moderator", "Temporary Admin", "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
var/mob/M = locate(href_list["mute_complete"])
if (ismob(M))
if ((M.client && M.client.holder && (M.client.holder.level >= src.level)))
alert("You cannot perform this action. You must be of a higher administrative rank!", null, null, null, null, null)
return
M.muted_complete = !M.muted_complete
log_admin("[key_name(usr)] has [(M.muted_complete ? "completely muted" : "voiced (complete)")] [key_name(M)].")
message_admins("\blue [key_name_admin(usr)] has [(M.muted_complete ? "completely muted" : "voiced (complete)")] [key_name_admin(M)].", 1)
M << "You have been [(M.muted_complete ? "completely muted" : "voiced (complete)")]. You are unable to speak or even adminhelp"
if (href_list["c_mode"]) if (href_list["c_mode"])
if ((src.rank in list( "Temporary Admin", "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" ))) if ((src.rank in list( "Temporary Admin", "Admin Candidate", "Trial Admin", "Badmin", "Game Admin", "Game Master" )))
@@ -1679,6 +1690,7 @@
foo += text("<B>Hasn't Entered Game</B> | ") foo += text("<B>Hasn't Entered Game</B> | ")
foo += text("<A href='?src=\ref[src];forcespeech=\ref[M]'>Forcesay</A> | ") foo += text("<A href='?src=\ref[src];forcespeech=\ref[M]'>Forcesay</A> | ")
foo += text("<A href='?src=\ref[src];mute2=\ref[M]'>Mute: [(M.muted ? "Muted" : "Voiced")]</A> | ") foo += text("<A href='?src=\ref[src];mute2=\ref[M]'>Mute: [(M.muted ? "Muted" : "Voiced")]</A> | ")
foo += text("<A href='?src=\ref[src];mute_complete=\ref[M]'>Complete mute: [(M.muted ? "Completely Muted" : "Voiced")]</A> | ")
foo += text("<A href='?src=\ref[src];boot2=\ref[M]'>Boot</A>") foo += text("<A href='?src=\ref[src];boot2=\ref[M]'>Boot</A>")
foo += text("<br>") foo += text("<br>")
foo += text("<A href='?src=\ref[src];jumpto=\ref[M]'>Jump to</A> | ") foo += text("<A href='?src=\ref[src];jumpto=\ref[M]'>Jump to</A> | ")

View File

@@ -10,7 +10,7 @@
if (!msg) if (!msg)
return return
if (usr.muted) if (usr.muted_complete)
return return
for (var/mob/M in world) for (var/mob/M in world)

View File

@@ -9,7 +9,7 @@
src << "Only administrators may use this command." src << "Only administrators may use this command."
return return
if (!src.mob || src.mob.muted) if (!src.mob || src.mob.muted || src.mob.muted_complete)
return return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)

View File

@@ -8,7 +8,7 @@
return return
if(!src.mob) if(!src.mob)
return return
if(src.mob.muted) if(src.mob.muted || src.mob.muted_complete)
return return
msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN) msg = copytext(sanitize(msg), 1, MAX_MESSAGE_LEN)

View File

@@ -10,7 +10,7 @@
if (!msg) if (!msg)
return return
if (usr.muted) if (usr.muted || src.muted_complete)
return return
var/icon/cross = icon('storage.dmi',"bible") var/icon/cross = icon('storage.dmi',"bible")

View File

@@ -91,7 +91,7 @@
src << "Only administrators may use this command." src << "Only administrators may use this command."
return return
if(M) if(M)
if(mob.muted) if(src.mob.muted_complete)
src << "You are muted have a nice day" src << "You are muted have a nice day"
return return
if (!( ismob(M) )) if (!( ismob(M) ))

View File

@@ -9,7 +9,8 @@
log_say("Ghost/[src.key] : [message]") log_say("Ghost/[src.key] : [message]")
if (src.muted) if (src.muted || src.muted_complete)
src << "You are muted."
return return
. = src.say_dead(message) . = src.say_dead(message)

View File

@@ -62,7 +62,8 @@
message = "<B>[src]</B> [input]" message = "<B>[src]</B> [input]"
if ("me") if ("me")
if (muted || silent) if (muted || silent || muted_complete)
src << "You are muted."
return return
if (stat) if (stat)
return return

View File

@@ -7,7 +7,8 @@
log_whisper("[src.name]/[src.key] : [message]") log_whisper("[src.name]/[src.key] : [message]")
if (src.muted) if (src.muted || src.muted_complete)
src << "You are muted."
return return
if (src.stat == 2) if (src.stat == 2)

View File

@@ -30,7 +30,8 @@
if (stat == 2) if (stat == 2)
return say_dead(message) return say_dead(message)
if (muted || silent) if (muted || silent || src.muted_complete)
src << "You are muted."
return return
// wtf? // wtf?

View File

@@ -2,7 +2,8 @@
if (!message) if (!message)
return return
if (muted) if (muted || src.muted_complete)
src << "You are muted."
return return
if (stat == 2) if (stat == 2)

View File

@@ -578,7 +578,7 @@
if(href_list["priv_msg"]) if(href_list["priv_msg"])
var/mob/M = locate(href_list["priv_msg"]) var/mob/M = locate(href_list["priv_msg"])
if(M) if(M)
if(muted) if(muted_complete)
src << "You are muted have a nice day" src << "You are muted have a nice day"
return return
if (!ismob(M)) if (!ismob(M))