From: deltanedas <39013340+deltanedas@users.noreply.github.com>
Date: Sun, 12 Nov 2023 23:18:48 +0000 (+0000)
Subject: egg rework (#21606)
X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=60c19853cd852175fdbd6f5ca8f4ba31ecdef852;p=space-station-14.git
egg rework (#21606)
* egg and raw egg
* add DamageEntity
* boiling and exploding eggs
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
---
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