---@type Tutorial local Tutorial = QuestieLoader:ImportModule("Tutorial") ---@type l10n local l10n = QuestieLoader:ImportModule("l10n") ---@type AvailableQuests local AvailableQuests = QuestieLoader:ImportModule("AvailableQuests") ---@type QuestieLib local QuestieLib = QuestieLoader:ImportModule("QuestieLib"); ---@return Frame function Tutorial.ShowRunes() local baseFrame = CreateFrame("Frame", "QuestieTutorialShowRunes", UIParent, BackdropTemplateMixin and "BackdropTemplate") baseFrame:SetSize(500, 240) baseFrame:SetPoint("CENTER", 0, 50) baseFrame:SetFrameStrata("HIGH") baseFrame:EnableMouse(true) baseFrame:SetMovable(true) baseFrame:RegisterForDrag("LeftButton") baseFrame:SetScript("OnDragStart", baseFrame.StartMoving) baseFrame:SetScript("OnDragStop", baseFrame.StopMovingOrSizing) baseFrame:SetBackdrop({ bgFile = "Interface\\Tooltips\\UI-Tooltip-Background", edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", tile = true, edgeSize = 16, insets = { left = 4, right = 4, top = 4, bottom = 4 }, }) baseFrame:SetBackdropColor(0, 0, 0, 1) baseFrame:SetBackdropBorderColor(1, 1, 1, 1) local titleText = baseFrame:CreateFontString(nil, "OVERLAY", "GameFontHighlight") titleText:SetText(l10n("Welcome to Questie")) titleText:SetFont(STANDARD_TEXT_FONT, 16) titleText:SetPoint("TOP", 0, -10) local customText = baseFrame:CreateFontString(nil, "OVERLAY", "GameFontNormal") customText:SetText( l10n("Questie can show you the locations of Phase 1 & 2 runes for your class.\n\n") .. l10n("Rune locations are marked with the following symbol:") ) customText:SetPoint("TOP", 0, -35) local showRunesIcon = baseFrame:CreateTexture(nil, "OVERLAY") showRunesIcon:SetTexture(QuestieLib.AddonPath.."Icons\\sod_rune.blp") showRunesIcon:SetSize(30, 30) showRunesIcon:SetPoint("TOP", 0, -85) local chooseText = baseFrame:CreateFontString(nil, "OVERLAY", "GameFontNormal") chooseText:SetText( l10n("Please choose if you want to see them or not\n") .. l10n("(This can always be changed in the Icons tab of the settings)") ) chooseText:SetPoint("TOP", 0, -125) local showPhase1RunesButton = CreateFrame("CheckButton", nil, baseFrame, "ChatConfigCheckButtonTemplate") showPhase1RunesButton.Text:SetText(" " .. l10n("Phase 1")) showPhase1RunesButton.Text:SetTextColor(1, 0.82, 0) showPhase1RunesButton:SetChecked(true) showPhase1RunesButton:SetPoint("BOTTOM", -30, 60) local showPhase2RunesButton = CreateFrame("CheckButton", nil, baseFrame, "ChatConfigCheckButtonTemplate") showPhase2RunesButton.Text:SetText(" " .. l10n("Phase 2")) showPhase2RunesButton.Text:SetTextColor(1, 0.82, 0) showPhase2RunesButton:SetChecked(true) showPhase2RunesButton:SetPoint("BOTTOM", -30, 40) local confirmButton = CreateFrame("Button", nil, baseFrame, "UIPanelButtonTemplate") confirmButton:SetText(DONE) confirmButton:SetSize(80, 24) confirmButton:SetPoint("BOTTOM", 0, 15) confirmButton:SetScript("OnClick", function() local showPhase1Runes = showPhase1RunesButton:GetChecked() local showPhase2Runes = showPhase2RunesButton:GetChecked() Questie.db.profile.showSoDRunes = showPhase1Runes or showPhase2Runes Questie.db.profile.tutorialShowRunesDone = true Questie.db.profile.showRunesOfPhase = { phase1 = showPhase1Runes, phase2 = showPhase2Runes, phase3 = false, phase4 = false, } AvailableQuests.CalculateAndDrawAll() baseFrame:Hide() end) end