Files
tbd-station-14/Content.Server/Nutrition/Components/FlavorProfileComponent.cs
Flipp Syder 3cfa00e91c Flavor profiles (#10991)
* flavor profiles

TODO: every single flavor! yeah!!!

* adds basic localization, and flavors/lastFlavor values for when you get the flavor profile message

* multiple and single flavor messages

* start on flavor localization, multiple flavors in localized flavors

* flavor prototypes

* a few more flavors, descriptions on what each section of the flavor file should be doing

* localization for flavor profiles in drink/food system

* adds an event that allows a flavor profile list to be transformed base on the user entity

* raises it on the food entity too

* changes a field in flavor, adds some more flavors, starts adding flavor prototypes

* adds basic flavors to several entities, and consumable drinks, renames flavor field to 'flavors'

* changes call ordering in flavorprofile, adds flavor to ignored components server-side

flavor is really just a popup message, and those are all processed server-side

* fixes where food tried to get the flavor of the user instead of the food

* single flavors will now get the localized string

* getting the flavor message now ensures that flavors are deduplicated

* makes flavor processing more strictly unique bu making everything hashsets

* yeah, that could just not have distinctby now

* adds flavorprofile directly to food base instead for generic food taste

* FlavorProfileModificationEvent now passes a hashset of strings and not flavorprototypes

* flavorprofilesystem now broadcasts the flavor profile modification event

* adds more flavors to the flavor profile loc file

* skips a flavor, if the flavor string is null/empty

* adds some more flavors, adds generic medicine flavor to medicinal chemicals

* more food flavors, adds flavors to swallowing

* adds some cocktails to the set of flavor profiles

* regenerates flavor prototypes

* adds flavor type to all flavors, adds whitespace between variants

* adds more flavors, adds flavors to several chemicals and food items

this is the part that took the longest

* changes backup flavor message

* spelling mistake

* more flavors, and flavors on food

* readds all the type fields, whoops

* fixes localization strings for forcefeeding food/drink

* fixes multiple flavor profile

* adds flavor limit for flavors

* makes that fetch the cvardef instead
2022-09-08 18:14:49 -05:00

23 lines
612 B
C#

namespace Content.Server.Nutrition.Components;
[RegisterComponent]
public sealed class FlavorProfileComponent : Component
{
/// <summary>
/// Localized string containing the base flavor of this entity.
/// </summary>
[DataField("flavors")]
public HashSet<string> Flavors { get; } = new();
/// <summary>
/// Reagent IDs to ignore when processing this flavor profile. Defaults to nutriment.
/// </summary>
[DataField("ignoreReagents")]
public HashSet<string> IgnoreReagents { get; } = new()
{
"Nutriment",
"Vitamin",
"Protein"
};
}