Mercurial > wow > askmrrobot
comparison Export.lua @ 114:4cd98aa90d78 v53
Small update to crucible export.
author | yellowfive |
---|---|
date | Wed, 04 Oct 2017 01:08:56 -0700 |
parents | 57c6cac5143c |
children | bccce18e12cb |
comparison
equal
deleted
inserted
replaced
113:406f56dd065b | 114:4cd98aa90d78 |
---|---|
282 --talents = nil | 282 --talents = nil |
283 else | 283 else |
284 talents = C_ArtifactRelicForgeUI.GetSocketedRelicTalents(i) | 284 talents = C_ArtifactRelicForgeUI.GetSocketedRelicTalents(i) |
285 | 285 |
286 --[[ | 286 --[[ |
287 -- test data | |
287 if i == 1 then | 288 if i == 1 then |
288 talents = {} | 289 talents = {} |
289 table.insert(talents, { | 290 table.insert(talents, { |
290 powerID = 1739, | 291 powerID = 1739, |
291 isChosen = true | 292 isChosen = true |
366 end | 367 end |
367 | 368 |
368 if not dataz.Crucible then | 369 if not dataz.Crucible then |
369 dataz.Crucible = { | 370 dataz.Crucible = { |
370 Equipped = {}, | 371 Equipped = {}, |
371 Inventory = {} | 372 Previewed = {} |
372 } | 373 } |
373 end | 374 end |
374 | 375 |
375 local crucible = dataz.Crucible | 376 local crucible = dataz.Crucible |
376 crucible.Equipped = equipped | 377 crucible.Equipped = equipped |
377 if preview then | 378 if preview then |
378 crucible.Inventory[preview.ItemLink] = preview | 379 local previewKey = {} |
379 end | 380 table.insert(previewKey, preview.ItemLink) |
380 end | 381 for i,v in ipairs(preview.Powers) do |
382 table.insert(previewKey, v .. "=" .. tostring(preview.Active[i])) | |
383 end | |
384 previewKey = table.concat(previewKey, "_") | |
385 | |
386 crucible.Previewed[previewKey] = preview | |
387 end | |
388 end | |
389 end | |
390 | |
391 local function pruneCrucible() | |
392 if not Amr.db or not Amr.db.char or not Amr.db.char.Artifacts then return end | |
393 | |
394 local spec = GetSpecialization() | |
395 local dataz = Amr.db.char.Artifacts[spec] | |
396 if not dataz or not dataz.Crucible then return end | |
397 | |
398 local crucible = dataz.Crucible | |
399 | |
400 -- this was old format, transform to new format | |
401 if crucible.Inventory then | |
402 if not crucible.Previewed then | |
403 crucible.Previewed = {} | |
404 end | |
405 | |
406 for link,preview in pairs(crucible.Inventory) do | |
407 local previewKey = {} | |
408 table.insert(previewKey, preview.ItemLink) | |
409 for i,v in ipairs(preview.Powers) do | |
410 table.insert(previewKey, v .. "=" .. tostring(preview.Active[i])) | |
411 end | |
412 previewKey = table.concat(previewKey, "_") | |
413 | |
414 crucible.Previewed[previewKey] = preview | |
415 end | |
416 | |
417 crucible.Inventory = nil | |
418 end | |
419 | |
420 -- get a hash of every owned, but not-equipped item | |
421 local ownedItems = {} | |
422 if Amr.db.char.BagItems then | |
423 for i,link in ipairs(Amr.db.char.BagItems) do | |
424 ownedItems[link] = true | |
425 end | |
426 end | |
427 if Amr.db.char.BankItems then | |
428 for i,link in ipairs(Amr.db.char.BankItems) do | |
429 ownedItems[link] = true | |
430 end | |
431 end | |
432 if Amr.db.char.VoidItems then | |
433 for i,link in ipairs(Amr.db.char.VoidItems) do | |
434 ownedItems[link] = true | |
435 end | |
436 end | |
437 | |
438 -- prune out any previewed relics that the player no longer owns | |
439 if crucible.Previewed then | |
440 local toRemove = {} | |
441 for k,v in pairs(crucible.Previewed) do | |
442 if not ownedItems[v.ItemLink] then | |
443 table.insert(toRemove, k) | |
444 end | |
445 end | |
446 for i,v in ipairs(toRemove) do | |
447 crucible.Previewed[v] = nil | |
448 end | |
449 end | |
450 | |
381 end | 451 end |
382 | 452 |
383 local function scanArtifact() | 453 local function scanArtifact() |
384 if not Amr.db or not Amr.db.char or not Amr.db.char.Artifacts then return end | 454 if not Amr.db or not Amr.db.char or not Amr.db.char.Artifacts then return end |
385 | 455 |
452 scanBags() | 522 scanBags() |
453 | 523 |
454 -- scan current spec's talents just before exporting | 524 -- scan current spec's talents just before exporting |
455 scanTalents() | 525 scanTalents() |
456 | 526 |
527 -- prune crucible info just before each time we export | |
528 pruneCrucible() | |
529 | |
457 data.Talents = Amr.db.char.Talents | 530 data.Talents = Amr.db.char.Talents |
458 data.Artifacts = Amr.db.char.Artifacts | 531 data.Artifacts = Amr.db.char.Artifacts |
459 data.Equipped = Amr.db.char.Equipped | 532 data.Equipped = Amr.db.char.Equipped |
460 data.Reputations = getReputations() | 533 data.Reputations = getReputations() |
461 data.BagItems = Amr.db.char.BagItems | 534 data.BagItems = Amr.db.char.BagItems |