Módulo:Level up table

De RuneScape Wiki
Ir para: navegação, pesquisa
Documentação do módulo
Esta documentação é transcluída de Predefinição:Sem documentação/doc. [editar] [atualizar]
Este módulo não possui nenhuma documentação. Por favor, considere adicionar uma documentação em Módulo:Level up table/doc. [editar]
Módulo:Level up table's a função make_table é invocada por Predefinição:Tabela de progressão de nível.
Módulo:Level up table requer Módulo:Paramtest.

--
-- Importado de Module:Level up table da RSW
-- Usado em [[Predefinição:Tabela de progressão de nível]]
--

local p = {}

local params = require('Módulo:Paramtest')

function p.make_table(frame)
	local max_level
	local parameters = frame:getParent().args
	if not parameters['max120'] then
		max_level = 99
	else
		local param = string.lower(mw.text.trim(parameters['max120']))

		if param == 'sim' then
			max_level = 120
		else
			max_level = 99
		end
	end

	local lvl_ary = parameters

	-- Toda tabela inicia com isso
	local ret = mw.html.create('table')
				:addClass('wikitable')
				:addClass('level-up-table')
			:tag('tr')
				:tag('th')
					:wikitext('Nível')
					:done()
				:tag('th')
					:attr('colspan','2')
					:wikitext('Novas habilidades')
					:done()
			:done()
	:done()

	-- Função para lidar com os parâmetros de entrada
	local function level_string(level, mems)
		local level_string
		if mems then
			level_string = "membros"
		else
			level_string = "gratuito"
		end
		if level <= 9 then
			level_string = level_string.."0"..level
		else
			level_string = level_string..level
		end
		return level_string
	end

	--
	-- Linhas do "Por nível"
	--
	for i=1,1,1 do
	if params.is_empty(lvl_ary.gratuitopn)
		and params.is_empty(lvl_ary.membrospn) then
		ret:tag('tr')
				:tag('th')
					:wikitext('Por nível')
					:done()
				:tag('td')
					:attr('colspan','2')
					:wikitext('\n*Nenhuma habilidade nova desbloqueada para jogadores [[Jogadores gratuitos|gratuitos]] ou [[membros]].\n')
					:done()
				:done()
	elseif params.is_empty(lvl_ary.gratuitopn)
		or params.is_empty(lvl_ary.membrospn) then
			if params.is_empty(lvl_ary.gratuitopn) then
				ret:tag('tr')
					:tag('th')
						:wikitext('Por nível')
						:done()
					:tag('td')
						:addClass('lvlupmem')
						:wikitext('Membros')
						:done()
					:tag('td')
						:wikitext('\n'..lvl_ary.membrospn..'\n')
						:done()
					:done()
			else
				ret:tag('tr')
					:tag('th')
						:wikitext('Por nível')
						:done()
					:tag('td')
						:addClass('lvlupfree')
						:wikitext('Gratuitos')
						:done()
					:tag('td')
						:wikitext('\n'..lvl_ary.gratuitopn..'\n')
						:done()
					:done()
			end
		elseif params.has_content(lvl_ary.gratuitopn)
			and params.has_content(lvl_ary.membrospn) then
				ret:tag('tr')
					:tag('th')
					    :attr('rowspan','2')
						:wikitext('Por nível')
						:done()
					:tag('td')
						:addClass('lvlupfree')
						:wikitext('Gratuitos')
						:done()
					:tag('td')
						:wikitext('\n'..lvl_ary.gratuitopn..'\n')
						:done()
					:done()
				:tag('tr')
					:tag('td')
						:addClass('lvlupmem')
						:wikitext('Membros')
						:done()
					:tag('td')
						:wikitext('\n'..lvl_ary.membrospn..'\n')
						:done()
				:done()
	end
	end
	--
	-- Vetores para os níveis 1 - 99/120
	--

	for i=1,max_level,1 do
		local free_level = level_string(i, false)
		local mems_level = level_string(i, true)
		if params.is_empty(lvl_ary[free_level])
			and params.is_empty(lvl_ary[mems_level]) then
			ret:tag('tr')
					:tag('th')
				    	:wikitext(i)
				:attr('id',i)
						:done()
					:tag('td')
						:attr('colspan','2')
						:wikitext('\n*Nenhuma habilidade nova desbloqueada para jogadores [[Jogadores gratuitos|gratuitos]] ou [[membros]].\n')
						:done()
					:done()
		elseif params.is_empty(lvl_ary[free_level])
			or params.is_empty(lvl_ary[mems_level]) then
				if params.is_empty(lvl_ary[free_level]) then
					ret:tag('tr')
						:tag('th')
							:wikitext(i)
						  :attr('id',i)
							:done()
						:tag('td')
							:addClass('lvlupmem')
							:wikitext('Membros')
							:done()
						:tag('td')
							:wikitext('\n'..lvl_ary[mems_level]..'\n')
							:done()
						:done()
				else
					ret:tag('tr')
						:tag('th')
							:wikitext(i)
							:attr('id',i)
							:done()
						:tag('td')
							:addClass('lvlupfree')
							:wikitext('Gratuitos')
							:done()
						:tag('td')
							:wikitext('\n'..lvl_ary[free_level]..'\n')
							:done()
						:done()
				end
			elseif params.has_content(lvl_ary[free_level])
				and params.has_content(lvl_ary[mems_level]) then
					ret:tag('tr')
						:tag('th')
							:attr('rowspan','2')
							:wikitext(i)
							:attr('id',i)
							:done()
						:tag('td')
							:addClass('lvlupfree')
							:wikitext('Gratuitos')
							:done()
						:tag('td')
							:wikitext('\n'..lvl_ary[free_level]..'\n')
							:done()
						:done()
					:tag('tr')
						:tag('td')
							:addClass('lvlupmem')
							:wikitext('Membros')
							:done()
						:tag('td')
							:wikitext('\n'..lvl_ary[mems_level]..'\n')
							:done()
					:done()
		end
	end
	return ret
end

return p