- New Feature: import and export profiles.

- Major improvements on bar text scripts.
- Improved import and export custom skins.
- Fixed shaman's sundering spell not showing in crowd control.
- Fixed sharing guild statistics.
- More spells added to spell consolidation: Whirlwind, Fracture, Mutilate.
- Monk Mistweaver Blackout Kick now has a indicator when it comes from passive 'Teachings of the Monastery'.
- Added slash command '/details debugwindow' for cases when the window isn't shown or are anchored in the wrong place.
- Exposed spell ignore table, you can now add spells to be ignored using Details.SpellsToIgnore [spellID] = true.
This commit is contained in:
Tercioo
2018-11-07 17:32:08 -02:00
parent 8dd8714dd5
commit 268fab49a9
10 changed files with 157 additions and 31 deletions
+12
View File
@@ -277,8 +277,10 @@ function DF:CreateCoolTip()
tinsert (UISpecialFrames, "GameCooltipFrame1")
DF:CreateFlashAnimation (frame1)
--removing the border makes the cooltip much more clear
if (DF.CreateBorder) then
DF:CreateBorder (frame1, .3, .1, .03)
frame1:SetBorderAlpha (0, 0, 0)
end
else
frame1 = GameCooltipFrame1
@@ -303,8 +305,10 @@ function DF:CreateCoolTip()
DF:CreateFlashAnimation (frame2)
frame2:SetClampedToScreen (true)
--removing the border makes the cooltip much more clear
if (DF.CreateBorder) then
DF:CreateBorder (frame2, .3, .1, .03)
frame2:SetBorderAlpha (0, 0, 0)
end
else
frame2 = GameCooltipFrame2
@@ -2711,6 +2715,14 @@ function DF:CreateCoolTip()
f:SetBackdropBorderColor (r, g, b, a)
end
--[=[
f:SetBackdrop (nil)
f.framebackgroundCenter:SetTexture (nil)
f.framebackgroundLeft:SetTexture (nil)
f.framebackgroundRight:SetTexture (nil)
f.frameWallpaper:SetTexture (nil)
--]=]
end
function CoolTip:SetBannerImage (index, texturepath, width, height, anchor, texcoord, overlay)
+7 -1
View File
@@ -1,5 +1,5 @@
local dversion = 117
local dversion = 121
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary (major, minor)
@@ -20,6 +20,11 @@ local string_match = string.match
SMALL_NUMBER = 0.000001
ALPHA_BLEND_AMOUNT = 0.8400251
DF.AuthorInfo = {
Name = "Tercioo",
Discord = "https://discord.gg/AGSzAZX",
}
--> will always give a very random name for our widgets
local init_counter = math.random (1, 1000000)
@@ -2688,5 +2693,6 @@ function DF:GetCLEncounterIDs()
return DF.CLEncounterID
end
--doo elsee
--was doing double loops due to not enought height
+65 -9
View File
@@ -3808,13 +3808,19 @@ function DF:CreateTabContainer (parent, title, frame_name, frame_list, options_t
DF.TabContainerFunctions.CreateUnderlineGlow (tabButton)
local right_click_to_back
if (i == 1) then
if (i == 1 or options_table.rightbutton_always_close) then
right_click_to_back = DF:CreateLabel (f, "right click to close", 10, "gray")
right_click_to_back:SetPoint ("bottomright", f, "bottomright", -1, options_table.right_click_y or 0)
if (options_table.close_text_alpha) then
right_click_to_back:SetAlpha (options_table.close_text_alpha)
end
f.IsFrontPage = true
else
right_click_to_back = DF:CreateLabel (f, "right click to go back to main menu", 10, "gray")
right_click_to_back:SetPoint ("bottomright", f, "bottomright", -1, options_table.right_click_y or 0)
if (options_table.close_text_alpha) then
right_click_to_back:SetAlpha (options_table.close_text_alpha)
end
end
if (options_table.hide_click_label) then
@@ -4948,9 +4954,13 @@ DF.IconRowFunctions = {
local newIconFrame = CreateFrame ("frame", "$parentIcon" .. self.NextIcon, self)
newIconFrame:SetSize (self.options.icon_width, self.options.icon_height)
newIconFrame.Texture = newIconFrame:CreateTexture (nil, "background")
newIconFrame.Texture = newIconFrame:CreateTexture (nil, "artwork")
newIconFrame.Texture:SetAllPoints()
newIconFrame.Border = newIconFrame:CreateTexture (nil, "background")
newIconFrame.Border:SetAllPoints()
newIconFrame.Border:SetColorTexture (0, 0, 0)
newIconFrame:SetBackdrop ({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1})
newIconFrame:SetBackdropBorderColor (0, 0, 0, 0)
newIconFrame:EnableMouse (false)
@@ -6325,11 +6335,11 @@ DF.DataScrollFunctions = {
local parent = line:GetParent()
if (parent.options.show_title) then
line.Title.text = data [1] or ""
line.Date.text = data [2] or ""
line.Text.text = data [3] or ""
line.Title.text = data [2] or ""
line.Date.text = data [3] or ""
line.Text.text = data [4] or ""
else
line.Text.text = data [1] or ""
line.Text.text = data [2] or ""
end
end,
}
@@ -6415,6 +6425,24 @@ DF.NewsFrameFunctions = {
}
--[=[
Get the amount of news that the player didn't see yet
@newsTable = an indexed table of tables
@lastNewsTime = last time the player opened the news window
--]=]
function DF:GetNumNews (newsTable, lastNewsTime)
local now = time()
local nonReadNews = 0
for _, news in ipairs (newsTable) do
if (news[1] > lastNewsTime) then
nonReadNews = nonReadNews + 1
end
end
return nonReadNews
end
--[=[
Creates a panel with a scroll to show texts organized in separated lines
@parent = the parent of the frame
@@ -6424,7 +6452,7 @@ DF.NewsFrameFunctions = {
@db = (optional) an empty table from the addon database to store the position of the frame between game sessions
--]=]
function DF:CreateNewsFrame (parent, name, options, newsTable, db)
local f = DF:CreateSimplePanel (parent, 400, 700, options and options.title or default_newsframe_options.title, name, {UseScaleBar = db and true}, db)
f:SetFrameStrata ("MEDIUM")
DF:ApplyStandardBackdrop (f)
@@ -6433,12 +6461,12 @@ function DF:CreateNewsFrame (parent, name, options, newsTable, db)
DF:Mixin (f, DF.LayoutFrame)
f:BuildOptionsTable (default_newsframe_options, options)
f:SetSize (f.options.width, f.options.height)
f:SetBackdrop (f.options.backdrop)
f:SetBackdropColor (unpack (f.options.backdrop_color))
f:SetBackdropBorderColor (unpack (f.options.backdrop_border_color))
local scrollOptions = {
data = newsTable,
width = f.options.width - 32, --frame distance from walls and scroll bar space
@@ -6460,7 +6488,35 @@ end
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> statusbar info
function DF:BuildStatusbarAuthorInfo (f)
local authorName = DF:CreateLabel (f, "An addon by |cFFFFFFFFTercioo|r")
authorName.textcolor = "silver"
local discordLabel = DF:CreateLabel (f, "Discord: ")
discordLabel.textcolor = "silver"
local options_dropdown_template = DF:GetTemplate ("dropdown", "OPTIONS_DROPDOWN_TEMPLATE")
local discordTextEntry = DF:CreateTextEntry (f, function()end, 200, 18, "DiscordTextBox", _, _, options_dropdown_template)
discordTextEntry:SetText ("https://discord.gg/AGSzAZX")
discordTextEntry:SetFrameLevel (5000)
authorName:SetPoint ("left", f, "left", 2, 0)
discordLabel:SetPoint ("left", authorName, "right", 20, 0)
discordTextEntry:SetPoint ("left", discordLabel, "right", 2, 0)
--format
authorName:SetAlpha (.4)
discordLabel:SetAlpha (.4)
discordTextEntry:SetAlpha (.4)
discordTextEntry:SetBackdropBorderColor (1, 1, 1, 0)
discordTextEntry:SetHook ("OnEditFocusGained", function()
discordTextEntry:HighlightText()
end)
end
+8 -11
View File
@@ -127,18 +127,14 @@ local ImageMetaFunctions = _G [DF.GlobalWidgetControlNames ["image"]]
end
--> color
local smember_color = function (_object, _value)
if (type (_value) == "table") then
local r, g, b, a = DF:ParseColors (_value)
_object.image:SetTexture (r,g,b, a or 1)
else
if (DF:IsHtmlColor (_value)) then
local r, g, b, a = DF:ParseColors (_value)
_object.image:SetTexture (r, g, b, a or 1)
else
_object.image:SetTexture (_value)
end
end
local r, g, b, a = DF:ParseColors (_value)
_object.image:SetColorTexture (r, g, b, a or 1)
end
--> vertex color
local smember_vertexcolor = function (_object, _value)
local r, g, b, a = DF:ParseColors (_value)
_object.image:SetVertexColor (r, g, b, a or 1)
end
--> desaturated
local smember_desaturated = function (_object, _value)
if (_value) then
@@ -165,6 +161,7 @@ local ImageMetaFunctions = _G [DF.GlobalWidgetControlNames ["image"]]
ImageMetaFunctions.SetMembers ["texture"] = smember_texture
ImageMetaFunctions.SetMembers ["texcoord"] = smember_texcoord
ImageMetaFunctions.SetMembers ["color"] = smember_color
ImageMetaFunctions.SetMembers ["vertexcolor"] = smember_vertexcolor
ImageMetaFunctions.SetMembers ["blackwhite"] = smember_desaturated
ImageMetaFunctions.__newindex = function (_table, _key, _value)
+15 -8
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -175,6 +175,7 @@
lower_instance:InstanceAlert ("Update Available!", {[[Interface\GossipFrame\AvailableQuestIcon]], 16, 16, false}, _detalhes.update_warning_timeout, {_detalhes.OpenUpdateWindow})
end
end
_detalhes:Msg (Loc ["STRING_VERSION_AVAILABLE"])
_detalhes.lastUpdateWarning = time()
end
end
+5
View File
@@ -171,6 +171,7 @@
[233499] = 233490, --warlock Unstable Affliction
[261947] = 261977, --monk fist of the white tiger talent
}
local bitfield_debuffs_ids = _detalhes.BitfieldSwapDebuffsIDs
@@ -184,6 +185,7 @@
end
end
--expose the override spells table to external scripts
_detalhes.OverridedSpellIds = override_spellId
--> ignore soul link (damage from the warlock on his pet - current to demonology only)
@@ -215,6 +217,9 @@
[SPELLID_WARLOCK_SOULLINK] = true,
}
--> expose the ignore spells table to external scripts
_detalhes.SpellsToIgnore = damage_spells_to_ignore
--> is parser allowed to replace spellIDs?
local is_using_spellId_override = false
+13 -2
View File
@@ -424,9 +424,7 @@
f:SetBackdropColor (0, 0, 0, 0.3)
f:Hide()
--> members
f.MenuX = CONST_PLUGINWINDOW_MENU_X
f.MenuY = CONST_PLUGINWINDOW_MENU_Y
@@ -452,6 +450,19 @@
--> menu background
local menuBackground = CreateFrame ("frame", "$parentMenuFrame", f)
_detalhes:FormatBackground (menuBackground)
--> statusbar
local statusBar = CreateFrame ("frame", nil, menuBackground)
statusBar:SetPoint ("topleft", menuBackground, "bottomleft", 0, 1)
statusBar:SetPoint ("topright", f, "bottomright", 0, 1)
statusBar:SetHeight (20)
_detalhes.gump:ApplyStandardBackdrop (statusBar)
statusBar:SetAlpha (1)
_detalhes.gump:BuildStatusbarAuthorInfo (statusBar)
--
local right_click_to_back = _detalhes.gump:CreateLabel (statusBar, "right click to close", 10, "gray")
right_click_to_back:SetPoint ("bottomright", statusBar, "bottomright", -1, 5)
right_click_to_back:SetAlpha (.4)
--> point
menuBackground:SetPoint ("topright", f, "topleft", -2, 0)
+29
View File
@@ -162,6 +162,35 @@ function SlashCmdList.DETAILS (msg, editbox)
elseif (command == Loc ["STRING_SLASH_CHANGES"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS1"] or command == Loc ["STRING_SLASH_CHANGES_ALIAS2"] or command == "news" or command == "updates") then
_detalhes:OpenNewsWindow()
elseif (command == "debugwindow") then
local window1 = Details:GetWindow(1)
if (window1) then
local state = {
ParentName = window1.baseframe:GetParent():GetName(),
Alpha = window1.baseframe:GetAlpha(),
IsShown = window1.baseframe:IsShown(),
IsOpen = window1:IsEnabled() and true or false,
NumPoints = window1.baseframe:GetNumPoints(),
}
for i = 1, window1.baseframe:GetNumPoints() do
state ["Point" .. i] = {window1.baseframe:GetPoint (i)}
end
local parent = window1.baseframe:GetParent()
state ["ParentInfo"] = {
Alpha = parent:GetAlpha(),
IsShown = parent:IsShown(),
NumPoints = parent:GetNumPoints(),
}
Details:Dump (state)
else
Details:Msg ("Window 1 not found.")
end
elseif (command == "spells") then
Details.OpenForge()
DetailsForgePanel.SelectModule (_, _, 2)
+2
View File
@@ -94,6 +94,8 @@ do
[49184] = {name = GetSpellInfo (49184) .. " (Main Target)"}, --DK Howling Blast
[237680] = {name = GetSpellInfo (237680) .. " (AoE)"}, --DK Howling Blast
[228649] = {name = GetSpellInfo (228649) .. " (Passive)"}, --Monk Mistweaver Blackout kick - Passive Teachings of the Monastery
--> bfa trinkets
[278155] = {name = GetSpellInfo (278155) .. " (Trinket)"}, --[Twitching Tentacle of Xalzaix]
[279664] = {name = GetSpellInfo (279664) .. " (Trinket)"}, --[Vanquished Tendril of G'huun]