diff --git a/media/attribution.js b/media/attribution.js index b219229e..0678a1b6 100644 --- a/media/attribution.js +++ b/media/attribution.js @@ -17525,6 +17525,21 @@ const attributionData = { "skrekdathird" ] }, + { + prefix: "./media/characters/rodryana/", + files: [ + { name: "front.svg", source: "https://www.furaffinity.net/view/43926288/", nsfw: true }, + { name: "back.svg", source: "https://www.furaffinity.net/view/43926288/", nsfw: false }, + { name: "maw.svg", source: "https://www.furaffinity.net/view/43926288/", nsfw: false }, + { name: "slit.svg", source: "https://www.furaffinity.net/view/43926288/", nsfw: true }, + ], + authors: [ + "kittehmei" + ], + owners: [ + "0-madespain-0" + ] + }, //characters { prefix: "./media/dildos/chance/", @@ -24251,6 +24266,14 @@ const attributionData = { "name": "Mr.WhiteBear", "url": "https://www.furaffinity.net/user/mr.whitebear" }, + "kittehmei": { + "name": "KittehMei", + "url": "https://www.furaffinity.net/user/kittehmei/" + }, + "0-madespain-0": { + "name": "0_MadeSpain_0", + "url": "https://www.furaffinity.net/user/0madespain0" + }, } } diff --git a/media/characters/rodryana/back.svg b/media/characters/rodryana/back.svg new file mode 100644 index 00000000..104563b3 --- /dev/null +++ b/media/characters/rodryana/back.svg @@ -0,0 +1,1818 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/characters/rodryana/front.svg b/media/characters/rodryana/front.svg new file mode 100644 index 00000000..34d1fbcd --- /dev/null +++ b/media/characters/rodryana/front.svg @@ -0,0 +1,1925 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/characters/rodryana/maw.svg b/media/characters/rodryana/maw.svg new file mode 100644 index 00000000..69269ecc --- /dev/null +++ b/media/characters/rodryana/maw.svg @@ -0,0 +1,487 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/characters/rodryana/slit.svg b/media/characters/rodryana/slit.svg new file mode 100644 index 00000000..7425e1b3 --- /dev/null +++ b/media/characters/rodryana/slit.svg @@ -0,0 +1,529 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/presets/characters.js b/presets/characters.js index 803b57bb..33a72118 100644 --- a/presets/characters.js +++ b/presets/characters.js @@ -46500,6 +46500,51 @@ characterMakers.push(() => makeCharacter( ] )) +characterMakers.push(() => makeCharacter( + { name: "Rodryana", species: ["hyena"], tags: ["anthro"] }, + { + front: { + height: math.unit(412, "meters"), + name: "Front", + image: { + source: "./media/characters/rodryana/front.svg", + extra: 2002/1921, + bottom: 53/2055 + } + }, + back: { + height: math.unit(412, "meters"), + name: "Back", + image: { + source: "./media/characters/rodryana/back.svg", + extra: 1993/1926, + bottom: 48/2041 + } + }, + maw: { + height: math.unit(45, "meters"), + name: "Maw", + image: { + source: "./media/characters/rodryana/maw.svg" + } + }, + slit: { + height: math.unit(72, "meters"), + name: "Slit", + image: { + source: "./media/characters/rodryana/slit.svg" + } + }, + }, + [ + { + name: "Macro", + height: math.unit(412, "meters"), + default: true + }, + ] +)) + //characters function makeCharacters() { diff --git a/scripts/add-bounds.py b/scripts/add-bounds.py index 5b6a01e0..cd859bec 100644 --- a/scripts/add-bounds.py +++ b/scripts/add-bounds.py @@ -3,6 +3,12 @@ import re from xml.etree import ElementTree from pathlib import Path +import os + +for path in Path(sys.argv[1]).rglob("*.svg"): + if path.name.startswith("z_"): + print("Renamed {0}".format(path)) + os.rename(path, path.with_name(path.name[2:])) for path in Path(sys.argv[1]).rglob('*.svg'): tree = ElementTree.ElementTree()