Skip to content

Commit c11e3be

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

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
@@ -1238,6 +1238,27 @@ local function ItemLevelMaxPatternCheck(details, text)
12381238
return details.itemLevel and details.itemLevel >= tonumber(maxText)
12391239
end
12401240

1241+
local function AvgItemLevelPatternCheck(details, text)
1242+
if GetItemLevel(details) == false then
1243+
return false
1244+
end
1245+
1246+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1247+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1248+
1249+
if tonumber(diff) then
1250+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1251+
end
1252+
1253+
if op1 == "<" then
1254+
return details.itemLevel < avgIlvl
1255+
elseif op1 == ">" then
1256+
return details.itemLevel > avgIlvl
1257+
else
1258+
return details.itemLevel == avgIlvl
1259+
end
1260+
end
1261+
12411262
local function ExpansionPatternCheck(details, text)
12421263
local itemMajor, itemMinor, itemPatch = Syndicator.Search.GetExpansionInfo(details.itemID)
12431264
if not itemMajor then
@@ -1303,6 +1324,7 @@ local patterns = {
13031324
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
13041325
["^%>%d+$"] = ItemLevelMaxPatternCheck,
13051326
["^%<%d+$"] = ItemLevelMinPatternCheck,
1327+
["^[<>=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
13061328
["^%d+%.%d*%.?%d*$"] = ExpansionPatternCheck,
13071329
["^%>%d+%.%d*%.?%d*$"] = ExpansionMinPatternCheck,
13081330
["^%<%d+%.%d*%.?%d*$"] = ExpansionMaxPatternCheck,

0 commit comments

Comments
 (0)