Changes

Jump to navigation Jump to search
4,146 bytes added ,  15:41, 4 May 2017
add dialogue format from Modding:Event data (contributors to that section: ThommyDude and Pathoschild)
Line 49: Line 49:  
# Else character dialogue is read from the character-specific files.
 
# Else character dialogue is read from the character-specific files.
 
# If no dialogues were found, the game resorts to hardcoded dialogue from the <tt>StringsFromCSFiles</tt> files (specifically keys prefixed with <tt>NPC.cs</tt> NPC.cs).
 
# If no dialogues were found, the game resorts to hardcoded dialogue from the <tt>StringsFromCSFiles</tt> files (specifically keys prefixed with <tt>NPC.cs</tt> NPC.cs).
 +
 +
==Dialogue format==
 +
Dialogue text can contain tokens and commads which control the dialogue box, change the text (e.g. switch between gender-specific strings), inject values, etc.
 +
 +
Special tokens:
 +
 +
{| class="wikitable"
 +
|-
 +
! character
 +
! description
 +
|-
 +
| <tt>#</tt>
 +
| Separates two commands in a dialogue string.
 +
|-
 +
| <tt>{</tt>
 +
| TODO. Stands for "breakSpecialCharacter".
 +
|-
 +
| <tt>^</tt>
 +
| Gender switch character. The text before it is shown for male farmers, the text after it for female farmers.<br />''Example: <code>Oh, good morning Mr. @!^Oh, good morning Ms. @!</code>''
 +
|-
 +
| <tt>*</tt>
 +
| TODO. Stands for "quickResponseDelineator".
 +
|}
 +
 +
Dialogue commands:
 +
 +
{| class="wikitable"
 +
|-
 +
! group
 +
! command
 +
! description
 +
|-
 +
| portraits
 +
| <tt>$h</tt>
 +
| Switch the speaking character to their happy portrait.
 +
|-
 +
| portraits
 +
| <tt>$s</tt>
 +
| Switch the speaking character to their sad portrait.
 +
|-
 +
| portraits
 +
| <tt>$u</tt>
 +
| Switch the speaking character to their unique portrait.
 +
|-
 +
| portraits
 +
| <tt>$neutral</tt>
 +
| Switch the speaking character to their neutral portrait.
 +
|-
 +
| portraits
 +
| <tt>$l</tt>
 +
| Switch the speaking character to their love portrait.
 +
|-
 +
| portraits
 +
| <tt>$a</tt>
 +
| Switch the speaking character to their angry portrait.
 +
|-
 +
| portraits
 +
| <tt>${{t|id}}</tt>
 +
| Switch the speaking character to the portrait at the given index in their portraits file. NOTE: <tt>$1</tt> can't be used as the first dialogue command (see <tt>$1</tt> below).
 +
|-
 +
| dialogue
 +
| <tt>$q {{t|?}} {{t|?}}#{{t|text}}</tt>
 +
| TODO. Show a dialogue box containing the given question text.
 +
|-
 +
| dialogue
 +
| <tt>$r {{t|?}} {{t|?}} {{t|response ID}}#{{t|answer text}}</tt>
 +
| TODO. Adds an {{t|answer text}} option to the question dialogue, which when selected triggers the response indicated by {{t|response ID}} from the speaker's <tt>Content\Characters\Dialogue\*.xnb</tt> file.
 +
|-
 +
| dialogue
 +
| <tt>$e</tt>
 +
| End the current dialogue. Everything before <tt>$e</tt> is shown the first time you talk to an NPC; everything after is shown in subsequent conversations.
 +
|-
 +
| dialogue
 +
| <tt>$b</tt>
 +
| End the current textbox, so the next part of the dialogue is shown in a new box.
 +
|-
 +
| dialogue
 +
| <tt>$k</tt>
 +
| TODO. Stands for "dialogueKill".
 +
|-
 +
| dialogue
 +
| <tt>$c {{t|probability}}</tt>
 +
| Choose the given text with a {{t|probability}} between 0 and 1.
 +
|-
 +
| dialogue
 +
| <tt>$d {bus|joja|cc}</tt>
 +
| TODO. Stands for "dialogueDependingOnWorldState".
 +
|-
 +
| dialogue
 +
| <tt>$y</tt>
 +
| TODO. Stands for "dialogueQuickResponse"; works like $q, but within one and the same text line.
 +
|-
 +
| dialogue
 +
| <tt>$p</tt>
 +
| TODO. Stands for "dialoguePrerequisite".
 +
|-
 +
| dialogue
 +
| <tt>$1</tt>
 +
| TODO. When used as the first dialogue command, stands for "dialogueSingle". Possibly a check for whether the player is dating (the speaking character?).
 +
|-
 +
| dialogue
 +
| <tt>%fork</tt>
 +
| TODO. Seems to have to do with questions and forks, however is used sparingly in originals game code. Seems to be replaced with the actual question command.
 +
|-
 +
| content
 +
| <tt>@</tt>
 +
| Replaced with the player's name.<br />''Example: <code>Hi there @!</code>''
 +
|-
 +
| content
 +
| <tt>%adj</tt>
 +
| Replaced with a random adjective.
 +
|-
 +
| content
 +
| <tt>%noun</tt>
 +
| Replaced with a random noun.
 +
|-
 +
| content
 +
| <tt>%place</tt>
 +
| Replaced with a random place name.
 +
|-
 +
| content
 +
| <tt>%spouse</tt>
 +
| Replaced with the name of the farmer's spouse.
 +
|-
 +
| content
 +
| <tt>%name</tt>
 +
| TODO. Stands for "randomNameSpecialCharacter". Seems to return a random name?
 +
|-
 +
| content
 +
| <tt>%firstnameletter</tt>
 +
| TODO. Stands for "firstNameLettersSpecialCharacter".
 +
|-
 +
| content
 +
| <tt>%time</tt>
 +
| Replaced with the current time.
 +
|-
 +
| content
 +
| <tt>%band</tt>
 +
| TODO.
 +
|-
 +
| content
 +
| <tt>%book</tt>
 +
| TODO.
 +
|-
 +
| content
 +
| <tt>%rival</tt>
 +
| TODO.
 +
|-
 +
| content
 +
| <tt>%pet</tt>
 +
| Replaced with the name of the farmer's pet.
 +
|-
 +
| content
 +
| <tt>%farm</tt>
 +
| Replaced with the farm name.
 +
|-
 +
| content
 +
| <tt>%favorite</tt>
 +
| TODO. Returns favorite thing? Unused?
 +
|-
 +
| content
 +
| <tt>%kid1</tt>
 +
| Replaced with the name of the farmer's first child.
 +
|-
 +
| content
 +
| <tt>%kid2</tt>
 +
| Replaced with the name of the farmer's second child.
 +
|}
    
[[Category:Modding]]
 
[[Category:Modding]]
translators
8,445

edits

Navigation menu