Line 7: |
Line 7: |
| | | |
| ===Character-specific dialogue=== | | ===Character-specific dialogue=== |
− | <tt>Characters\Dialogue\*.xnb</tt> contains most of the dialogue for each character (one file per character). The format in this file is: | + | <tt>Characters\Dialogue\*.xnb</tt> contains most of the dialogue for each character (one file per character). The game will choose dialogue from one of the sections below, in the order shown here. |
| | | |
− | <source lang="yaml">
| + | ====Special dialogue==== |
− | "<preface>[heart level]_[date]_[year][suffix]": "String"
| + | There are a few predefined keys for specific cases: |
− | </source> | + | {| class="wikitable" |
| + | |- |
| + | ! key format |
| + | ! description |
| + | |- |
| + | | <tt>danceRejection</tt> |
| + | | Dialogue used to reject an offer to dance at the [[Flower Dance]]. (A different dialogue is used if they've already agreed to dance with another player.) |
| + | |- |
| + | | <tt>divorced</tt> |
| + | | Dialogue shown when you speak to your divorced spouse. |
| + | |- |
| + | | <tt>{{t|location}}_Entry</tt> |
| + | | Possible dialogue lines shown above the NPC's name when they enter the named {{t|location}}, with a 50% chance. This dialogue entry can contain multiple options separated by <code>/</code>; the game will randomly choose one to display.<br /><small>Example: <tt>SeedShop_Entry: "Hi, Pierre!/Now, what do I need.../Ah, that looks good!/Makin' my special sauce tonight!/Pierre! What's fresh?/Pierre! Waddya got for me?"</tt> |
| + | |- |
| + | | <tt>ComeBackLater</tt><br /><tt>Snoring</tt> |
| + | | [[Gil]]'s dialogue when you haven't completed any new Adventure Quest goals. <tt>ComeBackLater</tt> will be shown once, and all subsequent dialogues will show <tt>Snoring</tt>. |
| + | |} |
| | | |
− | ...where:
| + | ====Override dialogue==== |
− | * {{t|preface}} is an arbitrary key which identifies what it's for (like <tt>Introduction</tt>, <tt>Event</tt>, <tt>Season</tt>, etc).
| + | Otherwise the game will choose dialogue in this order, if one of these keys is defined. |
− | * {{o|heart level}} is the ''minimum'' heart level the player must have reached with the NPC for this dialogue to appear.
| |
− | * {{o|date}} is the numeric day of the month (like <tt>28</tt>), or the three-character weekday (like <tt>Mon</tt>).
| |
− | * {{o|year}} is <tt>1</tt> for year one, or <tt>2</tt> for any year after that.
| |
− | * {{o|suffix}} is any string further identifying the dialogue (like <tt>inlaw_Abigail</tt>, for dialogue that only appears when you're married to Abigail).
| |
| | | |
− | If multiple dialogues are eligible, the game prioritises by the following: | + | Variants: |
− | # marriage status; | + | * Each key can optionally be prefixed with a [[#seasons|season name]], like <tt>springMountain_47_23</tt>. |
− | # preface; | + | |
− | # suffix; | + | The game will check variants in this order: <tt>{{t|season}}{{t|key}}</tt>, and <tt>{{t|key}}</tt>. The variants aren't listed below for simplicity. |
− | # in-law status; | + | |
− | # day of month; | + | {| class="wikitable" |
− | # year; | + | |- |
− | # heart level;
| + | ! key format |
− | # day of week. | + | ! description |
| + | |- |
| + | | <tt>{{t|location}}_{{t|x}}_{{t|y}}</tt> |
| + | | Dialogue shown in the named location when the NPC is standing at tile position {{t|x}}, {{t|y}}.<br /><small>Example: <tt>Mountain_47_23: "I come here for the peace and quiet."</tt></small> |
| + | |- |
| + | | <tt>{{t|location}}_{{t|dayName}}</tt> |
| + | | Dialogue shown in the named location on the given [[#days of week|day of week]].<br /><small>Example: <tt>winter_Fri: "One thing I've learned living here... everyone stares at you if you look different."</tt></small> |
| + | |- |
| + | | <tt>{{t|location}}{{t|hearts}}</tt> |
| + | | Dialogue shown in the named location if you have at least {{t|hearts}} hearts with them. The {{t|hearts}} will be checked in the order 10, 8, 6, 4, 2 (no other value will be recognised).<br /><small>Example: <tt>Saloon8: "Hi there @. I'm glad to see you! You're always welcome here."</tt></small> |
| + | |- |
| + | | <tt>{{t|location}}</tt> |
| + | | Dialogue shown in the named location.<br /><small>Example: <tt>Saloon: "Now that I'm here I can finally relax and socialize a bit."</tt></small> |
| + | |} |
| + | |
| + | ====Generic dialogue==== |
| + | If none of the above match, the game will choose one of these in the order shown here. |
| + | |
| + | Variants: |
| + | * Each key can optionally be prefixed with a [[#seasons|season name]], like <tt>spring_14</tt>. |
| + | * Each key can optionally be suffixed with <tt>_inlaw_{{t|spouseName}}</tt> (the current player's spouse's internal name), like <tt>Sat_inlaw_Abigail</tt>. The NPC doesn't actually need to be related to the spouse. |
| + | |
| + | Variants are checked in this order: <tt>{{t|season}}{{t|key}}_inlaw_{{t|spouseName}}</tt>, <tt>{{t|season}}{{t|key}}</tt>, and <tt>{{t|key}}_inlaw_{{t|spouseName}}</tt>, and <tt>{{t|key}}</tt>. The variants aren't listed below for simplicity. |
| + | |
| + | {| class="wikitable" |
| + | |- |
| + | ! key format |
| + | ! description |
| + | |- |
| + | | <tt>{{t|dayOfMonth}}</tt> |
| + | | Dialogue shown on the given [[#days of month|day of month]] in the first year only.<br /><small>Example: <tt>10: "Did you watch the game last night?#$b#Or wait, do you even have a TV set...?"</tt></small> |
| + | |- |
| + | | <tt>{{t|dayOfMonth}}_{{t|firstOrLaterYear}}</tt> |
| + | | Dialogue shown on the given [[#days of month|day of month]] in the [[#first/later year|first/later year]].<br /><small>Example: <tt>2_1: "My husband Kent is a soldier, working overseas. That's why he's not here right now.#$b#I know he'll come back safe once his tour is over!!#$e#Need something?"</tt></small> |
| + | |- |
| + | | <tt>{{t|dayOfWeek}}{{t|hearts}}_{{t|firstOrLaterYear}}</tt> |
| + | | Dialogue shown on the given [[#days of week|day of week]] if you have at least {{t|hearts}} hearts with them, in the [[#first/later year|first/later year]]. The {{t|hearts}} will be checked in the order 10, 8, 6, 4, 2 (no other value will be recognised).<br />'''Bug:''' only shown if an equivalent <tt>{{t|dayOfWeek}}{{t|hearts}}</tt> key also exists.<br /><small>Example: <tt>Thu2_2: "Well, my Dad is back. Have you met him?#$b#I'm just glad he's okay."</tt></small> |
| + | |- |
| + | | <tt>{{t|dayOfWeek}}{{t|hearts}}</tt> |
| + | | Dialogue shown on the given [[#days of week|day of week]] if you have at least {{t|hearts}} hearts with them. The {{t|hearts}} will be checked in the order 10, 8, 6, 4, 2 (no other value will be recognised).<br /><small>Example: <tt>Sun4: "Hey, @.#$e#How's your day going?"</tt></small> |
| + | |- |
| + | | <tt>{{t|dayOfWeek}}_{{t|firstOrLaterYear}}</tt> |
| + | | Dialogue shown on the given [[#days of week|day of week]] in the [[#first/later year|first/later year]].<br />'''Bug:''' only shown if an equivalent <tt>{{t|dayOfWeek}}</tt> key also exists.<br /><small>Example: <tt>Sat_1: "Dad's coming back soon!#$b#I hope he brings me some toys.$u"</tt></small> |
| + | |- |
| + | | <tt>{{t|dayOfWeek}}</tt> |
| + | | Dialogue shown on the given [[#days of week|day of week]].<br /><small>Example: <tt>Mon: "Oh, hey. Taking a break from work?"</tt></small> |
| + | |} |
| + | |
| + | ====Fallback==== |
| + | If none of the above match, the game will show the value with key <tt>NPC.cs.4061</tt> in <tt>Strings\StringsFromCSFiles.xnb</tt>. (English version: "Hi.") |
| + | |
| + | ===Character-specific rain dialogue=== |
| + | <tt>Characters\Dialogue\rainy.xnb</tt> contains one dialogue entry per NPC. There's a roughly 50% chance they'll use this dialogue if it's raining and you're not married to or divorced from them. |
| | | |
| ===Strings from CS files=== | | ===Strings from CS files=== |