From 2fc31766a57fee71df53c30391eb824310ea5090 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Tue, 17 Mar 2020 10:39:51 -0400 Subject: [PATCH] Replace the bus with a variety of options --- media/attribution.js | 21 ++++- media/vehicles/bus.svg | 8 -- .../buses/bus_articulated-bus-front.svg | 34 +++++++ .../buses/bus_articulated-bus-side.svg | 94 +++++++++++++++++++ .../buses/bus_articulated-bus-top.svg | 67 +++++++++++++ media/vehicles/buses/bus_city-bus-front.svg | 36 +++++++ media/vehicles/buses/bus_city-bus-side.svg | 61 ++++++++++++ media/vehicles/buses/bus_city-bus-top.svg | 36 +++++++ media/vehicles/buses/bus_coach-bus-front.svg | 39 ++++++++ media/vehicles/buses/bus_coach-bus-side.svg | 58 ++++++++++++ media/vehicles/buses/bus_coach-bus-top.svg | 57 +++++++++++ .../vehicles/buses/bus_shuttle-bus-front.svg | 39 ++++++++ media/vehicles/buses/bus_shuttle-bus-side.svg | 57 +++++++++++ media/vehicles/buses/bus_shuttle-bus-top.svg | 42 +++++++++ presets/vehicles.js | 89 ++++++++++++++---- 15 files changed, 709 insertions(+), 29 deletions(-) delete mode 100644 media/vehicles/bus.svg create mode 100644 media/vehicles/buses/bus_articulated-bus-front.svg create mode 100644 media/vehicles/buses/bus_articulated-bus-side.svg create mode 100644 media/vehicles/buses/bus_articulated-bus-top.svg create mode 100644 media/vehicles/buses/bus_city-bus-front.svg create mode 100644 media/vehicles/buses/bus_city-bus-side.svg create mode 100644 media/vehicles/buses/bus_city-bus-top.svg create mode 100644 media/vehicles/buses/bus_coach-bus-front.svg create mode 100644 media/vehicles/buses/bus_coach-bus-side.svg create mode 100644 media/vehicles/buses/bus_coach-bus-top.svg create mode 100644 media/vehicles/buses/bus_shuttle-bus-front.svg create mode 100644 media/vehicles/buses/bus_shuttle-bus-side.svg create mode 100644 media/vehicles/buses/bus_shuttle-bus-top.svg diff --git a/media/attribution.js b/media/attribution.js index 2e7e2760..0f57439a 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -6936,7 +6936,6 @@ const attributionData = { { prefix: "./media/vehicles/", files: [ - { name: "bus.svg", source: null }, { name: "vertical-bus.svg", source: null }, { name: "leopard-2-revolution-1.svg", source: "http://leopardclub.ca/reviews/Tiger_Model/Revolution/" }, ], @@ -6964,6 +6963,26 @@ const attributionData = { "h-padleckas" ] }, + { + prefix: "./media/vehicles/buses/", + files: [ + { name: "bus_city-bus-front.svg", source: "https://www.dimensions.guide/element/city-transit-buses" }, + { name: "bus_city-bus-side.svg", source: "https://www.dimensions.guide/element/city-transit-buses" }, + { name: "bus_city-bus-top.svg", source: "https://www.dimensions.guide/element/city-transit-buses" }, + { name: "bus_articulated-bus-front.svg", source: "https://www.dimensions.guide/element/articulated-buses" }, + { name: "bus_articulated-bus-side.svg", source: "https://www.dimensions.guide/element/articulated-buses" }, + { name: "bus_articulated-bus-top.svg", source: "https://www.dimensions.guide/element/articulated-buses" }, + { name: "bus_coach-bus-front.svg", source: "https://www.dimensions.guide/element/coach-buses" }, + { name: "bus_coach-bus-side.svg", source: "https://www.dimensions.guide/element/coach-buses" }, + { name: "bus_coach-bus-top.svg", source: "https://www.dimensions.guide/element/coach-buses" }, + { name: "bus_shuttle-bus-front.svg", source: "https://www.dimensions.guide/element/minibuses-shuttle-buses" }, + { name: "bus_shuttle-bus-side.svg", source: "https://www.dimensions.guide/element/minibuses-shuttle-buses" }, + { name: "bus_shuttle-bus-top.svg", source: "https://www.dimensions.guide/element/minibuses-shuttle-buses" }, + ], + authors: [ + "dimensions-guide" + ], + }, { prefix: "./media/vehicles/cars/", files: [ diff --git a/media/vehicles/bus.svg b/media/vehicles/bus.svg deleted file mode 100644 index 839ecdef..00000000 --- a/media/vehicles/bus.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/media/vehicles/buses/bus_articulated-bus-front.svg b/media/vehicles/buses/bus_articulated-bus-front.svg new file mode 100644 index 00000000..e3e16b20 --- /dev/null +++ b/media/vehicles/buses/bus_articulated-bus-front.svg @@ -0,0 +1,34 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_articulated-bus-side.svg b/media/vehicles/buses/bus_articulated-bus-side.svg new file mode 100644 index 00000000..6dc7a902 --- /dev/null +++ b/media/vehicles/buses/bus_articulated-bus-side.svg @@ -0,0 +1,94 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_articulated-bus-top.svg b/media/vehicles/buses/bus_articulated-bus-top.svg new file mode 100644 index 00000000..731a7aea --- /dev/null +++ b/media/vehicles/buses/bus_articulated-bus-top.svg @@ -0,0 +1,67 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_city-bus-front.svg b/media/vehicles/buses/bus_city-bus-front.svg new file mode 100644 index 00000000..1148ae64 --- /dev/null +++ b/media/vehicles/buses/bus_city-bus-front.svg @@ -0,0 +1,36 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_city-bus-side.svg b/media/vehicles/buses/bus_city-bus-side.svg new file mode 100644 index 00000000..87d73ad1 --- /dev/null +++ b/media/vehicles/buses/bus_city-bus-side.svg @@ -0,0 +1,61 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_city-bus-top.svg b/media/vehicles/buses/bus_city-bus-top.svg new file mode 100644 index 00000000..1a6fea4c --- /dev/null +++ b/media/vehicles/buses/bus_city-bus-top.svg @@ -0,0 +1,36 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_coach-bus-front.svg b/media/vehicles/buses/bus_coach-bus-front.svg new file mode 100644 index 00000000..6480421a --- /dev/null +++ b/media/vehicles/buses/bus_coach-bus-front.svg @@ -0,0 +1,39 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_coach-bus-side.svg b/media/vehicles/buses/bus_coach-bus-side.svg new file mode 100644 index 00000000..081cf965 --- /dev/null +++ b/media/vehicles/buses/bus_coach-bus-side.svg @@ -0,0 +1,58 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_coach-bus-top.svg b/media/vehicles/buses/bus_coach-bus-top.svg new file mode 100644 index 00000000..003102a5 --- /dev/null +++ b/media/vehicles/buses/bus_coach-bus-top.svg @@ -0,0 +1,57 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_shuttle-bus-front.svg b/media/vehicles/buses/bus_shuttle-bus-front.svg new file mode 100644 index 00000000..5a43c67a --- /dev/null +++ b/media/vehicles/buses/bus_shuttle-bus-front.svg @@ -0,0 +1,39 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_shuttle-bus-side.svg b/media/vehicles/buses/bus_shuttle-bus-side.svg new file mode 100644 index 00000000..388d4b7c --- /dev/null +++ b/media/vehicles/buses/bus_shuttle-bus-side.svg @@ -0,0 +1,57 @@ + + + + + + + diff --git a/media/vehicles/buses/bus_shuttle-bus-top.svg b/media/vehicles/buses/bus_shuttle-bus-top.svg new file mode 100644 index 00000000..83ca096e --- /dev/null +++ b/media/vehicles/buses/bus_shuttle-bus-top.svg @@ -0,0 +1,42 @@ + + + + + + + diff --git a/presets/vehicles.js b/presets/vehicles.js index 75abe4c8..37c1c863 100644 --- a/presets/vehicles.js +++ b/presets/vehicles.js @@ -195,30 +195,74 @@ function makeCars() { return entity; } -function makeVehicles() { - const results = []; +function makeBuses() { + const options = [ + ["City Bus", 11.95, 2.99, 14000, 1, 1, 1], + ["Articulated Bus", 18, 3.13, 25000, 1, 1, 1], + ["Coach Bus", 12, 3.81, 18000, 1, 1, 1], + ["Shuttle Bus", 7.01, 2.67, 6000, 1, 1, 1], + ] + sides = {} - results.push({ - name: "Bus", - constructor: () => makeVehicle( - "Bus", - { - 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" } - }, + options.forEach(bus => { + sides[bus[0] + " (Front)"] = { + name: bus[0] + " (Front)", + rename: true, + height: math.unit(bus[2], "meters"), + mass: math.unit(bus[3], "kg"), + image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-front.svg", extra: bus[4] } + }; + + sides[bus[0] + " (Side)"] = { + name: bus[0] + " (Side)", + rename: true, + height: math.unit(bus[2], "meters"), + mass: math.unit(bus[3], "kg"), + image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-side.svg", extra: bus[5] } + }; - }, - math.unit(30000, "lb"), - ) + sides[bus[0] + " (Top)"] = { + name: bus[0] + " (Top)", + rename: true, + height: math.unit(bus[1], "meters"), + mass: math.unit(bus[3], "kg"), + image: { source: "./media/vehicles/buses/bus_" + bus[0].replace(/ /g, "-").toLowerCase() + "-top.svg", extra: bus[6] } + }; + }); + + const entity = makeMultiVehicle("Buses", sides); + + entity.sizes.push({ + name: "1:72", + height: math.unit(options[0][2]/72, "meters") + }); + entity.sizes.push({ + name: "1:24", + height: math.unit(options[0][2]/24, "meters") + }); + entity.sizes.push({ + name: "1:16", + height: math.unit(options[0][2]/16, "meters") + }); + entity.sizes.push({ + name: "1:8", + height: math.unit(options[0][2]/8, "meters") + }); + entity.sizes.push({ + name: "1:4", + height: math.unit(options[0][2]/4, "meters") + }); + entity.sizes.push({ + name: "1", + height: math.unit(options[0][2], "meters") }); + return entity; +} + +function makeVehicles() { + const results = []; + results.push({ name: "Leopard 2 Rev. 1", constructor: () => makeVehicle( @@ -318,6 +362,11 @@ function makeVehicles() { name: "Cars", constructor: () => makeCars() }); + + results.push({ + name: "Buses", + constructor: () => makeBuses() + }); return results; }