Module:Skill List: Difference between revisions

Jump to navigation Jump to search
No edit summary
No edit summary
Line 59: Line 59:
else
else
target = ''
target = ''
end
if getSkill.skill[input].hit then
hit = '\n|style="text-align:center;"|' .. getSkill.skill[input].hit
else
hit = ''
end
end
Line 73: Line 79:
end
end
local output = name .. rpname .. cost .. target .. power .. range .. '\n|-'
local output = name .. rpname .. cost .. target .. hit .. power .. range .. '\n|-'
return output
return output
end
end


return p
return p

Revision as of 04:52, 17 June 2024

Documentation for this module may be created at Module:Skill List/doc

local getArgument = require('Module:Arguments').getArgument

local p = {}


function p.Main(frame)
	local args = frame.args
	local game = args[1]:lower()
	local input = args[2]:lower()
	local getSkill = require('Module:Data/Skill/' .. game)
	local iconPage = mw.title.makeTitle('Module', 'Data/Icon/' .. game)
	
	if getSkill.skill[input] and getSkill.skill[input].link then -- Check if an alternate link for a page is set in skill data
		name = '[[' .. getSkill.skill[input].link .. '|' .. getSkill.skill[input].name .. ']]'
	else	
		name = '[[' .. getSkill.skill[input].name .. ']]'
	end
	
	if getSkill.skill[input] and getSkill.skill[input].name_note then
		namenote = frame:expandTemplate{ title = 'exp', args = { getSkill.skill[input].name_note } }
	else
		namenote = ''
	end
	
	if game == 'desum' then
		name = '\n|style="text-align:left;"|' .. require('Module:Data/Icon/desum').icon[getSkill.skill[input].desumicon] .. ' ' .. name .. namenote
	else
		if getSkill.skill[input].attribute then
			attribute = getSkill.skill[input].attribute:lower()
		else
			attribute = ''
		end
		if iconPage.exists == true then
			getIcon = require('Module:Data/Icon/' .. game)
			if getIcon.icon[attribute] then -- Check if attribute is set in icon data
				name = '\n|style="text-align:left;"|' .. getIcon.icon[attribute] .. ' ' .. name .. namenote -- Set icon
			else
				name = '\n|style="text-align:center;"|' .. name .. namenote
			end
		else
			name = '\n|style="text-align:center;"|' .. name .. namenote
		end
	end

	if game == 'mip' and getSkill.skill[input] and getSkill.skill[input].rpname then
		rpname = '\n|style="text-align:center;"|' .. getSkill.skill[input].rpname
	else
		rpname = ''
	end
	
	if getSkill.skill[input].cost and getSkill.skill[input].costtype then
		cost = '\n|style="text-align:center;"|' .. getSkill.skill[input].cost .. ' ' .. getSkill.skill[input].costtype
	elseif getSkill.skill[input].cost then
		cost = '\n|style="text-align:center;"|' .. getSkill.skill[input].cost
	end
	
	if getSkill.skill[input].target then
		target = '\n|style="text-align:center;"|' .. getSkill.skill[input].target
	else
		target = ''
	end
	
	if getSkill.skill[input].hit then
		hit = '\n|style="text-align:center;"|' .. getSkill.skill[input].hit
	else
		hit = ''
	end
	
	if getSkill.skill[input].power then
		power = '\n|style="text-align:center;"|' .. getSkill.skill[input].power
	else
		power = ''
	end

	if getSkill.skill[input].range then
		range = '\n|style="text-align:center;"|' .. getSkill.skill[input].range
	else
		range = ''
	end
	
	local output = name .. rpname .. cost .. target .. hit .. power .. range .. '\n|-'
	return output
end

return p