Tiered cakes (#4534)

* Add Tiered Cakes (#614)

* Add frosting and tiered cakes, with sprites by meowyrm and chlymerine.

* Add localisations for tiered cake construction

* Removed newline.

* Moved localisations to _DV namespace.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Eagle0600 2025-11-02 15:49:42 +10:00 committed by GitHub
parent 4f6ef02807
commit d8f2aacbe0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
21 changed files with 283 additions and 0 deletions

View File

@ -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

View File

@ -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

View File

@ -79,6 +79,7 @@
- FoodBakedBrownie
- FoodPieBananaCreamSlice
- FoodTartMimeSlice
- FoodCakeTieredSlice # Floof - Add tiered cakes
chance: 0.8
offset: 0.0
#rare

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,2 @@
- type: Tag
id: CakeBase

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -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"}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

View File

@ -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"}
]
}