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