]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
storage open sound has cooldown now (#14811)
authordeltanedas <39013340+deltanedas@users.noreply.github.com>
Fri, 24 Mar 2023 01:43:49 +0000 (01:43 +0000)
committerGitHub <noreply@github.com>
Fri, 24 Mar 2023 01:43:49 +0000 (21:43 -0400)
Content.Server/Storage/EntitySystems/StorageSystem.cs
Resources/Prototypes/Entities/Clothing/Back/backpacks.yml

index 965f928f4c620d60987db19423b03fc484132a56..c8adcec54bdaf4a10060fd4fbf48468174079c99 100644 (file)
@@ -3,6 +3,7 @@ using Content.Server.Hands.Components;
 using Content.Server.Storage.Components;
 using Content.Shared.Interaction;
 using Content.Shared.Storage;
+using Content.Shared.Timing;
 using Content.Shared.Verbs;
 using JetBrains.Annotations;
 using Robust.Server.GameObjects;
@@ -59,6 +60,7 @@ namespace Content.Server.Storage.EntitySystems
         [Dependency] private readonly SharedCombatModeSystem _combatMode = default!;
         [Dependency] private readonly SharedTransformSystem _transform = default!;
         [Dependency] private readonly SharedAppearanceSystem _appearance = default!;
+        [Dependency] private readonly UseDelaySystem _useDelay = default!;
 
         /// <inheritdoc />
         public override void Initialize()
@@ -601,8 +603,14 @@ namespace Content.Server.Storage.EntitySystems
             if (!Resolve(uid, ref storageComp) || !TryComp(entity, out ActorComponent? player))
                 return;
 
+            // prevent spamming bag open / honkerton honk sound
+            silent |= TryComp<UseDelayComponent>(uid, out var useDelay) && _useDelay.ActiveDelay(uid, useDelay);
             if (!silent)
+            {
                 _audio.PlayPvs(storageComp.StorageOpenSound, uid);
+                if (useDelay != null)
+                    _useDelay.BeginDelay(uid, useDelay);
+            }
 
             Logger.DebugS(storageComp.LoggerName, $"Storage (UID {uid}) \"used\" by player session (UID {player.PlayerSession.AttachedEntity}).");
 
index 0b5d2ad25fd3e8bb73fbbece21191598b9456642..c1ddde80aaf999b7b219df8c167f99d9951cdda3 100644 (file)
@@ -23,6 +23,9 @@
     interfaces:
     - key: enum.StorageUiKey.Key
       type: StorageBoundUserInterface
+  # to prevent bag open/honk spam
+  - type: UseDelay
+    delay: 0.5
 
 - type: entity
   parent: ClothingBackpack