diff --git a/Content.Client/SimpleStation14/Holograms/AcceptHologramEui.cs b/Content.Client/SimpleStation14/Holograms/AcceptHologramEui.cs index 232efc37cc..156e91475c 100644 --- a/Content.Client/SimpleStation14/Holograms/AcceptHologramEui.cs +++ b/Content.Client/SimpleStation14/Holograms/AcceptHologramEui.cs @@ -40,5 +40,4 @@ public override void Closed() { _window.Close(); } - } diff --git a/Content.Server/SimpleStation14/Holograms/Systems/HologramServerSystem.cs b/Content.Server/SimpleStation14/Holograms/Systems/HologramServerSystem.cs index 05ae57b91f..e61621d8e4 100644 --- a/Content.Server/SimpleStation14/Holograms/Systems/HologramServerSystem.cs +++ b/Content.Server/SimpleStation14/Holograms/Systems/HologramServerSystem.cs @@ -47,7 +47,7 @@ private void OnEntInserted(EntityUid uid, HologramServerComponent component, Ent if (Exists(component.LinkedHologram)) if (!_hologram.TryKillHologram(component.LinkedHologram.Value)) - return; // This is a werid situation to encounter, so we'll just stop doin stuff. + return; // This is a weird situation to encounter, so we'll just stop doin stuff. if (TryGenerateHologram(uid, args.Entity, out var holo, component)) { diff --git a/Content.Server/SimpleStation14/Holograms/Systems/HologramSystem.cs b/Content.Server/SimpleStation14/Holograms/Systems/HologramSystem.cs index 33359f4b82..5f3f446c50 100644 --- a/Content.Server/SimpleStation14/Holograms/Systems/HologramSystem.cs +++ b/Content.Server/SimpleStation14/Holograms/Systems/HologramSystem.cs @@ -63,7 +63,6 @@ public sealed class HologramSystem : SharedHologramSystem [Dependency] private readonly StationSystem _station = default!; public readonly Dictionary HologramsWaitingForMind = new(); - /// /// Handles killing a Hologram, with no checks in place. /// diff --git a/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs b/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs index 180a29eedf..c39f78e631 100644 --- a/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs +++ b/Content.Server/SurveillanceCamera/Systems/SurveillanceCameraSystem.cs @@ -58,7 +58,7 @@ public override void Initialize() SubscribeLocalEvent(OnSetName); SubscribeLocalEvent(OnSetNetwork); SubscribeLocalEvent>(AddVerbs); - + SubscribeLocalEvent(OnEmpPulse); SubscribeLocalEvent(OnEmpDisabledRemoved); } diff --git a/Content.Shared/SimpleStation14/Holograms/Components/HologramProjectedComponent.cs b/Content.Shared/SimpleStation14/Holograms/Components/HologramProjectedComponent.cs index 039fe38f84..8812f8cb55 100644 --- a/Content.Shared/SimpleStation14/Holograms/Components/HologramProjectedComponent.cs +++ b/Content.Shared/SimpleStation14/Holograms/Components/HologramProjectedComponent.cs @@ -18,12 +18,14 @@ public sealed partial class HologramProjectedComponent : Component /// A whitelist to check for on projectors, to determine if they're valid. /// [DataField("validProjectorWhitelist"), ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] public EntityWhitelist ValidProjectorWhitelist = new(); /// /// A timer for a grace period before the Holo is returned, to allow for moving through doors. /// [DataField("gracePeriod"), ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] public TimeSpan GracePeriod = TimeSpan.FromSeconds(0.1f); /// @@ -33,12 +35,14 @@ public sealed partial class HologramProjectedComponent : Component /// Note that making this number larger than PVS is highly inadvisable, as the client will be stuck predicting the Hologram returning while the server confirms that they do not. /// [DataField("projectorRange"), ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] public float ProjectorRange = 14f; /// /// The prototype of the effect to spawn for the Hologram's projection. Leave null to disable the visual projection effect. /// [DataField("effectPrototype", customTypeSerializer: typeof(PrototypeIdSerializer))] + [AutoNetworkedField] public string? EffectPrototype; /// @@ -49,6 +53,7 @@ public sealed partial class HologramProjectedComponent : Component /// Primarily used for the station AI. /// [DataField("setEyeTarget"), ViewVariables(VVAccess.ReadWrite)] + [AutoNetworkedField] public bool SetEyeTarget = false; /// @@ -65,6 +70,7 @@ public sealed partial class HologramProjectedComponent : Component /// If set, the Hologram will only be able to be projected from this projector, simply ignoring all others. /// [ViewVariables(VVAccess.ReadOnly)] + [AutoNetworkedField] public EntityUid? ProjectorOverride; /// diff --git a/Content.Shared/SimpleStation14/Holograms/Components/HologramServerLinkedComponent.cs b/Content.Shared/SimpleStation14/Holograms/Components/HologramServerLinkedComponent.cs index 76f06bce16..cb7644129d 100644 --- a/Content.Shared/SimpleStation14/Holograms/Components/HologramServerLinkedComponent.cs +++ b/Content.Shared/SimpleStation14/Holograms/Components/HologramServerLinkedComponent.cs @@ -16,7 +16,7 @@ public sealed partial class HologramServerLinkedComponent : Component /// If true, it will be returned if it leaves the grid. /// [ViewVariables(VVAccess.ReadWrite)] - [DataField("gridBound")] + [DataField("gridBound"), AutoNetworkedField] [AutoNetworkedField] public bool GridBound = true; @@ -28,5 +28,6 @@ public sealed partial class HologramServerLinkedComponent : Component /// [ViewVariables(VVAccess.ReadOnly)] [AutoNetworkedField] + [AutoNetworkedField] public EntityUid? LinkedServer; } diff --git a/Content.Shared/SimpleStation14/Holograms/Systems/SharedHologramSystem.Projected.cs b/Content.Shared/SimpleStation14/Holograms/Systems/SharedHologramSystem.Projected.cs index 7e3a3a84d8..f06f588994 100644 --- a/Content.Shared/SimpleStation14/Holograms/Systems/SharedHologramSystem.Projected.cs +++ b/Content.Shared/SimpleStation14/Holograms/Systems/SharedHologramSystem.Projected.cs @@ -42,17 +42,15 @@ public virtual void DoReturnHologram(EntityUid hologram, HologramProjectedCompon if (!Resolve(hologram, ref holoProjectedComp)) return; - if (!IsHoloProjectorValid(hologram, holoProjectedComp.CurProjector, 0, false)) // If their last visited Projector is invalid ignoring occlusion... + // If their last visited Projector is invalid ignoring occlusion and none is found + if (!IsHoloProjectorValid(hologram, holoProjectedComp.CurProjector, 0, false) && + !TryGetHoloProjector(hologram, holoProjectedComp.ProjectorRange, out holoProjectedComp.CurProjector, holoProjectedComp, false)) { - if (!TryGetHoloProjector(hologram, holoProjectedComp.ProjectorRange, out holoProjectedComp.CurProjector, holoProjectedComp, false)) - { - TryKillHologram(hologram); // And if none is found, kill the hologram. - return; - } + // Kill the hologram. + TryKillHologram(hologram); + return; } - // The two if statements above set the current projector, and kill if it's null, so we know it's not null moving forward. - var returnedEvent = new HologramReturnAttemptEvent(); RaiseLocalEvent(hologram, ref returnedEvent); if (returnedEvent.Cancelled) @@ -71,7 +69,7 @@ public virtual void DoReturnHologram(EntityUid hologram, HologramProjectedCompon /// /// The coords to perform the check from. /// The UID of the projector, or null if no projectors are found. - /// A list of tags to check for on projectors, to determine if they're valid. + /// An EntityWhitelist to check for on projectors to determine if they're valid. /// The range it should check for projectors in, if occlude is true /// Should it check only for unoccluded and in range projectors? /// Returns true if a projector is found, false if not. diff --git a/Resources/Prototypes/SimpleStation14/Entities/Body/Prototypes/scutter.yml b/Resources/Prototypes/SimpleStation14/Entities/Body/Prototypes/scutter.yml index 123b364be0..c027f13009 100644 --- a/Resources/Prototypes/SimpleStation14/Entities/Body/Prototypes/scutter.yml +++ b/Resources/Prototypes/SimpleStation14/Entities/Body/Prototypes/scutter.yml @@ -1,6 +1,6 @@ - type: body id: Scutter - name: "scutter" + name: scutter root: hand 1 slots: hand 1: diff --git a/Resources/Prototypes/SimpleStation14/Entities/Effects/hologram_effects.yml b/Resources/Prototypes/SimpleStation14/Entities/Effects/hologram_effects.yml index c461bace43..f8aa1ea233 100644 --- a/Resources/Prototypes/SimpleStation14/Entities/Effects/hologram_effects.yml +++ b/Resources/Prototypes/SimpleStation14/Entities/Effects/hologram_effects.yml @@ -2,12 +2,6 @@ id: EffectHologramProjectionBeam noSpawn: true components: - # - type: PointLight - # radius: 10.5 - # energy: 15 - # color: "#18abf5" - # - type: TimedDespawn - # lifetime: 1 - type: Sprite drawdepth: Effects layers: diff --git a/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/hologram.yml b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/hologram.yml index 77c8974f20..7e966b3d81 100644 --- a/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/hologram.yml +++ b/Resources/Prototypes/SimpleStation14/Entities/Mobs/Player/hologram.yml @@ -21,7 +21,6 @@ # damageContainer: Inorganic - type: InteractionOutline - type: Sprite - netsync: false noRot: true drawdepth: Mobs layers: diff --git a/Resources/Textures/SimpleStation14/Effects/hologram_projection_beam.rsi/meta.json b/Resources/Textures/SimpleStation14/Effects/hologram_projection_beam.rsi/meta.json index 874d2b6962..821433c5f0 100644 --- a/Resources/Textures/SimpleStation14/Effects/hologram_projection_beam.rsi/meta.json +++ b/Resources/Textures/SimpleStation14/Effects/hologram_projection_beam.rsi/meta.json @@ -9,16 +9,7 @@ "states": [ { "name": "beam", - "delays": [ - [ - 0.2, - 0.2, - 0.2, - 0.2, - 0.2, - 0.2 - ] - ] + "delays": [ [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] ] } ] } diff --git a/Resources/Textures/SimpleStation14/Mobs/Silicon/scutter.rsi/meta.json b/Resources/Textures/SimpleStation14/Mobs/Silicon/scutter.rsi/meta.json index 51a8534c4b..b3e5f20669 100644 --- a/Resources/Textures/SimpleStation14/Mobs/Silicon/scutter.rsi/meta.json +++ b/Resources/Textures/SimpleStation14/Mobs/Silicon/scutter.rsi/meta.json @@ -13,11 +13,6 @@ }, { "name": "shell", - "delays": [ - [ - 1 - ] - ] }, { "name": "l_hand",