using Content.Shared.Dragon; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Dragon; [RegisterComponent] public sealed class DragonRiftComponent : SharedDragonRiftComponent { /// /// Dragon that spawned this rift. /// [DataField("dragon")] public EntityUid? Dragon; /// /// How long the rift has been active. /// [ViewVariables(VVAccess.ReadWrite), DataField("accumulator")] public float Accumulator = 0f; /// /// The maximum amount we can accumulate before becoming impervious. /// [ViewVariables(VVAccess.ReadWrite), DataField("maxAccumuluator")] public float MaxAccumulator = 300f; /// /// Accumulation of the spawn timer. /// [ViewVariables(VVAccess.ReadWrite), DataField("spawnAccumulator")] public float SpawnAccumulator = 30f; /// /// How long it takes for a new spawn to be added. /// [ViewVariables(VVAccess.ReadWrite), DataField("spawnCooldown")] public float SpawnCooldown = 30f; [ViewVariables(VVAccess.ReadWrite), DataField("spawn", customTypeSerializer: typeof(PrototypeIdSerializer))] public string SpawnPrototype = "MobCarpDragon"; }