gonzazoz

items

Feb 12th, 2024
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 68.90 KB | None | 0 0
  1. toma esto, no se lo que es, pero tenlo en cuenta
  2. C: setupGame,
  3. D: addPlayer,
  4. E: removePlayer,
  5. a: updatePlayers,
  6. G: updateLeaderboard,
  7. H: loadGameObject,
  8. I: loadAI,
  9. J: animateAI,
  10. K: gatherAnimation,
  11. L: wiggleGameObject,
  12. M: shootTurret,
  13. N: updatePlayerValue,
  14. O: updateHealth,
  15. P: killPlayer,
  16. Q: killObject,
  17. R: killObjects,
  18. S: updateItemCounts,
  19. T: updateAge,
  20. U: updateUpgrades,
  21. V: updateItems,
  22. X: addProjectile,
  23. Y: remProjectile,
  24. //Z: serverShutdownNotice,
  25. //0: addAlliance,
  26. //1: deleteAlliance,
  27. 2: allianceNotification,
  28. 3: setPlayerTeam,
  29. 4: setAlliancePlayers,
  30. 5: updateStoreItems,
  31. 6: receiveChat,
  32. 7: updateMinimap,
  33. 8: showText,
  34. 9: pingMap,
  35. 0: pingSocketResponse,
  36. ahora, te dare algo mas
  37. // ITEM GROUPS:
  38. this.groups = [{
  39. id: 0,
  40. name: "food",
  41. layer: 0
  42. }, {
  43. id: 1,
  44. name: "walls",
  45. place: true,
  46. limit: 30,
  47. layer: 0
  48. }, {
  49. id: 2,
  50. name: "spikes",
  51. place: true,
  52. limit: 15,
  53. layer: 0
  54. }, {
  55. id: 3,
  56. name: "mill",
  57. place: true,
  58. limit: 7,
  59. layer: 1
  60. }, {
  61. id: 4,
  62. name: "mine",
  63. place: true,
  64. limit: 1,
  65. layer: 0
  66. }, {
  67. id: 5,
  68. name: "trap",
  69. place: true,
  70. limit: 6,
  71. layer: -1
  72. }, {
  73. id: 6,
  74. name: "booster",
  75. place: true,
  76. limit: 12,
  77. layer: -1
  78. }, {
  79. id: 7,
  80. name: "turret",
  81. place: true,
  82. limit: 2,
  83. layer: 1
  84. }, {
  85. id: 8,
  86. name: "watchtower",
  87. place: true,
  88. limit: 12,
  89. layer: 1
  90. }, {
  91. id: 9,
  92. name: "buff",
  93. place: true,
  94. limit: 4,
  95. layer: -1
  96. }, {
  97. id: 10,
  98. name: "spawn",
  99. place: true,
  100. limit: 1,
  101. layer: -1
  102. }, {
  103. id: 11,
  104. name: "sapling",
  105. place: true,
  106. limit: 2,
  107. layer: 0
  108. }, {
  109. id: 12,
  110. name: "blocker",
  111. place: true,
  112. limit: 3,
  113. layer: -1
  114. }, {
  115. id: 13,
  116. name: "teleporter",
  117. place: true,
  118. limit: 2,
  119. layer: -1
  120. }];
  121. // PROJECTILES:
  122. this.projectiles = [{
  123. indx: 0,
  124. layer: 0,
  125. src: "arrow_1",
  126. dmg: 25,
  127. speed: 1.6,
  128. scale: 103,
  129. range: 1000
  130. }, {
  131. indx: 1,
  132. layer: 1,
  133. dmg: 25,
  134. scale: 20
  135. }, {
  136. indx: 0,
  137. layer: 0,
  138. src: "arrow_1",
  139. dmg: 35,
  140. speed: 2.5,
  141. scale: 103,
  142. range: 1200
  143. }, {
  144. indx: 0,
  145. layer: 0,
  146. src: "arrow_1",
  147. dmg: 30,
  148. speed: 2,
  149. scale: 103,
  150. range: 1200
  151. }, {
  152. indx: 1,
  153. layer: 1,
  154. dmg: 16,
  155. scale: 20
  156. }, {
  157. indx: 0,
  158. layer: 0,
  159. src: "bullet_1",
  160. dmg: 50,
  161. speed: 3.6,
  162. scale: 160,
  163. range: 1400
  164. }];
  165. // WEAPONS:
  166. this.weapons = [{
  167. id: 0,
  168. type: 0,
  169. name: "tool hammer",
  170. desc: "tool for gathering all resources",
  171. src: "hammer_1",
  172. length: 140,
  173. width: 140,
  174. xOff: -3,
  175. yOff: 18,
  176. dmg: 25,
  177. range: 65,
  178. gather: 1,
  179. speed: 300
  180. }, {
  181. id: 1,
  182. type: 0,
  183. age: 2,
  184. name: "hand axe",
  185. desc: "gathers resources at a higher rate",
  186. src: "axe_1",
  187. length: 140,
  188. width: 140,
  189. xOff: 3,
  190. yOff: 24,
  191. dmg: 30,
  192. spdMult: 1,
  193. range: 70,
  194. gather: 2,
  195. speed: 400
  196. }, {
  197. id: 2,
  198. type: 0,
  199. age: 8,
  200. pre: 1,
  201. name: "great axe",
  202. desc: "deal more damage and gather more resources",
  203. src: "great_axe_1",
  204. length: 140,
  205. width: 140,
  206. xOff: -8,
  207. yOff: 25,
  208. dmg: 35,
  209. spdMult: 1,
  210. range: 75,
  211. gather: 4,
  212. speed: 400
  213. }, {
  214. id: 3,
  215. type: 0,
  216. age: 2,
  217. name: "short sword",
  218. desc: "increased attack power but slower move speed",
  219. src: "sword_1",
  220. iPad: 1.3,
  221. length: 130,
  222. width: 210,
  223. xOff: -8,
  224. yOff: 46,
  225. dmg: 35,
  226. spdMult: 0.85,
  227. range: 110,
  228. gather: 1,
  229. speed: 300
  230. }, {
  231. id: 4,
  232. type: 0,
  233. age: 8,
  234. pre: 3,
  235. name: "katana",
  236. desc: "greater range and damage",
  237. src: "samurai_1",
  238. iPad: 1.3,
  239. length: 130,
  240. width: 210,
  241. xOff: -8,
  242. yOff: 59,
  243. dmg: 40,
  244. spdMult: 0.8,
  245. range: 118,
  246. gather: 1,
  247. speed: 300
  248. }, {
  249. id: 5,
  250. type: 0,
  251. age: 2,
  252. name: "polearm",
  253. desc: "long range melee weapon",
  254. src: "spear_1",
  255. iPad: 1.3,
  256. length: 130,
  257. width: 210,
  258. xOff: -8,
  259. yOff: 53,
  260. dmg: 45,
  261. knock: 0.2,
  262. spdMult: 0.82,
  263. range: 142,
  264. gather: 1,
  265. speed: 700
  266. }, {
  267. id: 6,
  268. type: 0,
  269. age: 2,
  270. name: "bat",
  271. desc: "fast long range melee weapon",
  272. src: "bat_1",
  273. iPad: 1.3,
  274. length: 110,
  275. width: 180,
  276. xOff: -8,
  277. yOff: 53,
  278. dmg: 20,
  279. knock: 0.7,
  280. range: 110,
  281. gather: 1,
  282. speed: 300
  283. }, {
  284. id: 7,
  285. type: 0,
  286. age: 2,
  287. name: "daggers",
  288. desc: "really fast short range weapon",
  289. src: "dagger_1",
  290. iPad: 0.8,
  291. length: 110,
  292. width: 110,
  293. xOff: 18,
  294. yOff: 0,
  295. dmg: 20,
  296. knock: 0.1,
  297. range: 65,
  298. gather: 1,
  299. hitSlow: 0.1,
  300. spdMult: 1.13,
  301. speed: 100
  302. }, {
  303. id: 8,
  304. type: 0,
  305. age: 2,
  306. name: "stick",
  307. desc: "great for gathering but very weak",
  308. src: "stick_1",
  309. length: 140,
  310. width: 140,
  311. xOff: 3,
  312. yOff: 24,
  313. dmg: 1,
  314. spdMult: 1,
  315. range: 70,
  316. gather: 7,
  317. speed: 400
  318. }, {
  319. id: 9,
  320. type: 1,
  321. age: 6,
  322. name: "hunting bow",
  323. desc: "bow used for ranged combat and hunting",
  324. src: "bow_1",
  325. req: ["wood", 4],
  326. length: 120,
  327. width: 120,
  328. xOff: -6,
  329. yOff: 0,
  330. Pdmg: 25,
  331. projectile: 0,
  332. spdMult: 0.75,
  333. speed: 600
  334. }, {
  335. id: 10,
  336. type: 1,
  337. age: 6,
  338. name: "great hammer",
  339. desc: "hammer used for destroying structures",
  340. src: "great_hammer_1",
  341. length: 140,
  342. width: 140,
  343. xOff: -9,
  344. yOff: 25,
  345. dmg: 10,
  346. Pdmg: 10,
  347. spdMult: 0.88,
  348. range: 75,
  349. sDmg: 7.5,
  350. gather: 1,
  351. speed: 400
  352. }, {
  353. id: 11,
  354. type: 1,
  355. age: 6,
  356. name: "wooden shield",
  357. desc: "blocks projectiles and reduces melee damage",
  358. src: "shield_1",
  359. length: 120,
  360. width: 120,
  361. shield: 0.2,
  362. xOff: 6,
  363. yOff: 0,
  364. Pdmg: 0,
  365. spdMult: 0.7
  366. }, {
  367. id: 12,
  368. type: 1,
  369. age: 8,
  370. pre: 9,
  371. name: "crossbow",
  372. desc: "deals more damage and has greater range",
  373. src: "crossbow_1",
  374. req: ["wood", 5],
  375. aboveHand: true,
  376. armS: 0.75,
  377. length: 120,
  378. width: 120,
  379. xOff: -4,
  380. yOff: 0,
  381. Pdmg: 35,
  382. projectile: 2,
  383. spdMult: 0.7,
  384. speed: 700
  385. }, {
  386. id: 13,
  387. type: 1,
  388. age: 9,
  389. pre: 12,
  390. name: "repeater crossbow",
  391. desc: "high firerate crossbow with reduced damage",
  392. src: "crossbow_2",
  393. req: ["wood", 10],
  394. aboveHand: true,
  395. armS: 0.75,
  396. length: 120,
  397. width: 120,
  398. xOff: -4,
  399. yOff: 0,
  400. Pdmg: 30,
  401. projectile: 3,
  402. spdMult: 0.7,
  403. speed: 230
  404. }, {
  405. id: 14,
  406. type: 1,
  407. age: 6,
  408. name: "mc grabby",
  409. desc: "steals resources from enemies",
  410. src: "grab_1",
  411. length: 130,
  412. width: 210,
  413. xOff: -8,
  414. yOff: 53,
  415. dmg: 0,
  416. Pdmg: 0,
  417. steal: 250,
  418. knock: 0.2,
  419. spdMult: 1.05,
  420. range: 125,
  421. gather: 0,
  422. speed: 700
  423. }, {
  424. id: 15,
  425. type: 1,
  426. age: 9,
  427. pre: 12,
  428. name: "musket",
  429. desc: "slow firerate but high damage and range",
  430. src: "musket_1",
  431. req: ["stone", 10],
  432. aboveHand: true,
  433. rec: 0.35,
  434. armS: 0.6,
  435. hndS: 0.3,
  436. hndD: 1.6,
  437. length: 205,
  438. width: 205,
  439. xOff: 25,
  440. yOff: 0,
  441. Pdmg: 50,
  442. projectile: 5,
  443. hideProjectile: true,
  444. spdMult: 0.6,
  445. speed: 1500
  446. }];
  447. // ITEMS:
  448. this.list = [{
  449. group: this.groups[0],
  450. name: "apple",
  451. desc: "restores 20 health when consumed",
  452. req: ["food", 10],
  453. consume: function(doer) {
  454. return doer.changeHealth(20, doer);
  455. },
  456. scale: 22,
  457. holdOffset: 15,
  458. healing: 20,
  459. itemID: 0,
  460. itemAID: 16,
  461. }, {
  462. age: 3,
  463. group: this.groups[0],
  464. name: "cookie",
  465. desc: "restores 40 health when consumed",
  466. req: ["food", 15],
  467. consume: function(doer) {
  468. return doer.changeHealth(40, doer);
  469. },
  470. scale: 27,
  471. holdOffset: 15,
  472. healing: 40,
  473. itemID: 1,
  474. itemAID: 17,
  475. }, {
  476. age: 7,
  477. group: this.groups[0],
  478. name: "cheese",
  479. desc: "restores 30 health and another 50 over 5 seconds",
  480. req: ["food", 25],
  481. consume: function(doer) {
  482. if (doer.changeHealth(30, doer) || doer.health < 100) {
  483. doer.dmgOverTime.dmg = -10;
  484. doer.dmgOverTime.doer = doer;
  485. doer.dmgOverTime.time = 5;
  486. return true;
  487. }
  488. return false;
  489. },
  490. scale: 27,
  491. holdOffset: 15,
  492. healing: 30,
  493. itemID: 2,
  494. itemAID: 18,
  495. }, {
  496. group: this.groups[1],
  497. name: "wood wall",
  498. desc: "provides protection for your village",
  499. req: ["wood", 10],
  500. projDmg: true,
  501. health: 380,
  502. scale: 50,
  503. holdOffset: 20,
  504. placeOffset: -5,
  505. itemID: 3,
  506. itemAID: 19,
  507. }, {
  508. age: 3,
  509. group: this.groups[1],
  510. name: "stone wall",
  511. desc: "provides improved protection for your village",
  512. req: ["stone", 25],
  513. health: 900,
  514. scale: 50,
  515. holdOffset: 20,
  516. placeOffset: -5,
  517. itemID: 4,
  518. itemAID: 20,
  519. }, {
  520. age: 7,
  521. group: this.groups[1],
  522. name: "castle wall",
  523. desc: "provides powerful protection for your village",
  524. req: ["stone", 35],
  525. health: 1500,
  526. scale: 52,
  527. holdOffset: 20,
  528. placeOffset: -5,
  529. itemID: 5,
  530. itemAID: 21,
  531. }, {
  532. group: this.groups[2],
  533. name: "spikes",
  534. desc: "damages enemies when they touch them",
  535. req: ["wood", 20, "stone", 5],
  536. health: 400,
  537. dmg: 20,
  538. scale: 49,
  539. spritePadding: -23,
  540. holdOffset: 8,
  541. placeOffset: -5,
  542. itemID: 6,
  543. itemAID: 22,
  544. }, {
  545. age: 5,
  546. group: this.groups[2],
  547. name: "greater spikes",
  548. desc: "damages enemies when they touch them",
  549. req: ["wood", 30, "stone", 10],
  550. health: 500,
  551. dmg: 35,
  552. scale: 52,
  553. spritePadding: -23,
  554. holdOffset: 8,
  555. placeOffset: -5,
  556. itemID: 7,
  557. itemAID: 23,
  558. }, {
  559. age: 9,
  560. group: this.groups[2],
  561. name: "poison spikes",
  562. desc: "poisons enemies when they touch them",
  563. req: ["wood", 35, "stone", 15],
  564. health: 600,
  565. dmg: 30,
  566. pDmg: 5,
  567. scale: 52,
  568. spritePadding: -23,
  569. holdOffset: 8,
  570. placeOffset: -5,
  571. itemID: 8,
  572. itemAID: 24,
  573. }, {
  574. age: 9,
  575. group: this.groups[2],
  576. name: "spinning spikes",
  577. desc: "damages enemies when they touch them",
  578. req: ["wood", 30, "stone", 20],
  579. health: 500,
  580. dmg: 45,
  581. turnSpeed: 0.003,
  582. scale: 52,
  583. spritePadding: -23,
  584. holdOffset: 8,
  585. placeOffset: -5,
  586. itemID: 9,
  587. itemAID: 25,
  588. }, {
  589. group: this.groups[3],
  590. name: "windmill",
  591. desc: "generates gold over time",
  592. req: ["wood", 50, "stone", 10],
  593. health: 400,
  594. pps: 1,
  595. turnSpeed: 0.0016,
  596. spritePadding: 25,
  597. iconLineMult: 12,
  598. scale: 45,
  599. holdOffset: 20,
  600. placeOffset: 5,
  601. itemID: 10,
  602. itemAID: 26,
  603. }, {
  604. age: 5,
  605. group: this.groups[3],
  606. name: "faster windmill",
  607. desc: "generates more gold over time",
  608. req: ["wood", 60, "stone", 20],
  609. health: 500,
  610. pps: 1.5,
  611. turnSpeed: 0.0025,
  612. spritePadding: 25,
  613. iconLineMult: 12,
  614. scale: 47,
  615. holdOffset: 20,
  616. placeOffset: 5,
  617. itemID: 11,
  618. itemAID: 27,
  619. }, {
  620. age: 8,
  621. group: this.groups[3],
  622. name: "power mill",
  623. desc: "generates more gold over time",
  624. req: ["wood", 100, "stone", 50],
  625. health: 800,
  626. pps: 2,
  627. turnSpeed: 0.005,
  628. spritePadding: 25,
  629. iconLineMult: 12,
  630. scale: 47,
  631. holdOffset: 20,
  632. placeOffset: 5,
  633. itemID: 12,
  634. itemAID: 28,
  635. }, {
  636. age: 5,
  637. group: this.groups[4],
  638. type: 2,
  639. name: "mine",
  640. desc: "allows you to mine stone",
  641. req: ["wood", 20, "stone", 100],
  642. iconLineMult: 12,
  643. scale: 65,
  644. holdOffset: 20,
  645. placeOffset: 0,
  646. itemID: 13,
  647. itemAID: 29,
  648. }, {
  649. age: 5,
  650. group: this.groups[11],
  651. type: 0,
  652. name: "sapling",
  653. desc: "allows you to farm wood",
  654. req: ["wood", 150],
  655. iconLineMult: 12,
  656. colDiv: 0.5,
  657. scale: 110,
  658. holdOffset: 50,
  659. placeOffset: -15,
  660. itemID: 14,
  661. itemAID: 30,
  662. }, {
  663. age: 4,
  664. group: this.groups[5],
  665. name: "pit trap",
  666. desc: "pit that traps enemies if they walk over it",
  667. req: ["wood", 30, "stone", 30],
  668. trap: true,
  669. ignoreCollision: true,
  670. hideFromEnemy: true,
  671. health: 500,
  672. colDiv: 0.2,
  673. scale: 50,
  674. holdOffset: 20,
  675. placeOffset: -5,
  676. alpha: 0.6,
  677. itemID: 15,
  678. itemAID: 31,
  679. }, {
  680. age: 4,
  681. group: this.groups[6],
  682. name: "boost pad",
  683. desc: "provides boost when stepped on",
  684. req: ["stone", 20, "wood", 5],
  685. ignoreCollision: true,
  686. boostSpeed: 1.5,
  687. health: 150,
  688. colDiv: 0.7,
  689. scale: 45,
  690. holdOffset: 20,
  691. placeOffset: -5,
  692. itemID: 16,
  693. itemAID: 32,
  694. }, {
  695. age: 7,
  696. group: this.groups[7],
  697. doUpdate: true,
  698. name: "turret",
  699. desc: "defensive structure that shoots at enemies",
  700. req: ["wood", 200, "stone", 150],
  701. health: 800,
  702. projectile: 1,
  703. shootRange: 700,
  704. shootRate: 2200,
  705. scale: 43,
  706. holdOffset: 20,
  707. placeOffset: -5,
  708. itemID: 17,
  709. itemAID: 33,
  710. }, {
  711. age: 7,
  712. group: this.groups[8],
  713. name: "platform",
  714. desc: "platform to shoot over walls and cross over water",
  715. req: ["wood", 20],
  716. ignoreCollision: true,
  717. zIndex: 1,
  718. health: 300,
  719. scale: 43,
  720. holdOffset: 20,
  721. placeOffset: -5,
  722. itemID: 18,
  723. itemAID: 34,
  724. }, {
  725. age: 7,
  726. group: this.groups[9],
  727. name: "healing pad",
  728. desc: "standing on it will slowly heal you",
  729. req: ["wood", 30, "food", 10],
  730. ignoreCollision: true,
  731. healCol: 15,
  732. health: 400,
  733. colDiv: 0.7,
  734. scale: 45,
  735. holdOffset: 20,
  736. placeOffset: -5,
  737. itemID: 19,
  738. itemAID: 35,
  739. }, {
  740. age: 9,
  741. group: this.groups[10],
  742. name: "spawn pad",
  743. desc: "you will spawn here when you die but it will dissapear",
  744. req: ["wood", 100, "stone", 100],
  745. health: 400,
  746. ignoreCollision: true,
  747. spawnPoint: true,
  748. scale: 45,
  749. holdOffset: 20,
  750. placeOffset: -5,
  751. itemID: 20,
  752. itemAID: 36,
  753. }, {
  754. age: 7,
  755. group: this.groups[12],
  756. name: "blocker",
  757. desc: "blocks building in radius",
  758. req: ["wood", 30, "stone", 25],
  759. ignoreCollision: true,
  760. blocker: 300,
  761. health: 400,
  762. colDiv: 0.7,
  763. scale: 45,
  764. holdOffset: 20,
  765. placeOffset: -5,
  766. itemID: 21,
  767. itemAID: 37,
  768. }, {
  769. age: 7,
  770. group: this.groups[13],
  771. name: "teleporter",
  772. desc: "teleports you to a random point on the map",
  773. req: ["wood", 60, "stone", 60],
  774. ignoreCollision: true,
  775. teleport: true,
  776. health: 200,
  777. colDiv: 0.7,
  778. scale: 45,
  779. holdOffset: 20,
  780. placeOffset: -5,
  781. itemID: 22,
  782. itemAID: 38
  783. }];
  784. // CHECK ITEM ID:
  785. this.checkItem = {
  786. index: function(id, myItems) {
  787. return [0, 1, 2].includes(id) ? 0 :
  788. [3, 4, 5].includes(id) ? 1 :
  789. [6, 7, 8, 9].includes(id) ? 2 :
  790. [10, 11, 12].includes(id) ? 3 :
  791. [13, 14].includes(id) ? 5 :
  792. [15, 16].includes(id) ? 4 :
  793. [17, 18, 19, 21, 22].includes(id) ?
  794. [13, 14].includes(myItems) ? 6 :
  795. 5 :
  796. id == 20 ?
  797. [13, 14].includes(myItems) ? 7 :
  798. 6 :
  799. undefined;
  800. }
  801. }
  802. no se tampoco que es, pero tiene id de items
  803. algo mas:
  804. // STORE HATS:
  805. this.hats = [{
  806. id: 45,
  807. name: "Shame!",
  808. dontSell: true,
  809. price: 0,
  810. scale: 120,
  811. desc: "hacks are for winners"
  812. }, {
  813. id: 51,
  814. name: "Moo Cap",
  815. price: 0,
  816. scale: 120,
  817. desc: "coolest mooer around"
  818. }, {
  819. id: 50,
  820. name: "Apple Cap",
  821. price: 0,
  822. scale: 120,
  823. desc: "apple farms remembers"
  824. }, {
  825. id: 28,
  826. name: "Moo Head",
  827. price: 0,
  828. scale: 120,
  829. desc: "no effect"
  830. }, {
  831. id: 29,
  832. name: "Pig Head",
  833. price: 0,
  834. scale: 120,
  835. desc: "no effect"
  836. }, {
  837. id: 30,
  838. name: "Fluff Head",
  839. price: 0,
  840. scale: 120,
  841. desc: "no effect"
  842. }, {
  843. id: 36,
  844. name: "Pandou Head",
  845. price: 0,
  846. scale: 120,
  847. desc: "no effect"
  848. }, {
  849. id: 37,
  850. name: "Bear Head",
  851. price: 0,
  852. scale: 120,
  853. desc: "no effect"
  854. }, {
  855. id: 38,
  856. name: "Monkey Head",
  857. price: 0,
  858. scale: 120,
  859. desc: "no effect"
  860. }, {
  861. id: 44,
  862. name: "Polar Head",
  863. price: 0,
  864. scale: 120,
  865. desc: "no effect"
  866. }, {
  867. id: 35,
  868. name: "Fez Hat",
  869. price: 0,
  870. scale: 120,
  871. desc: "no effect"
  872. }, {
  873. id: 42,
  874. name: "Enigma Hat",
  875. price: 0,
  876. scale: 120,
  877. desc: "join the enigma army"
  878. }, {
  879. id: 43,
  880. name: "Blitz Hat",
  881. price: 0,
  882. scale: 120,
  883. desc: "hey everybody i'm blitz"
  884. }, {
  885. id: 49,
  886. name: "Bob XIII Hat",
  887. price: 0,
  888. scale: 120,
  889. desc: "like and subscribe"
  890. }, {
  891. id: 57,
  892. name: "Pumpkin",
  893. price: 50,
  894. scale: 120,
  895. desc: "Spooooky"
  896. }, {
  897. id: 8,
  898. name: "Bummle Hat",
  899. price: 100,
  900. scale: 120,
  901. desc: "no effect"
  902. }, {
  903. id: 2,
  904. name: "Straw Hat",
  905. price: 500,
  906. scale: 120,
  907. desc: "no effect"
  908. }, {
  909. id: 15,
  910. name: "Winter Cap",
  911. price: 600,
  912. scale: 120,
  913. desc: "allows you to move at normal speed in snow",
  914. coldM: 1
  915. }, {
  916. id: 5,
  917. name: "Cowboy Hat",
  918. price: 1000,
  919. scale: 120,
  920. desc: "no effect"
  921. }, {
  922. id: 4,
  923. name: "Ranger Hat",
  924. price: 2000,
  925. scale: 120,
  926. desc: "no effect"
  927. }, {
  928. id: 18,
  929. name: "Explorer Hat",
  930. price: 2000,
  931. scale: 120,
  932. desc: "no effect"
  933. }, {
  934. id: 31,
  935. name: "Flipper Hat",
  936. price: 2500,
  937. scale: 120,
  938. desc: "have more control while in water",
  939. watrImm: true
  940. }, {
  941. id: 1,
  942. name: "Marksman Cap",
  943. price: 3000,
  944. scale: 120,
  945. desc: "increases arrow speed and range",
  946. aMlt: 1.3
  947. }, {
  948. id: 10,
  949. name: "Bush Gear",
  950. price: 3000,
  951. scale: 160,
  952. desc: "allows you to disguise yourself as a bush"
  953. }, {
  954. id: 48,
  955. name: "Halo",
  956. price: 3000,
  957. scale: 120,
  958. desc: "no effect"
  959. }, {
  960. id: 6,
  961. name: "Soldier Helmet",
  962. price: 4000,
  963. scale: 120,
  964. desc: "reduces damage taken but slows movement",
  965. spdMult: 0.94,
  966. dmgMult: 0.75
  967. }, {
  968. id: 23,
  969. name: "Anti Venom Gear",
  970. price: 4000,
  971. scale: 120,
  972. desc: "makes you immune to poison",
  973. poisonRes: 1
  974. }, {
  975. id: 13,
  976. name: "Medic Gear",
  977. price: 5000,
  978. scale: 110,
  979. desc: "slowly regenerates health over time",
  980. healthRegen: 3
  981. }, {
  982. id: 9,
  983. name: "Miners Helmet",
  984. price: 5000,
  985. scale: 120,
  986. desc: "earn 1 extra gold per resource",
  987. extraGold: 1
  988. }, {
  989. id: 32,
  990. name: "Musketeer Hat",
  991. price: 5000,
  992. scale: 120,
  993. desc: "reduces cost of projectiles",
  994. projCost: 0.5
  995. }, {
  996. id: 7,
  997. name: "Bull Helmet",
  998. price: 6000,
  999. scale: 120,
  1000. desc: "increases damage done but drains health",
  1001. healthRegen: -5,
  1002. dmgMultO: 1.5,
  1003. spdMult: 0.96
  1004. }, {
  1005. id: 22,
  1006. name: "Emp Helmet",
  1007. price: 6000,
  1008. scale: 120,
  1009. desc: "turrets won't attack but you move slower",
  1010. antiTurret: 1,
  1011. spdMult: 0.7
  1012. }, {
  1013. id: 12,
  1014. name: "Booster Hat",
  1015. price: 6000,
  1016. scale: 120,
  1017. desc: "increases your movement speed",
  1018. spdMult: 1.16
  1019. }, {
  1020. id: 26,
  1021. name: "Barbarian Armor",
  1022. price: 8000,
  1023. scale: 120,
  1024. desc: "knocks back enemies that attack you",
  1025. dmgK: 0.6
  1026. }, {
  1027. id: 21,
  1028. name: "Plague Mask",
  1029. price: 10000,
  1030. scale: 120,
  1031. desc: "melee attacks deal poison damage",
  1032. poisonDmg: 5,
  1033. poisonTime: 6
  1034. }, {
  1035. id: 46,
  1036. name: "Bull Mask",
  1037. price: 10000,
  1038. scale: 120,
  1039. desc: "bulls won't target you unless you attack them",
  1040. bullRepel: 1
  1041. }, {
  1042. id: 14,
  1043. name: "Windmill Hat",
  1044. topSprite: true,
  1045. price: 10000,
  1046. scale: 120,
  1047. desc: "generates points while worn",
  1048. pps: 1.5
  1049. }, {
  1050. id: 11,
  1051. name: "Spike Gear",
  1052. topSprite: true,
  1053. price: 10000,
  1054. scale: 120,
  1055. desc: "deal damage to players that damage you",
  1056. dmg: 0.45
  1057. }, {
  1058. id: 53,
  1059. name: "Turret Gear",
  1060. topSprite: true,
  1061. price: 10000,
  1062. scale: 120,
  1063. desc: "you become a walking turret",
  1064. turret: {
  1065. proj: 1,
  1066. range: 700,
  1067. rate: 2500
  1068. },
  1069. spdMult: 0.7
  1070. }, {
  1071. id: 20,
  1072. name: "Samurai Armor",
  1073. price: 12000,
  1074. scale: 120,
  1075. desc: "increased attack speed and fire rate",
  1076. atkSpd: 0.78
  1077. }, {
  1078. id: 58,
  1079. name: "Dark Knight",
  1080. price: 12000,
  1081. scale: 120,
  1082. desc: "restores health when you deal damage",
  1083. healD: 0.4
  1084. }, {
  1085. id: 27,
  1086. name: "Scavenger Gear",
  1087. price: 15000,
  1088. scale: 120,
  1089. desc: "earn double points for each kill",
  1090. kScrM: 2
  1091. }, {
  1092. id: 40,
  1093. name: "Tank Gear",
  1094. price: 15000,
  1095. scale: 120,
  1096. desc: "increased damage to buildings but slower movement",
  1097. spdMult: 0.3,
  1098. bDmg: 3.3
  1099. }, {
  1100. id: 52,
  1101. name: "Thief Gear",
  1102. price: 15000,
  1103. scale: 120,
  1104. desc: "steal half of a players gold when you kill them",
  1105. goldSteal: 0.5
  1106. }, {
  1107. id: 55,
  1108. name: "Bloodthirster",
  1109. price: 20000,
  1110. scale: 120,
  1111. desc: "Restore Health when dealing damage. And increased damage",
  1112. healD: 0.25,
  1113. dmgMultO: 1.2,
  1114. }, {
  1115. id: 56,
  1116. name: "Assassin Gear",
  1117. price: 20000,
  1118. scale: 120,
  1119. desc: "Go invisible when not moving. Can't eat. Increased speed",
  1120. noEat: true,
  1121. spdMult: 1.1,
  1122. invisTimer: 1000
  1123. }];
  1124. // STORE ACCESSORIES:
  1125. this.accessories = [{
  1126. id: 12,
  1127. name: "Snowball",
  1128. price: 1000,
  1129. scale: 105,
  1130. xOff: 18,
  1131. desc: "no effect"
  1132. }, {
  1133. id: 9,
  1134. name: "Tree Cape",
  1135. price: 1000,
  1136. scale: 90,
  1137. desc: "no effect"
  1138. }, {
  1139. id: 10,
  1140. name: "Stone Cape",
  1141. price: 1000,
  1142. scale: 90,
  1143. desc: "no effect"
  1144. }, {
  1145. id: 3,
  1146. name: "Cookie Cape",
  1147. price: 1500,
  1148. scale: 90,
  1149. desc: "no effect"
  1150. }, {
  1151. id: 8,
  1152. name: "Cow Cape",
  1153. price: 2000,
  1154. scale: 90,
  1155. desc: "no effect"
  1156. }, {
  1157. id: 11,
  1158. name: "Monkey Tail",
  1159. price: 2000,
  1160. scale: 97,
  1161. xOff: 25,
  1162. desc: "Super speed but reduced damage",
  1163. spdMult: 1.35,
  1164. dmgMultO: 0.2
  1165. }, {
  1166. id: 17,
  1167. name: "Apple Basket",
  1168. price: 3000,
  1169. scale: 80,
  1170. xOff: 12,
  1171. desc: "slowly regenerates health over time",
  1172. healthRegen: 1
  1173. }, {
  1174. id: 6,
  1175. name: "Winter Cape",
  1176. price: 3000,
  1177. scale: 90,
  1178. desc: "no effect"
  1179. }, {
  1180. id: 4,
  1181. name: "Skull Cape",
  1182. price: 4000,
  1183. scale: 90,
  1184. desc: "no effect"
  1185. }, {
  1186. id: 5,
  1187. name: "Dash Cape",
  1188. price: 5000,
  1189. scale: 90,
  1190. desc: "no effect"
  1191. }, {
  1192. id: 2,
  1193. name: "Dragon Cape",
  1194. price: 6000,
  1195. scale: 90,
  1196. desc: "no effect"
  1197. }, {
  1198. id: 1,
  1199. name: "Super Cape",
  1200. price: 8000,
  1201. scale: 90,
  1202. desc: "no effect"
  1203. }, {
  1204. id: 7,
  1205. name: "Troll Cape",
  1206. price: 8000,
  1207. scale: 90,
  1208. desc: "no effect"
  1209. }, {
  1210. id: 14,
  1211. name: "Thorns",
  1212. price: 10000,
  1213. scale: 115,
  1214. xOff: 20,
  1215. desc: "no effect"
  1216. }, {
  1217. id: 15,
  1218. name: "Blockades",
  1219. price: 10000,
  1220. scale: 95,
  1221. xOff: 15,
  1222. desc: "no effect"
  1223. }, {
  1224. id: 20,
  1225. name: "Devils Tail",
  1226. price: 10000,
  1227. scale: 95,
  1228. xOff: 20,
  1229. desc: "no effect"
  1230. }, {
  1231. id: 16,
  1232. name: "Sawblade",
  1233. price: 12000,
  1234. scale: 90,
  1235. spin: true,
  1236. xOff: 0,
  1237. desc: "deal damage to players that damage you",
  1238. dmg: 0.15
  1239. }, {
  1240. id: 13,
  1241. name: "Angel Wings",
  1242. price: 15000,
  1243. scale: 138,
  1244. xOff: 22,
  1245. desc: "slowly regenerates health over time",
  1246. healthRegen: 3
  1247. }, {
  1248. id: 19,
  1249. name: "Shadow Wings",
  1250. price: 15000,
  1251. scale: 138,
  1252. xOff: 22,
  1253. desc: "increased movement speed",
  1254. spdMult: 1.1
  1255. }, {
  1256. id: 18,
  1257. name: "Blood Wings",
  1258. price: 20000,
  1259. scale: 178,
  1260. xOff: 26,
  1261. desc: "restores health when you deal damage",
  1262. healD: 0.2
  1263. }, {
  1264. id: 21,
  1265. name: "Corrupt X Wings",
  1266. price: 20000,
  1267. scale: 178,
  1268. xOff: 26,
  1269. desc: "deal damage to players that damage you",
  1270. dmg: 0.25
  1271. }];
  1272. }
  1273. };
  1274. class ProjectileManager {
  1275. constructor(Projectile, projectiles, players, ais, objectManager, items, config, UTILS, server) {
  1276. this.addProjectile = function(x, y, dir, range, speed, indx, owner, ignoreObj, layer, inWindow) {
  1277. let tmpData = items.projectiles[indx];
  1278. let tmpProj;
  1279. for (let i = 0; i < projectiles.length; ++i) {
  1280. if (!projectiles[i].active) {
  1281. tmpProj = projectiles[i];
  1282. break;
  1283. }
  1284. }
  1285. if (!tmpProj) {
  1286. tmpProj = new Projectile(players, ais, objectManager, items, config, UTILS, server);
  1287. tmpProj.sid = projectiles.length;
  1288. projectiles.push(tmpProj);
  1289. }
  1290. tmpProj.init(indx, x, y, dir, speed, tmpData.dmg, range, tmpData.scale, owner);
  1291. tmpProj.ignoreObj = ignoreObj;
  1292. tmpProj.layer = layer || tmpData.layer;
  1293. tmpProj.inWindow = inWindow;
  1294. tmpProj.src = tmpData.src;
  1295. return tmpProj;
  1296. };
  1297. }
  1298. };
  1299. class AiManager {
  1300. // AI MANAGER:
  1301. constructor(ais, AI, players, items, objectManager, config, UTILS, scoreCallback, server) {
  1302. // AI TYPES:
  1303. this.aiTypes = [{
  1304. id: 0,
  1305. src: "cow_1",
  1306. killScore: 150,
  1307. health: 500,
  1308. weightM: 0.8,
  1309. speed: 0.00095,
  1310. turnSpeed: 0.001,
  1311. scale: 72,
  1312. drop: ["food", 50]
  1313. }, {
  1314. id: 1,
  1315. src: "pig_1",
  1316. killScore: 200,
  1317. health: 800,
  1318. weightM: 0.6,
  1319. speed: 0.00085,
  1320. turnSpeed: 0.001,
  1321. scale: 72,
  1322. drop: ["food", 80]
  1323. }, {
  1324. id: 2,
  1325. name: "Bull",
  1326. src: "bull_2",
  1327. hostile: true,
  1328. dmg: 20,
  1329. killScore: 1000,
  1330. health: 1800,
  1331. weightM: 0.5,
  1332. speed: 0.00094,
  1333. turnSpeed: 0.00074,
  1334. scale: 78,
  1335. viewRange: 800,
  1336. chargePlayer: true,
  1337. drop: ["food", 100]
  1338. }, {
  1339. id: 3,
  1340. name: "Bully",
  1341. src: "bull_1",
  1342. hostile: true,
  1343. dmg: 20,
  1344. killScore: 2000,
  1345. health: 2800,
  1346. weightM: 0.45,
  1347. speed: 0.001,
  1348. turnSpeed: 0.0008,
  1349. scale: 90,
  1350. viewRange: 900,
  1351. chargePlayer: true,
  1352. drop: ["food", 400]
  1353. }, {
  1354. id: 4,
  1355. name: "Wolf",
  1356. src: "wolf_1",
  1357. hostile: true,
  1358. dmg: 8,
  1359. killScore: 500,
  1360. health: 300,
  1361. weightM: 0.45,
  1362. speed: 0.001,
  1363. turnSpeed: 0.002,
  1364. scale: 84,
  1365. viewRange: 800,
  1366. chargePlayer: true,
  1367. drop: ["food", 200]
  1368. }, {
  1369. id: 5,
  1370. name: "Quack",
  1371. src: "chicken_1",
  1372. dmg: 8,
  1373. killScore: 2000,
  1374. noTrap: true,
  1375. health: 300,
  1376. weightM: 0.2,
  1377. speed: 0.0018,
  1378. turnSpeed: 0.006,
  1379. scale: 70,
  1380. drop: ["food", 100]
  1381. }, {
  1382. id: 6,
  1383. name: "MOOSTAFA",
  1384. nameScale: 50,
  1385. src: "enemy",
  1386. hostile: true,
  1387. dontRun: true,
  1388. fixedSpawn: true,
  1389. spawnDelay: 60000,
  1390. noTrap: true,
  1391. colDmg: 100,
  1392. dmg: 40,
  1393. killScore: 8000,
  1394. health: 18000,
  1395. weightM: 0.4,
  1396. speed: 0.0007,
  1397. turnSpeed: 0.01,
  1398. scale: 80,
  1399. spriteMlt: 1.8,
  1400. leapForce: 0.9,
  1401. viewRange: 1000,
  1402. hitRange: 210,
  1403. hitDelay: 1000,
  1404. chargePlayer: true,
  1405. drop: ["food", 100]
  1406. }, {
  1407. id: 7,
  1408. name: "Treasure",
  1409. hostile: true,
  1410. nameScale: 35,
  1411. src: "crate_1",
  1412. fixedSpawn: true,
  1413. spawnDelay: 120000,
  1414. colDmg: 200,
  1415. killScore: 5000,
  1416. health: 20000,
  1417. weightM: 0.1,
  1418. speed: 0.0,
  1419. turnSpeed: 0.0,
  1420. scale: 70,
  1421. spriteMlt: 1.0
  1422. }, {
  1423. id: 8,
  1424. name: "MOOFIE",
  1425. src: "wolf_2",
  1426. hostile: true,
  1427. fixedSpawn: true,
  1428. dontRun: true,
  1429. hitScare: 4,
  1430. spawnDelay: 30000,
  1431. noTrap: true,
  1432. nameScale: 35,
  1433. dmg: 10,
  1434. colDmg: 100,
  1435. killScore: 3000,
  1436. health: 7000,
  1437. weightM: 0.45,
  1438. speed: 0.0015,
  1439. turnSpeed: 0.002,
  1440. scale: 90,
  1441. viewRange: 800,
  1442. chargePlayer: true,
  1443. drop: ["food", 1000]
  1444. }, {
  1445. id: 9,
  1446. name: "💀MOOFIE",
  1447. src: "wolf_2",
  1448. hostile: !0,
  1449. fixedSpawn: !0,
  1450. dontRun: !0,
  1451. hitScare: 50,
  1452. spawnDelay: 6e4,
  1453. noTrap: !0,
  1454. nameScale: 35,
  1455. dmg: 12,
  1456. colDmg: 100,
  1457. killScore: 3e3,
  1458. health: 9e3,
  1459. weightM: .45,
  1460. speed: .0015,
  1461. turnSpeed: .0025,
  1462. scale: 94,
  1463. viewRange: 1440,
  1464. chargePlayer: !0,
  1465. drop: ["food", 3e3],
  1466. minSpawnRange: .85,
  1467. maxSpawnRange: .9
  1468. }, {
  1469. id: 10,
  1470. name: "💀Wolf",
  1471. src: "wolf_1",
  1472. hostile: !0,
  1473. fixedSpawn: !0,
  1474. dontRun: !0,
  1475. hitScare: 50,
  1476. spawnDelay: 3e4,
  1477. dmg: 10,
  1478. killScore: 700,
  1479. health: 500,
  1480. weightM: .45,
  1481. speed: .00115,
  1482. turnSpeed: .0025,
  1483. scale: 88,
  1484. viewRange: 1440,
  1485. chargePlayer: !0,
  1486. drop: ["food", 400],
  1487. minSpawnRange: .85,
  1488. maxSpawnRange: .9
  1489. }, {
  1490. id: 11,
  1491. name: "💀Bully",
  1492. src: "bull_1",
  1493. hostile: !0,
  1494. fixedSpawn: !0,
  1495. dontRun: !0,
  1496. hitScare: 50,
  1497. dmg: 20,
  1498. killScore: 5e3,
  1499. health: 5e3,
  1500. spawnDelay: 1e5,
  1501. weightM: .45,
  1502. speed: .00115,
  1503. turnSpeed: .0025,
  1504. scale: 94,
  1505. viewRange: 1440,
  1506. chargePlayer: !0,
  1507. drop: ["food", 800],
  1508. minSpawnRange: .85,
  1509. maxSpawnRange: .9
  1510. }];
  1511. tiene los mounstros y accesorios, y sombreros
  1512. y esto ultimo
  1513. // WEAPONS:
  1514. this.weapons = [{
  1515. id: 0,
  1516. type: 0,
  1517. name: "tool hammer",
  1518. desc: "tool for gathering all resources",
  1519. src: "hammer_1",
  1520. length: 140,
  1521. width: 140,
  1522. xOff: -3,
  1523. yOff: 18,
  1524. dmg: 25,
  1525. range: 65,
  1526. gather: 1,
  1527. speed: 300
  1528. }, {
  1529. id: 1,
  1530. type: 0,
  1531. age: 2,
  1532. name: "hand axe",
  1533. desc: "gathers resources at a higher rate",
  1534. src: "axe_1",
  1535. length: 140,
  1536. width: 140,
  1537. xOff: 3,
  1538. yOff: 24,
  1539. dmg: 30,
  1540. spdMult: 1,
  1541. range: 70,
  1542. gather: 2,
  1543. speed: 400
  1544. }, {
  1545. id: 2,
  1546. type: 0,
  1547. age: 8,
  1548. pre: 1,
  1549. name: "great axe",
  1550. desc: "deal more damage and gather more resources",
  1551. src: "great_axe_1",
  1552. length: 140,
  1553. width: 140,
  1554. xOff: -8,
  1555. yOff: 25,
  1556. dmg: 35,
  1557. spdMult: 1,
  1558. range: 75,
  1559. gather: 4,
  1560. speed: 400
  1561. }, {
  1562. id: 3,
  1563. type: 0,
  1564. age: 2,
  1565. name: "short sword",
  1566. desc: "increased attack power but slower move speed",
  1567. src: "sword_1",
  1568. iPad: 1.3,
  1569. length: 130,
  1570. width: 210,
  1571. xOff: -8,
  1572. yOff: 46,
  1573. dmg: 35,
  1574. spdMult: 0.85,
  1575. range: 110,
  1576. gather: 1,
  1577. speed: 300
  1578. }, {
  1579. id: 4,
  1580. type: 0,
  1581. age: 8,
  1582. pre: 3,
  1583. name: "katana",
  1584. desc: "greater range and damage",
  1585. src: "samurai_1",
  1586. iPad: 1.3,
  1587. length: 130,
  1588. width: 210,
  1589. xOff: -8,
  1590. yOff: 59,
  1591. dmg: 40,
  1592. spdMult: 0.8,
  1593. range: 118,
  1594. gather: 1,
  1595. speed: 300
  1596. }, {
  1597. id: 5,
  1598. type: 0,
  1599. age: 2,
  1600. name: "polearm",
  1601. desc: "long range melee weapon",
  1602. src: "spear_1",
  1603. iPad: 1.3,
  1604. length: 130,
  1605. width: 210,
  1606. xOff: -8,
  1607. yOff: 53,
  1608. dmg: 45,
  1609. knock: 0.2,
  1610. spdMult: 0.82,
  1611. range: 142,
  1612. gather: 1,
  1613. speed: 700
  1614. }, {
  1615. id: 6,
  1616. type: 0,
  1617. age: 2,
  1618. name: "bat",
  1619. desc: "fast long range melee weapon",
  1620. src: "bat_1",
  1621. iPad: 1.3,
  1622. length: 110,
  1623. width: 180,
  1624. xOff: -8,
  1625. yOff: 53,
  1626. dmg: 20,
  1627. knock: 0.7,
  1628. range: 110,
  1629. gather: 1,
  1630. speed: 300
  1631. }, {
  1632. id: 7,
  1633. type: 0,
  1634. age: 2,
  1635. name: "daggers",
  1636. desc: "really fast short range weapon",
  1637. src: "dagger_1",
  1638. iPad: 0.8,
  1639. length: 110,
  1640. width: 110,
  1641. xOff: 18,
  1642. yOff: 0,
  1643. dmg: 20,
  1644. knock: 0.1,
  1645. range: 65,
  1646. gather: 1,
  1647. hitSlow: 0.1,
  1648. spdMult: 1.13,
  1649. speed: 100
  1650. }, {
  1651. id: 8,
  1652. type: 0,
  1653. age: 2,
  1654. name: "stick",
  1655. desc: "great for gathering but very weak",
  1656. src: "stick_1",
  1657. length: 140,
  1658. width: 140,
  1659. xOff: 3,
  1660. yOff: 24,
  1661. dmg: 1,
  1662. spdMult: 1,
  1663. range: 70,
  1664. gather: 7,
  1665. speed: 400
  1666. }, {
  1667. id: 9,
  1668. type: 1,
  1669. age: 6,
  1670. name: "hunting bow",
  1671. desc: "bow used for ranged combat and hunting",
  1672. src: "bow_1",
  1673. req: ["wood", 4],
  1674. length: 120,
  1675. width: 120,
  1676. xOff: -6,
  1677. yOff: 0,
  1678. Pdmg: 25,
  1679. projectile: 0,
  1680. spdMult: 0.75,
  1681. speed: 600
  1682. }, {
  1683. id: 10,
  1684. type: 1,
  1685. age: 6,
  1686. name: "great hammer",
  1687. desc: "hammer used for destroying structures",
  1688. src: "great_hammer_1",
  1689. length: 140,
  1690. width: 140,
  1691. xOff: -9,
  1692. yOff: 25,
  1693. dmg: 10,
  1694. Pdmg: 10,
  1695. spdMult: 0.88,
  1696. range: 75,
  1697. sDmg: 7.5,
  1698. gather: 1,
  1699. speed: 400
  1700. }, {
  1701. id: 11,
  1702. type: 1,
  1703. age: 6,
  1704. name: "wooden shield",
  1705. desc: "blocks projectiles and reduces melee damage",
  1706. src: "shield_1",
  1707. length: 120,
  1708. width: 120,
  1709. shield: 0.2,
  1710. xOff: 6,
  1711. yOff: 0,
  1712. Pdmg: 0,
  1713. spdMult: 0.7
  1714. }, {
  1715. id: 12,
  1716. type: 1,
  1717. age: 8,
  1718. pre: 9,
  1719. name: "crossbow",
  1720. desc: "deals more damage and has greater range",
  1721. src: "crossbow_1",
  1722. req: ["wood", 5],
  1723. aboveHand: true,
  1724. armS: 0.75,
  1725. length: 120,
  1726. width: 120,
  1727. xOff: -4,
  1728. yOff: 0,
  1729. Pdmg: 35,
  1730. projectile: 2,
  1731. spdMult: 0.7,
  1732. speed: 700
  1733. }, {
  1734. id: 13,
  1735. type: 1,
  1736. age: 9,
  1737. pre: 12,
  1738. name: "repeater crossbow",
  1739. desc: "high firerate crossbow with reduced damage",
  1740. src: "crossbow_2",
  1741. req: ["wood", 10],
  1742. aboveHand: true,
  1743. armS: 0.75,
  1744. length: 120,
  1745. width: 120,
  1746. xOff: -4,
  1747. yOff: 0,
  1748. Pdmg: 30,
  1749. projectile: 3,
  1750. spdMult: 0.7,
  1751. speed: 230
  1752. }, {
  1753. id: 14,
  1754. type: 1,
  1755. age: 6,
  1756. name: "mc grabby",
  1757. desc: "steals resources from enemies",
  1758. src: "grab_1",
  1759. length: 130,
  1760. width: 210,
  1761. xOff: -8,
  1762. yOff: 53,
  1763. dmg: 0,
  1764. Pdmg: 0,
  1765. steal: 250,
  1766. knock: 0.2,
  1767. spdMult: 1.05,
  1768. range: 125,
  1769. gather: 0,
  1770. speed: 700
  1771. }, {
  1772. id: 15,
  1773. type: 1,
  1774. age: 9,
  1775. pre: 12,
  1776. name: "musket",
  1777. desc: "slow firerate but high damage and range",
  1778. src: "musket_1",
  1779. req: ["stone", 10],
  1780. aboveHand: true,
  1781. rec: 0.35,
  1782. armS: 0.6,
  1783. hndS: 0.3,
  1784. hndD: 1.6,
  1785. length: 205,
  1786. width: 205,
  1787. xOff: 25,
  1788. yOff: 0,
  1789. Pdmg: 50,
  1790. projectile: 5,
  1791. hideProjectile: true,
  1792. spdMult: 0.6,
  1793. speed: 1500
  1794. }];
Advertisement
Add Comment
Please, Sign In to add comment