Advertisement
Guest User

RuneHUD.lua

a guest
Jul 24th, 2016
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 25.00 KB | None | 0 0
  1. --CONFIG--------------------------------------------
  2. local x1 = 103      y1 = 23             -- Coordinate for the first blood and the second unholy rune
  3. local x2 = 72       y2 = 61             -- Coordinate for the second blood and the first unholy rune
  4. local x3 = 25       y3 = 80             -- Coordinate for the first and second frost runes
  5. local barY = 0                          -- Coordinate for the horizontal position of the runic power bar
  6. ---------------------------------------------------------
  7.  
  8. do
  9.     --Making the options frame
  10.     RuneHUD_OptionsFrame = CreateFrame( "Frame", "RuneHUD_OptionsFrame", UIParent );
  11.     RuneHUD_OptionsFrame:Hide()
  12.     RuneHUD_OptionsFrame:SetWidth(300)
  13.     RuneHUD_OptionsFrame:SetHeight(410)
  14.     RuneHUD_OptionsFrame:SetFrameStrata("DIALOG")
  15.     RuneHUD_OptionsFrame.name = "RuneHUD";
  16.     InterfaceOptions_AddCategory(RuneHUD_OptionsFrame);
  17.  
  18.     --Title and explanation texts
  19.     RuneHUD_OptionsFrame_Title = RuneHUD_OptionsFrame:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
  20.     RuneHUD_OptionsFrame_Title:SetPoint("TOPLEFT", 16, -16)
  21.     RuneHUD_OptionsFrame_Title:SetText("RuneHUD Options")
  22.    
  23.     RuneHUD_OptionsFrame_Runes = RuneHUD_OptionsFrame:CreateFontString(nil, "ARTWORK", "GameFontNormalSmall")
  24.     RuneHUD_OptionsFrame_Runes:SetPoint("TOPLEFT", 20, -40)
  25.     RuneHUD_OptionsFrame_Runes:SetText("Options for runes")
  26.    
  27.     RuneHUD_OptionsFrame_Bar = RuneHUD_OptionsFrame:CreateFontString(nil, "ARTWORK", "GameFontNormalSmall")
  28.     RuneHUD_OptionsFrame_Bar:SetPoint("TOPLEFT", 20, -270)
  29.     RuneHUD_OptionsFrame_Bar:SetText("Options for the runic power bar")
  30.    
  31.  
  32.     --RUNIC POWER BAR OPTIONS
  33.     --Bar on/off
  34.     RuneHUD_OptionsFrame_EnableBar = CreateFrame("CheckButton", "RuneHUD_OptionsFrame_EnableBar", RuneHUD_OptionsFrame, "InterfaceOptionsCheckButtonTemplate")
  35.     RuneHUD_OptionsFrame_EnableBar:SetPoint("TOPLEFT", 15, -290)
  36.     RuneHUD_OptionsFrame_EnableBar:SetHitRectInsets(0, -190, 0, 0)
  37.     RuneHUD_OptionsFrame_EnableBarText:SetText("Enable/disable the runic power bar")
  38.     RuneHUD_OptionsFrame_EnableBar:SetScript("OnClick", function(self)
  39.         if RHBarEnable == true then
  40.             RHBarEnable = false
  41.             RuneHUDFrame:UnregisterEvent("UNIT_POWER_FREQUENT")
  42.             RuneHUDBar:Hide()
  43.         else
  44.             RHBarEnable = true
  45.             RuneHUDFrame:RegisterUnitEvent("UNIT_POWER_FREQUENT","player")
  46.             if InCombatLockdown() == true then
  47.                 RuneHUDBar:Show()
  48.             elseif RHBarNoCombat == true then
  49.                 RuneHUDBar:Show()
  50.             end
  51.         end
  52.         self:SetChecked(RHBarEnable)
  53.     end)
  54.  
  55.  
  56.     --Bar out of combat
  57.     RuneHUD_OptionsFrame_BarNoCombat = CreateFrame("CheckButton", "RuneHUD_OptionsFrame_BarNoCombat", RuneHUD_OptionsFrame, "InterfaceOptionsCheckButtonTemplate")
  58.     RuneHUD_OptionsFrame_BarNoCombat:SetPoint("TOPLEFT", 300, -290)
  59.     RuneHUD_OptionsFrame_BarNoCombat:SetHitRectInsets(0, -190, 0, 0)
  60.     RuneHUD_OptionsFrame_BarNoCombatText:SetText("Show the runic power bar out of combat")
  61.     RuneHUD_OptionsFrame_BarNoCombat:SetScript("OnClick", function(self)
  62.         if RHBarNoCombat == true then
  63.             RHBarNoCombat = false
  64.             if InCombatLockdown() == false then
  65.                 RuneHUDBar:Hide()
  66.             end
  67.         else
  68.             RHBarNoCombat = true
  69.             RuneHUDBar:Show()
  70.         end
  71.         self:SetChecked(RHBarNoCombat)
  72.     end)
  73.    
  74.    
  75.     --Vertical position
  76.     RuneHUD_OptionsFrame_BarPosition = CreateFrame("Slider", "RuneHUD_OptionsFrame_BarPosition", RuneHUD_OptionsFrame, "OptionsSliderTemplate")
  77.     RuneHUD_OptionsFrame_BarPosition:SetWidth(580)
  78.     RuneHUD_OptionsFrame_BarPosition:SetHeight(16)
  79.     RuneHUD_OptionsFrame_BarPosition:SetPoint("TOPLEFT", 20, -335)
  80.     RuneHUD_OptionsFrame_BarPositionLow:SetText("-500")
  81.     RuneHUD_OptionsFrame_BarPositionHigh:SetText("500")
  82.     RuneHUD_OptionsFrame_BarPosition:SetMinMaxValues(-500,500)
  83.     RuneHUD_OptionsFrame_BarPosition:SetValueStep(1)
  84.     RuneHUD_OptionsFrame_BarPositionText:SetFormattedText("Vertical position", RuneHUD_OptionsFrame_BarPosition:GetValue())
  85.     RuneHUD_OptionsFrame_BarPosition:SetScript("OnValueChanged", function(self, value)
  86.         RuneHUD_OptionsFrame_EditBox_BarPosition:SetNumber(value)
  87.         RHBarPosition = value
  88.         RuneHUDBar:SetPoint("CENTER", UIParent, "CENTER", 0, RHBarPosition)
  89.     end)
  90.  
  91.     RuneHUD_OptionsFrame_EditBox_BarPosition = CreateFrame("EditBox", "RuneHUD_OptionsFrame_EditBox", RuneHUD_OptionsFrame_BarPosition, "InputBoxTemplate")
  92.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetPoint("CENTER", 0, -15)
  93.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetWidth(50)
  94.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetHeight(20)
  95.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetMaxLetters(4)
  96.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetAutoFocus(false)
  97.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetJustifyH("CENTER")
  98.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetScript("OnEnterPressed", function(self)
  99.         RHBarPosition = RuneHUD_OptionsFrame_EditBox_BarPosition:GetNumber()
  100.         RuneHUDBar:SetPoint("CENTER", UIParent, "CENTER", 0, RHBarPosition)
  101.         RuneHUD_OptionsFrame_EditBox_BarPosition:ClearFocus()
  102.     end)
  103.     RuneHUD_OptionsFrame_EditBox_BarPosition:SetScript("OnEscapePressed", function(self)
  104.         RuneHUD_OptionsFrame_EditBox_BarPosition:ClearFocus()
  105.         RuneHUD_OptionsFrame_EditBox_BarPosition:SetNumber(RHBarPosition)
  106.     end)
  107.    
  108.    
  109.     --Width
  110.     RuneHUD_OptionsFrame_BarWidth = CreateFrame("Slider", "RuneHUD_OptionsFrame_BarWidth", RuneHUD_OptionsFrame, "OptionsSliderTemplate")
  111.     RuneHUD_OptionsFrame_BarWidth:SetWidth(580)
  112.     RuneHUD_OptionsFrame_BarWidth:SetHeight(16)
  113.     RuneHUD_OptionsFrame_BarWidth:SetPoint("TOPLEFT", 20, -385)
  114.     RuneHUD_OptionsFrame_BarWidthLow:SetText("0")
  115.     RuneHUD_OptionsFrame_BarWidthHigh:SetText("500")
  116.     RuneHUD_OptionsFrame_BarWidth:SetMinMaxValues(0,500)
  117.     RuneHUD_OptionsFrame_BarWidth:SetValueStep(1)
  118.     RuneHUD_OptionsFrame_BarWidthText:SetFormattedText("Width", RuneHUD_OptionsFrame_BarWidth:GetValue())
  119.     RuneHUD_OptionsFrame_BarWidth:SetScript("OnValueChanged", function(self, value)
  120.         RuneHUD_OptionsFrame_EditBox_BarWidth:SetNumber(value)
  121.         RHBarWidth = value
  122.         RuneHUDBar:SetWidth(RHBarWidth)
  123.         RuneHUDBackground:SetWidth(RHBarWidth + 2)
  124.     end)
  125.    
  126.     RuneHUD_OptionsFrame_EditBox_BarWidth = CreateFrame("EditBox", "RuneHUD_OptionsFrame_EditBox", RuneHUD_OptionsFrame_BarWidth, "InputBoxTemplate")
  127.     RuneHUD_OptionsFrame_EditBox_BarWidth:SetPoint("CENTER", 0, -15)
  128.     RuneHUD_OptionsFrame_EditBox_BarWidth:SetWidth(50)
  129.     RuneHUD_OptionsFrame_EditBox_BarWidth:SetHeight(20)
  130.     RuneHUD_OptionsFrame_EditBox_BarWidth:SetMaxLetters(3)
  131.     RuneHUD_OptionsFrame_EditBox_BarWidth:SetAutoFocus(false)
  132.     RuneHUD_OptionsFrame_EditBox_BarWidth:SetJustifyH("CENTER")
  133.     RuneHUD_OptionsFrame_EditBox_BarWidth:SetScript("OnEnterPressed", function(self)
  134.         RHBarWidth = RuneHUD_OptionsFrame_EditBox_BarWidth:GetNumber()
  135.         RuneHUDBar:SetWidth(RHBarWidth)
  136.         RuneHUDBackground:SetWidth(RHBarWidth + 2)
  137.         RuneHUD_OptionsFrame_EditBox_BarWidth:ClearFocus()
  138.     end)
  139.         RuneHUD_OptionsFrame_EditBox_BarWidth:SetScript("OnEscapePressed", function(self)
  140.         RuneHUD_OptionsFrame_EditBox_BarWidth:ClearFocus()
  141.         RuneHUD_OptionsFrame_EditBox_BarWidth:SetNumber(RHBarWidth)
  142.     end)
  143.    
  144.    
  145.     --Height
  146.     RuneHUD_OptionsFrame_BarHeight = CreateFrame("Slider", "RuneHUD_OptionsFrame_BarHeight", RuneHUD_OptionsFrame, "OptionsSliderTemplate")
  147.     RuneHUD_OptionsFrame_BarHeight:SetWidth(580)
  148.     RuneHUD_OptionsFrame_BarHeight:SetHeight(16)
  149.     RuneHUD_OptionsFrame_BarHeight:SetPoint("TOPLEFT", 20, -435)
  150.     RuneHUD_OptionsFrame_BarHeightLow:SetText("0")
  151.     RuneHUD_OptionsFrame_BarHeightHigh:SetText("50")
  152.     RuneHUD_OptionsFrame_BarHeight:SetMinMaxValues(0,50)
  153.     RuneHUD_OptionsFrame_BarHeight:SetValueStep(1)
  154.     RuneHUD_OptionsFrame_BarHeightText:SetFormattedText("Height", RuneHUD_OptionsFrame_BarHeight:GetValue())
  155.     RuneHUD_OptionsFrame_BarHeight:SetScript("OnValueChanged", function(self, value)
  156.         RuneHUD_OptionsFrame_EditBox_BarHeight:SetNumber(value)
  157.         RHBarHeight = value
  158.         RuneHUDBar:SetHeight(RHBarHeight)
  159.         RuneHUDBackground:SetHeight(RHBarHeight + 2)
  160.         local fontSize = RHBarHeight-RHBarHeight*0,1
  161.         RunicPowerValue:SetFont("Fonts\\FRIZQT__.TTF", fontSize, "OUTLINE")
  162.     end)
  163.    
  164.     RuneHUD_OptionsFrame_EditBox_BarHeight = CreateFrame("EditBox", "RuneHUD_OptionsFrame_EditBox", RuneHUD_OptionsFrame_BarHeight, "InputBoxTemplate")
  165.     RuneHUD_OptionsFrame_EditBox_BarHeight:SetPoint("CENTER", 0, -15)
  166.     RuneHUD_OptionsFrame_EditBox_BarHeight:SetWidth(50)
  167.     RuneHUD_OptionsFrame_EditBox_BarHeight:SetHeight(20)
  168.     RuneHUD_OptionsFrame_EditBox_BarHeight:SetMaxLetters(2)
  169.     RuneHUD_OptionsFrame_EditBox_BarHeight:SetAutoFocus(false)
  170.     RuneHUD_OptionsFrame_EditBox_BarHeight:SetJustifyH("CENTER")
  171.     RuneHUD_OptionsFrame_EditBox_BarHeight:SetScript("OnEnterPressed", function(self)
  172.         RHBarHeight = RuneHUD_OptionsFrame_EditBox_BarHeight:GetNumber()
  173.         RuneHUDBar:SetHeight(RHBarHeight)
  174.         RuneHUDBackground:SetHeight(RHBarHeight + 2)
  175.         RuneHUD_OptionsFrame_EditBox_BarHeight:ClearFocus()
  176.         local fontSize = RHBarHeight-RHBarHeight*0,1
  177.         RunicPowerValue:SetFont("Fonts\\FRIZQT__.TTF", fontSize, "OUTLINE")
  178.     end)
  179.         RuneHUD_OptionsFrame_EditBox_BarHeight:SetScript("OnEscapePressed", function(self)
  180.         RuneHUD_OptionsFrame_EditBox_BarHeight:ClearFocus()
  181.         RuneHUD_OptionsFrame_EditBox_BarHeight:SetNumber(RHBarHeight)
  182.     end)
  183.  
  184.    
  185.     --RUNE OPTIONS
  186.     --Scaling
  187.     RuneHUD_OptionsFrame_Scale = CreateFrame("Slider", "RuneHUD_OptionsFrame_Scale", RuneHUD_OptionsFrame, "OptionsSliderTemplate")
  188.     RuneHUD_OptionsFrame_Scale:SetWidth(580)
  189.     RuneHUD_OptionsFrame_Scale:SetHeight(16)
  190.     RuneHUD_OptionsFrame_Scale:SetPoint("TOPLEFT", 20, -60)
  191.     RuneHUD_OptionsFrame_ScaleLow:SetText("0.1")
  192.     RuneHUD_OptionsFrame_ScaleHigh:SetText("2")
  193.     RuneHUD_OptionsFrame_Scale:SetMinMaxValues(0.1,2)
  194.     RuneHUD_OptionsFrame_Scale:SetValueStep(.1)
  195.     RuneHUD_OptionsFrame_ScaleText:SetFormattedText("Scale", RuneHUD_OptionsFrame_Scale:GetValue())
  196.     RuneHUD_OptionsFrame_Scale:SetScript("OnValueChanged", function(self, value)
  197.         RuneHUD_OptionsFrame_EditBox_Scale:SetNumber(value)
  198.         RHScale = value
  199.         RuneFrame:SetScale(RHScale)
  200.     end)
  201.    
  202.     RuneHUD_OptionsFrame_EditBox_Scale = CreateFrame("EditBox", "RuneHUD_OptionsFrame_EditBox", RuneHUD_OptionsFrame_Scale, "InputBoxTemplate")
  203.     RuneHUD_OptionsFrame_EditBox_Scale:SetPoint("CENTER", 0, -15)
  204.     RuneHUD_OptionsFrame_EditBox_Scale:SetWidth(50)
  205.     RuneHUD_OptionsFrame_EditBox_Scale:SetHeight(20)
  206.     RuneHUD_OptionsFrame_EditBox_Scale:SetMaxLetters(3)
  207.     RuneHUD_OptionsFrame_EditBox_Scale:SetAutoFocus(false)
  208.     RuneHUD_OptionsFrame_EditBox_Scale:SetJustifyH("CENTER")
  209.     RuneHUD_OptionsFrame_EditBox_Scale:SetScript("OnEnterPressed", function(self)
  210.         RHScale = RuneHUD_OptionsFrame_EditBox_Scale:GetNumber()
  211.         RuneHUD_OptionsFrame_Scale:SetValue(RHScale)
  212.         RuneFrame:SetScale(RHScale)
  213.         RuneHUD_OptionsFrame_EditBox_Scale:ClearFocus()
  214.     end)
  215.         RuneHUD_OptionsFrame_EditBox_Scale:SetScript("OnEscapePressed", function(self)
  216.         RuneHUD_OptionsFrame_EditBox_Scale:ClearFocus()
  217.         RuneHUD_OptionsFrame_EditBox_Scale:SetNumber(RHScale)
  218.     end)
  219.    
  220.    
  221.     --In of combat alpha
  222.     RuneHUD_OptionsFrame_CombatAlpha = CreateFrame("Slider", "RuneHUD_OptionsFrame_CombatAlpha", RuneHUD_OptionsFrame, "OptionsSliderTemplate")
  223.     RuneHUD_OptionsFrame_CombatAlpha:SetWidth(580)
  224.     RuneHUD_OptionsFrame_CombatAlpha:SetHeight(16)
  225.     RuneHUD_OptionsFrame_CombatAlpha:SetPoint("TOPLEFT", 20, -110)
  226.     RuneHUD_OptionsFrame_CombatAlphaLow:SetText("0.01")
  227.     RuneHUD_OptionsFrame_CombatAlphaHigh:SetText("1")
  228.     RuneHUD_OptionsFrame_CombatAlpha:SetMinMaxValues(0,1)
  229.     RuneHUD_OptionsFrame_CombatAlpha:SetValueStep(.01)
  230.     RuneHUD_OptionsFrame_CombatAlphaText:SetFormattedText("In combat alpha", RuneHUD_OptionsFrame_CombatAlpha:GetValue())
  231.     RuneHUD_OptionsFrame_CombatAlpha:SetScript("OnValueChanged", function(self, value)
  232.         RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetNumber(value)
  233.         RHCombatAlpha = value
  234.         if InCombatLockdown() == true then
  235.             RuneFrame:SetAlpha(RHCombatAlpha)
  236.         end
  237.     end)
  238.    
  239.     RuneHUD_OptionsFrame_EditBox_CombatAlpha = CreateFrame("EditBox", "RuneHUD_OptionsFrame_EditBox", RuneHUD_OptionsFrame_CombatAlpha, "InputBoxTemplate")
  240.     RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetPoint("CENTER", 0, -15)
  241.     RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetWidth(50)
  242.     RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetHeight(20)
  243.     RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetMaxLetters(4)
  244.     RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetAutoFocus(false)
  245.     RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetJustifyH("CENTER")
  246.     RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetScript("OnEnterPressed", function(self)
  247.         RHCombatAlpha = RuneHUD_OptionsFrame_EditBox_CombatAlpha:GetNumber()
  248.         RuneHUD_OptionsFrame_CombatAlpha:SetValue(RHCombatAlpha)
  249.         if InCombatLockdown() == true then
  250.             RuneFrame:SetAlpha(RHCombatAlpha)
  251.         end
  252.         RuneHUD_OptionsFrame_EditBox_CombatAlpha:ClearFocus()
  253.     end)
  254.         RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetScript("OnEscapePressed", function(self)
  255.         RuneHUD_OptionsFrame_EditBox_CombatAlpha:ClearFocus()
  256.         RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetNumber(RHCombatAlpha)
  257.     end)
  258.  
  259.  
  260.     --Out of combat alpha
  261.     RuneHUD_OptionsFrame_NoCombatAlpha = CreateFrame("Slider", "RuneHUD_OptionsFrame_NoCombatAlpha", RuneHUD_OptionsFrame, "OptionsSliderTemplate")
  262.     RuneHUD_OptionsFrame_NoCombatAlpha:SetWidth(580)
  263.     RuneHUD_OptionsFrame_NoCombatAlpha:SetHeight(16)
  264.     RuneHUD_OptionsFrame_NoCombatAlpha:SetPoint("TOPLEFT", 20, -160)
  265.     RuneHUD_OptionsFrame_NoCombatAlphaLow:SetText("0.01")
  266.     RuneHUD_OptionsFrame_NoCombatAlphaHigh:SetText("1")
  267.     RuneHUD_OptionsFrame_NoCombatAlpha:SetMinMaxValues(0,1)
  268.     RuneHUD_OptionsFrame_NoCombatAlpha:SetValueStep(.01)
  269.     RuneHUD_OptionsFrame_NoCombatAlphaText:SetFormattedText("Out of combat alpha", RuneHUD_OptionsFrame_NoCombatAlpha:GetValue())
  270.     RuneHUD_OptionsFrame_NoCombatAlpha:SetScript("OnValueChanged", function(self, value)
  271.         RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetNumber(value)
  272.         RHNoCombatAlpha = value
  273.         if InCombatLockdown() == false then
  274.             RuneFrame:SetAlpha(RHNoCombatAlpha)
  275.         end
  276.     end)
  277.    
  278.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha = CreateFrame("EditBox", "RuneHUD_OptionsFrame_EditBox", RuneHUD_OptionsFrame_NoCombatAlpha, "InputBoxTemplate")
  279.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetPoint("CENTER", 0, -15)
  280.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetWidth(50)
  281.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetHeight(20)
  282.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetMaxLetters(4)
  283.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetAutoFocus(false)
  284.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetJustifyH("CENTER")
  285.     RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetScript("OnEnterPressed", function(self)
  286.         RHNoCombatAlpha = RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:GetNumber()
  287.         RuneHUD_OptionsFrame_NoCombatAlpha:SetValue(RHNoCombatAlpha)
  288.         if InCombatLockdown() == false then
  289.             RuneFrame:SetAlpha(RHNoCombatAlpha)
  290.         end
  291.         RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:ClearFocus()
  292.     end)
  293.         RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetScript("OnEscapePressed", function(self)
  294.         RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:ClearFocus()
  295.         RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetNumber(RHNoCombatAlpha)
  296.     end)
  297.  
  298.     --Reset button
  299.     RuneHUD_OptionsFrame_ResetButton = CreateFrame("Button", "RuneHUD_OptionsFrame_ResetButton", RuneHUD_OptionsFrame, "UIPanelButtonTemplate")
  300.     RuneHUD_OptionsFrame_ResetButton:SetPoint("BOTTOMLEFT", 16, 16)
  301.     RuneHUD_OptionsFrame_ResetButton:SetSize(150,30)
  302.     RuneHUD_OptionsFrame_ResetButtonText:SetText("Reset")
  303.     RuneHUD_OptionsFrame_ResetButton:SetScript("OnClick", function(self,button,down)
  304.         StaticPopup_Show ("RUNEHUD_RESET_POPUP")
  305.     end)
  306.     --Setting values when opening options frame
  307.     function RuneHUD_Options_OnShow()
  308.         RuneHUD_OptionsFrame_Scale:SetValue(RHScale)
  309.         RuneHUD_OptionsFrame_BarNoCombat:SetChecked(RHBarNoCombat)
  310.         RuneHUD_OptionsFrame_EnableBar:SetChecked(RHBarEnable)
  311.         RuneHUD_OptionsFrame_BarPosition:SetValue(RHBarPosition)
  312.         RuneHUD_OptionsFrame_CombatAlpha:SetValue(RHCombatAlpha)
  313.         RuneHUD_OptionsFrame_NoCombatAlpha:SetValue(RHNoCombatAlpha)
  314.         RuneHUD_OptionsFrame_BarHeight:SetValue(RHBarHeight)
  315.         RuneHUD_OptionsFrame_BarWidth:SetValue(RHBarWidth)
  316.     end
  317.  
  318.     RuneHUD_OptionsFrame:SetScript("OnShow", RuneHUD_Options_OnShow)
  319.    
  320. end
  321.  
  322. --Adding slash command
  323. SLASH_RUNEHUD1, SLASH_RUNEHUD2 = '/runehud', '/rh';
  324. local function handler(msg, editbox)
  325. local command, rest = msg:match("^(%S*)%s*(.-)$")
  326.     InterfaceOptionsFrame_OpenToCategory(RuneHUD_OptionsFrame);
  327. end
  328. SlashCmdList["RUNEHUD"] = handler;
  329.  
  330. --Reset check
  331. StaticPopupDialogs["RUNEHUD_RESET_POPUP"] = {
  332.         text = "Are you sure that you want to reset all settings?",
  333.         button1 = "Yes",
  334.         button2 = "No",
  335.         OnAccept = function()
  336.             RHScale = 1.2
  337.             RHNoCombatAlpha = 0.10
  338.             RHCombatAlpha = 1
  339.             RHBarWidth = 250
  340.             RHBarHeight = 15
  341.             RHBarPosition = -145
  342.             RHBarEnable = true
  343.             RHBarNoCombat = false
  344.            
  345.             if InCombatLockdown() == false then
  346.                 RuneHUDBar:Hide()
  347.             end
  348.            
  349.             local fontSize = RHBarHeight-RHBarHeight*0,1
  350.             RuneHUD_OptionsFrame_BarNoCombat:SetChecked(RHBarNoCombat)
  351.             RuneHUD_OptionsFrame_EnableBar:SetChecked(RHBarEnable)
  352.             RuneHUD_OptionsFrame_Scale:SetValue(RHScale)
  353.             RuneHUD_OptionsFrame_EditBox_Scale:SetNumber(RHScale)
  354.             RuneHUD_OptionsFrame_BarPosition:SetValue(RHBarPosition)
  355.             RuneHUD_OptionsFrame_EditBox_BarPosition:SetNumber(RHBarPosition)
  356.             RuneHUD_OptionsFrame_CombatAlpha:SetValue(RHCombatAlpha)
  357.             RuneHUD_OptionsFrame_EditBox_CombatAlpha:SetNumber(RHCombatAlpha)
  358.             RuneHUD_OptionsFrame_NoCombatAlpha:SetValue(RHNoCombatAlpha)
  359.             RuneHUD_OptionsFrame_EditBox_NoCombatAlpha:SetNumber(RHNoCombatAlpha)
  360.             RuneHUD_OptionsFrame_BarHeight:SetValue(RHBarHeight)
  361.             RuneHUD_OptionsFrame_EditBox_BarHeight:SetNumber(RHBarHeight)
  362.             RunicPowerValue:SetFont("Fonts\\FRIZQT__.TTF", fontSize, "OUTLINE")
  363.             RuneHUD_OptionsFrame_BarWidth:SetValue(RHBarWidth)
  364.             RuneHUD_OptionsFrame_EditBox_BarWidth:SetNumber(RHBarWidth)
  365.         end,
  366.         timeout = 0,
  367.         whileDead = true,
  368.         hideOnEscape = true,
  369.         preferredIndex = 3,
  370. }
  371.  
  372.  
  373. local function RuneHUD_OnEvent(self, event, ...)
  374. local classLocal, class = UnitClass("player")
  375.     if class == "DEATHKNIGHT" then
  376.         --Update runic power bar
  377.         if event == "UNIT_POWER_FREQUENT" then
  378.             if RHBarEnable == true then
  379.                 local unitID, powerType = ...
  380.                 if powerType == "RUNIC_POWER" then
  381.                     RuneHUDBar:SetValue(UnitPower("player"))
  382.                     RunicPowerValue:SetText(UnitPower("player"))
  383.                 end
  384.             else
  385.                 RuneHUDFrame:UnregisterEvent("UNIT_POWER_FREQUENT")
  386.             end
  387.         elseif event == "ADDON_LOADED" then
  388.        
  389.             --Clearing the old position
  390.             RuneButtonIndividual1:ClearAllPoints()
  391.             RuneButtonIndividual2:ClearAllPoints()
  392.             RuneButtonIndividual3:ClearAllPoints()
  393.             RuneButtonIndividual4:ClearAllPoints()
  394.             RuneButtonIndividual5:ClearAllPoints()
  395.             RuneButtonIndividual6:ClearAllPoints()
  396.  
  397.             --Setting the new position, change the x,y  values in the end of each line to move the runes
  398.             RuneButtonIndividual1:SetPoint("CENTER", UIParent, "CENTER", -x1, y1)
  399.             RuneButtonIndividual2:SetPoint("CENTER", UIParent, "CENTER", -x2, y2)
  400.             RuneButtonIndividual5:SetPoint("CENTER", UIParent, "CENTER", -x3, y3)
  401.             RuneButtonIndividual6:SetPoint("CENTER", UIParent, "CENTER", x3, y3)
  402.             RuneButtonIndividual3:SetPoint("CENTER", UIParent, "CENTER", x2, y2)
  403.             RuneButtonIndividual4:SetPoint("CENTER", UIParent, "CENTER", x1, y1)
  404.  
  405.             --Making the runes click through
  406.             RuneButtonIndividual1:EnableMouse(false)
  407.             RuneButtonIndividual2:EnableMouse(false)
  408.             RuneButtonIndividual3:EnableMouse(false)
  409.             RuneButtonIndividual4:EnableMouse(false)
  410.             RuneButtonIndividual5:EnableMouse(false)
  411.             RuneButtonIndividual6:EnableMouse(false)
  412.            
  413.             --Scaling the runes
  414.             RuneFrame:SetScale(RHScale)
  415.  
  416.             --Fixing cooldown texture
  417.             RuneButtonIndividual1Cooldown:SetSwipeTexture('interface/CHARACTERFRAME/TempPortraitAlphaMaskSmall')
  418.             RuneButtonIndividual2Cooldown:SetSwipeTexture('interface/CHARACTERFRAME/TempPortraitAlphaMaskSmall')
  419.             RuneButtonIndividual3Cooldown:SetSwipeTexture('interface/CHARACTERFRAME/TempPortraitAlphaMaskSmall')
  420.             RuneButtonIndividual4Cooldown:SetSwipeTexture('interface/CHARACTERFRAME/TempPortraitAlphaMaskSmall')
  421.             RuneButtonIndividual5Cooldown:SetSwipeTexture('interface/CHARACTERFRAME/TempPortraitAlphaMaskSmall')
  422.             RuneButtonIndividual6Cooldown:SetSwipeTexture('interface/CHARACTERFRAME/TempPortraitAlphaMaskSmall')
  423.  
  424.            
  425.             --Setting variables for first login
  426.             if RHScale == nil then
  427.                 RHScale = 1.2
  428.             end
  429.             if RHNoCombatAlpha == nil then
  430.                 RHNoCombatAlpha = 0.10
  431.             end
  432.             if RHCombatAlpha == nil then
  433.                 RHCombatAlpha = 1
  434.             end
  435.             if RHBarWidth == nil then
  436.                 RHBarWidth = 250
  437.             end
  438.             if RHBarHeight == nil then
  439.                 RHBarHeight = 15
  440.             end
  441.             if RHBarEnable == nil then
  442.                 RHBarEnable = true
  443.             end
  444.             if RHBarPosition == nil then
  445.                 RHBarPosition = -145
  446.             end
  447.             if RHBarNoCombat == nil then
  448.                 RHBarNoCombat = false
  449.             end
  450.                
  451.        
  452.             -- Setting up the Power Bar upon log in
  453.             CreateFrame("StatusBar", "RuneHUDBar", UIParent)
  454.             RuneHUDBar:CreateFontString("RunicPowerValue", "OVERLAY")
  455.             RuneHUDBar:CreateTexture("RuneHUDBarDepleted", "BORDER")
  456.             RuneHUDBar:CreateTexture("RuneHUDBackground", "BACKGROUND")
  457.            
  458.             RuneHUDBar:SetPoint("CENTER", UIParent, "CENTER", barY, RHBarPosition)
  459.             RuneHUDBar:SetWidth(RHBarWidth)
  460.             RuneHUDBar:SetHeight(RHBarHeight)
  461.             if IsAddOnLoaded("ElvUI") == true then
  462.                 RuneHUDBar:SetStatusBarTexture("Interface\\AddOns\\ElvUI\\media\\textures\\smooth")
  463.             else
  464.                 RuneHUDBar:SetStatusBarTexture("Interface\\AddOns\\RuneHUD\\StatusBar")
  465.             end
  466.             RuneHUDBar:GetStatusBarTexture():SetHorizTile(false)
  467.             RuneHUDBar:GetStatusBarTexture():SetVertTile(false)
  468.             RuneHUDBar:SetStatusBarColor(0, 0.8, 1)
  469.             RuneHUDBar:SetMinMaxValues(0, UnitPowerMax("player"))
  470.             RuneHUDBar:SetValue(UnitPower("player"))
  471.  
  472.             RuneHUDBarDepleted:SetTexture("Interface\\AddOns\\RuneHUD\\Background")
  473.             RuneHUDBarDepleted:SetAllPoints(true)
  474.             RuneHUDBarDepleted:SetVertexColor(0.2, 0.2, 0.2)
  475.    
  476.             RuneHUDBackground:SetPoint("CENTER", RuneHUDBar, "CENTER", 0, 0)
  477.             RuneHUDBackground:SetWidth(RHBarWidth + 2)
  478.             RuneHUDBackground:SetHeight(RHBarHeight + 2)
  479.             RuneHUDBackground:SetTexture("Interface\\AddOns\\RuneHUD\\Background")
  480.             RuneHUDBackground:SetVertexColor(0, 0, 0)
  481.        
  482.             local fontSize = RHBarHeight-RHBarHeight*0,1
  483.             RunicPowerValue:SetPoint("CENTER", RuneHUDBar, "CENTER", 0, 0)
  484.             RunicPowerValue:SetFont("Fonts\\FRIZQT__.TTF", fontSize, "OUTLINE")
  485.             RunicPowerValue:SetJustifyH("CENTER")
  486.             RunicPowerValue:SetJustifyV("MIDDLE")
  487.             RunicPowerValue:SetTextColor(1, 1, 1)
  488.             RunicPowerValue:SetText(UnitPower("player"))
  489.            
  490.            
  491.         elseif event == "PLAYER_ENTERING_WORLD" then
  492.             if UnitInVehicleControlSeat("player") == false and UnitHasVehicleUI("player") == false then
  493.                 if InCombatLockdown() == false then
  494.                     if RHBarEnable == true and RHBarNoCombat == false then
  495.                         RuneHUDBar:Hide()
  496.                     elseif RHBarEnable == true and RHBarNoCombat == true then
  497.                         RuneHUDBar:Show()
  498.                     end
  499.  
  500.                     RuneFrame:SetAlpha(RHNoCombatAlpha)
  501.                     RuneFrame:SetFrameStrata("LOW")
  502.                 else
  503.                     if RHBarEnable == true then
  504.                         RuneHUDBar:Show()
  505.                     end
  506.                     RuneFrame:SetAlpha(RHCombatAlpha)
  507.                     RuneFrame:SetFrameStrata("HIGH")
  508.                 end
  509.             else
  510.                 RuneFrame:Hide()
  511.             end
  512.         --Leaving combat
  513.         elseif event == "PLAYER_REGEN_ENABLED" and UnitInVehicleControlSeat("player") == false and UnitHasVehicleUI("player") == false then
  514.             if RHBarEnable == true and RHBarNoCombat == false then
  515.                 RuneHUDBar:Hide()
  516.             end
  517.             RuneFrame:SetAlpha(RHNoCombatAlpha)
  518.             RuneFrame:SetFrameStrata("LOW")
  519.             RuneButtonIndividual1Cooldown:SetAlpha(1)
  520.             RuneButtonIndividual2Cooldown:SetAlpha(1)
  521.             RuneButtonIndividual3Cooldown:SetAlpha(1)
  522.             RuneButtonIndividual4Cooldown:SetAlpha(1)
  523.             RuneButtonIndividual5Cooldown:SetAlpha(1)
  524.             RuneButtonIndividual6Cooldown:SetAlpha(1)
  525.         --Entering combat
  526.         elseif event == "PLAYER_REGEN_DISABLED" and UnitInVehicleControlSeat("player") == false and UnitHasVehicleUI("player") == false then
  527.             if RHBarEnable == true then
  528.                 RuneHUDBar:Show()
  529.             end
  530.             RuneFrame:SetAlpha(RHCombatAlpha)
  531.             RuneFrame:SetFrameStrata("HIGH")
  532.             RuneButtonIndividual1Cooldown:SetAlpha(0.85)
  533.             RuneButtonIndividual2Cooldown:SetAlpha(0.85)
  534.             RuneButtonIndividual3Cooldown:SetAlpha(0.85)
  535.             RuneButtonIndividual4Cooldown:SetAlpha(0.85)
  536.             RuneButtonIndividual5Cooldown:SetAlpha(0.85)
  537.             RuneButtonIndividual6Cooldown:SetAlpha(0.85)
  538.         --Entering vehicle
  539.         elseif event == "UNIT_ENTERING_VEHICLE" and UnitInVehicleControlSeat("player") == true and  UnitHasVehicleUI("player") == true then
  540.             RuneFrame:Hide()
  541.             RuneHUDBar:Hide()
  542.         --Leaving vehicle
  543.         elseif event == "UNIT_EXITING_VEHICLE" then
  544.             RuneFrame:Show()
  545.             if InCombatLockdown() == true then
  546.                 RuneFrame:SetAlpha(RHCombatAlpha)
  547.                 if RHBarEnable == true then
  548.                     RuneHUDBar:Show()
  549.                 end
  550.             else
  551.                 RuneFrame:SetAlpha(RHNoCombatAlpha)
  552.                 if RHBarEnable == true and RHBarNoCombat == true then
  553.                     RuneHUDBar:Show()
  554.                 else
  555.                     RuneHUDBar:Hide()
  556.                 end
  557.             end
  558.         end
  559.     end
  560. end
  561.  
  562.  
  563. local f = CreateFrame("Frame","RuneHUDFrame",UIParent)
  564. f:RegisterEvent("PLAYER_REGEN_DISABLED")
  565. f:RegisterEvent("PLAYER_REGEN_ENABLED")
  566. f:RegisterEvent("PLAYER_ENTERING_WORLD")
  567. f:RegisterEvent("ADDON_LOADED")
  568. f:RegisterUnitEvent("UNIT_EXITING_VEHICLE","player")
  569. f:RegisterUnitEvent("UNIT_ENTERING_VEHICLE","player")
  570. f:RegisterUnitEvent("UNIT_POWER_FREQUENT","player")
  571. f:SetScript("OnEvent", RuneHUD_OnEvent)
  572. RuneFrame:SetParent("RuneHUDFrame")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement