local vec3 = require "vec3" local transf = require "transf" function data() return { boundingInfo = { bbMax = { 10.208726882935, 1.5492769479752, 4.0738768577576, }, bbMin = { -10.208726882935, -1.5492769479752, -0.017165005207062, }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/waggon/bc4/lod_2_body.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "MESH", }, { id = "vehicle/waggon/bc4_lod_2_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.6043, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/waggon/bc4_lod_2_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.6043, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/waggon/bc4/lod_2_d1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.1852, 0.9513, 0, 1, }, type = "MESH", }, { id = "vehicle/waggon/bc4/lod_2_d1.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-9.1852, 0.9513, 0))), type = "MESH", }, { id = "vehicle/waggon/bc4/lod_2_d1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.1852, -0.9513, 0, 1, }, type = "MESH", }, { id = "vehicle/waggon/bc4/lod_2_d1.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.1852, -0.9513, 0))), type = "MESH", }, }, events = { open_all_doors = { }, close_all_doors = { }, open_doors_left = { }, close_doors_left = { }, open_doors_right = { }, close_doors_right = { }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0 }, }, static = false, visibleFrom = 500, visibleTo = 1700, }, { animations = { }, children = { { id = "vehicle/waggon/bc4/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/waggon/bc4_lod_0_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.6043, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/waggon/bc4_lod_0_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.6043, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/waggon/bc4/lod_0_d1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.1852, 0.9513, 0, 1, }, type = "MESH", }, { id = "vehicle/waggon/bc4/lod_0_d1.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(0,0,0), vec3.new(-9.1852, 0.9513, 0))), type = "MESH", }, { id = "vehicle/waggon/bc4/lod_0_d1.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 9.1852, -0.9513, 0, 1, }, type = "MESH", }, { id = "vehicle/waggon/bc4/lod_0_d1.msh", transf = transf.flipY(transf.rotZYXTransl(transf.degToRad(180,0,0), vec3.new(9.1852, -0.9513, 0))), type = "MESH", }, { id = "vehicle/waggon/bc4/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/waggon/bc4/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 = { open_all_doors = { [4] = { name = "opend1", forward = true }, [5] = { name = "opend1", forward = true }, [6] = { name = "opend1", forward = true }, [7] = { name = "opend1", forward = true }, }, close_all_doors = { [4] = { name = "opend1", forward = false }, [5] = { name = "opend1", forward = false }, [6] = { name = "opend1", forward = false }, [7] = { name = "opend1", forward = false }, }, open_doors_left = { [4] = { name = "opend1", forward = true }, [7] = { name = "opend1", forward = true }, }, close_doors_left = { [4] = { name = "opend1", forward = false }, [7] = { name = "opend1", forward = false }, }, open_doors_right = { [5] = { name = "opend1", forward = true }, [6] = { name = "opend1", forward = true }, }, close_doors_right = { [5] = { name = "opend1", forward = false }, [6] = { name = "opend1", forward = false }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0 }, }, static = false, visibleFrom = 0, visibleTo = 500, }, }, metadata = { description = { name = _("BC4"), description = _("Four axle two bogie heavy coach for fast passenger service.") }, railVehicle = { topSpeed = 120, weight = 24, configs = { { axles = { "vehicle/waggon/bc4/lod_2_w1.msh" } }, { axles = { "vehicle/waggon/bc4/lod_0_w1.msh" } } }, soundSet = "waggon_modern" }, transportVehicle = { capacities = { { type = "PASSENGERS", capacity = 78, } }, carrier = "RAIL", loadSpeed = 2, seats = { { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-8.0, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.85, -0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-6.0, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.85, -0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.05, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-2.9, -0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.15, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-1.0, -0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(6.85, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(8.0, -0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(4.85, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(6.0, -0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.9, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.05, -0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, 0.9, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, 0.3, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.0, -1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, 1.0, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, 0.4, 1.2)) }, { group = 1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.15, -0.9, 1.2)) }, } }, availability = { yearFrom = 3000, yearTo = 3000 }, cost = { price = -1 }, maintenance = { runningCosts = -1, lifespan = 35 } }, } end