Changes

No change in size ,  17:51, 21 January 2019
→‎Data: move 'Strings from CS files' to bottom since it's only used when explicitly referenced by the game
Line 93: Line 93:  
====Fallback====
 
====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.")
 
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.")
  −
===Strings from CS files===
  −
<tt>Strings\StringsFromCSFiles.xnb</tt> contains many translation strings, including NPC dialogue defined in the code. That includes every bit of dialogue that's shared between multiple characters, and dialogue for some hardcoded events like marriage. The format in this file is:
  −
  −
<source lang="yaml">
  −
"<key>": "dialogue string"
  −
</source>
  −
  −
The key is generated based on the file that contained it before translations were added (in the form {{t|file name}}.{{t|int id}}), but doesn't have any particular meaning now.
  −
{{stub|section=1}}
  −
StringsFromCSFiles.xnb contains most of the game's static dialogue as well as other things the game may call for randomization and other functions.  Some of the static dialogue can be changed to make everyone say something different.  With some ingenuity, you can create dynamic responses to normally generic answers.
  −
The easiest lines to create dynamic responses are NPC.cs.3962, NPC.cs.3963, and NPC.cs.3980, which the first two control the giving of a bouquet and the last being the mermaid pendant acceptance.
  −
Using Content Patcher, create the following code block:
  −
  −
            "LogName": "Custom Messages",
  −
            "Action": "EditData",
  −
            "Target": "Strings/StringsFromCSFiles",
  −
            "entries": {
  −
                "NPC.cs.3962": "$q 10001 give_flowersA#?!...#$r 10001 0 give_flowersA# [Give Bouquet]",
  −
                "NPC.cs.3963": "$q 10001 give_flowersB#?!...#$r 10001 0 give_flowersB# [Give Bouquet]",
  −
                "NPC.cs.3980": "$q 10001 give_pendant#?!...#$r 10001 0 give_flowersB# Will you marry me?",
  −
  −
           
  −
       
  −
This will allow you to set up the dynamic response.
  −
Each datable character must have the dynamic responses give_flowersA, give_flowersB, and give_pendant in order to not break the game afterwards. You add this dialogue in Characters/Dialogue/* where * is the name of the NPC.
  −
For now, let's use Haley:
  −
Let's add in the appropriate dialogue:
  −
  −
{
  −
"LogName": "Add Dynamic Response Haley",
  −
"Action": "EditData",
  −
"Target": "Characters/Dialogue/Haley",
  −
"Entries": {
  −
"give_flowersA": "Oh.. these are beautiful.$1#$b#...What? You want to be my Boyfriend?$8^...What?  You want to be my Girlfriend?$8#$b#....I thought we already were together.$1",
  −
"give_flowersB": "Ohhh, @!  I would love to be your true love.$1",
  −
"give_pendant": ".....$8#$b#@, I don't know what to say..$8#$b#...$7#$b#Yes... I accept...$4#$b#I can't wait to tell the Mayor... Everything should take 3 days to set up.$1",
  −
},
  −
},
  −
  −
This can be used for other generic responses, and you even can avoid the "Give Bouquet" by asking for an answered question's ID..
      
===Marriage dialogue===
 
===Marriage dialogue===
Line 192: Line 151:  
===Animation descriptions===
 
===Animation descriptions===
 
<tt>Data\animationDescriptions.xnb</tt> contains short bits of dialogue to go with certain schedule points.
 
<tt>Data\animationDescriptions.xnb</tt> contains short bits of dialogue to go with certain schedule points.
 +
 +
===Strings from CS files===
 +
<tt>Strings\StringsFromCSFiles.xnb</tt> contains many translation strings, including NPC dialogue defined in the code. That includes every bit of dialogue that's shared between multiple characters, and dialogue for some hardcoded events like marriage. The format in this file is:
 +
 +
<source lang="yaml">
 +
"<key>": "dialogue string"
 +
</source>
 +
 +
The key is generated based on the file that contained it before translations were added (in the form {{t|file name}}.{{t|int id}}), but doesn't have any particular meaning now.
 +
{{stub|section=1}}
 +
StringsFromCSFiles.xnb contains most of the game's static dialogue as well as other things the game may call for randomization and other functions.  Some of the static dialogue can be changed to make everyone say something different.  With some ingenuity, you can create dynamic responses to normally generic answers.
 +
The easiest lines to create dynamic responses are NPC.cs.3962, NPC.cs.3963, and NPC.cs.3980, which the first two control the giving of a bouquet and the last being the mermaid pendant acceptance.
 +
Using Content Patcher, create the following code block:
 +
 +
            "LogName": "Custom Messages",
 +
            "Action": "EditData",
 +
            "Target": "Strings/StringsFromCSFiles",
 +
            "entries": {
 +
                "NPC.cs.3962": "$q 10001 give_flowersA#?!...#$r 10001 0 give_flowersA# [Give Bouquet]",
 +
                "NPC.cs.3963": "$q 10001 give_flowersB#?!...#$r 10001 0 give_flowersB# [Give Bouquet]",
 +
                "NPC.cs.3980": "$q 10001 give_pendant#?!...#$r 10001 0 give_flowersB# Will you marry me?",
 +
 +
           
 +
       
 +
This will allow you to set up the dynamic response.
 +
Each datable character must have the dynamic responses give_flowersA, give_flowersB, and give_pendant in order to not break the game afterwards. You add this dialogue in Characters/Dialogue/* where * is the name of the NPC.
 +
For now, let's use Haley:
 +
Let's add in the appropriate dialogue:
 +
 +
{
 +
"LogName": "Add Dynamic Response Haley",
 +
"Action": "EditData",
 +
"Target": "Characters/Dialogue/Haley",
 +
"Entries": {
 +
"give_flowersA": "Oh.. these are beautiful.$1#$b#...What? You want to be my Boyfriend?$8^...What?  You want to be my Girlfriend?$8#$b#....I thought we already were together.$1",
 +
"give_flowersB": "Ohhh, @!  I would love to be your true love.$1",
 +
"give_pendant": ".....$8#$b#@, I don't know what to say..$8#$b#...$7#$b#Yes... I accept...$4#$b#I can't wait to tell the Mayor... Everything should take 3 days to set up.$1",
 +
},
 +
},
 +
 +
This can be used for other generic responses, and you even can avoid the "Give Bouquet" by asking for an answered question's ID..
    
==Algorithm==
 
==Algorithm==
translators
8,411

edits