|
|
|
|
local GlobalAddonName, ExRT = ...
|
|
|
|
|
|
|
|
|
|
local ELib,L = ExRT.lib,ExRT.L
|
|
|
|
|
|
|
|
|
|
if ExRT.isClassic then return end
|
|
|
|
|
|
|
|
|
|
local sf
|
|
|
|
|
|
|
|
|
|
local function SF_Show()
|
|
|
|
|
if not sf then
|
|
|
|
|
sf = CreateFrame("ScrollFrame", nil, UIParent)
|
|
|
|
|
sf:SetPoint("CENTER")
|
|
|
|
|
sf:SetSize(500,500)
|
|
|
|
|
sf:Hide()
|
|
|
|
|
sf:SetFrameStrata("DIALOG")
|
|
|
|
|
|
|
|
|
|
sf.back = sf:CreateTexture(nil,"BACKGROUND")
|
|
|
|
|
sf.back:SetAtlas("UI-Frame-Venthyr-CardParchmentWider")
|
|
|
|
|
sf.back:SetSize(570,570)
|
|
|
|
|
sf.back:SetPoint("CENTER",0,0)
|
|
|
|
|
|
|
|
|
|
sf.close = CreateFrame("Button",nil,sf,"UIPanelCloseButton")
|
|
|
|
|
sf.close:SetPoint("TOPRIGHT",25,25)
|
|
|
|
|
|
|
|
|
|
sf.C = CreateFrame("Frame", nil, sf)
|
|
|
|
|
sf:SetScrollChild(sf.C)
|
|
|
|
|
sf.C:SetSize(500,500)
|
|
|
|
|
|
|
|
|
|
for i=1,4 do
|
|
|
|
|
local f = CreateFrame("Frame",nil,sf.C)
|
|
|
|
|
sf.C[i] = f
|
|
|
|
|
f:SetPoint("CENTER")
|
|
|
|
|
f:SetSize(1,1)
|
|
|
|
|
|
|
|
|
|
f.img = f:CreateTexture(nil,"BACKGROUND")
|
|
|
|
|
f.img:SetSize(350,350)
|
|
|
|
|
|
|
|
|
|
local group = f:CreateAnimationGroup()
|
|
|
|
|
group:SetScript('OnFinished', function() group:Play() end)
|
|
|
|
|
local rotation = group:CreateAnimation('Rotation')
|
|
|
|
|
rotation:SetDuration(0.000001)
|
|
|
|
|
rotation:SetEndDelay(2147483647)
|
|
|
|
|
rotation:SetOrigin('TOPLEFT', 0, 0)
|
|
|
|
|
rotation:SetDegrees(0)
|
|
|
|
|
group:Play()
|
|
|
|
|
|
|
|
|
|
f.r = rotation
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
sf.C[1].img:SetPoint("BOTTOMLEFT",0,0)
|
|
|
|
|
sf.C[1].img:SetAtlas("UI-Frame-KyrianChoice-ScrollingBG")
|
|
|
|
|
sf.C[1].r:SetOrigin('BOTTOMLEFT', 0, 0)
|
|
|
|
|
|
|
|
|
|
sf.C[2].img:SetPoint("TOPLEFT",0,0)
|
|
|
|
|
sf.C[2].img:SetAtlas("UI-Frame-NecrolordsChoice-ScrollingBG")
|
|
|
|
|
sf.C[2].r:SetOrigin('TOPLEFT', 0, 0)
|
|
|
|
|
|
|
|
|
|
sf.C[3].img:SetPoint("TOPRIGHT",0,0)
|
|
|
|
|
sf.C[3].img:SetAtlas("UI-Frame-NightFaeChoice-ScrollingBG")
|
|
|
|
|
sf.C[3].r:SetOrigin('TOPRIGHT', 0, 0)
|
|
|
|
|
|
|
|
|
|
sf.C[4].img:SetPoint("BOTTOMRIGHT",0,0)
|
|
|
|
|
sf.C[4].img:SetAtlas("UI-Frame-VenthyrChoice-ScrollingBG")
|
|
|
|
|
sf.C[4].r:SetOrigin('BOTTOMRIGHT', 0, 0)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sf.arrowf = CreateFrame("Frame",nil,sf)
|
|
|
|
|
sf.arrowf:SetAllPoints()
|
|
|
|
|
|
|
|
|
|
sf.arrow = sf.arrowf:CreateTexture()
|
|
|
|
|
sf.arrow:SetAtlas("NPE_ArrowDown",true)
|
|
|
|
|
sf.arrow:SetPoint("TOP",0,28)
|
|
|
|
|
|
|
|
|
|
sf.result = CreateFrame("Frame",nil,sf)
|
|
|
|
|
sf.result:SetAllPoints()
|
|
|
|
|
|
|
|
|
|
sf.result_icon = sf.result:CreateTexture()
|
|
|
|
|
sf.result_icon:SetSize(500,232)
|
|
|
|
|
sf.result_icon:SetPoint("CENTER",0,0)
|
|
|
|
|
|
|
|
|
|
local f2 = CreateFrame("Frame")
|
|
|
|
|
|
|
|
|
|
local t = 0
|
|
|
|
|
|
|
|
|
|
f2.anim = f2:CreateAnimationGroup()
|
|
|
|
|
f2.anim:SetLooping("NONE")
|
|
|
|
|
f2.anim.timer = f2.anim:CreateAnimation()
|
|
|
|
|
f2.anim.timer:SetDuration(7)
|
|
|
|
|
f2.anim.timer:SetSmoothing("OUT")
|
|
|
|
|
f2.anim.timer:SetScript("OnUpdate", function(self,elapsed)
|
|
|
|
|
local p = self:GetSmoothProgress()
|
|
|
|
|
for i=1,4 do
|
|
|
|
|
sf.C[i].r:SetDegrees(t*p)
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
local f3 = CreateFrame("Frame")
|
|
|
|
|
f3.anim = f3:CreateAnimationGroup()
|
|
|
|
|
f3.anim.timer = f3.anim:CreateAnimation()
|
|
|
|
|
f3.anim.timer:SetDuration(.5)
|
|
|
|
|
f3.anim.timer:SetSmoothing("IN")
|
|
|
|
|
f3.anim.timer:SetScript("OnUpdate", function(self,elapsed)
|
|
|
|
|
local p = self:GetSmoothProgress()
|
|
|
|
|
sf.result_icon:SetScale(2-p)
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
f2.anim:SetScript('OnFinished', function()
|
|
|
|
|
local covenantID = floor((t%360)/90)
|
|
|
|
|
sf.result_icon:SetTexCoord(0,1,0,1)
|
|
|
|
|
if covenantID == 0 then
|
|
|
|
|
sf.result_icon:SetAtlas("adventures-endcombat-kyrian")
|
|
|
|
|
elseif covenantID == 1 then
|
|
|
|
|
sf.result_icon:SetAtlas("adventures-endcombat-necrolord")
|
|
|
|
|
elseif covenantID == 2 then
|
|
|
|
|
sf.result_icon:SetTexture(3463360)
|
|
|
|
|
sf.result_icon:SetTexCoord(1/1024,501/1024,338/2048,570/2048)
|
|
|
|
|
elseif covenantID == 3 then
|
|
|
|
|
sf.result_icon:SetAtlas("adventures-endcombat-venthyr")
|
|
|
|
|
end
|
|
|
|
|
f3.anim:Play()
|
|
|
|
|
sf.result_icon:Show()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
sf:SetScript("OnMouseUp",function()
|
|
|
|
|
if f3.anim:IsPlaying() then
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
if f2.anim:IsPlaying() then
|
|
|
|
|
t = t + math.random(1000,3000)
|
|
|
|
|
return
|
|
|
|
|
end
|
|
|
|
|
local prev = t % 360
|
|
|
|
|
t = math.random(2000,5000)
|
|
|
|
|
f2.anim:Play()
|
|
|
|
|
sf.result_icon:Hide()
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
sf:SetScript("OnShow",function(self)
|
|
|
|
|
self:GetScript("OnMouseUp")(self)
|
|
|
|
|
end)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
sf:Show()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local helpButton
|
|
|
|
|
local helpButtonClick = function()
|
|
|
|
|
PlayerChoiceFrame:Hide()
|
|
|
|
|
SF_Show()
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local C_PlayerChoice_GetPlayerChoiceInfo = C_PlayerChoice.GetPlayerChoiceInfo or function()
|
|
|
|
|
local choiceInfo = C_PlayerChoice.GetCurrentPlayerChoiceInfo()
|
|
|
|
|
|
|
|
|
|
if choiceInfo then
|
|
|
|
|
choiceInfo.numOptions = 0
|
|
|
|
|
|
|
|
|
|
for _, optionInfo in ipairs(choiceInfo.options) do
|
|
|
|
|
choiceInfo.numOptions = choiceInfo.numOptions + #optionInfo.buttons
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
return choiceInfo
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
local loader = CreateFrame("Frame")
|
|
|
|
|
--loader:RegisterEvent("ADDON_LOADED")
|
|
|
|
|
loader:RegisterEvent("PLAYER_CHOICE_UPDATE")
|
|
|
|
|
loader:SetScript("OnEvent",function(self,event,arg)
|
|
|
|
|
if event == "ADDON_LOADED" then
|
|
|
|
|
if arg == "Blizzard_PlayerChoice" then
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
elseif event == "PLAYER_CHOICE_UPDATE" then
|
|
|
|
|
local choiceInfo = C_PlayerChoice_GetPlayerChoiceInfo()
|
|
|
|
|
if choiceInfo and choiceInfo.choiceID == 644 then
|
|
|
|
|
if not helpButton then
|
|
|
|
|
helpButton = CreateFrame("Button",nil,PlayerChoiceFrame,"UIPanelButtonTemplate")
|
|
|
|
|
helpButton:SetPoint("BOTTOM",PlayerChoiceFrame,"TOP",0,4)
|
|
|
|
|
helpButton:SetText("MRT: "..L.OtherCovHelper)
|
|
|
|
|
helpButton:SetSize(200,30)
|
|
|
|
|
helpButton:SetScale(1.3)
|
|
|
|
|
helpButton:SetScript("OnClick",helpButtonClick)
|
|
|
|
|
helpButton:Hide()
|
|
|
|
|
end
|
|
|
|
|
helpButton:Show()
|
|
|
|
|
elseif helpButton then
|
|
|
|
|
helpButton:Hide()
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SlashCmdList["covhelpSlash"] = function (arg)
|
|
|
|
|
SF_Show()
|
|
|
|
|
end
|
|
|
|
|
SLASH_covhelpSlash1 = "/covenanthelper"
|