Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions spec/System/TestCompareBuySimilar_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,22 @@ Implicits: 1
assert.equal(-100, entries[1].value)
assert.equal(50, entries[2].value)
end)
it("does not combine options", function()
local lifelessDiamond = new("Item"):Item([[
Test Subject
Onyx Amulet
Implicits: 2
Allocates Adamant (enchant)
Allocates Admonisher (enchant)
Can have 3 additional Enchantment Modifiers]])
local entries = bs.addModEntries(lifelessDiamond,
{ { list = lifelessDiamond.enchantModLines, type = "enchant" }, { list = lifelessDiamond.explicitModLines, type = "explicit" } })
assert.equal(3, #entries)
assert.equal("enchant.stat_2954116742", entries[1].tradeIds[1])
assert.equal(49416, entries[1].value)
assert.equal("enchant.stat_2954116742", entries[2].tradeIds[1])
assert.equal(50858, entries[2].value)
end)
end)
describe("popup URL controls", function()
local originalCopy
Expand Down
2 changes: 1 addition & 1 deletion src/Classes/CompareBuySimilar.lua
Original file line number Diff line number Diff line change
Expand Up @@ -214,7 +214,7 @@ function M.addModEntries(item, modTypeSources)
for _, existingFilter in ipairs(modEntries) do
-- check if all result trade ids are equal
local sameHashes = #entry.tradeIds > 0 and tableDeepEquals(entry.tradeIds, existingFilter.tradeIds)
if sameHashes and existingFilter.type == entry.type then
if sameHashes and existingFilter.type == entry.type and not entry.isOption then
if entry.value then
local value = (entry.invert ~= existingFilter.invert) and -entry.value or entry.value or 0
existingFilter.value = (existingFilter.value or 0) + value
Expand Down
Loading