Files
Andrew6810 8ad40722a0 Fixes Enhanced character frame
Update nameplate coloring.
Fix world map blips
2022-10-30 16:41:03 -07:00

70 lines
1.8 KiB
Lua

local E, L, V, P, G = unpack(ElvUI)
local WMB = E:NewModule("Enhanced_WorldMapBlips")
local _G = _G
local UnitClass = UnitClass
local UnitInParty = UnitInParty
local BLIP_TEX_COORDS = { 0.5, 0.625, 0, 0.25 }
local BLIP_RAID_Y_OFFSET = 0.5
local function OnShowParty(self)
local _, class = UnitClass(self.unit)
if not class then return end
if self.class ~= class then
self.class = class
self.icon:SetTexCoord(unpack(BLIP_TEX_COORDS))
end
end
local function OnShowRaid(self)
if not self.unit then return end -- players in the battleground not in your raid
local _, class = UnitClass(self.unit)
if not class then return end
local inParty = UnitInParty(self.unit)
if self.class ~= class or self.inParty ~= inParty then
self.class = class
self.inParty = inParty
if inParty then
self.icon:SetTexCoord(unpack(BLIP_TEX_COORDS))
else
self.icon:SetTexCoord(BLIP_TEX_COORDS[1], BLIP_TEX_COORDS[2], BLIP_TEX_COORDS[3] + BLIP_RAID_Y_OFFSET, BLIP_TEX_COORDS[4] + BLIP_RAID_Y_OFFSET)
end
end
end
function WMB:Initialize()
local _, _, _, enabled, _, reason = GetAddOnInfo("Mapster")
if reason ~= "MISSED" and enabled then return end
local frame
for i = 1, MAX_PARTY_MEMBERS do
frame = _G["WorldMapParty"..i]
frame.icon:SetTexture("Interface\\Addons\\ElvUI_Enhanced\\Media\\Textures\\PartyRaidBlips")
frame:Size(24)
frame:HookScript("OnShow", OnShowParty)
end
for i = 1, MAX_RAID_MEMBERS do
frame = _G["WorldMapRaid"..i]
frame.icon:SetTexture("Interface\\Addons\\ElvUI_Enhanced\\Media\\Textures\\PartyRaidBlips")
frame:Size(24)
frame:HookScript("OnShow", OnShowRaid)
end
Minimap:SetClassBlipTexture("Interface\\Addons\\ElvUI_Enhanced\\Media\\Textures\\PartyRaidBlips")
end
local function InitializeCallback()
WMB:Initialize()
end
E:RegisterModule(WMB:GetName(), InitializeCallback)