diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 93ac4001ebe..a74b6ef8973 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -55,7 +55,7 @@
C << "OOC: [keyname][holder.fakekey ? "/([holder.fakekey])" : ""]: [msg]"
else
C << "OOC: [holder.fakekey ? holder.fakekey : key]: [msg]"
- else if(!C.prefs.ignoring.Find(key))
+ else if(!(C.key in prefs.ignoring))
C << "OOC: [keyname]: [msg]"
/proc/toggle_ooc(toggle = null)
@@ -141,8 +141,11 @@ var/global/normal_ooc_colour = "#002eb8"
/client/proc/ignore_key(client)
var/client/C = client
- prefs.ignoring ^= C.key
- src << "You are [prefs.ignoring.Find(src.key) ? "now" : "no longer"] ignoring [C.key] on the OOC channel."
+ if(C.key in prefs.ignoring)
+ prefs.ignoring -= C.key
+ else
+ prefs.ignoring |= C.key
+ src << "You are [(C.key in prefs.ignoring) ? "now" : "no longer"] ignoring [C.key] on the OOC channel."
prefs.save_preferences()
/client/verb/select_ignore()
@@ -150,11 +153,10 @@ var/global/normal_ooc_colour = "#002eb8"
set category = "OOC"
set desc ="Ignore a player's messages on the OOC channel"
- var/list/keys = list()
- for(var/mob/M in player_list)
- if(M.client != src)
- keys += M.client
- var/selection = input("Please, select a player!", "Ignore", null, null) as null|anything in sortKey(keys)
+ var/selection = input("Please, select a player!", "Ignore", null, null) as null|anything in sortKey(clients)
if(!selection)
return
+ if(selection == src)
+ src << "You can't ignore yourself."
+ return
ignore_key(selection)
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 1a7aeb92a45..d1194057a73 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -2,7 +2,7 @@
#define SAVEFILE_VERSION_MIN 8
//This is the current version, anything below this will attempt to update (if it's not obsolete)
-#define SAVEFILE_VERSION_MAX 11
+#define SAVEFILE_VERSION_MAX 12
/*
SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
This proc checks if the current directory of the savefile S needs updating
@@ -36,6 +36,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(current_version < 11)
chat_toggles = TOGGLES_DEFAULT_CHAT
toggles = TOGGLES_DEFAULT
+ if(current_version << 12)
+ ignoring = list()
//should this proc get fairly long (say 3 versions long),