/trunk
-- For tracking instance changes |
local INSTANCE_NAME = nil |
-- Needed for chat filter |
local FILTER_CHAT_LOOT_MSGS = {} |
local ORIG_FILTER_CHAT_LOOT_MSGS = { |
LOOT_ROLL_DISENCHANT, |
LOOT_ROLL_DISENCHANT_SELF, |
LOOT_ROLL_GREED, |
LOOT_ROLL_GREED_SELF, |
LOOT_ROLL_NEED, |
LOOT_ROLL_NEED_SELF, |
LOOT_ROLL_PASSED, |
LOOT_ROLL_PASSED_AUTO, |
LOOT_ROLL_PASSED_AUTO_FEMALE, |
LOOT_ROLL_PASSED_SELF, |
LOOT_ROLL_PASSED_SELF_AUTO, |
LOOT_ROLL_ROLLED_DE, |
LOOT_ROLL_ROLLED_GREED, |
LOOT_ROLL_ROLLED_NEED, |
} |
local NO_SPAM_FILTER_CHAT_LOOT_MSGS = { |
--LOOT_ROLL_ALL_PASSED, |
LOOT_ROLL_DISENCHANT, |
LOOT_ROLL_DISENCHANT_SELF, |
LOOT_ROLL_GREED, |
LOOT_ROLL_GREED_SELF, |
LOOT_ROLL_NEED, |
LOOT_ROLL_NEED_SELF, |
LOOT_ROLL_PASSED, |
LOOT_ROLL_PASSED_AUTO, |
LOOT_ROLL_PASSED_AUTO_FEMALE, |
LOOT_ROLL_PASSED_SELF, |
LOOT_ROLL_PASSED_SELF_AUTO, |
LOOT_ROLL_ROLLED_DE, |
LOOT_ROLL_ROLLED_GREED, |
LOOT_ROLL_ROLLED_NEED, |
LOOT_ROLL_WON, |
LOOT_ROLL_YOU_WON, |
--LOOT_ITEM, |
--LOOT_ITEM_MULTIPLE, |
--LOOT_ITEM_PUSHED_SELF, |
--LOOT_ITEM_PUSHED_SELF_MULTIPLE, |
--LOOT_ITEM_SELF, |
--LOOT_ITEM_SELF_MULTIPLE, |
} |
-- Utility functions |
local function sanitizePattern(pattern) |
pattern = string.gsub(pattern, "%(", "%%(") |
-- Chat filter functions |
local FILTER_CHAT_LOOT_MSGS = {} |
local ORIG_FILTER_CHAT_LOOT_MSGS = { |
LOOT_ROLL_DISENCHANT, |
LOOT_ROLL_DISENCHANT_SELF, |
LOOT_ROLL_GREED, |
LOOT_ROLL_GREED_SELF, |
LOOT_ROLL_NEED, |
LOOT_ROLL_NEED_SELF, |
LOOT_ROLL_PASSED, |
LOOT_ROLL_PASSED_AUTO, |
LOOT_ROLL_PASSED_AUTO_FEMALE, |
LOOT_ROLL_PASSED_SELF, |
LOOT_ROLL_PASSED_SELF_AUTO, |
LOOT_ROLL_ROLLED_DE, |
LOOT_ROLL_ROLLED_GREED, |
LOOT_ROLL_ROLLED_NEED, |
} |
local NO_SPAM_FILTER_CHAT_LOOT_MSGS = { |
--LOOT_ROLL_ALL_PASSED, |
LOOT_ROLL_DISENCHANT, |
LOOT_ROLL_DISENCHANT_SELF, |
LOOT_ROLL_GREED, |
LOOT_ROLL_GREED_SELF, |
LOOT_ROLL_NEED, |
LOOT_ROLL_NEED_SELF, |
LOOT_ROLL_PASSED, |
LOOT_ROLL_PASSED_AUTO, |
LOOT_ROLL_PASSED_AUTO_FEMALE, |
LOOT_ROLL_PASSED_SELF, |
LOOT_ROLL_PASSED_SELF_AUTO, |
LOOT_ROLL_ROLLED_DE, |
LOOT_ROLL_ROLLED_GREED, |
LOOT_ROLL_ROLLED_NEED, |
LOOT_ROLL_WON, |
LOOT_ROLL_YOU_WON, |
--LOOT_ITEM, |
--LOOT_ITEM_MULTIPLE, |
--LOOT_ITEM_PUSHED_SELF, |
--LOOT_ITEM_PUSHED_SELF_MULTIPLE, |
--LOOT_ITEM_SELF, |
--LOOT_ITEM_SELF_MULTIPLE, |
} |
local function FilterLootMsg(ChatFrameSelf, event, ...) |
local msg = arg1 |
for _, string in ipairs(FILTER_CHAT_LOOT_MSGS) do |
end |
function NeedyGreedy:EnableChatFilter() |
FILTER_CHAT_LOOT_MSGS = ORIG_FILTER_CHAT_LOOT_MSGS |
if self.db.profile.noSpamMode then |
FILTER_CHAT_LOOT_MSGS = NO_SPAM_FILTER_CHAT_LOOT_MSGS |
end |
ChatFrame_AddMessageEventFilter("CHAT_MSG_LOOT", FilterLootMsg) |
end |