Files
tbd-station-14/Content.Shared/Chemistry/Components/RehydratableComponent.cs
deltanedas 550612a37f fishops nerf real (#25148)
* refactor ops

* inherit dna and fiber when fish hydrated

* :trollface:

* kid named finger

* :trollface:

* move rehydrating to shared :trollface:

* nobody noticed the popup being missing all this time

* method ops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-03-05 14:13:50 +11:00

40 lines
1.3 KiB
C#

using Content.Shared.Chemistry.EntitySystems;
using Content.Shared.Chemistry.Reagent;
using Content.Shared.FixedPoint;
using Robust.Shared.Prototypes;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
namespace Content.Shared.Chemistry.Components;
/// <summary>
/// Basically, monkey cubes.
/// But specifically, this component deletes the entity and spawns in a new entity when the entity is exposed to a certain amount of a given reagent.
/// </summary>
[RegisterComponent, Access(typeof(RehydratableSystem))]
public sealed partial class RehydratableComponent : Component
{
/// <summary>
/// The reagent that must be present to count as hydrated.
/// </summary>
[DataField("catalyst")]
public ProtoId<ReagentPrototype> CatalystPrototype = "Water";
/// <summary>
/// The minimum amount of catalyst that must be present to be hydrated.
/// </summary>
[DataField]
public FixedPoint2 CatalystMinimum = FixedPoint2.Zero;
/// <summary>
/// The entity to create when hydrated.
/// </summary>
[DataField(required: true)]
public List<EntProtoId> PossibleSpawns = new();
}
/// <summary>
/// Raised on the rehydrated entity with target being the new entity it became.
/// </summary>
[ByRefEvent]
public readonly record struct GotRehydratedEvent(EntityUid Target);