Module:BuildingIcon

From Corsair Cove Official Wiki

This module displays the provided image file for a building in varying sizes wherever needed.

It uses data from Module:BuildingData and is used by Template:Building icon.


local p = {}
local bData = mw.loadData("Module:BuildingData")

local sizeMap = {
	xs = 16,
	sm = 32,
	md = 64,
	lg = 96,
	xl = 128,
}

function p.icon(frame)
	local args = frame.args
	local building = args[1] or args.building or ""
	local size = args.size or "xs"
	local px = sizeMap[size] or sizeMap.xs

	local entry = bData[building]
	local filename = entry and entry.building_icon_filename or "T Button SelectionBorder Default.png"

	return string.format(
		"[[File:%s|x%dpx|link=%s|%s]]",
		filename, px, building, building
	)
end

return p