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