Git Product home page Git Product logo

modular-overhaul's Introduction

A complete and comprehensive rework of Stardew Valley gameplay mechanics, offering a much more engaging and immersive "Vanilla+" experience.

License

Table of Contents

Introduction

This mod is a compilation of overhaul modules, each targeting a specific gameplay component or mechanic. Together, the modules complement each other to create a "Vanilla+" experience.

The modular nature of this mod allows users to cherry-pick features to their liking, while also preserving the deep native integration required between individual modules. This reduces the amount of redundant code which helps the mod run better and be more easily maintained.

Note about existing saves: This mod is meant to provide an entirely new experience of progression. While it can be added to existing save files, doing so would be largely pointless due to missing out on that experience. Therefore, I strongly recommend reserving this mod for your next playthrough.

๐Ÿ”ผ Back to top

Modules

The available modules are listed below. Please read this page carefuly in its entirety. Modules can be toggled on or off in the title screen via GMCM. Each module is itself highly configurable, and will be added to the GMCM menu if enabled. Some modules require specific enabling/disabling instructions you should pay attention to. These requirements will be mentioned below.

  • PRFS is the original module, formely known as Walk Of Life. It overhauls all the game's professions with the goal of supporting more diverse and interesting playstyles. It also introduces optional Prestige mechanics for very-late game save files and Limit Breaks for Combat professions.

  • CMBT ๏ปฟis a huge overhaul of nearly all aspects of combat; from rebalanced stats, melee and ranged weapons, rings and enchantments, to entirely new mechanics like status effects, weapon combos, a new weapon type, Gemstone Music Theory, and much more. This module adds new items via Json Assets, and thus may cause Json Shuffle on existing saves.

  • PNDS is a complement to the new Aquarist profession. It allows Fish Ponds to produce Roe with scaling quantities and qualities, spontaneously grow algae, and even enrich metallic nuclei...

  • TXS is a complement to the new Conservationist profession. It introduces a realistic taxation system as an added challenge and end-game gold sink. Because surely a nation at war would be capitalizing on that juicy farm income.

  • TOLS is a one-stop-shop for tool customization and quality-of-life. It enables resource-tool charging, farming-tool customization, intelligent tool auto-selection, and even adds Radioactive tool upgrades, among other things.

  • TWX is the final module, and serves as a repository for smaller tweaks and fixes to inconsistencies not large enough to merit a separate module.

Please note that only the Professions and Tweex modules are enabled by default.

99% of your questions about this mod are answered in the pages above. It took me several years of work to produce this mod and document it neatly, so I expect you can spend at least 15 minutes to read the documentation before asking questions.

All modules should be fully multiplayer and split-screen compatible if and only if all players have it installed.

โš  This mod is not Android-compatible. โš 

An Android version of Chargeable Tools is available in a dedicated branch.

๐Ÿ”ผ Back to top

Installation & Update

  1. Make sure the dependencies are installed:
  2. Go to the Releases page (link also to the right) and download the latest ModularOverhaul.zip file.
releases.png main_file.png
  1. Extract the downloaded archive file into your local mods folder.
  2. Explore the compat folder to find compatibility files that must be manually installed.
  3. Start the game once with SMAPI to generate a config file.
  4. Enable the desired modules in GMCM by pressing Shift+F12 in the title screen, or by manually editing the config.json file.

โš  Please review the compatibility sections of each specific module in the links above. โš 

As with any mod, always delete any previous installation completely before updating. If you'd like to preserve your config settings you can delete everything except the config.json file.

The use of Vortex or other mod managers is not recommended for Stardew Valley.

๐Ÿ”ผ Back to top

Reporting Bugs and Issues

  1. Make sure the mod is updated to the latest version. I will not support older versions.

  2. Make sure you can reliably reproduce the issue. Write out the steps to reproduce the issue.

  3. Check whether the issue is caused by a mod conflict:

    • You can do this easily by renaming your mod folder to something else (for example, just add an dot, or an underscore), creating a new one, and then copying over SpaceCore, MARGO and, optionally, CJB Cheats Menu + Item Spawner (to help with quick testing). If the issue can no longer be reproduced in this condition, then gradually copy over your remaining mods in small groups, until you identify the conflicting mod. You can safely ignore any Content Patcher or other framework mods while doing this, as those will never cause conflicts.
  4. Check whether the issue can be reproduced on a brand new save file. If it cannot, then I will probably ask you to upload your save folder to any file-sharing service of your choice, and share the url.

  5. Upload your entire log to smapi.io. There you will also find instructions in case you don't know where to find your log.

    โš  Do NOT copy-paste errors directly from the console window. โš 

  6. Go to the Issues page and check whether a similar issue thread already exists. If it does not, then create a new thread. Please include:

    • A descriptive title.
    • As much detail as you can muster. Consider describing not only what happened, but also when and how it happened, and what you expected should happen instead.
    • Your results from steps 2-4 above.
    • The link to your uploaded log and, if applicable, your uploaded save folder.

You can also ping me on the Stardew Valley Discord server, @DaLion (MARGO).

๐Ÿ”ผ Back to top

API for C# Developers

This mod offers an API for C# developers wishing to add third-party compatibility. To use it, copy both files in the API folder over to your project, and change the namespace to something appropriate. Then request SMAPI for a proxy.

