From d4dcaff58e27face7e448b55a469406927b0be6d Mon Sep 17 00:00:00 2001 From: Munglunch Date: Fri, 12 Sep 2014 09:56:53 -0500 Subject: [PATCH] emotes changes --- Interface/AddOns/SVUI/scripts/reactions.lua | 56 ++++++++++++-------- Interface/AddOns/SVUI/system/database.lua | 1 + .../AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua | 16 ++++++ 3 files changed, 52 insertions(+), 21 deletions(-) diff --git a/Interface/AddOns/SVUI/scripts/reactions.lua b/Interface/AddOns/SVUI/scripts/reactions.lua index e3bd724..226352f 100644 --- a/Interface/AddOns/SVUI/scripts/reactions.lua +++ b/Interface/AddOns/SVUI/scripts/reactions.lua @@ -40,17 +40,6 @@ LOCALS (from ShestakUI by:Shestak) ]]-- local toon = UnitName("player"); -local ReactionEmotes = { - "SALUTE", - "THANK", - "DRINK" -} - -local function Thanks_Emote(sourceName) - local index = random(1,#ReactionEmotes) - DoEmote(ReactionEmotes[index], sourceName) -end - local Reactions = { Woot = { [29166] = true, [20484] = true, [61999] = true, @@ -135,6 +124,9 @@ local random = math.random local function rng() return random(1,6) end + +local REACTION_INTERRUPT, REACTION_WOOT, REACTION_LOOKY, REACTION_SHARE, REACTION_EMOTE, REACTION_CHAT = false, false, false, false, false, false; + local SAPPED_MESSAGE = { "Oh Hell No ... {rt8}SAPPED{rt8}", "{rt8}SAPPED{rt8} ...Someone's about to get slapped!", @@ -143,13 +135,26 @@ local SAPPED_MESSAGE = { "{rt8}SAPPED{rt8} ...Ain't Nobody Got Time For That!", "Uh-Oh... {rt8}SAPPED{rt8}" } + +local ReactionEmotes = { + "SALUTE", + "THANK", + "DRINK" +} + +local function Thanks_Emote(sourceName) + if not REACTION_EMOTE then return end + local index = random(1,#ReactionEmotes) + DoEmote(ReactionEmotes[index], sourceName) +end + local ChatLogHandler = CreateFrame("Frame") local ChatLogHandler_OnEvent = function(self, event, ...) local _, subEvent, _, sourceGUID, sourceName, _, _, destGUID, destName, _, _, spellID, _, _, otherSpellID = ... if not sourceName then return end - if(SV.db.system.pvpinterrupt) then + if(REACTION_INTERRUPT) then if ((spellID == 6770) and (destName == toon) and (subEvent == "SPELL_AURA_APPLIED" or subEvent == "SPELL_AURA_REFRESH")) then local msg = SAPPED_MESSAGE[rng()] SendChatMessage(msg, "SAY") @@ -160,7 +165,7 @@ local ChatLogHandler_OnEvent = function(self, event, ...) end end - if(SV.db.system.woot) then + if(REACTION_WOOT) then for key, value in pairs(Reactions.Woot) do if spellID == key and value == true and destName == toon and sourceName ~= toon and (subEvent == "SPELL_AURA_APPLIED" or subEvent == "SPELL_CAST_SUCCESS") then Thanks_Emote(sourceName) @@ -170,10 +175,11 @@ local ChatLogHandler_OnEvent = function(self, event, ...) end end - if(SV.db.system.lookwhaticando) then + if(REACTION_LOOKY) then local outbound; local spells = Reactions.LookWhatICanDo local _, _, difficultyID = GetInstanceInfo() + if(difficultyID ~= 0 and subEvent == "SPELL_CAST_SUCCESS") then if(not (sourceGUID == UnitGUID("player") and sourceName == toon)) then for i, spells in pairs(spells) do @@ -183,7 +189,7 @@ local ChatLogHandler_OnEvent = function(self, event, ...) else outbound = (L["%s used a %s."]):format(sourceName, GetSpellLink(spellID).." -> "..destName) end - if(SV.db.system.reactionChat) then + if(REACTION_CHAT) then SendChatMessage(outbound, MsgTest()) else print(outbound) @@ -199,7 +205,7 @@ local ChatLogHandler_OnEvent = function(self, event, ...) else outbound = GetSpellLink(spellID).." -> "..destName end - if(SV.db.system.reactionChat) then + if(REACTION_CHAT) then SendChatMessage(outbound, MsgTest()) else print(outbound) @@ -210,13 +216,14 @@ local ChatLogHandler_OnEvent = function(self, event, ...) end end - if(SV.db.system.sharingiscaring) then + if(REACTION_SHARE) then if not IsInGroup() or InCombatLockdown() or not subEvent or not spellID then return end if not UnitInRaid(sourceName) and not UnitInParty(sourceName) then return end local sourceName = format(sourceName:gsub("%-[^|]+", "")) if(not sourceName) then return end - local thanks, outbound = false + local thanks = false + local outbound if subEvent == "SPELL_CAST_SUCCESS" then -- Feasts if (spellID == 126492 or spellID == 126494) then @@ -268,7 +275,7 @@ local ChatLogHandler_OnEvent = function(self, event, ...) end if(outbound) then - if(SV.db.system.reactionChat) then + if(REACTION_CHAT) then SendChatMessage(outbound, MsgTest(true)) else print(outbound) @@ -285,7 +292,14 @@ CONFIG TOGGLE ########################################################## ]]-- function SV:ToggleReactions() - local settings = SV.db.system + local settings = self.db.system + + REACTION_INTERRUPT = settings.pvpinterrupt + REACTION_WOOT = settings.woot + REACTION_LOOKY = settings.lookwhaticando + REACTION_SHARE = settings.sharingiscaring + REACTION_EMOTE = settings.reactionEmote + REACTION_CHAT = settings.reactionChat if(settings.stupidhat) then StupidHatHandler:RegisterEvent("ZONE_CHANGED_NEW_AREA") @@ -295,7 +309,7 @@ function SV:ToggleReactions() StupidHatHandler:SetScript("OnEvent", nil) end - if(not settings.sharingiscaring) and (not settings.pvpinterrupt) and (not settings.woot) and (not settings.lookwhaticando) then + if(not REACTION_SHARE) and (not REACTION_INTERRUPT) and (not REACTION_WOOT) and (not REACTION_LOOKY) then ChatLogHandler:UnregisterEvent("COMBAT_LOG_EVENT_UNFILTERED") ChatLogHandler:SetScript("OnEvent", nil) else diff --git a/Interface/AddOns/SVUI/system/database.lua b/Interface/AddOns/SVUI/system/database.lua index 664d061..3040dc7 100644 --- a/Interface/AddOns/SVUI/system/database.lua +++ b/Interface/AddOns/SVUI/system/database.lua @@ -78,6 +78,7 @@ CONFIGS["system"] = { ["pvpinterrupt"] = true, ["lookwhaticando"] = false, ["reactionChat"] = false, + ["reactionEmote"] = false, ["sharingiscaring"] = false, ["arenadrink"] = true, ["stupidhat"] = true, diff --git a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua index a414e73..6ecc749 100644 --- a/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua +++ b/Interface/AddOns/SVUI_ConfigOMatic/SVUI_ConfigOMatic.lua @@ -369,6 +369,22 @@ SV.Options.args.common = { get = function(j)return SV.db.system.sharingiscaring end, set = function(j,value)SV.db.system.sharingiscaring = value;SV:ToggleReactions()end }, + reactionChat = { + order = 7, + type = 'toggle', + name = L["Report in Chat"], + desc = L["Announcements will be sent to group chat channels"], + get = function(j)return SV.db.system.reactionChat end, + set = function(j,value)SV.db.system.reactionChat = value;SV:ToggleReactions()end + }, + reactionEmote = { + order = 8, + type = 'toggle', + name = L["Auto Emotes"], + desc = L["Some announcements are accompanied by player emotes."], + get = function(j)return SV.db.system.reactionEmote end, + set = function(j,value)SV.db.system.reactionEmote = value;SV:ToggleReactions()end + }, } }, otherGroup = { -- 1.7.9.5