local vec3 = require "vec3" local transf = require "transf" function data() return { boundingInfo = { bbMax = { 3.4786009788513, 1.1098109483719, 2.7634139060974, }, bbMin = { -3.4596209526062, -1.1098109483719, -0.48116800189018, }, }, collider = { params = { }, type = "MESH", }, lods = { { animations = { }, children = { { id = "vehicle/bus/saurer_tuescher/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/bus/saurer_tuescher/lod_0_door1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -3.1073, -1.009, 0, 1, }, type = "MESH", }, { id = "vehicle/bus/saurer_tuescher/lod_0_door2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -2.2898, -1.0365, 0, 1, }, type = "MESH", }, { id = "vehicle/bus/saurer_tuescher/lod_0_door3.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0.7208, -1.0356, 0, 1, }, type = "MESH", }, { id = "vehicle/bus/saurer_tuescher/lod_0_w1.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -1.4478, 0, 0.4891, 1, }, type = "MESH", }, { id = "vehicle/bus/saurer_tuescher/lod_0_w2.msh", transf = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 2.7139, -0.812, 0.4887, 1, }, type = "MESH", }, { id = "vehicle/bus/saurer_tuescher/lod_0_w2.msh", transf = { -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 2.7139, 0.812, 0.4887, 1, }, type = "MESH", }, { id = "vehicle/bus/saurer_tuescher/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), vec3.new( 3.3085, 0.8115, 1.0411)), 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), vec3.new( 3.3085, -0.8115, 1.0411)), type = "MESH", },{ id = "vehicle/asset/lod_0_light_round_red.msh", --manual lights transf = transf.scaleRotZYXTransl(vec3.new(.85,.85,.85),transf.degToRad( 182, 5.8788, 0), vec3.new( -3.4454, -0.6592, 0.8425)), type = "MESH", },{ id = "vehicle/asset/lod_0_light_round_red.msh", --manual lights transf = transf.flipY(transf.scaleRotZYXTransl(vec3.new(.85,.85,.85),transf.degToRad( 182, 5.8788, 0), vec3.new( -3.4454, -0.6732, 0.8425))), type = "MESH", },{ id = "vehicle/bus/saurer_tuescher/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 = "opend3", }, }, open_all_doors = { [2] = { forward = true, name = "opend1", }, [3] = { forward = true, name = "opend2", }, [4] = { forward = true, name = "opend3", }, }, }, matConfigs = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }, static = false, visibleFrom = 0, visibleTo = 830, }, }, metadata = { description = { name = _("Saurer Tüscher"), description = _("An urban public-transit bus, based on a Saurer carriage and a Tüscher car body.") }, roadVehicle = { topSpeed = 50, weight = 8, power = 80, tractiveEffort = 10, configs = { { axles = { "vehicle/bus/saurer_tuescher/lod_0_w1.msh" }, wheels = { "vehicle/bus/saurer_tuescher/lod_0_w2.msh" }, fakeBogies = { { group = 0, position = 0, offset = 0 } } } }, soundSet = "bus_old" }, transportVehicle = { carrier = "ROAD", capacities = { { type = "PASSENGERS", capacity = 52 } }, loadSpeed = 2, seats = { { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.14, -0.06, 0.8)), crew = true}, --passangers { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.8, 0.67, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.8, 0.21, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0, -0.6, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0, 0.4, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.67, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, 0.21, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.8, -0.6, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, 0.67, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, 0.21, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.8, -0.6, 0.8))}, { group =1, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.9, 0.8, 0.8))}, } }, availability = { yearFrom = 1939, yearTo = 1976 }, cost = { price = -1 }, maintenance = { runningCosts = -1, lifespan = 30 } }, } end