Module:Prize pack droppers

From ALttP Speedrunning Wiki
Jump to: navigation, search

Documentation for this module may be created at pack droppers/doc&action=edit&redlink=1 Module:Prize pack droppers/doc

local p = {}

function p.main(frame)
	local args = frame:getParent().args

	local mobs = {}

	for i, v in ipairs(args) do
		local mobt = {}
		mobt.name = v
		mobt.ref = args['ref'..i]
		mobs[i] = mobt
	end

	return _main(mobs)
end

function _main(mobs)
	local ret = { '' }

	for i, v in ipairs(mobs) do
		if (i % 8) == 1 then
			table.insert(ret, '|-')
		end

		table.insert(ret, make_mob_line(v))

	end

	local remainder = 8 - (#mobs % 8)

	if remainder ~= 8 then
		table.insert(ret, '! colspan="' .. remainder .. '" | ')
	end

	return table.concat(ret, '\n')
end

function make_mob_line(mob)
	local ret = string.format('| style="border: none; vertical-align:middle;" | [[File:%s.png|%s]]', mob.name, mob.name)
	if mob.ref then
		ret = string.format("%s%s", ret, mob.ref)
	end

	return ret
end

return p