Skip to content

Commit 2b1b02c

Browse files
committed
Add search pattern to compare items against the character's average item level
1 parent 04967a7 commit 2b1b02c

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
@@ -1343,6 +1343,27 @@ local function ItemLevelMaxPatternCheck(details, text)
13431343
return details.itemLevel and details.itemLevel >= tonumber(maxText)
13441344
end
13451345

1346+
local function AvgItemLevelPatternCheck(details, text)
1347+
if GetItemLevel(details) == false then
1348+
return false
1349+
end
1350+
1351+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1352+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1353+
1354+
if tonumber(diff) then
1355+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1356+
end
1357+
1358+
if op1 == "<" then
1359+
return details.itemLevel < avgIlvl
1360+
elseif op1 == ">" then
1361+
return details.itemLevel > avgIlvl
1362+
else
1363+
return details.itemLevel == avgIlvl
1364+
end
1365+
end
1366+
13461367
local function ExpansionPatternCheck(details, text)
13471368
local itemMajor, itemMinor, itemPatch = Syndicator.Search.GetExpansionInfo(details.itemID)
13481369
if not itemMajor then
@@ -1412,6 +1433,7 @@ local patterns = {
14121433
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
14131434
["^%>%d+$"] = ItemLevelMaxPatternCheck,
14141435
["^%<%d+$"] = ItemLevelMinPatternCheck,
1436+
["^[<>=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
14151437
["^%d+%.%d*%.?%d*$"] = ExpansionPatternCheck,
14161438
["^%>%d+%.%d*%.?%d*$"] = ExpansionMinPatternCheck,
14171439
["^%<%d+%.%d*%.?%d*$"] = ExpansionMaxPatternCheck,

0 commit comments

Comments
 (0)