About this mod
Lets you assemble a party of up to four NPC characters you can switch between during combat. Provides a framework for creating custom character skills and bursts.
- Requirements
- Permissions and credits
- Donations
This mod provides an entirely new combat framework to Stardew Valley, centered around character-based magic skills like Genshin Impact (minus the gacha).
The framework can be thought of as having two parts:
- Letting you assemble a team of up to four villagers with whom you have enough friendship points, and switching between those characters using hotkeys.
- Letting you cast a character's special "skill" on cooldown and accumulate energy to eventually cast the character's more powerful "burst".
It is possible to simply add a character as playable using Content Patcher, but to create skills and bursts requires creation of a SMAPI C# mod, accessing this mod's API.
Basic Usage
Once you have installed mods that make characters playable, you can enable the party UI by equipping any weapon.
When you are not holding a weapon, the party UI will disappear.
The party UI consists of up to four circles on the right side of the screen.
Left clicking on a circle will cycle through available characters, adding the next one in the list to the party slot.
Right clicking on a circle will remove the current character from that slot.
To switch between characters, use the 1-4 keys on the keyboard. To switch back to the farmer, use the 5 key.
For characters that have custom skill mods installed, you can cast their skill by pressing the E key, and their burst by pressing the Q key.
Here is a list of mods that implement this framework (please message me if you make a new mod to add to this list):
- Emily for Stardew Impact - fully implements Emily as a playable character with custom skill and burst
- Playable Villagers - adds all vanilla villagers as playable using Content Patcher, no skills or bursts.
Content Patcher
Making a character playable without special skills is as simple as creating a Content Patcher mod with the following content.json file:
{
"Format": "1.23.0",
"Changes": [
{
"Action": "EditData",
"Target": "aedenthorn.StardewImpact/characters",
"Entries": {
"Abigail": {
"name": "Abigail",
"characterColor": { "R": 0, "G": 0, "B":255, "A":255},
}
}
}
]
}
This tells the framework to add Abigail as a playable character without any special skills. characterColor will be used for the frame around the portrait circle.
SMAPI C#
If you don't know what this part means already, it's probably not for you. You can access the framework's API using the interface at:
https://github.com/aedenthorn/StardewValleyMods/blob/master/StardewImpact/StardewImpactApi.cs
You can manipulate the stored values for a character using the interface at:
https://github.com/aedenthorn/StardewValleyMods/blob/master/StardewImpact/ICharacterData.cs
I have created a mod implementing these that you can use as an example at:
https://github.com/aedenthorn/StardewValleyMods/tree/master/SDIEmily
Config
You can edit the config.json file that is created when first running the game or use GMCM.
Technical
Requires SMAPI.
Implements a Generic Mod Config Menu interface to change config settings in-game.
Compatible with Mod Updater for automatic updates.
Code is at https://github.com/aedenthorn/StardewValleyMods.
If you want to complain or ask for help or help me test my mods, you can visit my Discord server.
A list of all my mods for Stardew Valley is available at https://www.nexusmods.com/stardewvalley/articles/895.