const speciesMakers = {}; speciesMakers["Synx"] = () => { const species = makeCharacter( { name: "Synx" }, { goochick: { height: math.unit(0.55, "feet"), weight: math.unit(3, "lb"), name: "Goo Chick", image: { source: "./media/species/synx/goochick.svg", extra: 84/84, bottom: 16/100 } }, oozeeel: { height: math.unit(1.17, "feet"), weight: math.unit(20, "lb"), name: "Ooze Eel", image: { source: "./media/species/synx/ooze-eel.svg", extra: 196/181, bottom: 70/266 } }, synx: { height: math.unit(3.4, "feet"), weight: math.unit(300, "lb"), name: "Synx", image: { source: "./media/species/synx/synx.svg", extra: 655/530, bottom: 55/710 }, default: true }, weeper: { height: math.unit(3.4, "feet"), weight: math.unit(450, "lb"), name: "Weeper", image: { source: "./media/species/synx/weeper.svg", extra: 561/508, bottom: 134/695 } }, peekaboo: { height: math.unit(4.2, "feet"), weight: math.unit(3000, "lb"), name: "??????", image: { source: "./media/species/synx/peekaboo.svg", extra: 776/648, bottom: 144/920 } }, }, [ { name: "Normal", height: math.unit(3.4, "feet"), default: true }, ] ); species.defaultView = "synx"; return species; }; speciesMakers["Viper"] = () => makeCharacter( { name: "Viper" }, { front: { height: math.unit(2.6, "meters"), weight: math.unit(500, "lb"), name: "Front", image: { source: "./media/species/viper/front.svg" } }, }, [ { name: "Normal", height: math.unit(2.6, "meters"), default: true }, ] ); speciesMakers["Synths"] = () => makeCharacter( { name: "Synths" }, { front: { height: math.unit(6, "feet"), weight: math.unit(300, "lb"), name: "Front", image: { source: "./media/species/synths/front.svg", extra: 263/253.5, bottom: 6.22/268.85 } }, back: { height: math.unit(6, "feet"), weight: math.unit(300, "lb"), name: "Back", image: { source: "./media/species/synths/back.svg", extra: 263.5/254.5, bottom: 4.7/269 } }, bulky: { height: math.unit(6, "feet"), weight: math.unit(900, "lb"), name: "Bulky", image: { source: "./media/species/synths/bulky.svg", extra: 753/740, bottom: 17.7/771.8 } }, femme: { height: math.unit(6, "feet"), weight: math.unit(400, "lb"), name: "Femme", image: { source: "./media/species/synths/femme.svg", extra: 756/733, bottom: 17.2/774 } }, }, [ { name: "Small", height: math.unit(1, "meters") }, { name: "Normal", height: math.unit(2, "meters"), default: true }, { name: "Big", height: math.unit(3, "meters") }, { name: "Huge", height: math.unit(4, "meters") }, ] ); speciesMakers["Sel'Var"] = () => makeCharacter( { name: "Sel'Var" }, { female: { height: math.unit(7 + 1/12, "feet"), weight: math.unit(190, "lb"), name: "Female", image: { source: "./media/species/sel'var/female.svg", extra: 1761/1544, bottom: 57.5/1817 } }, male: { height: math.unit(8 + 4/12, "feet"), weight: math.unit(260, "lb"), name: "Male", image: { source: "./media/species/sel'var/male.svg", extra: 1891/1786, bottom: 65/1954.2 } }, dick: { height: math.unit(1.6, "feet"), name: "Dick", image: { source: "./media/species/sel'var/dick.svg" } }, slit: { height: math.unit(0.8, "feet"), name: "Slit", image: { source: "./media/species/sel'var/slit.svg" } }, slitinternals: { height: math.unit(1.07, "feet"), name: "Slit (Internals)", image: { source: "./media/species/sel'var/slit-internals.svg" } }, maw: { height: math.unit(1.18, "feet"), name: "Maw", image: { source: "./media/species/sel'var/maw.svg" } }, dewclaw: { height: math.unit(0.67, "feet"), name: "Dewclaw", image: { source: "./media/species/sel'var/dewclaw.svg" } }, }, [ { name: "Normal", height: math.unit(7 + 1/12, "feet"), default: true }, ] ) speciesMakers["Werewolf"] = () => makeCharacter( { name: "Werewolf", species: ["werewolf"], tags: ["anthro"] }, { front: { height: math.unit(6, "feet"), weight: math.unit(225, "lb"), name: "Front", image: { source: "./media/species/werewolf/front.svg", extra: 660/632, bottom: 20/680 } }, }, [ { name: "Human-Sized", height: math.unit(6, "feet") }, { name: "Big", height: math.unit(9, "feet"), default: true }, { name: "Huge", height: math.unit(12, "feet") }, ] ) speciesMakers["Fennec Fox"] = () => makeCharacter( { name: "Fennec Fox", species: ["fennec-fox"], tags: ["anthro"] }, { front: { height: math.unit(5 + 6/12, "feet"), weight: math.unit(130, "lb"), name: "Front", image: { source: "./media/species/fennec-fox/front.svg", extra: 1148/1001, bottom: 21/1169 } }, back: { height: math.unit(5 + 6/12, "feet"), weight: math.unit(130, "lb"), name: "Back", image: { source: "./media/species/fennec-fox/back.svg", extra: 1155/1007, bottom: 12/1167 } }, mouth: { height: math.unit(0.2, "meters"), name: "Mouth", image: { source: "./media/species/fennec-fox/mouth.svg" } }, }, [ { name: "Small", height: math.unit(4, "feet") }, { name: "Human-Sized", height: math.unit(5 + 6/12, "feet"), default: true }, { name: "Big", height: math.unit(9, "feet") }, ] ) speciesMakers["Lynx"] = () => makeCharacter( { name: "Lynx", species: ["lynx"], tags: ["anthro"] }, { female: { height: math.unit(5 + 9/12, "feet"), weight: math.unit(150, "lb"), name: "Female", image: { source: "./media/species/lynx/female.svg", extra: 1030/926, bottom: 22/1052 } }, male: { height: math.unit(5 + 9/12, "feet"), weight: math.unit(150, "lb"), name: "Male", image: { source: "./media/species/lynx/male.svg", extra: 1097/995, bottom: 18/1115 } }, }, [ { name: "Small", height: math.unit(4 + 4/12, "feet") }, { name: "Human-Sized", height: math.unit(5 + 9/12, "feet"), default: true }, { name: "Big", height: math.unit(8 + 8/12, "feet") }, ] ) speciesMakers["Possum"] = () => makeCharacter( { name: "Possum", species: ["opossum"], tags: ["anthro"] }, { female: { height: math.unit(5 + 7/12, "feet"), weight: math.unit(145, "lb"), name: "Female", image: { source: "./media/species/possum/female.svg", extra: 717/677, bottom: 44/761 } }, male: { height: math.unit(5 + 7/12, "feet"), weight: math.unit(145, "lb"), name: "Male", image: { source: "./media/species/possum/male.svg", extra: 822/772, bottom: 35/857 } }, }, [ { name: "Small", height: math.unit(4, "feet") }, { name: "Human-Sized", height: math.unit(5 + 7/12, "feet"), default: true }, { name: "Big", height: math.unit(8 + 3/12, "feet") }, ] ) speciesMakers["Wolf"] = () => makeCharacter( { name: "Wolf", species: ["wolf"], tags: ["anthro"] }, { female: { height: math.unit(6 + 1/12, "feet"), weight: math.unit(200, "lb"), name: "Female", image: { source: "./media/species/wolf/female.svg", extra: 882/816, bottom: 21/903 } }, male: { height: math.unit(6 + 1/12, "feet"), weight: math.unit(200, "lb"), name: "Male", image: { source: "./media/species/wolf/male.svg", extra: 964/901, bottom: 18/982 } }, }, [ { name: "Small", height: math.unit(4 + 10/12, "feet") }, { name: "Human-Sized", height: math.unit(6 + 1/12, "feet"), default: true }, { name: "Big", height: math.unit(9 + 5/12, "feet") }, ] ) speciesMakers["Gecko"] = () => makeCharacter( { name: "Gecko", species: ["gecko"], tags: ["anthro"] }, { female: { height: math.unit(5 + 6/12, "feet"), weight: math.unit(135, "lb"), name: "Female", image: { source: "./media/species/gecko/female.svg", extra: 560/550, bottom: 44/604 } }, male: { height: math.unit(5 + 6/12, "feet"), weight: math.unit(135, "lb"), name: "Male", image: { source: "./media/species/gecko/male.svg", extra: 618/607, bottom: 49/667 } }, }, [ { name: "Small", height: math.unit(4 + 5/12, "feet") }, { name: "Human-Sized", height: math.unit(5 + 6/12, "feet"), default: true }, { name: "Big", height: math.unit(8 + 8/12, "feet") }, ] ) speciesMakers["Squirrel"] = () => makeCharacter( { name: "Squirrel", species: ["squirrel"], tags: ["anthro"] }, { female: { height: math.unit(5 + 11/12, "feet"), weight: math.unit(170, "lb"), name: "Female", image: { source: "./media/species/squirrel/female.svg", extra: 781/727, bottom: 30/811 } }, male: { height: math.unit(5 + 11/12, "feet"), weight: math.unit(170, "lb"), name: "Male", image: { source: "./media/species/squirrel/male.svg", extra: 821/763, bottom: 42/863 } }, }, [ { name: "Small", height: math.unit(4 + 10/12, "feet") }, { name: "Human-Sized", height: math.unit(5 + 11/12, "feet"), default: true }, { name: "Big", height: math.unit(9 + 2/12, "feet") }, ] ) speciesMakers["Human"] = () => makeCharacter( { name: "Human", species: ["human"], tags: ["anthro"] }, { female: { height: math.unit(5 + 7/12, "feet"), weight: math.unit(140, "lb"), energy: math.unit(1, "peopleEaten"), name: "Female", image: { source: "./media/species/human/female.svg" } }, male: { height: math.unit(5 + 11/12, "feet"), weight: math.unit(150, "lb"), energy: math.unit(1, "peopleEaten"), name: "Male", image: { source: "./media/species/human/male.svg" } }, hand: { height: math.unit(7.2, "inches"), name: "Hand", image: { source: "./media/species/human/hand.svg" } }, foot: { height: math.unit(10.5, "inches"), name: "Foot", image: { source: "./media/species/human/foot.svg" } }, }, [ { name: "Human-Sized", height: math.unit(5 + 7/12, "feet"), default: true }, ] ) speciesMakers["Zorgoia"] = () => makeCharacter( { name: "Zorgoia", species: ["zorgoia"], tags: ["feral"] }, { side: { height: math.unit(12, "feet"), weight: math.unit(2.5, "tonnes"), name: "Side", image: { source: "./media/species/zorgoia/side.svg", extra: 1422/1256, bottom: 144/1566 } }, front: { height: math.unit(12, "feet"), weight: math.unit(2.5, "tonnes"), name: "Front", image: { source: "./media/species/zorgoia/front.svg", extra: 1428/1117, bottom: 182/1610 } }, sitting: { height: math.unit(12, "feet"), weight: math.unit(2.5, "tonnes"), name: "Sitting", image: { source: "./media/species/zorgoia/sitting.svg", extra: 1485/1251, bottom: 206/1691 } }, maw: { height: math.unit(7.26, "feet"), name: "Maw", image: { source: "./media/species/zorgoia/maw.svg" } }, mawSide: { height: math.unit(4.95, "feet"), name: "Maw (Side)", image: { source: "./media/species/zorgoia/maw-side.svg" } }, forepaw: { height: math.unit(3.38, "feet"), name: "Forepaw", image: { source: "./media/species/zorgoia/forepaw.svg" } }, hindpaw: { height: math.unit(4.95, "feet"), name: "Hindpaw", image: { source: "./media/species/zorgoia/hindpaw.svg" } }, stingerClosed: { height: math.unit(5.45, "feet"), name: "Stinger (Closed)", image: { source: "./media/species/zorgoia/stinger-closed.svg" } }, stingerOpen: { height: math.unit(5.45, "feet"), name: "Stinger (Open)", image: { source: "./media/species/zorgoia/stinger-open.svg" } }, }, [ { name: "Normal", height: math.unit(12, "feet"), default: true }, ] ) speciesMakers["Amogus"] = () => makeCharacter( { name: "Amogus", species: [], tags: ["anthro"] }, { amogus: { height: math.unit(3 + 6/12, "feet"), weight: math.unit(92, "lb"), name: "Amogus", image: { source: "./media/species/amogus/amogus.svg", extra: 592/592, bottom: 24/616 } }, }, [ { name: "Amogus", height: math.unit(3 + 6/12, "feet"), default: true }, ] ) function makeSpecies() { const results = []; Object.entries(speciesMakers).forEach(([key, value]) => { results.push( value() ); }); return results; }