Mercurial > wow > askmrrobot
comparison Import.lua @ 185:a7f2ba17c39a v90
Shadowlands pre-patch update.
| author | yellowfive |
|---|---|
| date | Tue, 13 Oct 2020 10:49:07 -0700 |
| parents | 5c586ff5fee5 |
| children | 4aeedce4c995 |
comparison
equal
deleted
inserted
replaced
| 184:f374d84470db | 185:a7f2ba17c39a |
|---|---|
| 132 local prevGemId = 0 | 132 local prevGemId = 0 |
| 133 local prevEnchantId = 0 | 133 local prevEnchantId = 0 |
| 134 local prevUpgradeId = 0 | 134 local prevUpgradeId = 0 |
| 135 local prevBonusId = 0 | 135 local prevBonusId = 0 |
| 136 local prevLevel = 0 | 136 local prevLevel = 0 |
| 137 local prevAzeriteId = 0 | 137 --local prevAzeriteId = 0 |
| 138 local digits = { | 138 local digits = { |
| 139 ["-"] = true, | 139 ["-"] = true, |
| 140 ["0"] = true, | 140 ["0"] = true, |
| 141 ["1"] = true, | 141 ["1"] = true, |
| 142 ["2"] = true, | 142 ["2"] = true, |
| 153 if itemString == endToken then | 153 if itemString == endToken then |
| 154 break | 154 break |
| 155 elseif itemString ~= "" and itemString ~= "_" then | 155 elseif itemString ~= "" and itemString ~= "_" then |
| 156 local tokens = {} | 156 local tokens = {} |
| 157 local bonusIds = {} | 157 local bonusIds = {} |
| 158 local azerite = {} | 158 --local azerite = {} |
| 159 local hasBonuses = false | 159 local hasBonuses = false |
| 160 local hasAzerites = false | 160 --local hasAzerites = false |
| 161 local token = "" | 161 local token = "" |
| 162 local prop = "i" | 162 local prop = "i" |
| 163 local tokenComplete = false | 163 local tokenComplete = false |
| 164 for j = 1, string.len(itemString) do | 164 for j = 1, string.len(itemString) do |
| 165 local c = string.sub(itemString, j, j) | 165 local c = string.sub(itemString, j, j) |
| 187 val = val + prevGemId | 187 val = val + prevGemId |
| 188 prevGemId = val | 188 prevGemId = val |
| 189 elseif prop == "e" then | 189 elseif prop == "e" then |
| 190 val = val + prevEnchantId | 190 val = val + prevEnchantId |
| 191 prevEnchantId = val | 191 prevEnchantId = val |
| 192 elseif prop == "a" then | 192 --elseif prop == "a" then |
| 193 val = val + prevAzeriteId | 193 -- val = val + prevAzeriteId |
| 194 prevAzeriteId = val | 194 -- prevAzeriteId = val |
| 195 end | 195 end |
| 196 | 196 |
| 197 if prop == "b" then | 197 if prop == "b" then |
| 198 table.insert(bonusIds, val) | 198 table.insert(bonusIds, val) |
| 199 hasBonuses = true | 199 hasBonuses = true |
| 200 elseif prop == "a" then | 200 --elseif prop == "a" then |
| 201 table.insert(azerite, val) | 201 -- table.insert(azerite, val) |
| 202 hasAzerites = true | 202 -- hasAzerites = true |
| 203 else | 203 else |
| 204 tokens[prop] = val | 204 tokens[prop] = val |
| 205 end | 205 end |
| 206 | 206 |
| 207 token = "" | 207 token = "" |
| 235 | 235 |
| 236 if hasBonuses then | 236 if hasBonuses then |
| 237 obj.bonusIds = bonusIds | 237 obj.bonusIds = bonusIds |
| 238 end | 238 end |
| 239 | 239 |
| 240 if hasAzerites then | 240 --if hasAzerites then |
| 241 obj.azerite = azerite | 241 -- obj.azerite = azerite |
| 242 end | 242 --end |
| 243 end | 243 end |
| 244 end | 244 end |
| 245 | 245 |
| 246 return importData | 246 return importData |
| 247 end | 247 end |
| 248 | 248 |
| 249 --[[ | |
| 249 local function parseEssenceList(essenceString) | 250 local function parseEssenceList(essenceString) |
| 250 local ret = {} | 251 local ret = {} |
| 251 | 252 |
| 252 local parts = { strsplit("_", essenceString) } | 253 local parts = { strsplit("_", essenceString) } |
| 253 for i = 1, #parts do | 254 for i = 1, #parts do |
| 254 local essence = { strsplit(".", parts[i]) } | 255 local essence = { strsplit(".", parts[i]) } |
| 255 table.insert(ret, { tonumber(essence[1]), tonumber(essence[2]), tonumber(essence[3]) }) | 256 table.insert(ret, { tonumber(essence[1]), tonumber(essence[2]), tonumber(essence[3]) }) |
| 257 end | |
| 258 | |
| 259 return ret | |
| 260 end | |
| 261 ]] | |
| 262 | |
| 263 local function parseSoulbinds(soulbindString) | |
| 264 local ret = {} | |
| 265 | |
| 266 local parts = { strsplit(",", soulbindString) } | |
| 267 for i = 1, #parts do | |
| 268 local node = { strsplit(".", parts[i]) } | |
| 269 table.insert(ret, { tonumber(node[1]), tonumber(node[2]), tonumber(node[3]) }) | |
| 256 end | 270 end |
| 257 | 271 |
| 258 return ret | 272 return ret |
| 259 end | 273 end |
| 260 | 274 |
| 351 return L.ImportErrorLevel | 365 return L.ImportErrorLevel |
| 352 end | 366 end |
| 353 end | 367 end |
| 354 | 368 |
| 355 -- if we make it this far, the data is valid, so read item information | 369 -- if we make it this far, the data is valid, so read item information |
| 356 local specSlot = tonumber(parts[11]) | 370 local specSlot = tonumber(parts[10]) |
| 357 | 371 |
| 358 local essences = parseEssenceList(parts[15]) | 372 local soulbindId = tonumber(parts[14]) |
| 373 local soulbindNodes = parseSoulbinds(parts[15]) | |
| 374 --local essences = parseEssenceList(parts[15]) | |
| 359 | 375 |
| 360 local importData = parseItemList(parts, 17, "n/a", true) | 376 local importData = parseItemList(parts, 17, "n/a", true) |
| 361 | 377 |
| 362 -- extra information contains setup id, display label, then extra enchant info | 378 -- extra information contains setup id, display label, then extra enchant info |
| 363 parts = { strsplit("@", data1[3]) } | 379 parts = { strsplit("@", data1[3]) } |
| 410 IsBib = string.sub(setupId, 1, 3) ~= "AMR", | 426 IsBib = string.sub(setupId, 1, 3) ~= "AMR", |
| 411 SpecSlot = tonumber(specSlot), | 427 SpecSlot = tonumber(specSlot), |
| 412 Id = setupId, | 428 Id = setupId, |
| 413 Label = setupName, | 429 Label = setupName, |
| 414 Gear = importData, | 430 Gear = importData, |
| 415 Essences = essences | 431 SoulbindId = soulbindId, |
| 432 SoulbindNodes = soulbindNodes | |
| 433 --Essences = essences | |
| 416 } | 434 } |
| 417 | 435 |
| 418 if not result.IsBib then | 436 if not result.IsBib then |
| 419 -- replace if this setup already exists | 437 -- replace if this setup already exists |
| 420 local key = -1 | 438 local key = -1 |
