Skip to content

Commit 3c454d1

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

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
@@ -1371,6 +1371,27 @@ local function ItemLevelMaxPatternCheck(details, text)
13711371
return details.itemLevel and details.itemLevel >= tonumber(maxText)
13721372
end
13731373

1374+
local function AvgItemLevelPatternCheck(details, text)
1375+
if GetItemLevel(details) == false then
1376+
return false
1377+
end
1378+
1379+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1380+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1381+
1382+
if tonumber(diff) then
1383+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1384+
end
1385+
1386+
if op1 == "<" then
1387+
return details.itemLevel < avgIlvl
1388+
elseif op1 == ">" then
1389+
return details.itemLevel > avgIlvl
1390+
else
1391+
return details.itemLevel == avgIlvl
1392+
end
1393+
end
1394+
13741395
local function ExpansionPatternCheck(details, text)
13751396
local itemMajor, itemMinor, itemPatch = Syndicator.Search.GetExpansionInfo(details.itemID)
13761397
if not itemMajor then
@@ -1440,6 +1461,7 @@ local patterns = {
14401461
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
14411462
["^%>%d+$"] = ItemLevelMaxPatternCheck,
14421463
["^%<%d+$"] = ItemLevelMinPatternCheck,
1464+
["^[<>=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
14431465
["^%d+%.%d*%.?%d*$"] = ExpansionPatternCheck,
14441466
["^%>%d+%.%d*%.?%d*$"] = ExpansionMinPatternCheck,
14451467
["^%<%d+%.%d*%.?%d*$"] = ExpansionMaxPatternCheck,

0 commit comments

Comments
 (0)