@@ -1343,6 +1343,27 @@ local function ItemLevelMaxPatternCheck(details, text)
13431343 return details .itemLevel and details .itemLevel >= tonumber (maxText )
13441344end
13451345
1346+ local function AvgItemLevelPatternCheck (details , text )
1347+ if GetItemLevel (details ) == false then
1348+ return false
1349+ end
1350+
1351+ local op1 , op2 , diff = text :match (" ^([<>=]?)avgilvl([+-]?)(%d*)$" )
1352+ local avgIlvl = floor (GetAverageItemLevel () + 0.5 )
1353+
1354+ if tonumber (diff ) then
1355+ avgIlvl = avgIlvl + tonumber (diff ) * (op2 == " -" and - 1 or 1 )
1356+ end
1357+
1358+ if op1 == " <" then
1359+ return details .itemLevel < avgIlvl
1360+ elseif op1 == " >" then
1361+ return details .itemLevel > avgIlvl
1362+ else
1363+ return details .itemLevel == avgIlvl
1364+ end
1365+ end
1366+
13461367local function ExpansionPatternCheck (details , text )
13471368 local itemMajor , itemMinor , itemPatch = Syndicator .Search .GetExpansionInfo (details .itemID )
13481369 if not itemMajor then
@@ -1412,6 +1433,7 @@ local patterns = {
14121433 [" ^%d+%-%d+$" ] = ItemLevelRangePatternCheck ,
14131434 [" ^%>%d+$" ] = ItemLevelMaxPatternCheck ,
14141435 [" ^%<%d+$" ] = ItemLevelMinPatternCheck ,
1436+ [" ^[<>=]?avgilvl[+-]?%d*$" ] = AvgItemLevelPatternCheck ,
14151437 [" ^%d+%.%d*%.?%d*$" ] = ExpansionPatternCheck ,
14161438 [" ^%>%d+%.%d*%.?%d*$" ] = ExpansionMinPatternCheck ,
14171439 [" ^%<%d+%.%d*%.?%d*$" ] = ExpansionMaxPatternCheck ,
0 commit comments