diff --git a/media/LICENSES.md b/media/LICENSES.md
index 20728ea1..30a583f5 100644
--- a/media/LICENSES.md
+++ b/media/LICENSES.md
@@ -589,3 +589,9 @@ http://leopardclub.ca/reviews/Tiger_Model/Revolution/images/boxtop1.jpg
* bus.svg
* vertical-bus.svg
+**Unknown**
+
+* 737-side.svg
+* 737-top.svg
+* 737-front.svg
+* 737-side-vertical.svg
\ No newline at end of file
diff --git a/media/vehicles/737-front.svg b/media/vehicles/737-front.svg
new file mode 100644
index 00000000..e447fab4
--- /dev/null
+++ b/media/vehicles/737-front.svg
@@ -0,0 +1,24 @@
+
+
+
diff --git a/media/vehicles/737-side-vertical.svg b/media/vehicles/737-side-vertical.svg
new file mode 100644
index 00000000..a2f8d266
--- /dev/null
+++ b/media/vehicles/737-side-vertical.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/media/vehicles/737-side.svg b/media/vehicles/737-side.svg
new file mode 100644
index 00000000..5adce189
--- /dev/null
+++ b/media/vehicles/737-side.svg
@@ -0,0 +1,17 @@
+
+
+
diff --git a/media/vehicles/737-top.svg b/media/vehicles/737-top.svg
new file mode 100644
index 00000000..307991cc
--- /dev/null
+++ b/media/vehicles/737-top.svg
@@ -0,0 +1,35 @@
+
+
+
diff --git a/presets/vehicles.js b/presets/vehicles.js
index ce5bf4d1..2ba20122 100644
--- a/presets/vehicles.js
+++ b/presets/vehicles.js
@@ -1,30 +1,16 @@
-function makeVehicle(name, horizHeight, horizImage, vertHeight, vertImage, mass) {
+function makeVehicle(name, sides, mass) {
views = {
- horizontal: {
- attributes: {
- height: {
- name: "Height",
- power: 1,
- type: "length",
- base: horizHeight
- },
- mass: {
- name: "Mass",
- power: 3,
- type: "mass",
- base: mass
- }
- },
- image: horizImage,
- name: "Horizontal"
- },
- vertical: {
+
+ }
+
+ Object.entries(sides).forEach(([key, val]) => {
+ views[key] = {
attributes: {
height: {
name: "Height",
power: 1,
type: "length",
- base: vertHeight
+ base: val.height
},
mass: {
name: "Mass",
@@ -33,10 +19,10 @@ function makeVehicle(name, horizHeight, horizImage, vertHeight, vertImage, mass)
base: mass
}
},
- image: vertImage,
- name: "Vertical"
+ image: val.image,
+ name: val.name
}
- };
+ });
return makeEntity(name, "Vehicle", views);
}
@@ -48,10 +34,19 @@ function makeVehicles() {
name: "Bus",
constructor: () => makeVehicle(
"Bus",
- math.unit(10.5, "feet"),
- { source: "./media/vehicles/bus.svg" },
- math.unit(38.556, "feet"),
- { source: "./media/vehicles/vertical-bus.svg" },
+ {
+ side: {
+ name: "Side",
+ height: math.unit(10.5, "feet"),
+ image: { source: "./media/vehicles/bus.svg" }
+ },
+ vertical: {
+ name: "Side (Vertical)",
+ height: math.unit(38.5, "feet"),
+ image: { source: "./media/vehicles/vertical-bus.svg" }
+ },
+
+ },
math.unit(30000, "lb"),
)
});
@@ -60,11 +55,49 @@ function makeVehicles() {
name: "Leopard 2 Rev. 1",
constructor: () => makeVehicle(
"Leopard 2 Rev. 1",
- math.unit(3, "meters"),
- { source: "./media/vehicles/leopard-2-revolution-1.svg" },
- math.unit(10, "meters"),
- { source: "./media/vehicles/vertical-leopard-2-revolution-1.svg" },
- math.unit(60, "tonnes"),
+ {
+ side: {
+ name: "Side",
+ height: math.unit(3, "meters"),
+ image: { source: "./media/vehicles/leopard-2-revolution-1.svg" },
+ },
+ vertical: {
+ name: "Side (Vertical)",
+ height: math.unit(10, "meters"),
+ image: { source: "./media/vehicles/vertical-leopard-2-revolution-1.svg" },
+ }
+ },
+ math.unit(60, "tonnes")
+ )
+ });
+
+ results.push({
+ name: "737",
+ constructor: () => makeVehicle(
+ "737",
+ {
+ side: {
+ name: "Side",
+ height: math.unit(12.55, "meters"),
+ image: { source: "./media/vehicles/737-side.svg" },
+ },
+ sideVertical: {
+ name: "Side (Vertical)",
+ height: math.unit(39.47, "meters"),
+ image: { source: "./media/vehicles/737-side-vertical.svg" },
+ },
+ top: {
+ name: "Top",
+ height: math.unit(39.47, "meters"),
+ image: { source: "./media/vehicles/737-top.svg" },
+ },
+ front: {
+ name: "Front",
+ height: math.unit(12.55, "meters"),
+ image: { source: "./media/vehicles/737-front.svg" },
+ }
+ },
+ math.unit(90710, "lbs")
)
});