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]] |