Documentation for this module may be created at Module:Ships/Data/doc
local defaults = { highStress = 0, lowStress = 0, droneHardpoints = 0, dockingBays = 0, processedCargo = 0, processedCargoCombined = 0, empShielding = 0, engines = 1, thrusters = 8, } local ships = { K37 = { name = 'K37 TNTRL', make = 'Rusatom-Antonoff', highStress = 1, lowStress = 2, crew = 4, dryMass = 33200, cargoBay = 128, processedCargo = 7000, engines = 1, priceNew = 365999, }, KX37 = { name = 'KX37 TNTRL', make = 'Rusatom-Antonoff', baseModel = 'K37', highStress = 1, lowStress = 2, crew = 4, dryMass = 37970, cargoBay = 140, processedCargo = 7000, engines = 1, variant = 'Extended cargo hold' }, KR37 = { name = 'Runasimi KR37 TNTRL', make = 'Rusatom-Antonoff / Runasimi', baseModel = 'K37', highStress = 1, lowStress = 2, crew = 6, dryMass = 47500, cargoBay = 100, processedCargo = 4000, empShielding = 200, engines = 1, variant = 'EMP Shielded', }, KTA24 = { name = 'KTA24 TNTRL', make = 'Rusatom-Antonoff', baseModel = 'K37', highStress = 1, lowStress = 2, crew = 4, dryMass = 27970, processedCargo = 3000, engines = 1, variant = 'Tug with angled reverse thrust' }, K44 = { highStress = 0, lowStress = 4, crew = 4, dryMass = 54600, processedCargo = 14000, engines = 1, }, ['Eagle Prospector'] = { make = 'Mitsudaya-Starbus', lowStress = 2, droneHardpoints = 2, crew = 6, dryMass = 27500, cargoBay = 125, processedCargo = 14000, engines = 2, priceNew = 2539999, }, ['Vulture Prospector'] = { make = 'Mitsudaya-Starbus', baseModel = 'Eagle Prospector', highStress = 1, lowStress = 2, crew = 6, dryMass = 37500, processedCargo = 14000, engines = 2, variant = 'Dronebay underpods replaced with high stress capability' }, ['Peacock Prospector'] = { make = 'Mitsudaya-Starbus', baseModel = 'Eagle Prospector', lowStress = 2, droneHardpoints = 2, crew = 4, dryMass = 27500, cargoBay = 125, processedCargo = 14000, engines = 2, variant = 'Luxury interior' }, ['Pelican Prospector'] = { make = 'Mitsudaya-Starbus', baseModel = 'Eagle Prospector', lowStress = 2, droneHardpoints = 2, crew = 6, dryMass = 62000, processedCargo = 14000, engines = 1, variant = 'Increased (and wider) dry hold, replaced grinders with excavator' }, ['Cothon-211'] = { name = 'Cothon-211 "Chonker"', baseModel = 'Cothon-212', lowStress = 4, crew = 3, dryMass = 83700, processedCargo = 27000, engines = 1, variant = 'Larger excavator' }, ['Cothon-212'] = { lowStress = 4, crew = 3, dryMass = 83700, processedCargo = 27000, engines = 1, empShielding = 100 }, ['Cothon-213'] = { name = 'Cothon-213 "Triplet"', baseModel = 'Cothon-212', lowStress = 4, crew = 3, dryMass = 83700, processedCargo = 27000, engines = 3, variant = 'Triple main engines' }, ['Cothon-217'] = { name = 'Cothon-217 "Bender"', baseModel = 'Cothon-212', lowStress = 4, crew = 3, dryMass = 103700, processedCargoCombined = 108000, engines = 1, empShielding = 100, variant = 'Variable peocessed cargohold' }, ['Model E'] = { make = 'Elon Interstellar', highStress = 1, lowStress = 2, crew = 5, dryMass = 27000, processedCargo = 11000, engines = 2, priceNew = 8999999 }, ['K225'] = { lowStress = 2, dockingBays = 6, crew = 12, dryMass = 220100, processedCargo = 7000, engines = 3, priceNew = 3999999 }, ['OCP-209'] = { highStress = 2, lowStress = 2, crew = 8, dryMass = 184500, processedCargoCombined = 50000, engines = 1 } } for key,ship in pairs(ships) do -- Normalize ship ship.key = key ship.baseModel = ship.baseModel or key ship.name = ship.name or key -- Set defaults for field,default in pairs(defaults) do ship[field] = ship[field] or default end -- Useful things to sort by ship.isVariant = ship.key ~= ship.baseModel ship.baseModelData = ships[ship.baseModel] end return ships