| Line 24: |
Line 24: |
| | local shipCapabilities = {} | | local shipCapabilities = {} |
| | local equipment = nil | | local equipment = nil |
| − | local filterArg = nil | + | local filterArg = {} |
| | | | |
| | -- $('.calc-debug').show().appendTo('#mw-content-text') | | -- $('.calc-debug').show().appendTo('#mw-content-text') |
| Line 401: |
Line 401: |
| | return format_arg("") | | return format_arg("") |
| | elseif prefix == "~" then | | elseif prefix == "~" then |
| − | filterArg = string.sub(arg, 2) | + | table.insert(filterArg, string.sub(arg, 2)) |
| | elseif prefix == "@" then | | elseif prefix == "@" then |
| | local enumerator = string.sub(arg, 2) | | local enumerator = string.sub(arg, 2) |
| Line 465: |
Line 465: |
| | return frame:preprocess(format{string.sub(arg, 3), this = env[this] or ""}) | | return frame:preprocess(format{string.sub(arg, 3), this = env[this] or ""}) |
| | else | | else |
| − | if filterArg then | + | if #filterArg > 0 then |
| − | local kv = mw.text.split(filterArg, "%s*~%s*") | + | local test = true |
| − | if tostring(ship[kv[1]](ship)) == kv[2] then
| + | for _, e in filterArg do |
| | + | local kv = mw.text.split(e, "%s*~%s*") |
| | + | if tostring(ship[kv[1]](ship)) ~= kv[2] then |
| | + | test = false |
| | + | break |
| | + | end |
| | + | end |
| | + | if test then |
| | return format_arg(format_value(string.sub(arg, 2), ship, target)) | | return format_arg(format_value(string.sub(arg, 2), ship, target)) |
| | else | | else |