CatStation/Content.Server/Animals/Components/EntityProducerActionComponent.cs
AndrewFenriz 6dc1aae3f2
Refactor animal reagent/entity production (#45019)
* port 35190

* HungerProduction

* SolutionProducer

* update

* move to server

* small tweak for Shearable

* fix

* ProductionAttemptEvent

* EntityProducer

* update EggLayer

* EntityTable

* no more actions on EggLayer

* move popups to comp

* kill EggLayer

* new locale

* rename field

* upd

* SatiationType

* rename to SatiationProduction and lil docs

* EntityQuery

* more docs for god of docs

* small fix

* more queries
2026-08-16 19:15:52 +00:00

35 lines
1.2 KiB
C#

using Content.Server.Animals.Systems;
using Robust.Shared.Audio;
namespace Content.Server.Animals.Components;
/// <summary>
/// Defines action feedback for an entity producer.
/// </summary>
[RegisterComponent, Access(typeof(EntityProducerActionSystem))]
public sealed partial class EntityProducerActionComponent : Component
{
/// <summary>
/// Sound played after entities are successfully produced.
/// </summary>
[DataField]
public SoundSpecifier ProductionSound = new SoundPathSpecifier("/Audio/Effects/pop.ogg");
/// <summary>
/// Popup shown to the acting entity when production fails due to insufficient configured satiation.
/// </summary>
[DataField]
public LocId InsufficientSatiationPopup = "entity-producer-action-popup-too-hungry";
/// <summary>
/// Feedback shown to the producer after successful entity production.
/// </summary>
[DataField]
public LocId UserPopup = "entity-producer-action-popup-user";
/// <summary>
/// Feedback shown to nearby observers after successful entity production.
/// </summary>
[DataField]
public LocId OthersPopup = "entity-producer-action-popup-others";
}