Módulo:Episodio-utilidades

De WikiDex
Ir a la navegaciónIr a la búsqueda

La documentación para este módulo puede ser creada en Módulo:Episodio-utilidades/doc.

local p = {}    -- variable que tendrá todas las funciones accesibles externamente 

-- Obtiene la temporada a partir del número de episodio
-- El parámetro episodio es el número de episodio (sin EP delante)
-- Retorna la temporada como un número
function p.numTemporadaEP( episodio )
	local ep, temporada
	ep = tonumber( episodio, 10 )
	if ep <= 57 and ep ~= 52 and ep ~= 53 then
		temporada = 1
	elseif ep <= 118 then
		temporada = 2
	elseif ep <= 159 then
		temporada = 3
	elseif ep <= 211 then
		temporada = 4
	elseif ep <= 276 then
		temporada = 5
	elseif ep <= 316 then
		temporada = 6
	elseif ep <= 368 then
		temporada = 7
	elseif ep <= 422 then
		temporada = 8
	elseif ep <= 469 then
		temporada = 9
	elseif ep <= 521 then
		temporada = 10
	elseif ep <= 573 then
		temporada = 11
	elseif ep <= 626 then
		temporada = 12
	elseif ep <= 660 then
		temporada = 13
	elseif ep <= 710 then
		temporada = 14
	elseif ep <= 759 then
		temporada = 15
	elseif ep <= 804 then
		temporada = 16
	elseif ep <= 853 and ep ~= 828 then
		temporada = 17
	elseif ep <= 896 then
		temporada = 18
	elseif ep <= 943 then
		temporada = 19
	elseif ep <= 986 then
		temporada = 20
	elseif ep <= 1035 then
		temporada = 21
	elseif ep <= 1089 then
		temporada = 22
	elseif ep <= 1137 then
		temporada = 23
	elseif ep <= 1179 then
		temporada = 24
	elseif ep <= 1236 then
		temporada = 25
	elseif ep <= 1281 then
		temporada = 26
	else
		temporada = 27
	end
	return temporada
end

-- Obtiene el texto de la temporada a partir del episodio
-- El parámetro episodio es el número de episodio (sin EP delante)
-- Retorna la temporada como un texto, en minúsculas
function p.textoTemporadaEP( episodio )
	local temporada, texto
	temporada = p.numTemporadaEP( episodio )
	if temporada == 1 then
		texto = 'primera'
	elseif temporada == 2 then
		texto = 'segunda'
	elseif temporada == 3 then
		texto = 'tercera'
	elseif temporada == 4 then
		texto = 'cuarta'
	elseif temporada == 5 then
		texto = 'quinta'
	elseif temporada == 6 then
		texto = 'sexta'
	elseif temporada == 7 then
		texto = 'séptima'
	elseif temporada == 8 then
		texto = 'octava'
	elseif temporada == 9 then
		texto = 'novena'
	elseif temporada == 10 then
		texto = 'décima'
	elseif temporada == 11 then
		texto = 'undécima'
	elseif temporada == 12 then
		texto = 'duodécima'
	elseif temporada == 13 then
		texto = 'decimotercera'
	elseif temporada == 14 then
		texto = 'decimocuarta'
	elseif temporada == 15 then
		texto = 'decimoquinta'
	elseif temporada == 16 then
		texto = 'decimosexta'
	elseif temporada == 17 then
		texto = 'decimoséptima'
	elseif temporada == 18 then
		texto = 'decimoctava'
	elseif temporada == 19 then
		texto = 'decimonovena'
	elseif temporada == 20 then
		texto = 'vigésima'
	elseif temporada == 21 then
		texto = 'vigesimoprimera'
	elseif temporada == 22 then
		texto = 'vigesimosegunda'
	elseif temporada == 23 then
		texto = 'vigesimotercera'
	elseif temporada == 24 then
		texto = 'vigesimocuarta'
	elseif temporada == 25 then
		texto = 'vigesimoquinta'
	elseif temporada == 26 then
		texto = 'vigesimosexta'
	elseif temporada == 27 then
		texto = 'vigesimoséptima'
	end
	return texto
