diff --git a/ElvUI_SLE/defaults/profile.lua b/ElvUI_SLE/defaults/profile.lua
index e1d3044..b8818d6 100644
--- a/ElvUI_SLE/defaults/profile.lua
+++ b/ElvUI_SLE/defaults/profile.lua
@@ -220,6 +220,10 @@ P['sle'] = {
['mail'] = {
['icon'] = true,
},
+ ['durability'] = {
+ ['gradient'] = true,
+ ['threshold'] = 50,
+ }
},
--Exp/Rep Bar
diff --git a/ElvUI_SLE/locales/russian.lua b/ElvUI_SLE/locales/russian.lua
index 2218573..af4dce9 100644
--- a/ElvUI_SLE/locales/russian.lua
+++ b/ElvUI_SLE/locales/russian.lua
@@ -295,6 +295,11 @@ L['Show Zero Currency'] = "Показывать отсутствующую ва
L['Show Icons'] = "Показывать иконки"
L['Show Faction Totals'] = "Показывать сумму по фракциям"
L['Show Unsed Currency'] = "Показывать неиспользуемую валюту"
+L["Gradient"] = "Градиент"
+L["If enabled will color durability text based on it's value."] = "Если включено, будет окрашивать текст прочности в зависимости от значения."
+L["Durability Threshold"] = "Порог прочности"
+L["Datatext will flash if durability shown will be equal or lower that this value."] = "Инфотекст начнет мигать, если показанная прочность будет меньшей либо равной заданному числу."
+L["Any changes made will take effect only after:\n - Opening vendor\n - Item durability changes\n - Experiencing loading screen."] = "Изменения данных параметров вступят в силу только после одного из следующих действий:\n - Взаимодействия с торговцем\n - Изменения прочности предметов\n - Окончания экрана загрузки."
--Equip Manager--
L['Equipment Manager'] = "Менеджер экипировки"
diff --git a/ElvUI_SLE/modules/sledatatexts/durability.lua b/ElvUI_SLE/modules/sledatatexts/durability.lua
index 435d1b7..4058d36 100644
--- a/ElvUI_SLE/modules/sledatatexts/durability.lua
+++ b/ElvUI_SLE/modules/sledatatexts/durability.lua
@@ -34,14 +34,18 @@ local function OnEvent(self, event, ...)
end
end
end
- if totalDurability <= 89 then
+ if totalDurability <= E.db.sle.dt.durability.threshold then
E:Flash(self, 0.53, true)
else
E:StopFlash(self)
end
- local r,g,b = E:ColorGradient(totalDurability/100, .9,.2,.2, .9,.9,.2, .2,.9,.2)
- local hex = E:RGBToHex(r,g,b)
- self.text:SetFormattedText("%s: %s%d%%|r", DURABILITY, hex, totalDurability)
+ if E.db.sle.dt.durability.gradient then
+ local r,g,b = E:ColorGradient(totalDurability/100, .9,.2,.2, .9,.9,.2, .2,.9,.2)
+ local hex = E:RGBToHex(r,g,b)
+ self.text:SetFormattedText("%s: %s%d%%|r", DURABILITY, hex, totalDurability)
+ else
+ self.text:SetFormattedText(displayString, totalDurability)
+ end
end
local function Click()
@@ -58,5 +62,14 @@ local function OnEnter(self)
DT.tooltip:Show()
end
+local function ValueColorUpdate(hex, r, g, b)
+ displayString = join("", DURABILITY, ": ", hex, "%d%%|r")
+
+ if lastPanel ~= nil then
+ OnEvent(lastPanel, 'ELVUI_COLOR_UPDATE')
+ end
+end
+E['valueColorUpdateFuncs'][ValueColorUpdate] = true
+
DT:RegisterDatatext('Durability', {'PLAYER_ENTERING_WORLD', "UPDATE_INVENTORY_DURABILITY", "MERCHANT_SHOW"}, OnEvent, nil, Click, OnEnter)
diff --git a/ElvUI_SLE/options/datatexts_c.lua b/ElvUI_SLE/options/datatexts_c.lua
index 7e9109b..a98f196 100644
--- a/ElvUI_SLE/options/datatexts_c.lua
+++ b/ElvUI_SLE/options/datatexts_c.lua
@@ -513,6 +513,35 @@ local function configTable()
}
},
},
+ sldurability = {
+ type = "group",
+ name = DURABILITY,
+ order = 6,
+ args = {
+ header = {
+ order = 1,
+ type = "description",
+ name = L["Any changes made will take effect only after:\n - Opening vendor\n - Item durability changes\n - Experiencing loading screen."],
+ },
+ gradient = {
+ order = 2,
+ type = "toggle",
+ name = L["Gradient"],
+ desc = L["If enabled will color durability text based on it's value."],
+ get = function(info) return E.db.sle.dt.durability.gradient end,
+ set = function(info, value) E.db.sle.dt.durability.gradient = value end,
+ },
+ threshold = {
+ order = 3,
+ type = "range",
+ min = 5, max = 99, step = 1,
+ name = L["Durability Threshold"],
+ desc = L["Datatext will flash if durability shown will be equal or lower that this value."],
+ get = function(info) return E.db.sle.dt.durability.threshold end,
+ set = function(info, value) E.db.sle.dt.durability.threshold = value end,
+ }
+ },
+ },
},
}
end