* 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
23 lines
612 B
C#
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"
|
|
};
|
|
}
|