farming-weight 0.8.3 → 0.8.4

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 (78) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +101 -101
  3. package/dist/constants/crops.d.ts +11 -0
  4. package/dist/constants/crops.js +132 -0
  5. package/dist/constants/crops.js.map +1 -1
  6. package/dist/util/ratecalc.d.ts +8 -0
  7. package/dist/util/ratecalc.js +27 -0
  8. package/dist/util/ratecalc.js.map +1 -1
  9. package/package.json +2 -2
  10. package/dist/classes/farmingaccessory.d.ts +0 -15
  11. package/dist/classes/farmingaccessory.js +0 -54
  12. package/dist/classes/farmingaccessory.js.map +0 -1
  13. package/dist/classes/farmingarmor.d.ts +0 -53
  14. package/dist/classes/farmingarmor.js +0 -209
  15. package/dist/classes/farmingarmor.js.map +0 -1
  16. package/dist/classes/farmingequipment.d.ts +0 -24
  17. package/dist/classes/farmingequipment.js +0 -112
  18. package/dist/classes/farmingequipment.js.map +0 -1
  19. package/dist/classes/farmingpet.d.ts +0 -22
  20. package/dist/classes/farmingpet.js +0 -101
  21. package/dist/classes/farmingpet.js.map +0 -1
  22. package/dist/classes/farmingtool.d.ts +0 -41
  23. package/dist/classes/farmingtool.js +0 -196
  24. package/dist/classes/farmingtool.js.map +0 -1
  25. package/dist/classes/item.d.ts +0 -22
  26. package/dist/classes/item.js +0 -12
  27. package/dist/classes/item.js.map +0 -1
  28. package/dist/classes/lotusgear.d.ts +0 -23
  29. package/dist/classes/lotusgear.js +0 -107
  30. package/dist/classes/lotusgear.js.map +0 -1
  31. package/dist/classes/player.d.ts +0 -76
  32. package/dist/classes/player.js +0 -222
  33. package/dist/classes/player.js.map +0 -1
  34. package/dist/classes/weightcalc.d.ts +0 -63
  35. package/dist/classes/weightcalc.js +0 -192
  36. package/dist/classes/weightcalc.js.map +0 -1
  37. package/dist/classes/weightcalc.test.d.ts +0 -1
  38. package/dist/classes/weightcalc.test.js +0 -108
  39. package/dist/classes/weightcalc.test.js.map +0 -1
  40. package/dist/constants/accessories.d.ts +0 -13
  41. package/dist/constants/accessories.js +0 -56
  42. package/dist/constants/accessories.js.map +0 -1
  43. package/dist/constants/armor.d.ts +0 -47
  44. package/dist/constants/armor.js +0 -711
  45. package/dist/constants/armor.js.map +0 -1
  46. package/dist/constants/equipment.d.ts +0 -26
  47. package/dist/constants/equipment.js +0 -126
  48. package/dist/constants/equipment.js.map +0 -1
  49. package/dist/constants/items.d.ts +0 -10
  50. package/dist/constants/items.js +0 -15
  51. package/dist/constants/items.js.map +0 -1
  52. package/dist/constants/lotus.d.ts +0 -26
  53. package/dist/constants/lotus.js +0 -113
  54. package/dist/constants/lotus.js.map +0 -1
  55. package/dist/constants/pets.d.ts +0 -58
  56. package/dist/constants/pets.js +0 -266
  57. package/dist/constants/pets.js.map +0 -1
  58. package/dist/constants/tools.d.ts +0 -16
  59. package/dist/constants/tools.js +0 -468
  60. package/dist/constants/tools.js.map +0 -1
  61. package/dist/fortune/upgradable.d.ts +0 -39
  62. package/dist/fortune/upgradable.js +0 -2
  63. package/dist/fortune/upgradable.js.map +0 -1
  64. package/dist/player/index.d.ts +0 -1
  65. package/dist/player/index.js +0 -2
  66. package/dist/player/index.js.map +0 -1
  67. package/dist/player.d.ts +0 -30
  68. package/dist/player.js +0 -30
  69. package/dist/player.js.map +0 -1
  70. package/dist/ratecalc.d.ts +0 -33
  71. package/dist/ratecalc.js +0 -155
  72. package/dist/ratecalc.js.map +0 -1
  73. package/dist/tool.d.ts +0 -1
  74. package/dist/tool.js +0 -18
  75. package/dist/tool.js.map +0 -1
  76. package/dist/util/pests.test.d.ts +0 -1
  77. package/dist/util/pests.test.js +0 -29
  78. package/dist/util/pests.test.js.map +0 -1
