Skip to content

Commit 7ec2ea8

Browse files
committed
Add search pattern to compare items against the character's average item level
1 parent 00645df commit 7ec2ea8

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

1239+
local function AvgItemLevelPatternCheck(details, text)
1240+
if GetItemLevel(details) == false then
1241+
return false
1242+
end
1243+
1244+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1245+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1246+
1247+
if tonumber(diff) then
1248+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1249+
end
1250+
1251+
if op1 == "<" then
1252+
return details.itemLevel < avgIlvl
1253+
elseif op1 == ">" then
1254+
return details.itemLevel > avgIlvl
1255+
else
1256+
return details.itemLevel == avgIlvl
1257+
end
1258+
end
1259+
12391260
local function ExpansionPatternCheck(details, text)
12401261
local itemMajor, itemMinor, itemPatch = Syndicator.Search.GetExpansionInfo(details.itemID)
12411262
if not itemMajor then
@@ -1301,6 +1322,7 @@ local patterns = {
13011322
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
13021323
["^%>%d+$"] = ItemLevelMaxPatternCheck,
13031324
["^%<%d+$"] = ItemLevelMinPatternCheck,
1325+
["^[<>=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
13041326
["^%d+%.%d*%.?%d*$"] = ExpansionPatternCheck,
13051327
["^%>%d+%.%d*%.?%d*$"] = ExpansionMinPatternCheck,
13061328
["^%<%d+%.%d*%.?%d*$"] = ExpansionMaxPatternCheck,

0 commit comments

Comments
 (0)