using Content.Shared.Containers.ItemSlots; using Robust.Shared.GameStates; using Robust.Shared.Serialization; namespace Content.Shared.Silicons.Borgs.Components; /// /// This is used for an entity that takes a brain /// in an item slot before transferring consciousness. /// Used for borg stuff. /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedBorgSystem))] public sealed partial class MMIComponent : Component { /// /// The ID of the itemslot that holds the brain. /// [DataField("brainSlotId")] public string BrainSlotId = "brain_slot"; /// /// The for this implanter /// [ViewVariables(VVAccess.ReadWrite)] public ItemSlot BrainSlot = default!; /// /// The sprite state when the brain inserted has a mind. /// [DataField("hasMindState")] public string HasMindState = "mmi_alive"; /// /// The sprite state when the brain inserted doesn't have a mind. /// [DataField("noMindState")] public string NoMindState = "mmi_dead"; /// /// The sprite state when there is no brain inserted. /// [DataField("noBrainState")] public string NoBrainState = "mmi_off"; } [Serializable, NetSerializable] public enum MMIVisuals : byte { BrainPresent, HasMind } [Serializable, NetSerializable] public enum MMIVisualLayers : byte { Brain, Base }