|
|
@@ -91,13 +91,14 @@ local function find_item_by_name(name) |
|
|
|
return find_item({[8] = name}) |
|
|
|
end |
|
|
|
local function find_next_better_item(class, subclass, invtype, lv, ilv, stat_position, item_stat, _3fsort) |
|
|
|
return find_items({[4] = class, [6] = subclass, [10] = invtype, [14] = string.format("lte:%d", lv), [stat_position] = string.format("gt>:%d", item_stat)}, _3fsort) |
|
|
|
local stat_comparison = "gt>:%d" |
|
|
|
return find_items({[4] = class, [6] = subclass, [10] = invtype, [14] = string.format("lte:%d", lv), [stat_position] = string.format(stat_comparison, item_stat)}, _3fsort) |
|
|
|
end |
|
|
|
local function find_good_item(invtype, lv, stat_position, stat_baseline, _3fsort) |
|
|
|
_G.assert((nil ~= stat_baseline), "Missing argument stat-baseline on main.fnl:89") |
|
|
|
_G.assert((nil ~= stat_position), "Missing argument stat-position on main.fnl:89") |
|
|
|
_G.assert((nil ~= lv), "Missing argument lv on main.fnl:89") |
|
|
|
_G.assert((nil ~= invtype), "Missing argument invtype on main.fnl:89") |
|
|
|
_G.assert((nil ~= stat_baseline), "Missing argument stat-baseline on main.fnl:88") |
|
|
|
_G.assert((nil ~= stat_position), "Missing argument stat-position on main.fnl:88") |
|
|
|
_G.assert((nil ~= lv), "Missing argument lv on main.fnl:88") |
|
|
|
_G.assert((nil ~= invtype), "Missing argument invtype on main.fnl:88") |
|
|
|
return find_items({[10] = invtype, [14] = string.format("lte:%d", lv), [stat_position] = string.format("gte:%d", stat_baseline)}, _3fsort) |
|
|
|
end |
|
|
|
local function parse_item_id(link) |
|
|
@@ -167,9 +168,9 @@ local function main0(msg) |
|
|
|
if not i_link then |
|
|
|
local best |
|
|
|
local function _14_(a, b) |
|
|
|
return ((a[stat0] < b[stat0]) and (a[12] < b[12])) |
|
|
|
return ((a[12] + a[stat0]) < (b[12] + b[stat0])) |
|
|
|
end |
|
|
|
best = (find_good_item(inv_slot, UnitLevel("player"), stat0, 1, _14_))[gear_index0] |
|
|
|
best = (find_good_item(inv_slot, UnitLevel("player"), stat0, 0, _14_))[gear_index0] |
|
|
|
if best then |
|
|
|
DEFAULT_CHAT_FRAME:AddMessage(string.format("|Hitem:%d:0:0:0:0:0:0:0:0|h[%s]|h|r", best[2], best[8])) |
|
|
|
return ui_print(("next best available: " .. best[8] .. " " .. stat_print(best) .. " at " .. best[20] .. "N/A")) |
|
|
@@ -187,9 +188,9 @@ local function main0(msg) |
|
|
|
local i_stat = stats[stat0] |
|
|
|
local best |
|
|
|
local function _16_(a, b) |
|
|
|
return (a[stat0] < b[stat0]) |
|
|
|
return ((a[12] + a[stat0]) < (b[12] + b[stat0])) |
|
|
|
end |
|
|
|
best = (find_next_better_item(i_class, i_subclass, i_invtype, p_level, i_level, stat0, max(i_stat, 1), _16_))[gear_index0] |
|
|
|
best = (find_next_better_item(i_class, i_subclass, i_invtype, p_level, i_level, stat0, max(i_stat, 0), _16_))[gear_index0] |
|
|
|
if best then |
|
|
|
DEFAULT_CHAT_FRAME:AddMessage(string.format("|Hitem:%d:0:0:0:0:0:0:0:0|h[%s]|h|r", best[2], best[8])) |
|
|
|
ui_print(("next best available: " .. best[8] .. " " .. stat_print(best) .. " at " .. best[20] .. "N/A")) |
|
|
|