- Fixed some issues with spec detection and LibGroupInSpecT-1.1 has need enabled back again.

- Fixed an issue with micro displays not loading settings after a logon.
- Another wave of workarounds to prevent the client image cache bug.
This commit is contained in:
Tercio
2016-07-29 18:57:41 -03:00
parent bd0bb3b7d2
commit c2d48ab057
34 changed files with 411 additions and 239 deletions
+144 -7
View File
@@ -592,7 +592,8 @@ function DetailsFrameworkDropDownOnMouseDown (button)
local name = button:GetName() .. "Row" .. i
local parent = scrollChild
_this_row = CreateFrame ("Button", name, parent, "DetailsFrameworkDropDownOptionTemplate")
--_this_row = CreateFrame ("Button", name, parent, "DetailsFrameworkDropDownOptionTemplate")
_this_row = DF:CreateDropdownButton (parent, name)
local anchor_i = i-1
_this_row:SetPoint ("topleft", parent, "topleft", 5, (-anchor_i*20)-5)
_this_row:SetPoint ("topright", parent, "topright", -5, (-anchor_i*20)-5)
@@ -600,6 +601,9 @@ function DetailsFrameworkDropDownOnMouseDown (button)
object.menus [i] = _this_row
end
_this_row:SetFrameStrata (_this_row:GetParent():GetFrameStrata())
_this_row:SetFrameLevel (_this_row:GetParent():GetFrameLevel()+10)
_this_row.icon:SetTexture (_table.icon)
if (_table.icon) then
@@ -697,8 +701,8 @@ function DetailsFrameworkDropDownOnMouseDown (button)
scrollFrame:SetWidth (frame_witdh+20)
scrollChild:SetWidth (frame_witdh+20)
--height
scrollBorder:SetHeight (size+20)
scrollFrame:SetHeight (size)
scrollBorder:SetHeight (size+2)
scrollFrame:SetHeight (size+2)
scrollChild:SetHeight ((showing*20)+20)
--mouse over texture
mouseOverTexture:SetWidth (frame_witdh-7)
@@ -718,8 +722,8 @@ function DetailsFrameworkDropDownOnMouseDown (button)
scrollFrame:SetWidth (frame_witdh)
scrollChild:SetWidth (frame_witdh)
--height
scrollBorder:SetHeight ((showing*20) + 25)
scrollFrame:SetHeight ((showing*20) + 25)
scrollBorder:SetHeight ((showing*20) + 10)
scrollFrame:SetHeight ((showing*20) + 10)
--mouse over texture
mouseOverTexture:SetWidth (frame_witdh-10)
--selected
@@ -933,7 +937,9 @@ function DF:NewDropDown (parent, container, name, member, w, h, func, default, t
--> misc
DropDownObject.container = container
DropDownObject.dropdown = CreateFrame ("Button", name, parent, "DetailsFrameworkDropDownTemplate")
--DropDownObject.dropdown = CreateFrame ("Button", name, parent, "DetailsFrameworkDropDownTemplate")
DropDownObject.dropdown = DF:CreateNewDropdownFrame (parent, name)
DropDownObject.widget = DropDownObject.dropdown
DropDownObject.__it = {nil, nil}
@@ -1022,4 +1028,135 @@ function DF:NewDropDown (parent, container, name, member, w, h, func, default, t
return DropDownObject
end
end
local default_backdrop = {bgFile = [[Interface\DialogFrame\UI-DialogBox-Background]], edgeFile = [[Interface\DialogFrame\UI-DialogBox-Border]],
edgeSize = 1, tile = true, tileSize = 16, insets = {left = 1, right = 1, top = 0, bottom = 1}}
local border_backdrop = {edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, insets = {left = 0, right = 0, top = 0, bottom = 0}}
local child_backdrop = {bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 256, insets = {left = 0, right = 0, top = 0, bottom = 0}}
function DF:CreateNewDropdownFrame (parent, name)
local f = CreateFrame ("button", name, parent)
f:SetBackdrop (default_backdrop)
f:SetSize (150, 20)
local statusbar = f:CreateTexture ("$parent_StatusBarTexture", "BACKGROUND")
statusbar:SetPoint ("topleft", f, "topleft", 3, -3)
statusbar:SetPoint ("bottomright", f, "bottomright", -3, 3)
f.statusbar = statusbar
local icon = f:CreateTexture ("$parent_IconTexture", "ARTWORK")
icon:SetPoint ("left", f, "left", 2, 0)
icon:SetSize (20, 20)
icon:SetTexture ([[Interface\COMMON\UI-ModelControlPanel]])
icon:SetTexCoord (0.625, 0.78125, 0.328125, 0.390625)
icon:SetVertexColor (1, 1, 1, 0.4)
f.icon = icon
local text = f:CreateFontString ("$parent_Text", "ARTWORK", "GameFontHighlightSmall")
text:SetPoint ("left", icon, "right", 5, 0)
text:SetJustifyH ("left")
text:SetText ("no option selected")
text:SetTextColor (1, 1, 1, 0.4)
DF:SetFontSize (text, 10)
f.text = text
local arrow = f:CreateTexture ("$parent_ArrowTexture2", "OVERLAY")
arrow:SetPoint ("right", f, "right", 5, -1)
arrow:SetBlendMode ("ADD")
arrow:SetTexture ([[Interface\Buttons\UI-ScrollBar-ScrollDownButton-Highlight]])
arrow:Hide()
arrow:SetSize (32, 28)
f.arrowTexture2 = arrow
local buttonTexture = f:CreateTexture ("$parent_ArrowTexture", "OVERLAY")
buttonTexture:SetPoint ("right", f, "right", 5, -1)
buttonTexture:SetTexture ([[Interface\Buttons\UI-ScrollBar-ScrollDownButton-Up]])
buttonTexture:SetSize (32, 28)
f.arrowTexture = buttonTexture
--scripts
f:SetScript ("OnSizeChanged", DetailsFrameworkDropDownOnSizeChanged)
f:SetScript ("OnMouseDown", DetailsFrameworkDropDownOnMouseDown)
--on load
f:SetBackdropColor (1, 1, 1, .5)
f.arrowTexture:SetDrawLayer ("OVERLAY", 1)
f.arrowTexture2:SetDrawLayer ("OVERLAY", 2)
--dropdown
local border = CreateFrame ("frame", "$Parent_Border", f)
border:Hide()
border:SetFrameStrata ("FULLSCREEN")
border:SetSize (150, 150)
border:SetPoint ("topleft", f, "bottomleft")
border:SetBackdrop (border_backdrop)
border:SetScript ("OnHide", DetailsFrameworkDropDownOptionsFrameOnHide)
border:SetBackdropColor (0, 0, 0, 0.92)
border:SetBackdropBorderColor (0, 0, 0, 1)
f.dropdownborder = border
local scroll = CreateFrame ("ScrollFrame", "$Parent_ScrollFrame", f)
scroll:Hide()
scroll:SetFrameStrata ("FULLSCREEN")
scroll:SetSize (150, 150)
scroll:SetPoint ("topleft", f, "bottomleft", 0, 0)
f.dropdownframe = scroll
local child = CreateFrame ("frame", "$Parent_ScrollChild", scroll)
child:SetSize (150, 150)
child:SetPoint ("topleft", scroll, "topleft", 0, 0)
child:SetBackdrop (child_backdrop)
child:SetBackdropColor (0, 0, 0, 1)
local selected = child:CreateTexture ("$parent_SelectedTexture", "BACKGROUND")
selected:SetSize (150, 16)
selected:Hide()
selected:SetPoint ("left", child, "left", 2, 0)
selected:SetTexture ([[Interface\RAIDFRAME\Raid-Bar-Hp-Fill]])
child.selected = selected
local mouseover = child:CreateTexture ("$parent_MouseOverTexture", "ARTWORK")
mouseover:SetBlendMode ("ADD")
mouseover:Hide()
mouseover:SetTexture ([[Interface\Buttons\UI-Listbox-Highlight]])
mouseover:SetSize (150, 15)
mouseover:SetPoint ("left", child, "left", 2, 0)
child.mouseover = mouseover
scroll:SetScrollChild (child)
tinsert (UISpecialFrames, f.dropdownborder:GetName())
tinsert (UISpecialFrames, f.dropdownframe:GetName())
return f
end
function DF:CreateDropdownButton (parent, name)
local f = CreateFrame ("button", name, parent)
f:SetSize (150, 20)
local statusbar = f:CreateTexture ("$parent_StatusBarTexture", "ARTWORK")
statusbar:SetPoint ("left", f, "left", 1, 0)
statusbar:SetPoint ("right", f, "right", -10, 0)
statusbar:SetSize (150, 20)
f.statusbar = statusbar
local icon = f:CreateTexture ("$parent_IconTexture", "OVERLAY")
icon:SetPoint ("left", f, "left", 2, 0)
icon:SetSize (20, 20)
icon:SetTexture ([[Interface\ICONS\Spell_ChargePositive]])
f.icon = icon
local text = f:CreateFontString ("$parent_Text", "OVERLAY", "GameFontHighlightSmall")
text:SetPoint ("left", icon, "right", 5, 0)
text:SetJustifyH ("left")
DF:SetFontSize (text, 10)
f.label = text
f:SetScript ("OnMouseDown", DetailsFrameworkDropDownOptionClick)
f:SetScript ("OnEnter", DetailsFrameworkDropDownOptionOnEnter)
f:SetScript ("OnLeave", DetailsFrameworkDropDownOptionOnLeave)
return f
end
+16 -6
View File
@@ -79,13 +79,10 @@
<Anchor point="TOPLEFT" relativeTo="$Parent" relativePoint="BOTTOMLEFT"/>
</Anchors>
<Backdrop bgFile="Interface\FrameGeneral\UI-Background-Marble" edgeFile="Interface\Buttons\WHITE8X8" tile="true">
<Backdrop edgeFile="Interface\Buttons\WHITE8X8">
<EdgeSize>
<AbsValue val="1"/>
</EdgeSize>
<TileSize>
<AbsValue val="256"/>
</TileSize>
<BackgroundInsets>
<AbsInset left="0" right="0" top="0" bottom="0"/>
</BackgroundInsets>
@@ -104,7 +101,7 @@
</Frame>
<ScrollFrame name="$Parent_ScrollFrame" parentKey="dropdownframe" hidden="true" frameStrata="FULLSCREEN">
<Size x="150" y="150"/>
<Size x="150" y="170"/>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$Parent" relativePoint="BOTTOMLEFT" x="0" y="-10" />
</Anchors>
@@ -112,12 +109,21 @@
<ScrollChild>
<Frame name="$Parent_ScrollChild" frameStrata="FULLSCREEN" parentKey="scrollchild">
<Size x="150" y="150"/>
<Size x="150" y="170"/>
<Anchors>
<Anchor point="TOPLEFT" relativeTo="$Parent" relativePoint="TOPLEFT" x="0" y="0" />
</Anchors>
<Backdrop bgFile="Interface\FrameGeneral\UI-Background-Marble" tile="true">
<TileSize>
<AbsValue val="256"/>
</TileSize>
<BackgroundInsets>
<AbsInset left="0" right="0" top="0" bottom="0"/>
</BackgroundInsets>
</Backdrop>
<Layers>
<Layer level="BACKGROUND">
<!-- selected texture // we don't know where the file is it -->
@@ -222,6 +228,10 @@
</Layers>
<Scripts>
<OnLoad>
self:SetFrameStrata (self:GetParent():GetFrameStrata())
self:SetFrameLevel (self:GetParent():GetFrameLevel()+10)
</OnLoad>
<OnMouseDown>
DetailsFrameworkDropDownOptionClick (self);
</OnMouseDown>
+39 -1
View File
@@ -1,5 +1,5 @@
local dversion = 27
local dversion = 29
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary (major, minor)
@@ -111,6 +111,8 @@ local embed_functions = {
"FindHighestParent",
"OpenInterfaceProfile",
"CreateInCombatTexture",
"CreateAnimationHub",
"CreateAnimation",
}
DF.table = {}
@@ -1160,3 +1162,39 @@ function DF:Mixin (object, ...)
return object;
end
-----------------------------
function DF:CreateAnimationHub (parent, onPlay, onFinished)
local newAnimation = parent:CreateAnimationGroup()
newAnimation:SetScript ("OnPlay", onPlay)
newAnimation:SetScript ("OnFinished", onFinished)
newAnimation.NextAnimation = 1
return newAnimation
end
function DF:CreateAnimation (animation, type, duration, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
local anim = animation:CreateAnimation (type)
anim:SetOrder (animation.NextAnimation)
anim:SetDuration (duration)
if (type == "Alpha") then
anim:SetFromAlpha (arg1)
anim:SetToAlpha (arg2)
elseif (type == "Scale") then
anim:SetFromScale (arg1, arg2)
anim:SetToScale (arg3, arg4)
anim:SetOrigin (arg5 or "center", arg6 or 0, arg7 or 0) --point, x, y
elseif (type == "Rotation") then
anim:SetDegrees (arg1) --degree
anim:SetOrigin (arg2 or "center", arg3 or 0, arg4 or 0) --point, x, y
end
animation.NextAnimation = animation.NextAnimation + 1
return anim
end
+1 -1
View File
@@ -2523,7 +2523,7 @@ local draw_overlay = function (self, this_overlay, overlayData, color)
local pixel = self.Graphic:GetWidth() / self.TimeScale
local index = 1
local r, g, b = unpack (color)
local r, g, b = unpack (color or line_default_color)
for i = 1, #overlayData, 2 do
local aura_start = overlayData [i]
@@ -37,17 +37,6 @@
-- }
-- ...
-- }
-- .glyphs = {
-- [<spell_id>] = {
-- .idx -- 1 to NUM_GLYPH_SLOTS
-- .glyph_id
-- .glyph_type
-- .name_localized
-- .icon
-- .spell_id
-- }
-- ...
-- },
-- .lku -- last known unit id
-- .not_visible
--
@@ -73,7 +62,7 @@
-- Returns an array with the set of unit ids for the current group.
--]]
local MAJOR, MINOR = "LibGroupInSpecT-1.1", tonumber (("$Revision: 79 $"):match ("(%d+)") or 0)
local MAJOR, MINOR = "LibGroupInSpecT-1.1", tonumber (("$Revision: 83 $"):match ("(%d+)") or 0)
if not LibStub then error(MAJOR.." requires LibStub") end
local lib = LibStub:NewLibrary (MAJOR, MINOR)
@@ -88,7 +77,7 @@ local REMOVE_EVENT = "GroupInSpecT_Remove"
local INSPECT_READY_EVENT = "GroupInSpecT_InspectReady"
local COMMS_PREFIX = "LGIST11"
local COMMS_FMT = "0"
local COMMS_FMT = "1"
local COMMS_DELIM = "\a"
local INSPECT_DELAY = 1.5
@@ -161,7 +150,6 @@ end
local CanInspect = _G.CanInspect
local ClearInspectPlayer = _G.ClearInspectPlayer
local GetClassInfo = _G.GetClassInfo
local GetGlyphSocketInfo = _G.GetGlyphSocketInfo
local GetNumSubgroupMembers = _G.GetNumSubgroupMembers
local GetNumSpecializationsForClassID = _G.GetNumSpecializationsForClassID
local GetPlayerInfoByGUID = _G.GetPlayerInfoByGUID
@@ -198,7 +186,7 @@ local global_spec_id_roles_detailed = {
-- Hunter
[253] = "ranged", -- Beast Mastery
[254] = "ranged", -- Marksmanship
[255] = "ranged", -- Survival
[255] = "melee", -- Survival
-- Mage
[62] = "ranged", -- Arcane
[63] = "ranged", -- Fire
@@ -241,25 +229,11 @@ local class_fixed_roles = {
}
local class_fixed_roles_detailed = {
HUNTER = "ranged",
MAGE = "ranged",
ROGUE = "melee",
WARLOCK = "ranged",
}
local warrior_protection_spec_id = 73
local warrior_anger_management_talent = 21204
local warrior_ravager_talent = 21205
local warrior_gladiators_resolve_talent = 21206
local warrior_gladiator_stance = GetSpellInfo(156291)
local function HasGladiatorStance (unit, info)
-- Check for "not the other two level-100 talents" in case talent info isn't ready.
local talents = info.talents
return talents and (talents[warrior_gladiators_resolve_talent] or (not talents[warrior_anger_management_talent] and not talents[warrior_ravager_talent])) and UnitBuff(unit, warrior_gladiator_stance)
end
-- Inspects only work after being fully logged in, so track that
function lib:PLAYER_LOGIN ()
self.state.logged_in = true
@@ -275,8 +249,6 @@ function lib:PLAYER_LOGIN ()
frame:RegisterEvent ("UNIT_SPELLCAST_SUCCEEDED")
frame:RegisterEvent ("UNIT_NAME_UPDATE")
frame:RegisterEvent ("UNIT_AURA")
frame:RegisterEvent ("GLYPH_ADDED")
frame:RegisterEvent ("GLYPH_REMOVED")
frame:RegisterEvent ("CHAT_MSG_ADDON")
RegisterAddonMessagePrefix (COMMS_PREFIX)
@@ -321,7 +293,6 @@ end
-- Caches to deal with API shortcomings as well as performance
lib.static_cache.global_specs = {} -- [gspec] -> { .idx, .name_localized, .description, .icon, .background, .role }
lib.static_cache.glyph_info = {} -- [spell_id] -> { .idx, .name_localized, .icon, .glyph_type, .glyph_id }
lib.static_cache.class_to_class_id = {} -- [CLASS] -> class_id
-- The talents cache can no longer be pre-fetched on login, but is now constructed class-by-class as we inspect people.
@@ -540,15 +511,6 @@ function lib:BuildInfo (unit)
info.spec_role_detailed = global_spec_id_roles_detailed[gspec_id]
end
-- Fix role if unit is a protection warrior in Gladiator Stance.
-- Check for "not the other two level-100 talents" in case talent info isn't ready.
if info.global_spec_id == warrior_protection_spec_id then
if HasGladiatorStance (unit, info) then
info.spec_role = "DAMAGER"
info.spec_role_detailed = "melee"
end
end
if not info.spec_role then info.spec_role = class and class_fixed_roles[class] end
if not info.spec_role_detailed then info.spec_role_detailed = class and class_fixed_roles_detailed[class] end
@@ -568,24 +530,7 @@ function lib:BuildInfo (unit)
end
end
info.glyphs = wipe (info.glyphs or {})
local glyph_info = self.static_cache.glyph_info
for idx = 1, (NUM_GLYPH_SLOTS or 0) do
local enabled, glyph_type, _, spell_id, icon, glyph_id = GetGlyphSocketInfo (idx, nil, is_inspect, unit)
if spell_id and not glyph_info[spell_id] then -- not already available in the cache
glyph_info[spell_id] = {}
local glyph = glyph_info[spell_id]
glyph.spell_id = spell_id
glyph.glyph_type = glyph_type
glyph.idx = idx
glyph.icon = icon
glyph.glyph_id = glyph_id
glyph.name_localized = spell_id and (GetSpellInfo (spell_id)) or nil
end
if enabled and spell_id then
info.glyphs[spell_id] = glyph_info[spell_id]
end
end
info.glyphs = wipe (info.glyphs or {}) -- kept for addons that still refer to this
if is_inspect and not UnitIsVisible (unit) and UnitIsConnected (unit) then info.not_visible = true end
@@ -676,8 +621,8 @@ function lib:SendLatestSpecData ()
local info = self.cache[guid]
if not info then return end
-- fmt, guid, global_spec_id, talent1 -> MAX_TALENT_TIERS, glyph1 -> NUM_GLYPH_SLOTS, glyph1 detail, glyph 2 detail,
-- sequentially, allow no gaps for missing talents/glyphs we decode by index on the receiving end.
-- fmt, guid, global_spec_id, talent1 -> MAX_TALENT_TIERS
-- sequentially, allow no gaps for missing talents we decode by index on the receiving end.
local datastr = COMMS_FMT..COMMS_DELIM..guid..COMMS_DELIM..(info.global_spec_id or 0)
local talentCount = 1
for k in pairs(info.talents) do
@@ -688,19 +633,6 @@ function lib:SendLatestSpecData ()
datastr = datastr..COMMS_DELIM..0
end
local glyphCount = 1
local glyphstr = ""
for k,glyph in pairs(info.glyphs) do -- specifically ordered because we pull them out by index on the other end
datastr = datastr..COMMS_DELIM..k
glyphstr = glyphstr..COMMS_DELIM..(glyph.idx or "")..COMMS_DELIM..(glyph.glyph_id or "")..COMMS_DELIM..(glyph.glyph_type or "")
glyphCount = glyphCount + 1
end
for i=glyphCount,(NUM_GLYPH_SLOTS or 0) do
datastr = datastr..COMMS_DELIM..0
glyphstr = glyphstr..COMMS_DELIM..COMMS_DELIM..COMMS_DELIM -- unused entry, but keep format sound
end
datastr = datastr..glyphstr
--[===[@debug@
debug ("Sending LGIST update to "..scope) --@end-debug@]===]
SendAddonMessage(COMMS_PREFIX, datastr, scope)
@@ -722,8 +654,7 @@ msg_idx.fmt = 1
msg_idx.guid = msg_idx.fmt + 1
msg_idx.global_spec_id = msg_idx.guid + 1
msg_idx.talents = msg_idx.global_spec_id + 1
msg_idx.glyphs = msg_idx.talents + MAX_TALENT_TIERS
msg_idx.glyph_detail = msg_idx.glyphs + (NUM_GLYPH_SLOTS or 0)
msg_idx.end_talents = msg_idx.talents + MAX_TALENT_TIERS - 1
function lib:CHAT_MSG_ADDON (prefix, datastr, scope, sender)
if prefix ~= COMMS_PREFIX or scope ~= self.commScope then return end
@@ -768,20 +699,11 @@ function lib:CHAT_MSG_ADDON (prefix, datastr, scope, sender)
info.spec_role = gspecs[gspec_id].role
info.spec_role_detailed = global_spec_id_roles_detailed[gspec_id]
-- Fix role if unit is a protection warrior in Gladiator Stance.
-- Check for "not the other two level-100 talents" in case talent info isn't ready.
if info.global_spec_id == warrior_protection_spec_id then
if HasGladiatorStance (unit, info) then
info.spec_role = "DAMAGER"
info.spec_role_detailed = "melee"
end
end
local need_inspect = nil
info.talents = wipe (info.talents or {})
local talents = self.static_cache.talents[info.class_id]
if talents then -- The group entry is created before we have inspect-data, so may not have cached talents yet
for i = msg_idx.talents, msg_idx.glyphs - 1 do
for i = msg_idx.talents, msg_idx.end_talents do
local talent_id = tonumber (data[i])
if talent_id and talent_id > 0 then
if talents[talent_id] then
@@ -797,29 +719,7 @@ function lib:CHAT_MSG_ADDON (prefix, datastr, scope, sender)
need_inspect = 1
end
local glyph_info = self.static_cache.glyph_info
info.glyphs = wipe (info.glyphs or {})
for i = msg_idx.glyphs, msg_idx.glyph_detail - 1 do
local spell_id = tonumber (data[i])
if spell_id and spell_id > 0 then
if not glyph_info[spell_id] then -- not yet in cache, add it
glyph_info[spell_id] = {}
local glyph = glyph_info[spell_id]
glyph.spell_id = spell_id
local offs = (i - msg_idx.glyphs) * 3 -- glyph details come in 3s (idx,glyph_id,glyph_type) so offset our index
local start = msg_idx.glyph_detail
glyph.idx = tonumber (data[start + offs])
glyph.glyph_id = tonumber (data[start + offs + 1])
glyph.glyph_type = tonumber (data[start + offs + 2])
local name, _, icon = GetSpellInfo(spell_id)
glyph.name_localized = name
glyph.icon = icon
end
info.glyphs[spell_id] = glyph_info[spell_id]
end
end
info.glyphs = wipe (info.glyphs or {}) -- kept for addons that still refer to this
local mainq, staleq = self.state.mainq, self.state.staleq
local want_inspect = not need_inspect and self.inspect_ready_used and (mainq[guid] or staleq[guid]) and 1 or nil
@@ -858,16 +758,6 @@ function lib:PLAYER_SPECIALIZATION_CHANGED (unit)
end
function lib:GLYPH_ADDED ()
self:DoPlayerUpdate ()
end
function lib:GLYPH_REMOVED ()
self:DoPlayerUpdate ()
end
function lib:UNIT_NAME_UPDATE (unit)
local group = self.cache
local guid = UnitGUID (unit)
@@ -907,22 +797,6 @@ function lib:UNIT_AURA (unit)
info.not_visible = true
end
end
-- Fix role if unit is a protection warrior in Gladiator Stance.
-- Check for "not the other two level-100 talents" in case talent info isn't ready.
if info.global_spec_id == warrior_protection_spec_id then
if HasGladiatorStance (unit, info) then
if info.spec_role ~= "DAMAGER" then
info.spec_role = "DAMAGER"
info.spec_role_detailed = "melee"
self.events:Fire (UPDATE_EVENT, guid, unit, info)
end
elseif info.spec_role ~= "TANK" then
info.spec_role = "TANK"
info.spec_role_detailed = "tank"
self.events:Fire (UPDATE_EVENT, guid, unit, info)
end
end
end
end
+149 -60
View File
@@ -1,12 +1,17 @@
local MAJOR, MINOR = "LibItemUpgradeInfo-1.0", 15
local MAJOR, MINOR = "LibItemUpgradeInfo-1.0", 24
local type,tonumber,select,strsplit,GetItemInfoFromHyperlink=type,tonumber,select,strsplit,GetItemInfoFromHyperlink
local library,previous = _G.LibStub:NewLibrary(MAJOR, MINOR)
local lib=library --#lib Needed to keep Eclipse LDT happy
if not lib then return end
local pp=print
--[===[@debug@
LoadAddOn("Blizzard_DebugTools")
LoadAddOn("LibDebug")
if LibDebug then LibDebug() end
--@end-debug@]===]
--@non-debug@
local print=function() end
--@end-non-debug@
local upgradeTable = {
[ 1] = { upgrade = 1, max = 1, ilevel = 8 },
[373] = { upgrade = 1, max = 3, ilevel = 4 },
@@ -56,6 +61,10 @@ local upgradeTable = {
[529] = { upgrade = 0, max = 2, ilevel = 0 },
[530] = { upgrade = 1, max = 2, ilevel = 5 },
[531] = { upgrade = 2, max = 2, ilevel = 10 },
[535] = { upgrade = 1, max = 3, ilevel = 15 },
[536] = { upgrade = 2, max = 3, ilevel = 30 },
[537] = { upgrade = 3, max = 3, ilevel = 45 },
[538] = { upgrade = 0, max = 3, ilevel = 0 },
}
do
@@ -64,6 +73,58 @@ do
return stub
end})
end
-- Tooltip Scanning stuff
local itemLevelPattern = _G.ITEM_LEVEL:gsub("%%d", "(%%d+)")
local soulboundPattern = _G.ITEM_SOULBOUND
local boePattern=_G.ITEM_BIND_ON_EQUIP
local bopPattern=_G.ITEM_BIND_ON_PICKUP
local boaPattern1=_G.ITEM_BIND_TO_BNETACCOUNT
local boaPattern2=_G.ITEM_BNETACCOUNTBOUND
local scanningTooltip
local itemCache = setmetatable({},{__index=function(table,key) return {} end})
local heirloomcolor
local emptytable={}
local function ScanTip(itemLink,itemLevel)
if not heirloomcolor then heirloomcolor =_G.ITEM_QUALITY_COLORS[_G.LE_ITEM_QUALITY_HEIRLOOM].hex end
if type(itemLink)=="number" then
itemLink=select(2,GetItemInfo(itemLink))
if not itemLink then return emptytable end
end
if type(itemCache[itemLink].ilevel)=="nil" then
if not scanningTooltip then
scanningTooltip = _G.CreateFrame("GameTooltip", "LibItemUpgradeInfoTooltip", nil, "GameTooltipTemplate")
scanningTooltip:SetOwner(_G.WorldFrame, "ANCHOR_NONE")
end
scanningTooltip:ClearLines()
local rc,message=pcall(scanningTooltip.SetHyperlink,scanningTooltip,itemLink)
if (not rc) then
return emptytable
end
-- line 1 is the item name
-- line 2 may be the item level, or it may be a modifier like "Heroic"
-- check up to line 6 just in case
local ilevel,soulbound,bop,boe,boa,heirloom
for i = 2, 6 do
local label, text = _G["LibItemUpgradeInfoTooltipTextLeft"..i], nil
if label then text=label:GetText() end
if text then
if ilevel==nil then ilevel = tonumber(text:match(itemLevelPattern)) end
if soulbound==nil then soulbound = text:find(soulboundPattern) end
if bop==nil then bop = text:find(bopPattern) end
if boe==nil then boe = text:find(boePattern) end
if boa==nil then boa = text:find(boaPattern1) end
if boa==nil then boa = text:find(boaPattern2) end
end
end
if (itemLink:find(heirloomcolor)) then
heirloom=true
end
itemCache[itemLink]={ilevel=ilevel or itemLevel,soulbound=soulbound,bop=bop,boe=boe,heirloom=heirloom}
end
return itemCache[itemLink]
end
-- GetUpgradeID(itemString)
--
@@ -74,13 +135,13 @@ end
-- Number - The upgrade ID (possibly 0), or nil if the input is invalid or
-- does not contain upgrade info
function lib:GetUpgradeID(itemString)
--local instaid,upgradeid =itemString:match("item:%d+:%d+:%d+:%d+:%d+:%d+:%-?%d+:%-?%d+:%d+:(%d+):%d:%d:(%d)")
--local instaid,upgradeid =itemString:match("item:%d+:%d+:%d+:%d+:%d+:%d+:%-?%d+:%-?%d+:%d+:%d+:(%d+):%d+:%d+:(%d+)")
if type(itemString)~="string" then return end
local itemString = itemString:match("item[%-?%d:]+") or ""-- Standardize itemlink to itemstring
local instaid, _, numBonuses, affixes = select(12, strsplit(":", itemString, 15))
instaid=tonumber(instaid) or 7
numBonuses=tonumber(numBonuses) or 0
if instaid >0 and (instaid-4)%8==0 then
return tonumber(select(numBonuses + 1, strsplit(":", affixes)))
return tonumber((select(numBonuses + 1, strsplit(":", affixes))))
end
end
@@ -158,7 +219,7 @@ end
-- GetHeirloomTrueLevel(itemString)
--
-- Returns the true item level for an heirloom.
-- Returns the true item level for an heirloom (actually, returns the true level for any adapting item)
--
-- Arguments:
-- itemString - String - An itemLink or itemString denoting the item
@@ -169,58 +230,18 @@ end
-- item tooltip, the second return value is false. Otherwise
-- the second return value is true. If the input is invalid,
-- (nil, false) is returned.
do
-- Convert the ITEM_LEVEL constant into a pattern for our use
local itemLevelPattern = _G["ITEM_LEVEL"]:gsub("%%d", "(%%d+)")
local scanningTooltip
local heirloomCache = {}
function lib:GetHeirloomTrueLevel(itemString)
if type(itemString) ~= "string" then return nil,false end
local scantooltip=false
local header,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14 = strsplit(":", itemString, 16)
s13=tonumber(s13) or 0
s14=tonumber(s14) or 0
scantooltip=(s13==1 or s13==2) and (s14==693 or s14==615) -- Really to be better tested
scantooltip=true
local _, itemLink, rarity, itemLevel = GetItemInfo(itemString)
if (not itemLink) then
return nil,false
end
if not scantooltip then
scantooltip=rarity == _G.LE_ITEM_QUALITY_HEIRLOOM
end
if scantooltip then
local ilvl = heirloomCache[itemLink]
if ilvl ~= nil then
return ilvl, true
end
if not scanningTooltip then
scanningTooltip = _G.CreateFrame("GameTooltip", "LibItemUpgradeInfoTooltip", nil, "GameTooltipTemplate")
scanningTooltip:SetOwner(_G.WorldFrame, "ANCHOR_NONE")
end
scanningTooltip:ClearLines()
local rc,message=pcall(scanningTooltip.SetHyperlink,scanningTooltip,itemLink)
if (not rc) then
return nil,false
end
-- line 1 is the item name
-- line 2 may be the item level, or it may be a modifier like "Heroic"
-- check up to line 4 just in case
for i = 2, 4 do
local label, text = _G["LibItemUpgradeInfoTooltipTextLeft"..i], nil
if label then text=label:GetText() end
if text then
ilvl = tonumber(text:match(itemLevelPattern))
if ilvl ~= nil then
heirloomCache[itemLink] = ilvl
return ilvl, true
end
end
end
end
return itemLevel, false
-- Convert the ITEM_LEVEL constant into a pattern for our use
function lib:GetHeirloomTrueLevel(itemString)
if type(itemString) ~= "string" then return nil,false end
local _, itemLink, rarity, itemLevel = GetItemInfo(itemString)
if (not itemLink) then
return nil,false
end
local rc=ScanTip(itemLink,itemLevel)
if rc.ilevel then
return rc.ilevel,true
end
return itemLevel, false
end
-- GetUpgradedItemLevel(itemString)
@@ -245,6 +266,77 @@ function lib:GetUpgradedItemLevel(itemString)
end
return ilvl
end
-- IsBop(itemString)
--
-- Check an item for Bind On Pickup.
--
-- Arguments:
-- itemString - String - An itemLink or itemString denoting the item
--
-- Returns:
-- Boolean - True if Bind On Pickup
function lib:IsBop(itemString)
local rc=ScanTip(itemString)
return rc.bop
end
-- IsBoe(itemString)
--
-- Check an item for Bind On Equip.
--
-- Arguments:
-- itemString - String - An itemLink or itemString denoting the item
--
-- Returns:
-- Boolean - True if Bind On Equip
function lib:IsBoe(itemString)
local rc=ScanTip(itemString)
return rc.boe
end
-- IsBoa(itemString)
--
-- Check an item for Bind On Aaccount
--
-- Arguments:
-- itemString - String - An itemLink or itemString denoting the item
--
-- Returns:
-- Boolean - True if Bind On Equip
function lib:IsBoa(itemString)
local rc=ScanTip(itemString)
return rc.boa
end
-- IsHeirloom(itemString)
--
-- Check an item for Heirloom
--
-- Arguments:
-- itemString - String - An itemLink or itemString denoting the item
--
-- Returns:
-- Boolean - True if Heirloom
-- IsHeirloom(itemString)
--
-- Check an item for Heirloom
--
-- Arguments:
-- itemString - String - An itemLink or itemString denoting the item
--
-- Returns:
-- Boolean - True if Heirloom
function lib:IsHeirloom(itemString)
local rc=ScanTip(itemString)
return rc.heirloom
end
local GetItemInfo=GetItemInfo
lib.itemcache=lib.itemcache or
setmetatable({miss=0,tot=0},{
@@ -316,9 +408,6 @@ function lib:GetCacheStats()
local perc=( h>0) and h/c.tot*100 or 0
return c.miss,h,perc
end
if lib.itemframe and lib.itemframe.UnregisterEvent then
lib.itemframe:UnregisterEvent('GET_ITEM_INFO_RECEIVED')
end
--[===========[ ]===========]
--[===[ Debug utilities ]===]
@@ -408,7 +497,7 @@ do
pp("LibItemUpgradeInfo-1.0: |cff00ff00No changes|r")
else
pp("LibItemUpgradeInfo-1.0: |cffff0000New table:|r {")
ppDiffTable(upgradeTable, newTable)
printDiffTable(upgradeTable, newTable)
pp("}")
end
else
@@ -1,11 +1,11 @@
## Interface: 60200
## Interface: 70000
## Title: Lib: ItemUpgradeInfo-1.0
## Notes: Database of item upgrade IDs
## Author: eridius
## Version: Release-60203-15 6.2.2
## X-Revision: efdd719
## Version: Release-70000-24 6.2.2
## X-Revision: f1a2b99
## X-Category: Library
## X-Curse-Packaged-Version: Release-60203-15
## X-Curse-Packaged-Version: Release-70000-24
## X-Curse-Project-Name: LibItemUpgradeInfo-1.0
## X-Curse-Project-ID: libitemupgradeinfo-1-0
## X-Curse-Repository-ID: wow/libitemupgradeinfo-1-0/mainline
@@ -5,7 +5,7 @@
## X-Website: http://www.wowace.com/addons/libstub/
## X-Category: Library
## X-License: Public Domain
## X-Curse-Packaged-Version: Release-60203-15
## X-Curse-Packaged-Version: Release-70000-24
## X-Curse-Project-Name: LibItemUpgradeInfo-1.0
## X-Curse-Project-ID: libitemupgradeinfo-1-0
## X-Curse-Repository-ID: wow/libitemupgradeinfo-1-0/mainline
+1
View File
@@ -15,5 +15,6 @@
<Script file="LibWindow-1.1\LibWindow-1.1.lua"/>
<Include file="LibCompress\lib.xml"/>
<Include file="LibItemUpgradeInfo-1.0\LibItemUpgradeInfo-1.0.xml"/>
<Include file="LibGroupInSpecT-1.1\lib.xml"/>
<Include file="DF\load.xml"/>
</Ui>
+9 -4
View File
@@ -3,8 +3,8 @@
_ = nil
_detalhes = LibStub("AceAddon-3.0"):NewAddon("_detalhes", "AceTimer-3.0", "AceComm-3.0", "AceSerializer-3.0", "NickTag-1.0")
_detalhes.build_counter = 2698 --it's 2697 for release
_detalhes.userversion = "v5.11"
_detalhes.build_counter = 2735 --it's 2735 for release
_detalhes.userversion = "v5.12"
_detalhes.realversion = 110 --core version
_detalhes.version = _detalhes.userversion .. " (core " .. _detalhes.realversion .. ")"
Details = _detalhes
@@ -21,7 +21,10 @@ do
local Loc = LibStub ("AceLocale-3.0"):GetLocale ( "Details" )
--[[
|cFFFFFF00v5.11 (|cFFFFCC00July 26, 2016|r|cFFFFFF00)|r:\n\n
|cFFFFFF00v5.12 (|cFFFFCC00July 29, 2016|r|cFFFFFF00)|r:\n\n
|cFFFFFF00-|r Fixed some issues with spec detection and LibGroupInSpecT-1.1 has need enabled back again.\n\n
|cFFFFFF00-|r Fixed an issue with micro displays not loading settings after a logon.\n\n
|cFFFFFF00-|r Another wave of workarounds to prevent the client image cache bug.\n\n
|cFFFFFF00-|r fixed the spam of 'segment not added to overall'.\n\n
|cFFFFFF00-|r stormlash and blessing of might workarouds.\n\n
|cFFFFFF00-|r warrior rampage fix.\n\n
@@ -29,7 +32,9 @@ do
--]]
--
Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v5.11 (|cFFFFCC00July 26, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r fixed the spam of 'segment not added to overall'.\n\n|cFFFFFF00-|r stormlash and blessing of might workarouds.\n\n|cFFFFFF00-|r warrior rampage fix.\n\n|cFFFFFF00-|r hunter throw axe fix.\n\n|cFFFFFF00v5.10c (|cFFFFCC00July 22, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Trying a workaround for the wow client's texture cache bug which causes FPS drops, please delete the file 'spec_icons_normal.TGA' from details/image folder.\n\n|cFFFFFF00v5.10b (|cFFFFCC00July 21, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed warlock's Soul Effigy.\n\n|cFFFFFF00v5.10a (|cFFFFCC00July 20, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with Calc Leech plugin.\n\n|cFFFFFF00v5.10 (|cFFFFCC00July 19, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Using .BLP format for images. If you have FPS drops caused by Details!, delete ALL .TGA files inside the folder Details/Images/\n\n|cFFFFFF00v5.8 (|cFFFFCC00July 11, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Big framework update. May have some bugs, please report to us if you find any.\n\n|cFFFFFF00v5.8 (|cFFFFCC00June 27, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Energy and Resources are working properly now.\n\n|cFFFFFF00-|r Added raid information for The Emerald Nightmare.\n\n|cFFFFFF00v5.7 (|cFFFFCC00June 16, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Most of the raid plugins got added on this version.\n\n|cFFFFFF00-|r Plugin 'Damage, The Game!' also got damage goals updated.\n\n|cFFFFFF00v5.5 (|cFFFFCC00June 03, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Default skin is now 'Safe Skin Legion Beta' which helps a little with the disabled texture issue.\n|cFFFFFF00-|r If you're using another skin, you may change at the options panel /details options > Skin Selection.\n|cFFFFFF00-|r You also can disable the class icons at Bars: General > Icon File."
--Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v5.10c (|cFFFFCC00July 22, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Trying a workaround for the wow client's texture cache bug which causes FPS drops, please delete the file 'spec_icons_normal.TGA' from details/image folder.\n\n|cFFFFFF00v5.10b (|cFFFFCC00July 21, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed warlock's Soul Effigy.\n\n|cFFFFFF00v5.10a (|cFFFFCC00July 20, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with Calc Leech plugin.\n\n|cFFFFFF00v5.10 (|cFFFFCC00July 19, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Using .BLP format for images. If you have FPS drops caused by Details!, delete ALL .TGA files inside the folder Details/Images/\n\n|cFFFFFF00v5.8 (|cFFFFCC00July 11, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Big framework update. May have some bugs, please report to us if you find any.\n\n|cFFFFFF00v5.8 (|cFFFFCC00June 27, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Energy and Resources are working properly now.\n\n|cFFFFFF00-|r Added raid information for The Emerald Nightmare.\n\n|cFFFFFF00v5.7 (|cFFFFCC00June 16, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Most of the raid plugins got added on this version.\n\n|cFFFFFF00-|r Plugin 'Damage, The Game!' also got damage goals updated.\n\n|cFFFFFF00v5.5 (|cFFFFCC00June 03, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Default skin is now 'Safe Skin Legion Beta' which helps a little with the disabled texture issue.\n|cFFFFFF00-|r If you're using another skin, you may change at the options panel /details options > Skin Selection.\n|cFFFFFF00-|r You also can disable the class icons at Bars: General > Icon File."
Loc ["STRING_VERSION_LOG"] = "|cFFFFFF00v5.12 (|cFFFFCC00July 29, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed some issues with spec detection and LibGroupInSpecT-1.1 has need enabled back again.\n\n|cFFFFFF00-|r Fixed an issue with micro displays not loading settings after a logon.\n\n|cFFFFFF00-|r Another wave of workarounds to prevent the client image cache bug.\n\n|cFFFFFF00-|r fixed the spam of 'segment not added to overall'.\n\n|cFFFFFF00-|r stormlash and blessing of might workarouds.\n\n|cFFFFFF00-|r warrior rampage fix.\n\n|cFFFFFF00-|r hunter throw axe fix.\n\n|cFFFFFF00v5.10c (|cFFFFCC00July 22, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Trying a workaround for the wow client's texture cache bug which causes FPS drops, please delete the file 'spec_icons_normal.TGA' from details/image folder.\n\n|cFFFFFF00v5.10b (|cFFFFCC00July 21, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed warlock's Soul Effigy.\n\n|cFFFFFF00v5.10a (|cFFFFCC00July 20, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Fixed an issue with Calc Leech plugin.\n\n|cFFFFFF00v5.10 (|cFFFFCC00July 19, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Using .BLP format for images. If you have FPS drops caused by Details!, delete ALL .TGA files inside the folder Details/Images/\n\n|cFFFFFF00v5.8 (|cFFFFCC00July 11, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Big framework update. May have some bugs, please report to us if you find any.\n\n|cFFFFFF00v5.8 (|cFFFFCC00June 27, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Energy and Resources are working properly now.\n\n|cFFFFFF00-|r Added raid information for The Emerald Nightmare.\n\n|cFFFFFF00v5.7 (|cFFFFCC00June 16, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Most of the raid plugins got added on this version.\n\n|cFFFFFF00-|r Plugin 'Damage, The Game!' also got damage goals updated.\n\n|cFFFFFF00v5.5 (|cFFFFCC00June 03, 2016|r|cFFFFFF00)|r:\n\n|cFFFFFF00-|r Default skin is now 'Safe Skin Legion Beta' which helps a little with the disabled texture issue.\n|cFFFFFF00-|r If you're using another skin, you may change at the options panel /details options > Skin Selection.\n|cFFFFFF00-|r You also can disable the class icons at Bars: General > Icon File."
Loc ["STRING_DETAILS1"] = "|cffffaeaeDetails!:|r "
+1 -2
View File
@@ -137,10 +137,9 @@
--> try to get the actor class from name
local function get_actor_class (novo_objeto, nome, flag, serial)
--> get spec
if (_detalhes.track_specs) then
local have_cached = cached_specs [serial]
local have_cached = _detalhes.cached_specs [serial]
if (have_cached) then
novo_objeto.spec = have_cached
--> check is didn't changed the spec:
+1 -4
View File
@@ -8,11 +8,8 @@ local select = select
local floor = floor
local GetNumGroupMembers = GetNumGroupMembers
local ItemUpgradeInfo = LibStub ("LibItemUpgradeInfo-1.0")
--LibGroupInSpecT-1.1 is giving errors on Legion Beta
--local LibGroupInSpecT = LibStub ("LibGroupInSpecT-1.1")
local LibGroupInSpecT = LibStub ("LibGroupInSpecT-1.1")
function _detalhes:UpdateGears()
+13
View File
@@ -3405,6 +3405,19 @@ SPELL_POWER_OBSOLETE2 = 15;
return _detalhes.parser_functions:ZONE_CHANGED_NEW_AREA (...)
end
function _detalhes.parser_functions:PLAYER_SPECIALIZATION_CHANGED()
local specIndex = GetSpecialization()
if (specIndex) then
local specID = GetSpecializationInfo (specIndex)
if (specID and specID ~= 0) then
local guid = UnitGUID ("player")
if (guid) then
_detalhes.cached_specs [guid] = specID
end
end
end
end
-- ~encounter
function _detalhes.parser_functions:ENCOUNTER_START (...)
+1 -1
View File
@@ -1662,7 +1662,7 @@ extraWindow:SetBackdropColor (0, 0, 0, 0.9)
_G.DetailsStatusBarOptionsTextStyleDropdown.MyObject:SetFixedParameter (child)
_G.DetailsStatusBarOptionsTextColorTexture:SetTexture (child.options.textColor[1], child.options.textColor[2], child.options.textColor[3], child.options.textColor[4])
_G.DetailsStatusBarOptionsTextColorTexture:SetColorTexture (child.options.textColor[1], child.options.textColor[2], child.options.textColor[3], child.options.textColor[4])
_G.DetailsStatusBarOptionsSliderFontSize.MyObject:SetFixedParameter (child)
_G.DetailsStatusBarOptionsSliderFontSize.MyObject:SetValue (child.options.textSize)
+10 -10
View File
@@ -43,7 +43,7 @@ local _
--> install wow interface skin:
_detalhes:InstallSkin ("WoW Interface", {
file = [[Interface\AddOns\Details\images\skins\default_skin]],
file = [[Interface\AddOns\Details\images\skins\default_skin.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -274,7 +274,7 @@ local _
end
_detalhes:InstallSkin ("Minimalistic", {
file = [[Interface\AddOns\Details\images\skins\classic_skin_v1]],
file = [[Interface\AddOns\Details\images\skins\classic_skin_v1.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -496,7 +496,7 @@ local _
})
_detalhes:InstallSkin ("Minimalistic v2", {
file = [[Interface\AddOns\Details\images\skins\classic_skin]],
file = [[Interface\AddOns\Details\images\skins\classic_skin.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -716,7 +716,7 @@ local _
})
_detalhes:InstallSkin ("Serenity", {
file = [[Interface\AddOns\Details\images\skins\flat_skin]],
file = [[Interface\AddOns\Details\images\skins\flat_skin.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -1010,7 +1010,7 @@ local _
end
_detalhes:InstallSkin ("Forced Square", {
file = [[Interface\AddOns\Details\images\skins\simplygray_skin]],
file = [[Interface\AddOns\Details\images\skins\simplygray_skin.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -1273,7 +1273,7 @@ local _
--> install imperial skin:
_detalhes:InstallSkin ("Imperial Skin", {
file = "Interface\\AddOns\\Details\\images\\skins\\imperial_skin",
file = "Interface\\AddOns\\Details\\images\\skins\\imperial_skin.blp",
author = "Details!",
version = "1.1",
site = "unknown",
@@ -1395,7 +1395,7 @@ local _
_detalhes:InstallSkin ("ElvUI Frame Style", {
file = [[Interface\AddOns\Details\images\skins\elvui]],
file = [[Interface\AddOns\Details\images\skins\elvui.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -1644,7 +1644,7 @@ local _
})
_detalhes:InstallSkin ("ElvUI Style II", {
file = [[Interface\AddOns\Details\images\skins\elvui_opaque]],
file = [[Interface\AddOns\Details\images\skins\elvui_opaque.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -1827,7 +1827,7 @@ local _
_detalhes:InstallSkin ("New Gray", {
file = [[Interface\AddOns\Details\images\skins\classic_skin_v1]],
file = [[Interface\AddOns\Details\images\skins\classic_skin_v1.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
@@ -2087,7 +2087,7 @@ local _
})
_detalhes:InstallSkin ("Safe Skin Legion Beta", {
file = [[Interface\AddOns\Details\images\skins\classic_skin_v1]],
file = [[Interface\AddOns\Details\images\skins\classic_skin_v1.blp]],
author = "Details!",
version = "1.0",
site = "unknown",
+2 -2
View File
@@ -2676,7 +2676,7 @@ function window:CreateFrame17()
window:CreateLineBackground2 (frame17, "autoCurrentSlider", "autoCurrentLabel", Loc ["STRING_OPTIONS_INSTANCE_CURRENT_DESC"])
--> trash suppression
g:NewLabel (frame17, _, "$parentTrashSuppressionLabel", "TrashSuppressionLabel", "Trash Suppression", "GameFontHighlightLeft")
g:NewLabel (frame17, _, "$parentTrashSuppressionLabel", "TrashSuppressionLabel", Loc ["STRING_OPTIONS_TRASH_SUPPRESSION"], "GameFontHighlightLeft")
g:NewSlider (frame17, _, "$parentTrashSuppressionSlider", "TrashSuppressionSlider", SLIDER_WIDTH, SLIDER_HEIGHT, 0, 180, 1, _detalhes.instances_suppress_trash, nil, nil, nil, options_slider_template)
frame17.TrashSuppressionSlider:SetPoint ("left", frame17.TrashSuppressionLabel, "right", 2)
@@ -2686,7 +2686,7 @@ function window:CreateFrame17()
_detalhes:SendOptionsModifiedEvent (DetailsOptionsWindow.instance)
end)
window:CreateLineBackground2 (frame17, "TrashSuppressionSlider", "TrashSuppressionLabel", "For |cFFFFFF00X|r seconds, suppress auto switching to show trash segments (|cFFFFFF00only after defeat a boss encounter|r).")
window:CreateLineBackground2 (frame17, "TrashSuppressionSlider", "TrashSuppressionLabel", Loc ["STRING_OPTIONS_TRASH_SUPPRESSION_DESC"])
+5
View File
@@ -6209,6 +6209,10 @@ function _detalhes:SetUserCustomSkinFile (file)
self:ChangeSkin()
end
function _detalhes:RefreshMicroDisplays()
_detalhes.StatusBar:UpdateOptions (self)
end
function _detalhes:ChangeSkin (skin_name)
if (not skin_name) then
@@ -6406,6 +6410,7 @@ function _detalhes:ChangeSkin (skin_name)
--> refresh the side of the micro displays and its lock state
self:MicroDisplaysSide()
self:MicroDisplaysLock()
self:RefreshMicroDisplays()
--> update statusbar
if (self.show_statusbar) then
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+5 -1
View File
@@ -260,6 +260,8 @@ function _G._detalhes:Start()
self.listener:RegisterEvent ("PLAYER_ROLES_ASSIGNED")
self.listener:RegisterEvent ("ROLE_CHANGED_INFORM")
self.listener:RegisterEvent ("PLAYER_SPECIALIZATION_CHANGED")
self.parser_frame:RegisterEvent ("COMBAT_LOG_EVENT_UNFILTERED")
--> group
@@ -504,7 +506,7 @@ function _G._detalhes:Start()
--version
self.gump:Fade (instance._version, 0)
instance._version:SetText ("Details! " .. _detalhes.userversion .. " (core: " .. self.realversion .. ")")
instance._version:SetText ("Details! Beta " .. _detalhes.userversion .. " (core: " .. self.realversion .. ")")
instance._version:SetPoint ("bottomleft", instance.baseframe, "bottomleft", 5, 1)
if (instance.auto_switch_to_old) then
@@ -607,6 +609,8 @@ function _G._detalhes:Start()
wipe (_detalhes.cached_talents)
end
--> get the player spec
C_Timer.After (2, _detalhes.parser_functions.PLAYER_SPECIALIZATION_CHANGED)
_detalhes.chat_embed:CheckChatEmbed (true)