less copy protection, more size visualization
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 

341 行
8.6 KiB

  1. const speciesMakers = {};
  2. speciesMakers["Synx"] = () => {
  3. const species = makeCharacter(
  4. { name: "Synx" },
  5. {
  6. goochick: {
  7. height: math.unit(0.5, "feet"),
  8. weight: math.unit(3, "lb"),
  9. name: "Goo-chick",
  10. image: {
  11. source: "./media/species/synx/goo-chick.svg",
  12. bottom: 0.12
  13. }
  14. },
  15. oozeeel: {
  16. height: math.unit(1.5, "feet"),
  17. weight: math.unit(20, "lb"),
  18. name: "Ooze-eel",
  19. image: {
  20. source: "./media/species/synx/ooze-eel.svg",
  21. bottom: 0.09
  22. }
  23. },
  24. synx: {
  25. height: math.unit(3.4, "feet"),
  26. weight: math.unit(300, "lb"),
  27. name: "Synx",
  28. image: {
  29. source: "./media/species/synx/synx.svg",
  30. extra: 8.06 / 6.6,
  31. bottom: 0.05
  32. },
  33. default: true
  34. },
  35. weeper: {
  36. height: math.unit(3.9, "feet"),
  37. weight: math.unit(450, "lb"),
  38. name: "Weeper",
  39. image: {
  40. source: "./media/species/synx/weeper.svg",
  41. extra: 8.04 / 7.5,
  42. bottom: 0.05
  43. }
  44. },
  45. },
  46. [
  47. ]
  48. );
  49. species.defaultView = "synx";
  50. return species;
  51. };
  52. speciesMakers["Viper"] = () => makeCharacter(
  53. { name: "Viper" },
  54. {
  55. front: {
  56. height: math.unit(2.6, "meters"),
  57. weight: math.unit(500, "lb"),
  58. name: "Front",
  59. image: {
  60. source: "./media/species/viper/front.svg"
  61. }
  62. },
  63. },
  64. [
  65. {
  66. name: "Normal",
  67. height: math.unit(2.6, "meters"),
  68. default: true
  69. },
  70. ]
  71. );
  72. speciesMakers["Synths"] = () => makeCharacter(
  73. { name: "Synths" },
  74. {
  75. front: {
  76. height: math.unit(6, "feet"),
  77. weight: math.unit(300, "lb"),
  78. name: "Front",
  79. image: {
  80. source: "./media/species/synths/front.svg",
  81. extra: 263/253.5,
  82. bottom: 6.22/268.85
  83. }
  84. },
  85. back: {
  86. height: math.unit(6, "feet"),
  87. weight: math.unit(300, "lb"),
  88. name: "Back",
  89. image: {
  90. source: "./media/species/synths/back.svg",
  91. extra: 263.5/254.5,
  92. bottom: 4.7/269
  93. }
  94. },
  95. bulky: {
  96. height: math.unit(6, "feet"),
  97. weight: math.unit(900, "lb"),
  98. name: "Bulky",
  99. image: {
  100. source: "./media/species/synths/bulky.svg",
  101. extra: 753/740,
  102. bottom: 17.7/771.8
  103. }
  104. },
  105. femme: {
  106. height: math.unit(6, "feet"),
  107. weight: math.unit(400, "lb"),
  108. name: "Femme",
  109. image: {
  110. source: "./media/species/synths/femme.svg",
  111. extra: 756/733,
  112. bottom: 17.2/774
  113. }
  114. },
  115. },
  116. [
  117. {
  118. name: "Small",
  119. height: math.unit(1, "meters")
  120. },
  121. {
  122. name: "Normal",
  123. height: math.unit(2, "meters"),
  124. default: true
  125. },
  126. {
  127. name: "Big",
  128. height: math.unit(3, "meters")
  129. },
  130. {
  131. name: "Huge",
  132. height: math.unit(4, "meters")
  133. },
  134. ]
  135. );
  136. speciesMakers["Sel'Var"] = () => makeCharacter(
  137. { name: "Sel'Var" },
  138. {
  139. female: {
  140. height: math.unit(7 + 1/12, "feet"),
  141. weight: math.unit(190, "lb"),
  142. name: "Female",
  143. image: {
  144. source: "./media/species/sel'var/female.svg",
  145. extra: 1761/1544,
  146. bottom: 57.5/1817
  147. }
  148. },
  149. male: {
  150. height: math.unit(8 + 4/12, "feet"),
  151. weight: math.unit(260, "lb"),
  152. name: "Male",
  153. image: {
  154. source: "./media/species/sel'var/male.svg",
  155. extra: 1891/1786,
  156. bottom: 65/1954.2
  157. }
  158. },
  159. dick: {
  160. height: math.unit(1.6, "feet"),
  161. name: "Dick",
  162. image: {
  163. source: "./media/species/sel'var/dick.svg"
  164. }
  165. },
  166. slit: {
  167. height: math.unit(0.8, "feet"),
  168. name: "Slit",
  169. image: {
  170. source: "./media/species/sel'var/slit.svg"
  171. }
  172. },
  173. slitinternals: {
  174. height: math.unit(1.07, "feet"),
  175. name: "Slit (Internals)",
  176. image: {
  177. source: "./media/species/sel'var/slit-internals.svg"
  178. }
  179. },
  180. maw: {
  181. height: math.unit(1.18, "feet"),
  182. name: "Maw",
  183. image: {
  184. source: "./media/species/sel'var/maw.svg"
  185. }
  186. },
  187. dewclaw: {
  188. height: math.unit(0.67, "feet"),
  189. name: "Dewclaw",
  190. image: {
  191. source: "./media/species/sel'var/dewclaw.svg"
  192. }
  193. },
  194. },
  195. [
  196. {
  197. name: "Normal",
  198. height: math.unit(7 + 1/12, "feet"),
  199. default: true
  200. },
  201. ]
  202. )
  203. speciesMakers["Werewolf"] = () => makeCharacter(
  204. { name: "Werewolf", species: ["werewolf"], tags: ["anthro"] },
  205. {
  206. front: {
  207. height: math.unit(6, "feet"),
  208. weight: math.unit(225, "lb"),
  209. name: "Front",
  210. image: {
  211. source: "./media/species/werewolf/front.svg",
  212. extra: 660/632,
  213. bottom: 20/680
  214. }
  215. },
  216. },
  217. [
  218. {
  219. name: "Human-Sized",
  220. height: math.unit(6, "feet")
  221. },
  222. {
  223. name: "Big",
  224. height: math.unit(9, "feet"),
  225. default: true
  226. },
  227. {
  228. name: "Huge",
  229. height: math.unit(12, "feet")
  230. },
  231. ]
  232. )
  233. speciesMakers["Fennec Fox"] = () => makeCharacter(
  234. { name: "Fennec Fox", species: ["fennec-fox"], tags: ["anthro"] },
  235. {
  236. front: {
  237. height: math.unit(5 + 6/12, "feet"),
  238. weight: math.unit(130, "lb"),
  239. name: "Front",
  240. image: {
  241. source: "./media/species/fennec-fox/front.svg",
  242. extra: 1148/1001,
  243. bottom: 21/1169
  244. }
  245. },
  246. back: {
  247. height: math.unit(5 + 6/12, "feet"),
  248. weight: math.unit(130, "lb"),
  249. name: "Back",
  250. image: {
  251. source: "./media/species/fennec-fox/back.svg",
  252. extra: 1155/1007,
  253. bottom: 12/1167
  254. }
  255. },
  256. mouth: {
  257. height: math.unit(0.2, "meters"),
  258. name: "Mouth",
  259. image: {
  260. source: "./media/species/fennec-fox/mouth.svg"
  261. }
  262. },
  263. },
  264. [
  265. {
  266. name: "Small",
  267. height: math.unit(4, "feet")
  268. },
  269. {
  270. name: "Human-Sized",
  271. height: math.unit(5 + 6/12, "feet"),
  272. default: true
  273. },
  274. {
  275. name: "Big",
  276. height: math.unit(9, "feet")
  277. },
  278. ]
  279. )
  280. speciesMakers["Lynx"] = () => makeCharacter(
  281. { name: "Lynx", species: ["lynx"], tags: ["anthro"] },
  282. {
  283. female: {
  284. height: math.unit(5 + 9/12, "feet"),
  285. weight: math.unit(150, "lb"),
  286. name: "Female",
  287. image: {
  288. source: "./media/species/lynx/female.svg",
  289. extra: 1030/926,
  290. bottom: 22/1052
  291. }
  292. },
  293. male: {
  294. height: math.unit(5 + 9/12, "feet"),
  295. weight: math.unit(150, "lb"),
  296. name: "Male",
  297. image: {
  298. source: "./media/species/lynx/male.svg",
  299. extra: 1097/995,
  300. bottom: 18/1115
  301. }
  302. },
  303. },
  304. [
  305. {
  306. name: "Small",
  307. height: math.unit(4 + 4/12, "feet")
  308. },
  309. {
  310. name: "Human-Sized",
  311. height: math.unit(5 + 9/12, "feet"),
  312. default: true
  313. },
  314. {
  315. name: "Big",
  316. height: math.unit(8 + 8/12, "feet")
  317. },
  318. ]
  319. )
  320. function makeSpecies() {
  321. const results = [];
  322. Object.entries(speciesMakers).forEach(([key, value]) => {
  323. results.push(
  324. value()
  325. );
  326. });
  327. return results;
  328. }