local vec3 = require "vec3" local transf = require "transf" function data() return { boundingInfo = { bbMax = { 3.4578530788422, 0.98381000757217, 4.8104958534241, }, bbMin = { -3.4319260120392, -0.98381000757217, -0.33427900075912, }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/tram/halle/lod_0_body.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/tram/halle/lod_0_d1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.881, -0.8389, 0, 1, }, type = "MESH", }, { id = "vehicle/tram/halle/lod_0_d2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.881, 0.8389, 0, 1, }, type = "MESH", },{ id = "vehicle/tram/halle/lod_0_d2.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -2.881, -0.8389, 0, 1, }, type = "MESH", }, { id = "vehicle/tram/halle/lod_0_d1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -2.881, 0.8389, 0, 1, }, type = "MESH", }, { id = "vehicle/tram/halle/lod_0_w1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.8475, 0, 0.304, 1, }, type = "MESH", }, { id = "vehicle/tram/halle/lod_0_w1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.8475, 0, 0.304, 1, }, type = "MESH", }, { id = "vehicle/tram/halle/lod_0_interior.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(1.4,1.4,1.4),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 3.46, 0.0, 3.16)), type = "MESH", }, { id = "vehicle/tram/halle/lod_0_logo_body.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, }, events = { close_all_doors = { [2] = { forward = false, name = "opend1", }, [3] = { forward = false, name = "opend2", }, [4] = { forward = false, name = "opend2", }, [5] = { forward = false, name = "opend1", }, }, open_all_doors = { [2] = { forward = true, name = "opend1", }, [3] = { forward = true, name = "opend2", }, [4] = { forward = true, name = "opend2", }, [5] = { forward = true, name = "opend1", }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 1210, }, }, metadata = { description = { name = _("Halle tram"), description = _("Twin axle electrical tram with open platforms on both ends, used by the \"Allgemeine Elektricitaets-Gesellschaft Stadtbahn Halle\".") }, railVehicle = { configs = { { axles = { "vehicle/tram/halle/lod_0_w1.msh"}, } }, topSpeed = 27, weight = 12, engines = { { type = "ELECTRIC", power = 50, tractiveEffort = 20 } }, soundSet = "tram_old" }, transportVehicle = { carrier = "TRAM", capacities = { { type = "PASSENGERS", capacity = 36 } }, loadSpeed = 2, seats = { { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.8, -0.1, .64)), crew = true, standing = true}, -- front { group = 1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.0, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.5, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-0.5, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1.5, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-1, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(-2, 0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.0, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(0.5, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1.5, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(1, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(2, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-0.5, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1.5, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.6, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(90.0, 0.0, 0.0), vec3.new(-1, -0.68, 0.45)) }, { group =1 , transf = transf.rotZYXTransl(transf.degToRad(-60.0, 0.0, 0.0), vec3.new(-3, -0.3, 0.6)),standing = true }, } }, availability = { yearFrom = 1887, yearTo = 1945 }, cost = { price = -1 }, maintenance = { runningCosts = -1, lifespan = 30 } }, } end