You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.5 KiB
62 lines
1.5 KiB
|
2 years ago
|
--local _;
|
||
|
|
|
||
|
|
|
||
|
|
--
|
||
|
|
function VUHDO_sendCtraMessage(aMessage)
|
||
|
|
C_ChatInfo.SendAddonMessage("CTRA", aMessage, VUHDO_getAddOnDistribution());
|
||
|
|
end
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
-- return the ordinality of aUnits main tank entry, returns nil if unit is no main tank
|
||
|
|
local function VUHDO_getMainTankNumber(aUnit)
|
||
|
|
for tMTNumber, tMTName in pairs(VUHDO_MAINTANK_NAMES) do
|
||
|
|
if tMTName == VUHDO_RAID[aUnit]["name"] then return tMTNumber; end
|
||
|
|
end
|
||
|
|
|
||
|
|
return nil;
|
||
|
|
end
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
--
|
||
|
|
function VUHDO_ctraBroadCastMaintanks()
|
||
|
|
local tMtNumber;
|
||
|
|
for tUnit, tInfo in pairs(VUHDO_RAID) do
|
||
|
|
tMtNumber = VUHDO_getMainTankNumber(tUnit);
|
||
|
|
VUHDO_sendCtraMessage(tMtNumber and format("SET %d %s", tMtNumber, tInfo["name"]) or ("R " .. tInfo["name"]));
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
--
|
||
|
|
function VUHDO_parseCtraMessage(_, aMessage)
|
||
|
|
|
||
|
|
-- Setting main tanks
|
||
|
|
if "SET " == strsub(aMessage, 1, 4) then
|
||
|
|
local _, _, tNum, tName = strfind(aMessage, "^SET (%d+) (.+)$");
|
||
|
|
if tNum and tName then
|
||
|
|
for tKey, _ in pairs(VUHDO_MAINTANK_NAMES) do
|
||
|
|
if VUHDO_MAINTANK_NAMES[tKey] == tName then
|
||
|
|
VUHDO_MAINTANK_NAMES[tKey] = nil;
|
||
|
|
end
|
||
|
|
end
|
||
|
|
VUHDO_MAINTANK_NAMES[tonumber(tNum)] = tName;
|
||
|
|
VUHDO_normalRaidReload();
|
||
|
|
end
|
||
|
|
-- Removing main tanks
|
||
|
|
elseif "R " == strsub(aMessage, 1, 2) then
|
||
|
|
local _, _, tName = strfind(aMessage, "^R (.+)$");
|
||
|
|
if tName then
|
||
|
|
for tKey, _ in pairs(VUHDO_MAINTANK_NAMES) do
|
||
|
|
if VUHDO_MAINTANK_NAMES[tKey] == tName then
|
||
|
|
VUHDO_MAINTANK_NAMES[tKey] = nil;
|
||
|
|
break;
|
||
|
|
end
|
||
|
|
end
|
||
|
|
VUHDO_normalRaidReload();
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|