325 lines
11 KiB
Plaintext
Executable File
325 lines
11 KiB
Plaintext
Executable File
local vec3 = require "vec3"
|
|
local transf = require "transf"
|
|
|
|
function data()
|
|
return {
|
|
lods = {
|
|
{
|
|
animations = {
|
|
|
|
},
|
|
children = {
|
|
{
|
|
id = "vehicle/tram/be4_6mirage_lod_0_back.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.8193001747131, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
}, {
|
|
id = "vehicle/tram/be4_6mirage_lod_0_mid.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.22079999744892, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
}, {
|
|
id = "vehicle/tram/be4_6mirage_lod_0_front.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.377799987793, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
},
|
|
},
|
|
events = {
|
|
open_all_doors = {
|
|
[1] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[2] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[3] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
},
|
|
close_all_doors = {
|
|
[1] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[2] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[3] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
},
|
|
},
|
|
matConfigs = {
|
|
{
|
|
0, 0, 0,
|
|
},
|
|
},
|
|
static = false,
|
|
visibleFrom = 0,
|
|
visibleTo = 100,
|
|
|
|
}, {
|
|
children = {
|
|
{
|
|
id = "vehicle/tram/be4_6mirage_lod_0_back.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -6.8193001747131, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
}, {
|
|
id = "vehicle/tram/be4_6mirage_lod_0_mid.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, -0.22079999744892, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
}, {
|
|
id = "vehicle/tram/be4_6mirage_lod_0_front.grp",
|
|
transf = {
|
|
1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 6.377799987793, 0, 0, 1,
|
|
},
|
|
type = "GROUP",
|
|
},
|
|
},
|
|
events = {
|
|
open_all_doors = {
|
|
[1] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[2] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[3] = {
|
|
forward = true,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
},
|
|
close_all_doors = {
|
|
[1] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[2] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
[3] = {
|
|
forward = false,
|
|
name = "open_all_doors",
|
|
|
|
},
|
|
},
|
|
},
|
|
matConfigs = {
|
|
{
|
|
0, 0, 0,
|
|
},
|
|
},
|
|
static = false,
|
|
visibleFrom = 100,
|
|
visibleTo = 1760,
|
|
|
|
},
|
|
},
|
|
metadata = {
|
|
description = {
|
|
name = _("Be 4/6 Mirage"),
|
|
description = _("The big cost-overrun during the acquisition of this tram led to its nickname \"Mirage\", a fighter plane which also cost much more than foreseen.")
|
|
},
|
|
railVehicle = {
|
|
configs = {
|
|
{
|
|
axles = {
|
|
"vehicle/tram/be4_6mirage/lod_0_w1.msh",
|
|
},
|
|
fakeBogies = {
|
|
{ group = 1, position = -0.2387, offset = -2.0459 },
|
|
--{ group = 26, position = -0.22, offset = 0 },
|
|
{ group = 31, position = -0.2387, offset = 2.0459 }
|
|
},
|
|
}, {
|
|
axles = {
|
|
"vehicle/tram/be4_6mirage/lod_0_w1.msh", },
|
|
fakeBogies = {
|
|
{ group = 1, position = -0.2387, offset = -2.0459 },
|
|
--{ group = 26, position = -0.22, offset = 0 },
|
|
{ group = 31, position = -0.2387, offset = 2.0459 }
|
|
},
|
|
}
|
|
},
|
|
topSpeed = 60,
|
|
weight = 26,
|
|
engines = {
|
|
{ type = "ELECTRIC", power = 300, tractiveEffort = 50 }
|
|
},
|
|
soundSet = "tram_modern"
|
|
},
|
|
transportVehicle = {
|
|
carrier = "TRAM",
|
|
capacities = {
|
|
{
|
|
type = "PASSENGERS",
|
|
capacity = 90,
|
|
}
|
|
},
|
|
loadSpeed = 7,
|
|
seats = {
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.7, -0.1, .75)), crew = true, standing = false},
|
|
-- front
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(1.0, 0.65, 0.75)) },
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-90.0, 0.0, 0.0), vec3.new(0.5, 0.65, 0.75)) },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-95.0, 0.0, 0.0), vec3.new(1.0, -0.45, 0.75)), standing = true },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.15, 0.05, 0.75)) },
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.15, 0.55, 0.75)) },
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.15, -0.65, 0.75)) },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.85, 0.05, 0.75)) },
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.85, 0.55, 0.75)) },
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.85, -0.65, 0.75)) },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.6, 0.05, 0.75)) },
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.6, 0.55, 0.75)) },
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.6, -0.65, 0.75)) },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, 0.05, 0.75)) },
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, 0.55, 0.75)) },
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.3, -0.65, 0.75)) },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.0, 0.05, 0.75)) },
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.0, 0.55, 0.75)) },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-3.7, 0.55, 0.75)) },
|
|
|
|
|
|
{ group =51, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-3.3, -0.4, 0.75)), standing = true },
|
|
|
|
|
|
-- mid
|
|
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.15, 0.05, 0.75)) },
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.15, 0.55, 0.75)) },
|
|
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.15, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.35, 0.05, 0.75)) },
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.35, 0.55, 0.75)) },
|
|
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.35, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.35, 0.05, 0.75)) },
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.35, 0.55, 0.75)) },
|
|
|
|
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.05, 0.05, 0.75)) },
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-1.05, 0.55, 0.75)) },
|
|
|
|
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-1.1, -0.4, 0.75)), standing = true },
|
|
{ group = 29, transf = transf.rotZYXTransl(transf.degToRad(-105.0, 0.0, 0.0), vec3.new(-0.4, -0.4, 0.75)), standing = true },
|
|
|
|
|
|
-- back
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.45, 0.05, 0.75)) },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.45, 0.55, 0.75)) },
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(3.45, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.75, 0.05, 0.75)) },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.75, 0.55, 0.75)) },
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.75, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.05, 0.05, 0.75)) },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.05, 0.55, 0.75)) },
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(2.05, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.35, 0.05, 0.75)) },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.35, 0.55, 0.75)) },
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(1.35, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.65, 0.05, 0.75)) },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.65, 0.55, 0.75)) },
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(0.65, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.05, 0.05, 0.75)) },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.05, 0.55, 0.75)) },
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-0.05, -0.65, 0.75)) },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-1.4, 0.65, 0.75)), standing = true },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-105.0, 0.0, 0.0), vec3.new(-0.7, 0.65, 0.75)), standing = true },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-45.0, 0.0, 0.0), vec3.new(-1.9, 0.45, 0.75)), standing = true },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(0.0, 0.0, 0.0), vec3.new(-2.05, -0.35, 0.75)), standing = true },
|
|
|
|
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-85.0, 0.0, 0.0), vec3.new(-1.4, -0.4, 0.75)), standing = true },
|
|
{ group = 15, transf = transf.rotZYXTransl(transf.degToRad(-15.0, 0.0, 0.0), vec3.new(-0.5, -0.4, 0.75)), standing = true },
|
|
}
|
|
},
|
|
availability = {
|
|
yearFrom = 3000,
|
|
yearTo = 3000
|
|
},
|
|
cost = {
|
|
price = -1
|
|
},
|
|
maintenance = {
|
|
runningCosts = -1,
|
|
lifespan = 40
|
|
}
|
|
},
|
|
|
|
}
|
|
end
|