using Content.Shared.Body.Systems; using Robust.Shared.Containers; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; // Shitmed Change using Content.Shared._Shitmed.Medical.Surgery; // Shitmed Change using Content.Shared._Shitmed.Medical.Surgery.Tools; // Shitmed Change namespace Content.Shared.Body.Organ; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedBodySystem), typeof(SharedSurgerySystem))] public sealed partial class OrganComponent : Component, ISurgeryToolComponent // Shitmed Change { /// /// Relevant body this organ is attached to. /// [DataField, AutoNetworkedField] public EntityUid? Body; /// /// Shitmed Change:Relevant body this organ originally belonged to. /// FOR WHATEVER FUCKING REASON AUTONETWORKING THIS CRASHES GIBTEST AAAAAAAAAAAAAAA /// [DataField] public EntityUid? OriginalBody; // Shitmed Change Start /// /// Shitmed Change: Shitcodey solution to not being able to know what name corresponds to each organ's slot ID /// without referencing the prototype or hardcoding. /// [DataField] public string SlotId = string.Empty; [DataField] public string ToolName { get; set; } = "An organ"; [DataField] public float Speed { get; set; } = 1f; /// /// Shitmed Change: If true, the organ will not heal an entity when transplanted into them. /// [DataField, AutoNetworkedField] public bool? Used { get; set; } /// /// When attached, the organ will ensure these components on the entity, and delete them on removal. /// [DataField] public ComponentRegistry? OnAdd; /// /// When removed, the organ will ensure these components on the entity, and delete them on insertion. /// [DataField] public ComponentRegistry? OnRemove; /// /// Is this organ working or not? /// [DataField, AutoNetworkedField] public bool Enabled = true; /// /// Can this organ be enabled or disabled? Used mostly for prop, damaged or useless organs. /// [DataField] public bool CanEnable = true; // Shitmed Change End }