您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

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