From 14f0c4fd64f325e0ea206be483d08611eafabbb2 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Sun, 1 Mar 2020 14:36:57 -0500 Subject: [PATCH] Add shoes --- media/attribution.js | 12 +++++++++ media/objects/shoes/shoe_flip-flops.svg | 24 +++++++++++++++++ media/objects/shoes/shoe_knee-boots.svg | 19 ++++++++++++++ media/objects/shoes/shoe_stilettos.svg | 26 +++++++++++++++++++ media/objects/shoes/shoe_trainers.svg | 19 ++++++++++++++ presets/objects.js | 34 +++++++++++++++++++++++++ 6 files changed, 134 insertions(+) create mode 100644 media/objects/shoes/shoe_flip-flops.svg create mode 100644 media/objects/shoes/shoe_knee-boots.svg create mode 100644 media/objects/shoes/shoe_stilettos.svg create mode 100644 media/objects/shoes/shoe_trainers.svg diff --git a/media/attribution.js b/media/attribution.js index 7bec9dc9..7dac6c19 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -2681,6 +2681,18 @@ const attributionData = { "chemicalcrux" ] }, + { + prefix: "./media/objects/shoes/", + files: [ + { name: "shoe_flip-flops.svg", source: null }, + { name: "shoe_knee-boots.svg", source: null }, + { name: "shoe_trainers.svg", source: null }, + { name: "shoe_stilettos.svg", source: null }, + ], + authors: [ + "chemicalcrux" + ] + }, { prefix: "./media/objects/", files: [ diff --git a/media/objects/shoes/shoe_flip-flops.svg b/media/objects/shoes/shoe_flip-flops.svg new file mode 100644 index 00000000..daadd02e --- /dev/null +++ b/media/objects/shoes/shoe_flip-flops.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/media/objects/shoes/shoe_knee-boots.svg b/media/objects/shoes/shoe_knee-boots.svg new file mode 100644 index 00000000..0f65c79c --- /dev/null +++ b/media/objects/shoes/shoe_knee-boots.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + diff --git a/media/objects/shoes/shoe_stilettos.svg b/media/objects/shoes/shoe_stilettos.svg new file mode 100644 index 00000000..cb23d511 --- /dev/null +++ b/media/objects/shoes/shoe_stilettos.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + diff --git a/media/objects/shoes/shoe_trainers.svg b/media/objects/shoes/shoe_trainers.svg new file mode 100644 index 00000000..b1419160 --- /dev/null +++ b/media/objects/shoes/shoe_trainers.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + diff --git a/presets/objects.js b/presets/objects.js index 149231b3..4b903c79 100644 --- a/presets/objects.js +++ b/presets/objects.js @@ -38,6 +38,37 @@ function makeObject(name, viewInfo) { return makeEntity({ name: name }, views); } +SHOE_REFERENCE = 60 +function addShoeView(object, name, points) { + object[name] = { + height: math.unit(points / SHOE_REFERENCE, "inches"), + image: { source: "./media/objects/shoes/shoe_" + name + ".svg" }, + name: name.replace(/-/g, " ").replace(/\b\w/g, x => x.toUpperCase()), + rename: true + } +} + +function makeShoes() { + const views = {}; + + [ + ["flip-flops", 154.239], + ["knee-boots", 841.827], + ["trainers", 260.607], + ["stilettos", 418.839] + ].forEach(shoe => { + addShoeView(views, shoe[0], shoe[1]) + }); + + return { + name: "Shoes", + constructor: () => makeObject( + "Shoes", + views + ) + } +} + function makeObjects() { const results = []; @@ -381,12 +412,15 @@ function makeObjects() { } ) }); + + results.push(makeShoes()); results.sort((b1, b2) => { e1 = b1.constructor(); e2 = b2.constructor(); return -math.subtract(e1.views[e1.defaultView].height, e2.views[e2.defaultView].height).value; }); + return results; }