Skip to content

Commit e7b6405

Browse files
committed
Add search pattern to compare items against the character's average item level
1 parent 43cb728 commit e7b6405

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

Search/CheckItem.lua

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1411,6 +1411,27 @@ local function ItemLevelMaxPatternCheck(details, text)
14111411
return details.itemLevel and details.itemLevel >= tonumber(maxText)
14121412
end
14131413

1414+
local function AvgItemLevelPatternCheck(details, text)
1415+
if GetItemLevel(details) == false then
1416+
return false
1417+
end
1418+
1419+
local op1, op2, diff = text:match("^([<>=]?)avgilvl([+-]?)(%d*)$")
1420+
local avgIlvl = floor(GetAverageItemLevel() + 0.5)
1421+
1422+
if tonumber(diff) then
1423+
avgIlvl = avgIlvl + tonumber(diff) * (op2 == "-" and -1 or 1)
1424+
end
1425+
1426+
if op1 == "<" then
1427+
return details.itemLevel < avgIlvl
1428+
elseif op1 == ">" then
1429+
return details.itemLevel > avgIlvl
1430+
else
1431+
return details.itemLevel == avgIlvl
1432+
end
1433+
end
1434+
14141435
local function ExactKeywordCheck(details, text)
14151436
local keyword = text:match("^#(.*)$")
14161437
if KEYWORDS_TO_CHECK[keyword] ~= nil then
@@ -1426,6 +1447,7 @@ local patterns = {
14261447
["^%d+%-%d+$"] = ItemLevelRangePatternCheck,
14271448
["^%>%d+$"] = ItemLevelMaxPatternCheck,
14281449
["^%<%d+$"] = ItemLevelMinPatternCheck,
1450+
["^[<>=]?avgilvl[+-]?%d*$"] = AvgItemLevelPatternCheck,
14291451
["^%#.*$"] = ExactKeywordCheck,
14301452
}
14311453

0 commit comments

Comments
 (0)