farming-weight 0.10.7 → 0.11.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 (105) hide show
  1. package/dist/constants/attributes.d.ts +2 -1
  2. package/dist/constants/attributes.js +9 -3
  3. package/dist/constants/attributes.js.map +1 -1
  4. package/dist/constants/crops.d.ts +4 -1
  5. package/dist/constants/crops.js +62 -2
  6. package/dist/constants/crops.js.map +1 -1
  7. package/dist/constants/garden.js +18 -0
  8. package/dist/constants/garden.js.map +1 -1
  9. package/dist/constants/gems.d.ts +14 -1
  10. package/dist/constants/gems.js +561 -42
  11. package/dist/constants/gems.js.map +1 -1
  12. package/dist/constants/personalbests.js +4 -1
  13. package/dist/constants/personalbests.js.map +1 -1
  14. package/dist/constants/pests.d.ts +4 -1
  15. package/dist/constants/pests.js +119 -65
  16. package/dist/constants/pests.js.map +1 -1
  17. package/dist/constants/reforges.js +4 -0
  18. package/dist/constants/reforges.js.map +1 -1
  19. package/dist/constants/specialcrops.d.ts +15 -1
  20. package/dist/constants/specialcrops.js +17 -0
  21. package/dist/constants/specialcrops.js.map +1 -1
  22. package/dist/constants/specific.d.ts +1 -0
  23. package/dist/constants/specific.js +10 -0
  24. package/dist/constants/specific.js.map +1 -1
  25. package/dist/constants/stats.d.ts +5 -1
  26. package/dist/constants/stats.js +4 -0
  27. package/dist/constants/stats.js.map +1 -1
  28. package/dist/constants/upgrades.d.ts +43 -0
  29. package/dist/constants/upgrades.js.map +1 -1
  30. package/dist/constants/weight.js +5 -2
  31. package/dist/constants/weight.js.map +1 -1
  32. package/dist/fortune/farmingaccessory.d.ts +3 -1
  33. package/dist/fortune/farmingaccessory.js +17 -5
  34. package/dist/fortune/farmingaccessory.js.map +1 -1
  35. package/dist/fortune/farmingarmor.d.ts +14 -5
  36. package/dist/fortune/farmingarmor.js +123 -17
  37. package/dist/fortune/farmingarmor.js.map +1 -1
  38. package/dist/fortune/farmingequipment.d.ts +4 -2
  39. package/dist/fortune/farmingequipment.js +27 -5
  40. package/dist/fortune/farmingequipment.js.map +1 -1
  41. package/dist/fortune/farmingtool.d.ts +8 -4
  42. package/dist/fortune/farmingtool.js +61 -15
  43. package/dist/fortune/farmingtool.js.map +1 -1
  44. package/dist/fortune/upgradeable.d.ts +7 -2
  45. package/dist/fortune/upgradeablebase.d.ts +7 -3
  46. package/dist/fortune/upgradeablebase.js +20 -4
  47. package/dist/fortune/upgradeablebase.js.map +1 -1
  48. package/dist/items/accessories.d.ts +3 -14
  49. package/dist/items/accessories.js +9 -0
  50. package/dist/items/accessories.js.map +1 -1
  51. package/dist/items/armor.d.ts +3 -35
  52. package/dist/items/armor.js +139 -63
  53. package/dist/items/armor.js.map +1 -1
  54. package/dist/items/definitions.d.ts +44 -0
  55. package/dist/items/definitions.js +62 -0
  56. package/dist/items/definitions.js.map +1 -0
  57. package/dist/items/equipment.d.ts +2 -2
  58. package/dist/items/equipment.js +1 -1
  59. package/dist/items/equipment.js.map +1 -1
  60. package/dist/items/tools.d.ts +3 -14
  61. package/dist/items/tools.js +6 -36
  62. package/dist/items/tools.js.map +1 -1
  63. package/dist/player/player.d.ts +45 -4
  64. package/dist/player/player.js +720 -94
  65. package/dist/player/player.js.map +1 -1
  66. package/dist/player/playeroptions.d.ts +1 -0
  67. package/dist/player/playeroptions.js.map +1 -1
  68. package/dist/upgrades/enchantupgrades.d.ts +3 -2
  69. package/dist/upgrades/enchantupgrades.js +48 -8
  70. package/dist/upgrades/enchantupgrades.js.map +1 -1
  71. package/dist/upgrades/getfortune.d.ts +2 -1
  72. package/dist/upgrades/getfortune.js +7 -2
  73. package/dist/upgrades/getfortune.js.map +1 -1
  74. package/dist/upgrades/getsourceprogress.d.ts +2 -1
  75. package/dist/upgrades/getsourceprogress.js +53 -3
  76. package/dist/upgrades/getsourceprogress.js.map +1 -1
  77. package/dist/upgrades/sources/armorsetsources.js +57 -27
  78. package/dist/upgrades/sources/armorsetsources.js.map +1 -1
  79. package/dist/upgrades/sources/cropsources.js +39 -3
  80. package/dist/upgrades/sources/cropsources.js.map +1 -1
  81. package/dist/upgrades/sources/dynamicfortunesources.d.ts +10 -2
  82. package/dist/upgrades/sources/gearsources.js +54 -5
  83. package/dist/upgrades/sources/gearsources.js.map +1 -1
  84. package/dist/upgrades/sources/generalsources.js +177 -8
  85. package/dist/upgrades/sources/generalsources.js.map +1 -1
  86. package/dist/upgrades/sources/toolsources.js +108 -17
  87. package/dist/upgrades/sources/toolsources.js.map +1 -1
  88. package/dist/upgrades/upgrades.d.ts +5 -2
  89. package/dist/upgrades/upgrades.js +114 -24
  90. package/dist/upgrades/upgrades.js.map +1 -1
  91. package/dist/upgrades/upgradeutils.d.ts +6 -0
  92. package/dist/upgrades/upgradeutils.js +18 -0
  93. package/dist/upgrades/upgradeutils.js.map +1 -0
  94. package/dist/util/enchants.d.ts +3 -0
  95. package/dist/util/enchants.js +18 -12
  96. package/dist/util/enchants.js.map +1 -1
  97. package/dist/util/garden.d.ts +1 -0
  98. package/dist/util/garden.js +8 -2
  99. package/dist/util/garden.js.map +1 -1
  100. package/dist/util/gems.d.ts +2 -0
  101. package/dist/util/gems.js +29 -8
  102. package/dist/util/gems.js.map +1 -1
  103. package/dist/util/names.js +23 -0
  104. package/dist/util/names.js.map +1 -1
  105. package/package.json +3 -2
