Quantcast

Merge branch 'dev'

Darth Predator [08-29-17 - 04:23]
Merge branch 'dev'
Filename
CHANGELOG.txt
ElvUI_SLE/ElvUI_SLE.toc
ElvUI_SLE/core/install.lua
ElvUI_SLE/libs/LibTourist-3.0/LibTourist-3.0.lua
ElvUI_SLE/locales/english.lua
ElvUI_SLE/locales/german.lua
ElvUI_SLE/locales/russian.lua
ElvUI_SLE/modules/Armory/Config.lua
ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua
ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua
ElvUI_SLE/modules/backgrounds.lua
ElvUI_SLE/modules/elvConfig.lua
ElvUI_SLE/modules/minimap/locationbar.lua
ElvUI_SLE/modules/professions/deconstruct.lua
ElvUI_SLE/modules/professions/enchant.lua
ElvUI_SLE/modules/professions/professions.lua
ElvUI_SLE/modules/pvp.lua
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index af321aa..6ead432 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,3 +1,13 @@
+v3.27
+Changes:
+- Changed the way aura threshold works to avoid incompatibility with CustomTweaks
+- Changed calls for playing sounds to account for patch 7.3
+- Altered the way deconstruct checks are executed. Should be more consistent now
+Fixes:
+- Fixed backround positioning resetting
+Additions:
+- Added an option to disable inspecting message in chat
+
 v3.26 06/28/17
 Changes:
 - Changed the way tomtom waypoints are ignored by minimap button skinning process
diff --git a/ElvUI_SLE/ElvUI_SLE.toc b/ElvUI_SLE/ElvUI_SLE.toc
index a627cfa..6375088 100644
--- a/ElvUI_SLE/ElvUI_SLE.toc
+++ b/ElvUI_SLE/ElvUI_SLE.toc
@@ -23,6 +23,6 @@ options\load_options.xml
 Bindings.xml


-## X-Tukui-ProjectID: 42
+## X-Tukui-ProjectID: 38
 ## X-Tukui-ProjectFolders: ElvUI_SLE
 ## X-Curse-Packaged-Version: 3.26
diff --git a/ElvUI_SLE/core/install.lua b/ElvUI_SLE/core/install.lua
index 9f7ea96..98f85aa 100644
--- a/ElvUI_SLE/core/install.lua
+++ b/ElvUI_SLE/core/install.lua
@@ -62,6 +62,10 @@ function PI:DarthSetup()
 		E.db["general"]["objectiveFrameHeight"] = 640
 		E.db["general"]["bonusObjectivePosition"] = "RIGHT"
 		E.db["general"]["hideErrorFrame"] = false
+		E.db["general"]["valuecolor"]["a"] = 1
+		E.db["general"]["valuecolor"]["r"] = 0
+		E.db["general"]["valuecolor"]["g"] = 0.66666666666667
+		E.db["general"]["valuecolor"]["b"] = 0
 	end
 	--Actionbars
 	do
diff --git a/ElvUI_SLE/libs/LibTourist-3.0/LibTourist-3.0.lua b/ElvUI_SLE/libs/LibTourist-3.0/LibTourist-3.0.lua
index a800963..b90f9a4 100644
--- a/ElvUI_SLE/libs/LibTourist-3.0/LibTourist-3.0.lua
+++ b/ElvUI_SLE/libs/LibTourist-3.0/LibTourist-3.0.lua
@@ -114,9 +114,9 @@ local entrancePortals_y = {}
 local zoneIDtoContinentID = {}

 -- HELPER AND LOOKUP FUNCTIONS -------------------------------------------------------------
-
+local type = type
 local function PLAYER_LEVEL_UP(self, level)
-	playerLevel = level or UnitLevel("player")
+	playerLevel = (level and level ~= true) and level or UnitLevel("player")
 	for k in pairs(recZones) do
 		recZones[k] = nil
 	end
diff --git a/ElvUI_SLE/locales/english.lua b/ElvUI_SLE/locales/english.lua
index cc24fbe..ba939c0 100644
--- a/ElvUI_SLE/locales/english.lua
+++ b/ElvUI_SLE/locales/english.lua
@@ -168,6 +168,10 @@ L["Only Relevant Stats"] = true
 L["Show only those primary stats relevant to your spec."] = true
 L["SLE_ARMORY_POINTS_AVAILABLE"] = "%s Point(s) Available!!"
 L["Show ElvUI skin's backdrop overlay"] = true
