|
|
|
|
local SLE, T, E, L, V, P, G = unpack(select(2, ...))
|
|
|
|
|
local Pr = SLE.Professions
|
|
|
|
|
local S = E.Skins
|
|
|
|
|
|
|
|
|
|
-- GLOBALS: CreateFrame, hooksecurefunc
|
|
|
|
|
local _G = _G
|
|
|
|
|
local UseItemByName = UseItemByName
|
|
|
|
|
local GetRecipeInfo = C_TradeSkillUI.GetRecipeInfo
|
|
|
|
|
local IsTradeSkillLinked = C_TradeSkillUI.IsTradeSkillLinked
|
|
|
|
|
local IsTradeSkillGuild = C_TradeSkillUI.IsTradeSkillGuild
|
|
|
|
|
local CraftRecipe = C_TradeSkillUI.CraftRecipe
|
|
|
|
|
|
|
|
|
|
function Pr:EnchantButton()
|
|
|
|
|
local button = CreateFrame('Button', 'SLE_EnchScrollButton', _G.ProfessionsFrame, 'MagicButtonTemplate, BackdropTemplate')
|
|
|
|
|
if E.private.skins.blizzard.tradeskill == true and E.private.skins.blizzard.enable == true then
|
|
|
|
|
S:HandleButton(button)
|
|
|
|
|
button:StripTextures()
|
|
|
|
|
button:SetTemplate('Default', true)
|
|
|
|
|
button:ClearAllPoints()
|
|
|
|
|
button:SetPoint('TOPRIGHT', _G.ProfessionsFrame.CraftingPage.CreateButton, 'TOPLEFT', -1, 0)
|
|
|
|
|
else
|
|
|
|
|
button:SetPoint('TOPRIGHT', _G.ProfessionsFrame.CraftingPage.CreateButton, 'TOPLEFT')
|
|
|
|
|
end
|
|
|
|
|
button:SetScript('OnClick', function()
|
|
|
|
|
CraftRecipe(_G.ProfessionsFrame.CraftingPage.SchematicForm:GetRecipeInfo().recipeID)
|
|
|
|
|
UseItemByName(38682)
|
|
|
|
|
end)
|
|
|
|
|
button:SetMotionScriptsWhileDisabled(true)
|
|
|
|
|
|
|
|
|
|
local function UpdateScrollButton(frame)
|
|
|
|
|
if not frame.SchematicForm then return end
|
|
|
|
|
if not Pr:IsSkillMine() then _G.SLE_EnchScrollButton:Hide() return end
|
|
|
|
|
|
|
|
|
|
local skillInfo = C_TradeSkillUI.GetBaseProfessionInfo()
|
|
|
|
|
if Pr.baseTradeSkills.Enchanting ~= skillInfo.parentProfessionId and Pr.baseTradeSkills.Enchanting ~= skillInfo.professionID then
|
|
|
|
|
_G.SLE_EnchScrollButton:Hide()
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local recipeInfo = frame.SchematicForm:GetRecipeInfo()
|
|
|
|
|
|
|
|
|
|
if not recipeInfo then return end
|
|
|
|
|
if IsTradeSkillGuild() or IsTradeSkillLinked() then
|
|
|
|
|
_G.SLE_EnchScrollButton:Hide()
|
|
|
|
|
elseif recipeInfo.alternateVerb then
|
|
|
|
|
_G.SLE_EnchScrollButton:Show()
|
|
|
|
|
local scrollnum = GetItemCount(38682)
|
|
|
|
|
_G.SLE_EnchScrollButton:SetText(string.format('%s (%d)', L["Scroll"], scrollnum))
|
|
|
|
|
if recipeInfo.craftable and recipeInfo.learned and scrollnum > 0 then
|
|
|
|
|
_G.SLE_EnchScrollButton:Enable()
|
|
|
|
|
else
|
|
|
|
|
_G.SLE_EnchScrollButton:Disable()
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
_G.SLE_EnchScrollButton:Hide()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
hooksecurefunc(_G.ProfessionsFrame.CraftingPage, 'Refresh', UpdateScrollButton)
|
|
|
|
|
end
|