Files
tbd-station-14/Content.Shared/Nutrition/Components/ButcherableComponent.cs
Winkarst-cpu 021adbe1e1 New Feature: Kitchen spike rework (#38723)
* Start

* Wow, text

* Ultra raw

* More stuff

* Wow, DOT and gibbing!!!

* More stuff

* More

* Update

* Yes

* Almost there

* Done?

* I forgot

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Update

* Beck

* Unhardcode
2025-08-19 10:56:36 -07:00

52 lines
1.4 KiB
C#

using Content.Shared.Kitchen;
using Content.Shared.Storage;
using Robust.Shared.GameStates;
namespace Content.Shared.Nutrition.Components;
/// <summary>
/// Indicates that the entity can be butchered.
/// </summary>
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
public sealed partial class ButcherableComponent : Component
{
/// <summary>
/// List of the entities that this entity should spawn after being butchered.
/// </summary>
/// <remarks>
/// Note that <see cref="SharedKitchenSpikeSystem"/> spawns one item at a time and decreases the amount until it's zero and then removes the entry.
/// </remarks>
[DataField("spawned", required: true), AutoNetworkedField]
public List<EntitySpawnEntry> SpawnedEntities = [];
/// <summary>
/// Time required to butcher that entity.
/// </summary>
[DataField, AutoNetworkedField]
public float ButcherDelay = 8.0f;
/// <summary>
/// Tool type used to butcher that entity.
/// </summary>
[DataField("butcheringType"), AutoNetworkedField]
public ButcheringType Type = ButcheringType.Knife;
}
public enum ButcheringType : byte
{
/// <summary>
/// E.g. goliaths.
/// </summary>
Knife,
/// <summary>
/// E.g. monkeys.
/// </summary>
Spike,
/// <summary>
/// E.g. humans.
/// </summary>
Gibber // TODO
}