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.

56 lines
1.5 KiB

local addonName, addon = ...
-- Shaman Hex Tomes tab
HexTomesMixin = CreateFromMixins(ShapeshiftsMixin)
function HexTomesMixin:OnLoad()
if select(2, UnitClass("player")) ~= "SHAMAN" then return end
self.shapeshiftEntryFrames = {};
self.shapeshiftLayoutData = {};
if not self.numKnownShapeshifts then self.numKnownShapeshifts = 0 end
if not self.numPossibleShapeshifts then self.numPossibleShapeshifts = 0 end
-- Refer to comments in PolymorphsMixin:OnLoad
local name = GetSpellInfo(51514)
self.tabName = name
if not name then
local ticker = C_Timer.NewTicker(1, function()
name = GetSpellInfo(51514)
if name then
self.tabName = name
ticker:Cancel()
end
end)
end
addon.ParentMixin.OnLoad(self)
end
function HexTomesMixin:SortShapeshiftsIntoEquipmentBuckets()
-- Sort them into equipment buckets
local equipBuckets = {};
for _, shapeshiftData in pairs(addon.HexTomesDB) do
if not equipBuckets[1] then
equipBuckets[1] = {}
end
table.insert(equipBuckets[1], shapeshiftData)
if self:IsCollected(shapeshiftData) then
self.numKnownShapeshifts = self.numKnownShapeshifts + 1
end
self.numPossibleShapeshifts = self.numPossibleShapeshifts + 1
end
return equipBuckets;
end
function HexTomesMixin:IsCollected(data)
return IsPlayerSpell(data.spellID)
end