Skip to content

Commit a3e2aa1

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

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
@@ -1399,6 +1399,27 @@ local function ItemLevelMaxPatternCheck(details, text)
13991399
return details.itemLevel and details.itemLevel >= tonumber(maxText)
14001400
end
14011401

1402+
local function AvgItemLevelPatternCheck(details, text)
1403+
if GetItemLevel(details) == false then
1404+
return false
1405+
end
1406+
1407+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1408+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1409+
1410+
if tonumber(diff) then
1411+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1412+
end
1413+
1414+
if op1 == "<" then
1415+
return details.itemLevel < avgIlvl
1416+
elseif op1 == ">" then
1417+
return details.itemLevel > avgIlvl
1418+
else
1419+
return details.itemLevel == avgIlvl
1420+
end
1421+
end
1422+
14021423
local function ExpansionPatternCheck(details, text)
14031424
local itemMajor, itemMinor, itemPatch = Syndicator.Search.GetExpansionInfo(details.itemID)
14041425
if not itemMajor then
@@ -1468,6 +1489,7 @@ local patterns = {
14681489
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
14691490
["^%>%d+$"] = ItemLevelMaxPatternCheck,
14701491
["^%<%d+$"] = ItemLevelMinPatternCheck,
1492+
["^[<>=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
14711493
["^%d+%.%d*%.?%d*$"] = ExpansionPatternCheck,
14721494
["^%>%d+%.%d*%.?%d*$"] = ExpansionMinPatternCheck,
14731495
["^%<%d+%.%d*%.?%d*$"] = ExpansionMaxPatternCheck,

0 commit comments

Comments
 (0)