FANDOM


-- Módulo creado por Sakaratte‎ - Nukapedia
 
p = {}
 
local estadisticas = {
	[1] = "Fuerza",
	[2] = "Percepción",
	[3] = "Resistencia",
	[4] = "Carisma",
	[5] = "Inteligencia",
	[6] = "Agilidad",
	[7] = "Suerte"
}
 
local enlaces = {
	[1] = "[[Fuerza|FU]]",
	[2] = "[[Percepción|PE]]",
	[3] = "[[Resistencia|RE]]",
	[4] = "[[Carisma|CA]]",
	[5] = "[[Inteligencia|IN]]",
	[6] = "[[Agilidad|AG]]",
	[7] = "[[Suerte|SU]]"
}
 
function tooltip(valor, texto)
		if valor == 4 or texto == "Carisma" then
			return '<span class="va-tooltip" style="cursor: help; border-bottom: 1px dotted;" title="' .. texto .. ' modificado por ropa y armadura">' .. valor .. '</span>'
		else
			return '<span class="va-tooltip" style="cursor: help; border-bottom: 1px dotted;" title="' .. texto .. ' modificada por ropa y armadura">' .. valor .. '</span>'
	end
end
 
function p.table(frame)
	local valor = mw.text.split(frame.args[1], ",")       -- Splits the values into an array
	local modificador = mw.text.split(frame.args[2], ",") -- Splits the modifiers into an array
	local titulo = frame.args[3]                          -- If a game title is declared, this will be transfered to a variable
	local extra = 1                                       -- Used for readings the arrays
	local resultado = "<span class='special-shell'>"      -- Wrapper shell for SPECIAL stats to allow additional CSS handling
 
-- Adds the game title if one has been denoted, otherwise nothing is added.
	if cadena.len(titulo) > 0 then
		resultado = resultado .. "<div class='special-title'>" .. titulo .. "</div>"
	end
 
-- Circular script that sets each stat to table cell	
	while extra <= 7 do
	    if tonumber(valor[extra]) ~= nil then
       	    esteExtra = tonumber(valor[extra])
       	else
       	    esteExtra = 0
       	end
 
		if extra == 1 then
			resultado = resultado .. '<table><tr>'
		elseif extra == 5 then
			resultado = resultado .. '</tr></table><table><tr>'
		end 
		resultado = resultado .. '<td class="'
-- Classes are required for CSS alignment of stats
        if extra > 4 then
			resultado = resultado .. 'special-bottom">' -- Bottom row
		else
			resultado = resultado .. 'special-top">' -- Top row
		end
 
-- Checks for if the stat is modified by armor/clothing and calls the tooltip function
		if modificador[extra] ~= nil and modificador[extra] ~= "" then
			resultado = resultado .. tooltip( esteExtra + tonumber(modificador[extra]), estadisticas[extra] ) .. " "
		else
			resultado = resultado .. esteExtra .. " "
		end
		resultado = resultado .. enlaces[extra] .. "</td> "
		extra = extra + 1
	end
 
	resultado = resultado .. "</tr></table></div>"
	return resultado
end
 
function p.cadena(frame)
    local valor = mw.text.split(frame.args[1], ",")       -- Splits the values into an array
	local modificador = mw.text.split(frame.args[2], ",") -- Splits the modifiers into an array
	local titulo = frame.args[3]                          -- If a game title is declared, this will be transfered to a variable
	local extra = 1                                       -- Used for readings the arrays
	local resultado = "<span class='special-shell'>"      -- Wrapper shell for SPECIAL stats to allow additional CSS handling
 
-- Adds the game title if one has been denoted, otherwise nothing is added.
	if titulo ~= nil or titulo ~= "" then
		resultado = resultado .. "<div class='special-title'>" .. titulo .. "</div>"
	end
 
    while extra <= 7 do
        if tonumber(valor[extra]) ~= nil then
       	    esteExtra = tonumber(valor[extra])
       	else
       	    esteExtra = 0
       	end
 
       	if modificador[extra] ~= nil and modificador[extra] ~= "" then
			resultado = resultado .. tooltip( esteExtra + tonumber(modificador[extra]), estadisticas[extra] ) .. " "
		else
			resultado = resultado .. esteExtra .. " "
		end
 
		resultado = resultado .. enlaces[extra]
 
		if extra < 7 then
		    resultado = resultado .. ", "
		end
 
		extra = extra + 1
	end
    resultado = resultado .. "</span>"    
    return resultado
 
end
 
function p.test(frame)
    return cadena.len(tostring(frame.args[3]))
end
 
return p
El contenido de la comunidad está disponible bajo CC-BY-SA a menos que se indique lo contrario.