Files
ShaguTweaks-ClassicAPI/mods/loot-cursor.lua
T
2026-08-12 15:59:56 +02:00

39 lines
1.2 KiB
Lua

local _G = ShaguTweaks.GetGlobalEnv()
local T = ShaguTweaks.T
local module = ShaguTweaks:register({
title = T["Loot Cursor"],
description = T["Positions the loot window directly under your cursor so you can loot without moving your mouse."],
expansions = { ["vanilla"] = true },
category = T["General"],
enabled = true,
order = 44,
})
module.enable = function(self)
local loot = CreateFrame("Frame", "ShaguTweaksLoot", LootFrame)
loot:SetScript("OnUpdate", function()
if GetNumLootItems() == 0 then HideUIPanel(LootFrame) return end
local x, y = GetCursorPosition()
local s = LootFrame:GetEffectiveScale()
x, y = x / s, y / s
for i = 1, LOOTFRAME_NUMBUTTONS do
local button = getglobal("LootButton"..i)
if button:IsVisible() then
if loot.last_button ~= button then
local button_offset = (i-1) * button:GetHeight()
LootFrame:ClearAllPoints()
LootFrame:SetPoint("TOPLEFT", UIParent, "BOTTOMLEFT", x - 40, y + 100 + button_offset)
loot.last_button = button
end
return
end
end
end)
loot:SetScript("OnShow", function()
loot.last_button = nil
end)
end