Mercurial > wow > askmrrobot
comparison AskMrRobot-Serializer/AskMrRobot-Serializer.lua @ 63:f1d5827dbde0 v24
tweak to read new item link format
author | yellowfive |
---|---|
date | Tue, 23 Jun 2015 12:56:57 -0700 |
parents | cf2b6b9a8337 |
children | e638168c3395 |
comparison
equal
deleted
inserted
replaced
62:8b37293e9ea5 | 63:f1d5827dbde0 |
---|---|
1 -- AskMrRobot-Serializer will serialize and communicate character data between users. | 1 -- AskMrRobot-Serializer will serialize and communicate character data between users. |
2 -- This is used primarily to associate character information to logs uploaded to askmrrobot.com. | 2 -- This is used primarily to associate character information to logs uploaded to askmrrobot.com. |
3 | 3 |
4 local MAJOR, MINOR = "AskMrRobot-Serializer", 23 | 4 local MAJOR, MINOR = "AskMrRobot-Serializer", 24 |
5 local Amr, oldminor = LibStub:NewLibrary(MAJOR, MINOR) | 5 local Amr, oldminor = LibStub:NewLibrary(MAJOR, MINOR) |
6 | 6 |
7 if not Amr then return end -- already loaded by something else | 7 if not Amr then return end -- already loaded by something else |
8 | 8 |
9 -- event and comm used for player snapshotting on entering combat | 9 -- event and comm used for player snapshotting on entering combat |
178 Amr.SPELL_ID_GLADIATOR_STANCE = 156291 | 178 Amr.SPELL_ID_GLADIATOR_STANCE = 156291 |
179 Amr.SPELL_ID_DEFENSIVE_STANCE = 71 | 179 Amr.SPELL_ID_DEFENSIVE_STANCE = 71 |
180 | 180 |
181 -- IDs of set tokens that we would care about in a player's inventory | 181 -- IDs of set tokens that we would care about in a player's inventory |
182 Amr.SetTokenIds = { | 182 Amr.SetTokenIds = { |
183 [127970] = true, | |
184 [127969] = true, | |
185 [127968] = true, | |
186 [127967] = true, | |
187 [127966] = true, | |
188 [127965] = true, | |
189 [127964] = true, | |
190 [127963] = true, | |
191 [127962] = true, | |
192 [127961] = true, | |
193 [127960] = true, | |
194 [127959] = true, | |
195 [127958] = true, | |
196 [127957] = true, | |
197 [127956] = true, | |
198 [127955] = true, | |
199 [127954] = true, | |
200 [127953] = true, | |
183 [120285] = true, | 201 [120285] = true, |
184 [120284] = true, | 202 [120284] = true, |
185 [120283] = true, | 203 [120283] = true, |
186 [120282] = true, | 204 [120282] = true, |
187 [120281] = true, | 205 [120281] = true, |
514 [65088] = true, | 532 [65088] = true, |
515 [65087] = true, | 533 [65087] = true, |
516 [63684] = true, | 534 [63684] = true, |
517 [63683] = true, | 535 [63683] = true, |
518 [63682] = true, | 536 [63682] = true, |
537 [51320] = true, | |
519 [45652] = true, | 538 [45652] = true, |
520 [45651] = true, | 539 [45651] = true, |
521 [45650] = true, | 540 [45650] = true, |
522 [45649] = true, | 541 [45649] = true, |
523 [45648] = true, | 542 [45648] = true, |
558 | 577 |
559 ---------------------------------------------------------------------------------------- | 578 ---------------------------------------------------------------------------------------- |
560 -- Public Utility Methods | 579 -- Public Utility Methods |
561 ---------------------------------------------------------------------------------------- | 580 ---------------------------------------------------------------------------------------- |
562 | 581 |
563 -- item link format: |cffa335ee|Hitem:itemID:enchant:gem1:gem2:gem3:gem4:suffixID:uniqueID:level:upgradeId:instanceDifficultyID:numBonusIDs:bonusID1:bonusID2...|h[item name]|h|r | 582 -- item link format: |cffa335ee|Hitem:itemID:enchant:gem1:gem2:gem3:gem4:suffixID:uniqueID:level:unknown:upgradeId:instanceDifficultyID:numBonusIDs:bonusID1:bonusID2...|h[item name]|h|r |
564 -- get an object with all of the parts of the item link format that we care about | 583 -- get an object with all of the parts of the item link format that we care about |
565 function Amr.ParseItemLink(itemLink) | 584 function Amr.ParseItemLink(itemLink) |
566 if not itemLink then return nil end | 585 if not itemLink then return nil end |
567 | 586 |
568 local str = string.match(itemLink, "|Hitem:([\-%d:]+)|") | 587 local str = string.match(itemLink, "|Hitem:([\-%d:]+)|") |
575 item.enchantId = tonumber(parts[2]) | 594 item.enchantId = tonumber(parts[2]) |
576 item.gemIds = { tonumber(parts[3]), tonumber(parts[4]), tonumber(parts[5]), tonumber(parts[6]) } | 595 item.gemIds = { tonumber(parts[3]), tonumber(parts[4]), tonumber(parts[5]), tonumber(parts[6]) } |
577 item.suffixId = math.abs(tonumber(parts[7])) -- convert suffix to positive number, that's what we use in our code | 596 item.suffixId = math.abs(tonumber(parts[7])) -- convert suffix to positive number, that's what we use in our code |
578 --item.uniqueId = tonumber(parts[8]) | 597 --item.uniqueId = tonumber(parts[8]) |
579 --item.level = tonumber(parts[9]) | 598 --item.level = tonumber(parts[9]) |
580 item.upgradeId = tonumber(parts[10]) | 599 item.upgradeId = tonumber(parts[11]) |
581 --item.difficultyId = tonumber(parts[11]) | 600 --item.difficultyId = tonumber(parts[12]) |
582 | 601 |
583 local numBonuses = tonumber(parts[12]) | 602 local numBonuses = tonumber(parts[13]) |
584 if numBonuses and numBonuses > 0 then | 603 if numBonuses and numBonuses > 0 then |
585 item.bonusIds = {} | 604 item.bonusIds = {} |
586 for i = 13, 12 + numBonuses do | 605 for i = 14, 13 + numBonuses do |
587 table.insert(item.bonusIds, tonumber(parts[i])) | 606 table.insert(item.bonusIds, tonumber(parts[i])) |
588 end | 607 end |
589 table.sort(item.bonusIds) | 608 table.sort(item.bonusIds) |
590 end | 609 end |
591 | 610 |