diff --git a/.vscode/settings.json b/.vscode/settings.json
index 4ab48a88..d4de00b3 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -139,7 +139,14 @@
"DUNGEON_SCORE_OVERTIME_TIME",
"NO",
"UIParentLoadAddOn",
- "BOOKTYPE_PROFESSION"
+ "BOOKTYPE_PROFESSION",
+ "InterfaceOptions_AddCategory",
+ "MainMenuBar",
+ "Settings",
+ "Add",
+ "CURRENCY",
+ "EasyMenu",
+ "ElvDB"
],
"Lua.diagnostics.disable": [
"redundant-parameter",
diff --git a/CHANGELOG b/CHANGELOG
index 92ecddd4..39f06da9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,50 @@
# Changelog - ElvUI_mMediaTag
[Eng] - All changes to this project will be documented in this file. The latest changes are at the top.
-[Ger] - Alle Ă„nderungen an diesem Projekt werden in dieser Datei dokumentiert. Die neuesten Ă„nderungen stehen ganz oben.
+
+## [ver. 3.1] - 07.05.2023
+### Update
+- Update Teleports for Season 2
+- Update Example Dock
+### Fix
+- Tag update function in Settings menu
+### NEW
+- Addon Compartment Tooltip
+- Add in Game Changlog
+- New Icons for Dock
+- New Game Menu Icons
+- New Teleport Datatext Icons
+- Custom Ready Check Icons
+- Custom Phase Icons and Color
+- Custom Resurrection icons
+- New Dock Icon for Bags
+- New Quick Setup Menu
+
+## [ver. 3.0] - 02.05.2023
+### IMPORTANT
+!!! Currently only for Retail
+
+### Update
+- Code Update
+- The settings will be reset
+- Update logo and Name
+- Add new Logo and Settings for Retail 10.1
+- More Mediafiles, for Dock, Role, Tags. Datatexts
+- Interrupt on CD now shows when the Unit is out of range
+- M+ Datatext got more functionality for the tooltip, now shows an overview.
+- You can now choos a Icon for Chatbutton and Rollbutton
+- Update Dungeon Name function for Dataext Dungeons
+- Nameplate border and hover color can now be set separately
+- Add new Target Arrows to ElvUI
+- Add new Combat Icons to ElvUI
+- Add new Mail Icons to ElvUI
+- Add new Resting Icons to ElvUI
+- Update the Tags, all aviable Tags under ElvUI > Tags
+- Tags spelling is now consistent
+- Removed old and unused Tags
+- New Tag Classification Icon
+- Objectivetracker Skin, skins now the Dungeon tracker
+- New Dock Icons
+- 3 special Styles for Dock Calendar
## [ver. 2.95.2] - 04.04.2023
### Update
diff --git a/ElvUI_mMediaTag_Mainline.toc b/ElvUI_mMediaTag_Mainline.toc
index 5b2de596..68652b86 100644
--- a/ElvUI_mMediaTag_Mainline.toc
+++ b/ElvUI_mMediaTag_Mainline.toc
@@ -1,10 +1,12 @@
## Interface: 100100
## Author: Blinkii
-## Version: 3.0
+## Version: 3.1
## Title: |cff1784d1ElvUI|r |CFF6559F1m|r|CFF7A4DEFM|r|CFF8845ECe|r|CFFA037E9d|r|CFFA435E8i|r|CFFB32DE6a|r|CFFBC26E5T|r|CFFCB1EE3a|r|CFFDD14E0g|r |CFFFF006C&|r |CFFFF4C00T|r|CFFFF7300o|r|CFFFF9300o|r|CFFFFA800l|r|CFFFFC900s|r
## Notes: ElvUI Plugin from Blinkii | Support: mMediaTag@gmx.de
## IconTexture: Interface\AddOns\ElvUI_mMediaTag\media\logo\mmt_icon
## AddonCompartmentFunc: ElvUI_mMediaTag_OnAddonCompartmentClick
+## AddonCompartmentFuncOnEnter: ElvUI_mMediaTag_OnAddonCompartmentOnEnter
+## AddonCompartmentFuncOnLeave: ElvUI_mMediaTag_OnAddonCompartmentOnLeave
## RequiredDeps: ElvUI
## DefaultState: Enabled
## X-Tukui-ProjectID: 60
diff --git a/core/cmd.lua b/core/cmd.lua
index d67ec8ad..26f24cf1 100644
--- a/core/cmd.lua
+++ b/core/cmd.lua
@@ -3,8 +3,7 @@ local mMT, E, L, V, P, G = unpack((select(2, ...)))
function mMT:LoadCommands()
self:RegisterChatCommand("mmt", function()
if not InCombatLockdown() then
- E:ToggleOptions()
- E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT")
+ E:ToggleOptions("mMT")
HideUIPanel(_G["GameMenuFrame"])
end
end)
diff --git a/core/dropdown.lua b/core/dropdown.lua
index 9c570b9e..4b8fc85a 100644
--- a/core/dropdown.lua
+++ b/core/dropdown.lua
@@ -91,7 +91,7 @@ function mMT:mDropDown(list, frame, menuparent, ButtonWidth, HideDelay)
end
end
- local texture = [[Interface\AddOns\ElvUI_mMediaTag\media\textures\q1.tga]]
+ local texture = [[Interface\AddOns\ElvUI_mMediaTag\media\textures\k35.tga]]
or [[Interface\QuestFrame\UI-QuestTitleHighlight]]
if not list[i].isTitle then
@@ -104,7 +104,7 @@ function mMT:mDropDown(list, frame, menuparent, ButtonWidth, HideDelay)
frame.buttons[i].hoverTex:SetGradient("HORIZONTAL", {r = class[1], g = class[2], b = class[3], a = 0.75},
{r = mMT:ColorCheck(class[1] + 0.4), g = mMT:ColorCheck(class[2] + 0.4), b = mMT:ColorCheck(class[3] + 0.4), a = 0.75})
- frame.buttons[i].hoverTex:SetBlendMode("ADD")
+ frame.buttons[i].hoverTex:SetBlendMode("BLEND")
frame.buttons[i].hoverTex:Hide()
end
diff --git a/core/options/about.lua b/core/options/about.lua
index 66833e4b..f4e613f2 100644
--- a/core/options/about.lua
+++ b/core/options/about.lua
@@ -1,5 +1,6 @@
local mMT, E, L, V, P, G = unpack((select(2, ...)))
+local _G = _G
local tinsert = tinsert
local tconcat = _G.table.concat
@@ -80,7 +81,7 @@ local function configTable()
type = "execute",
name = L["Changelog"],
func = function()
- -- mMT:Changelog(true)
+ mMT:Changelog()
end,
},
},
diff --git a/core/options/changelog.lua b/core/options/changelog.lua
new file mode 100644
index 00000000..794d79bc
--- /dev/null
+++ b/core/options/changelog.lua
@@ -0,0 +1,181 @@
+local mMT, E, L, V, P, G = unpack((select(2, ...)))
+
+local _G = _G
+local tinsert = tinsert
+local tconcat = _G.table.concat
+local green, blue, yellow, red, endtag = "|CFF00D80E", "|CFF00A9FF", "|CFFFFCC00", "|CFFFF0048", "|r"
+local new, fix, update, important, dash =
+ "|TInterface\\Addons\\ElvUI_mMediaTag\\media\\icons\\misc\\star.tga:14:14|t",
+ "|TInterface\\Addons\\ElvUI_mMediaTag\\media\\icons\\misc\\done1.tga:14:14|t",
+ "|TInterface\\Addons\\ElvUI_mMediaTag\\media\\icons\\datatext\\upgrade7.tga:14:14|t",
+ "|TInterface\\Addons\\ElvUI_mMediaTag\\media\\icons\\tags\\quest2.tga:14:14|t",
+ "> "
+
+local change_log_important = {
+ red .. "!!! Currently only for Retail" .. endtag,
+ "Code Update",
+ "The settings will be rest if you update from v2 to v3",
+ "Removed old and unused Tags",
+}
+
+local change_log_new = {
+ "Addon Compartment Tooltip",
+ "Add in Game Changlog",
+ "New Icons for Dock",
+ "New Game Menu Icons",
+ "New Teleport Datatext Icons",
+ "Custom Ready Check Icons",
+ "Custom Phase Icons and Color",
+ "Custom Resurrection icons",
+ "New Dock Icon for Bags",
+ "New Quick Setup Menu",
+}
+
+local change_log_update = {
+ "Update Teleports for Season 2",
+ "Update Example Dock",
+}
+
+local change_log_fix = {
+ "Tag update function in Settings menu",
+}
+
+local function Concatenation(tbl, icon, color)
+ local string = ""
+ for key, line in pairs(tbl) do
+ if color then
+ line = color .. line .. endtag
+ end
+
+ if icon then
+ line = icon .. " " .. line
+ end
+
+ string = string .. dash .. " " .. line .. "\n"
+ end
+ return string
+end
+
+local function configTable()
+ local releasdate = "07.05.2023"
+ local change_log_important_string = Concatenation(change_log_important)
+ local change_log_new_string = Concatenation(change_log_new)
+ local change_log_update_string = Concatenation(change_log_update)
+ local change_log_fix_string = Concatenation(change_log_fix)
+ E.Options.args.mMT.args.changelog.args = {
+ header_changelog = {
+ order = 1,
+ type = "group",
+ inline = true,
+ name = mMT.IconSquare .. " " .. mMT.Name .. " " .. L["Change Log"],
+ args = {
+ header_version = {
+ order = 1,
+ type = "group",
+ inline = true,
+ name = L["Version:"],
+ args = {
+ version = {
+ order = 1,
+ type = "description",
+ fontSize = "medium",
+ name = green .. mMT.Version .. endtag,
+ },
+ date = {
+ order = 2,
+ type = "description",
+ fontSize = "medium",
+ name = green .. L["Releas date:"] .. endtag .. " " .. (releasdate or "ERROR"),
+ },
+ },
+ },
+ header_important = {
+ order = 2,
+ type = "group",
+ inline = true,
+ name = important .. " " .. red .. L["Important:"] .. endtag,
+ hidden = function()
+ if change_log_important_string then
+ return false
+ else
+ return true
+ end
+ end,
+ args = {
+ important = {
+ order = 1,
+ type = "description",
+ fontSize = "large",
+ name = change_log_important_string or "",
+ },
+ },
+ },
+ header_new = {
+ order = 3,
+ type = "group",
+ inline = true,
+ name = new .. " " .. green .. L["New:"] .. endtag,
+ hidden = function()
+ if change_log_new_string then
+ return false
+ else
+ return true
+ end
+ end,
+ args = {
+ new = {
+ order = 1,
+ type = "description",
+ fontSize = "medium",
+ name = change_log_new_string or "",
+ },
+ },
+ },
+ header_update = {
+ order = 4,
+ type = "group",
+ inline = true,
+ name = update .. " " .. blue .. L["Update:"] .. endtag,
+ hidden = function()
+ if change_log_update_string then
+ return false
+ else
+ return true
+ end
+ end,
+ args = {
+ update = {
+ order = 1,
+ type = "description",
+ fontSize = "medium",
+ name = change_log_update_string or "",
+ },
+ },
+ },
+ header_fix = {
+ order = 5,
+ type = "group",
+ inline = true,
+ name = fix .. " " .. yellow .. L["Fix:"] .. endtag,
+ hidden = function()
+ if change_log_fix_string then
+ return false
+ else
+ return true
+ end
+ end,
+ args = {
+ fix = {
+ order = 1,
+ type = "description",
+ fontSize = "medium",
+ name = change_log_fix_string or "",
+ },
+ },
+ },
+ },
+ },
+ }
+end
+
+tinsert(mMT.Config, configTable)
diff --git a/core/options/core.lua b/core/options/core.lua
index d0be16f7..2619e298 100644
--- a/core/options/core.lua
+++ b/core/options/core.lua
@@ -214,6 +214,13 @@ local function configTable()
childGroups = "tab",
args = {},
},
+ unitframeicons = {
+ order = 6,
+ type = "group",
+ name = L["Unitframe Icons"],
+ childGroups = "tab",
+ args = {},
+ },
-- textures = {
-- order = 20,
-- type = "group",
@@ -231,8 +238,17 @@ local function configTable()
args = {
},
},
+ changelog = {
+ order = 11,
+ type = "group",
+ name = format("|CFFFF0094%s|r", L["Changelog"]),
+ icon = "Interface\\Addons\\ElvUI_mMediaTag\\media\\system\\changelog.tga",
+ childGroups = "tab",
+ args = {
+ },
+ },
setup = {
- order = 10,
+ order = 20,
type = "group",
name = format("|CFF0094FF%s|r", L["Setup"]),
icon = "Interface\\Addons\\ElvUI_mMediaTag\\media\\system\\setup.tga",
diff --git a/core/options/dock.lua b/core/options/dock.lua
index bee5b4c6..b29024c6 100644
--- a/core/options/dock.lua
+++ b/core/options/dock.lua
@@ -35,26 +35,6 @@ local function configTable()
icons[key] = E:TextureString(icon, ":14:14") .. " " .. key
end
E.Options.args.mMT.args.dock.args = {
- -- header_greeting = {
- -- order = 1,
- -- type = "group",
- -- inline = true,
- -- name = L["Welcome text"],
- -- args = {
- -- toggle_greeting = {
- -- order = 2,
- -- type = "toggle",
- -- name = L["Show Welcome text"],
- -- get = function(info)
- -- return E.db.mMT.general.greeting
- -- end,
- -- set = function(info, value)
- -- E.db.mMT.general.greeting = value
- -- end,
- -- },
- -- },
- -- },
-
dockgeneral = {
order = 10,
type = "group",
@@ -1678,6 +1658,76 @@ local function configTable()
},
},
},
+ dockbag = {
+ order = 220,
+ type = "group",
+ name = L["Bags"],
+ args = {
+ dockbagicon = {
+ order = 1,
+ type = "select",
+ name = L["Icon"],
+ get = function(info)
+ return E.db.mMT.dockdatatext.bag.icon
+ end,
+ set = function(info, value)
+ E.db.mMT.dockdatatext.bag.icon = value
+ DT:ForceUpdate_DataText("mBags")
+ end,
+ values = icons,
+ },
+ dockbagtext = {
+ order = 2,
+ type = "select",
+ name = L["Text to display"],
+ get = function(info)
+ return E.db.mMT.dockdatatext.bag.text
+ end,
+ set = function(info, value)
+ E.db.mMT.dockdatatext.bag.text = value
+ DT:ForceUpdate_DataText("mBags")
+ end,
+ values = {
+ [1] = L["Bag - FREE"],
+ [2] = L["Bag - USED"],
+ [3] = L["Bag - FREE/TOTAL"],
+ [4] = L["GOLD"],
+ [5] = L["NONE"]
+
+ },
+ },
+ bagtoggle = {
+ order = 3,
+ name = L["Custom color"],
+ type = "toggle",
+ get = function(info)
+ return E.db.mMT.dockdatatext.bag.customcolor
+ end,
+ set = function(info, value)
+ E.db.mMT.dockdatatext.bag.customcolor = value
+ DT:ForceUpdate_DataText("mBags")
+ end,
+ },
+ bagcolor = {
+ type = "color",
+ order = 4,
+ name = L["Custom Icon Color"],
+ hasAlpha = true,
+ disabled = function()
+ return not E.db.mMT.dockdatatext.bag.customcolor
+ end,
+ get = function(info)
+ local t = E.db.mMT.dockdatatext.bag.iconcolor
+ return t.r, t.g, t.b, t.a
+ end,
+ set = function(info, r, g, b, a)
+ local t = E.db.mMT.dockdatatext.bag.iconcolor
+ t.r, t.g, t.b, t.a = r, g, b, a
+ DT:ForceUpdate_DataText("mBags")
+ end,
+ },
+ },
+ },
dockexample = {
order = 300,
type = "group",
diff --git a/core/options/load_options.xml b/core/options/load_options.xml
index 845ece65..826a71c3 100644
--- a/core/options/load_options.xml
+++ b/core/options/load_options.xml
@@ -27,4 +27,7 @@
+
+
+
\ No newline at end of file
diff --git a/core/options/setup.lua b/core/options/setup.lua
new file mode 100644
index 00000000..4c097530
--- /dev/null
+++ b/core/options/setup.lua
@@ -0,0 +1,485 @@
+local mMT, E, L, V, P, G = unpack((select(2, ...)))
+
+local tinsert = tinsert
+local function configTable()
+ E.Options.args.mMT.args.setup.args = {
+ header_greeting = {
+ order = 1,
+ type = "group",
+ inline = true,
+ name = L["General"],
+ args = {
+ header_rollbutton = {
+ order = 1,
+ type = "group",
+ inline = true,
+ name = L["Roll Button"],
+ args = {
+ toggle_rollbutton = {
+ order = 1,
+ type = "toggle",
+ name = L["Roll Button"],
+ get = function(info)
+ return E.db.mMT.roll.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.roll.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_rollbutton = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "general", "roll")
+ end,
+ },
+ },
+ },
+ header_chatbutton = {
+ order = 2,
+ type = "group",
+ inline = true,
+ name = L["Chat Button"],
+ args = {
+ toggle_chatbutton = {
+ order = 1,
+ type = "toggle",
+ name = L["Chat Button"],
+ get = function(info)
+ return E.db.mMT.chat.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.chat.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_chatbutton = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "general", "chat")
+ end,
+ },
+ },
+ },
+ header_keystochat = {
+ order = 3,
+ type = "group",
+ inline = true,
+ name = L["Chat Button"],
+ args = {
+ toggle_keystochat = {
+ order = 1,
+ type = "toggle",
+ name = L["Keyston to Chat"],
+ get = function(info)
+ return E.db.mMT.general.keystochat
+ end,
+ set = function(info, value)
+ E.db.mMT.general.keystochat = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_keystochat = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "general", "keystochat")
+ end,
+ },
+ },
+ },
+ header_instancedifficulty = {
+ order = 4,
+ type = "group",
+ inline = true,
+ name = L["Instance Difficulty"],
+ args = {
+ toggle_instancedifficulty = {
+ order = 1,
+ type = "toggle",
+ name = L["Instance Difficulty"],
+ get = function(info)
+ return E.db.mMT.instancedifficulty.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.instancedifficulty.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_instancedifficulty = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "general", "instancedifficulty")
+ end,
+ },
+ },
+ },
+ },
+ },
+ header_cosmetic = {
+ order = 2,
+ type = "group",
+ inline = true,
+ name = L["Cosmetic"],
+ args = {
+ header_tooltip = {
+ order = 1,
+ type = "group",
+ inline = true,
+ name = L["Tooltip Icon"],
+ args = {
+ toggle_tooltip = {
+ order = 1,
+ type = "toggle",
+ name = L["Tooltip Icon"],
+ get = function(info)
+ return E.db.mMT.tooltip.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.tooltip.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_tooltip = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "cosmetic", "tooltip")
+ end,
+ },
+ },
+ },
+ header_background = {
+ order = 2,
+ type = "group",
+ inline = true,
+ name = L["Custom Backdrop"],
+ args = {
+ toggle_background1 = {
+ order = 1,
+ type = "toggle",
+ name = L["Custom Health Backdrop"],
+ get = function(info)
+ return E.db.mMT.custombackgrounds.health.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.custombackgrounds.health.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ toggle_background2 = {
+ order = 2,
+ type = "toggle",
+ name = L["Custom Power Backdrop"],
+ get = function(info)
+ return E.db.mMT.custombackgrounds.power.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.custombackgrounds.power.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ toggle_background3 = {
+ order = 3,
+ type = "toggle",
+ name = L["Custom Castbar Backdrop"],
+ get = function(info)
+ return E.db.mMT.custombackgrounds.castbar.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.custombackgrounds.castbar.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_background = {
+ order = 4,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "cosmetic", "background")
+ end,
+ },
+ },
+ },
+ header_classcolor = {
+ order = 4,
+ type = "group",
+ inline = true,
+ name = L["Custom Class color"],
+ args = {
+ toggle_classcolor = {
+ order = 1,
+ type = "toggle",
+ name = L["Custom Class color"],
+ get = function(info)
+ return E.db.mMT.customclasscolors.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.customclasscolors.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_classcolor = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "cosmetic", "classcolor")
+ end,
+ },
+ },
+ },
+ header_roleicons = {
+ order = 5,
+ type = "group",
+ inline = true,
+ name = L["Role Icons"],
+ args = {
+ toggle_roleicons = {
+ order = 1,
+ type = "toggle",
+ name = L["Role Icons"],
+ get = function(info)
+ return E.db.mMT.roleicons.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.roleicons.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_roleicons = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "cosmetic", "roleicons")
+ end,
+ },
+ },
+ },
+ header_objectivetracker = {
+ order = 6,
+ type = "group",
+ inline = true,
+ name = L["Objective Tracker"],
+ args = {
+ toggle_objectivetracker = {
+ order = 1,
+ type = "toggle",
+ name = L["Objective Tracker"],
+ get = function(info)
+ return E.db.mMT.objectivetracker.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.objectivetracker.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_objectivetracker = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "cosmetic", "objectivetracker")
+ end,
+ },
+ },
+ },
+ header_unitframeicons = {
+ order = 7,
+ type = "group",
+ inline = true,
+ name = L["Unitframeicons Icon"],
+ args = {
+ toggle_readycheck = {
+ order = 1,
+ type = "toggle",
+ name = L["Ready Check Icon"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.readycheck.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.readycheck.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ toggle_phase = {
+ order = 2,
+ type = "toggle",
+ name = L["Phase Icon"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.phase.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.phase.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ toggle_resurrection = {
+ order = 3,
+ type = "toggle",
+ name = L["Resurrection Icon"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.resurrection.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.resurrection.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_unitframeicons = {
+ order = 4,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "cosmetic", "unitframeicons")
+ end,
+ },
+ },
+ },
+ },
+ },
+ header_misc = {
+ order = 3,
+ type = "group",
+ inline = true,
+ name = L["Misc"],
+ args = {
+ header_castbar = {
+ order = 1,
+ type = "group",
+ inline = true,
+ name = L["Interrupt on CD"],
+ args = {
+ toggle_castbar = {
+ order = 1,
+ type = "toggle",
+ name = L["Interrupt on CD"],
+ get = function(info)
+ return E.db.mMT.interruptoncd.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.interruptoncd.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_castbar = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "castbar")
+ end,
+ },
+ },
+ },
+ header_executemarker = {
+ order = 2,
+ type = "group",
+ inline = true,
+ name = L["Execute Marker"],
+ args = {
+ toggle_executemarker = {
+ order = 1,
+ type = "toggle",
+ name = L["Execute Marker"],
+ get = function(info)
+ return E.db.mMT.nameplate.executemarker.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.nameplate.executemarker.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_executemarker = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "nameplates", "executemarker")
+ end,
+ },
+ },
+ },
+ header_healthmarker = {
+ order = 3,
+ type = "group",
+ inline = true,
+ name = L["Health markers"],
+ args = {
+ toggle_healthmarker = {
+ order = 1,
+ type = "toggle",
+ name = L["Health markers"],
+ get = function(info)
+ return E.db.mMT.nameplate.healthmarker.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.nameplate.healthmarker.enable = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_healthmarker = {
+ order = 2,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "nameplates", "healthmarker")
+ end,
+ },
+ },
+ },
+ header_bordercolor = {
+ order = 4,
+ type = "group",
+ inline = true,
+ name = L["Nameplate Bordercolor"],
+ args = {
+ toggle_bordercolor = {
+ order = 1,
+ type = "toggle",
+ name = L["Auto color Border"],
+ get = function(info)
+ return E.db.mMT.nameplate.bordercolor.border
+ end,
+ set = function(info, value)
+ E.db.mMT.nameplate.bordercolor.border = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ toggle_glowcolor = {
+ order = 2,
+ type = "toggle",
+ name = L["Auto color Glow"],
+ get = function(info)
+ return E.db.mMT.nameplate.bordercolor.glow
+ end,
+ set = function(info, value)
+ E.db.mMT.nameplate.bordercolor.glow = value
+ E:StaticPopup_Show("CONFIG_RL")
+ end,
+ },
+ execute_healthmarker = {
+ order = 3,
+ type = "execute",
+ name = L["Settings"],
+ func = function()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "nameplates", "bordercolor")
+ end,
+ },
+ },
+ },
+ },
+ },
+ }
+end
+
+tinsert(mMT.Config, configTable)
diff --git a/core/options/tagicons.lua b/core/options/tagicons.lua
index fe7843de..1aa46124 100644
--- a/core/options/tagicons.lua
+++ b/core/options/tagicons.lua
@@ -49,6 +49,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.rare = value
+ mMT:UpdateTagSettings()
end,
values = class,
},
@@ -61,6 +62,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.relite = value
+ mMT:UpdateTagSettings()
end,
values = class,
},
@@ -73,6 +75,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.elite = value
+ mMT:UpdateTagSettings()
end,
values = class,
},
@@ -85,6 +88,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.boss = value
+ mMT:UpdateTagSettings()
end,
values = class,
},
@@ -105,6 +109,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.afk = value
+ mMT:UpdateTagSettings()
end,
values = afk,
},
@@ -117,6 +122,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.dnd = value
+ mMT:UpdateTagSettings()
end,
values = dnd,
},
@@ -129,6 +135,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.offline = value
+ mMT:UpdateTagSettings()
end,
values = dc,
},
@@ -141,6 +148,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.death = value
+ mMT:UpdateTagSettings()
end,
values = death,
},
@@ -153,6 +161,7 @@ local function configTable()
end,
set = function(info, value)
E.db.mMT.tags.icons.ghost = value
+ mMT:UpdateTagSettings()
end,
values = ghost,
},
diff --git a/core/options/teleports.lua b/core/options/teleports.lua
index 05db0828..b06efbf1 100644
--- a/core/options/teleports.lua
+++ b/core/options/teleports.lua
@@ -5,9 +5,10 @@ local tinsert = tinsert
local function configTable()
local icons = {}
- for key, icon in pairs(mMT.Media.CombatIcons) do
- icons[key] = E:TextureString(icon, ":14:14")
+ for key, icon in pairs(mMT.Media.TeleportIcons) do
+ icons[key] = E:TextureString(icon, ":14:14") .. " " .. key
end
+
E.Options.args.mMT.args.datatexts.args.teleports.args = {
header_teleports = {
order = 1,
@@ -27,6 +28,19 @@ local function configTable()
DT:ForceUpdate_DataText("mTeleports")
end,
},
+ icon_teleports = {
+ order = 2,
+ type = "select",
+ name = L["Icon out of Combat"],
+ get = function(info)
+ return E.db.mMT.teleports.customicon
+ end,
+ set = function(info, value)
+ E.db.mMT.teleports.customicon = value
+ DT:ForceUpdate_DataText("mTeleports")
+ end,
+ values = icons,
+ },
},
},
}
diff --git a/core/options/unitframeicons.lua b/core/options/unitframeicons.lua
new file mode 100644
index 00000000..ce3e6a51
--- /dev/null
+++ b/core/options/unitframeicons.lua
@@ -0,0 +1,243 @@
+local mMT, E, L, V, P, G = unpack((select(2, ...)))
+
+local tinsert = tinsert
+
+local function configTable()
+ local icons = {}
+
+ for key, icon in pairs(mMT.Media.UnitframeIcons) do
+ icons[key] = E:TextureString(icon, ":14:14") .. " " .. key
+ end
+ E.Options.args.mMT.args.cosmetic.args.unitframeicons.args = {
+ header_toggles = {
+ order = 1,
+ type = "group",
+ inline = true,
+ name = L["Settings"],
+ args = {
+ toggle_readycheck = {
+ order = 1,
+ type = "toggle",
+ name = L["Ready Check"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.readycheck.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.readycheck.enable = value
+ end,
+ },
+ toggle_phase = {
+ order = 2,
+ type = "toggle",
+ name = L["Phase"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.phase.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.phase.enable = value
+ end,
+ },
+ toggle_resurrection = {
+ order = 3,
+ type = "toggle",
+ name = L["Resurrection"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.resurrection.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.resurrection.enable = value
+ end,
+ },
+ },
+ },
+ header_readycheck = {
+ order = 2,
+ type = "group",
+ inline = true,
+ name = L["Ready Check Icons"],
+ disabled = function()
+ return not E.db.mMT.unitframeicons.readycheck.enable
+ end,
+ args = {
+ ready = {
+ order = 1,
+ type = "select",
+ name = L["Ready"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.readycheck.ready
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.readycheck.ready = value
+ end,
+ values = icons,
+ },
+ notready = {
+ order = 2,
+ type = "select",
+ name = L["Not Ready"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.readycheck.notready
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.readycheck.notready = value
+ end,
+ values = icons,
+ },
+ waiting = {
+ order = 3,
+ type = "select",
+ name = L["Waiting"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.readycheck.waiting
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.readycheck.waiting = value
+ end,
+ values = icons,
+ },
+ },
+ },
+ header_phase = {
+ order = 3,
+ type = "group",
+ inline = true,
+ name = L["Phase"],
+ disabled = function()
+ return not E.db.mMT.unitframeicons.phase.enable
+ end,
+ args = {
+ phaseicon = {
+ order = 1,
+ type = "select",
+ name = L["Phase Icon"],
+ get = function(info)
+ return E.db.mMT.unitframeicons.phase.icon
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.phase.icon = value
+ end,
+ values = icons,
+ },
+ changecolors = {
+ order = 2,
+ type = "toggle",
+ name = L["Change Icons Colors"],
+
+ get = function(info)
+ return E.db.mMT.unitframeicons.phase.color.enable
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.phase.color.enable = value
+ end,
+ },
+ withe = {
+ order = 3,
+ type = "toggle",
+ name = L["Allways withe"],
+ disabled = function()
+ return not E.db.mMT.unitframeicons.phase.color.enable
+ end,
+ get = function(info)
+ return E.db.mMT.unitframeicons.phase.color.withe
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.phase.color.withe = value
+ end,
+ },
+ color_chromie = {
+ type = "color",
+ order = 4,
+ name = L["Chromie"],
+ disabled = function()
+ return E.db.mMT.unitframeicons.phase.color.withe
+ end,
+ hasAlpha = false,
+ get = function(info)
+ local t = E.db.mMT.unitframeicons.phase.color.chromie
+ return t.r, t.g, t.b
+ end,
+ set = function(info, r, g, b)
+ local t = E.db.mMT.unitframeicons.phase.color.chromie
+ t.r, t.g, t.b = r, g, b
+ end,
+ },
+ color_warmode = {
+ type = "color",
+ order = 5,
+ name = L["Warmode"],
+ disabled = function()
+ return E.db.mMT.unitframeicons.phase.color.withe
+ end,
+ hasAlpha = false,
+ get = function(info)
+ local t = E.db.mMT.unitframeicons.phase.color.warmode
+ return t.r, t.g, t.b
+ end,
+ set = function(info, r, g, b)
+ local t = E.db.mMT.unitframeicons.phase.color.warmode
+ t.r, t.g, t.b = r, g, b
+ end,
+ },
+ color_sharding = {
+ type = "color",
+ order = 6,
+ name = L["Sharding"],
+ disabled = function()
+ return E.db.mMT.unitframeicons.phase.color.withe
+ end,
+ hasAlpha = false,
+ get = function(info)
+ local t = E.db.mMT.unitframeicons.phase.color.sharding
+ return t.r, t.g, t.b
+ end,
+ set = function(info, r, g, b)
+ local t = E.db.mMT.unitframeicons.phase.color.sharding
+ t.r, t.g, t.b = r, g, b
+ end,
+ },
+ color_phasing = {
+ type = "color",
+ order = 7,
+ name = L["Phasing"],
+ disabled = function()
+ return E.db.mMT.unitframeicons.phase.color.withe
+ end,
+ hasAlpha = false,
+ get = function(info)
+ local t = E.db.mMT.unitframeicons.phase.color.phasing
+ return t.r, t.g, t.b
+ end,
+ set = function(info, r, g, b)
+ local t = E.db.mMT.unitframeicons.phase.color.phasing
+ t.r, t.g, t.b = r, g, b
+ end,
+ },
+ },
+ },
+ header_misc = {
+ order = 4,
+ type = "group",
+ inline = true,
+ name = L["Misc"],
+ args = {
+ ready = {
+ order = 1,
+ type = "select",
+ name = L["Resurrection"],
+ disabled = function()
+ return not E.db.mMT.unitframeicons.resurrection.enable
+ end,
+ get = function(info)
+ return E.db.mMT.unitframeicons.resurrection.icon
+ end,
+ set = function(info, value)
+ E.db.mMT.unitframeicons.resurrection.icon = value
+ end,
+ values = icons,
+ },
+ },
+ },
+ }
+end
+
+tinsert(mMT.Config, configTable)
diff --git a/core/settings/defaultSettings.lua b/core/settings/defaultSettings.lua
index b9528bdf..c345d010 100644
--- a/core/settings/defaultSettings.lua
+++ b/core/settings/defaultSettings.lua
@@ -1,6 +1,7 @@
local mMT, E, L, V, P, G = unpack((select(2, ...)))
P.mMT = {
+ version = 0, quicksetup = false,
general = { greeting = true, keystochat = false },
tooltip = { enable = false, iconsize = 32, iconzoom = true },
combattime = { ooctexture = "CI2", ictexture = "CI12", hide = 30 },
@@ -114,7 +115,7 @@ P.mMT = {
r = 0.11,
},
},
- teleports = { icon = false },
+ teleports = { icon = false, customicon = "TP1" },
profession = { icon = false, proficon = true },
dungeon = { icon = false, texttoname = true, key = true, score = true, affix = true },
instancedifficulty = {
@@ -450,6 +451,27 @@ P.mMT = {
iconcolor = { r = 1, g = 1, b = 1, a = 0.75 },
customcolor = false,
},
+ bag = {
+ icon = "COLOR68",
+ iconcolor = { r = 1, g = 1, b = 1, a = 0.75 },
+ customcolor = false, text = 5,
+ },
+ },
+ unitframeicons = {
+ phase = {
+ enable = false,
+ icon = "PHASE01",
+ color = {
+ enable = true,
+ withe = true,
+ chromie = { r = 1, g = 0.9, b = 0.5 },
+ warmode = { r = 1, g = 0.3, b = 0.3 },
+ sharding = { r = 0.5, g = 1, b = 0.3 },
+ phasing = { r = 0.3, g = 0.5, b = 1 },
+ },
+ },
+ resurrection = { enable = false, icon = "RES3" },
+ readycheck = { enable = false, ready = "READY06", notready = "NOTREADY01", waiting = "COLOR26" },
},
}
diff --git a/init.lua b/init.lua
index c5d15644..66cf546c 100644
--- a/init.lua
+++ b/init.lua
@@ -1,6 +1,7 @@
local E, _, V, P, G = unpack(ElvUI)
local EP = LibStub("LibElvUIPlugin-1.0")
local L = E.Libs.ACL:GetLocale("ElvUI", E.global.general.locale)
+local DT = E:GetModule("DataTexts")
-- Addon Name and Namespace
local addonName, addon = ...
@@ -31,7 +32,8 @@ _G[addonName] = addon
--Constants
mMT.Version = GetAddOnMetadata(addonName, "Version")
-mMT.Name = "|CFF6559F1m|r|CFF7A4DEFM|r|CFF8845ECe|r|CFFA037E9d|r|CFFA435E8i|r|CFFB32DE6a|r|CFFBC26E5T|r|CFFCB1EE3a|r|CFFDD14E0g|r |CFFFF006C&|r |CFFFF4C00T|r|CFFFF7300o|r|CFFFF9300o|r|CFFFFA800l|r|CFFFFC900s|r"
+mMT.Name =
+ "|CFF6559F1m|r|CFF7A4DEFM|r|CFF8845ECe|r|CFFA037E9d|r|CFFA435E8i|r|CFFB32DE6a|r|CFFBC26E5T|r|CFFCB1EE3a|r|CFFDD14E0g|r |CFFFF006C&|r |CFFFF4C00T|r|CFFFF7300o|r|CFFFF9300o|r|CFFFFA800l|r|CFFFFC900s|r"
mMT.NameShort = "|CFF6559F1m|r|CFFA037E9M|r|CFFDD14E0T|r"
mMT.Icon = "|TInterface\\Addons\\ElvUI_mMediaTag\\media\\logo\\mmt_icon_round.tga:14:14|t"
mMT.IconSquare = "|TInterface\\Addons\\ElvUI_mMediaTag\\media\\logo\\mmt_icon.tga:14:14|t"
@@ -42,14 +44,30 @@ mMT.ClassColor = {
hex = E:RGBToHex(class[1], class[2], class[3]),
string = strjoin("", E:RGBToHex(class[1], class[2], class[3]), "%s|r"),
}
-mMT.ElvUI_EltreumUI = (IsAddOnLoaded("ElvUI_EltreumUI") and E.db.ElvUI_EltreumUI and E.db.ElvUI_EltreumUI.unitframes and E.db.ElvUI_EltreumUI.unitframes.gradientmode and E.db.ElvUI_EltreumUI.unitframes.gradientmode.enable) or false
+mMT.ElvUI_EltreumUI = (
+ IsAddOnLoaded("ElvUI_EltreumUI")
+ and E.db.ElvUI_EltreumUI
+ and E.db.ElvUI_EltreumUI.unitframes
+ and E.db.ElvUI_EltreumUI.unitframes.gradientmode
+ and E.db.ElvUI_EltreumUI.unitframes.gradientmode.enable
+) or false
mMT.Media = {}
mMT.Config = {}
--AddonCompartment
function ElvUI_mMediaTag_OnAddonCompartmentClick()
- E:ToggleOptions()
- E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT")
+ E:ToggleOptions("mMT")
+end
+
+function ElvUI_mMediaTag_OnAddonCompartmentOnEnter()
+ GameTooltip:ClearLines()
+ GameTooltip:SetOwner(UIParent, "ANCHOR_CURSOR_RIGHT")
+ GameTooltip:AddDoubleLine(mMT.Name, format("|CFFF7DC6FVer. %s|r", mMT.Version))
+ GameTooltip:Show()
+end
+
+function ElvUI_mMediaTag_OnAddonCompartmentOnLeave()
+ GameTooltip:Hide()
end
-- Load Settings
@@ -63,79 +81,79 @@ end
local function LoadTextures()
if E.db.mMT.textures.all then
- mMT:LoadSeriesAll()
+ mMT:LoadSeriesAll()
end
if E.db.mMT.textures.a then
- mMT:LoadSeriesA()
+ mMT:LoadSeriesA()
end
if E.db.mMT.textures.b then
- mMT:LoadSeriesB()
+ mMT:LoadSeriesB()
end
if E.db.mMT.textures.c then
- mMT:LoadSeriesC()
+ mMT:LoadSeriesC()
end
if E.db.mMT.textures.d then
- mMT:LoadSeriesD()
+ mMT:LoadSeriesD()
end
if E.db.mMT.textures.e then
- mMT:LoadSeriesE()
+ mMT:LoadSeriesE()
end
if E.db.mMT.textures.f then
- mMT:LoadSeriesF()
+ mMT:LoadSeriesF()
end
if E.db.mMT.textures.g then
- mMT:LoadSeriesG()
+ mMT:LoadSeriesG()
end
if E.db.mMT.textures.h then
- mMT:LoadSeriesH()
+ mMT:LoadSeriesH()
end
if E.db.mMT.textures.i then
- mMT:LoadSeriesI()
+ mMT:LoadSeriesI()
end
if E.db.mMT.textures.j then
- mMT:LoadSeriesJ()
+ mMT:LoadSeriesJ()
end
if E.db.mMT.textures.k then
- mMT:LoadSeriesK()
+ mMT:LoadSeriesK()
end
if E.db.mMT.textures.l then
- mMT:LoadSeriesL()
+ mMT:LoadSeriesL()
end
if E.db.mMT.textures.m then
- mMT:LoadSeriesM()
+ mMT:LoadSeriesM()
end
if E.db.mMT.textures.n then
- mMT:LoadSeriesN()
+ mMT:LoadSeriesN()
end
if E.db.mMT.textures.o then
- mMT:LoadSeriesO()
+ mMT:LoadSeriesO()
end
if E.db.mMT.textures.p then
- mMT:LoadSeriesP()
+ mMT:LoadSeriesP()
end
if E.db.mMT.textures.q then
- mMT:LoadSeriesQ()
+ mMT:LoadSeriesQ()
end
if E.db.mMT.textures.r then
- mMT:LoadSeriesR()
+ mMT:LoadSeriesR()
end
end
-- Initialize Addon
@@ -145,8 +163,6 @@ function mMT:Initialize()
-- Register Events
mMT:RegisterEvent("PLAYER_ENTERING_WORLD")
- --LoadTextures()
-
if E.db.mMT.nameplate.executemarker.auto or E.db.mMT.interruptoncd.enable then
mMT:RegisterEvent("PLAYER_TALENT_UPDATE")
end
@@ -179,20 +195,39 @@ function mMT:Initialize()
mMT:mChat()
end
- if E.db.mMT.nameplate.bordercolor.glow and E.db.mMT.nameplate.bordercolor.border then
+ if E.db.mMT.nameplate.bordercolor.glow or E.db.mMT.nameplate.bordercolor.border then
mMT:mNamePlateBorderColor()
end
+ if E.db.mMT.unitframeicons.readycheck.enable then
+ mMT:SetupReadyCheckIcons()
+ end
+
+ if E.db.mMT.unitframeicons.phase.enable then
+ mMT:SetupPhaseIcons()
+ end
+
+ if E.db.mMT.unitframeicons.resurrection.enable then
+ mMT:SetupResurrectionIcon()
+ end
+
if E.Retail then
if E.db.mMT.interruptoncd.enable then
mMT:mSetupCastbar()
end
- if E.db.mMT.custombackgrounds.health.enable or E.db.mMT.custombackgrounds.power.enable or E.db.mMT.custombackgrounds.castbar.enable then
+ if
+ E.db.mMT.custombackgrounds.health.enable
+ or E.db.mMT.custombackgrounds.power.enable
+ or E.db.mMT.custombackgrounds.castbar.enable
+ then
mMT:CustomBackdrop()
end
- if E.private.nameplates.enable and E.db.mMT.nameplate.healthmarker.enable or E.db.mMT.nameplate.executemarker.enable then
+ if
+ E.private.nameplates.enable and E.db.mMT.nameplate.healthmarker.enable
+ or E.db.mMT.nameplate.executemarker.enable
+ then
mMT:StartNameplateTools()
end
@@ -214,7 +249,14 @@ function mMT:Initialize()
mMT:RegisterEvent("CHAT_MSG_GUILD")
end
- if (E.db.mMT.objectivetracker.enable or (E.db.mMT.objectivetracker.enable and E.db.mMT.objectivetracker.simple)) and E.private.skins.blizzard.enable and not IsAddOnLoaded("!KalielsTracker") then
+ if
+ (
+ E.db.mMT.objectivetracker.enable
+ or (E.db.mMT.objectivetracker.enable and E.db.mMT.objectivetracker.simple)
+ )
+ and E.private.skins.blizzard.enable
+ and not IsAddOnLoaded("!KalielsTracker")
+ then
if not E.private.skins.blizzard.objectiveTracker then
StaticPopupDialogs["mErrorSkin"] = {
text = L["ElvUI skin must be enabled to activate mMediaTag Quest skins! Should it be enabled?"],
@@ -243,6 +285,36 @@ function mMT:Initialize()
end
function mMT:PLAYER_ENTERING_WORLD()
+ -- Change Log
+ if E.db.mMT.version ~= mMT.Version then
+ E:ToggleOptions()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "changelog")
+ E.db.mMT.version = mMT.Version
+ end
+
+ -- quick setup
+ if not E.db.mMT.quicksetup then
+ StaticPopupDialogs["mQuickSetup"] = {
+ text = format(L["It looks like you are using %s for the first time. Would you like to open the Quick Settings window?"], mMT.Name),
+ button1 = L["Yes"],
+ button2 = L["No"],
+ timeout = 120,
+ whileDead = true,
+ hideOnEscape = false,
+ preferredIndex = 3,
+ OnAccept = function()
+ E:ToggleOptions()
+ E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT", "setup")
+ E.db.mMT.quicksetup = true
+ end,
+ OnCancel = function()
+ E.db.mMT.quicksetup = true
+ end,
+ }
+
+ StaticPopup_Show("mQuickSetup")
+ end
+
mMT.ClassColor = {
r = class[1],
g = class[2],
diff --git a/media/dock/colored/color64.tga b/media/dock/colored/color64.tga
new file mode 100644
index 00000000..f0926546
Binary files /dev/null and b/media/dock/colored/color64.tga differ
diff --git a/media/dock/colored/color65.tga b/media/dock/colored/color65.tga
new file mode 100644
index 00000000..a164746e
Binary files /dev/null and b/media/dock/colored/color65.tga differ
diff --git a/media/dock/colored/color66.tga b/media/dock/colored/color66.tga
new file mode 100644
index 00000000..e16ea098
Binary files /dev/null and b/media/dock/colored/color66.tga differ
diff --git a/media/dock/colored/color67.tga b/media/dock/colored/color67.tga
new file mode 100644
index 00000000..31a91a57
Binary files /dev/null and b/media/dock/colored/color67.tga differ
diff --git a/media/dock/colored/color68.tga b/media/dock/colored/color68.tga
new file mode 100644
index 00000000..b1648664
Binary files /dev/null and b/media/dock/colored/color68.tga differ
diff --git a/media/dock/colored/color69.tga b/media/dock/colored/color69.tga
new file mode 100644
index 00000000..c34ad1e1
Binary files /dev/null and b/media/dock/colored/color69.tga differ
diff --git a/media/dock/colored/color70.tga b/media/dock/colored/color70.tga
new file mode 100644
index 00000000..73b748f6
Binary files /dev/null and b/media/dock/colored/color70.tga differ
diff --git a/media/dock/colored/color71.tga b/media/dock/colored/color71.tga
new file mode 100644
index 00000000..b92d2706
Binary files /dev/null and b/media/dock/colored/color71.tga differ
diff --git a/media/dock/filled/filled49.tga b/media/dock/filled/filled49.tga
new file mode 100644
index 00000000..ef1a2f4d
Binary files /dev/null and b/media/dock/filled/filled49.tga differ
diff --git a/media/dock/filled/filled50.tga b/media/dock/filled/filled50.tga
new file mode 100644
index 00000000..12dad7a1
Binary files /dev/null and b/media/dock/filled/filled50.tga differ
diff --git a/media/dock/filled/filled51.tga b/media/dock/filled/filled51.tga
new file mode 100644
index 00000000..e9366a72
Binary files /dev/null and b/media/dock/filled/filled51.tga differ
diff --git a/media/dock/filled/filled52.tga b/media/dock/filled/filled52.tga
new file mode 100644
index 00000000..f9ce5bc5
Binary files /dev/null and b/media/dock/filled/filled52.tga differ
diff --git a/media/dock/filled/filled53.tga b/media/dock/filled/filled53.tga
new file mode 100644
index 00000000..05847b6e
Binary files /dev/null and b/media/dock/filled/filled53.tga differ
diff --git a/media/dock/filled/filled54.tga b/media/dock/filled/filled54.tga
new file mode 100644
index 00000000..037b8ff9
Binary files /dev/null and b/media/dock/filled/filled54.tga differ
diff --git a/media/dock/filled/filled55.tga b/media/dock/filled/filled55.tga
new file mode 100644
index 00000000..350f2e6d
Binary files /dev/null and b/media/dock/filled/filled55.tga differ
diff --git a/media/dock/filled/filled56.tga b/media/dock/filled/filled56.tga
new file mode 100644
index 00000000..424c44a3
Binary files /dev/null and b/media/dock/filled/filled56.tga differ
diff --git a/media/dock/material/material52.tga b/media/dock/material/material52.tga
index ef1a2f4d..d539be67 100644
Binary files a/media/dock/material/material52.tga and b/media/dock/material/material52.tga differ
diff --git a/media/dock/material/material53.tga b/media/dock/material/material53.tga
index 12dad7a1..f380c3ef 100644
Binary files a/media/dock/material/material53.tga and b/media/dock/material/material53.tga differ
diff --git a/media/dock/material/material54.tga b/media/dock/material/material54.tga
index e9366a72..e384a0f0 100644
Binary files a/media/dock/material/material54.tga and b/media/dock/material/material54.tga differ
diff --git a/media/dock/material/material55.tga b/media/dock/material/material55.tga
index f9ce5bc5..f510e928 100644
Binary files a/media/dock/material/material55.tga and b/media/dock/material/material55.tga differ
diff --git a/media/dock/material/material56.tga b/media/dock/material/material56.tga
index 05847b6e..d5ef12b1 100644
Binary files a/media/dock/material/material56.tga and b/media/dock/material/material56.tga differ
diff --git a/media/dock/material/material57.tga b/media/dock/material/material57.tga
index 037b8ff9..17b9d30c 100644
Binary files a/media/dock/material/material57.tga and b/media/dock/material/material57.tga differ
diff --git a/media/dock/material/material58.tga b/media/dock/material/material58.tga
index 350f2e6d..7f089d3f 100644
Binary files a/media/dock/material/material58.tga and b/media/dock/material/material58.tga differ
diff --git a/media/dock/material/material59.tga b/media/dock/material/material59.tga
index 0ad1191b..7faeec2d 100644
Binary files a/media/dock/material/material59.tga and b/media/dock/material/material59.tga differ
diff --git a/media/icons.lua b/media/icons.lua
index a5ce1c1d..6c08795e 100644
--- a/media/icons.lua
+++ b/media/icons.lua
@@ -162,6 +162,70 @@ mMT.Media.GhostIcons = {
GHOST7 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\tags\\skull3.tga",
}
+mMT.Media.UnitframeIcons = {
+ NOTREADY01 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\notready01.tga",
+ NOTREADY02 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\notready02.tga",
+ NOTREADY03 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\notready03.tga",
+ NOTREADY04 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\notready04.tga",
+ NOTREADY05 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\notready05.tga",
+ PHASE01 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase01.tga",
+ PHASE02 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase02.tga",
+ PHASE03 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase03.tga",
+ PHASE04 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase04.tga",
+ PHASE05 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase05.tga",
+ PHASE06 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase06.tga",
+ PHASE07 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase07.tga",
+ PHASE08 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase08.tga",
+ PHASE09 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase09.tga",
+ PHASE10 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase10.tga",
+ PHASE11 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\phase11.tga",
+ READY01 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\ready01.tga",
+ READY02 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\ready02.tga",
+ READY03 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\ready03.tga",
+ READY04 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\ready04.tga",
+ READY05 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\ready05.tga",
+ READY06 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\ready06.tga",
+ DASH1 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\dash1.tga",
+ DASH2 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\dash2.tga",
+ DASH3 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\dash3.tga",
+ DASH4 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\dash4.tga",
+ WAITING01 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\waiting01.tga",
+ WAITING02 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\waiting02.tga",
+ WAITING03 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\waiting03.tga",
+ WAITING04 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\waiting04.tga",
+ DONE1 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\done1.tga",
+ DONE2 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\done2.tga",
+ DONE3 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\done3.tga",
+ DONE4 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\done4.tga",
+ DONE5 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\done5.tga",
+ DONE6 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\done6.tga",
+ CLOSE1 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\x1.tga",
+ CLOSE2 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\x2.tga",
+ CLOSE3 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\x3.tga",
+ CLOSE4 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\x4.tga",
+ CLOSE5 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\misc\\x5.tga",
+ COLOR25 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color25.tga",
+ COLOR26 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color26.tga",
+ RES1 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection1.tga",
+ RES2 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection2.tga",
+ RES3 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection3.tga",
+ RES4 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection4.tga",
+ RES5 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection5.tga",
+ RES6 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection6.tga",
+ RES7 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection7.tga",
+ RES8 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection8.tga",
+ RES9 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\resurrection9.tga",
+}
+
+mMT.Media.TeleportIcons = {
+ TP1 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\datatext\\teleports1.tga",
+ TP2 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\datatext\\teleports2.tga",
+ TP3 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\datatext\\teleports3.tga",
+ TP4 = GetItemIcon(6948),
+ TP5 = GetItemIcon(110560),
+ TP6 = GetItemIcon(193588),
+}
+
mMT.Media.ClassIcons = {
CLASS1 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\tags\\class1.tga",
CLASS2 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\tags\\class2.tga",
@@ -426,6 +490,14 @@ mMT.Media.DockIcons = {
COLOR61 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color61.tga",
COLOR62 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color62.tga",
COLOR63 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color63.tga",
+ COLOR64 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color64.tga",
+ COLOR65 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color65.tga",
+ COLOR66 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color66.tga",
+ COLOR67 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color67.tga",
+ COLOR68 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color68.tga",
+ COLOR69 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color69.tga",
+ COLOR70 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color70.tga",
+ COLOR71 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\colored\\color71.tga",
FILLED01 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled01.tga",
FILLED02 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled02.tga",
FILLED03 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled03.tga",
@@ -474,6 +546,14 @@ mMT.Media.DockIcons = {
FILLED46 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled46.tga",
FILLED47 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled47.tga",
FILLED48 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled48.tga",
+ FILLED49 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled49.tga",
+ FILLED50 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled50.tga",
+ FILLED51 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled51.tga",
+ FILLED52 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled52.tga",
+ FILLED53 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled53.tga",
+ FILLED54 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled54.tga",
+ FILLED55 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled55.tga",
+ FILLED56 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\filled\\filled56.tga",
MATERIAL01 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\material\\material01.tga",
MATERIAL02 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\material\\material02.tga",
MATERIAL03 = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\dock\\material\\material03.tga",
diff --git a/media/icons/datatext/teleports.tga b/media/icons/datatext/teleports1.tga
similarity index 100%
rename from media/icons/datatext/teleports.tga
rename to media/icons/datatext/teleports1.tga
diff --git a/media/icons/datatext/teleports2.tga b/media/icons/datatext/teleports2.tga
new file mode 100644
index 00000000..cba1880b
Binary files /dev/null and b/media/icons/datatext/teleports2.tga differ
diff --git a/media/icons/datatext/teleports3.tga b/media/icons/datatext/teleports3.tga
new file mode 100644
index 00000000..75812e3d
Binary files /dev/null and b/media/icons/datatext/teleports3.tga differ
diff --git a/media/icons/misc/blank.tga b/media/icons/misc/blank.tga
new file mode 100644
index 00000000..ac48cb89
Binary files /dev/null and b/media/icons/misc/blank.tga differ
diff --git a/media/icons/unitframes/notready01.tga b/media/icons/unitframes/notready01.tga
new file mode 100644
index 00000000..f76fc6b8
Binary files /dev/null and b/media/icons/unitframes/notready01.tga differ
diff --git a/media/icons/unitframes/notready02.tga b/media/icons/unitframes/notready02.tga
new file mode 100644
index 00000000..068d4b3d
Binary files /dev/null and b/media/icons/unitframes/notready02.tga differ
diff --git a/media/icons/unitframes/notready03.tga b/media/icons/unitframes/notready03.tga
new file mode 100644
index 00000000..0099afcd
Binary files /dev/null and b/media/icons/unitframes/notready03.tga differ
diff --git a/media/icons/unitframes/notready04.tga b/media/icons/unitframes/notready04.tga
new file mode 100644
index 00000000..71b9b3a3
Binary files /dev/null and b/media/icons/unitframes/notready04.tga differ
diff --git a/media/icons/unitframes/notready05.tga b/media/icons/unitframes/notready05.tga
new file mode 100644
index 00000000..56c13f66
Binary files /dev/null and b/media/icons/unitframes/notready05.tga differ
diff --git a/media/icons/unitframes/phase01.tga b/media/icons/unitframes/phase01.tga
new file mode 100644
index 00000000..ffe7f68a
Binary files /dev/null and b/media/icons/unitframes/phase01.tga differ
diff --git a/media/icons/unitframes/phase02.tga b/media/icons/unitframes/phase02.tga
new file mode 100644
index 00000000..b5261b85
Binary files /dev/null and b/media/icons/unitframes/phase02.tga differ
diff --git a/media/icons/unitframes/phase03.tga b/media/icons/unitframes/phase03.tga
new file mode 100644
index 00000000..c0c60321
Binary files /dev/null and b/media/icons/unitframes/phase03.tga differ
diff --git a/media/icons/unitframes/phase04.tga b/media/icons/unitframes/phase04.tga
new file mode 100644
index 00000000..2ecd3b27
Binary files /dev/null and b/media/icons/unitframes/phase04.tga differ
diff --git a/media/icons/unitframes/phase05.tga b/media/icons/unitframes/phase05.tga
new file mode 100644
index 00000000..db527d23
Binary files /dev/null and b/media/icons/unitframes/phase05.tga differ
diff --git a/media/icons/unitframes/phase06.tga b/media/icons/unitframes/phase06.tga
new file mode 100644
index 00000000..12c5d9fc
Binary files /dev/null and b/media/icons/unitframes/phase06.tga differ
diff --git a/media/icons/unitframes/phase07.tga b/media/icons/unitframes/phase07.tga
new file mode 100644
index 00000000..8a3cb889
Binary files /dev/null and b/media/icons/unitframes/phase07.tga differ
diff --git a/media/icons/unitframes/phase08.tga b/media/icons/unitframes/phase08.tga
new file mode 100644
index 00000000..1b4087fa
Binary files /dev/null and b/media/icons/unitframes/phase08.tga differ
diff --git a/media/icons/unitframes/phase09.tga b/media/icons/unitframes/phase09.tga
new file mode 100644
index 00000000..66e68e9a
Binary files /dev/null and b/media/icons/unitframes/phase09.tga differ
diff --git a/media/icons/unitframes/phase10.tga b/media/icons/unitframes/phase10.tga
new file mode 100644
index 00000000..6d51a497
Binary files /dev/null and b/media/icons/unitframes/phase10.tga differ
diff --git a/media/icons/unitframes/phase11.tga b/media/icons/unitframes/phase11.tga
new file mode 100644
index 00000000..b6303198
Binary files /dev/null and b/media/icons/unitframes/phase11.tga differ
diff --git a/media/icons/unitframes/ready01.tga b/media/icons/unitframes/ready01.tga
new file mode 100644
index 00000000..8c3bad92
Binary files /dev/null and b/media/icons/unitframes/ready01.tga differ
diff --git a/media/icons/unitframes/ready02.tga b/media/icons/unitframes/ready02.tga
new file mode 100644
index 00000000..2a1c94ee
Binary files /dev/null and b/media/icons/unitframes/ready02.tga differ
diff --git a/media/icons/unitframes/ready03.tga b/media/icons/unitframes/ready03.tga
new file mode 100644
index 00000000..b456185e
Binary files /dev/null and b/media/icons/unitframes/ready03.tga differ
diff --git a/media/icons/unitframes/ready04.tga b/media/icons/unitframes/ready04.tga
new file mode 100644
index 00000000..00e5e777
Binary files /dev/null and b/media/icons/unitframes/ready04.tga differ
diff --git a/media/icons/unitframes/ready05.tga b/media/icons/unitframes/ready05.tga
new file mode 100644
index 00000000..1e016c1b
Binary files /dev/null and b/media/icons/unitframes/ready05.tga differ
diff --git a/media/icons/unitframes/ready06.tga b/media/icons/unitframes/ready06.tga
new file mode 100644
index 00000000..de439cc5
Binary files /dev/null and b/media/icons/unitframes/ready06.tga differ
diff --git a/media/icons/unitframes/resurrection1.tga b/media/icons/unitframes/resurrection1.tga
new file mode 100644
index 00000000..66e6ef96
Binary files /dev/null and b/media/icons/unitframes/resurrection1.tga differ
diff --git a/media/icons/unitframes/resurrection2.tga b/media/icons/unitframes/resurrection2.tga
new file mode 100644
index 00000000..473e321a
Binary files /dev/null and b/media/icons/unitframes/resurrection2.tga differ
diff --git a/media/icons/unitframes/resurrection3.tga b/media/icons/unitframes/resurrection3.tga
new file mode 100644
index 00000000..3606df3a
Binary files /dev/null and b/media/icons/unitframes/resurrection3.tga differ
diff --git a/media/icons/unitframes/resurrection4.tga b/media/icons/unitframes/resurrection4.tga
new file mode 100644
index 00000000..986a1fa5
Binary files /dev/null and b/media/icons/unitframes/resurrection4.tga differ
diff --git a/media/icons/unitframes/resurrection5.tga b/media/icons/unitframes/resurrection5.tga
new file mode 100644
index 00000000..0a022762
Binary files /dev/null and b/media/icons/unitframes/resurrection5.tga differ
diff --git a/media/icons/unitframes/resurrection6.tga b/media/icons/unitframes/resurrection6.tga
new file mode 100644
index 00000000..3de8af2b
Binary files /dev/null and b/media/icons/unitframes/resurrection6.tga differ
diff --git a/media/icons/unitframes/resurrection7.tga b/media/icons/unitframes/resurrection7.tga
new file mode 100644
index 00000000..992fd65b
Binary files /dev/null and b/media/icons/unitframes/resurrection7.tga differ
diff --git a/media/icons/unitframes/resurrection8.tga b/media/icons/unitframes/resurrection8.tga
new file mode 100644
index 00000000..ef8933b6
Binary files /dev/null and b/media/icons/unitframes/resurrection8.tga differ
diff --git a/media/icons/unitframes/resurrection9.tga b/media/icons/unitframes/resurrection9.tga
new file mode 100644
index 00000000..8f18c995
Binary files /dev/null and b/media/icons/unitframes/resurrection9.tga differ
diff --git a/media/icons/unitframes/waiting01.tga b/media/icons/unitframes/waiting01.tga
new file mode 100644
index 00000000..ef7f82ad
Binary files /dev/null and b/media/icons/unitframes/waiting01.tga differ
diff --git a/media/icons/unitframes/waiting02.tga b/media/icons/unitframes/waiting02.tga
new file mode 100644
index 00000000..57b51030
Binary files /dev/null and b/media/icons/unitframes/waiting02.tga differ
diff --git a/media/icons/unitframes/waiting03.tga b/media/icons/unitframes/waiting03.tga
new file mode 100644
index 00000000..6583c531
Binary files /dev/null and b/media/icons/unitframes/waiting03.tga differ
diff --git a/media/icons/unitframes/waiting04.tga b/media/icons/unitframes/waiting04.tga
new file mode 100644
index 00000000..bc10af6d
Binary files /dev/null and b/media/icons/unitframes/waiting04.tga differ
diff --git a/media/sharedmedia.lua b/media/sharedmedia.lua
index 1d16e448..f00cf388 100644
--- a/media/sharedmedia.lua
+++ b/media/sharedmedia.lua
@@ -228,6 +228,7 @@ end
mAddStatusbar("mMediaTag K32", "k32.tga")
mAddStatusbar("mMediaTag K33", "k33.tga")
mAddStatusbar("mMediaTag K34", "k34.tga")
+ mAddStatusbar("mMediaTag K35", "k35.tga")
--end
--function mMT:LoadSeriesL()
diff --git a/media/system/about.tga b/media/system/about.tga
index 4d7abece..7fd59a1d 100644
Binary files a/media/system/about.tga and b/media/system/about.tga differ
diff --git a/media/system/castbar.tga b/media/system/castbar.tga
index b8c943af..cebba20c 100644
Binary files a/media/system/castbar.tga and b/media/system/castbar.tga differ
diff --git a/media/system/changelog.tga b/media/system/changelog.tga
new file mode 100644
index 00000000..1c881785
Binary files /dev/null and b/media/system/changelog.tga differ
diff --git a/media/system/cosmetic.tga b/media/system/cosmetic.tga
index eee7b5a5..efc8ced6 100644
Binary files a/media/system/cosmetic.tga and b/media/system/cosmetic.tga differ
diff --git a/media/system/datatexts.tga b/media/system/datatexts.tga
index 4f1d666e..0643a20f 100644
Binary files a/media/system/datatexts.tga and b/media/system/datatexts.tga differ
diff --git a/media/system/dock.tga b/media/system/dock.tga
index f1b10d83..bbc4c378 100644
Binary files a/media/system/dock.tga and b/media/system/dock.tga differ
diff --git a/media/system/general.tga b/media/system/general.tga
index e2f33d76..d8cb33c4 100644
Binary files a/media/system/general.tga and b/media/system/general.tga differ
diff --git a/media/system/nameplates.tga b/media/system/nameplates.tga
index 07210a18..69bcf757 100644
Binary files a/media/system/nameplates.tga and b/media/system/nameplates.tga differ
diff --git a/media/system/setup.tga b/media/system/setup.tga
index 65a37bb5..80056847 100644
Binary files a/media/system/setup.tga and b/media/system/setup.tga differ
diff --git a/media/system/tags.tga b/media/system/tags.tga
index 4ef7eaa1..4a5cdfab 100644
Binary files a/media/system/tags.tga and b/media/system/tags.tga differ
diff --git a/media/textures/k35.tga b/media/textures/k35.tga
new file mode 100644
index 00000000..7d7e2f42
Binary files /dev/null and b/media/textures/k35.tga differ
diff --git a/modules/Dock/load_dock.xml b/modules/Dock/load_dock.xml
index 68c02e51..ffe026c5 100644
--- a/modules/Dock/load_dock.xml
+++ b/modules/Dock/load_dock.xml
@@ -20,4 +20,5 @@
+
\ No newline at end of file
diff --git a/modules/Dock/mBags.lua b/modules/Dock/mBags.lua
new file mode 100644
index 00000000..e7acfb3f
--- /dev/null
+++ b/modules/Dock/mBags.lua
@@ -0,0 +1,322 @@
+local mMT, E, L, V, P, G = unpack((select(2, ...)))
+local DT = E:GetModule("DataTexts")
+local B = E:GetModule("Bags")
+
+--Lua functions
+local type, wipe, pairs, ipairs, sort = type, wipe, pairs, ipairs, sort
+local format, strjoin, tinsert = format, strjoin, tinsert
+
+--Variables
+local _G = _G
+local mText = format("Dock %s", L["Bags"])
+local mTextName = "mBags"
+
+local GetContainerNumFreeSlots = GetContainerNumFreeSlots or (C_Container and C_Container.GetContainerNumFreeSlots)
+local NUM_BAG_SLOTS = NUM_BAG_SLOTS + (E.Retail and 1 or 0) -- add the profession bag
+
+local EasyMenu = EasyMenu
+local GetMoney = GetMoney
+local IsLoggedIn = IsLoggedIn
+local IsShiftKeyDown = IsShiftKeyDown
+local IsControlKeyDown = IsControlKeyDown
+local BreakUpLargeNumbers = BreakUpLargeNumbers
+local C_WowTokenPublic_UpdateMarketPrice = C_WowTokenPublic.UpdateMarketPrice
+local C_WowTokenPublic_GetCurrentMarketPrice = C_WowTokenPublic.GetCurrentMarketPrice
+local C_Timer_NewTicker = C_Timer.NewTicker
+
+local Profit, Spent, Ticker = 0, 0
+local resetCountersFormatter = strjoin("", "|cffaaaaaa", L["Reset Session Data: Hold Ctrl + Right Click"], "|r")
+local resetInfoFormatter = strjoin("", "|cffaaaaaa", L["Reset Character Data: Hold Shift + Right Click"], "|r")
+
+local PRIEST_COLOR = RAID_CLASS_COLORS.PRIEST
+local CURRENCY = CURRENCY
+
+local menuList, myGold = {}, {}
+local totalGold, totalHorde, totalAlliance = 0, 0, 0
+
+local iconString = "|T%s:16:16:0:0:64:64:4:60:4:60|t"
+
+local BAG_TYPES = {
+ [0x0001] = "Quiver",
+ [0x0002] = "Ammo Pouch",
+ [0x0004] = "Soul Bag",
+}
+
+local function sortFunction(a, b)
+ return a.amount > b.amount
+end
+
+local function deleteCharacter(_, realm, name)
+ ElvDB.gold[realm][name] = nil
+ ElvDB.class[realm][name] = nil
+ ElvDB.faction[realm][name] = nil
+
+ DT:ForceUpdate_DataText("Gold")
+end
+
+local function updateTotal(faction, change)
+ if faction == "Alliance" then
+ totalAlliance = totalAlliance + change
+ elseif faction == "Horde" then
+ totalHorde = totalHorde + change
+ end
+
+ totalGold = totalGold + change
+end
+
+local function updateGold(self, updateAll, goldChange)
+ if updateAll then
+ wipe(myGold)
+ wipe(menuList)
+
+ totalGold, totalHorde, totalAlliance = 0, 0, 0
+
+ tinsert(menuList, { text = "", isTitle = true, notCheckable = true })
+ tinsert(menuList, { text = "Delete Character", isTitle = true, notCheckable = true })
+
+ local realmN = 1
+ for realm in pairs(ElvDB.serverID[E.serverID]) do
+ tinsert(menuList, realmN, {
+ text = "Delete All - " .. realm,
+ notCheckable = true,
+ func = function()
+ wipe(ElvDB.gold[realm])
+ DT:ForceUpdate_DataText("Gold")
+ end,
+ })
+ realmN = realmN + 1
+ for name in pairs(ElvDB.gold[realm]) do
+ local faction = ElvDB.faction[realm][name]
+ local gold = ElvDB.gold[realm][name]
+
+ if gold then
+ local color = E:ClassColor(ElvDB.class[realm][name]) or PRIEST_COLOR
+
+ tinsert(myGold, {
+ name = name,
+ realm = realm,
+ amount = gold,
+ amountText = E:FormatMoney(gold, "SHORTINT", false),
+ faction = faction or "",
+ r = color.r,
+ g = color.g,
+ b = color.b,
+ })
+
+ tinsert(menuList, {
+ text = format("%s - %s", name, realm),
+ notCheckable = true,
+ func = function()
+ deleteCharacter(self, realm, name)
+ end,
+ })
+
+ updateTotal(faction, gold)
+ end
+ end
+ end
+ else
+ for _, info in ipairs(myGold) do
+ if info.name == E.myname and info.realm == E.myrealm then
+ info.amount = ElvDB.gold[E.myrealm][E.myname]
+ info.amountText = E:FormatMoney(ElvDB.gold[E.myrealm][E.myname], "SHORTINT", false)
+
+ break
+ end
+ end
+
+ if goldChange then
+ updateTotal(E.myfaction, goldChange)
+ end
+ end
+end
+
+local function UpdateMarketPrice()
+ return C_WowTokenPublic_UpdateMarketPrice()
+end
+local function mDockCheckFrame()
+ return (ElvUI_ContainerFrame and ElvUI_ContainerFrame:IsShown())
+end
+
+function mMT:CheckFrameBags(self)
+ self.mIcon.isClicked = mDockCheckFrame()
+ mMT:DockTimer(self)
+end
+
+local function OnEnter(self)
+ if E.db.mMT.dockdatatext.tip.enable then
+ DT.tooltip:ClearLines()
+
+ DT.tooltip:AddLine(L["Session:"])
+ DT.tooltip:AddDoubleLine(L["Earned:"], E:FormatMoney(Profit, "SHORTINT", false), 1, 1, 1, 1, 1, 1)
+ DT.tooltip:AddDoubleLine(L["Spent:"], E:FormatMoney(Spent, "SHORTINT", false), 1, 1, 1, 1, 1, 1)
+
+ if Spent ~= 0 then
+ local gained = Profit > Spent
+ DT.tooltip:AddDoubleLine(gained and L["Profit:"] or L["Deficit:"], E:FormatMoney(Profit-Spent, "SHORTINT", false), gained and 0 or 1, gained and 1 or 0, 0, 1, 1, 1)
+ end
+
+ DT.tooltip:AddLine(' ')
+ DT.tooltip:AddLine(L["Character: "])
+
+ sort(myGold, sortFunction)
+
+ for _, g in ipairs(myGold) do
+ local nameLine = ''
+ if g.faction ~= '' and g.faction ~= 'Neutral' then
+ nameLine = format([[|TInterface\FriendsFrame\PlusManz-%s:14|t ]], g.faction)
+ end
+
+ local toonName = format('%s%s%s', nameLine, g.name, (g.realm and g.realm ~= E.myrealm and ' - '..g.realm) or '')
+ DT.tooltip:AddDoubleLine((g.name == E.myname and toonName..[[ |TInterface\COMMON\Indicator-Green:14|t]]) or toonName, g.amountText, g.r, g.g, g.b, 1, 1, 1)
+ end
+
+ DT.tooltip:AddLine(' ')
+ DT.tooltip:AddLine(L["Server: "])
+ if totalAlliance > 0 and totalHorde > 0 then
+ if totalAlliance ~= 0 then DT.tooltip:AddDoubleLine(L["Alliance: "], E:FormatMoney(totalAlliance, "SHORTINT", false), 0, .376, 1, 1, 1, 1) end
+ if totalHorde ~= 0 then DT.tooltip:AddDoubleLine(L["Horde: "], E:FormatMoney(totalHorde, "SHORTINT", false), 1, .2, .2, 1, 1, 1) end
+ DT.tooltip:AddLine(' ')
+ end
+ DT.tooltip:AddDoubleLine(L["Total: "], E:FormatMoney(totalGold, "SHORTINT", false), 1, 1, 1, 1, 1, 1)
+
+ if E.Retail then
+ DT.tooltip:AddLine(' ')
+ DT.tooltip:AddDoubleLine(L["WoW Token:"], E:FormatMoney(C_WowTokenPublic_GetCurrentMarketPrice() or 0, "SHORTINT", false), 0, .8, 1, 1, 1, 1)
+ end
+
+ if E.Retail or E.Wrath then
+ local index = 1
+ local info, name = DT:BackpackCurrencyInfo(index)
+
+ while name do
+ if index == 1 then
+ DT.tooltip:AddLine(' ')
+ DT.tooltip:AddLine(CURRENCY)
+ end
+
+ if info.quantity then
+ DT.tooltip:AddDoubleLine(format('%s %s', format(iconString, info.iconFileID), name), BreakUpLargeNumbers(info.quantity), 1, 1, 1, 1, 1, 1)
+ end
+
+ index = index + 1
+ info, name = DT:BackpackCurrencyInfo(index)
+ end
+ end
+
+ local grayValue = B:GetGraysValue()
+ if grayValue > 0 then
+ DT.tooltip:AddLine(' ')
+ DT.tooltip:AddDoubleLine(L["Grays"], E:FormatMoney(grayValue, "SHORTINT", false), nil, nil, nil, 1, 1, 1)
+ end
+
+ DT.tooltip:AddLine(' ')
+ DT.tooltip:AddLine(resetCountersFormatter)
+ DT.tooltip:AddLine(resetInfoFormatter)
+ DT.tooltip:Show()
+ end
+ self.mIcon.isClicked = mDockCheckFrame()
+ mMT:mOnEnter(self, "CheckFrameBags")
+end
+
+local function OnEvent(self, event, ...)
+ self.mSettings = {
+ Name = mTextName,
+ IconTexture = mMT.Media.DockIcons[E.db.mMT.dockdatatext.bag.icon],
+ Notifications = false,
+ Text = E.db.mMT.dockdatatext.bag.text ~= 5 and E.db.mMT.dockdatatext.bag.text or false,
+ Spezial = true,
+ IconColor = E.db.mMT.dockdatatext.bag.iconcolor,
+ CustomColor = E.db.mMT.dockdatatext.bag.customcolor,
+ }
+
+ mMT:DockInitialisation(self)
+
+ if self.mSettings.Text then
+ if self.text ~= "" then
+ self.text:SetText("")
+ end
+ local text = nil
+ if self.mSettings.Text == 4 then
+ if not IsLoggedIn() then
+ return
+ end
+
+ if E.Retail and not Ticker then
+ C_WowTokenPublic_UpdateMarketPrice()
+ Ticker = C_Timer_NewTicker(60, UpdateMarketPrice)
+ end
+
+ --prevent an error possibly from really old profiles
+ local oldMoney = ElvDB.gold[E.myrealm][E.myname]
+ if oldMoney and type(oldMoney) ~= "number" then
+ ElvDB.gold[E.myrealm][E.myname] = nil
+ oldMoney = nil
+ end
+
+ local NewMoney = GetMoney()
+ ElvDB.gold[E.myrealm][E.myname] = NewMoney
+
+ local OldMoney = oldMoney or NewMoney
+ local Change = NewMoney - OldMoney -- Positive if we gain money
+ if OldMoney > NewMoney then -- Lost Money
+ Spent = Spent - Change
+ else -- Gained Moeny
+ Profit = Profit + Change
+ end
+
+ updateGold(self, event == "ELVUI_FORCE_UPDATE", Change)
+
+ text = E:FormatMoney(NewMoney, "SHORTINT")
+ else
+ local free, total = 0, 0
+ for i = 0, NUM_BAG_SLOTS do
+ local freeSlots, bagType = GetContainerNumFreeSlots(i)
+ if not bagType or bagType == 0 then
+ free, total = free + freeSlots, total + GetContainerNumSlots(i)
+ end
+ end
+
+ local text = nil
+ if self.mSettings.Text == 1 then
+ text = free
+ elseif self.mSettings.Text == 2 then
+ text = total - free
+ elseif self.mSettings.Text == 3 then
+ text = free .. "/" .. total
+ else
+ text = total - free .. "/" .. total
+ end
+ self.mIcon.TextA:SetText(text)
+ end
+ self.mIcon.TextA:SetText(text or "")
+ end
+end
+
+local function OnLeave(self)
+ if E.db.mMT.dockdatatext.tip.enable then
+ DT.tooltip:Hide()
+ end
+
+ self.mIcon.isClicked = mDockCheckFrame()
+ mMT:mOnLeave(self)
+end
+
+local function OnClick(self, btn)
+ if mMT:CheckCombatLockdown() then
+ mMT:mOnClick(self, "CheckFrameBags")
+ if btn == 'RightButton' then
+ if IsShiftKeyDown() then
+ E:SetEasyMenuAnchor(E.EasyMenu, self)
+ EasyMenu(menuList, E.EasyMenu, nil, nil, nil, 'MENU')
+ elseif IsControlKeyDown() then
+ Profit = 0
+ Spent = 0
+ end
+ else
+ _G.ToggleAllBags()
+ end
+ end
+end
+
+DT:RegisterDatatext(mTextName, "mDock", {'PLAYER_MONEY', 'SEND_MAIL_MONEY_CHANGED', 'SEND_MAIL_COD_CHANGED', 'PLAYER_TRADE_MONEY', 'TRADE_MONEY_CHANGED', 'CURRENCY_DISPLAY_UPDATE', 'PERKS_PROGRAM_CURRENCY_REFRESH'}, OnEvent, nil, OnClick, OnEnter, OnLeave, mText, nil, nil)
diff --git a/modules/Dock/mDockFunctions.lua b/modules/Dock/mDockFunctions.lua
index 83af4187..b0226740 100644
--- a/modules/Dock/mDockFunctions.lua
+++ b/modules/Dock/mDockFunctions.lua
@@ -92,16 +92,20 @@ local function mDockCreatText(self)
end
if not self.mIcon.TextA then
- self.mIcon.TextA = self:CreateFontString(nil, "OVERLAY", "GameTooltipText")
+ self.mIcon.TextA = self:CreateFontString(nil, 'ARTWORK')
end
- self.mIcon.TextA:SetFont(LSM:Fetch("font", E.db.mMT.dockdatatext.font), FontSize, E.db.mMT.dockdatatext.fontflag)
+ self.mIcon.TextA:FontTemplate(LSM:Fetch("font", E.db.mMT.dockdatatext.font), FontSize, E.db.mMT.dockdatatext.fontflag)
self.mIcon.TextA:ClearAllPoints()
+ self.mIcon.TextA:SetShadowColor(0, 0, 0, 0)
+ self.mIcon.TextA.SetShadowColor = function() end
if not self.mIcon.TextB then
- self.mIcon.TextB = self:CreateFontString(nil, "OVERLAY", "GameTooltipText")
+ self.mIcon.TextB = self:CreateFontString(nil, 'ARTWORK')
end
- self.mIcon.TextB:SetFont(LSM:Fetch("font", E.db.mMT.dockdatatext.font), FontSize, E.db.mMT.dockdatatext.fontflag)
+ self.mIcon.TextB:FontTemplate(LSM:Fetch("font", E.db.mMT.dockdatatext.font), FontSize, E.db.mMT.dockdatatext.fontflag)
self.mIcon.TextB:ClearAllPoints()
+ self.mIcon.TextB:SetShadowColor(0, 0, 0, 0)
+ self.mIcon.TextB.SetShadowColor = function() end
if self.mSettings.Spezial then
self.mIcon.TextB:SetPoint("TOP", self.mIcon, "TOP", 0, 0)
@@ -110,9 +114,17 @@ local function mDockCreatText(self)
else
self.mIcon.TextA:SetPoint("BOTTOM", self.mIcon, "BOTTOM", 0, 0)
end
+ self.mIcon.TextA:SetJustifyH('CENTER')
+ self.mIcon.TextA:SetWordWrap(true)
+ self.mIcon.TextB:SetJustifyH('CENTER')
+ self.mIcon.TextB:SetWordWrap(true)
else
self.mIcon.TextA:SetPoint("BOTTOMRIGHT", self.mIcon, "BOTTOMRIGHT", 0, 0)
self.mIcon.TextB:SetPoint("BOTTOMLEFT", self.mIcon, "BOTTOMLEFT", 0, 0)
+ self.mIcon.TextA:SetJustifyH('RIGHT')
+ self.mIcon.TextA:SetWordWrap(true)
+ self.mIcon.TextB:SetJustifyH('LEFT')
+ self.mIcon.TextB:SetWordWrap(true)
end
if not self.mSettings.DontClearText then
diff --git a/modules/Dock/mExampleDock.lua b/modules/Dock/mExampleDock.lua
index 2df31210..cd83eab6 100644
--- a/modules/Dock/mExampleDock.lua
+++ b/modules/Dock/mExampleDock.lua
@@ -25,6 +25,8 @@ function mMT:mDockFull(top, enable)
E.db["datatexts"]["panels"]["mDock"][15] = "mProfession"
E.db["datatexts"]["panels"]["mDock"][16] = "mDurability"
E.db["datatexts"]["panels"]["mDock"][17] = "mCalendar"
+ E.db["datatexts"]["panels"]["mDock"][18] = "mVolume"
+ E.db["datatexts"]["panels"]["mDock"][19] = "mBags"
E.db["datatexts"]["panels"]["mDock"]["enable"] = enable
E.global["datatexts"]["customPanels"]["mDock"]["backdrop"] = false
@@ -39,14 +41,14 @@ function mMT:mDockFull(top, enable)
E.global["datatexts"]["customPanels"]["mDock"]["height"] = 42
E.global["datatexts"]["customPanels"]["mDock"]["mouseover"] = false
E.global["datatexts"]["customPanels"]["mDock"]["name"] = "mDock"
- E.global["datatexts"]["customPanels"]["mDock"]["numPoints"] = 17
+ E.global["datatexts"]["customPanels"]["mDock"]["numPoints"] = 19
E.global["datatexts"]["customPanels"]["mDock"]["panelTransparency"] = false
E.global["datatexts"]["customPanels"]["mDock"]["textJustify"] = "CENTER"
E.global["datatexts"]["customPanels"]["mDock"]["tooltipAnchor"] = "ANCHOR_TOP"
E.global["datatexts"]["customPanels"]["mDock"]["tooltipXOffset"] = 0
E.global["datatexts"]["customPanels"]["mDock"]["tooltipYOffset"] = 9
E.global["datatexts"]["customPanels"]["mDock"]["visibility"] = "[petbattle] hide;show"
- E.global["datatexts"]["customPanels"]["mDock"]["width"] = 800
+ E.global["datatexts"]["customPanels"]["mDock"]["width"] = 900
if top then
E.db["movers"]["DTPanelmDockMover"] = "TOP,ElvUIParent,TOP,0,-4"
diff --git a/modules/datatexts/Teleports.lua b/modules/datatexts/Teleports.lua
index 69a4563b..6d099e5b 100644
--- a/modules/datatexts/Teleports.lua
+++ b/modules/datatexts/Teleports.lua
@@ -213,17 +213,21 @@ local Teleports = {
159898, --path-of-the-skies
373274, --path-of-the-scrappy-prince
373262, --path-of-the-fallen-guardian
+ 410071, -- path-of-the-freebooter
+ 410078, -- path-of-the-earth-warder
+ 410080, -- path-of-winds-domain
+ 410074, -- path-of-festering-rot
},
season = {
available = false,
- 393262, --path-of-the-windswept-plains
- 393273, --path-of-the-draconic-diploma
- 393279, --pfad-der-arkanen-geheimnisse
- 393256, --pfad-des-nestverteidigers
- 393766, --path-of-the-grand-magistrix
- 131204, --path-of-the-jade-serpent
- 393764, --path-of-proven-worth
- 159899, --path-of-the-crescent-moon
+ 393267, -- path-of-the-rotting-woods
+ 393222, -- path-of-the-watchers-legacy
+ 410071, -- path-of-the-freebooter
+ 393276, -- path-of-the-obsidian-hoard
+ 393283, -- path-of-the-titanic-reservoir
+ 410078, -- path-of-the-earth-warder
+ 410080, -- path-of-winds-domain
+ 410074, -- path-of-festering-rot
},
sl = {
available = false,
@@ -479,7 +483,7 @@ end
local function OnEvent(self, event, unit)
CheckIfAvailable()
if E.db.mMT.teleports.icon then
- self.text:SetFormattedText(mMT.ClassColor.string, format("|TInterface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\datatext\\teleports.tga:16:16:0:0:64:64|t %s", mText))
+ self.text:SetFormattedText(mMT.ClassColor.string, format("|T%s:16:16:0:0:64:64|t %s", mMT.Media.TeleportIcons[E.db.mMT.teleports.customicon], mText))
else
self.text:SetFormattedText(mMT.ClassColor.string, mText)
end
diff --git a/modules/datatexts/gamemenu.lua b/modules/datatexts/gamemenu.lua
index 3e309f51..33625c9f 100644
--- a/modules/datatexts/gamemenu.lua
+++ b/modules/datatexts/gamemenu.lua
@@ -191,9 +191,7 @@ local function BuildMenu()
bottom = true,
func = function()
if not InCombatLockdown() then
- E:ToggleOptions()
- E.Libs.AceConfigDialog:SelectGroup("ElvUI", "mMT")
- HideUIPanel(_G["GameMenuFrame"])
+ E:ToggleOptions("mMT")
end
end,
})
diff --git a/modules/misc/ObjectiveTracker.lua b/modules/misc/ObjectiveTracker.lua
index d3f1b290..de6ae0fc 100644
--- a/modules/misc/ObjectiveTracker.lua
+++ b/modules/misc/ObjectiveTracker.lua
@@ -157,8 +157,8 @@ end
local function SetGradientColors(bar, r, g, b)
if mMT.ElvUI_EltreumUI and E.db.mMT.objectivetracker.header.barcolorstyle == "class" then
- local ElvUI_EltreumUI = E:GetModule("ElvUI_EltreumUI")
- if E.db.ElvUI_EltreumUI.unitframes.gradientmode.customcolor then
+ local ElvUI_EltreumUI = E:GetModule("ElvUI_EltreumUI", true)
+ if ElvUI_EltreumUI and E.db.ElvUI_EltreumUI.unitframes.gradientmode.customcolor then
bar:GetStatusBarTexture()
:SetGradient("HORIZONTAL", ElvUI_EltreumUI:GradientColorsCustom(E.myclass, false, false, false))
else
diff --git a/modules/unitframes/background.lua b/modules/unitframes/background.lua
index ef9341fc..214d62ec 100644
--- a/modules/unitframes/background.lua
+++ b/modules/unitframes/background.lua
@@ -3,7 +3,6 @@ local mMT, E, L, V, P, G = unpack((select(2, ...)))
local UF = E:GetModule("UnitFrames")
local LSM = LibStub("LibSharedMedia-3.0")
-local addon, ns = ...
local function CustomHealthBackdrop(unitframe, framename, r, g, b)
if unitframe.backdropTex then
diff --git a/modules/unitframes/load_unitframes.xml b/modules/unitframes/load_unitframes.xml
index 808d84a0..cbb9faa5 100644
--- a/modules/unitframes/load_unitframes.xml
+++ b/modules/unitframes/load_unitframes.xml
@@ -2,4 +2,5 @@
+
\ No newline at end of file
diff --git a/modules/unitframes/unitframeicons.lua b/modules/unitframes/unitframeicons.lua
new file mode 100644
index 00000000..7b8dbd87
--- /dev/null
+++ b/modules/unitframes/unitframeicons.lua
@@ -0,0 +1,61 @@
+local mMT, E, L, V, P, G = unpack((select(2, ...)))
+local UF = E:GetModule("UnitFrames")
+
+local blank = "Interface\\AddOns\\ElvUI_mMediaTag\\media\\icons\\unitframes\\blank.tga"
+local PhaseColors = {
+ chromie = { r = 1, g = 0.9, b = 0.5 },
+ warmode = { r = 1, g = 0.3, b = 0.3 },
+ sharding = { r = 0.5, g = 1, b = 0.3 },
+ phasing = { r = 0.3, g = 0.5, b = 1 },
+}
+local c = PhaseColors.phasing
+local function ReadyCheckIcons(_, frame)
+ frame.ReadyCheckIndicator.readyTexture = mMT.Media.UnitframeIcons[E.db.mMT.unitframeicons.readycheck.ready]
+ frame.ReadyCheckIndicator.notReadyTexture = mMT.Media.UnitframeIcons[E.db.mMT.unitframeicons.readycheck.notready]
+ frame.ReadyCheckIndicator.waitingTexture = mMT.Media.UnitframeIcons[E.db.mMT.unitframeicons.readycheck.waiting]
+end
+
+function mMT:PhaseIconColor(hidden, phaseReason)
+ if E.db.mMT.unitframeicons.phase.color.withe then
+ self.Center:SetVertexColor(1, 1, 1)
+ else
+ if phaseReason == 3 then -- chromie, gold
+ c = PhaseColors.chromie
+ self.Center:SetVertexColor(c.r, c.g, c.b)
+ elseif phaseReason == 2 then -- warmode, red
+ c = PhaseColors.warmode
+ self.Center:SetVertexColor(c.r, c.g, c.b)
+ elseif phaseReason == 1 then -- sharding, green
+ c = PhaseColors.sharding
+ self.Center:SetVertexColor(c.r, c.g, c.b)
+ else -- phasing, blue
+ c = PhaseColors.phasing
+ self.Center:SetVertexColor(c.r, c.g, c.b)
+ end
+ end
+end
+
+local function ResurrectionIcon(_, frame)
+ frame.ResurrectIndicator:SetTexture(mMT.Media.UnitframeIcons[E.db.mMT.unitframeicons.resurrection.icon])
+end
+
+function mMT:SetupResurrectionIcon()
+ hooksecurefunc(UF, "Configure_ResurrectionIcon", ResurrectionIcon)
+end
+function mMT:SetupReadyCheckIcons()
+ hooksecurefunc(UF, "Configure_ReadyCheckIcon", ReadyCheckIcons)
+end
+function mMT:SetupPhaseIcons()
+ E.Media.Textures.PhaseBorder = blank
+ E.Media.Textures.PhaseCenter = mMT.Media.UnitframeIcons[E.db.mMT.unitframeicons.phase.icon]
+
+ if E.db.mMT.unitframeicons.phase.color.enable then
+ PhaseColors = {
+ chromie = E.db.mMT.unitframeicons.phase.color.chromie,
+ warmode = E.db.mMT.unitframeicons.phase.color.warmode,
+ sharding = E.db.mMT.unitframeicons.phase.color.sharding,
+ phasing = E.db.mMT.unitframeicons.phase.color.phasing,
+ }
+ hooksecurefunc(UF, "PostUpdate_PhaseIcon", mMT.PhaseIconColor)
+ end
+end