less copy protection, more size visualization
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

1618 wiersze
41 KiB

  1. const characterMakers = [];
  2. math.createUnit("parsecs", {
  3. definition: "3.086e16 meters",
  4. prefixes: "long"
  5. })
  6. function makeCharacter(name, author, viewInfo, defaultSizes, defaultSize) {
  7. views = {};
  8. console.log(viewInfo)
  9. Object.entries(viewInfo).forEach(([key, value]) => {
  10. console.log(key)
  11. views[key] = {
  12. attributes: {
  13. height: {
  14. name: "Height",
  15. power: 1,
  16. type: "length",
  17. base: value.height
  18. }
  19. },
  20. image: value.image,
  21. name: value.name
  22. }
  23. if (value.mass) {
  24. views[key].attributes[key] = {
  25. name: "Mass",
  26. power: 3,
  27. type: "mass",
  28. base: value.mass
  29. };
  30. }
  31. });
  32. const entity = makeEntity(name, "author", views);
  33. if (defaultSizes) {
  34. entity.defaults = defaultSizes;
  35. }
  36. if (defaultSize) {
  37. entity.views[entity.defaultView].height = defaultSize;
  38. }
  39. return entity;
  40. }
  41. characterMakers["Fen"] = () => {
  42. return makeCharacter(
  43. "Fen",
  44. "chemicalcrux",
  45. {
  46. body: {
  47. height: math.unit(2.2428, "meter"),
  48. weight: math.unit(124.738, "kg"),
  49. name: "Body",
  50. image: {
  51. source: "./media/characters/fen/back.svg"
  52. }
  53. }
  54. },
  55. [
  56. {
  57. name: "Normal",
  58. height: math.unit(2.2428, "meter")
  59. },
  60. {
  61. name: "Big",
  62. height: math.unit(12, "feet")
  63. },
  64. {
  65. name: "Macro",
  66. height: math.unit(100, "meter")
  67. },
  68. {
  69. name: "Macro+",
  70. height: math.unit(1000, "meter")
  71. },
  72. {
  73. name: "Megamacro",
  74. height: math.unit(10, "miles")
  75. }
  76. ],
  77. math.unit(100, "meter")
  78. )
  79. };
  80. function makeSofia() {
  81. const views = {
  82. front: {
  83. attributes: {
  84. height: {
  85. name: "Height",
  86. power: 1,
  87. type: "length",
  88. base: math.unit(183, "cm")
  89. },
  90. weight: {
  91. name: "Weight",
  92. power: 3,
  93. type: "mass",
  94. base: math.unit(80, "kg")
  95. }
  96. },
  97. image: {
  98. source: "./media/characters/sofia/front.svg"
  99. },
  100. name: "Front"
  101. },
  102. back: {
  103. attributes: {
  104. height: {
  105. name: "Height",
  106. power: 1,
  107. type: "length",
  108. base: math.unit(183, "cm")
  109. },
  110. weight: {
  111. name: "Weight",
  112. power: 3,
  113. type: "mass",
  114. base: math.unit(80, "kg")
  115. }
  116. },
  117. image: {
  118. source: "./media/characters/sofia/back.svg"
  119. },
  120. name: "Back"
  121. }
  122. };
  123. const entity = makeEntity("Sofia", "ZakuraTech", views);
  124. entity.views.front.height = math.unit(96, "feet");
  125. return entity;
  126. }
  127. function makeMarch() {
  128. const views = {
  129. front: {
  130. attributes: {
  131. height: {
  132. name: "Height",
  133. power: 1,
  134. type: "length",
  135. base: math.unit(7, "feet")
  136. },
  137. weight: {
  138. name: "Weight",
  139. power: 3,
  140. type: "mass",
  141. base: math.unit(100, "kg")
  142. }
  143. },
  144. image: {
  145. source: "./media/characters/march/front.svg"
  146. },
  147. name: "Front"
  148. },
  149. foot: {
  150. attributes: {
  151. height: {
  152. name: "Height",
  153. power: 1,
  154. type: "length",
  155. base: math.unit(0.9, "feet")
  156. }
  157. },
  158. image: {
  159. source: "./media/characters/march/foot.svg"
  160. },
  161. name: "Foot"
  162. }
  163. };
  164. const entity = makeEntity("March", "March-Dragon", views);
  165. entity.views.front.height = math.unit(2.98, "km");
  166. return entity;
  167. }
  168. function makeNoir() {
  169. const views = {
  170. front: {
  171. attributes: {
  172. height: {
  173. name: "Height",
  174. power: 1,
  175. type: "length",
  176. base: math.unit(6, "feet")
  177. },
  178. weight: {
  179. name: "Weight",
  180. power: 3,
  181. type: "mass",
  182. base: math.unit(60, "kg")
  183. }
  184. },
  185. image: {
  186. source: "./media/characters/noir/front.svg",
  187. bottom: 0.01
  188. },
  189. name: "Front"
  190. }
  191. };
  192. const entity = makeEntity("Noir", "March-Dragon", views);
  193. entity.views.front.height = math.unit(2.5, "km");
  194. return entity;
  195. }
  196. function makeOkuri() {
  197. const views = {
  198. front: {
  199. attributes: {
  200. height: {
  201. name: "Height",
  202. power: 1,
  203. type: "length",
  204. base: math.unit(7, "feet")
  205. },
  206. weight: {
  207. name: "Weight",
  208. power: 3,
  209. type: "mass",
  210. base: math.unit(100, "kg")
  211. }
  212. },
  213. image: {
  214. source: "./media/characters/okuri/front.svg"
  215. },
  216. name: "Front"
  217. },
  218. back: {
  219. attributes: {
  220. height: {
  221. name: "Height",
  222. power: 1,
  223. type: "length",
  224. base: math.unit(7, "feet")
  225. },
  226. weight: {
  227. name: "Weight",
  228. power: 3,
  229. type: "mass",
  230. base: math.unit(100, "kg")
  231. }
  232. },
  233. image: {
  234. source: "./media/characters/okuri/back.svg"
  235. },
  236. name: "Back"
  237. }
  238. };
  239. const entity = makeEntity("Okuri", "OrionMechadragon", views);
  240. entity.views.front.height = math.unit(100, "miles");
  241. return entity;
  242. }
  243. function makeManny() {
  244. const views = {
  245. front: {
  246. attributes: {
  247. height: {
  248. name: "Height",
  249. power: 1,
  250. type: "length",
  251. base: math.unit(7, "feet")
  252. },
  253. weight: {
  254. name: "Weight",
  255. power: 3,
  256. type: "mass",
  257. base: math.unit(100, "kg")
  258. }
  259. },
  260. image: {
  261. source: "./media/characters/manny/front.svg"
  262. },
  263. name: "Front"
  264. },
  265. back: {
  266. attributes: {
  267. height: {
  268. name: "Height",
  269. power: 1,
  270. type: "length",
  271. base: math.unit(7, "feet")
  272. },
  273. weight: {
  274. name: "Weight",
  275. power: 3,
  276. type: "mass",
  277. base: math.unit(100, "kg")
  278. }
  279. },
  280. image: {
  281. source: "./media/characters/manny/back.svg"
  282. },
  283. name: "Back"
  284. }
  285. };
  286. const entity = makeEntity("Manny", "Dialuca01", views);
  287. entity.views.front.height = math.unit(78, "feet");
  288. return entity;
  289. }
  290. function makeAdake() {
  291. const views = {
  292. front: {
  293. attributes: {
  294. height: {
  295. name: "Height",
  296. power: 1,
  297. type: "length",
  298. base: math.unit(7, "feet")
  299. },
  300. weight: {
  301. name: "Weight",
  302. power: 3,
  303. type: "mass",
  304. base: math.unit(100, "kg")
  305. }
  306. },
  307. image: {
  308. source: "./media/characters/adake/front-1.svg"
  309. },
  310. name: "Front"
  311. },
  312. frontAlt: {
  313. attributes: {
  314. height: {
  315. name: "Height",
  316. power: 1,
  317. type: "length",
  318. base: math.unit(7, "feet")
  319. },
  320. weight: {
  321. name: "Weight",
  322. power: 3,
  323. type: "mass",
  324. base: math.unit(100, "kg")
  325. }
  326. },
  327. image: {
  328. source: "./media/characters/adake/front-2.svg",
  329. bottom: 0.005
  330. },
  331. name: "Front (Alt)"
  332. },
  333. back: {
  334. attributes: {
  335. height: {
  336. name: "Height",
  337. power: 1,
  338. type: "length",
  339. base: math.unit(7, "feet")
  340. },
  341. weight: {
  342. name: "Weight",
  343. power: 3,
  344. type: "mass",
  345. base: math.unit(100, "kg")
  346. }
  347. },
  348. image: {
  349. source: "./media/characters/adake/back.svg",
  350. },
  351. name: "Back"
  352. },
  353. kneel: {
  354. attributes: {
  355. height: {
  356. name: "Height",
  357. power: 1,
  358. type: "length",
  359. base: math.unit(5.385, "feet")
  360. },
  361. weight: {
  362. name: "Weight",
  363. power: 3,
  364. type: "mass",
  365. base: math.unit(100, "kg")
  366. }
  367. },
  368. image: {
  369. source: "./media/characters/adake/kneel.svg",
  370. bottom: 0.05
  371. },
  372. name: "Kneeling"
  373. },
  374. };
  375. const entity = makeEntity("Adake", "Dialuca01", views);
  376. entity.views.front.height = math.unit(78, "feet");
  377. return entity;
  378. }
  379. function makeElijah() {
  380. const views = {
  381. side: {
  382. attributes: {
  383. height: {
  384. name: "Height",
  385. power: 1,
  386. type: "length",
  387. base: math.unit(7, "feet")
  388. },
  389. weight: {
  390. name: "Weight",
  391. power: 3,
  392. type: "mass",
  393. base: math.unit(50, "kg")
  394. }
  395. },
  396. image: {
  397. source: "./media/characters/elijah/side.svg",
  398. bottom: 0.01
  399. },
  400. name: "Side"
  401. },
  402. foot: {
  403. attributes: {
  404. height: {
  405. name: "Height",
  406. power: 1,
  407. type: "length",
  408. base: math.unit(2, "feet")
  409. }
  410. },
  411. image: {
  412. source: "./media/characters/elijah/foot.svg",
  413. },
  414. name: "Foot"
  415. }
  416. };
  417. const entity = makeEntity("Elijah", "Elijah", views);
  418. entity.views.side.height = math.unit(175, "feet");
  419. return entity;
  420. }
  421. function makeRai() {
  422. const views = {
  423. front: {
  424. attributes: {
  425. height: {
  426. name: "Height",
  427. power: 1,
  428. type: "length",
  429. base: math.unit(7, "feet")
  430. },
  431. weight: {
  432. name: "Weight",
  433. power: 3,
  434. type: "mass",
  435. base: math.unit(80, "kg")
  436. }
  437. },
  438. image: {
  439. source: "./media/characters/rai/front.svg"
  440. },
  441. name: "Front"
  442. },
  443. side: {
  444. attributes: {
  445. height: {
  446. name: "Height",
  447. power: 1,
  448. type: "length",
  449. base: math.unit(7, "feet")
  450. },
  451. weight: {
  452. name: "Weight",
  453. power: 3,
  454. type: "mass",
  455. base: math.unit(80, "kg")
  456. }
  457. },
  458. image: {
  459. source: "./media/characters/rai/side.svg"
  460. },
  461. name: "Side"
  462. },
  463. back: {
  464. attributes: {
  465. height: {
  466. name: "Height",
  467. power: 1,
  468. type: "length",
  469. base: math.unit(7, "feet")
  470. },
  471. weight: {
  472. name: "Weight",
  473. power: 3,
  474. type: "mass",
  475. base: math.unit(80, "kg")
  476. }
  477. },
  478. image: {
  479. source: "./media/characters/rai/back.svg"
  480. },
  481. name: "Back"
  482. }
  483. };
  484. const entity = makeEntity("Rai", "shadowblade945", views);
  485. entity.views.front.height = math.unit(302, "feet");
  486. return entity;
  487. }
  488. function makeJazzy() {
  489. const views = {
  490. front: {
  491. attributes: {
  492. height: {
  493. name: "Height",
  494. power: 1,
  495. type: "length",
  496. base: math.unit(7, "feet")
  497. },
  498. weight: {
  499. name: "Weight",
  500. power: 3,
  501. type: "mass",
  502. base: math.unit(80, "kg")
  503. }
  504. },
  505. image: {
  506. source: "./media/characters/jazzy/front.svg",
  507. bottom: 0.01
  508. },
  509. name: "Front"
  510. },
  511. back: {
  512. attributes: {
  513. height: {
  514. name: "Height",
  515. power: 1,
  516. type: "length",
  517. base: math.unit(7, "feet")
  518. },
  519. weight: {
  520. name: "Weight",
  521. power: 3,
  522. type: "mass",
  523. base: math.unit(80, "kg")
  524. }
  525. },
  526. image: {
  527. source: "./media/characters/jazzy/back.svg"
  528. },
  529. name: "Back"
  530. }
  531. };
  532. const entity = makeEntity("Jazzy", "Jazzywolf", views);
  533. entity.views.front.height = math.unit(216, "feet");
  534. return entity;
  535. }
  536. function makeFlamm() {
  537. const views = {
  538. front: {
  539. attributes: {
  540. height: {
  541. name: "Height",
  542. power: 1,
  543. type: "length",
  544. base: math.unit(7, "feet")
  545. },
  546. weight: {
  547. name: "Weight",
  548. power: 3,
  549. type: "mass",
  550. base: math.unit(80, "kg")
  551. }
  552. },
  553. image: {
  554. source: "./media/characters/flamm/front.svg"
  555. },
  556. name: "Front"
  557. }
  558. };
  559. const entity = makeEntity("Flamm", "Flamm", views);
  560. entity.views.front.height = math.unit(200, "feet");
  561. return entity;
  562. }
  563. function makeZephiro() {
  564. const views = {
  565. front: {
  566. attributes: {
  567. height: {
  568. name: "Height",
  569. power: 1,
  570. type: "length",
  571. base: math.unit(7, "feet")
  572. },
  573. weight: {
  574. name: "Weight",
  575. power: 3,
  576. type: "mass",
  577. base: math.unit(80, "kg")
  578. }
  579. },
  580. image: {
  581. source: "./media/characters/zephiro/front.svg"
  582. },
  583. name: "Front"
  584. },
  585. side: {
  586. attributes: {
  587. height: {
  588. name: "Height",
  589. power: 1,
  590. type: "length",
  591. base: math.unit(7, "feet")
  592. },
  593. weight: {
  594. name: "Weight",
  595. power: 3,
  596. type: "mass",
  597. base: math.unit(80, "kg")
  598. }
  599. },
  600. image: {
  601. source: "./media/characters/zephiro/side.svg"
  602. },
  603. name: "Side"
  604. },
  605. back: {
  606. attributes: {
  607. height: {
  608. name: "Height",
  609. power: 1,
  610. type: "length",
  611. base: math.unit(7, "feet")
  612. },
  613. weight: {
  614. name: "Weight",
  615. power: 3,
  616. type: "mass",
  617. base: math.unit(80, "kg")
  618. }
  619. },
  620. image: {
  621. source: "./media/characters/zephiro/back.svg"
  622. },
  623. name: "Back"
  624. }
  625. };
  626. const entity = makeEntity("Zephiro", "Zephiro", views);
  627. entity.views.front.height = math.unit(118, "feet");
  628. entity.defaults.push({
  629. name: "Micro",
  630. height: math.unit(3, "inches")
  631. });
  632. entity.defaults.push({
  633. name: "Normal",
  634. height: math.unit(5 + 3/12, "feet")
  635. });
  636. entity.defaults.push({
  637. name: "Macro",
  638. height: math.unit(118, "feet")
  639. });
  640. return entity;
  641. }
  642. function makeFory() {
  643. const views = {
  644. front: {
  645. attributes: {
  646. height: {
  647. name: "Height",
  648. power: 1,
  649. type: "length",
  650. base: math.unit(7, "feet")
  651. },
  652. weight: {
  653. name: "Weight",
  654. power: 3,
  655. type: "mass",
  656. base: math.unit(90, "kg")
  657. }
  658. },
  659. image: {
  660. source: "./media/characters/fory/front.svg"
  661. },
  662. name: "Front"
  663. }
  664. };
  665. const entity = makeEntity("Fory", "Manny", views);
  666. entity.defaults.push({
  667. name: "Normal",
  668. height: math.unit(5, "feet")
  669. });
  670. entity.defaults.push({
  671. name: "Macro",
  672. height: math.unit(50, "feet")
  673. });
  674. entity.views.front.height = math.unit(50, "feet");
  675. return entity;
  676. }
  677. function makeKurrikage() {
  678. const views = {
  679. front: {
  680. attributes: {
  681. height: {
  682. name: "Height",
  683. power: 1,
  684. type: "length",
  685. base: math.unit(7, "feet")
  686. },
  687. weight: {
  688. name: "Weight",
  689. power: 3,
  690. type: "mass",
  691. base: math.unit(90, "kg")
  692. }
  693. },
  694. image: {
  695. source: "./media/characters/kurrikage/front.svg"
  696. },
  697. name: "Front"
  698. },
  699. back: {
  700. attributes: {
  701. height: {
  702. name: "Height",
  703. power: 1,
  704. type: "length",
  705. base: math.unit(7, "feet")
  706. },
  707. weight: {
  708. name: "Weight",
  709. power: 3,
  710. type: "mass",
  711. base: math.unit(90, "kg")
  712. }
  713. },
  714. image: {
  715. source: "./media/characters/kurrikage/back.svg"
  716. },
  717. name: "Back"
  718. },
  719. paw: {
  720. attributes: {
  721. height: {
  722. name: "Height",
  723. power: 1,
  724. type: "length",
  725. base: math.unit(1.5, "feet")
  726. }
  727. },
  728. image: {
  729. source: "./media/characters/kurrikage/paw.svg"
  730. },
  731. name: "Paw"
  732. },
  733. staff: {
  734. attributes: {
  735. height: {
  736. name: "Height",
  737. power: 1,
  738. type: "length",
  739. base: math.unit(6.7, "feet")
  740. }
  741. },
  742. image: {
  743. source: "./media/characters/kurrikage/staff.svg"
  744. },
  745. name: "Staff"
  746. },
  747. peek: {
  748. attributes: {
  749. height: {
  750. name: "Height",
  751. power: 1,
  752. type: "length",
  753. base: math.unit(1.05, "feet")
  754. }
  755. },
  756. image: {
  757. source: "./media/characters/kurrikage/peek.svg",
  758. bottom: 0.08
  759. },
  760. name: "Peeking"
  761. }
  762. };
  763. const entity = makeEntity("Kurrikage", "Kurrikage", views);
  764. entity.views.front.height = math.unit(12, "feet");
  765. return entity;
  766. }
  767. function makeShingo() {
  768. const views = {
  769. front: {
  770. attributes: {
  771. height: {
  772. name: "Height",
  773. power: 1,
  774. type: "length",
  775. base: math.unit(6, "feet")
  776. },
  777. weight: {
  778. name: "Weight",
  779. power: 3,
  780. type: "mass",
  781. base: math.unit(75, "kg")
  782. }
  783. },
  784. image: {
  785. source: "./media/characters/shingo/front.svg"
  786. },
  787. name: "Front"
  788. }
  789. };
  790. const entity = makeEntity("Shingo", "Threes", views);
  791. entity.defaults.push({
  792. name: "Micro",
  793. height: math.unit(4, "inches")
  794. });
  795. entity.defaults.push({
  796. name: "Normal",
  797. height: math.unit(6, "feet")
  798. });
  799. entity.defaults.push({
  800. name: "Macro",
  801. height: math.unit(108, "feet")
  802. });
  803. return entity;
  804. }
  805. function makeAigey() {
  806. const views = {
  807. side: {
  808. attributes: {
  809. height: {
  810. name: "Height",
  811. power: 1,
  812. type: "length",
  813. base: math.unit(6, "feet")
  814. },
  815. weight: {
  816. name: "Weight",
  817. power: 3,
  818. type: "mass",
  819. base: math.unit(75, "kg")
  820. }
  821. },
  822. image: {
  823. source: "./media/characters/aigey/side.svg"
  824. },
  825. name: "Side"
  826. }
  827. };
  828. const entity = makeEntity("Aigey", "Aigey", views);
  829. entity.defaults.push({
  830. name: "Macro",
  831. height: math.unit(200, "feet")
  832. });
  833. entity.defaults.push({
  834. name: "Megamacro",
  835. height: math.unit(100, "miles")
  836. });
  837. entity.views[entity.defaultView].height = math.unit(200, "feet");
  838. return entity;
  839. }
  840. function makeNatasha() {
  841. const views = {
  842. side: {
  843. attributes: {
  844. height: {
  845. name: "Height",
  846. power: 1,
  847. type: "length",
  848. base: math.unit(6, "feet")
  849. },
  850. weight: {
  851. name: "Weight",
  852. power: 3,
  853. type: "mass",
  854. base: math.unit(75, "kg")
  855. }
  856. },
  857. image: {
  858. source: "./media/characters/natasha/front.svg"
  859. },
  860. name: "Side"
  861. }
  862. };
  863. const entity = makeEntity("Natasha", "Natasha", views);
  864. entity.defaults.push({
  865. name: "Normal",
  866. height: math.unit(5 + 5/12, "feet")
  867. });
  868. entity.defaults.push({
  869. name: "Large",
  870. height: math.unit(12, "feet")
  871. });
  872. entity.defaults.push({
  873. name: "Macro",
  874. height: math.unit(100, "feet")
  875. });
  876. entity.defaults.push({
  877. name: "Macro+",
  878. height: math.unit(260, "feet")
  879. });
  880. entity.defaults.push({
  881. name: "Macro++",
  882. height: math.unit(1, "mile")
  883. });
  884. entity.views[entity.defaultView].height = math.unit(100, "feet");
  885. return entity;
  886. }
  887. function makeMalik() {
  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/malik/front.svg"
  906. },
  907. name: "Front"
  908. },
  909. side: {
  910. attributes: {
  911. height: {
  912. name: "Height",
  913. power: 1,
  914. type: "length",
  915. base: math.unit(6, "feet")
  916. },
  917. weight: {
  918. name: "Weight",
  919. power: 3,
  920. type: "mass",
  921. base: math.unit(75, "kg")
  922. }
  923. },
  924. image: {
  925. extra: 1.1539,
  926. source: "./media/characters/malik/side.svg"
  927. },
  928. name: "Side"
  929. },
  930. back: {
  931. attributes: {
  932. height: {
  933. name: "Height",
  934. power: 1,
  935. type: "length",
  936. base: math.unit(6, "feet")
  937. },
  938. weight: {
  939. name: "Weight",
  940. power: 3,
  941. type: "mass",
  942. base: math.unit(75, "kg")
  943. }
  944. },
  945. image: {
  946. source: "./media/characters/malik/back.svg"
  947. },
  948. name: "Back"
  949. },
  950. };
  951. const entity = makeEntity("Malik", "Fuzzypaws", views);
  952. entity.defaults.push({
  953. name: "Macro",
  954. height: math.unit(156, "feet")
  955. });
  956. entity.defaults.push({
  957. name: "Macro+",
  958. height: math.unit(1188, "feet")
  959. });
  960. entity.views[entity.defaultView].height = math.unit(156, "feet");
  961. return entity;
  962. }
  963. function makeSefer() {
  964. const views = {
  965. front: {
  966. attributes: {
  967. height: {
  968. name: "Height",
  969. power: 1,
  970. type: "length",
  971. base: math.unit(6, "feet")
  972. },
  973. weight: {
  974. name: "Weight",
  975. power: 3,
  976. type: "mass",
  977. base: math.unit(75, "kg")
  978. }
  979. },
  980. image: {
  981. source: "./media/characters/sefer/front.svg"
  982. },
  983. name: "Front"
  984. },
  985. back: {
  986. attributes: {
  987. height: {
  988. name: "Height",
  989. power: 1,
  990. type: "length",
  991. base: math.unit(6, "feet")
  992. },
  993. weight: {
  994. name: "Weight",
  995. power: 3,
  996. type: "mass",
  997. base: math.unit(75, "kg")
  998. }
  999. },
  1000. image: {
  1001. source: "./media/characters/sefer/back.svg"
  1002. },
  1003. name: "Back"
  1004. },
  1005. };
  1006. const entity = makeEntity("Sefer", "Fuzzypaws", views);
  1007. entity.views[entity.defaultView].height = math.unit(6, "feet");
  1008. return entity;
  1009. }
  1010. function makeMan() {
  1011. const views = {
  1012. body: {
  1013. attributes: {
  1014. height: {
  1015. name: "Height",
  1016. power: 1,
  1017. type: "length",
  1018. base: math.unit(2, "meter")
  1019. },
  1020. weight: {
  1021. name: "Weight",
  1022. power: 3,
  1023. type: "mass",
  1024. base: math.unit(80, "kg")
  1025. }
  1026. },
  1027. image: {
  1028. source: "./man.svg"
  1029. },
  1030. name: "Body"
  1031. }
  1032. };
  1033. return makeEntity("Man", "Fen", views);
  1034. }
  1035. characterMakers["North"] = () => {
  1036. return makeCharacter(
  1037. "North",
  1038. "chemicalcrux",
  1039. {
  1040. body: {
  1041. height: math.unit(2.2428, "meter"),
  1042. weight: math.unit(124.738, "kg"),
  1043. name: "Body",
  1044. image: {
  1045. extra: 1225/1050,
  1046. source: "./media/characters/north/front.svg"
  1047. }
  1048. }
  1049. },
  1050. [
  1051. {
  1052. name: "Micro",
  1053. height: math.unit(4, "inches")
  1054. },
  1055. {
  1056. name: "Macro",
  1057. height: math.unit(63, "meters")
  1058. },
  1059. {
  1060. name: "Megamacro",
  1061. height: math.unit(101, "miles")
  1062. }
  1063. ],
  1064. math.unit(101, "miles")
  1065. )
  1066. };
  1067. characterMakers["Talan"] = () => {
  1068. return makeCharacter(
  1069. "Talan",
  1070. "talanstrider",
  1071. {
  1072. body: {
  1073. height: math.unit(2, "meter"),
  1074. weight: math.unit(70, "kg"),
  1075. name: "Body",
  1076. image: {
  1077. bottom: 0.02,
  1078. source: "./media/characters/talan/front.svg"
  1079. }
  1080. }
  1081. },
  1082. [
  1083. {
  1084. name: "Normal",
  1085. height: math.unit(4, "meters")
  1086. },
  1087. {
  1088. name: "Macro",
  1089. height: math.unit(100, "meters")
  1090. },
  1091. {
  1092. name: "Megamacro",
  1093. height: math.unit(2, "miles")
  1094. },
  1095. {
  1096. name: "Gigamacro",
  1097. height: math.unit(5000, "miles")
  1098. },
  1099. {
  1100. name: "Teramacro",
  1101. height: math.unit(100, "parsecs")
  1102. }
  1103. ],
  1104. math.unit(2, "miles")
  1105. )
  1106. };
  1107. characterMakers["Gael'Rathus"] = () => {
  1108. return makeCharacter(
  1109. "Gael'Rathus",
  1110. "Kurrikage",
  1111. {
  1112. front: {
  1113. height: math.unit(2, "meter"),
  1114. weight: math.unit(90, "kg"),
  1115. name: "Front",
  1116. image: {
  1117. source: "./media/characters/gael'rathus/front.svg"
  1118. }
  1119. },
  1120. frontAlt: {
  1121. height: math.unit(2, "meter"),
  1122. weight: math.unit(90, "kg"),
  1123. name: "Front (alt)",
  1124. image: {
  1125. source: "./media/characters/gael'rathus/front-alt.svg"
  1126. }
  1127. },
  1128. frontAlt2: {
  1129. height: math.unit(2, "meter"),
  1130. weight: math.unit(90, "kg"),
  1131. name: "Front (alt 2)",
  1132. image: {
  1133. source: "./media/characters/gael'rathus/front-alt-2.svg"
  1134. }
  1135. }
  1136. },
  1137. [
  1138. {
  1139. name: "Normal",
  1140. height: math.unit(9, "feet")
  1141. },
  1142. {
  1143. name: "Large",
  1144. height: math.unit(25, "feet")
  1145. },
  1146. {
  1147. name: "Macro",
  1148. height: math.unit(0.25, "miles")
  1149. },
  1150. {
  1151. name: "Megamacro",
  1152. height: math.unit(10, "miles")
  1153. }
  1154. ],
  1155. math.unit(9, "feet")
  1156. )
  1157. };
  1158. characterMakers["Sosha"] = () => {
  1159. return makeCharacter(
  1160. "Sosha",
  1161. "Sdocat",
  1162. {
  1163. side: {
  1164. height: math.unit(2, "meter"),
  1165. weight: math.unit(140, "kg"),
  1166. name: "Side",
  1167. image: {
  1168. source: "./media/characters/sosha/side.svg"
  1169. }
  1170. },
  1171. },
  1172. [
  1173. {
  1174. name: "Normal",
  1175. height: math.unit(12, "feet")
  1176. }
  1177. ],
  1178. math.unit(12, "feet")
  1179. )
  1180. };
  1181. characterMakers["Kurribird"] = () => {
  1182. return makeCharacter(
  1183. "Kurribird",
  1184. "Kurrikage",
  1185. {
  1186. front: {
  1187. height: math.unit(2, "meter"),
  1188. weight: math.unit(50, "kg"),
  1189. name: "Front",
  1190. image: {
  1191. source: "./media/characters/kurribird/front.svg",
  1192. bottom: 0.015
  1193. }
  1194. },
  1195. frontAlt: {
  1196. height: math.unit(1.5, "meter"),
  1197. weight: math.unit(50, "kg"),
  1198. name: "Front (Alt)",
  1199. image: {
  1200. source: "./media/characters/kurribird/front-alt.svg",
  1201. extra: 1.45
  1202. }
  1203. },
  1204. },
  1205. [
  1206. {
  1207. name: "Normal",
  1208. height: math.unit(7, "feet")
  1209. },
  1210. {
  1211. name: "Big",
  1212. height: math.unit(15, "feet")
  1213. },
  1214. {
  1215. name: "Macro",
  1216. height: math.unit(1500, "feet")
  1217. },
  1218. {
  1219. name: "Megamacro",
  1220. height: math.unit(2, "miles")
  1221. }
  1222. ],
  1223. math.unit(12, "feet")
  1224. )
  1225. };
  1226. characterMakers["Elbial"] = () => {
  1227. return makeCharacter(
  1228. "Elbial",
  1229. "Neopuc",
  1230. {
  1231. front: {
  1232. height: math.unit(2, "meter"),
  1233. weight: math.unit(80, "kg"),
  1234. name: "Front",
  1235. image: {
  1236. source: "./media/characters/elbial/front.svg"
  1237. }
  1238. },
  1239. side: {
  1240. height: math.unit(2, "meter"),
  1241. weight: math.unit(80, "kg"),
  1242. name: "Side",
  1243. image: {
  1244. source: "./media/characters/elbial/side.svg"
  1245. }
  1246. },
  1247. back: {
  1248. height: math.unit(2, "meter"),
  1249. weight: math.unit(80, "kg"),
  1250. name: "Back",
  1251. image: {
  1252. source: "./media/characters/elbial/back.svg"
  1253. }
  1254. },
  1255. },
  1256. [
  1257. {
  1258. name: "Large",
  1259. height: math.unit(100, "feet")
  1260. },
  1261. {
  1262. name: "Macro",
  1263. height: math.unit(500, "feet")
  1264. },
  1265. {
  1266. name: "Megamacro",
  1267. height: math.unit(10, "miles")
  1268. },
  1269. {
  1270. name: "Gigamacro",
  1271. height: math.unit(25000, "miles")
  1272. },
  1273. {
  1274. name: "Full-Size",
  1275. height: math.unit(8000000, "gigaparsecs")
  1276. }
  1277. ],
  1278. math.unit(500, "feet")
  1279. )
  1280. };
  1281. characterMakers["Noah"] = () => {
  1282. return makeCharacter(
  1283. "Noah",
  1284. "Neopuc",
  1285. {
  1286. front: {
  1287. height: math.unit(2, "meter"),
  1288. weight: math.unit(60, "kg"),
  1289. name: "Front",
  1290. image: {
  1291. source: "./media/characters/noah/front.svg"
  1292. }
  1293. },
  1294. talons: {
  1295. height: math.unit(0.315, "meter"),
  1296. name: "Talons",
  1297. image: {
  1298. source: "./media/characters/noah/talons.svg"
  1299. }
  1300. }
  1301. },
  1302. [
  1303. {
  1304. name: "Large",
  1305. height: math.unit(50, "feet")
  1306. },
  1307. {
  1308. name: "Macro",
  1309. height: math.unit(750, "feet")
  1310. },
  1311. {
  1312. name: "Megamacro",
  1313. height: math.unit(50, "miles")
  1314. },
  1315. {
  1316. name: "Gigamacro",
  1317. height: math.unit(100000, "miles")
  1318. },
  1319. {
  1320. name: "Full-Size",
  1321. height: math.unit(3000000000, "miles")
  1322. }
  1323. ],
  1324. math.unit(750, "feet")
  1325. )
  1326. };
  1327. characterMakers["Natalya"] = () => {
  1328. return makeCharacter(
  1329. "Natalya",
  1330. "Neopuc",
  1331. {
  1332. front: {
  1333. height: math.unit(2, "meter"),
  1334. weight: math.unit(80, "kg"),
  1335. name: "Front",
  1336. image: {
  1337. source: "./media/characters/natalya/front.svg"
  1338. }
  1339. },
  1340. back: {
  1341. height: math.unit(2, "meter"),
  1342. weight: math.unit(80, "kg"),
  1343. name: "Back",
  1344. image: {
  1345. source: "./media/characters/natalya/back.svg"
  1346. }
  1347. }
  1348. },
  1349. [
  1350. {
  1351. name: "Normal",
  1352. height: math.unit(150, "feet")
  1353. },
  1354. {
  1355. name: "Megamacro",
  1356. height: math.unit(5, "miles")
  1357. },
  1358. {
  1359. name: "Full-Size",
  1360. height: math.unit(600, "kiloparsecs")
  1361. }
  1362. ],
  1363. math.unit(150, "feet")
  1364. )
  1365. };
  1366. characterMakers["Erestrebah"] = () => {
  1367. return makeCharacter(
  1368. "Erestrebah",
  1369. "Kurrikage",
  1370. {
  1371. front: {
  1372. height: math.unit(2, "meter"),
  1373. weight: math.unit(50, "kg"),
  1374. name: "Front",
  1375. image: {
  1376. source: "./media/characters/erestrebah/front.svg"
  1377. }
  1378. },
  1379. back: {
  1380. height: math.unit(2, "meter"),
  1381. weight: math.unit(50, "kg"),
  1382. name: "Back",
  1383. image: {
  1384. source: "./media/characters/erestrebah/back.svg",
  1385. extra: 1.2139
  1386. }
  1387. }
  1388. },
  1389. [
  1390. {
  1391. name: "Normal",
  1392. height: math.unit(10, "feet")
  1393. },
  1394. {
  1395. name: "Large",
  1396. height: math.unit(50, "feet")
  1397. },
  1398. {
  1399. name: "Macro",
  1400. height: math.unit(300, "feet")
  1401. },
  1402. {
  1403. name: "Macro+",
  1404. height: math.unit(750, "feet")
  1405. },
  1406. {
  1407. name: "Megamacro",
  1408. height: math.unit(3, "miles")
  1409. }
  1410. ],
  1411. math.unit(50, "feet")
  1412. )
  1413. };
  1414. characterMakers["Jennifer"] = () => {
  1415. return makeCharacter(
  1416. "Jennifer",
  1417. "Neopuc",
  1418. {
  1419. front: {
  1420. height: math.unit(2, "meter"),
  1421. weight: math.unit(80, "kg"),
  1422. name: "Front",
  1423. image: {
  1424. source: "./media/characters/jennifer/front.svg",
  1425. bottom: 0.11
  1426. }
  1427. }
  1428. },
  1429. [
  1430. {
  1431. name: "Canon Height",
  1432. height: math.unit(120, "feet")
  1433. },
  1434. {
  1435. name: "Macro+",
  1436. height: math.unit(300, "feet")
  1437. },
  1438. {
  1439. name: "Megamacro",
  1440. height: math.unit(20000, "feet")
  1441. }
  1442. ],
  1443. math.unit(120, "feet")
  1444. )
  1445. };
  1446. function makeCharacters() {
  1447. const results = [];
  1448. results.push({
  1449. name: "Sofia",
  1450. constructor: makeSofia
  1451. });
  1452. results.push({
  1453. name: "March",
  1454. constructor: makeMarch
  1455. });
  1456. results.push({
  1457. name: "Noir",
  1458. constructor: makeNoir
  1459. });
  1460. results.push({
  1461. name: "Okuri",
  1462. constructor: makeOkuri
  1463. });
  1464. results.push({
  1465. name: "Manny",
  1466. constructor: makeManny
  1467. });
  1468. results.push({
  1469. name: "Adake",
  1470. constructor: makeAdake
  1471. });
  1472. results.push({
  1473. name: "Elijah",
  1474. constructor: makeElijah
  1475. });
  1476. results.push({
  1477. name: "Rai",
  1478. constructor: makeRai
  1479. });
  1480. results.push({
  1481. name: "Jazzy",
  1482. constructor: makeJazzy
  1483. });
  1484. results.push({
  1485. name: "Flamm",
  1486. constructor: makeFlamm
  1487. });
  1488. results.push({
  1489. name: "Zephiro",
  1490. constructor: makeZephiro
  1491. });
  1492. results.push({
  1493. name: "Fory",
  1494. constructor: makeFory
  1495. });
  1496. results.push({
  1497. name: "Kurrikage",
  1498. constructor: makeKurrikage
  1499. });
  1500. results.push({
  1501. name: "Shingo",
  1502. constructor: makeShingo
  1503. });
  1504. results.push({
  1505. name: "Aigey",
  1506. constructor: makeAigey
  1507. });
  1508. results.push({
  1509. name: "Natasha",
  1510. constructor: makeNatasha
  1511. });
  1512. results.push({
  1513. name: "Malik",
  1514. constructor: makeMalik
  1515. });
  1516. results.push({
  1517. name: "Sefer",
  1518. constructor: makeSefer
  1519. });
  1520. results.push({
  1521. name: "Normal man",
  1522. constructor: makeMan
  1523. });
  1524. Object.entries(characterMakers).forEach(([key, value]) => {
  1525. results.push({
  1526. name: key,
  1527. constructor: value
  1528. });
  1529. });
  1530. return results;
  1531. }