--- /dev/null
+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);
+ }
+}
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
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!
reagent-physical-desc-energizing = energizing
reagent-physical-desc-exhilarating = exhilarating
reagent-physical-desc-vibrant = vibrant
+reagent-physical-desc-fluffy = fluffy
# 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
flavorType: Complex
description: flavor-complex-egg
+- type: flavor
+ id: raw-egg
+ flavorType: Complex
+ description: flavor-complex-raw-egg
+
- type: flavor
id: bacon
flavorType: Complex
- 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
effects:
- !type:AdjustReagent
reagent: Protein
- amount: 0.5
+ amount: 1
- type: reagent
id: Blackpepper
--- /dev/null
+# 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
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