Changes

Line 1: Line 1:  
← [[Modding:Index|Index]]
 
← [[Modding:Index|Index]]
  −
'''Work in progress.'''
      
This page explains how the files associated with the [[Movie Theater]], what each of them do, and how they are formatted. This is an advanced guide for mod developers.
 
This page explains how the files associated with the [[Movie Theater]], what each of them do, and how they are formatted. This is an advanced guide for mod developers.
Line 425: Line 423:  
===Format===
 
===Format===
 
Each block of data within the file begins with an <samp>NPCName</samp> key, which is the name of the NPC to whom the rest of the data in the block will apply. This is followed by a list with the key <samp>Reactions</samp>. Each block within this list is the data for an NPC's response to a specific type of movie.
 
Each block of data within the file begins with an <samp>NPCName</samp> key, which is the name of the NPC to whom the rest of the data in the block will apply. This is followed by a list with the key <samp>Reactions</samp>. Each block within this list is the data for an NPC's response to a specific type of movie.
  −
If multiple response blocks are applicable to the movie, the game uses the first non-null <samp>Response</samp>, <samp>BeforeMovie</samp>, <samp>DuringMovie</samp>, and <samp>AfterMovie</samp> fields it can find. Said fields do not necessarily have to come from the same response block. If the game cannot find applicable <samp>BeforeMovie</samp>, <samp>DuringMovie</samp>, or <samp>AfterMovie</samp> fields, it will use default text from <samp>Strings\Characters.xnb</samp>.
      
The data within each block is formatted as follows:
 
The data within each block is formatted as follows:
Line 455: Line 451:  
|-
 
|-
 
|}
 
|}
 +
 +
For unknown reasons, in the vanilla game code, when the <samp>Tag</samp> field is <samp>love</samp> or <samp>dislike</samp>, the <samp>Response</samp>field will always be <samp>like</samp>.
    
==== Special responses ====
 
==== Special responses ====
Each <samp>SpecialResponses</samp> block contains 3 blocks, beginning with <samp>BeforeMovie</samp>, <samp>DuringMovie</samp>, and <samp>AfterMovie</samp>, in that order. Any of these blocks may be left null. By default, the dialogue within these blocks triggers before the film begins, at a random point during it, and after it's finished, respectively. The data within each block is as follows:
+
Each <samp>SpecialResponses</samp> block contains 3 blocks, beginning with <samp>BeforeMovie</samp>, <samp>DuringMovie</samp>, and <samp>AfterMovie</samp>, in that order. Any of these blocks may be left null. By default, the dialogue within these blocks triggers when talking to the NPC in the movie theater lobby, at a random point during the movie, and after the movie is finished, respectively. The data within each block is as follows:
    
{| class="wikitable"
 
{| class="wikitable"
Line 473: Line 471:  
| The dialogue spoken by the NPC.
 
| The dialogue spoken by the NPC.
 
|}
 
|}
 +
 +
If multiple response blocks are applicable to the movie, the game uses the first non-null <samp>Response</samp>, <samp>BeforeMovie</samp>, <samp>DuringMovie</samp>, and <samp>AfterMovie</samp> fields it can find. Said data does not necessarily have to come from the same response block. If the game cannot find applicable <samp>DuringMovie</samp> dialogue, it will use default text from <samp>Strings\Characters.xnb</samp>. If the game cannot find applicable <samp>BeforeMovie</samp> or <samp>AfterMovie</samp> dialogue, the NPC will show as being able to be spoken to, but interacting with them will have no effect.
    
== Concession data ==
 
== Concession data ==
 +
