diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml index e31ef53fef..0e903546eb 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml @@ -1,7 +1,7 @@ # Base - type: entity - parent: BaseItem + parent: FoodInjectableBase id: FoodBurgerBase abstract: true components: @@ -13,7 +13,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 15 + maxVol: 20 reagents: - ReagentId: Nutriment Quantity: 15 @@ -157,7 +157,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 25 + maxVol: 33 reagents: - ReagentId: Nutriment Quantity: 25 @@ -174,7 +174,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 40 + maxVol: 53 reagents: - ReagentId: Nutriment Quantity: 40 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml index 1088d8f565..9097331f07 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml @@ -1,7 +1,7 @@ # Base - type: entity - parent: BaseItem + parent: FoodInjectableBase id: FoodEggBase description: An egg! abstract: true @@ -20,7 +20,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 5 + maxVol: 6 reagents: - ReagentId: Egg Quantity: 5 @@ -92,7 +92,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 1 + maxVol: 2 reagents: - ReagentId: Egg Quantity: 1 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml index 3c2b3deeca..80f2198afd 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml @@ -1,7 +1,7 @@ # Base - type: entity - parent: BaseItem + parent: FoodInjectableBase id: FoodFrozenBase abstract: true components: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml index a89a807223..14a6020e28 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml @@ -30,7 +30,14 @@ food: maxVol: 50 - type: SolutionTransfer + # This is potentially badly-handled due to 'drink opening', + # but it lets the flour be tampered with, refilled, etc. + - type: RefillableSolution + solution: food + - type: DrainableSolution + solution: food - type: Drink + solution: food openSounds: collection: packetOpenSounds useSound: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/injectable_base.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/injectable_base.yml new file mode 100644 index 0000000000..3cba19b61c --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/injectable_base.yml @@ -0,0 +1,13 @@ +# This base type is used to cover all of the "obvious" things that should be doable to open-package food. +# Practically this means injection. +# But it might in future also mean drawing with a syringe, so this is a base prototype just in case. + +- type: entity + parent: BaseItem + id: FoodInjectableBase + abstract: true + components: + - type: Food + - type: InjectableSolution + solution: food + diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml index 5a47264d11..594fea19b0 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml @@ -4,7 +4,7 @@ # Base - type: entity - parent: BaseItem + parent: FoodInjectableBase id: FoodMealBase abstract: true description: A delicious meal, cooked with love. @@ -16,7 +16,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 20 + maxVol: 26 reagents: - ReagentId: Nutriment Quantity: 20 @@ -104,6 +104,7 @@ - type: SolutionContainerManager solutions: food: + # Note that this acts as the limiter against injecting anything. maxVol: 1 reagents: - ReagentId: Nutriment diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml index 3a9474f268..7a80ede362 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml @@ -1,7 +1,7 @@ # Base - type: entity - parent: BaseItem + parent: FoodInjectableBase id: FoodMeatBase abstract: true components: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml index d785cca0b0..8c735168c8 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml @@ -1,7 +1,7 @@ # Base - type: entity - parent: BaseItem + parent: FoodInjectableBase id: FoodNoodlesBase abstract: true description: Now that's a nice pasta! @@ -14,7 +14,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 20 + maxVol: 25 reagents: - ReagentId: Nutriment Quantity: 20 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 30e94f157e..202d02a40a 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -1,3 +1,5 @@ +# For produce that can't be immediately eaten + - type: entity parent: BaseItem id: ProduceBase @@ -11,6 +13,23 @@ - type: Extractable extractableSolution: food +# For produce that can be immediately eaten + +- type: entity + parent: FoodInjectableBase + id: FoodProduceBase + abstract: true + components: + - type: SolutionContainerManager + - type: Sprite + netsync: false + state: produce + - type: Produce + - type: Extractable + extractableSolution: food + +# Subclasses + - type: entity name: wheat bushel description: Sigh... wheat... a-grain? @@ -86,7 +105,7 @@ - type: entity name: banana - parent: ProduceBase + parent: FoodProduceBase id: FoodBanana description: Rich in potassium. components: @@ -142,14 +161,13 @@ - type: entity name: carrot - parent: ProduceBase + parent: FoodProduceBase id: FoodCarrot description: It's good for the eyes! components: - type: Tag tags: - Carrot - - type: Food - type: SolutionContainerManager solutions: food: @@ -168,11 +186,10 @@ - type: entity name: lemon - parent: ProduceBase + parent: FoodProduceBase id: FoodLemon description: When life gives you lemons, be grateful they aren't limes. components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -191,11 +208,10 @@ - type: entity name: pineapple - parent: ProduceBase + parent: FoodProduceBase id: FoodPineapple description: Mmm, tropical. components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -217,11 +233,10 @@ - type: entity name: potato - parent: ProduceBase + parent: FoodProduceBase id: FoodPotato description: The space Irish starved to death after their potato crops died. Sadly they were unable to fish for space carp due to it being the queen's space. Bringing this up to any space IRA member will drive them insane with anger. components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -235,11 +250,10 @@ - type: entity name: tomato - parent: ProduceBase + parent: FoodProduceBase id: FoodTomato description: I say to-mah-to, you say tom-mae-to. components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -302,11 +316,10 @@ - type: entity name: eggplant - parent: ProduceBase + parent: FoodProduceBase id: FoodEggplant description: Maybe there's a chicken inside? components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -320,11 +333,10 @@ - type: entity name: apple - parent: ProduceBase + parent: FoodProduceBase id: FoodApple description: It's a little piece of Eden. components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -343,7 +355,7 @@ - type: entity name: ear of corn - parent: ProduceBase + parent: FoodProduceBase id: FoodCorn description: Needs some butter! And some cooking... components: @@ -375,11 +387,10 @@ - type: entity name: onion - parent: ProduceBase + parent: FoodProduceBase id: FoodOnion description: Nothing to cry over. components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -396,11 +407,10 @@ - type: entity name: red onion - parent: ProduceBase + parent: FoodProduceBase id: FoodOnionRed description: Purple despite the name. components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -417,11 +427,10 @@ - type: entity name: chanterelle cluster - parent: ProduceBase + parent: FoodProduceBase id: FoodMushroom description: "Cantharellus Cibarius: These jolly yellow little shrooms sure look tasty!" components: - - type: Food - type: SolutionContainerManager solutions: food: @@ -436,11 +445,10 @@ # Slices - type: entity - parent: BaseItem + parent: FoodInjectableBase id: ProduceSliceBase abstract: true components: - - type: Food - type: SolutionContainerManager solutions: food: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml index 3f45d64e48..0ae8844532 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml @@ -1,7 +1,7 @@ # Base - type: entity - parent: BaseItem + parent: FoodInjectableBase id: FoodSkewerBase abstract: true components: @@ -13,7 +13,7 @@ - type: SolutionContainerManager solutions: food: - maxVol: 20 + maxVol: 26 reagents: - ReagentId: Nutriment Quantity: 20