CatStation/Content.Shared/Revolutionary/Components/RevolutionaryComponent.cs
SlamBamActionman 19bc31aef7
Add "new player label" over the head of players joining the game for the first time (#44709)
* Initial commit

* RMC? I 'ardly know 'er

* Sprout

* Rework it to use job icons

* Revert the one change

* Always the one yaml

* Easy review changes

* We do a little salami

* Review changes

* NIGHTMARE NIGHTMARE NIGHTMARE

* Update to use StatusIconPrototype only

* Remove async

* Aaaand remove the comment, bah

* Review fixes

* Update master

* Add the ability for ghosts to see

* Byte backing

* Review fix + comment

* Update to 90 min

* Add todo message
2026-09-24 15:34:37 +00:00

34 lines
1.2 KiB
C#

using Content.Shared.Antag;
using Robust.Shared.GameStates;
using Content.Shared.StatusIcon;
using Robust.Shared.Prototypes;
using Robust.Shared.Audio;
namespace Content.Shared.Revolutionary.Components;
/// <summary>
/// Used for marking regular revs as well as storing icon prototypes so you can see fellow revs.
/// </summary>
[RegisterComponent, NetworkedComponent, Access(typeof(RevolutionarySystem))]
public sealed partial class RevolutionaryComponent : Component
{
/// <summary>
/// The status icon prototype displayed for revolutionaries
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public ProtoId<StatusIconPrototype> StatusIcon { get; set; } = "RevolutionaryFaction";
/// <summary>
/// Sound that plays when you are chosen as Rev. (Placeholder until I find something cool I guess)
/// </summary>
[DataField]
public SoundSpecifier RevStartSound = new SoundPathSpecifier("/Audio/Ambience/Antag/headrev_start.ogg");
/// <summary>
/// The duration of the stun when you get deconverted.
/// </summary>
[DataField]
public TimeSpan StunTime = TimeSpan.FromSeconds(4f);
public override bool SessionSpecific => true;
}