From 60c19853cd852175fdbd6f5ca8f4ba31ecdef852 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sun, 12 Nov 2023 23:18:48 +0000 Subject: [PATCH] egg rework (#21606) * egg and raw egg * add DamageEntity * boiling and exploding eggs --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Construction/Completions/DamageEntity.cs | 23 +++++++++++ .../Locale/en-US/flavors/flavor-profiles.ftl | 1 + .../meta/consumable/food/ingredients.ftl | 5 ++- .../en-US/reagents/meta/physical-desc.ftl | 1 + .../Entities/Objects/Consumable/Food/egg.yml | 38 ++++++++++++++++++- Resources/Prototypes/Flavors/flavors.yml | 5 +++ .../Reagents/Consumable/Food/ingredients.yml | 20 +++++++++- .../Recipes/Construction/Graphs/food/egg.yml | 22 +++++++++++ .../Recipes/Reactions/single_reagent.yml | 10 +++++ 9 files changed, 121 insertions(+), 4 deletions(-) create mode 100644 Content.Server/Construction/Completions/DamageEntity.cs create mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/food/egg.yml diff --git a/Content.Server/Construction/Completions/DamageEntity.cs b/Content.Server/Construction/Completions/DamageEntity.cs new file mode 100644 index 0000000000..780194f2bf --- /dev/null +++ b/Content.Server/Construction/Completions/DamageEntity.cs @@ -0,0 +1,23 @@ +using Content.Shared.Construction; +using Content.Shared.Damage; +using Content.Shared.Damage.Systems; + +namespace Content.Server.Construction.Completions; + +/// +/// Damage the entity on step completion. +/// +[DataDefinition] +public sealed partial class DamageEntity : IGraphAction +{ + /// + /// Damage to deal to the entity. + /// + [DataField] + public DamageSpecifier Damage; + + public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager) + { + entityManager.System().TryChangeDamage(uid, Damage, origin: userUid); + } +} diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index 3998429d1c..db4629d64e 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -71,6 +71,7 @@ flavor-complex-bread = like bread flavor-complex-batter = like batter flavor-complex-butter = like butter flavor-complex-egg = like egg +flavor-complex-raw-egg = like raw egg flavor-complex-bacon = like bacon flavor-complex-chicken = like chicken flavor-complex-duck = like duck diff --git a/Resources/Locale/en-US/reagents/meta/consumable/food/ingredients.ftl b/Resources/Locale/en-US/reagents/meta/consumable/food/ingredients.ftl index 445e0b3114..603259f80f 100644 --- a/Resources/Locale/en-US/reagents/meta/consumable/food/ingredients.ftl +++ b/Resources/Locale/en-US/reagents/meta/consumable/food/ingredients.ftl @@ -11,7 +11,10 @@ reagent-name-enzyme = universal enzyme reagent-desc-enzyme = Used in cooking various dishes. reagent-name-egg = egg -reagent-desc-egg = Used for baking. +reagent-desc-egg = Cooked chicken embryo, delicious. + +reagent-name-raw-egg = raw egg +reagent-desc-raw-egg = Used for baking. reagent-name-sugar = sugar reagent-desc-sugar = Tasty spacey sugar! diff --git a/Resources/Locale/en-US/reagents/meta/physical-desc.ftl b/Resources/Locale/en-US/reagents/meta/physical-desc.ftl index 14e6e18239..d5e21209c1 100644 --- a/Resources/Locale/en-US/reagents/meta/physical-desc.ftl +++ b/Resources/Locale/en-US/reagents/meta/physical-desc.ftl @@ -89,3 +89,4 @@ reagent-physical-desc-exotic-smelling = exotic smelling reagent-physical-desc-energizing = energizing reagent-physical-desc-exhilarating = exhilarating reagent-physical-desc-vibrant = vibrant +reagent-physical-desc-fluffy = fluffy diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml index 3eb2b96684..a6c3a8b974 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml @@ -56,6 +56,16 @@ # Wow double-yolk you're so lucky! - !type:DoActsBehavior acts: [ "Destruction" ] + # all below are for egg cooking/exploding + - type: AtmosExposed + - type: Temperature + currentTemperature: 290 + - type: InternalTemperature + # ~1mm shell and ~1cm of albumen + thickness: 0.011 + area: 0.04 + # conductivity of egg shell based on a paper from Romanoff and Romanoff (1949) + conductivity: 0.456 # Splat - type: entity @@ -91,7 +101,6 @@ name: egg components: - type: Sprite - sprite: Objects/Consumable/Food/egg.rsi layers: - state: icon map: [ "enum.DamageStateVisualLayers.Base" ] @@ -101,3 +110,30 @@ icon: "" - enum.DamageStateVisualLayers.Base: white: "" + - type: Construction + graph: Egg + node: start + +- type: entity + parent: FoodEggBase + id: FoodEggBoiled + name: boiled egg + description: A delicious hardboiled egg. + components: + - type: Sprite + layers: + - state: icon + map: [ "enum.DamageStateVisualLayers.Base" ] + - type: SolutionContainerManager + solutions: + food: + maxVol: 6 + reagents: + - ReagentId: EggCooked + Quantity: 6 + - type: Temperature + # preserve temperature from the boiling step + currentTemperature: 344 + - type: Construction + graph: Egg + node: boiled diff --git a/Resources/Prototypes/Flavors/flavors.yml b/Resources/Prototypes/Flavors/flavors.yml index c4c518ad89..5202c94498 100644 --- a/Resources/Prototypes/Flavors/flavors.yml +++ b/Resources/Prototypes/Flavors/flavors.yml @@ -229,6 +229,11 @@ flavorType: Complex description: flavor-complex-egg +- type: flavor + id: raw-egg + flavorType: Complex + description: flavor-complex-raw-egg + - type: flavor id: bacon flavorType: Complex diff --git a/Resources/Prototypes/Reagents/Consumable/Food/ingredients.yml b/Resources/Prototypes/Reagents/Consumable/Food/ingredients.yml index c9dd15f816..da6059dcd0 100644 --- a/Resources/Prototypes/Reagents/Consumable/Food/ingredients.yml +++ b/Resources/Prototypes/Reagents/Consumable/Food/ingredients.yml @@ -65,10 +65,26 @@ - type: reagent id: Egg + name: reagent-name-raw-egg + group: Foods + desc: reagent-desc-raw-egg + physicalDesc: reagent-physical-desc-mucus-like + flavor: raw-egg + color: white + recognizable: true + metabolisms: + Food: + effects: + - !type:AdjustReagent + reagent: UncookedAnimalProteins + amount: 0.5 + +- type: reagent + id: EggCooked name: reagent-name-egg group: Foods desc: reagent-desc-egg - physicalDesc: reagent-physical-desc-mucus-like + physicalDesc: reagent-physical-desc-fluffy flavor: egg color: white recognizable: true @@ -77,7 +93,7 @@ effects: - !type:AdjustReagent reagent: Protein - amount: 0.5 + amount: 1 - type: reagent id: Blackpepper diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/food/egg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/food/egg.yml new file mode 100644 index 0000000000..f5eea53bcc --- /dev/null +++ b/Resources/Prototypes/Recipes/Construction/Graphs/food/egg.yml @@ -0,0 +1,22 @@ +# egg explodes when heated!!! +- type: constructionGraph + id: Egg + start: start + graph: + - node: start + edges: + - to: boiled + steps: + - minTemperature: 344 + - node: boiled + entity: FoodEggBoiled + edges: + - to: explode + completed: + - !type:DamageEntity + damage: + Blunt: 10 + steps: + # egg explodes some time after the water in it boils and increases pressure, guessing ~110C + - minTemperature: 383 + - node: explode diff --git a/Resources/Prototypes/Recipes/Reactions/single_reagent.yml b/Resources/Prototypes/Recipes/Reactions/single_reagent.yml index cd15576d29..5a40435471 100644 --- a/Resources/Prototypes/Recipes/Reactions/single_reagent.yml +++ b/Resources/Prototypes/Recipes/Reactions/single_reagent.yml @@ -8,6 +8,16 @@ products: Protein: 0.5 +- type: reaction + id: EggCooking + impact: Low + minTemp: 344 + reactants: + Egg: + amount: 0.5 + products: + EggCooked: 0.5 + - type: reaction id: BloodToWine impact: Low -- 2.51.2