From df23390ebaf567306128b5f11adcbe2c0c4900e0 Mon Sep 17 00:00:00 2001 From: Fen Dweller Date: Sat, 7 Mar 2020 11:09:10 -0500 Subject: [PATCH] Add Mira, Holly, and Porter. Add a scene to show all of Neopuc's characters --- media/attribution.js | 47 +++++ media/characters/holly/back.svg | 91 +++++++++ media/characters/holly/front-working.svg | 147 +++++++++++++++ media/characters/holly/front.svg | 88 +++++++++ media/characters/mira/side.svg | 119 ++++++++++++ media/characters/porter/front-robes.svg | 228 +++++++++++++++++++++++ media/characters/porter/front.svg | 96 ++++++++++ presets/characters.js | 123 ++++++++++++ presets/scenes.js | 17 +- 9 files changed, 955 insertions(+), 1 deletion(-) create mode 100644 media/characters/holly/back.svg create mode 100644 media/characters/holly/front-working.svg create mode 100644 media/characters/holly/front.svg create mode 100644 media/characters/mira/side.svg create mode 100644 media/characters/porter/front-robes.svg create mode 100644 media/characters/porter/front.svg diff --git a/media/attribution.js b/media/attribution.js index 74613ba5..ca70e057 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -2338,6 +2338,20 @@ const attributionData = { "libragonslvr" ] }, + { + prefix: "./media/characters/holly/", + files: [ + { name: "front.svg", source: "https://www.furaffinity.net/view/19248385/" }, + { name: "back.svg", source: "https://www.furaffinity.net/view/19248385/" }, + { name: "front-working.svg", source: "https://www.furaffinity.net/view/19248385/" }, + ], + authors: [ + "touchofsnow" + ], + owners: [ + "neopuc" + ] + }, { prefix: "./media/characters/ilisha-devya/", files: [ @@ -3050,6 +3064,18 @@ const attributionData = { "somedaynotsoon" ] }, + { + prefix: "./media/characters/mira/", + files: [ + { name: "side.svg", source: "https://www.furaffinity.net/view/12856326/" } + ], + authors: [ + "modemredpill" + ], + owners: [ + "neopuc" + ] + }, { prefix: "./media/characters/mira-al-cul/", files: [ @@ -3416,6 +3442,19 @@ const attributionData = { "pisces-kelp" ] }, + { + prefix: "./media/characters/porter/", + files: [ + { name: "front.svg", source: "https://www.furaffinity.net/view/19472014/" }, + { name: "front-robes.svg", source: "https://www.furaffinity.net/view/19472014/" }, + ], + authors: [ + "homogeneousrule" + ], + owners: [ + "neopuc" + ] + }, { prefix: "./media/characters/prodigy/", files: [ @@ -6365,6 +6404,14 @@ const attributionData = { "name": "Keedot", "url": "https://www.furaffinity.net/user/keedot/", }, + "modemredpill": { + "name": "modem_redpill", + "url": "https://www.furaffinity.net/user/modemredpill/", + }, + "touchofsnow": { + "name": "touchofsnow", + "url": "https://www.furaffinity.net/user/touchofsnow/", + }, } } diff --git a/media/characters/holly/back.svg b/media/characters/holly/back.svg new file mode 100644 index 00000000..e93f7f21 --- /dev/null +++ b/media/characters/holly/back.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + diff --git a/media/characters/holly/front-working.svg b/media/characters/holly/front-working.svg new file mode 100644 index 00000000..774f4438 --- /dev/null +++ b/media/characters/holly/front-working.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/characters/holly/front.svg b/media/characters/holly/front.svg new file mode 100644 index 00000000..e7c1b0d9 --- /dev/null +++ b/media/characters/holly/front.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + diff --git a/media/characters/mira/side.svg b/media/characters/mira/side.svg new file mode 100644 index 00000000..76f9945c --- /dev/null +++ b/media/characters/mira/side.svg @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + diff --git a/media/characters/porter/front-robes.svg b/media/characters/porter/front-robes.svg new file mode 100644 index 00000000..e4c764d5 --- /dev/null +++ b/media/characters/porter/front-robes.svg @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/media/characters/porter/front.svg b/media/characters/porter/front.svg new file mode 100644 index 00000000..f4f6bc19 --- /dev/null +++ b/media/characters/porter/front.svg @@ -0,0 +1,96 @@ + + + + + + + + + + diff --git a/presets/characters.js b/presets/characters.js index 2aada637..87e3d120 100644 --- a/presets/characters.js +++ b/presets/characters.js @@ -11226,6 +11226,129 @@ characterMakers["Ilisha Devya"] = () => { ) }; +characterMakers["Mira"] = () => { + return makeCharacter( + "Mira", + "Neopuc", + { + Side: { + height: math.unit(6, "feet"), + weight: math.unit(150, "lb"), + name: "Side", + image: { + source: "./media/characters/mira/side.svg", + extra: 900/799 * (1 / (1 - 0.02)), + bottom: 0.02 + } + }, + }, + [ + { + name: "Human Size", + height: math.unit(6, "feet") + }, + { + name: "Macro", + height: math.unit(100, "feet"), + default: true + }, + { + name: "Megamacro", + height: math.unit(10, "miles") + }, + { + name: "Gigamacro", + height: math.unit(25000, "miles") + }, + { + name: "Teramacro", + height: math.unit(300, "AU") + }, + { + name: "Full Size", + height: math.unit(4.5e10, "lightyears") + }, + ] + ) +}; + +characterMakers["Holly"] = () => { + return makeCharacter( + "Holly", + "Neopuc", + { + front: { + height: math.unit(6, "feet"), + weight: math.unit(150, "lb"), + name: "Front", + image: { + source: "./media/characters/holly/front.svg", + extra: 639/606 + } + }, + back: { + height: math.unit(6, "feet"), + weight: math.unit(150, "lb"), + name: "Back", + image: { + source: "./media/characters/holly/back.svg", + extra: 623/598 + } + }, + frontWorking: { + height: math.unit(6, "feet"), + weight: math.unit(150, "lb"), + name: "Front (Working)", + image: { + source: "./media/characters/holly/front-working.svg", + extra: 607/577 * (1 / (1 - 0.048)), + bottom: 0.048 + } + }, + }, + [ + { + name: "Normal", + height: math.unit(12 + 3/12, "feet") + }, + ] + ) +}; + +characterMakers["Porter"] = () => { + return makeCharacter( + "Porter", + "Neopuc", + { + front: { + height: math.unit(6, "feet"), + weight: math.unit(150, "lb"), + name: "Front", + image: { + source: "./media/characters/porter/front.svg", + extra: 1 / (1 - 0.01), + bottom: 0.01 + } + }, + frontRobes: { + height: math.unit(6, "feet"), + weight: math.unit(150, "lb"), + name: "Front (Robes)", + image: { + source: "./media/characters/porter/front-robes.svg", + extra: 1.01 * (1 / (1 - 0.01)), + bottom: 0.01 + } + }, + }, + [ + { + name: "Normal", + height: math.unit(11 + 9/12, "feet") + }, + ] + ) +}; function makeCharacters() { const results = []; diff --git a/presets/scenes.js b/presets/scenes.js index 8d0e74f0..fc77d254 100644 --- a/presets/scenes.js +++ b/presets/scenes.js @@ -67,6 +67,21 @@ scenes["Kurri"] = () => { arrangeEntities(getSortedEntities()); fitWorld(true); +} - +scenes["Neopuc"] = () => { + availableEntities["characters"].filter(x => { + const entity = x.constructor(); + const owners = ownersOf(entity.views[entity.view].image.source); + if (owners) + return owners.indexOf("neopuc") != -1; + else + return false; + }).forEach(maker => { + const entity = maker.constructor(); + displayEntity(entity, entity.view, 0, 1); + }); + + arrangeEntities(getSortedEntities()); + fitWorld(true); } \ No newline at end of file