stardew-tracker/static/data.js

117 lines
16 KiB
JavaScript
Raw Normal View History

2026-10-04 19:27:36 +01:00
window.VALLEY_DATA = (() => {
const birthdays = {
spring: { 4: ["Kent (Year 2+)", 2], 7: ["Lewis"], 10: ["Vincent"], 14: ["Haley"], 18: ["Pam"], 20: ["Shane"], 26: ["Pierre"], 27: ["Emily"] },
summer: { 4: ["Jas"], 8: ["Gus"], 10: ["Maru"], 13: ["Alex"], 17: ["Sam"], 19: ["Demetrius"], 22: ["Dwarf"], 24: ["Willy"], 26: ["Leo"] },
fall: { 2: ["Penny"], 5: ["Elliott"], 11: ["Jodi"], 13: ["Abigail"], 15: ["Sandy"], 18: ["Marnie"], 21: ["Robin"], 24: ["George"] },
winter: { 1: ["Krobus"], 3: ["Linus"], 7: ["Caroline"], 10: ["Sebastian"], 14: ["Harvey"], 17: ["Wizard"], 20: ["Evelyn"], 23: ["Leah"], 26: ["Clint"] }
};
const events = {
spring: {
13: ["Egg Festival", "Pelican Town, 9am–2pm. Strawberry Seeds are the prize purchase."],
15: ["Desert Festival · day 1", "10am–2am; the bus must be repaired."],
16: ["Desert Festival · day 2", "10am–2am; the bus must be repaired."],
17: ["Desert Festival · day 3", "10am–2am. A pot of gold also appears in Cindersap Forest."],
24: ["Flower Dance", "Cindersap Forest, 9am–2pm."]
},
summer: {
3: ["Railroad opens", "In Year 1, the overnight earthquake opens the railroad and spa.", 1],
11: ["Luau", "The Beach, 9am–2pm. Bring a good ingredient for the soup."],
12: ["Beach forage", "Extra forageables appear at the beach through Summer 14."],
13: ["Beach forage", "Extra forageables appear at the beach through Summer 14."],
14: ["Beach forage", "Last day of the extra beach forage window."],
20: ["Trout Derby · day 1", "Cindersap Forest, 6:10am–2am."],
21: ["Trout Derby · day 2", "Cindersap Forest, 6:10am–2am."],
28: ["Dance of the Moonlight Jellies", "The Beach, 10pm–12am."]
},
fall: {
8: ["Blackberry season", "Shake berry bushes through Fall 11."],
9: ["Blackberry season", "Shake berry bushes through Fall 11."],
10: ["Blackberry season", "Shake berry bushes through Fall 11."],
11: ["Blackberry season", "Last day to shake blackberry bushes."],
16: ["Stardew Valley Fair", "Pelican Town, 9am–3pm. Bring nine strong grange-display items."],
27: ["Spirit’s Eve", "Pelican Town, 10pm–11:50pm."]
},
winter: {
8: ["Festival of Ice", "Cindersap Forest, 9am–2pm."],
12: ["SquidFest · day 1", "The Beach, 6:10am–2am."],
13: ["SquidFest · day 2", "The Beach, 6:10am–2am."],
15: ["Night Market · night 1", "The Beach, 5pm–2am. Check the traveling merchant and submarine."],
16: ["Night Market · night 2", "The Beach, 5pm–2am."],
17: ["Night Market · night 3", "The Beach, 5pm–2am."],
25: ["Feast of the Winter Star", "Pelican Town, 9am–2pm. Bring your secret friend’s gift."],
28: ["Year-end check", "Final day before the next spring. Winter 28, Year 2 leads into Grandpa’s evaluation.", 2]
}
};
const crops = [
{ id: "crop-parsnip", name: "Parsnip", season: "spring", grow: 4, last: 24, purpose: "Spring Crops · also grow 5 gold-quality for Quality Crops" },
{ id: "crop-green-bean", name: "Green Bean", season: "spring", grow: 10, last: 18, purpose: "Spring Crops · trellis" },
{ id: "crop-potato", name: "Potato", season: "spring", grow: 6, last: 22, purpose: "Spring Crops" },
{ id: "crop-cauliflower", name: "Cauliflower", season: "spring", grow: 12, last: 16, purpose: "Spring Crops" },
{ id: "crop-blueberry", name: "Blueberry", season: "summer", grow: 13, last: 15, purpose: "Summer Crops" },
{ id: "crop-melon", name: "Melon", season: "summer", grow: 12, last: 16, purpose: "Summer Crops · also grow 5 gold-quality for Quality Crops" },
{ id: "crop-hot-pepper", name: "Hot Pepper", season: "summer", grow: 5, last: 23, purpose: "Summer Crops" },
{ id: "crop-tomato", name: "Tomato", season: "summer", grow: 11, last: 17, purpose: "Summer Crops" },
{ id: "crop-red-cabbage", name: "Red Cabbage", season: "summer", grow: 9, last: 19, year: 2, purpose: "Dye Bundle · Year 2 seed, or Traveling Cart in Year 1" },
{ id: "crop-corn", name: "Corn", season: "summer", grow: 14, last: 14, purpose: "Fall Crops · grows through Fall; 5 gold-quality can count for Quality Crops" },
{ id: "crop-poppy", name: "Poppy", season: "summer", grow: 7, last: 21, purpose: "Chef’s Bundle" },
{ id: "crop-sunflower", name: "Sunflower", season: "summer", grow: 8, last: 20, purpose: "Dye Bundle · also grows in Fall" },
{ id: "crop-wheat-10", name: "Wheat ×10", season: "summer", grow: 4, last: 24, purpose: "Fodder Bundle · also grows in Fall" },
{ id: "tree-apple", name: "Apple Tree", season: "summer", grow: 28, last: 25, purpose: "Plant by Summer 25 to collect 3 apples by Fall 28" },
{ id: "tree-pomegranate", name: "Pomegranate Tree", season: "summer", grow: 28, last: 27, purpose: "Plant by late Summer for an Enchanter’s Bundle fruit in Fall" },
{ id: "crop-eggplant", name: "Eggplant", season: "fall", grow: 5, last: 23, purpose: "Fall Crops" },
{ id: "crop-pumpkin", name: "Pumpkin", season: "fall", grow: 13, last: 15, purpose: "Fall Crops · also grow 5 gold-quality for Quality Crops" },
{ id: "crop-yam", name: "Yam", season: "fall", grow: 10, last: 18, purpose: "Fall Crops" },
{ id: "crop-corn-fall", sharedId: "crop-corn", name: "Corn", season: "fall", grow: 14, last: 14, purpose: "Fall Crops · skip if your Summer corn is still growing" },
{ id: "crop-sunflower-fall", sharedId: "crop-sunflower", name: "Sunflower", season: "fall", grow: 8, last: 20, purpose: "Dye Bundle · skip if completed in Summer" },
{ id: "crop-wheat-fall", sharedId: "crop-wheat-10", name: "Wheat ×10", season: "fall", grow: 4, last: 24, purpose: "Fodder Bundle · skip if completed in Summer" },
{ id: "crop-winter-seeds", name: "Winter forage set", season: "winter", grow: 7, last: 21, purpose: "Optional: craft Winter Seeds after gathering the four Winter Foraging items" }
];
const item = (id, label, meta, seasons = []) => ({ id, label, meta, seasons });
const bundles = [
{ room: "Crafts Room", icon: "⌂", groups: [
{ name: "Spring Foraging", required: 4, items: [item("forage-wild-horseradish", "Wild Horseradish", "Spring forage", ["spring"]), item("forage-daffodil", "Daffodil", "Spring forage", ["spring"]), item("forage-leek", "Leek", "Spring forage", ["spring"]), item("forage-dandelion", "Dandelion", "Spring forage", ["spring"])] },
{ name: "Summer Foraging", required: 3, items: [item("forage-grape", "Grape", "Summer forage", ["summer"]), item("forage-spice-berry", "Spice Berry", "Summer forage", ["summer"]), item("forage-sweet-pea", "Sweet Pea", "Summer forage", ["summer"])] },
{ name: "Fall Foraging", required: 4, items: [item("forage-common-mushroom", "Common Mushroom", "Fall forage", ["fall"]), item("forage-wild-plum", "Wild Plum", "Fall forage", ["fall"]), item("forage-hazelnut", "Hazelnut", "Fall forage", ["fall"]), item("forage-blackberry", "Blackberry", "Fall forage; bushes Fall 8–11", ["fall"])] },
{ name: "Winter Foraging", required: 4, items: [item("forage-winter-root", "Winter Root", "Dig soil/artifact spots", ["winter"]), item("forage-crystal-fruit", "Crystal Fruit", "Winter forage", ["winter"]), item("forage-snow-yam", "Snow Yam", "Dig soil/artifact spots", ["winter"]), item("forage-crocus", "Crocus", "Winter forage", ["winter"])] },
{ name: "Construction", required: 3, items: [item("construction-wood-a", "Wood ×99", "Chop trees"), item("construction-wood-b", "Wood ×99", "A second stack"), item("construction-hardwood", "Hardwood ×10", "Large stumps / Secret Woods")] },
{ name: "Exotic Foraging", required: 5, choose: true, items: [item("exotic-coconut", "Coconut", "Desert forage"), item("exotic-cactus-fruit", "Cactus Fruit", "Desert forage"), item("exotic-cave-carrot", "Cave Carrot", "Mine crates / soil"), item("exotic-red-mushroom", "Red Mushroom", "Mines / cave"), item("exotic-purple-mushroom", "Purple Mushroom", "Mines / cave"), item("exotic-maple-syrup", "Maple Syrup", "Tap maple tree"), item("exotic-oak-resin", "Oak Resin", "Tap oak tree"), item("exotic-pine-tar", "Pine Tar", "Tap pine tree"), item("exotic-morel", "Morel", "Secret Woods in Spring", ["spring"])] }
]},
{ room: "Pantry", icon: "◒", groups: [
{ name: "Spring Crops", required: 4, items: [item("crop-parsnip", "Parsnip", "4 days · plant by Spring 24", ["spring"]), item("crop-green-bean", "Green Bean", "10 days · plant by Spring 18", ["spring"]), item("crop-cauliflower", "Cauliflower", "12 days · plant by Spring 16", ["spring"]), item("crop-potato", "Potato", "6 days · plant by Spring 22", ["spring"])] },
{ name: "Summer Crops", required: 4, items: [item("crop-tomato", "Tomato", "11 days · plant by Summer 17", ["summer"]), item("crop-hot-pepper", "Hot Pepper", "5 days · plant by Summer 23", ["summer"]), item("crop-blueberry", "Blueberry", "13 days · plant by Summer 15", ["summer"]), item("crop-melon", "Melon", "12 days · plant by Summer 16", ["summer"])] },
{ name: "Fall Crops", required: 4, items: [item("crop-corn", "Corn", "14 days · Summer/Fall", ["summer", "fall"]), item("crop-eggplant", "Eggplant", "5 days · plant by Fall 23", ["fall"]), item("crop-pumpkin", "Pumpkin", "13 days · plant by Fall 15", ["fall"]), item("crop-yam", "Yam", "10 days · plant by Fall 18", ["fall"])] },
{ name: "Quality Crops", required: 3, choose: true, items: [item("quality-parsnip", "Gold Parsnip ×5", "Basic Fertilizer helps", ["spring"]), item("quality-melon", "Gold Melon ×5", "Basic Fertilizer helps", ["summer"]), item("quality-pumpkin", "Gold Pumpkin ×5", "Basic Fertilizer helps", ["fall"]), item("quality-corn", "Gold Corn ×5", "Summer/Fall", ["summer", "fall"])] },
{ name: "Animal", required: 5, choose: true, items: [item("animal-large-milk", "Large Milk", "Happy cow"), item("animal-large-egg-brown", "Large Brown Egg", "Happy brown chicken"), item("animal-large-egg-white", "Large White Egg", "Happy white chicken"), item("animal-large-goat-milk", "Large Goat Milk", "Happy goat"), item("animal-wool", "Wool", "Sheep or rabbit"), item("animal-duck-egg", "Duck Egg", "Duck")] },
{ name: "Artisan", required: 6, choose: true, items: [item("artisan-truffle-oil", "Truffle Oil", "Oil Maker"), item("artisan-cloth", "Cloth", "Loom / recycling"), item("artisan-goat-cheese", "Goat Cheese", "Cheese Press"), item("artisan-cheese", "Cheese", "Cheese Press"), item("artisan-honey", "Honey", "Bee House"), item("artisan-jelly", "Jelly", "Preserves Jar"), item("artisan-apple", "Apple", "Fall fruit tree", ["fall"]), item("artisan-apricot", "Apricot", "Spring fruit tree", ["spring"]), item("artisan-orange", "Orange", "Summer fruit tree", ["summer"]), item("artisan-peach", "Peach", "Summer fruit tree", ["summer"]), item("artisan-pomegranate", "Pomegranate", "Fall fruit tree", ["fall"]), item("artisan-cherry", "Cherry", "Spring fruit tree", ["spring"])] }
]},
{ room: "Fish Tank", icon: "≈", groups: [
{ name: "River Fish", required: 4, items: [item("fish-sunfish", "Sunfish", "River · 6am–7pm · sunny", ["spring", "summer"]), item("fish-catfish", "Catfish", "River · 6am–12am · rain", ["spring", "fall"]), item("fish-shad", "Shad", "River · 9am–2am · rain", ["spring", "summer", "fall"]), item("fish-tiger-trout", "Tiger Trout", "River · 6am–7pm", ["fall", "winter"])] },
{ name: "Lake Fish", required: 4, items: [item("fish-largemouth-bass", "Largemouth Bass", "Mountain Lake · 6am–7pm", ["spring", "summer", "fall", "winter"]), item("fish-carp", "Carp", "Mountain Lake · any time", ["spring", "summer", "fall", "winter"]), item("fish-bullhead", "Bullhead", "Mountain Lake · any time", ["spring", "summer", "fall", "winter"]), item("fish-sturgeon", "Sturgeon", "Mountain Lake · 6am–7pm", ["summer", "winter"])] },
{ name: "Ocean Fish", required: 4, items: [item("fish-sardine", "Sardine", "Ocean · 6am–7pm", ["spring", "fall", "winter"]), item("fish-tuna", "Tuna", "Ocean · 6am–7pm", ["summer", "winter"]), item("fish-red-snapper", "Red Snapper", "Ocean · 6am–7pm · rain", ["summer", "fall"]), item("fish-tilapia", "Tilapia", "Ocean · 6am–2pm", ["summer", "fall"])] },
{ name: "Night Fishing", required: 3, items: [item("fish-walleye", "Walleye", "River/Lake · 12pm–2am · rain", ["fall"]), item("fish-bream", "Bream", "River · 6pm–2am", ["spring", "summer", "fall", "winter"]), item("fish-eel", "Eel", "Ocean · 4pm–2am · rain", ["spring", "fall"])] },
{ name: "Specialty Fish", required: 4, items: [item("fish-pufferfish", "Pufferfish", "Ocean · 12pm–4pm · sunny", ["summer"]), item("fish-ghostfish", "Ghostfish", "Mines floors 20/60"), item("fish-sandfish", "Sandfish", "Desert pond · 6am–8pm"), item("fish-woodskip", "Woodskip", "Secret Woods · any time")] },
{ name: "Crab Pot", required: 5, choose: true, items: [item("crab-lobster", "Lobster", "Ocean crab pot"), item("crab-crayfish", "Crayfish", "Freshwater crab pot"), item("crab-crab", "Crab", "Ocean crab pot / rock crab"), item("crab-cockle", "Cockle", "Ocean crab pot / beach"), item("crab-mussel", "Mussel", "Ocean crab pot / beach"), item("crab-shrimp", "Shrimp", "Ocean crab pot"), item("crab-snail", "Snail", "Freshwater crab pot"), item("crab-periwinkle", "Periwinkle", "Freshwater crab pot"), item("crab-oyster", "Oyster", "Ocean crab pot / beach"), item("crab-clam", "Clam", "Ocean crab pot / beach")] }
]},
{ room: "Boiler Room", icon: "♨", groups: [
{ name: "Blacksmith’s", required: 3, items: [item("bar-copper", "Copper Bar", "Smelt 5 ore"), item("bar-iron", "Iron Bar", "Smelt 5 ore"), item("bar-gold", "Gold Bar", "Smelt 5 ore")] },
{ name: "Geologist’s", required: 4, items: [item("mineral-quartz", "Quartz", "Mines"), item("mineral-earth-crystal", "Earth Crystal", "Mines floors 1–39"), item("mineral-frozen-tear", "Frozen Tear", "Mines floors 40–79"), item("mineral-fire-quartz", "Fire Quartz", "Mines floors 80+")] },
{ name: "Adventurer’s", required: 2, choose: true, items: [item("monster-slime", "Slime ×99", "Slimes"), item("monster-bat-wing", "Bat Wing ×10", "Bats"), item("monster-solar-essence", "Solar Essence", "Ghost / Squid Kid"), item("monster-void-essence", "Void Essence", "Shadow Brute / Shaman")] }
]},
{ room: "Bulletin Board", icon: "✦", groups: [
{ name: "Chef’s", required: 6, items: [item("chef-maple-syrup", "Maple Syrup", "Tap maple tree"), item("chef-fiddlehead", "Fiddlehead Fern", "Secret Woods", ["summer"]), item("chef-truffle", "Truffle", "Adult pig outdoors"), item("crop-poppy", "Poppy", "7 days · plant by Summer 21", ["summer"]), item("chef-maki-roll", "Maki Roll", "Cook / Saloon / Krobus"), item("chef-fried-egg", "Fried Egg", "Cook one egg")] },
{ name: "Dye", required: 6, items: [item("dye-red-mushroom", "Red Mushroom", "Mines / cave"), item("dye-sea-urchin", "Sea Urchin", "Beach tide pools"), item("crop-sunflower", "Sunflower", "8 days · Summer/Fall", ["summer", "fall"]), item("dye-duck-feather", "Duck Feather", "Happy duck"), item("dye-aquamarine", "Aquamarine", "Mines floors 40+"), item("crop-red-cabbage", "Red Cabbage", "Year 2 or Year 1 Traveling Cart", ["summer"])] },
{ name: "Field Research", required: 4, items: [item("field-purple-mushroom", "Purple Mushroom", "Mines / cave"), item("field-nautilus-shell", "Nautilus Shell", "Beach forage", ["winter"]), item("field-chub", "Chub", "Mountain Lake / forest river", ["spring", "summer", "fall", "winter"]), item("field-frozen-geode", "Frozen Geode", "Mines floors 40–79")] },
{ name: "Fodder", required: 3, items: [item("crop-wheat-10", "Wheat ×10", "4 days · Summer/Fall", ["summer", "fall"]), item("fodder-hay", "Hay ×10", "Silo / Marnie"), item("fodder-apple", "Apple ×3", "Fall fruit tree", ["fall"])] },
{ name: "Enchanter’s", required: 4, items: [item("enchanter-oak-resin", "Oak Resin", "Tap oak tree"), item("enchanter-wine", "Wine", "Keg"), item("enchanter-rabbits-foot", "Rabbit’s Foot", "Happy rabbit / Serpent"), item("enchanter-pomegranate", "Pomegranate", "Fall fruit tree", ["fall"])] }
]},
{ room: "Vault", icon: "◇", groups: [
{ name: "Cash Bundles", required: 4, items: [item("vault-2500", "2,500g", "Purchase at the Vault"), item("vault-5000", "5,000g", "Purchase at the Vault"), item("vault-10000", "10,000g", "Purchase at the Vault"), item("vault-25000", "25,000g", "Purchase at the Vault · total 42,500g")] }
]}
];
return { birthdays, events, crops, bundles, seasons: ["spring", "summer", "fall", "winter"] };
})();