Skip to content

Commit 69fa40e

Browse files
committed
Add search pattern to compare items against the character's average item level
1 parent 9b8bf57 commit 69fa40e

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
@@ -1455,6 +1455,27 @@ local function ItemLevelMaxPatternCheck(details, text)
14551455
return details.itemLevel and details.itemLevel >= tonumber(maxText)
14561456
end
14571457

1458+
local function AvgItemLevelPatternCheck(details, text)
1459+
if GetItemLevel(details) == false then
1460+
return false
1461+
end
1462+
1463+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1464+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1465+
1466+
if tonumber(diff) then
1467+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1468+
end
1469+
1470+
if op1 == "<" then
1471+
return details.itemLevel < avgIlvl
1472+
elseif op1 == ">" then
1473+
return details.itemLevel > avgIlvl
1474+
else
1475+
return details.itemLevel == avgIlvl
1476+
end
1477+
end
1478+
14581479
local function ExactKeywordCheck(details, text)
14591480
local keyword = text:match("^#(.*)$")
14601481
if KEYWORDS_TO_CHECK[keyword] ~= nil then
@@ -1470,6 +1491,7 @@ local patterns = {
14701491
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
14711492
["^%>%d+$"] = ItemLevelMaxPatternCheck,
14721493
["^%<%d+$"] = ItemLevelMinPatternCheck,
1494+
["^[<>=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
14731495
["^%#.*$"] = ExactKeywordCheck,
14741496
}
14751497

0 commit comments

Comments
 (0)