local vec3 = require "vec3" local transf = require "transf" function data() return { boundingInfo = { bbMax = { 12.747671127319, 1.6252870559692, 5.9047808647156, }, bbMin = { -12.747671127319, -1.6252870559692, -0.53837102651596, }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/train/roterpfeil/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/train/roterpfeil_lod_0_doors.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1544, -1.4209, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/roterpfeil_lod_0_doors.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.1544, 1.4209, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/roterpfeil_lod_0_doors2.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, -6.1544, -1.4209, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/roterpfeil_lod_0_doors2.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.1544, 1.4209, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/roterpfeil_lod_0_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 9.0916, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/roterpfeil_lod_0_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.0916,0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/roterpfeil/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/train/roterpfeil/lod_0_logos.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(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 10.17, 0.0, 3.19)), type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 11.86, -0.81, 1.41)), type = "MESH", }, { id = "vehicle/asset/lod_0_light_round_white.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(0.8,0.8,0.8),transf.degToRad( 0.0, 0.0, 0.0), vec3.new( 11.86, 0.81, 1.41)), type = "MESH", }, }, events = { open_all_doors = { [2] = { name = "open_doors", forward = true }, [3] = { name = "open_doors", forward = true }, [4] = { name = "open_doors", forward = true }, [5] = { name = "open_doors", forward = true }, }, close_all_doors = { [2] = { name = "open_doors", forward = false }, [3] = { name = "open_doors", forward = false }, [4] = { name = "open_doors", forward = false }, [5] = { name = "open_doors", forward = false }, }, open_doors_left = { [3] = { name = "open_doors", forward = true }, [5] = { name = "open_doors", forward = true }, }, close_doors_left = { [3] = { name = "open_doors", forward = false }, [5] = { name = "open_doors", forward = false }, }, open_doors_right = { [2] = { name = "open_doors", forward = true }, [4] = { name = "open_doors", forward = true }, }, close_doors_right = { [2] = { name = "open_doors", forward = false }, [4] = { name = "open_doors", forward = false }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 2270, }, }, metadata = { description = { name = _("CLe 2/4 Red Arrow"), description = _("This single unit express rail car was very popular in Switzerland.") }, railVehicle = { topSpeed = 125, weight = 33, engines = { { type = "ELECTRIC", power = 315, tractiveEffort = 50 } }, configs = { { axles = { "vehicle/train/roterpfeil/lod_0_w1.msh" } } }, soundSet = "train_electric_old" }, transportVehicle = { carrier = "RAIL", capacities = { { type = "PASSENGERS", capacity = 70 } }, loadSpeed = 2, seats = { { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(8.0, -0.7, 0.9)), crew = true}, -- passengers { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.5, -0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-0.5, -1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.5, 0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-0.5, 1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.5, 0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(0.5, 1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(0.5, -0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(0.5, -1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.2, -0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.2, -1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.2, 0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.2, 1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.2, 0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.2, 1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.2, -0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.2, -1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, -0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(2.9, -1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(2.9, 1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.9, 0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(3.9, 1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(3.9, -0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(3.9, -1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.6, -0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(4.6, -1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.6, 0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(4.6, 1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.6, 0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(5.6, 1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(5.6, -0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(5.6, -1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.2, -0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-2.2, -1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.2, 0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-2.2, 1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.2, 0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-1.2, 1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.2, -0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-1.2, -1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.9, -0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-3.9, -1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.9, 0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-3.9, 1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-2.9, 1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, -0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-2.9, -1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.6, -0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5.6, -1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.6, 0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-5.6, 1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.6, 0.7, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-4.6, 1.1, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.6, -0.5, 0.8)), crew = false}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-4.6, -1, 0.8)), crew = false}, }, }, availability = { yearFrom = 3000, yearTo = 3000 }, cost = { price = -1 }, maintenance = { runningCosts = -1, lifespan = 40 } }, } end