@@ -1399,6 +1399,27 @@ local function ItemLevelMaxPatternCheck(details, text)
13991399 return details .itemLevel and details .itemLevel >= tonumber (maxText )
14001400end
14011401
1402+ local function AvgItemLevelPatternCheck (details , text )
1403+ if GetItemLevel (details ) == false then
1404+ return false
1405+ end
1406+
1407+ local op1 , op2 , diff = text :match (" ^([<>=]?)avgilvl([+-]?)(%d*)$" )
1408+ local avgIlvl = floor (GetAverageItemLevel () + 0.5 )
1409+
1410+ if tonumber (diff ) then
1411+ avgIlvl = avgIlvl + tonumber (diff ) * (op2 == " -" and - 1 or 1 )
1412+ end
1413+
1414+ if op1 == " <" then
1415+ return details .itemLevel < avgIlvl
1416+ elseif op1 == " >" then
1417+ return details .itemLevel > avgIlvl
1418+ else
1419+ return details .itemLevel == avgIlvl
1420+ end
1421+ end
1422+
14021423local function ExpansionPatternCheck (details , text )
14031424 local itemMajor , itemMinor , itemPatch = Syndicator .Search .GetExpansionInfo (details .itemID )
14041425 if not itemMajor then
@@ -1468,6 +1489,7 @@ local patterns = {
14681489 [" ^%d+%-%d+$" ] = ItemLevelRangePatternCheck ,
14691490 [" ^%>%d+$" ] = ItemLevelMaxPatternCheck ,
14701491 [" ^%<%d+$" ] = ItemLevelMinPatternCheck ,
1492+ [" ^[<>=]?avgilvl[+-]?%d*$" ] = AvgItemLevelPatternCheck ,
14711493 [" ^%d+%.%d*%.?%d*$" ] = ExpansionPatternCheck ,
14721494 [" ^%>%d+%.%d*%.?%d*$" ] = ExpansionMinPatternCheck ,
14731495 [" ^%<%d+%.%d*%.?%d*$" ] = ExpansionMaxPatternCheck ,
0 commit comments