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>
@@ -229,6 +229,7 @@ namespace Content.Client
|
||||
"CargoTelepad",
|
||||
"TraitorDeathMatchRedemption",
|
||||
"GlassBeaker",
|
||||
"SliceableFood",
|
||||
"DamageOtherOnHit",
|
||||
"DamageOnLand"
|
||||
};
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
using System.Threading.Tasks;
|
||||
using Content.Server.GameObjects.Components.Body.Behavior;
|
||||
using Content.Server.GameObjects.Components.Nutrition;
|
||||
using Content.Server.GameObjects.Components.Utensil;
|
||||
using Content.Server.GameObjects.Components.Culinary;
|
||||
using Content.Shared.Chemistry;
|
||||
using Content.Shared.GameObjects.Components.Body;
|
||||
using Content.Shared.Interfaces;
|
||||
@@ -21,7 +21,6 @@ using Robust.Shared.ViewVariables;
|
||||
namespace Content.Server.GameObjects.Components.Chemistry
|
||||
{
|
||||
[RegisterComponent]
|
||||
[ComponentReference(typeof(IAfterInteract))]
|
||||
public class PillComponent : FoodComponent, IUse, IAfterInteract
|
||||
{
|
||||
[Dependency] private readonly IEntitySystemManager _entitySystem = default!;
|
||||
|
||||
@@ -0,0 +1,92 @@
|
||||
using System.Threading.Tasks;
|
||||
using Content.Shared.Chemistry;
|
||||
using Content.Shared.Interfaces.GameObjects.Components;
|
||||
using Content.Shared.GameObjects.EntitySystems;
|
||||
using Content.Server.GameObjects.Components.Nutrition;
|
||||
using Content.Server.GameObjects.Components.Chemistry;
|
||||
using Content.Server.GameObjects.Components.GUI;
|
||||
using Content.Server.GameObjects.Components.Items.Storage;
|
||||
using Robust.Server.GameObjects.EntitySystems;
|
||||
using Robust.Shared.GameObjects.Systems;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Serialization;
|
||||
using Robust.Shared.Localization;
|
||||
using Robust.Shared.ViewVariables;
|
||||
using Robust.Shared.Utility;
|
||||
using Robust.Shared.Audio;
|
||||
|
||||
namespace Content.Server.GameObjects.Components.Culinary
|
||||
{
|
||||
[RegisterComponent]
|
||||
class SliceableFoodComponent : Component, IInteractUsing, IExamine
|
||||
{
|
||||
public override string Name => "SliceableFood";
|
||||
|
||||
int IInteractUsing.Priority => 1; // take priority over eating with utensils
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)] private string _slice;
|
||||
private ushort _totalCount;
|
||||
[ViewVariables(VVAccess.ReadWrite)] private string _sound;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite)] public ushort Count;
|
||||
|
||||
public override void ExposeData(ObjectSerializer serializer)
|
||||
{
|
||||
base.ExposeData(serializer);
|
||||
serializer.DataField(ref _slice, "slice", string.Empty);
|
||||
serializer.DataField(ref _sound, "sound", "/Audio/Items/Culinary/chop.ogg");
|
||||
serializer.DataField<ushort>(ref _totalCount, "count", 5);
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
Count = _totalCount;
|
||||
Owner.EnsureComponent<FoodComponent>();
|
||||
Owner.EnsureComponent<SolutionContainerComponent>();
|
||||
}
|
||||
|
||||
async Task<bool> IInteractUsing.InteractUsing(InteractUsingEventArgs eventArgs)
|
||||
{
|
||||
if (string.IsNullOrEmpty(_slice))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!Owner.TryGetComponent(out SolutionContainerComponent solution))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!eventArgs.Using.TryGetComponent(out UtensilComponent utensil) || !utensil.HasType(UtensilType.Knife))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var itemToSpawn = Owner.EntityManager.SpawnEntity(_slice, Owner.Transform.Coordinates);
|
||||
if (eventArgs.User.TryGetComponent(out HandsComponent handsComponent))
|
||||
{
|
||||
if (ContainerHelpers.IsInContainer(Owner))
|
||||
{
|
||||
handsComponent.PutInHandOrDrop(itemToSpawn.GetComponent<ItemComponent>());
|
||||
}
|
||||
}
|
||||
|
||||
EntitySystem.Get<AudioSystem>().PlayAtCoords(_sound, Owner.Transform.Coordinates,
|
||||
AudioParams.Default.WithVolume(-2));
|
||||
|
||||
Count--;
|
||||
if (Count < 1)
|
||||
{
|
||||
Owner.Delete();
|
||||
return true;
|
||||
}
|
||||
solution.TryRemoveReagent("chem.Nutriment", solution.CurrentVolume / ReagentUnit.New(Count + 1));
|
||||
return true;
|
||||
}
|
||||
|
||||
public void Examine(FormattedMessage message, bool inDetailsRange)
|
||||
{
|
||||
message.AddMarkup(Loc.GetString($"There are { Count } slices remaining."));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,7 @@ using Robust.Shared.Random;
|
||||
using Robust.Shared.Serialization;
|
||||
using Robust.Shared.ViewVariables;
|
||||
|
||||
namespace Content.Server.GameObjects.Components.Utensil
|
||||
namespace Content.Server.GameObjects.Components.Culinary
|
||||
{
|
||||
[RegisterComponent]
|
||||
public class UtensilComponent : Component, IAfterInteract
|
||||
@@ -30,7 +30,6 @@ using Robust.Shared.ViewVariables;
|
||||
namespace Content.Server.GameObjects.Components.Nutrition
|
||||
{
|
||||
[RegisterComponent]
|
||||
[ComponentReference(typeof(IAfterInteract))]
|
||||
public class DrinkComponent : Component, IUse, IAfterInteract, ISolutionChange, IExamine, ILand
|
||||
{
|
||||
[Dependency] private readonly IPrototypeManager _prototypeManager = default!;
|
||||
|
||||
@@ -7,7 +7,7 @@ using Content.Server.GameObjects.Components.Body.Behavior;
|
||||
using Content.Server.GameObjects.Components.Chemistry;
|
||||
using Content.Server.GameObjects.Components.GUI;
|
||||
using Content.Server.GameObjects.Components.Items.Storage;
|
||||
using Content.Server.GameObjects.Components.Utensil;
|
||||
using Content.Server.GameObjects.Components.Culinary;
|
||||
using Content.Shared.Chemistry;
|
||||
using Content.Shared.GameObjects.Components.Body;
|
||||
using Content.Shared.Interfaces;
|
||||
@@ -26,7 +26,6 @@ using Robust.Shared.ViewVariables;
|
||||
namespace Content.Server.GameObjects.Components.Nutrition
|
||||
{
|
||||
[RegisterComponent]
|
||||
[ComponentReference(typeof(IAfterInteract))]
|
||||
public class FoodComponent : Component, IUse, IAfterInteract
|
||||
{
|
||||
[Dependency] private readonly IEntitySystemManager _entitySystem = default!;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Server.GameObjects.EntitySystems;
|
||||
@@ -65,7 +65,7 @@ namespace Content.Server.GameObjects.Components.Weapon.Melee
|
||||
serializer.DataField(this, x => x.Arc, "arc", "default");
|
||||
serializer.DataField(this, x => x.ClickArc, "clickArc", "punch");
|
||||
serializer.DataField(this, x => x._hitSound, "hitSound", "/Audio/Weapons/genhit1.ogg");
|
||||
serializer.DataField(this, x => x._missSound, "hitSound", "/Audio/Weapons/punchmiss.ogg");
|
||||
serializer.DataField(this, x => x._missSound, "missSound", "/Audio/Weapons/punchmiss.ogg");
|
||||
serializer.DataField(this, x => x.ArcCooldownTime, "arcCooldownTime", 1f);
|
||||
serializer.DataField(this, x => x.CooldownTime, "cooldownTime", 1f);
|
||||
serializer.DataField(this, x => x.DamageType, "damageType", DamageType.Blunt);
|
||||
|
||||
BIN
Resources/Audio/Items/Culinary/chop.ogg
Normal file
@@ -5,6 +5,7 @@
|
||||
spriteName: dinnerware
|
||||
startingInventory:
|
||||
ButchCleaver: 1
|
||||
KitchenKnife: 5
|
||||
DrinkGlass: 10
|
||||
DrinkPitcher: 1
|
||||
DrinkMug: 5
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
Before Width: | Height: | Size: 945 B After Width: | Height: | Size: 945 B |
|
Before Width: | Height: | Size: 767 B After Width: | Height: | Size: 767 B |
|
Before Width: | Height: | Size: 668 B After Width: | Height: | Size: 668 B |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 736 B After Width: | Height: | Size: 736 B |
|
Before Width: | Height: | Size: 919 B After Width: | Height: | Size: 919 B |
|
Before Width: | Height: | Size: 904 B After Width: | Height: | Size: 904 B |
|
Before Width: | Height: | Size: 646 B After Width: | Height: | Size: 646 B |
|
Before Width: | Height: | Size: 755 B After Width: | Height: | Size: 755 B |
|
Before Width: | Height: | Size: 917 B After Width: | Height: | Size: 917 B |
|
Before Width: | Height: | Size: 923 B After Width: | Height: | Size: 923 B |
|
Before Width: | Height: | Size: 947 B After Width: | Height: | Size: 947 B |
|
Before Width: | Height: | Size: 1009 B After Width: | Height: | Size: 1009 B |
|
Before Width: | Height: | Size: 906 B After Width: | Height: | Size: 906 B |
|
Before Width: | Height: | Size: 767 B After Width: | Height: | Size: 767 B |
|
Before Width: | Height: | Size: 887 B After Width: | Height: | Size: 887 B |
|
Before Width: | Height: | Size: 721 B After Width: | Height: | Size: 721 B |
|
Before Width: | Height: | Size: 974 B After Width: | Height: | Size: 974 B |
|
Before Width: | Height: | Size: 785 B After Width: | Height: | Size: 785 B |
|
Before Width: | Height: | Size: 347 B After Width: | Height: | Size: 347 B |
|
Before Width: | Height: | Size: 340 B After Width: | Height: | Size: 340 B |
|
Before Width: | Height: | Size: 949 B After Width: | Height: | Size: 949 B |
|
Before Width: | Height: | Size: 892 B After Width: | Height: | Size: 892 B |
|
Before Width: | Height: | Size: 1012 B After Width: | Height: | Size: 1012 B |
|
After Width: | Height: | Size: 319 B |
|
After Width: | Height: | Size: 308 B |
|
After Width: | Height: | Size: 306 B |
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from cev-eris at commit https://github.com/discordia-space/CEV-Eris/commit/baeadc0388aba2e74106f99b1551a465b825e3b1",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon",
|
||||
"directions": 1
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||