stardew-valley-data 0.24.0 → 0.26.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/CHANGELOG.md +24 -0
- package/data/animals.json +13 -0
- package/data/island-upgrades.json +79 -0
- package/dist/index.d.mts +24 -14
- package/dist/index.d.ts +24 -14
- package/dist/index.js +127 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +125 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project
|
|
6
6
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.26.0] - 2026-03-22
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `data/island-upgrades.json` — 11 Ginger Island parrot upgrades with `id` (mail flag), `name`,
|
|
13
|
+
`description`, `cost` (Golden Walnuts), and `location`
|
|
14
|
+
- `JojaParrotCalculator` class and `jojaParrotCalculator()` factory added to the `calculator` module
|
|
15
|
+
— `cost(walnutsFound)` returns gold needed (remaining × 10,000g), `remaining()` returns unfound
|
|
16
|
+
count, `total` (130), and `costPerWalnut` (10,000g) getters
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- `SaveIslandUpgrades` type changed from a flat object with named booleans to `SaveIslandUpgrade[]`
|
|
21
|
+
— array of `{ id: string; unlocked: boolean }` driven by the data file IDs
|
|
22
|
+
- `parseIslandUpgrades()` parser updated to iterate `island-upgrades.json` IDs instead of hardcoded
|
|
23
|
+
property names
|
|
24
|
+
|
|
25
|
+
## [0.25.0] - 2026-03-22
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- `purchasePrice: number | null` field added to `Pet` type — Cats and Dogs 40,000g, Turtle 60,000g,
|
|
30
|
+
Iridium Turtle 500,000g, Horse `null` (obtained via Stable building)
|
|
31
|
+
|
|
8
32
|
## [0.24.0] - 2026-03-22
|
|
9
33
|
|
|
10
34
|
### Added
|
package/data/animals.json
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
"id": "cat-1",
|
|
5
5
|
"name": "Cat",
|
|
6
6
|
"variant": 1,
|
|
7
|
+
"purchasePrice": 40000,
|
|
7
8
|
"image": "images/animals/Cat 1.png"
|
|
8
9
|
},
|
|
9
10
|
{
|
|
@@ -11,6 +12,7 @@
|
|
|
11
12
|
"id": "cat-2",
|
|
12
13
|
"name": "Cat",
|
|
13
14
|
"variant": 2,
|
|
15
|
+
"purchasePrice": 40000,
|
|
14
16
|
"image": "images/animals/Cat 2.png"
|
|
15
17
|
},
|
|
16
18
|
{
|
|
@@ -18,6 +20,7 @@
|
|
|
18
20
|
"id": "cat-3",
|
|
19
21
|
"name": "Cat",
|
|
20
22
|
"variant": 3,
|
|
23
|
+
"purchasePrice": 40000,
|
|
21
24
|
"image": "images/animals/Cat 3.png"
|
|
22
25
|
},
|
|
23
26
|
{
|
|
@@ -25,6 +28,7 @@
|
|
|
25
28
|
"id": "cat-4",
|
|
26
29
|
"name": "Cat",
|
|
27
30
|
"variant": 4,
|
|
31
|
+
"purchasePrice": 40000,
|
|
28
32
|
"image": "images/animals/Cat 4.png"
|
|
29
33
|
},
|
|
30
34
|
{
|
|
@@ -32,6 +36,7 @@
|
|
|
32
36
|
"id": "cat-5",
|
|
33
37
|
"name": "Cat",
|
|
34
38
|
"variant": 5,
|
|
39
|
+
"purchasePrice": 40000,
|
|
35
40
|
"image": "images/animals/Cat 5.png"
|
|
36
41
|
},
|
|
37
42
|
{
|
|
@@ -39,6 +44,7 @@
|
|
|
39
44
|
"id": "dog-1",
|
|
40
45
|
"name": "Dog",
|
|
41
46
|
"variant": 1,
|
|
47
|
+
"purchasePrice": 40000,
|
|
42
48
|
"image": "images/animals/Dog 1.png"
|
|
43
49
|
},
|
|
44
50
|
{
|
|
@@ -46,6 +52,7 @@
|
|
|
46
52
|
"id": "dog-2",
|
|
47
53
|
"name": "Dog",
|
|
48
54
|
"variant": 2,
|
|
55
|
+
"purchasePrice": 40000,
|
|
49
56
|
"image": "images/animals/Dog 2.png"
|
|
50
57
|
},
|
|
51
58
|
{
|
|
@@ -53,6 +60,7 @@
|
|
|
53
60
|
"id": "dog-3",
|
|
54
61
|
"name": "Dog",
|
|
55
62
|
"variant": 3,
|
|
63
|
+
"purchasePrice": 40000,
|
|
56
64
|
"image": "images/animals/Dog 3.png"
|
|
57
65
|
},
|
|
58
66
|
{
|
|
@@ -60,6 +68,7 @@
|
|
|
60
68
|
"id": "dog-4",
|
|
61
69
|
"name": "Dog",
|
|
62
70
|
"variant": 4,
|
|
71
|
+
"purchasePrice": 40000,
|
|
63
72
|
"image": "images/animals/Dog 4.png"
|
|
64
73
|
},
|
|
65
74
|
{
|
|
@@ -67,6 +76,7 @@
|
|
|
67
76
|
"id": "dog-5",
|
|
68
77
|
"name": "Dog",
|
|
69
78
|
"variant": 5,
|
|
79
|
+
"purchasePrice": 40000,
|
|
70
80
|
"image": "images/animals/Dog 5.png"
|
|
71
81
|
},
|
|
72
82
|
{
|
|
@@ -74,6 +84,7 @@
|
|
|
74
84
|
"id": "turtle",
|
|
75
85
|
"name": "Turtle",
|
|
76
86
|
"variant": 1,
|
|
87
|
+
"purchasePrice": 60000,
|
|
77
88
|
"image": "images/animals/Turtle.png"
|
|
78
89
|
},
|
|
79
90
|
{
|
|
@@ -81,12 +92,14 @@
|
|
|
81
92
|
"id": "iridium-turtle",
|
|
82
93
|
"name": "Iridium Turtle",
|
|
83
94
|
"variant": 2,
|
|
95
|
+
"purchasePrice": 500000,
|
|
84
96
|
"image": "images/animals/Iridium Turtle.png"
|
|
85
97
|
},
|
|
86
98
|
{
|
|
87
99
|
"type": "pet",
|
|
88
100
|
"id": "horse",
|
|
89
101
|
"name": "Horse",
|
|
102
|
+
"purchasePrice": null,
|
|
90
103
|
"image": "images/animals/horse.png"
|
|
91
104
|
},
|
|
92
105
|
{
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "Island_FirstParrot",
|
|
4
|
+
"name": "Ginger Island North",
|
|
5
|
+
"description": "Feed Leo's parrot friend to unlock access to the north side of the island.",
|
|
6
|
+
"cost": 1,
|
|
7
|
+
"location": "Leo's Hut"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "Island_Turtle",
|
|
11
|
+
"name": "Ginger Island West",
|
|
12
|
+
"description": "A turtle ferries the player to the western island region.",
|
|
13
|
+
"cost": 10,
|
|
14
|
+
"location": "Leo's Hut area"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "Island_UpgradeHouse",
|
|
18
|
+
"name": "Island Farmhouse",
|
|
19
|
+
"description": "Provides sleeping quarters on the west side of the island so the player can stay overnight.",
|
|
20
|
+
"cost": 20,
|
|
21
|
+
"location": "Ginger Island West"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "Island_Resort",
|
|
25
|
+
"name": "Island Resort",
|
|
26
|
+
"description": "Unlocks the beach resort on the south side of the island. Villagers can visit.",
|
|
27
|
+
"cost": 20,
|
|
28
|
+
"location": "Island South"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "Island_UpgradeTrader",
|
|
32
|
+
"name": "Island Trader",
|
|
33
|
+
"description": "Unlocks the Island Trader shop on the north side of the island.",
|
|
34
|
+
"cost": 10,
|
|
35
|
+
"location": "Island North"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "Island_UpgradeBridge",
|
|
39
|
+
"name": "Dig Site Bridge",
|
|
40
|
+
"description": "Repairs the bridge to access the island dig site.",
|
|
41
|
+
"cost": 10,
|
|
42
|
+
"location": "Island North"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "Island_UpgradeParrotPlatform",
|
|
46
|
+
"name": "Parrot Express",
|
|
47
|
+
"description": "Enables the fast-travel parrot platform system around the island.",
|
|
48
|
+
"cost": 10,
|
|
49
|
+
"location": "Ginger Island (multiple stops)"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "Island_UpgradeHouse_Mailbox",
|
|
53
|
+
"name": "Farmhouse Mailbox",
|
|
54
|
+
"description": "Adds a mailbox to the island farmhouse so the player can receive mail.",
|
|
55
|
+
"cost": 5,
|
|
56
|
+
"location": "Island Farmhouse"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "Island_W_Obelisk",
|
|
60
|
+
"name": "Farm Obelisk",
|
|
61
|
+
"description": "Builds an obelisk near the island farmhouse that teleports the player back to the farm.",
|
|
62
|
+
"cost": 20,
|
|
63
|
+
"location": "Island Farmhouse"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"id": "Island_VolcanoBridge",
|
|
67
|
+
"name": "Volcano Bridge",
|
|
68
|
+
"description": "Builds a permanent bridge at the volcano dungeon entrance.",
|
|
69
|
+
"cost": 5,
|
|
70
|
+
"location": "Volcano Dungeon entrance"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "Island_VolcanoShortcutOut",
|
|
74
|
+
"name": "Volcano Exit Shortcut",
|
|
75
|
+
"description": "Creates a shortcut exit passage on volcano dungeon level 5.",
|
|
76
|
+
"cost": 5,
|
|
77
|
+
"location": "Volcano Dungeon level 5"
|
|
78
|
+
}
|
|
79
|
+
]
|
package/dist/index.d.mts
CHANGED
|
@@ -79,6 +79,7 @@ interface Pet {
|
|
|
79
79
|
id: string;
|
|
80
80
|
name: string;
|
|
81
81
|
variant?: number;
|
|
82
|
+
purchasePrice: number | null;
|
|
82
83
|
image: string;
|
|
83
84
|
}
|
|
84
85
|
interface FarmAnimal {
|
|
@@ -1463,6 +1464,22 @@ declare class KnowledgeCalculator {
|
|
|
1463
1464
|
}
|
|
1464
1465
|
/** Returns a KnowledgeCalculator instance for computing knowledge bonus sell prices. */
|
|
1465
1466
|
declare function knowledgeCalculator(): KnowledgeCalculator;
|
|
1467
|
+
/**
|
|
1468
|
+
* Calculates the cost to purchase remaining Golden Walnuts from the Joja Parrot.
|
|
1469
|
+
* Each unfound walnut costs 10,000g. All remaining walnuts are delivered after sleeping.
|
|
1470
|
+
*/
|
|
1471
|
+
declare class JojaParrotCalculator {
|
|
1472
|
+
/** Calculate the gold cost to buy all remaining walnuts. */
|
|
1473
|
+
cost(walnutsFound: number): number;
|
|
1474
|
+
/** Returns how many walnuts are still unfound. */
|
|
1475
|
+
remaining(walnutsFound: number): number;
|
|
1476
|
+
/** The total number of Golden Walnuts available in the game. */
|
|
1477
|
+
get total(): number;
|
|
1478
|
+
/** The cost per individual unfound walnut (10,000g). */
|
|
1479
|
+
get costPerWalnut(): number;
|
|
1480
|
+
}
|
|
1481
|
+
/** Returns a JojaParrotCalculator instance for computing Golden Walnut purchase costs. */
|
|
1482
|
+
declare function jojaParrotCalculator(): JojaParrotCalculator;
|
|
1466
1483
|
|
|
1467
1484
|
/** Query builder for crop data. All filter and sort methods return a new CropQuery for chaining. */
|
|
1468
1485
|
declare class CropQuery extends QueryBase<Crop> {
|
|
@@ -2877,20 +2894,13 @@ interface SaveWalnuts {
|
|
|
2877
2894
|
found: number;
|
|
2878
2895
|
collected: string[];
|
|
2879
2896
|
}
|
|
2880
|
-
/** Ginger Island upgrade
|
|
2881
|
-
interface
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
house: boolean;
|
|
2885
|
-
resort: boolean;
|
|
2886
|
-
trader: boolean;
|
|
2887
|
-
bridge: boolean;
|
|
2888
|
-
parrotPlatforms: boolean;
|
|
2889
|
-
mailbox: boolean;
|
|
2890
|
-
obelisk: boolean;
|
|
2891
|
-
volcanoBridge: boolean;
|
|
2892
|
-
volcanoShortcut: boolean;
|
|
2897
|
+
/** A single Ginger Island parrot upgrade with unlock status. */
|
|
2898
|
+
interface SaveIslandUpgrade {
|
|
2899
|
+
id: string;
|
|
2900
|
+
unlocked: boolean;
|
|
2893
2901
|
}
|
|
2902
|
+
/** Ginger Island upgrade and unlock status for each parrot-purchasable feature. */
|
|
2903
|
+
type SaveIslandUpgrades = SaveIslandUpgrade[];
|
|
2894
2904
|
/** A player's child with name, age stage, and gender. */
|
|
2895
2905
|
interface SaveChild {
|
|
2896
2906
|
name: string;
|
|
@@ -3002,4 +3012,4 @@ declare function resolveApiVersion(gameVersion: string): number;
|
|
|
3002
3012
|
*/
|
|
3003
3013
|
declare function parseSaveFile(xml: string): SaveData;
|
|
3004
3014
|
|
|
3005
|
-
export { type Achievement, AchievementQuery, type Animal, type AnimalProduce, AnimalQuery, type Artifact, ArtifactQuery, ArtisanCalculator, type ArtisanEnergyResult, type ArtisanGood, type ArtisanGoodBuff, ArtisanGoodQuery, type ArtisanIngredient, type ArtisanResult, type ArtisanUses, type Backpack, type Bait, BaitQuery, type BarItem, type BlacksmithItem, BlacksmithQuery, type BooksellerAvailability, type BooksellerItem, BooksellerItemQuery, type BooksellerTrade, BooksellerTradeQuery, type Buff, type Building, type BuildingBuilder, type BuildingMaterial, BuildingQuery, type Bundle, type BundleItem, BundleQuery, type BundleReward, type BundleRoom, type CarpenterCategory, type CarpenterDay, type CarpenterItem, CarpenterQuery, type CasinoCategory, type CasinoItem, CasinoQuery, type CaskAging, type ChoppedTreeProduce, type CollectionItem, CollectionItemQuery, CollectionsQuery, type Concession, ConcessionQuery, type ConcessionTag, type CookedDish, type CookingBuff, CookingQuery, type CraftingIngredient, type CraftingOutput, CraftingQuery, type CraftingRecipe, type Crop, CropQuery, type DayOfWeek, type DesertTraderDay, type DesertTraderItem, DesertTraderQuery, type DwarfShopCategory, type DwarfShopItem, DwarfShopQuery, type EnergyHealth, EventQuery, type FarmAnimal, type FarmMap, FarmMapQuery, type Festival, type FieldOfficeCollection, type FieldOfficeCollectionData, type FieldOfficeDonation, FieldOfficeDonationQuery, FieldOfficeQuery, type FieldOfficeReward, type Fish, type FishCatchType, type FishPond, type FishPondProduce, FishQuery, type FishRoe, type FishWeather, type FishingRod, type FishingRodLevel, type Footwear, FootwearQuery, type Forageable, ForageableQuery, type FruitTree, type FruitTreeProduce, type GameEvent, type GameLocation, type GeodeContainer, type GeodeContent, type GiftPreferences, type GoldBundle, type GoldenWalnut, GoldenWalnutQuery, type GoldenWalnutTrackingType, type GrandpaCategory, GrandpaEvaluator, type GrandpaInput, type GrandpaResult, type GrandpaScoreEntry, type GuildCategory, type GuildItem, GuildQuery, type GuildWeaponType, type HarvestQuantity, type Hat, HatQuery, type HeartEvent, type HouseRenovation, HouseRenovationQuery, type HouseUpgrade, type HouseUpgradeMaterial, HouseUpgradeQuery, type Ingredient, type IslandTraderDay, type IslandTraderItem, IslandTraderQuery, type ItemBundle, type ItemQuality, type JojaBundle, type JojaItem, JojaQuery, type KnowledgeBonus, KnowledgeCalculator, type KrobusDay, type KrobusItem, KrobusQuery, type KrobusStockType, LATEST_API_VERSION, type LocationCategory, type LocationDay, type LocationHours, LocationQuery, type LocationType, type LostBook, LostBookQuery, MASTERY_LEVELS, type MarnieCategory, type MarnieItem, MarnieQuery, type MasteryLevel, type MasterySkill, type MasteryUnlock, type MedicalSupply, MedicalSupplyQuery, type MeleeWeapon, type Mineral, type MineralItem, MineralQuery, type MixedSeed, type MixedSeedProduces, MixedSeedQuery, type Monster, type MonsterLoot, MonsterLootQuery, MonsterQuery, type MonsterSlayerGoal, MonsterSlayerGoalQuery, type MonsterVariant, type NodeDrop, type NodeItem, type OasisCategory, type OasisDay, type OasisItem, OasisQuery, type OreItem, type PerfectionCategory, PerfectionQuery, type Pet, type PierreCategory, type PierreItem, PierreQuery, type PriceFormula, type ProfessionBonus, ProfessionCalculator, type ProfessionData, ProfessionQuery, type ProfessionSkill, type QiCurrency, type QiStockItem, QiStockQuery, type Quality, QualityCalculator, type QualityEnergyHealth, type QualityPrice, type Quest, QuestQuery, type RecipeSource, type ResourceItem, type Ring, RingQuery, SKILL_TITLES, type SaloonCategory, type SaloonItem, SaloonQuery, type SaveAnimal, type SaveBuilding, type SaveBundleData, type SaveBundleItem, type SaveBundleReward, type SaveBundleRoom, type SaveBundleStatus, type SaveChild, type SaveCollectionEntry, type SaveData, type SaveDate, type SaveFarm, type SaveFishEntry, type SaveFriendship, type SaveIslandUpgrades, type SaveItem, type SaveMastery, type SaveMasteryPerk, type SaveMineProgress, type SaveMonsterKillEntry, type SaveMuseum, type SavePerfection, type SavePet, type SavePlayer, type SavePowerEntry, type SavePowers, type SaveProfession, type SaveQuest, type SaveRaccoons, type SaveRecipeEntry, type SaveSecretNotes, type SaveShippedEntry, type SaveSkillLevel, type SaveSkills, type SaveSpecialOrders, type SaveStardropEntry, type SaveStats, type SaveWalnuts, type SearchResult, type SearchResultKind, type Season, type SeasonData, SeasonQuery, type SecretNote, SecretNoteQuery, type SecretNoteType, type SeedBuyPrice, type SimpleTool, type Skill, type SkillLevel, type SkillLevelRecipes, type SkillMastery, SkillQuery, type SlayerReward, type Slingshot, type SmeltRecipe, type SpecialItem, SpecialItemQuery, type SpecialItemType, type SpecialOrderCategory, type SpecialOrderData, SpecialOrderQuery, type Stage, type StarDrop, StarDropQuery, type StarDropSource, type Tackle, TackleQuery, type TitleThreshold, type Tool, type ToolLevel, ToolQuery, type ToolType, type TraderShopItem, type Tree, TreeQuery, type Trinket, TrinketQuery, type TrinketSource, type UniversalGifts, type UpgradeLevel, type UpgradeableTool, type VersionRange, type Villager, VillagerQuery, type VolcanoShopCategory, type VolcanoShopCurrency, type VolcanoShopItem, VolcanoShopQuery, type Weapon, WeaponQuery, type WeaponStat, WeaponStatQuery, type WeaponType, type Weather, WeatherQuery, type WildTree, type WildTreeTapper, type WillyCategory, type WillyItem, WillyQuery, type WizardBuilding, type WizardBuildingMaterial, WizardQuery, achievements, animals, applyPriceFormula, artifacts, artisanCalculator, artisanGoods, bait, blacksmith, booksellerShop, booksellerTrades, buildings, bundles, calculateArtisanPrice, carpenter, casino, collections, concessions, cooking, crafting, crops, desertTrader, dwarfShop, events, fieldOffice, fieldOfficeDonations, findFestival, fish, footwear, forageables, getMasteryLevel, getProfessionOptions, getTitle, getTitleScore, goldenWalnuts, grandpaEvaluator, guild, hats, houseRenovations, houseUpgrades, isFarmAnimal, isPet, islandTrader, joja, knowledgeCalculator, krobus, locations, lostBooks, maps, marnie, medicalSupplies, minerals, mixedSeeds, monsterLoot, monsterSlayerGoals, monsters, oasis, parseSaveFile, perfection, pierre, professionCalculator, professions, qiStock, qualityCalculator, quests, resolveApiVersion, rings, saloon, search, seasons, secretNotes, skills, specialItems, specialOrders, starDrops, tackle, tools, trees, trinkets, universalGifts, villagers, volcanoShop, weaponStats, weapons, weather, willy, wizard };
|
|
3015
|
+
export { type Achievement, AchievementQuery, type Animal, type AnimalProduce, AnimalQuery, type Artifact, ArtifactQuery, ArtisanCalculator, type ArtisanEnergyResult, type ArtisanGood, type ArtisanGoodBuff, ArtisanGoodQuery, type ArtisanIngredient, type ArtisanResult, type ArtisanUses, type Backpack, type Bait, BaitQuery, type BarItem, type BlacksmithItem, BlacksmithQuery, type BooksellerAvailability, type BooksellerItem, BooksellerItemQuery, type BooksellerTrade, BooksellerTradeQuery, type Buff, type Building, type BuildingBuilder, type BuildingMaterial, BuildingQuery, type Bundle, type BundleItem, BundleQuery, type BundleReward, type BundleRoom, type CarpenterCategory, type CarpenterDay, type CarpenterItem, CarpenterQuery, type CasinoCategory, type CasinoItem, CasinoQuery, type CaskAging, type ChoppedTreeProduce, type CollectionItem, CollectionItemQuery, CollectionsQuery, type Concession, ConcessionQuery, type ConcessionTag, type CookedDish, type CookingBuff, CookingQuery, type CraftingIngredient, type CraftingOutput, CraftingQuery, type CraftingRecipe, type Crop, CropQuery, type DayOfWeek, type DesertTraderDay, type DesertTraderItem, DesertTraderQuery, type DwarfShopCategory, type DwarfShopItem, DwarfShopQuery, type EnergyHealth, EventQuery, type FarmAnimal, type FarmMap, FarmMapQuery, type Festival, type FieldOfficeCollection, type FieldOfficeCollectionData, type FieldOfficeDonation, FieldOfficeDonationQuery, FieldOfficeQuery, type FieldOfficeReward, type Fish, type FishCatchType, type FishPond, type FishPondProduce, FishQuery, type FishRoe, type FishWeather, type FishingRod, type FishingRodLevel, type Footwear, FootwearQuery, type Forageable, ForageableQuery, type FruitTree, type FruitTreeProduce, type GameEvent, type GameLocation, type GeodeContainer, type GeodeContent, type GiftPreferences, type GoldBundle, type GoldenWalnut, GoldenWalnutQuery, type GoldenWalnutTrackingType, type GrandpaCategory, GrandpaEvaluator, type GrandpaInput, type GrandpaResult, type GrandpaScoreEntry, type GuildCategory, type GuildItem, GuildQuery, type GuildWeaponType, type HarvestQuantity, type Hat, HatQuery, type HeartEvent, type HouseRenovation, HouseRenovationQuery, type HouseUpgrade, type HouseUpgradeMaterial, HouseUpgradeQuery, type Ingredient, type IslandTraderDay, type IslandTraderItem, IslandTraderQuery, type ItemBundle, type ItemQuality, type JojaBundle, type JojaItem, JojaParrotCalculator, JojaQuery, type KnowledgeBonus, KnowledgeCalculator, type KrobusDay, type KrobusItem, KrobusQuery, type KrobusStockType, LATEST_API_VERSION, type LocationCategory, type LocationDay, type LocationHours, LocationQuery, type LocationType, type LostBook, LostBookQuery, MASTERY_LEVELS, type MarnieCategory, type MarnieItem, MarnieQuery, type MasteryLevel, type MasterySkill, type MasteryUnlock, type MedicalSupply, MedicalSupplyQuery, type MeleeWeapon, type Mineral, type MineralItem, MineralQuery, type MixedSeed, type MixedSeedProduces, MixedSeedQuery, type Monster, type MonsterLoot, MonsterLootQuery, MonsterQuery, type MonsterSlayerGoal, MonsterSlayerGoalQuery, type MonsterVariant, type NodeDrop, type NodeItem, type OasisCategory, type OasisDay, type OasisItem, OasisQuery, type OreItem, type PerfectionCategory, PerfectionQuery, type Pet, type PierreCategory, type PierreItem, PierreQuery, type PriceFormula, type ProfessionBonus, ProfessionCalculator, type ProfessionData, ProfessionQuery, type ProfessionSkill, type QiCurrency, type QiStockItem, QiStockQuery, type Quality, QualityCalculator, type QualityEnergyHealth, type QualityPrice, type Quest, QuestQuery, type RecipeSource, type ResourceItem, type Ring, RingQuery, SKILL_TITLES, type SaloonCategory, type SaloonItem, SaloonQuery, type SaveAnimal, type SaveBuilding, type SaveBundleData, type SaveBundleItem, type SaveBundleReward, type SaveBundleRoom, type SaveBundleStatus, type SaveChild, type SaveCollectionEntry, type SaveData, type SaveDate, type SaveFarm, type SaveFishEntry, type SaveFriendship, type SaveIslandUpgrades, type SaveItem, type SaveMastery, type SaveMasteryPerk, type SaveMineProgress, type SaveMonsterKillEntry, type SaveMuseum, type SavePerfection, type SavePet, type SavePlayer, type SavePowerEntry, type SavePowers, type SaveProfession, type SaveQuest, type SaveRaccoons, type SaveRecipeEntry, type SaveSecretNotes, type SaveShippedEntry, type SaveSkillLevel, type SaveSkills, type SaveSpecialOrders, type SaveStardropEntry, type SaveStats, type SaveWalnuts, type SearchResult, type SearchResultKind, type Season, type SeasonData, SeasonQuery, type SecretNote, SecretNoteQuery, type SecretNoteType, type SeedBuyPrice, type SimpleTool, type Skill, type SkillLevel, type SkillLevelRecipes, type SkillMastery, SkillQuery, type SlayerReward, type Slingshot, type SmeltRecipe, type SpecialItem, SpecialItemQuery, type SpecialItemType, type SpecialOrderCategory, type SpecialOrderData, SpecialOrderQuery, type Stage, type StarDrop, StarDropQuery, type StarDropSource, type Tackle, TackleQuery, type TitleThreshold, type Tool, type ToolLevel, ToolQuery, type ToolType, type TraderShopItem, type Tree, TreeQuery, type Trinket, TrinketQuery, type TrinketSource, type UniversalGifts, type UpgradeLevel, type UpgradeableTool, type VersionRange, type Villager, VillagerQuery, type VolcanoShopCategory, type VolcanoShopCurrency, type VolcanoShopItem, VolcanoShopQuery, type Weapon, WeaponQuery, type WeaponStat, WeaponStatQuery, type WeaponType, type Weather, WeatherQuery, type WildTree, type WildTreeTapper, type WillyCategory, type WillyItem, WillyQuery, type WizardBuilding, type WizardBuildingMaterial, WizardQuery, achievements, animals, applyPriceFormula, artifacts, artisanCalculator, artisanGoods, bait, blacksmith, booksellerShop, booksellerTrades, buildings, bundles, calculateArtisanPrice, carpenter, casino, collections, concessions, cooking, crafting, crops, desertTrader, dwarfShop, events, fieldOffice, fieldOfficeDonations, findFestival, fish, footwear, forageables, getMasteryLevel, getProfessionOptions, getTitle, getTitleScore, goldenWalnuts, grandpaEvaluator, guild, hats, houseRenovations, houseUpgrades, isFarmAnimal, isPet, islandTrader, joja, jojaParrotCalculator, knowledgeCalculator, krobus, locations, lostBooks, maps, marnie, medicalSupplies, minerals, mixedSeeds, monsterLoot, monsterSlayerGoals, monsters, oasis, parseSaveFile, perfection, pierre, professionCalculator, professions, qiStock, qualityCalculator, quests, resolveApiVersion, rings, saloon, search, seasons, secretNotes, skills, specialItems, specialOrders, starDrops, tackle, tools, trees, trinkets, universalGifts, villagers, volcanoShop, weaponStats, weapons, weather, willy, wizard };
|
package/dist/index.d.ts
CHANGED
|
@@ -79,6 +79,7 @@ interface Pet {
|
|
|
79
79
|
id: string;
|
|
80
80
|
name: string;
|
|
81
81
|
variant?: number;
|
|
82
|
+
purchasePrice: number | null;
|
|
82
83
|
image: string;
|
|
83
84
|
}
|
|
84
85
|
interface FarmAnimal {
|
|
@@ -1463,6 +1464,22 @@ declare class KnowledgeCalculator {
|
|
|
1463
1464
|
}
|
|
1464
1465
|
/** Returns a KnowledgeCalculator instance for computing knowledge bonus sell prices. */
|
|
1465
1466
|
declare function knowledgeCalculator(): KnowledgeCalculator;
|
|
1467
|
+
/**
|
|
1468
|
+
* Calculates the cost to purchase remaining Golden Walnuts from the Joja Parrot.
|
|
1469
|
+
* Each unfound walnut costs 10,000g. All remaining walnuts are delivered after sleeping.
|
|
1470
|
+
*/
|
|
1471
|
+
declare class JojaParrotCalculator {
|
|
1472
|
+
/** Calculate the gold cost to buy all remaining walnuts. */
|
|
1473
|
+
cost(walnutsFound: number): number;
|
|
1474
|
+
/** Returns how many walnuts are still unfound. */
|
|
1475
|
+
remaining(walnutsFound: number): number;
|
|
1476
|
+
/** The total number of Golden Walnuts available in the game. */
|
|
1477
|
+
get total(): number;
|
|
1478
|
+
/** The cost per individual unfound walnut (10,000g). */
|
|
1479
|
+
get costPerWalnut(): number;
|
|
1480
|
+
}
|
|
1481
|
+
/** Returns a JojaParrotCalculator instance for computing Golden Walnut purchase costs. */
|
|
1482
|
+
declare function jojaParrotCalculator(): JojaParrotCalculator;
|
|
1466
1483
|
|
|
1467
1484
|
/** Query builder for crop data. All filter and sort methods return a new CropQuery for chaining. */
|
|
1468
1485
|
declare class CropQuery extends QueryBase<Crop> {
|
|
@@ -2877,20 +2894,13 @@ interface SaveWalnuts {
|
|
|
2877
2894
|
found: number;
|
|
2878
2895
|
collected: string[];
|
|
2879
2896
|
}
|
|
2880
|
-
/** Ginger Island upgrade
|
|
2881
|
-
interface
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
house: boolean;
|
|
2885
|
-
resort: boolean;
|
|
2886
|
-
trader: boolean;
|
|
2887
|
-
bridge: boolean;
|
|
2888
|
-
parrotPlatforms: boolean;
|
|
2889
|
-
mailbox: boolean;
|
|
2890
|
-
obelisk: boolean;
|
|
2891
|
-
volcanoBridge: boolean;
|
|
2892
|
-
volcanoShortcut: boolean;
|
|
2897
|
+
/** A single Ginger Island parrot upgrade with unlock status. */
|
|
2898
|
+
interface SaveIslandUpgrade {
|
|
2899
|
+
id: string;
|
|
2900
|
+
unlocked: boolean;
|
|
2893
2901
|
}
|
|
2902
|
+
/** Ginger Island upgrade and unlock status for each parrot-purchasable feature. */
|
|
2903
|
+
type SaveIslandUpgrades = SaveIslandUpgrade[];
|
|
2894
2904
|
/** A player's child with name, age stage, and gender. */
|
|
2895
2905
|
interface SaveChild {
|
|
2896
2906
|
name: string;
|
|
@@ -3002,4 +3012,4 @@ declare function resolveApiVersion(gameVersion: string): number;
|
|
|
3002
3012
|
*/
|
|
3003
3013
|
declare function parseSaveFile(xml: string): SaveData;
|
|
3004
3014
|
|
|
3005
|
-
export { type Achievement, AchievementQuery, type Animal, type AnimalProduce, AnimalQuery, type Artifact, ArtifactQuery, ArtisanCalculator, type ArtisanEnergyResult, type ArtisanGood, type ArtisanGoodBuff, ArtisanGoodQuery, type ArtisanIngredient, type ArtisanResult, type ArtisanUses, type Backpack, type Bait, BaitQuery, type BarItem, type BlacksmithItem, BlacksmithQuery, type BooksellerAvailability, type BooksellerItem, BooksellerItemQuery, type BooksellerTrade, BooksellerTradeQuery, type Buff, type Building, type BuildingBuilder, type BuildingMaterial, BuildingQuery, type Bundle, type BundleItem, BundleQuery, type BundleReward, type BundleRoom, type CarpenterCategory, type CarpenterDay, type CarpenterItem, CarpenterQuery, type CasinoCategory, type CasinoItem, CasinoQuery, type CaskAging, type ChoppedTreeProduce, type CollectionItem, CollectionItemQuery, CollectionsQuery, type Concession, ConcessionQuery, type ConcessionTag, type CookedDish, type CookingBuff, CookingQuery, type CraftingIngredient, type CraftingOutput, CraftingQuery, type CraftingRecipe, type Crop, CropQuery, type DayOfWeek, type DesertTraderDay, type DesertTraderItem, DesertTraderQuery, type DwarfShopCategory, type DwarfShopItem, DwarfShopQuery, type EnergyHealth, EventQuery, type FarmAnimal, type FarmMap, FarmMapQuery, type Festival, type FieldOfficeCollection, type FieldOfficeCollectionData, type FieldOfficeDonation, FieldOfficeDonationQuery, FieldOfficeQuery, type FieldOfficeReward, type Fish, type FishCatchType, type FishPond, type FishPondProduce, FishQuery, type FishRoe, type FishWeather, type FishingRod, type FishingRodLevel, type Footwear, FootwearQuery, type Forageable, ForageableQuery, type FruitTree, type FruitTreeProduce, type GameEvent, type GameLocation, type GeodeContainer, type GeodeContent, type GiftPreferences, type GoldBundle, type GoldenWalnut, GoldenWalnutQuery, type GoldenWalnutTrackingType, type GrandpaCategory, GrandpaEvaluator, type GrandpaInput, type GrandpaResult, type GrandpaScoreEntry, type GuildCategory, type GuildItem, GuildQuery, type GuildWeaponType, type HarvestQuantity, type Hat, HatQuery, type HeartEvent, type HouseRenovation, HouseRenovationQuery, type HouseUpgrade, type HouseUpgradeMaterial, HouseUpgradeQuery, type Ingredient, type IslandTraderDay, type IslandTraderItem, IslandTraderQuery, type ItemBundle, type ItemQuality, type JojaBundle, type JojaItem, JojaQuery, type KnowledgeBonus, KnowledgeCalculator, type KrobusDay, type KrobusItem, KrobusQuery, type KrobusStockType, LATEST_API_VERSION, type LocationCategory, type LocationDay, type LocationHours, LocationQuery, type LocationType, type LostBook, LostBookQuery, MASTERY_LEVELS, type MarnieCategory, type MarnieItem, MarnieQuery, type MasteryLevel, type MasterySkill, type MasteryUnlock, type MedicalSupply, MedicalSupplyQuery, type MeleeWeapon, type Mineral, type MineralItem, MineralQuery, type MixedSeed, type MixedSeedProduces, MixedSeedQuery, type Monster, type MonsterLoot, MonsterLootQuery, MonsterQuery, type MonsterSlayerGoal, MonsterSlayerGoalQuery, type MonsterVariant, type NodeDrop, type NodeItem, type OasisCategory, type OasisDay, type OasisItem, OasisQuery, type OreItem, type PerfectionCategory, PerfectionQuery, type Pet, type PierreCategory, type PierreItem, PierreQuery, type PriceFormula, type ProfessionBonus, ProfessionCalculator, type ProfessionData, ProfessionQuery, type ProfessionSkill, type QiCurrency, type QiStockItem, QiStockQuery, type Quality, QualityCalculator, type QualityEnergyHealth, type QualityPrice, type Quest, QuestQuery, type RecipeSource, type ResourceItem, type Ring, RingQuery, SKILL_TITLES, type SaloonCategory, type SaloonItem, SaloonQuery, type SaveAnimal, type SaveBuilding, type SaveBundleData, type SaveBundleItem, type SaveBundleReward, type SaveBundleRoom, type SaveBundleStatus, type SaveChild, type SaveCollectionEntry, type SaveData, type SaveDate, type SaveFarm, type SaveFishEntry, type SaveFriendship, type SaveIslandUpgrades, type SaveItem, type SaveMastery, type SaveMasteryPerk, type SaveMineProgress, type SaveMonsterKillEntry, type SaveMuseum, type SavePerfection, type SavePet, type SavePlayer, type SavePowerEntry, type SavePowers, type SaveProfession, type SaveQuest, type SaveRaccoons, type SaveRecipeEntry, type SaveSecretNotes, type SaveShippedEntry, type SaveSkillLevel, type SaveSkills, type SaveSpecialOrders, type SaveStardropEntry, type SaveStats, type SaveWalnuts, type SearchResult, type SearchResultKind, type Season, type SeasonData, SeasonQuery, type SecretNote, SecretNoteQuery, type SecretNoteType, type SeedBuyPrice, type SimpleTool, type Skill, type SkillLevel, type SkillLevelRecipes, type SkillMastery, SkillQuery, type SlayerReward, type Slingshot, type SmeltRecipe, type SpecialItem, SpecialItemQuery, type SpecialItemType, type SpecialOrderCategory, type SpecialOrderData, SpecialOrderQuery, type Stage, type StarDrop, StarDropQuery, type StarDropSource, type Tackle, TackleQuery, type TitleThreshold, type Tool, type ToolLevel, ToolQuery, type ToolType, type TraderShopItem, type Tree, TreeQuery, type Trinket, TrinketQuery, type TrinketSource, type UniversalGifts, type UpgradeLevel, type UpgradeableTool, type VersionRange, type Villager, VillagerQuery, type VolcanoShopCategory, type VolcanoShopCurrency, type VolcanoShopItem, VolcanoShopQuery, type Weapon, WeaponQuery, type WeaponStat, WeaponStatQuery, type WeaponType, type Weather, WeatherQuery, type WildTree, type WildTreeTapper, type WillyCategory, type WillyItem, WillyQuery, type WizardBuilding, type WizardBuildingMaterial, WizardQuery, achievements, animals, applyPriceFormula, artifacts, artisanCalculator, artisanGoods, bait, blacksmith, booksellerShop, booksellerTrades, buildings, bundles, calculateArtisanPrice, carpenter, casino, collections, concessions, cooking, crafting, crops, desertTrader, dwarfShop, events, fieldOffice, fieldOfficeDonations, findFestival, fish, footwear, forageables, getMasteryLevel, getProfessionOptions, getTitle, getTitleScore, goldenWalnuts, grandpaEvaluator, guild, hats, houseRenovations, houseUpgrades, isFarmAnimal, isPet, islandTrader, joja, knowledgeCalculator, krobus, locations, lostBooks, maps, marnie, medicalSupplies, minerals, mixedSeeds, monsterLoot, monsterSlayerGoals, monsters, oasis, parseSaveFile, perfection, pierre, professionCalculator, professions, qiStock, qualityCalculator, quests, resolveApiVersion, rings, saloon, search, seasons, secretNotes, skills, specialItems, specialOrders, starDrops, tackle, tools, trees, trinkets, universalGifts, villagers, volcanoShop, weaponStats, weapons, weather, willy, wizard };
|
|
3015
|
+
export { type Achievement, AchievementQuery, type Animal, type AnimalProduce, AnimalQuery, type Artifact, ArtifactQuery, ArtisanCalculator, type ArtisanEnergyResult, type ArtisanGood, type ArtisanGoodBuff, ArtisanGoodQuery, type ArtisanIngredient, type ArtisanResult, type ArtisanUses, type Backpack, type Bait, BaitQuery, type BarItem, type BlacksmithItem, BlacksmithQuery, type BooksellerAvailability, type BooksellerItem, BooksellerItemQuery, type BooksellerTrade, BooksellerTradeQuery, type Buff, type Building, type BuildingBuilder, type BuildingMaterial, BuildingQuery, type Bundle, type BundleItem, BundleQuery, type BundleReward, type BundleRoom, type CarpenterCategory, type CarpenterDay, type CarpenterItem, CarpenterQuery, type CasinoCategory, type CasinoItem, CasinoQuery, type CaskAging, type ChoppedTreeProduce, type CollectionItem, CollectionItemQuery, CollectionsQuery, type Concession, ConcessionQuery, type ConcessionTag, type CookedDish, type CookingBuff, CookingQuery, type CraftingIngredient, type CraftingOutput, CraftingQuery, type CraftingRecipe, type Crop, CropQuery, type DayOfWeek, type DesertTraderDay, type DesertTraderItem, DesertTraderQuery, type DwarfShopCategory, type DwarfShopItem, DwarfShopQuery, type EnergyHealth, EventQuery, type FarmAnimal, type FarmMap, FarmMapQuery, type Festival, type FieldOfficeCollection, type FieldOfficeCollectionData, type FieldOfficeDonation, FieldOfficeDonationQuery, FieldOfficeQuery, type FieldOfficeReward, type Fish, type FishCatchType, type FishPond, type FishPondProduce, FishQuery, type FishRoe, type FishWeather, type FishingRod, type FishingRodLevel, type Footwear, FootwearQuery, type Forageable, ForageableQuery, type FruitTree, type FruitTreeProduce, type GameEvent, type GameLocation, type GeodeContainer, type GeodeContent, type GiftPreferences, type GoldBundle, type GoldenWalnut, GoldenWalnutQuery, type GoldenWalnutTrackingType, type GrandpaCategory, GrandpaEvaluator, type GrandpaInput, type GrandpaResult, type GrandpaScoreEntry, type GuildCategory, type GuildItem, GuildQuery, type GuildWeaponType, type HarvestQuantity, type Hat, HatQuery, type HeartEvent, type HouseRenovation, HouseRenovationQuery, type HouseUpgrade, type HouseUpgradeMaterial, HouseUpgradeQuery, type Ingredient, type IslandTraderDay, type IslandTraderItem, IslandTraderQuery, type ItemBundle, type ItemQuality, type JojaBundle, type JojaItem, JojaParrotCalculator, JojaQuery, type KnowledgeBonus, KnowledgeCalculator, type KrobusDay, type KrobusItem, KrobusQuery, type KrobusStockType, LATEST_API_VERSION, type LocationCategory, type LocationDay, type LocationHours, LocationQuery, type LocationType, type LostBook, LostBookQuery, MASTERY_LEVELS, type MarnieCategory, type MarnieItem, MarnieQuery, type MasteryLevel, type MasterySkill, type MasteryUnlock, type MedicalSupply, MedicalSupplyQuery, type MeleeWeapon, type Mineral, type MineralItem, MineralQuery, type MixedSeed, type MixedSeedProduces, MixedSeedQuery, type Monster, type MonsterLoot, MonsterLootQuery, MonsterQuery, type MonsterSlayerGoal, MonsterSlayerGoalQuery, type MonsterVariant, type NodeDrop, type NodeItem, type OasisCategory, type OasisDay, type OasisItem, OasisQuery, type OreItem, type PerfectionCategory, PerfectionQuery, type Pet, type PierreCategory, type PierreItem, PierreQuery, type PriceFormula, type ProfessionBonus, ProfessionCalculator, type ProfessionData, ProfessionQuery, type ProfessionSkill, type QiCurrency, type QiStockItem, QiStockQuery, type Quality, QualityCalculator, type QualityEnergyHealth, type QualityPrice, type Quest, QuestQuery, type RecipeSource, type ResourceItem, type Ring, RingQuery, SKILL_TITLES, type SaloonCategory, type SaloonItem, SaloonQuery, type SaveAnimal, type SaveBuilding, type SaveBundleData, type SaveBundleItem, type SaveBundleReward, type SaveBundleRoom, type SaveBundleStatus, type SaveChild, type SaveCollectionEntry, type SaveData, type SaveDate, type SaveFarm, type SaveFishEntry, type SaveFriendship, type SaveIslandUpgrades, type SaveItem, type SaveMastery, type SaveMasteryPerk, type SaveMineProgress, type SaveMonsterKillEntry, type SaveMuseum, type SavePerfection, type SavePet, type SavePlayer, type SavePowerEntry, type SavePowers, type SaveProfession, type SaveQuest, type SaveRaccoons, type SaveRecipeEntry, type SaveSecretNotes, type SaveShippedEntry, type SaveSkillLevel, type SaveSkills, type SaveSpecialOrders, type SaveStardropEntry, type SaveStats, type SaveWalnuts, type SearchResult, type SearchResultKind, type Season, type SeasonData, SeasonQuery, type SecretNote, SecretNoteQuery, type SecretNoteType, type SeedBuyPrice, type SimpleTool, type Skill, type SkillLevel, type SkillLevelRecipes, type SkillMastery, SkillQuery, type SlayerReward, type Slingshot, type SmeltRecipe, type SpecialItem, SpecialItemQuery, type SpecialItemType, type SpecialOrderCategory, type SpecialOrderData, SpecialOrderQuery, type Stage, type StarDrop, StarDropQuery, type StarDropSource, type Tackle, TackleQuery, type TitleThreshold, type Tool, type ToolLevel, ToolQuery, type ToolType, type TraderShopItem, type Tree, TreeQuery, type Trinket, TrinketQuery, type TrinketSource, type UniversalGifts, type UpgradeLevel, type UpgradeableTool, type VersionRange, type Villager, VillagerQuery, type VolcanoShopCategory, type VolcanoShopCurrency, type VolcanoShopItem, VolcanoShopQuery, type Weapon, WeaponQuery, type WeaponStat, WeaponStatQuery, type WeaponType, type Weather, WeatherQuery, type WildTree, type WildTreeTapper, type WillyCategory, type WillyItem, WillyQuery, type WizardBuilding, type WizardBuildingMaterial, WizardQuery, achievements, animals, applyPriceFormula, artifacts, artisanCalculator, artisanGoods, bait, blacksmith, booksellerShop, booksellerTrades, buildings, bundles, calculateArtisanPrice, carpenter, casino, collections, concessions, cooking, crafting, crops, desertTrader, dwarfShop, events, fieldOffice, fieldOfficeDonations, findFestival, fish, footwear, forageables, getMasteryLevel, getProfessionOptions, getTitle, getTitleScore, goldenWalnuts, grandpaEvaluator, guild, hats, houseRenovations, houseUpgrades, isFarmAnimal, isPet, islandTrader, joja, jojaParrotCalculator, knowledgeCalculator, krobus, locations, lostBooks, maps, marnie, medicalSupplies, minerals, mixedSeeds, monsterLoot, monsterSlayerGoals, monsters, oasis, parseSaveFile, perfection, pierre, professionCalculator, professions, qiStock, qualityCalculator, quests, resolveApiVersion, rings, saloon, search, seasons, secretNotes, skills, specialItems, specialOrders, starDrops, tackle, tools, trees, trinkets, universalGifts, villagers, volcanoShop, weaponStats, weapons, weather, willy, wizard };
|
package/dist/index.js
CHANGED
|
@@ -55,6 +55,7 @@ __export(index_exports, {
|
|
|
55
55
|
HouseRenovationQuery: () => HouseRenovationQuery,
|
|
56
56
|
HouseUpgradeQuery: () => HouseUpgradeQuery,
|
|
57
57
|
IslandTraderQuery: () => IslandTraderQuery,
|
|
58
|
+
JojaParrotCalculator: () => JojaParrotCalculator,
|
|
58
59
|
JojaQuery: () => JojaQuery,
|
|
59
60
|
KnowledgeCalculator: () => KnowledgeCalculator,
|
|
60
61
|
KrobusQuery: () => KrobusQuery,
|
|
@@ -140,6 +141,7 @@ __export(index_exports, {
|
|
|
140
141
|
isPet: () => isPet,
|
|
141
142
|
islandTrader: () => islandTrader,
|
|
142
143
|
joja: () => joja,
|
|
144
|
+
jojaParrotCalculator: () => jojaParrotCalculator,
|
|
143
145
|
knowledgeCalculator: () => knowledgeCalculator,
|
|
144
146
|
krobus: () => krobus,
|
|
145
147
|
locations: () => locations,
|
|
@@ -700,6 +702,7 @@ var animals_default = [
|
|
|
700
702
|
id: "cat-1",
|
|
701
703
|
name: "Cat",
|
|
702
704
|
variant: 1,
|
|
705
|
+
purchasePrice: 4e4,
|
|
703
706
|
image: "images/animals/Cat 1.png"
|
|
704
707
|
},
|
|
705
708
|
{
|
|
@@ -707,6 +710,7 @@ var animals_default = [
|
|
|
707
710
|
id: "cat-2",
|
|
708
711
|
name: "Cat",
|
|
709
712
|
variant: 2,
|
|
713
|
+
purchasePrice: 4e4,
|
|
710
714
|
image: "images/animals/Cat 2.png"
|
|
711
715
|
},
|
|
712
716
|
{
|
|
@@ -714,6 +718,7 @@ var animals_default = [
|
|
|
714
718
|
id: "cat-3",
|
|
715
719
|
name: "Cat",
|
|
716
720
|
variant: 3,
|
|
721
|
+
purchasePrice: 4e4,
|
|
717
722
|
image: "images/animals/Cat 3.png"
|
|
718
723
|
},
|
|
719
724
|
{
|
|
@@ -721,6 +726,7 @@ var animals_default = [
|
|
|
721
726
|
id: "cat-4",
|
|
722
727
|
name: "Cat",
|
|
723
728
|
variant: 4,
|
|
729
|
+
purchasePrice: 4e4,
|
|
724
730
|
image: "images/animals/Cat 4.png"
|
|
725
731
|
},
|
|
726
732
|
{
|
|
@@ -728,6 +734,7 @@ var animals_default = [
|
|
|
728
734
|
id: "cat-5",
|
|
729
735
|
name: "Cat",
|
|
730
736
|
variant: 5,
|
|
737
|
+
purchasePrice: 4e4,
|
|
731
738
|
image: "images/animals/Cat 5.png"
|
|
732
739
|
},
|
|
733
740
|
{
|
|
@@ -735,6 +742,7 @@ var animals_default = [
|
|
|
735
742
|
id: "dog-1",
|
|
736
743
|
name: "Dog",
|
|
737
744
|
variant: 1,
|
|
745
|
+
purchasePrice: 4e4,
|
|
738
746
|
image: "images/animals/Dog 1.png"
|
|
739
747
|
},
|
|
740
748
|
{
|
|
@@ -742,6 +750,7 @@ var animals_default = [
|
|
|
742
750
|
id: "dog-2",
|
|
743
751
|
name: "Dog",
|
|
744
752
|
variant: 2,
|
|
753
|
+
purchasePrice: 4e4,
|
|
745
754
|
image: "images/animals/Dog 2.png"
|
|
746
755
|
},
|
|
747
756
|
{
|
|
@@ -749,6 +758,7 @@ var animals_default = [
|
|
|
749
758
|
id: "dog-3",
|
|
750
759
|
name: "Dog",
|
|
751
760
|
variant: 3,
|
|
761
|
+
purchasePrice: 4e4,
|
|
752
762
|
image: "images/animals/Dog 3.png"
|
|
753
763
|
},
|
|
754
764
|
{
|
|
@@ -756,6 +766,7 @@ var animals_default = [
|
|
|
756
766
|
id: "dog-4",
|
|
757
767
|
name: "Dog",
|
|
758
768
|
variant: 4,
|
|
769
|
+
purchasePrice: 4e4,
|
|
759
770
|
image: "images/animals/Dog 4.png"
|
|
760
771
|
},
|
|
761
772
|
{
|
|
@@ -763,6 +774,7 @@ var animals_default = [
|
|
|
763
774
|
id: "dog-5",
|
|
764
775
|
name: "Dog",
|
|
765
776
|
variant: 5,
|
|
777
|
+
purchasePrice: 4e4,
|
|
766
778
|
image: "images/animals/Dog 5.png"
|
|
767
779
|
},
|
|
768
780
|
{
|
|
@@ -770,6 +782,7 @@ var animals_default = [
|
|
|
770
782
|
id: "turtle",
|
|
771
783
|
name: "Turtle",
|
|
772
784
|
variant: 1,
|
|
785
|
+
purchasePrice: 6e4,
|
|
773
786
|
image: "images/animals/Turtle.png"
|
|
774
787
|
},
|
|
775
788
|
{
|
|
@@ -777,12 +790,14 @@ var animals_default = [
|
|
|
777
790
|
id: "iridium-turtle",
|
|
778
791
|
name: "Iridium Turtle",
|
|
779
792
|
variant: 2,
|
|
793
|
+
purchasePrice: 5e5,
|
|
780
794
|
image: "images/animals/Iridium Turtle.png"
|
|
781
795
|
},
|
|
782
796
|
{
|
|
783
797
|
type: "pet",
|
|
784
798
|
id: "horse",
|
|
785
799
|
name: "Horse",
|
|
800
|
+
purchasePrice: null,
|
|
786
801
|
image: "images/animals/horse.png"
|
|
787
802
|
},
|
|
788
803
|
{
|
|
@@ -4537,6 +4552,30 @@ var KnowledgeCalculator = class {
|
|
|
4537
4552
|
function knowledgeCalculator() {
|
|
4538
4553
|
return new KnowledgeCalculator();
|
|
4539
4554
|
}
|
|
4555
|
+
var TOTAL_GOLDEN_WALNUTS = 130;
|
|
4556
|
+
var JOJA_PARROT_COST_PER_WALNUT = 1e4;
|
|
4557
|
+
var JojaParrotCalculator = class {
|
|
4558
|
+
/** Calculate the gold cost to buy all remaining walnuts. */
|
|
4559
|
+
cost(walnutsFound) {
|
|
4560
|
+
const remaining = Math.max(0, TOTAL_GOLDEN_WALNUTS - walnutsFound);
|
|
4561
|
+
return remaining * JOJA_PARROT_COST_PER_WALNUT;
|
|
4562
|
+
}
|
|
4563
|
+
/** Returns how many walnuts are still unfound. */
|
|
4564
|
+
remaining(walnutsFound) {
|
|
4565
|
+
return Math.max(0, TOTAL_GOLDEN_WALNUTS - walnutsFound);
|
|
4566
|
+
}
|
|
4567
|
+
/** The total number of Golden Walnuts available in the game. */
|
|
4568
|
+
get total() {
|
|
4569
|
+
return TOTAL_GOLDEN_WALNUTS;
|
|
4570
|
+
}
|
|
4571
|
+
/** The cost per individual unfound walnut (10,000g). */
|
|
4572
|
+
get costPerWalnut() {
|
|
4573
|
+
return JOJA_PARROT_COST_PER_WALNUT;
|
|
4574
|
+
}
|
|
4575
|
+
};
|
|
4576
|
+
function jojaParrotCalculator() {
|
|
4577
|
+
return new JojaParrotCalculator();
|
|
4578
|
+
}
|
|
4540
4579
|
|
|
4541
4580
|
// data/crops.json
|
|
4542
4581
|
var crops_default = [
|
|
@@ -41104,21 +41143,94 @@ function parseInventory(items) {
|
|
|
41104
41143
|
return result;
|
|
41105
41144
|
}
|
|
41106
41145
|
|
|
41146
|
+
// data/island-upgrades.json
|
|
41147
|
+
var island_upgrades_default = [
|
|
41148
|
+
{
|
|
41149
|
+
id: "Island_FirstParrot",
|
|
41150
|
+
name: "Ginger Island North",
|
|
41151
|
+
description: "Feed Leo's parrot friend to unlock access to the north side of the island.",
|
|
41152
|
+
cost: 1,
|
|
41153
|
+
location: "Leo's Hut"
|
|
41154
|
+
},
|
|
41155
|
+
{
|
|
41156
|
+
id: "Island_Turtle",
|
|
41157
|
+
name: "Ginger Island West",
|
|
41158
|
+
description: "A turtle ferries the player to the western island region.",
|
|
41159
|
+
cost: 10,
|
|
41160
|
+
location: "Leo's Hut area"
|
|
41161
|
+
},
|
|
41162
|
+
{
|
|
41163
|
+
id: "Island_UpgradeHouse",
|
|
41164
|
+
name: "Island Farmhouse",
|
|
41165
|
+
description: "Provides sleeping quarters on the west side of the island so the player can stay overnight.",
|
|
41166
|
+
cost: 20,
|
|
41167
|
+
location: "Ginger Island West"
|
|
41168
|
+
},
|
|
41169
|
+
{
|
|
41170
|
+
id: "Island_Resort",
|
|
41171
|
+
name: "Island Resort",
|
|
41172
|
+
description: "Unlocks the beach resort on the south side of the island. Villagers can visit.",
|
|
41173
|
+
cost: 20,
|
|
41174
|
+
location: "Island South"
|
|
41175
|
+
},
|
|
41176
|
+
{
|
|
41177
|
+
id: "Island_UpgradeTrader",
|
|
41178
|
+
name: "Island Trader",
|
|
41179
|
+
description: "Unlocks the Island Trader shop on the north side of the island.",
|
|
41180
|
+
cost: 10,
|
|
41181
|
+
location: "Island North"
|
|
41182
|
+
},
|
|
41183
|
+
{
|
|
41184
|
+
id: "Island_UpgradeBridge",
|
|
41185
|
+
name: "Dig Site Bridge",
|
|
41186
|
+
description: "Repairs the bridge to access the island dig site.",
|
|
41187
|
+
cost: 10,
|
|
41188
|
+
location: "Island North"
|
|
41189
|
+
},
|
|
41190
|
+
{
|
|
41191
|
+
id: "Island_UpgradeParrotPlatform",
|
|
41192
|
+
name: "Parrot Express",
|
|
41193
|
+
description: "Enables the fast-travel parrot platform system around the island.",
|
|
41194
|
+
cost: 10,
|
|
41195
|
+
location: "Ginger Island (multiple stops)"
|
|
41196
|
+
},
|
|
41197
|
+
{
|
|
41198
|
+
id: "Island_UpgradeHouse_Mailbox",
|
|
41199
|
+
name: "Farmhouse Mailbox",
|
|
41200
|
+
description: "Adds a mailbox to the island farmhouse so the player can receive mail.",
|
|
41201
|
+
cost: 5,
|
|
41202
|
+
location: "Island Farmhouse"
|
|
41203
|
+
},
|
|
41204
|
+
{
|
|
41205
|
+
id: "Island_W_Obelisk",
|
|
41206
|
+
name: "Farm Obelisk",
|
|
41207
|
+
description: "Builds an obelisk near the island farmhouse that teleports the player back to the farm.",
|
|
41208
|
+
cost: 20,
|
|
41209
|
+
location: "Island Farmhouse"
|
|
41210
|
+
},
|
|
41211
|
+
{
|
|
41212
|
+
id: "Island_VolcanoBridge",
|
|
41213
|
+
name: "Volcano Bridge",
|
|
41214
|
+
description: "Builds a permanent bridge at the volcano dungeon entrance.",
|
|
41215
|
+
cost: 5,
|
|
41216
|
+
location: "Volcano Dungeon entrance"
|
|
41217
|
+
},
|
|
41218
|
+
{
|
|
41219
|
+
id: "Island_VolcanoShortcutOut",
|
|
41220
|
+
name: "Volcano Exit Shortcut",
|
|
41221
|
+
description: "Creates a shortcut exit passage on volcano dungeon level 5.",
|
|
41222
|
+
cost: 5,
|
|
41223
|
+
location: "Volcano Dungeon level 5"
|
|
41224
|
+
}
|
|
41225
|
+
];
|
|
41226
|
+
|
|
41107
41227
|
// src/save-file/parsers/v1/island-upgrades.ts
|
|
41228
|
+
var UPGRADE_IDS = island_upgrades_default.map((u) => u.id);
|
|
41108
41229
|
function parseIslandUpgrades(mail) {
|
|
41109
|
-
return {
|
|
41110
|
-
|
|
41111
|
-
|
|
41112
|
-
|
|
41113
|
-
resort: mail.has("Island_Resort"),
|
|
41114
|
-
trader: mail.has("Island_UpgradeTrader"),
|
|
41115
|
-
bridge: mail.has("Island_UpgradeBridge"),
|
|
41116
|
-
parrotPlatforms: mail.has("Island_UpgradeParrotPlatform"),
|
|
41117
|
-
mailbox: mail.has("Island_UpgradeHouse_Mailbox"),
|
|
41118
|
-
obelisk: mail.has("Island_W_Obelisk"),
|
|
41119
|
-
volcanoBridge: mail.has("Island_VolcanoBridge"),
|
|
41120
|
-
volcanoShortcut: mail.has("Island_VolcanoShortcutOut")
|
|
41121
|
-
};
|
|
41230
|
+
return UPGRADE_IDS.map((id) => ({
|
|
41231
|
+
id,
|
|
41232
|
+
unlocked: mail.has(id)
|
|
41233
|
+
}));
|
|
41122
41234
|
}
|
|
41123
41235
|
|
|
41124
41236
|
// src/save-file/parsers/v1/mail.ts
|
|
@@ -41731,6 +41843,7 @@ function parseSaveFile(xml) {
|
|
|
41731
41843
|
HouseRenovationQuery,
|
|
41732
41844
|
HouseUpgradeQuery,
|
|
41733
41845
|
IslandTraderQuery,
|
|
41846
|
+
JojaParrotCalculator,
|
|
41734
41847
|
JojaQuery,
|
|
41735
41848
|
KnowledgeCalculator,
|
|
41736
41849
|
KrobusQuery,
|
|
@@ -41816,6 +41929,7 @@ function parseSaveFile(xml) {
|
|
|
41816
41929
|
isPet,
|
|
41817
41930
|
islandTrader,
|
|
41818
41931
|
joja,
|
|
41932
|
+
jojaParrotCalculator,
|
|
41819
41933
|
knowledgeCalculator,
|
|
41820
41934
|
krobus,
|
|
41821
41935
|
locations,
|