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()