From 8b7f6d4226e1b0fe50b0d310215ee46ecccf6feb Mon Sep 17 00:00:00 2001 From: Tercio Jose Date: Sat, 15 Oct 2022 13:56:09 -0300 Subject: [PATCH] Fixed Evoker spec icon in the breakdown window, added evoker icon into spec icons with alpha --- functions/playerclass.lua | 229 ++++++++++++++--------------- images/spec_icons_normal_alpha.tga | Bin 1048620 -> 1048620 bytes 2 files changed, 111 insertions(+), 118 deletions(-) diff --git a/functions/playerclass.lua b/functions/playerclass.lua index 5c08f291..02cf4246 100644 --- a/functions/playerclass.lua +++ b/functions/playerclass.lua @@ -1,33 +1,30 @@ --[[ detect actor class ]] -do +do local _detalhes = _G._detalhes local _ local pairs = pairs local ipairs = ipairs - local _UnitClass = UnitClass - local select = select - local _unpack = unpack + local unpack = table.unpack or _G.unpack local openRaidLib = LibStub:GetLibrary("LibOpenRaid-1.0", true) - local unknown_class_coords = {0.75, 1, 0.75, 1} function Details:GetUnknownClassIcon() return [[Interface\AddOns\Details\images\classes_small]], unpack(unknown_class_coords) end - + function _detalhes:GetIconTexture (iconType, withAlpha) iconType = string.lower(iconType) - + if (iconType == "spec") then if (withAlpha) then return [[Interface\AddOns\Details\images\spec_icons_normal_alpha]] else return [[Interface\AddOns\Details\images\spec_icons_normal]] end - + elseif (iconType == "class") then if (withAlpha) then return [[Interface\AddOns\Details\images\classes_small_alpha]] @@ -36,11 +33,11 @@ do end end end - + -- try get the class from actor name function _detalhes:GetClass(name) - local _, class = _UnitClass (name) - + local _, class = UnitClass (name) + if (not class) then for index, container in ipairs(_detalhes.tabela_overall) do local index = container._NameIndexTable [name] @@ -53,7 +50,7 @@ do end end end - + return "UNKNOW", 0.75, 1, 0.75, 1, 1, 1, 1, 1 else local left, right, top, bottom = unpack(_detalhes.class_coords [class]) @@ -61,23 +58,23 @@ do return class, left, right, top, bottom, r or 1, g or 1, b or 1 end end - + local CLASS_ICON_TCOORDS = CLASS_ICON_TCOORDS - + local roles = { DAMAGER = {421/512, 466/512, 381/512, 427/512}, HEALER = {467/512, 512/512, 381/512, 427/512}, TANK = {373/512, 420/512, 381/512, 427/512}, NONE = {0, 50/512, 110/512, 150/512}, - } + } function _detalhes:GetRoleIcon (role) return [[Interface\AddOns\Details\images\icons2]], unpack(roles [role]) end - + function _detalhes:GetClassIcon (class) - + local c - + if (self.classe) then c = self.classe elseif (type(class) == "table" and class.classe) then @@ -87,7 +84,7 @@ do else c = "UNKNOW" end - + if (c == "UNKNOW") then return [[Interface\LFGFRAME\LFGROLE_BW]], 0.25, 0.5, 0, 1 elseif (c == "UNGROUPPLAYER") then @@ -95,16 +92,12 @@ do elseif (c == "PET") then return [[Interface\AddOns\Details\images\classes_small]], 0.25, 0.49609375, 0.75, 1 else - return [[Interface\AddOns\Details\images\classes_small]], _unpack(_detalhes.class_coords [c]) + return [[Interface\AddOns\Details\images\classes_small]], unpack(_detalhes.class_coords [c]) end end - - function _detalhes:GetSpecIcon (spec, useAlpha) + + function _detalhes:GetSpecIcon(spec, useAlpha) if (spec) then - if (spec > 600) then --hack to new spec ids on new leveling zones from level 1-10 - spec = 65 - end - if (spec == 0) then return [[Interface\AddOns\Details\images\classes_small]], unpack(_detalhes.class_coords["UNKNOW"]) end @@ -116,28 +109,28 @@ do end end end - + local default_color = {1, 1, 1, 1} function _detalhes:GetClassColor (class) if (self.classe) then return unpack(_detalhes.class_colors [self.classe] or default_color) - + elseif (type(class) == "table" and class.classe) then return unpack(_detalhes.class_colors [class.classe] or default_color) - + elseif (type(class) == "string") then return unpack(_detalhes.class_colors [class] or default_color) - + elseif (self.color) then return unpack(self.color) else return unpack(default_color) end end - + function _detalhes:GetPlayerIcon (playerName, segment) segment = segment or _detalhes.tabela_vigente - + local texture local L, R, T, B @@ -145,7 +138,7 @@ do if (not playerObject or not playerObject.spec) then playerObject = segment (2, playerName) end - + if (playerObject) then local spec = playerObject.spec if (spec) then @@ -159,34 +152,34 @@ do texture = [[Interface\AddOns\Details\images\classes_small]] L, R, T, B = unpack(_detalhes.class_coords ["UNKNOW"]) end - + return texture, L, R, T, B end - + function _detalhes:GuessClass (t) - + local Actor, container, tries = t[1], t[2], t[3] - + if (not Actor) then return false end - + if (Actor.spells) then --correcao pros containers misc, precisa pegar os diferentes tipos de containers de l� - for spellid, _ in pairs(Actor.spells._ActorTable) do + for spellid, _ in pairs(Actor.spells._ActorTable) do local class = _detalhes.ClassSpellList [spellid] if (class) then Actor.classe = class Actor.guessing_class = nil - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return class end end @@ -203,40 +196,40 @@ do end return end - + local class = _detalhes:GetClass(Actor.nome) if (class and class ~= "UNKNOW") then Actor.classe = class Actor.need_refresh = true Actor.guessing_class = nil - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return class end - - if (tries and tries < 10) then + + if (tries and tries < 10) then t[3] = tries + 1 --thanks @Farmbuyer on curseforge --_detalhes:ScheduleTimer("GuessClass", 2, {Actor, container, tries+1}) _detalhes:ScheduleTimer("GuessClass", 2, t) --passing the same table instead of creating a new one end - + return false end - + -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- function _detalhes:GetSpecByGUID (unitSerial) return _detalhes.cached_specs [unitSerial] end - + -- try get the spec from actor name function _detalhes:GetSpec (name) @@ -247,7 +240,7 @@ do return spec end end - + for index, container in ipairs(_detalhes.tabela_overall) do local index = container._NameIndexTable [name] if (index) then @@ -255,7 +248,7 @@ do return actor and actor.spec end end - + end function Details:GetUnitId(unitName) @@ -274,7 +267,7 @@ do return unitId end end - + elseif (IsInGroup()) then for i = 1, GetNumGroupMembers() -1 do local unitId = "party" .. i @@ -287,11 +280,11 @@ do end end end - + function _detalhes:ReGuessSpec (t) local Actor, container = t[1], t[2] local SpecSpellList = _detalhes.SpecSpellList - + --get from the spell cast list if (_detalhes.tabela_vigente) then local misc_actor = _detalhes.tabela_vigente(4, Actor.nome) @@ -300,55 +293,55 @@ do local spec = SpecSpellList [spellid] if (spec) then _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Actor.guessing_spec = nil Details:SendEvent("UNIT_SPEC", nil, Actor:GetUnitId(), spec, Actor.serial) - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec end end end else if (Actor.spells) then - for spellid, _ in pairs(Actor.spells._ActorTable) do + for spellid, _ in pairs(Actor.spells._ActorTable) do local spec = SpecSpellList [spellid] if (spec) then if (spec ~= Actor.spec) then _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Details:SendEvent("UNIT_SPEC", nil, Actor:GetUnitId(), spec, Actor.serial) - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec else break end end end - + if (Actor.classe == "HUNTER") then local container_misc = _detalhes.tabela_vigente[4] local index = container_misc._NameIndexTable [Actor.nome] @@ -361,21 +354,21 @@ do if (spec) then if (spec ~= Actor.spec) then _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Details:SendEvent("UNIT_SPEC", nil, Actor:GetUnitId(), spec, Actor.serial) - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec else break @@ -385,122 +378,122 @@ do end end end - + end end end - + function _detalhes:GuessSpec (t) - + local Actor, container, tries = t[1], t[2], t[3] if (not Actor) then return false end - + local SpecSpellList = _detalhes.SpecSpellList - + --local misc_actor = info.instancia.showing (4, self:name()) --spell_cast - + --get from the spec cache local spec = _detalhes.cached_specs [Actor.serial] if (spec) then Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe - + Actor.guessing_spec = nil - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec end - + --get from the spell cast list if (_detalhes.tabela_vigente) then local misc_actor = _detalhes.tabela_vigente(4, Actor.nome) - + if (misc_actor and misc_actor.spell_cast) then for spellid, _ in pairs(misc_actor.spell_cast) do local spec = SpecSpellList [spellid] if (spec) then _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Details:SendEvent("UNIT_SPEC", nil, Actor:GetUnitId(), spec, Actor.serial) - + Actor.guessing_spec = nil - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec end end else if (Actor.spells) then --correcao pros containers misc, precisa pegar os diferentes tipos de containers de l� - for spellid, _ in pairs(Actor.spells._ActorTable) do + for spellid, _ in pairs(Actor.spells._ActorTable) do local spec = SpecSpellList [spellid] if (spec) then _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Actor.guessing_spec = nil Details:SendEvent("UNIT_SPEC", nil, Actor:GetUnitId(), spec, Actor.serial) - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec end end end end else - + if (Actor.spells) then --correcao pros containers misc, precisa pegar os diferentes tipos de containers de l� - for spellid, _ in pairs(Actor.spells._ActorTable) do + for spellid, _ in pairs(Actor.spells._ActorTable) do local spec = SpecSpellList [spellid] if (spec) then _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Actor.guessing_spec = nil Details:SendEvent("UNIT_SPEC", nil, Actor:GetUnitId(), spec, Actor.serial) - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec end end @@ -517,24 +510,24 @@ do for spellid, spell in pairs(buffs) do local spec = SpecSpellList [spellid] if (spec) then - + _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Actor.guessing_spec = nil Details:SendEvent("UNIT_SPEC", nil, Actor:GetUnitId(), spec, Actor.serial) - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec end end @@ -544,38 +537,38 @@ do local spec = _detalhes:GetSpec (Actor.nome) if (spec) then - + _detalhes.cached_specs [Actor.serial] = spec - + Actor:SetSpecId(spec) Actor.classe = _detalhes.SpecIDToClass [spec] or Actor.classe Actor.need_refresh = true Actor.guessing_spec = nil - + if (container) then container.need_refresh = true end - + if (Actor.minha_barra and type(Actor.minha_barra) == "table") then Actor.minha_barra.minha_tabela = nil _detalhes:ScheduleWindowUpdate (2, true) end - + return spec end - + if (_detalhes.streamer_config.quick_detection) then - if (tries and tries < 30) then + if (tries and tries < 30) then t[3] = tries + 1 _detalhes:ScheduleTimer("GuessSpec", 1, t) - end + end else - if (tries and tries < 10) then + if (tries and tries < 10) then t[3] = tries + 1 _detalhes:ScheduleTimer("GuessSpec", 3, t) - end + end end - + return false end @@ -593,7 +586,7 @@ function _detalhes:AddColorString (player_name, class) return player_name end end - + --if failed, return the player name without modifications return player_name end @@ -614,7 +607,7 @@ end function _detalhes:AddClassOrSpecIcon (playerName, class, spec, iconSize, useAlphaIcons) local size = iconSize or 16 - + if (spec) then local specString = "" local L, R, T, B = unpack(_detalhes.class_specs_coords [spec]) @@ -627,7 +620,7 @@ function _detalhes:AddClassOrSpecIcon (playerName, class, spec, iconSize, useAlp return specString .. " " .. playerName end end - + if (class) then local classString = "" local L, R, T, B = unpack(_detalhes.class_coords [class]) @@ -641,6 +634,6 @@ function _detalhes:AddClassOrSpecIcon (playerName, class, spec, iconSize, useAlp return classString .. " " .. playerName end end - + return playerName end diff --git a/images/spec_icons_normal_alpha.tga b/images/spec_icons_normal_alpha.tga index fe6e7ed82fcb0178505cf74cf3d6b0b3dc246e80..78c688b69ad1140893b52506cd951e72afee9e24 100644 GIT binary patch delta 27907 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