initial commit
This commit is contained in:
120
Modules/Blizzard/Blizzard.lua
Normal file
120
Modules/Blizzard/Blizzard.lua
Normal file
@@ -0,0 +1,120 @@
|
||||
local E, L, V, P, G = unpack(select(2, ...)); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local B = E:GetModule('Blizzard')
|
||||
local Skins = E:GetModule('Skins')
|
||||
local TT = E:GetModule('Tooltip')
|
||||
|
||||
local _G = _G
|
||||
local CreateFrame = CreateFrame
|
||||
local GetQuestLogRewardXP = GetQuestLogRewardXP
|
||||
local GetRewardXP = GetRewardXP
|
||||
local IsAddOnLoaded = IsAddOnLoaded
|
||||
local UnitXP = UnitXP
|
||||
local UnitXPMax = UnitXPMax
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
local C_QuestLog_ShouldShowQuestRewards = C_QuestLog.ShouldShowQuestRewards
|
||||
local C_QuestLog_GetSelectedQuest = C_QuestLog.GetSelectedQuest
|
||||
|
||||
--This changes the growth direction of the toast frame depending on position of the mover
|
||||
local function PostBNToastMove(mover)
|
||||
local x, y = mover:GetCenter();
|
||||
local screenHeight = E.UIParent:GetTop();
|
||||
local screenWidth = E.UIParent:GetRight()
|
||||
|
||||
local anchorPoint
|
||||
if y > (screenHeight / 2) then
|
||||
anchorPoint = (x > (screenWidth/2)) and 'TOPRIGHT' or 'TOPLEFT'
|
||||
else
|
||||
anchorPoint = (x > (screenWidth/2)) and 'BOTTOMRIGHT' or 'BOTTOMLEFT'
|
||||
end
|
||||
mover.anchorPoint = anchorPoint
|
||||
|
||||
_G.BNToastFrame:ClearAllPoints()
|
||||
_G.BNToastFrame:Point(anchorPoint, mover)
|
||||
end
|
||||
|
||||
function B:Initialize()
|
||||
B.Initialized = true
|
||||
|
||||
B:EnhanceColorPicker()
|
||||
B:KillBlizzard()
|
||||
B:DisableHelpTip()
|
||||
B:DisableNPE()
|
||||
B:AlertMovers()
|
||||
B:PositionCaptureBar()
|
||||
B:PositionDurabilityFrame()
|
||||
B:PositionGMFrames()
|
||||
B:SkinBlizzTimers()
|
||||
B:PositionVehicleFrame()
|
||||
B:PositionTalkingHead()
|
||||
B:Handle_LevelUpDisplay_BossBanner()
|
||||
B:Handle_UIWidgets()
|
||||
B:GarrisonDropDown()
|
||||
|
||||
if not IsAddOnLoaded('DugisGuideViewerZ') then
|
||||
B:MoveObjectiveFrame()
|
||||
end
|
||||
|
||||
if not IsAddOnLoaded('SimplePowerBar') then
|
||||
B:PositionAltPowerBar()
|
||||
B:SkinAltPowerBar()
|
||||
end
|
||||
|
||||
E:CreateMover(_G.LossOfControlFrame, 'LossControlMover', L["Loss Control Icon"])
|
||||
|
||||
-- Battle.Net Frame
|
||||
_G.BNToastFrame:Point('TOPRIGHT', _G.MMHolder or _G.Minimap, 'BOTTOMRIGHT', 0, -10)
|
||||
E:CreateMover(_G.BNToastFrame, 'BNETMover', L["BNet Frame"], nil, nil, PostBNToastMove)
|
||||
_G.BNToastFrame.mover:Size(_G.BNToastFrame:GetSize())
|
||||
TT:SecureHook(_G.BNToastFrame, 'SetPoint', 'RepositionBNET')
|
||||
|
||||
-- Quick Join Bug
|
||||
CreateFrame('Frame'):SetScript('OnUpdate', function()
|
||||
if _G.LFRBrowseFrame.timeToClear then
|
||||
_G.LFRBrowseFrame.timeToClear = nil
|
||||
end
|
||||
end)
|
||||
|
||||
--Add (+X%) to quest rewards experience text
|
||||
hooksecurefunc('QuestInfo_Display', function()
|
||||
local unitXP, unitXPMax = UnitXP('player'), UnitXPMax('player')
|
||||
if _G.QuestInfoFrame.questLog then
|
||||
local selectedQuest = C_QuestLog_GetSelectedQuest()
|
||||
if C_QuestLog_ShouldShowQuestRewards(selectedQuest) then
|
||||
local xp = GetQuestLogRewardXP()
|
||||
if xp and xp > 0 then
|
||||
local text = _G.MapQuestInfoRewardsFrame.XPFrame.Name:GetText()
|
||||
if text then _G.MapQuestInfoRewardsFrame.XPFrame.Name:SetFormattedText('%s (|cff4beb2c+%.2f%%|r)', text, (((unitXP + xp) / unitXPMax) - (unitXP / unitXPMax))*100) end
|
||||
end
|
||||
end
|
||||
else
|
||||
local xp = GetRewardXP()
|
||||
if xp and xp > 0 then
|
||||
local text = _G.QuestInfoXPFrame.ValueText:GetText()
|
||||
if text then _G.QuestInfoXPFrame.ValueText:SetFormattedText('%s (|cff4beb2c+%.2f%%|r)', text, (((unitXP + xp) / unitXPMax) - (unitXP / unitXPMax))*100) end
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
-- MicroButton Talent Alert
|
||||
local TalentMicroButtonAlert = _G.TalentMicroButtonAlert
|
||||
if TalentMicroButtonAlert then -- why do we need to check this?
|
||||
if E.global.general.showMissingTalentAlert then
|
||||
TalentMicroButtonAlert:ClearAllPoints()
|
||||
TalentMicroButtonAlert:Point('CENTER', E.UIParent, 'TOP', 0, -75)
|
||||
TalentMicroButtonAlert:StripTextures()
|
||||
TalentMicroButtonAlert.Arrow:Hide()
|
||||
TalentMicroButtonAlert.Text:FontTemplate()
|
||||
TalentMicroButtonAlert:CreateBackdrop('Transparent')
|
||||
Skins:HandleCloseButton(TalentMicroButtonAlert.CloseButton)
|
||||
|
||||
TalentMicroButtonAlert.tex = TalentMicroButtonAlert:CreateTexture(nil, 'OVERLAY')
|
||||
TalentMicroButtonAlert.tex:Point('RIGHT', -10, 0)
|
||||
TalentMicroButtonAlert.tex:SetTexture([[Interface\DialogFrame\UI-Dialog-Icon-AlertNew]])
|
||||
TalentMicroButtonAlert.tex:Size(32, 32)
|
||||
else
|
||||
TalentMicroButtonAlert:Kill() -- Kill it, because then the blizz default will show
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
E:RegisterModule(B:GetName())
|
||||
Reference in New Issue
Block a user