Module:TierColour: Difference between revisions

From SmashWiki, the Super Smash Bros. wiki
Jump to navigationJump to search
(first draft)
 
No edit summary
Line 4: Line 4:


function tierColouriser.getColour(frame)
function tierColouriser.getColour(frame)
colourCount = int(frame.args[1])
colourCount = tonumber(frame.args[1])
thisTier = int(frame.args[2])
thisTier = tonumber(frame.args[2])
style = frame.args[3]
style = frame.args[3]
targetColour = tierColours[colourCount][thisTier]
targetColour = tierColours[colourCount][thisTier]
Line 17: Line 17:
lighten = 0.5
lighten = 0.5
end
end
targetColour[0] = targetColour[0] * (1 - lighten) + 255 * lighten
returnColour = {127, 127, 127} -- targetColour inherits the readonly-ness of the import
targetColour[1] = targetColour[1] * (1 - lighten) + 255 * lighten
returnColour[1] = math.floor(targetColour[1] * (1 - lighten) + 255 * lighten)
targetColour[2] = targetColour[2] * (1 - lighten) + 255 * lighten
returnColour[2] = math.floor(targetColour[2] * (1 - lighten) + 255 * lighten)
return result
returnColour[3] = math.floor(targetColour[3] * (1 - lighten) + 255 * lighten)
return "rgb("..returnColour[1]..","..returnColour[2]..","..returnColour[3]..")"
end
end


return tierColouriser
return tierColouriser

Revision as of 20:30, February 15, 2024

Documentation for this module may be created at Module:TierColour/doc

local tierColours = mw.loadData("Module:TierColour/data")

local tierColouriser = {}

function tierColouriser.getColour(frame)
	colourCount = tonumber(frame.args[1])
	thisTier = tonumber(frame.args[2])
	style = frame.args[3]
	targetColour = tierColours[colourCount][thisTier]
	if targetColour == nil then
		targetColour = {127, 127, 127}
	end
	lighten = 0
	if style == "header" then
		lighten = 0.75
	elseif style == "cell" then
		lighten = 0.5
	end
	returnColour = {127, 127, 127} -- targetColour inherits the readonly-ness of the import
	returnColour[1] = math.floor(targetColour[1] * (1 - lighten) + 255 * lighten)
	returnColour[2] = math.floor(targetColour[2] * (1 - lighten) + 255 * lighten)
	returnColour[3] = math.floor(targetColour[3] * (1 - lighten) + 255 * lighten)
	return "rgb("..returnColour[1]..","..returnColour[2]..","..returnColour[3]..")"
end

return tierColouriser