Stardew Impact - Play as NPCs

Stardew Impact - Play as NPCs

931 Downloads

Description

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):




Content Patcher

Making a character playable without special skills is as simple as creating a Content Patcher mod with the following content.json file:

{
<br />   "Format": "1.23.0",
<br />   "Changes": [
<br />      {
<br />         "Action": "EditData",
<br />         "Target": "aedenthorn.StardewImpact/characters",
<br />         "Entries": {
<br />            "Abigail": {
<br />               "name": "Abigail",
<br />               "characterColor": { "R": 0, "G": 0, "B":255, "A":255},
<br />            }
<br />         }
<br />      }
<br />   ]
<br />}



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.