Skip to content

Commit ff7b533

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

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
@@ -1517,6 +1517,27 @@ local function ItemLevelRangePatternCheck(details, text)
15171517
return details.itemLevel and details.itemLevel >= tonumber(minText) and details.itemLevel <= tonumber(maxText)
15181518
end
15191519

1520+
local function AvgItemLevelPatternCheck(details, text)
1521+
if GetItemLevel(details) == false then
1522+
return false
1523+
end
1524+
1525+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1526+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1527+
1528+
if tonumber(diff) then
1529+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1530+
end
1531+
1532+
if op1 == "<" then
1533+
return details.itemLevel < avgIlvl
1534+
elseif op1 == ">" then
1535+
return details.itemLevel > avgIlvl
1536+
else
1537+
return details.itemLevel == avgIlvl
1538+
end
1539+
end
1540+
15201541
local function GetAuctionValue(details)
15211542
if details.auctionValue then
15221543
return details.auctionValue >= 0
@@ -1575,6 +1596,7 @@ end
15751596
local patterns = {
15761597
["^[><=]?%d+$"] = ItemLevelPatternCheck,
15771598
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
1599+
["^[><=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
15781600

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

0 commit comments

Comments
 (0)