Módulo:Colores TCG

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

La documentación para este módulo puede ser creada en Módulo:Colores TCG/doc.

--[[
Plantilla para colores del TCG

Idealmente usaría estilos de plantilla, pero no se puede actualmente porque no soporta ciertas propiedades
https://phabricator.wikimedia.org/T255342

]]--
local p = {}

local _coloresBorde = {
	['metálica'] = '637073',
	['agua'] = '1bb1e3',
	['relámpago'] = 'E6C100',
	['rayo'] = 'fcee2b',
	['fuego'] = 'eb4b2f',
	['lucha'] = 'cf683c',
	['oscura'] = '435152',
	['planta'] = '72b04d',
	['psíquica'] = '7b52a1',
	['dragón'] = 'b3993b',
	['hada'] = 'f03a98',
	['incolora'] = 'd4d3cb'
}

local _coloresFondo = {
	['metálica'] = '97c0c4',
	['agua'] = '7dd7f0',
	['relámpago'] = 'ffd700',
	['rayo'] = 'fab62d',
	['fuego'] = 'f29d2e',
	['lucha'] = 'f5a338',
	['oscura'] = '578c94',
	['planta'] = 'bad44a',
	['psíquica'] = 'c288b7',
	['dragón'] = 'e6cb35',
	['hada'] = 'eb7faf',
	['incolora'] = 'f0ece6'
}

-- De [[Plantilla:TCG/Colorborde]]
function p.colorBorde( energia )
	local color
	energia = mw.ustring.lower( energia )
	color = _coloresBorde[energia]
	if color then
		return color
	end
	-- Si no lo encuentra probamos forzando la última letra en femenino (-a)
	energia = string.format( '%sa', mw.ustring.sub( energia, 1, -2 ) )
	color = _coloresBorde[energia]
	if color then
		return color
	end
end

-- De [[Plantilla:TCG/Colorfondo]]
function p.colorFondo( energia )
	local color
	energia = mw.ustring.lower( energia )
	color = _coloresFondo[energia]
	if color then
		return color
	end
	-- Si no lo encuentra probamos forzando la última letra en femenino (-a)
	energia = string.format( '%sa', mw.ustring.sub( energia, 1, -2 ) )
	color = _coloresFondo[energia]
	if color then
		return color
	end
end

-- Indica si el color es oscuro como para ameritar cambiar el color de texto a claro
function p.colorOscuroBorde( energia )
	energia = mw.ustring.lower( energia )
	if energia == 'rayo' or energia == 'incolora' or energia == 'incoloro' then
		return false
	end
	return true
end

-- Indica si el color es oscuro como para ameritar cambiar el color de texto a claro
function p.colorOscuroFondo( energia )
	energia = mw.ustring.lower( energia )
	if energia == 'oscuro' or energia == 'oscura' then
		return true
	end
	return false
end

return p