Mercurial > wow > askmrrobot
comparison Export.lua @ 185:a7f2ba17c39a v90
Shadowlands pre-patch update.
author | yellowfive |
---|---|
date | Tue, 13 Oct 2020 10:49:07 -0700 |
parents | 3be9cc6f7d20 |
children | 4aeedce4c995 |
comparison
equal
deleted
inserted
replaced
184:f374d84470db | 185:a7f2ba17c39a |
---|---|
121 if itemLink ~= nil then | 121 if itemLink ~= nil then |
122 local itemData = Amr.Serializer.ParseItemLink(itemLink) | 122 local itemData = Amr.Serializer.ParseItemLink(itemLink) |
123 if itemData ~= nil then | 123 if itemData ~= nil then |
124 | 124 |
125 -- see if this is an azerite item and read azerite power ids | 125 -- see if this is an azerite item and read azerite power ids |
126 loc:SetBagAndSlot(bagId, slotId) | 126 --[[loc:SetBagAndSlot(bagId, slotId) |
127 if C_AzeriteEmpoweredItem.IsAzeriteEmpoweredItem(loc) then | 127 if C_AzeriteEmpoweredItem.IsAzeriteEmpoweredItem(loc) then |
128 local powers = Amr.ReadAzeritePowers(loc) | 128 local powers = Amr.ReadAzeritePowers(loc) |
129 if powers then | 129 if powers then |
130 itemData.azerite = powers | 130 itemData.azerite = powers |
131 end | 131 end |
132 end | 132 end]] |
133 | 133 |
134 if isBank then | 134 if isBank then |
135 _lastBankBagId = bagId | 135 _lastBankBagId = bagId |
136 _lastBankSlotId = slotId | 136 _lastBankSlotId = slotId |
137 end | 137 end |
257 end | 257 end |
258 | 258 |
259 end | 259 end |
260 ]] | 260 ]] |
261 | 261 |
262 local function scanSoulbinds() | |
263 if not C_Soulbinds then return end | |
264 | |
265 -- read which conduits this player has unlocked | |
266 Amr.db.char.UnlockedConduits = {} | |
267 | |
268 for t = 0,2 do | |
269 local conduits = C_Soulbinds.GetConduitCollection(t) | |
270 for i, conduit in ipairs(conduits) do | |
271 table.insert(Amr.db.char.UnlockedConduits, { conduit.conduitID, conduit.conduitRank }) | |
272 end | |
273 end | |
274 | |
275 if not Amr.db.char.ActiveSoulbinds then | |
276 Amr.db.char.ActiveSoulbinds = {} | |
277 end | |
278 | |
279 -- read the currently active soulbind for this spec | |
280 local specPos = GetSpecialization() | |
281 if specPos and specPos >= 1 and specPos <= 4 then | |
282 Amr.db.char.ActiveSoulbinds[specPos] = C_Soulbinds.GetActiveSoulbindID() or 0 | |
283 end | |
284 | |
285 -- update soulbind tree info for all soulbinds | |
286 Amr.db.char.Soulbinds = {} | |
287 | |
288 local covenantData = C_Covenants.GetCovenantData(C_Covenants.GetActiveCovenantID()) | |
289 | |
290 if covenantData and covenantData.soulbindIDs then | |
291 for i, soulbindId in ipairs(covenantData.soulbindIDs) do | |
292 local soulbindData = soulbindId and C_Soulbinds.GetSoulbindData(soulbindId) | |
293 local nodes = {} | |
294 local unlockedTier = 0 | |
295 | |
296 if soulbindData and soulbindData.tree and soulbindData.tree.nodes then | |
297 for i, node in ipairs(soulbindData.tree.nodes) do | |
298 if node.state == 3 then | |
299 nodes[node.row] = { soulbindId, node.row, node.column, node.conduitID, node.conduitRank } | |
300 end | |
301 if node.state > 0 then | |
302 unlockedTier = math.max(node.row, unlockedTier) | |
303 end | |
304 end | |
305 end | |
306 | |
307 Amr.db.char.Soulbinds[soulbindId] = { | |
308 UnlockedTier = unlockedTier, | |
309 Nodes = nodes | |
310 } | |
311 | |
312 end | |
313 end | |
314 | |
315 end | |
316 | |
317 --[[ | |
262 local function scanEssences() | 318 local function scanEssences() |
263 if not C_AzeriteEssence then return end | 319 if not C_AzeriteEssence then return end |
264 | 320 |
265 -- read which essences this player has unlocked | 321 -- read which essences this player has unlocked |
266 Amr.db.char.UnlockedEssences = {} | 322 Amr.db.char.UnlockedEssences = {} |
298 end | 354 end |
299 end | 355 end |
300 end | 356 end |
301 end | 357 end |
302 end | 358 end |
359 ]] | |
303 | 360 |
304 local function scanTalents() | 361 local function scanTalents() |
305 local specPos = GetSpecialization() | 362 local specPos = GetSpecialization() |
306 if not specPos or specPos < 1 or specPos > 4 then return end | 363 if not specPos or specPos < 1 or specPos > 4 then return end |
307 | 364 |
343 scanBags() | 400 scanBags() |
344 | 401 |
345 -- scan current spec's talents just before exporting | 402 -- scan current spec's talents just before exporting |
346 scanTalents() | 403 scanTalents() |
347 | 404 |
405 -- scan all soulbinds just before exporting | |
406 scanSoulbinds() | |
407 | |
348 -- scan current spec's essences just before exporting | 408 -- scan current spec's essences just before exporting |
349 scanEssences() | 409 --scanEssences() |
350 | 410 |
351 data.Talents = Amr.db.char.Talents | 411 data.Talents = Amr.db.char.Talents |
352 data.UnlockedEssences = Amr.db.char.UnlockedEssences | 412 data.UnlockedConduits = Amr.db.char.UnlockedConduits |
353 data.Essences = Amr.db.char.Essences | 413 data.ActiveSoulbinds = Amr.db.char.ActiveSoulbinds |
414 data.Soulbinds = Amr.db.char.Soulbinds | |
415 --data.UnlockedEssences = Amr.db.char.UnlockedEssences | |
416 --data.Essences = Amr.db.char.Essences | |
354 data.Equipped = Amr.db.char.Equipped | 417 data.Equipped = Amr.db.char.Equipped |
355 data.BagItems = Amr.db.char.BagItems | 418 data.BagItems = Amr.db.char.BagItems |
356 | 419 |
357 -- flatten bank data (which is stored by bag for more efficient updating) | 420 -- flatten bank data (which is stored by bag for more efficient updating) |
358 data.BankItems = {} | 421 data.BankItems = {} |
383 --Amr:AddEventHandler("VOID_STORAGE_DEPOSIT_UPDATE", scanVoid) | 446 --Amr:AddEventHandler("VOID_STORAGE_DEPOSIT_UPDATE", scanVoid) |
384 --Amr:AddEventHandler("VOID_STORAGE_UPDATE", scanVoid) | 447 --Amr:AddEventHandler("VOID_STORAGE_UPDATE", scanVoid) |
385 | 448 |
386 Amr:AddEventHandler("PLAYER_TALENT_UPDATE", scanTalents) | 449 Amr:AddEventHandler("PLAYER_TALENT_UPDATE", scanTalents) |
387 | 450 |
388 if C_AzeriteEssence then | 451 --if C_AzeriteEssence then |
389 Amr:AddEventHandler("AZERITE_ESSENCE_UPDATE", scanEssences) | 452 -- Amr:AddEventHandler("AZERITE_ESSENCE_UPDATE", scanEssences) |
390 end | 453 --end |
454 | |
455 if C_Soulbinds then | |
456 Amr:AddEventHandler("SOULBIND_ACTIVATED", scanSoulbinds) | |
457 end |