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") ) });