Below are some usecases for the API:

  • [PRFS]: Checking the current value of dynamic perks associated with certain professions.
  • [PRFS]: Hooking custom logic into Scavenger and Prospector Treasure Hunts.
  • [PRFS]: Hooking custom logic to several stages of the Limit Break.
  • [PRFS]: Allowing SpaceCore skills to surpass level 10, and be Prestiged at levels 15 and 20.
  • [CMBT]: Checking the Resonances currently active on any given player.
  • [CMBT]: Inflicting and curing Status Effects.
  • Checking the config settings of any given player (note that you must create your own interface for this).

๐Ÿ”ผ Back to top

Building the Source Code

In order to build this mod you will also need to clone my Stardew Valley Shared Lib and adjust the following lines in ModularOverhaul.csproj:

  1. Your game path, as well as (optionally) build paths:
<!-- paths -->
<PropertyGroup>
  <GamePath>G:\Steam\steamapps\common\Stardew Valley 1.5.6</GamePath>
  <GameModsPath>$(GamePath)/Mods - Build/$(Configuration)</GameModsPath>
  <ModZipPath>$(GamePath)/Mods - Build/Archive</ModZipPath>
</PropertyGroup>
  1. The relative or full path to Stardew Valley Shared Lib's Shared.projitems file:
<!-- shared projects -->
<Import Project="..\Shared\Shared.projitems" Label="Shared" Condition="Exists('..\Shared\Shared.projitems')" />
  1. The relative or full path to a copy of SpaceCore's .dll.
<!-- mod dependencies -->
<ItemGroup>
  <Reference Include="SpaceCore">
    <HintPath>depend\SpaceCore.dll</HintPath>
    <Private>false</Private>
  </Reference>

๐Ÿ”ผ Back to top

Dependencies

This project uses the following NuGet packages:

Package Name Author Version
Pathoschild.Stardew.ModBuildConfig Jesse Plamondon-Willard 4.1.1
Pathoschild.Stardew.ModTranslationClassBuilder Jesse Plamondon-Willard 2.0.1
Leclair.Stardew.ModManifestBuilder Khloe Leclair 2.1.0
Ardalis.SmartEnum Steve Smith 2.1.0
NetEscapades.EnumGenerators Andrew Lock 1.0.0-beta04
FastExpressionCompiler.LightExpression Maksim Volkau 3.3.3
CommunityToolkit.Diagnostics Microsoft 8.0.0
JetBrains.Annotations JetBrains 2023.2.0

It also requires a copy of SpaceCore's .dll.

๐Ÿ”ผ Back to top

Mod Recommendations

For those interested, this is my curated modlist. This mod list is built on the following principles:

  • Immersion and Consistency above anything. That excludes anything that screams "Hi, I am a mod".
  • High-quality sprites only. That means vanilla or better.
  • Medieval Aesthetic. Nothing beats Gwen's Medieval Valley. It combines perfectly with my favorite recolor: the criminally underated Wittily. The brown Vintage UI tops off the combination.
  • Stardew Valley Expanded as the main and only expansion, as it's the only one with art that matches the vanilla style and buildings supported by Gweniaczek. Aquarium is also used for a bit more longevity.
    • Ridgeside Village is an excellent mod with a great artstyle. I recommend anyone try it out, as long as you don't touch their broken weapons. Unfortunately the plot and writing are not to my taste.
    • East Scarp opens up the game for some of the best-written NPC mods out there. I would absolutely recommend Always Raining in the Valley and the Sword & Sorcery series by DestyN0VA, if it weren't for the extremely inconsistent art quality of East Scarp itself.
  • Vanilla-style portraits. Poltergeister's Seasonal Cute Characters is the only feature-complete portrait mod that is both seasonal and covers all characters, including SVE. I manually combine it with stanloona420's revised character series and the outstanding Slightly Cuter-er Penny Portraits by Juan Miguelito.
  • My heavily edited version of Monster Girls is the least immersive and borderline NSFW mod in this list. For anyone who's not a pervert I'd probably recommend Slime Rancher.
  • I try to be minimalist on new items, mostly sticking to PPJA with a few interesting additions when the art or gameplay particularly stands out to me (e.g., Magical Crops).

Please note that a lot of the mods in the list have been very heavily customized to fit these criteria, including but not limited to, typo fixes, harmonized textures and even entire map edits. The most heavily edited mods are versioned with the suffix -DaLion. I am not at liberty to share my personal edits, but all of them are framework mods, mostly CP, JA and PFM, which means it should be relatively easy for anyone to edit themselves. If you are not willing to make that effort then my recommendation would be to avoid them entirely due to a general lack of polish.

Make sure to test every mod before committing it to your mod list, and do not make changes to that list once you begin playing.

๐Ÿ”ผ Back to top

Credits & Special Thanks

We hail the Lord and Savior Pathoschild, creator of SMAPI, Content Patcher and the mod-verse, as well as the Father, ConcernedApe, creator of Stardew Valley, a benevolent God, who continues to freely expand the game for both players and modders.

This mod borrows ideas and assets from Ragnarok Online, League of Legends and early Pokemon games. Credit to those, respectively, goes to Gravity, Riot Games and Game Freak. This mod is completely free, provided under a non-commercial license.

Special thanks to atravita and Shockah who have helped me extensively with the mod's programming. And to the various translators who have contributed to this project:

You have the right to upload your own translation of this project, but I reserve the right to copy your translation directly into the project.

Thanks to JetBrains for providing a free open-source license to ReSharper and other tools.

Pufferchick JetBrains logo. Discord logo.

๐Ÿ”ผ Back to top

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.