]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
egg rework (#21606)
authordeltanedas <39013340+deltanedas@users.noreply.github.com>
Sun, 12 Nov 2023 23:18:48 +0000 (23:18 +0000)
committerGitHub <noreply@github.com>
Sun, 12 Nov 2023 23:18:48 +0000 (16:18 -0700)
* egg and raw egg

* add DamageEntity

* boiling and exploding eggs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Content.Server/Construction/Completions/DamageEntity.cs [new file with mode: 0644]
Resources/Locale/en-US/flavors/flavor-profiles.ftl
Resources/Locale/en-US/reagents/meta/consumable/food/ingredients.ftl
Resources/Locale/en-US/reagents/meta/physical-desc.ftl
Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml
Resources/Prototypes/Flavors/flavors.yml
Resources/Prototypes/Reagents/Consumable/Food/ingredients.yml
Resources/Prototypes/Recipes/Construction/Graphs/food/egg.yml [new file with mode: 0644]
Resources/Prototypes/Recipes/Reactions/single_reagent.yml

diff --git a/Content.Server/Construction/Completions/DamageEntity.cs b/Content.Server/Construction/Completions/DamageEntity.cs
new file mode 100644 (file)
index 0000000..780194f
--- /dev/null
@@ -0,0 +1,23 @@
+using Content.Shared.Construction;
+using Content.Shared.Damage;
+using Content.Shared.Damage.Systems;
+
+namespace Content.Server.Construction.Completions;
+
+/// <summary>
+/// Damage the entity on step completion.
+/// </summary>
+[DataDefinition]
+public sealed partial class DamageEntity : IGraphAction
+{
+    /// <summary>
+    /// Damage to deal to the entity.
+    /// </summary>
+    [DataField]
+    public DamageSpecifier Damage;
+
+    public void PerformAction(EntityUid uid, EntityUid? userUid, IEntityManager entityManager)
+    {
+        entityManager.System<DamageableSystem>().TryChangeDamage(uid, Damage, origin: userUid);
+    }
+}
index 3998429d1ce2f77def0360f6d014f5340bd75bcd..db4629d64e7e37e7c351056b92d135fadc61c1a9 100644 (file)
@@ -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
index 445e0b311431d1a3fdc1c0ed2379b1e65f958489..603259f80f6c648d94857673770899284526682c 100644 (file)
@@ -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!
index 14e6e18239a21d9bbcf1dca771aaddeeadce8754..d5e21209c1c0d1f9429e17476d772081abfc2cda 100644 (file)
@@ -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
index 3eb2b966848a53bd1ddabec65eba9bcae9a3d635..a6c3a8b9743a5334d8a43b36c4a821c3da3ff292 100644 (file)
           # 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
   name: egg
   components:
   - type: Sprite
-    sprite: Objects/Consumable/Food/egg.rsi
     layers:
       - state: icon
         map: [ "enum.DamageStateVisualLayers.Base" ]
           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
index c4c518ad89b2c185ea4a0e0699718ab30c546cc3..5202c94498ac741f21cc38bca1a2ccc0ecb1ead0 100644 (file)
   flavorType: Complex
   description: flavor-complex-egg
 
+- type: flavor
+  id: raw-egg
+  flavorType: Complex
+  description: flavor-complex-raw-egg
+
 - type: flavor
   id: bacon
   flavorType: Complex
index c9dd15f816562fc4407595b8f18d17fe58e3de36..da6059dcd0efd997caf0a1d67dcd4fa4cdba9670 100644 (file)
 
 - 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 (file)
index 0000000..f5eea53
--- /dev/null
@@ -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
index cd15576d29dfd71d531f37b3ceb8cf1360dad34c..5a40435471d7ead29c1142e13f19b9874e5b9172 100644 (file)
@@ -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