CatStation/Content.Shared/Radiation/Components/RadiationSourceComponent.cs
2026-04-06 22:14:37 -07:00

36 lines
1.1 KiB
C#

using Content.Shared.Radiation.Systems;
using Robust.Shared.Physics;
namespace Content.Shared.Radiation.Components;
/// <summary>
/// Irradiate all objects in range.
/// </summary>
[RegisterComponent]
[Access(typeof(SharedRadiationSystem))]
public sealed partial class RadiationSourceComponent : Component
{
/// <summary>
/// Radiation intensity in center of the source in rads per second.
/// From there radiation rays will travel over distance and loose intensity
/// when hit radiation blocker.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
[DataField("intensity")]
public float Intensity = 1;
/// <summary>
/// Defines how fast radiation rays will loose intensity
/// over distance. The bigger the value, the shorter range
/// of radiation source will be.
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
[DataField("slope")]
public float Slope = 0.5f;
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool Enabled = true;
[ViewVariables]
public DynamicTree.Proxy Proxy = DynamicTree.Proxy.Free;
}