@@ -1,222 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.FarmingPlayer = exports.createFarmingPlayer = void 0;
4
- const CROPS_1 = require('../constants/crops');
5
- const PERSONALBESTS_1 = require('../constants/personalbests');
6
- const PESTS_1 = require('../util/pests');
7
- const SPECIFIC_1 = require('../constants/specific');
8
- const NAMES_1 = require('../util/names');
9
- const FARMINGACCESSORY_1 = require('./farmingaccessory');
10
- const FARMINGARMOR_1 = require('./farmingarmor');
11
- const FARMINGPET_1 = require('./farmingpet');
12
- const FARMINGTOOL_1 = require('./farmingtool');
13
- const FARMINGEQUIPMENT_1 = require('./farmingequipment');
14
- function createFarmingPlayer(options) {
15
- return new FarmingPlayer(options);
16
- }
17
- exports.createFarmingPlayer = createFarmingPlayer;
18
- class FarmingPlayer {
19
- constructor(options) {
20
- this.options = options;
21
- options.tools ??= [];
22
- if (options.tools[0] instanceof FARMINGTOOL_1.FarmingTool) {
23
- this.tools = options.tools;
24
- for (const TOOL of this.tools) TOOL.setOptions(options);
25
- } else {
26
- this.tools = FARMINGTOOL_1.FarmingTool.fromArray(options.tools, options);
27
- }
28
- this.selectedTool = this.options.selectedTool ?? this.tools[0];
29
- options.pets ??= [];
30
- if (options.pets[0] instanceof FARMINGPET_1.FarmingPet) {
31
- this.pets = options.pets.sort((a, b) => b.fortune - a.fortune);
32
- for (const PET of this.pets) PET.setOptions(options);
33
- } else {
34
- this.pets = FARMINGPET_1.FarmingPet.fromArray(options.pets, options);
35
- }
36
- this.selectedPet = this.options.selectedPet;
37
- options.armor ??= [];
38
- if (options.armor instanceof FARMINGARMOR_1.ArmorSet) {
39
- this.armorSet = options.armor;
40
- this.armor = this.armorSet.pieces;
41
- for (const A of this.armor) A.setOptions(options);
42
- this.armorSet.getFortuneBreakdown(true);
43
- } else if (options.armor[0] instanceof FARMINGARMOR_1.FarmingArmor) {
44
- this.armor = options.armor.sort((a, b) => b.fortune - a.fortune);
45
- for (const A of this.armor) A.setOptions(options);
46
- this.armorSet = new FARMINGARMOR_1.ArmorSet(this.armor);
47
- } else {
48
- this.armor = FARMINGARMOR_1.FarmingArmor.fromArray(options.armor, options);
49
- this.armorSet = new FARMINGARMOR_1.ArmorSet(this.armor);
50
- }
51
- options.equipment ??= [];
52
- if (options.equipment[0] instanceof FARMINGEQUIPMENT_1.FarmingEquipment) {
53
- this.equipment = options.equipment.sort((a, b) => b.fortune - a.fortune);
54
- for (const E of this.equipment) E.setOptions(options);
55
- } else {
56
- this.equipment = FARMINGEQUIPMENT_1.FarmingEquipment.fromArray(options.equipment, options);
57
- }
58
- options.accessories ??= [];
59
- if (options.accessories[0] instanceof FARMINGACCESSORY_1.FarmingAccessory) {
60
- this.accessories = options.accessories.sort((a, b) => b.fortune - a.fortune);
61
- } else {
62
- this.accessories = FARMINGACCESSORY_1.FarmingAccessory.fromArray(options.accessories);
63
- }
64
- this.fortune = this.getGeneralFortune();
65
- }
66
- changeArmor(armor) {
67
- this.armorSet = new FARMINGARMOR_1.ArmorSet(armor.sort((a, b) => b.fortune - a.fortune));
68
- }
69
- selectTool(tool) {
70
- this.selectedTool = tool;
71
- this.fortune = this.getGeneralFortune();
72
- }
73
- selectPet(pet) {
74
- this.selectedPet = pet;
75
- this.fortune = this.getGeneralFortune();
76
- }
77
- setStrength(strength) {
78
- this.options.strength = strength;
79
- for (const PET of this.pets) {
80
- PET.fortune = PET.getFortune();
81
- }
82
- this.fortune = this.getGeneralFortune();
83
- }
84
- getGeneralFortune() {
85
- let SUM = 0;
86
- const BREAKDOWN = {};
87
- // Plots
88
- const PLOTS = SPECIFIC_1.FORTUNE_PER_PLOT * (this.options.plotsUnlocked ?? 0);
89
- if (PLOTS > 0) {
90
- BREAKDOWN['Unlocked Plots'] = PLOTS;
91
- SUM += PLOTS;
92
- }
93
- // Farming Level
94
- const LEVEL = SPECIFIC_1.FORTUNE_PER_FARMING_LEVEL * (this.options.farmingLevel ?? 0);
95
- if (LEVEL > 0) {
96
- BREAKDOWN['Farming Level'] = LEVEL;
97
- SUM += LEVEL;
98
- }
99
- // Bestiary
100
- if (this.options.bestiaryKills) {
101
- const BESTIARY = (0, PESTS_1.fortuneFromPestBestiary)(this.options.bestiaryKills);
102
- if (BESTIARY > 0) {
103
- BREAKDOWN['Pest Bestiary'] = BESTIARY;
104
- SUM += BESTIARY;
105
- }
106
- }
107
- // Armor Set
108
- const ARMOR_SET = this.armorSet.fortune;
109
- if (ARMOR_SET > 0) {
110
- BREAKDOWN['Armor Set'] = ARMOR_SET;
111
- SUM += ARMOR_SET;
112
- }
113
- // Lotus Gear
114
- const EQUIPMENT = this.equipment.reduce((a, b) => a + b.fortune, 0);
115
- if (EQUIPMENT > 0) {
116
- BREAKDOWN['Equipment'] = EQUIPMENT;
117
- SUM += EQUIPMENT;
118
- }
119
- // Anita Bonus
120
- const ANITA_BONUS = (this.options.anitaBonus ?? 0) * SPECIFIC_1.FORTUNE_PER_ANITA_BONUS;
121
- if (ANITA_BONUS > 0) {
122
- BREAKDOWN['Anita Bonus Drops'] = ANITA_BONUS;
123
- SUM += ANITA_BONUS;
124
- }
125
- // Community Center
126
- const COMMUNITY_CENTER = (this.options.communityCenter ?? 0) * SPECIFIC_1.FORTUNE_PER_COMMUNITY_CENTER;
127
- if (COMMUNITY_CENTER > 0) {
128
- BREAKDOWN['Community Center'] = COMMUNITY_CENTER;
129
- SUM += COMMUNITY_CENTER;
130
- }
131
- // Selected Pet
132
- const PET = this.selectedPet;
133
- if (PET && PET.fortune > 0) {
134
- BREAKDOWN[PET.info.name ?? 'Selected Pet'] = PET.fortune;
135
- SUM += PET.fortune;
136
- }
137
- // Accessories, only count highest fortune from each family
138
- const FAMILIES = new Map();
139
- for (const ACCESSORY of this.accessories.filter((a) => a.fortune > 0).sort((a, b) => b.fortune - a.fortune)) {
140
- if (ACCESSORY.info.family) {
141
- if (!FAMILIES.has(ACCESSORY.info.family)) {
142
- FAMILIES.set(ACCESSORY.info.family, ACCESSORY);
143
- } else {
144
- continue;
145
- }
146
- }
147
- BREAKDOWN[ACCESSORY.item.name ?? ACCESSORY.item.skyblockId ?? 'Accessory [Error]'] = ACCESSORY.fortune;
148
- SUM += ACCESSORY.fortune;
149
- }
150
- // Refined Truffles
151
- const TRUFFLES = Math.min(5, this.options.refinedTruffles ?? 0);
152
- if (TRUFFLES > 0) {
153
- BREAKDOWN['Refined Truffles'] = TRUFFLES;
154
- SUM += TRUFFLES;
155
- }
156
- // Extra Fortune
157
- for (const EXTRA of this.options.extraFortune ?? []) {
158
- if (EXTRA.crop) continue;
159
- BREAKDOWN[EXTRA.name ?? 'Extra Fortune'] = EXTRA.fortune;
160
- SUM += EXTRA.fortune;
161
- }
162
- this.breakdown = BREAKDOWN;
163
- return SUM;
164
- }
165
- getCropFortune(crop, tool = this.selectedTool) {
166
- if (tool) {
167
- this.selectTool(tool);
168
- }
169
- let SUM = 0;
170
- const BREAKDOWN = {};
171
- // Crop upgrades
172
- const UPGRADE = SPECIFIC_1.FORTUNE_PER_CROP_UPGRADE * (this.options.cropUpgrades?.[crop] ?? 0);
173
- if (UPGRADE > 0) {
174
- BREAKDOWN['Crop Upgrade'] = UPGRADE;
175
- SUM += UPGRADE;
176
- }
177
- // Personal bests
178
- const PERSONAL_BEST =
179
- this.options.personalBests?.[(0, NAMES_1.getItemIdFromCrop)(crop)] ??
180
- this.options.personalBests?.[(0, NAMES_1.getCropDisplayName)(crop).replace(/ /g, '')];
181
- if (PERSONAL_BEST) {
182
- const FORTUNE = (0, PERSONALBESTS_1.fortuneFromPersonalBestContest)(crop, PERSONAL_BEST);
183
- if (FORTUNE > 0) {
184
- BREAKDOWN['Personal Best'] = FORTUNE;
185
- SUM += FORTUNE;
186
- }
187
- }
188
- // Tool
189
- const TOOL_FORTUNE = this.selectedTool?.fortune ?? 0;
190
- if (TOOL_FORTUNE > 0) {
191
- BREAKDOWN['Selected Tool'] = TOOL_FORTUNE;
192
- SUM += TOOL_FORTUNE;
193
- }
194
- // Accessories
195
- //* There's only one accessory family for farming right now
196
- const ACCESSORY = this.accessories.find((a) => a.info.crops && a.info.crops.includes(crop));
197
- if (ACCESSORY && ACCESSORY.fortune > 0) {
198
- BREAKDOWN[ACCESSORY.item.name ?? 'Accessories'] = ACCESSORY.fortune ?? 0;
199
- SUM += ACCESSORY.fortune ?? 0;
200
- }
201
- // Exportable Crops
202
- if (this.options.exportableCrops?.[crop]) {
203
- const EXPORTABLE = this.options.exportableCrops[crop];
204
- if (EXPORTABLE) {
205
- BREAKDOWN['Exportable Crop'] = CROPS_1.EXPORTABLE_CROP_FORTUNE;
206
- SUM += CROPS_1.EXPORTABLE_CROP_FORTUNE;
207
- }
208
- }
209
- // Extra Fortune
210
- for (const EXTRA of this.options.extraFortune ?? []) {
211
- if (EXTRA.crop !== crop) continue;
212
- BREAKDOWN[EXTRA.name ?? 'Extra Fortune'] = EXTRA.fortune;
213
- SUM += EXTRA.fortune;
214
- }
215
- return {
216
- fortune: SUM,
217
- breakdown: BREAKDOWN,
218
- };
219
- }
220
- }
221
- exports.FarmingPlayer = FarmingPlayer;
222
- //# sourceMappingURL=player.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/classes/player.ts"],"names":[],"mappings":"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"}
@@ -1,63 +0,0 @@
1
- import { Crop } from '../constants/crops';
2
- export declare function createFarmingWeightCalculator(info?: FarmingWeightInfo): FarmingWeight;
3
- export interface FarmingWeightInfo {
4
- collection?: Record<string, number>;
5
- farmingXp?: number;
6
- levelCapUpgrade?: number;
7
- anitaBonusFarmingFortuneLevel?: number;
8
- minions?: string[];
9
- contests?: {
10
- collected: number;
11
- claimed_position?: number;
12
- claimed_participants?: number;
13
- claimed_medal?: 'bronze' | 'silver' | 'gold' | 'platinum' | 'diamond' | string;
14
- }[];
15
- pests?: Record<string, number>;
16
- }
17
- declare class FarmingWeight {
18
- collection: Record<Crop, number>;
19
- levelCapUpgrade: number;
20
- farmingXp: number;
21
- anitaBonusFarmingFortuneLevel: number;
22
- tier12MinionCount: number;
23
- earnedMedals: Record<'diamond' | 'platinum' | 'gold', number>;
24
- cropWeights: Record<Crop, number>;
25
- bonusSources: Record<string, number>;
26
- uncountedCrops: Partial<Record<Crop, number>>;
27
- readonly info?: FarmingWeightInfo;
28
- constructor(info?: FarmingWeightInfo);
29
- /**
30
- * Expectes a dictionary of collections and amounts with the default Hypixel SkyBlock IDs
31
- * @param {Record<string, number>} collections
32
- * @returns {FarmingWeight}
33
- */
34
- setCropsFromCollections(collections: Record<string, number>): FarmingWeight;
35
- setCrop: (crop: Crop, collection: number) => this;
36
- setLevelCap: (levelCap: number) => this;
37
- setFarmingXp: (farmingXp: number) => this;
38
- setAnitaBonusLevel: (anitaBonusFarmingFortuneLevel: number) => this;
39
- addMinions: (minions: string[]) => this;
40
- setEarnedMedals: ({
41
- diamond,
42
- platinum,
43
- gold,
44
- }: {
45
- diamond?: number | undefined;
46
- platinum?: number | undefined;
47
- gold?: number | undefined;
48
- }) => this;
49
- setTier12MinionCount: (count: number) => this;
50
- setContests: (contests: FarmingWeightInfo['contests']) => this;
51
- getWeightInfo: () => {
52
- totalWeight: number;
53
- bonusWeight: number;
54
- cropWeight: number;
55
- bonusSources: Record<string, number>;
56
- uncountedCrops: Partial<Record<Crop, number>>;
57
- };
58
- getBonusWeights: () => Record<string, number>;
59
- getCropWeights: () => Record<Crop, number>;
60
- calcUncountedCrops: (bestiary: Record<string, number>) => this;
61
- getCropWeight: (crop: Crop) => void;
62
- }
63
- export {};
@@ -1,192 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- exports.createFarmingWeightCalculator = void 0;
4
- const CROPS_1 = require('../constants/crops');
5
- const WEIGHT_1 = require('../constants/weight');
6
- const JACOB_1 = require('../util/jacob');
7
- const PESTS_1 = require('../util/pests');
8
- function createFarmingWeightCalculator(info) {
9
- return new FarmingWeight(info);
10
- }
11
- exports.createFarmingWeightCalculator = createFarmingWeightCalculator;
12
- const CROPS = [
13
- CROPS_1.Crop.Cactus,
14
- CROPS_1.Crop.Carrot,
15
- CROPS_1.Crop.CocoaBeans,
16
- CROPS_1.Crop.Melon,
17
- CROPS_1.Crop.Mushroom,
18
- CROPS_1.Crop.NetherWart,
19
- CROPS_1.Crop.Potato,
20
- CROPS_1.Crop.Pumpkin,
21
- CROPS_1.Crop.SugarCane,
22
- CROPS_1.Crop.Wheat,
23
- ];
24
- class FarmingWeight {
25
- info;
26
- constructor(info) {
27
- this.info = info;
28
- this.collection = {};
29
- this.levelCapUpgrade = info?.levelCapUpgrade ?? 0;
30
- this.anitaBonusFarmingFortuneLevel = info?.anitaBonusFarmingFortuneLevel ?? 0;
31
- this.farmingXp = info?.farmingXp ?? 0;
32
- this.earnedMedals = { diamond: 0, platinum: 0, gold: 0 };
33
- this.tier12MinionCount = 0;
34
- this.bonusSources = {};
35
- this.uncountedCrops = {};
36
- this.setContests(info?.contests ?? []);
37
- this.calcUncountedCrops(info?.pests ?? {});
38
- this.setCropsFromCollections(info?.collection ?? {});
39
- this.addMinions(info?.minions ?? []);
40
- }
41
- /**
42
- * Expectes a dictionary of collections and amounts with the default Hypixel SkyBlock IDs
43
- * @param {Record<string, number>} collections
44
- * @returns {FarmingWeight}
45
- */
46
- setCropsFromCollections(collections) {
47
- for (const CROP of CROPS) {
48
- this.collection[CROP] = collections[CROP] ?? 0;
49
- }
50
- this.getCropWeights();
51
- return this;
52
- }
53
- setCrop = (crop, collection) => {
54
- this.collection[crop] = collection;
55
- this.getCropWeights();
56
- return this;
57
- };
58
- setLevelCap = (levelCap) => {
59
- this.levelCapUpgrade = levelCap;
60
- return this;
61
- };
62
- setFarmingXp = (farmingXp) => {
63
- this.farmingXp = farmingXp;
64
- return this;
65
- };
66
- setAnitaBonusLevel = (anitaBonusFarmingFortuneLevel) => {
67
- this.anitaBonusFarmingFortuneLevel = anitaBonusFarmingFortuneLevel;
68
- return this;
69
- };
70
- addMinions = (minions) => {
71
- for (const MINION of minions) {
72
- if (!MINION.endsWith('_12')) continue;
73
- if (!WEIGHT_1.TIER_12_MINIONS.includes(MINION)) continue;
74
- this.tier12MinionCount++;
75
- }
76
- return this;
77
- };
78
- setEarnedMedals = ({ diamond, platinum, gold }) => {
79
- this.earnedMedals = {
80
- diamond: diamond ?? this.earnedMedals.diamond,
81
- platinum: platinum ?? this.earnedMedals.platinum,
82
- gold: gold ?? this.earnedMedals.gold,
83
- };
84
- return this;
85
- };
86
- setTier12MinionCount = (count) => {
87
- this.tier12MinionCount = count;
88
- return this;
89
- };
90
- setContests = (contests) => {
91
- if (!contests?.length) return this;
92
- for (const CONTEST of contests) {
93
- const MEDAL = (0, JACOB_1.calculateJacobContestMedal)(CONTEST);
94
- if (!MEDAL) continue;
95
- if (MEDAL === 'diamond') {
96
- this.earnedMedals.diamond++;
97
- } else if (MEDAL === 'platinum') {
98
- this.earnedMedals.platinum++;
99
- } else if (MEDAL === 'gold') {
100
- this.earnedMedals.gold++;
101
- }
102
- }
103
- this.getBonusWeights();
104
- return this;
105
- };
106
- getWeightInfo = () => {
107
- const BONUS = this.getBonusWeights();
108
- const crops = this.getCropWeights();
109
- const BONUS_TOTAL = Object.values(BONUS).reduce((a, b) => a + b, 0);
110
- const CROP_TOTAL = Object.values(crops).reduce((a, b) => a + b, 0);
111
- return {
112
- totalWeight: BONUS_TOTAL + CROP_TOTAL,
113
- bonusWeight: BONUS_TOTAL,
114
- cropWeight: CROP_TOTAL,
115
- bonusSources: BONUS,
116
- uncountedCrops: this.uncountedCrops,
117
- };
118
- };
119
- getBonusWeights = () => {
120
- this.bonusSources = {};
121
- if (this.farmingXp >= 111_672_425 && this.levelCapUpgrade >= 10) {
122
- // Farming 60 bonus
123
- this.bonusSources['Farming 60'] = WEIGHT_1.BONUS_WEIGHT.Farming60Bonus;
124
- } else if (this.farmingXp >= 55_172_425) {
125
- // Farming 50 bonus
126
- this.bonusSources['Farming 50'] = WEIGHT_1.BONUS_WEIGHT.Farming50Bonus;
127
- }
128
- // Tier 12 minion bonus
129
- if (this.tier12MinionCount > 0) {
130
- this.bonusSources['Tier 12 Minions'] = this.tier12MinionCount * WEIGHT_1.BONUS_WEIGHT.MinionRewardWeight;
131
- }
132
- // Anita bonus
133
- if (this.anitaBonusFarmingFortuneLevel > 0) {
134
- this.bonusSources['Anita Bonus'] =
135
- this.anitaBonusFarmingFortuneLevel * WEIGHT_1.BONUS_WEIGHT.AnitaBuffBonusMultiplier;
136
- }
137
- const MAX_MEDALS = WEIGHT_1.BONUS_WEIGHT.MaxMedalsCounted;
138
- if (this.earnedMedals.diamond >= MAX_MEDALS) {
139
- this.bonusSources['Contest Medals'] =
140
- WEIGHT_1.BONUS_WEIGHT.WeightPerDiamondMedal * WEIGHT_1.BONUS_WEIGHT.MaxMedalsCounted;
141
- } else {
142
- const DIAMOND = this.earnedMedals.diamond;
143
- const PLATINUM = Math.min(MAX_MEDALS - DIAMOND, this.earnedMedals.platinum);
144
- const GOLD = Math.min(MAX_MEDALS - DIAMOND - PLATINUM, this.earnedMedals.gold);
145
- const MEDALS =
146
- DIAMOND * WEIGHT_1.BONUS_WEIGHT.WeightPerDiamondMedal +
147
- PLATINUM * WEIGHT_1.BONUS_WEIGHT.WeightPerPlatinumMedal +
148
- GOLD * WEIGHT_1.BONUS_WEIGHT.WeightPerGoldMedal;
149
- this.bonusSources['Contest Medals'] = MEDALS;
150
- }
151
- return this.bonusSources;
152
- };
153
- getCropWeights = () => {
154
- const CROP_WEIGHT = {};
155
- let TOTAL_WEIGHT = 0;
156
- let DOUBLE_BREAK_WEIGHT = 0;
157
- for (const CROP of CROPS) {
158
- let COLLECTED = this.collection[CROP] ?? 0;
159
- // Subtract uncounted crops
160
- if (this.uncountedCrops[CROP]) {
161
- COLLECTED = Math.max(0, COLLECTED - (this.uncountedCrops[CROP] ?? 0));
162
- }
163
- const WEIGHT = COLLECTED / WEIGHT_1.CROP_WEIGHT[CROP];
164
- TOTAL_WEIGHT += WEIGHT;
165
- if (CROP === CROPS_1.Crop.Cactus || CROP === CROPS_1.Crop.SugarCane) {
166
- DOUBLE_BREAK_WEIGHT += WEIGHT;
167
- }
168
- CROP_WEIGHT[CROP] = WEIGHT;
169
- }
170
- // Mushroom is a special case, it needs to be calculated dynamically based on the
171
- // ratio between the farmed crops that give two mushrooms per break with cow pet
172
- // and the farmed crops that give one mushroom per break with cow pet
173
- const MUSHROOM_COLLECTION = this.collection[CROPS_1.Crop.Mushroom] ?? 0;
174
- const MUSHROOM_WEIGHT_NUMBER = WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Mushroom];
175
- const DOUBLE_BREAK_RATIO = DOUBLE_BREAK_WEIGHT / TOTAL_WEIGHT;
176
- const NORMAL_CROP_RATIO = (TOTAL_WEIGHT - DOUBLE_BREAK_WEIGHT) / TOTAL_WEIGHT;
177
- const MUSHROOM_WEIGHT =
178
- DOUBLE_BREAK_RATIO * (MUSHROOM_COLLECTION / (MUSHROOM_WEIGHT_NUMBER * 2)) +
179
- NORMAL_CROP_RATIO * (MUSHROOM_COLLECTION / MUSHROOM_WEIGHT_NUMBER);
180
- CROP_WEIGHT[CROPS_1.Crop.Mushroom] = MUSHROOM_WEIGHT;
181
- return CROP_WEIGHT;
182
- };
183
- calcUncountedCrops = (bestiary) => {
184
- this.uncountedCrops = (0, PESTS_1.uncountedCropsFromPests)(bestiary);
185
- this.getCropWeights();
186
- return this;
187
- };
188
- getCropWeight = (crop) => {
189
- WEIGHT_1.CROP_WEIGHT[crop];
190
- };
191
- }
192
- //# sourceMappingURL=weightcalc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weightcalc.js","sourceRoot":"","sources":["../../src/classes/weightcalc.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,108 +0,0 @@
1
- 'use strict';
2
- Object.defineProperty(exports, '__esModule', { value: true });
3
- const VITEST_1 = require('vitest');
4
- const WEIGHTCALC_1 = require('./weightcalc');
5
- const CROPS_1 = require('../constants/crops');
6
- const WEIGHT_1 = require('../constants/weight');
7
- const PESTS_1 = require('../util/pests');
8
- const CROPS = {
9
- [CROPS_1.Crop.Cactus]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Cactus] * 50,
10
- [CROPS_1.Crop.Carrot]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Carrot] * 10,
11
- [CROPS_1.Crop.CocoaBeans]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.CocoaBeans] * 10,
12
- [CROPS_1.Crop.Melon]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Melon] * 10,
13
- [CROPS_1.Crop.NetherWart]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.NetherWart] * 10,
14
- [CROPS_1.Crop.Potato]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Potato] * 10,
15
- [CROPS_1.Crop.Pumpkin]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Pumpkin] * 10,
16
- [CROPS_1.Crop.SugarCane]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.SugarCane] * 50,
17
- [CROPS_1.Crop.Wheat]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Wheat] * 10,
18
- };
19
- const PESTS = {
20
- pest_fly_1: 150,
21
- pest_beetle_1: 86,
22
- };
23
- (0, VITEST_1.test)('Basic weight calculation', () => {
24
- const WEIGHT = (0, WEIGHTCALC_1.createFarmingWeightCalculator)({
25
- collection: CROPS,
26
- });
27
- (0, VITEST_1.expect)(WEIGHT.getWeightInfo().totalWeight).toBeCloseTo(170);
28
- });
29
- (0, VITEST_1.test)('Mushroom weight calculation', () => {
30
- const WEIGHT = (0, WEIGHTCALC_1.createFarmingWeightCalculator)({
31
- collection: {
32
- ...CROPS,
33
- [CROPS_1.Crop.Mushroom]: WEIGHT_1.CROP_WEIGHT[CROPS_1.Crop.Mushroom] * 13.74,
34
- },
35
- });
36
- (0, VITEST_1.expect)(WEIGHT.getWeightInfo().totalWeight).toBeCloseTo(180);
37
- });
38
- (0, VITEST_1.test)('Pest debuff weight calculation', () => {
39
- const WEIGHT = (0, WEIGHTCALC_1.createFarmingWeightCalculator)({
40
- collection: CROPS,
41
- pests: PESTS,
42
- });
43
- const UNCOUNTED = (0, PESTS_1.uncountedCropsFromPests)(PESTS);
44
- const UNCOUNTED_WHEAT = UNCOUNTED[CROPS_1.Crop.Wheat] ?? 0;
45
- const UNCOUNTED_WART = UNCOUNTED[CROPS_1.Crop.NetherWart] ?? 0;
46
- (0, VITEST_1.expect)(WEIGHT.getWeightInfo().uncountedCrops[CROPS_1.Crop.Wheat]).toBeCloseTo(UNCOUNTED_WHEAT);
47
- (0, VITEST_1.expect)(WEIGHT.getWeightInfo().uncountedCrops[CROPS_1.Crop.NetherWart]).toBeCloseTo(UNCOUNTED_WART);
48
- const WEIGHT_EXPECTED = (0, WEIGHTCALC_1.createFarmingWeightCalculator)({
49
- collection: {
50
- ...CROPS,
51
- [CROPS_1.Crop.Wheat]: CROPS[CROPS_1.Crop.Wheat] - UNCOUNTED_WHEAT,
52
- [CROPS_1.Crop.NetherWart]: CROPS[CROPS_1.Crop.NetherWart] - UNCOUNTED_WART,
53
- },
54
- });
55
- (0, VITEST_1.expect)(WEIGHT.getWeightInfo().cropWeight).toBeCloseTo(WEIGHT_EXPECTED.getWeightInfo().cropWeight);
56
- });
57
- (0, VITEST_1.test)('Full weight calculation', () => {
58
- const crops = {
59
- [CROPS_1.Crop.Cactus]: 1219395,
60
- [CROPS_1.Crop.Carrot]: 14238991,
61
- [CROPS_1.Crop.CocoaBeans]: 901826,
62
- [CROPS_1.Crop.Melon]: 5041491,
63
- [CROPS_1.Crop.Mushroom]: 9063168,
64
- [CROPS_1.Crop.NetherWart]: 897212645,
65
- [CROPS_1.Crop.Potato]: 171017100,
66
- [CROPS_1.Crop.Pumpkin]: 1496477,
67
- [CROPS_1.Crop.SugarCane]: 15509429,
68
- [CROPS_1.Crop.Wheat]: 21996256,
69
- };
70
- const pests = {
71
- pest_fly_1: 222,
72
- pest_rat_1: 40,
73
- pest_mite_1: 43,
74
- pest_moth_1: 40,
75
- pest_slug_1: 34,
76
- pest_worm_1: 32,
77
- pest_beetle_1: 265,
78
- pest_locust_1: 41,
79
- pest_cricket_1: 36,
80
- pest_mosquito_1: 41,
81
- };
82
- const MINIONS = [
83
- 'WHEAT_11',
84
- 'CARROT_11',
85
- 'POTATO_12',
86
- 'PUMPKIN_12',
87
- 'MELON_12',
88
- 'MUSHROOM_12',
89
- 'COCOA_11',
90
- 'CACTUS_11',
91
- 'SUGAR_CANE_12',
92
- 'NETHER_WARTS_12',
93
- ];
94
- const WEIGHT = (0, WEIGHTCALC_1.createFarmingWeightCalculator)({
95
- collection: crops,
96
- pests: pests,
97
- farmingXp: 286958923.31966937,
98
- levelCapUpgrade: 10,
99
- anitaBonusFarmingFortuneLevel: 15,
100
- minions: MINIONS,
101
- }).setEarnedMedals({
102
- diamond: 246,
103
- platinum: 75,
104
- gold: 99,
105
- });
106
- (0, VITEST_1.expect)(WEIGHT.getWeightInfo().totalWeight).toBeCloseTo(5176.617);
107
- });
108
- //# sourceMappingURL=weightcalc.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weightcalc.test.js","sourceRoot":"","sources":["../../src/classes/weightcalc.test.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { UpgradeableInfo } from '../fortune/upgradable';
2
- import { Crop } from './crops';
3
- import { Rarity } from './reforges';
4
- import { Skill } from './skills';
5
- export interface FarmingAccessoryInfo extends UpgradeableInfo {
6
- name: string;
7
- wiki: string;
8
- family?: string;
9
- maxRarity: Rarity;
10
- crops?: Crop[];
11
- skillReq?: Partial<Record<Skill, number>>;
12
- }
13
- export declare const FARMING_ACCESSORIES_INFO: Partial<Record<string, FarmingAccessoryInfo>>;