From 5b4b838b2fed5f1175ecdb8960669c14b5687b82 Mon Sep 17 00:00:00 2001 From: Kkthnx <40672673+Kkthnx@users.noreply.github.com> Date: Mon, 7 Jun 2021 19:46:28 -0400 Subject: [PATCH] 10.2.2 Changelog --- KkthnxUI/Core/API.lua | 10 +- KkthnxUI/Core/Changelog.lua | 23 ++-- KkthnxUI/Core/Functions.lua | 3 - KkthnxUI/Developer/Core.lua | 28 ++-- KkthnxUI/Media/DataText/LFG.blp | Bin 0 -> 1172 bytes KkthnxUI/Media/DataText/bags.blp | Bin 0 -> 1172 bytes KkthnxUI/Media/DataText/guild.blp | Bin 0 -> 1172 bytes KkthnxUI/Media/DataText/help.blp | Bin 0 -> 1172 bytes KkthnxUI/Media/DataText/player.blp | Bin 0 -> 1172 bytes .../Announcements/Elements/KillingBlow.lua | 47 ++----- .../Modules/Announcements/Elements/Sapped.lua | 2 +- .../Modules/Automation/Elements/Quest.lua | 9 +- .../Modules/DataText/Elements/Friends.lua | 3 +- KkthnxUI/Modules/DataText/Elements/Gold.lua | 3 +- KkthnxUI/Modules/DataText/Elements/Guild.lua | 3 +- .../Modules/DataText/Elements/Latency.lua | 3 +- KkthnxUI/Modules/DataText/Elements/System.lua | 3 +- KkthnxUI/Modules/Inventory/SortBags.lua | 86 ++++--------- KkthnxUI/Modules/Maps/Minimap.lua | 8 +- KkthnxUI/Modules/Miscellaneous/Core.lua | 120 +++++++++++++++++- .../Elements/CharacterStatPanel.lua | 98 +++++++++++++- .../Miscellaneous/Elements/MouseTrail.lua | 6 +- .../Modules/Tooltip/Elements/VendorPrice.lua | 2 +- KkthnxUI/Modules/UnitFrames/Core.lua | 2 +- KkthnxUI/Modules/UnitFrames/Groups/Party.lua | 6 +- KkthnxUI/Modules/UnitFrames/Groups/Raid.lua | 4 +- KkthnxUI/Modules/UnitFrames/Tags.lua | 15 +-- KkthnxUI/Modules/UnitFrames/Units/Focus.lua | 4 +- .../Modules/UnitFrames/Units/Nameplates.lua | 16 +-- KkthnxUI/Modules/UnitFrames/Units/Player.lua | 24 ++-- KkthnxUI/Modules/UnitFrames/Units/Target.lua | 12 +- 31 files changed, 335 insertions(+), 205 deletions(-) create mode 100644 KkthnxUI/Media/DataText/LFG.blp create mode 100644 KkthnxUI/Media/DataText/bags.blp create mode 100644 KkthnxUI/Media/DataText/guild.blp create mode 100644 KkthnxUI/Media/DataText/help.blp create mode 100644 KkthnxUI/Media/DataText/player.blp diff --git a/KkthnxUI/Core/API.lua b/KkthnxUI/Core/API.lua index 50d2f65..0158aa8 100644 --- a/KkthnxUI/Core/API.lua +++ b/KkthnxUI/Core/API.lua @@ -437,9 +437,15 @@ function K.SetupArrow(self, direction) self:SetRotation(rad(arrowDegree[direction])) end -function K.ReskinArrow(self, direction) +function K.ReskinArrow(self, direction, skin) + if skin == nil then + skin = true + end + self:SetSize(16, 16) - self:SkinButton() + if skin == true then + self:SkinButton() + end self:SetDisabledTexture("Interface\\ChatFrame\\ChatFrameBackground") local dis = self:GetDisabledTexture() diff --git a/KkthnxUI/Core/Changelog.lua b/KkthnxUI/Core/Changelog.lua index e0547cb..f91f24d 100644 --- a/KkthnxUI/Core/Changelog.lua +++ b/KkthnxUI/Core/Changelog.lua @@ -15,16 +15,19 @@ local CLOSE = _G.CLOSE -- Updated, Fixed, Added, Removed, Various. local changelogData = { - "Added fix for blizzard chatframe offset bug", - "Added merchant item quality color for name", - "Added option to scale bags", - "Added pet buffs for feeding and mend", - "Added |CFFFF7C0ADruid|r mana when in cat form and such", - "Fixed party pets showing without being in party", - "Updated TopCenterContainerHolder position", - "Updated character stat panel button to not conflict with other addons", - "Updated sortbags code", - "Various monk/dk code cleaned up", + "Added icon and movers to fps/ms datatext", + "Added more gossips for auto-questing", + "Added new icons for datatext", + "Added quest frame fixer code", + "Added quest icon desaturation code", + "Fixed combat section in interface being wonky", + "Fixed killing blow emoting", + "Fixed mousetrail module showing when hiding", + "Fixed sapped module to announce when sapped", + "Updated character stat panel with itemlevel", + "Updated how AFK/DND is shown on unitframes", + "Updated vendor price string", + "Various code cleanups", } local changelogFrame diff --git a/KkthnxUI/Core/Functions.lua b/KkthnxUI/Core/Functions.lua index 153b3f4..4dca8ab 100644 --- a/KkthnxUI/Core/Functions.lua +++ b/KkthnxUI/Core/Functions.lua @@ -35,9 +35,6 @@ local UnitIsTapDenied = _G.UnitIsTapDenied local UnitReaction = _G.UnitReaction local iLvlDB = {} -local enchantString = string_gsub(ENCHANTED_TOOLTIP_LINE, "%%s", "(.+)") -local essenceDescription = _G.GetSpellDescription(277253) -local essenceTextureID = 2975691 local itemLevelString = string_gsub(ITEM_LEVEL, "%%d", "") local mapRects = {} diff --git a/KkthnxUI/Developer/Core.lua b/KkthnxUI/Developer/Core.lua index efe5140..d86655a 100644 --- a/KkthnxUI/Developer/Core.lua +++ b/KkthnxUI/Developer/Core.lua @@ -65,23 +65,17 @@ do end end -local spitFactResponses = { - "Did you know a lack of spit was once used as an admission of guilt.", - "Did you know saliva production has a circadian rhythm.", - "Did you know spit can battle bacteria.", - "Did you know spit is mostly water.", - "Did you know spit keeps you from getting cavities.", - "Did you know stress can leave you spit-less.", - "Did you know there are five different kinds of spit.", - "Did you know there's a medical standard for how much spit you should have.", - "Did you know you need spit if you want to taste anything.", -} +do + local SpitterEmotes = { + "VIOLIN", "CHUCKLE", "FLEX", "PITY", "SLAP", "BONK" + } -local function SpitFacts(_, _, msg, author) - if string.find(msg, "spits on you") then - SendChatMessage(spitFactResponses[math.random(1, #spitFactResponses)], "WHISPER", nil, author) + local function EmoteOnSpitters(_, _, msg, spitter) + if string.find(msg, "spits on you") then + DoEmote(SpitterEmotes[math.random(1, #SpitterEmotes)], spitter) + end end -end -ChatFrame_AddMessageEventFilter("CHAT_MSG_EMOTE", SpitFacts) -ChatFrame_AddMessageEventFilter("CHAT_MSG_TEXT_EMOTE", SpitFacts) \ No newline at end of file + ChatFrame_AddMessageEventFilter("CHAT_MSG_EMOTE", EmoteOnSpitters) + ChatFrame_AddMessageEventFilter("CHAT_MSG_TEXT_EMOTE", EmoteOnSpitters) +end \ No newline at end of file diff --git a/KkthnxUI/Media/DataText/LFG.blp b/KkthnxUI/Media/DataText/LFG.blp new file mode 100644 index 0000000000000000000000000000000000000000..932d8c12adca45742d40057bbdd5733c8fb3ac4d GIT binary patch literal 1172 zcmZ?r2{2-0U|?Y4U}sbS(jYtq2L=ig2Uvj0uwmkK166rWQURj>K(Go320MQr#JwUQ z_kz6m8_Z`?gYl{D{{IY~^TNdg7+~iAXAosL;LxlJ=NmN0F$x+W$$K7B4`6P9$y4f{ z|0(PR3^NOoVCMa2s9;*dG$94SU-==Wpp6B=zrbOd(4-FIQ*1xOln0!O5|3f#{b$H! zbnu_F8^J&IP=xa!BZBYIq@KZK1LIR_|2Kw{QzSfR9D$kl{{}FzGf#O1=g(ze`Q=wP z9mapbz+h~dbqJiEAz6U3^v%QIIRTbGK;~^_Xqtk|pT^LD!k1?7fafP_*iUKr5z-F; Dc~1!| literal 0 HcmV?d00001 diff --git a/KkthnxUI/Media/DataText/bags.blp b/KkthnxUI/Media/DataText/bags.blp new file mode 100644 index 0000000000000000000000000000000000000000..02f1767b32a2d27a651a4c635b4105c8b41b7e56 GIT binary patch literal 1172 zcmZ?r2{2-0U|?Y4U}sbS(jYtq2L=ig2Uvj0uwmkK166rWQURj>K(Go31{*&P;yxCT z`#@fL0_Gp$gz*=E`AuptKDFKdpMg`5iBW(7X8!;GsNwbB{{R!vSqU)tbqt=LR6Ll} zVSGy6^PfRdz}$151kAku%Bv^u2HFVcYv{-7F|-xJ_{SKY3fucpFFgJ;SWaLR6kvjx zkKz9n512iG0RWe0n63Phfdd{Ml>1+C0;8k=Gu(Xi@V^gA6$~bDc?Jfyh6DTTV0=pL lzrxTt5tctd76B9C6lDGeh6yNqTLuq!egdhd)P7p)2LLV|39A4A literal 0 HcmV?d00001 diff --git a/KkthnxUI/Media/DataText/guild.blp b/KkthnxUI/Media/DataText/guild.blp new file mode 100644 index 0000000000000000000000000000000000000000..719fc1c3f9e026c3a6cd425c259a4c4000cba2d5 GIT binary patch literal 1172 zcmZ?r2{2-0U|?Y4U}sbS(jYtq2L=ig2Uvj0uwmkK166rWQURj>K(Go31{>cH;yxCT z`#@d_0rQzGVfs71t&Q>m@M4`NEalR~fhx zVEjsk24xLln}aYurS_LG7)}xJoCS^_kpKTPum&*5P2h%^4-6C*2L=uu7{8ohvXV&& zBtAjvNwr@cExb#C{6EuJGGOMPVDOxwl6#U9#=pgoJxOH^cQ1@z!{GVJe$qC$d=$t$ z|0cNm3Ax9Y!E=I(=N!2D|6FUMqw^+4!_5Ex0+fS*;Q#~>8a4g?H`vU3ZvrK(Go31{zCb&GM{`t?)IaT1~L>ZX*|9uZIf$W9zoi#yR1fLj{fmL_f8sd>?%)3mCksFp!p!^6aDYqAYZKgm{~6>ahy+3F@W<$LHr3w_GdJy1&|;9=K(Go320Q;h#J&6= z_kz3#;WHV)__TKae@4j!29^K@n0@~zGcbYO0d-FxgXbj`k450{1c_7IJ^vZl1(-Oe z!p#Q-!h(R$aJ~qG2RuH(){_{&#t`)^aQ}h$^H~u71@R{l;9uf_tB(bn*93PTq3}4% z;5miGa|T@f|Fs}r2*Azz{~tBIV({;PeXRg<|4#<5CKc~baPtV+k1oHPL4E=(e}GKh S&A>o_-!KPRJ-T^=jSm3$CIGVl literal 0 HcmV?d00001 diff --git a/KkthnxUI/Modules/Announcements/Elements/KillingBlow.lua b/KkthnxUI/Modules/Announcements/Elements/KillingBlow.lua index d33d3d3..d825786 100644 --- a/KkthnxUI/Modules/Announcements/Elements/KillingBlow.lua +++ b/KkthnxUI/Modules/Announcements/Elements/KillingBlow.lua @@ -1,23 +1,15 @@ local K, C = unpack(select(2, ...)) local Module = K:GetModule("Announcements") --- Sourced: ElvUI Shadow & Light (Darth_Predator, Repooc) - local _G = _G local bit_band = _G.bit.band local math_random = _G.math.random -local table_wipe = _G.table.wipe -local COMBATLOG_OBJECT_TYPE_PLAYER = _G.COMBATLOG_OBJECT_TYPE_PLAYER local CombatLogGetCurrentEventInfo = _G.CombatLogGetCurrentEventInfo local DoEmote = _G.DoEmote -local GetBattlefieldScore = _G.GetBattlefieldScore -local GetNumBattlefieldScores = _G.GetNumBattlefieldScores -local RAID_CLASS_COLORS = _G.RAID_CLASS_COLORS -local UnitGUID = _G.UnitGUID local pvpEmoteList = { - "ANGRY", "BARK", "BECKON", "BITE", "BONK", "BURP", "BYE", "CACKLE", + "ANGRY", "BARK", "BITE", "BONK", "BURP", "BYE", "CACKLE", "CALM", "CHUCKLE", "COMFORT", "CRACK", "CUDDLE", "CURTSEY", "FLEX", "GIGGLE", "GLOAT", "GRIN", "GROWL", "GUFFAW", "INSULT", "LAUGH", "LICK", "MOCK", "MOO", "MOON", "MOURN", @@ -27,39 +19,20 @@ local pvpEmoteList = { "TEASE", "THANK", "THREATEN", "TICKLE", "VETO", "VIOLIN", "YAWN" } -local BG_Opponents = {} -function Module:OpponentsTable() - table_wipe(BG_Opponents) - for index = 1, GetNumBattlefieldScores() do - local name, _, _, _, _, faction, _, _, classToken = GetBattlefieldScore(index) - if (K.Faction == "Horde" and faction == 1) or (K.Faction == "Alliance" and faction == 0) then - BG_Opponents[name] = classToken - end - end -end - function Module:SetupKillingBlow() - local _, subevent, sourceGUID, _, Caster, _, _, _, TargetName, TargetFlags = CombatLogGetCurrentEventInfo() - if subevent == "PARTY_KILL" and sourceGUID == UnitGUID("player") then - print(subevent) - print(sourceGUID) - local mask = bit_band(TargetFlags, COMBATLOG_OBJECT_TYPE_PLAYER) - if Caster == K.Name and (BG_Opponents[TargetName] or mask > 0) then - if mask > 0 and BG_Opponents[TargetName] then - TargetName = "|c"..RAID_CLASS_COLORS[BG_Opponents[TargetName]].colorStr..TargetName.."|r" or TargetName - TargetName = TargetName - end - - print("Dwdwdw") - - --if C["Announcements"].PvPEmote then - DoEmote(pvpEmoteList[math_random(1, #pvpEmoteList)], TargetName) - --end + local _, subevent, _, _, Caster, _, _, _, TargetName, TargetFlags = CombatLogGetCurrentEventInfo() + if subevent == "PARTY_KILL" then + local mask = bit_band(TargetFlags, COMBATLOG_OBJECT_TYPE_PLAYER) -- Don't ask me, it's some dark magic. If bit mask for this is positive, it means a player was killed + if Caster == K.Name and (mask > 0) then -- If this is my kill and target is a player (world) + DoEmote(pvpEmoteList[math_random(1, #pvpEmoteList)], TargetName) end end end function Module:CreateKillingBlow() - K:RegisterEvent("UPDATE_BATTLEFIELD_SCORE", self.OpponentsTable) + if not C["Announcements"].PvPEmote then + return + end + K:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED", self.SetupKillingBlow) end \ No newline at end of file diff --git a/KkthnxUI/Modules/Announcements/Elements/Sapped.lua b/KkthnxUI/Modules/Announcements/Elements/Sapped.lua index 0a07581..b9ad6ce 100644 --- a/KkthnxUI/Modules/Announcements/Elements/Sapped.lua +++ b/KkthnxUI/Modules/Announcements/Elements/Sapped.lua @@ -10,7 +10,7 @@ local UNKNOWN = _G.UNKNOWN function Module:SetupSaySapped() local _, event, _, _, sourceName, _, _, _, destName, _, _, spellID = CombatLogGetCurrentEventInfo() - if ((spellID == 6770) and (destName == K.Name) and (event == "SPELL_AURA_APPLIED" or event == "SPELL_AURA_REFRESH")) then + if ((spellID == 6770 or spellID == 2070 or spellID == 11297) and (destName == K.Name) and (event == "SPELL_AURA_APPLIED" or event == "SPELL_AURA_REFRESH")) then SendChatMessage(L["Sapped"], "SAY") K.Print(L["SappedBy"]..(sourceName or UNKNOWN)) end diff --git a/KkthnxUI/Modules/Automation/Elements/Quest.lua b/KkthnxUI/Modules/Automation/Elements/Quest.lua index 389cc67..74bd838 100644 --- a/KkthnxUI/Modules/Automation/Elements/Quest.lua +++ b/KkthnxUI/Modules/Automation/Elements/Quest.lua @@ -271,6 +271,13 @@ local followerAssignees = { [135614] = true, -- 马迪亚斯·肖尔大师 } +local autoGossipTypes = { + ["gossip"] = true, + ["banker"] = true, + ["vendor"] = true, + ["trainer"] = true, +} + QuickQuest:Register("GOSSIP_SHOW", function() local npcID = GetNPCID() if(ignoreQuestNPC[npcID]) then @@ -321,7 +328,7 @@ QuickQuest:Register("GOSSIP_SHOW", function() local _, instance, _, _, _, _, _, mapID = GetInstanceInfo() if(instance ~= "raid" and not ignoreGossipNPC[npcID] and not (instance == "scenario" and mapID == 1626)) then local _, type = GetGossipOptions() - if(type == "gossip") then + if autoGossipTypes[type] then SelectGossipOption(1) return end diff --git a/KkthnxUI/Modules/DataText/Elements/Friends.lua b/KkthnxUI/Modules/DataText/Elements/Friends.lua index ed11bb7..c9fa995 100644 --- a/KkthnxUI/Modules/DataText/Elements/Friends.lua +++ b/KkthnxUI/Modules/DataText/Elements/Friends.lua @@ -562,8 +562,9 @@ function Module:CreateSocialDataText() Module.FriendsDataTextFrame.Texture = Module.FriendsDataTextFrame:CreateTexture(nil, "BACKGROUND") Module.FriendsDataTextFrame.Texture:SetPoint("LEFT", Module.FriendsDataTextFrame, "LEFT", 0, 0) - Module.FriendsDataTextFrame.Texture:SetTexture("Interface\\HELPFRAME\\ReportLagIcon-Chat") + Module.FriendsDataTextFrame.Texture:SetTexture("Interface\\AddOns\\KkthnxUI\\Media\\DataText\\player.blp") Module.FriendsDataTextFrame.Texture:SetSize(24, 24) + Module.FriendsDataTextFrame.Texture:SetVertexColor(102/255, 157/255, 255/255) Module.FriendsDataTextFrame.Text = Module.FriendsDataTextFrame:CreateFontString(nil, "ARTWORK") Module.FriendsDataTextFrame.Text:SetFontObject(K.GetFont(C["UIFonts"].DataTextFonts)) diff --git a/KkthnxUI/Modules/DataText/Elements/Gold.lua b/KkthnxUI/Modules/DataText/Elements/Gold.lua index f8b6fc6..f345df2 100644 --- a/KkthnxUI/Modules/DataText/Elements/Gold.lua +++ b/KkthnxUI/Modules/DataText/Elements/Gold.lua @@ -198,8 +198,9 @@ function Module:CreateGoldDataText() Module.GoldDataTextFrame.Texture = Module.GoldDataTextFrame:CreateTexture(nil, "BACKGROUND") Module.GoldDataTextFrame.Texture:SetPoint("LEFT", Module.GoldDataTextFrame, "LEFT", 0, 0) - Module.GoldDataTextFrame.Texture:SetTexture([[Interface\HELPFRAME\ReportLagIcon-Loot]]) + Module.GoldDataTextFrame.Texture:SetTexture("Interface\\AddOns\\KkthnxUI\\Media\\DataText\\bags.blp") Module.GoldDataTextFrame.Texture:SetSize(24, 24) + Module.GoldDataTextFrame.Texture:SetVertexColor(102/255, 157/255, 255/255) Module.GoldDataTextFrame.Text = Module.GoldDataTextFrame:CreateFontString(nil, "ARTWORK") Module.GoldDataTextFrame.Text:SetFontObject(K.GetFont(C["UIFonts"].DataTextFonts)) diff --git a/KkthnxUI/Modules/DataText/Elements/Guild.lua b/KkthnxUI/Modules/DataText/Elements/Guild.lua index 7df3018..d8580a4 100644 --- a/KkthnxUI/Modules/DataText/Elements/Guild.lua +++ b/KkthnxUI/Modules/DataText/Elements/Guild.lua @@ -401,8 +401,9 @@ function Module:CreateGuildDataText() Module.GuildDataTextFrame.Texture = Module.GuildDataTextFrame:CreateTexture(nil, "BACKGROUND") Module.GuildDataTextFrame.Texture:SetPoint("LEFT", Module.GuildDataTextFrame, "LEFT", 0, 0) - Module.GuildDataTextFrame.Texture:SetTexture("Interface\\HELPFRAME\\HelpIcon-AccountSecurity") + Module.GuildDataTextFrame.Texture:SetTexture("Interface\\AddOns\\KkthnxUI\\Media\\DataText\\guild.blp") Module.GuildDataTextFrame.Texture:SetSize(24, 24) + Module.GuildDataTextFrame.Texture:SetVertexColor(102/255, 157/255, 255/255) Module.GuildDataTextFrame.Text = Module.GuildDataTextFrame:CreateFontString(nil, "ARTWORK") Module.GuildDataTextFrame.Text:SetFontObject(K.GetFont(C["UIFonts"].DataTextFonts)) diff --git a/KkthnxUI/Modules/DataText/Elements/Latency.lua b/KkthnxUI/Modules/DataText/Elements/Latency.lua index 54e3bd2..7e6ef6c 100644 --- a/KkthnxUI/Modules/DataText/Elements/Latency.lua +++ b/KkthnxUI/Modules/DataText/Elements/Latency.lua @@ -91,8 +91,9 @@ function Module:CreateLatencyDataText() Module.LatencyDataTextFrame.Texture = Module.LatencyDataTextFrame:CreateTexture(nil, "BACKGROUND") Module.LatencyDataTextFrame.Texture:SetPoint("LEFT", Module.LatencyDataTextFrame, "LEFT", 0, 0) - Module.LatencyDataTextFrame.Texture:SetTexture([[Interface\HELPFRAME\HelpIcon-Bug]]) + Module.LatencyDataTextFrame.Texture:SetTexture(("Interface\\AddOns\\KkthnxUI\\Media\\DataText\\LFG.blp")) Module.LatencyDataTextFrame.Texture:SetSize(24, 24) + Module.LatencyDataTextFrame.Texture:SetVertexColor(102/255, 157/255, 255/255) Module.LatencyDataTextFrame.Text = Module.LatencyDataTextFrame:CreateFontString("OVERLAY") Module.LatencyDataTextFrame.Text:SetFontObject(K.GetFont(C["UIFonts"].DataTextFonts)) diff --git a/KkthnxUI/Modules/DataText/Elements/System.lua b/KkthnxUI/Modules/DataText/Elements/System.lua index 233f44d..d470c23 100644 --- a/KkthnxUI/Modules/DataText/Elements/System.lua +++ b/KkthnxUI/Modules/DataText/Elements/System.lua @@ -267,8 +267,9 @@ function Module:CreateSystemDataText() Module.SystemDataTextFrame.Texture = Module.SystemDataTextFrame:CreateTexture(nil, "BACKGROUND") Module.SystemDataTextFrame.Texture:SetPoint("LEFT", Module.SystemDataTextFrame, "LEFT", 0, 0) - Module.SystemDataTextFrame.Texture:SetTexture([[Interface\HELPFRAME\HelpIcon-ReportLag]]) + Module.SystemDataTextFrame.Texture:SetTexture("Interface\\AddOns\\KkthnxUI\\Media\\DataText\\help.blp") Module.SystemDataTextFrame.Texture:SetSize(24, 24) + Module.SystemDataTextFrame.Texture:SetVertexColor(102/255, 157/255, 255/255) Module.SystemDataTextFrame.Text = Module.SystemDataTextFrame:CreateFontString("OVERLAY") Module.SystemDataTextFrame.Text:SetFontObject(K.GetFont(C["UIFonts"].DataTextFonts)) diff --git a/KkthnxUI/Modules/Inventory/SortBags.lua b/KkthnxUI/Modules/Inventory/SortBags.lua index eeda55b..aff845c 100644 --- a/KkthnxUI/Modules/Inventory/SortBags.lua +++ b/KkthnxUI/Modules/Inventory/SortBags.lua @@ -1,5 +1,5 @@ ----------------------------------------- --- SortBags 2.0.6, shirsig +-- SortBags 2.1.0, shirsig -- https://github.com/shirsig/SortBags ----------------------------------------- local _G, _M = getfenv(0), {} @@ -47,6 +47,14 @@ local function set(...) return t end +local function arrayToSet(array) + local t = {} + for i = 1, #t do + t[array[i]] = true + end + return t +end + local function union(...) local t = {} local n = select('#', ...) @@ -62,85 +70,53 @@ local SPECIAL = set(5462, 13347, 11511, 38233) local KEYS = set(9240, 11511, 17191, 13544, 12324, 16309, 12384, 20402) -local RODS = set(6218, 6339, 11130, 11145, 16207, 22461, 22462, 22463) - -local TOOLS = union( - RODS, - set(5060, 7005, 12709, 19727, 5956, 2901, 6219, 10498, 9149, 15846, 6256, 6365, 6367, 20815, 20824) -); - -local ENCHANTING_MATERIALS = set( - -- dust - 10940, 11083, 11137, 11176, 16204, 22445, - -- essence - 10938, 10939, 10998, 11082, 11134, 11135, 11174, 11175, 16202, 16203, 22447, 22446, - -- shard - 10978, 11084, 11138, 11139, 11177, 11178, 14343, 14344, 22448, 22449, - -- crystal - 20725, 22450 -) - -local HERBS = set(765, 785, 2447, 2449, 2450, 2452, 2453, 3355, 3356, 3357, 3358, 3369, 3818, 3819, 3820, 3821, 4625, 8153, 8831, 8836, 8838, 8839, 8845, 8846, 11040, 13463, 13464, 13465, 13466, 13467, 13468, 22710, 22785, 22786, 22787, 22788, 22789, 22790, 22791, 22792, 22793, 22794, 22795, 23501) - -local SEEDS = set(17034, 17035, 17036, 17037, 17038, 18297, 22147) - -local LEATHER = set(5116, 6470, 6471, 7286, 7287, 7392, 11512, 12607, 12731, 2934, 783, 2318, 4231, 5082, 5784, 2319, 4232, 4233, 4234, 4235, 4236, 4461, 8167, 4304, 8169, 8172, 8368, 8154, 8165, 8170, 8171, 15407, 15412, 15415, 15417, 15419, 15420, 17056, 15422, 15423) +local TOOLS = set(6218, 6339, 11130, 11145, 16207, 22461, 22462, 22463, 5060, 7005, 12709, 19727, 5956, 2901, 6219, 10498, 9149, 15846, 6256, 6365, 6367, 20815, 20824, 25978) local CLASSES = { + -- soul + { + containers = {22243, 22244, 21340, 21341, 21342, 21872}, + items = set(6265), + }, -- arrow { containers = {2101, 5439, 7278, 11362, 3573, 3605, 7371, 8217, 2662, 19319, 18714, 29143, 29144, 34105, 34100}, - items = set(2512, 2515, 3030, 3464, 9399, 11285, 12654, 18042, 19316, 28053, 31737, 10579, 34581, 28056, 31949, 24412, 24417, 30611, 33803, 30319), + items = set(2512, 2514, 2515, 3029, 3030, 3031, 3464, 9399, 10579, 11285, 12654, 18042, 19316, 24412, 24417, 28053, 28056, 30319, 30611, 31737, 31949, 32760, 33803, 34581), }, -- bullet { containers = {2102, 5441, 7279, 11363, 3574, 3604, 7372, 8218, 2663, 19320, 29118, 34106, 34099}, - items = set(2516, 2519, 3033, 3465, 4960, 5568, 8067, 8068, 8069, 10512, 10513, 11284, 11630, 13377, 15997, 19317, 30612, 32883, 32882, 28060, 28061, 23772, 23773, 34582, 31735), - }, - -- soul - { - containers = {22243, 22244, 21340, 21341, 21342, 21872}, - items = set(6265), + items = set(2516, 2519, 3033, 3465, 4960, 5568, 8067, 8068, 8069, 10512, 10513, 11284, 11630, 13377, 15997, 19317, 23772, 23773, 28060, 28061, 30612, 31735, 32761, 32882, 32883, 34582), }, -- ench { containers = {22246, 22248, 22249, 22249, 21858}, - items = union( - ENCHANTING_MATERIALS, - RODS - ), + items = arrayToSet({6218, 6222, 6339, 6342, 6343, 6344, 6345, 6346, 6347, 6348, 6349, 6375, 6376, 6377, 10938, 10939, 10940, 10978, 10998, 11038, 11039, 11081, 11082, 11083, 11084, 11098, 11101, 11130, 11134, 11135, 11137, 11138, 11139, 11145, 11150, 11151, 11152, 11163, 11164, 11165, 11166, 11167, 11168, 11174, 11175, 11176, 11177, 11178, 11202, 11203, 11204, 11205, 11206, 11207, 11208, 11223, 11224, 11225, 11226, 11813, 14343, 14344, 16202, 16203, 16204, 16207, 16214, 16215, 16216, 16217, 16218, 16219, 16220, 16221, 16222, 16223, 16224, 16242, 16243, 16244, 16245, 16246, 16247, 16248, 16249, 16250, 16251, 16252, 16253, 16254, 16255, 17725, 18259, 18260, 19444, 19445, 19446, 19447, 19448, 19449, 20725, 20726, 20727, 20728, 20729, 20730, 20731, 20732, 20733, 20734, 20735, 20736, 20752, 20753, 20754, 20755, 20756, 20757, 20758, 22392, 22445, 22446, 22447, 22448, 22449, 22450, 22461, 22462, 22463, 22530, 22531, 22532, 22533, 22534, 22535, 22536, 22537, 22538, 22539, 22540, 22541, 22542, 22543, 22544, 22545, 22546, 22547, 22548, 22551, 22552, 22553, 22554, 22555, 22556, 22557, 22558, 22559, 22560, 22561, 22562, 22563, 22564, 22565, 24000, 24003, 25848, 25849, 28270, 28271, 28272, 28273, 28274, 28276, 28277, 28279, 28280, 28281, 28282, 33148, 33149, 33150, 33151, 33152, 33153, 33165, 33307, 34872, 35297, 35298, 35299, 35498, 35500, 35756, 186683, 7081, 12810, 7068, 7972, 12808, 7067, 7075, 7076, 7077, 7078, 7080, 7082, 12803, 21885, 22451, 22456, 22457, 22572, 22576, 22577, 22578, 23571, 23572, 21886, 22575, 21884, 22452, 22573, 22574}), }, -- herb { containers = {22250, 22251, 22252, 38225}, - items = union( - HERBS, - SEEDS, - set(2263, 5168, 11020, 11022, 11024, 10286, 11018, 11514, 11951, 11952, 16205, 16208, 17760, 19727, 21886, 22094, 22575, 23788, 24246, 24401, 24245, 31300) - ), + items = arrayToSet({765, 785, 1401, 2263, 2447, 2449, 2450, 2452, 2453, 3355, 3356, 3357, 3358, 3369, 3818, 3819, 3820, 3821, 4625, 5013, 5056, 5168, 8831, 8836, 8838, 8839, 8845, 8846, 11018, 11020, 11022, 11024, 11040, 11514, 11951, 11952, 13463, 13464, 13465, 13466, 13467, 13468, 16205, 16208, 17034, 17035, 17036, 17037, 17038, 17760, 18297, 19727, 22094, 22147, 22710, 22785, 22786, 22787, 22788, 22789, 22790, 22791, 22792, 22793, 22794, 22795, 22797, 23329, 23501, 23788, 24245, 24246, 24401, 31300, 32468, 34465, 8153, 10286, 19726, 21886, 22575}), }, -- mining { containers = {29540, 30746}, - items = {}, + items = arrayToSet({756, 778, 1819, 1893, 1959, 2770, 2771, 2772, 2775, 2776, 2835, 2836, 2838, 2840, 2841, 2842, 2901, 3575, 3576, 3577, 3858, 3859, 3860, 3861, 6037, 7911, 7912, 10620, 11370, 11371, 12359, 12360, 12365, 12655, 17771, 18562, 20723, 22202, 22203, 23424, 23425, 23426, 23427, 23445, 23446, 23447, 23448, 23449, 23573, 32464, 35128, 5956, 21884, 22452, 22573, 22574, 24186, 24188, 24190, 24234, 24235, 24242, 24243}), }, -- leather { containers = {34482, 34490}, - items = union( - LEATHER, - set(4096, 12753, 18240, 18662, 7005, 2304, 2320, 2324, 2604, 4289, 6260, 2313, 2605, 2321, 3182, 4340, 4341, 7070, 7067, 4265, 4291, 5637, 7071, 7428, 3824, 4337, 5785, 6261, 2325, 8150, 8151, 8173, 8343, 8153, 8146, 8168, 7081, 7075, 7077, 4342, 10290, 14341, 15409, 15564, 15846) - ), + items = arrayToSet({783, 2304, 2313, 2318, 2319, 2320, 2321, 2324, 2325, 2406, 2407, 2408, 2409, 2604, 2605, 2934, 3182, 3824, 4096, 4231, 4232, 4233, 4234, 4235, 4236, 4265, 4289, 4291, 4293, 4294, 4295, 4296, 4297, 4298, 4299, 4300, 4301, 4304, 4337, 4340, 4341, 4342, 4461, 5082, 5083, 5116, 5373, 5637, 5784, 5785, 5786, 5787, 5788, 5789, 5972, 5973, 5974, 6260, 6261, 6470, 6471, 6474, 6475, 6476, 6710, 7005, 7070, 7071, 7286, 7287, 7288, 7289, 7290, 7360, 7361, 7362, 7363, 7364, 7392, 7428, 7449, 7450, 7451, 7452, 7453, 7613, 8146, 8150, 8151, 8154, 8165, 8167, 8168, 8169, 8170, 8171, 8172, 8173, 8343, 8368, 8384, 8385, 8386, 8387, 8388, 8389, 8390, 8395, 8397, 8398, 8399, 8400, 8401, 8402, 8403, 8404, 8405, 8406, 8407, 8408, 8409, 10290, 11512, 12607, 12709, 12731, 12753, 13287, 13288, 14341, 14635, 15407, 15408, 15409, 15410, 15412, 15414, 15415, 15416, 15417, 15419, 15420, 15422, 15423, 15564, 15725, 15726, 15727, 15728, 15729, 15730, 15731, 15732, 15733, 15734, 15735, 15737, 15738, 15739, 15740, 15741, 15742, 15743, 15744, 15745, 15746, 15747, 15748, 15749, 15751, 15752, 15753, 15754, 15755, 15756, 15757, 15758, 15759, 15760, 15761, 15762, 15763, 15764, 15765, 15768, 15769, 15770, 15771, 15772, 15773, 15774, 15775, 15776, 15777, 15779, 15781, 17012, 17022, 17023, 17025, 17056, 17722, 17967, 17968, 18239, 18240, 18251, 18252, 18512, 18514, 18515, 18516, 18517, 18518, 18519, 18662, 18731, 18949, 19326, 19327, 19328, 19329, 19330, 19331, 19332, 19333, 19767, 19768, 19769, 19770, 19771, 19772, 19773, 19901, 20253, 20254, 20381, 20382, 20498, 20499, 20500, 20501, 20506, 20507, 20508, 20509, 20510, 20511, 20576, 21548, 21887, 22692, 22694, 22695, 22696, 22697, 22698, 22769, 22770, 22771, 23793, 25649, 25650, 25651, 25652, 25699, 25700, 25707, 25708, 25720, 25721, 25722, 25725, 25726, 25728, 25729, 25730, 25731, 25732, 25733, 25734, 25735, 25736, 25737, 25738, 25739, 25740, 25741, 25742, 25743, 29213, 29214, 29215, 29217, 29218, 29219, 29483, 29485, 29486, 29487, 29488, 29528, 29529, 29530, 29531, 29532, 29533, 29534, 29535, 29536, 29539, 29547, 29548, 29664, 29669, 29672, 29673, 29674, 29675, 29677, 29682, 29684, 29689, 29691, 29693, 29698, 29700, 29701, 29702, 29703, 29704, 29713, 29714, 29717, 29718, 29719, 29720, 29721, 29722, 29723, 29724, 29725, 29726, 29727, 29728, 29729, 29730, 29731, 29732, 29733, 29734, 30183, 30301, 30302, 30303, 30304, 30305, 30306, 30307, 30308, 30444, 31361, 31362, 32428, 32429, 32430, 32431, 32432, 32433, 32434, 32435, 32436, 32470, 32744, 32745, 32746, 32747, 32748, 32749, 32750, 32751, 33124, 33205, 34172, 34173, 34174, 34175, 34200, 34201, 34207, 34218, 34262, 34330, 34491, 34664, 35212, 35213, 35214, 35215, 35216, 35217, 35218, 35219, 35300, 35301, 35302, 35303, 35517, 35519, 35520, 35521, 35523, 35524, 35527, 35528, 35539, 35540, 35541, 35542, 35545, 35546, 35549, 35550, 185848, 185849, 185850, 185851, 185852, 185922, 185923, 185924, 185925, 185926, 187048, 187049, 8153, 7081, 12810, 15846, 19726, 7067, 7075, 7076, 7077, 7078, 7080, 7082, 12803, 21885, 22451, 22456, 22457, 22572, 22576, 22577, 22578, 23571, 23572, 21886, 22575, 21884, 22452, 22573, 22574}), }, -- gems { containers = {24270, 30747}, - items = {}, + items = arrayToSet({774, 818, 1206, 1210, 1529, 1705, 3864, 5498, 5500, 5513, 5514, 7909, 7910, 7971, 8007, 8008, 11382, 11754, 12361, 12363, 12364, 12799, 12800, 13926, 18335, 19774, 20815, 20824, 21929, 22044, 22459, 22460, 23077, 23079, 23094, 23095, 23096, 23097, 23098, 23099, 23100, 23101, 23103, 23104, 23105, 23106, 23107, 23108, 23109, 23110, 23111, 23112, 23113, 23114, 23115, 23116, 23117, 23118, 23119, 23120, 23121, 23158, 23234, 23364, 23366, 23436, 23437, 23438, 23439, 23440, 23441, 24027, 24028, 24029, 24030, 24031, 24032, 24033, 24035, 24036, 24037, 24039, 24047, 24048, 24050, 24051, 24052, 24053, 24054, 24055, 24056, 24057, 24058, 24059, 24060, 24061, 24062, 24065, 24066, 24067, 24478, 24479, 25867, 25868, 25890, 25893, 25894, 25895, 25896, 25897, 25898, 25899, 25901, 27679, 27774, 27777, 27785, 27786, 27809, 27811, 27812, 27820, 27863, 27864, 28117, 28118, 28119, 28120, 28122, 28123, 28290, 28360, 28361, 28362, 28363, 28458, 28459, 28460, 28461, 28462, 28463, 28464, 28465, 28466, 28467, 28468, 28469, 28470, 28556, 28557, 28595, 30546, 30547, 30548, 30549, 30550, 30551, 30552, 30553, 30554, 30555, 30556, 30558, 30559, 30560, 30563, 30564, 30565, 30566, 30571, 30572, 30573, 30574, 30575, 30581, 30582, 30583, 30584, 30585, 30586, 30587, 30588, 30589, 30590, 30591, 30592, 30593, 30594, 30598, 30600, 30601, 30602, 30603, 30604, 30605, 30606, 30607, 30608, 31079, 31080, 31116, 31117, 31118, 31860, 31861, 31862, 31863, 31864, 31865, 31866, 31867, 31868, 31869, 32193, 32194, 32195, 32196, 32197, 32198, 32199, 32200, 32201, 32202, 32203, 32204, 32205, 32206, 32207, 32208, 32209, 32210, 32211, 32212, 32213, 32214, 32215, 32216, 32217, 32218, 32219, 32220, 32221, 32222, 32223, 32224, 32225, 32226, 32227, 32228, 32229, 32230, 32231, 32249, 32409, 32410, 32634, 32635, 32636, 32637, 32638, 32639, 32640, 32641, 32735, 32775, 32833, 32836, 33131, 33132, 33133, 33134, 33135, 33137, 33138, 33139, 33140, 33141, 33142, 33143, 33144, 33633, 33782, 34220, 34256, 34831, 35315, 35316, 35318, 35487, 35488, 35489, 35501, 35503, 35707, 35758, 35759, 35760, 35761, 37503, 38545, 38546, 38547, 38548, 38549, 38550, 24186, 24188, 24190, 24234, 24235, 24242, 24243}), }, -- engineering { containers = {23774, 23775, 30745}, - items = {}, + items = arrayToSet({814, 4357, 4358, 4359, 4360, 4361, 4363, 4364, 4365, 4366, 4367, 4368, 4370, 4371, 4373, 4374, 4375, 4376, 4377, 4378, 4380, 4381, 4382, 4384, 4385, 4386, 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4394, 4395, 4396, 4397, 4398, 4399, 4400, 4403, 4404, 4405, 4406, 4407, 4408, 4409, 4410, 4411, 4412, 4413, 4414, 4415, 4416, 4417, 4852, 5507, 6219, 6672, 6712, 6714, 6715, 6716, 7069, 7148, 7189, 7190, 7191, 7192, 7506, 7560, 7561, 7742, 9060, 9061, 9312, 9313, 9318, 10498, 10499, 10500, 10501, 10502, 10503, 10504, 10505, 10506, 10507, 10514, 10518, 10542, 10543, 10545, 10546, 10548, 10558, 10559, 10560, 10561, 10562, 10576, 10577, 10580, 10585, 10586, 10587, 10588, 10601, 10602, 10603, 10604, 10605, 10606, 10607, 10608, 10609, 10645, 10646, 10647, 10648, 10716, 10720, 10721, 10723, 10724, 10725, 10726, 10727, 10790, 10791, 11590, 11827, 11828, 13308, 13309, 13310, 13311, 14639, 15992, 15993, 15994, 15999, 16000, 16005, 16006, 16008, 16009, 16022, 16023, 16040, 16041, 16042, 16043, 16044, 16045, 16046, 16047, 16048, 16049, 16050, 16051, 16052, 16053, 16054, 16055, 16056, 17716, 17720, 18232, 18235, 18283, 18290, 18291, 18292, 18587, 18588, 18594, 18631, 18634, 18636, 18637, 18638, 18639, 18641, 18645, 18647, 18648, 18649, 18650, 18651, 18652, 18653, 18654, 18655, 18656, 18657, 18658, 18660, 18661, 18984, 18986, 19026, 19027, 19998, 19999, 20000, 20001, 20475, 20816, 20834, 21557, 21558, 21559, 21571, 21574, 21576, 21589, 21590, 21592, 21714, 21716, 21718, 21724, 21725, 21726, 21727, 21728, 21729, 21730, 21731, 21732, 21733, 21734, 21735, 21737, 21738, 22728, 22729, 23736, 23737, 23758, 23761, 23762, 23763, 23764, 23765, 23766, 23768, 23769, 23770, 23771, 23781, 23782, 23783, 23784, 23785, 23786, 23787, 23799, 23800, 23802, 23803, 23804, 23805, 23806, 23807, 23808, 23809, 23810, 23811, 23812, 23813, 23814, 23815, 23816, 23817, 23819, 23820, 23821, 23822, 23823, 23824, 23825, 23826, 23827, 23828, 23829, 23831, 23832, 23835, 23836, 23838, 23839, 23840, 23841, 23874, 23882, 23883, 23884, 23887, 23888, 25886, 25887, 30542, 30544, 31666, 32381, 32413, 32423, 32461, 32472, 32473, 32474, 32475, 32476, 32478, 32479, 32480, 32494, 32495, 33092, 33093, 33804, 34060, 34061, 34113, 34114, 34353, 34354, 34355, 34356, 34357, 34467, 34503, 34504, 34626, 34627, 34847, 35181, 35182, 35183, 35184, 35185, 35186, 35187, 35189, 35190, 35191, 35192, 35193, 35194, 35195, 35196, 35197, 35310, 35311, 35485, 35581, 35582, 37567, 15846, 10286, 19726, 7068, 7972, 12808, 7067, 7075, 7076, 7077, 7078, 7080, 7082, 12803, 21885, 22451, 22456, 22457, 22572, 22576, 22577, 22578, 23571, 23572, 21886, 22575, 5956, 21884, 22452, 22573, 22574, 4401, 11825, 11826, 15996, 21277, 23767, 37710}), }, } @@ -502,11 +478,11 @@ function Item(container, position) -- soul shards elseif itemID == 6265 then - tinsert(sortKey, 14) + tinsert(sortKey, 13) -- conjured items elseif conjured then - tinsert(sortKey, 15) + tinsert(sortKey, 14) -- soulbound items elseif soulbound then @@ -524,26 +500,18 @@ function Item(container, position) elseif usable and classId ~= 1 and classId ~= 2 and classId ~= 8 or classId == 4 then tinsert(sortKey, 8) - -- enchanting materials - elseif ENCHANTING_MATERIALS[itemID] then - tinsert(sortKey, 11) - - -- herbs - elseif HERBS[itemID] then - tinsert(sortKey, 12) - -- higher quality elseif quality > 1 then tinsert(sortKey, 10) -- common quality elseif quality == 1 then - tinsert(sortKey, 13) + tinsert(sortKey, 11) tinsert(sortKey, -sellPrice) -- junk elseif quality == 0 then - tinsert(sortKey, 14) + tinsert(sortKey, 12) tinsert(sortKey, sellPrice) end diff --git a/KkthnxUI/Modules/Maps/Minimap.lua b/KkthnxUI/Modules/Maps/Minimap.lua index 3e9a3e5..71a24f5 100644 --- a/KkthnxUI/Modules/Maps/Minimap.lua +++ b/KkthnxUI/Modules/Maps/Minimap.lua @@ -186,13 +186,13 @@ function Module:ReskinRegions() if MiniMapMailFrame then MiniMapMailFrame:ClearAllPoints() if C["DataText"].Time then - MiniMapMailFrame:SetPoint("BOTTOM", Minimap, "BOTTOM", 0, -4) + MiniMapMailFrame:SetPoint("BOTTOM", Minimap, "BOTTOM", 0, 4) else MiniMapMailFrame:SetPoint("BOTTOM", Minimap, "BOTTOM", 0, -12) end - MiniMapMailIcon:SetTexture("Interface\\HELPFRAME\\ReportLagIcon-Mail") - MiniMapMailFrame:SetScale(1.8) - MiniMapMailIcon:SetRotation(rad(-27.5)) + MiniMapMailIcon:SetTexture("Interface\\MINIMAP\\TRACKING\\Mailbox") + MiniMapMailFrame:SetScale(1.2) + MiniMapMailIcon:SetRotation(rad(-34.5)) MiniMapMailFrame:SetHitRectInsets(11, 11, 11, 15) end diff --git a/KkthnxUI/Modules/Miscellaneous/Core.lua b/KkthnxUI/Modules/Miscellaneous/Core.lua index 929ffed..8a58d9c 100644 --- a/KkthnxUI/Modules/Miscellaneous/Core.lua +++ b/KkthnxUI/Modules/Miscellaneous/Core.lua @@ -2,30 +2,34 @@ local K, C, L = unpack(select(2, ...)) local Module = K:NewModule("Miscellaneous") local _G = _G -local select = _G.select +local table_insert = _G.table.insert +local string_gsub = _G.string.gsub +local table_wipe = _G.table.wipe local BNGetGameAccountInfoByGUID = _G.BNGetGameAccountInfoByGUID local C_FriendList_IsFriend = _G.C_FriendList.IsFriend -local C_QuestLog_ShouldShowQuestRewards = _G.C_QuestLog.ShouldShowQuestRewards +local C_QuestLog_GetQuestInfo = _G.C_QuestLog.GetQuestInfo local FRIEND = _G.FRIEND local GUILD = _G.GUILD +local GetFileIDFromPath = _G.GetFileIDFromPath local GetItemInfo = _G.GetItemInfo local GetItemQualityColor = _G.GetItemQualityColor local GetMerchantItemLink = _G.GetMerchantItemLink local GetMerchantItemMaxStack = _G.GetMerchantItemMaxStack -local GetQuestLogRewardXP = _G.GetQuestLogRewardXP -local GetRewardXP = _G.GetRewardXP +local GetNumQuestLogEntries = _G.GetNumQuestLogEntries +local GetQuestLogTitle = _G.GetQuestLogTitle local InCombatLockdown = _G.InCombatLockdown local IsAltKeyDown = _G.IsAltKeyDown local IsGuildMember = _G.IsGuildMember +local IsQuestComplete = _G.IsQuestComplete +local MAX_NUM_QUESTS = _G.MAX_NUM_QUESTS or 25 local NO = _G.NO +local NUMGOSSIPBUTTONS = _G.NUMGOSSIPBUTTONS or 32 local PlaySound = _G.PlaySound local StaticPopupDialogs = _G.StaticPopupDialogs local StaticPopup_Show = _G.StaticPopup_Show local UIParent = _G.UIParent local UnitGUID = _G.UnitGUID -local UnitXP = _G.UnitXP -local UnitXPMax = _G.UnitXPMax local YES = _G.YES local hooksecurefunc = _G.hooksecurefunc @@ -128,6 +132,7 @@ do if not itemLink then return end + BuyMerchantItem(id, GetMerchantItemMaxStack(id)) cache[itemLink] = true itemLink = nil @@ -316,6 +321,109 @@ function Module:CreateMenuButton_Add() hooksecurefunc("UnitPopup_ShowMenu", Module.MenuButton_Show) end +do + -- Sourced: https://www.curseforge.com/wow/addons/questframefixer + if not IsAddOnLoaded("QuestFrameFixer") then + local ACTIVE_QUEST_ICON_FILEID = GetFileIDFromPath("Interface\\GossipFrame\\ActiveQuestIcon") + local AVAILABLE_QUEST_ICON_FILEID = GetFileIDFromPath("Interface\\GossipFrame\\AvailableQuestIcon") + + local titleLines = {} + local questIconTextures = {} + + for i = 1, MAX_NUM_QUESTS do + local titleLine = _G["QuestTitleButton" .. i] + table_insert(titleLines, titleLine) + table_insert(questIconTextures, _G[titleLine:GetName() .. "QuestIcon"]) + end + + QuestFrameGreetingPanel:HookScript("OnShow", function() + for i, titleLine in ipairs(titleLines) do + if (titleLine:IsVisible()) then + local bulletPointTexture = questIconTextures[i] + if (titleLine.isActive == 1) then + bulletPointTexture:SetTexture(ACTIVE_QUEST_ICON_FILEID) + else + bulletPointTexture:SetTexture(AVAILABLE_QUEST_ICON_FILEID) + end + end + end + end) + end + + -- Sourced: https://www.curseforge.com/wow/addons/quest-icon-desaturation + if not IsAddOnLoaded("QuestIconDesaturation") then + local escapes = { + ["|c%x%x%x%x%x%x%x%x"] = "", -- color start + ["|r"] = "" -- color end + } + + local function unescape(str) + for k, v in pairs(escapes) do + str = string_gsub(str, k, v) + end + + return str + end + + local completedActiveQuests = {} + local function getCompletedQuestsInLog() + table_wipe(completedActiveQuests) + local numEntries = GetNumQuestLogEntries() + local questLogTitleText, isComplete, questId, _ + for i = 1, numEntries, 1 do + _, _, _, _, _, isComplete, _, questId = GetQuestLogTitle(i) + if (isComplete == 1 or IsQuestComplete(questId)) then + questLogTitleText = C_QuestLog_GetQuestInfo(questId) + completedActiveQuests[questLogTitleText] = true + end + end + + return completedActiveQuests + end + + local function setDesaturation(maxLines, lineMap, iconMap, activePred) + local completedQuests = getCompletedQuestsInLog() + for i = 1, maxLines do + local line = lineMap[i] + local icon = iconMap[i] + icon:SetDesaturated(nil) + if (line:IsVisible() and activePred(line)) then + local questName = unescape(line:GetText()) + if (not completedQuests[questName]) then + icon:SetDesaturated(1) + end + end + end + end + + local function getLineAndIconMaps(maxLines, titleIdent, iconIdent) + local lines = {} + local icons = {} + for i = 1, maxLines do + local titleLine = _G[titleIdent .. i] + table_insert(lines, titleLine) + table_insert(icons, _G[titleLine:GetName() .. iconIdent]) + end + + return lines, icons + end + + local questFrameTitleLines, questFrameIconTextures = getLineAndIconMaps(MAX_NUM_QUESTS, "QuestTitleButton", "QuestIcon") + QuestFrameGreetingPanel:HookScript("OnShow", function() + setDesaturation(MAX_NUM_QUESTS, questFrameTitleLines, questFrameIconTextures, function(line) + return line.isActive == 1 + end) + end) + + local gossipFrameTitleLines, gossipFrameIconTextures = getLineAndIconMaps(NUMGOSSIPBUTTONS, "GossipTitleButton", "GossipIcon") + hooksecurefunc("GossipFrameUpdate", function() + setDesaturation(NUMGOSSIPBUTTONS, gossipFrameTitleLines, gossipFrameIconTextures, function(line) + return line.type == "Active" + end) + end) + end +end + function Module:OnEnable() self:CharacterStatePanel() self:CreateAFKCam() diff --git a/KkthnxUI/Modules/Miscellaneous/Elements/CharacterStatPanel.lua b/KkthnxUI/Modules/Miscellaneous/Elements/CharacterStatPanel.lua index 6cb0025..ee66b67 100644 --- a/KkthnxUI/Modules/Miscellaneous/Elements/CharacterStatPanel.lua +++ b/KkthnxUI/Modules/Miscellaneous/Elements/CharacterStatPanel.lua @@ -76,7 +76,7 @@ local function UpdateCategoriesAnchor() local prev for _, frame in pairs(framesToSort) do if not prev then - frame:SetPoint("TOP", 0, -35) + frame:SetPoint("TOP", 0, -104) else frame:SetPoint("TOP", prev, "BOTTOM") end @@ -135,13 +135,14 @@ end local function CreateStatRow(parent, index) local frame = CreateFrame("Frame", "$parentRow"..index, parent, "StatFrameTemplate") frame:SetWidth(180) - frame:SetPoint("TOP", parent.header, "BOTTOM", 0, -2 - (index-1)*16) + frame:SetPoint("TOP", parent.header, "BOTTOM", 0, -2 - (index - 1) * 16) local background = frame:CreateTexture(nil, "BACKGROUND") background:SetAtlas("UI-Character-Info-Line-Bounce", true) - background:SetAlpha(.3) + background:SetAlpha(0.3) background:SetPoint("CENTER") background:SetShown(index % 2 == 0) + frame.background = background return frame end @@ -153,12 +154,95 @@ local function CreateHeaderArrow(parent, direct, func) local bu = CreateFrame("Button", nil, parent) bu:SetPoint(direct, parent.header, xOffset, 0) - K.ReskinArrow(bu, arrowDirec) + K.ReskinArrow(bu, arrowDirec, false) bu:SetSize(14, 14) bu.__owner = parent bu:SetScript("OnClick", func) end +local function CreatePlayerILvl(parent, category) + local frame = CreateFrame("Frame", "KKUI_StatCategoryIlvl", parent) + frame:SetWidth(200) + frame:SetHeight(42 + 16) + frame:SetPoint("TOP", 0, -30) + + local header = CreateFrame("Frame", "$parentHeader", frame, "CharacterStatFrameCategoryTemplate") + header:SetPoint("TOP") + header.Background:Hide() + header.Title:SetText(category) + header.Title:SetTextColor(cr, cg, cb) + frame.header = header + + local line = frame:CreateTexture(nil, "ARTWORK") + line:SetSize(180, K.Mult) + line:SetPoint("BOTTOM", header, 0, 6) + line:SetColorTexture(1, 1, 1, .25) + + local iLvlFrame = CreateStatRow(frame, 1) + iLvlFrame:SetHeight(30) + iLvlFrame.background:Show() + iLvlFrame.background:SetAtlas("UI-Character-Info-ItemLevel-Bounce", true) + + M.PlayerILvl = K.CreateFontString(iLvlFrame, 20) +end + +local function GetItemSlotLevel(unit, index) + local level + local itemLink = GetInventoryItemLink(unit, index) + if itemLink then + level = select(4, GetItemInfo(itemLink)) + end + return tonumber(level) or 0 +end + +local function GetILvlTextColor(level) + if level >= 150 then + return 1, .5, 0 + elseif level >= 115 then + return .63, .2, .93 + elseif level >= 80 then + return 0, .43, .87 + elseif level >= 45 then + return .12, 1, 0 + else + return 1, 1, 1 + end +end + +function M:UpdatePlayerILvl() + if not M.PlayerILvl then return end + + local total, level = 0 + for index = 1, 15 do + if index ~= 4 then + level = GetItemSlotLevel("player", index) + if level > 0 then + total = total + level + end + end + end + + local mainhand = GetItemSlotLevel("player", 16) + local offhand = GetItemSlotLevel("player", 17) + local ranged = GetItemSlotLevel("player", 18) + + --[[ + Note: We have to unify iLvl with others who use MerInspect, + although it seems incorrect for Hunter with two melee weapons. + ]] + if mainhand > 0 and offhand > 0 then + total = total + mainhand + offhand + elseif offhand > 0 and ranged > 0 then + total = total + offhand + ranged + else + total = total + max(mainhand, offhand, ranged) * 2 + end + + local average = K.Round(total / 16, 1) + M.PlayerILvl:SetText(average) + M.PlayerILvl:SetTextColor(GetILvlTextColor(average)) +end + local function CreateStatHeader(parent, index, category) local maxLines = index == 5 and 5 or 6 local frame = CreateFrame("Frame", "KKUI_StatCategory"..index, parent) @@ -178,7 +262,7 @@ local function CreateStatHeader(parent, index, category) CreateHeaderArrow(frame, "RIGHT", Arrow_GoDown) local line = frame:CreateTexture(nil, "ARTWORK") - line:SetSize(180, 1) + line:SetSize(180, K.Mult) line:SetPoint("BOTTOM", header, 0, 6) line:SetColorTexture(1, 1, 1, .25) @@ -268,6 +352,10 @@ function M:CharacterStatePanel() scrollBar:SetValue(scrollBar:GetValue() - step) end) + -- Player iLvl + CreatePlayerILvl(stat, "ItemLevel") + hooksecurefunc("PaperDollFrame_UpdateStats", M.UpdatePlayerILvl) + local categories = { "PLAYERSTAT_BASE_STATS", "PLAYERSTAT_DEFENSES", diff --git a/KkthnxUI/Modules/Miscellaneous/Elements/MouseTrail.lua b/KkthnxUI/Modules/Miscellaneous/Elements/MouseTrail.lua index f885eea..3da4ae3 100644 --- a/KkthnxUI/Modules/Miscellaneous/Elements/MouseTrail.lua +++ b/KkthnxUI/Modules/Miscellaneous/Elements/MouseTrail.lua @@ -22,7 +22,7 @@ local function OnUpdate(_, elapsed) local weight = 2048 ^ -elapsed speed = min(weight * speed + (1 - weight) * sqrt(dX * dX + dY * dY) / elapsed, 1024) - local size = speed / 12 + local size = speed / 6 - 16 if size > 0 then local scale = UIParent:GetEffectiveScale() Module.Texture:SetSize(size, size) @@ -36,10 +36,10 @@ end function Module:CreateMouseTrail() if C["Misc"].MouseTrail then - Module.Frame = CreateFrame("Frame", nil, UIParent) + Module.Frame = Module.Frame or CreateFrame("Frame", nil, UIParent) Module.Frame:SetFrameStrata("TOOLTIP") - Module.Texture = Module.Frame:CreateTexture() + Module.Texture = Module.Texture or Module.Frame:CreateTexture() Module.Texture:SetTexture([[Interface\AddOns\KkthnxUI\Media\Textures\Aura73]]) -- Create texture picker dropdown in future? Module.Frame:SetScript("OnUpdate", OnUpdate) diff --git a/KkthnxUI/Modules/Tooltip/Elements/VendorPrice.lua b/KkthnxUI/Modules/Tooltip/Elements/VendorPrice.lua index 9760ed7..512bbdc 100644 --- a/KkthnxUI/Modules/Tooltip/Elements/VendorPrice.lua +++ b/KkthnxUI/Modules/Tooltip/Elements/VendorPrice.lua @@ -28,7 +28,7 @@ local function SetupVendorPrice(tooltip, tooltipObject) if classID and classID == 11 then -- Fix for quiver/ammo pouch so ammo is not included count = 1 end - SetTooltipMoney(tooltip, sellPrice * count, "STATIC", SELL_PRICE .. ":") + SetTooltipMoney(tooltip, sellPrice * count, nil, string.format("%s:", SELL_PRICE)) end end diff --git a/KkthnxUI/Modules/UnitFrames/Core.lua b/KkthnxUI/Modules/UnitFrames/Core.lua index 69ad713..f3b645a 100644 --- a/KkthnxUI/Modules/UnitFrames/Core.lua +++ b/KkthnxUI/Modules/UnitFrames/Core.lua @@ -749,7 +749,7 @@ function Module:CreateUnits() K.Mover(FocusTarget, "FocusTarget", "FocusTarget", {"TOPRIGHT", Focus, "BOTTOMLEFT", -6, -6}, FocusTargetFrameWidth, FocusTargetFrameHeight) end - K.HideInterfaceOption(InterfaceOptionsCombatPanelTargetOfTarget) + --K.HideInterfaceOption(InterfaceOptionsCombatPanelTargetOfTarget) K:RegisterEvent("PLAYER_TARGET_CHANGED", Module.PLAYER_TARGET_CHANGED) K:RegisterEvent("PLAYER_FOCUS_CHANGED", Module.PLAYER_FOCUS_CHANGED) K:RegisterEvent("UNIT_FACTION", Module.UNIT_FACTION) diff --git a/KkthnxUI/Modules/UnitFrames/Groups/Party.lua b/KkthnxUI/Modules/UnitFrames/Groups/Party.lua index f7a6638..a7198ff 100644 --- a/KkthnxUI/Modules/UnitFrames/Groups/Party.lua +++ b/KkthnxUI/Modules/UnitFrames/Groups/Party.lua @@ -77,9 +77,9 @@ function Module:CreateParty() self.Name:SetFontObject(UnitframeFont) self.Name:SetWordWrap(false) if C["Party"].HealthbarColor.Value == "Class" then - self:Tag(self.Name, "[afkdnd][leadassist][name]") + self:Tag(self.Name, "[leadassist][name]") else - self:Tag(self.Name, "[afkdnd][leadassist][color][name]") + self:Tag(self.Name, "[leadassist][color][name]") end if C["Unitframe"].PortraitStyle.Value == "ThreeDPortraits" then @@ -233,7 +233,7 @@ function Module:CreateParty() -- self.StatusIndicator:SetPoint("CENTER", 0, 0.5) -- self.StatusIndicator:SetFontObject(UnitframeFont) -- self.StatusIndicator:SetFont(select(1, self.StatusIndicator:GetFont()), 10, select(3, self.StatusIndicator:GetFont())) - -- self:Tag(self.StatusIndicator, "[afkdnd]") + -- self:Tag(self.StatusIndicator, "") if (C["Party"].TargetHighlight) then self.TargetHighlight = CreateFrame("Frame", nil, self.Overlay, "BackdropTemplate") diff --git a/KkthnxUI/Modules/UnitFrames/Groups/Raid.lua b/KkthnxUI/Modules/UnitFrames/Groups/Raid.lua index 1b9c44a..7b80088 100644 --- a/KkthnxUI/Modules/UnitFrames/Groups/Raid.lua +++ b/KkthnxUI/Modules/UnitFrames/Groups/Raid.lua @@ -147,7 +147,7 @@ function Module:CreateRaid() self.Name:SetPoint("BOTTOMRIGHT", self, "TOPRIGHT", -3, -15) self.Name:SetFontObject(RaidframeFont) self.Name:SetWordWrap(false) - self:Tag(self.Name, "[afkdnd][name]") + self:Tag(self.Name, "[name]") self.Overlay = CreateFrame("Frame", nil, self) self.Overlay:SetAllPoints(self.Health) @@ -185,7 +185,7 @@ function Module:CreateRaid() -- self.StatusIndicator:SetFontObject(RaidframeFont) -- self.StatusIndicator:SetFont(select(1, self.StatusIndicator:GetFont()), 10, select(3, self.StatusIndicator:GetFont())) -- self.StatusIndicator:SetTextColor(1, 0, 0) - -- self:Tag(self.StatusIndicator, "[afkdnd]") + -- self:Tag(self.StatusIndicator, "") end if C["Raid"].RaidBuffsStyle.Value == "Aura Track" then diff --git a/KkthnxUI/Modules/UnitFrames/Tags.lua b/KkthnxUI/Modules/UnitFrames/Tags.lua index c34565d..edb86a1 100644 --- a/KkthnxUI/Modules/UnitFrames/Tags.lua +++ b/KkthnxUI/Modules/UnitFrames/Tags.lua @@ -73,7 +73,7 @@ local function GetUnitHealthPerc(unit) end oUF.Tags.Methods["hp"] = function(unit) - if UnitIsDeadOrGhost(unit) or not UnitIsConnected(unit) or UnitIsFeignDeath(unit) then + if UnitIsDeadOrGhost(unit) or not UnitIsConnected(unit) or UnitIsFeignDeath(unit) or UnitIsAFK(unit) or UnitIsDND(unit) then return oUF.Tags.Methods["DDG"](unit) else local per = GetUnitHealthPerc(unit) or 0 @@ -118,15 +118,6 @@ oUF.Tags.Methods["color"] = function(unit) end oUF.Tags.Events["color"] = "UNIT_HEALTH UNIT_MAXHEALTH UNIT_NAME_UPDATE UNIT_FACTION UNIT_CONNECTION PLAYER_FLAGS_CHANGED" -oUF.Tags.Methods["afkdnd"] = function(unit) - if UnitIsAFK(unit) then - return "|TInterface/FriendsFrame/StatusIcon-Away:16:16|t" - elseif UnitIsDND(unit) then - return "|TInterface/FriendsFrame/StatusIcon-DnD:16:16|t" - end -end -oUF.Tags.Events["afkdnd"] = "PLAYER_FLAGS_CHANGED" - oUF.Tags.Methods["DDG"] = function(unit) if UnitIsFeignDeath(unit) then return "|cffffffff"..GetFeignDeathTag().."|r" @@ -136,6 +127,10 @@ oUF.Tags.Methods["DDG"] = function(unit) return "|cffCFCFCF"..L["Ghost"].."|r" elseif not UnitIsConnected(unit) then return "|cffCFCFCF"..PLAYER_OFFLINE.."|r" + elseif UnitIsAFK(unit) then + return "|cffCFCFCF"..AFK.."|r" + elseif UnitIsDND(unit) then + return "|cffCFCFCF"..DND.."|r" end end oUF.Tags.Events["DDG"] = "UNIT_HEALTH UNIT_MAXHEALTH UNIT_NAME_UPDATE UNIT_CONNECTION PLAYER_FLAGS_CHANGED" diff --git a/KkthnxUI/Modules/UnitFrames/Units/Focus.lua b/KkthnxUI/Modules/UnitFrames/Units/Focus.lua index 3be63f3..7ef1aa5 100644 --- a/KkthnxUI/Modules/UnitFrames/Units/Focus.lua +++ b/KkthnxUI/Modules/UnitFrames/Units/Focus.lua @@ -86,9 +86,9 @@ function Module:CreateFocus() self.Name:SetFontObject(UnitframeFont) self.Name:SetWordWrap(false) if C["Unitframe"].HealthbarColor.Value == "Class" then - self:Tag(self.Name, "[name][afkdnd]") + self:Tag(self.Name, "[name]") else - self:Tag(self.Name, "[color][name][afkdnd]") + self:Tag(self.Name, "[color][name]") end -- Level diff --git a/KkthnxUI/Modules/UnitFrames/Units/Nameplates.lua b/KkthnxUI/Modules/UnitFrames/Units/Nameplates.lua index 4e38d0b..07d38d3 100644 --- a/KkthnxUI/Modules/UnitFrames/Units/Nameplates.lua +++ b/KkthnxUI/Modules/UnitFrames/Units/Nameplates.lua @@ -4,7 +4,6 @@ local Module = K:GetModule("Unitframes") local _G = _G local math_rad = _G.math.rad local pairs = _G.pairs -local string_format = _G.string.format local string_match = _G.string.match local table_wipe = _G.table.wipe local tonumber = _G.tonumber @@ -12,22 +11,14 @@ local unpack = _G.unpack local Ambiguate = _G.Ambiguate local C_NamePlate_GetNamePlateForUnit = _G.C_NamePlate.GetNamePlateForUnit -local C_NamePlate_SetNamePlateEnemySize = _G.C_NamePlate.SetNamePlateEnemySize -local C_NamePlate_SetNamePlateFriendlySize = _G.C_NamePlate.SetNamePlateFriendlySize local CreateFrame = _G.CreateFrame -local GetInstanceInfo = _G.GetInstanceInfo -local GetNumGroupMembers = _G.GetNumGroupMembers -local GetNumSubgroupMembers = _G.GetNumSubgroupMembers local GetPlayerInfoByGUID = _G.GetPlayerInfoByGUID local INTERRUPTED = _G.INTERRUPTED local InCombatLockdown = _G.InCombatLockdown -local IsInGroup = _G.IsInGroup -local IsInRaid = _G.IsInRaid local SetCVar = _G.SetCVar local UnitClassification = _G.UnitClassification local UnitExists = _G.UnitExists local UnitGUID = _G.UnitGUID -local UnitGroupRolesAssigned = _G.UnitGroupRolesAssigned local UnitIsConnected = _G.UnitIsConnected local UnitIsPlayer = _G.UnitIsPlayer local UnitIsTapDenied = _G.UnitIsTapDenied @@ -38,13 +29,8 @@ local UnitReaction = _G.UnitReaction local UnitThreatSituation = _G.UnitThreatSituation local hooksecurefunc = _G.hooksecurefunc -local aksCacheData = {} local customUnits = {} -local explosivesID = 120651 -local groupRoles = {} local guidToPlate = {} -local hasExplosives -local isInGroup local isInInstance local isTargetClassPower local showPowerList = {} @@ -949,7 +935,7 @@ function Module:UpdatePlateByType() end name:SetJustifyH("CENTER") - self:Tag(name, "[afkdnd][color][name] [nplevel]") + self:Tag(name, "[color][name] [nplevel]") name:UpdateTag() name:SetPoint("CENTER", self, "BOTTOM") diff --git a/KkthnxUI/Modules/UnitFrames/Units/Player.lua b/KkthnxUI/Modules/UnitFrames/Units/Player.lua index 0032cac..8980692 100644 --- a/KkthnxUI/Modules/UnitFrames/Units/Player.lua +++ b/KkthnxUI/Modules/UnitFrames/Units/Player.lua @@ -306,15 +306,15 @@ function Module:CreatePlayer() self.Name:SetFontObject(UnitframeFont) if C["Unitframe"].PortraitStyle.Value == "NoPortraits" then if C["Unitframe"].HealthbarColor.Value == "Class" then - self:Tag(self.Name, "[name] [fulllevel][afkdnd]") + self:Tag(self.Name, "[name] [fulllevel]") else - self:Tag(self.Name, "[color][name] [fulllevel][afkdnd]") + self:Tag(self.Name, "[color][name] [fulllevel]") end else if C["Unitframe"].HealthbarColor.Value == "Class" then - self:Tag(self.Name, "[name][afkdnd]") + self:Tag(self.Name, "[name]") else - self:Tag(self.Name, "[color][name][afkdnd]") + self:Tag(self.Name, "[color][name]") end end end @@ -420,14 +420,14 @@ function Module:CreatePlayer() self.FloatingCombatFeedback.abbreviateNumbers = true -- Turn off Blizzard's default combat text. - SetCVar("enableFloatingCombatText", 0) - SetCVar("floatingCombatTextCombatHealing", 0) - SetCVar("floatingCombatTextCombatDamage", 0) - SHOW_COMBAT_TEXT = "0" - if (CombatText_UpdateDisplayedMessages) then - CombatText_UpdateDisplayedMessages() - end - K.HideInterfaceOption(InterfaceOptionsCombatPanelEnableFloatingCombatText) + -- SetCVar("enableFloatingCombatText", 0) + -- SetCVar("floatingCombatTextCombatHealing", 0) + -- SetCVar("floatingCombatTextCombatDamage", 0) + -- SHOW_COMBAT_TEXT = "0" + -- if (CombatText_UpdateDisplayedMessages) then + -- CombatText_UpdateDisplayedMessages() + -- end + --K.HideInterfaceOption(InterfaceOptionsCombatPanelEnableFloatingCombatText) end -- Swing timer diff --git a/KkthnxUI/Modules/UnitFrames/Units/Target.lua b/KkthnxUI/Modules/UnitFrames/Units/Target.lua index 29fcb41..24206cb 100644 --- a/KkthnxUI/Modules/UnitFrames/Units/Target.lua +++ b/KkthnxUI/Modules/UnitFrames/Units/Target.lua @@ -93,15 +93,15 @@ function Module:CreateTarget() if C["Unitframe"].PortraitStyle.Value == "NoPortraits" then if C["Unitframe"].HealthbarColor.Value == "Class" then - self:Tag(self.Name, "[afkdnd][name] [fulllevel]") + self:Tag(self.Name, "[name] [fulllevel]") else - self:Tag(self.Name, "[afkdnd][color][name] [fulllevel]") + self:Tag(self.Name, "[color][name] [fulllevel]") end else if C["Unitframe"].HealthbarColor.Value == "Class" then - self:Tag(self.Name, "[afkdnd][name]") + self:Tag(self.Name, "[name]") else - self:Tag(self.Name, "[afkdnd][color][name]") + self:Tag(self.Name, "[color][name]") end end @@ -306,8 +306,8 @@ function Module:CreateTarget() self.FloatingCombatFeedback.abbreviateNumbers = true -- Default CombatText - SetCVar("enableFloatingCombatText", 0) - K.HideInterfaceOption(InterfaceOptionsCombatPanelEnableFloatingCombatText) + --SetCVar("enableFloatingCombatText", 0) + --K.HideInterfaceOption(InterfaceOptionsCombatPanelEnableFloatingCombatText) end if C["Unitframe"].PvPIndicator then