if config.modules.minimap.enable ~= 1 then
function GetMinimapShape() return 'ROUND' end
return end
local configMain = config
local config = config.modules.minimap
SetDimensions(Minimap, 120, 120, 1, 1)
CreateBackdrop(Minimap)
Minimap:EnableMouse(true)
Minimap:SetMaskTexture(media.flat)
function fixTooltip(self)
if self ~= MiniMapMailFrame then
GameTooltip:SetOwner(self, 'ANCHOR_NONE')
end
GameTooltip:ClearAllPoints()
GameTooltip:SetPoint('TOPLEFT', Minimap, 'TOPRIGHT', 2, 0)
end
function dropdownOnClick(self)
GameTooltip:Hide()
DropDownList1:ClearAllPoints()
DropDownList1:SetPoint('TOPLEFT', Minimap, 'TOPRIGHT', 2, 0)
end
MiniMapBattlefieldFrame:HookScript('OnClick', dropdownOnClick)
Minimap:SetPoint(unpack(config.spawn))
----------------------------------
-- Hide Shit
----------------------------------
for _, hide in next,{MinimapBorder, MinimapBorderTop, MinimapZoomIn, MinimapZoomOut, MiniMapVoiceChatFrame,
GameTimeFrame, MinimapZoneTextButton, MiniMapTracking, MiniMapMailBorder, MiniMapBattlefieldBorder, MiniMapWorldMapButton, MiniMapLFGFrameBorder.
MinimapBackdrop,MinimapCluster,GameTimeFrame} do
hide:Hide()
end
WorldStateAlwaysUpFrame:SetPoint('TOP', Minimap, 'BOTTOM', 0, 10)
for i = 1, TicketStatusFrameButton:GetNumRegions() do
select(i, TicketStatusFrameButton:GetRegions()):Hide()
end
CreateBackdrop(TicketStatusFrameButton)
TicketStatusFrame:ClearAllPoints()
TicketStatusFrame:SetPoint('TOPRIGHT', Minimap, 'TOPRIGHT', 4, 0)
for i = 1, GhostFrame:GetNumRegions() do
select(i, GhostFrame:GetRegions()):Hide()
end
CreateBackdrop(GhostFrame)
GhostFrame:ClearAllPoints()
GhostFrame:SetPoint('BOTTOMLEFT', Minimap, 'TOPLEFT', 0, -4)
MinimapNorthTag:SetAlpha(0)
MiniMapMailFrame:ClearAllPoints()
MiniMapMailFrame:SetPoint("TOPRIGHT", Minimap, 3, 4)
MiniMapMailIcon:SetTexture('Interface\\Minimap\\TRACKING\\Mailbox')
MiniMapMailIcon:SetAllPoints(MiniMapMailFrame)
MiniMapMailIcon:SetRotation(rad(-36))
MiniMapMailBorder:Hide()
MiniMapMailFrame:ClearAllPoints()
MiniMapMailFrame:SetHeight(24)
MiniMapMailFrame:SetWidth(24)
MiniMapMailFrame:SetPoint(unpack(config.mailposition))
MiniMapMailFrame:HookScript('OnEnter', fixTooltip)
MiniMapBattlefieldFrame:ClearAllPoints()
MiniMapBattlefieldFrame:SetPoint("BOTTOMLEFT", Minimap, "BOTTOMLEFT", 2, 0)
MiniMapBattlefieldFrame:HookScript('OnEnter', fixTooltip)
MiniMapBattlefieldBorder:Hide()
GuildInstanceDifficulty:ClearAllPoints()
GuildInstanceDifficulty:SetScale(.5)
GuildInstanceDifficulty:SetPoint("BOTTOMRIGHT", Minimap, "BOTTOMRIGHT", -2,2)
GuildInstanceDifficulty:SetFrameStrata("HIGH")
MiniMapInstanceDifficulty:ClearAllPoints()
MiniMapInstanceDifficulty:SetParent(Minimap)
MiniMapInstanceDifficulty:SetPoint("TOPLEFT", Minimap, "TOPLEFT", 0, 0)
MiniMapLFGFrame:ClearAllPoints()
MiniMapLFGFrame:SetParent(Minimap)
MiniMapLFGFrame:SetPoint("BOTTOMLEFT", Minimap, "BOTTOMLEFT", 2, 1)
MiniMapLFGFrameBorder:Hide()
MiniMapLFGFrame:HookScript('OnEnter', function(self)
if GetLFGMode() == 'queued' then
LFGSearchStatus:Hide()
-- true, _, 2, 6, 16, _, 6, 17, 1, 3, "Belagerung des Wyrmruhtempels", 147, -1, 22, 646, 646, 15019.273
local data, _, tank, healer, dps, _, _, _, _, _, instance, _, tankWait, healerWait, damageWait, myWait, queuedTime = GetLFGQueueStats()
--data, _, tank, healer, dps, _, instance, _, tankWait, healerWait, damageWait = GetLFGQueueStats()
GameTooltip:SetOwner(self, 'ANCHOR_NONE')
GameTooltip:ClearLines()
if data then
GameTooltip:AddLine('In queue for:')
GameTooltip:AddLine(instance, 1, 1, 1)
GameTooltip:AddLine(' ')
local totalWait = tankWait + healerWait + damageWait
local dpsNumber = dps > 1 and ' ('..dps..')' or ''
GameTooltip:AddDoubleLine('Tanking Class', formatTime(tankWait), tank, 1, 0, configMain.API.colorGradient[(1 - (tankWait/totalWait))])
GameTooltip:AddDoubleLine('Healing Class', formatTime(healerWait), healer, 1, 0, configMain.API.colorGradient[(1 - (healerWait/totalWait))])
GameTooltip:AddDoubleLine('Damage Class'..dpsNumber, formatTime(damageWait), dps, 1, 0, configMain.API.colorGradient[(1 - (damageWait/totalWait))])
else
GameTooltip:AddLine('Acquiring LFG Queue Statistics')
GameTooltip:AddLine('One Moment Please')
end
GameTooltip:Show()
end
GameTooltip:ClearAllPoints()
GameTooltip:SetPoint('TOPLEFT', Minimap, 'TOPRIGHT', 2, 0)
end)
MiniMapLFGFrame:HookScript('OnClick', dropdownOnClick)
Minimap:EnableMouseWheel(true)
Minimap:SetScript('OnMouseWheel', function(self, delta)
if delta > 0 then
MinimapZoomIn:Click()
elseif delta < 0 then
MinimapZoomOut:Click()
end
end)
Minimap:SetScript('OnMouseUp', function (self, button)
if button == 'RightButton' then
ToggleDropDownMenu(1, nil, MiniMapTrackingDropDown, Minimap, (Minimap:GetWidth()+2), (Minimap:GetHeight()))
GameTooltip:Hide()
else
Minimap_OnClick(self)
end
end)
Minimap:SetScript('OnEnter', function(self)
if InCombatLockdown() then return end
collectgarbage('collect')
UpdateAddOnMemoryUsage()
local memory = {}
local total = 0
for i = 1, GetNumAddOns() do
if IsAddOnLoaded(i) then
local mem = GetAddOnMemoryUsage(i)
tinsert (memory, {select(2, GetAddOnInfo(i)), mem})
total = total + mem
end
end
table.sort(memory, function(a, b)
return a[2] > b[2]
end)
fixTooltip(self)
GameTooltip:AddDoubleLine('Total Usage', formatMemory(total), 1, 1, 1, 1, 1, 1)
GameTooltip:AddLine(' ')
for i = 1, #memory do
GameTooltip:AddDoubleLine(memory[i][1], formatMemory(memory[i][2]), 1, 1, 1, colorGradient(1 - memory[i][2]/total))
end
GameTooltip:Show()
end)
Minimap:SetScript('OnLeave', function() GameTooltip:Hide() end)
local function makeit(frame, txt, posx, posy)
frame:SetHeight(20)
frame:SetWidth(40)
frame:SetPoint("LEFT", Minimap, "TOPRIGHT", posx, posy)
frame:SetParent(Minimap)
txt:SetPoint("LEFT", frame, "LEFT", 0,0)
txt:SetFont(media.font, 11, "OUTLINE")
end
local Loc = CreateFrame("Frame", "Location", UIParent)
local LocText = Loc:CreateFontString(nil)
makeit(Loc, LocText, 6, -10)
local SubLoc = CreateFrame("Frame", "Sub Location", UIParent)
local SubText = SubLoc:CreateFontString(nil)
makeit(SubLoc, SubText, 6, -90)
local Lag = CreateFrame("Frame", "Lag", UIParent)
local LagText = Lag:CreateFontString(nil)
makeit(Lag, LagText, 6, -30)
local FPS = CreateFrame("Frame", "FPS", UIParent)
FPS:EnableMouse(true)
local FPSText = FPS:CreateFontString(nil)
makeit(FPS, FPSText, 6, -50)
LoadAddOn('Blizzard_TimeManager')
TimeManagerClockTicker:ClearAllPoints()
TimeManagerClockTicker:SetPoint(unpack(config.clockposition))
TimeManagerClockTicker:SetFont(media.font, 10)
TimeManagerClockTicker: SetJustifyH('RIGHT')
TimeManagerClockButton:ClearAllPoints()
TimeManagerClockButton:SetPoint("TOPLEFT", TimeManagerClockTicker, -3, 3)
TimeManagerClockButton:SetPoint("BOTTOMRIGHT", TimeManagerClockTicker, 3, -3)
select(1, TimeManagerClockButton:GetRegions()):Hide()
TimeManagerClockButton:HookScript('OnEnter', fixTooltip)
local colorlag = function(number)
if number <= 100 then
return '|cff00ff00'
elseif number <= 200 then
return '|cffffff00'
else
return '|cffff0000'
end
end
local colorfps = function(number)
if number >= 30 then
return '|cff00ff00'
elseif number < 30 then
return '|cffffff00'
elseif number < 15 then
return '|cffff0000'
end
end
local interval = 0
FPS:SetScript('OnUpdate', function(self, elapsed)
interval = interval - elapsed
hour, minute = GetGameTime()
if interval <= 0 then
FPSText:SetText(string.format('%s%d|r fps', colorfps(GetFramerate()), GetFramerate()))
LagText:SetText(string.format('%s%d|r ms', colorlag(select(3,GetNetStats())), select(3,GetNetStats())))
LocText:SetText(GetZoneText())
SubText:SetText(GetSubZoneText())
interval = .5
end
end)
local FormatMemoryNumber = function(number)
if number > 1000 then
return string.format('%.2f mb', number / 1000)
else
return string.format('%.1f kb', number)
end
end
function GetMinimapShape() return 'SQUARE' end