<samp>Data\Concessions.xnb</samp> contains the data for the food purchased at the concessions stand, stored as a list of blocks. For reference, below is the raw data of the file:
 +
 +
{{collapse|Data|content=<syntaxhighlight lang="json">
 +
[
 +
  {
 +
    "ID": 0,
 +
    "Name": "Cotton Candy",
 +
    "DisplayName": "Cotton Candy",
 +
    "Description": "A large pink cloud of spun sugar.",
 +
    "Price": 50,
 +
    "ItemTags": [
 +
      "Sweet",
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 1,
 +
    "Name": "Jasmine Tea",
 +
    "DisplayName": "Jasmine Tea",
 +
    "Description": "Green tea flavored with aromatic jasmine flowers.",
 +
    "Price": 50,
 +
    "ItemTags": [
 +
      "Drink",
 +
      "Hot",
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 2,
 +
    "Name": "Joja Cola",
 +
    "DisplayName": "Joja Cola",
 +
    "Description": "An extra-large cup of Joja's flagship soda.",
 +
    "Price": 40,
 +
    "ItemTags": [
 +
      "Drink",
 +
      "Cold",
 +
      "Joja"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 3,
 +
    "Name": "Sour Slimes",
 +
    "DisplayName": "Sour Slimes",
 +
    "Description": "Tiny gummy slimes of assorted colors. They're sprinkled with an extremely sour powder.",
 +
    "Price": 80,
 +
    "ItemTags": [
 +
      "Sour",
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 4,
 +
    "Name": "Personal Pizza",
 +
    "DisplayName": "Personal Pizza",
 +
    "Description": "A pizza small enough to enjoy as a snack.",
 +
    "Price": 150,
 +
    "ItemTags": [
 +
      "Hot",
 +
      "Fatty"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 5,
 +
    "Name": "Nachos",
 +
    "DisplayName": "Nachos",
 +
    "Description": "Gooey, spicy cheese on top of freshly fried tortilla chips.",
 +
    "Price": 100,
 +
    "ItemTags": [
 +
      "Hot",
 +
      "Salty",
 +
      "Fatty"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 6,
 +
    "Name": "Salmon Burger",
 +
    "DisplayName": "Salmon Burger",
 +
    "Description": "A thick slab of salmon on a lightly toasted sesame seed bun.",
 +
    "Price": 150,
 +
    "ItemTags": [
 +
      "Sandwich",
 +
      "Burger"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 7,
 +
    "Name": "Ice Cream Sandwich",
 +
    "DisplayName": "Ice Cream Sandwich",
 +
    "Description": "Vanilla ice cream sandwiched between two chocolate cookies.",
 +
    "Price": 150,
 +
    "ItemTags": [
 +
      "Sandwich",
 +
      "Sweet",
 +
      "Cold"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 8,
 +
    "Name": "Popcorn",
 +
    "DisplayName": "Popcorn",
 +
    "Description": "Popped kernels of corn, dusted lightly with salt and drizzled with butter.",
 +
    "Price": 120,
 +
    "ItemTags": [
 +
      "Hot",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 9,
 +
    "Name": "Fries",
 +
    "DisplayName": "Fries",
 +
    "Description": "Thin slices of potato, deep fried and then lightly salted.",
 +
    "Price": 100,
 +
    "ItemTags": [
 +
      "Hot",
 +
      "Salty",
 +
      "Fatty"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 10,
 +
    "Name": "Chocolate Popcorn",
 +
    "DisplayName": "Chocolate Popcorn",
 +
    "Description": "It's normal popcorn... but with a chocolate coating.",
 +
    "Price": 130,
 +
    "ItemTags": [
 +
      "Hot",
 +
      "Sweet"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 11,
 +
    "Name": "Black Licorice",
 +
    "DisplayName": "Black Licorice",
 +
    "Description": "A chewy candy with an intense, pungent flavor.",
 +
    "Price": 25,
 +
    "ItemTags": null
 +
  },
 +
  {
 +
    "ID": 12,
 +
    "Name": "Star Cookie",
 +
    "DisplayName": "Star Cookie",
 +
    "Description": "A star-shaped shortbread cookie with rainbow sprinkles.",
 +
    "Price": 150,
 +
    "ItemTags": [
 +
      "Sweet"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 13,
 +
    "Name": "Jawbreaker",
 +
    "DisplayName": "Jawbreaker",
 +
    "Description": "It's a big, hard candy that lasts the whole movie!",
 +
    "Price": 250,
 +
    "ItemTags": [
 +
      "Sweet",
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 14,
 +
    "Name": "Salted Peanuts",
 +
    "DisplayName": "Salted Peanuts",
 +
    "Description": "A classic salty treat.",
 +
    "Price": 120,
 +
    "ItemTags": [
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 15,
 +
    "Name": "Hummus Snack Pack",
 +
    "DisplayName": "Hummus Snack Pack",
 +
    "Description": "It's crunchy and healthy.",
 +
    "Price": 90,
 +
    "ItemTags": [
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 16,
 +
    "Name": "Kale Smoothie",
 +
    "DisplayName": "Kale Smoothie",
 +
    "Description": "It's loaded with vitamins and fiber.",
 +
    "Price": 120,
 +
    "ItemTags": [
 +
      "Drink",
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 17,
 +
    "Name": "Apple Slices",
 +
    "DisplayName": "Apple Slices",
 +
    "Description": "Crunchy and sweet little slices.",
 +
    "Price": 100,
 +
    "ItemTags": [
 +
      "Sweet",
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 18,
 +
    "Name": "Panzanella Salad",
 +
    "DisplayName": "Panzanella Salad",
 +
    "Description": "A summer salad of bread and tomatoes.",
 +
    "Price": 200,
 +
    "ItemTags": [
 +
      "Gourmet",
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 19,
 +
    "Name": "Truffle Popcorn",
 +
    "DisplayName": "Truffle Popcorn",
 +
    "Description": "Heirloom popcorn sprinkled with truffle salt.",
 +
    "Price": 180,
 +
    "ItemTags": [
 +
      "Gourmet",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 20,
 +
    "Name": "Cappuccino Mousse Cake",
 +
    "DisplayName": "Cappuccino Mousse Cake",
 +
    "Description": "A small chocolate cake glazed with a cappuccinio mousse.",
 +
    "Price": 220,
 +
    "ItemTags": [
 +
      "Sweet",
 +
      "Gourmet"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 21,
 +
    "Name": "JojaCorn",
 +
    "DisplayName": "JojaCorn",
 +
    "Description": "Joja's patented corn food, slathered in plenty of \"b'utter sauce\".",
 +
    "Price": 10,
 +
    "ItemTags": [
 +
      "Joja"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 22,
 +
    "Name": "Stardrop Sorbet",
 +
    "DisplayName": "Stardrop Sorbet",
 +
    "Description": "A single drop of stardrop essence tranforms this sorbet into an extraordinary treat.",
 +
    "Price": 1250,
 +
    "ItemTags": [
 +
      "Sweet",
 +
      "Gourmet"
 +
    ]
 +
  },
 +
  {
 +
    "ID": 23,
 +
    "Name": "Rock Candy",
 +
    "DisplayName": "Rock Candy",
 +
    "Description": "Flavored sugar crystals attached to a convenient stick.",
 +
    "Price": 90,
 +
    "ItemTags": [
 +
      "Sweet",
 +
      "Candy"
 +
    ]
 +
  }
 +
]
 +
</syntaxhighlight>}}
 +
 +
===Format===
 +
Each block within the list corresponds to a single concession. The data for each block is as follows:
 +
 +
{| class="wikitable"
 +
|-
 +
! key format
 +
! description
 +
|-
 +
| <samp>ID</samp>
 +
| Counting from 0, what number concession this is in the list.
 +
|-
 +
| <samp>Name</samp>
 +
| The internal name of the concession.
 +
|-
 +
| <samp>DisplayName</samp>
 +
| The name of the concession which is displayed to the player in-game.
 +
|-
 +
| <samp>Description</samp>
 +
| The description of the concession.
 +
|-
 +
| <samp>Price</samp>
 +
| The price of the concession in {{price|}}.
 +
|-
 +
| <samp>ItemTags</samp>
 +
| A list of tags which describe the concession, used to determine an NPC's reaction to it. Can be any arbitrary string; the ones currently used in the game are: <samp>Sweet</samp>, <samp>Candy</samp>, <samp>Drink</samp>, <samp>Hot</samp>, <samp>Healthy</samp>, <samp>Cold</samp>, <samp>Joja</samp>, <samp>Sour</samp>, <samp>Fatty</samp>, <samp>Salty</samp>, <samp>Sandwich</samp>, <samp>Burger</samp>, and <samp>Gourmet</samp>.
 +
|}
 +
 +
== Concession tastes ==
 +
<samp>Data\ConcessionTastes.xnb</samp> contains the data that determines an NPC's opinion of a concession. For reference, below is the raw data of the file:
 +
 +
{{collapse|Data|content=<syntaxhighlight lang="json">
 +
[
 +
  {
 +
    "Name": "Penny",
 +
    "LovedTags": [
 +
      "Cotton Candy"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Sour"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Pam",
 +
    "LovedTags": [
 +
      "Nachos"
 +
    ],
 +
    "LikedTags": [
 +
      "Salty",
 +
      "Fatty",
 +
      "Joja"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy",
 +
      "Gourmet"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "George",
 +
    "LovedTags": [
 +
      "Black Licorice"
 +
    ],
 +
    "LikedTags": [
 +
      "Salty"
 +
    ],
 +
    "DislikedTags": [
 +
      "Sweet",
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Alex",
 +
    "LovedTags": [
 +
      "Salmon Burger"
 +
    ],
 +
    "LikedTags": [
 +
      "Salty",
 +
      "Hot"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Evelyn",
 +
    "LovedTags": [
 +
      "Cappuccino Mousse Cake",
 +
      "Star Cookie"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Salty",
 +
      "Hot"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Pierre",
 +
    "LovedTags": [
 +
      "Personal Pizza"
 +
    ],
 +
    "LikedTags": [
 +
      "Hot"
 +
    ],
 +
    "DislikedTags": [
 +
      "Joja"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Abigail",
 +
    "LovedTags": [
 +
      "Rock Candy"
 +
    ],
 +
    "LikedTags": [
 +
      "Candy",
 +
      "Sweet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Caroline",
 +
    "LovedTags": [
 +
      "Truffle Popcorn",
 +
      "Jasmine Tea"
 +
    ],
 +
    "LikedTags": [
 +
      "Healthy"
 +
    ],
 +
    "DislikedTags": [
 +
      "Fatty",
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Harvey",
 +
    "LovedTags": [
 +
      "Apple Slices",
 +
      "Jasmine Tea"
 +
    ],
 +
    "LikedTags": [
 +
      "Healthy",
 +
      "Gourmet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Sweet",
 +
      "Fatty",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Gus",
 +
    "LovedTags": [
 +
      "Gourmet"
 +
    ],
 +
    "LikedTags": [
 +
      "Sandwich"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy",
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Lewis",
 +
    "LovedTags": [
 +
      "Jasmine Tea"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet",
 +
      "Popcorn"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Jodi",
 +
    "LovedTags": [
 +
      "Chocolate Popcorn"
 +
    ],
 +
    "LikedTags": [
 +
      "Fatty",
 +
      "Hot",
 +
      "Salty"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy",
 +
      "Truffle Popcorn",
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Sam",
 +
    "LovedTags": [
 +
      "Personal Pizza"
 +
    ],
 +
    "LikedTags": [
 +
      "Joja Cola",
 +
      "Candy"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy",
 +
      "Gourmet"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Vincent",
 +
    "LovedTags": [
 +
      "Jawbreaker"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet",
 +
      "Candy"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy",
 +
      "Gourmet"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Kent",
 +
    "LovedTags": [
 +
      "Popcorn"
 +
    ],
 +
    "LikedTags": [
 +
      "Salty"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Clint",
 +
    "LovedTags": [
 +
      "Fries"
 +
    ],
 +
    "LikedTags": [
 +
      "Fatty"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Emily",
 +
    "LovedTags": [
 +
      "Kale Smoothie"
 +
    ],
 +
    "LikedTags": [
 +
      "Healthy",
 +
      "Gourmet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Fatty",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Haley",
 +
    "LovedTags": [
 +
      "Cappuccino Mousse Cake"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Fatty",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Maru",
 +
    "LovedTags": [
 +
      "Star Cookie"
 +
    ],
 +
    "LikedTags": [
 +
      "Fatty",
 +
      "Sweet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Cold"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Sebastian",
 +
    "LovedTags": [
 +
      "Jasmine Tea"
 +
    ],
 +
    "LikedTags": [
 +
      "Apple Slices",
 +
      "Salty",
 +
      "Hot"
 +
    ],
 +
    "DislikedTags": [
 +
      "Gourmet",
 +
      "Kale Smoothie"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Robin",
 +
    "LovedTags": [
 +
      "Salted Peanuts"
 +
    ],
 +
    "LikedTags": [
 +
      "Salty",
 +
      "Fatty"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Demetrius",
 +
    "LovedTags": [
 +
      "Popcorn"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Linus",
 +
    "LovedTags": [
 +
      "Salmon Burger"
 +
    ],
 +
    "LikedTags": [
 +
      "Healthy",
 +
      "Gourmet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Joja"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Dwarf",
 +
    "LovedTags": [
 +
      "Rock Candy"
 +
    ],
 +
    "LikedTags": [
 +
      "Candy"
 +
    ],
 +
    "DislikedTags": [
 +
      "Hot",
 +
      "Healthy",
 +
      "Gourmet",
 +
      "Salty",
 +
      "Fatty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Krobus",
 +
    "LovedTags": [
 +
      "Black Licorice"
 +
    ],
 +
    "LikedTags": [],
 +
    "DislikedTags": [
 +
      "Sweet",
 +
      "Stardrop Sorbet"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Wizard",
 +
    "LovedTags": [
 +
      "Black Licorice",
 +
      "Star Cookie"
 +
    ],
 +
    "LikedTags": [
 +
      "Jasmine Tea",
 +
      "Candy"
 +
    ],
 +
    "DislikedTags": [
 +
      "Hot",
 +
      "Healthy",
 +
      "Gourmet",
 +
      "Salty",
 +
      "Fatty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Marnie",
 +
    "LovedTags": [
 +
      "Ice Cream Sandwich"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet",
 +
      "Popcorn"
 +
    ],
 +
    "DislikedTags": [
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Shane",
 +
    "LovedTags": [
 +
      "Personal Pizza",
 +
      "Nachos",
 +
      "Joja",
 +
      "Hummus Snack Pack"
 +
    ],
 +
    "LikedTags": [
 +
      "Fatty"
 +
    ],
 +
    "DislikedTags": [
 +
      "Gourmet",
 +
      "Apple Slices",
 +
      "Kale Smoothie"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Jas",
 +
    "LovedTags": [
 +
      "Sour Slimes"
 +
    ],
 +
    "LikedTags": [
 +
      "Sweet",
 +
      "Candy"
 +
    ],
 +
    "DislikedTags": [
 +
      "Healthy",
 +
      "Gourmet",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Leah",
 +
    "LovedTags": [
 +
      "Panzanella Salad"
 +
    ],
 +
    "LikedTags": [
 +
      "Healthy",
 +
      "Gourmet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Fatty",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Sandy",
 +
    "LovedTags": [
 +
      "Cotton Candy"
 +
    ],
 +
    "LikedTags": [
 +
      "Gourmet",
 +
      "Sweet"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Elliott",
 +
    "LovedTags": [
 +
      "Truffle Popcorn",
 +
      "Cappuccino Mousse Cake"
 +
    ],
 +
    "LikedTags": [
 +
      "Gourmet",
 +
      "Healthy"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy",
 +
      "Fatty",
 +
      "Salty"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "Willy",
 +
    "LovedTags": [
 +
      "Salmon Burger"
 +
    ],
 +
    "LikedTags": [
 +
      "Hot",
 +
      "Fatty",
 +
      "Salty"
 +
    ],
 +
    "DislikedTags": [
 +
      "Candy",
 +
      "Healthy",
 +
      "Gourmet"
 +
    ]
 +
  },
 +
  {
 +
    "Name": "*",
 +
    "LovedTags": [
 +
      "Stardrop Sorbet"
 +
    ],
 +
    "LikedTags": [],
 +
    "DislikedTags": [
 +
      "Black Licorice",
 +
      "Joja"
 +
    ]
 +
  }
 +
]
 +
</syntaxhighlight>}}
 +
 +
=== Format ===
 +
Each block within the list has the following data:
 +
 +
{| class="wikitable"
 +
|-
 +
! key format
 +
! description
 +
|-
 +
| <samp>Name</samp>
 +
| Who this block should apply to. Can be the name of an NPC or <samp>*</samp>, in which case the tastes will apply to every NPC.
 +
|-
 +
| <samp>LovedTags</samp></br><samp>LikedTags</samp></br><samp>DislikedTags</samp>
 +
| A list of concession tags that are loved, liked, or disliked. This can be an <samp>ItemTag</samp>, or the internal name of a specific concession. To determine an NPC's opinion of a concession, the game totals how many tags from each group apply, with <samp>LovedTags</samp> and <samp>LikedTags</samp> contributing a positive score and <samp>DislikedTags</samp> contributing a negative. Purchasing a loved snack earns 50 Friendship points with the NPC, a liked snack earns 25 Friendship points, and a disliked snack neither earns nor costs friendship points with the NPC.
 +
|}
   −
== Concession reactions ==
+
[[Category:Modding]]
translators
8,404

edits