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.
 
 
 

2427 lines
61 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. body: {
  49. height: math.unit(2.2428, "meter"),
  50. weight: math.unit(124.738, "kg"),
  51. name: "Body",
  52. image: {
  53. source: "./media/characters/fen/back.svg"
  54. }
  55. }
  56. },
  57. [
  58. {
  59. name: "Normal",
  60. height: math.unit(2.2428, "meter")
  61. },
  62. {
  63. name: "Big",
  64. height: math.unit(12, "feet")
  65. },
  66. {
  67. name: "Macro",
  68. height: math.unit(100, "meter")
  69. },
  70. {
  71. name: "Macro+",
  72. height: math.unit(1000, "meter")
  73. },
  74. {
  75. name: "Megamacro",
  76. height: math.unit(10, "miles")
  77. }
  78. ],
  79. math.unit(100, "meter")
  80. )
  81. };
  82. function makeSofia() {
  83. const views = {
  84. front: {
  85. attributes: {
  86. height: {
  87. name: "Height",
  88. power: 1,
  89. type: "length",
  90. base: math.unit(183, "cm")
  91. },
  92. weight: {
  93. name: "Weight",
  94. power: 3,
  95. type: "mass",
  96. base: math.unit(80, "kg")
  97. }
  98. },
  99. image: {
  100. source: "./media/characters/sofia/front.svg"
  101. },
  102. name: "Front"
  103. },
  104. back: {
  105. attributes: {
  106. height: {
  107. name: "Height",
  108. power: 1,
  109. type: "length",
  110. base: math.unit(183, "cm")
  111. },
  112. weight: {
  113. name: "Weight",
  114. power: 3,
  115. type: "mass",
  116. base: math.unit(80, "kg")
  117. }
  118. },
  119. image: {
  120. source: "./media/characters/sofia/back.svg"
  121. },
  122. name: "Back"
  123. }
  124. };
  125. const entity = makeEntity("Sofia", "ZakuraTech", views);
  126. entity.views.front.height = math.unit(96, "feet");
  127. return entity;
  128. }
  129. function makeMarch() {
  130. const views = {
  131. front: {
  132. attributes: {
  133. height: {
  134. name: "Height",
  135. power: 1,
  136. type: "length",
  137. base: math.unit(7, "feet")
  138. },
  139. weight: {
  140. name: "Weight",
  141. power: 3,
  142. type: "mass",
  143. base: math.unit(100, "kg")
  144. }
  145. },
  146. image: {
  147. source: "./media/characters/march/front.svg"
  148. },
  149. name: "Front"
  150. },
  151. foot: {
  152. attributes: {
  153. height: {
  154. name: "Height",
  155. power: 1,
  156. type: "length",
  157. base: math.unit(0.9, "feet")
  158. }
  159. },
  160. image: {
  161. source: "./media/characters/march/foot.svg"
  162. },
  163. name: "Foot"
  164. }
  165. };
  166. const entity = makeEntity("March", "March-Dragon", views);
  167. entity.defaults.push({
  168. name: "Normal",
  169. height: math.unit(7.9, "feet")
  170. });
  171. entity.defaults.push({
  172. name: "Macro",
  173. height: math.unit(220, "meters")
  174. });
  175. entity.defaults.push({
  176. name: "Megamacro",
  177. height: math.unit(2.98, "km")
  178. });
  179. entity.defaults.push({
  180. name: "Gigamacro",
  181. height: math.unit(15963, "km")
  182. });
  183. entity.defaults.push({
  184. name: "Teramacro",
  185. height: math.unit(2980000000, "kilometers")
  186. });
  187. entity.defaults.push({
  188. name: "Examacro",
  189. height: math.unit(250, "parsecs")
  190. });
  191. entity.views.front.height = math.unit(2.98, "km");
  192. return entity;
  193. }
  194. function makeNoir() {
  195. const views = {
  196. front: {
  197. attributes: {
  198. height: {
  199. name: "Height",
  200. power: 1,
  201. type: "length",
  202. base: math.unit(6, "feet")
  203. },
  204. weight: {
  205. name: "Weight",
  206. power: 3,
  207. type: "mass",
  208. base: math.unit(60, "kg")
  209. }
  210. },
  211. image: {
  212. source: "./media/characters/noir/front.svg",
  213. bottom: 0.01
  214. },
  215. name: "Front"
  216. }
  217. };
  218. const entity = makeEntity("Noir", "March-Dragon", views);
  219. entity.defaults.push({
  220. name: "Normal",
  221. height: math.unit(6.6, "feet")
  222. });
  223. entity.defaults.push({
  224. name: "Macro",
  225. height: math.unit(500, "feet")
  226. });
  227. entity.defaults.push({
  228. name: "Megamacro",
  229. height: math.unit(2.5, "km")
  230. });
  231. entity.defaults.push({
  232. name: "Gigamacro",
  233. height: math.unit(22500, "km")
  234. });
  235. entity.defaults.push({
  236. name: "Teramacro",
  237. height: math.unit(2500000000, "kilometers")
  238. });
  239. entity.defaults.push({
  240. name: "Examacro",
  241. height: math.unit(200, "parsecs")
  242. });
  243. entity.views.front.height = math.unit(2.5, "km");
  244. return entity;
  245. }
  246. function makeOkuri() {
  247. const views = {
  248. front: {
  249. attributes: {
  250. height: {
  251. name: "Height",
  252. power: 1,
  253. type: "length",
  254. base: math.unit(7, "feet")
  255. },
  256. weight: {
  257. name: "Weight",
  258. power: 3,
  259. type: "mass",
  260. base: math.unit(100, "kg")
  261. }
  262. },
  263. image: {
  264. source: "./media/characters/okuri/front.svg"
  265. },
  266. name: "Front"
  267. },
  268. back: {
  269. attributes: {
  270. height: {
  271. name: "Height",
  272. power: 1,
  273. type: "length",
  274. base: math.unit(7, "feet")
  275. },
  276. weight: {
  277. name: "Weight",
  278. power: 3,
  279. type: "mass",
  280. base: math.unit(100, "kg")
  281. }
  282. },
  283. image: {
  284. source: "./media/characters/okuri/back.svg"
  285. },
  286. name: "Back"
  287. }
  288. };
  289. const entity = makeEntity("Okuri", "OrionMechadragon", views);
  290. entity.views.front.height = math.unit(100, "miles");
  291. return entity;
  292. }
  293. function makeManny() {
  294. const views = {
  295. front: {
  296. attributes: {
  297. height: {
  298. name: "Height",
  299. power: 1,
  300. type: "length",
  301. base: math.unit(7, "feet")
  302. },
  303. weight: {
  304. name: "Weight",
  305. power: 3,
  306. type: "mass",
  307. base: math.unit(100, "kg")
  308. }
  309. },
  310. image: {
  311. source: "./media/characters/manny/front.svg"
  312. },
  313. name: "Front"
  314. },
  315. back: {
  316. attributes: {
  317. height: {
  318. name: "Height",
  319. power: 1,
  320. type: "length",
  321. base: math.unit(7, "feet")
  322. },
  323. weight: {
  324. name: "Weight",
  325. power: 3,
  326. type: "mass",
  327. base: math.unit(100, "kg")
  328. }
  329. },
  330. image: {
  331. source: "./media/characters/manny/back.svg"
  332. },
  333. name: "Back"
  334. }
  335. };
  336. const entity = makeEntity("Manny", "Dialuca01", views);
  337. entity.views.front.height = math.unit(78, "feet");
  338. return entity;
  339. }
  340. function makeAdake() {
  341. const views = {
  342. front: {
  343. attributes: {
  344. height: {
  345. name: "Height",
  346. power: 1,
  347. type: "length",
  348. base: math.unit(7, "feet")
  349. },
  350. weight: {
  351. name: "Weight",
  352. power: 3,
  353. type: "mass",
  354. base: math.unit(100, "kg")
  355. }
  356. },
  357. image: {
  358. source: "./media/characters/adake/front-1.svg"
  359. },
  360. name: "Front"
  361. },
  362. frontAlt: {
  363. attributes: {
  364. height: {
  365. name: "Height",
  366. power: 1,
  367. type: "length",
  368. base: math.unit(7, "feet")
  369. },
  370. weight: {
  371. name: "Weight",
  372. power: 3,
  373. type: "mass",
  374. base: math.unit(100, "kg")
  375. }
  376. },
  377. image: {
  378. source: "./media/characters/adake/front-2.svg",
  379. bottom: 0.005
  380. },
  381. name: "Front (Alt)"
  382. },
  383. back: {
  384. attributes: {
  385. height: {
  386. name: "Height",
  387. power: 1,
  388. type: "length",
  389. base: math.unit(7, "feet")
  390. },
  391. weight: {
  392. name: "Weight",
  393. power: 3,
  394. type: "mass",
  395. base: math.unit(100, "kg")
  396. }
  397. },
  398. image: {
  399. source: "./media/characters/adake/back.svg",
  400. },
  401. name: "Back"
  402. },
  403. kneel: {
  404. attributes: {
  405. height: {
  406. name: "Height",
  407. power: 1,
  408. type: "length",
  409. base: math.unit(5.385, "feet")
  410. },
  411. weight: {
  412. name: "Weight",
  413. power: 3,
  414. type: "mass",
  415. base: math.unit(100, "kg")
  416. }
  417. },
  418. image: {
  419. source: "./media/characters/adake/kneel.svg",
  420. bottom: 0.05
  421. },
  422. name: "Kneeling"
  423. },
  424. };
  425. const entity = makeEntity("Adake", "Dialuca01", views);
  426. entity.views.front.height = math.unit(78, "feet");
  427. return entity;
  428. }
  429. function makeElijah() {
  430. const views = {
  431. side: {
  432. attributes: {
  433. height: {
  434. name: "Height",
  435. power: 1,
  436. type: "length",
  437. base: math.unit(7, "feet")
  438. },
  439. weight: {
  440. name: "Weight",
  441. power: 3,
  442. type: "mass",
  443. base: math.unit(50, "kg")
  444. }
  445. },
  446. image: {
  447. source: "./media/characters/elijah/side.svg",
  448. bottom: 0.01
  449. },
  450. name: "Side"
  451. },
  452. foot: {
  453. attributes: {
  454. height: {
  455. name: "Height",
  456. power: 1,
  457. type: "length",
  458. base: math.unit(2, "feet")
  459. }
  460. },
  461. image: {
  462. source: "./media/characters/elijah/foot.svg",
  463. },
  464. name: "Foot"
  465. }
  466. };
  467. const entity = makeEntity("Elijah", "Elijah", views);
  468. entity.defaults.push({
  469. name: "Normal",
  470. height: math.unit(1.65, "meters")
  471. });
  472. entity.defaults.push({
  473. name: "Macro",
  474. height: math.unit(55, "meters")
  475. });
  476. entity.defaults.push({
  477. name: "Macro+",
  478. height: math.unit(105, "meters")
  479. });
  480. entity.views.side.height = math.unit(55, "meters");
  481. return entity;
  482. }
  483. function makeRai() {
  484. const views = {
  485. front: {
  486. attributes: {
  487. height: {
  488. name: "Height",
  489. power: 1,
  490. type: "length",
  491. base: math.unit(7, "feet")
  492. },
  493. weight: {
  494. name: "Weight",
  495. power: 3,
  496. type: "mass",
  497. base: math.unit(80, "kg")
  498. }
  499. },
  500. image: {
  501. source: "./media/characters/rai/front.svg"
  502. },
  503. name: "Front"
  504. },
  505. side: {
  506. attributes: {
  507. height: {
  508. name: "Height",
  509. power: 1,
  510. type: "length",
  511. base: math.unit(7, "feet")
  512. },
  513. weight: {
  514. name: "Weight",
  515. power: 3,
  516. type: "mass",
  517. base: math.unit(80, "kg")
  518. }
  519. },
  520. image: {
  521. source: "./media/characters/rai/side.svg"
  522. },
  523. name: "Side"
  524. },
  525. back: {
  526. attributes: {
  527. height: {
  528. name: "Height",
  529. power: 1,
  530. type: "length",
  531. base: math.unit(7, "feet")
  532. },
  533. weight: {
  534. name: "Weight",
  535. power: 3,
  536. type: "mass",
  537. base: math.unit(80, "kg")
  538. }
  539. },
  540. image: {
  541. source: "./media/characters/rai/back.svg"
  542. },
  543. name: "Back"
  544. }
  545. };
  546. const entity = makeEntity("Rai", "shadowblade945", views);
  547. entity.views.front.height = math.unit(302, "feet");
  548. return entity;
  549. }
  550. function makeJazzy() {
  551. const views = {
  552. front: {
  553. attributes: {
  554. height: {
  555. name: "Height",
  556. power: 1,
  557. type: "length",
  558. base: math.unit(7, "feet")
  559. },
  560. weight: {
  561. name: "Weight",
  562. power: 3,
  563. type: "mass",
  564. base: math.unit(80, "kg")
  565. }
  566. },
  567. image: {
  568. source: "./media/characters/jazzy/front.svg",
  569. bottom: 0.01
  570. },
  571. name: "Front"
  572. },
  573. back: {
  574. attributes: {
  575. height: {
  576. name: "Height",
  577. power: 1,
  578. type: "length",
  579. base: math.unit(7, "feet")
  580. },
  581. weight: {
  582. name: "Weight",
  583. power: 3,
  584. type: "mass",
  585. base: math.unit(80, "kg")
  586. }
  587. },
  588. image: {
  589. source: "./media/characters/jazzy/back.svg"
  590. },
  591. name: "Back"
  592. }
  593. };
  594. const entity = makeEntity("Jazzy", "Jazzywolf", views);
  595. entity.views.front.height = math.unit(216, "feet");
  596. return entity;
  597. }
  598. function makeFlamm() {
  599. const views = {
  600. front: {
  601. attributes: {
  602. height: {
  603. name: "Height",
  604. power: 1,
  605. type: "length",
  606. base: math.unit(7, "feet")
  607. },
  608. weight: {
  609. name: "Weight",
  610. power: 3,
  611. type: "mass",
  612. base: math.unit(80, "kg")
  613. }
  614. },
  615. image: {
  616. source: "./media/characters/flamm/front.svg"
  617. },
  618. name: "Front"
  619. }
  620. };
  621. const entity = makeEntity("Flamm", "Flamm", views);
  622. entity.defaults.push({
  623. name: "Normal",
  624. height: math.unit(9.5, "feet")
  625. });
  626. entity.defaults.push({
  627. name: "Macro",
  628. height: math.unit(200, "feet")
  629. });
  630. entity.views.front.height = math.unit(200, "feet");
  631. return entity;
  632. }
  633. function makeZephiro() {
  634. const views = {
  635. front: {
  636. attributes: {
  637. height: {
  638. name: "Height",
  639. power: 1,
  640. type: "length",
  641. base: math.unit(7, "feet")
  642. },
  643. weight: {
  644. name: "Weight",
  645. power: 3,
  646. type: "mass",
  647. base: math.unit(80, "kg")
  648. }
  649. },
  650. image: {
  651. source: "./media/characters/zephiro/front.svg"
  652. },
  653. name: "Front"
  654. },
  655. side: {
  656. attributes: {
  657. height: {
  658. name: "Height",
  659. power: 1,
  660. type: "length",
  661. base: math.unit(7, "feet")
  662. },
  663. weight: {
  664. name: "Weight",
  665. power: 3,
  666. type: "mass",
  667. base: math.unit(80, "kg")
  668. }
  669. },
  670. image: {
  671. source: "./media/characters/zephiro/side.svg"
  672. },
  673. name: "Side"
  674. },
  675. back: {
  676. attributes: {
  677. height: {
  678. name: "Height",
  679. power: 1,
  680. type: "length",
  681. base: math.unit(7, "feet")
  682. },
  683. weight: {
  684. name: "Weight",
  685. power: 3,
  686. type: "mass",
  687. base: math.unit(80, "kg")
  688. }
  689. },
  690. image: {
  691. source: "./media/characters/zephiro/back.svg"
  692. },
  693. name: "Back"
  694. }
  695. };
  696. const entity = makeEntity("Zephiro", "Zephiro", views);
  697. entity.views.front.height = math.unit(118, "feet");
  698. entity.defaults.push({
  699. name: "Micro",
  700. height: math.unit(3, "inches")
  701. });
  702. entity.defaults.push({
  703. name: "Normal",
  704. height: math.unit(5 + 3/12, "feet")
  705. });
  706. entity.defaults.push({
  707. name: "Macro",
  708. height: math.unit(118, "feet")
  709. });
  710. return entity;
  711. }
  712. function makeFory() {
  713. const views = {
  714. front: {
  715. attributes: {
  716. height: {
  717. name: "Height",
  718. power: 1,
  719. type: "length",
  720. base: math.unit(7, "feet")
  721. },
  722. weight: {
  723. name: "Weight",
  724. power: 3,
  725. type: "mass",
  726. base: math.unit(90, "kg")
  727. }
  728. },
  729. image: {
  730. source: "./media/characters/fory/front.svg"
  731. },
  732. name: "Front"
  733. }
  734. };
  735. const entity = makeEntity("Fory", "Manny", views);
  736. entity.defaults.push({
  737. name: "Normal",
  738. height: math.unit(5, "feet")
  739. });
  740. entity.defaults.push({
  741. name: "Macro",
  742. height: math.unit(50, "feet")
  743. });
  744. entity.views.front.height = math.unit(50, "feet");
  745. return entity;
  746. }
  747. function makeKurrikage() {
  748. const views = {
  749. front: {
  750. attributes: {
  751. height: {
  752. name: "Height",
  753. power: 1,
  754. type: "length",
  755. base: math.unit(7, "feet")
  756. },
  757. weight: {
  758. name: "Weight",
  759. power: 3,
  760. type: "mass",
  761. base: math.unit(90, "kg")
  762. }
  763. },
  764. image: {
  765. source: "./media/characters/kurrikage/front.svg"
  766. },
  767. name: "Front"
  768. },
  769. back: {
  770. attributes: {
  771. height: {
  772. name: "Height",
  773. power: 1,
  774. type: "length",
  775. base: math.unit(7, "feet")
  776. },
  777. weight: {
  778. name: "Weight",
  779. power: 3,
  780. type: "mass",
  781. base: math.unit(90, "kg")
  782. }
  783. },
  784. image: {
  785. source: "./media/characters/kurrikage/back.svg"
  786. },
  787. name: "Back"
  788. },
  789. paw: {
  790. attributes: {
  791. height: {
  792. name: "Height",
  793. power: 1,
  794. type: "length",
  795. base: math.unit(1.5, "feet")
  796. }
  797. },
  798. image: {
  799. source: "./media/characters/kurrikage/paw.svg"
  800. },
  801. name: "Paw"
  802. },
  803. staff: {
  804. attributes: {
  805. height: {
  806. name: "Height",
  807. power: 1,
  808. type: "length",
  809. base: math.unit(6.7, "feet")
  810. }
  811. },
  812. image: {
  813. source: "./media/characters/kurrikage/staff.svg"
  814. },
  815. name: "Staff"
  816. },
  817. peek: {
  818. attributes: {
  819. height: {
  820. name: "Height",
  821. power: 1,
  822. type: "length",
  823. base: math.unit(1.05, "feet")
  824. }
  825. },
  826. image: {
  827. source: "./media/characters/kurrikage/peek.svg",
  828. bottom: 0.08
  829. },
  830. name: "Peeking"
  831. }
  832. };
  833. const entity = makeEntity("Kurrikage", "Kurrikage", views);
  834. entity.views.front.height = math.unit(12, "feet");
  835. return entity;
  836. }
  837. function makeShingo() {
  838. const views = {
  839. front: {
  840. attributes: {
  841. height: {
  842. name: "Height",
  843. power: 1,
  844. type: "length",
  845. base: math.unit(6, "feet")
  846. },
  847. weight: {
  848. name: "Weight",
  849. power: 3,
  850. type: "mass",
  851. base: math.unit(75, "kg")
  852. }
  853. },
  854. image: {
  855. source: "./media/characters/shingo/front.svg"
  856. },
  857. name: "Front"
  858. }
  859. };
  860. const entity = makeEntity("Shingo", "Threes", views);
  861. entity.defaults.push({
  862. name: "Micro",
  863. height: math.unit(4, "inches")
  864. });
  865. entity.defaults.push({
  866. name: "Normal",
  867. height: math.unit(6, "feet")
  868. });
  869. entity.defaults.push({
  870. name: "Macro",
  871. height: math.unit(108, "feet")
  872. });
  873. return entity;
  874. }
  875. function makeAigey() {
  876. const views = {
  877. side: {
  878. attributes: {
  879. height: {
  880. name: "Height",
  881. power: 1,
  882. type: "length",
  883. base: math.unit(6, "feet")
  884. },
  885. weight: {
  886. name: "Weight",
  887. power: 3,
  888. type: "mass",
  889. base: math.unit(75, "kg")
  890. }
  891. },
  892. image: {
  893. source: "./media/characters/aigey/side.svg"
  894. },
  895. name: "Side"
  896. }
  897. };
  898. const entity = makeEntity("Aigey", "Aigey", views);
  899. entity.defaults.push({
  900. name: "Macro",
  901. height: math.unit(200, "feet")
  902. });
  903. entity.defaults.push({
  904. name: "Megamacro",
  905. height: math.unit(100, "miles")
  906. });
  907. entity.views[entity.defaultView].height = math.unit(200, "feet");
  908. return entity;
  909. }
  910. function makeNatasha() {
  911. const views = {
  912. side: {
  913. attributes: {
  914. height: {
  915. name: "Height",
  916. power: 1,
  917. type: "length",
  918. base: math.unit(6, "feet")
  919. },
  920. weight: {
  921. name: "Weight",
  922. power: 3,
  923. type: "mass",
  924. base: math.unit(75, "kg")
  925. }
  926. },
  927. image: {
  928. source: "./media/characters/natasha/front.svg"
  929. },
  930. name: "Side"
  931. }
  932. };
  933. const entity = makeEntity("Natasha", "Natasha", views);
  934. entity.defaults.push({
  935. name: "Normal",
  936. height: math.unit(5 + 5/12, "feet")
  937. });
  938. entity.defaults.push({
  939. name: "Large",
  940. height: math.unit(12, "feet")
  941. });
  942. entity.defaults.push({
  943. name: "Macro",
  944. height: math.unit(100, "feet")
  945. });
  946. entity.defaults.push({
  947. name: "Macro+",
  948. height: math.unit(260, "feet")
  949. });
  950. entity.defaults.push({
  951. name: "Macro++",
  952. height: math.unit(1, "mile")
  953. });
  954. entity.views[entity.defaultView].height = math.unit(100, "feet");
  955. return entity;
  956. }
  957. function makeMalik() {
  958. const views = {
  959. front: {
  960. attributes: {
  961. height: {
  962. name: "Height",
  963. power: 1,
  964. type: "length",
  965. base: math.unit(6, "feet")
  966. },
  967. weight: {
  968. name: "Weight",
  969. power: 3,
  970. type: "mass",
  971. base: math.unit(75, "kg")
  972. }
  973. },
  974. image: {
  975. source: "./media/characters/malik/front.svg"
  976. },
  977. name: "Front"
  978. },
  979. side: {
  980. attributes: {
  981. height: {
  982. name: "Height",
  983. power: 1,
  984. type: "length",
  985. base: math.unit(6, "feet")
  986. },
  987. weight: {
  988. name: "Weight",
  989. power: 3,
  990. type: "mass",
  991. base: math.unit(75, "kg")
  992. }
  993. },
  994. image: {
  995. extra: 1.1539,
  996. source: "./media/characters/malik/side.svg"
  997. },
  998. name: "Side"
  999. },
  1000. back: {
  1001. attributes: {
  1002. height: {
  1003. name: "Height",
  1004. power: 1,
  1005. type: "length",
  1006. base: math.unit(6, "feet")
  1007. },
  1008. weight: {
  1009. name: "Weight",
  1010. power: 3,
  1011. type: "mass",
  1012. base: math.unit(75, "kg")
  1013. }
  1014. },
  1015. image: {
  1016. source: "./media/characters/malik/back.svg"
  1017. },
  1018. name: "Back"
  1019. },
  1020. };
  1021. const entity = makeEntity("Malik", "Fuzzypaws", views);
  1022. entity.defaults.push({
  1023. name: "Macro",
  1024. height: math.unit(156, "feet")
  1025. });
  1026. entity.defaults.push({
  1027. name: "Macro+",
  1028. height: math.unit(1188, "feet")
  1029. });
  1030. entity.views[entity.defaultView].height = math.unit(156, "feet");
  1031. return entity;
  1032. }
  1033. function makeSefer() {
  1034. const views = {
  1035. front: {
  1036. attributes: {
  1037. height: {
  1038. name: "Height",
  1039. power: 1,
  1040. type: "length",
  1041. base: math.unit(6, "feet")
  1042. },
  1043. weight: {
  1044. name: "Weight",
  1045. power: 3,
  1046. type: "mass",
  1047. base: math.unit(75, "kg")
  1048. }
  1049. },
  1050. image: {
  1051. source: "./media/characters/sefer/front.svg"
  1052. },
  1053. name: "Front"
  1054. },
  1055. back: {
  1056. attributes: {
  1057. height: {
  1058. name: "Height",
  1059. power: 1,
  1060. type: "length",
  1061. base: math.unit(6, "feet")
  1062. },
  1063. weight: {
  1064. name: "Weight",
  1065. power: 3,
  1066. type: "mass",
  1067. base: math.unit(75, "kg")
  1068. }
  1069. },
  1070. image: {
  1071. source: "./media/characters/sefer/back.svg"
  1072. },
  1073. name: "Back"
  1074. },
  1075. };
  1076. const entity = makeEntity("Sefer", "Fuzzypaws", views);
  1077. entity.views[entity.defaultView].height = math.unit(6, "feet");
  1078. return entity;
  1079. }
  1080. function makeMan() {
  1081. const views = {
  1082. body: {
  1083. attributes: {
  1084. height: {
  1085. name: "Height",
  1086. power: 1,
  1087. type: "length",
  1088. base: math.unit(2, "meter")
  1089. },
  1090. weight: {
  1091. name: "Weight",
  1092. power: 3,
  1093. type: "mass",
  1094. base: math.unit(80, "kg")
  1095. }
  1096. },
  1097. image: {
  1098. source: "./man.svg"
  1099. },
  1100. name: "Body"
  1101. }
  1102. };
  1103. return makeEntity("Man", "Fen", views);
  1104. }
  1105. characterMakers["North"] = () => {
  1106. return makeCharacter(
  1107. "North",
  1108. "chemicalcrux",
  1109. {
  1110. body: {
  1111. height: math.unit(2.2428, "meter"),
  1112. weight: math.unit(124.738, "kg"),
  1113. name: "Body",
  1114. image: {
  1115. extra: 1225/1050,
  1116. source: "./media/characters/north/front.svg"
  1117. }
  1118. }
  1119. },
  1120. [
  1121. {
  1122. name: "Micro",
  1123. height: math.unit(4, "inches")
  1124. },
  1125. {
  1126. name: "Macro",
  1127. height: math.unit(63, "meters")
  1128. },
  1129. {
  1130. name: "Megamacro",
  1131. height: math.unit(101, "miles")
  1132. }
  1133. ],
  1134. math.unit(101, "miles")
  1135. )
  1136. };
  1137. characterMakers["Talan"] = () => {
  1138. return makeCharacter(
  1139. "Talan",
  1140. "talanstrider",
  1141. {
  1142. body: {
  1143. height: math.unit(2, "meter"),
  1144. weight: math.unit(70, "kg"),
  1145. name: "Body",
  1146. image: {
  1147. bottom: 0.02,
  1148. source: "./media/characters/talan/front.svg"
  1149. }
  1150. }
  1151. },
  1152. [
  1153. {
  1154. name: "Normal",
  1155. height: math.unit(4, "meters")
  1156. },
  1157. {
  1158. name: "Macro",
  1159. height: math.unit(100, "meters")
  1160. },
  1161. {
  1162. name: "Megamacro",
  1163. height: math.unit(2, "miles")
  1164. },
  1165. {
  1166. name: "Gigamacro",
  1167. height: math.unit(5000, "miles")
  1168. },
  1169. {
  1170. name: "Teramacro",
  1171. height: math.unit(100, "parsecs")
  1172. }
  1173. ],
  1174. math.unit(2, "miles")
  1175. )
  1176. };
  1177. characterMakers["Gael'Rathus"] = () => {
  1178. return makeCharacter(
  1179. "Gael'Rathus",
  1180. "Kurrikage",
  1181. {
  1182. front: {
  1183. height: math.unit(2, "meter"),
  1184. weight: math.unit(90, "kg"),
  1185. name: "Front",
  1186. image: {
  1187. source: "./media/characters/gael'rathus/front.svg"
  1188. }
  1189. },
  1190. frontAlt: {
  1191. height: math.unit(2, "meter"),
  1192. weight: math.unit(90, "kg"),
  1193. name: "Front (alt)",
  1194. image: {
  1195. source: "./media/characters/gael'rathus/front-alt.svg"
  1196. }
  1197. },
  1198. frontAlt2: {
  1199. height: math.unit(2, "meter"),
  1200. weight: math.unit(90, "kg"),
  1201. name: "Front (alt 2)",
  1202. image: {
  1203. source: "./media/characters/gael'rathus/front-alt-2.svg"
  1204. }
  1205. }
  1206. },
  1207. [
  1208. {
  1209. name: "Normal",
  1210. height: math.unit(9, "feet")
  1211. },
  1212. {
  1213. name: "Large",
  1214. height: math.unit(25, "feet")
  1215. },
  1216. {
  1217. name: "Macro",
  1218. height: math.unit(0.25, "miles")
  1219. },
  1220. {
  1221. name: "Megamacro",
  1222. height: math.unit(10, "miles")
  1223. }
  1224. ],
  1225. math.unit(9, "feet")
  1226. )
  1227. };
  1228. characterMakers["Sosha"] = () => {
  1229. return makeCharacter(
  1230. "Sosha",
  1231. "Sdocat",
  1232. {
  1233. side: {
  1234. height: math.unit(2, "meter"),
  1235. weight: math.unit(140, "kg"),
  1236. name: "Side",
  1237. image: {
  1238. source: "./media/characters/sosha/side.svg"
  1239. }
  1240. },
  1241. },
  1242. [
  1243. {
  1244. name: "Normal",
  1245. height: math.unit(12, "feet")
  1246. }
  1247. ],
  1248. math.unit(12, "feet")
  1249. )
  1250. };
  1251. characterMakers["Kurribird"] = () => {
  1252. return makeCharacter(
  1253. "Kurribird",
  1254. "Kurrikage",
  1255. {
  1256. front: {
  1257. height: math.unit(2, "meter"),
  1258. weight: math.unit(50, "kg"),
  1259. name: "Front",
  1260. image: {
  1261. source: "./media/characters/kurribird/front.svg",
  1262. bottom: 0.015
  1263. }
  1264. },
  1265. frontAlt: {
  1266. height: math.unit(1.5, "meter"),
  1267. weight: math.unit(50, "kg"),
  1268. name: "Front (Alt)",
  1269. image: {
  1270. source: "./media/characters/kurribird/front-alt.svg",
  1271. extra: 1.45
  1272. }
  1273. },
  1274. },
  1275. [
  1276. {
  1277. name: "Normal",
  1278. height: math.unit(7, "feet")
  1279. },
  1280. {
  1281. name: "Big",
  1282. height: math.unit(15, "feet")
  1283. },
  1284. {
  1285. name: "Macro",
  1286. height: math.unit(1500, "feet")
  1287. },
  1288. {
  1289. name: "Megamacro",
  1290. height: math.unit(2, "miles")
  1291. }
  1292. ],
  1293. math.unit(12, "feet")
  1294. )
  1295. };
  1296. characterMakers["Elbial"] = () => {
  1297. return makeCharacter(
  1298. "Elbial",
  1299. "Neopuc",
  1300. {
  1301. front: {
  1302. height: math.unit(2, "meter"),
  1303. weight: math.unit(80, "kg"),
  1304. name: "Front",
  1305. image: {
  1306. source: "./media/characters/elbial/front.svg"
  1307. }
  1308. },
  1309. side: {
  1310. height: math.unit(2, "meter"),
  1311. weight: math.unit(80, "kg"),
  1312. name: "Side",
  1313. image: {
  1314. source: "./media/characters/elbial/side.svg"
  1315. }
  1316. },
  1317. back: {
  1318. height: math.unit(2, "meter"),
  1319. weight: math.unit(80, "kg"),
  1320. name: "Back",
  1321. image: {
  1322. source: "./media/characters/elbial/back.svg"
  1323. }
  1324. },
  1325. },
  1326. [
  1327. {
  1328. name: "Large",
  1329. height: math.unit(100, "feet")
  1330. },
  1331. {
  1332. name: "Macro",
  1333. height: math.unit(500, "feet")
  1334. },
  1335. {
  1336. name: "Megamacro",
  1337. height: math.unit(10, "miles")
  1338. },
  1339. {
  1340. name: "Gigamacro",
  1341. height: math.unit(25000, "miles")
  1342. },
  1343. {
  1344. name: "Full-Size",
  1345. height: math.unit(8000000, "gigaparsecs")
  1346. }
  1347. ],
  1348. math.unit(500, "feet")
  1349. )
  1350. };
  1351. characterMakers["Noah"] = () => {
  1352. return makeCharacter(
  1353. "Noah",
  1354. "Neopuc",
  1355. {
  1356. front: {
  1357. height: math.unit(2, "meter"),
  1358. weight: math.unit(60, "kg"),
  1359. name: "Front",
  1360. image: {
  1361. source: "./media/characters/noah/front.svg"
  1362. }
  1363. },
  1364. talons: {
  1365. height: math.unit(0.315, "meter"),
  1366. name: "Talons",
  1367. image: {
  1368. source: "./media/characters/noah/talons.svg"
  1369. }
  1370. }
  1371. },
  1372. [
  1373. {
  1374. name: "Large",
  1375. height: math.unit(50, "feet")
  1376. },
  1377. {
  1378. name: "Macro",
  1379. height: math.unit(750, "feet")
  1380. },
  1381. {
  1382. name: "Megamacro",
  1383. height: math.unit(50, "miles")
  1384. },
  1385. {
  1386. name: "Gigamacro",
  1387. height: math.unit(100000, "miles")
  1388. },
  1389. {
  1390. name: "Full-Size",
  1391. height: math.unit(3000000000, "miles")
  1392. }
  1393. ],
  1394. math.unit(750, "feet")
  1395. )
  1396. };
  1397. characterMakers["Natalya"] = () => {
  1398. return makeCharacter(
  1399. "Natalya",
  1400. "Neopuc",
  1401. {
  1402. front: {
  1403. height: math.unit(2, "meter"),
  1404. weight: math.unit(80, "kg"),
  1405. name: "Front",
  1406. image: {
  1407. source: "./media/characters/natalya/front.svg"
  1408. }
  1409. },
  1410. back: {
  1411. height: math.unit(2, "meter"),
  1412. weight: math.unit(80, "kg"),
  1413. name: "Back",
  1414. image: {
  1415. source: "./media/characters/natalya/back.svg"
  1416. }
  1417. }
  1418. },
  1419. [
  1420. {
  1421. name: "Normal",
  1422. height: math.unit(150, "feet")
  1423. },
  1424. {
  1425. name: "Megamacro",
  1426. height: math.unit(5, "miles")
  1427. },
  1428. {
  1429. name: "Full-Size",
  1430. height: math.unit(600, "kiloparsecs")
  1431. }
  1432. ],
  1433. math.unit(150, "feet")
  1434. )
  1435. };
  1436. characterMakers["Erestrebah"] = () => {
  1437. return makeCharacter(
  1438. "Erestrebah",
  1439. "Kurrikage",
  1440. {
  1441. front: {
  1442. height: math.unit(2, "meter"),
  1443. weight: math.unit(50, "kg"),
  1444. name: "Front",
  1445. image: {
  1446. source: "./media/characters/erestrebah/front.svg"
  1447. }
  1448. },
  1449. back: {
  1450. height: math.unit(2, "meter"),
  1451. weight: math.unit(50, "kg"),
  1452. name: "Back",
  1453. image: {
  1454. source: "./media/characters/erestrebah/back.svg",
  1455. extra: 1.2139
  1456. }
  1457. }
  1458. },
  1459. [
  1460. {
  1461. name: "Normal",
  1462. height: math.unit(10, "feet")
  1463. },
  1464. {
  1465. name: "Large",
  1466. height: math.unit(50, "feet")
  1467. },
  1468. {
  1469. name: "Macro",
  1470. height: math.unit(300, "feet")
  1471. },
  1472. {
  1473. name: "Macro+",
  1474. height: math.unit(750, "feet")
  1475. },
  1476. {
  1477. name: "Megamacro",
  1478. height: math.unit(3, "miles")
  1479. }
  1480. ],
  1481. math.unit(50, "feet")
  1482. )
  1483. };
  1484. characterMakers["Jennifer"] = () => {
  1485. return makeCharacter(
  1486. "Jennifer",
  1487. "Neopuc",
  1488. {
  1489. front: {
  1490. height: math.unit(2, "meter"),
  1491. weight: math.unit(80, "kg"),
  1492. name: "Front",
  1493. image: {
  1494. source: "./media/characters/jennifer/front.svg",
  1495. bottom: 0.11,
  1496. extra: 1.16
  1497. }
  1498. },
  1499. frontAlt: {
  1500. height: math.unit(2, "meter"),
  1501. weight: math.unit(80, "kg"),
  1502. name: "Front (Alt)",
  1503. image: {
  1504. source: "./media/characters/jennifer/front-alt.svg"
  1505. }
  1506. }
  1507. },
  1508. [
  1509. {
  1510. name: "Canon Height",
  1511. height: math.unit(120, "feet")
  1512. },
  1513. {
  1514. name: "Macro+",
  1515. height: math.unit(300, "feet")
  1516. },
  1517. {
  1518. name: "Megamacro",
  1519. height: math.unit(20000, "feet")
  1520. }
  1521. ],
  1522. math.unit(120, "feet")
  1523. )
  1524. };
  1525. characterMakers["Kalista"] = () => {
  1526. return makeCharacter(
  1527. "Kalista",
  1528. "Kalista",
  1529. {
  1530. front: {
  1531. height: math.unit(2, "meter"),
  1532. weight: math.unit(50, "kg"),
  1533. name: "Front",
  1534. image: {
  1535. source: "./media/characters/kalista/front.svg"
  1536. }
  1537. },
  1538. back: {
  1539. height: math.unit(2, "meter"),
  1540. weight: math.unit(50, "kg"),
  1541. name: "Back",
  1542. image: {
  1543. source: "./media/characters/kalista/back.svg"
  1544. }
  1545. }
  1546. },
  1547. [
  1548. {
  1549. name: "Uncomfortably Small",
  1550. height: math.unit(10, "feet")
  1551. },
  1552. {
  1553. name: "Small",
  1554. height: math.unit(30, "feet")
  1555. },
  1556. {
  1557. name: "Macro",
  1558. height: math.unit(100, "feet")
  1559. },
  1560. {
  1561. name: "Macro+",
  1562. height: math.unit(2000, "feet")
  1563. },
  1564. {
  1565. name: "True Form",
  1566. height: math.unit(8924, "miles")
  1567. }
  1568. ],
  1569. math.unit(100, "feet")
  1570. )
  1571. };
  1572. characterMakers["GiantGrowingVixen"] = () => {
  1573. return makeCharacter(
  1574. "GiantGrowingVixen",
  1575. "GiantGrowingVixen",
  1576. {
  1577. front: {
  1578. height: math.unit(2, "meter"),
  1579. weight: math.unit(120, "kg"),
  1580. name: "Front",
  1581. image: {
  1582. source: "./media/characters/ggv/front.svg"
  1583. }
  1584. },
  1585. side: {
  1586. height: math.unit(2, "meter"),
  1587. weight: math.unit(120, "kg"),
  1588. name: "Side",
  1589. image: {
  1590. source: "./media/characters/ggv/side.svg"
  1591. }
  1592. }
  1593. },
  1594. [
  1595. {
  1596. name: "Extremely Puny",
  1597. height: math.unit(9 + 5/12, "feet")
  1598. },
  1599. {
  1600. name: "Horribly Small",
  1601. height: math.unit(47.7, "miles")
  1602. },
  1603. {
  1604. name: "Reasonably Sized",
  1605. height: math.unit(25000, "parsecs")
  1606. }
  1607. ],
  1608. math.unit(47.7, "miles")
  1609. )
  1610. };
  1611. characterMakers["Napalm"] = () => {
  1612. return makeCharacter(
  1613. "Napalm",
  1614. "RathDaKrogan",
  1615. {
  1616. front: {
  1617. height: math.unit(2, "meter"),
  1618. weight: math.unit(75, "lb"),
  1619. name: "Front",
  1620. image: {
  1621. source: "./media/characters/napalm/front.svg"
  1622. }
  1623. },
  1624. back: {
  1625. height: math.unit(2, "meter"),
  1626. weight: math.unit(75, "lb"),
  1627. name: "Back",
  1628. image: {
  1629. source: "./media/characters/napalm/back.svg"
  1630. }
  1631. }
  1632. },
  1633. [
  1634. {
  1635. name: "Standard",
  1636. height: math.unit(55, "feet")
  1637. }
  1638. ],
  1639. math.unit(55, "feet")
  1640. )
  1641. };
  1642. characterMakers["Asana"] = () => {
  1643. return makeCharacter(
  1644. "Asana",
  1645. "Asana",
  1646. {
  1647. front: {
  1648. height: math.unit(7 + 5/6, "feet"),
  1649. weight: math.unit(325, "lb"),
  1650. name: "Front",
  1651. image: {
  1652. source: "./media/characters/asana/front.svg",
  1653. extra: 1128/1068
  1654. }
  1655. },
  1656. back: {
  1657. height: math.unit(7 + 5/6, "feet"),
  1658. weight: math.unit(325, "lb"),
  1659. name: "Back",
  1660. image: {
  1661. source: "./media/characters/asana/back.svg",
  1662. extra: 1128/1068
  1663. }
  1664. },
  1665. },
  1666. [
  1667. {
  1668. name: "Standard",
  1669. height: math.unit(7 + 5/6, "feet")
  1670. },
  1671. {
  1672. name: "Large",
  1673. height: math.unit(10, "meters")
  1674. },
  1675. {
  1676. name: "Macro",
  1677. height: math.unit(2500, "meters")
  1678. },
  1679. {
  1680. name: "Megamacro",
  1681. height: math.unit(5e6, "meters")
  1682. },
  1683. {
  1684. name: "Examacro",
  1685. height: math.unit(5e12, "lightyears")
  1686. }
  1687. ],
  1688. math.unit(7 + 5/6, "feet")
  1689. )
  1690. };
  1691. characterMakers["Ebony"] = () => {
  1692. return makeCharacter(
  1693. "Ebony",
  1694. "Lazerwolf",
  1695. {
  1696. front: {
  1697. height: math.unit(2, "meter"),
  1698. weight: math.unit(60, "kg"),
  1699. name: "Front",
  1700. image: {
  1701. source: "./media/characters/ebony/front.svg",
  1702. bottom: 0.03,
  1703. extra: 1045/810 + 0.03
  1704. }
  1705. },
  1706. side: {
  1707. height: math.unit(2, "meter"),
  1708. weight: math.unit(60, "kg"),
  1709. name: "Side",
  1710. image: {
  1711. source: "./media/characters/ebony/side.svg",
  1712. bottom: 0.03,
  1713. extra: 1045/810 + 0.03
  1714. }
  1715. },
  1716. back: {
  1717. height: math.unit(2, "meter"),
  1718. weight: math.unit(60, "kg"),
  1719. name: "Back",
  1720. image: {
  1721. source: "./media/characters/ebony/back.svg",
  1722. bottom: 0.01,
  1723. extra: 1045/810 + 0.01
  1724. }
  1725. },
  1726. },
  1727. [
  1728. {
  1729. name: "Standard",
  1730. height: math.unit(9/8 * (7 + 5/12), "feet")
  1731. },
  1732. {
  1733. name: "Macro",
  1734. height: math.unit(200, "feet")
  1735. },
  1736. {
  1737. name: "Gigamacro",
  1738. height: math.unit(13000, "km")
  1739. }
  1740. ],
  1741. math.unit(7 + 5/12, "feet")
  1742. )
  1743. };
  1744. characterMakers["Mountain"] = () => {
  1745. return makeCharacter(
  1746. "Mountain",
  1747. "Asana",
  1748. {
  1749. front: {
  1750. height: math.unit(6, "feet"),
  1751. weight: math.unit(175, "lb"),
  1752. name: "Front",
  1753. image: {
  1754. source: "./media/characters/mountain/front.svg"
  1755. }
  1756. },
  1757. back: {
  1758. height: math.unit(6, "feet"),
  1759. weight: math.unit(175, "lb"),
  1760. name: "Back",
  1761. image: {
  1762. source: "./media/characters/mountain/back.svg"
  1763. }
  1764. },
  1765. },
  1766. [
  1767. {
  1768. name: "Large",
  1769. height: math.unit(20, "meters")
  1770. },
  1771. {
  1772. name: "Macro",
  1773. height: math.unit(300, "meters")
  1774. },
  1775. {
  1776. name: "Gigamacro",
  1777. height: math.unit(10000, "km")
  1778. },
  1779. {
  1780. name: "Examacro",
  1781. height: math.unit(10e9, "lightyears")
  1782. }
  1783. ],
  1784. math.unit(10000, "km")
  1785. )
  1786. };
  1787. characterMakers["Rick"] = () => {
  1788. return makeCharacter(
  1789. "Rick",
  1790. "Victni",
  1791. {
  1792. front: {
  1793. height: math.unit(8, "feet"),
  1794. weight: math.unit(500, "lb"),
  1795. name: "Front",
  1796. image: {
  1797. source: "./media/characters/rick/front.svg"
  1798. }
  1799. }
  1800. },
  1801. [
  1802. {
  1803. name: "Normal",
  1804. height: math.unit(8, "feet")
  1805. },
  1806. {
  1807. name: "Macro",
  1808. height: math.unit(5, "km")
  1809. }
  1810. ],
  1811. math.unit(8, "feet")
  1812. )
  1813. };
  1814. characterMakers["Ona"] = () => {
  1815. return makeCharacter(
  1816. "Ona",
  1817. "Arrogance127",
  1818. {
  1819. front: {
  1820. height: math.unit(8, "feet"),
  1821. weight: math.unit(120, "lb"),
  1822. name: "Front",
  1823. image: {
  1824. source: "./media/characters/ona/front.svg"
  1825. }
  1826. },
  1827. frontAlt: {
  1828. height: math.unit(8, "feet"),
  1829. weight: math.unit(120, "lb"),
  1830. name: "Front (Alt)",
  1831. image: {
  1832. source: "./media/characters/ona/front-alt.svg"
  1833. }
  1834. },
  1835. back: {
  1836. height: math.unit(8, "feet"),
  1837. weight: math.unit(120, "lb"),
  1838. name: "Back",
  1839. image: {
  1840. source: "./media/characters/ona/back.svg"
  1841. }
  1842. },
  1843. foot: {
  1844. height: math.unit(1.1, "feet"),
  1845. name: "Foot",
  1846. image: {
  1847. source: "./media/characters/ona/foot.svg"
  1848. }
  1849. }
  1850. },
  1851. [
  1852. {
  1853. name: "Megamacro",
  1854. height: math.unit(70, "km")
  1855. },
  1856. {
  1857. name: "Gigamacro",
  1858. height: math.unit(681818, "miles")
  1859. },
  1860. {
  1861. name: "Examacro",
  1862. height: math.unit(3800000, "lightyears")
  1863. },
  1864. ],
  1865. math.unit(70, "km")
  1866. )
  1867. };
  1868. characterMakers["Mech"] = () => {
  1869. return makeCharacter(
  1870. "Mech",
  1871. "mechEdragon",
  1872. {
  1873. front: {
  1874. height: math.unit(12, "feet"),
  1875. weight: math.unit(3000, "lb"),
  1876. name: "Front",
  1877. image: {
  1878. source: "./media/characters/mech/front.svg",
  1879. bottom: 0.025,
  1880. }
  1881. },
  1882. back: {
  1883. height: math.unit(12, "feet"),
  1884. weight: math.unit(3000, "lb"),
  1885. name: "Back",
  1886. image: {
  1887. source: "./media/characters/mech/back.svg",
  1888. bottom: 0.03,
  1889. }
  1890. }
  1891. },
  1892. [
  1893. {
  1894. name: "Normal",
  1895. height: math.unit(12, "feet")
  1896. },
  1897. {
  1898. name: "Macro",
  1899. height: math.unit(300, "feet")
  1900. },
  1901. {
  1902. name: "Macro+",
  1903. height: math.unit(1500, "feet")
  1904. },
  1905. ],
  1906. math.unit(300, "feet")
  1907. )
  1908. };
  1909. characterMakers["Gregory"] = () => {
  1910. return makeCharacter(
  1911. "Gregory",
  1912. "GregoryKlippenspringer",
  1913. {
  1914. front: {
  1915. height: math.unit(1.3, "meter"),
  1916. weight: math.unit(30, "kg"),
  1917. name: "Front",
  1918. image: {
  1919. source: "./media/characters/gregory/front.svg",
  1920. }
  1921. }
  1922. },
  1923. [
  1924. {
  1925. name: "Normal",
  1926. height: math.unit(1.3, "meter")
  1927. },
  1928. {
  1929. name: "Macro",
  1930. height: math.unit(20, "meter")
  1931. }
  1932. ],
  1933. math.unit(1.3, "meter")
  1934. )
  1935. };
  1936. characterMakers["Elory"] = () => {
  1937. return makeCharacter(
  1938. "Elory",
  1939. "GregoryKlippenspringer",
  1940. {
  1941. front: {
  1942. height: math.unit(2.8, "meter"),
  1943. weight: math.unit(200, "kg"),
  1944. name: "Front",
  1945. image: {
  1946. source: "./media/characters/elory/front.svg",
  1947. }
  1948. }
  1949. },
  1950. [
  1951. {
  1952. name: "Normal",
  1953. height: math.unit(2.8, "meter")
  1954. },
  1955. {
  1956. name: "Macro",
  1957. height: math.unit(38, "meter")
  1958. }
  1959. ],
  1960. math.unit(2.8, "meter")
  1961. )
  1962. };
  1963. characterMakers["Angelpatamon"] = () => {
  1964. return makeCharacter(
  1965. "Angelpatamon",
  1966. "GregoryKlippenspringer",
  1967. {
  1968. front: {
  1969. height: math.unit(470, "feet"),
  1970. weight: math.unit(924, "tons"),
  1971. name: "Front",
  1972. image: {
  1973. source: "./media/characters/angelpatamon/front.svg",
  1974. }
  1975. }
  1976. },
  1977. [
  1978. {
  1979. name: "Normal",
  1980. height: math.unit(470, "feet")
  1981. },
  1982. {
  1983. name: "Deity Size I",
  1984. height: math.unit(28651.2, "km")
  1985. },
  1986. {
  1987. name: "Deity Size II",
  1988. height: math.unit(171907.2, "km")
  1989. }
  1990. ],
  1991. math.unit(470, "feet")
  1992. )
  1993. };
  1994. characterMakers["Cryae"] = () => {
  1995. return makeCharacter(
  1996. "Cryae",
  1997. "GregoryKlippenspringer",
  1998. {
  1999. side: {
  2000. height: math.unit(7.2, "meter"),
  2001. weight: math.unit(8.2, "tons"),
  2002. name: "Side",
  2003. image: {
  2004. source: "./media/characters/cryae/side.svg",
  2005. extra: 3500/1500
  2006. }
  2007. }
  2008. },
  2009. [
  2010. {
  2011. name: "Normal",
  2012. height: math.unit(7.2, "meter")
  2013. }
  2014. ],
  2015. math.unit(7.2, "meter")
  2016. )
  2017. };
  2018. characterMakers["Xera"] = () => {
  2019. return makeCharacter(
  2020. "Xera",
  2021. "Asana",
  2022. {
  2023. front: {
  2024. height: math.unit(6, "feet"),
  2025. weight: math.unit(175, "lb"),
  2026. name: "Front",
  2027. image: {
  2028. source: "./media/characters/xera/front.svg",
  2029. extra: 2300/2061
  2030. }
  2031. },
  2032. side: {
  2033. height: math.unit(6, "feet"),
  2034. weight: math.unit(175, "lb"),
  2035. name: "Side",
  2036. image: {
  2037. source: "./media/characters/xera/side.svg",
  2038. extra: 2300/2061
  2039. }
  2040. },
  2041. back: {
  2042. height: math.unit(6, "feet"),
  2043. weight: math.unit(175, "lb"),
  2044. name: "Back",
  2045. image: {
  2046. source: "./media/characters/xera/back.svg"
  2047. }
  2048. },
  2049. },
  2050. [
  2051. {
  2052. name: "Small",
  2053. height: math.unit(10, "feet")
  2054. },
  2055. {
  2056. name: "Macro",
  2057. height: math.unit(500, "meters")
  2058. },
  2059. {
  2060. name: "Macro+",
  2061. height: math.unit(10, "km")
  2062. },
  2063. {
  2064. name: "Gigamacro",
  2065. height: math.unit(25000, "km")
  2066. },
  2067. {
  2068. name: "Teramacro",
  2069. height: math.unit(3e6, "km")
  2070. }
  2071. ],
  2072. math.unit(500, "meters")
  2073. )
  2074. };
  2075. characterMakers["Nebula"] = () => {
  2076. return makeCharacter(
  2077. "Nebula",
  2078. "Cilenomon",
  2079. {
  2080. front: {
  2081. height: math.unit(6, "feet"),
  2082. weight: math.unit(175, "lb"),
  2083. name: "Front",
  2084. image: {
  2085. source: "./media/characters/nebula/front.svg",
  2086. extra: 2600/2450
  2087. }
  2088. }
  2089. },
  2090. [
  2091. {
  2092. name: "Small",
  2093. height: math.unit(4.5, "meters")
  2094. },
  2095. {
  2096. name: "Macro",
  2097. height: math.unit(1500, "meters")
  2098. },
  2099. {
  2100. name: "Megamacro",
  2101. height: math.unit(150, "km")
  2102. },
  2103. {
  2104. name: "Gigamacro",
  2105. height: math.unit(27000, "km")
  2106. }
  2107. ],
  2108. math.unit(1500, "meters")
  2109. )
  2110. };
  2111. characterMakers["Abysgar"] = () => {
  2112. return makeCharacter(
  2113. "Abysgar",
  2114. "Cilenomon",
  2115. {
  2116. front: {
  2117. height: math.unit(6, "feet"),
  2118. weight: math.unit(225, "lb"),
  2119. name: "Front",
  2120. image: {
  2121. source: "./media/characters/abysgar/front.svg"
  2122. }
  2123. }
  2124. },
  2125. [
  2126. {
  2127. name: "Small",
  2128. height: math.unit(4.5, "meters")
  2129. },
  2130. {
  2131. name: "Macro",
  2132. height: math.unit(1250, "meters")
  2133. },
  2134. {
  2135. name: "Megamacro",
  2136. height: math.unit(125, "km")
  2137. },
  2138. {
  2139. name: "Gigamacro",
  2140. height: math.unit(26000, "km")
  2141. }
  2142. ],
  2143. math.unit(1250, "meters")
  2144. )
  2145. };
  2146. characterMakers["Yakuz"] = () => {
  2147. return makeCharacter(
  2148. "Yakuz",
  2149. "Cilenomon",
  2150. {
  2151. front: {
  2152. height: math.unit(6, "feet"),
  2153. weight: math.unit(180, "lb"),
  2154. name: "Front",
  2155. image: {
  2156. source: "./media/characters/yakuz/front.svg"
  2157. }
  2158. }
  2159. },
  2160. [
  2161. {
  2162. name: "Small",
  2163. height: math.unit(5, "meters")
  2164. },
  2165. {
  2166. name: "Macro",
  2167. height: math.unit(2500, "meters")
  2168. },
  2169. {
  2170. name: "Megamacro",
  2171. height: math.unit(200, "km")
  2172. },
  2173. {
  2174. name: "Gigamacro",
  2175. height: math.unit(100000, "km")
  2176. }
  2177. ],
  2178. math.unit(1500, "meters")
  2179. )
  2180. };
  2181. characterMakers["Mirova"] = () => {
  2182. return makeCharacter(
  2183. "Mirova",
  2184. "Cilenomon",
  2185. {
  2186. front: {
  2187. height: math.unit(6, "feet"),
  2188. weight: math.unit(175, "lb"),
  2189. name: "Front",
  2190. image: {
  2191. source: "./media/characters/mirova/front.svg"
  2192. }
  2193. }
  2194. },
  2195. [
  2196. {
  2197. name: "Small",
  2198. height: math.unit(5, "meters")
  2199. },
  2200. {
  2201. name: "Macro",
  2202. height: math.unit(900, "meters")
  2203. },
  2204. {
  2205. name: "Megamacro",
  2206. height: math.unit(135, "km")
  2207. },
  2208. {
  2209. name: "Gigamacro",
  2210. height: math.unit(20000, "km")
  2211. }
  2212. ],
  2213. math.unit(900, "meters")
  2214. )
  2215. };
  2216. function makeCharacters() {
  2217. const results = [];
  2218. results.push({
  2219. name: "Sofia",
  2220. constructor: makeSofia
  2221. });
  2222. results.push({
  2223. name: "March",
  2224. constructor: makeMarch
  2225. });
  2226. results.push({
  2227. name: "Noir",
  2228. constructor: makeNoir
  2229. });
  2230. results.push({
  2231. name: "Okuri",
  2232. constructor: makeOkuri
  2233. });
  2234. results.push({
  2235. name: "Manny",
  2236. constructor: makeManny
  2237. });
  2238. results.push({
  2239. name: "Adake",
  2240. constructor: makeAdake
  2241. });
  2242. results.push({
  2243. name: "Elijah",
  2244. constructor: makeElijah
  2245. });
  2246. results.push({
  2247. name: "Rai",
  2248. constructor: makeRai
  2249. });
  2250. results.push({
  2251. name: "Jazzy",
  2252. constructor: makeJazzy
  2253. });
  2254. results.push({
  2255. name: "Flamm",
  2256. constructor: makeFlamm
  2257. });
  2258. results.push({
  2259. name: "Zephiro",
  2260. constructor: makeZephiro
  2261. });
  2262. results.push({
  2263. name: "Fory",
  2264. constructor: makeFory
  2265. });
  2266. results.push({
  2267. name: "Kurrikage",
  2268. constructor: makeKurrikage
  2269. });
  2270. results.push({
  2271. name: "Shingo",
  2272. constructor: makeShingo
  2273. });
  2274. results.push({
  2275. name: "Aigey",
  2276. constructor: makeAigey
  2277. });
  2278. results.push({
  2279. name: "Natasha",
  2280. constructor: makeNatasha
  2281. });
  2282. results.push({
  2283. name: "Malik",
  2284. constructor: makeMalik
  2285. });
  2286. results.push({
  2287. name: "Sefer",
  2288. constructor: makeSefer
  2289. });
  2290. results.push({
  2291. name: "Normal man",
  2292. constructor: makeMan
  2293. });
  2294. Object.entries(characterMakers).forEach(([key, value]) => {
  2295. results.push({
  2296. name: key,
  2297. constructor: value
  2298. });
  2299. });
  2300. return results;
  2301. }