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
@@ -7,7 +7,7 @@ import { GemRarity } from '../../fortune/item.js';
7
7
  import { getMaxStatFromEnchant, getStatFromEnchant } from '../../util/enchants.js';
8
8
  import { getPeridotFortune, getPeridotGemFortune } from '../../util/gems.js';
9
9
  import { getUpgradeableEnchant } from '../enchantupgrades.js';
10
- import { getUpgradeableGems } from '../upgrades.js';
10
+ import { getCurrentReforgeEffectSummaries, getReforgeEffectSummaries, getUpgradeableGems } from '../upgrades.js';
11
11
  const CROP_FORTUNE_STATS = new Set(Object.values(CROP_INFO).map((c) => c.fortuneType));
12
12
  export const TOOL_FORTUNE_SOURCES = [
13
13
  {
@@ -53,25 +53,40 @@ export const TOOL_FORTUNE_SOURCES = [
53
53
  },
54
54
  maxStat: (tool, stat) => {
55
55
  const last = (tool.getLastItemUpgrade() ?? tool)?.info;
56
- if (tool.reforge?.name === 'Bountiful')
57
- return REFORGES.bountiful?.tiers[last.maxRarity]?.stats?.[stat] ?? 0;
58
- return REFORGES.blessed?.tiers?.[last.maxRarity]?.stats?.[stat] ?? 0;
56
+ const current = tool.reforgeStats?.stats?.[stat] ?? 0;
57
+ let best = 0;
58
+ for (const reforge of Object.values(REFORGES)) {
59
+ if (!reforge || !tool.type || !reforge.appliesTo.includes(tool.type))
60
+ continue;
61
+ if (!reforge.stone?.id)
62
+ continue;
63
+ const value = reforge.tiers[last.maxRarity]?.stats?.[stat] ?? 0;
64
+ if (value > best)
65
+ best = value;
66
+ }
67
+ return Math.max(best, current);
59
68
  },
60
69
  currentStat: (tool, stat) => tool.reforgeStats?.stats?.[stat] ?? 0,
70
+ effects: getCurrentReforgeEffectSummaries,
61
71
  upgrades: (tool, stats) => {
62
- const primaryStat = stats?.[0] ?? Stat.FarmingFortune;
72
+ const requestedStats = stats && stats.length > 0 ? stats : [Stat.FarmingFortune];
73
+ const primaryStat = requestedStats[0] ?? Stat.FarmingFortune;
63
74
  const currentStats = tool.reforgeStats?.stats ?? {};
64
75
  const currentPrimary = currentStats?.[primaryStat] ?? 0;
65
76
  // Find if there's a priority reforge that applies to this tool
66
77
  const priorityReforge = Object.values(REFORGES).find((r) => r?.priority && tool.type && r.appliesTo.includes(tool.type));
67
78
  const result = [];
68
- for (const reforge of Object.values(REFORGES)) {
79
+ for (const [reforgeId, reforge] of Object.entries(REFORGES)) {
69
80
  // Skip if the reforge doesn't apply to the item or is currently applied
70
81
  if (!reforge || !tool.type || !reforge.appliesTo.includes(tool.type) || reforge === tool.reforge) {
71
82
  continue;
72
83
  }
73
- // Skip non-priority reforges if there's a priority reforge available for this tool
74
- if (priorityReforge && reforge !== priorityReforge && !reforge.priority)
84
+ // For Farming Fortune views, keep the existing priority reforge behavior.
85
+ // Other stat views can surface non-priority reforges that affect that stat.
86
+ if (priorityReforge &&
87
+ reforge !== priorityReforge &&
88
+ !reforge.priority &&
89
+ primaryStat === Stat.FarmingFortune)
75
90
  continue;
76
91
  // Only suggest reforges with an explicit reforge stone
77
92
  if (!reforge.stone?.id)
@@ -80,9 +95,14 @@ export const TOOL_FORTUNE_SOURCES = [
80
95
  if (!tier || !tier.stats)
81
96
  continue;
82
97
  const nextPrimary = tier.stats?.[primaryStat] ?? 0;
98
+ const effects = getReforgeEffectSummaries(tool, reforgeId, requestedStats);
83
99
  // Allow priority reforges even if they have less fortune
84
- if (!reforge.priority && nextPrimary <= currentPrimary)
100
+ if (!reforge.priority &&
101
+ nextPrimary <= currentPrimary &&
102
+ !requestedStats.some((stat) => (tier.stats?.[stat] ?? 0) > (currentStats?.[stat] ?? 0)) &&
103
+ effects.length === 0) {
85
104
  continue;
105
+ }
86
106
  const deltaStats = {};
87
107
  for (const s of Object.values(Stat)) {
88
108
  const before = currentStats?.[s] ?? 0;
@@ -96,6 +116,7 @@ export const TOOL_FORTUNE_SOURCES = [
96
116
  title: 'Reforge to ' + reforge.name,
97
117
  increase,
98
118
  stats: deltaStats,
119
+ effects: effects.length > 0 ? effects : undefined,
99
120
  action: UpgradeAction.Apply,
100
121
  category: UpgradeCategory.Reforge,
101
122
  conflictKey: 'reforge',
@@ -130,7 +151,7 @@ export const TOOL_FORTUNE_SOURCES = [
130
151
  },
131
152
  {
132
153
  name: 'Gemstone Slots',
133
- wiki: () => 'https://wiki.hypixel.net/Gemstone#Gemstone_Slots',
154
+ wiki: () => 'https://w.elitesb.gg/Gemstone_Slot',
134
155
  exists: (upgradeable) => {
135
156
  const last = (upgradeable.getLastItemUpgrade() ?? upgradeable)?.info;
136
157
  return last?.gemSlots?.some((s) => s.slot_type === 'PERIDOT') !== undefined;
@@ -157,7 +178,7 @@ export const TOOL_FORTUNE_SOURCES = [
157
178
  },
158
179
  {
159
180
  name: 'Farming For Dummies',
160
- wiki: () => 'https://wiki.hypixel.net/Farming_For_Dummies',
181
+ wiki: () => 'https://w.elitesb.gg/Farming_For_Dummies',
161
182
  exists: (tool) => tool.type !== ReforgeTarget.Sword,
162
183
  max: () => 5,
163
184
  current: (tool) => {
@@ -180,7 +201,7 @@ export const TOOL_FORTUNE_SOURCES = [
180
201
  category: UpgradeCategory.Item,
181
202
  conflictKey: 'farming_for_dummies',
182
203
  repeatable: 5 - count,
183
- wiki: 'https://wiki.hypixel.net/Farming_For_Dummies',
204
+ wiki: 'https://w.elitesb.gg/Farming_For_Dummies',
184
205
  cost: {
185
206
  items: {
186
207
  FARMING_FOR_DUMMIES: 1,
@@ -200,68 +221,6 @@ export const TOOL_FORTUNE_SOURCES = [
200
221
  ];
201
222
  },
202
223
  },
203
- {
204
- name: 'Axed Perk',
205
- wiki: () => 'https://wiki.hypixel.net/Essence#Forest_Essence_',
206
- exists: (tool) => tool.type === ReforgeTarget.Axe,
207
- max: (tool) => {
208
- const otherSources = TOOL_FORTUNE_SOURCES.filter((s) => s.name !== 'Axed Perk' && s.exists(tool));
209
- const maxFortune = otherSources.reduce((acc, source) => acc + source.max(tool), 0);
210
- return Math.max(0, maxFortune * 0.02);
211
- },
212
- current: (tool) => {
213
- if (!tool.hasAxedPerk())
214
- return 0;
215
- const otherSources = TOOL_FORTUNE_SOURCES.filter((s) => s.name !== 'Axed Perk' && s.exists(tool));
216
- const fortune = otherSources.reduce((acc, source) => acc + source.current(tool), 0);
217
- return Math.max(0, fortune * 0.02);
218
- },
219
- maxStat: (tool, stat) => {
220
- const otherSources = TOOL_FORTUNE_SOURCES.filter((s) => s.name !== 'Axed Perk' && s.exists(tool));
221
- const maxFortune = otherSources.reduce((acc, source) => acc + (source.maxStat?.(tool, stat) ?? 0), 0);
222
- return Math.max(0, maxFortune * 0.02);
223
- },
224
- currentStat: (tool, stat) => {
225
- if (!tool.hasAxedPerk())
226
- return 0;
227
- const otherSources = TOOL_FORTUNE_SOURCES.filter((s) => s.name !== 'Axed Perk' && s.exists(tool));
228
- const fortune = otherSources.reduce((acc, source) => acc + (source.currentStat?.(tool, stat) ?? 0), 0);
229
- return Math.max(0, fortune * 0.02);
230
- },
231
- upgrades: (tool) => {
232
- if (tool.hasAxedPerk())
233
- return [];
234
- const stats = {
235
- [Stat.FarmingFortune]: tool.getStat(Stat.FarmingFortune) * 0.02,
236
- };
237
- for (const crop of tool.crops) {
238
- const cropStat = CROP_INFO[crop]?.fortuneType;
239
- if (cropStat) {
240
- stats[cropStat] = tool.getStat(cropStat) * 0.02;
241
- }
242
- }
243
- return [
244
- {
245
- title: 'Axed Perk',
246
- increase: tool.fortune * 0.02,
247
- stats,
248
- action: UpgradeAction.Unlock,
249
- category: UpgradeCategory.Misc,
250
- conflictKey: 'axed_perk',
251
- wiki: 'https://wiki.hypixel.net/Essence#Forest_Essence_',
252
- cost: {
253
- items: {
254
- ESSENCE_FOREST: 10_000,
255
- },
256
- },
257
- onto: {
258
- name: tool.item.name,
259
- skyblockId: tool.item.skyblockId,
260
- },
261
- },
262
- ];
263
- },
264
- },
265
224
  ...Object.entries(FARMING_ENCHANTS).map(([id, enchant]) => enchantSourceBuilder(id, enchant)),
266
225
  ];
267
226
  function enchantSourceBuilder(id, enchant) {
@@ -299,35 +258,42 @@ function enchantSourceBuilder(id, enchant) {
299
258
  enchant.appliesTo.includes(tool.type) &&
300
259
  (!enchant.cropSpecific || tool.crops.includes(enchant.cropSpecific)),
301
260
  max: (tool) => {
261
+ const currentOverbloom = getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, Stat.Overbloom, tool.options, tool.crops[0]);
262
+ const maxOverbloom = currentOverbloom > 0 ? getMaxStatFromEnchant(enchant, Stat.Overbloom, tool.options, tool.crops[0]) : 0;
302
263
  // For multi-crop tools (e.g., Eclipse Hoe), take the best single-crop value to avoid double counting
303
264
  if (tool.crops.length > 1) {
304
265
  let best = 0;
305
266
  for (const crop of tool.crops) {
306
267
  best = Math.max(best, getMaxStatFromEnchant(enchant, CROP_INFO[crop].fortuneType, tool.options, crop));
307
268
  }
308
- return best || getMaxStatFromEnchant(enchant, Stat.FarmingFortune, tool.options, tool.crops[0]);
269
+ return (best ||
270
+ getMaxStatFromEnchant(enchant, Stat.FarmingFortune, tool.options, tool.crops[0]) ||
271
+ maxOverbloom);
309
272
  }
310
273
  let sum = 0;
311
274
  for (const crop of tool.crops) {
312
275
  sum += getMaxStatFromEnchant(enchant, CROP_INFO[crop].fortuneType, tool.options, crop);
313
276
  }
314
- return sum || getMaxStatFromEnchant(enchant, Stat.FarmingFortune, tool.options, tool.crops[0]);
277
+ return (sum || getMaxStatFromEnchant(enchant, Stat.FarmingFortune, tool.options, tool.crops[0]) || maxOverbloom);
315
278
  },
316
279
  current: (tool) => {
280
+ const currentOverbloom = getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, Stat.Overbloom, tool.options, tool.crops[0]);
317
281
  if (tool.crops.length > 1) {
318
282
  let best = 0;
319
283
  for (const crop of tool.crops) {
320
284
  best = Math.max(best, getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, CROP_INFO[crop].fortuneType, tool.options, crop));
321
285
  }
322
286
  return (best ||
323
- getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, Stat.FarmingFortune, tool.options, tool.crops[0]));
287
+ getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, Stat.FarmingFortune, tool.options, tool.crops[0]) ||
288
+ currentOverbloom);
324
289
  }
325
290
  let sum = 0;
326
291
  for (const crop of tool.crops) {
327
292
  sum += getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, CROP_INFO[crop].fortuneType, tool.options, crop);
328
293
  }
329
294
  return (sum ||
330
- getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, Stat.FarmingFortune, tool.options, tool.crops[0]));
295
+ getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, Stat.FarmingFortune, tool.options, tool.crops[0]) ||
296
+ currentOverbloom);
331
297
  },
332
298
  maxStat: (tool, stat) => {
333
299
  if (stat === Stat.FarmingFortune && tool.crops.length > 1) {
@@ -346,6 +312,11 @@ function enchantSourceBuilder(id, enchant) {
346
312
  }
347
313
  return best || getMaxStatFromEnchant(enchant, stat, tool.options, tool.crops[0]);
348
314
  }
315
+ // Non-crop-fortune stats (e.g. Overbloom from Feast) are flat per enchant level,
316
+ // not per crop. Resolve once with one of the tool's crops.
317
+ if (stat !== Stat.FarmingFortune) {
318
+ return getMaxStatFromEnchant(enchant, stat, tool.options, tool.crops[0]);
319
+ }
349
320
  let sum = 0;
350
321
  for (const crop of tool.crops) {
351
322
  sum += getMaxStatFromEnchant(enchant, stat, tool.options, crop);
@@ -371,6 +342,10 @@ function enchantSourceBuilder(id, enchant) {
371
342
  return (best ||
372
343
  getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, stat, tool.options, tool.crops[0]));
373
344
  }
345
+ // Non-crop-fortune stats (e.g. Overbloom from Feast) are flat per enchant level.
346
+ if (stat !== Stat.FarmingFortune) {
347
+ return getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, stat, tool.options, tool.crops[0]);
348
+ }
374
349
  let sum = 0;
375
350
  for (const crop of tool.crops) {
376
351
  sum += getStatFromEnchant(tool.item.enchantments?.[id] ?? 0, enchant, stat, tool.options, crop);
@@ -379,13 +354,18 @@ function enchantSourceBuilder(id, enchant) {
379
354
  },
380
355
  upgrades: (tool, stats) => {
381
356
  const primaryStat = stats?.[0] ?? Stat.FarmingFortune;
382
- if (!CROP_FORTUNE_STATS.has(primaryStat)) {
383
- return getUpgradeableEnchant(tool, id, primaryStat);
357
+ const chains = [primaryStat];
358
+ if (CROP_FORTUNE_STATS.has(primaryStat) && !chains.includes(Stat.FarmingFortune)) {
359
+ chains.push(Stat.FarmingFortune);
360
+ }
361
+ for (const s of stats ?? []) {
362
+ if (!chains.includes(s))
363
+ chains.push(s);
364
+ }
365
+ const upgrades = [];
366
+ for (const s of chains) {
367
+ upgrades.push(...getUpgradeableEnchant(tool, id, s));
384
368
  }
385
- const upgrades = [
386
- ...getUpgradeableEnchant(tool, id, primaryStat),
387
- ...getUpgradeableEnchant(tool, id, Stat.FarmingFortune),
388
- ];
389
369
  const seen = new Set();
390
370
  return upgrades.filter((u) => {
391
371
  const key = u.conflictKey ?? `${u.title}:${u.action}`;
@@ -1 +1 @@
1
- {"version":3,"file":"toolsources.js","sourceRoot":"","sources":["../../../src/upgrades/sources/toolsources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolsources.js","sourceRoot":"","sources":["../../../src/upgrades/sources/toolsources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { Upgradeable } from '../fortune/upgradeable.js';
2
+ export declare function getItemScopedConflictKey(upgradeable: Upgradeable, key: string): string;
@@ -0,0 +1,5 @@
1
+ export function getItemScopedConflictKey(upgradeable, key) {
2
+ const itemUuid = upgradeable.item.uuid;
3
+ return itemUuid ? `${key}:${itemUuid}` : `${key}:${upgradeable.item.skyblockId}`;
4
+ }
5
+ //# sourceMappingURL=upgradekeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradekeys.js","sourceRoot":"","sources":["../../src/upgrades/upgradekeys.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CAAC,WAAwB,EAAE,GAAW;IAC7E,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;IACvC,OAAO,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;AAClF,CAAC"}
@@ -1,14 +1,12 @@
1
1
  import { Stat } from '../constants/stats.js';
2
- import { type FortuneUpgrade, type Upgrade } from '../constants/upgrades.js';
2
+ import { type EffectSummary, type FortuneUpgrade, type StatQueryOptions, type Upgrade } from '../constants/upgrades.js';
3
3
  import type { Upgradeable, UpgradeableInfo } from '../fortune/upgradeable.js';
4
4
  import type { UpgradeableBase } from '../fortune/upgradeablebase.js';
5
5
  import { type FarmingToolInfo } from '../items/tools.js';
6
- export declare function getItemUpgrades(upgradeable: Upgradeable, options?: {
7
- stat?: Stat;
8
- }): FortuneUpgrade[];
9
- export declare function getSelfFortuneUpgrade(upgradeable: Upgradeable, options?: {
10
- stat?: Stat;
11
- }): {
6
+ export declare function getReforgeEffectSummaries(upgradeable: Upgradeable, reforgeId: string, stats?: readonly Stat[], sourceName?: string): EffectSummary[];
7
+ export declare function getCurrentReforgeEffectSummaries(upgradeable: Upgradeable, stats?: readonly Stat[]): EffectSummary[];
8
+ export declare function getItemUpgrades(upgradeable: Upgradeable, options?: StatQueryOptions): FortuneUpgrade[];
9
+ export declare function getSelfFortuneUpgrade(upgradeable: Upgradeable, options?: StatQueryOptions): {
12
10
  upgrade: FortuneUpgrade;
13
11
  deadEnd: boolean;
14
12
  } | undefined;