diff --git a/Resources/Locale/en-US/_DV/recipes/tags.ftl b/Resources/Locale/en-US/_DV/recipes/tags.ftl index f16577d071..6609285253 100644 --- a/Resources/Locale/en-US/_DV/recipes/tags.ftl +++ b/Resources/Locale/en-US/_DV/recipes/tags.ftl @@ -7,6 +7,9 @@ construction-graph-tag-paperwork-tools-panel = paperwork tools panel electronics construction-graph-tag-utility-tools-panel = utility tools panel electronics construction-graph-tag-surgery-tools-panel = surgery tools panel electronics +# Chef +construction-graph-tag-cake-base = plain cake + # Clothing construction-graph-tag-secglasses = security glasses construction-graph-tag-corpsman-glasses = corpsman glasses diff --git a/Resources/Locale/en-US/_DV/stack/stacks.ftl b/Resources/Locale/en-US/_DV/stack/stacks.ftl index 853e341b05..6be0be3154 100644 --- a/Resources/Locale/en-US/_DV/stack/stacks.ftl +++ b/Resources/Locale/en-US/_DV/stack/stacks.ftl @@ -10,3 +10,5 @@ stack-treatcoin = treatcoin stack-biogenerator-plastic1 = plastic (single) stack-biogenerator-plastic10 = plastic (10) stack-biogenerator-plastic30 = plastic (30) + +stack-frosting = frosting diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml index f2704e693e..18a7b0cd71 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml @@ -79,6 +79,7 @@ - FoodBakedBrownie - FoodPieBananaCreamSlice - FoodTartMimeSlice + - FoodCakeTieredSlice # Floof - Add tiered cakes chance: 0.8 offset: 0.0 #rare diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml index 27f9c97051..d94d3e1353 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_whole.yml @@ -47,6 +47,7 @@ - FoodPiePumpkin # DeltaV - Pumpkin Pie - FoodMothCheesecakeBalls # Nyanotrasen - Moth Recipes - FoodBakedBrownieBatch + - FoodCakeTieredDouble # Floof - Add tiered cakes chance: 0.8 offset: 0.0 #rare @@ -63,4 +64,5 @@ - FoodPieXeno - FoodBakedCannabisBrownieBatch - FoodMothMothmallow # Nyanotrasen - Moth Recipes + - FoodCakeTieredTriple # Floof - Add tiered cakes rareChance: 0.05 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml index eb6b71212a..11262c5054 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml @@ -131,6 +131,9 @@ id: FoodCakePlain description: A plain cake, not a lie. components: + - type: Construction # Floof - Add tiered cakes + graph: CakeTiered + node: start - type: Sprite state: plain - type: SliceableFood @@ -146,6 +149,11 @@ Quantity: 5 - type: Item heldPrefix: plain + # Floof section - Add tiered cakes + - type: Tag + tags: + - CakeBase + # Floof section end # Added in type lines above diff --git a/Resources/Prototypes/_Floof/Entities/Objects/Consumable/Food/Baked/cake.yml b/Resources/Prototypes/_Floof/Entities/Objects/Consumable/Food/Baked/cake.yml new file mode 100644 index 0000000000..396476d3f8 --- /dev/null +++ b/Resources/Prototypes/_Floof/Entities/Objects/Consumable/Food/Baked/cake.yml @@ -0,0 +1,129 @@ +# When adding new food also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\food_baked_whole.yml & food_baked_single.yml +# Base + +# Tiered cakes + +- type: entity + name: incomplete cake + parent: FoodCakeBase + id: FoodCakeTieredBase + abstract: true + description: A frosted cake. Too large to eat in without slicing. + components: + - type: Item + size: Large + shape: + - 0,0,2,2 + - type: Sprite + sprite: _Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi + - type: Food + requiresSpecialDigestion: true # Prevent eating huge cakes without slicing them. + +- type: entity + parent: FoodCakeTieredBase + id: FoodCakeTieredSingle + components: + - type: Construction + graph: CakeTiered + node: singleFrosted + defaultTarget: doubleFrosted + - type: Item + size: Normal + shape: + - 0,0,1,1 + - type: Sprite + state: single + +- type: entity + parent: FoodCakeTieredBase + id: FoodCakeTieredDoubleUnfrosted + components: + - type: Construction + graph: CakeTiered + node: doubleUnfrosted + defaultTarget: doubleFrosted + - type: Sprite + state: double-unfrosted + +- type: entity + parent: FoodCakeTieredBase + id: FoodCakeTieredDouble + name: celebration cake + description: A huge cake for special occasions. Too large to eat without slicing. + components: + - type: Construction + graph: CakeTiered + node: doubleFrosted + - type: Sprite + state: double + - type: SolutionContainerManager + solutions: + food: + maxVol: 130 + reagents: + - ReagentId: Nutriment + Quantity: 72 + - ReagentId: Sugar + Quantity: 36 + - ReagentId: Vitamin + Quantity: 12 + - type: SliceableFood + slice: FoodCakeTieredSlice + count: 12 + +- type: entity + parent: FoodCakeTieredBase + id: FoodCakeTieredTripleUnfrosted + components: + - type: Construction + graph: CakeTiered + node: tripleUnfrosted + defaultTarget: tripleFrosted + - type: Sprite + state: triple-unfrosted + +- type: entity + parent: FoodCakeTieredBase + id: FoodCakeTieredTriple + name: wedding cake + description: A gargantuan decorated cake for weddings. Too large to eat without slicing. + components: + - type: Construction + graph: CakeTiered + node: tripleFrosted + - type: Sprite + state: triple + - type: SolutionContainerManager + solutions: + food: + maxVol: 200 + reagents: + - ReagentId: Nutriment + Quantity: 108 + - ReagentId: Sugar + Quantity: 54 + - ReagentId: Vitamin + Quantity: 18 + - type: SliceableFood + slice: FoodCakeTieredSlice + count: 18 + +- type: entity + name: slice of cake + parent: FoodCakeSliceBase + id: FoodCakeTieredSlice + components: + - type: Sprite + sprite: _Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi + state: slice + - type: SolutionContainerManager + solutions: + food: + maxVol: 15 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: Sugar + Quantity: 3 + - ReagentId: Vitamin + Quantity: 1 diff --git a/Resources/Prototypes/_Floof/Entities/Objects/Consumable/Food/ingredients.yml b/Resources/Prototypes/_Floof/Entities/Objects/Consumable/Food/ingredients.yml new file mode 100644 index 0000000000..e48f639ce3 --- /dev/null +++ b/Resources/Prototypes/_Floof/Entities/Objects/Consumable/Food/ingredients.yml @@ -0,0 +1,29 @@ +# Powder + +# Reagent Containers + +# Misc + +# Baking + +- type: entity + name: frosting + parent: FoodBakingBase + id: FoodFrosting + description: Soft, creamy, and sweet. Used for topping cakes. + components: + - type: Stack + stackType: Frosting + count: 1 + - type: Sprite + sprite: _Floof/Objects/Consumable/Food/ingredients.rsi + state: frosting-pipe + - type: SolutionContainerManager + solutions: + food: + maxVol: 24 + reagents: + - ReagentId: Nutriment + Quantity: 4 + - ReagentId: Sugar + Quantity: 15 diff --git a/Resources/Prototypes/_Floof/Recipes/Construction/Graphs/food/cake_tiered.yml b/Resources/Prototypes/_Floof/Recipes/Construction/Graphs/food/cake_tiered.yml new file mode 100644 index 0000000000..cb9b33a893 --- /dev/null +++ b/Resources/Prototypes/_Floof/Recipes/Construction/Graphs/food/cake_tiered.yml @@ -0,0 +1,57 @@ +- type: constructionGraph + id: CakeTiered + start: start + graph: + - node: start + entity: FoodCakePlain # Can change this to FoodCakeTieredSingleUnfrosted if such an entity is created at some point. + edges: + - to: singleFrosted + steps: + - material: Frosting + amount: 1 + doAfter: 1 + + - node: singleFrosted + entity: FoodCakeTieredSingle + edges: + - to: doubleUnfrosted + steps: + - tag: CakeBase + name: construction-graph-tag-cake-base # DeltaV - Add localisations for tiered cake construction + icon: + sprite: Objects/Consumable/Food/Baked/cake.rsi + state: plain + doAfter: 1 + + - node: doubleUnfrosted + entity: FoodCakeTieredDoubleUnfrosted + edges: + - to: doubleFrosted + steps: + - material: Frosting + amount: 1 + doAfter: 1 + + - node: doubleFrosted + entity: FoodCakeTieredDouble + edges: + - to: tripleUnfrosted + steps: + - tag: CakeBase + name: construction-graph-tag-cake-base # DeltaV - Add localisations for tiered cake construction + icon: + sprite: Objects/Consumable/Food/Baked/cake.rsi + state: plain + doAfter: 1 + + - node: tripleUnfrosted + entity: FoodCakeTieredTripleUnfrosted + edges: + - to: tripleFrosted + steps: + - material: Frosting + amount: 1 + doAfter: 1 + + - node: tripleFrosted + entity: FoodCakeTieredTriple diff --git a/Resources/Prototypes/_Floof/Recipes/Reactions/food.yml b/Resources/Prototypes/_Floof/Recipes/Reactions/food.yml new file mode 100644 index 0000000000..72a8029d4f --- /dev/null +++ b/Resources/Prototypes/_Floof/Recipes/Reactions/food.yml @@ -0,0 +1,13 @@ +- type: reaction + id: CreateFrosting + impact: Low + quantized: true + conserveEnergy: false + reactants: + Butter: + amount: 5 + Sugar: + amount: 15 + effects: + - !type:CreateEntityReactionEffect + entity: FoodFrosting diff --git a/Resources/Prototypes/_Floof/Stacks/consumable_stacks.yml b/Resources/Prototypes/_Floof/Stacks/consumable_stacks.yml new file mode 100644 index 0000000000..bb89c2e9fc --- /dev/null +++ b/Resources/Prototypes/_Floof/Stacks/consumable_stacks.yml @@ -0,0 +1,13 @@ +# Food + +- type: stack + id: Frosting + name: stack-frosting # DeltaV - Add localisations for tiered cake construction + icon: { sprite: _Floof/Objects/Consumable/Food/ingredients.rsi, state: frosting-pipe } + spawn: FoodFrosting + maxCount: 3 + +# Food Containers + +# Smokeables + diff --git a/Resources/Prototypes/_Floof/tags.yml b/Resources/Prototypes/_Floof/tags.yml new file mode 100644 index 0000000000..6e7e0f2ab4 --- /dev/null +++ b/Resources/Prototypes/_Floof/tags.yml @@ -0,0 +1,2 @@ +- type: Tag + id: CakeBase diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/double-unfrosted.png b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/double-unfrosted.png new file mode 100644 index 0000000000..129ff8db42 Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/double-unfrosted.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/double.png b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/double.png new file mode 100644 index 0000000000..b0a4725bd1 Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/double.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/meta.json b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/meta.json new file mode 100644 index 0000000000..1c2454a0a0 --- /dev/null +++ b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/meta.json @@ -0,0 +1,15 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "meowyrm and chlymerine (zyu#4110 and sockeneko#1861 on Discord)", + "size": {"x": 32, "y": 32}, + "states": [ + {"name": "single"}, + {"name": "single-unfrosted"}, + {"name": "double"}, + {"name": "double-unfrosted"}, + {"name": "triple"}, + {"name": "triple-unfrosted"}, + {"name": "slice"} + ] +} diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/single-unfrosted.png b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/single-unfrosted.png new file mode 100644 index 0000000000..7a1eba5cad Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/single-unfrosted.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/single.png b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/single.png new file mode 100644 index 0000000000..574ec17305 Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/single.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/slice.png b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/slice.png new file mode 100644 index 0000000000..16eae537ca Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/slice.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/triple-unfrosted.png b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/triple-unfrosted.png new file mode 100644 index 0000000000..74e30d5df0 Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/triple-unfrosted.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/triple.png b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/triple.png new file mode 100644 index 0000000000..1350b1f174 Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/Baked/cake_tiered.rsi/triple.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/ingredients.rsi/frosting-pipe.png b/Resources/Textures/_Floof/Objects/Consumable/Food/ingredients.rsi/frosting-pipe.png new file mode 100644 index 0000000000..fbd0a0b189 Binary files /dev/null and b/Resources/Textures/_Floof/Objects/Consumable/Food/ingredients.rsi/frosting-pipe.png differ diff --git a/Resources/Textures/_Floof/Objects/Consumable/Food/ingredients.rsi/meta.json b/Resources/Textures/_Floof/Objects/Consumable/Food/ingredients.rsi/meta.json new file mode 100644 index 0000000000..fe80262555 --- /dev/null +++ b/Resources/Textures/_Floof/Objects/Consumable/Food/ingredients.rsi/meta.json @@ -0,0 +1,9 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Frosting pipe by meowyrm and chlymerine (zyu#4110 and sockeneko#1861 on Discord)", + "size": {"x": 32, "y": 32}, + "states": [ + {"name": "frosting-pipe"} + ] +}