local vec3 = require "vec3" local transf = require "transf" function data() return { lods = { { animations = { }, children = { { id = "vehicle/tram/typ1_lod_0_front.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 5, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/tram/typ1_lod_0_back.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -5.55, 0, 0, 1, }, type = "GROUP", }, }, events = { close_all_doors = { [1] = { forward = true, name = "close_doors", }, [2] = { forward = true, name = "close_doors", }, }, open_all_doors = { [1] = { forward = true, name = "open_doors", }, [2] = { forward = true, name = "open_doors", }, }, }, matConfigs = { { 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 1850, }, }, metadata = { description = { name = _("Type T1"), description = _("From this Type T1, built by Gothaer Waggonbau/Bothman, one unit is still running on a museum line.") }, railVehicle = { configs = { { axles = { "vehicle/tram/typ1/lod_0_w1.msh" }, } }, topSpeed = 60, weight = 26, engines = { { type = "ELECTRIC", power = 190, tractiveEffort = 45 } }, soundSet = "tram_old" }, transportVehicle = { carrier = "TRAM", capacities = { { type = "PASSENGERS", capacity = 65 } }, loadSpeed = 4, seats = { { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.2, 0.0, 0.7)), crew = true, standing = true }, --passangers --front { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.67, -0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.7, -0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.67, 0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.7, 0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.25, -0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.25, -0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.25, 0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.25, 0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.2, -0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.2, 0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.7, -0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.7, -0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.7, 0.35, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.7, 0.55, .7)),}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-4, 0.15, .7)), standing = true}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(98.0, 0.0, 0.0), vec3.new(-2, 0.05, .7)), standing = true}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-98.0, 0.0, 0.0), vec3.new(1.7, 0.05, .7)), standing = true}, --back { group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.67, -0.55, 0.7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.7, -0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.67, 0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.7, 0.55, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.25, -0.55, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.25, -0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.25, 0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.25, 0.55, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-1.2, -0.55, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-0.2, -0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-1.2, 0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-0.2, 0.55, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.7, -0.55, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.7, -0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.7, 0.35, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.7, 0.55, .7)),}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(170.0, 0.0, 0.0), vec3.new(-4, 0.15, .7)), standing = true}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(98.0, 0.0, 0.0), vec3.new(-2, 0.05, .7)), standing = true}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-98.0, 0.0, 0.0), vec3.new(1.7, 0.05, .7)), standing = true}, { group =20, transf = transf.rotZYXTransl(transf.degToRad(-98.0, 0.0, 0.0), vec3.new(3.9, 0.05, .7)), standing = true}, } }, availability = { yearFrom = 1928, yearTo = 1959 }, cost = { price = -1 }, maintenance = { runningCosts = -1, lifespan = 35 } }, } end