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