CatStation/Content.Shared/Species/Components/NymphComponent.cs
ScarKy0 3c0f62c006
Changeling Resilience (#44421)
* boom

TODO:
- actual organs

* silly! silly! silly! silly!

* consentual murder

* cleaning

* how woke

* fuck everything

* remove organ replacement, do metabolizer instead

* oops

* thank you, comment i left for myself!

* no ammonia immunity

* whitespace

* Handle a few small things myself

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* some requested changes

* Remove TryGib and Friends

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Make changelings indestructible

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Recycler

Signed-off-by: Connor Huffine <chuffine@gmail.com>

* Fix recycler

* Add comments

* Opps!

* Remove metabolizer

* Opps metabolizer system and remove systems!

* Forgot to add them...

* typo

Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>

* Renamed component, fix various systems

* stuff

---------

Signed-off-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: SnappingOpossum <snappingopossum@outlook.com>
2026-07-23 17:49:52 +00:00

39 lines
1.1 KiB
C#

using Content.Shared.Whitelist;
using Robust.Shared.Prototypes;
using Robust.Shared.GameStates;
namespace Content.Shared.Species.Components;
/// <summary>
/// This will replace one entity with another entity when it is removed from a body part.
/// Obviously hyper-specific. If you somehow find another use for this, good on you.
/// </summary>
[RegisterComponent, NetworkedComponent]
public sealed partial class NymphComponent : Component
{
/// <summary>
/// The entity to replace the organ with.
/// </summary>
[DataField(required: true)]
public EntProtoId EntityPrototype = default!;
/// <summary>
/// Whether to transfer the mind to this new entity.
/// </summary>
[DataField]
public bool TransferMind = false;
/// <summary>
/// Whitelist the owner of the organ needs to meet for the organ to turn into a nymph.
/// Can be null.
/// </summary>
[DataField]
public EntityWhitelist? Whitelist;
/// <summary>
/// Blacklist for the owner of the organ for it to turn into a nymph.
/// Can be null.
/// </summary>
[DataField]
public EntityWhitelist? Blacklist;
}