+L["Try inspecting %s. Sometimes this work will take few second for waiting server's response."] = true
+L['Inspect is canceled because target was changed or lost.'] = true
+L["You can't inspect while dead."] = true
+L["Show Inspection message in chat"] = true

 --AFK
 L["You Are Away From Keyboard for"] = true
@@ -834,7 +838,6 @@ L["LFG Icons"] = true
 L["Choose what icon set will unitframes and chat use."] = true
 L["Offline Indicator"] = true
 L["Shows an icon on party or raid unitframes for people that are offline."] = true
-L["Texture"] = true
 L["Statusbars"] = true
 L["Power Texture"] = true
 L["Castbar Texture"] = true
diff --git a/ElvUI_SLE/locales/german.lua b/ElvUI_SLE/locales/german.lua
index 4c3b258..5f8207e 100644
--- a/ElvUI_SLE/locales/german.lua
+++ b/ElvUI_SLE/locales/german.lua
@@ -168,6 +168,10 @@ L["Only Relevant Stats"] = "Nur relevante Werte"
 L["Show only those primary stats relevant to your spec."] = "Zeigt nur primäre Werte die relevant für deinen Spec sind."
 L["SLE_ARMORY_POINTS_AVAILABLE"] = "%s Punkt(e) verfügbar!!"
 L["Show ElvUI skin's backdrop overlay"] = "Zeigt ElvUI-Skin Hintergrund Overlay"
+L["Try inspecting %s. Sometimes this work will take few second for waiting server's response."] = "Versuche %s zu betrachten. Es könnte manchmal passieren das es ein paar sekunden dauert bis die Daten vom Server geladen werden."
+L['Inspect is canceled because target was changed or lost.'] = "Betrachten wurde abgebrochen weil das Ziel geändert oder verloren wurde."
+L["You can't inspect while dead."] = "Während du tod bist kannst du nicht betrachten."
+L["Show Inspection message in chat"] = "Zeige Betrachten Nachricht im Chat"

 --AFK
 L["You Are Away From Keyboard for"] = "Du bist nicht an der Tastatur für"
@@ -828,7 +832,6 @@ L["LFG Icons"] = true
 L["Choose what icon set will unitframes and chat use."] = true
 L["Offline Indicator"] = true
 L["Shows an icon on party or raid unitframes for people that are offline."] = true
-L["Texture"] = true
 L["Statusbars"] = true
 L["Power Texture"] = true
 L["Castbar Texture"] = true
diff --git a/ElvUI_SLE/locales/russian.lua b/ElvUI_SLE/locales/russian.lua
index b43b8a6..aa85a87 100644
--- a/ElvUI_SLE/locales/russian.lua
+++ b/ElvUI_SLE/locales/russian.lua
@@ -167,6 +167,10 @@ L["Only Relevant Stats"] = "Только подходящие"
 L["Show only those primary stats relevant to your spec."] = "Отображает только те основные характеристики, что подходят вашей текущей специализации."
 L["SLE_ARMORY_POINTS_AVAILABLE"] = "Очков доступно: %s"
 L["Show ElvUI skin's backdrop overlay"] = "Отображать фон скина ElvUI"
+L["Try inspecting %s. Sometimes this work will take few second for waiting server's response."] = "Осматриваю %s. Можеть занять несколько секунд ожидания ответа сервера."
+L['Inspect is canceled because target was changed or lost.'] = "Осмотр отменет, т.к. цель была изменена или потеряна."
+L["You can't inspect while dead."] = "Мертвые не осматривают."
+L["Show Inspection message in chat"] = "Отображать сообщение об осмотре в чате."

 --AFK
 L["You Are Away From Keyboard for"] = "Вы отошли на"
@@ -829,7 +833,6 @@ L["LFG Icons"] = "Иконки ЛФГ"
 L["Choose what icon set will unitframes and chat use."] = "Набор иконок для использования на рамках юнитов и в чате."
 L["Offline Indicator"] = "Не в сети"
 L["Shows an icon on party or raid unitframes for people that are offline."] = "Показывает иконку на рамках членов группы или рейда, которые находятся не в сети"
