Browse Source

better stat comparison

tags/v0.0.3
anonymous 9 months ago
parent
commit
80a9ed5db3
2 changed files with 18 additions and 8 deletions
  1. +7
    -1
      main.fnl
  2. +11
    -7
      main.lua

+ 7
- 1
main.fnl View File

@@ -35,6 +35,12 @@
(starts-with a "gte:")
(<= (tonumber (string.sub a 5)) (tonumber b))

(starts-with a "lt<:")
(> (tonumber (string.sub a 5)) (tonumber b))

(starts-with a "gt>:")
(< (tonumber (string.sub a 5)) (tonumber b))

(= a b)))

;; querying
@@ -71,7 +77,7 @@
14 (string.format "gte:%d" (- lv 4))
14 (string.format "lte:%d" lv)
;; 12 (string.format "gte:%d" ilv)
stat-position (string.format "gte:%d" item-stat)}
stat-position (string.format "gt>:%d" item-stat)}
?sort))
(lambda find-good-item [invtype lv stat-position stat-baseline ?sort]


+ 11
- 7
main.lua View File

@@ -31,12 +31,16 @@ local function matches(a, b)
return (tonumber(string.sub(a, 5)) >= tonumber(b))
elseif starts_with(a, "gte:") then
return (tonumber(string.sub(a, 5)) <= tonumber(b))
elseif starts_with(a, "lt<:") then
return (tonumber(string.sub(a, 5)) > tonumber(b))
elseif starts_with(a, "gt>:") then
return (tonumber(string.sub(a, 5)) < tonumber(b))
else
return (a == b)
end
end
local function find_items(params, _3fsort)
_G.assert((nil ~= params), "Missing argument params on main.fnl:42")
_G.assert((nil ~= params), "Missing argument params on main.fnl:48")
local results
do
local tbl_17_auto = {}
@@ -70,7 +74,7 @@ local function find_items(params, _3fsort)
end
end
local function find_item(params, _3fsort)
_G.assert((nil ~= params), "Missing argument params on main.fnl:57")
_G.assert((nil ~= params), "Missing argument params on main.fnl:63")
local results = find_items(params, _3fsort)
if results then
return first(results)
@@ -82,13 +86,13 @@ 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("gte:%d", 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)
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:77")
_G.assert((nil ~= stat_position), "Missing argument stat-position on main.fnl:77")
_G.assert((nil ~= lv), "Missing argument lv on main.fnl:77")
_G.assert((nil ~= invtype), "Missing argument invtype on main.fnl:77")
_G.assert((nil ~= stat_baseline), "Missing argument stat-baseline on main.fnl:83")
_G.assert((nil ~= stat_position), "Missing argument stat-position on main.fnl:83")
_G.assert((nil ~= lv), "Missing argument lv on main.fnl:83")
_G.assert((nil ~= invtype), "Missing argument invtype on main.fnl:83")
return find_items({[10] = invtype, [14] = string.format("lte:%d", lv), [stat_position] = string.format("gte:%d", stat_baseline)}, _3fsort)
end
local function parse_opts(msg)


Loading…
Cancel
Save