| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
- namespace Content.Server.Salvage.Magnet;
- /// <summary>
- /// Added to the station to hold salvage magnet data.
- /// </summary>
- [RegisterComponent]
- public sealed partial class SalvageMagnetDataComponent : Component
- {
- // May be multiple due to splitting.
- /// <summary>
- /// Entities currently magnetised.
- /// </summary>
- [DataField]
- public List<EntityUid>? ActiveEntities;
- /// <summary>
- /// If the magnet is currently active when does it end.
- /// </summary>
- [DataField(customTypeSerializer:typeof(TimeOffsetSerializer))]
- public TimeSpan? EndTime;
- [DataField(customTypeSerializer:typeof(TimeOffsetSerializer))]
- public TimeSpan NextOffer;
- /// <summary>
- /// How long salvage will be active for before despawning.
- /// </summary>
- [DataField]
- public TimeSpan ActiveTime = TimeSpan.FromMinutes(6);
- /// <summary>
- /// Cooldown between offerings after one ends.
- /// </summary>
- [DataField]
- public TimeSpan OfferCooldown = TimeSpan.FromMinutes(3);
- /// <summary>
- /// Seeds currently offered
- /// </summary>
- [DataField]
- public List<int> Offered = new();
- [DataField]
- public int OfferCount = 5;
- [DataField]
- public int ActiveSeed;
- /// <summary>
- /// Final countdown announcement.
- /// </summary>
- [DataField]
- public bool Announced;
- }
|