2025-06-16 15:47:31 -07:00
|
|
|
using Content.Shared.Alert;
|
|
|
|
|
using Robust.Shared.GameStates;
|
|
|
|
|
using Robust.Shared.Prototypes;
|
|
|
|
|
|
2022-11-04 12:40:01 +13:00
|
|
|
namespace Content.Shared.Strip.Components;
|
2022-06-27 20:14:51 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
2022-11-04 12:40:01 +13:00
|
|
|
/// Give this to an entity when you want to decrease stripping times
|
2022-06-27 20:14:51 -04:00
|
|
|
/// </summary>
|
2025-06-16 15:47:31 -07:00
|
|
|
[RegisterComponent, NetworkedComponent]
|
|
|
|
|
[AutoGenerateComponentState(fieldDeltas: true)]
|
2023-08-22 18:14:33 -07:00
|
|
|
public sealed partial class ThievingComponent : Component
|
2022-06-27 20:14:51 -04:00
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// How much the strip time should be shortened by
|
|
|
|
|
/// </summary>
|
2025-06-16 15:47:31 -07:00
|
|
|
[DataField, AutoNetworkedField]
|
2024-03-14 22:57:52 -04:00
|
|
|
public TimeSpan StripTimeReduction = TimeSpan.FromSeconds(0.5f);
|
2022-06-27 20:14:51 -04:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Should it notify the user if they're stripping a pocket?
|
|
|
|
|
/// </summary>
|
2025-06-16 15:47:31 -07:00
|
|
|
[DataField, AutoNetworkedField]
|
2022-06-27 20:14:51 -04:00
|
|
|
public bool Stealthy;
|
2025-06-16 15:47:31 -07:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Variable pointing at the Alert modal
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
|
|
|
|
public ProtoId<AlertPrototype> StealthyAlertProtoId = "Stealthy";
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Prevent component replication to clients other than the owner,
|
|
|
|
|
/// doesn't affect prediction.
|
|
|
|
|
/// Get mogged.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public override bool SendOnlyToOwner => true;
|
2022-06-27 20:14:51 -04:00
|
|
|
}
|
2025-06-16 15:47:31 -07:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Event raised to toggle the thieving component.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public sealed partial class ToggleThievingEvent : BaseAlertEvent;
|
|
|
|
|
|