Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

1106 строки
17 KiB

  1. module.exports = {
  2. name: 'Fjolarok',
  3. level: [1, 10],
  4. objects: {
  5. shopestrid: {
  6. properties: {
  7. cpnNotice: {
  8. actions: {
  9. enter: {
  10. cpn: 'dialogue',
  11. method: 'talk',
  12. args: [{
  13. targetName: 'estrid'
  14. }]
  15. },
  16. exit: {
  17. cpn: 'dialogue',
  18. method: 'stopTalk'
  19. }
  20. }
  21. }
  22. }
  23. },
  24. shophermit: {
  25. properties: {
  26. cpnNotice: {
  27. actions: {
  28. enter: {
  29. cpn: 'dialogue',
  30. method: 'talk',
  31. args: [{
  32. targetName: 'hermit'
  33. }]
  34. },
  35. exit: {
  36. cpn: 'dialogue',
  37. method: 'stopTalk'
  38. }
  39. }
  40. }
  41. }
  42. },
  43. shopvikar: {
  44. properties: {
  45. cpnNotice: {
  46. actions: {
  47. enter: {
  48. cpn: 'dialogue',
  49. method: 'talk',
  50. args: [{
  51. targetName: 'vikar'
  52. }]
  53. },
  54. exit: {
  55. cpn: 'dialogue',
  56. method: 'stopTalk'
  57. }
  58. }
  59. }
  60. }
  61. },
  62. shopasvald: {
  63. properties: {
  64. cpnNotice: {
  65. actions: {
  66. enter: {
  67. cpn: 'dialogue',
  68. method: 'talk',
  69. args: [{
  70. targetName: 'asvald'
  71. }]
  72. },
  73. exit: {
  74. cpn: 'dialogue',
  75. method: 'stopTalk'
  76. }
  77. }
  78. }
  79. }
  80. },
  81. shoppriest: {
  82. properties: {
  83. cpnNotice: {
  84. actions: {
  85. enter: {
  86. cpn: 'dialogue',
  87. method: 'talk',
  88. args: [{
  89. targetName: 'priest'
  90. }]
  91. },
  92. exit: {
  93. cpn: 'dialogue',
  94. method: 'stopTalk'
  95. }
  96. }
  97. }
  98. }
  99. },
  100. 'estuary entrance': {
  101. components: {
  102. cpnParticles: {
  103. simplify: function () {
  104. return {
  105. type: 'particles',
  106. blueprint: {
  107. color: {
  108. start: ['48edff', '80f643'],
  109. end: ['80f643', '48edff']
  110. },
  111. scale: {
  112. start: {
  113. min: 2,
  114. max: 10
  115. },
  116. end: {
  117. min: 0,
  118. max: 2
  119. }
  120. },
  121. speed: {
  122. start: {
  123. min: 4,
  124. max: 16
  125. },
  126. end: {
  127. min: 2,
  128. max: 8
  129. }
  130. },
  131. lifetime: {
  132. min: 1,
  133. max: 4
  134. },
  135. randomScale: true,
  136. randomSpeed: true,
  137. chance: 0.075,
  138. randomColor: true,
  139. spawnType: 'rect',
  140. spawnRect: {
  141. x: -32,
  142. y: -48,
  143. w: 64,
  144. h: 64
  145. }
  146. }
  147. };
  148. }
  149. }
  150. }
  151. },
  152. gas: {
  153. components: {
  154. cpnParticles: {
  155. simplify: function () {
  156. return {
  157. type: 'particles',
  158. blueprint: {
  159. color: {
  160. start: ['c0c3cf', '80f643'],
  161. end: ['386646', '69696e']
  162. },
  163. scale: {
  164. start: {
  165. min: 18,
  166. max: 64
  167. },
  168. end: {
  169. min: 8,
  170. max: 24
  171. }
  172. },
  173. speed: {
  174. start: {
  175. min: 2,
  176. max: 6
  177. },
  178. end: {
  179. min: 0,
  180. max: 4
  181. }
  182. },
  183. lifetime: {
  184. min: 4,
  185. max: 24
  186. },
  187. alpha: {
  188. start: 0.05,
  189. end: 0
  190. },
  191. randomScale: true,
  192. randomSpeed: true,
  193. chance: 0.02,
  194. randomColor: true,
  195. spawnType: 'rect',
  196. blendMode: 'screen',
  197. spawnRect: {
  198. x: -80,
  199. y: -80,
  200. w: 160,
  201. h: 160
  202. }
  203. }
  204. };
  205. }
  206. }
  207. }
  208. },
  209. greencandle: {
  210. components: {
  211. cpnLight: {
  212. simplify: function () {
  213. return {
  214. type: 'light',
  215. blueprint: {
  216. color: {
  217. start: ['80f643'],
  218. end: ['4ac441', '51fc9a', 'd07840']
  219. },
  220. lifetime: {
  221. min: 2,
  222. max: 6
  223. }
  224. }
  225. };
  226. }
  227. }
  228. }
  229. },
  230. fountain: {
  231. components: {
  232. cpnParticles: {
  233. simplify: function () {
  234. return {
  235. type: 'particles',
  236. blueprint: {
  237. color: {
  238. start: ['48edff', '3fa7dd'],
  239. end: ['3a71ba', '42548d']
  240. },
  241. scale: {
  242. start: {
  243. min: 2,
  244. max: 10
  245. },
  246. end: {
  247. min: 0,
  248. max: 2
  249. }
  250. },
  251. speed: {
  252. start: {
  253. min: 4,
  254. max: 16
  255. },
  256. end: {
  257. min: 2,
  258. max: 8
  259. }
  260. },
  261. lifetime: {
  262. min: 2,
  263. max: 5
  264. },
  265. randomScale: true,
  266. randomSpeed: true,
  267. chance: 0.8,
  268. randomColor: true,
  269. spawnType: 'rect',
  270. spawnRect: {
  271. x: -10,
  272. y: -21,
  273. w: 20,
  274. h: 8
  275. }
  276. }
  277. };
  278. }
  279. }
  280. }
  281. },
  282. alchgreenpot: {
  283. components: {
  284. cpnParticles: {
  285. simplify: function () {
  286. return {
  287. type: 'particles',
  288. blueprint: {
  289. color: {
  290. start: ['80f643', '80f643'],
  291. end: ['4ac441', '4ac441']
  292. },
  293. scale: {
  294. start: {
  295. min: 2,
  296. max: 10
  297. },
  298. end: {
  299. min: 0,
  300. max: 2
  301. }
  302. },
  303. speed: {
  304. start: {
  305. min: 4,
  306. max: 16
  307. },
  308. end: {
  309. min: 2,
  310. max: 8
  311. }
  312. },
  313. lifetime: {
  314. min: 1,
  315. max: 4
  316. },
  317. randomScale: true,
  318. randomSpeed: true,
  319. chance: 0.1,
  320. randomColor: true,
  321. spawnType: 'rect',
  322. spawnRect: {
  323. x: -15,
  324. y: -20,
  325. w: 30,
  326. h: 8
  327. }
  328. }
  329. };
  330. }
  331. }
  332. }
  333. },
  334. alchredpot: {
  335. components: {
  336. cpnParticles: {
  337. simplify: function () {
  338. return {
  339. type: 'particles',
  340. blueprint: {
  341. color: {
  342. start: ['ff4252', 'ff4252'],
  343. end: ['a82841', 'a82841']
  344. },
  345. scale: {
  346. start: {
  347. min: 2,
  348. max: 10
  349. },
  350. end: {
  351. min: 0,
  352. max: 2
  353. }
  354. },
  355. speed: {
  356. start: {
  357. min: 4,
  358. max: 16
  359. },
  360. end: {
  361. min: 2,
  362. max: 8
  363. }
  364. },
  365. lifetime: {
  366. min: 1,
  367. max: 4
  368. },
  369. randomScale: true,
  370. randomSpeed: true,
  371. chance: 0.2,
  372. randomColor: true,
  373. spawnType: 'rect',
  374. spawnRect: {
  375. x: -15,
  376. y: -28,
  377. w: 30,
  378. h: 8
  379. }
  380. }
  381. };
  382. }
  383. }
  384. }
  385. },
  386. 'alchemy workbench': {
  387. components: {
  388. cpnParticles: {
  389. simplify: function () {
  390. return {
  391. type: 'particles',
  392. blueprint: {
  393. color: {
  394. start: ['ff4252', 'ff4252'],
  395. end: ['a82841', 'a82841']
  396. },
  397. scale: {
  398. start: {
  399. min: 2,
  400. max: 10
  401. },
  402. end: {
  403. min: 0,
  404. max: 2
  405. }
  406. },
  407. speed: {
  408. start: {
  409. min: 4,
  410. max: 16
  411. },
  412. end: {
  413. min: 2,
  414. max: 8
  415. }
  416. },
  417. lifetime: {
  418. min: 1,
  419. max: 4
  420. },
  421. randomScale: true,
  422. randomSpeed: true,
  423. chance: 0.2,
  424. randomColor: true,
  425. spawnType: 'rect',
  426. spawnRect: {
  427. x: -15,
  428. y: -28,
  429. w: 30,
  430. h: 8
  431. }
  432. }
  433. };
  434. }
  435. },
  436. cpnWorkbench: {
  437. type: 'alchemy'
  438. }
  439. }
  440. },
  441. etchbench: {
  442. components: {
  443. cpnParticles: {
  444. simplify: function () {
  445. return {
  446. type: 'particles',
  447. blueprint: {
  448. color: {
  449. start: ['ff4252', 'ff4252'],
  450. end: ['a82841', 'a82841']
  451. },
  452. scale: {
  453. start: {
  454. min: 2,
  455. max: 10
  456. },
  457. end: {
  458. min: 0,
  459. max: 2
  460. }
  461. },
  462. speed: {
  463. start: {
  464. min: 4,
  465. max: 16
  466. },
  467. end: {
  468. min: 2,
  469. max: 8
  470. }
  471. },
  472. lifetime: {
  473. min: 1,
  474. max: 4
  475. },
  476. randomScale: true,
  477. randomSpeed: true,
  478. chance: 0.2,
  479. randomColor: true,
  480. spawnType: 'rect',
  481. spawnRect: {
  482. x: -15,
  483. y: -28,
  484. w: 30,
  485. h: 8
  486. }
  487. }
  488. };
  489. }
  490. },
  491. cpnWorkbench: {
  492. type: 'etching'
  493. }
  494. }
  495. },
  496. fireplace: {
  497. components: {
  498. cpnWorkbench: {
  499. type: 'cooking'
  500. }
  501. }
  502. },
  503. 'enchanting shrine': {
  504. components: {
  505. cpnParticles: {
  506. simplify: function () {
  507. return {
  508. type: 'particles',
  509. blueprint: {
  510. color: {
  511. start: ['48edff', 'fc66f7'],
  512. end: ['393268', '42548d']
  513. },
  514. scale: {
  515. start: {
  516. min: 2,
  517. max: 10
  518. },
  519. end: {
  520. min: 0,
  521. max: 2
  522. }
  523. },
  524. speed: {
  525. start: {
  526. min: 4,
  527. max: 16
  528. },
  529. end: {
  530. min: 2,
  531. max: 8
  532. }
  533. },
  534. lifetime: {
  535. min: 1,
  536. max: 4
  537. },
  538. randomScale: true,
  539. randomSpeed: true,
  540. chance: 0.2,
  541. randomColor: true,
  542. spawnType: 'rect',
  543. spawnRect: {
  544. x: -15,
  545. y: -28,
  546. w: 30,
  547. h: 8
  548. }
  549. }
  550. };
  551. }
  552. },
  553. cpnWorkbench: {
  554. type: 'enchanting'
  555. }
  556. }
  557. }
  558. },
  559. mobs: {
  560. default: {
  561. regular: {
  562. drops: {
  563. chance: 40,
  564. rolls: 1
  565. }
  566. }
  567. },
  568. 'crazed seagull': {
  569. level: 1,
  570. rare: {
  571. count: 0
  572. },
  573. regular: {
  574. drops: {
  575. rolls: 1,
  576. noRandom: true,
  577. blueprints: [{
  578. chance: 100,
  579. maxLevel: 2,
  580. name: 'Family Heirloom',
  581. quality: 1,
  582. slot: 'neck',
  583. type: 'Choker',
  584. noSalvage: true,
  585. stats: ['vit', 'regenMana']
  586. }]
  587. }
  588. }
  589. },
  590. seagull: {
  591. level: 2,
  592. regular: {
  593. drops: {
  594. chance: 60,
  595. rolls: 1
  596. }
  597. },
  598. rare: {
  599. count: 0
  600. },
  601. questItem: {
  602. name: 'Gull Feather',
  603. sprite: [0, 0]
  604. }
  605. },
  606. bunny: {
  607. level: 3,
  608. regular: {
  609. drops: {
  610. chance: 56,
  611. rolls: 1
  612. }
  613. },
  614. rare: {
  615. count: 0
  616. },
  617. questItem: {
  618. name: "Rabbit's Foot",
  619. sprite: [0, 1]
  620. }
  621. },
  622. thumper: {
  623. level: 5,
  624. cron: '0 * * * *',
  625. regular: {
  626. hpMult: 3,
  627. dmgMult: 3,
  628. drops: {
  629. chance: 100,
  630. rolls: 2,
  631. magicFind: [1300]
  632. }
  633. },
  634. rare: {
  635. chance: 100
  636. }
  637. },
  638. elk: {
  639. level: 4,
  640. regular: {
  641. drops: {
  642. chance: 50,
  643. rolls: 1
  644. }
  645. },
  646. rare: {
  647. name: 'Ironhorn'
  648. },
  649. questItem: {
  650. name: 'Elk Antler',
  651. sprite: [0, 2]
  652. }
  653. },
  654. flamingo: {
  655. level: 5,
  656. regular: {
  657. drops: {
  658. chance: 45,
  659. rolls: 1
  660. }
  661. }
  662. },
  663. crab: {
  664. level: 6,
  665. rare: {
  666. name: 'Squiggles'
  667. },
  668. questItem: {
  669. name: 'Severed Pincer',
  670. sprite: [0, 3]
  671. }
  672. },
  673. 'titan crab': {
  674. level: 7,
  675. rare: {
  676. name: 'The Pincer King'
  677. }
  678. },
  679. 'mud crab': {
  680. level: 9
  681. },
  682. frog: {
  683. level: 8,
  684. rare: {
  685. name: 'The Muck Prince'
  686. }
  687. },
  688. eagle: {
  689. level: 10,
  690. regular: {
  691. drops: {
  692. rolls: 1,
  693. noRandom: true,
  694. alsoRandom: true,
  695. blueprints: [{
  696. chance: 3,
  697. name: 'Eagle Feather',
  698. material: true,
  699. sprite: [0, 0],
  700. spritesheet: 'images/questItems.png'
  701. }]
  702. }
  703. },
  704. rare: {
  705. name: 'Fleshripper',
  706. drops: {
  707. rolls: 1,
  708. noRandom: true,
  709. alsoRandom: true,
  710. blueprints: [{
  711. chance: 80,
  712. name: 'Eagle Feather',
  713. material: true,
  714. sprite: [0, 0],
  715. spritesheet: 'images/questItems.png'
  716. }]
  717. }
  718. }
  719. },
  720. hermit: {
  721. level: 10,
  722. walkDistance: 0,
  723. attackable: false,
  724. rare: {
  725. count: 0
  726. },
  727. properties: {
  728. cpnTrade: {
  729. items: {
  730. min: 3,
  731. max: 5
  732. },
  733. forceItems: [{
  734. name: 'Flimsy Fishing Rod',
  735. type: 'Fishing Rod',
  736. slot: 'tool',
  737. quality: 0,
  738. worth: 5,
  739. sprite: [11, 0],
  740. infinite: true,
  741. noSalvage: true
  742. }, {
  743. name: 'Skewering Stick',
  744. material: true,
  745. sprite: [11, 7],
  746. worth: 2,
  747. quality: 0,
  748. infinite: true
  749. }],
  750. level: {
  751. min: 1,
  752. max: 5
  753. },
  754. markup: {
  755. buy: 0.25,
  756. sell: 2.5
  757. }
  758. }
  759. }
  760. },
  761. guard: {
  762. level: 20,
  763. attackable: false,
  764. walkDistance: 0,
  765. rare: {
  766. count: 0
  767. }
  768. },
  769. estrid: {
  770. level: 15,
  771. attackable: false,
  772. walkDistance: 5,
  773. rare: {
  774. count: 0
  775. },
  776. properties: {
  777. cpnTrade: {
  778. items: {
  779. min: 0,
  780. max: 0,
  781. extra: [{
  782. name: 'Empty Vial',
  783. material: true,
  784. sprite: [0, 9],
  785. worth: 10,
  786. infinite: true
  787. }]
  788. },
  789. faction: {
  790. id: 'fjolgard',
  791. tier: 5
  792. },
  793. markup: {
  794. buy: 0.25,
  795. sell: 2.5
  796. }
  797. }
  798. }
  799. },
  800. vikar: {
  801. level: 15,
  802. walkDistance: 0,
  803. attackable: false,
  804. rare: {
  805. count: 0
  806. }
  807. },
  808. luta: {
  809. level: 15,
  810. walkDistance: 0,
  811. attackable: false,
  812. rare: {
  813. count: 0
  814. }
  815. },
  816. asvald: {
  817. level: 15,
  818. walkDistance: 0,
  819. attackable: false,
  820. rare: {
  821. count: 0
  822. },
  823. properties: {
  824. cpnTrade: {
  825. items: {
  826. min: 0,
  827. max: 0,
  828. extra: [{
  829. generate: true,
  830. spell: true,
  831. quality: 0,
  832. infinite: true,
  833. spellName: 'magic missile',
  834. worth: 3
  835. }, {
  836. generate: true,
  837. spell: true,
  838. quality: 0,
  839. infinite: true,
  840. spellName: 'ice spear',
  841. worth: 3
  842. }, {
  843. generate: true,
  844. spell: true,
  845. quality: 0,
  846. infinite: true,
  847. spellName: 'smite',
  848. worth: 3
  849. }, {
  850. generate: true,
  851. spell: true,
  852. quality: 0,
  853. infinite: true,
  854. spellName: 'consecrate',
  855. worth: 3
  856. }, {
  857. generate: true,
  858. spell: true,
  859. quality: 0,
  860. infinite: true,
  861. spellName: 'slash',
  862. worth: 3
  863. }, {
  864. generate: true,
  865. spell: true,
  866. quality: 0,
  867. infinite: true,
  868. spellName: 'charge',
  869. worth: 3
  870. }, {
  871. generate: true,
  872. spell: true,
  873. quality: 0,
  874. infinite: true,
  875. spellName: 'flurry',
  876. worth: 3
  877. }, {
  878. generate: true,
  879. spell: true,
  880. quality: 0,
  881. infinite: true,
  882. spellName: 'smokebomb',
  883. worth: 3
  884. }]
  885. },
  886. faction: {
  887. id: 'fjolgard',
  888. tier: 5
  889. },
  890. markup: {
  891. buy: 0.25,
  892. sell: 10
  893. }
  894. }
  895. }
  896. },
  897. rodriguez: {
  898. attackable: false,
  899. level: 10,
  900. rare: {
  901. count: 0
  902. }
  903. },
  904. pig: {
  905. attackable: false,
  906. level: 3,
  907. rare: {
  908. count: 0
  909. }
  910. },
  911. goat: {
  912. attackable: false,
  913. level: 3,
  914. rare: {
  915. count: 0
  916. }
  917. },
  918. cow: {
  919. attackable: false,
  920. level: 3,
  921. rare: {
  922. count: 0
  923. }
  924. },
  925. priest: {
  926. level: 20,
  927. attackable: false,
  928. walkDistance: 0,
  929. rare: {
  930. count: 0
  931. },
  932. properties: {
  933. cpnTrade: {
  934. items: {
  935. min: 5,
  936. max: 10,
  937. extra: [{
  938. type: 'skin',
  939. skinId: '2.0',
  940. worth: 100,
  941. factions: [{
  942. id: 'gaekatla',
  943. tier: 7
  944. }]
  945. }, {
  946. worth: 100,
  947. infinite: true,
  948. generate: true,
  949. name: 'Cowl of Obscurity',
  950. level: [4, 13],
  951. quality: 4,
  952. noSpell: true,
  953. slot: 'head',
  954. sprite: [2, 0],
  955. spritesheet: '../../../images/legendaryItems.png',
  956. type: 'Silk Cowl',
  957. description: 'Imbued with the powers of Gaekatla herself.',
  958. stats: ['hpMax', 'hpMax', 'int', 'int'],
  959. effects: [{
  960. type: 'healOnCrit',
  961. rolls: {
  962. i_chance: [20, 60],
  963. i_percentage: [3, 7]
  964. }
  965. }],
  966. factions: [{
  967. id: 'gaekatla',
  968. tier: 7
  969. }]
  970. }]
  971. },
  972. faction: {
  973. id: 'gaekatla',
  974. tier: 5
  975. },
  976. markup: {
  977. buy: 0.25,
  978. sell: 10
  979. }
  980. }
  981. }
  982. },
  983. sundfehr: {
  984. level: 9,
  985. walkDistance: 0,
  986. cron: '0 */2 * * *',
  987. regular: {
  988. hpMult: 10,
  989. dmgMult: 1,
  990. drops: {
  991. chance: 100,
  992. rolls: 3,
  993. magicFind: [2000]
  994. }
  995. },
  996. rare: {
  997. chance: 0
  998. },
  999. spells: [{
  1000. type: 'warnBlast',
  1001. range: 8,
  1002. delay: 9,
  1003. damage: 0.8,
  1004. statMult: 1,
  1005. cdMax: 7,
  1006. targetRandom: true,
  1007. particles: {
  1008. color: {
  1009. start: ['c0c3cf', '929398'],
  1010. end: ['929398', 'c0c3cf']
  1011. },
  1012. spawnType: 'circle',
  1013. spawnCircle: {
  1014. x: 0,
  1015. y: 0,
  1016. r: 12
  1017. },
  1018. randomColor: true,
  1019. chance: 0.03
  1020. }
  1021. }, {
  1022. type: 'projectile',
  1023. damage: 0.4,
  1024. statMult: 1,
  1025. cdMax: 5,
  1026. targetRandom: true,
  1027. row: 2,
  1028. col: 4
  1029. }],
  1030. components: {
  1031. cpnParticles: {
  1032. simplify: function () {
  1033. return {
  1034. type: 'particles',
  1035. blueprint: {
  1036. color: {
  1037. start: ['fc66f7', '802343'],
  1038. end: ['393268', 'de43ae']
  1039. },
  1040. scale: {
  1041. start: {
  1042. min: 10,
  1043. max: 18
  1044. },
  1045. end: {
  1046. min: 4,
  1047. max: 8
  1048. }
  1049. },
  1050. speed: {
  1051. start: {
  1052. min: 6,
  1053. max: 12
  1054. },
  1055. end: {
  1056. min: 2,
  1057. max: 4
  1058. }
  1059. },
  1060. lifetime: {
  1061. min: 5,
  1062. max: 12
  1063. },
  1064. alpha: {
  1065. start: 0.25,
  1066. end: 0
  1067. },
  1068. randomScale: true,
  1069. randomSpeed: true,
  1070. chance: 0.06,
  1071. randomColor: true,
  1072. spawnType: 'rect',
  1073. blendMode: 'add',
  1074. spawnRect: {
  1075. x: -24,
  1076. y: -24,
  1077. w: 48,
  1078. h: 48
  1079. }
  1080. }
  1081. };
  1082. }
  1083. }
  1084. }
  1085. }
  1086. }
  1087. };