Give nukies the ability to declare war for a TC boost (#19291)
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
This commit is contained in:
@@ -1,15 +1,13 @@
|
||||
using Content.Server.NPC.Components;
|
||||
using Content.Server.StationEvents.Events;
|
||||
using Content.Shared.Dataset;
|
||||
using Content.Shared.Humanoid.Prototypes;
|
||||
using Content.Shared.Roles;
|
||||
using Robust.Server.Player;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Set;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Server.GameTicking.Rules.Components;
|
||||
@@ -44,6 +42,48 @@ public sealed partial class NukeopsRuleComponent : Component
|
||||
[DataField("spawnOutpost")]
|
||||
public bool SpawnOutpost = true;
|
||||
|
||||
/// <summary>
|
||||
/// Whether or not nukie left their outpost
|
||||
/// </summary>
|
||||
[DataField("leftOutpost")]
|
||||
public bool LeftOutpost = false;
|
||||
|
||||
/// <summary>
|
||||
/// Enables opportunity to get extra TC for war declaration
|
||||
/// </summary>
|
||||
[DataField("canEnableWarOps")]
|
||||
public bool CanEnableWarOps = true;
|
||||
|
||||
/// <summary>
|
||||
/// Indicates time when war has been declared, null if not declared
|
||||
/// </summary>
|
||||
[DataField("warDeclaredTime", customTypeSerializer: typeof(TimeOffsetSerializer))]
|
||||
public TimeSpan? WarDeclaredTime;
|
||||
|
||||
/// <summary>
|
||||
/// This amount of TC will be given to each nukie
|
||||
/// </summary>
|
||||
[DataField("warTCAmountPerNukie")]
|
||||
public int WarTCAmountPerNukie = 40;
|
||||
|
||||
/// <summary>
|
||||
/// Time allowed for declaration of war
|
||||
/// </summary>
|
||||
[DataField("warDeclarationDelay")]
|
||||
public TimeSpan WarDeclarationDelay = TimeSpan.FromMinutes(6);
|
||||
|
||||
/// <summary>
|
||||
/// Delay between war declaration and nuke ops arrival on station map. Gives crew time to prepare
|
||||
/// </summary>
|
||||
[DataField("warNukieArriveDelay")]
|
||||
public TimeSpan? WarNukieArriveDelay = TimeSpan.FromMinutes(15);
|
||||
|
||||
/// <summary>
|
||||
/// Minimal operatives count for war declaration
|
||||
/// </summary>
|
||||
[DataField("warDeclarationMinOps")]
|
||||
public int WarDeclarationMinOps = 4;
|
||||
|
||||
[DataField("spawnPointProto", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
|
||||
public string SpawnPointPrototype = "SpawnPointNukies";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user