Anomaly Synchronizer (#20945)

* added textures and basic prototype without functionality

* add full functional

* finish work

* fix naming

* reduce random anomaly spawner offset

* Update AnomalySystem.Vessel.cs

* Update SharedAnomalySystem.cs

* Update SharedAnomalySystem.cs

* Update production.yml

* fix errors

* fix?

* Update anomaly_sync.yml

* deltanedas code fixes. Thx, deltanedas!

* git what

* fix yml

* fix yml 2

* meh, try again

* work, work, work

* fix powered checking. now component work also without ApcPowerReceiving

* now supercrit port invoke on start growing, not after explosion
fix errors

* deltanedas fix pack 1

* Update AnomalySynchronizerComponent.cs
This commit is contained in:
Ed
2023-11-06 07:02:02 +03:00
committed by GitHub
parent ad1a280494
commit 8b3adf6085
20 changed files with 393 additions and 12 deletions

View File

@@ -0,0 +1,42 @@
using Content.Shared.Anomaly;
using Content.Shared.Anomaly.Components;
using Content.Shared.DeviceLinking;
using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
namespace Content.Server.Anomaly.Components;
/// <summary>
/// a device that allows you to translate anomaly activity into multitool signals.
/// </summary>
[RegisterComponent, Access(typeof(AnomalySynchronizerSystem))]
public sealed partial class AnomalySynchronizerComponent : Component
{
/// <summary>
/// The uid of the anomaly to which the synchronizer is connected.
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public EntityUid? ConnectedAnomaly;
[DataField]
public ProtoId<SourcePortPrototype> DecayingPort = "Decaying";
[DataField]
public ProtoId<SourcePortPrototype> StabilizePort = "Stabilize";
[DataField]
public ProtoId<SourcePortPrototype> GrowingPort = "Growing";
[DataField]
public ProtoId<SourcePortPrototype> PulsePort = "Pulse";
[DataField]
public ProtoId<SourcePortPrototype> SupercritPort = "Supercritical";
[DataField, ViewVariables(VVAccess.ReadWrite)]
public SoundSpecifier ConnectedSound = new SoundPathSpecifier("/Audio/Machines/anomaly_sync_connect.ogg");
[DataField, ViewVariables(VVAccess.ReadWrite)]
public SoundSpecifier DisconnectedSound = new SoundPathSpecifier("/Audio/Machines/anomaly_sync_connect.ogg");
}