Major Content update for Stardew Valley
### Features
- New BundleRandomization Value: Meme Bundles - Over 100 custom bundles, designed to be jokes, references, trolls, etc
- New Setting: Bundles Per Room modifier
- New Setting: Backpack Size
- New Setting: Secretsanity - Checks for triggering easter eggs and secrets
- New Setting: Moviesanity - Checks for watching movies and sharing snacks with Villagers
- New Setting: Eatsanity - Checks for eating items
- New Setting: Hatsanity - Checks for wearing Hats
- New Setting: Start Without - Allows you to select any combination of various "starting" items, that you will actually not start with. Notably, tools, backpack slots, Day5 unlocks, etc.
- New Setting: Allowed Filler Items - Allows you to customize the filler items you'll get
- New Setting: Endgame Locations - Checks for various expensive endgame tasks and purchases
- New Shipsanity value: Crops and Fish
- New Settings: Jojapocalypse and settings to customize it
- Bundle Plando: Replaced with BundleWhitelist and BundleBlacklist, for more customization freedom
- Added a couple of Host.yaml settings to help hosts allow or ban specific difficult settings that could cause problems if the people don't know what they are signing up for.
Plus a truckload of improvements on the mod side, not seen in this PR.
### Removed features
- Integration for Stardew Valley Expanded. It is simply disabled, the code is all still there, but I'm extremely tired of providing tech support for it, plus Stardew Valley 1.7 was announced and that will break it again, so I'm done. When a maintainer steps up, it can be re-enabled.
* changes
* cherry pick stuff
* use newly create methods more
* use new assets to ease readability
* remove unneeded assert
* add assert region adapters
* use new asserts yay
* self review
* self review
* review
* replace parrot express with transportation constant
* bullshit commit again
* revert a bunch of off topic changes
* these changes seems to be on topic
* revert some undesired merge changes
* review imports
* use type instead of instance in some options
* properly return super
* review
* change one str to use a constnat
* create building data object and rename ItemSource to Source to be more generic
# Conflicts:
# worlds/stardew_valley/content/game_content.py
# Conflicts:
# worlds/stardew_valley/data/artisan.py
# worlds/stardew_valley/data/game_item.py
# worlds/stardew_valley/data/harvest.py
# worlds/stardew_valley/data/shop.py
* remove compound sources, replace by other requirements which already handle this usecase
* add coops to content packs
* add building progression in game features
* add shippping bin to starting building; remove has_house
* replace config check with feature
* add other buildings in content packs
* not passing
* tests passes, unbelievable
* use newly create methods more
* use new assets to ease readability
* self review
* fix flake8 maybe
* properly split rule for mapping cave systems
* fix tractor garage name
* self review
* add upgrade_from to farm house buldings
* don't override building name variable in logic
* remove has_group from buildings
* mark some items easy in grinding logic so blueprints buildings can be in more early spheres
* move stuff around to maybe avoid future conflicts cuz I have like 10 PRs opened right now
* remove price_multiplier, turns out it's unused during generation
* disable shop source for mapping cave systems
* bunch of code review changes
* add petbowl and farmhouse to autobuilding
* set min easy items to 300
* fix farm type
* create tool progression feature and unwrap option
* replace option usage with calling feature
* add comment explaining why some logic is a weird place
* replace item creation logic with feature
* self review and add unit tests
* rename test cuz I named them too long
* add a test for the trash can useful stuff cuz I thought there was a bug but turns out it works
* self review again
* remove price_multiplier, turns out it's unused during generation
* damn it 3.11 why are you like this
* use blacksmith region when checking vanilla tools
* fix rule
* move can mine using in tool logic
* remove changes to performance test
* properly set the option I guess
* properly set options 2
* that's what happen when you code too late
Focus of the Update: Compatibility with Stardew Valley 1.6 Released on March 19th 2024
This includes randomization for pretty much all of the new content, including but not limited to
- Raccoon Bundles
- Booksanity
- Skill Masteries
- New Recipes, Craftables, Fish, Maps, Farm Type, Festivals and Quests
This also includes a significant reorganisation of the code into "Content Packs", to allow for easier modularity of various game mechanics between the settings and the supported mods. This improves maintainability quite a bit.
In addition to that, a few **very** requested new features have been introduced, although they weren't the focus of this update
- Walnutsanity
- Player Buffs
- More customizability in settings, such as shorter special orders, ER without farmhouse
- New Remixed Bundles