Skip to content

Commit 1fca7aa

Browse files
committed
Fix trader crash
1 parent ce8bffa commit 1fca7aa

1 file changed

Lines changed: 18 additions & 13 deletions

File tree

src/Classes/TradeQueryRequests.lua

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -397,24 +397,27 @@ function TradeQueryRequestsClass:FetchResultBlock(url, callback)
397397
item.implicitMods = item.implicitMods or { }
398398
item.explicitMods = item.explicitMods or { }
399399

400-
t_insert(rawLines, "Implicits: " .. (#item.enchantMods + #item.runeMods + #item.implicitMods))
401-
for _, modLine in ipairs(item.enchantMods) do
402-
t_insert(rawLines, "{enchant}" .. escapeGGGString(modLine))
403-
end
404-
for _, modLine in ipairs(item.runeMods) do
405-
t_insert(rawLines, "{enchant}{rune}" .. escapeGGGString(modLine))
406-
end
407-
for _, modLine in ipairs(item.implicitMods) do
408-
t_insert(rawLines, escapeGGGString(modLine))
409-
end
410-
for _, modLine in ipairs(item.explicitMods) do
400+
local function processLine(modLine)
411401
local s = ""
412402
for flagName, flag in pairs(modLine.flags or {}) do
413403
if flag then
414404
s = s .. string.format("{%s}", flagName)
415405
end
416406
end
417-
t_insert(rawLines, s .. escapeGGGString(modLine.description))
407+
return escapeGGGString(modLine.description)
408+
end
409+
t_insert(rawLines, "Implicits: " .. (#item.enchantMods + #item.runeMods + #item.implicitMods))
410+
for _, modLine in ipairs(item.enchantMods or {}) do
411+
t_insert(rawLines, "{enchant}" .. processLine(modLine))
412+
end
413+
for _, modLine in ipairs(item.runeMods or {}) do
414+
t_insert(rawLines, "{enchant}{rune}" .. processLine(modLine))
415+
end
416+
for _, modLine in ipairs(item.implicitMods or {}) do
417+
t_insert(rawLines, processLine(modLine))
418+
end
419+
for _, modLine in ipairs(item.explicitMods or {}) do
420+
t_insert(rawLines, processLine(modLine))
418421
end
419422
if item.mirrored then
420423
t_insert(rawLines, "Mirrored")
@@ -428,14 +431,16 @@ function TradeQueryRequestsClass:FetchResultBlock(url, callback)
428431
t_insert(rawLines, "Sanctified")
429432
end
430433

434+
local pseudoMod = trade_entry.item.pseudoMods and trade_entry.item.pseudoMods[1]
435+
local pseudoModLine = pseudoMod and (pseudoMod.description or pseudoMod)
431436
table.insert(items, {
432437
amount = trade_entry.listing.price.amount,
433438
currency = trade_entry.listing.price.currency,
434439
priceType = trade_entry.listing.price.type,
435440
item_string = table.concat(rawLines, "\n"),
436441
whisper = trade_entry.listing.whisper,
437442
trader = trade_entry.listing.account.name,
438-
weight = trade_entry.item.pseudoMods and trade_entry.item.pseudoMods[1]:match("Sum: (.+)") or "0",
443+
weight = trade_entry.item.pseudoMods and pseudoModLine:match("Sum: (.+)") or "0",
439444
id = trade_entry.id
440445
})
441446
end

0 commit comments

Comments
 (0)