mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-18 22:18:52 +03:00
# Description Some improvements to loadouts too. --- # TODO - [x] Points logic - [x] Server-side validation - [x] Categorize traits - [x] Assign points to traits - [x] Header costs - [x] Sort entries - [x] Max traits - [x] Communicate max traits - [x] Point bar - [x] Group exclusivity - Black outline on text - [x] Fix existing component whitelists --- <details><summary><h1>Media</h1></summary> <p> ## Accurate except for small details  ### Something to note:    </p> </details> --- # Changelog 🆑 - add: Added trait points - add: Added categories for traits --------- Co-authored-by: VMSolidus <evilexecutive@gmail.com>
49 lines
1.6 KiB
C#
49 lines
1.6 KiB
C#
using Content.Shared.Traits.Assorted.Systems;
|
|
using Robust.Shared.Audio;
|
|
using Robust.Shared.GameStates;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
|
|
|
namespace Content.Shared.Traits.Assorted.Components;
|
|
|
|
/// <summary>
|
|
/// This component is used for paracusia, which causes auditory hallucinations.
|
|
/// </summary>
|
|
[RegisterComponent, NetworkedComponent]
|
|
[AutoGenerateComponentState]
|
|
[Access(typeof(SharedParacusiaSystem))]
|
|
public sealed partial class ParacusiaComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// The maximum time between incidents in seconds
|
|
/// </summary>
|
|
[DataField("maxTimeBetweenIncidents", required: true), ViewVariables(VVAccess.ReadWrite)]
|
|
[AutoNetworkedField]
|
|
public float MaxTimeBetweenIncidents = 60f;
|
|
|
|
/// <summary>
|
|
/// The minimum time between incidents in seconds
|
|
/// </summary>
|
|
[DataField("minTimeBetweenIncidents", required: true), ViewVariables(VVAccess.ReadWrite)]
|
|
[AutoNetworkedField]
|
|
public float MinTimeBetweenIncidents = 30f;
|
|
|
|
/// <summary>
|
|
/// How far away at most can the sound be?
|
|
/// </summary>
|
|
[DataField("maxSoundDistance", required: true), ViewVariables(VVAccess.ReadWrite)]
|
|
[AutoNetworkedField]
|
|
public float MaxSoundDistance;
|
|
|
|
/// <summary>
|
|
/// The sounds to choose from
|
|
/// </summary>
|
|
[DataField("sounds", required: true)]
|
|
[AutoNetworkedField]
|
|
public SoundSpecifier Sounds = default!;
|
|
|
|
[DataField("timeBetweenIncidents", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)]
|
|
public TimeSpan NextIncidentTime;
|
|
|
|
public EntityUid? Stream;
|
|
}
|