farming-weight 0.14.2 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/README.md +45 -18
  2. package/dist/constants/attributes.d.ts +12 -7
  3. package/dist/constants/attributes.js +17 -39
  4. package/dist/constants/attributes.js.map +1 -1
  5. package/dist/constants/chips.d.ts +1 -6
  6. package/dist/constants/chips.js +11 -15
  7. package/dist/constants/chips.js.map +1 -1
  8. package/dist/constants/crops.d.ts +28 -4
  9. package/dist/constants/crops.js +65 -2
  10. package/dist/constants/crops.js.map +1 -1
  11. package/dist/constants/enchants.d.ts +1 -1
  12. package/dist/constants/enchants.js +117 -68
  13. package/dist/constants/enchants.js.map +1 -1
  14. package/dist/constants/garden.js +152 -137
  15. package/dist/constants/garden.js.map +1 -1
  16. package/dist/constants/pests.d.ts +3 -2
  17. package/dist/constants/pests.js +5 -0
  18. package/dist/constants/pests.js.map +1 -1
  19. package/dist/constants/reforge-types.d.ts +57 -0
  20. package/dist/constants/reforge-types.js +40 -0
  21. package/dist/constants/reforge-types.js.map +1 -0
  22. package/dist/constants/reforges.d.ts +8 -55
  23. package/dist/constants/reforges.js +10 -635
  24. package/dist/constants/reforges.js.map +1 -1
  25. package/dist/constants/specific.js +11 -11
  26. package/dist/constants/specific.js.map +1 -1
  27. package/dist/constants/stats.d.ts +1 -0
  28. package/dist/constants/stats.js +2 -0
  29. package/dist/constants/stats.js.map +1 -1
  30. package/dist/constants/tempfortune.d.ts +5 -0
  31. package/dist/constants/tempfortune.js +36 -7
  32. package/dist/constants/tempfortune.js.map +1 -1
  33. package/dist/constants/upgrades.d.ts +36 -3
  34. package/dist/constants/upgrades.js +12 -0
  35. package/dist/constants/upgrades.js.map +1 -1
  36. package/dist/crops/special.d.ts +1 -1
  37. package/dist/crops/special.js.map +1 -1
  38. package/dist/effects/environment.d.ts +12 -0
  39. package/dist/effects/environment.js +33 -0
  40. package/dist/effects/environment.js.map +1 -0
  41. package/dist/effects/index.d.ts +4 -0
  42. package/dist/effects/index.js +5 -0
  43. package/dist/effects/index.js.map +1 -0
  44. package/dist/effects/matcher.d.ts +23 -0
  45. package/dist/effects/matcher.js +108 -0
  46. package/dist/effects/matcher.js.map +1 -0
  47. package/dist/effects/resolver.d.ts +63 -0
  48. package/dist/effects/resolver.js +239 -0
  49. package/dist/effects/resolver.js.map +1 -0
  50. package/dist/effects/summary.d.ts +5 -0
  51. package/dist/effects/summary.js +21 -0
  52. package/dist/effects/summary.js.map +1 -0
  53. package/dist/effects/types.d.ts +147 -0
  54. package/dist/effects/types.js +9 -0
  55. package/dist/effects/types.js.map +1 -0
  56. package/dist/features/composter/upgrades.js +5 -5
  57. package/dist/features/composter/upgrades.js.map +1 -1
  58. package/dist/fortune/farmingaccessory.d.ts +9 -1
  59. package/dist/fortune/farmingaccessory.js +24 -13
  60. package/dist/fortune/farmingaccessory.js.map +1 -1
  61. package/dist/fortune/farmingarmor.d.ts +21 -10
  62. package/dist/fortune/farmingarmor.js +89 -29
  63. package/dist/fortune/farmingarmor.js.map +1 -1
  64. package/dist/fortune/farmingequipment.d.ts +10 -1
  65. package/dist/fortune/farmingequipment.js +44 -11
  66. package/dist/fortune/farmingequipment.js.map +1 -1
  67. package/dist/fortune/farmingpet.d.ts +16 -0
  68. package/dist/fortune/farmingpet.js +207 -0
  69. package/dist/fortune/farmingpet.js.map +1 -1
  70. package/dist/fortune/farmingtool.d.ts +13 -6
  71. package/dist/fortune/farmingtool.js +60 -44
  72. package/dist/fortune/farmingtool.js.map +1 -1
  73. package/dist/fortune/lotuspiecebonus.d.ts +6 -0
  74. package/dist/fortune/lotuspiecebonus.js +20 -0
  75. package/dist/fortune/lotuspiecebonus.js.map +1 -0
  76. package/dist/fortune/upgradeable.d.ts +2 -4
  77. package/dist/fortune/upgradeablebase.d.ts +2 -4
  78. package/dist/fortune/upgradeablebase.js +4 -10
  79. package/dist/fortune/upgradeablebase.js.map +1 -1
  80. package/dist/index.d.ts +4 -0
  81. package/dist/index.js +4 -0
  82. package/dist/index.js.map +1 -1
  83. package/dist/items/accessories/base.d.ts +3 -0
  84. package/dist/items/accessories/base.js +4 -0
  85. package/dist/items/accessories/base.js.map +1 -0
  86. package/dist/items/accessories/fermento-family.d.ts +91 -0
  87. package/dist/items/accessories/fermento-family.js +125 -0
  88. package/dist/items/accessories/fermento-family.js.map +1 -0
  89. package/dist/items/accessories/freshly-baked.d.ts +80 -0
  90. package/dist/items/accessories/freshly-baked.js +119 -0
  91. package/dist/items/accessories/freshly-baked.js.map +1 -0
  92. package/dist/items/accessories/index.d.ts +25 -0
  93. package/dist/items/accessories/index.js +25 -0
  94. package/dist/items/accessories/index.js.map +1 -0
  95. package/dist/items/accessories/power-relic.d.ts +18 -0
  96. package/dist/items/accessories/power-relic.js +37 -0
  97. package/dist/items/accessories/power-relic.js.map +1 -0
  98. package/dist/items/accessories/special.d.ts +24 -0
  99. package/dist/items/accessories/special.js +41 -0
  100. package/dist/items/accessories/special.js.map +1 -0
  101. package/dist/items/accessories.d.ts +2 -3
  102. package/dist/items/accessories.js +1 -137
  103. package/dist/items/accessories.js.map +1 -1
  104. package/dist/items/armor/biohazard.js +4 -4
  105. package/dist/items/armor/biohazard.js.map +1 -1
  106. package/dist/items/armor/cropie.d.ts +4 -0
  107. package/dist/items/armor/cropie.js +10 -4
  108. package/dist/items/armor/cropie.js.map +1 -1
  109. package/dist/items/armor/farm.js +4 -4
  110. package/dist/items/armor/farm.js.map +1 -1
  111. package/dist/items/armor/fermento.d.ts +4 -0
  112. package/dist/items/armor/fermento.js +10 -4
  113. package/dist/items/armor/fermento.js.map +1 -1
  114. package/dist/items/armor/groups.d.ts +2 -0
  115. package/dist/items/armor/groups.js +17 -0
  116. package/dist/items/armor/groups.js.map +1 -0
  117. package/dist/items/armor/helianthus.js +4 -4
  118. package/dist/items/armor/helianthus.js.map +1 -1
  119. package/dist/items/armor/melon.d.ts +4 -0
  120. package/dist/items/armor/melon.js +10 -4
  121. package/dist/items/armor/melon.js.map +1 -1
  122. package/dist/items/armor/mushroom.js +4 -4
  123. package/dist/items/armor/mushroom.js.map +1 -1
  124. package/dist/items/armor/rabbit.js +4 -4
  125. package/dist/items/armor/rabbit.js.map +1 -1
  126. package/dist/items/armor/special.js +4 -4
  127. package/dist/items/armor/special.js.map +1 -1
  128. package/dist/items/armor/squash.d.ts +4 -0
  129. package/dist/items/armor/squash.js +10 -4
  130. package/dist/items/armor/squash.js.map +1 -1
  131. package/dist/items/equipment/blossom.js +4 -4
  132. package/dist/items/equipment/blossom.js.map +1 -1
  133. package/dist/items/equipment/lotus.js +4 -4
  134. package/dist/items/equipment/lotus.js.map +1 -1
  135. package/dist/items/equipment/pesthunter.js +4 -4
  136. package/dist/items/equipment/pesthunter.js.map +1 -1
  137. package/dist/items/equipment/special.js +2 -2
  138. package/dist/items/equipment/special.js.map +1 -1
  139. package/dist/items/gems/base.d.ts +19 -0
  140. package/dist/items/gems/base.js +60 -0
  141. package/dist/items/gems/base.js.map +1 -0
  142. package/dist/items/gems/index.d.ts +1 -0
  143. package/dist/items/gems/index.js +2 -0
  144. package/dist/items/gems/index.js.map +1 -0
  145. package/dist/items/pets/bee.d.ts +9 -0
  146. package/dist/items/pets/bee.js +33 -1
  147. package/dist/items/pets/bee.js.map +1 -1
  148. package/dist/items/pets/chicken.js +1 -1
  149. package/dist/items/pets/chicken.js.map +1 -1
  150. package/dist/items/pets/elephant.js +1 -1
  151. package/dist/items/pets/elephant.js.map +1 -1
  152. package/dist/items/pets/hedgehog.d.ts +5 -0
  153. package/dist/items/pets/hedgehog.js +6 -1
  154. package/dist/items/pets/hedgehog.js.map +1 -1
  155. package/dist/items/pets/mooshroom-cow.js +1 -1
  156. package/dist/items/pets/mooshroom-cow.js.map +1 -1
  157. package/dist/items/pets/mosquito.js +1 -1
  158. package/dist/items/pets/mosquito.js.map +1 -1
  159. package/dist/items/pets/pig.d.ts +5 -0
  160. package/dist/items/pets/pig.js +19 -14
  161. package/dist/items/pets/pig.js.map +1 -1
  162. package/dist/items/pets/rabbit.js +1 -1
  163. package/dist/items/pets/rabbit.js.map +1 -1
  164. package/dist/items/pets/rose-dragon.js +12 -14
  165. package/dist/items/pets/rose-dragon.js.map +1 -1
  166. package/dist/items/pets/slug.js +1 -1
  167. package/dist/items/pets/slug.js.map +1 -1
  168. package/dist/items/pets.d.ts +1 -1
  169. package/dist/items/pets.js +18 -4
  170. package/dist/items/pets.js.map +1 -1
  171. package/dist/items/reforges/base.d.ts +18 -0
  172. package/dist/items/reforges/base.js +54 -0
  173. package/dist/items/reforges/base.js.map +1 -0
  174. package/dist/items/reforges/blessed.d.ts +7 -0
  175. package/dist/items/reforges/blessed.js +90 -0
  176. package/dist/items/reforges/blessed.js.map +1 -0
  177. package/dist/items/reforges/blooming.d.ts +4 -0
  178. package/dist/items/reforges/blooming.js +43 -0
  179. package/dist/items/reforges/blooming.js.map +1 -0
  180. package/dist/items/reforges/bountiful.d.ts +4 -0
  181. package/dist/items/reforges/bountiful.js +63 -0
  182. package/dist/items/reforges/bountiful.js.map +1 -0
  183. package/dist/items/reforges/bustling.d.ts +4 -0
  184. package/dist/items/reforges/bustling.js +26 -0
  185. package/dist/items/reforges/bustling.js.map +1 -0
  186. package/dist/items/reforges/deep-fried.d.ts +7 -0
  187. package/dist/items/reforges/deep-fried.js +38 -0
  188. package/dist/items/reforges/deep-fried.js.map +1 -0
  189. package/dist/items/reforges/earthy.d.ts +4 -0
  190. package/dist/items/reforges/earthy.js +26 -0
  191. package/dist/items/reforges/earthy.js.map +1 -0
  192. package/dist/items/reforges/green-thumb.d.ts +4 -0
  193. package/dist/items/reforges/green-thumb.js +43 -0
  194. package/dist/items/reforges/green-thumb.js.map +1 -0
  195. package/dist/items/reforges/index.d.ts +16 -0
  196. package/dist/items/reforges/index.js +43 -0
  197. package/dist/items/reforges/index.js.map +1 -0
  198. package/dist/items/reforges/mantid.d.ts +4 -0
  199. package/dist/items/reforges/mantid.js +43 -0
  200. package/dist/items/reforges/mantid.js.map +1 -0
  201. package/dist/items/reforges/mossy.d.ts +4 -0
  202. package/dist/items/reforges/mossy.js +44 -0
  203. package/dist/items/reforges/mossy.js.map +1 -0
  204. package/dist/items/reforges/overpriced.d.ts +4 -0
  205. package/dist/items/reforges/overpriced.js +43 -0
  206. package/dist/items/reforges/overpriced.js.map +1 -0
  207. package/dist/items/reforges/robust.d.ts +4 -0
  208. package/dist/items/reforges/robust.js +22 -0
  209. package/dist/items/reforges/robust.js.map +1 -0
  210. package/dist/items/reforges/rooted.d.ts +4 -0
  211. package/dist/items/reforges/rooted.js +43 -0
  212. package/dist/items/reforges/rooted.js.map +1 -0
  213. package/dist/items/reforges/squeaky.d.ts +4 -0
  214. package/dist/items/reforges/squeaky.js +47 -0
  215. package/dist/items/reforges/squeaky.js.map +1 -0
  216. package/dist/items/sources/attributes.d.ts +119 -0
  217. package/dist/items/sources/attributes.js +285 -0
  218. package/dist/items/sources/attributes.js.map +1 -0
  219. package/dist/items/sources/base.d.ts +33 -0
  220. package/dist/items/sources/base.js +13 -0
  221. package/dist/items/sources/base.js.map +1 -0
  222. package/dist/items/sources/chips.d.ts +54 -0
  223. package/dist/items/sources/chips.js +100 -0
  224. package/dist/items/sources/chips.js.map +1 -0
  225. package/dist/items/sources/effects-util.d.ts +10 -0
  226. package/dist/items/sources/effects-util.js +35 -0
  227. package/dist/items/sources/effects-util.js.map +1 -0
  228. package/dist/items/sources/enchants.d.ts +28 -0
  229. package/dist/items/sources/enchants.js +87 -0
  230. package/dist/items/sources/enchants.js.map +1 -0
  231. package/dist/items/sources/gems.d.ts +9 -0
  232. package/dist/items/sources/gems.js +35 -0
  233. package/dist/items/sources/gems.js.map +1 -0
  234. package/dist/items/sources/index.d.ts +6 -0
  235. package/dist/items/sources/index.js +7 -0
  236. package/dist/items/sources/index.js.map +1 -0
  237. package/dist/items/sources/reforges.d.ts +8 -0
  238. package/dist/items/sources/reforges.js +10 -0
  239. package/dist/items/sources/reforges.js.map +1 -0
  240. package/dist/items/tools/cactus-knife.js +6 -6
  241. package/dist/items/tools/cactus-knife.js.map +1 -1
  242. package/dist/items/tools/cocoa-chopper.js +6 -6
  243. package/dist/items/tools/cocoa-chopper.js.map +1 -1
  244. package/dist/items/tools/dicers.js +6 -6
  245. package/dist/items/tools/dicers.js.map +1 -1
  246. package/dist/items/tools/fungi-cutter.js +6 -6
  247. package/dist/items/tools/fungi-cutter.js.map +1 -1
  248. package/dist/items/tools/mathematical-hoes.d.ts +5 -5
  249. package/dist/items/tools/mathematical-hoes.js +26 -26
  250. package/dist/items/tools/mathematical-hoes.js.map +1 -1
  251. package/dist/items/tools/special.js +2 -2
  252. package/dist/items/tools/special.js.map +1 -1
  253. package/dist/items/types/pets.d.ts +0 -2
  254. package/dist/player/player.d.ts +60 -7
  255. package/dist/player/player.js +318 -128
  256. package/dist/player/player.js.map +1 -1
  257. package/dist/player/playeroptions.d.ts +25 -1
  258. package/dist/player/playeroptions.js.map +1 -1
  259. package/dist/upgrades/enchantupgrades.js +22 -8
  260. package/dist/upgrades/enchantupgrades.js.map +1 -1
  261. package/dist/upgrades/getsourceprogress.js +7 -0
  262. package/dist/upgrades/getsourceprogress.js.map +1 -1
  263. package/dist/upgrades/groups.d.ts +3 -0
  264. package/dist/upgrades/groups.js +86 -0
  265. package/dist/upgrades/groups.js.map +1 -0
  266. package/dist/upgrades/itemcatalog.d.ts +3 -0
  267. package/dist/upgrades/itemcatalog.js +21 -0
  268. package/dist/upgrades/itemcatalog.js.map +1 -0
  269. package/dist/upgrades/itemregistry.d.ts +1 -2
  270. package/dist/upgrades/itemregistry.js +23 -3
  271. package/dist/upgrades/itemregistry.js.map +1 -1
  272. package/dist/upgrades/sources/accessorysources.js +1 -1
  273. package/dist/upgrades/sources/accessorysources.js.map +1 -1
  274. package/dist/upgrades/sources/armorsetsources.js +16 -16
  275. package/dist/upgrades/sources/armorsetsources.js.map +1 -1
  276. package/dist/upgrades/sources/cropsources.js +10 -5
  277. package/dist/upgrades/sources/cropsources.js.map +1 -1
  278. package/dist/upgrades/sources/dynamicfortunesources.d.ts +5 -2
  279. package/dist/upgrades/sources/effectsources.d.ts +4 -0
  280. package/dist/upgrades/sources/effectsources.js +60 -0
  281. package/dist/upgrades/sources/effectsources.js.map +1 -0
  282. package/dist/upgrades/sources/gearsources.js +33 -8
  283. package/dist/upgrades/sources/gearsources.js.map +1 -1
  284. package/dist/upgrades/sources/generalsources.d.ts +3 -2
  285. package/dist/upgrades/sources/generalsources.js +313 -22
  286. package/dist/upgrades/sources/generalsources.js.map +1 -1
  287. package/dist/upgrades/sources/toolsources.js +64 -84
  288. package/dist/upgrades/sources/toolsources.js.map +1 -1
  289. package/dist/upgrades/upgradekeys.d.ts +2 -0
  290. package/dist/upgrades/upgradekeys.js +5 -0
  291. package/dist/upgrades/upgradekeys.js.map +1 -0
  292. package/dist/upgrades/upgrades.d.ts +5 -7
  293. package/dist/upgrades/upgrades.js +142 -43
  294. package/dist/upgrades/upgrades.js.map +1 -1
  295. package/dist/upgrades/upgradeutils.d.ts +2 -4
  296. package/dist/upgrades/upgradeutils.js +26 -6
  297. package/dist/upgrades/upgradeutils.js.map +1 -1
  298. package/dist/util/bestiary.d.ts +10 -0
  299. package/dist/util/bestiary.js +41 -0
  300. package/dist/util/bestiary.js.map +1 -0
  301. package/dist/util/enchants.d.ts +6 -0
  302. package/dist/util/enchants.js +20 -5
  303. package/dist/util/enchants.js.map +1 -1
  304. package/dist/util/gems.js +4 -30
  305. package/dist/util/gems.js.map +1 -1
  306. package/dist/util/itemstats.d.ts +3 -0
  307. package/dist/util/itemstats.js +20 -2
  308. package/dist/util/itemstats.js.map +1 -1
  309. package/dist/util/ratecalc-effects.d.ts +64 -0
  310. package/dist/util/ratecalc-effects.js +252 -0
  311. package/dist/util/ratecalc-effects.js.map +1 -0
  312. package/dist/util/ratecalc.d.ts +0 -33
  313. package/dist/util/ratecalc.js +0 -187
  314. package/dist/util/ratecalc.js.map +1 -1
  315. package/dist/util/skyblocktime.d.ts +1 -0
  316. package/dist/util/skyblocktime.js +4 -0
  317. package/dist/util/skyblocktime.js.map +1 -1
  318. package/package.json +2 -1
