Module:ItemTables: Difference between revisionsGive feedback
add vampiric burst to ammo |
apply filtered table, rearrange checks |
||
| Line 17: | Line 17: | ||
-- Returns an array of item tables that have the same properties | -- Returns an array of item tables that have the same properties | ||
-- @function | -- @function get_similar_items_array | ||
-- @param {array} | -- @param {array} | ||
-- @return {array of tables} | -- @return {array of tables} | ||
local function | local function get_similar_items_array(property) | ||
local similarItems = {} | local similarItems = {} | ||
for _, v in pairs(data) do | for _, v in pairs(data) do | ||
for _, value in ipairs(property) do | for _, value in ipairs(property) do | ||
if (v[value] ~= nil) then | if (v[value] ~= nil and v["Disabled"] == false and v["Name"] ~= nil and v[value] ~= "0" ) then | ||
table.insert(similarItems, v) | table.insert(similarItems, v) | ||
end | end | ||
| Line 105: | Line 105: | ||
local unitName = "" | local unitName = "" | ||
for key, s in pairs(unitSuffix) do | for key, s in pairs(unitSuffix) do | ||
for | for _, pattern in pairs(s) do | ||
if (internal == pattern) then return key end | if (internal == pattern) then return key end | ||
end | end | ||
| Line 124: | Line 124: | ||
local copyVar = property | local copyVar = property | ||
listofKeysTable = friendlyNames(property) | listofKeysTable = friendlyNames(property) | ||
local | local filteredData = {} | ||
filteredData = get_similar_items_array(listofKeysTable) | |||
local createTable = mw.html.create('table') | local createTable = mw.html.create('table') | ||
| Line 140: | Line 140: | ||
createTable:node(createTableHeader) | createTable:node(createTableHeader) | ||
-- query | -- query the filtered items | ||
for internalName, itemName in | for internalName, itemName in ipairs(filteredData) do --itemName is the item table. go through whole table. | ||
local display = frame:expandTemplate{ | local display = frame:expandTemplate{ | ||
| Line 150: | Line 150: | ||
} | } | ||
for | for k, t in pairs(listofKeysTable) do | ||
-- filter out items that: don't have the property | -- filter out items that: don't have the property and the value isn't zero | ||
if(itemName[t] ~= nil and itemName[ | if(itemName[t] ~= nil and itemName[t] ~= "0" ) then | ||
listofItems = listofItems .. itemName["Name"] .. "<br/>" | listofItems = listofItems .. itemName["Name"] .. "<br/>" | ||
copyVar = copyVar:gsub("^%l", string.upper) | copyVar = copyVar:gsub("^%l", string.upper) | ||
local tableData = mw.html.create('tr') | local tableData = mw.html.create('tr') | ||
tableData | tableData | ||
| Line 172: | Line 172: | ||
createTableHeader:node(row) | createTableHeader:node(row) | ||
end | end | ||
return tostring(createTable) | return tostring(createTable) | ||
--return listofItems -- this is just a string list, same thing as createTable. delete this when line when finished | --return listofItems -- this is just a string list, same thing as createTable. delete this when line when finished | ||