stardew-valley-data 0.33.0 → 1.0.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 +10 -0
- package/README.md +0 -6
- package/data/rarecrows.json +58 -0
- package/dist/index.d.mts +24 -2
- package/dist/index.d.ts +24 -2
- package/dist/index.js +123 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +121 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,16 @@ 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
|
+
## [1.0.0] - 2026-04-05
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `rarecrows` module — `RarecrowQuery` class and `rarecrows()` factory exposing all 8 rarecrows with
|
|
13
|
+
`number`, `name`, `image`, and `obtain` fields; `sortByNumber()` sort method
|
|
14
|
+
- `SaveData.rarecrows: SaveRarecrows` — parses all placed rarecrow item IDs from the save file,
|
|
15
|
+
including rarecrows stored inside chests and building interior objects
|
|
16
|
+
- `SaveRarecrows` interface (`placed: string[]`) exported from `save-file`
|
|
17
|
+
|
|
8
18
|
## [0.33.0] - 2026-04-04
|
|
9
19
|
|
|
10
20
|
### Added
|
package/README.md
CHANGED
|
@@ -12,12 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
---
|
|
14
14
|
|
|
15
|
-
> **Pre-1.0 Notice:** This package is under active development. Breaking changes to the save file
|
|
16
|
-
> parser structure, data types, and other APIs may occur in any release before `1.0.0`. Pin your
|
|
17
|
-
> version or review the [Change Log](CHANGELOG.md) before upgrading.
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
15
|
## 📦 Installation
|
|
22
16
|
|
|
23
17
|
```bash
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"id": "110",
|
|
4
|
+
"number": 1,
|
|
5
|
+
"name": "Rarecrow 1",
|
|
6
|
+
"image": "images/scarecrows/Rarecrow 1.png",
|
|
7
|
+
"obtain": "Purchase at the Stardew Valley Fair for 800 Tokens."
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "113",
|
|
11
|
+
"number": 2,
|
|
12
|
+
"name": "Rarecrow 2",
|
|
13
|
+
"image": "images/scarecrows/Rarecrow 2.png",
|
|
14
|
+
"obtain": "Purchase at the Spirit's Eve festival for 5,000g."
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"id": "126",
|
|
18
|
+
"number": 3,
|
|
19
|
+
"name": "Rarecrow 3",
|
|
20
|
+
"image": "images/scarecrows/Rarecrow 3.png",
|
|
21
|
+
"obtain": "Purchase at the Casino for 10,000 Qi Coins."
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "136",
|
|
25
|
+
"number": 4,
|
|
26
|
+
"name": "Rarecrow 4",
|
|
27
|
+
"image": "images/scarecrows/Rarecrow 4.png",
|
|
28
|
+
"obtain": "Purchase at the Traveling Cart randomly during fall or winter for 4,000g, or purchase at the Festival of Ice for 5,000g."
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"id": "137",
|
|
32
|
+
"number": 5,
|
|
33
|
+
"name": "Rarecrow 5",
|
|
34
|
+
"image": "images/scarecrows/Rarecrow 5.png",
|
|
35
|
+
"obtain": "Purchase at the Flower Dance for 2,500g."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "138",
|
|
39
|
+
"number": 6,
|
|
40
|
+
"name": "Rarecrow 6",
|
|
41
|
+
"image": "images/scarecrows/Rarecrow 6.png",
|
|
42
|
+
"obtain": "Purchase from the Dwarf for 2,500g."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "139",
|
|
46
|
+
"number": 7,
|
|
47
|
+
"name": "Rarecrow 7",
|
|
48
|
+
"image": "images/scarecrows/Rarecrow 7.png",
|
|
49
|
+
"obtain": "Donate 20 Artifacts (not counting Minerals) to the Museum. Can be purchased from the Night Market once the first one is earned."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "140",
|
|
53
|
+
"number": 8,
|
|
54
|
+
"name": "Rarecrow 8",
|
|
55
|
+
"image": "images/scarecrows/Rarecrow 8.png",
|
|
56
|
+
"obtain": "Donate 40 items to the Museum. Can be purchased from the Night Market once the first one is earned."
|
|
57
|
+
}
|
|
58
|
+
]
|
package/dist/index.d.mts
CHANGED
|
@@ -301,7 +301,7 @@ interface MonsterSlayerGoal {
|
|
|
301
301
|
reward: SlayerReward;
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
-
type SearchResultKind = 'crop' | 'crop-seed' | 'fruit-tree' | 'fruit-tree-produce' | 'wild-tree' | 'wild-tree-seed' | 'wild-tree-tapper' | 'animal' | 'animal-produce' | 'artisan-good' | 'monster' | 'monster-loot' | 'ring' | 'tool' | 'weapon' | 'hat' | 'footwear' | 'forageable' | 'fish' | 'bait' | 'tackle' | 'cooked-dish' | 'artifact' | 'mineral' | 'geode' | 'mining-node' | 'mineral-resource' | 'crafting-recipe';
|
|
304
|
+
type SearchResultKind = 'crop' | 'crop-seed' | 'fruit-tree' | 'fruit-tree-produce' | 'wild-tree' | 'wild-tree-seed' | 'wild-tree-tapper' | 'animal' | 'animal-produce' | 'artisan-good' | 'monster' | 'monster-loot' | 'ring' | 'tool' | 'weapon' | 'hat' | 'footwear' | 'forageable' | 'fish' | 'bait' | 'tackle' | 'cooked-dish' | 'artifact' | 'mineral' | 'geode' | 'mining-node' | 'mineral-resource' | 'crafting-recipe' | 'rarecrow';
|
|
305
305
|
interface SearchResult {
|
|
306
306
|
kind: SearchResultKind;
|
|
307
307
|
id: string;
|
|
@@ -1255,6 +1255,14 @@ interface Building {
|
|
|
1255
1255
|
image: string;
|
|
1256
1256
|
}
|
|
1257
1257
|
|
|
1258
|
+
interface Rarecrow {
|
|
1259
|
+
id: string;
|
|
1260
|
+
number: number;
|
|
1261
|
+
name: string;
|
|
1262
|
+
image: string;
|
|
1263
|
+
obtain: string;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1258
1266
|
/**
|
|
1259
1267
|
* Abstract base class providing the five standard terminal methods shared by all query builders.
|
|
1260
1268
|
* Subclasses hold a typed data array and implement domain-specific filter and sort methods.
|
|
@@ -2644,6 +2652,15 @@ declare class BuildingQuery extends QueryBase<Building> {
|
|
|
2644
2652
|
/** Returns a BuildingQuery for all building data. Pass `source` to wrap a pre-filtered array. */
|
|
2645
2653
|
declare function buildings(source?: Building[]): BuildingQuery;
|
|
2646
2654
|
|
|
2655
|
+
/** Query builder for rarecrow data. All sort methods return a new RarecrowQuery for chaining. */
|
|
2656
|
+
declare class RarecrowQuery extends QueryBase<Rarecrow> {
|
|
2657
|
+
constructor(data?: Rarecrow[]);
|
|
2658
|
+
/** Sort by rarecrow number. Default: `'asc'`. */
|
|
2659
|
+
sortByNumber(order?: 'asc' | 'desc'): RarecrowQuery;
|
|
2660
|
+
}
|
|
2661
|
+
/** Returns a RarecrowQuery for all rarecrow data. Pass `source` to wrap a pre-filtered array. */
|
|
2662
|
+
declare function rarecrows(source?: Rarecrow[]): RarecrowQuery;
|
|
2663
|
+
|
|
2647
2664
|
/** Top-level parsed save file containing all extracted game data. */
|
|
2648
2665
|
interface SaveData {
|
|
2649
2666
|
apiVersion: number;
|
|
@@ -2679,6 +2696,7 @@ interface SaveData {
|
|
|
2679
2696
|
horse: SaveHorse | null;
|
|
2680
2697
|
powers: SavePowers;
|
|
2681
2698
|
raccoons: SaveRaccoons;
|
|
2699
|
+
rarecrows: SaveRarecrows;
|
|
2682
2700
|
perfection: SavePerfection;
|
|
2683
2701
|
mineProgress: SaveMineProgress;
|
|
2684
2702
|
communityCenter: SaveCommunityCenter;
|
|
@@ -2952,6 +2970,10 @@ interface SavePowerEntry {
|
|
|
2952
2970
|
name: string;
|
|
2953
2971
|
acquired: boolean;
|
|
2954
2972
|
}
|
|
2973
|
+
/** Placed rarecrow item IDs found across all game locations. */
|
|
2974
|
+
interface SaveRarecrows {
|
|
2975
|
+
placed: string[];
|
|
2976
|
+
}
|
|
2955
2977
|
/** Raccoon quest progress including times fed and unlock milestones. */
|
|
2956
2978
|
interface SaveRaccoons {
|
|
2957
2979
|
timesFed: number;
|
|
@@ -3045,4 +3067,4 @@ declare function resolveApiVersion(gameVersion: string): number;
|
|
|
3045
3067
|
*/
|
|
3046
3068
|
declare function parseSaveFile(xml: string): SaveData;
|
|
3047
3069
|
|
|
3048
|
-
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 FishCategory, 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 };
|
|
3070
|
+
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 FishCategory, 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 Rarecrow, RarecrowQuery, 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 SaveRarecrows, 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, rarecrows, 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
|
@@ -301,7 +301,7 @@ interface MonsterSlayerGoal {
|
|
|
301
301
|
reward: SlayerReward;
|
|
302
302
|
}
|
|
303
303
|
|
|
304
|
-
type SearchResultKind = 'crop' | 'crop-seed' | 'fruit-tree' | 'fruit-tree-produce' | 'wild-tree' | 'wild-tree-seed' | 'wild-tree-tapper' | 'animal' | 'animal-produce' | 'artisan-good' | 'monster' | 'monster-loot' | 'ring' | 'tool' | 'weapon' | 'hat' | 'footwear' | 'forageable' | 'fish' | 'bait' | 'tackle' | 'cooked-dish' | 'artifact' | 'mineral' | 'geode' | 'mining-node' | 'mineral-resource' | 'crafting-recipe';
|
|
304
|
+
type SearchResultKind = 'crop' | 'crop-seed' | 'fruit-tree' | 'fruit-tree-produce' | 'wild-tree' | 'wild-tree-seed' | 'wild-tree-tapper' | 'animal' | 'animal-produce' | 'artisan-good' | 'monster' | 'monster-loot' | 'ring' | 'tool' | 'weapon' | 'hat' | 'footwear' | 'forageable' | 'fish' | 'bait' | 'tackle' | 'cooked-dish' | 'artifact' | 'mineral' | 'geode' | 'mining-node' | 'mineral-resource' | 'crafting-recipe' | 'rarecrow';
|
|
305
305
|
interface SearchResult {
|
|
306
306
|
kind: SearchResultKind;
|
|
307
307
|
id: string;
|
|
@@ -1255,6 +1255,14 @@ interface Building {
|
|
|
1255
1255
|
image: string;
|
|
1256
1256
|
}
|
|
1257
1257
|
|
|
1258
|
+
interface Rarecrow {
|
|
1259
|
+
id: string;
|
|
1260
|
+
number: number;
|
|
1261
|
+
name: string;
|
|
1262
|
+
image: string;
|
|
1263
|
+
obtain: string;
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1258
1266
|
/**
|
|
1259
1267
|
* Abstract base class providing the five standard terminal methods shared by all query builders.
|
|
1260
1268
|
* Subclasses hold a typed data array and implement domain-specific filter and sort methods.
|
|
@@ -2644,6 +2652,15 @@ declare class BuildingQuery extends QueryBase<Building> {
|
|
|
2644
2652
|
/** Returns a BuildingQuery for all building data. Pass `source` to wrap a pre-filtered array. */
|
|
2645
2653
|
declare function buildings(source?: Building[]): BuildingQuery;
|
|
2646
2654
|
|
|
2655
|
+
/** Query builder for rarecrow data. All sort methods return a new RarecrowQuery for chaining. */
|
|
2656
|
+
declare class RarecrowQuery extends QueryBase<Rarecrow> {
|
|
2657
|
+
constructor(data?: Rarecrow[]);
|
|
2658
|
+
/** Sort by rarecrow number. Default: `'asc'`. */
|
|
2659
|
+
sortByNumber(order?: 'asc' | 'desc'): RarecrowQuery;
|
|
2660
|
+
}
|
|
2661
|
+
/** Returns a RarecrowQuery for all rarecrow data. Pass `source` to wrap a pre-filtered array. */
|
|
2662
|
+
declare function rarecrows(source?: Rarecrow[]): RarecrowQuery;
|
|
2663
|
+
|
|
2647
2664
|
/** Top-level parsed save file containing all extracted game data. */
|
|
2648
2665
|
interface SaveData {
|
|
2649
2666
|
apiVersion: number;
|
|
@@ -2679,6 +2696,7 @@ interface SaveData {
|
|
|
2679
2696
|
horse: SaveHorse | null;
|
|
2680
2697
|
powers: SavePowers;
|
|
2681
2698
|
raccoons: SaveRaccoons;
|
|
2699
|
+
rarecrows: SaveRarecrows;
|
|
2682
2700
|
perfection: SavePerfection;
|
|
2683
2701
|
mineProgress: SaveMineProgress;
|
|
2684
2702
|
communityCenter: SaveCommunityCenter;
|
|
@@ -2952,6 +2970,10 @@ interface SavePowerEntry {
|
|
|
2952
2970
|
name: string;
|
|
2953
2971
|
acquired: boolean;
|
|
2954
2972
|
}
|
|
2973
|
+
/** Placed rarecrow item IDs found across all game locations. */
|
|
2974
|
+
interface SaveRarecrows {
|
|
2975
|
+
placed: string[];
|
|
2976
|
+
}
|
|
2955
2977
|
/** Raccoon quest progress including times fed and unlock milestones. */
|
|
2956
2978
|
interface SaveRaccoons {
|
|
2957
2979
|
timesFed: number;
|
|
@@ -3045,4 +3067,4 @@ declare function resolveApiVersion(gameVersion: string): number;
|
|
|
3045
3067
|
*/
|
|
3046
3068
|
declare function parseSaveFile(xml: string): SaveData;
|
|
3047
3069
|
|
|
3048
|
-
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 FishCategory, 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 };
|
|
3070
|
+
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 FishCategory, 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 Rarecrow, RarecrowQuery, 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 SaveRarecrows, 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, rarecrows, 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
|
@@ -78,6 +78,7 @@ __export(index_exports, {
|
|
|
78
78
|
QiStockQuery: () => QiStockQuery,
|
|
79
79
|
QualityCalculator: () => QualityCalculator,
|
|
80
80
|
QuestQuery: () => QuestQuery,
|
|
81
|
+
RarecrowQuery: () => RarecrowQuery,
|
|
81
82
|
RingQuery: () => RingQuery,
|
|
82
83
|
SKILL_TITLES: () => SKILL_TITLES,
|
|
83
84
|
SaloonQuery: () => SaloonQuery,
|
|
@@ -163,6 +164,7 @@ __export(index_exports, {
|
|
|
163
164
|
qiStock: () => qiStock,
|
|
164
165
|
qualityCalculator: () => qualityCalculator,
|
|
165
166
|
quests: () => quests,
|
|
167
|
+
rarecrows: () => rarecrows,
|
|
166
168
|
resolveApiVersion: () => resolveApiVersion,
|
|
167
169
|
rings: () => rings,
|
|
168
170
|
saloon: () => saloon,
|
|
@@ -23294,6 +23296,83 @@ function minerals(source = allMineralData) {
|
|
|
23294
23296
|
return new MineralQuery(source);
|
|
23295
23297
|
}
|
|
23296
23298
|
|
|
23299
|
+
// data/rarecrows.json
|
|
23300
|
+
var rarecrows_default = [
|
|
23301
|
+
{
|
|
23302
|
+
id: "110",
|
|
23303
|
+
number: 1,
|
|
23304
|
+
name: "Rarecrow 1",
|
|
23305
|
+
image: "images/scarecrows/Rarecrow 1.png",
|
|
23306
|
+
obtain: "Purchase at the Stardew Valley Fair for 800 Tokens."
|
|
23307
|
+
},
|
|
23308
|
+
{
|
|
23309
|
+
id: "113",
|
|
23310
|
+
number: 2,
|
|
23311
|
+
name: "Rarecrow 2",
|
|
23312
|
+
image: "images/scarecrows/Rarecrow 2.png",
|
|
23313
|
+
obtain: "Purchase at the Spirit's Eve festival for 5,000g."
|
|
23314
|
+
},
|
|
23315
|
+
{
|
|
23316
|
+
id: "126",
|
|
23317
|
+
number: 3,
|
|
23318
|
+
name: "Rarecrow 3",
|
|
23319
|
+
image: "images/scarecrows/Rarecrow 3.png",
|
|
23320
|
+
obtain: "Purchase at the Casino for 10,000 Qi Coins."
|
|
23321
|
+
},
|
|
23322
|
+
{
|
|
23323
|
+
id: "136",
|
|
23324
|
+
number: 4,
|
|
23325
|
+
name: "Rarecrow 4",
|
|
23326
|
+
image: "images/scarecrows/Rarecrow 4.png",
|
|
23327
|
+
obtain: "Purchase at the Traveling Cart randomly during fall or winter for 4,000g, or purchase at the Festival of Ice for 5,000g."
|
|
23328
|
+
},
|
|
23329
|
+
{
|
|
23330
|
+
id: "137",
|
|
23331
|
+
number: 5,
|
|
23332
|
+
name: "Rarecrow 5",
|
|
23333
|
+
image: "images/scarecrows/Rarecrow 5.png",
|
|
23334
|
+
obtain: "Purchase at the Flower Dance for 2,500g."
|
|
23335
|
+
},
|
|
23336
|
+
{
|
|
23337
|
+
id: "138",
|
|
23338
|
+
number: 6,
|
|
23339
|
+
name: "Rarecrow 6",
|
|
23340
|
+
image: "images/scarecrows/Rarecrow 6.png",
|
|
23341
|
+
obtain: "Purchase from the Dwarf for 2,500g."
|
|
23342
|
+
},
|
|
23343
|
+
{
|
|
23344
|
+
id: "139",
|
|
23345
|
+
number: 7,
|
|
23346
|
+
name: "Rarecrow 7",
|
|
23347
|
+
image: "images/scarecrows/Rarecrow 7.png",
|
|
23348
|
+
obtain: "Donate 20 Artifacts (not counting Minerals) to the Museum. Can be purchased from the Night Market once the first one is earned."
|
|
23349
|
+
},
|
|
23350
|
+
{
|
|
23351
|
+
id: "140",
|
|
23352
|
+
number: 8,
|
|
23353
|
+
name: "Rarecrow 8",
|
|
23354
|
+
image: "images/scarecrows/Rarecrow 8.png",
|
|
23355
|
+
obtain: "Donate 40 items to the Museum. Can be purchased from the Night Market once the first one is earned."
|
|
23356
|
+
}
|
|
23357
|
+
];
|
|
23358
|
+
|
|
23359
|
+
// src/modules/rarecrows/index.ts
|
|
23360
|
+
var rarecrewsData = rarecrows_default;
|
|
23361
|
+
var RarecrowQuery = class _RarecrowQuery extends QueryBase {
|
|
23362
|
+
constructor(data = rarecrewsData) {
|
|
23363
|
+
super(data);
|
|
23364
|
+
}
|
|
23365
|
+
/** Sort by rarecrow number. Default: `'asc'`. */
|
|
23366
|
+
sortByNumber(order = "asc") {
|
|
23367
|
+
return new _RarecrowQuery(
|
|
23368
|
+
[...this.data].sort((a, b) => order === "asc" ? a.number - b.number : b.number - a.number)
|
|
23369
|
+
);
|
|
23370
|
+
}
|
|
23371
|
+
};
|
|
23372
|
+
function rarecrows(source = rarecrewsData) {
|
|
23373
|
+
return new RarecrowQuery(source);
|
|
23374
|
+
}
|
|
23375
|
+
|
|
23297
23376
|
// data/rings.json
|
|
23298
23377
|
var rings_default = [
|
|
23299
23378
|
{
|
|
@@ -26804,6 +26883,11 @@ function search(query, kinds) {
|
|
|
26804
26883
|
}
|
|
26805
26884
|
}
|
|
26806
26885
|
}
|
|
26886
|
+
for (const crow of rarecrows().get()) {
|
|
26887
|
+
if (matches(query, crow.id, crow.name)) {
|
|
26888
|
+
add({ kind: "rarecrow", id: crow.id, name: crow.name, image: crow.image, sellPrice: null });
|
|
26889
|
+
}
|
|
26890
|
+
}
|
|
26807
26891
|
return dedupe(raw);
|
|
26808
26892
|
}
|
|
26809
26893
|
|
|
@@ -41808,6 +41892,42 @@ function parseRaccoons(root, mail) {
|
|
|
41808
41892
|
};
|
|
41809
41893
|
}
|
|
41810
41894
|
|
|
41895
|
+
// src/save-file/parsers/v1/rarecrows.ts
|
|
41896
|
+
function collectFromItems(items, ids) {
|
|
41897
|
+
for (const item of ensureArray(items)) {
|
|
41898
|
+
const it = item;
|
|
41899
|
+
if (str(it.name) === "Rarecrow") {
|
|
41900
|
+
ids.add(str(it.itemId));
|
|
41901
|
+
}
|
|
41902
|
+
}
|
|
41903
|
+
}
|
|
41904
|
+
function collectFromObjects(objects, ids) {
|
|
41905
|
+
for (const { value } of extractDictItems(objects)) {
|
|
41906
|
+
const obj = value?.Object;
|
|
41907
|
+
if (!obj) continue;
|
|
41908
|
+
if (str(obj.name) === "Rarecrow") {
|
|
41909
|
+
ids.add(str(obj.itemId));
|
|
41910
|
+
}
|
|
41911
|
+
if (obj.items) {
|
|
41912
|
+
collectFromItems(obj.items.Item, ids);
|
|
41913
|
+
}
|
|
41914
|
+
}
|
|
41915
|
+
}
|
|
41916
|
+
function parseRarecrows(root) {
|
|
41917
|
+
const ids = /* @__PURE__ */ new Set();
|
|
41918
|
+
const locations2 = ensureArray(root.locations?.GameLocation);
|
|
41919
|
+
for (const loc of locations2) {
|
|
41920
|
+
const l = loc;
|
|
41921
|
+
collectFromObjects(l.objects, ids);
|
|
41922
|
+
const buildings2 = ensureArray(l.buildings?.Building);
|
|
41923
|
+
for (const building of buildings2) {
|
|
41924
|
+
const b = building;
|
|
41925
|
+
collectFromObjects(b.indoors?.objects, ids);
|
|
41926
|
+
}
|
|
41927
|
+
}
|
|
41928
|
+
return { placed: Array.from(ids) };
|
|
41929
|
+
}
|
|
41930
|
+
|
|
41811
41931
|
// src/save-file/parsers/v1/recipes.ts
|
|
41812
41932
|
function parseRecipes(data) {
|
|
41813
41933
|
const result = [];
|
|
@@ -41965,6 +42085,7 @@ var v1 = (ctx) => ({
|
|
|
41965
42085
|
horse: parseHorse(ctx.root),
|
|
41966
42086
|
powers: parsePowers(ctx.mailSet, ctx.eventsSet),
|
|
41967
42087
|
raccoons: parseRaccoons(ctx.root, ctx.mailSet),
|
|
42088
|
+
rarecrows: parseRarecrows(ctx.root),
|
|
41968
42089
|
perfection: parsePerfection(ctx.root),
|
|
41969
42090
|
mineProgress: parseMineProgress(ctx.player, ctx.root, ctx.mailSet),
|
|
41970
42091
|
communityCenter: parseCommunityCenter(ctx.mailSet, ctx.eventsSet),
|
|
@@ -42108,6 +42229,7 @@ function parseSaveFile(xml) {
|
|
|
42108
42229
|
QiStockQuery,
|
|
42109
42230
|
QualityCalculator,
|
|
42110
42231
|
QuestQuery,
|
|
42232
|
+
RarecrowQuery,
|
|
42111
42233
|
RingQuery,
|
|
42112
42234
|
SKILL_TITLES,
|
|
42113
42235
|
SaloonQuery,
|
|
@@ -42193,6 +42315,7 @@ function parseSaveFile(xml) {
|
|
|
42193
42315
|
qiStock,
|
|
42194
42316
|
qualityCalculator,
|
|
42195
42317
|
quests,
|
|
42318
|
+
rarecrows,
|
|
42196
42319
|
resolveApiVersion,
|
|
42197
42320
|
rings,
|
|
42198
42321
|
saloon,
|