| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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
- {
- /// <summary>
- /// Relevant body this organ is attached to.
- /// </summary>
- [DataField, AutoNetworkedField]
- public EntityUid? Body;
- /// <summary>
- /// Shitmed Change:Relevant body this organ originally belonged to.
- /// FOR WHATEVER FUCKING REASON AUTONETWORKING THIS CRASHES GIBTEST AAAAAAAAAAAAAAA
- /// </summary>
- [DataField]
- public EntityUid? OriginalBody;
- // Shitmed Change Start
- /// <summary>
- /// 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.
- /// </summary>
- [DataField]
- public string SlotId = string.Empty;
- [DataField]
- public string ToolName { get; set; } = "An organ";
- [DataField]
- public float Speed { get; set; } = 1f;
- /// <summary>
- /// Shitmed Change: If true, the organ will not heal an entity when transplanted into them.
- /// </summary>
- [DataField, AutoNetworkedField]
- public bool? Used { get; set; }
- /// <summary>
- /// When attached, the organ will ensure these components on the entity, and delete them on removal.
- /// </summary>
- [DataField]
- public ComponentRegistry? OnAdd;
- /// <summary>
- /// When removed, the organ will ensure these components on the entity, and delete them on insertion.
- /// </summary>
- [DataField]
- public ComponentRegistry? OnRemove;
- /// <summary>
- /// Is this organ working or not?
- /// </summary>
- [DataField, AutoNetworkedField]
- public bool Enabled = true;
- /// <summary>
- /// Can this organ be enabled or disabled? Used mostly for prop, damaged or useless organs.
- /// </summary>
- [DataField]
- public bool CanEnable = true;
- // Shitmed Change End
- }
|