less copy protection, more size visualization
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

152 line
3.8 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(150, "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. },
  34. weeper: {
  35. height: math.unit(3.9, "feet"),
  36. weight: math.unit(300, "lb"),
  37. name: "Weeper",
  38. image: {
  39. source: "./media/species/synx/weeper.svg",
  40. extra: 8.04 / 7.5,
  41. bottom: 0.05
  42. }
  43. },
  44. },
  45. [
  46. ]
  47. );
  48. species.defaultView = "synx";
  49. return species;
  50. };
  51. speciesMakers["Viper"] = () => makeCharacter(
  52. { name: "Viper" },
  53. {
  54. front: {
  55. height: math.unit(2.6, "meters"),
  56. weight: math.unit(500, "lb"),
  57. name: "Front",
  58. image: {
  59. source: "./media/species/viper/front.svg"
  60. }
  61. },
  62. },
  63. [
  64. {
  65. name: "Normal",
  66. height: math.unit(2.6, "meters"),
  67. default: true
  68. },
  69. ]
  70. );
  71. speciesMakers["Synths"] = () => makeCharacter(
  72. { name: "Synths" },
  73. {
  74. front: {
  75. height: math.unit(6, "feet"),
  76. weight: math.unit(300, "lb"),
  77. name: "Front",
  78. image: {
  79. source: "./media/species/synths/front.svg",
  80. extra: 263/253.5,
  81. bottom: 6.22/268.85
  82. }
  83. },
  84. back: {
  85. height: math.unit(6, "feet"),
  86. weight: math.unit(300, "lb"),
  87. name: "Back",
  88. image: {
  89. source: "./media/species/synths/back.svg",
  90. extra: 263.5/254.5,
  91. bottom: 4.7/269
  92. }
  93. },
  94. bulky: {
  95. height: math.unit(6, "feet"),
  96. weight: math.unit(900, "lb"),
  97. name: "Bulky",
  98. image: {
  99. source: "./media/species/synths/bulky.svg",
  100. extra: 753/740,
  101. bottom: 17.7/771.8
  102. }
  103. },
  104. femme: {
  105. height: math.unit(6, "feet"),
  106. weight: math.unit(400, "lb"),
  107. name: "Femme",
  108. image: {
  109. source: "./media/species/synths/femme.svg",
  110. extra: 756/733,
  111. bottom: 17.2/774
  112. }
  113. },
  114. },
  115. [
  116. {
  117. name: "Small",
  118. height: math.unit(1, "meters")
  119. },
  120. {
  121. name: "Normal",
  122. height: math.unit(2, "meters"),
  123. default: true
  124. },
  125. {
  126. name: "Big",
  127. height: math.unit(3, "meters")
  128. },
  129. {
  130. name: "Huge",
  131. height: math.unit(4, "meters")
  132. },
  133. ]
  134. );
  135. function makeSpecies() {
  136. const results = [];
  137. Object.entries(speciesMakers).forEach(([key, value]) => {
  138. results.push(
  139. value()
  140. );
  141. });
  142. return results;
  143. }