@@ -1371,6 +1371,27 @@ local function ItemLevelMaxPatternCheck(details, text)
13711371 return details .itemLevel and details .itemLevel >= tonumber (maxText )
13721372end
13731373
1374+ local function AvgItemLevelPatternCheck (details , text )
1375+ if GetItemLevel (details ) == false then
1376+ return false
1377+ end
1378+
1379+ local op1 , op2 , diff = text :match (" ^([<>=]?)avgilvl([+-]?)(%d*)$" )
1380+ local avgIlvl = floor (GetAverageItemLevel () + 0.5 )
1381+
1382+ if tonumber (diff ) then
1383+ avgIlvl = avgIlvl + tonumber (diff ) * (op2 == " -" and - 1 or 1 )
1384+ end
1385+
1386+ if op1 == " <" then
1387+ return details .itemLevel < avgIlvl
1388+ elseif op1 == " >" then
1389+ return details .itemLevel > avgIlvl
1390+ else
1391+ return details .itemLevel == avgIlvl
1392+ end
1393+ end
1394+
13741395local function ExpansionPatternCheck (details , text )
13751396 local itemMajor , itemMinor , itemPatch = Syndicator .Search .GetExpansionInfo (details .itemID )
13761397 if not itemMajor then
@@ -1440,6 +1461,7 @@ local patterns = {
14401461 [" ^%d+%-%d+$" ] = ItemLevelRangePatternCheck ,
14411462 [" ^%>%d+$" ] = ItemLevelMaxPatternCheck ,
14421463 [" ^%<%d+$" ] = ItemLevelMinPatternCheck ,
1464+ [" ^[<>=]?avgilvl[+-]?%d*$" ] = AvgItemLevelPatternCheck ,
14431465 [" ^%d+%.%d*%.?%d*$" ] = ExpansionPatternCheck ,
14441466 [" ^%>%d+%.%d*%.?%d*$" ] = ExpansionMinPatternCheck ,
14451467 [" ^%<%d+%.%d*%.?%d*$" ] = ExpansionMaxPatternCheck ,
0 commit comments