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.
- package/README.md +45 -18
- package/dist/constants/attributes.d.ts +12 -7
- package/dist/constants/attributes.js +17 -39
- package/dist/constants/attributes.js.map +1 -1
- package/dist/constants/chips.d.ts +1 -6
- package/dist/constants/chips.js +11 -15
- package/dist/constants/chips.js.map +1 -1
- package/dist/constants/crops.d.ts +28 -4
- package/dist/constants/crops.js +65 -2
- package/dist/constants/crops.js.map +1 -1
- package/dist/constants/enchants.d.ts +1 -1
- package/dist/constants/enchants.js +117 -68
- package/dist/constants/enchants.js.map +1 -1
- package/dist/constants/garden.js +152 -137
- package/dist/constants/garden.js.map +1 -1
- package/dist/constants/pests.d.ts +3 -2
- package/dist/constants/pests.js +5 -0
- package/dist/constants/pests.js.map +1 -1
- package/dist/constants/reforge-types.d.ts +57 -0
- package/dist/constants/reforge-types.js +40 -0
- package/dist/constants/reforge-types.js.map +1 -0
- package/dist/constants/reforges.d.ts +8 -55
- package/dist/constants/reforges.js +10 -635
- package/dist/constants/reforges.js.map +1 -1
- package/dist/constants/specific.js +11 -11
- package/dist/constants/specific.js.map +1 -1
- package/dist/constants/stats.d.ts +1 -0
- package/dist/constants/stats.js +2 -0
- package/dist/constants/stats.js.map +1 -1
- package/dist/constants/tempfortune.d.ts +5 -0
- package/dist/constants/tempfortune.js +36 -7
- package/dist/constants/tempfortune.js.map +1 -1
- package/dist/constants/upgrades.d.ts +36 -3
- package/dist/constants/upgrades.js +12 -0
- package/dist/constants/upgrades.js.map +1 -1
- package/dist/crops/special.d.ts +1 -1
- package/dist/crops/special.js.map +1 -1
- package/dist/effects/environment.d.ts +12 -0
- package/dist/effects/environment.js +33 -0
- package/dist/effects/environment.js.map +1 -0
- package/dist/effects/index.d.ts +4 -0
- package/dist/effects/index.js +5 -0
- package/dist/effects/index.js.map +1 -0
- package/dist/effects/matcher.d.ts +23 -0
- package/dist/effects/matcher.js +108 -0
- package/dist/effects/matcher.js.map +1 -0
- package/dist/effects/resolver.d.ts +63 -0
- package/dist/effects/resolver.js +239 -0
- package/dist/effects/resolver.js.map +1 -0
- package/dist/effects/summary.d.ts +5 -0
- package/dist/effects/summary.js +21 -0
- package/dist/effects/summary.js.map +1 -0
- package/dist/effects/types.d.ts +147 -0
- package/dist/effects/types.js +9 -0
- package/dist/effects/types.js.map +1 -0
- package/dist/features/composter/upgrades.js +5 -5
- package/dist/features/composter/upgrades.js.map +1 -1
- package/dist/fortune/farmingaccessory.d.ts +9 -1
- package/dist/fortune/farmingaccessory.js +24 -13
- package/dist/fortune/farmingaccessory.js.map +1 -1
- package/dist/fortune/farmingarmor.d.ts +21 -10
- package/dist/fortune/farmingarmor.js +89 -29
- package/dist/fortune/farmingarmor.js.map +1 -1
- package/dist/fortune/farmingequipment.d.ts +10 -1
- package/dist/fortune/farmingequipment.js +44 -11
- package/dist/fortune/farmingequipment.js.map +1 -1
- package/dist/fortune/farmingpet.d.ts +16 -0
- package/dist/fortune/farmingpet.js +207 -0
- package/dist/fortune/farmingpet.js.map +1 -1
- package/dist/fortune/farmingtool.d.ts +13 -6
- package/dist/fortune/farmingtool.js +60 -44
- package/dist/fortune/farmingtool.js.map +1 -1
- package/dist/fortune/lotuspiecebonus.d.ts +6 -0
- package/dist/fortune/lotuspiecebonus.js +20 -0
- package/dist/fortune/lotuspiecebonus.js.map +1 -0
- package/dist/fortune/upgradeable.d.ts +2 -4
- package/dist/fortune/upgradeablebase.d.ts +2 -4
- package/dist/fortune/upgradeablebase.js +4 -10
- package/dist/fortune/upgradeablebase.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/items/accessories/base.d.ts +3 -0
- package/dist/items/accessories/base.js +4 -0
- package/dist/items/accessories/base.js.map +1 -0
- package/dist/items/accessories/fermento-family.d.ts +91 -0
- package/dist/items/accessories/fermento-family.js +125 -0
- package/dist/items/accessories/fermento-family.js.map +1 -0
- package/dist/items/accessories/freshly-baked.d.ts +80 -0
- package/dist/items/accessories/freshly-baked.js +119 -0
- package/dist/items/accessories/freshly-baked.js.map +1 -0
- package/dist/items/accessories/index.d.ts +25 -0
- package/dist/items/accessories/index.js +25 -0
- package/dist/items/accessories/index.js.map +1 -0
- package/dist/items/accessories/power-relic.d.ts +18 -0
- package/dist/items/accessories/power-relic.js +37 -0
- package/dist/items/accessories/power-relic.js.map +1 -0
- package/dist/items/accessories/special.d.ts +24 -0
- package/dist/items/accessories/special.js +41 -0
- package/dist/items/accessories/special.js.map +1 -0
- package/dist/items/accessories.d.ts +2 -3
- package/dist/items/accessories.js +1 -137
- package/dist/items/accessories.js.map +1 -1
- package/dist/items/armor/biohazard.js +4 -4
- package/dist/items/armor/biohazard.js.map +1 -1
- package/dist/items/armor/cropie.d.ts +4 -0
- package/dist/items/armor/cropie.js +10 -4
- package/dist/items/armor/cropie.js.map +1 -1
- package/dist/items/armor/farm.js +4 -4
- package/dist/items/armor/farm.js.map +1 -1
- package/dist/items/armor/fermento.d.ts +4 -0
- package/dist/items/armor/fermento.js +10 -4
- package/dist/items/armor/fermento.js.map +1 -1
- package/dist/items/armor/groups.d.ts +2 -0
- package/dist/items/armor/groups.js +17 -0
- package/dist/items/armor/groups.js.map +1 -0
- package/dist/items/armor/helianthus.js +4 -4
- package/dist/items/armor/helianthus.js.map +1 -1
- package/dist/items/armor/melon.d.ts +4 -0
- package/dist/items/armor/melon.js +10 -4
- package/dist/items/armor/melon.js.map +1 -1
- package/dist/items/armor/mushroom.js +4 -4
- package/dist/items/armor/mushroom.js.map +1 -1
- package/dist/items/armor/rabbit.js +4 -4
- package/dist/items/armor/rabbit.js.map +1 -1
- package/dist/items/armor/special.js +4 -4
- package/dist/items/armor/special.js.map +1 -1
- package/dist/items/armor/squash.d.ts +4 -0
- package/dist/items/armor/squash.js +10 -4
- package/dist/items/armor/squash.js.map +1 -1
- package/dist/items/equipment/blossom.js +4 -4
- package/dist/items/equipment/blossom.js.map +1 -1
- package/dist/items/equipment/lotus.js +4 -4
- package/dist/items/equipment/lotus.js.map +1 -1
- package/dist/items/equipment/pesthunter.js +4 -4
- package/dist/items/equipment/pesthunter.js.map +1 -1
- package/dist/items/equipment/special.js +2 -2
- package/dist/items/equipment/special.js.map +1 -1
- package/dist/items/gems/base.d.ts +19 -0
- package/dist/items/gems/base.js +60 -0
- package/dist/items/gems/base.js.map +1 -0
- package/dist/items/gems/index.d.ts +1 -0
- package/dist/items/gems/index.js +2 -0
- package/dist/items/gems/index.js.map +1 -0
- package/dist/items/pets/bee.d.ts +9 -0
- package/dist/items/pets/bee.js +33 -1
- package/dist/items/pets/bee.js.map +1 -1
- package/dist/items/pets/chicken.js +1 -1
- package/dist/items/pets/chicken.js.map +1 -1
- package/dist/items/pets/elephant.js +1 -1
- package/dist/items/pets/elephant.js.map +1 -1
- package/dist/items/pets/hedgehog.d.ts +5 -0
- package/dist/items/pets/hedgehog.js +6 -1
- package/dist/items/pets/hedgehog.js.map +1 -1
- package/dist/items/pets/mooshroom-cow.js +1 -1
- package/dist/items/pets/mooshroom-cow.js.map +1 -1
- package/dist/items/pets/mosquito.js +1 -1
- package/dist/items/pets/mosquito.js.map +1 -1
- package/dist/items/pets/pig.d.ts +5 -0
- package/dist/items/pets/pig.js +19 -14
- package/dist/items/pets/pig.js.map +1 -1
- package/dist/items/pets/rabbit.js +1 -1
- package/dist/items/pets/rabbit.js.map +1 -1
- package/dist/items/pets/rose-dragon.js +12 -14
- package/dist/items/pets/rose-dragon.js.map +1 -1
- package/dist/items/pets/slug.js +1 -1
- package/dist/items/pets/slug.js.map +1 -1
- package/dist/items/pets.d.ts +1 -1
- package/dist/items/pets.js +18 -4
- package/dist/items/pets.js.map +1 -1
- package/dist/items/reforges/base.d.ts +18 -0
- package/dist/items/reforges/base.js +54 -0
- package/dist/items/reforges/base.js.map +1 -0
- package/dist/items/reforges/blessed.d.ts +7 -0
- package/dist/items/reforges/blessed.js +90 -0
- package/dist/items/reforges/blessed.js.map +1 -0
- package/dist/items/reforges/blooming.d.ts +4 -0
- package/dist/items/reforges/blooming.js +43 -0
- package/dist/items/reforges/blooming.js.map +1 -0
- package/dist/items/reforges/bountiful.d.ts +4 -0
- package/dist/items/reforges/bountiful.js +63 -0
- package/dist/items/reforges/bountiful.js.map +1 -0
- package/dist/items/reforges/bustling.d.ts +4 -0
- package/dist/items/reforges/bustling.js +26 -0
- package/dist/items/reforges/bustling.js.map +1 -0
- package/dist/items/reforges/deep-fried.d.ts +7 -0
- package/dist/items/reforges/deep-fried.js +38 -0
- package/dist/items/reforges/deep-fried.js.map +1 -0
- package/dist/items/reforges/earthy.d.ts +4 -0
- package/dist/items/reforges/earthy.js +26 -0
- package/dist/items/reforges/earthy.js.map +1 -0
- package/dist/items/reforges/green-thumb.d.ts +4 -0
- package/dist/items/reforges/green-thumb.js +43 -0
- package/dist/items/reforges/green-thumb.js.map +1 -0
- package/dist/items/reforges/index.d.ts +16 -0
- package/dist/items/reforges/index.js +43 -0
- package/dist/items/reforges/index.js.map +1 -0
- package/dist/items/reforges/mantid.d.ts +4 -0
- package/dist/items/reforges/mantid.js +43 -0
- package/dist/items/reforges/mantid.js.map +1 -0
- package/dist/items/reforges/mossy.d.ts +4 -0
- package/dist/items/reforges/mossy.js +44 -0
- package/dist/items/reforges/mossy.js.map +1 -0
- package/dist/items/reforges/overpriced.d.ts +4 -0
- package/dist/items/reforges/overpriced.js +43 -0
- package/dist/items/reforges/overpriced.js.map +1 -0
- package/dist/items/reforges/robust.d.ts +4 -0
- package/dist/items/reforges/robust.js +22 -0
- package/dist/items/reforges/robust.js.map +1 -0
- package/dist/items/reforges/rooted.d.ts +4 -0
- package/dist/items/reforges/rooted.js +43 -0
- package/dist/items/reforges/rooted.js.map +1 -0
- package/dist/items/reforges/squeaky.d.ts +4 -0
- package/dist/items/reforges/squeaky.js +47 -0
- package/dist/items/reforges/squeaky.js.map +1 -0
- package/dist/items/sources/attributes.d.ts +119 -0
- package/dist/items/sources/attributes.js +285 -0
- package/dist/items/sources/attributes.js.map +1 -0
- package/dist/items/sources/base.d.ts +33 -0
- package/dist/items/sources/base.js +13 -0
- package/dist/items/sources/base.js.map +1 -0
- package/dist/items/sources/chips.d.ts +54 -0
- package/dist/items/sources/chips.js +100 -0
- package/dist/items/sources/chips.js.map +1 -0
- package/dist/items/sources/effects-util.d.ts +10 -0
- package/dist/items/sources/effects-util.js +35 -0
- package/dist/items/sources/effects-util.js.map +1 -0
- package/dist/items/sources/enchants.d.ts +28 -0
- package/dist/items/sources/enchants.js +87 -0
- package/dist/items/sources/enchants.js.map +1 -0
- package/dist/items/sources/gems.d.ts +9 -0
- package/dist/items/sources/gems.js +35 -0
- package/dist/items/sources/gems.js.map +1 -0
- package/dist/items/sources/index.d.ts +6 -0
- package/dist/items/sources/index.js +7 -0
- package/dist/items/sources/index.js.map +1 -0
- package/dist/items/sources/reforges.d.ts +8 -0
- package/dist/items/sources/reforges.js +10 -0
- package/dist/items/sources/reforges.js.map +1 -0
- package/dist/items/tools/cactus-knife.js +6 -6
- package/dist/items/tools/cactus-knife.js.map +1 -1
- package/dist/items/tools/cocoa-chopper.js +6 -6
- package/dist/items/tools/cocoa-chopper.js.map +1 -1
- package/dist/items/tools/dicers.js +6 -6
- package/dist/items/tools/dicers.js.map +1 -1
- package/dist/items/tools/fungi-cutter.js +6 -6
- package/dist/items/tools/fungi-cutter.js.map +1 -1
- package/dist/items/tools/mathematical-hoes.d.ts +5 -5
- package/dist/items/tools/mathematical-hoes.js +26 -26
- package/dist/items/tools/mathematical-hoes.js.map +1 -1
- package/dist/items/tools/special.js +2 -2
- package/dist/items/tools/special.js.map +1 -1
- package/dist/items/types/pets.d.ts +0 -2
- package/dist/player/player.d.ts +60 -7
- package/dist/player/player.js +318 -128
- package/dist/player/player.js.map +1 -1
- package/dist/player/playeroptions.d.ts +25 -1
- package/dist/player/playeroptions.js.map +1 -1
- package/dist/upgrades/enchantupgrades.js +22 -8
- package/dist/upgrades/enchantupgrades.js.map +1 -1
- package/dist/upgrades/getsourceprogress.js +7 -0
- package/dist/upgrades/getsourceprogress.js.map +1 -1
- package/dist/upgrades/groups.d.ts +3 -0
- package/dist/upgrades/groups.js +86 -0
- package/dist/upgrades/groups.js.map +1 -0
- package/dist/upgrades/itemcatalog.d.ts +3 -0
- package/dist/upgrades/itemcatalog.js +21 -0
- package/dist/upgrades/itemcatalog.js.map +1 -0
- package/dist/upgrades/itemregistry.d.ts +1 -2
- package/dist/upgrades/itemregistry.js +23 -3
- package/dist/upgrades/itemregistry.js.map +1 -1
- package/dist/upgrades/sources/accessorysources.js +1 -1
- package/dist/upgrades/sources/accessorysources.js.map +1 -1
- package/dist/upgrades/sources/armorsetsources.js +16 -16
- package/dist/upgrades/sources/armorsetsources.js.map +1 -1
- package/dist/upgrades/sources/cropsources.js +10 -5
- package/dist/upgrades/sources/cropsources.js.map +1 -1
- package/dist/upgrades/sources/dynamicfortunesources.d.ts +5 -2
- package/dist/upgrades/sources/effectsources.d.ts +4 -0
- package/dist/upgrades/sources/effectsources.js +60 -0
- package/dist/upgrades/sources/effectsources.js.map +1 -0
- package/dist/upgrades/sources/gearsources.js +33 -8
- package/dist/upgrades/sources/gearsources.js.map +1 -1
- package/dist/upgrades/sources/generalsources.d.ts +3 -2
- package/dist/upgrades/sources/generalsources.js +313 -22
- package/dist/upgrades/sources/generalsources.js.map +1 -1
- package/dist/upgrades/sources/toolsources.js +64 -84
- package/dist/upgrades/sources/toolsources.js.map +1 -1
- package/dist/upgrades/upgradekeys.d.ts +2 -0
- package/dist/upgrades/upgradekeys.js +5 -0
- package/dist/upgrades/upgradekeys.js.map +1 -0
- package/dist/upgrades/upgrades.d.ts +5 -7
- package/dist/upgrades/upgrades.js +142 -43
- package/dist/upgrades/upgrades.js.map +1 -1
- package/dist/upgrades/upgradeutils.d.ts +2 -4
- package/dist/upgrades/upgradeutils.js +26 -6
- package/dist/upgrades/upgradeutils.js.map +1 -1
- package/dist/util/bestiary.d.ts +10 -0
- package/dist/util/bestiary.js +41 -0
- package/dist/util/bestiary.js.map +1 -0
- package/dist/util/enchants.d.ts +6 -0
- package/dist/util/enchants.js +20 -5
- package/dist/util/enchants.js.map +1 -1
- package/dist/util/gems.js +4 -30
- package/dist/util/gems.js.map +1 -1
- package/dist/util/itemstats.d.ts +3 -0
- package/dist/util/itemstats.js +20 -2
- package/dist/util/itemstats.js.map +1 -1
- package/dist/util/ratecalc-effects.d.ts +64 -0
- package/dist/util/ratecalc-effects.js +252 -0
- package/dist/util/ratecalc-effects.js.map +1 -0
- package/dist/util/ratecalc.d.ts +0 -33
- package/dist/util/ratecalc.js +0 -187
- package/dist/util/ratecalc.js.map +1 -1
- package/dist/util/skyblocktime.d.ts +1 -0
- package/dist/util/skyblocktime.js +4 -0
- package/dist/util/skyblocktime.js.map +1 -1
- 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
|
|
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 {
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
|
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,
|
|
15
|
-
perLevelStats?: StatsRecord<unknown,
|
|
16
|
-
active?: DynamicFortuneSource<
|
|
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:
|
|
29
|
-
export declare function getShardStat(shard: FarmingAttributeShard, player:
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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://
|
|
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://
|
|
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://
|
|
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: '
|
|
197
|
-
wiki: 'https://
|
|
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://
|
|
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://
|
|
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":"
|
|
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://
|
|
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;
|
package/dist/constants/chips.js
CHANGED
|
@@ -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://
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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":"
|
|
1
|
+
{"version":3,"file":"chips.js","sourceRoot":"","sources":["../../src/constants/chips.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAW,CAAC;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,kCAA2C,CAAC;AA6B5E,MAAM,CAAC,MAAM,YAAY,GAAyC;IACjE,gBAAgB,EAAE;QACjB,UAAU,EAAE,8BAA8B;QAC1C,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,gBAAgB;QACtB,cAAc,EAAE;YACf,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;aACzB;YACD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;aACzB;YACD,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACnB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;aACzB;SACD;KACD;IACD,SAAS,EAAE;QACV,UAAU,EAAE,uBAAuB;QACnC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gBAAgB;KACtB;IACD,QAAQ,EAAE;QACT,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,gBAAgB;QACtB,cAAc,EAAE;YACf,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;aACvB;YACD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI;aAC1B;YACD,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACnB,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG;aACzB;SACD;KACD;IACD,SAAS,EAAE;QACV,UAAU,EAAE,uBAAuB;QACnC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gBAAgB;KACtB;IACD,WAAW,EAAE;QACZ,UAAU,EAAE,yBAAyB;QACrC,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,gBAAgB;QACtB,sBAAsB,EAAE;YACvB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI;YACnB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI;YACnB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI;SACxB;KACD;IACD,SAAS,EAAE;QACV,UAAU,EAAE,uBAAuB;QACnC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gBAAgB;KACtB;IACD,QAAQ,EAAE;QACT,UAAU,EAAE,sBAAsB;QAClC,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,gBAAgB;QACtB,cAAc,EAAE;YACf,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;aACxB;YACD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;aACxB;YACD,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACnB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;aACxB;SACD;KACD;IACD,SAAS,EAAE;QACV,UAAU,EAAE,uBAAuB;QACnC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gBAAgB;KACtB;IACD,SAAS,EAAE;QACV,UAAU,EAAE,uBAAuB;QACnC,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,gBAAgB;KACtB;IACD,UAAU,EAAE;QACX,UAAU,EAAE,wBAAwB;QACpC,IAAI,EAAE,iBAAiB;QACvB,IAAI,EAAE,gBAAgB;QACtB,cAAc,EAAE;YACf,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;aACnB;YACD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACd,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG;aACrB;YACD,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBACnB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;aACnB;SACD;KACD;CACD,CAAC;AAEF,MAAM,cAAc,GAAiC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,MAAM,CACvF,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;IACvB,MAAM,EAAE,GAAG,MAAsB,CAAC;IAClC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAEhE,MAAM,OAAO,GAAG;QACf,SAAS;QACT,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3B,QAAQ;QACR,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1B,iBAAiB;QACjB,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;KACnC,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC,EACD,EAAkC,CAClC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,KAAqB;IACjD,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAqB;IAClD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC;IAC5C,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAoB,EAAE,KAAqB;IACvE,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,6BAA6B,CAAC,MAAoB,EAAE,KAAqB;IACxF,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,CAAC,sBAAsB;QAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAU;IACzC,MAAM,UAAU,GAAG,EAAE;SACnB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC1B,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAClC,KAAiD;IAEjD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,UAAU,GAA0C,EAAE,CAAC;IAC7D,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC/D,UAAU,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAChC,KAA4D,EAC5D,MAAoB;IAEpB,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAErB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAE3D,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAE3D,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QACpD,IAAI,eAAe,CAAC,EAAE,CAAC,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;IAClD,CAAC;IAED,OAAO,CAAC,CAAC;AACV,CAAC"}
|
|
@@ -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>[];
|
package/dist/constants/crops.js
CHANGED
|
@@ -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
|
-
|
|
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,
|