Here's a basic outline of how stuff is laid out in Random NPCs in case you do go mucking around in there.

First, randomly generated NPCs are now stored in saved_npcs.json in the main mod directory so you can edit your NPCs or delete the entire file which will cause them to be regenerated from scratch (and may void your warranty).

There are two types of files in assets, graphics files (sorted by directory) and text files, and they work together as follows:

Graphics

Graphics files will only be used if they are listed in the corresponding text files.

Bodies

  • each body has a <body>_character.png and a <body>_portrait.png (warning, they're naked!)

Clothes
  • tops (or clothes that cover the upper body) must have a <clothes_name>_portrait.png and <clothes_name>_character.png files, bottoms just need a single <clothes_name>.png for the character sprite

Hair
  • hair must have both <hair_name>_portrait.png and <hair_name>_character.png files

Eyes
  • eyes have both <eye_name>_portrait.png and <eye_name>_character.png files, and portrait versions are specific to gender at the moment

Nose, eye back, mouth
  • These only have portrait versions, but are also gender specific; eye back is just the part around the actual eye ball

Text

Body Types
  • body_types.json has list of body types prefaced by age and gender that use that type.
Clothes sets
  • clothes.json has clothes sets prefaced with the criteria for an NPC to use it (age, manners, etc. and body type it fits with) and followed by whether to use the png colours or to randomly tint it, or to coordinate with another article of clothing

Hair Colours
  • There are three hair .json files, one that has all natural colours, one that has only dark natural colours, and one that has exotic colours. Colours are in RGB byte (0-255) format

Skin Colours
  • There are two skin .json files, one that has a few light skin colours and one that one that has a bunch of dark skin colours. Colours are in RGB byte format

Dialogues
  • dialogue.json has info for the dialogue system, sorted into introductions and then questions and answer info for each question. The quiz part is especially complex, but I think you can get a feel for how it works if you read the file
  • gift_dialogues.json may one day have unique gift response dialogue for each unique personality type
  • engagement_dialogues.json may one day have unique engagement dialogue for each unique personality type

Schedules
  • schedules.json has potential appointments prefaced with the criteria for an NPC to use it (age, manners, etc.) and an earliest time they can make the appointment

Names
  • There are two name .json files, one that has female names, and one that has male names. I removed names that already exist in Stardew Valley... probably I should do a check to avoid duplicates as well... TODO

Article information

Added on

Edited on

Written by

aedenthorn

0 comments