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.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
0 comments