diff --git a/Content.Client/Eye/EyeLerpingSystem.cs b/Content.Client/Eye/EyeLerpingSystem.cs index be069ca300..14d13004a8 100644 --- a/Content.Client/Eye/EyeLerpingSystem.cs +++ b/Content.Client/Eye/EyeLerpingSystem.cs @@ -32,6 +32,7 @@ public sealed class EyeLerpingSystem : EntitySystem UpdatesAfter.Add(typeof(TransformSystem)); UpdatesAfter.Add(typeof(PhysicsSystem)); UpdatesBefore.Add(typeof(EyeUpdateSystem)); + UpdatesOutsidePrediction = true; } private void OnEyeStartup(EntityUid uid, EyeComponent component, ComponentStartup args) diff --git a/Content.Client/Instruments/InstrumentSystem.cs b/Content.Client/Instruments/InstrumentSystem.cs index c19ff76f9a..64bf036b9b 100644 --- a/Content.Client/Instruments/InstrumentSystem.cs +++ b/Content.Client/Instruments/InstrumentSystem.cs @@ -265,7 +265,7 @@ public sealed class InstrumentSystem : SharedInstrumentSystem instrument.SequenceStartTick = midiEv.MidiEvent.Min(x => x.Tick) - 1; } - var sqrtLag = MathF.Sqrt(_netManager.ServerChannel!.Ping / 1000f); + var sqrtLag = MathF.Sqrt((_netManager.ServerChannel?.Ping ?? 0)/ 1000f); var delay = (uint) (renderer.SequencerTimeScale * (.2 + sqrtLag)); var delta = delay - instrument.SequenceStartTick; diff --git a/Content.Client/Light/RgbLightControllerSystem.cs b/Content.Client/Light/RgbLightControllerSystem.cs index e49edb3262..6e27f47e84 100644 --- a/Content.Client/Light/RgbLightControllerSystem.cs +++ b/Content.Client/Light/RgbLightControllerSystem.cs @@ -151,7 +151,7 @@ namespace Content.Client.Light private void ResetOriginalColors(EntityUid uid, RgbLightControllerComponent? rgb = null, PointLightComponent? light = null, SpriteComponent? sprite = null) { - if (!Resolve(uid, ref rgb, ref sprite, ref light)) + if (!Resolve(uid, ref rgb, ref sprite, ref light, false)) return; light.Color = rgb.OriginalLightColor; diff --git a/Content.Client/Outline/InteractionOutlineSystem.cs b/Content.Client/Outline/InteractionOutlineSystem.cs index cfeeb21b76..ec5f4c6e46 100644 --- a/Content.Client/Outline/InteractionOutlineSystem.cs +++ b/Content.Client/Outline/InteractionOutlineSystem.cs @@ -110,7 +110,7 @@ public sealed class InteractionOutlineSystem : EntitySystem // Potentially change someday? who knows. var currentState = _stateManager.CurrentState; - if (currentState is not GameplayState screen) return; + if (currentState is not GameplayStateBase screen) return; EntityUid? entityToClick = null; var renderScale = 1; diff --git a/Content.Client/UserInterface/Systems/Actions/ActionUIController.cs b/Content.Client/UserInterface/Systems/Actions/ActionUIController.cs index 2a3bda1e6a..1b59568554 100644 --- a/Content.Client/UserInterface/Systems/Actions/ActionUIController.cs +++ b/Content.Client/UserInterface/Systems/Actions/ActionUIController.cs @@ -311,11 +311,11 @@ public sealed class ActionUIController : UIController, IOnStateChanged + [ViewVariables(VVAccess.ReadWrite)] [DataField("requireHands")] public bool RequireHands = true; /// /// Whether spectators (non-admin ghosts) should be allowed to view this UI. /// + [ViewVariables(VVAccess.ReadWrite)] [DataField("allowSpectator")] public bool AllowSpectator = true; /// /// Whether the UI should close when the item is deselected due to a hand swap or drop /// + [ViewVariables(VVAccess.ReadWrite)] [DataField("closeOnHandDeselect")] public bool CloseOnHandDeselect = true; diff --git a/Content.Shared/Administration/AdminFrozenSystem.cs b/Content.Shared/Administration/AdminFrozenSystem.cs index 4e2049b85d..14438cc591 100644 --- a/Content.Shared/Administration/AdminFrozenSystem.cs +++ b/Content.Shared/Administration/AdminFrozenSystem.cs @@ -7,6 +7,7 @@ using Content.Shared.Physics.Pull; using Content.Shared.Pulling; using Content.Shared.Pulling.Components; using Content.Shared.Pulling.Events; +using Content.Shared.Stunnable; using Content.Shared.Throwing; namespace Content.Shared.Administration; @@ -29,6 +30,7 @@ public sealed class AdminFrozenSystem : EntitySystem SubscribeLocalEvent(OnUpdateCanMove); SubscribeLocalEvent(OnPullAttempt); SubscribeLocalEvent(OnAttempt); + SubscribeLocalEvent(OnAttempt); } private void OnAttempt(EntityUid uid, AdminFrozenComponent component, CancellableEntityEventArgs args) diff --git a/Content.Shared/Interaction/RotateToFaceSystem.cs b/Content.Shared/Interaction/RotateToFaceSystem.cs index e82d274f4a..b2e37a8a6b 100644 --- a/Content.Shared/Interaction/RotateToFaceSystem.cs +++ b/Content.Shared/Interaction/RotateToFaceSystem.cs @@ -80,8 +80,7 @@ namespace Content.Shared.Interaction public bool TryFaceAngle(EntityUid user, Angle diffAngle, TransformComponent? xform = null) { - // TODO: MobState should be handling CanChangeDirection's event - if (_actionBlockerSystem.CanChangeDirection(user) && !_mobState.IsIncapacitated(user)) + if (_actionBlockerSystem.CanChangeDirection(user)) { if (!Resolve(user, ref xform)) return false; diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs index 86d721cb43..f75e4f3973 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.cs @@ -227,7 +227,7 @@ namespace Content.Shared.Interaction if (target != null && Deleted(target.Value)) return; - if (TryComp(user, out SharedCombatModeComponent? combatMode) && combatMode.IsInCombatMode) + if (!altInteract && TryComp(user, out SharedCombatModeComponent? combatMode) && combatMode.IsInCombatMode) { // Eat the input return; diff --git a/Content.Shared/Stunnable/SharedStunSystem.cs b/Content.Shared/Stunnable/SharedStunSystem.cs index 590d36b035..58b52dabfa 100644 --- a/Content.Shared/Stunnable/SharedStunSystem.cs +++ b/Content.Shared/Stunnable/SharedStunSystem.cs @@ -58,6 +58,7 @@ namespace Content.Shared.Stunnable SubscribeLocalEvent(OnKnockedTileFriction); // Attempt event subscriptions. + SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnMoveAttempt); SubscribeLocalEvent(OnAttempt); SubscribeLocalEvent(OnAttempt); diff --git a/Content.Shared/Verbs/SharedVerbSystem.cs b/Content.Shared/Verbs/SharedVerbSystem.cs index 36d3055ff5..0bfa176b69 100644 --- a/Content.Shared/Verbs/SharedVerbSystem.cs +++ b/Content.Shared/Verbs/SharedVerbSystem.cs @@ -168,6 +168,9 @@ namespace Content.Shared.Verbs RaiseLocalEvent(verb.ExecutionEventArgs); } + if (Deleted(user) || Deleted(target)) + return; + // Perform any contact interactions if (verb.DoContactInteraction ?? (verb.DefaultDoContactInteraction && _interactionSystem.InRangeUnobstructed(user, target))) _interactionSystem.DoContactInteraction(user, target);