package/README.md CHANGED
@@ -58,20 +58,49 @@ console.log(weight.bonusSources);
58
58
 
59
59
  ### Rates Calculator
60
60
 
61
- This package also contains a rates calculator, which can be used to calculate farming drops and NPC profit for each crop.
61
+ This package also contains an effect-driven rates calculator, which can be used to calculate farming drops and NPC profit for a player's active crop.
62
62
 
63
63
  ```ts
64
- import { calculateDetailedAverageDrops, Crop } from 'farming-weight';
65
-
66
- const drops = calculateDetailedAverageDrops({
67
- farmingFortune: 1500,
68
- bountiful: true,
69
- mooshroom: true,
70
- dicerLevel: 3,
71
- blocksBroken: 24000, // 100% efficiency for 20 minutes
64
+ import { createFarmingPlayer, Crop } from 'farming-weight';
65
+
66
+ const player = createFarmingPlayer({
67
+ tools: farmingTools,
68
+ armor: armorSet,
69
+ equipment,
70
+ accessories,
71
+ pets,
72
+ attributes,
73
+ chips,
74
+ selectedCrop: Crop.Wheat,
72
75
  });
73
76
 
74
- console.log(drops[Crop.Wheat].collection); // 123000 (or whatever the collection is)
77
+ const drops = player.getRates(Crop.Wheat, 24000); // 100% efficiency for 20 minutes
78
+
79
+ console.log(drops.collection); // 123000 (or whatever the collection is)
80
+ console.log(drops.effectsBreakdown); // { "Sunset": 5, ... }
81
+ console.log(drops.appliedEffects.CROPIE); // Per-drop effect details
82
+ ```
83
+
84
+ For lower-level callers that already collect effects, use the effect calculator directly:
85
+
86
+ ```ts
87
+ import { calculateDetailedDropsFromEffects, Crop } from 'farming-weight';
88
+
89
+ const crop = Crop.Wheat;
90
+ const env = player.buildEnvironment(crop);
91
+ const effects = player.collectEffects(env);
92
+
93
+ const drops = calculateDetailedDropsFromEffects({
94
+ crop,
95
+ blocksBroken: 24000,
96
+ farmingFortune: player.getCropFortune(crop).fortune + player.fortune,
97
+ bountiful: player.getBestTool(crop)?.bountiful ?? false,
98
+ effects,
99
+ env,
100
+ });
101
+
102
+ console.log(drops.effectsBreakdown);
103
+ console.log(drops.appliedEffects);
75
104
  ```
