add syndicate singularity beacon (#18486)
* implement singulo attraction * add attractor syndie item * cleanup * fix name/desc * actually fix name * singulo toolbox no longer whitelisted * add custom sprite, overhaul prototype * address review * beacon real * webedit 1 * webedit 2 * webedit 3 * permalink to copyright --------- Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
using Content.Server.Singularity.EntitySystems;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||
|
||||
namespace Content.Server.Singularity.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Attracts the singularity.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
[Access(typeof(SingularityAttractorSystem))]
|
||||
public sealed partial class SingularityAttractorComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The range at which singularities will be unable to go away from the attractor.
|
||||
/// </summary>
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
public float BaseRange = 25f;
|
||||
|
||||
/// <summary>
|
||||
/// The amount of time that should elapse between pulses of this attractor.
|
||||
/// </summary>
|
||||
[DataField, ViewVariables(VVAccess.ReadOnly)]
|
||||
public TimeSpan TargetPulsePeriod = TimeSpan.FromSeconds(2);
|
||||
|
||||
/// <summary>
|
||||
/// The last time this attractor pulsed.
|
||||
/// </summary>
|
||||
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
|
||||
public TimeSpan LastPulseTime = default!;
|
||||
}
|
||||
Reference in New Issue
Block a user