local vec3 = require "vec3" local transf = require "transf" function data() return { boundingInfo = { bbMax = { 13.024568557739, 1.5505640506744, 5.8909320831299, }, bbMin = { -12.078281402588, -1.5505640506744, -0.055481970310211, }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/train/rabde_12_12_lod_2_back.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/rabde_12_12_lod_2_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.3304004669189, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/rabde_12_12_lod_2_bogie.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 8.5118999481201, 0, 0, 1, }, type = "GROUP", }, }, events = { open_all_doors = { { name = "open_doors", forward = true }, }, close_all_doors = { { name = "open_doors", forward = false }, }, open_doors_left = { { name = "open_doors_left", forward = true }, }, close_doors_left = { { name = "open_doors_left", forward = false }, }, open_doors_right = { { name = "open_doors_right", forward = true }, }, close_doors_right = { { name = "open_doors_right", forward = false }, }, }, matConfigs = { { 0, 0, 0, }, }, static = false, visibleFrom = 350, visibleTo = 2250, }, { animations = { }, children = { { id = "vehicle/train/rabde_12_12_lod_1_back.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/rabde_12_12_lod_1_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.3304004669189, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/rabde_12_12_lod_1_bogie.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 8.5118999481201, 0, 0, 1, }, type = "GROUP", }, }, events = { open_all_doors = { { name = "open_doors", forward = true }, }, close_all_doors = { { name = "open_doors", forward = false }, }, open_doors_left = { { name = "open_doors_left", forward = true }, }, close_doors_left = { { name = "open_doors_left", forward = false }, }, open_doors_right = { { name = "open_doors_right", forward = true }, }, close_doors_right = { { name = "open_doors_right", forward = false }, }, }, matConfigs = { { 0, 0, 0, }, }, static = false, visibleFrom = 120, visibleTo = 350, }, { animations = { }, children = { { id = "vehicle/train/rabde_12_12_lod_0_back.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/rabde_12_12_lod_0_bogie.grp", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -9.3304004669189, 0, 0, 1, }, type = "GROUP", }, { id = "vehicle/train/rabde_12_12_lod_0_bogie.grp", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 8.5118999481201, 0, 0, 1, }, type = "GROUP", }, }, events = { open_all_doors = { { name = "open_doors", forward = true }, }, close_all_doors = { { name = "open_doors", forward = false }, }, open_doors_left = { { name = "open_doors_left", forward = true }, }, close_doors_left = { { name = "open_doors_left", forward = false }, }, open_doors_right = { { name = "open_doors_right", forward = true }, }, close_doors_right = { { name = "open_doors_right", forward = false }, }, }, matConfigs = { { 0, 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 120, }, }, metadata = { availability = { yearFrom = 3000, yearTo = 3000, }, cost = { price = -1, }, maintenance = { lifespan = 50, runningCosts = -1, }, railVehicle = { configs = { { axles = { "vehicle/train/rabde_12_12_front/lod_2_w1.msh", }, fakeBogies = { }, }, { axles = { "vehicle/train/rabde_12_12_front/lod_1_w1.msh", }, fakeBogies = { }, }, { axles = { "vehicle/train/rabde_12_12_front/lod_0_w1.msh", }, fakeBogies = { }, }, }, engines = { { power = 815, tractiveEffort = 80, type = "ELECTRIC", }, }, soundSet = { horn = "", name = "train_electric_modern", }, topSpeed = 125, weight = 60, }, transportVehicle = { capacities = { { capacity = 144, type = "PASSENGERS", }, }, carrier = "RAIL", loadSpeed = 3, seats = { { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, -0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(0.2, -1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.2, 0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(0.2, 1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, 0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(1.3, 1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(1.3, -0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(1.3, -1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, -0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(1.9, -1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.9, 0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(1.9, 1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, 0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(2.9, 1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(2.9, -0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(2.9, -1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.8, -0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(3.8, -1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.8, 0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(3.8, 1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.8, 0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(4.8, 1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(4.8, -0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(4.8, -1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.1, -0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-4.1, -1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-4.1, 0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.1, 1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.1, 0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-3.1, 1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-3.1, -0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-3.1, -1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.9, -0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-5.9, -1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-5.9, 0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-4.9, 1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.9, 0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-4.9, 1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-4.9, -0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-4.9, -1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.6, -0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-7.6, -1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-7.6, 0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-7.6,1, 1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.6, 0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-6.6, 1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-6.6, -0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-6.6, -1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.4, -0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(20.0, 0.0, 0.0), vec3.new(-9.4, -1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-9.4, 0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-20.0, 0.0, 0.0), vec3.new(-9.3,1, 1, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.3, 0.8, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(200.0, 0.0, 0.0), vec3.new(-8.3, 1.2, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(180.0, 0.0, 0.0), vec3.new(-8.3, -0.55, 0.96)), }, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-200.0, 0.0, 0.0), vec3.new(-8.3, -1, 0.96)), }, }, multipleUnitOnly = true }, }, } end