if (!("The Best Friend" in niches) && !("Character Name" in db)) //this is needed at the start for every npc you make, edit it accordingly.
{
db["Character Name"] = {
"special": false, //false if they are meant to be a regular npc, true if you want them to be restricted from certain events like special npcs.
"nickname": "Nickname", //I don't think this really gets used ingame, but it's an option if you want it.
"age": 18, //This number can technically go below 18 (yes, I checked, I was curious to see what would happen lol), but it doesn't matter since there is code that detects this and makes sure it still displays them as 18 ingame.
"archetype": "Overachiever", //Student Artist, Stoner, Bully, Jock, Loner, etc.
"type": "student", //can be student, townie, or faculty (or outsider, but idk what that one is for).
"species": ["human", "female"], //must have human included here, but female can be changed to any other gender.
"birthday": ["Meltember", 26],
"style": "Basic", //Hipster, Punk, Goth, etc. Replace it with your custom outfit style name if you create one.
"major": "psychology", //art, history, english, etc. Their major should match up with the first two courses you give them below.
"courses": ["General Psychology", "Intro to Psychology", "Public Speaking", "Media Studies"], //I picked 1 course out of each of the 4 course blocks given at the start of a new game, not sure if npcs can have more than one from the same course block for the last two courses.
"year": 1, //1=freshman, 2=sophomore, 3=junior, 4=senior.
"schedule": 1, //rng student schedule which can be found under "setup.get_student_schedule", choose from case 1/2/3/4, not sure how much of a difference it makes.
"cohort": true, //true if they are freshman in your year, false if they are not.
"allowfree": true, //true if you want to romance/date them normally, false if you want them to be restricted like teachers are.
"residence": "Chicory Hall", //can be Chicory Hall, Trillium Hall, Helleborine Hall, or Off-Campus. You can also use "house" or "apartment" if you want to be specific about their off-campus residence but those two need to be in lowercase to work.
"job": "Legislator", //this works for most town locations and stores, but will make the npc easy to find ingame since they will usually be placed at their job location.
"wealth": 369, //0-1000.
"attraction": "lesbian",
"friendliness mod": 0, //this supposedly affects how much charisma skill you need to easily befriend them, basically it's a difficulty modifier, above 0 is harder and below 0 is easier.
"skin color": "pale",
"eye color": "hazel",
"hair color": "raven",
"hair length": "mid-back length",
"hair style": "a face-framing mermaid cut",
"distinguishing_marks": ["thick eyelashes"], //normal npc editing only lets you give them one distinguishing feature but I don't think that applies to custom made npcs if you add them here with comma separation.
"makeup": "none", //put their makeup style here.
"tattoos": "none", //put their tattoo style here.
"piercings": "none", //put their piercing style here.
"breast size": 369, //0-1000, replace breast size, areola size, areola color, and nipple type with "penis size": 0-1000 and "penis girth": 0-1000 for males.
"areola size": 369, //0-1000.
"areola color": "rosy pink",
"nipple type": "pointy",
"pubes": "heart", //pubic hair style, duh.
"ass size": 169, //0-1000.
"height": 669, //0-1000.
"plumpness": 369, //0-1000.
"muscle": 369, //0-1000.
"inclinations": ["Demisexual", "Polyamorous", "Loyal", "Likes Spooning", "Likes Standing Position", "Likes Cowgirl", "Iron Will", "Lucky", "Trichophilia", "Kind", "Toy Enthusiast", "Confident", "Pleaser", "Chaste", "Fuckbuddy", "Foot Enthusiast", "Sensitive Nipples", "Oral Fixation", "Anal Fetish", "Hair Trigger", "Attentive Lover", "Squirter", "Voyeur", "Masochist", "Accommodating", "Forward"], //this is not a full list of inclinations, just ones I gave mine. Don't judge me.
"skills": {"Studying": 7, "Willpower": 6, "Charisma": 5, "Disinhibition": 4, "Writing": 4, "Photography": 3, "Artistic": 3, "Video Gaming": 3, "Intellectual": 3, "Cooking": 3, "Gardening": 3, "Dancing": 3, "Physical": 3, "Compliance": 2, "Assertiveness": 2, "Voyeurism": 1, "Exhibitionism": 1, "Sexual Knowledge": 1, "Hand": 1, "Oral": 0, "Vaginal": 0, "Penetrative": 0, "Anal": 0}, //skills go from 0-10, at 4 and above they will usually be given the skill's corresponding personality traits if one exists (Dancer, Nerd, Photographer, Wordsmith, Cook, Sporty, etc) so keep the skills low if you want to avoid that for rp reasons. Also, this was made before the greek update so you'll have to add the new troublemaking skill yourself, otherwise this should be a full list of every skill in the game.
"virginity": ["mouth", "vagina", "anus"], //use penis instead of vagina for male npcs.
//"turnons": ["colorful hair", "blonde hair", "punk style", "hipster style", "grunge style", "boho style", "conservative style", "fashionable style", "small tits", "tight butt", "tall"], //doesn't work. If you want to uncomment these three and use them for rp purposes go ahead, but it won't change what they are randomly generated with ingame.
//"turnoffs": ["big dick", "plumpness", "muscles", "goth style", "sporty style", "dressy style", "glam style", "slutty look", "older people"], //doesn't work.
//"favoriteDate": ["grab a coffee", "just chill", "have dinner", "see a movie", "hit the arcade", "have a park picnic", "study together", "hit the gym", "booty call"], //doesn't work. I think these are meant to have a number after each date to represent how much they like them, but it still makes no difference.
"desiredRelationships": ["friend", "fuckbuddy", "date", "poly partner"], //can also be rival, hatefuck, indifferent, etc. Edit: Upon further testing, this doesn't seem to work either, or at-least it makes no difference in how the npc reacts to you upon first talking to them. I recommend keeping it defined with something though, just to be on the safe side.
"partner": "", //only works if you add an npc name, otherwise leave it blank if you want them to not be in a relationship and hope the seed rng goes your way since I haven't figured out how to make them generate as single unless you give them the Aromantic inclination which should exclude them from the rng.
"partnerType": "", //submissive, dominant, open partner, poly partner, etc. Again, leave it blank if they are meant to be single and cross your fingers.
//"existingRelationshipChanceBase": -0.1, //doesn't work, these last two were a failed test to see if it would stop them from spawning with partners.
//"existingRelationshipChanceModifier": 0, //doesn't work. Feel free to delete these two.
}
State.setVar("$girlbff", girlbff) //if you want them to be your best friend then use this to set them as the girl bestfriend in events, change it to boybff if they are male, otherwise delete it.
setup.place_into_residence("Character Name", "Chicory Hall"); //I added this here because sometimes the residence variable didn't work so this just re-enforces it.
niches["The Best Friend"] = "Character Name"; //use this to give them a custom niche designation for easier recognition amongst the other npcs, change "The Best Friend" to whatever you want their label to be.
}