return "" |
end |
|
-- Thanks a lot to Xinhuan for giving me the hint to use string.gsub instead of string.sub |
-- it saves so much code space accross all languages! |
local function OnSysFilter(b) |
local _, s, t, u = EasyDND, string.sub, string.find, string.len |
local _, gg, ff = EasyDND, string.gsub, string.find |
if _.db.profile.hidesys then |
local a = GetLocale() or "enUS" |
if a == "enUS" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -3)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -2)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "enGB" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -3)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -2)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "esES" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -3)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -2)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "esMX" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -3)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -2)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "deDE" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -3)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -4)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "frFR" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -3)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -2)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "ruRU" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -5)) then -- changed from 3.0.1 to 3.0.8 |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -5)) then -- changed from 3.0.1 to 3.0.8 |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "koKR" then |
if t(b, s(MARKED_DND, 3, -1)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 4, -1)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "zhCN" or a == "enCN" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -5)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -2)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
elseif a == "zhTW" or a == "enTW" then |
if t(b, s(MARKED_DND, 1, u(MARKED_DND) -5)) then |
return true |
elseif t(b, CLEARED_DND) then |
return true |
elseif t(b, MARKED_AFK) then |
return true |
elseif t(b, s(MARKED_AFK_MESSAGE, 1, u(MARKED_AFK_MESSAGE) -2)) then |
return true |
elseif t(b, CLEARED_AFK) then |
return true |
end |
local a, new = GetLocale() or "" |
if a == "deDE" then new = gg(MARKED_AFK_MESSAGE, "%%1$s", ".*") |
else new = gg(MARKED_AFK_MESSAGE, "%%s", ".*") end |
local patterns = { |
CLEARED_DND, |
MARKED_AFK, |
CLEARED_AFK, |
gg(MARKED_DND, "%%s", ".*"), |
new |
} |
for i, j in pairs(patterns) do |
if ff(b, j) then return true end |
end |
end |
return false |
end |
|
-- Thanks a lot to Xinhuan for giving me the hint to use string.gsub instead of string.sub |
-- it saves so much code space accross all languages! |
local function OnSysAntiFilter(b) |
local _, s, t, u = EasyDND, string.sub, string.find, string.len |
local _, gg, ff = EasyDND, string.gsub, string.find |
if _.db.profile.anti_hidesys and _.x then |
local a = GetLocale() or "enUS" |
_.x = false |
if a == "enUS" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 21, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -3)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 4, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 4, -1)) then |
return true |
end |
elseif a == "enGB" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 21, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -3)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 4, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 4, -1)) then |
return true |
end |
elseif a == "esES" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 21, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -3)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 4, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 4, -1)) then |
return true |
end |
elseif a == "esMX" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 21, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -3)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 4, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 4, -1)) then |
return true |
end |
elseif a == "deDE" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 21, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -18)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 4, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 4, -1)) then |
return true |
end |
elseif a == "frFR" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 21, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -3)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 4, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 4, -1)) then |
return true |
end |
elseif a == "ruRU" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 21, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -5)) then -- changed from 3.0.1 to 3.0.8 |
return true |
elseif t(b, s(DUEL_REQUESTED, 4, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 4, -1)) then |
return true |
end |
elseif a == "koKR" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 20, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -25)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 3, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 3, -1)) then |
return true |
end |
elseif a == "zhCN" or a == "enCN" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 20, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -5)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 3, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 3, -1)) then |
return true |
end |
elseif a == "zhTW" or a == "enTW" then |
if t(b, s(ERR_INVITED_TO_GROUP_SS, 20, -1)) then |
return true |
elseif t(b, s(ERR_INVITED_TO_GUILD_SSS, 17, u(ERR_INVITED_TO_GUILD_SSS) -5)) then |
return true |
elseif t(b, s(DUEL_REQUESTED, 3, -1)) then |
return true |
elseif t(b, s(ERR_TRADE_REQUEST_S, 3, -1)) then |
return true |
end |
local patterns = { |
gg(DUEL_REQUESTED, "%%s", ".*"), |
gg(ERR_TRADE_REQUEST_S, "%%s", ".*"), |
gg(ERR_INVITED_TO_GROUP_SS, "[|]Hplayer:%%s[|]h[[]%%s[]][|]h", "[|]Hplayer:.*[|]h[[].*[]][|]h"), |
gg(gg(ERR_INVITED_TO_GUILD_SSS, "[|]Hplayer:%%s[|]h[[]%%s[]][|]h", "[|]Hplayer:.*[|]h[[].*[]][|]h"), "%%s", ".*") |
} |
for i, j in pairs(patterns) do |
if ff(b, j) then return true end |
end |
end |
return false |