| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using Content.Shared.DeviceLinking;
- using Content.Shared.Materials;
- using Robust.Shared.Audio;
- using Robust.Shared.Containers;
- using Robust.Shared.Prototypes;
- using Robust.Shared.Serialization;
- namespace Content.Shared.Cloning;
- [RegisterComponent]
- public sealed partial class CloningPodComponent : Component
- {
- [DataField]
- public ProtoId<SinkPortPrototype> PodPort = "CloningPodReceiver";
- [ViewVariables]
- public ContainerSlot BodyContainer = default!;
- /// <summary>
- /// How long the cloning has been going on for.
- /// </summary>
- [ViewVariables]
- public float CloningProgress = 0;
- [ViewVariables]
- public int UsedBiomass = 70;
- [ViewVariables]
- public bool FailedClone = false;
- /// <summary>
- /// The material that is used to clone entities.
- /// </summary>
- [DataField]
- public ProtoId<MaterialPrototype> RequiredMaterial = "Biomass";
- /// <summary>
- /// The current amount of time it takes to clone a body.
- /// </summary>
- [DataField]
- public float CloningTime = 30f;
- /// <summary>
- /// The mob to spawn on emag.
- /// </summary>
- [DataField]
- public EntProtoId MobSpawnId = "MobAbomination";
- /// <summary>
- /// The sound played when a mob is spawned from an emagged cloning pod.
- /// </summary>
- [DataField]
- public SoundSpecifier ScreamSound = new SoundCollectionSpecifier("ZombieScreams")
- {
- Params = AudioParams.Default.WithVolume(4),
- };
- [ViewVariables(VVAccess.ReadWrite)]
- public CloningPodStatus Status;
- [ViewVariables]
- public EntityUid? ConnectedConsole;
- }
- [Serializable, NetSerializable]
- public enum CloningPodVisuals : byte
- {
- Status
- }
- [Serializable, NetSerializable]
- public enum CloningPodStatus : byte
- {
- Idle,
- Cloning,
- Gore,
- NoMind
- }
|