Directions for Dialogue

From Stardew Modding Wiki
Jump to navigation Jump to search

This guide includes a bit of information to help you stay on track when writing daily dialogue.

Introduction

Written by Thylak. This should help you if you're overwhelmed by the amount of daily dialogue keys availible and want to know which lines you should write first or if you're like me and need to reorganize your lines after having already made them. There's also a questions template for if you suck at formatting them like me!

Understanding Keys

Some examples of dialogue keys and explanations to hopefully make them make more sense. These are in ascending order of priority. You cannot specify season without day of the week. Day of the week is the minimum.

  • "Mon" = Monday at 0 hearts or more. Displays every Monday at every season unless if there is a more specific dialouge key for the NPC.
  • "Mon2" = Monday at 2 hearts or more. Displays every Monday at every season unless if there is a more specific dialouge key for the NPC.
  • "spring_Mon" = Monday at 0 hearts or more. Displays every Monday in only spring unless if there is a more specific dialouge key for the NPC (like specific day or higher heart level for spring Mondays).
  • "spring_Mon2" = Monday at 2 hearts or more. Displays every Monday in only spring unless if there is a more specific dialouge key for the NPC (like specific day or higher heart level for spring Mondays).
  • "spring_1" = The first of Spring regardless of hearts. Will repeat every following year unless there is another year specified. Exact days cannot have heart specifications.
  • "spring_1_2" = The first of Spring regardless of hearts on year 2. Will repeat every following year. Exact days cannot have heart specifications.

General Rules

How many lines should I make?

The minimum amount of lines you need is 7. This is to account for every day of the week. If you don't have 7 for the keys Mon, Tue, Wed, Thu, Fri, Sat, and Sun, then there will be days where your NPC doesn't talk at all.

Assuming you don't want just one line per week, you will want to have different dialogue locked behind heart levels in increments of 2 and up until 10. Look at vanilla NPCs to see what is a "normal" amount. It's much less than you would think- especially for non-romancable NPCs! George only has 32 lines!

You should have around 42 lines for a fully filled out heart progression (from 0 to 10 hearts, 6 lines possible) across the 7 days of the week. You can give or take a few and add on seasonal dialogue if desired.

What is prioritized?

Focus on filling out generic/default dialogue first before moving onto seasonal dialogue!

Seasonal dialogue will override any default dialogue that could have appeared. Seasonal dialogue will have priority over higher hearts in the default keys, so for example, summer_Mon will display instead of Mon10.

Vanilla NPCs usually do not have seasonal dialogue until 6-8 hearts because 0-4 heart dialogue will get old fast as it overrides everything unless . You also usually will not see seasonal 0-4 heart dialogue if that is the case. Making a full 0-10 heart for every season is overkill.

Content

  • The first line should always end in an #$e# and should be generic enough to be standalone/repeatable. This is to prevent dialogue from going "stale" or locking the farmer into rereading lines they've already seen. When greeting your NPC for the day, they should have the option to decide if they want to reread or simply run off after ensuring that they don't have to worry about friendship decay with them for the day.
  • You cannot mix and match heart level with specific day (meaning something like Spring 26, not just a season and/or day of the week). Specific day dialogue will be repeated every year, so write with it being repeated in mind! I would keep these to comments on holidays.

Priority

  • Fill out generic/spring dialogue first before making seasonal dialogue if you don't want a full 42 lines for heart levels in every season.
  • Season overrides generic at any heart level. Generic/main dialogue in spring.
  • Questions should be in seasons or default at 0-2 hearts.
  • Try to keep seasonal dialogue only after 6 hearts.

Question Template

Edit as necessary.

For no/neutral friendship increases, you must have the change be a value of 0. Do not omit the 0 friendship change for neutral responses! Number IDs and dialogue keys should be somewhat unique to prevent overlap.

$q= Starts the question portion.

11111/22222= Numerical IDs for your question. Think of these like event IDs. You need two per question- no more, no less- regardless of the number of responses.

QuestionName_old= Fallback key ID. This indicates the dialogue key that will display the preceding weeks if the question was already answered.

Response1/2/3= Keys for each response.

"Stuff your NPC says before asking a question.#$b#$q 11111/22222 QuestionName_old#Question prompt?#$r 11111 30 Response1#Response1 Text#$r 22222 0 Response2#Response2 Text#$r 22222 -30 Response3#Response3 Text",
"QuestionName_old": "Fallback dialogue for when you talk again next week",
"Response1": "Good response. 30 friendship increase",
"Response2": "Neutral response. No friendship increase",
"Response3": "Bad response. 30 friendship decrease",

An example of this from Maru in vanilla.

  "summer_Thu": "Sorry, I was just thinking about some gadgets I'm making.#$q 35/36 Thu_01_old#I've decided I'm going to build a robot someday.#$r 35 30 Thu_0#That should be very easy for you#$r 36 -50 Thu_01_01#You should be more realistic#$r 35 40 Thu_01_02#It sounds challenging",
  "Thu_01_old": "See you later.",
  "Thu_0": "Really? Are you sure you're not just trying to flatter me?",
  "Thu_01_01": "You don't think I could do it?$s",
  "Thu_01_02": "You're right, but I love a challenge!$h",