Skip to content

Commit 95eafb3

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

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
@@ -1568,6 +1568,27 @@ local function ItemLevelRangePatternCheck(details, text)
15681568
return details.itemLevel and details.itemLevel >= tonumber(minText) and details.itemLevel <= tonumber(maxText)
15691569
end
15701570

1571+
local function AvgItemLevelPatternCheck(details, text)
1572+
if GetItemLevel(details) == false then
1573+
return false
1574+
end
1575+
1576+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1577+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1578+
1579+
if tonumber(diff) then
1580+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1581+
end
1582+
1583+
if op1 == "<" then
1584+
return details.itemLevel < avgIlvl
1585+
elseif op1 == ">" then
1586+
return details.itemLevel > avgIlvl
1587+
else
1588+
return details.itemLevel == avgIlvl
1589+
end
1590+
end
1591+
15711592
local function GetAuctionValue(details)
15721593
if details.auctionValue then
15731594
return details.auctionValue >= 0
@@ -1626,6 +1647,7 @@ end
16261647
local patterns = {
16271648
["^[><=]?%d+$"] = ItemLevelPatternCheck,
16281649
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
1650+
["^[><=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
16291651

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

0 commit comments

Comments
 (0)