Module:Data tables/engines

From Kerbal Space Program 2 Wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:Data tables/engines/doc

local p = {}
local _commonCells = require("Module:Data tables/common cells").commonCells
local _commonHeaders = require("Module:Data tables/common").commonHeaders

-- Builds table formatted for engines
function p.engineTable(args)
	local category = args[1]
	local family = args[2]
	local json = mw.loadJsonData("GameData:Collections/parts")
	local cells = ''
	
	-- adds engine headers
	local headers = _commonHeaders() ..
		"!Max Thrust: 1 atm (kN)\n" ..
		"!Max Thrust: Vac. (kN)\n" ..
		"!ISP: 1 atm (s)\n" ..
		"!ISP: Vac. (s)\n"
	
	-- populates common cells and engine cells
	for k, v in pairs(json[category][family]) do
		local partJson = mw.loadJsonData("GameData:"..k)
		local tempCell = _commonCells(partJson) ..
			"|"..partJson["modules"]["engine"]["max_thrust"]["atm"].."\n" ..
			"|"..partJson["modules"]["engine"]["max_thrust"]["vac"].."\n" ..
			"|"..partJson["modules"]["engine"]["isp"]["atm"].."\n" ..
			"|"..partJson["modules"]["engine"]["isp"]["vac"].."\n"

		cells = tempCell..cells
	end

	-- append the cells to the headers
	local engineTable = headers..cells.."|}"
	return engineTable
end

return p