SurgeryStepComponent.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // SPDX-FileCopyrightText: 2024 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
  2. // SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
  3. //
  4. // SPDX-License-Identifier: AGPL-3.0-or-later
  5. using Robust.Shared.GameStates;
  6. using Robust.Shared.Prototypes;
  7. namespace Content.Shared._Shitmed.Medical.Surgery.Steps;
  8. [RegisterComponent, NetworkedComponent]
  9. [Prototype("SurgerySteps")]
  10. public sealed partial class SurgeryStepComponent : Component
  11. {
  12. [DataField]
  13. public ComponentRegistry? Tool;
  14. [DataField]
  15. public ComponentRegistry? Add;
  16. [DataField]
  17. public ComponentRegistry? BodyAdd;
  18. [DataField]
  19. public ComponentRegistry? Remove;
  20. [DataField]
  21. public ComponentRegistry? BodyRemove;
  22. /// <summary>
  23. /// These components will be added to the body part's organs' OnAdd field.
  24. /// Each key is the SlotId of the organ to look for.
  25. ///
  26. /// Used to make organs add components to whatever body it's residing in.
  27. /// </summary>
  28. [DataField]
  29. public Dictionary<string, ComponentRegistry>? AddOrganOnAdd;
  30. /// <summary>
  31. /// These components will be removed from the body part's organs' OnAdd field.
  32. /// Each key is the SlotId of the organ to look for.
  33. ///
  34. /// Used to stop organs from adding components to whatever body it's residing in.
  35. /// </summary>
  36. [DataField]
  37. public Dictionary<string, ComponentRegistry>? RemoveOrganOnAdd;
  38. [DataField]
  39. public float Duration = 2f;
  40. }