-L["Texture"] = "Текстура"
 L["Statusbars"] = "Полосы состояния"
 L["Power Texture"] = "Текстура ресурса"
 L["Castbar Texture"] = "Текстура полосы заклинаний"
diff --git a/ElvUI_SLE/modules/Armory/Config.lua b/ElvUI_SLE/modules/Armory/Config.lua
index e9c939b..842d502 100644
--- a/ElvUI_SLE/modules/Armory/Config.lua
+++ b/ElvUI_SLE/modules/Armory/Config.lua
@@ -725,10 +725,18 @@ local function LoadArmoryConfigTable()
 					end,
 					disabled = function() return not E.db.sle.Armory.Inspect.Enable or not E.db.sle.Armory.Inspect.NoticeMissing end,
 				},
+				InspectMessage = {
+					type = 'toggle',
+					name = L["Show Inspection message in chat"],
+					order = 3,
+					disabled = function() return not E.db.sle.Armory.Inspect.Enable end,
+					get = function() return E.db.sle.Armory.Inspect.InspectMessage end,
+					set = function(_, value) E.db.sle.Armory.Inspect.InspectMessage = value end,
+				},
 				Backdrop = {
 					type = 'group',
 					name = L["Backdrop"],
-					order = 3,
+					order = 4,
 					args = {
 						SelectedBG = {
 							type = 'select',
diff --git a/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua b/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua
index 54cdfe8..22ca020 100644
--- a/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua
+++ b/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua
@@ -3,6 +3,7 @@ local SLE, T, E, L, V, P, G = unpack(select(2, ...))
 local KF, Info, Timer = unpack(ElvUI_KnightFrame)
 local _G = _G
 local _
+local SOUNDKIT = SOUNDKIT

 --GLOBALS: CreateFrame, SLE_ArmoryDB, NotifyInspect, InspectUnit, UIParent, hooksecurefunc, UIDROPDOWNMENU_MENU_LEVEL
 local NUM_TALENT_COLUMNS,MAX_TALENT_GROUPS = NUM_TALENT_COLUMNS,MAX_TALENT_GROUPS
@@ -383,7 +384,11 @@ function IA:CreateInspectFrame()
 		self:SetClampedToScreen(true)
 		self:Point('CENTER', E.UIParent)
 		self:SetScript('OnHide', function()
-			PlaySound('igCharacterInfoClose')
+			if E.wowbuild < 24896 then --7.2.5
+				PlaySound('igCharacterInfoClose')
+			else --7.3
+				PlaySound(SOUNDKIT.IG_CHARACTER_INFO_CLOSE)
+			end

 			if self.CurrentInspectData.Name then
 				local TableIndex = self.CurrentInspectData.Name..(IA.CurrentInspectData.Realm and IA.CurrentInspectData.Realm ~= '' and IA.CurrentInspectData.Realm ~= Info.MyRealm and '-'..IA.CurrentInspectData.Realm or '')
@@ -584,7 +589,7 @@ function IA:CreateInspectFrame()
 			_G["GameTooltip"]:Hide()
 		end)
 		self.TransmogViewButton:SetScript("OnClick", function(self)
-			PlaySound("igMainMenuOptionCheckBoxOn");
+			PlaySound(SOUNDKIT.IG_MAINMENU_OPTION_CHECKBOX_ON);
 			DressUpSources(C_TransmogCollection.GetInspectSources());
 		end)
 	end
@@ -1724,7 +1729,7 @@ IA.InspectUnit = function(UnitID)
 		IA:RegisterEvent('INSPECT_READY')
 		IA:RegisterEvent('INSPECT_HONOR_UPDATE')

-		SLE:Print(format(L["Try inspecting %s. Sometimes this work will take few second for waiting server's response."], '|c'..RAID_CLASS_COLORS[IA.CurrentInspectData.Class].colorStr..IA.CurrentInspectData.Name..(IA.CurrentInspectData.Realm and '-'..IA.CurrentInspectData.Realm or '')..'|r')..(UnitID == 'mouseover' and ' '..L['Mouseover Inspect must hold your mouse position until inspect is over.'] or ''))
+		if E.db.sle.Armory.Inspect.InspectMessage then SLE:Print(format(L["Try inspecting %s. Sometimes this work will take few second for waiting server's response."], '|c'..RAID_CLASS_COLORS[IA.CurrentInspectData.Class].colorStr..IA.CurrentInspectData.Name..(IA.CurrentInspectData.Realm and '-'..IA.CurrentInspectData.Realm or '')..'|r')..(UnitID == 'mouseover' and ' '..L['Mouseover Inspect must hold your mouse position until inspect is over.'] or '')) end
 		IA.Inspector:Show()

 		return true
diff --git a/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua b/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua
index 4c7b84b..4a5336f 100644
--- a/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua
+++ b/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua
@@ -10,6 +10,7 @@ P.sle.Armory.Inspect = {

 	NoticeMissing = true,
 	MissingIcon = true,
+	InspectMessage = true,

 	Backdrop = {
 		SelectedBG = 'Space',
diff --git a/ElvUI_SLE/modules/backgrounds.lua b/ElvUI_SLE/modules/backgrounds.lua
index 5d74ff3..cbe9392 100644
--- a/ElvUI_SLE/modules/backgrounds.lua
+++ b/ElvUI_SLE/modules/backgrounds.lua
@@ -67,8 +67,7 @@ end

 function BG:CreateAndUpdateFrames()
 	for i = 1, 4 do
-		if not BG["Frame_"..i] then BG["Frame_"..i] = self:CreateFrame(i) end
-		BG:Positions(i)
+		if not BG["Frame_"..i] then BG["Frame_"..i] = self:CreateFrame(i) BG:Positions(i) end
 		BG:FramesSize(i)
 		BG:FrameTemplate(i)
 		BG:Alpha(i)
diff --git a/ElvUI_SLE/modules/elvConfig.lua b/ElvUI_SLE/modules/elvConfig.lua
index a976b56..087537a 100644
--- a/ElvUI_SLE/modules/elvConfig.lua
+++ b/ElvUI_SLE/modules/elvConfig.lua
@@ -27,23 +27,23 @@ function EC:UpdateActionbars()
 end

 function EC:UpdateUitframes()
-	E.Options.args.unitframe.args.boss.args.spacing.min = -4
-	E.Options.args.unitframe.args.arena.args.spacing.min = -4
+	E.Options.args.unitframe.args.boss.args.generalGroup.args.spacing.min = -4
+	E.Options.args.unitframe.args.arena.args.generalGroup.args.spacing.min = -4

-	E.Options.args.unitframe.args.party.args.general.args.positionsGroup.args.horizontalSpacing.min = -4
-	E.Options.args.unitframe.args.party.args.general.args.positionsGroup.args.verticalSpacing.min = -4
+	E.Options.args.unitframe.args.party.args.generalGroup.args.positionsGroup.args.horizontalSpacing.min = -4
+	E.Options.args.unitframe.args.party.args.generalGroup.args.positionsGroup.args.verticalSpacing.min = -4

-	E.Options.args.unitframe.args.raid.args.general.args.positionsGroup.args.horizontalSpacing.min = -4
-	E.Options.args.unitframe.args.raid.args.general.args.positionsGroup.args.verticalSpacing.min = -4
+	E.Options.args.unitframe.args.raid.args.generalGroup.args.positionsGroup.args.horizontalSpacing.min = -4
+	E.Options.args.unitframe.args.raid.args.generalGroup.args.positionsGroup.args.verticalSpacing.min = -4

-	E.Options.args.unitframe.args.raid40.args.general.args.positionsGroup.args.horizontalSpacing.min = -4
-	E.Options.args.unitframe.args.raid40.args.general.args.positionsGroup.args.verticalSpacing.min = -4
+	E.Options.args.unitframe.args.raid40.args.generalGroup.args.positionsGroup.args.horizontalSpacing.min = -4
+	E.Options.args.unitframe.args.raid40.args.generalGroup.args.positionsGroup.args.verticalSpacing.min = -4

-	E.Options.args.unitframe.args.raidpet.args.general.args.positionsGroup.args.horizontalSpacing.min = -4
-	E.Options.args.unitframe.args.raidpet.args.general.args.positionsGroup.args.verticalSpacing.min = -4
+	E.Options.args.unitframe.args.raidpet.args.generalGroup.args.positionsGroup.args.horizontalSpacing.min = -4
+	E.Options.args.unitframe.args.raidpet.args.generalGroup.args.positionsGroup.args.verticalSpacing.min = -4

-	E.Options.args.unitframe.args.tank.args.general.args.verticalSpacing.min = -4
-	E.Options.args.unitframe.args.assist.args.general.args.verticalSpacing.min = -4
+	E.Options.args.unitframe.args.tank.args.generalGroup.args.verticalSpacing.min = -4
+	E.Options.args.unitframe.args.assist.args.generalGroup.args.verticalSpacing.min = -4

 	for unit, settings in T.pairs(E.Options.args.unitframe.args) do
 		if E.Options.args.unitframe.args[unit].args and E.Options.args.unitframe.args[unit].args.portrait then
diff --git a/ElvUI_SLE/modules/minimap/locationbar.lua b/ElvUI_SLE/modules/minimap/locationbar.lua
index 882564b..7131708 100644
--- a/ElvUI_SLE/modules/minimap/locationbar.lua
+++ b/ElvUI_SLE/modules/minimap/locationbar.lua
@@ -73,6 +73,7 @@ LP.PortItems = {
 	{43824, nil, true}, --The Schools of Arcane Magic - Mastery
 	{64457}, --The Last Relic of Argus
 	{141605}, --Flight Masters's Whistle
+	{152964}, --Krokul Flute
 	{128502}, --Hunter's Seeking Crystal
 	{128503}, --Master Hunter's Seeking Crystal
 	{140324, nil, true}, --Mobile Telemancy Beacon
@@ -371,7 +372,7 @@ function LP:PopulateItems()
 	local noItem = false

 	for index, data in T.pairs(LP.PortItems) do
-		if T.select(2, T.GetItemInfo(data[1])) == nil then noItem = true end
+		if T.select(2, T.GetItemInfo(data[1])) == nil and (data[1] ~= 152964 and E.wowbuild < 24896) then noItem = true end
 	end

 	if noItem then
diff --git a/ElvUI_SLE/modules/professions/deconstruct.lua b/ElvUI_SLE/modules/professions/deconstruct.lua
index 8db15d3..0cef511 100644
--- a/ElvUI_SLE/modules/professions/deconstruct.lua
+++ b/ElvUI_SLE/modules/professions/deconstruct.lua
@@ -120,7 +120,7 @@ function Pr:BuildBlacklistLOCK(...)
 	end
 end

-function Pr:ApplyDeconstruct(itemLink, spell, r, g, b)
+function Pr:ApplyDeconstruct(itemLink, spell, spellType, r, g, b)
 	local slot = T.GetMouseFocus()
 	local bag = slot:GetParent():GetID()
 	if not _G["ElvUI_ContainerFrame"].Bags[bag] then return end
@@ -141,8 +141,8 @@ function Pr:ApplyDeconstruct(itemLink, spell, r, g, b)
 		-- end
 	elseif (T.GetContainerItemLink(bag, slot:GetID()) == itemLink) then
 		Pr.DeconstructionReal.ID = T.match(itemLink, 'item:(%d+):')
-		Pr.DeconstructionReal:SetAttribute("type1","spell")
-		Pr.DeconstructionReal:SetAttribute('spell', spell)
+		Pr.DeconstructionReal:SetAttribute("type1",spellType)
+		Pr.DeconstructionReal:SetAttribute(spellType, spell)
 		Pr.DeconstructionReal:SetAttribute('target-bag', bag)
 		Pr.DeconstructionReal:SetAttribute('target-slot', slot:GetID())
 		Pr.DeconstructionReal:SetAllPoints(slot)
@@ -172,7 +172,7 @@ function Pr:IsBreakable(link)
 	return false
 end

-function Pr:LockSkill(id)
+--[[function Pr:LockSkill(id)
 	if E.myclass == "ROGUE" then
 		if Pr.ItemTable["Pick"][id] <= (T.UnitLevel("player") * 5) then return true end
 	end
@@ -184,14 +184,14 @@ function Pr:IsLocked(link)
 	local id = T.match(link, 'item:(%d+)')
 	if (Pr.ItemTable["Pick"][id] and not Pr.BlacklistLOCK[name] and Pr:LockSkill(id)) then return true end
 	return false
-end
+end]]

 function Pr:IsUnlockable(itemLink)
 	local slot = T.GetMouseFocus()
 	local bag = slot:GetParent():GetID()
 	local item = _G["TradeFrame"]:IsShown() and T.GetTradeTargetItemLink(7) or T.select(7, T.GetContainerItemInfo(bag, slot:GetID()))
 	if(item == itemLink) then
-		for index = 3, _G["GameTooltip"]:NumLines() do
+		for index = 2, _G["GameTooltip"]:NumLines() do
 			local info = _G['GameTooltipTextLeft' .. index]:GetText()
 			if info == LOCKED then
 				return true
@@ -204,32 +204,35 @@ end
 function Pr:DeconstructParser(tt)
 	if not Pr.DeconstructMode then return end
 	local item, link = tt:GetItem()
-	local class, subclass = select(6, T.GetItemInfo(item))
 	if not link then return end
 	local itemString = T.match(link, "item[%-?%d:]+")
 	if not itemString then return end
 	local _, id = T.split(":", itemString)
 	if not id or id == "" then return end
 	if(item and not T.InCombatLockdown()) and (Pr.DeconstructMode == true or (E.global.sle.LOCK.TradeOpen and self:GetOwner():GetName() == "TradeRecipientItem7ItemButton")) then
-		if Pr.LOCKname and lib:IsOpenable(id) and not Pr.BlacklistLOCK[item] and Pr:IsUnlockable(link) then
+		if lib:IsOpenable(id) and Pr:IsUnlockable(link) then
 			r, g, b = 0, 1, 1
-			Pr:ApplyDeconstruct(link, Pr.LOCKname, r, g, b)
-		elseif((Pr.SMITHname or Pr.JEWELname) and lib:IsOpenable(id)) then
+			Pr:ApplyDeconstruct(link, Pr.LOCKname, "spell", r, g, b)
+		elseif lib:IsOpenableProfession(id) and Pr:IsUnlockable(link) then
 			r, g, b = 0, 1, 1
 			local hasKey = HaveKey()
-			Pr:ApplyDeconstruct(link, hasKey, r, g, b)
-		elseif (Pr.PROSPECTname and lib:IsProspectable(id)) then
+			Pr:ApplyDeconstruct(link, hasKey, "item", r, g, b)
+		elseif lib:IsProspectable(id) then
 			r, g, b = 1, 0, 0
-			Pr:ApplyDeconstruct(link, Pr.PROSPECTname, r, g, b)
-		elseif (Pr.MILLname and lib:IsMillable(id)) then
+			Pr:ApplyDeconstruct(link, Pr.PROSPECTname, "spell", r, g, b)
+		elseif lib:IsMillable(id) then
 			r, g, b = 1, 0, 0
-			Pr:ApplyDeconstruct(link, Pr.MILLname, r, g, b)
+			Pr:ApplyDeconstruct(link, Pr.MILLname, "spell", r, g, b)
 		elseif Pr.DEname then
+			local isArtRelic, class, subclass
 			local normalItem = (lib:IsDisenchantable(id) and Pr:IsBreakable(link))
-			local isArtRelic = (class == relicItemTypeLocalized and subclass == relicItemSubTypeLocalized)
+			if not normalItem then
+				class, subclass = T.select(6, T.GetItemInfo(item))
+				isArtRelic = (class == relicItemTypeLocalized and subclass == relicItemSubTypeLocalized)
+			end
 			if normalItem or Pr.ItemTable["Quest"][id] or isArtRelic then
 				r, g, b = 1, 0, 0
-				Pr:ApplyDeconstruct(link, Pr.DEname, r, g, b)
+				Pr:ApplyDeconstruct(link, Pr.DEname, "spell", r, g, b)
 			end
 		end
 	end
diff --git a/ElvUI_SLE/modules/professions/enchant.lua b/ElvUI_SLE/modules/professions/enchant.lua
index ed0d0c4..f9da588 100644
--- a/ElvUI_SLE/modules/professions/enchant.lua
+++ b/ElvUI_SLE/modules/professions/enchant.lua
@@ -6,48 +6,6 @@ local _G = _G
 local UseItemByName = UseItemByName
 local C_TradeSkillUI = C_TradeSkillUI
 Pr.DErank = 0
-Pr.EnchantSkillTable = {
-	[2] = { --Greens
-		[1] = 1,
-		[25] = 21,
-		[50] = 26,
-		[75] = 31,
-		[100] = 36,
-		[125] = 41,
-		[150] = 46,
-		[175] = 51,
-		[200] = 56,
-		[225] = 61,
-		[275] = 102,
-		[325] = 130,
-		[350] = 154,
-		[425] = 232,
-		[475] = 372,
-	},
-	[3] = { --Blues
-		[25] = 10,
-		[50] = 26,
-		[75] = 31,
-		[100] = 36,
-		[125] = 41,
-		[150] = 46,
-		[175] = 51,
-		[200] = 56,
-		[225] = 61,
-		[275] = 100,
-		[325] = 130,
-		[450] = 288,
-		[525] = 417,
-		[550] = 425,
-	},
-	[4] = { --Epics
-		[225] = 61,
-		[300] = 100,
-		[375] = 200,
-		[475] = 300,
-		[575] = 420,
-	},
-}

 Pr.mapSpellToItem = {
 	[7745] = 38772, -- Enchant 2H Weapon - Minor Impact
diff --git a/ElvUI_SLE/modules/professions/professions.lua b/ElvUI_SLE/modules/professions/professions.lua
index 4037124..bc68fed 100644
--- a/ElvUI_SLE/modules/professions/professions.lua
+++ b/ElvUI_SLE/modules/professions/professions.lua
@@ -2,7 +2,6 @@ local SLE, T, E, L, V, P, G = unpack(select(2, ...))
 local Pr = SLE:NewModule("Professions", "AceHook-3.0", "AceEvent-3.0")
 --GLOBALS: LoadAddOn, TradeSkillFrame_SetSelection
 local _G = _G
-local ITEM_MILLABLE, ITEM_PROSPECTABLE = ITEM_MILLABLE, ITEM_PROSPECTABLE

 Pr.DEname, Pr.LOCKname, Pr.SMITHname = false, false, false

@@ -38,7 +37,7 @@ function Pr:Initialize()
 	if not SLE.initialized then return end

 	if not T.IsAddOnLoaded("Blizzard_TradeSkillUI") then LoadAddOn("Blizzard_TradeSkillUI") end
-	--Next line is to fix other guys' code cause they fell like being assholes and morons
+	--Next line is to fix other guys' code cause they feel like being assholes and morons
 	if SLE._Compatibility["TradeSkillMaster"] and not TradeSkillFrame.RecipeList.collapsedCategories then TradeSkillFrame.RecipeList.collapsedCategories = {} end
 	Pr:UpdateSkills()
 	_G["TradeSkillFrame"]:HookScript("OnShow", function(self)
diff --git a/ElvUI_SLE/modules/pvp.lua b/ElvUI_SLE/modules/pvp.lua
index 9a0f241..9d23b91 100644
--- a/ElvUI_SLE/modules/pvp.lua
+++ b/ElvUI_SLE/modules/pvp.lua
@@ -20,6 +20,8 @@ local BossBanner_BeginAnims = BossBanner_BeginAnims
 local PlaySound = PlaySound
 local CancelPetPVPDuel = C_PetBattles.CancelPVPDuel

+local SOUNDKIT = SOUNDKIT
+
 function PvP:Release()
 	if (PvP.db.rebirth and not HasSoulstone()) or not PvP.db.rebirth then RepopMe() end
 end
@@ -116,7 +118,13 @@ function PvP:Initialize()
 					self.SubTitle:Hide();
 					self:Show();
 					BossBanner_BeginAnims(self);
-					if E.private.sle.pvp.KBbanner.sound then PlaySound("UI_Raid_Boss_Defeated") end
+					if E.private.sle.pvp.KBbanner.sound then
+						if E.wowbuild < 24896 then --7.2.5
+							PlaySound("UI_Raid_Boss_Defeated")
+						else --7.3
+							PlaySound(SOUNDKIT.UI_RAID_BOSS_DEFEATED)
+						end
+					end
 				end
 			end
 		end)