Module:Skill

local p = {}; local cargo = mw.ext.cargo; local utils = require( "Module:Utils" );

function p.skills(frame) local temp_res = {}; local fstr = utils.toNumberedTable(frame.args[2]); local results = cargo.query(frame.args[1], utils.trimBrackets(frame.args[3]), utils.toTable(utils.trimBrackets(frame.args[4]))); for _, result in ipairs(results) do   	local temp_item = {'|-\n'}; for r, fv in ipairs( fstr ) do local v = result["'" .. tostring(r) .. "'"];		   temp_item[#temp_item+1] = '|'; if (v ~= nil) then if fv == 'name' then temp_item[#temp_item+1] = ' id="' .. v .. '" |' .. v .. ''; elseif fv == 'cost' then local modif = utils.toNumberedTable(v); temp_item[#temp_item+1] = 'AP: ' .. modif[1] .. ' ';				if modif[2] ~= '0' then temp_item[#temp_item+1] = 'Mana: ' .. modif[2] .. ' ';				end if modif[3] ~= '0' then temp_item[#temp_item+1] = 'Stamina: ' .. modif[3] .. ' ';				end elseif fv == 'inher' then if v == '1' then temp_item[#temp_item+1] = 'Yes'; else temp_item[#temp_item+1] = 'No'; end else temp_item[#temp_item+1] = v;		   end end temp_item[#temp_item+1] = '\n'; end temp_res[#temp_res+1] = table.concat(temp_item,""); end local restbl = table.concat(temp_res,""); return restbl; end

return p