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 |
