Add kitchen knife & sliceable foods (#2891)

* sliceable food, kitchen knives

* sprite fixes, sounds

* add to vendor

* address reviews

* address reviews

* stereo -> mono

* fix wrong amount of nutriment being removed

* oops im dumb

* meta.json

* fix merge

* probably fix test

* remove all instances of [ComponentReference(typeof(IAfterInteract))]

Co-authored-by: cyclowns <cyclowns@protonmail.ch>
This commit is contained in:
mirrorcult
2021-01-06 18:48:08 -07:00
committed by GitHub
parent a7c4571075
commit 7977992e5a
63 changed files with 597 additions and 301 deletions

View File

@@ -5,6 +5,7 @@
spriteName: dinnerware
startingInventory:
ButchCleaver: 1
KitchenKnife: 5
DrinkGlass: 10
DrinkPitcher: 1
DrinkMug: 5

View File

@@ -2962,6 +2962,7 @@
sprite: Objects/Consumable/Food/milkape.rsi
- type: Grindable
- type: entity
name: memory leek
parent: FoodBase
@@ -2978,3 +2979,428 @@
sprite: Objects/Consumable/Food/memoryleek.rsi
state: memoryLeek
- type: Grindable
- type: entity
parent: FoodBase
name: apple cake
id: FoodAppleCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodAppleCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/apple_cake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: banana bread
id: FoodBananaBread
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodBananaBreadSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/bananabread.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: birthday cake
id: FoodBirthdayCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodBirthdayCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/birthdaycake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: brain cake
id: FoodBrainCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodBrainCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/braincake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: bread
id: FoodBread
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodBreadSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/bread.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: carrot cake
id: FoodCarrotCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodCarrotCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/carrotcake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: cheesecake
id: FoodCheeseCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodCheeseCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/cheesecake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: cheese wheel
id: FoodCheeseWheel
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodCheeseWedge
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/apple_cake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: chocolate cake
id: FoodChocolateCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodChocolateCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/chocolatecake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: cream cheese bread
id: FoodCreamCheeseBread
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodCreamCheeseBreadSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/creamcheesebread.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: lemon cake
id: FoodLemonCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodLemonCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/lemoncake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: lime cake
id: FoodLimeCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodLimeCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/limecake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: meat bread
id: FoodMeatBread
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodMeatBreadSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/meatbread.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: meat pizza
id: FoodMeatPizza
components:
- type: Food
trash: TrashTray
- type: SliceableFood
count: 6
slice: FoodMeatPizzaSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 48
- type: Sprite
sprite: Objects/Consumable/Food/meatpizza.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: mushroom pizza
id: FoodMushroomPizza
components:
- type: Food
trash: TrashTray
- type: SliceableFood
count: 6
slice: FoodMushroomPizzaSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 48
- type: Sprite
sprite: Objects/Consumable/Food/mushroompizza.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: orange cake
id: FoodOrangeCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodOrangeCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/orangecake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: margherita pizza
id: FoodMargheritaPizza
components:
- type: Food
trash: TrashTray
- type: SliceableFood
count: 6
slice: FoodMargheritaPizzaSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 48
- type: Sprite
sprite: Objects/Consumable/Food/pizzamargherita.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: plain cake
id: FoodPlainCake
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodPlainCakeSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/plaincake.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: pumpkin pie
id: FoodPumpkinPie
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodPumpkinPieSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/pumpkinpie.rsi
- type: Grindable
- type: Item
sprite: Objects/Consumable/Food/pumpkinpie.rsi
- type: entity
parent: FoodBase
name: tofu bread
id: FoodTofuBread
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodTofuBreadSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/tofubread.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: vegetable pizza
id: FoodVegetablePizza
components:
- type: Food
trash: TrashTray
- type: SliceableFood
count: 6
slice: FoodVegetablePizzaSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 48
- type: Sprite
sprite: Objects/Consumable/Food/vegetablepizza.rsi
- type: Grindable
- type: entity
parent: FoodBase
name: xenomeat bread
id: FoodXenomeatBread
components:
- type: Food
trash: TrashTray
- type: SliceableFood
slice: FoodXenomeatBreadSlice
- type: SolutionContainer
contents:
reagents:
- ReagentId: chem.Nutriment
Quantity: 40
- type: Sprite
sprite: Objects/Consumable/Food/xenomeatbread.rsi
- type: Grindable

View File

@@ -8,128 +8,7 @@
state: icon
netsync: false
# Containers
- type: entity
parent: FoodContainerBase
name: apple cake
id: FoodContainerAppleCake
components:
- type: FoodContainer
prototypes:
FoodAppleCakeSlice: 100
trash: TrashTray
- type: Sprite
sprite: Objects/Consumable/FoodContainers/apple_cake.rsi
- type: entity
parent: FoodContainerBase
name: banana bread
id: FoodContainerBananaBread
components:
- type: FoodContainer
prototypes:
FoodBananaBreadSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/bananabread.rsi
- type: entity
parent: FoodContainerBase
name: birthday cake
id: FoodContainerBirthdayCake
components:
- type: FoodContainer
prototypes:
FoodBirthdayCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/birthdaycake.rsi
- type: entity
parent: FoodContainerBase
name: brain cake
id: FoodContainerBrainCake
components:
- type: FoodContainer
prototypes:
FoodBrainCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/braincake.rsi
- type: entity
parent: FoodContainerBase
name: bread
id: FoodContainerBread
components:
- type: FoodContainer
prototypes:
FoodBreadSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/bread.rsi
- type: entity
parent: FoodContainerBase
name: carrot cake
id: FoodContainerCarrotCake
components:
- type: FoodContainer
prototypes:
FoodCarrotCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/carrotcake.rsi
- type: entity
parent: FoodContainerBase
name: cheesecake
id: FoodContainerCheeseCake
components:
- type: FoodContainer
prototypes:
FoodCheeseCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/cheesecake.rsi
- type: entity
parent: FoodContainerBase
name: cheese wheel
id: FoodContainerCheeseWheel
components:
- type: FoodContainer
prototypes:
FoodCheeseWedge: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/apple_cake.rsi
- type: entity
parent: FoodContainerBase
name: chocolate cake
id: FoodContainerChocolateCake
components:
- type: FoodContainer
prototypes:
FoodChocolateCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/chocolatecake.rsi
- type: entity
parent: FoodContainerBase
name: cream cheese bread
id: FoodContainerCreamCheeseBread
components:
- type: FoodContainer
prototypes:
FoodCreamCheeseBreadSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/creamcheesebread.rsi
- type: entity
parent: FoodContainerBase
@@ -191,55 +70,6 @@
base_state: eggbox
steps: 13
- type: entity
parent: FoodContainerBase
name: lemon cake
id: FoodContainerLemonCake
components:
- type: FoodContainer
prototypes:
FoodLemonCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/lemoncake.rsi
- type: entity
parent: FoodContainerBase
name: lime cake
id: FoodContainerLimeCake
components:
- type: FoodContainer
prototypes:
FoodLimeCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/limecake.rsi
- type: entity
parent: FoodContainerBase
name: meat bread
id: FoodContainerMeatBread
components:
- type: FoodContainer
prototypes:
FoodMeatBreadSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/meatbread.rsi
- type: entity
parent: FoodContainerBase
name: meat pizza
id: FoodContainerMeatPizza
components:
- type: FoodContainer
capacity: 6
prototypes:
FoodMeatPizzaSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/meatpizza.rsi
# These two will probably get moved one day
- type: entity
parent: FoodContainerBase
@@ -253,7 +83,6 @@
- type: Sprite
sprite: Objects/Consumable/FoodContainers/monkeycubebox.rsi
- type: entity
parent: FoodContainerBase
name: monkey cube wrap
@@ -267,32 +96,6 @@
- type: Sprite
sprite: Objects/Consumable/FoodContainers/monkeycubewrap.rsi
- type: entity
parent: FoodContainerBase
name: mushroom pizza
id: FoodContainerMushroomPizza
components:
- type: FoodContainer
capacity: 6
prototypes:
FoodMushroomPizzaSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/mushroompizza.rsi
- type: entity
parent: FoodContainerBase
name: orange cake
id: FoodContainerOrangeCake
components:
- type: FoodContainer
prototypes:
FoodOrangeCakeSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/orangecake.rsi
# TODO: Probably replace it with a stacking thing
- type: entity
parent: FoodContainerBase
@@ -329,80 +132,3 @@
- type: Item
sprite: Objects/Consumable/FoodContainers/pizzabox.rsi
- type: entity
parent: FoodContainerBase
name: margherita pizza
id: FoodContainerMargheritaPizza
components:
- type: FoodContainer
capacity: 6
prototypes:
FoodMargheritaPizzaSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/pizzamargherita.rsi
- type: entity
parent: FoodContainerBase
name: plain cake
id: FoodContainerPlainCake
components:
- type: FoodContainer
prototypes:
FoodPlainCakeSlice: 100
trash: TrashTray
- type: Sprite
sprite: Objects/Consumable/FoodContainers/plaincake.rsi
- type: entity
parent: FoodContainerBase
name: pumpkin pie
id: FoodContainerPumpkinPie
components:
- type: FoodContainer
prototypes:
FoodPumpkinPieSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/pumpkinpie.rsi
- type: Item
sprite: Objects/Consumable/FoodContainers/pumpkinpie.rsi
- type: entity
parent: FoodContainerBase
name: tofu bread
id: FoodContainerTofuBread
components:
- type: FoodContainer
prototypes:
FoodTofuBreadSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/tofubread.rsi
- type: entity
parent: FoodContainerBase
name: vegetable pizza
id: FoodContainerVegetablePizza
components:
- type: FoodContainer
capacity: 6
prototypes:
FoodVegetablePizzaSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/vegetablepizza.rsi
- type: entity
parent: FoodContainerBase
name: xenomeat bread
id: FoodContainerXenomeatBread
components:
- type: FoodContainer
prototypes:
FoodXenomeatBreadSlice: 100
- type: Sprite
sprite: Objects/Consumable/FoodContainers/xenomeatbread.rsi

View File

@@ -1,19 +0,0 @@
- type: entity
name: butcher's cleaver
parent: BaseItem
id: ButchCleaver
description: A huge blade used for chopping and chopping up meat. This includes clowns and clown-by-products.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/cleaver.rsi
size: 4
state: butch
- type: ItemCooldown
- type: MeleeWeapon
- type: Item
size: 10
sprite: Objects/Weapons/Melee/cleaver.rsi
prefix: inhand

View File

@@ -0,0 +1,49 @@
- type: entity
parent: BaseItem
id: BaseKnife
abstract: true
components:
- type: Utensil
types:
- Knife
- type: MeleeWeapon
hitSound: /Audio/Weapons/bladeslice.ogg
damage: 12
- type: Sprite
netsync: false
- type: Item
- type: entity
name: kitchen knife
parent: BaseKnife
id: KitchenKnife
description: A general purpose Chef's Knife made by Asters Merchant Guild. Guaranteed to stay sharp for years to come..
components:
- type: Sprite
sprite: Objects/Weapons/Melee/kitchen_knife.rsi
size: 2
state: icon
- type: Item
size: 10
sprite: Objects/Weapons/Melee/kitchen_knife.rsi
prefix: inhand
- type: entity
name: butcher's cleaver
parent: BaseKnife
id: ButchCleaver
description: A huge blade used for chopping and chopping up meat. This includes clowns and clown-by-products.
components:
- type: Sprite
sprite: Objects/Weapons/Melee/cleaver.rsi
size: 4
state: butch
- type: MeleeWeapon
damage: 20
- type: Item
size: 10
sprite: Objects/Weapons/Melee/cleaver.rsi
prefix: inhand