diff --git a/media/LICENSES.md b/media/LICENSES.md
index 8cf1a789..cfa1ffcd 100644
--- a/media/LICENSES.md
+++ b/media/LICENSES.md
@@ -723,6 +723,42 @@ https://www.furaffinity.net/view/35088521/
 
 * side.svg
 
+## Ramona
+
+**https://www.furaffinity.net/user/rouncible/**
+
+https://www.furaffinity.net/view/26183197/
+
+* side.svg
+
+## Deerpuff
+
+**https://www.furaffinity.net/user/faeseiren**
+
+https://t.me/addstickers/ZTSoS
+
+* sitting.svg
+
+**https://www.furaffinity.net/user/greenbrains/**
+
+https://www.furaffinity.net/view/29325973/
+
+* taur-laying.svg
+
+## Vivian
+
+**https://www.furaffinity.net/user/fauxlacine/**
+
+https://www.furaffinity.net/view/21702945/
+
+* stomping.svg
+
+**https://www.furaffinity.net/user/fauxlacine/**
+
+https://www.furaffinity.net/view/21787301/
+
+* sitting.svg
+
 # Naturals
 
 * front.svg
diff --git a/media/characters/deerpuff/sitting.svg b/media/characters/deerpuff/sitting.svg
new file mode 100644
index 00000000..2c62d67d
--- /dev/null
+++ b/media/characters/deerpuff/sitting.svg
@@ -0,0 +1,91 @@
+
+
+
diff --git a/media/characters/deerpuff/taur-laying.svg b/media/characters/deerpuff/taur-laying.svg
new file mode 100644
index 00000000..fa828fe1
--- /dev/null
+++ b/media/characters/deerpuff/taur-laying.svg
@@ -0,0 +1,163 @@
+
+
+
diff --git a/media/characters/ramona/side.svg b/media/characters/ramona/side.svg
new file mode 100644
index 00000000..8993af71
--- /dev/null
+++ b/media/characters/ramona/side.svg
@@ -0,0 +1,209 @@
+
+
+
diff --git a/media/characters/vivian/sitting.svg b/media/characters/vivian/sitting.svg
new file mode 100644
index 00000000..02acab26
--- /dev/null
+++ b/media/characters/vivian/sitting.svg
@@ -0,0 +1,225 @@
+
+
+
diff --git a/media/characters/vivian/stomping.svg b/media/characters/vivian/stomping.svg
new file mode 100644
index 00000000..7b54a408
--- /dev/null
+++ b/media/characters/vivian/stomping.svg
@@ -0,0 +1,164 @@
+
+
+
diff --git a/presets/characters.js b/presets/characters.js
index ecacc31e..d51141f3 100644
--- a/presets/characters.js
+++ b/presets/characters.js
@@ -3190,6 +3190,130 @@ characterMakers["Louise"] = () => {
     )
 };
 
+characterMakers["Ramona"] = () => {
+    return makeCharacter(
+        "Ramona",
+        "ZakuraTech",
+        {
+            side: {
+                height: math.unit(6, "feet"),
+                weight: math.unit(150, "lbs"),
+                name: "Side",
+                image: {
+                    source: "./media/characters/ramona/side.svg"
+                }
+            },
+        },
+        [
+            {
+                name: "Normal",
+                height: math.unit(5.3, "meters")
+            },
+            {
+                name: "Macro",
+                height: math.unit(20, "stories")
+            },
+            {
+                name: "Macro+",
+                height: math.unit(50, "stories")
+            },
+        ],
+        math.unit(5.3, "meters")
+    )
+};
+
+characterMakers["Deerpuff"] = () => {
+    return makeCharacter(
+        "Deerpuff",
+        "Deerpuff",
+        {
+            sitting: {
+                height: math.unit(5.75 / 1.79, "feet"),
+                weight: math.unit(160, "lbs"),
+                name: "Sitting",
+                image: {
+                    source: "./media/characters/deerpuff/sitting.svg",
+                    bottom: 44/400,
+                    extra: 1 / (1 - 44/400)
+                }
+            },
+            taurLaying: {
+                height: math.unit(6, "feet"),
+                weight: math.unit(400, "lbs"),
+                name: "Taur (Laying)",
+                image: {
+                    source: "./media/characters/deerpuff/taur-laying.svg"
+                }
+            },
+        },
+        [
+            {
+                name: "Normal",
+                height: math.unit(5.75/1.79, "feet")
+            },
+            {
+                name: "Macro",
+                height: math.unit(1500/1.79, "feet")
+            },
+            {
+                name: "Megamacro",
+                height: math.unit(500/1.79, "miles")
+            },
+        ],
+        math.unit(1500/1.79, "feet")
+    )
+};
+
+characterMakers["Vivian"] = () => {
+    return makeCharacter(
+        "Vivian",
+        "Fauxlacine",
+        {
+            stomping: {
+                height: math.unit(6, "feet"),
+                weight: math.unit(170, "lbs"),
+                name: "Stomping",
+                image: {
+                    source: "./media/characters/vivian/stomping.svg"
+                }
+            },
+            sitting: {
+                height: math.unit(6/1.75, "feet"),
+                weight: math.unit(170, "lbs"),
+                name: "Sitting",
+                image: {
+                    source: "./media/characters/vivian/sitting.svg",
+                    bottom: 1/6.4,
+                    extra: (1 / (1 - 1/6.4)) * (1 + 164/1600)
+                }
+            },
+        },
+        [
+            {
+                name: "Normal",
+                height: math.unit(7, "feet")
+            },
+            {
+                name: "Macro",
+                height: math.unit(10, "stories")
+            },
+            {
+                name: "Macro+",
+                height: math.unit(30, "stories")
+            },
+            {
+                name: "Megamacro",
+                height: math.unit(10, "miles")
+            },
+            {
+                name: "Megamacro+",
+                height: math.unit(2750000, "meters")
+            },
+        ],
+        math.unit(7, "feet")
+    )
+};
+
 function makeCharacters() {
     const results = [];
     results.push({