Skip to content

Commit ea1c357

Browse files
committed
Add search pattern to compare items against the character's average item level
1 parent b2b9373 commit ea1c357

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Search/CheckItem.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1561,6 +1561,27 @@ local function ItemLevelRangePatternCheck(details, text)
15611561
return details.itemLevel and details.itemLevel >= tonumber(minText) and details.itemLevel <= tonumber(maxText)
15621562
end
15631563

1564+
local function AvgItemLevelPatternCheck(details, text)
1565+
if GetItemLevel(details) == false then
1566+
return false
1567+
end
1568+
1569+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1570+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1571+
1572+
if tonumber(diff) then
1573+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1574+
end
1575+
1576+
if op1 == "<" then
1577+
return details.itemLevel < avgIlvl
1578+
elseif op1 == ">" then
1579+
return details.itemLevel > avgIlvl
1580+
else
1581+
return details.itemLevel == avgIlvl
1582+
end
1583+
end
1584+
15641585
local function GetAuctionValue(details)
15651586
if details.auctionValue then
15661587
return details.auctionValue >= 0
@@ -1619,6 +1640,7 @@ end
16191640
local patterns = {
16201641
["^[><=]?%d+$"] = ItemLevelPatternCheck,
16211642
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
1643+
["^[><=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
16221644

16231645
["^[><=]?%d+[gsc]$"] = AHValuePatternCheck,
16241646
["^%d+[gsc]%-%d+[gsc]$"] = AHValueRangePatternCheck,

0 commit comments

Comments
 (0)