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.
 
 
 

3417 lines
86 KiB

  1. const characterMakers = [];
  2. math.createUnit("parsecs", {
  3. definition: "3.086e16 meters",
  4. prefixes: "long"
  5. })
  6. math.createUnit("lightyears", {
  7. definition: "9.461e15 meters",
  8. prefixes: "long"
  9. })
  10. function makeCharacter(name, author, viewInfo, defaultSizes, defaultSize) {
  11. views = {};
  12. Object.entries(viewInfo).forEach(([key, value]) => {
  13. views[key] = {
  14. attributes: {
  15. height: {
  16. name: "Height",
  17. power: 1,
  18. type: "length",
  19. base: value.height
  20. }
  21. },
  22. image: value.image,
  23. name: value.name
  24. }
  25. if (value.weight) {
  26. views[key].attributes.weight = {
  27. name: "Mass",
  28. power: 3,
  29. type: "mass",
  30. base: value.weight
  31. };
  32. }
  33. });
  34. const entity = makeEntity(name, "author", views);
  35. if (defaultSizes) {
  36. entity.defaults = defaultSizes;
  37. }
  38. if (defaultSize) {
  39. entity.views[entity.defaultView].height = defaultSize;
  40. }
  41. return entity;
  42. }
  43. characterMakers["Fen"] = () => {
  44. return makeCharacter(
  45. "Fen",
  46. "chemicalcrux",
  47. {
  48. back: {
  49. height: math.unit(2.2428, "meter"),
  50. weight: math.unit(124.738, "kg"),
  51. name: "Back",
  52. image: {
  53. source: "./media/characters/fen/back.svg"
  54. }
  55. },
  56. full: {
  57. height: math.unit(1.34, "meter"),
  58. weight: math.unit(225, "kg"),
  59. name: "Full",
  60. image: {
  61. source: "./media/characters/fen/full.svg"
  62. }
  63. }
  64. },
  65. [
  66. {
  67. name: "Normal",
  68. height: math.unit(2.2428, "meter")
  69. },
  70. {
  71. name: "Big",
  72. height: math.unit(12, "feet")
  73. },
  74. {
  75. name: "Macro",
  76. height: math.unit(100, "meter")
  77. },
  78. {
  79. name: "Macro+",
  80. height: math.unit(1000, "meter")
  81. },
  82. {
  83. name: "Megamacro",
  84. height: math.unit(10, "miles")
  85. }
  86. ],
  87. math.unit(100, "meter")
  88. )
  89. };
  90. characterMakers["Sofia"] = () => {
  91. return makeCharacter(
  92. "Sofia",
  93. "ZakuraTech",
  94. {
  95. front: {
  96. height: math.unit(183, "cm"),
  97. weight: math.unit(80, "kg"),
  98. name: "Front",
  99. image: {
  100. source: "./media/characters/sofia/front.svg",
  101. bottom: 0.01,
  102. extra: 1 / (1 - 0.01)
  103. }
  104. },
  105. frontAlt: {
  106. height: math.unit(183, "cm"),
  107. weight: math.unit(80, "kg"),
  108. name: "Front (alt)",
  109. image: {
  110. source: "./media/characters/sofia/front-alt.svg"
  111. }
  112. },
  113. back: {
  114. height: math.unit(183, "cm"),
  115. weight: math.unit(80, "kg"),
  116. name: "Back",
  117. image: {
  118. source: "./media/characters/sofia/back.svg"
  119. }
  120. },
  121. },
  122. [
  123. {
  124. name: "Normal",
  125. height: math.unit(1.83, "meter")
  126. },
  127. {
  128. name: "Macro",
  129. height: math.unit(96, "feet")
  130. },
  131. {
  132. name: "Megamerger",
  133. height: math.unit(650, "feet")
  134. },
  135. ],
  136. math.unit(96, "feet")
  137. )
  138. };
  139. function makeMarch() {
  140. const views = {
  141. front: {
  142. attributes: {
  143. height: {
  144. name: "Height",
  145. power: 1,
  146. type: "length",
  147. base: math.unit(7, "feet")
  148. },
  149. weight: {
  150. name: "Weight",
  151. power: 3,
  152. type: "mass",
  153. base: math.unit(100, "kg")
  154. }
  155. },
  156. image: {
  157. source: "./media/characters/march/front.svg"
  158. },
  159. name: "Front"
  160. },
  161. foot: {
  162. attributes: {
  163. height: {
  164. name: "Height",
  165. power: 1,
  166. type: "length",
  167. base: math.unit(0.9, "feet")
  168. }
  169. },
  170. image: {
  171. source: "./media/characters/march/foot.svg"
  172. },
  173. name: "Foot"
  174. }
  175. };
  176. const entity = makeEntity("March", "March-Dragon", views);
  177. entity.defaults.push({
  178. name: "Normal",
  179. height: math.unit(7.9, "feet")
  180. });
  181. entity.defaults.push({
  182. name: "Macro",
  183. height: math.unit(220, "meters")
  184. });
  185. entity.defaults.push({
  186. name: "Megamacro",
  187. height: math.unit(2.98, "km")
  188. });
  189. entity.defaults.push({
  190. name: "Gigamacro",
  191. height: math.unit(15963, "km")
  192. });
  193. entity.defaults.push({
  194. name: "Teramacro",
  195. height: math.unit(2980000000, "kilometers")
  196. });
  197. entity.defaults.push({
  198. name: "Examacro",
  199. height: math.unit(250, "parsecs")
  200. });
  201. entity.views.front.height = math.unit(2.98, "km");
  202. return entity;
  203. }
  204. function makeNoir() {
  205. const views = {
  206. front: {
  207. attributes: {
  208. height: {
  209. name: "Height",
  210. power: 1,
  211. type: "length",
  212. base: math.unit(6, "feet")
  213. },
  214. weight: {
  215. name: "Weight",
  216. power: 3,
  217. type: "mass",
  218. base: math.unit(60, "kg")
  219. }
  220. },
  221. image: {
  222. source: "./media/characters/noir/front.svg",
  223. bottom: 0.01
  224. },
  225. name: "Front"
  226. }
  227. };
  228. const entity = makeEntity("Noir", "March-Dragon", views);
  229. entity.defaults.push({
  230. name: "Normal",
  231. height: math.unit(6.6, "feet")
  232. });
  233. entity.defaults.push({
  234. name: "Macro",
  235. height: math.unit(500, "feet")
  236. });
  237. entity.defaults.push({
  238. name: "Megamacro",
  239. height: math.unit(2.5, "km")
  240. });
  241. entity.defaults.push({
  242. name: "Gigamacro",
  243. height: math.unit(22500, "km")
  244. });
  245. entity.defaults.push({
  246. name: "Teramacro",
  247. height: math.unit(2500000000, "kilometers")
  248. });
  249. entity.defaults.push({
  250. name: "Examacro",
  251. height: math.unit(200, "parsecs")
  252. });
  253. entity.views.front.height = math.unit(2.5, "km");
  254. return entity;
  255. }
  256. function makeOkuri() {
  257. const views = {
  258. front: {
  259. attributes: {
  260. height: {
  261. name: "Height",
  262. power: 1,
  263. type: "length",
  264. base: math.unit(7, "feet")
  265. },
  266. weight: {
  267. name: "Weight",
  268. power: 3,
  269. type: "mass",
  270. base: math.unit(100, "kg")
  271. }
  272. },
  273. image: {
  274. source: "./media/characters/okuri/front.svg"
  275. },
  276. name: "Front"
  277. },
  278. back: {
  279. attributes: {
  280. height: {
  281. name: "Height",
  282. power: 1,
  283. type: "length",
  284. base: math.unit(7, "feet")
  285. },
  286. weight: {
  287. name: "Weight",
  288. power: 3,
  289. type: "mass",
  290. base: math.unit(100, "kg")
  291. }
  292. },
  293. image: {
  294. source: "./media/characters/okuri/back.svg"
  295. },
  296. name: "Back"
  297. }
  298. };
  299. const entity = makeEntity("Okuri", "OrionMechadragon", views);
  300. entity.views.front.height = math.unit(100, "miles");
  301. return entity;
  302. }
  303. function makeManny() {
  304. const views = {
  305. front: {
  306. attributes: {
  307. height: {
  308. name: "Height",
  309. power: 1,
  310. type: "length",
  311. base: math.unit(7, "feet")
  312. },
  313. weight: {
  314. name: "Weight",
  315. power: 3,
  316. type: "mass",
  317. base: math.unit(100, "kg")
  318. }
  319. },
  320. image: {
  321. source: "./media/characters/manny/front.svg"
  322. },
  323. name: "Front"
  324. },
  325. back: {
  326. attributes: {
  327. height: {
  328. name: "Height",
  329. power: 1,
  330. type: "length",
  331. base: math.unit(7, "feet")
  332. },
  333. weight: {
  334. name: "Weight",
  335. power: 3,
  336. type: "mass",
  337. base: math.unit(100, "kg")
  338. }
  339. },
  340. image: {
  341. source: "./media/characters/manny/back.svg"
  342. },
  343. name: "Back"
  344. }
  345. };
  346. const entity = makeEntity("Manny", "Dialuca01", views);
  347. entity.defaults.push({
  348. name: "Normal",
  349. height: math.unit(7, "feet")
  350. });
  351. entity.defaults.push({
  352. name: "Macro",
  353. height: math.unit(78, "feet")
  354. });
  355. entity.defaults.push({
  356. name: "Macro+",
  357. height: math.unit(300, "meters")
  358. });
  359. entity.defaults.push({
  360. name: "Megamacro",
  361. height: math.unit(5167, "meters")
  362. });
  363. entity.defaults.push({
  364. name: "Gigamacro",
  365. height: math.unit(41769, "miles")
  366. });
  367. entity.views.front.height = math.unit(78, "feet");
  368. return entity;
  369. }
  370. function makeAdake() {
  371. const views = {
  372. front: {
  373. attributes: {
  374. height: {
  375. name: "Height",
  376. power: 1,
  377. type: "length",
  378. base: math.unit(7, "feet")
  379. },
  380. weight: {
  381. name: "Weight",
  382. power: 3,
  383. type: "mass",
  384. base: math.unit(100, "kg")
  385. }
  386. },
  387. image: {
  388. source: "./media/characters/adake/front-1.svg"
  389. },
  390. name: "Front"
  391. },
  392. frontAlt: {
  393. attributes: {
  394. height: {
  395. name: "Height",
  396. power: 1,
  397. type: "length",
  398. base: math.unit(7, "feet")
  399. },
  400. weight: {
  401. name: "Weight",
  402. power: 3,
  403. type: "mass",
  404. base: math.unit(100, "kg")
  405. }
  406. },
  407. image: {
  408. source: "./media/characters/adake/front-2.svg",
  409. bottom: 0.005
  410. },
  411. name: "Front (Alt)"
  412. },
  413. back: {
  414. attributes: {
  415. height: {
  416. name: "Height",
  417. power: 1,
  418. type: "length",
  419. base: math.unit(7, "feet")
  420. },
  421. weight: {
  422. name: "Weight",
  423. power: 3,
  424. type: "mass",
  425. base: math.unit(100, "kg")
  426. }
  427. },
  428. image: {
  429. source: "./media/characters/adake/back.svg",
  430. },
  431. name: "Back"
  432. },
  433. kneel: {
  434. attributes: {
  435. height: {
  436. name: "Height",
  437. power: 1,
  438. type: "length",
  439. base: math.unit(5.385, "feet")
  440. },
  441. weight: {
  442. name: "Weight",
  443. power: 3,
  444. type: "mass",
  445. base: math.unit(100, "kg")
  446. }
  447. },
  448. image: {
  449. source: "./media/characters/adake/kneel.svg",
  450. bottom: 0.05
  451. },
  452. name: "Kneeling"
  453. },
  454. };
  455. const entity = makeEntity("Adake", "Dialuca01", views);
  456. entity.defaults.push({
  457. name: "Normal",
  458. height: math.unit(7, "feet")
  459. });
  460. entity.defaults.push({
  461. name: "Macro",
  462. height: math.unit(78, "feet")
  463. });
  464. entity.defaults.push({
  465. name: "Macro+",
  466. height: math.unit(300, "meters")
  467. });
  468. entity.defaults.push({
  469. name: "Megamacro",
  470. height: math.unit(5167, "meters")
  471. });
  472. entity.defaults.push({
  473. name: "Gigamacro",
  474. height: math.unit(41769, "miles")
  475. });
  476. entity.views.front.height = math.unit(78, "feet");
  477. return entity;
  478. }
  479. function makeElijah() {
  480. const views = {
  481. side: {
  482. attributes: {
  483. height: {
  484. name: "Height",
  485. power: 1,
  486. type: "length",
  487. base: math.unit(7, "feet")
  488. },
  489. weight: {
  490. name: "Weight",
  491. power: 3,
  492. type: "mass",
  493. base: math.unit(50, "kg")
  494. }
  495. },
  496. image: {
  497. source: "./media/characters/elijah/side.svg",
  498. bottom: 0.01
  499. },
  500. name: "Side"
  501. },
  502. foot: {
  503. attributes: {
  504. height: {
  505. name: "Height",
  506. power: 1,
  507. type: "length",
  508. base: math.unit(2, "feet")
  509. }
  510. },
  511. image: {
  512. source: "./media/characters/elijah/foot.svg",
  513. },
  514. name: "Foot"
  515. }
  516. };
  517. const entity = makeEntity("Elijah", "Elijah", views);
  518. entity.defaults.push({
  519. name: "Normal",
  520. height: math.unit(1.65, "meters")
  521. });
  522. entity.defaults.push({
  523. name: "Macro",
  524. height: math.unit(55, "meters")
  525. });
  526. entity.defaults.push({
  527. name: "Macro+",
  528. height: math.unit(105, "meters")
  529. });
  530. entity.views.side.height = math.unit(55, "meters");
  531. return entity;
  532. }
  533. function makeRai() {
  534. const views = {
  535. front: {
  536. attributes: {
  537. height: {
  538. name: "Height",
  539. power: 1,
  540. type: "length",
  541. base: math.unit(7, "feet")
  542. },
  543. weight: {
  544. name: "Weight",
  545. power: 3,
  546. type: "mass",
  547. base: math.unit(80, "kg")
  548. }
  549. },
  550. image: {
  551. source: "./media/characters/rai/front.svg"
  552. },
  553. name: "Front"
  554. },
  555. side: {
  556. attributes: {
  557. height: {
  558. name: "Height",
  559. power: 1,
  560. type: "length",
  561. base: math.unit(7, "feet")
  562. },
  563. weight: {
  564. name: "Weight",
  565. power: 3,
  566. type: "mass",
  567. base: math.unit(80, "kg")
  568. }
  569. },
  570. image: {
  571. source: "./media/characters/rai/side.svg"
  572. },
  573. name: "Side"
  574. },
  575. back: {
  576. attributes: {
  577. height: {
  578. name: "Height",
  579. power: 1,
  580. type: "length",
  581. base: math.unit(7, "feet")
  582. },
  583. weight: {
  584. name: "Weight",
  585. power: 3,
  586. type: "mass",
  587. base: math.unit(80, "kg")
  588. }
  589. },
  590. image: {
  591. source: "./media/characters/rai/back.svg"
  592. },
  593. name: "Back"
  594. }
  595. };
  596. const entity = makeEntity("Rai", "shadowblade945", views);
  597. entity.views.front.height = math.unit(302, "feet");
  598. return entity;
  599. }
  600. function makeJazzy() {
  601. const views = {
  602. front: {
  603. attributes: {
  604. height: {
  605. name: "Height",
  606. power: 1,
  607. type: "length",
  608. base: math.unit(7, "feet")
  609. },
  610. weight: {
  611. name: "Weight",
  612. power: 3,
  613. type: "mass",
  614. base: math.unit(80, "kg")
  615. }
  616. },
  617. image: {
  618. source: "./media/characters/jazzy/front.svg",
  619. bottom: 0.01
  620. },
  621. name: "Front"
  622. },
  623. back: {
  624. attributes: {
  625. height: {
  626. name: "Height",
  627. power: 1,
  628. type: "length",
  629. base: math.unit(7, "feet")
  630. },
  631. weight: {
  632. name: "Weight",
  633. power: 3,
  634. type: "mass",
  635. base: math.unit(80, "kg")
  636. }
  637. },
  638. image: {
  639. source: "./media/characters/jazzy/back.svg"
  640. },
  641. name: "Back"
  642. }
  643. };
  644. const entity = makeEntity("Jazzy", "Jazzywolf", views);
  645. entity.views.front.height = math.unit(216, "feet");
  646. return entity;
  647. }
  648. function makeFlamm() {
  649. const views = {
  650. front: {
  651. attributes: {
  652. height: {
  653. name: "Height",
  654. power: 1,
  655. type: "length",
  656. base: math.unit(7, "feet")
  657. },
  658. weight: {
  659. name: "Weight",
  660. power: 3,
  661. type: "mass",
  662. base: math.unit(80, "kg")
  663. }
  664. },
  665. image: {
  666. source: "./media/characters/flamm/front.svg"
  667. },
  668. name: "Front"
  669. }
  670. };
  671. const entity = makeEntity("Flamm", "Flamm", views);
  672. entity.defaults.push({
  673. name: "Normal",
  674. height: math.unit(9.5, "feet")
  675. });
  676. entity.defaults.push({
  677. name: "Macro",
  678. height: math.unit(200, "feet")
  679. });
  680. entity.views.front.height = math.unit(200, "feet");
  681. return entity;
  682. }
  683. function makeZephiro() {
  684. const views = {
  685. front: {
  686. attributes: {
  687. height: {
  688. name: "Height",
  689. power: 1,
  690. type: "length",
  691. base: math.unit(7, "feet")
  692. },
  693. weight: {
  694. name: "Weight",
  695. power: 3,
  696. type: "mass",
  697. base: math.unit(80, "kg")
  698. }
  699. },
  700. image: {
  701. source: "./media/characters/zephiro/front.svg"
  702. },
  703. name: "Front"
  704. },
  705. side: {
  706. attributes: {
  707. height: {
  708. name: "Height",
  709. power: 1,
  710. type: "length",
  711. base: math.unit(7, "feet")
  712. },
  713. weight: {
  714. name: "Weight",
  715. power: 3,
  716. type: "mass",
  717. base: math.unit(80, "kg")
  718. }
  719. },
  720. image: {
  721. source: "./media/characters/zephiro/side.svg"
  722. },
  723. name: "Side"
  724. },
  725. back: {
  726. attributes: {
  727. height: {
  728. name: "Height",
  729. power: 1,
  730. type: "length",
  731. base: math.unit(7, "feet")
  732. },
  733. weight: {
  734. name: "Weight",
  735. power: 3,
  736. type: "mass",
  737. base: math.unit(80, "kg")
  738. }
  739. },
  740. image: {
  741. source: "./media/characters/zephiro/back.svg"
  742. },
  743. name: "Back"
  744. }
  745. };
  746. const entity = makeEntity("Zephiro", "Zephiro", views);
  747. entity.views.front.height = math.unit(118, "feet");
  748. entity.defaults.push({
  749. name: "Micro",
  750. height: math.unit(3, "inches")
  751. });
  752. entity.defaults.push({
  753. name: "Normal",
  754. height: math.unit(5 + 3/12, "feet")
  755. });
  756. entity.defaults.push({
  757. name: "Macro",
  758. height: math.unit(118, "feet")
  759. });
  760. return entity;
  761. }
  762. function makeFory() {
  763. const views = {
  764. front: {
  765. attributes: {
  766. height: {
  767. name: "Height",
  768. power: 1,
  769. type: "length",
  770. base: math.unit(7, "feet")
  771. },
  772. weight: {
  773. name: "Weight",
  774. power: 3,
  775. type: "mass",
  776. base: math.unit(90, "kg")
  777. }
  778. },
  779. image: {
  780. source: "./media/characters/fory/front.svg"
  781. },
  782. name: "Front"
  783. }
  784. };
  785. const entity = makeEntity("Fory", "Manny", views);
  786. entity.defaults.push({
  787. name: "Normal",
  788. height: math.unit(5, "feet")
  789. });
  790. entity.defaults.push({
  791. name: "Macro",
  792. height: math.unit(50, "feet")
  793. });
  794. entity.views.front.height = math.unit(50, "feet");
  795. return entity;
  796. }
  797. function makeKurrikage() {
  798. const views = {
  799. front: {
  800. attributes: {
  801. height: {
  802. name: "Height",
  803. power: 1,
  804. type: "length",
  805. base: math.unit(7, "feet")
  806. },
  807. weight: {
  808. name: "Weight",
  809. power: 3,
  810. type: "mass",
  811. base: math.unit(90, "kg")
  812. }
  813. },
  814. image: {
  815. source: "./media/characters/kurrikage/front.svg"
  816. },
  817. name: "Front"
  818. },
  819. back: {
  820. attributes: {
  821. height: {
  822. name: "Height",
  823. power: 1,
  824. type: "length",
  825. base: math.unit(7, "feet")
  826. },
  827. weight: {
  828. name: "Weight",
  829. power: 3,
  830. type: "mass",
  831. base: math.unit(90, "kg")
  832. }
  833. },
  834. image: {
  835. source: "./media/characters/kurrikage/back.svg"
  836. },
  837. name: "Back"
  838. },
  839. paw: {
  840. attributes: {
  841. height: {
  842. name: "Height",
  843. power: 1,
  844. type: "length",
  845. base: math.unit(1.5, "feet")
  846. }
  847. },
  848. image: {
  849. source: "./media/characters/kurrikage/paw.svg"
  850. },
  851. name: "Paw"
  852. },
  853. staff: {
  854. attributes: {
  855. height: {
  856. name: "Height",
  857. power: 1,
  858. type: "length",
  859. base: math.unit(6.7, "feet")
  860. }
  861. },
  862. image: {
  863. source: "./media/characters/kurrikage/staff.svg"
  864. },
  865. name: "Staff"
  866. },
  867. peek: {
  868. attributes: {
  869. height: {
  870. name: "Height",
  871. power: 1,
  872. type: "length",
  873. base: math.unit(1.05, "feet")
  874. }
  875. },
  876. image: {
  877. source: "./media/characters/kurrikage/peek.svg",
  878. bottom: 0.08
  879. },
  880. name: "Peeking"
  881. }
  882. };
  883. const entity = makeEntity("Kurrikage", "Kurrikage", views);
  884. entity.views.front.height = math.unit(12, "feet");
  885. return entity;
  886. }
  887. function makeShingo() {
  888. const views = {
  889. front: {
  890. attributes: {
  891. height: {
  892. name: "Height",
  893. power: 1,
  894. type: "length",
  895. base: math.unit(6, "feet")
  896. },
  897. weight: {
  898. name: "Weight",
  899. power: 3,
  900. type: "mass",
  901. base: math.unit(75, "kg")
  902. }
  903. },
  904. image: {
  905. source: "./media/characters/shingo/front.svg"
  906. },
  907. name: "Front"
  908. }
  909. };
  910. const entity = makeEntity("Shingo", "Threes", views);
  911. entity.defaults.push({
  912. name: "Micro",
  913. height: math.unit(4, "inches")
  914. });
  915. entity.defaults.push({
  916. name: "Normal",
  917. height: math.unit(6, "feet")
  918. });
  919. entity.defaults.push({
  920. name: "Macro",
  921. height: math.unit(108, "feet")
  922. });
  923. return entity;
  924. }
  925. function makeAigey() {
  926. const views = {
  927. side: {
  928. attributes: {
  929. height: {
  930. name: "Height",
  931. power: 1,
  932. type: "length",
  933. base: math.unit(6, "feet")
  934. },
  935. weight: {
  936. name: "Weight",
  937. power: 3,
  938. type: "mass",
  939. base: math.unit(75, "kg")
  940. }
  941. },
  942. image: {
  943. source: "./media/characters/aigey/side.svg"
  944. },
  945. name: "Side"
  946. }
  947. };
  948. const entity = makeEntity("Aigey", "Aigey", views);
  949. entity.defaults.push({
  950. name: "Macro",
  951. height: math.unit(200, "feet")
  952. });
  953. entity.defaults.push({
  954. name: "Megamacro",
  955. height: math.unit(100, "miles")
  956. });
  957. entity.views[entity.defaultView].height = math.unit(200, "feet");
  958. return entity;
  959. }
  960. function makeNatasha() {
  961. const views = {
  962. side: {
  963. attributes: {
  964. height: {
  965. name: "Height",
  966. power: 1,
  967. type: "length",
  968. base: math.unit(6, "feet")
  969. },
  970. weight: {
  971. name: "Weight",
  972. power: 3,
  973. type: "mass",
  974. base: math.unit(75, "kg")
  975. }
  976. },
  977. image: {
  978. source: "./media/characters/natasha/front.svg"
  979. },
  980. name: "Side"
  981. }
  982. };
  983. const entity = makeEntity("Natasha", "Natasha", views);
  984. entity.defaults.push({
  985. name: "Normal",
  986. height: math.unit(5 + 5/12, "feet")
  987. });
  988. entity.defaults.push({
  989. name: "Large",
  990. height: math.unit(12, "feet")
  991. });
  992. entity.defaults.push({
  993. name: "Macro",
  994. height: math.unit(100, "feet")
  995. });
  996. entity.defaults.push({
  997. name: "Macro+",
  998. height: math.unit(260, "feet")
  999. });
  1000. entity.defaults.push({
  1001. name: "Macro++",
  1002. height: math.unit(1, "mile")
  1003. });
  1004. entity.views[entity.defaultView].height = math.unit(100, "feet");
  1005. return entity;
  1006. }
  1007. function makeMalik() {
  1008. const views = {
  1009. front: {
  1010. attributes: {
  1011. height: {
  1012. name: "Height",
  1013. power: 1,
  1014. type: "length",
  1015. base: math.unit(6, "feet")
  1016. },
  1017. weight: {
  1018. name: "Weight",
  1019. power: 3,
  1020. type: "mass",
  1021. base: math.unit(75, "kg")
  1022. }
  1023. },
  1024. image: {
  1025. source: "./media/characters/malik/front.svg"
  1026. },
  1027. name: "Front"
  1028. },
  1029. side: {
  1030. attributes: {
  1031. height: {
  1032. name: "Height",
  1033. power: 1,
  1034. type: "length",
  1035. base: math.unit(6, "feet")
  1036. },
  1037. weight: {
  1038. name: "Weight",
  1039. power: 3,
  1040. type: "mass",
  1041. base: math.unit(75, "kg")
  1042. }
  1043. },
  1044. image: {
  1045. extra: 1.1539,
  1046. source: "./media/characters/malik/side.svg"
  1047. },
  1048. name: "Side"
  1049. },
  1050. back: {
  1051. attributes: {
  1052. height: {
  1053. name: "Height",
  1054. power: 1,
  1055. type: "length",
  1056. base: math.unit(6, "feet")
  1057. },
  1058. weight: {
  1059. name: "Weight",
  1060. power: 3,
  1061. type: "mass",
  1062. base: math.unit(75, "kg")
  1063. }
  1064. },
  1065. image: {
  1066. source: "./media/characters/malik/back.svg"
  1067. },
  1068. name: "Back"
  1069. },
  1070. };
  1071. const entity = makeEntity("Malik", "Fuzzypaws", views);
  1072. entity.defaults.push({
  1073. name: "Macro",
  1074. height: math.unit(156, "feet")
  1075. });
  1076. entity.defaults.push({
  1077. name: "Macro+",
  1078. height: math.unit(1188, "feet")
  1079. });
  1080. entity.views[entity.defaultView].height = math.unit(156, "feet");
  1081. return entity;
  1082. }
  1083. function makeSefer() {
  1084. const views = {
  1085. front: {
  1086. attributes: {
  1087. height: {
  1088. name: "Height",
  1089. power: 1,
  1090. type: "length",
  1091. base: math.unit(6, "feet")
  1092. },
  1093. weight: {
  1094. name: "Weight",
  1095. power: 3,
  1096. type: "mass",
  1097. base: math.unit(75, "kg")
  1098. }
  1099. },
  1100. image: {
  1101. source: "./media/characters/sefer/front.svg"
  1102. },
  1103. name: "Front"
  1104. },
  1105. back: {
  1106. attributes: {
  1107. height: {
  1108. name: "Height",
  1109. power: 1,
  1110. type: "length",
  1111. base: math.unit(6, "feet")
  1112. },
  1113. weight: {
  1114. name: "Weight",
  1115. power: 3,
  1116. type: "mass",
  1117. base: math.unit(75, "kg")
  1118. }
  1119. },
  1120. image: {
  1121. source: "./media/characters/sefer/back.svg"
  1122. },
  1123. name: "Back"
  1124. },
  1125. };
  1126. const entity = makeEntity("Sefer", "Fuzzypaws", views);
  1127. entity.views[entity.defaultView].height = math.unit(6, "feet");
  1128. return entity;
  1129. }
  1130. function makeMan() {
  1131. const views = {
  1132. body: {
  1133. attributes: {
  1134. height: {
  1135. name: "Height",
  1136. power: 1,
  1137. type: "length",
  1138. base: math.unit(2, "meter")
  1139. },
  1140. weight: {
  1141. name: "Weight",
  1142. power: 3,
  1143. type: "mass",
  1144. base: math.unit(80, "kg")
  1145. }
  1146. },
  1147. image: {
  1148. source: "./man.svg"
  1149. },
  1150. name: "Body"
  1151. }
  1152. };
  1153. return makeEntity("Normal Man", "Fen", views);
  1154. }
  1155. characterMakers["North"] = () => {
  1156. return makeCharacter(
  1157. "North",
  1158. "chemicalcrux",
  1159. {
  1160. body: {
  1161. height: math.unit(2.2428, "meter"),
  1162. weight: math.unit(124.738, "kg"),
  1163. name: "Body",
  1164. image: {
  1165. extra: 1225/1050,
  1166. source: "./media/characters/north/front.svg"
  1167. }
  1168. }
  1169. },
  1170. [
  1171. {
  1172. name: "Micro",
  1173. height: math.unit(4, "inches")
  1174. },
  1175. {
  1176. name: "Macro",
  1177. height: math.unit(63, "meters")
  1178. },
  1179. {
  1180. name: "Megamacro",
  1181. height: math.unit(101, "miles")
  1182. }
  1183. ],
  1184. math.unit(101, "miles")
  1185. )
  1186. };
  1187. characterMakers["Talan"] = () => {
  1188. return makeCharacter(
  1189. "Talan",
  1190. "talanstrider",
  1191. {
  1192. body: {
  1193. height: math.unit(2, "meter"),
  1194. weight: math.unit(70, "kg"),
  1195. name: "Body",
  1196. image: {
  1197. bottom: 0.02,
  1198. source: "./media/characters/talan/front.svg"
  1199. }
  1200. }
  1201. },
  1202. [
  1203. {
  1204. name: "Normal",
  1205. height: math.unit(4, "meters")
  1206. },
  1207. {
  1208. name: "Macro",
  1209. height: math.unit(100, "meters")
  1210. },
  1211. {
  1212. name: "Megamacro",
  1213. height: math.unit(2, "miles")
  1214. },
  1215. {
  1216. name: "Gigamacro",
  1217. height: math.unit(5000, "miles")
  1218. },
  1219. {
  1220. name: "Teramacro",
  1221. height: math.unit(100, "parsecs")
  1222. }
  1223. ],
  1224. math.unit(2, "miles")
  1225. )
  1226. };
  1227. characterMakers["Gael'Rathus"] = () => {
  1228. return makeCharacter(
  1229. "Gael'Rathus",
  1230. "Kurrikage",
  1231. {
  1232. front: {
  1233. height: math.unit(2, "meter"),
  1234. weight: math.unit(90, "kg"),
  1235. name: "Front",
  1236. image: {
  1237. source: "./media/characters/gael'rathus/front.svg"
  1238. }
  1239. },
  1240. frontAlt: {
  1241. height: math.unit(2, "meter"),
  1242. weight: math.unit(90, "kg"),
  1243. name: "Front (alt)",
  1244. image: {
  1245. source: "./media/characters/gael'rathus/front-alt.svg"
  1246. }
  1247. },
  1248. frontAlt2: {
  1249. height: math.unit(2, "meter"),
  1250. weight: math.unit(90, "kg"),
  1251. name: "Front (alt 2)",
  1252. image: {
  1253. source: "./media/characters/gael'rathus/front-alt-2.svg"
  1254. }
  1255. }
  1256. },
  1257. [
  1258. {
  1259. name: "Normal",
  1260. height: math.unit(9, "feet")
  1261. },
  1262. {
  1263. name: "Large",
  1264. height: math.unit(25, "feet")
  1265. },
  1266. {
  1267. name: "Macro",
  1268. height: math.unit(0.25, "miles")
  1269. },
  1270. {
  1271. name: "Megamacro",
  1272. height: math.unit(10, "miles")
  1273. }
  1274. ],
  1275. math.unit(9, "feet")
  1276. )
  1277. };
  1278. characterMakers["Sosha"] = () => {
  1279. return makeCharacter(
  1280. "Sosha",
  1281. "Sdocat",
  1282. {
  1283. side: {
  1284. height: math.unit(2, "meter"),
  1285. weight: math.unit(140, "kg"),
  1286. name: "Side",
  1287. image: {
  1288. source: "./media/characters/sosha/side.svg"
  1289. }
  1290. },
  1291. },
  1292. [
  1293. {
  1294. name: "Normal",
  1295. height: math.unit(12, "feet")
  1296. }
  1297. ],
  1298. math.unit(12, "feet")
  1299. )
  1300. };
  1301. characterMakers["Kurribird"] = () => {
  1302. return makeCharacter(
  1303. "Kurribird",
  1304. "Kurrikage",
  1305. {
  1306. front: {
  1307. height: math.unit(2, "meter"),
  1308. weight: math.unit(50, "kg"),
  1309. name: "Front",
  1310. image: {
  1311. source: "./media/characters/kurribird/front.svg",
  1312. bottom: 0.015
  1313. }
  1314. },
  1315. frontAlt: {
  1316. height: math.unit(1.5, "meter"),
  1317. weight: math.unit(50, "kg"),
  1318. name: "Front (Alt)",
  1319. image: {
  1320. source: "./media/characters/kurribird/front-alt.svg",
  1321. extra: 1.45
  1322. }
  1323. },
  1324. },
  1325. [
  1326. {
  1327. name: "Normal",
  1328. height: math.unit(7, "feet")
  1329. },
  1330. {
  1331. name: "Big",
  1332. height: math.unit(15, "feet")
  1333. },
  1334. {
  1335. name: "Macro",
  1336. height: math.unit(1500, "feet")
  1337. },
  1338. {
  1339. name: "Megamacro",
  1340. height: math.unit(2, "miles")
  1341. }
  1342. ],
  1343. math.unit(12, "feet")
  1344. )
  1345. };
  1346. characterMakers["Elbial"] = () => {
  1347. return makeCharacter(
  1348. "Elbial",
  1349. "Neopuc",
  1350. {
  1351. front: {
  1352. height: math.unit(2, "meter"),
  1353. weight: math.unit(80, "kg"),
  1354. name: "Front",
  1355. image: {
  1356. source: "./media/characters/elbial/front.svg"
  1357. }
  1358. },
  1359. side: {
  1360. height: math.unit(2, "meter"),
  1361. weight: math.unit(80, "kg"),
  1362. name: "Side",
  1363. image: {
  1364. source: "./media/characters/elbial/side.svg"
  1365. }
  1366. },
  1367. back: {
  1368. height: math.unit(2, "meter"),
  1369. weight: math.unit(80, "kg"),
  1370. name: "Back",
  1371. image: {
  1372. source: "./media/characters/elbial/back.svg"
  1373. }
  1374. },
  1375. },
  1376. [
  1377. {
  1378. name: "Large",
  1379. height: math.unit(100, "feet")
  1380. },
  1381. {
  1382. name: "Macro",
  1383. height: math.unit(500, "feet")
  1384. },
  1385. {
  1386. name: "Megamacro",
  1387. height: math.unit(10, "miles")
  1388. },
  1389. {
  1390. name: "Gigamacro",
  1391. height: math.unit(25000, "miles")
  1392. },
  1393. {
  1394. name: "Full-Size",
  1395. height: math.unit(8000000, "gigaparsecs")
  1396. }
  1397. ],
  1398. math.unit(500, "feet")
  1399. )
  1400. };
  1401. characterMakers["Noah"] = () => {
  1402. return makeCharacter(
  1403. "Noah",
  1404. "Neopuc",
  1405. {
  1406. front: {
  1407. height: math.unit(2, "meter"),
  1408. weight: math.unit(60, "kg"),
  1409. name: "Front",
  1410. image: {
  1411. source: "./media/characters/noah/front.svg"
  1412. }
  1413. },
  1414. talons: {
  1415. height: math.unit(0.315, "meter"),
  1416. name: "Talons",
  1417. image: {
  1418. source: "./media/characters/noah/talons.svg"
  1419. }
  1420. }
  1421. },
  1422. [
  1423. {
  1424. name: "Large",
  1425. height: math.unit(50, "feet")
  1426. },
  1427. {
  1428. name: "Macro",
  1429. height: math.unit(750, "feet")
  1430. },
  1431. {
  1432. name: "Megamacro",
  1433. height: math.unit(50, "miles")
  1434. },
  1435. {
  1436. name: "Gigamacro",
  1437. height: math.unit(100000, "miles")
  1438. },
  1439. {
  1440. name: "Full-Size",
  1441. height: math.unit(3000000000, "miles")
  1442. }
  1443. ],
  1444. math.unit(750, "feet")
  1445. )
  1446. };
  1447. characterMakers["Natalya"] = () => {
  1448. return makeCharacter(
  1449. "Natalya",
  1450. "Neopuc",
  1451. {
  1452. front: {
  1453. height: math.unit(2, "meter"),
  1454. weight: math.unit(80, "kg"),
  1455. name: "Front",
  1456. image: {
  1457. source: "./media/characters/natalya/front.svg"
  1458. }
  1459. },
  1460. back: {
  1461. height: math.unit(2, "meter"),
  1462. weight: math.unit(80, "kg"),
  1463. name: "Back",
  1464. image: {
  1465. source: "./media/characters/natalya/back.svg"
  1466. }
  1467. }
  1468. },
  1469. [
  1470. {
  1471. name: "Normal",
  1472. height: math.unit(150, "feet")
  1473. },
  1474. {
  1475. name: "Megamacro",
  1476. height: math.unit(5, "miles")
  1477. },
  1478. {
  1479. name: "Full-Size",
  1480. height: math.unit(600, "kiloparsecs")
  1481. }
  1482. ],
  1483. math.unit(150, "feet")
  1484. )
  1485. };
  1486. characterMakers["Erestrebah"] = () => {
  1487. return makeCharacter(
  1488. "Erestrebah",
  1489. "Kurrikage",
  1490. {
  1491. front: {
  1492. height: math.unit(2, "meter"),
  1493. weight: math.unit(50, "kg"),
  1494. name: "Front",
  1495. image: {
  1496. source: "./media/characters/erestrebah/front.svg"
  1497. }
  1498. },
  1499. back: {
  1500. height: math.unit(2, "meter"),
  1501. weight: math.unit(50, "kg"),
  1502. name: "Back",
  1503. image: {
  1504. source: "./media/characters/erestrebah/back.svg",
  1505. extra: 1.2139
  1506. }
  1507. }
  1508. },
  1509. [
  1510. {
  1511. name: "Normal",
  1512. height: math.unit(10, "feet")
  1513. },
  1514. {
  1515. name: "Large",
  1516. height: math.unit(50, "feet")
  1517. },
  1518. {
  1519. name: "Macro",
  1520. height: math.unit(300, "feet")
  1521. },
  1522. {
  1523. name: "Macro+",
  1524. height: math.unit(750, "feet")
  1525. },
  1526. {
  1527. name: "Megamacro",
  1528. height: math.unit(3, "miles")
  1529. }
  1530. ],
  1531. math.unit(50, "feet")
  1532. )
  1533. };
  1534. characterMakers["Jennifer"] = () => {
  1535. return makeCharacter(
  1536. "Jennifer",
  1537. "Neopuc",
  1538. {
  1539. front: {
  1540. height: math.unit(2, "meter"),
  1541. weight: math.unit(80, "kg"),
  1542. name: "Front",
  1543. image: {
  1544. source: "./media/characters/jennifer/front.svg",
  1545. bottom: 0.11,
  1546. extra: 1.16
  1547. }
  1548. },
  1549. frontAlt: {
  1550. height: math.unit(2, "meter"),
  1551. weight: math.unit(80, "kg"),
  1552. name: "Front (Alt)",
  1553. image: {
  1554. source: "./media/characters/jennifer/front-alt.svg"
  1555. }
  1556. }
  1557. },
  1558. [
  1559. {
  1560. name: "Canon Height",
  1561. height: math.unit(120, "feet")
  1562. },
  1563. {
  1564. name: "Macro+",
  1565. height: math.unit(300, "feet")
  1566. },
  1567. {
  1568. name: "Megamacro",
  1569. height: math.unit(20000, "feet")
  1570. }
  1571. ],
  1572. math.unit(120, "feet")
  1573. )
  1574. };
  1575. characterMakers["Kalista"] = () => {
  1576. return makeCharacter(
  1577. "Kalista",
  1578. "Kalista",
  1579. {
  1580. front: {
  1581. height: math.unit(2, "meter"),
  1582. weight: math.unit(50, "kg"),
  1583. name: "Front",
  1584. image: {
  1585. source: "./media/characters/kalista/front.svg"
  1586. }
  1587. },
  1588. back: {
  1589. height: math.unit(2, "meter"),
  1590. weight: math.unit(50, "kg"),
  1591. name: "Back",
  1592. image: {
  1593. source: "./media/characters/kalista/back.svg"
  1594. }
  1595. }
  1596. },
  1597. [
  1598. {
  1599. name: "Uncomfortably Small",
  1600. height: math.unit(10, "feet")
  1601. },
  1602. {
  1603. name: "Small",
  1604. height: math.unit(30, "feet")
  1605. },
  1606. {
  1607. name: "Macro",
  1608. height: math.unit(100, "feet")
  1609. },
  1610. {
  1611. name: "Macro+",
  1612. height: math.unit(2000, "feet")
  1613. },
  1614. {
  1615. name: "True Form",
  1616. height: math.unit(8924, "miles")
  1617. }
  1618. ],
  1619. math.unit(100, "feet")
  1620. )
  1621. };
  1622. characterMakers["GiantGrowingVixen"] = () => {
  1623. return makeCharacter(
  1624. "GiantGrowingVixen",
  1625. "GiantGrowingVixen",
  1626. {
  1627. front: {
  1628. height: math.unit(2, "meter"),
  1629. weight: math.unit(120, "kg"),
  1630. name: "Front",
  1631. image: {
  1632. source: "./media/characters/ggv/front.svg"
  1633. }
  1634. },
  1635. side: {
  1636. height: math.unit(2, "meter"),
  1637. weight: math.unit(120, "kg"),
  1638. name: "Side",
  1639. image: {
  1640. source: "./media/characters/ggv/side.svg"
  1641. }
  1642. }
  1643. },
  1644. [
  1645. {
  1646. name: "Extremely Puny",
  1647. height: math.unit(9 + 5/12, "feet")
  1648. },
  1649. {
  1650. name: "Horribly Small",
  1651. height: math.unit(47.7, "miles")
  1652. },
  1653. {
  1654. name: "Reasonably Sized",
  1655. height: math.unit(25000, "parsecs")
  1656. }
  1657. ],
  1658. math.unit(47.7, "miles")
  1659. )
  1660. };
  1661. characterMakers["Napalm"] = () => {
  1662. return makeCharacter(
  1663. "Napalm",
  1664. "RathDaKrogan",
  1665. {
  1666. front: {
  1667. height: math.unit(2, "meter"),
  1668. weight: math.unit(75, "lb"),
  1669. name: "Front",
  1670. image: {
  1671. source: "./media/characters/napalm/front.svg"
  1672. }
  1673. },
  1674. back: {
  1675. height: math.unit(2, "meter"),
  1676. weight: math.unit(75, "lb"),
  1677. name: "Back",
  1678. image: {
  1679. source: "./media/characters/napalm/back.svg"
  1680. }
  1681. }
  1682. },
  1683. [
  1684. {
  1685. name: "Standard",
  1686. height: math.unit(55, "feet")
  1687. }
  1688. ],
  1689. math.unit(55, "feet")
  1690. )
  1691. };
  1692. characterMakers["Asana"] = () => {
  1693. return makeCharacter(
  1694. "Asana",
  1695. "Asana",
  1696. {
  1697. front: {
  1698. height: math.unit(7 + 5/6, "feet"),
  1699. weight: math.unit(325, "lb"),
  1700. name: "Front",
  1701. image: {
  1702. source: "./media/characters/asana/front.svg",
  1703. extra: 1128/1068
  1704. }
  1705. },
  1706. back: {
  1707. height: math.unit(7 + 5/6, "feet"),
  1708. weight: math.unit(325, "lb"),
  1709. name: "Back",
  1710. image: {
  1711. source: "./media/characters/asana/back.svg",
  1712. extra: 1128/1068
  1713. }
  1714. },
  1715. },
  1716. [
  1717. {
  1718. name: "Standard",
  1719. height: math.unit(7 + 5/6, "feet")
  1720. },
  1721. {
  1722. name: "Large",
  1723. height: math.unit(10, "meters")
  1724. },
  1725. {
  1726. name: "Macro",
  1727. height: math.unit(2500, "meters")
  1728. },
  1729. {
  1730. name: "Megamacro",
  1731. height: math.unit(5e6, "meters")
  1732. },
  1733. {
  1734. name: "Examacro",
  1735. height: math.unit(5e12, "lightyears")
  1736. }
  1737. ],
  1738. math.unit(7 + 5/6, "feet")
  1739. )
  1740. };
  1741. characterMakers["Ebony"] = () => {
  1742. return makeCharacter(
  1743. "Ebony",
  1744. "Lazerwolf",
  1745. {
  1746. front: {
  1747. height: math.unit(2, "meter"),
  1748. weight: math.unit(60, "kg"),
  1749. name: "Front",
  1750. image: {
  1751. source: "./media/characters/ebony/front.svg",
  1752. bottom: 0.03,
  1753. extra: 1045/810 + 0.03
  1754. }
  1755. },
  1756. side: {
  1757. height: math.unit(2, "meter"),
  1758. weight: math.unit(60, "kg"),
  1759. name: "Side",
  1760. image: {
  1761. source: "./media/characters/ebony/side.svg",
  1762. bottom: 0.03,
  1763. extra: 1045/810 + 0.03
  1764. }
  1765. },
  1766. back: {
  1767. height: math.unit(2, "meter"),
  1768. weight: math.unit(60, "kg"),
  1769. name: "Back",
  1770. image: {
  1771. source: "./media/characters/ebony/back.svg",
  1772. bottom: 0.01,
  1773. extra: 1045/810 + 0.01
  1774. }
  1775. },
  1776. },
  1777. [
  1778. {
  1779. name: "Standard",
  1780. height: math.unit(9/8 * (7 + 5/12), "feet")
  1781. },
  1782. {
  1783. name: "Macro",
  1784. height: math.unit(200, "feet")
  1785. },
  1786. {
  1787. name: "Gigamacro",
  1788. height: math.unit(13000, "km")
  1789. }
  1790. ],
  1791. math.unit(7 + 5/12, "feet")
  1792. )
  1793. };
  1794. characterMakers["Mountain"] = () => {
  1795. return makeCharacter(
  1796. "Mountain",
  1797. "Asana",
  1798. {
  1799. front: {
  1800. height: math.unit(6, "feet"),
  1801. weight: math.unit(175, "lb"),
  1802. name: "Front",
  1803. image: {
  1804. source: "./media/characters/mountain/front.svg"
  1805. }
  1806. },
  1807. back: {
  1808. height: math.unit(6, "feet"),
  1809. weight: math.unit(175, "lb"),
  1810. name: "Back",
  1811. image: {
  1812. source: "./media/characters/mountain/back.svg"
  1813. }
  1814. },
  1815. },
  1816. [
  1817. {
  1818. name: "Large",
  1819. height: math.unit(20, "meters")
  1820. },
  1821. {
  1822. name: "Macro",
  1823. height: math.unit(300, "meters")
  1824. },
  1825. {
  1826. name: "Gigamacro",
  1827. height: math.unit(10000, "km")
  1828. },
  1829. {
  1830. name: "Examacro",
  1831. height: math.unit(10e9, "lightyears")
  1832. }
  1833. ],
  1834. math.unit(10000, "km")
  1835. )
  1836. };
  1837. characterMakers["Rick"] = () => {
  1838. return makeCharacter(
  1839. "Rick",
  1840. "Victni",
  1841. {
  1842. front: {
  1843. height: math.unit(8, "feet"),
  1844. weight: math.unit(500, "lb"),
  1845. name: "Front",
  1846. image: {
  1847. source: "./media/characters/rick/front.svg"
  1848. }
  1849. }
  1850. },
  1851. [
  1852. {
  1853. name: "Normal",
  1854. height: math.unit(8, "feet")
  1855. },
  1856. {
  1857. name: "Macro",
  1858. height: math.unit(5, "km")
  1859. }
  1860. ],
  1861. math.unit(8, "feet")
  1862. )
  1863. };
  1864. characterMakers["Ona"] = () => {
  1865. return makeCharacter(
  1866. "Ona",
  1867. "Arrogance127",
  1868. {
  1869. front: {
  1870. height: math.unit(8, "feet"),
  1871. weight: math.unit(120, "lb"),
  1872. name: "Front",
  1873. image: {
  1874. source: "./media/characters/ona/front.svg"
  1875. }
  1876. },
  1877. frontAlt: {
  1878. height: math.unit(8, "feet"),
  1879. weight: math.unit(120, "lb"),
  1880. name: "Front (Alt)",
  1881. image: {
  1882. source: "./media/characters/ona/front-alt.svg"
  1883. }
  1884. },
  1885. back: {
  1886. height: math.unit(8, "feet"),
  1887. weight: math.unit(120, "lb"),
  1888. name: "Back",
  1889. image: {
  1890. source: "./media/characters/ona/back.svg"
  1891. }
  1892. },
  1893. foot: {
  1894. height: math.unit(1.1, "feet"),
  1895. name: "Foot",
  1896. image: {
  1897. source: "./media/characters/ona/foot.svg"
  1898. }
  1899. }
  1900. },
  1901. [
  1902. {
  1903. name: "Megamacro",
  1904. height: math.unit(70, "km")
  1905. },
  1906. {
  1907. name: "Gigamacro",
  1908. height: math.unit(681818, "miles")
  1909. },
  1910. {
  1911. name: "Examacro",
  1912. height: math.unit(3800000, "lightyears")
  1913. },
  1914. ],
  1915. math.unit(70, "km")
  1916. )
  1917. };
  1918. characterMakers["Mech"] = () => {
  1919. return makeCharacter(
  1920. "Mech",
  1921. "mechEdragon",
  1922. {
  1923. front: {
  1924. height: math.unit(12, "feet"),
  1925. weight: math.unit(3000, "lb"),
  1926. name: "Front",
  1927. image: {
  1928. source: "./media/characters/mech/front.svg",
  1929. bottom: 0.025,
  1930. }
  1931. },
  1932. back: {
  1933. height: math.unit(12, "feet"),
  1934. weight: math.unit(3000, "lb"),
  1935. name: "Back",
  1936. image: {
  1937. source: "./media/characters/mech/back.svg",
  1938. bottom: 0.03,
  1939. }
  1940. }
  1941. },
  1942. [
  1943. {
  1944. name: "Normal",
  1945. height: math.unit(12, "feet")
  1946. },
  1947. {
  1948. name: "Macro",
  1949. height: math.unit(300, "feet")
  1950. },
  1951. {
  1952. name: "Macro+",
  1953. height: math.unit(1500, "feet")
  1954. },
  1955. ],
  1956. math.unit(300, "feet")
  1957. )
  1958. };
  1959. characterMakers["Gregory"] = () => {
  1960. return makeCharacter(
  1961. "Gregory",
  1962. "GregoryKlippenspringer",
  1963. {
  1964. front: {
  1965. height: math.unit(1.3, "meter"),
  1966. weight: math.unit(30, "kg"),
  1967. name: "Front",
  1968. image: {
  1969. source: "./media/characters/gregory/front.svg",
  1970. }
  1971. }
  1972. },
  1973. [
  1974. {
  1975. name: "Normal",
  1976. height: math.unit(1.3, "meter")
  1977. },
  1978. {
  1979. name: "Macro",
  1980. height: math.unit(20, "meter")
  1981. }
  1982. ],
  1983. math.unit(1.3, "meter")
  1984. )
  1985. };
  1986. characterMakers["Elory"] = () => {
  1987. return makeCharacter(
  1988. "Elory",
  1989. "GregoryKlippenspringer",
  1990. {
  1991. front: {
  1992. height: math.unit(2.8, "meter"),
  1993. weight: math.unit(200, "kg"),
  1994. name: "Front",
  1995. image: {
  1996. source: "./media/characters/elory/front.svg",
  1997. }
  1998. }
  1999. },
  2000. [
  2001. {
  2002. name: "Normal",
  2003. height: math.unit(2.8, "meter")
  2004. },
  2005. {
  2006. name: "Macro",
  2007. height: math.unit(38, "meter")
  2008. }
  2009. ],
  2010. math.unit(2.8, "meter")
  2011. )
  2012. };
  2013. characterMakers["Angelpatamon"] = () => {
  2014. return makeCharacter(
  2015. "Angelpatamon",
  2016. "GregoryKlippenspringer",
  2017. {
  2018. front: {
  2019. height: math.unit(470, "feet"),
  2020. weight: math.unit(924, "tons"),
  2021. name: "Front",
  2022. image: {
  2023. source: "./media/characters/angelpatamon/front.svg",
  2024. }
  2025. }
  2026. },
  2027. [
  2028. {
  2029. name: "Normal",
  2030. height: math.unit(470, "feet")
  2031. },
  2032. {
  2033. name: "Deity Size I",
  2034. height: math.unit(28651.2, "km")
  2035. },
  2036. {
  2037. name: "Deity Size II",
  2038. height: math.unit(171907.2, "km")
  2039. }
  2040. ],
  2041. math.unit(470, "feet")
  2042. )
  2043. };
  2044. characterMakers["Cryae"] = () => {
  2045. return makeCharacter(
  2046. "Cryae",
  2047. "GregoryKlippenspringer",
  2048. {
  2049. side: {
  2050. height: math.unit(7.2, "meter"),
  2051. weight: math.unit(8.2, "tons"),
  2052. name: "Side",
  2053. image: {
  2054. source: "./media/characters/cryae/side.svg",
  2055. extra: 3500/1500
  2056. }
  2057. }
  2058. },
  2059. [
  2060. {
  2061. name: "Normal",
  2062. height: math.unit(7.2, "meter")
  2063. }
  2064. ],
  2065. math.unit(7.2, "meter")
  2066. )
  2067. };
  2068. characterMakers["Xera"] = () => {
  2069. return makeCharacter(
  2070. "Xera",
  2071. "Asana",
  2072. {
  2073. front: {
  2074. height: math.unit(6, "feet"),
  2075. weight: math.unit(175, "lb"),
  2076. name: "Front",
  2077. image: {
  2078. source: "./media/characters/xera/front.svg",
  2079. extra: 2300/2061
  2080. }
  2081. },
  2082. side: {
  2083. height: math.unit(6, "feet"),
  2084. weight: math.unit(175, "lb"),
  2085. name: "Side",
  2086. image: {
  2087. source: "./media/characters/xera/side.svg",
  2088. extra: 2300/2061
  2089. }
  2090. },
  2091. back: {
  2092. height: math.unit(6, "feet"),
  2093. weight: math.unit(175, "lb"),
  2094. name: "Back",
  2095. image: {
  2096. source: "./media/characters/xera/back.svg"
  2097. }
  2098. },
  2099. },
  2100. [
  2101. {
  2102. name: "Small",
  2103. height: math.unit(10, "feet")
  2104. },
  2105. {
  2106. name: "Macro",
  2107. height: math.unit(500, "meters")
  2108. },
  2109. {
  2110. name: "Macro+",
  2111. height: math.unit(10, "km")
  2112. },
  2113. {
  2114. name: "Gigamacro",
  2115. height: math.unit(25000, "km")
  2116. },
  2117. {
  2118. name: "Teramacro",
  2119. height: math.unit(3e6, "km")
  2120. }
  2121. ],
  2122. math.unit(500, "meters")
  2123. )
  2124. };
  2125. characterMakers["Nebula"] = () => {
  2126. return makeCharacter(
  2127. "Nebula",
  2128. "Cilenomon",
  2129. {
  2130. front: {
  2131. height: math.unit(6, "feet"),
  2132. weight: math.unit(175, "lb"),
  2133. name: "Front",
  2134. image: {
  2135. source: "./media/characters/nebula/front.svg",
  2136. extra: 2600/2450
  2137. }
  2138. }
  2139. },
  2140. [
  2141. {
  2142. name: "Small",
  2143. height: math.unit(4.5, "meters")
  2144. },
  2145. {
  2146. name: "Macro",
  2147. height: math.unit(1500, "meters")
  2148. },
  2149. {
  2150. name: "Megamacro",
  2151. height: math.unit(150, "km")
  2152. },
  2153. {
  2154. name: "Gigamacro",
  2155. height: math.unit(27000, "km")
  2156. }
  2157. ],
  2158. math.unit(1500, "meters")
  2159. )
  2160. };
  2161. characterMakers["Abysgar"] = () => {
  2162. return makeCharacter(
  2163. "Abysgar",
  2164. "Cilenomon",
  2165. {
  2166. front: {
  2167. height: math.unit(6, "feet"),
  2168. weight: math.unit(225, "lb"),
  2169. name: "Front",
  2170. image: {
  2171. source: "./media/characters/abysgar/front.svg"
  2172. }
  2173. }
  2174. },
  2175. [
  2176. {
  2177. name: "Small",
  2178. height: math.unit(4.5, "meters")
  2179. },
  2180. {
  2181. name: "Macro",
  2182. height: math.unit(1250, "meters")
  2183. },
  2184. {
  2185. name: "Megamacro",
  2186. height: math.unit(125, "km")
  2187. },
  2188. {
  2189. name: "Gigamacro",
  2190. height: math.unit(26000, "km")
  2191. }
  2192. ],
  2193. math.unit(1250, "meters")
  2194. )
  2195. };
  2196. characterMakers["Yakuz"] = () => {
  2197. return makeCharacter(
  2198. "Yakuz",
  2199. "Cilenomon",
  2200. {
  2201. front: {
  2202. height: math.unit(6, "feet"),
  2203. weight: math.unit(180, "lb"),
  2204. name: "Front",
  2205. image: {
  2206. source: "./media/characters/yakuz/front.svg"
  2207. }
  2208. }
  2209. },
  2210. [
  2211. {
  2212. name: "Small",
  2213. height: math.unit(5, "meters")
  2214. },
  2215. {
  2216. name: "Macro",
  2217. height: math.unit(2500, "meters")
  2218. },
  2219. {
  2220. name: "Megamacro",
  2221. height: math.unit(200, "km")
  2222. },
  2223. {
  2224. name: "Gigamacro",
  2225. height: math.unit(100000, "km")
  2226. }
  2227. ],
  2228. math.unit(1500, "meters")
  2229. )
  2230. };
  2231. characterMakers["Mirova"] = () => {
  2232. return makeCharacter(
  2233. "Mirova",
  2234. "Cilenomon",
  2235. {
  2236. front: {
  2237. height: math.unit(6, "feet"),
  2238. weight: math.unit(175, "lb"),
  2239. name: "Front",
  2240. image: {
  2241. source: "./media/characters/mirova/front.svg"
  2242. }
  2243. }
  2244. },
  2245. [
  2246. {
  2247. name: "Small",
  2248. height: math.unit(5, "meters")
  2249. },
  2250. {
  2251. name: "Macro",
  2252. height: math.unit(900, "meters")
  2253. },
  2254. {
  2255. name: "Megamacro",
  2256. height: math.unit(135, "km")
  2257. },
  2258. {
  2259. name: "Gigamacro",
  2260. height: math.unit(20000, "km")
  2261. }
  2262. ],
  2263. math.unit(900, "meters")
  2264. )
  2265. };
  2266. characterMakers["Asana (Mech)"] = () => {
  2267. return makeCharacter(
  2268. "Asana (Mech)",
  2269. "Asana",
  2270. {
  2271. side: {
  2272. height: math.unit(28.35, "feet"),
  2273. weight: math.unit(99.75, "tons"),
  2274. name: "Side",
  2275. image: {
  2276. source: "./media/characters/asana-mech/side.svg"
  2277. }
  2278. }
  2279. },
  2280. [
  2281. {
  2282. name: "Normal",
  2283. height: math.unit(28.35, "feet")
  2284. },
  2285. {
  2286. name: "Macro",
  2287. height: math.unit(2500, "feet")
  2288. },
  2289. {
  2290. name: "Megamacro",
  2291. height: math.unit(25, "miles")
  2292. },
  2293. {
  2294. name: "Examacro",
  2295. height: math.unit(6e8, "lightyears")
  2296. },
  2297. ],
  2298. math.unit(28.35, "feet")
  2299. )
  2300. };
  2301. characterMakers["Ashtrek"] = () => {
  2302. return makeCharacter(
  2303. "Ashtrek",
  2304. "Ashtrek",
  2305. {
  2306. front: {
  2307. height: math.unit(2, "meters"),
  2308. weight: math.unit(70, "kg"),
  2309. name: "Front",
  2310. image: {
  2311. source: "./media/characters/ashtrek/front.svg"
  2312. }
  2313. },
  2314. frontArmor: {
  2315. height: math.unit(2, "meters"),
  2316. weight: math.unit(76, "kg"),
  2317. name: "Front (Armor)",
  2318. image: {
  2319. source: "./media/characters/ashtrek/front-armor.svg"
  2320. }
  2321. },
  2322. },
  2323. [
  2324. {
  2325. name: "DEFCON 5",
  2326. height: math.unit(5, "meters")
  2327. },
  2328. {
  2329. name: "DEFCON 4",
  2330. height: math.unit(500, "meters")
  2331. },
  2332. {
  2333. name: "DEFCON 3",
  2334. height: math.unit(5, "km")
  2335. },
  2336. {
  2337. name: "DEFCON 2",
  2338. height: math.unit(500, "km")
  2339. },
  2340. {
  2341. name: "DEFCON 1",
  2342. height: math.unit(500000, "km")
  2343. },
  2344. {
  2345. name: "DEFCON 0",
  2346. height: math.unit(3, "gigaparsecs")
  2347. },
  2348. ],
  2349. math.unit(500, "meters")
  2350. )
  2351. };
  2352. characterMakers["Gale"] = () => {
  2353. return makeCharacter(
  2354. "Gale",
  2355. "GaleFierre",
  2356. {
  2357. front: {
  2358. height: math.unit(2, "meters"),
  2359. weight: math.unit(76, "kg"),
  2360. name: "Front",
  2361. image: {
  2362. source: "./media/characters/gale/front.svg"
  2363. }
  2364. },
  2365. frontAlt1: {
  2366. height: math.unit(2, "meters"),
  2367. weight: math.unit(76, "kg"),
  2368. name: "Front (Alt 1)",
  2369. image: {
  2370. source: "./media/characters/gale/front-alt-1.svg"
  2371. }
  2372. },
  2373. frontAlt2: {
  2374. height: math.unit(2, "meters"),
  2375. weight: math.unit(76, "kg"),
  2376. name: "Front (Alt 2)",
  2377. image: {
  2378. source: "./media/characters/gale/front-alt-2.svg"
  2379. }
  2380. },
  2381. },
  2382. [
  2383. {
  2384. name: "Normal",
  2385. height: math.unit(7, "feet")
  2386. },
  2387. {
  2388. name: "Macro",
  2389. height: math.unit(150, "feet")
  2390. },
  2391. {
  2392. name: "Macro+",
  2393. height: math.unit(300, "feet")
  2394. },
  2395. ],
  2396. math.unit(150, "feet")
  2397. )
  2398. };
  2399. characterMakers["Draylen"] = () => {
  2400. return makeCharacter(
  2401. "Draylen",
  2402. "Longshot Coyote",
  2403. {
  2404. front: {
  2405. height: math.unit(2, "meters"),
  2406. weight: math.unit(76, "kg"),
  2407. name: "Front",
  2408. image: {
  2409. source: "./media/characters/draylen/front.svg"
  2410. }
  2411. }
  2412. },
  2413. [
  2414. {
  2415. name: "Macro",
  2416. height: math.unit(150, "feet")
  2417. }
  2418. ],
  2419. math.unit(150, "feet")
  2420. )
  2421. };
  2422. characterMakers["Chez"] = () => {
  2423. return makeCharacter(
  2424. "Chez",
  2425. "Ashtrek",
  2426. {
  2427. front: {
  2428. height: math.unit(7 + 9/12, "feet"),
  2429. weight: math.unit(379, "lbs"),
  2430. name: "Front",
  2431. image: {
  2432. source: "./media/characters/chez/front.svg"
  2433. }
  2434. },
  2435. side: {
  2436. height: math.unit(7 + 9/12, "feet"),
  2437. weight: math.unit(379, "lbs"),
  2438. name: "Side",
  2439. image: {
  2440. source: "./media/characters/chez/side.svg"
  2441. }
  2442. }
  2443. },
  2444. [
  2445. {
  2446. name: "Normal",
  2447. height: math.unit(7 + 9/12, "feet")
  2448. },
  2449. {
  2450. name: "God King",
  2451. height: math.unit(9750000, "meters")
  2452. }
  2453. ],
  2454. math.unit(7 + 9/12, "feet")
  2455. )
  2456. };
  2457. characterMakers["Kaylum"] = () => {
  2458. return makeCharacter(
  2459. "Kaylum",
  2460. "DJDarkJaro",
  2461. {
  2462. front: {
  2463. height: math.unit(6, "feet"),
  2464. weight: math.unit(275, "lbs"),
  2465. name: "Front",
  2466. image: {
  2467. source: "./media/characters/kaylum/front.svg",
  2468. bottom: 0.01,
  2469. extra: 1166/1031
  2470. }
  2471. },
  2472. frontWingless: {
  2473. height: math.unit(6, "feet"),
  2474. weight: math.unit(275, "lbs"),
  2475. name: "Front (Wingless)",
  2476. image: {
  2477. source: "./media/characters/kaylum/front-wingless.svg",
  2478. bottom: 0.01,
  2479. extra: 1117/1031
  2480. }
  2481. }
  2482. },
  2483. [
  2484. {
  2485. name: "Normal",
  2486. height: math.unit(3.05, "meters")
  2487. },
  2488. {
  2489. name: "Master",
  2490. height: math.unit(5.5, "meters")
  2491. },
  2492. {
  2493. name: "Rampage",
  2494. height: math.unit(19, "meters")
  2495. },
  2496. {
  2497. name: "Macro Lite",
  2498. height: math.unit(37, "meters")
  2499. },
  2500. {
  2501. name: "Hyper Predator",
  2502. height: math.unit(61, "meters")
  2503. },
  2504. {
  2505. name: "Macro",
  2506. height: math.unit(138, "meters")
  2507. }
  2508. ],
  2509. math.unit(138, "meters")
  2510. )
  2511. };
  2512. characterMakers["Geta"] = () => {
  2513. return makeCharacter(
  2514. "Geta",
  2515. "Aeznon",
  2516. {
  2517. front: {
  2518. height: math.unit(6, "feet"),
  2519. weight: math.unit(150, "lbs"),
  2520. name: "Front",
  2521. image: {
  2522. source: "./media/characters/geta/front.svg"
  2523. }
  2524. }
  2525. },
  2526. [
  2527. {
  2528. name: "Micro",
  2529. height: math.unit(3, "inches")
  2530. },
  2531. {
  2532. name: "Normal",
  2533. height: math.unit(5 + 5/12, "feet")
  2534. }
  2535. ],
  2536. math.unit(3, "inches")
  2537. )
  2538. };
  2539. characterMakers["Tyrnn"] = () => {
  2540. return makeCharacter(
  2541. "Tyrnn",
  2542. "Tyrnn",
  2543. {
  2544. front: {
  2545. height: math.unit(6, "feet"),
  2546. weight: math.unit(300, "lbs"),
  2547. name: "Front",
  2548. image: {
  2549. source: "./media/characters/tyrnn/front.svg"
  2550. }
  2551. }
  2552. },
  2553. [
  2554. {
  2555. name: "Main Height",
  2556. height: math.unit(355, "feet")
  2557. },
  2558. {
  2559. name: "Fave. Height",
  2560. height: math.unit(2400, "feet")
  2561. }
  2562. ],
  2563. math.unit(355, "feet")
  2564. )
  2565. };
  2566. characterMakers["Apple"] = () => {
  2567. return makeCharacter(
  2568. "Apple",
  2569. "Appledectomy",
  2570. {
  2571. front: {
  2572. height: math.unit(6, "feet"),
  2573. weight: math.unit(300, "lbs"),
  2574. name: "Front",
  2575. image: {
  2576. source: "./media/characters/appledectomy/front.svg"
  2577. }
  2578. }
  2579. },
  2580. [
  2581. {
  2582. name: "Macro",
  2583. height: math.unit(2500, "feet")
  2584. },
  2585. {
  2586. name: "Megamacro",
  2587. height: math.unit(50, "miles")
  2588. },
  2589. {
  2590. name: "Gigamacro",
  2591. height: math.unit(5000, "miles")
  2592. },
  2593. {
  2594. name: "Teramacro",
  2595. height: math.unit(250000, "miles")
  2596. },
  2597. ],
  2598. math.unit(50, "miles")
  2599. )
  2600. };
  2601. characterMakers["Vulpes"] = () => {
  2602. return makeCharacter(
  2603. "Vulpes",
  2604. "VulpesPawpad",
  2605. {
  2606. front: {
  2607. height: math.unit(6, "feet"),
  2608. weight: math.unit(200, "lbs"),
  2609. name: "Front",
  2610. image: {
  2611. source: "./media/characters/vulpes/front.svg"
  2612. }
  2613. },
  2614. side: {
  2615. height: math.unit(6, "feet"),
  2616. weight: math.unit(200, "lbs"),
  2617. name: "Side",
  2618. image: {
  2619. source: "./media/characters/vulpes/side.svg"
  2620. }
  2621. },
  2622. back: {
  2623. height: math.unit(6, "feet"),
  2624. weight: math.unit(200, "lbs"),
  2625. name: "Back",
  2626. image: {
  2627. source: "./media/characters/vulpes/back.svg"
  2628. }
  2629. },
  2630. feet: {
  2631. height: math.unit(1.276, "feet"),
  2632. name: "Feet",
  2633. image: {
  2634. source: "./media/characters/vulpes/feet.svg"
  2635. }
  2636. },
  2637. },
  2638. [
  2639. {
  2640. name: "Micro",
  2641. height: math.unit(3, "inches")
  2642. },
  2643. {
  2644. name: "Normal",
  2645. height: math.unit(6.3, "feet")
  2646. },
  2647. {
  2648. name: "Megamacro",
  2649. height: math.unit(7500, "feet")
  2650. },
  2651. {
  2652. name: "Gigamacro",
  2653. height: math.unit(570000, "miles")
  2654. }
  2655. ],
  2656. math.unit(7500, "feet")
  2657. )
  2658. };
  2659. characterMakers["Rain Fallen"] = () => {
  2660. return makeCharacter(
  2661. "Rain Fallen",
  2662. "Rain Fallen",
  2663. {
  2664. front: {
  2665. height: math.unit(6, "feet"),
  2666. weight: math.unit(210, "lbs"),
  2667. name: "Front",
  2668. image: {
  2669. source: "./media/characters/rain/front.svg"
  2670. }
  2671. },
  2672. side: {
  2673. height: math.unit(6, "feet"),
  2674. weight: math.unit(210, "lbs"),
  2675. name: "Side",
  2676. image: {
  2677. source: "./media/characters/rain/side.svg"
  2678. }
  2679. },
  2680. back: {
  2681. height: math.unit(6, "feet"),
  2682. weight: math.unit(210, "lbs"),
  2683. name: "Back",
  2684. image: {
  2685. source: "./media/characters/rain/back.svg"
  2686. }
  2687. },
  2688. feral: {
  2689. height: math.unit(9, "feet"),
  2690. weight: math.unit(700, "lbs"),
  2691. name: "Feral",
  2692. image: {
  2693. source: "./media/characters/rain/feral.svg"
  2694. }
  2695. },
  2696. },
  2697. [
  2698. {
  2699. name: "Normal",
  2700. height: math.unit(5, "meter")
  2701. },
  2702. {
  2703. name: "Macro",
  2704. height: math.unit(150, "meter")
  2705. },
  2706. {
  2707. name: "Megamacro",
  2708. height: math.unit(278e6, "meter")
  2709. },
  2710. {
  2711. name: "Gigamacro",
  2712. height: math.unit(2e9, "meter")
  2713. },
  2714. {
  2715. name: "Teramacro",
  2716. height: math.unit(8e12, "meter")
  2717. },
  2718. {
  2719. name: "Devourer",
  2720. height: math.unit(14, "zettameters")
  2721. },
  2722. {
  2723. name: "Scarlet King",
  2724. height: math.unit(18, "yottameters")
  2725. },
  2726. ],
  2727. math.unit(150, "meter")
  2728. )
  2729. };
  2730. characterMakers["Zaakira"] = () => {
  2731. return makeCharacter(
  2732. "Zaakira",
  2733. "Jazzywolf",
  2734. {
  2735. standing: {
  2736. height: math.unit(6, "feet"),
  2737. weight: math.unit(180, "lbs"),
  2738. name: "Standing",
  2739. image: {
  2740. source: "./media/characters/zaakira/standing.svg"
  2741. }
  2742. },
  2743. laying: {
  2744. height: math.unit(3, "feet"),
  2745. weight: math.unit(180, "lbs"),
  2746. name: "Laying",
  2747. image: {
  2748. source: "./media/characters/zaakira/laying.svg"
  2749. }
  2750. },
  2751. },
  2752. [
  2753. {
  2754. name: "Normal",
  2755. height: math.unit(12, "feet")
  2756. },
  2757. {
  2758. name: "Macro",
  2759. height: math.unit(279, "feet")
  2760. }
  2761. ],
  2762. math.unit(279, "feet")
  2763. )
  2764. };
  2765. characterMakers["Sigvald"] = () => {
  2766. return makeCharacter(
  2767. "Sigvald",
  2768. "Sigvald",
  2769. {
  2770. front: {
  2771. height: math.unit(6, "feet"),
  2772. weight: math.unit(250, "lbs"),
  2773. name: "Front",
  2774. image: {
  2775. source: "./media/characters/sigvald/front.svg",
  2776. extra: 1000/850
  2777. }
  2778. },
  2779. back: {
  2780. height: math.unit(6, "feet"),
  2781. weight: math.unit(250, "lbs"),
  2782. name: "Back",
  2783. image: {
  2784. source: "./media/characters/sigvald/back.svg"
  2785. }
  2786. },
  2787. },
  2788. [
  2789. {
  2790. name: "Normal",
  2791. height: math.unit(8, "feet")
  2792. },
  2793. {
  2794. name: "Large",
  2795. height: math.unit(12, "feet")
  2796. },
  2797. {
  2798. name: "Larger",
  2799. height: math.unit(20, "feet")
  2800. },
  2801. {
  2802. name: "Macro",
  2803. height: math.unit(150, "feet")
  2804. },
  2805. {
  2806. name: "Macro+",
  2807. height: math.unit(200, "feet")
  2808. },
  2809. ],
  2810. math.unit(200, "feet")
  2811. )
  2812. };
  2813. characterMakers["Scott"] = () => {
  2814. return makeCharacter(
  2815. "Scott",
  2816. "Scott",
  2817. {
  2818. side: {
  2819. height: math.unit(12, "feet"),
  2820. weight: math.unit(3000, "lbs"),
  2821. name: "Side",
  2822. image: {
  2823. source: "./media/characters/scott/side.svg",
  2824. }
  2825. },
  2826. upright: {
  2827. height: math.unit(12, "feet"),
  2828. weight: math.unit(3000, "lbs"),
  2829. name: "Upright",
  2830. image: {
  2831. source: "./media/characters/scott/upright.svg",
  2832. }
  2833. },
  2834. },
  2835. [],
  2836. math.unit(12, "feet")
  2837. )
  2838. };
  2839. characterMakers["Tobias"] = () => {
  2840. return makeCharacter(
  2841. "Tobias",
  2842. "Tobias",
  2843. {
  2844. side: {
  2845. height: math.unit(8, "meters"),
  2846. weight: math.unit(84755, "lbs"),
  2847. name: "Side",
  2848. image: {
  2849. source: "./media/characters/tobias/side.svg",
  2850. extra: 5/4
  2851. }
  2852. },
  2853. },
  2854. [],
  2855. math.unit(8, "meters")
  2856. )
  2857. };
  2858. characterMakers["Kieran"] = () => {
  2859. return makeCharacter(
  2860. "Kieran",
  2861. "Kieran",
  2862. {
  2863. front: {
  2864. height: math.unit(5.5, "feet"),
  2865. weight: math.unit(400, "lbs"),
  2866. name: "Front",
  2867. image: {
  2868. source: "./media/characters/kieran/front.svg",
  2869. extra: 1.05
  2870. }
  2871. },
  2872. side: {
  2873. height: math.unit(5.5, "feet"),
  2874. weight: math.unit(400, "lbs"),
  2875. name: "Side",
  2876. image: {
  2877. source: "./media/characters/kieran/side.svg",
  2878. extra: 950/850
  2879. }
  2880. },
  2881. },
  2882. [],
  2883. math.unit(5.5, "feet")
  2884. )
  2885. };
  2886. characterMakers["Sanya"] = () => {
  2887. return makeCharacter(
  2888. "Sanya",
  2889. "BanterGhost",
  2890. {
  2891. side: {
  2892. height: math.unit(2, "meters"),
  2893. weight: math.unit(70, "kg"),
  2894. name: "Side",
  2895. image: {
  2896. source: "./media/characters/sanya/side.svg",
  2897. bottom: 0.02,
  2898. extra: 1.02
  2899. }
  2900. },
  2901. },
  2902. [
  2903. {
  2904. name: "Small",
  2905. height: math.unit(2, "meters")
  2906. },
  2907. {
  2908. name: "Normal",
  2909. height: math.unit(3, "meters")
  2910. },
  2911. {
  2912. name: "Macro",
  2913. height: math.unit(16, "meters")
  2914. },
  2915. ],
  2916. math.unit(16, "meters")
  2917. )
  2918. };
  2919. characterMakers["Miranda"] = () => {
  2920. return makeCharacter(
  2921. "Miranda",
  2922. "MirandaAqrayla",
  2923. {
  2924. side: {
  2925. height: math.unit(2, "meters"),
  2926. weight: math.unit(120, "kg"),
  2927. name: "Front",
  2928. image: {
  2929. source: "./media/characters/miranda/front.svg",
  2930. extra: 10.6/10
  2931. }
  2932. },
  2933. },
  2934. [
  2935. {
  2936. name: "Normal",
  2937. height: math.unit(10, "feet")
  2938. }
  2939. ],
  2940. math.unit(10, "feet")
  2941. )
  2942. };
  2943. characterMakers["James"] = () => {
  2944. return makeCharacter(
  2945. "James",
  2946. "MirandaAqrayla",
  2947. {
  2948. side: {
  2949. height: math.unit(2, "meters"),
  2950. weight: math.unit(100, "kg"),
  2951. name: "Front",
  2952. image: {
  2953. source: "./media/characters/james/front.svg",
  2954. extra: 10/8.5
  2955. }
  2956. },
  2957. },
  2958. [
  2959. {
  2960. name: "Normal",
  2961. height: math.unit(8.5, "feet")
  2962. }
  2963. ],
  2964. math.unit(8.5, "feet")
  2965. )
  2966. };
  2967. characterMakers["Heather"] = () => {
  2968. return makeCharacter(
  2969. "Heather",
  2970. "MirandaAqrayla",
  2971. {
  2972. side: {
  2973. height: math.unit(9.5, "feet"),
  2974. weight: math.unit(2500, "lbs"),
  2975. name: "Side",
  2976. image: {
  2977. source: "./media/characters/heather/side.svg"
  2978. }
  2979. },
  2980. },
  2981. [
  2982. {
  2983. name: "Normal",
  2984. height: math.unit(9.5, "feet")
  2985. }
  2986. ],
  2987. math.unit(9.5, "feet")
  2988. )
  2989. };
  2990. characterMakers["Lukas"] = () => {
  2991. return makeCharacter(
  2992. "Lukas",
  2993. "MirandaAqrayla",
  2994. {
  2995. side: {
  2996. height: math.unit(6.5, "feet"),
  2997. weight: math.unit(400, "lbs"),
  2998. name: "Side",
  2999. image: {
  3000. source: "./media/characters/lukas/side.svg",
  3001. extra: 7.25/6.5
  3002. }
  3003. },
  3004. },
  3005. [
  3006. {
  3007. name: "Normal",
  3008. height: math.unit(6.5, "feet")
  3009. }
  3010. ],
  3011. math.unit(6.5, "feet")
  3012. )
  3013. };
  3014. characterMakers["Louise"] = () => {
  3015. return makeCharacter(
  3016. "Louise",
  3017. "MirandaAqrayla",
  3018. {
  3019. side: {
  3020. height: math.unit(5, "feet"),
  3021. weight: math.unit(3000, "lbs"),
  3022. name: "Side",
  3023. image: {
  3024. source: "./media/characters/louise/side.svg"
  3025. }
  3026. },
  3027. },
  3028. [
  3029. {
  3030. name: "Normal",
  3031. height: math.unit(5, "feet")
  3032. }
  3033. ],
  3034. math.unit(5, "feet")
  3035. )
  3036. };
  3037. characterMakers["Ramona"] = () => {
  3038. return makeCharacter(
  3039. "Ramona",
  3040. "ZakuraTech",
  3041. {
  3042. side: {
  3043. height: math.unit(6, "feet"),
  3044. weight: math.unit(150, "lbs"),
  3045. name: "Side",
  3046. image: {
  3047. source: "./media/characters/ramona/side.svg"
  3048. }
  3049. },
  3050. },
  3051. [
  3052. {
  3053. name: "Normal",
  3054. height: math.unit(5.3, "meters")
  3055. },
  3056. {
  3057. name: "Macro",
  3058. height: math.unit(20, "stories")
  3059. },
  3060. {
  3061. name: "Macro+",
  3062. height: math.unit(50, "stories")
  3063. },
  3064. ],
  3065. math.unit(5.3, "meters")
  3066. )
  3067. };
  3068. characterMakers["Deerpuff"] = () => {
  3069. return makeCharacter(
  3070. "Deerpuff",
  3071. "Deerpuff",
  3072. {
  3073. standing: {
  3074. height: math.unit(5.75, "feet"),
  3075. weight: math.unit(160, "lbs"),
  3076. name: "Standing",
  3077. image: {
  3078. source: "./media/characters/deerpuff/standing.svg",
  3079. extra: 682/624
  3080. }
  3081. },
  3082. sitting: {
  3083. height: math.unit(5.75 / 1.79, "feet"),
  3084. weight: math.unit(160, "lbs"),
  3085. name: "Sitting",
  3086. image: {
  3087. source: "./media/characters/deerpuff/sitting.svg",
  3088. bottom: 44/400,
  3089. extra: 1 / (1 - 44/400)
  3090. }
  3091. },
  3092. taurLaying: {
  3093. height: math.unit(6, "feet"),
  3094. weight: math.unit(400, "lbs"),
  3095. name: "Taur (Laying)",
  3096. image: {
  3097. source: "./media/characters/deerpuff/taur-laying.svg"
  3098. }
  3099. },
  3100. },
  3101. [
  3102. {
  3103. name: "Puffball",
  3104. height: math.unit(6, "inches")
  3105. },
  3106. {
  3107. name: "Normalpuff",
  3108. height: math.unit(5.75, "feet")
  3109. },
  3110. {
  3111. name: "Macropuff",
  3112. height: math.unit(1500, "feet")
  3113. },
  3114. {
  3115. name: "Megapuff",
  3116. height: math.unit(500, "miles")
  3117. },
  3118. {
  3119. name: "Gigapuff",
  3120. height: math.unit(250000, "miles")
  3121. },
  3122. {
  3123. name: "Omegapuff",
  3124. height: math.unit(1000, "lightyears")
  3125. },
  3126. ],
  3127. math.unit(1500, "feet")
  3128. )
  3129. };
  3130. characterMakers["Vivian"] = () => {
  3131. return makeCharacter(
  3132. "Vivian",
  3133. "Fauxlacine",
  3134. {
  3135. stomping: {
  3136. height: math.unit(6, "feet"),
  3137. weight: math.unit(170, "lbs"),
  3138. name: "Stomping",
  3139. image: {
  3140. source: "./media/characters/vivian/stomping.svg"
  3141. }
  3142. },
  3143. sitting: {
  3144. height: math.unit(6/1.75, "feet"),
  3145. weight: math.unit(170, "lbs"),
  3146. name: "Sitting",
  3147. image: {
  3148. source: "./media/characters/vivian/sitting.svg",
  3149. bottom: 1/6.4,
  3150. extra: (1 / (1 - 1/6.4)) * (1 + 164/1600)
  3151. }
  3152. },
  3153. },
  3154. [
  3155. {
  3156. name: "Normal",
  3157. height: math.unit(7, "feet")
  3158. },
  3159. {
  3160. name: "Macro",
  3161. height: math.unit(10, "stories")
  3162. },
  3163. {
  3164. name: "Macro+",
  3165. height: math.unit(30, "stories")
  3166. },
  3167. {
  3168. name: "Megamacro",
  3169. height: math.unit(10, "miles")
  3170. },
  3171. {
  3172. name: "Megamacro+",
  3173. height: math.unit(2750000, "meters")
  3174. },
  3175. ],
  3176. math.unit(7, "feet")
  3177. )
  3178. };
  3179. function makeCharacters() {
  3180. const results = [];
  3181. results.push({
  3182. name: "March",
  3183. constructor: makeMarch
  3184. });
  3185. results.push({
  3186. name: "Noir",
  3187. constructor: makeNoir
  3188. });
  3189. results.push({
  3190. name: "Okuri",
  3191. constructor: makeOkuri
  3192. });
  3193. results.push({
  3194. name: "Manny",
  3195. constructor: makeManny
  3196. });
  3197. results.push({
  3198. name: "Adake",
  3199. constructor: makeAdake
  3200. });
  3201. results.push({
  3202. name: "Elijah",
  3203. constructor: makeElijah
  3204. });
  3205. results.push({
  3206. name: "Rai",
  3207. constructor: makeRai
  3208. });
  3209. results.push({
  3210. name: "Jazzy",
  3211. constructor: makeJazzy
  3212. });
  3213. results.push({
  3214. name: "Flamm",
  3215. constructor: makeFlamm
  3216. });
  3217. results.push({
  3218. name: "Zephiro",
  3219. constructor: makeZephiro
  3220. });
  3221. results.push({
  3222. name: "Fory",
  3223. constructor: makeFory
  3224. });
  3225. results.push({
  3226. name: "Kurrikage",
  3227. constructor: makeKurrikage
  3228. });
  3229. results.push({
  3230. name: "Shingo",
  3231. constructor: makeShingo
  3232. });
  3233. results.push({
  3234. name: "Aigey",
  3235. constructor: makeAigey
  3236. });
  3237. results.push({
  3238. name: "Natasha",
  3239. constructor: makeNatasha
  3240. });
  3241. results.push({
  3242. name: "Malik",
  3243. constructor: makeMalik
  3244. });
  3245. results.push({
  3246. name: "Sefer",
  3247. constructor: makeSefer
  3248. });
  3249. Object.entries(characterMakers).forEach(([key, value]) => {
  3250. results.push({
  3251. name: key,
  3252. constructor: value
  3253. });
  3254. });
  3255. return results;
  3256. }