Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local font, fontsize, flags = [=[Interface\AddOns\oUF_Terenna\Font.ttf]=], 10, "OUTLINE"
- local texture = [=[Interface\ChatFrame\ChatFrameBackground]=]
- local backdrop = {
- bgFile = texture,
- insets = {top = -1, bottom = -1, left = -1, right = -1}
- }
- local tArchFrame = CreateFrame("Frame", "tArchFrame", UIParent)
- tArchFrame:SetSize(150, 331)
- tArchFrame:SetPoint("RIGHT", UIParent, "RIGHT")
- tArchFrame:SetBackdrop(backdrop)
- tArchFrame:SetBackdropColor(0, 0, 0, 1)
- local tArchTexture = tArchFrame:CreateTexture(nil, "BACKGROUND")
- tArchTexture:SetAllPoints()
- tArchTexture:SetTexture(texture)
- tArchTexture:SetVertexColor(0.2, 0.2, 0.2, 1)
- tArchFrame.t = tArchTexture
- local tArchTitle = tArchFrame:CreateFontString(nil, "OVERLAY")
- tArchTitle:SetSize(70, 10)
- tArchTitle:SetPoint("TOP", tArchFrame, "TOP", 0, -1)
- tArchTitle:SetFont(font, fontsize, flags)
- tArchTitle:SetTextColor(1, 1, 1)
- tArchTitle:SetJustifyH("CENTER")
- tArchTitle:SetJustifyV("CENTER")
- tArchTitle:SetText("tArchaeology")
- tArchFrame.title = tArchTitleFrame
- local tArchClose = CreateFrame("Frame", "tArchCloseFrame", tArchFrame)
- tArchClose:SetSize(10, 10)
- tArchClose:SetPoint("TOPRIGHT", tArchFrame, "TOPRIGHT", -2, 0)
- tArchClose.text = tArchClose:CreateFontString(nil, "OVERLAY")
- tArchClose.text:SetAllPoints()
- tArchClose.text:SetFont(font, fontsize, flags)
- tArchClose.text:SetTextColor(1, 1, 1)
- tArchClose.text:SetJustifyH("RIGHT")
- tArchClose.text:SetJustifyV("CENTER")
- tArchClose.text:SetText("x")
- tArchClose:HookScript("OnEnter", function()
- tArchClose.text:SetTextColor(0.8, 0.1, 0.1)
- end)
- tArchClose:HookScript("OnLeave", function()
- tArchClose.text:SetTextColor(1, 1, 1)
- end)
- tArchClose:SetScript("OnMouseUp", function()
- tArchFrame:Hide()
- end)
- local tArchProgressBarFrames = {}
- for i = 1, 15 do
- tArchProgressBarFrames[i] = CreateFrame("Frame", "ProgressBarFrame"..i, tArchFrame)
- tArchProgressBarFrames[i]:SetSize(tArchFrame:GetWidth()-4, 20)
- if i == 1 then
- tArchProgressBarFrames[i]:SetPoint("TOP", tArchTitle, "BOTTOM", 0, -4)
- else
- tArchProgressBarFrames[i]:SetPoint("TOP", tArchProgressBarFrames[i-1], "BOTTOM", 0, -1)
- end
- tArchProgressBarFrames[i].bar = CreateFrame("StatusBar", "ProgressBar"..i, tArchProgressBarFrames[i])
- tArchProgressBarFrames[i].bar:SetAllPoints()
- tArchProgressBarFrames[i].bar:SetMinMaxValues(0, 1)
- tArchProgressBarFrames[i].bar:SetValue(0)
- tArchProgressBarFrames[i].bar:SetStatusBarTexture(texture)
- tArchProgressBarFrames[i].bar:SetBackdrop(backdrop)
- tArchProgressBarFrames[i].bar:SetBackdropColor(0, 0, 0, 1)
- tArchProgressBarFrames[i].solveButton = CreateFrame("Button", "SolveButton"..i, tArchFrame, "SecureHandlerClickTemplate")
- tArchProgressBarFrames[i].solveButton:SetSize(tArchFrame:GetWidth()-4, 20)
- if i == 1 then
- tArchProgressBarFrames[i].solveButton:SetPoint("TOP", tArchFrame, "TOP", 0, -14)
- else
- tArchProgressBarFrames[i].solveButton:SetPoint("TOP", tArchFrame, "TOP", 0, -14 - ((i-1)*21))
- end
- tArchProgressBarFrames[i].bar.bg = tArchProgressBarFrames[i].bar:CreateTexture("ProgressBar"..i.."bg", "BORDER")
- tArchProgressBarFrames[i].bar.bg:SetAllPoints()
- tArchProgressBarFrames[i].bar.bg:SetTexture(texture)
- tArchProgressBarFrames[i].bar.bg:SetVertexColor(0.2, 0.2, 0.2)
- tArchProgressBarFrames[i].bar.raceText = tArchProgressBarFrames[i].bar:CreateFontString("ProgressBar"..i.."raceText", "OVERLAY")
- tArchProgressBarFrames[i].bar.raceText:SetSize(100, 20)
- tArchProgressBarFrames[i].bar.raceText:SetPoint("LEFT", tArchProgressBarFrames[i].bar, "LEFT", 1, 1)
- tArchProgressBarFrames[i].bar.raceText:SetFont(font, fontsize, flags)
- tArchProgressBarFrames[i].bar.raceText:SetJustifyH("LEFT")
- tArchProgressBarFrames[i].bar.raceText:SetJustifyV("CENTER")
- tArchProgressBarFrames[i].bar.raceText:SetTextColor(1, 1, 1)
- tArchProgressBarFrames[i].bar.solveStatus = tArchProgressBarFrames[i].bar:CreateFontString("ProgressBar"..i.."solveStatus", "OVERLAY")
- tArchProgressBarFrames[i].bar.solveStatus:SetSize(75, 20)
- tArchProgressBarFrames[i].bar.solveStatus:SetPoint("RIGHT", tArchProgressBarFrames[i].bar, "RIGHT", -1, 1)
- tArchProgressBarFrames[i].bar.solveStatus:SetFont(font, fontsize, flags)
- tArchProgressBarFrames[i].bar.solveStatus:SetJustifyH("RIGHT")
- tArchProgressBarFrames[i].bar.solveStatus:SetJustifyV("CENTER")
- tArchProgressBarFrames[i].bar.solveStatus:SetTextColor(1, 1, 1)
- end
- tArchFrame:SetScript("OnEvent", function(self, event)
- for i = 1, 15 do
- SetSelectedArtifact(i)
- local raceName, _, raceItemID, numFragmentsCollected, numFragmentsRequired = GetArchaeologyRaceInfo(i)
- local name, description, rarity, _, _, numSockets = GetSelectedArtifactInfo(i)
- local keyStoneCount = GetItemCount(raceItemID)
- local bonus
- if keyStoneCount > 0 then
- bonus = "|cff00cc00".."("..keyStoneCount..")"
- else
- bonus = ""
- end
- tArchProgressBarFrames[i].bar.solveStatus:SetText(numFragmentsCollected.."/"..numFragmentsRequired.. " "..bonus)
- tArchProgressBarFrames[i].bar:SetValue(numFragmentsCollected/numFragmentsRequired)
- if numFragmentsCollected > numFragmentsRequired then
- tArchProgressBarFrames[i].bar:SetStatusBarColor(0.1, 0.65, 0.1)
- elseif (i < 10 and (numFragmentsCollected + min(keyStoneCount*12, numSockets*12)) >= numFragmentsRequired) or (i > 9 and (numFragmentsCollected + min(keyStoneCount*20, numSockets*20)) >= numFragmentsRequired) then
- tArchProgressBarFrames[i].bar:SetStatusBarColor(0.65, 0.65, 0.1)
- else
- tArchProgressBarFrames[i].bar:SetStatusBarColor(0.65, 0.1, 0.1)
- end
- tArchProgressBarFrames[i].bar.raceText:SetText(raceName)
- tArchProgressBarFrames[i].solveButton:SetScript("OnClick", function(self, button)
- SetSelectedArtifact(i)
- if button == "LeftButton" then
- if (IsShiftKeyDown() and IsControlKeyDown()) then
- if CanSolveArtifact() then
- SolveArtifact()
- end
- elseif IsShiftKeyDown() then
- if (i < 10 and (numFragmentsCollected + min(keyStoneCount*12, numSockets*12)) >= numFragmentsRequired) or (i > 9 and (numFragmentsCollected + min(keyStoneCount*20, numSockets*20)) >= numFragmentsRequired) then
- for i = 1, min(numSockets, keyStoneCount) do
- if not ItemAddedToArtifact(i) then
- SocketItemToArtifact()
- end
- end
- SolveArtifact()
- end
- elseif GetNumArtifactsByRace(i) > 0 then
- DEFAULT_CHAT_FRAME:AddMessage("Your next "..raceName.." puzzle will create "..rewards[i][name]..".")
- end
- end
- end)
- end
- end)
- tArchFrame:RegisterEvent("CHAT_MSG_CURRENCY")
- tArchFrame:RegisterEvent("CHAT_MSG_LOOT")
- tArchFrame:RegisterEvent("ARTIFACT_DIG_SITE_UPDATED")
- tArchFrame:RegisterEvent("ARTIFACT_DIGSITE_COMPLETE")
- tArchFrame:RegisterEvent("ARTIFACT_COMPLETE")
- tArchFrame:RegisterEvent("ARTIFACT_UPDATE")
- tArchFrame:RegisterEvent("PLAYER_ENTERING_WORLD")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement