local vec3 = require "vec3" local transf = require "transf" function data() return { collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/tram/dampftram_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/dampftram_lod_0_back.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.1901, 0, 0, 1, }, type = "GROUP", }, }, events = { }, matConfigs = { { 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 1180, }, }, metadata = { description = { name = _("Steam tram"), description = _("Twin axle steam tram, used for example in Vienna as \"Dampftramway\".") }, railVehicle = { configs = { { axles = { "vehicle/tram/dampftram/lod_0_w3.msh","vehicle/tram/dampftram/lod_0_w1.msh",}, } }, topSpeed = 20, weight = 8, engines = { { type = "STEAM", power = 20, tractiveEffort = 6 } }, soundSet = "tram_old" }, transportVehicle = { carrier = "TRAM", capacities = { { type = "PASSENGERS", capacity = 28 } }, loadSpeed = 2, seats = { { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.6, -0.1, .82)), crew = true, standing = true}, -- front { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.0, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.5, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(2, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.5, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1.5, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2, 0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.0, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.5, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.5, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(2, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.5, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1.5, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-2, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) }, { group = 11 , transf = transf.rotZYXTransl(transf.degToRad(-60.0, 0.0, 0.0), vec3.new(-3, -0.3, 0.5)),standing = true }, } }, availability = { yearFrom = 1877, yearTo = 1930 }, cost = { price = -1 }, maintenance = { runningCosts = -1, lifespan = 30 }, particleSystem = { emitters = { { position = { 1.0999, .0, 3.3066}, velocity = { .0, .0, 7.0 }, color = { .3, .3, .3 }, frequency = 60, lifeTime = 10.0, size01 = { .7, 8.0 }, child = 2 }, } } }, } end