76
105
 
77
106
  ### FarmingPlayer Calculator
@@ -93,12 +122,10 @@ const player = createFarmingPlayer(options);
93
122
  // Get a player's Wheat fortune
94
123
  const cropFortune = player.getCropFortune(Crop.Wheat);
95
124
 
96
- // Create a calculator for a player's Wheat fortune
97
- const calculator = calculateDetailedAverageDrops({
98
- farmingFortune: player.fortune + cropFortune.fortune,
99
- bountiful: player.selectedTool?.reforge?.name === 'Bountiful',
100
- mooshroom: player.selectedPet?.type === FarmingPets.MooshroomCow,
101
- dicerLevel: player.selectedTool?.item.skyblockId?.match(/DICER_(\d+)/)?.[1] ?? 3) as 1 | 2 | 3,
102
- blocksBroken: blocksBroken,
103
- });
125
+ // Calculate drops using the player's scalar stats plus scoped effects
126
+ const rates = player.getRates(Crop.Wheat, blocksBroken);
127
+
128
+ console.log(cropFortune.fortune);
129
+ console.log(rates.items);
130
+ console.log(rates.appliedEffects);
104
131
  ```
@@ -1,20 +1,25 @@
1
1
  import type { FarmingPlayer } from '../player/player.js';
2
2
  import type { DynamicFortuneSource } from '../upgrades/sources/dynamicfortunesources.js';
3
- import type { CalculateCropDetailedDropsOptions, DetailedDropsResult } from '../util/ratecalc.js';
3
+ import { Crop } from './crops.js';
4
4
  import { Rarity } from './reforges.js';
5
5
  import { Stat, type StatsRecord } from './stats.js';
6
6
  type ShardId = keyof typeof FARMING_ATTRIBUTE_SHARDS;
7
7
  export type FarmingAttributes = Record<ShardId | string, number>;
8
+ export interface FarmingAttributeShardContext {
9
+ attributes?: FarmingAttributes | Record<string, number>;
10
+ infestedPlotProbability?: number;
11
+ crop?: Crop;
12
+ }
13
+ export type FarmingAttributeShardSourceContext = FarmingPlayer | FarmingAttributeShardContext;
8
14
  export interface FarmingAttributeShard {
9
15
  name: string;
10
16
  skyblockId: string;
11
17
  rarity: Rarity;
12
18
  wiki: string;
13
19
  effect: FarmingAttributeShardEffect;
14
- stats?: StatsRecord<unknown, FarmingPlayer | CalculateCropDetailedDropsOptions>;
15
- perLevelStats?: StatsRecord<unknown, FarmingPlayer | CalculateCropDetailedDropsOptions>;
16
- active?: DynamicFortuneSource<FarmingPlayer | CalculateCropDetailedDropsOptions>['active'];
17
- ratesModifier?: (current: DetailedDropsResult, options: CalculateCropDetailedDropsOptions) => DetailedDropsResult;
20
+ stats?: StatsRecord<unknown, FarmingAttributeShardSourceContext>;
21
+ perLevelStats?: StatsRecord<unknown, FarmingAttributeShardSourceContext>;
22
+ active?: DynamicFortuneSource<FarmingAttributeShardSourceContext>['active'];
18
23
  }
19
24
  export type FarmingAttributeShardEffect = 'none' | 'rates' | 'fortune' | 'wisdom';
20
25
  export declare const FARMING_ATTRIBUTE_SHARDS: Record<string, FarmingAttributeShard>;
@@ -25,6 +30,6 @@ export declare const ATTRIBUTE_SHARD_LEVELING: Partial<Record<Rarity, number[]>>
25
30
  export declare function getShardLevel(rarity: Rarity, amount?: number | null): number;
26
31
  export declare function getShardsForLevel(rarity: Rarity, level: number): number;
27
32
  export declare function getShardsForNextLevel(rarity: Rarity, amount: number): number;
28
- export declare function getShardFortune(shard: FarmingAttributeShard, player: FarmingPlayer | CalculateCropDetailedDropsOptions, level?: number): number;
29
- export declare function getShardStat(shard: FarmingAttributeShard, player: FarmingPlayer | CalculateCropDetailedDropsOptions, stat: Stat, level?: number): number;
33
+ export declare function getShardFortune(shard: FarmingAttributeShard, player: FarmingAttributeShardSourceContext, level?: number): number;
34
+ export declare function getShardStat(shard: FarmingAttributeShard, player: FarmingAttributeShardSourceContext, stat: Stat, level?: number): number;
30
35
  export {};
@@ -1,6 +1,5 @@
1
1
  import { Crop } from './crops.js';
2
2
  import { Rarity } from './reforges.js';
3
- import { MATCHING_SPECIAL_CROP } from './specialcrops.js';
4
3
  import { getStatValue, Stat } from './stats.js';
5
4
  export const FARMING_ATTRIBUTE_SHARDS = {
6
5
  wart_eater: {
@@ -8,27 +7,14 @@ export const FARMING_ATTRIBUTE_SHARDS = {
8
7
  skyblockId: 'SHARD_WARTYBUG',
9
8
  rarity: Rarity.Legendary,
10
9
  effect: 'rates',
11
- wiki: 'https://wiki.hypixel.net/Warty_Bug',
12
- ratesModifier: (current, options) => {
13
- if (options.crop !== Crop.NetherWart)
14
- return current;
15
- const level = getShardLevel(Rarity.Legendary, getAttributeAmount(options.attributes, 'wart_eater'));
16
- if (level <= 0)
17
- return current;
18
- const wartyChance = 0.00005 * level;
19
- const wartyDrops = current.blocksBroken * wartyChance;
20
- current.pendingRngItems ??= {};
21
- current.pendingRngItems['WARTY'] = (current.pendingRngItems['WARTY'] ?? 0) + wartyDrops;
22
- current.rareItemBonusBreakdown['Warty Bug Shard (Base)'] = 0;
23
- return current;
24
- },
10
+ wiki: 'https://w.elitesb.gg/Wartybug_Shard',
25
11
  },
26
12
  garden_wisdom: {
27
13
  name: 'Dragonfly Shard',
28
14
  skyblockId: 'SHARD_DRAGONFLY',
29
15
  rarity: Rarity.Epic,
30
16
  effect: 'wisdom',
31
- wiki: 'https://wiki.hypixel.net/Dragonfly',
17
+ wiki: 'https://w.elitesb.gg/Dragonfly_Shard',
32
18
  perLevelStats: {
33
19
  [Stat.FarmingWisdom]: {
34
20
  value: 0.5,
@@ -40,7 +26,7 @@ export const FARMING_ATTRIBUTE_SHARDS = {
40
26
  skyblockId: 'SHARD_FIREFLY',
41
27
  rarity: Rarity.Epic,
42
28
  effect: 'fortune',
43
- wiki: 'https://wiki.hypixel.net/Firefly',
29
+ wiki: 'https://w.elitesb.gg/Firefly_Shard',
44
30
  active: (options) => {
45
31
  const firefly = getAttributeAmount(options.attributes, 'solar_power');
46
32
  const lunarMoth = getAttributeAmount(options.attributes, 'lunar_power');
@@ -82,7 +68,7 @@ export const FARMING_ATTRIBUTE_SHARDS = {
82
68
  skyblockId: 'SHARD_LUNAR_MOTH',
83
69
  rarity: Rarity.Epic,
84
70
  effect: 'fortune',
85
- wiki: 'https://wiki.hypixel.net/Lunar_Moth',
71
+ wiki: 'https://w.elitesb.gg/Lunar_Moth_Shard',
86
72
  active: (options) => {
87
73
  const firefly = getAttributeAmount(options.attributes, 'solar_power');
88
74
  const lunarMoth = getAttributeAmount(options.attributes, 'lunar_power');
@@ -125,25 +111,18 @@ export const FARMING_ATTRIBUTE_SHARDS = {
125
111
  skyblockId: 'SHARD_LADYBUG',
126
112
  rarity: Rarity.Rare,
127
113
  effect: 'none',
128
- wiki: 'https://wiki.hypixel.net/Ladybug',
114
+ wiki: 'https://w.elitesb.gg/Ladybug_Shard',
129
115
  },
130
116
  crop_bug: {
131
117
  name: 'Cropeetle Shard',
132
118
  skyblockId: 'SHARD_CROPEETLE',
133
119
  rarity: Rarity.Rare,
134
120
  effect: 'rates',
135
- wiki: 'https://wiki.hypixel.net/Cropeetle',
136
- ratesModifier: (current, options) => {
137
- const level = getShardLevel(Rarity.Rare, getAttributeAmount(options.attributes, 'crop_bug'));
138
- if (level <= 0)
139
- return current;
140
- const specialCrop = MATCHING_SPECIAL_CROP[options.crop];
141
- if (!specialCrop)
142
- return current;
143
- const bonus = 0.02 * level;
144
- current.specialCropBonus += bonus;
145
- current.specialCropBonusBreakdown['Cropeetle Shard'] = bonus;
146
- return current;
121
+ wiki: 'https://w.elitesb.gg/Cropeetle_Shard',
122
+ perLevelStats: {
123
+ [Stat.Overbloom]: {
124
+ value: 1,
125
+ },
147
126
  },
148
127
  },
149
128
  fancy_visit: {
@@ -152,14 +131,14 @@ export const FARMING_ATTRIBUTE_SHARDS = {
152
131
  skyblockId: 'SHARD_INVISIBUG',
153
132
  rarity: Rarity.Rare,
154
133
  effect: 'none',
155
- wiki: 'https://wiki.hypixel.net/Invisibug',
134
+ wiki: 'https://w.elitesb.gg/Invisibug_Shard',
156
135
  },
157
136
  infiltration: {
158
137
  name: 'Termite Shard',
159
138
  skyblockId: 'SHARD_TERMITE',
160
139
  rarity: Rarity.Uncommon,
161
140
  effect: 'fortune',
162
- wiki: 'https://wiki.hypixel.net/Termite',
141
+ wiki: 'https://w.elitesb.gg/Termite_Shard',
163
142
  active: (options) => {
164
143
  const opt = 'options' in options ? options.options : options;
165
144
  if (!opt.infestedPlotProbability || opt.infestedPlotProbability <= 0) {
@@ -186,15 +165,14 @@ export const FARMING_ATTRIBUTE_SHARDS = {
186
165
  skyblockId: 'SHARD_PRAYING_MANTIS',
187
166
  rarity: Rarity.Uncommon,
188
167
  effect: 'none',
189
- wiki: 'https://wiki.hypixel.net/Praying_Mantis',
168
+ wiki: 'https://w.elitesb.gg/Praying_Mantis_Shard',
190
169
  },
191
170
  pest_luck: {
192
- // 2% chance for rare pest drops per level
193
171
  name: 'Pest Shard',
194
172
  skyblockId: 'SHARD_PEST',
195
173
  rarity: Rarity.Uncommon,
196
- effect: 'none',
197
- wiki: 'https://wiki.hypixel.net/Pest',
174
+ effect: 'rates',
175
+ wiki: 'https://w.elitesb.gg/Pest',
198
176
  },
199
177
  visitor_bait: {
200
178
  // Garden visitors 1% faster per level
@@ -202,7 +180,7 @@ export const FARMING_ATTRIBUTE_SHARDS = {
202
180
  skyblockId: 'SHARD_MUDWORM',
203
181
  rarity: Rarity.Common,
204
182
  effect: 'none',
205
- wiki: 'https://wiki.hypixel.net/Mudworm',
183
+ wiki: 'https://w.elitesb.gg/Mudworm_Shard',
206
184
  },
207
185
  ultimate_dna: {
208
186
  // 1 farming fortune per level
@@ -210,7 +188,7 @@ export const FARMING_ATTRIBUTE_SHARDS = {
210
188
  skyblockId: 'SHARD_GALAXY_FISH',
211
189
  rarity: Rarity.Legendary,
212
190
  effect: 'fortune',
213
- wiki: 'https://wiki.hypixel.net/Galaxy_Fish',
191
+ wiki: 'https://w.elitesb.gg/Galaxy_Fish_Shard',
214
192
  perLevelStats: {
215
193
  [Stat.FarmingFortune]: {
216
194
  value: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/constants/attributes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attributes.js","sourceRoot":"","sources":["../../src/constants/attributes.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- import type { CalculateCropDetailedDropsOptions, DetailedDropsResult } from '../util/ratecalc.js';
2
1
  import { Rarity, type RarityRecord } from './reforges.js';
3
2
  import { Stat } from './stats.js';
4
3
  export declare const GARDEN_CHIP_MAX_LEVEL: 20;
5
- export declare const GARDEN_CHIP_WIKI: "https://wiki.hypixel.net/Garden_Chip";
4
+ export declare const GARDEN_CHIP_WIKI: "https://w.elitesb.gg/Garden_Chip";
6
5
  export type GardenChipId = 'cropshot' | 'vermin_vaporizer' | 'synthesis' | 'sowledge' | 'mechamind' | 'hypercharge' | 'evergreen' | 'overdrive' | 'quickdraw' | 'rarefinder';
7
6
  export interface GardenChipInfo {
8
7
  skyblockId: string;
@@ -17,10 +16,6 @@ export interface GardenChipInfo {
17
16
  * Used by Hypercharge Chip.
18
17
  */
19
18
  tempMultiplierPerLevel?: RarityRecord<number>;
20
- /**
21
- * Modifier for drop rates. Applied during rate calculations.
22
- */
23
- ratesModifier?: (current: DetailedDropsResult, options: CalculateCropDetailedDropsOptions) => DetailedDropsResult;
24
19
  }
25
20
  export declare const GARDEN_CHIPS: Record<GardenChipId, GardenChipInfo>;
26
21
  export declare function getChipLevel(level?: number | null): number;
@@ -1,7 +1,7 @@
1
1
  import { Rarity } from './reforges.js';
2
2
  import { Stat } from './stats.js';
3
3
  export const GARDEN_CHIP_MAX_LEVEL = 20;
4
- export const GARDEN_CHIP_WIKI = 'https://wiki.hypixel.net/Garden_Chip';
4
+ export const GARDEN_CHIP_WIKI = 'https://w.elitesb.gg/Garden_Chip';
5
5
  export const GARDEN_CHIPS = {
6
6
  vermin_vaporizer: {
7
7
  skyblockId: 'VERMIN_VAPORIZER_GARDEN_CHIP',
@@ -90,20 +90,16 @@ export const GARDEN_CHIPS = {
90
90
  skyblockId: 'RAREFINDER_GARDEN_CHIP',
91
91
  name: 'Rarefinder Chip',
92
92
  wiki: GARDEN_CHIP_WIKI,
93
- ratesModifier: (current, options) => {
94
- const level = getChipLevel(getChipInputLevel(options.chips, 'rarefinder'));
95
- if (level <= 0)
96
- return current;
97
- const rarity = getChipRarity(level);
98
- let perLevel = 0.02;
99
- if (rarity === Rarity.Epic)
100
- perLevel = 0.025;
101
- else if (rarity === Rarity.Legendary)
102
- perLevel = 0.03;
103
- const bonus = level * perLevel;
104
- current.rareItemBonus += bonus;
105
- current.rareItemBonusBreakdown['Rarefinder Chip'] = bonus;
106
- return current;
93
+ statsPerRarity: {
94
+ [Rarity.Rare]: {
95
+ [Stat.Overbloom]: 2,
96
+ },
97
+ [Rarity.Epic]: {
98
+ [Stat.Overbloom]: 2.5,
99
+ },
100
+ [Rarity.Legendary]: {
101
+ [Stat.Overbloom]: 3,
102
+ },
107
103
  },
108
104
  },
109
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"chips.js","sourceRoot":"","sources":["../../src/constants/chips.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chips.js","sourceRoot":"","sources":["../../src/constants/chips.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { DropKind, DropTag } from '../effects/types.js';
1
2
  import { Stat } from './stats.js';
2
3
  import type { UpgradeCost } from './upgrades.js';
3
4
  export declare enum Crop {
@@ -26,6 +27,26 @@ export interface CropCraft {
26
27
  cost?: number;
27
28
  }[];
28
29
  }
30
+ export interface CropRngDrop {
31
+ chance: number;
32
+ drops: Record<string, number>;
33
+ /** Output bucket for this drop. Defaults to `rng`. */
34
+ output?: 'rng' | 'collection' | 'currency';
35
+ /**
36
+ * If `harvestFeast`, this drop only occurs when a Harvest Feast is active and this crop is in-season.
37
+ * Used for Seasoning + per-crop Harvest Feast materials.
38
+ */
39
+ only?: 'harvestFeast';
40
+ /**
41
+ * Drop kind classification used by the effects pipeline. Defaults to `'rng'` when omitted.
42
+ */
43
+ dropKind?: DropKind;
44
+ /**
45
+ * Drop tags consumed by `Effect.scope.tags`. See `DropTagBuiltin` for the well-known set.
46
+ * Defaults to `['overbloom','rare-crop']` when omitted (the SkyBlock RARE CROP pool).
47
+ */
48
+ tags?: readonly DropTag[];
49
+ }
29
50
  export interface CropInfo {
30
51
  name: string;
31
52
  npc: number;
@@ -38,11 +59,14 @@ export interface CropInfo {
38
59
  startingTool: string;
39
60
  toolXpFactor: number;
40
61
  crafts: CropCraft[];
41
- rng?: {
42
- chance: number;
43
- drops: Record<string, number>;
44
- }[];
62
+ rng?: CropRngDrop[];
45
63
  }
64
+ /** Drop chance of Seasoning from any in-season crop during a Harvest Feast (1/2,250). */
65
+ export declare const HARVEST_FEAST_SEASONING_CHANCE: number;
66
+ /** Drop chance of a per-crop Harvest Feast unique material from in-season crops (1/18,000). */
67
+ export declare const HARVEST_FEAST_MATERIAL_CHANCE: number;
68
+ /** Per-crop unique Harvest Feast material item id, dropped at 1/18,000 from in-season crops. */
69
+ export declare const HARVEST_FEAST_MATERIALS: Partial<Record<Crop, string>>;
46
70
  export declare const CROP_INFO: Record<Crop, CropInfo>;
47
71
  export declare const MAX_CROP_FORTUNE: Record<Crop, number>;
48
72
  export declare const LIST_OF_CROPS: Exclude<Crop, Crop.Seeds>[];
@@ -17,6 +17,47 @@ export var Crop;
17
17
  Crop["Moonflower"] = "MOONFLOWER";
18
18
  Crop["WildRose"] = "WILD_ROSE";
19
19
  })(Crop || (Crop = {}));
20
+ /** Drop chance of Seasoning from any in-season crop during a Harvest Feast (1/2,250). */
21
+ export const HARVEST_FEAST_SEASONING_CHANCE = 1 / 2_250;
22
+ /** Drop chance of a per-crop Harvest Feast unique material from in-season crops (1/18,000). */
23
+ export const HARVEST_FEAST_MATERIAL_CHANCE = 1 / 18_000;
24
+ /** Per-crop unique Harvest Feast material item id, dropped at 1/18,000 from in-season crops. */
25
+ export const HARVEST_FEAST_MATERIALS = {
26
+ [Crop.Wheat]: 'CORNUCOPIA',
27
+ [Crop.Carrot]: 'CARROT_ZEST',
28
+ [Crop.Potato]: 'DEEPFRIES',
29
+ [Crop.Pumpkin]: 'AGGOURDIAN',
30
+ [Crop.SugarCane]: 'CANE_KNOT',
31
+ [Crop.Melon]: 'MELON_JUICE',
32
+ [Crop.Cactus]: 'CACTUS_FLOWER',
33
+ [Crop.CocoaBeans]: 'DESIGNER_COFFEE_BEANS',
34
+ [Crop.Mushroom]: 'FEASTFUNGUS',
35
+ [Crop.NetherWart]: 'BOTROOT',
36
+ [Crop.Sunflower]: 'SALTED_SUNFLOWER_SEEDS',
37
+ [Crop.Moonflower]: 'CRYSTALIZED_MOONLIGHT',
38
+ [Crop.WildRose]: 'FLORAL_GELATIN',
39
+ };
40
+ function harvestFeastDrops(crop) {
41
+ const material = HARVEST_FEAST_MATERIALS[crop];
42
+ const entries = [
43
+ {
44
+ chance: HARVEST_FEAST_SEASONING_CHANCE,
45
+ drops: { SEASONING: 1 },
46
+ output: 'currency',
47
+ only: 'harvestFeast',
48
+ tags: ['overbloom', 'rare-crop', 'seasoning', 'feast'],
49
+ },
50
+ ];
51
+ if (material) {
52
+ entries.push({
53
+ chance: HARVEST_FEAST_MATERIAL_CHANCE,
54
+ drops: { [material]: 1 },
55
+ only: 'harvestFeast',
56
+ tags: ['overbloom', 'rare-crop', 'feast'],
57
+ });
58
+ }
59
+ return entries;
60
+ }
20
61
  export const CROP_INFO = {
21
62
  [Crop.Cactus]: {
22
63
  name: 'Cactus',
@@ -25,6 +66,12 @@ export const CROP_INFO = {
25
66
  breaks: 2,
26
67
  toolXpFactor: 1.5,
27
68
  fortuneType: Stat.CactusFortune,
69
+ exportable: true,
70
+ exportableCost: {
71
+ items: {
72
+ POTTED_CACTUS: 3000,
73
+ },
74
+ },
28
75
  startingTool: 'CACTUS_KNIFE',
29
76
  crafts: [
30
77
  {
@@ -36,6 +83,7 @@ export const CROP_INFO = {
36
83
  takes: 160 * 160,
37
84
  },
38
85
  ],
86
+ rng: harvestFeastDrops(Crop.Cactus),
39
87
  },
40
88
  [Crop.Carrot]: {
41
89
  name: 'Carrot',
@@ -61,6 +109,7 @@ export const CROP_INFO = {
61
109
  takes: 160 * 160,
62
110
  },
63
111
  ],
112
+ rng: harvestFeastDrops(Crop.Carrot),
64
113
  },
65
114
  [Crop.CocoaBeans]: {
66
115
  name: 'Cocoa Beans',
@@ -86,6 +135,7 @@ export const CROP_INFO = {
86
135
  takes: 160 * 160,
87
136
  },
88
137
  ],
138
+ rng: harvestFeastDrops(Crop.CocoaBeans),
89
139
  },
90
140
  [Crop.Melon]: {
91
141
  name: 'Melon',
@@ -104,6 +154,7 @@ export const CROP_INFO = {
104
154
  takes: 160 * 160,
105
155
  },
106
156
  ],
157
+ rng: harvestFeastDrops(Crop.Melon),
107
158
  },
108
159
  [Crop.Mushroom]: {
109
160
  name: 'Mushroom',
@@ -138,11 +189,15 @@ export const CROP_INFO = {
138
189
  ],
139
190
  rng: [
140
191
  {
141
- chance: 1 / 250000,
192
+ // Burrowing Spores rate buffed in Harvest Feast update from 1/250,000 to 1/350,000
193
+ // to compensate for it now being affected by RARE CROP chance (Overbloom).
194
+ chance: 1 / 350_000,
142
195
  drops: {
143
196
  BURROWING_SPORES: 1,
144
197
  },
198
+ tags: ['overbloom', 'rare-crop'],
145
199
  },
200
+ ...harvestFeastDrops(Crop.Mushroom),
146
201
  ],
147
202
  },
148
203
  [Crop.NetherWart]: {
@@ -169,6 +224,7 @@ export const CROP_INFO = {
169
224
  takes: 160 * 160,
170
225
  },
171
226
  ],
227
+ rng: harvestFeastDrops(Crop.NetherWart),
172
228
  },
173
229
  [Crop.Potato]: {
174
230
  name: 'Potato',
@@ -188,6 +244,7 @@ export const CROP_INFO = {
188
244
  takes: 160 * 160,
189
245
  },
190
246
  ],
247
+ rng: harvestFeastDrops(Crop.Potato),
191
248
  },
192
249
  [Crop.Pumpkin]: {
193
250
  name: 'Pumpkin',
@@ -212,6 +269,7 @@ export const CROP_INFO = {
212
269
  takes: 160 * 160,
213
270
  },
214
271
  ],
272
+ rng: harvestFeastDrops(Crop.Pumpkin),
215
273
  },
216
274
  [Crop.SugarCane]: {
217
275
  name: 'Sugar Cane',
@@ -231,6 +289,7 @@ export const CROP_INFO = {
231
289
  takes: 160 * 160,
232
290
  },
233
291
  ],
292
+ rng: harvestFeastDrops(Crop.SugarCane),
234
293
  },
235
294
  [Crop.Wheat]: {
236
295
  name: 'Wheat',
@@ -255,6 +314,7 @@ export const CROP_INFO = {
255
314
  takes: 160 * 160,
256
315
  },
257
316
  ],
317
+ rng: harvestFeastDrops(Crop.Wheat),
258
318
  },
259
319
  [Crop.Seeds]: {
260
320
  name: 'Seeds',
@@ -293,6 +353,7 @@ export const CROP_INFO = {
293
353
  takes: 160 * 160,
294
354
  },
295
355
  ],
356
+ rng: harvestFeastDrops(Crop.Sunflower),
296
357
  },
297
358
  [Crop.Moonflower]: {
298
359
  name: 'Moonflower',
@@ -312,6 +373,7 @@ export const CROP_INFO = {
312
373
  takes: 160 * 160,
313
374
  },
314
375
  ],
376
+ rng: harvestFeastDrops(Crop.Moonflower),
315
377
  },
316
378
  [Crop.WildRose]: {
317
379
  name: 'Wild Rose',
@@ -337,13 +399,14 @@ export const CROP_INFO = {
337
399
  takes: 160 * 160,
338
400
  },
339
401
  ],
402
+ rng: harvestFeastDrops(Crop.WildRose),
340
403
  },
341
404
  };
342
405
  // TODO: Calculate this from the list of sources
343
406
  // Base plus crop specific fortune
344
407
  // Does not include temporary fortune sources
345
408
  export const MAX_CROP_FORTUNE = {
346
- [Crop.Cactus]: 2629.28,
409
+ [Crop.Cactus]: 2629.28 + 12,
347
410
  [Crop.Carrot]: 2629.28 + 12,
348
411
  [Crop.CocoaBeans]: 2629.28 + 37,
349
412
  [Crop.Melon]: 2629.28,