PolymorphableComponent.cs 885 B

12345678910111213141516171819202122232425262728
  1. using Content.Server.Polymorph.Systems;
  2. using Content.Shared.Polymorph;
  3. using Robust.Shared.Prototypes;
  4. namespace Content.Server.Polymorph.Components;
  5. [RegisterComponent]
  6. [Access(typeof(PolymorphSystem))]
  7. public sealed partial class PolymorphableComponent : Component
  8. {
  9. /// <summary>
  10. /// A list of all the polymorphs that the entity has.
  11. /// Used to manage them and remove them if needed.
  12. /// </summary>
  13. public Dictionary<ProtoId<PolymorphPrototype>, EntityUid>? PolymorphActions = null;
  14. /// <summary>
  15. /// Timestamp for when the most recent polymorph ended.
  16. /// </summary>
  17. [ViewVariables(VVAccess.ReadOnly)]
  18. public TimeSpan? LastPolymorphEnd = null;
  19. /// <summary>
  20. /// The polymorphs that the entity starts out being able to do.
  21. /// </summary>
  22. [DataField]
  23. public List<ProtoId<PolymorphPrototype>>? InnatePolymorphs;
  24. }