@@ -3,20 +3,20 @@ import { Stat } from '../constants/stats.js';
3
3
  import { UpgradeAction, UpgradeCategory, UpgradeReason, } from '../constants/upgrades.js';
4
4
  import { GemRarity } from '../fortune/item.js';
5
5
  import { FARMING_TOOLS } from '../items/tools.js';
6
- import { getGemRarityName, getNextGemRarity, getPeridotFortune, getPeridotGemFortune, getPeridotGems, } from '../util/gems.js';
6
+ import { getGemRarityName, getNextGemRarity, getPeridotFortune, getPeridotGemFortune } from '../util/gems.js';
7
7
  import { nextRarity } from '../util/itemstats.js';
8
8
  import { getUpgradeableEnchants } from './enchantupgrades.js';
9
9
  import { getFakeItem } from './itemregistry.js';
10
- export function getItemUpgrades(upgradeable) {
10
+ export function getItemUpgrades(upgradeable, options) {
11
11
  const { deadEnd, upgrade } = getSelfFortuneUpgrade(upgradeable) ?? {};
12
12
  if (deadEnd)
13
13
  return [upgrade];
14
14
  const upgrades = [];
15
15
  upgrades.push(upgrade);
16
16
  upgrades.push(getUpgradeableRarityUpgrade(upgradeable));
17
- upgrades.push(...getUpgradeableEnchants(upgradeable));
17
+ upgrades.push(...getUpgradeableEnchants(upgradeable, options?.stat ?? Stat.FarmingFortune));
18
18
  upgrades.push(...getUpgradeableGems(upgradeable));
19
- upgrades.push(...getUpgradeableReforges(upgradeable));
19
+ upgrades.push(...getUpgradeableReforges(upgradeable, options?.stat ? [options.stat] : undefined));
20
20
  return upgrades.filter((u) => u);
21
21
  }
22
22
  export function getSelfFortuneUpgrade(upgradeable) {
@@ -29,19 +29,29 @@ export function getSelfFortuneUpgrade(upgradeable) {
29
29
  upgrade: {
30
30
  title: nextInfo.name,
31
31
  increase: nextFake?.getFortune() ?? 0,
32
+ stats: nextFake?.getStats() ?? {},
32
33
  wiki: nextInfo.wiki,
33
34
  action: UpgradeAction.Purchase,
34
35
  purchase: nextInfo.skyblockId,
35
36
  category: UpgradeCategory.Item,
36
- cost: nextItem.cost ?? {
37
- items: {
38
- [nextInfo.skyblockId]: 1,
39
- },
37
+ cost: {
38
+ ...(nextItem.cost ?? {
39
+ items: {
40
+ [nextInfo.skyblockId]: 1,
41
+ },
42
+ }),
40
43
  },
44
+ skillReq: nextInfo.skillReq,
41
45
  onto: {
42
46
  name: upgradeable.item.name,
43
47
  skyblockId: upgradeable.item.skyblockId,
48
+ newSkyblockId: nextInfo.skyblockId,
44
49
  },
50
+ meta: {
51
+ type: 'buy_item',
52
+ id: nextInfo.skyblockId,
53
+ },
54
+ conflictKey: `item_tier:${nextInfo.skyblockId}`,
45
55
  },
46
56
  };
47
57
  }
@@ -52,19 +62,32 @@ export function getSelfFortuneUpgrade(upgradeable) {
52
62
  upgrade: {
53
63
  title: nextInfo.name,
54
64
  increase: increase < 0 ? 0 : increase,
65
+ stats: nextFake?.getStats() ?? {},
55
66
  wiki: nextInfo.wiki,
56
67
  action: nextItem.reason === UpgradeReason.Situational ? UpgradeAction.Purchase : UpgradeAction.Upgrade,
57
68
  purchase: nextItem.reason === UpgradeReason.Situational ? nextItem.id : undefined,
58
69
  category: UpgradeCategory.Item,
59
- cost: nextItem.cost ?? {
60
- items: {
61
- [nextItem.id]: 1,
62
- },
70
+ cost: {
71
+ ...(nextItem.cost ?? {
72
+ items: {
73
+ [nextItem.id]: 1,
74
+ },
75
+ }),
63
76
  },
77
+ skillReq: nextInfo.skillReq,
64
78
  onto: {
65
79
  name: upgradeable.item.name,
66
80
  skyblockId: upgradeable.item.skyblockId,
81
+ newSkyblockId: nextInfo.skyblockId,
82
+ },
83
+ meta: {
84
+ type: 'buy_item',
85
+ id: nextItem.id,
86
+ itemUuid: nextItem.reason === UpgradeReason.Situational
87
+ ? undefined
88
+ : (upgradeable.item.uuid ?? undefined),
67
89
  },
90
+ conflictKey: `item_tier:${nextItem.id}`,
68
91
  },
69
92
  };
70
93
  }
@@ -131,6 +154,9 @@ export function getUpgradeableRarityUpgrade(upgradeable) {
131
154
  const result = {
132
155
  title: 'Recombobulate ' + upgradeable.item.name,
133
156
  increase: 0,
157
+ stats: {
158
+ [Stat.FarmingFortune]: 0,
159
+ },
134
160
  action: UpgradeAction.Recombobulate,
135
161
  category: UpgradeCategory.Rarity,
136
162
  improvements: [],
@@ -143,6 +169,13 @@ export function getUpgradeableRarityUpgrade(upgradeable) {
143
169
  name: upgradeable.item.name,
144
170
  skyblockId: upgradeable.item.skyblockId,
145
171
  },
172
+ meta: {
173
+ itemUuid: upgradeable.item.uuid ?? undefined,
174
+ type: 'item',
175
+ id: 'rarity_upgrades',
176
+ value: 1,
177
+ },
178
+ conflictKey: 'recombobulate',
146
179
  };
147
180
  // Gemstone fortune increases with rarity
148
181
  // Calculate the difference in fortune between the current and next rarity
@@ -176,8 +209,10 @@ export function getUpgradeableRarityUpgrade(upgradeable) {
176
209
  return undefined;
177
210
  return result;
178
211
  }
179
- export function getUpgradeableReforges(upgradeable) {
180
- const currentFortune = upgradeable.reforgeStats?.stats?.[Stat.FarmingFortune] ?? 0;
212
+ export function getUpgradeableReforges(upgradeable, stats) {
213
+ const primaryStat = stats?.[0] ?? Stat.FarmingFortune;
214
+ const currentPrimary = upgradeable.reforgeStats?.stats?.[primaryStat] ?? 0;
215
+ const currentStats = upgradeable.reforgeStats?.stats ?? {};
181
216
  const result = [];
182
217
  for (const reforge of Object.values(REFORGES)) {
183
218
  // Skip if the reforge doesn't apply to the item or is currently applied
@@ -187,18 +222,32 @@ export function getUpgradeableReforges(upgradeable) {
187
222
  reforge === upgradeable.reforge) {
188
223
  continue;
189
224
  }
225
+ // Only suggest reforges with an explicit reforge stone (keeps output consistent and costable)
226
+ if (!reforge.stone?.id)
227
+ continue;
190
228
  const tier = reforge.tiers[upgradeable.rarity];
191
- if (!tier || !tier.stats?.[Stat.FarmingFortune])
229
+ if (!tier || !tier.stats)
192
230
  continue;
193
- const reforgeFortune = tier.stats[Stat.FarmingFortune];
194
- // Skip if the reforge doesn't increase farming fortune
195
- if (reforgeFortune <= currentFortune)
231
+ const nextPrimary = tier.stats?.[primaryStat] ?? 0;
232
+ // Skip if the reforge doesn't improve the selected stat
233
+ if (nextPrimary <= currentPrimary)
196
234
  continue;
235
+ const deltaStats = {};
236
+ for (const stat of Object.values(Stat)) {
237
+ const before = currentStats?.[stat] ?? 0;
238
+ const after = tier.stats?.[stat] ?? 0;
239
+ const diff = after - before;
240
+ if (diff !== 0)
241
+ deltaStats[stat] = diff;
242
+ }
243
+ const increase = deltaStats[Stat.FarmingFortune] ?? 0;
197
244
  result.push({
198
245
  title: 'Reforge to ' + reforge.name,
199
- increase: reforgeFortune - currentFortune,
246
+ increase,
247
+ stats: deltaStats,
200
248
  action: UpgradeAction.Apply,
201
249
  category: UpgradeCategory.Reforge,
250
+ conflictKey: 'reforge',
202
251
  wiki: reforge.wiki,
203
252
  onto: {
204
253
  name: upgradeable.item.name,
@@ -216,6 +265,11 @@ export function getUpgradeableReforges(upgradeable) {
216
265
  : undefined,
217
266
  }
218
267
  : undefined,
268
+ meta: {
269
+ type: 'reforge',
270
+ id: reforge.name.toLowerCase().replaceAll(' ', '_'),
271
+ itemUuid: upgradeable.item.uuid ?? undefined,
272
+ },
219
273
  });
220
274
  }
221
275
  return result;
@@ -224,7 +278,6 @@ export function getUpgradeableGems(upgradeable) {
224
278
  const peridotSlots = upgradeable.info.gemSlots?.filter((s) => s.slot_type === 'PERIDOT');
225
279
  if (!peridotSlots || peridotSlots.length < 1)
226
280
  return [];
227
- const unlockedSlots = getPeridotGems(upgradeable.item);
228
281
  const result = [];
229
282
  // Add entries for applying missing gems
230
283
  for (let i = 0; i < peridotSlots.length; i++) {
@@ -256,6 +309,9 @@ export function getUpgradeableGems(upgradeable) {
256
309
  result.push({
257
310
  title: 'Fine Peridot Gemstone',
258
311
  increase: getPeridotGemFortune(upgradeable.rarity, GemRarity.Fine),
312
+ stats: {
313
+ [Stat.FarmingFortune]: getPeridotGemFortune(upgradeable.rarity, GemRarity.Fine),
314
+ },
259
315
  cost: cost,
260
316
  onto: {
261
317
  name: upgradeable.item.name,
@@ -263,16 +319,40 @@ export function getUpgradeableGems(upgradeable) {
263
319
  },
264
320
  action: UpgradeAction.Apply,
265
321
  category: UpgradeCategory.Gem,
322
+ conflictKey: `gem:${slotId}:${GemRarity.Fine}`,
323
+ meta: {
324
+ type: 'gem',
325
+ slot: slotId,
326
+ value: GemRarity.Fine,
327
+ itemUuid: upgradeable.item.uuid ?? undefined,
328
+ },
266
329
  });
267
330
  }
268
331
  // Add entries for upgrading existing gems
269
- for (const gem of unlockedSlots) {
270
- if (gem === GemRarity.Perfect)
332
+ // unlockedSlots is array of GemRarity | null.
333
+ // The previous loop handled "applying missing gems" which usually means slot unlocking AND gem placement?
334
+ // Wait, getPeridotGems returns the rarities of gems in slots.
335
+ // The previous loop checks `upgradeable.item?.gems?.[slotId] !== undefined`.
336
+ // If gems are missing, it suggests "Fine Peridot".
337
+ // The second loop iterates `unlockedSlots`.
338
+ // But we need the SLOT ID for the second loop upgrades too.
339
+ // getPeridotGems returns array of values, logic relies on index implicitly mapping to slots?
340
+ // getPeridotGems implementation in `src/util/gems.ts` iterates slots PERIDOT_0, PERIDOT_1...
341
+ // So `unlockedSlots[i]` corresponds to `PERIDOT_i`.
342
+ // Add entries for upgrading existing gems
343
+ const gems = upgradeable.item.gems ?? {};
344
+ for (const [slotId, gem] of Object.entries(gems)) {
345
+ if (!slotId.startsWith('PERIDOT'))
346
+ continue;
347
+ const gemRarity = gem;
348
+ if (gemRarity === undefined)
349
+ continue;
350
+ if (gemRarity === GemRarity.Perfect)
271
351
  continue;
272
352
  // Start at Fine if the gem is null (not applied)
273
353
  // Flawed and Rough gems are not really worth applying
274
- const nextGem = gem === null ? GemRarity.Fine : getNextGemRarity(gem);
275
- const currentFortune = getPeridotGemFortune(upgradeable.rarity, gem);
354
+ const nextGem = gemRarity === null ? GemRarity.Fine : getNextGemRarity(gemRarity);
355
+ const currentFortune = getPeridotGemFortune(upgradeable.rarity, gemRarity);
276
356
  const nextFortune = getPeridotGemFortune(upgradeable.rarity, nextGem);
277
357
  if (nextFortune > currentFortune) {
278
358
  result.push({
@@ -287,8 +367,18 @@ export function getUpgradeableGems(upgradeable) {
287
367
  skyblockId: upgradeable.item.skyblockId,
288
368
  },
289
369
  increase: nextFortune - currentFortune,
370
+ stats: {
371
+ [Stat.FarmingFortune]: nextFortune - currentFortune,
372
+ },
290
373
  action: UpgradeAction.Apply,
291
374
  category: UpgradeCategory.Gem,
375
+ conflictKey: `gem:${slotId}:${nextGem}`,
376
+ meta: {
377
+ type: 'gem',
378
+ slot: slotId,
379
+ value: nextGem,
380
+ itemUuid: upgradeable.item.uuid ?? undefined,
381
+ },
292
382
  });
293
383
  }
294
384
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgrades.js","sourceRoot":"","sources":["../../src/upgrades/upgrades.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrades.js","sourceRoot":"","sources":["../../src/upgrades/upgrades.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Stat } from '../constants/stats.js';
2
+ import type { FortuneUpgrade } from '../constants/upgrades.js';
3
+ export declare function getUpgradeDelta(upgrade: FortuneUpgrade, stat: Stat): number;
4
+ export declare function filterAndSortUpgrades(upgrades: FortuneUpgrade[], options?: {
5
+ stat?: Stat;
6
+ }): FortuneUpgrade[];
@@ -0,0 +1,18 @@
1
+ import { Stat } from '../constants/stats.js';
2
+ export function getUpgradeDelta(upgrade, stat) {
3
+ if (stat === Stat.FarmingFortune) {
4
+ return upgrade.stats?.[Stat.FarmingFortune] ?? upgrade.increase ?? 0;
5
+ }
6
+ return upgrade.stats?.[stat] ?? 0;
7
+ }
8
+ export function filterAndSortUpgrades(upgrades, options) {
9
+ const stat = options?.stat ?? Stat.FarmingFortune;
10
+ if (stat === Stat.FarmingFortune) {
11
+ upgrades.sort((a, b) => (b.increase ?? 0) - (a.increase ?? 0));
12
+ return upgrades;
13
+ }
14
+ const filtered = upgrades.filter((u) => getUpgradeDelta(u, stat) !== 0);
15
+ filtered.sort((a, b) => getUpgradeDelta(b, stat) - getUpgradeDelta(a, stat));
16
+ return filtered;
17
+ }
18
+ //# sourceMappingURL=upgradeutils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradeutils.js","sourceRoot":"","sources":["../../src/upgrades/upgradeutils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,UAAU,eAAe,CAAC,OAAuB,EAAE,IAAU;IAClE,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAA0B,EAAE,OAAyB;IAC1F,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC;IAClD,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC;AACjB,CAAC"}
@@ -1,5 +1,8 @@
1
1
  import type { Crop } from '../constants/crops.js';
2
2
  import type { FarmingEnchant } from '../constants/enchants.js';
3
+ import { Stat } from '../constants/stats.js';
3
4
  import type { PlayerOptions } from '../player/playeroptions.js';
4
5
  export declare function getFortuneFromEnchant(level: number, enchant: FarmingEnchant, options?: PlayerOptions, crop?: Crop): number;
6
+ export declare function getStatFromEnchant(level: number, enchant: FarmingEnchant, stat: Stat, options?: PlayerOptions, crop?: Crop): number;
5
7
  export declare function getMaxFortuneFromEnchant(enchant: FarmingEnchant, options?: PlayerOptions, crop?: Crop): number;
8
+ export declare function getMaxStatFromEnchant(enchant: FarmingEnchant, stat: Stat, options?: PlayerOptions, crop?: Crop): number;
@@ -1,43 +1,49 @@
1
1
  import { Stat } from '../constants/stats.js';
2
2
  export function getFortuneFromEnchant(level, enchant, options, crop) {
3
+ return getStatFromEnchant(level, enchant, Stat.FarmingFortune, options, crop);
4
+ }
5
+ export function getStatFromEnchant(level, enchant, stat, options, crop) {
3
6
  if (level <= 0)
4
7
  return 0;
5
8
  const tier = enchant.levels?.[level];
6
9
  if (!tier)
7
10
  return 0;
8
- let fortune = getFortuneFromTier(tier, options, crop, enchant);
11
+ let value = getStatFromTier(tier, stat, options, crop, enchant);
9
12
  if (enchant.computedLevels && options) {
10
13
  const computedTier = enchant.computedLevels(options)?.[level];
11
14
  if (computedTier) {
12
- fortune += getFortuneFromTier(computedTier, options, crop, enchant);
15
+ value += getStatFromTier(computedTier, stat, options, crop, enchant);
13
16
  }
14
17
  }
15
- return fortune;
18
+ return value;
16
19
  }
17
20
  export function getMaxFortuneFromEnchant(enchant, options, crop) {
21
+ return getMaxStatFromEnchant(enchant, Stat.FarmingFortune, options, crop);
22
+ }
23
+ export function getMaxStatFromEnchant(enchant, stat, options, crop) {
18
24
  if (enchant.maxStats) {
19
- return enchant.maxStats[Stat.FarmingFortune] ?? 0;
25
+ return enchant.maxStats[stat] ?? 0;
20
26
  }
21
27
  const tier = enchant.levels?.[enchant.maxLevel];
22
28
  if (!tier)
23
29
  return 0;
24
- let fortune = getFortuneFromTier(tier, options, crop, enchant);
30
+ let value = getStatFromTier(tier, stat, options, crop, enchant);
25
31
  if (enchant.computedLevels && options) {
26
32
  const computedTier = enchant.computedLevels(options)?.[enchant.maxLevel];
27
33
  if (computedTier) {
28
- fortune += getFortuneFromTier(computedTier, options, crop, enchant);
34
+ value += getStatFromTier(computedTier, stat, options, crop, enchant);
29
35
  }
30
36
  }
31
- return fortune;
37
+ return value;
32
38
  }
33
- function getFortuneFromTier(tier, options, crop, enchant) {
34
- let fortune = tier.stats?.[Stat.FarmingFortune] ?? 0;
39
+ function getStatFromTier(tier, stat, options, crop, enchant) {
40
+ let value = tier.stats?.[stat] ?? 0;
35
41
  if (options) {
36
- fortune += tier.computed?.[Stat.FarmingFortune]?.(options) ?? 0;
42
+ value += tier.computed?.[stat]?.(options) ?? 0;
37
43
  }
38
44
  if (crop && (!enchant.cropSpecific || enchant.cropSpecific === crop)) {
39
- fortune += tier.cropComputed?.[Stat.FarmingFortune]?.(crop, options) ?? 0;
45
+ value += tier.cropComputed?.[stat]?.(crop, options) ?? 0;
40
46
  }
41
- return fortune;
47
+ return value;
42
48
  }
43
49
  //# sourceMappingURL=enchants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enchants.js","sourceRoot":"","sources":["../../src/util/enchants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAG7C,MAAM,UAAU,qBAAqB,CACpC,KAAa,EACb,OAAuB,EACvB,OAAuB,EACvB,IAAW;IAEX,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAEzB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAEpB,IAAI,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAuB,EAAE,OAAuB,EAAE,IAAW;IACrG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAEpB,IAAI,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,kBAAkB,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAC1B,IAAwB,EACxB,OAAkC,EAClC,IAAsB,EACtB,OAAuB;IAEvB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAErD,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"enchants.js","sourceRoot":"","sources":["../../src/util/enchants.ts"],"names":[],"mappings":"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"}
@@ -41,4 +41,5 @@ export declare function getNextPlotCost(plots: string[]): {
41
41
  type: PlotType;
42
42
  position: number[];
43
43
  } | undefined;
44
+ plotId: string | undefined;
44
45
  } | undefined;
@@ -115,7 +115,9 @@ export function groupGardenVisitors(visitors) {
115
115
  export function getNextPlotCost(plots) {
116
116
  const unlocked = plots.reduce((acc, plot) => {
117
117
  const plotData = GARDEN_PLOTS[plot];
118
- acc[plotData.type] = (acc[plotData.type] ?? 0) + 1;
118
+ if (plotData) {
119
+ acc[plotData.type] = (acc[plotData.type] ?? 0) + 1;
120
+ }
119
121
  return acc;
120
122
  }, {});
121
123
  for (const [type, count] of Object.entries(GARDEN_PLOT_COSTS)) {
@@ -124,7 +126,11 @@ export function getNextPlotCost(plots) {
124
126
  const nextPlot = Object.entries(GARDEN_PLOTS)
125
127
  .filter(([id, plot]) => plot.type === plotType && !plots.includes(id))
126
128
  .sort((a, b) => a[1].name.localeCompare(b[1].name))[0];
127
- return { cost: count[unlocked?.[plotType] ?? 0], plot: nextPlot ? nextPlot[1] : undefined };
129
+ return {
130
+ cost: count[unlocked?.[plotType] ?? 0],
131
+ plot: nextPlot ? nextPlot[1] : undefined,
132
+ plotId: nextPlot ? nextPlot[0] : undefined,
133
+ };
128
134
  }
129
135
  }
130
136
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"garden.js","sourceRoot":"","sources":["../../src/util/garden.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAiB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAY7C;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,WAAqB,EAAE,QAAiB,EAAE,QAAQ,GAAG,KAAK;IAC/F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,EAAE,GAAG,GAAG,CAAC;IACb,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,EAAE,IAAI,UAAU,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YAER,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM;YACP,CAAC;QACF,CAAC;aAAM,CAAC;YACP,KAAK,GAAG,KAAK,CAAC;YACd,EAAE,IAAI,UAAU,CAAC;YACjB,MAAM;QACP,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,KAAK,IAAI,QAAQ,CAAC;IAEnD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;YACpD,KAAK,IAAI,cAAc,CAAC;YACxB,EAAE,IAAI,cAAc,GAAG,WAAW,CAAC;QACpC,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE7E,OAAO;QACN,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QACvD,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACjD,IAAI,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;KACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;IAC3D,OAAO,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAU,EAAE,UAAkB,EAAE,QAAQ,GAAG,KAAK;IAChF,OAAO,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,KAAsC,EACtC,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,EAAmC,CAAC;IAEvD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/E,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QAElC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,KAAyD,EACzD,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,EAA4B,CAAC;IAEhD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;QACxF,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QAElC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;IACpF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgC;IAC/D,MAAM,YAAY,GAAG,EAA4B,CAAC;IAElD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAaD,MAAM,UAAU,mBAAmB,CAAC,QAA4C;IAC/E,MAAM,MAAM,GAAG,EAAkD,CAAC;IAElE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC3B,GAAG,OAAO;YACV,GAAG,KAAK;SACR,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAChC,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAe;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAoC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9E,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAiC,CAAC,CAAC;QACjE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAgB,CAAC;QAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;iBAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACrE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC7F,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"garden.js","sourceRoot":"","sources":["../../src/util/garden.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAiB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAY7C;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,WAAqB,EAAE,QAAiB,EAAE,QAAQ,GAAG,KAAK;IAC/F,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,EAAE,GAAG,GAAG,CAAC;IACb,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,EAAE,IAAI,UAAU,CAAC;QACjB,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACZ,KAAK,EAAE,CAAC;YAER,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM;YACP,CAAC;QACF,CAAC;aAAM,CAAC;YACP,KAAK,GAAG,KAAK,CAAC;YACd,EAAE,IAAI,UAAU,CAAC;YACjB,MAAM;QACP,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,KAAK,IAAI,QAAQ,CAAC;IAEnD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,WAAW,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;YACpD,KAAK,IAAI,cAAc,CAAC;YACxB,EAAE,IAAI,cAAc,GAAG,WAAW,CAAC;QACpC,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE7E,OAAO;QACN,KAAK,EAAE,GAAG;QACV,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;QACvD,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACjD,IAAI,EAAE,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;KACnD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,QAAQ,GAAG,KAAK;IAC3D,OAAO,QAAQ,CAAC,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAU,EAAE,UAAkB,EAAE,QAAQ,GAAG,KAAK;IAChF,OAAO,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,KAAsC,EACtC,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,EAAmC,CAAC;IAEvD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAC/E,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QAElC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,KAAyD,EACzD,QAAQ,GAAG,KAAK;IAEhB,MAAM,UAAU,GAAG,EAA4B,CAAC;IAEhD,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;QACxF,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;YAAE,SAAS;QAElC,UAAU,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC;IACpF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAgC;IAC/D,MAAM,YAAY,GAAG,EAA4B,CAAC;IAElD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI;YAAE,SAAS;QAEpB,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO,YAAY,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC/C,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAaD,MAAM,UAAU,mBAAmB,CAAC,QAA4C;IAC/E,MAAM,MAAM,GAAG,EAAkD,CAAC;IAElE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC3B,GAAG,OAAO;YACV,GAAG,KAAK;SACR,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnB,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAChC,CAAC;YACD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAe;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAoC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9E,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAiC,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACd,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAgB,CAAC;QAClC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAClF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;iBAC3C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBACrE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,OAAO;gBACN,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gBACxC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aAC1C,CAAC;QACH,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import type { Rarity } from '../constants/reforges.js';
2
+ import { Stat } from '../constants/stats.js';
2
3
  import { type EliteItemDto, GemRarity } from '../fortune/item.js';
3
4
  export declare function getPeridotFortune(rarity: Rarity, item: EliteItemDto): number;
5
+ export declare function getGemStat(item: EliteItemDto, stat: Stat, rarity: Rarity): number;
4
6
  export declare function getPeridotGems(item: EliteItemDto): (GemRarity | null)[];
5
7
  export declare function getPeridotGemFortune(rarity: Rarity, gem: GemRarity | null): number;
6
8
  export declare function getNextGemRarity(gem: GemRarity | null): GemRarity;
package/dist/util/gems.js CHANGED
@@ -1,15 +1,36 @@
1
- import { PERIDOT } from '../constants/gems.js';
1
+ import { GEMSTONES } from '../constants/gems.js';
2
+ import { Stat } from '../constants/stats.js';
2
3
  import { GemRarity } from '../fortune/item.js';
3
4
  export function getPeridotFortune(rarity, item) {
5
+ return getGemStat(item, Stat.FarmingFortune, rarity);
6
+ }
7
+ export function getGemStat(item, stat, rarity) {
4
8
  const gems = item.gems;
5
9
  if (!gems)
6
10
  return 0;
7
- const peridot = PERIDOT[rarity];
8
- if (!peridot)
9
- return 0;
10
- return Object.entries(gems)
11
- .filter(([gem, value]) => gem.startsWith('PERIDOT') && value !== null)
12
- .reduce((acc, gem) => acc + peridot[gem[1]], 0);
11
+ let sum = 0;
12
+ for (const [slot, gemRarity] of Object.entries(gems)) {
13
+ if (!gemRarity)
14
+ continue;
15
+ // Slot format: GEM_TYPE_INDEX (e.g., RUBY_0, PERIDOT_1)
16
+ const parts = slot.split('_');
17
+ const gemType = parts[0];
18
+ if (!gemType)
19
+ continue;
20
+ const gemstoneInfo = GEMSTONES[gemType];
21
+ if (!gemstoneInfo)
22
+ continue;
23
+ if (gemstoneInfo.stat !== stat)
24
+ continue;
25
+ const rarityStats = gemstoneInfo.stats[gemRarity];
26
+ if (!rarityStats)
27
+ continue;
28
+ const value = rarityStats[rarity];
29
+ if (value) {
30
+ sum += value;
31
+ }
32
+ }
33
+ return sum;
13
34
  }
14
35
  export function getPeridotGems(item) {
15
36
  const gems = item.gems;
@@ -22,7 +43,7 @@ export function getPeridotGems(item) {
22
43
  export function getPeridotGemFortune(rarity, gem) {
23
44
  if (!gem)
24
45
  return 0;
25
- return PERIDOT[rarity]?.[gem] ?? 0;
46
+ return GEMSTONES['PERIDOT']?.stats[gem]?.[rarity] ?? 0;
26
47
  }
27
48
  export function getNextGemRarity(gem) {
28
49
  switch (gem) {
@@ -1 +1 @@
1
- {"version":3,"file":"gems.js","sourceRoot":"","sources":["../../src/util/gems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAqB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,IAAkB;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC;SACrE,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAc,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAkB;IAChD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SAC5C,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAA0B,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,GAAqB;IACzE,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAqB;IACrD,QAAQ,GAAG,EAAE,CAAC;QACb,KAAK,IAAI;YACR,OAAO,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,SAAS,CAAC,KAAK;YACnB,OAAO,SAAS,CAAC,MAAM,CAAC;QACzB,KAAK,SAAS,CAAC,MAAM;YACpB,OAAO,SAAS,CAAC,IAAI,CAAC;QACvB,KAAK,SAAS,CAAC,IAAI;YAClB,OAAO,SAAS,CAAC,QAAQ,CAAC;QAC3B,KAAK,SAAS,CAAC,QAAQ;YACtB,OAAO,SAAS,CAAC,OAAO,CAAC;QAC1B,KAAK,SAAS,CAAC,OAAO;YACrB,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;AACF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACxD,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,IAAI;YACR,OAAO,MAAM,CAAC;QACf,KAAK,SAAS,CAAC,KAAK;YACnB,OAAO,OAAO,CAAC;QAChB,KAAK,SAAS,CAAC,MAAM;YACpB,OAAO,QAAQ,CAAC;QACjB,KAAK,SAAS,CAAC,IAAI;YAClB,OAAO,MAAM,CAAC;QACf,KAAK,SAAS,CAAC,QAAQ;YACtB,OAAO,UAAU,CAAC;QACnB,KAAK,SAAS,CAAC,OAAO;YACrB,OAAO,SAAS,CAAC;IACnB,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"gems.js","sourceRoot":"","sources":["../../src/util/gems.ts"],"names":[],"mappings":"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"}