Cargo request and bounty console deny sound cooldown (#37234)
* Cargo bounty console deny sound cooldown * ordering computer cooldown * Update Content.Shared/Cargo/Components/CargoBountyConsoleComponent.cs Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Content.Shared/Cargo/Components/CargoBountyConsoleComponent.cs Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Content.Server/Cargo/Systems/CargoSystem.Bounty.cs Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * AutoGenerateComponentPause --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
@@ -93,7 +93,11 @@ public sealed partial class CargoSystem
|
|||||||
if (TryComp<AccessReaderComponent>(uid, out var accessReaderComponent) &&
|
if (TryComp<AccessReaderComponent>(uid, out var accessReaderComponent) &&
|
||||||
!_accessReaderSystem.IsAllowed(mob, uid, accessReaderComponent))
|
!_accessReaderSystem.IsAllowed(mob, uid, accessReaderComponent))
|
||||||
{
|
{
|
||||||
_audio.PlayPvs(component.DenySound, uid);
|
if (Timing.CurTime >= component.NextDenySoundTime)
|
||||||
|
{
|
||||||
|
component.NextDenySoundTime = Timing.CurTime + component.DenySoundDelay;
|
||||||
|
_audio.PlayPvs(component.DenySound, uid);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ using JetBrains.Annotations;
|
|||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.Map;
|
using Robust.Shared.Map;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
|
using Robust.Shared.Timing;
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
namespace Content.Server.Cargo.Systems
|
namespace Content.Server.Cargo.Systems
|
||||||
@@ -24,6 +25,7 @@ namespace Content.Server.Cargo.Systems
|
|||||||
{
|
{
|
||||||
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
[Dependency] private readonly SharedTransformSystem _transformSystem = default!;
|
||||||
[Dependency] private readonly EmagSystem _emag = default!;
|
[Dependency] private readonly EmagSystem _emag = default!;
|
||||||
|
[Dependency] private readonly IGameTiming _timing = default!;
|
||||||
|
|
||||||
private void InitializeConsole()
|
private void InitializeConsole()
|
||||||
{
|
{
|
||||||
@@ -431,7 +433,11 @@ namespace Content.Server.Cargo.Systems
|
|||||||
|
|
||||||
private void PlayDenySound(EntityUid uid, CargoOrderConsoleComponent component)
|
private void PlayDenySound(EntityUid uid, CargoOrderConsoleComponent component)
|
||||||
{
|
{
|
||||||
_audio.PlayPvs(_audio.ResolveSound(component.ErrorSound), uid);
|
if (_timing.CurTime >= component.NextDenySoundTime)
|
||||||
|
{
|
||||||
|
component.NextDenySoundTime = _timing.CurTime + component.DenySoundDelay;
|
||||||
|
_audio.PlayPvs(_audio.ResolveSound(component.ErrorSound), uid);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static CargoOrderData GetOrderData(CargoConsoleAddOrderMessage args, CargoProductPrototype cargoProduct, int id, ProtoId<CargoAccountPrototype> account)
|
private static CargoOrderData GetOrderData(CargoConsoleAddOrderMessage args, CargoProductPrototype cargoProduct, int id, ProtoId<CargoAccountPrototype> account)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Serialization;
|
using Robust.Shared.Serialization;
|
||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||||
@@ -6,7 +6,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy
|
|||||||
|
|
||||||
namespace Content.Shared.Cargo.Components;
|
namespace Content.Shared.Cargo.Components;
|
||||||
|
|
||||||
[RegisterComponent]
|
[RegisterComponent, AutoGenerateComponentPause]
|
||||||
public sealed partial class CargoBountyConsoleComponent : Component
|
public sealed partial class CargoBountyConsoleComponent : Component
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -44,6 +44,18 @@ public sealed partial class CargoBountyConsoleComponent : Component
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("denySound")]
|
[DataField("denySound")]
|
||||||
public SoundSpecifier DenySound = new SoundPathSpecifier("/Audio/Effects/Cargo/buzz_two.ogg");
|
public SoundSpecifier DenySound = new SoundPathSpecifier("/Audio/Effects/Cargo/buzz_two.ogg");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The time at which the console will be able to make the denial sound again.
|
||||||
|
/// </summary>
|
||||||
|
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
|
||||||
|
public TimeSpan NextDenySoundTime = TimeSpan.Zero;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The time between playing a denial sound.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public TimeSpan DenySoundDelay = TimeSpan.FromSeconds(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
[NetSerializable, Serializable]
|
[NetSerializable, Serializable]
|
||||||
|
|||||||
@@ -126,6 +126,18 @@ public sealed partial class CargoOrderConsoleComponent : Component
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField]
|
[DataField]
|
||||||
public SoundSpecifier ScanSound = new SoundCollectionSpecifier("CargoBeep");
|
public SoundSpecifier ScanSound = new SoundCollectionSpecifier("CargoBeep");
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The time at which the console will be able to play the deny sound.
|
||||||
|
/// </summary>
|
||||||
|
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
|
||||||
|
public TimeSpan NextDenySoundTime = TimeSpan.Zero;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The time between playing the deny sound.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public TimeSpan DenySoundDelay = TimeSpan.FromSeconds(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
Reference in New Issue
Block a user