less copy protection, more size visualization
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

1233 Zeilen
31 KiB

  1. const characterMakers = [];
  2. function makeCharacter(name, author, viewInfo, defaultSizes, defaultSize) {
  3. views = {};
  4. console.log(viewInfo)
  5. Object.entries(viewInfo).forEach(([key, value]) => {
  6. console.log(key)
  7. views[key] = {
  8. attributes: {
  9. height: {
  10. name: "Height",
  11. power: 1,
  12. type: "length",
  13. base: value.height
  14. }
  15. },
  16. image: value.image,
  17. name: value.name
  18. }
  19. if (value.mass) {
  20. views[key].attributes[key] = {
  21. name: "Mass",
  22. power: 3,
  23. type: "mass",
  24. base: value.mass
  25. };
  26. }
  27. });
  28. const entity = makeEntity(name, "author", views);
  29. if (defaultSizes) {
  30. entity.defaults = defaultSizes;
  31. }
  32. if (defaultSize) {
  33. entity.views[entity.defaultView].height = defaultSize;
  34. }
  35. return entity;
  36. }
  37. characterMakers["Fen"] = () => {
  38. return makeCharacter(
  39. "Fen",
  40. "chemicalcrux",
  41. {
  42. body: {
  43. height: math.unit(2.2428, "meter"),
  44. weight: math.unit(124.738, "kg"),
  45. name: "Body",
  46. image: {
  47. source: "./media/characters/fen/back.svg"
  48. }
  49. }
  50. },
  51. [
  52. {
  53. name: "Normal",
  54. height: math.unit(2.2428, "meter")
  55. },
  56. {
  57. name: "Big",
  58. height: math.unit(12, "feet")
  59. },
  60. {
  61. name: "Macro",
  62. height: math.unit(100, "meter")
  63. },
  64. {
  65. name: "Macro+",
  66. height: math.unit(1000, "meter")
  67. },
  68. {
  69. name: "Megamacro",
  70. height: math.unit(10, "miles")
  71. }
  72. ],
  73. math.unit(100, "meter")
  74. )
  75. };
  76. function makeSofia() {
  77. const views = {
  78. front: {
  79. attributes: {
  80. height: {
  81. name: "Height",
  82. power: 1,
  83. type: "length",
  84. base: math.unit(183, "cm")
  85. },
  86. weight: {
  87. name: "Weight",
  88. power: 3,
  89. type: "mass",
  90. base: math.unit(80, "kg")
  91. }
  92. },
  93. image: {
  94. source: "./media/characters/sofia/front.svg"
  95. },
  96. name: "Front"
  97. },
  98. back: {
  99. attributes: {
  100. height: {
  101. name: "Height",
  102. power: 1,
  103. type: "length",
  104. base: math.unit(183, "cm")
  105. },
  106. weight: {
  107. name: "Weight",
  108. power: 3,
  109. type: "mass",
  110. base: math.unit(80, "kg")
  111. }
  112. },
  113. image: {
  114. source: "./media/characters/sofia/back.svg"
  115. },
  116. name: "Back"
  117. }
  118. };
  119. const entity = makeEntity("Sofia", "ZakuraTech", views);
  120. entity.views.front.height = math.unit(96, "feet");
  121. return entity;
  122. }
  123. function makeMarch() {
  124. const views = {
  125. front: {
  126. attributes: {
  127. height: {
  128. name: "Height",
  129. power: 1,
  130. type: "length",
  131. base: math.unit(7, "feet")
  132. },
  133. weight: {
  134. name: "Weight",
  135. power: 3,
  136. type: "mass",
  137. base: math.unit(100, "kg")
  138. }
  139. },
  140. image: {
  141. source: "./media/characters/march/front.svg"
  142. },
  143. name: "Front"
  144. }
  145. };
  146. const entity = makeEntity("March", "March-Dragon", views);
  147. entity.views.front.height = math.unit(2.98, "km");
  148. return entity;
  149. }
  150. function makeNoir() {
  151. const views = {
  152. front: {
  153. attributes: {
  154. height: {
  155. name: "Height",
  156. power: 1,
  157. type: "length",
  158. base: math.unit(6, "feet")
  159. },
  160. weight: {
  161. name: "Weight",
  162. power: 3,
  163. type: "mass",
  164. base: math.unit(60, "kg")
  165. }
  166. },
  167. image: {
  168. source: "./media/characters/noir/front.svg",
  169. bottom: 0.01
  170. },
  171. name: "Front"
  172. }
  173. };
  174. const entity = makeEntity("Noir", "March-Dragon", views);
  175. entity.views.front.height = math.unit(2.5, "km");
  176. return entity;
  177. }
  178. function makeOkuri() {
  179. const views = {
  180. front: {
  181. attributes: {
  182. height: {
  183. name: "Height",
  184. power: 1,
  185. type: "length",
  186. base: math.unit(7, "feet")
  187. },
  188. weight: {
  189. name: "Weight",
  190. power: 3,
  191. type: "mass",
  192. base: math.unit(100, "kg")
  193. }
  194. },
  195. image: {
  196. source: "./media/characters/okuri/front.svg"
  197. },
  198. name: "Front"
  199. },
  200. back: {
  201. attributes: {
  202. height: {
  203. name: "Height",
  204. power: 1,
  205. type: "length",
  206. base: math.unit(7, "feet")
  207. },
  208. weight: {
  209. name: "Weight",
  210. power: 3,
  211. type: "mass",
  212. base: math.unit(100, "kg")
  213. }
  214. },
  215. image: {
  216. source: "./media/characters/okuri/back.svg"
  217. },
  218. name: "Back"
  219. }
  220. };
  221. const entity = makeEntity("Okuri", "OrionMechadragon", views);
  222. entity.views.front.height = math.unit(100, "miles");
  223. return entity;
  224. }
  225. function makeManny() {
  226. const views = {
  227. front: {
  228. attributes: {
  229. height: {
  230. name: "Height",
  231. power: 1,
  232. type: "length",
  233. base: math.unit(7, "feet")
  234. },
  235. weight: {
  236. name: "Weight",
  237. power: 3,
  238. type: "mass",
  239. base: math.unit(100, "kg")
  240. }
  241. },
  242. image: {
  243. source: "./media/characters/manny/front.svg"
  244. },
  245. name: "Front"
  246. },
  247. back: {
  248. attributes: {
  249. height: {
  250. name: "Height",
  251. power: 1,
  252. type: "length",
  253. base: math.unit(7, "feet")
  254. },
  255. weight: {
  256. name: "Weight",
  257. power: 3,
  258. type: "mass",
  259. base: math.unit(100, "kg")
  260. }
  261. },
  262. image: {
  263. source: "./media/characters/manny/back.svg"
  264. },
  265. name: "Back"
  266. }
  267. };
  268. const entity = makeEntity("Manny", "Dialuca01", views);
  269. entity.views.front.height = math.unit(78, "feet");
  270. return entity;
  271. }
  272. function makeAdake() {
  273. const views = {
  274. front: {
  275. attributes: {
  276. height: {
  277. name: "Height",
  278. power: 1,
  279. type: "length",
  280. base: math.unit(7, "feet")
  281. },
  282. weight: {
  283. name: "Weight",
  284. power: 3,
  285. type: "mass",
  286. base: math.unit(100, "kg")
  287. }
  288. },
  289. image: {
  290. source: "./media/characters/adake/front-1.svg"
  291. },
  292. name: "Front"
  293. },
  294. frontAlt: {
  295. attributes: {
  296. height: {
  297. name: "Height",
  298. power: 1,
  299. type: "length",
  300. base: math.unit(7, "feet")
  301. },
  302. weight: {
  303. name: "Weight",
  304. power: 3,
  305. type: "mass",
  306. base: math.unit(100, "kg")
  307. }
  308. },
  309. image: {
  310. source: "./media/characters/adake/front-2.svg",
  311. bottom: 0.005
  312. },
  313. name: "Front (Alt)"
  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/adake/back.svg",
  332. },
  333. name: "Back"
  334. },
  335. kneel: {
  336. attributes: {
  337. height: {
  338. name: "Height",
  339. power: 1,
  340. type: "length",
  341. base: math.unit(5.385, "feet")
  342. },
  343. weight: {
  344. name: "Weight",
  345. power: 3,
  346. type: "mass",
  347. base: math.unit(100, "kg")
  348. }
  349. },
  350. image: {
  351. source: "./media/characters/adake/kneel.svg",
  352. bottom: 0.05
  353. },
  354. name: "Kneeling"
  355. },
  356. };
  357. const entity = makeEntity("Adake", "Dialuca01", views);
  358. entity.views.front.height = math.unit(78, "feet");
  359. return entity;
  360. }
  361. function makeElijah() {
  362. const views = {
  363. side: {
  364. attributes: {
  365. height: {
  366. name: "Height",
  367. power: 1,
  368. type: "length",
  369. base: math.unit(7, "feet")
  370. },
  371. weight: {
  372. name: "Weight",
  373. power: 3,
  374. type: "mass",
  375. base: math.unit(50, "kg")
  376. }
  377. },
  378. image: {
  379. source: "./media/characters/elijah/side.svg",
  380. bottom: 0.01
  381. },
  382. name: "Side"
  383. },
  384. foot: {
  385. attributes: {
  386. height: {
  387. name: "Height",
  388. power: 1,
  389. type: "length",
  390. base: math.unit(2, "feet")
  391. }
  392. },
  393. image: {
  394. source: "./media/characters/elijah/foot.svg",
  395. },
  396. name: "Foot"
  397. }
  398. };
  399. const entity = makeEntity("Elijah", "Elijah", views);
  400. entity.views.side.height = math.unit(175, "feet");
  401. return entity;
  402. }
  403. function makeRai() {
  404. const views = {
  405. front: {
  406. attributes: {
  407. height: {
  408. name: "Height",
  409. power: 1,
  410. type: "length",
  411. base: math.unit(7, "feet")
  412. },
  413. weight: {
  414. name: "Weight",
  415. power: 3,
  416. type: "mass",
  417. base: math.unit(80, "kg")
  418. }
  419. },
  420. image: {
  421. source: "./media/characters/rai/front.svg"
  422. },
  423. name: "Front"
  424. },
  425. side: {
  426. attributes: {
  427. height: {
  428. name: "Height",
  429. power: 1,
  430. type: "length",
  431. base: math.unit(7, "feet")
  432. },
  433. weight: {
  434. name: "Weight",
  435. power: 3,
  436. type: "mass",
  437. base: math.unit(80, "kg")
  438. }
  439. },
  440. image: {
  441. source: "./media/characters/rai/side.svg"
  442. },
  443. name: "Side"
  444. },
  445. back: {
  446. attributes: {
  447. height: {
  448. name: "Height",
  449. power: 1,
  450. type: "length",
  451. base: math.unit(7, "feet")
  452. },
  453. weight: {
  454. name: "Weight",
  455. power: 3,
  456. type: "mass",
  457. base: math.unit(80, "kg")
  458. }
  459. },
  460. image: {
  461. source: "./media/characters/rai/back.svg"
  462. },
  463. name: "Back"
  464. }
  465. };
  466. const entity = makeEntity("Rai", "shadowblade945", views);
  467. entity.views.front.height = math.unit(302, "feet");
  468. return entity;
  469. }
  470. function makeJazzy() {
  471. const views = {
  472. front: {
  473. attributes: {
  474. height: {
  475. name: "Height",
  476. power: 1,
  477. type: "length",
  478. base: math.unit(7, "feet")
  479. },
  480. weight: {
  481. name: "Weight",
  482. power: 3,
  483. type: "mass",
  484. base: math.unit(80, "kg")
  485. }
  486. },
  487. image: {
  488. source: "./media/characters/jazzy/front.svg",
  489. bottom: 0.01
  490. },
  491. name: "Front"
  492. },
  493. back: {
  494. attributes: {
  495. height: {
  496. name: "Height",
  497. power: 1,
  498. type: "length",
  499. base: math.unit(7, "feet")
  500. },
  501. weight: {
  502. name: "Weight",
  503. power: 3,
  504. type: "mass",
  505. base: math.unit(80, "kg")
  506. }
  507. },
  508. image: {
  509. source: "./media/characters/jazzy/back.svg"
  510. },
  511. name: "Back"
  512. }
  513. };
  514. const entity = makeEntity("Jazzy", "Jazzywolf", views);
  515. entity.views.front.height = math.unit(216, "feet");
  516. return entity;
  517. }
  518. function makeFlamm() {
  519. const views = {
  520. front: {
  521. attributes: {
  522. height: {
  523. name: "Height",
  524. power: 1,
  525. type: "length",
  526. base: math.unit(7, "feet")
  527. },
  528. weight: {
  529. name: "Weight",
  530. power: 3,
  531. type: "mass",
  532. base: math.unit(80, "kg")
  533. }
  534. },
  535. image: {
  536. source: "./media/characters/flamm/front.svg"
  537. },
  538. name: "Front"
  539. }
  540. };
  541. const entity = makeEntity("Flamm", "Flamm", views);
  542. entity.views.front.height = math.unit(200, "feet");
  543. return entity;
  544. }
  545. function makeZephiro() {
  546. const views = {
  547. front: {
  548. attributes: {
  549. height: {
  550. name: "Height",
  551. power: 1,
  552. type: "length",
  553. base: math.unit(7, "feet")
  554. },
  555. weight: {
  556. name: "Weight",
  557. power: 3,
  558. type: "mass",
  559. base: math.unit(80, "kg")
  560. }
  561. },
  562. image: {
  563. source: "./media/characters/zephiro/front.svg"
  564. },
  565. name: "Front"
  566. },
  567. side: {
  568. attributes: {
  569. height: {
  570. name: "Height",
  571. power: 1,
  572. type: "length",
  573. base: math.unit(7, "feet")
  574. },
  575. weight: {
  576. name: "Weight",
  577. power: 3,
  578. type: "mass",
  579. base: math.unit(80, "kg")
  580. }
  581. },
  582. image: {
  583. source: "./media/characters/zephiro/side.svg"
  584. },
  585. name: "Side"
  586. },
  587. back: {
  588. attributes: {
  589. height: {
  590. name: "Height",
  591. power: 1,
  592. type: "length",
  593. base: math.unit(7, "feet")
  594. },
  595. weight: {
  596. name: "Weight",
  597. power: 3,
  598. type: "mass",
  599. base: math.unit(80, "kg")
  600. }
  601. },
  602. image: {
  603. source: "./media/characters/zephiro/back.svg"
  604. },
  605. name: "Back"
  606. }
  607. };
  608. const entity = makeEntity("Zephiro", "Zephiro", views);
  609. entity.views.front.height = math.unit(118, "feet");
  610. entity.defaults.push({
  611. name: "Micro",
  612. height: math.unit(3, "inches")
  613. });
  614. entity.defaults.push({
  615. name: "Normal",
  616. height: math.unit(5 + 3/12, "feet")
  617. });
  618. entity.defaults.push({
  619. name: "Macro",
  620. height: math.unit(118, "feet")
  621. });
  622. return entity;
  623. }
  624. function makeFory() {
  625. const views = {
  626. front: {
  627. attributes: {
  628. height: {
  629. name: "Height",
  630. power: 1,
  631. type: "length",
  632. base: math.unit(7, "feet")
  633. },
  634. weight: {
  635. name: "Weight",
  636. power: 3,
  637. type: "mass",
  638. base: math.unit(90, "kg")
  639. }
  640. },
  641. image: {
  642. source: "./media/characters/fory/front.svg"
  643. },
  644. name: "Front"
  645. }
  646. };
  647. const entity = makeEntity("Fory", "Manny", views);
  648. entity.views.front.height = math.unit(50, "feet");
  649. return entity;
  650. }
  651. function makeKurrikage() {
  652. const views = {
  653. front: {
  654. attributes: {
  655. height: {
  656. name: "Height",
  657. power: 1,
  658. type: "length",
  659. base: math.unit(7, "feet")
  660. },
  661. weight: {
  662. name: "Weight",
  663. power: 3,
  664. type: "mass",
  665. base: math.unit(90, "kg")
  666. }
  667. },
  668. image: {
  669. source: "./media/characters/kurrikage/front.svg"
  670. },
  671. name: "Front"
  672. },
  673. back: {
  674. attributes: {
  675. height: {
  676. name: "Height",
  677. power: 1,
  678. type: "length",
  679. base: math.unit(7, "feet")
  680. },
  681. weight: {
  682. name: "Weight",
  683. power: 3,
  684. type: "mass",
  685. base: math.unit(90, "kg")
  686. }
  687. },
  688. image: {
  689. source: "./media/characters/kurrikage/back.svg"
  690. },
  691. name: "Back"
  692. },
  693. paw: {
  694. attributes: {
  695. height: {
  696. name: "Height",
  697. power: 1,
  698. type: "length",
  699. base: math.unit(1.5, "feet")
  700. }
  701. },
  702. image: {
  703. source: "./media/characters/kurrikage/paw.svg"
  704. },
  705. name: "Paw"
  706. },
  707. staff: {
  708. attributes: {
  709. height: {
  710. name: "Height",
  711. power: 1,
  712. type: "length",
  713. base: math.unit(6.7, "feet")
  714. }
  715. },
  716. image: {
  717. source: "./media/characters/kurrikage/staff.svg"
  718. },
  719. name: "Staff"
  720. },
  721. peek: {
  722. attributes: {
  723. height: {
  724. name: "Height",
  725. power: 1,
  726. type: "length",
  727. base: math.unit(1.05, "feet")
  728. }
  729. },
  730. image: {
  731. source: "./media/characters/kurrikage/peek.svg",
  732. bottom: 0.08
  733. },
  734. name: "Peeking"
  735. }
  736. };
  737. const entity = makeEntity("Kurrikage", "Kurrikage", views);
  738. entity.views.front.height = math.unit(12, "feet");
  739. return entity;
  740. }
  741. function makeShingo() {
  742. const views = {
  743. front: {
  744. attributes: {
  745. height: {
  746. name: "Height",
  747. power: 1,
  748. type: "length",
  749. base: math.unit(6, "feet")
  750. },
  751. weight: {
  752. name: "Weight",
  753. power: 3,
  754. type: "mass",
  755. base: math.unit(75, "kg")
  756. }
  757. },
  758. image: {
  759. source: "./media/characters/shingo/front.svg"
  760. },
  761. name: "Front"
  762. }
  763. };
  764. const entity = makeEntity("Shingo", "Threes", views);
  765. entity.defaults.push({
  766. name: "Micro",
  767. height: math.unit(4, "inches")
  768. });
  769. entity.defaults.push({
  770. name: "Normal",
  771. height: math.unit(6, "feet")
  772. });
  773. entity.defaults.push({
  774. name: "Macro",
  775. height: math.unit(108, "feet")
  776. });
  777. return entity;
  778. }
  779. function makeAigey() {
  780. const views = {
  781. side: {
  782. attributes: {
  783. height: {
  784. name: "Height",
  785. power: 1,
  786. type: "length",
  787. base: math.unit(6, "feet")
  788. },
  789. weight: {
  790. name: "Weight",
  791. power: 3,
  792. type: "mass",
  793. base: math.unit(75, "kg")
  794. }
  795. },
  796. image: {
  797. source: "./media/characters/aigey/side.svg"
  798. },
  799. name: "Side"
  800. }
  801. };
  802. const entity = makeEntity("Aigey", "Aigey", views);
  803. entity.defaults.push({
  804. name: "Macro",
  805. height: math.unit(200, "feet")
  806. });
  807. entity.defaults.push({
  808. name: "Megamacro",
  809. height: math.unit(100, "miles")
  810. });
  811. entity.views[entity.defaultView].height = math.unit(200, "feet");
  812. return entity;
  813. }
  814. function makeNatasha() {
  815. const views = {
  816. side: {
  817. attributes: {
  818. height: {
  819. name: "Height",
  820. power: 1,
  821. type: "length",
  822. base: math.unit(6, "feet")
  823. },
  824. weight: {
  825. name: "Weight",
  826. power: 3,
  827. type: "mass",
  828. base: math.unit(75, "kg")
  829. }
  830. },
  831. image: {
  832. source: "./media/characters/natasha/front.svg"
  833. },
  834. name: "Side"
  835. }
  836. };
  837. const entity = makeEntity("Natasha", "Natasha", views);
  838. entity.defaults.push({
  839. name: "Normal",
  840. height: math.unit(5 + 5/12, "feet")
  841. });
  842. entity.defaults.push({
  843. name: "Large",
  844. height: math.unit(12, "feet")
  845. });
  846. entity.defaults.push({
  847. name: "Macro",
  848. height: math.unit(100, "feet")
  849. });
  850. entity.defaults.push({
  851. name: "Macro+",
  852. height: math.unit(260, "feet")
  853. });
  854. entity.defaults.push({
  855. name: "Macro++",
  856. height: math.unit(1, "mile")
  857. });
  858. entity.views[entity.defaultView].height = math.unit(100, "feet");
  859. return entity;
  860. }
  861. function makeMalik() {
  862. const views = {
  863. front: {
  864. attributes: {
  865. height: {
  866. name: "Height",
  867. power: 1,
  868. type: "length",
  869. base: math.unit(6, "feet")
  870. },
  871. weight: {
  872. name: "Weight",
  873. power: 3,
  874. type: "mass",
  875. base: math.unit(75, "kg")
  876. }
  877. },
  878. image: {
  879. source: "./media/characters/malik/front.svg"
  880. },
  881. name: "Front"
  882. },
  883. side: {
  884. attributes: {
  885. height: {
  886. name: "Height",
  887. power: 1,
  888. type: "length",
  889. base: math.unit(6, "feet")
  890. },
  891. weight: {
  892. name: "Weight",
  893. power: 3,
  894. type: "mass",
  895. base: math.unit(75, "kg")
  896. }
  897. },
  898. image: {
  899. extra: 1.1539,
  900. source: "./media/characters/malik/side.svg"
  901. },
  902. name: "Side"
  903. },
  904. back: {
  905. attributes: {
  906. height: {
  907. name: "Height",
  908. power: 1,
  909. type: "length",
  910. base: math.unit(6, "feet")
  911. },
  912. weight: {
  913. name: "Weight",
  914. power: 3,
  915. type: "mass",
  916. base: math.unit(75, "kg")
  917. }
  918. },
  919. image: {
  920. source: "./media/characters/malik/back.svg"
  921. },
  922. name: "Back"
  923. },
  924. };
  925. const entity = makeEntity("Malik", "Fuzzypaws", views);
  926. entity.defaults.push({
  927. name: "Macro",
  928. height: math.unit(156, "feet")
  929. });
  930. entity.defaults.push({
  931. name: "Macro+",
  932. height: math.unit(1188, "feet")
  933. });
  934. entity.views[entity.defaultView].height = math.unit(156, "feet");
  935. return entity;
  936. }
  937. function makeSefer() {
  938. const views = {
  939. front: {
  940. attributes: {
  941. height: {
  942. name: "Height",
  943. power: 1,
  944. type: "length",
  945. base: math.unit(6, "feet")
  946. },
  947. weight: {
  948. name: "Weight",
  949. power: 3,
  950. type: "mass",
  951. base: math.unit(75, "kg")
  952. }
  953. },
  954. image: {
  955. source: "./media/characters/sefer/front.svg"
  956. },
  957. name: "Front"
  958. },
  959. back: {
  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/sefer/back.svg"
  976. },
  977. name: "Back"
  978. },
  979. };
  980. const entity = makeEntity("Sefer", "Fuzzypaws", views);
  981. entity.views[entity.defaultView].height = math.unit(6, "feet");
  982. return entity;
  983. }
  984. function makeMan() {
  985. const views = {
  986. body: {
  987. attributes: {
  988. height: {
  989. name: "Height",
  990. power: 1,
  991. type: "length",
  992. base: math.unit(2, "meter")
  993. },
  994. weight: {
  995. name: "Weight",
  996. power: 3,
  997. type: "mass",
  998. base: math.unit(80, "kg")
  999. }
  1000. },
  1001. image: {
  1002. source: "./man.svg"
  1003. },
  1004. name: "Body"
  1005. }
  1006. };
  1007. return makeEntity("Man", "Fen", views);
  1008. }
  1009. characterMakers["North"] = () => {
  1010. return makeCharacter(
  1011. "North",
  1012. "chemicalcrux",
  1013. {
  1014. body: {
  1015. height: math.unit(2.2428, "meter"),
  1016. weight: math.unit(124.738, "kg"),
  1017. name: "Body",
  1018. image: {
  1019. extra: 1225/1050,
  1020. source: "./media/characters/north/front.svg"
  1021. }
  1022. }
  1023. },
  1024. [
  1025. {
  1026. name: "Micro",
  1027. height: math.unit(4, "inches")
  1028. },
  1029. {
  1030. name: "Macro",
  1031. height: math.unit(63, "meters")
  1032. },
  1033. {
  1034. name: "Megamacro",
  1035. height: math.unit(101, "miles")
  1036. }
  1037. ],
  1038. math.unit(101, "miles")
  1039. )
  1040. };
  1041. characterMakers["Talan"] = () => {
  1042. return makeCharacter(
  1043. "Talan",
  1044. "talanstrider",
  1045. {
  1046. body: {
  1047. height: math.unit(2, "meter"),
  1048. weight: math.unit(70, "kg"),
  1049. name: "Body",
  1050. image: {
  1051. bottom: 0.02,
  1052. source: "./media/characters/talan/front.svg"
  1053. }
  1054. }
  1055. },
  1056. [
  1057. {
  1058. name: "Normal",
  1059. height: math.unit(4, "meters")
  1060. },
  1061. {
  1062. name: "Macro",
  1063. height: math.unit(100, "meters")
  1064. },
  1065. {
  1066. name: "Megamacro",
  1067. height: math.unit(2, "miles")
  1068. }
  1069. ],
  1070. math.unit(2, "miles")
  1071. )
  1072. };
  1073. function makeCharacters() {
  1074. const results = [];
  1075. results.push({
  1076. name: "Sofia",
  1077. constructor: makeSofia
  1078. });
  1079. results.push({
  1080. name: "March",
  1081. constructor: makeMarch
  1082. });
  1083. results.push({
  1084. name: "Noir",
  1085. constructor: makeNoir
  1086. });
  1087. results.push({
  1088. name: "Okuri",
  1089. constructor: makeOkuri
  1090. });
  1091. results.push({
  1092. name: "Manny",
  1093. constructor: makeManny
  1094. });
  1095. results.push({
  1096. name: "Adake",
  1097. constructor: makeAdake
  1098. });
  1099. results.push({
  1100. name: "Elijah",
  1101. constructor: makeElijah
  1102. });
  1103. results.push({
  1104. name: "Rai",
  1105. constructor: makeRai
  1106. });
  1107. results.push({
  1108. name: "Jazzy",
  1109. constructor: makeJazzy
  1110. });
  1111. results.push({
  1112. name: "Flamm",
  1113. constructor: makeFlamm
  1114. });
  1115. results.push({
  1116. name: "Zephiro",
  1117. constructor: makeZephiro
  1118. });
  1119. results.push({
  1120. name: "Fory",
  1121. constructor: makeFory
  1122. });
  1123. results.push({
  1124. name: "Kurrikage",
  1125. constructor: makeKurrikage
  1126. });
  1127. results.push({
  1128. name: "Shingo",
  1129. constructor: makeShingo
  1130. });
  1131. results.push({
  1132. name: "Aigey",
  1133. constructor: makeAigey
  1134. });
  1135. results.push({
  1136. name: "Natasha",
  1137. constructor: makeNatasha
  1138. });
  1139. results.push({
  1140. name: "Malik",
  1141. constructor: makeMalik
  1142. });
  1143. results.push({
  1144. name: "Sefer",
  1145. constructor: makeSefer
  1146. });
  1147. results.push({
  1148. name: "Normal man",
  1149. constructor: makeMan
  1150. });
  1151. Object.entries(characterMakers).forEach(([key, value]) => {
  1152. results.push({
  1153. name: key,
  1154. constructor: value
  1155. });
  1156. });
  1157. return results;
  1158. }