mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-18 05:59:03 +03:00
* the definition of insanity * the definition of insanity * the definition of insanity * we have hullrot at home * maybe the real hullrot was the friends we made along the way * john hullrot * i am going to hullroooooot * it's hullrotver * we're so hullback * we're rotting the hull with this one * hullmerge * the hullrot is leaking * never gonna rot you up * hullfresh * john starsector * god i wish we had grid collision damage * you can tell I am very tired because I stopped forcing a hullrot joke into every commit message * hr * this is a surprise sprite that will help us later * motherfucker * i have nothing good to say * still nothing * brb * random letter random letter random letter dash random number random number random number * ass * blast * ffs * fcuk * RE: ffs * RE: RE: ffs * гнида жестяная * continue * i hate tests * i love tests * slide to the right * i hate tests again * what the fuck * ты шиз? * ?? * bbgun
75 lines
1.7 KiB
C#
75 lines
1.7 KiB
C#
using Robust.Shared.Serialization;
|
|
using Robust.Shared.GameStates;
|
|
|
|
namespace Content.Shared.RadioJammer;
|
|
|
|
/// <summary>
|
|
/// When activated (<see cref="ActiveRadioJammerComponent"/>) prevents from sending messages in range
|
|
/// Suit sensors will also stop working.
|
|
/// </summary>
|
|
[NetworkedComponent, RegisterComponent]
|
|
public sealed partial class RadioJammerComponent : Component
|
|
{
|
|
[DataDefinition]
|
|
public partial struct RadioJamSetting
|
|
{
|
|
/// <summary>
|
|
/// Power usage per second when enabled.
|
|
/// </summary>
|
|
[DataField(required: true)]
|
|
public float Wattage;
|
|
|
|
/// <summary>
|
|
/// Range of the jammer.
|
|
/// </summary>
|
|
[DataField(required: true)]
|
|
public float Range;
|
|
|
|
/// <summary>
|
|
/// The message that is displayed when switched
|
|
/// to this setting.
|
|
/// </summary>
|
|
[DataField(required: true)]
|
|
public LocId Message;
|
|
|
|
/// <summary>
|
|
/// Name of the setting.
|
|
/// </summary>
|
|
[DataField(required: true)]
|
|
public LocId Name;
|
|
}
|
|
|
|
/// <summary>
|
|
/// List of all the settings for the radio jammer.
|
|
/// </summary>
|
|
[DataField(required: true), ViewVariables(VVAccess.ReadOnly)]
|
|
public RadioJamSetting[] Settings = default!;
|
|
|
|
/// <summary>
|
|
/// Index of the currently selected setting.
|
|
/// </summary>
|
|
[DataField]
|
|
public int SelectedPowerLevel = 1;
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public enum RadioJammerChargeLevel : byte
|
|
{
|
|
Low,
|
|
Medium,
|
|
High
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public enum RadioJammerLayers : byte
|
|
{
|
|
LED
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public enum RadioJammerVisuals : byte
|
|
{
|
|
ChargeLevel,
|
|
LEDOn
|
|
}
|