diff --git a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs index 367b078f23..c260529ded 100644 --- a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs +++ b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs @@ -9,6 +9,7 @@ using Content.Shared.Wieldable; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Network; +using Robust.Shared.Timing; namespace Content.Shared.Item.ItemToggle; /// @@ -23,6 +24,7 @@ public sealed class ItemToggleSystem : EntitySystem [Dependency] private readonly SharedAppearanceSystem _appearance = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; private EntityQuery _query; @@ -315,8 +317,7 @@ public sealed class ItemToggleSystem : EntitySystem /// private void TurnOnOnWielded(Entity ent, ref ItemWieldedEvent args) { - // FIXME: for some reason both client and server play sound - TryActivate((ent, ent.Comp)); + TryActivate((ent, ent.Comp), args.User); } public bool IsActivated(Entity ent) @@ -340,6 +341,9 @@ public sealed class ItemToggleSystem : EntitySystem /// private void UpdateActiveSound(Entity ent, ref ItemToggledEvent args) { + if (!_gameTiming.IsFirstTimePredicted) + return; + var (uid, comp) = ent; if (!args.Activated) {