No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 

488 líneas
8.2 KiB

  1. let events = require('../../misc/events');
  2. const slotArmorMult = require('./slots').armorMult;
  3. const configMaterials = require('./armorMaterials');
  4. const plateArmorMult = configMaterials.plate.armorMult;
  5. const leatherArmorMult = configMaterials.leather.armorMult;
  6. const clothArmorMult = configMaterials.cloth.armorMult;
  7. let types = {
  8. head: {
  9. Helmet: {
  10. sprite: [0, 0],
  11. material: 'plate',
  12. implicitStat: {
  13. stat: 'armor',
  14. valueMult: slotArmorMult.head * plateArmorMult
  15. }
  16. },
  17. Cowl: {
  18. sprite: [0, 1],
  19. material: 'cloth',
  20. implicitStat: {
  21. stat: 'armor',
  22. valueMult: slotArmorMult.head * clothArmorMult
  23. }
  24. },
  25. 'Leather Cap': {
  26. sprite: [0, 2],
  27. material: 'leather',
  28. implicitStat: {
  29. stat: 'armor',
  30. valueMult: slotArmorMult.head * leatherArmorMult
  31. }
  32. },
  33. Facemask: {
  34. sprite: [0, 3],
  35. material: 'leather',
  36. implicitStat: {
  37. stat: 'armor',
  38. valueMult: slotArmorMult.head * leatherArmorMult
  39. }
  40. }
  41. },
  42. neck: {
  43. Pendant: {
  44. sprite: [1, 0],
  45. implicitStat: {
  46. stat: 'str',
  47. value: [1, 4]
  48. }
  49. },
  50. Amulet: {
  51. sprite: [1, 1],
  52. implicitStat: {
  53. stat: 'int',
  54. value: [1, 4]
  55. }
  56. },
  57. Locket: {
  58. sprite: [1, 2],
  59. implicitStat: {
  60. stat: 'dex',
  61. value: [1, 4]
  62. }
  63. },
  64. Choker: {
  65. sprite: [1, 3],
  66. implicitStat: {
  67. stat: 'regenHp',
  68. value: [2, 5]
  69. }
  70. }
  71. },
  72. chest: {
  73. Breastplate: {
  74. sprite: [2, 0],
  75. material: 'plate',
  76. implicitStat: {
  77. stat: 'armor',
  78. valueMult: slotArmorMult.chest * plateArmorMult
  79. }
  80. },
  81. Robe: {
  82. material: 'cloth',
  83. sprite: [2, 1],
  84. implicitStat: {
  85. stat: 'armor',
  86. valueMult: slotArmorMult.chest * clothArmorMult
  87. }
  88. },
  89. 'Leather Armor': {
  90. sprite: [2, 2],
  91. material: 'leather',
  92. implicitStat: {
  93. stat: 'armor',
  94. valueMult: slotArmorMult.chest * leatherArmorMult
  95. }
  96. },
  97. Scalemail: {
  98. sprite: [2, 3],
  99. material: 'leather',
  100. implicitStat: {
  101. stat: 'armor',
  102. valueMult: slotArmorMult.chest * leatherArmorMult
  103. }
  104. }
  105. },
  106. hands: {
  107. Gauntlets: {
  108. sprite: [3, 0],
  109. material: 'plate',
  110. implicitStat: {
  111. stat: 'armor',
  112. valueMult: slotArmorMult.hands * plateArmorMult
  113. }
  114. },
  115. Gloves: {
  116. material: 'cloth',
  117. sprite: [3, 1],
  118. implicitStat: {
  119. stat: 'armor',
  120. valueMult: slotArmorMult.hands * clothArmorMult
  121. }
  122. },
  123. 'Leather Gloves': {
  124. sprite: [3, 2],
  125. material: 'leather',
  126. implicitStat: {
  127. stat: 'armor',
  128. valueMult: slotArmorMult.hands * leatherArmorMult
  129. }
  130. },
  131. 'Scale Gloves': {
  132. sprite: [3, 3],
  133. material: 'leather',
  134. implicitStat: {
  135. stat: 'armor',
  136. valueMult: slotArmorMult.hands * leatherArmorMult
  137. }
  138. }
  139. },
  140. finger: {
  141. Signet: {
  142. sprite: [4, 0],
  143. implicitStat: {
  144. stat: 'armor',
  145. value: [5, 15]
  146. }
  147. },
  148. Ring: {
  149. sprite: [4, 1],
  150. implicitStat: {
  151. stat: 'regenMana',
  152. value: [1, 5]
  153. }
  154. },
  155. Loop: {
  156. sprite: [4, 2],
  157. implicitStat: {
  158. stat: 'allAttributes',
  159. value: [1, 7]
  160. }
  161. },
  162. 'Viridian Band': {
  163. sprite: [4, 3],
  164. implicitStat: {
  165. stat: 'physicalPercent',
  166. value: [1, 3]
  167. }
  168. }
  169. },
  170. waist: {
  171. Belt: {
  172. material: 'plate',
  173. sprite: [5, 0],
  174. implicitStat: {
  175. stat: 'armor',
  176. value: [10, 20]
  177. }
  178. },
  179. Sash: {
  180. material: 'cloth',
  181. sprite: [5, 1],
  182. implicitStat: {
  183. stat: 'manaMax',
  184. value: [1, 8]
  185. }
  186. },
  187. 'Leather Belt': {
  188. material: 'leather',
  189. sprite: [5, 2],
  190. implicitStat: {
  191. stat: 'addCritChance',
  192. value: [10, 50]
  193. }
  194. },
  195. 'Scaled Binding': {
  196. material: 'leather',
  197. sprite: [5, 3],
  198. implicitStat: {
  199. stat: 'vit',
  200. value: [2, 6]
  201. }
  202. }
  203. },
  204. legs: {
  205. Legplates: {
  206. material: 'plate',
  207. sprite: [6, 0],
  208. implicitStat: {
  209. stat: 'armor',
  210. valueMult: slotArmorMult.legs * plateArmorMult
  211. }
  212. },
  213. Pants: {
  214. material: 'cloth',
  215. sprite: [6, 1],
  216. implicitStat: {
  217. stat: 'armor',
  218. valueMult: slotArmorMult.legs * clothArmorMult
  219. }
  220. },
  221. 'Leather Pants': {
  222. sprite: [6, 2],
  223. material: 'leather',
  224. implicitStat: {
  225. stat: 'armor',
  226. valueMult: slotArmorMult.legs * leatherArmorMult
  227. }
  228. },
  229. 'Scale Leggings': {
  230. sprite: [6, 3],
  231. material: 'leather',
  232. implicitStat: {
  233. stat: 'armor',
  234. valueMult: slotArmorMult.legs * leatherArmorMult
  235. }
  236. }
  237. },
  238. feet: {
  239. 'Steel Boots': {
  240. material: 'plate',
  241. sprite: [7, 0],
  242. implicitStat: {
  243. stat: 'armor',
  244. valueMult: slotArmorMult.feet * plateArmorMult
  245. }
  246. },
  247. Boots: {
  248. material: 'cloth',
  249. sprite: [7, 1],
  250. implicitStat: {
  251. stat: 'armor',
  252. valueMult: slotArmorMult.feet * clothArmorMult
  253. }
  254. },
  255. 'Leather Boots': {
  256. material: 'leather',
  257. sprite: [7, 2],
  258. implicitStat: {
  259. stat: 'armor',
  260. valueMult: slotArmorMult.feet * leatherArmorMult
  261. }
  262. },
  263. 'Scale Boots': {
  264. material: 'leather',
  265. sprite: [7, 3],
  266. implicitStat: {
  267. stat: 'armor',
  268. valueMult: slotArmorMult.feet * leatherArmorMult
  269. }
  270. }
  271. },
  272. trinket: {
  273. 'Forged Ember': {
  274. sprite: [8, 0],
  275. implicitStat: {
  276. stat: 'armor',
  277. value: [25, 70]
  278. }
  279. },
  280. 'Smokey Orb': {
  281. sprite: [8, 1],
  282. implicitStat: {
  283. stat: 'dodgeAttackChance',
  284. value: [1, 3]
  285. }
  286. },
  287. 'Quartz Fragment': {
  288. sprite: [8, 2],
  289. implicitStat: {
  290. stat: 'elementArcanePercent',
  291. value: [3, 12]
  292. }
  293. },
  294. 'Mystic Card': {
  295. sprite: [8, 3],
  296. implicitStat: {
  297. stat: 'magicFind',
  298. value: [3, 12]
  299. }
  300. },
  301. 'Dragon Fang': {
  302. sprite: [8, 4],
  303. implicitStat: {
  304. stat: 'attackSpeed',
  305. value: [1, 5]
  306. }
  307. }
  308. },
  309. oneHanded: {
  310. Sword: {
  311. attrRequire: 'str',
  312. sprite: [9, 0],
  313. spellName: 'melee',
  314. spellConfig: {
  315. statType: 'str',
  316. statMult: 1,
  317. threatMult: 4,
  318. cdMax: 5,
  319. castTimeMax: 0,
  320. useWeaponRange: true,
  321. random: {
  322. damage: [1.47, 9.65]
  323. }
  324. },
  325. implicitStat: {
  326. stat: 'attackSpeed',
  327. value: [1, 5]
  328. }
  329. },
  330. Dagger: {
  331. attrRequire: 'dex',
  332. sprite: [9, 2],
  333. spellName: 'melee',
  334. spellConfig: {
  335. statType: 'dex',
  336. statMult: 1,
  337. cdMax: 3,
  338. castTimeMax: 0,
  339. useWeaponRange: true,
  340. random: {
  341. damage: [0.88, 5.79]
  342. }
  343. },
  344. implicitStat: {
  345. stat: 'addAttackCritChance',
  346. value: [10, 50]
  347. }
  348. },
  349. Wand: {
  350. attrRequire: 'int',
  351. sprite: [9, 8],
  352. spellName: 'projectile',
  353. spellConfig: {
  354. statType: 'int',
  355. statMult: 1,
  356. element: 'holy',
  357. cdMax: 5,
  358. castTimeMax: 0,
  359. manaCost: 0,
  360. range: 9,
  361. random: {
  362. damage: [1.17, 7.72]
  363. }
  364. },
  365. implicitStat: {
  366. stat: 'castSpeed',
  367. value: [1, 5]
  368. }
  369. }
  370. },
  371. twoHanded: {
  372. Axe: {
  373. attrRequire: 'str',
  374. sprite: [9, 3],
  375. spellName: 'melee',
  376. spellConfig: {
  377. statType: 'str',
  378. statMult: 1,
  379. threatMult: 4,
  380. cdMax: 9,
  381. castTimeMax: 0,
  382. useWeaponRange: true,
  383. random: {
  384. damage: [2.64, 17.37]
  385. }
  386. },
  387. implicitStat: {
  388. stat: 'addAttackCritMultiplier',
  389. value: [10, 30]
  390. }
  391. },
  392. 'Gnarled Staff': {
  393. attrRequire: 'int',
  394. sprite: [9, 1],
  395. spellName: 'projectile',
  396. spellConfig: {
  397. statType: 'int',
  398. statMult: 1,
  399. element: 'arcane',
  400. auto: true,
  401. cdMax: 7,
  402. castTimeMax: 0,
  403. manaCost: 0,
  404. range: 9,
  405. random: {
  406. damage: [1.65, 10.81]
  407. }
  408. },
  409. implicitStat: {
  410. stat: 'regenMana',
  411. value: [3, 9]
  412. }
  413. },
  414. Spear: {
  415. attrRequire: 'dex',
  416. sprite: [9, 6],
  417. spellName: 'melee',
  418. range: 2,
  419. spellConfig: {
  420. statType: 'dex',
  421. statMult: 1,
  422. threatMult: 4,
  423. cdMax: 6,
  424. castTimeMax: 0,
  425. useWeaponRange: true,
  426. random: {
  427. damage: [1.76, 11.58]
  428. }
  429. },
  430. implicitStat: {
  431. stat: 'dodgeAttackChance',
  432. value: [1, 7]
  433. }
  434. }
  435. },
  436. offHand: {
  437. 'Wooden Shield': {
  438. attrRequire: 'str',
  439. sprite: [13, 0],
  440. implicitStat: [{
  441. stat: 'armor',
  442. valueMult: 0.3
  443. }, {
  444. stat: 'blockAttackChance',
  445. valueMult: 1
  446. }]
  447. },
  448. 'Gilded Shield': {
  449. attrRequire: 'str',
  450. sprite: [13, 1],
  451. implicitStat: [{
  452. stat: 'armor',
  453. valueMult: 0.6
  454. }, {
  455. stat: 'blockAttackChance',
  456. valueMult: 0.5
  457. }]
  458. },
  459. 'Brittle Tome': {
  460. attrRequire: 'int',
  461. sprite: [13, 2],
  462. implicitStat: {
  463. stat: 'addSpellCritChance',
  464. value: [10, 50]
  465. }
  466. },
  467. 'Ancient Tome': {
  468. attrRequire: 'int',
  469. sprite: [13, 3],
  470. implicitStat: {
  471. stat: 'addSpellCritMultiplier',
  472. value: [10, 30]
  473. }
  474. }
  475. },
  476. tool: {}
  477. };
  478. module.exports = {
  479. types,
  480. init: function () {
  481. events.emit('onBeforeGetItemTypes', types);
  482. }
  483. };