461 lines
12 KiB
JSON
461 lines
12 KiB
JSON
/*
|
|
|
|
|
|
This file provides metadata to the mod that isn't available from the game (e.g. because it's buried in the logic).
|
|
You shouldn't change this file unless you know what you're doing.
|
|
|
|
|
|
*/
|
|
{
|
|
/*********
|
|
** Constants
|
|
*********/
|
|
"Constants": {
|
|
/* animals */
|
|
"AnimalFriendshipPointsPerLevel": 200,
|
|
"AnimalFriendshipMaxPoints": 1000,
|
|
"AnimalMaxHappiness": 255,
|
|
|
|
/* fruit trees */
|
|
"FruitTreeQualityGrowthTime": 112,
|
|
|
|
/* NPCs */
|
|
"ForceSocialVillagers": {
|
|
"Dwarf": true, // always false?
|
|
"Krobus": true, // false in-game until met
|
|
"Sandy": true // false in-game until desert unlocked
|
|
},
|
|
"DatingHearts": 2,
|
|
"SpouseMaxFriendship": 3500,
|
|
"SpouseFriendshipForStardrop": 3125,
|
|
|
|
/* players */
|
|
"PlayerMaxSkillPoints": 15000,
|
|
"PlayerSkillPointsPerLevel": [ 100, 380, 770, 1300, 2150, 3300, 4800, 6900, 10000, 15000 ],
|
|
|
|
/* time */
|
|
"DaysInSeason": 28,
|
|
"FenceDecayRate": 1440,
|
|
|
|
/* crafting */
|
|
"CaskAgeSchedule": {
|
|
"Silver": 14,
|
|
"Gold": 28,
|
|
"Iridium": 56
|
|
},
|
|
|
|
/* items */
|
|
"ItemsWithIridiumQuality": [
|
|
/* animal products */
|
|
-5, // eggs
|
|
-6, // milks
|
|
"(O)430", // truffle
|
|
"(O)440", // wool
|
|
"(O)444", // duck feather
|
|
"(O)446", // rabbit's foot
|
|
|
|
/* forage (foods) */
|
|
"(O)16", // wild horseradish
|
|
"(O)18", // daffodil
|
|
"(O)20", // leek
|
|
"(O)22", // dandelion
|
|
"(O)78", // cave carrot
|
|
"(O)88", // coconut
|
|
"(O)90", // cactus fruit
|
|
"(O)257", // morel
|
|
"(O)259", // fiddlehead fern
|
|
"(O)281", // chanterelle
|
|
"(O)283", // holly
|
|
"(O)296", // salmonberry
|
|
"(O)396", // spice berry
|
|
"(O)398", // grape
|
|
"(O)399", // spring onion
|
|
"(O)402", // sweet pea
|
|
"(O)404", // common mushroom
|
|
"(O)406", // wild plum
|
|
"(O)408", // hazelnut
|
|
"(O)410", // blackberry
|
|
"(O)412", // winter root
|
|
"(O)414", // crystal fruit
|
|
"(O)416", // snow yam
|
|
"(O)420", // red mushroom
|
|
"(O)422", // purple mushroom
|
|
|
|
/* forage (beach) */
|
|
"(O)372", // clam
|
|
"(O)392", // nautilus shell
|
|
"(O)393", // coral
|
|
"(O)394", // rainbow shell
|
|
"(O)397", // sea urchin
|
|
"(O)719", // mussel
|
|
"(O)723", // oyster
|
|
|
|
/* fruit tree produce */
|
|
"(O)613", // apple
|
|
"(O)634", // apricot
|
|
"(O)635", // orange
|
|
"(O)636", // peach
|
|
"(O)637", // pomegranate
|
|
"(O)638", // cherry
|
|
|
|
/* cask-aged artisanal products */
|
|
"(O)303", // pale ale
|
|
"(O)346", // beer
|
|
"(O)348", // wine
|
|
"(O)424", // cheese
|
|
"(O)426", // goat cheese
|
|
"(O)459" // mead
|
|
],
|
|
|
|
/* achievements */
|
|
"PolycultureCount": 15,
|
|
"MonocultureCount": 300
|
|
},
|
|
|
|
/*********
|
|
** Shops
|
|
*********/
|
|
"Shops": [
|
|
{
|
|
"DisplayKey": "shop.adventure-guild",
|
|
"BuysCategories": [ -28, -98, -97, -96 ]
|
|
},
|
|
{
|
|
"DisplayKey": "shop.clint",
|
|
"BuysCategories": [ -12, -2, -15 ]
|
|
},
|
|
{
|
|
"DisplayKey": "shop.marnie",
|
|
"BuysCategories": [ -18, -6, -5, -14 ]
|
|
},
|
|
{
|
|
"DisplayKey": "shop.pierre",
|
|
"BuysCategories": [ -81, -75, -79, -80, -74, -17, -18, -6, -26, -5, -14, -19, -7, -25 ]
|
|
},
|
|
{
|
|
"DisplayKey": "shop.robin",
|
|
"BuysCategories": [ -16 ]
|
|
},
|
|
{
|
|
"DisplayKey": "shop.willy",
|
|
"BuysCategories": [ -4, -23, -21, -22 ]
|
|
},
|
|
{
|
|
"DisplayKey": "shop.volcano",
|
|
"BuysCategories": [ -12, -2, -15 ] // same as blacksmith
|
|
}
|
|
],
|
|
|
|
|
|
/*********
|
|
** Added metadata for NPCs (including villagers, pets, farm animals, monsters, etc).
|
|
*********/
|
|
"Characters": [
|
|
{
|
|
"ID": "Pet",
|
|
"DescriptionKey": "data.npc.pet.description"
|
|
},
|
|
{
|
|
"ID": "Horse",
|
|
"DescriptionKey": "data.npc.horse.description"
|
|
},
|
|
{
|
|
"ID": "Junimo",
|
|
"DescriptionKey": "data.npc.junimo.description"
|
|
},
|
|
{
|
|
"ID": "Villager::TrashBear",
|
|
"DescriptionKey": "data.npc.trash-bear.description"
|
|
}
|
|
],
|
|
|
|
/*********
|
|
** Fishing metadata
|
|
*********/
|
|
/*
|
|
Implementation notes:
|
|
- Submarine rules are from StardewValley.Locations.Submarine::getFish.
|
|
- UndergroundMine rules are from StardewValley.Locations.MineShaft::getFish and
|
|
getMineArea. The mine fishing areas cover multiple floors where water never appears, so
|
|
the 'area' field for mines specify the actual level where water can appear (i.e. 20, 60,
|
|
and 100), rather than the internal area ID used by getMineArea.
|
|
- Legendary fish rules are from the getFish implementations of each location.
|
|
|
|
Numeric area IDs are for the vanilla game (except mines per the above); named areas are
|
|
matched to translations.
|
|
*/
|
|
"CustomFishSpawnRules": {
|
|
// Octopus
|
|
"(O)149": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Submarine",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Seaweed
|
|
"(O)152": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Submarine",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Sea Cucumber
|
|
"(O)154": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Submarine",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Super Cucumber
|
|
"(O)155": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Submarine",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Stonefish
|
|
"(O)158": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "UndergroundMine",
|
|
"Area": 20,
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Crimsonfish (legendary)
|
|
"(O)159": {
|
|
"IsUnique": true,
|
|
"MinFishingLevel": 5,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Beach",
|
|
"Area": "east-pier",
|
|
"Seasons": [ "summer" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Angler (legendary)
|
|
"(O)160": {
|
|
"IsUnique": true,
|
|
"MinFishingLevel": 3,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Town",
|
|
"Area": "northmost-bridge",
|
|
"Seasons": [ "fall" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Ice Pip
|
|
"(O)161": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "UndergroundMine",
|
|
"Area": 60,
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Lava Eel
|
|
"(O)162": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "UndergroundMine",
|
|
"Area": 100,
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Legend (legendary)
|
|
"(O)163": {
|
|
"IsUnique": true,
|
|
"MinFishingLevel": 10,
|
|
"Weather": "Rainy",
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Mountain",
|
|
"Seasons": [ "spring" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Mutant Carp (legendary)
|
|
"(O)682": {
|
|
"IsUnique": true,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Sewer",
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Glacierfish (legendary)
|
|
"(O)775": {
|
|
"IsUnique": true,
|
|
"MinFishingLevel": 6,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Forest",
|
|
"Area": "island-tip",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Midnight Squid
|
|
"(O)798": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Submarine",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Spook Fish
|
|
"(O)799": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Submarine",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Blobfish
|
|
"(O)800": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Submarine",
|
|
"Seasons": [ "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Son of Crimsonfish
|
|
"(O)898": {
|
|
"MinFishingLevel": 5,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Beach",
|
|
"Area": "east-pier",
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Ms. Angler
|
|
"(O)899": {
|
|
"MinFishingLevel": 3,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Town",
|
|
"Area": "northmost-bridge",
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Legend II
|
|
"(O)900": {
|
|
"MinFishingLevel": 10,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Mountain",
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Radioactive Carp
|
|
"(O)901": {
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Sewer",
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
},
|
|
|
|
// Glacierfish Jr.
|
|
"(O)902": {
|
|
"MinFishingLevel": 6,
|
|
"Locations": [
|
|
{
|
|
"LocationId": "Forest",
|
|
"Area": "island-tip",
|
|
"Seasons": [ "spring", "summer", "fall", "winter" ]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
|
|
"IgnoreFishingLocations": [
|
|
"Temp",
|
|
"fishingGame",
|
|
"IslandSecret",
|
|
"Backwoods"
|
|
],
|
|
|
|
/*********
|
|
** Corrects item metadata
|
|
*********/
|
|
"Items": [
|
|
/****
|
|
** Farm
|
|
****/
|
|
{
|
|
"QualifiedId": [ "(BC)101" ],
|
|
"Context": "World",
|
|
"DescriptionKey": "data.item.egg-incubator.description" // no description when it contains an egg
|
|
},
|
|
|
|
/****
|
|
** Mine containers (all identified as "Barrel" with no meaningful description)
|
|
****/
|
|
{
|
|
"QualifiedId": [ "(BC)118" /*barrel*/, "(BC)120" /*frost barrel*/, "(BC)122" /*dark barrel*/, "(BC)124" /*desert barrel*/ ],
|
|
"Context": "World",
|
|
"NameKey": "data.item.barrel.name",
|
|
"TypeKey": "data.type.container",
|
|
"DescriptionKey": "data.item.barrel.description"
|
|
},
|
|
{
|
|
"QualifiedId": [ "(BC)119" /*box*/, "(BC)121" /*frost box*/, "(BC)123" /*dark box*/, "(BC)125" /*desert box*/ ],
|
|
"Context": "World",
|
|
"NameKey": "data.item.box.name",
|
|
"TypeKey": "data.type.container",
|
|
"DescriptionKey": "data.item.box.description"
|
|
}
|
|
],
|
|
|
|
|
|
/*********
|
|
** Puzzle solutions
|
|
*********/
|
|
"PuzzleSolutions": {
|
|
// The sequence of flute block pitches for the IslandSouthEast mermaid music puzzle.
|
|
// Derived from IslandSouthEast.OnFlutePlayed.
|
|
"IslandMermaidFluteBlockSequence": [ 200, 1100, 900, 500, 700 ]
|
|
}
|
|
}
|