Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 

956 righe
15 KiB

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