ATTENTION! The process of updating WiKi to version Eco 10.x has begun. Those wishing to participate can find out more Information on our ECO Contribution Wiki Discord.
From April 26 to May 12, errors may occur in the Wiki, as we will be carrying out a major update to the information processing modules.

Module:SkillList

From Eco - English Wiki

Documentation[edit source]

This module provides the back end functionality of the Template:SkillList.

If the template is passed, this module creates a list using details from the following Modules:

Credit[edit source]

Original SkillList was created by Fyre (FishAus) then edited by Scotty (ZeelNightwolf) and used as a base for TalentList.


-- Credit: Original SkillList was created by Fyre (FishAus) then edited by Scotty (ZeelNightwolf) and used as a base for TalentList.

local p = {}

-- Grabs args from the parent frame
-- Trims and parses the args into a table, then returns the table
function norm()
    local origArgs = mw.getCurrentFrame():getParent().args
    local args = {}
    
    for k, v in pairs( origArgs ) do
        v = mw.text.trim( tostring( v ) )
        if v ~= '' then
            args[k] = v
        end
    end
    
    return args
end

-- Main entry point for the Module
function p.main()
    -- get args from the Template
    local args = norm()
    
	if args.list == nil or args.list == '' then
        return '\'list\' must be specified.'
    end
	
    -- assign variables for list
    local list = args.list
	
    -- load lists
    local skillData = require( "Module:Skills" )
	local skillList = ''

	--Check Passes
	if list ~= 'profession' and list ~= 'specialty' and list ~= 'skill' then
        return skillList .. ' Incorrect use of pass. '
    end	
	
	local a = {}
	--Profession List
	if list == 'profession' then
		skillList = skillList .. '=== Profession List ===\n'      	
		for k,v in pairs(skillData.skills) do        
            if skillData.skills[k].root == true then
               table.insert(a,k)
            end
        end
        table.sort(a)
        for i,n in ipairs(a) do
            skillList = skillList .. '* [[' .. n .. ']]\n'                
        end
	end
		
	--Specialty List
	if list == 'specialty' then
	skillList = skillList .. '=== Specialty List ===\n'
	skillList = skillList .. '<div style=\"column-count:2;-moz-column-count:2;-webkit-column-count:2\">\n'
		
		for k,v in pairs(skillData.skills) do        
			if skillData.skills[k].specialty == true and skillData.skills[k].root == false then
               table.insert(a,k)
            end
        end
        table.sort(a)
        for i,n in ipairs(a) do
            skillList = skillList .. '* [[' .. n .. ']]\n'                
        end		
		
	skillList = skillList .. '</div>'
	end	
	

	-- --Skill List (exclude Profession and Specialty)
	-- if list == 'skill' then
	-- skillList = skillList .. '=== Skill List ===\n'
	-- skillList = skillList .. '<div style=\"column-count:3;-moz-column-count:3;-webkit-column-count:3\">\n'

		-- for k,v in pairs(skillData.skills) do        
			-- if skillData.skills[k].specialty == false and skillData.skills[k].root == false then
               -- table.insert(a,k)
            -- end
        -- end
        -- table.sort(a)
        -- for i,n in ipairs(a) do
            -- skillList = skillList .. '* [[' .. n .. ']]\n'                
        -- end		
		
	-- skillList = skillList .. '</div>'
	-- end	


	
return skillList
end

return p