Logo

index : nswa

WoW addon which removes annoyances and adds QoL (for me)

  • summary
  • about
  • tree
  • log
  • branches
<< path: root/public/nswa.git/html/nswa_cursor.lua blob: 1169e1f2b1ab07144194008bf1544d8e0f4e955a [raw] [clear marker]

        
0
1
2local SIZE = 95
3local THROTTLE = 0.01
4local OFFSET_X = 0
5local OFFSET_Y = 0
6local COLOR = { r = 0, g = 1, b = 0.3, a = 0.8 }
7
8
9local circle = CreateFrame("Frame", "MouseCombatCircle", UIParent)
10circle:SetSize(SIZE, SIZE)
11circle:SetFrameStrata("TOOLTIP")
12circle:Hide()
13
14local tex = circle:CreateTexture(nil, "OVERLAY")
15tex:SetAllPoints()
16tex:SetTexture("Interface\\AddOns\\nswa\\assets\\circle.png")
17tex:SetVertexColor(COLOR.r, COLOR.g, COLOR.b, COLOR.a)
18
19local elapsed = 0
20circle:SetScript("OnUpdate", function(self, delta)
21 elapsed = elapsed + delta
22 if elapsed < THROTTLE then return end
23 elapsed = 0
24
25 local x, y = GetCursorPosition()
26 local scale = UIParent:GetScale()
27
28 x = (x / scale) + OFFSET_X
29 y = (y / scale) + OFFSET_Y
30
31 self:ClearAllPoints()
32 self:SetPoint("CENTER", UIParent, "BOTTOMLEFT", x, y)
33end)
34
35local f = CreateFrame("Frame")
36f:RegisterEvent("PLAYER_REGEN_DISABLED")
37f:RegisterEvent("PLAYER_REGEN_ENABLED")
38
39f:SetScript("OnEvent", function(_, event)
40 if event == "PLAYER_REGEN_DISABLED" then
41 circle:Show()
42 elseif event == "PLAYER_REGEN_ENABLED" then
43 circle:Hide()
44 end
45end)
46
47
Copyright 2026  E766CB298A6D1E64 | Git-Thing heavily inspired by cgit