114 lines
4.1 KiB
Plaintext
114 lines
4.1 KiB
Plaintext
|
|
Functions:
|
|
|
|
local playerGearInfo = raidStatusLib.gearManager.GetPlayerGearTable(playerName)
|
|
playerGearInfo = {
|
|
.durability = number
|
|
.ilevel = number
|
|
.noGems = {socketId}
|
|
.noEnchants = {socketId}
|
|
}
|
|
|
|
local playerInformation = raidStatusLib.playerInfoManager.GetPlayerInfoTable(playerName)
|
|
playerInformation = {
|
|
.specId = number
|
|
.renown = number,
|
|
.talents = {talentId},
|
|
.conduits = {spellId},
|
|
}
|
|
|
|
local playerCooldows = raidStatusLib.cooldownManager.GetPlayerCooldownTable(playerName)
|
|
playerCooldows = {
|
|
[cooldownSpellId] = {
|
|
.timeLeft,
|
|
.charges
|
|
}
|
|
}
|
|
|
|
Callbacks available
|
|
|
|
"CooldownListUpdate": triggers when the lib received a list of cooldowns from another player in the group.
|
|
|
|
function MyAddonObject.OnReceiveCooldownListUpdate(unitName, cooldownTable)
|
|
--foreach player in the cooldown table
|
|
for unitName, playerCooldownTable in pairs(cooldownTable) do
|
|
for spellId, cooldownInfoTable in pairs(playerCooldownTable) do
|
|
--if timeLeft is zero, the spell is ready
|
|
local timeLeft = cooldownInfoTable[1]
|
|
--in some cases the spell is on cooldown but there's a charge to use
|
|
local charges = cooldownInfoTable[2]
|
|
end
|
|
end
|
|
|
|
--get the cooldowns for the unit which got the cooldown update
|
|
local unitCooldownTable = cooldownTable[unitName]
|
|
for spellId, cooldownInfoTable in pairs(unitCooldownTable) do
|
|
--if timeLeft is zero, the spell is ready
|
|
local timeLeft = cooldownInfoTable[1]
|
|
--in some cases the spell is on cooldown but there's a charge to use
|
|
local charges = cooldownInfoTable[2]
|
|
end
|
|
end
|
|
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownListUpdate", "OnReceiveCooldownListUpdate")
|
|
|
|
|
|
"CooldownUpdate": triggered when any unit in the group used a cooldown or the timeleft got an update
|
|
|
|
function MyAddonObject.OnReceiveCooldownUpdate(unitName, spellId, cooldownTimeLeft, charges, playerCooldownTable)
|
|
local unitCooldowns = cooldownTable[unitName]
|
|
local cooldownTimeLeft2 = unitCooldowns[spellId]
|
|
print("is iqual:", cooldownTimeLeft == cooldownTimeLeft2)
|
|
|
|
--get the cooldowns for the unit which got the cooldown update
|
|
for spellId, cooldownInfoTable in pairs(playerCooldownTable) do
|
|
--if timeLeft is zero, the spell is ready
|
|
local timeLeft = cooldownInfoTable[1]
|
|
--in some cases the spell is on cooldown but there's a charge to use
|
|
local charges = cooldownInfoTable[2]
|
|
end
|
|
end
|
|
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownUpdate", "OnReceiveCooldownUpdate")
|
|
|
|
|
|
"CooldownListWiped": when the list of cooldowns get a wipe, usually when the player leave the group
|
|
|
|
function MyAddonObject.OnCooldownListWipe(cooldownTable)
|
|
print ("is nil:", next(cooldownTable))
|
|
end
|
|
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownListWiped", "OnCooldownListWipe")
|
|
|
|
|
|
"GearDurabilityUpdate": when a player in the group revives, the gear durability is sent
|
|
|
|
function MyAddonObject.OnGearDurabilityUpdate(playerName, durability, gearTable)
|
|
print(playerName .. " durability is now " .. durability)
|
|
end
|
|
raidStatusLib.RegisterCallback(MyAddonObject, "GearDurabilityUpdate", "OnGearDurabilityUpdate")
|
|
|
|
|
|
"GearUpdate": when received an update from a player with all information about the gear
|
|
|
|
function MyAddonObject.OnGearUpdate(playerName, playerGearInfo, gearTable)
|
|
local itemLevelNumber = playerGearInfo.ilevel
|
|
local durabilityNumber = playerGearInfo.durability
|
|
--hasWeaponEnchant is 1 have enchant or 0 is don't
|
|
local hasWeaponEnchantNumber = playerGearInfo.weaponEnchant
|
|
local noEnchantTable = playerGearInfo.noEnchants
|
|
local noGemsTable = playerGearInfo.noGems
|
|
|
|
for index, slotIdWithoutEnchant in ipairs (noEnchantTable) do
|
|
end
|
|
|
|
for index, slotIdWithEmptyGemSocket in ipairs (noGemsTable) do
|
|
end
|
|
end
|
|
raidStatusLib.RegisterCallback(MyAddonObject, "GearUpdate", "OnGearUpdate")
|
|
|
|
|
|
"GearListWiped": when the list of gear get a wipe, usually when the player leave the group
|
|
|
|
function MyAddonObject.OnGearListWiped(gearTable)
|
|
print ("is nil:", next(gearTable))
|
|
end
|
|
raidStatusLib.RegisterCallback(MyAddonObject, "GearListWiped", "OnGearListWiped")
|