end

-- Obtiene el color de la temporada a partir del episodio
-- El parámetro episodio es el número de episodio (sin EP delante)
-- Retorna el color en hexadecimal, sin el #
function p.colorTemporadaEP( episodio )
	local temporada, color
	temporada = p.numTemporadaEP( episodio )
	if temporada == 1 then
		color = 'CCCCFF'
	elseif temporada == 2 then
		color = 'ffd138'
	elseif temporada == 3 then
		color = 'a3ff3b'
	elseif temporada == 4 then
		color = 'bfff00'
	elseif temporada == 5 then
		color = '26ff35'
	elseif temporada == 6 then
		color = 'FBFF8A'
	elseif temporada == 7 then
		color = 'EEF282'
	elseif temporada == 8 then
		color = 'f8ff36'
	elseif temporada == 9 then
		color = 'C0C0F3'
	elseif temporada == 10 then
		color = 'C2EBFF'
	elseif temporada == 11 then
		color = 'BAE2F6'
	elseif temporada == 12 then
		color = 'B0D5E8'
	elseif temporada == 13 then
		color = 'a7ccdf'
	elseif temporada == 14 then
		color = 'FFFFFF'
	elseif temporada == 15 then
		color = 'F8F8FF'
	elseif temporada == 16 then
		color = 'CDCDCD'
	elseif temporada == 17 then
		color = 'FDA7A7'
	elseif temporada == 18 then
		color = 'fc9595'
	elseif temporada == 19 then
		color = '8acc4b'
	elseif temporada == 20 then
		color = 'FCB968'
	elseif temporada == 21 then
		color = 'ce73ff'
	elseif temporada == 22 then
		color = 'cda67a'
	elseif temporada == 23 then
		color = '74d1f6'
	elseif temporada == 24 then
		color = 'f50087'
	elseif temporada == 25 then
		color = '99c0e1'
	elseif temporada == 26 then
		color = '8774b6'
	elseif temporada == 27 then
		color = 'cf9591'
	end
	return color
end

-- Retorna el texto de la serie a partir del episodio
-- El parámetro episodio es el número de episodio (sin EP delante)
-- Retorna el nombre de la serie
function p.textoSerieEP( episodio )
	local ep, serie
	ep = tonumber( episodio, 10 )
	if ep <= 118 then
		serie = 'serie El Comienzo'
	elseif ep <= 276 then
		serie = 'serie Oro y Plata'
	elseif ep <= 469 then
		serie = 'serie Rubí y Zafiro'
	elseif ep <= 660 then
		serie = 'serie Diamante y Perla'
	elseif ep <= 804 then
		serie = 'serie Negro y Blanco'
	elseif ep <= 943 then
		serie = 'serie XY'
	elseif ep <= 1089 then
		serie = 'serie Sol y Luna'
	elseif ep <= 1236 then
		serie = 'serie Viajes Pokémon'
	else
		serie = 'serie Horizontes Pokémon'
	end
	return serie
end

-- Métodos para usarse directamente desde un {{#invoke:}}, llevan el prefijo wiki
-- Desde el #invoke: el único argumento es frame, hay que sacar el parámetro de sus args
function p.wikiNumTemporadaEP( frame )
	return p.numTemporadaEP( frame.args[1] )
end

function p.wikiTextoTemporadaEP( frame )
	return p.textoTemporadaEP( frame.args[1] )
end

function p.wikiColorTemporadaEP( frame )
	return p.colorTemporadaEP( frame.args[1] )
end

function p.wikiTextoSerieEP( frame )
	return p.textoSerieEP( frame.args[1] )
end

return p     -- Todos los módulos terminan retornando la variable que contiene las funciones