diff --git a/media/attribution.js b/media/attribution.js
index 2355d170..32fa0fd4 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -20371,6 +20371,32 @@ const attributionData = {
                 "escargotage"
             ]
         },
+        {
+            prefix: "./media/characters/brook/",
+            files: [
+                { name: "front.svg", source: null, nsfw: true},
+                { name: "back.svg", source: null, nsfw: true },
+                { name: "back-alt.svg", source: null, nsfw: true },
+            ],
+            authors: [
+                "robomax"
+            ],
+            owners: [
+                "hungrybrook"
+            ]
+        },
+        {
+            prefix: "./media/characters/brook/",
+            files: [
+                { name: "bust.svg", source: "https://twitter.com/HungryBrook/status/1258986740892778496" }
+            ],
+            authors: [
+                "trinity-fate62"
+            ],
+            owners: [
+                "hungrybrook"
+            ]
+        },
         //characters
         {
             prefix: "./media/fiction/halo/halo/",
@@ -28422,6 +28448,14 @@ const attributionData = {
             "name": "Escargotage",
             "url": "https://www.furaffinity.net/user/escargotage"
         },
+        "hungrybrook": {
+            "name": "Hungry Brook",
+            "url": "https://twitter.com/HungryBrook/"
+        },
+        "trinity-fate62": {
+            "name": "trinity-fate62",
+            "url": "https://twitter.com/trinityfate62"
+        },
     }
 }
 
diff --git a/media/characters/brook/back-alt.svg b/media/characters/brook/back-alt.svg
new file mode 100644
index 00000000..c60edf3d
--- /dev/null
+++ b/media/characters/brook/back-alt.svg
@@ -0,0 +1,1340 @@
+
+
+
diff --git a/media/characters/brook/back.svg b/media/characters/brook/back.svg
new file mode 100644
index 00000000..caf5dfea
--- /dev/null
+++ b/media/characters/brook/back.svg
@@ -0,0 +1,1169 @@
+
+
+
diff --git a/media/characters/brook/bust.svg b/media/characters/brook/bust.svg
new file mode 100644
index 00000000..121a1e05
--- /dev/null
+++ b/media/characters/brook/bust.svg
@@ -0,0 +1,1479 @@
+
+
+
diff --git a/media/characters/brook/front.svg b/media/characters/brook/front.svg
new file mode 100644
index 00000000..f1bba7df
--- /dev/null
+++ b/media/characters/brook/front.svg
@@ -0,0 +1,1498 @@
+
+
+
diff --git a/presets/characters.js b/presets/characters.js
index cf267bb9..709eaf98 100644
--- a/presets/characters.js
+++ b/presets/characters.js
@@ -2129,6 +2129,10 @@ const speciesData = {
       name: "Monkey",
       parents: ["mammal"]
     },
+    "serval": {
+      name: "Serval",
+      parents: ["cat"]
+    },
 }
 
 //species
@@ -56407,6 +56411,71 @@ characterMakers.push(() => makeCharacter(
     ]
 ))
 
+characterMakers.push(() => makeCharacter(
+    { name: "Brook", species: ["serval"], tags: ["anthro"] },
+    {
+        front: {
+            height: math.unit(11, "feet"),
+            weight: math.unit(3000, "lb"),
+            preyCapacity: math.unit(10, "people"),
+            name: "Front",
+            image: {
+                source: "./media/characters/brook/front.svg",
+                extra: 909/835,
+                bottom: 108/1017
+            }
+        },
+        back: {
+            height: math.unit(11, "feet"),
+            weight: math.unit(3000, "lb"),
+            preyCapacity: math.unit(10, "people"),
+            name: "Back",
+            image: {
+                source: "./media/characters/brook/back.svg",
+                extra: 976/916,
+                bottom: 34/1010
+            }
+        },
+        backAlt: {
+            height: math.unit(11, "feet"),
+            weight: math.unit(3000, "lb"),
+            preyCapacity: math.unit(10, "people"),
+            name: "Back (Alt)",
+            image: {
+                source: "./media/characters/brook/back-alt.svg",
+                extra: 1283/1213,
+                bottom: 35/1318
+            }
+        },
+        bust: {
+            height: math.unit(9.0859030837, "feet"),
+            weight: math.unit(3000, "lb"),
+            preyCapacity: math.unit(10, "people"),
+            name: "Bust",
+            image: {
+                source: "./media/characters/brook/bust.svg",
+                extra: 2043/1923,
+                bottom: 0/2043
+            }
+        },
+    },
+    [
+        {
+            name: "Small",
+            height: math.unit(11, "feet"),
+            default: true
+        },
+        {
+            name: "Towering",
+            height: math.unit(5, "km")
+        },
+        {
+            name: "Enormous",
+            height: math.unit(25, "earths")
+        },
+    ]
+))
+
 //characters
 
 function makeCharacters() {