diff --git a/media/attribution.js b/media/attribution.js
index 08b419c5..31101fc3 100644
--- a/media/attribution.js
+++ b/media/attribution.js
@@ -12774,6 +12774,35 @@ const attributionData = {
"skelesabiartist"
]
},
+ {
+ prefix: "./media/characters/midnight-tales/",
+ files: [
+ { name: "front-maid.svg", source: "https://twitter.com/MidbatTales/status/1291020614342291458", nsfw: false },
+ { name: "front-formal.svg", source: "https://twitter.com/MidbatTales/status/1291020614342291458", nsfw: false },
+ { name: "back.svg", source: "https://twitter.com/MidbatTales/status/1291020614342291458", nsfw: false },
+ ],
+ authors: [
+ "unimpressive"
+ ],
+ owners: [
+ "midbattales"
+ ]
+ },
+ {
+ prefix: "./media/characters/midnight-tales/",
+ files: [
+ { name: "front-beast.svg", source: "https://twitter.com/dizzythebat/status/1284643021733203968", nsfw: false },
+ { name: "back-beast.svg", source: "https://twitter.com/dizzythebat/status/1284643021733203968", nsfw: false },
+ { name: "foot-beast.svg", source: "https://twitter.com/dizzythebat/status/1284643021733203968", nsfw: false },
+ { name: "head-beast.svg", source: "https://twitter.com/dizzythebat/status/1284643021733203968", nsfw: false },
+ ],
+ authors: [
+ "dizzythebat"
+ ],
+ owners: [
+ "midbattales"
+ ]
+ },
//characters
{
prefix: "./media/dildos/chance/",
@@ -17608,6 +17637,18 @@ const attributionData = {
"name": "SkeleSabiArtist",
"url": "https://www.furaffinity.net/user/skelesabiartist/"
},
+ "midbattales": {
+ "name": "Midbat",
+ "url": "https://twitter.com/midbattales"
+ },
+ "unimpressive": {
+ "name": "Unimpressive",
+ "url": "https://www.furaffinity.net/user/unimpressive/"
+ },
+ "dizzythebat": {
+ "name": "dizzythebat",
+ "url": "https://twitter.com/dizzythebat"
+ },
}
}
diff --git a/media/characters/midnight-tales/back-beast.svg b/media/characters/midnight-tales/back-beast.svg
new file mode 100644
index 00000000..54b37a4d
--- /dev/null
+++ b/media/characters/midnight-tales/back-beast.svg
@@ -0,0 +1,422 @@
+
+
+
diff --git a/media/characters/midnight-tales/back.svg b/media/characters/midnight-tales/back.svg
new file mode 100644
index 00000000..f4cbf31c
--- /dev/null
+++ b/media/characters/midnight-tales/back.svg
@@ -0,0 +1,437 @@
+
+
+
diff --git a/media/characters/midnight-tales/foot-beast.svg b/media/characters/midnight-tales/foot-beast.svg
new file mode 100644
index 00000000..727afd9e
--- /dev/null
+++ b/media/characters/midnight-tales/foot-beast.svg
@@ -0,0 +1,89 @@
+
+
+
diff --git a/media/characters/midnight-tales/front-beast.svg b/media/characters/midnight-tales/front-beast.svg
new file mode 100644
index 00000000..d2284df9
--- /dev/null
+++ b/media/characters/midnight-tales/front-beast.svg
@@ -0,0 +1,527 @@
+
+
+
diff --git a/media/characters/midnight-tales/front-formal.svg b/media/characters/midnight-tales/front-formal.svg
new file mode 100644
index 00000000..1677ebdf
--- /dev/null
+++ b/media/characters/midnight-tales/front-formal.svg
@@ -0,0 +1,783 @@
+
+
+
diff --git a/media/characters/midnight-tales/front-maid.svg b/media/characters/midnight-tales/front-maid.svg
new file mode 100644
index 00000000..40199978
--- /dev/null
+++ b/media/characters/midnight-tales/front-maid.svg
@@ -0,0 +1,1393 @@
+
+
+
diff --git a/media/characters/midnight-tales/head-beast.svg b/media/characters/midnight-tales/head-beast.svg
new file mode 100644
index 00000000..3efbece3
--- /dev/null
+++ b/media/characters/midnight-tales/head-beast.svg
@@ -0,0 +1,207 @@
+
+
+
diff --git a/presets/characters.js b/presets/characters.js
index 31593f06..e29d9b88 100644
--- a/presets/characters.js
+++ b/presets/characters.js
@@ -33271,8 +33271,8 @@ characterMakers.push(() => makeCharacter(
name: "Dragon",
image: {
source: "./media/characters/sabrina/dragon.svg",
- extra: 3670/2365,
- bottom: 333/4003
+ extra: 3670 / 2365,
+ bottom: 333 / 4003
}
},
gryphon: {
@@ -33280,8 +33280,8 @@ characterMakers.push(() => makeCharacter(
name: "Gryphon",
image: {
source: "./media/characters/sabrina/gryphon.svg",
- extra: 1576/945,
- bottom: 71/1647
+ extra: 1576 / 945,
+ bottom: 71 / 1647
}
},
snake: {
@@ -33289,8 +33289,8 @@ characterMakers.push(() => makeCharacter(
name: "Snake",
image: {
source: "./media/characters/sabrina/snake.svg",
- extra: 1758/1320,
- bottom: 186/1944
+ extra: 1758 / 1320,
+ bottom: 186 / 1944
}
},
collar: {
@@ -33387,6 +33387,87 @@ characterMakers.push(() => makeCharacter(
]
))
+characterMakers.push(() => makeCharacter(
+ { name: "Midnight Tales", species: ["bat"], tags: ["anthro"] },
+ {
+ frontMaid: {
+ height: math.unit(5 + 5/12, "feet"),
+ weight: math.unit(130, "lb"),
+ name: "Front (Maid)",
+ image: {
+ source: "./media/characters/midnight-tales/front-maid.svg",
+ extra: 489/454,
+ bottom: 61/550
+ }
+ },
+ frontFormal: {
+ height: math.unit(5 + 5/12, "feet"),
+ weight: math.unit(130, "lb"),
+ name: "Front (Formal)",
+ image: {
+ source: "./media/characters/midnight-tales/front-formal.svg",
+ extra: 489/454,
+ bottom: 61/550
+ }
+ },
+ back: {
+ height: math.unit(5 + 5/12, "feet"),
+ weight: math.unit(130, "lb"),
+ name: "Back",
+ image: {
+ source: "./media/characters/midnight-tales/back.svg",
+ extra: 498/456,
+ bottom: 33/531
+ }
+ },
+ frontBeast: {
+ height: math.unit(40, "feet"),
+ weight: math.unit(64000, "lb"),
+ name: "Front (Beast)",
+ image: {
+ source: "./media/characters/midnight-tales/front-beast.svg",
+ extra: 927/860,
+ bottom: 53/980
+ }
+ },
+ backBeast: {
+ height: math.unit(40, "feet"),
+ weight: math.unit(64000, "lb"),
+ name: "Back (Beast)",
+ image: {
+ source: "./media/characters/midnight-tales/back-beast.svg",
+ extra: 929/855,
+ bottom: 16/945
+ }
+ },
+ footBeast: {
+ height: math.unit(6.7, "feet"),
+ name: "Foot (Beast)",
+ image: {
+ source: "./media/characters/midnight-tales/foot-beast.svg"
+ }
+ },
+ headBeast: {
+ height: math.unit(8, "feet"),
+ name: "Head (Beast)",
+ image: {
+ source: "./media/characters/midnight-tales/head-beast.svg"
+ }
+ },
+ },
+ [
+ {
+ name: "Normal",
+ height: math.unit(5 + 5 / 12, "feet"),
+ default: true
+ },
+ {
+ name: "Macro",
+ height: math.unit(25, "feet")
+ },
+ ]
+))
+
//characters
function makeCharacters() {