2024-10-31 19:13:44 +03:00
|
|
|
using Content.Shared._CP14.Demiplane.Prototypes;
|
2025-02-01 17:52:01 +03:00
|
|
|
using Content.Shared._CP14.RoundStatistic;
|
2024-10-31 19:13:44 +03:00
|
|
|
using Robust.Shared.Prototypes;
|
|
|
|
|
|
|
|
|
|
namespace Content.Server._CP14.Demiplane.Components;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Stores the data needed to generate a new demiplane
|
|
|
|
|
/// </summary>
|
|
|
|
|
[RegisterComponent, Access(typeof(CP14DemiplaneSystem))]
|
|
|
|
|
public sealed partial class CP14DemiplaneGeneratorDataComponent : Component
|
|
|
|
|
{
|
|
|
|
|
[DataField]
|
2024-11-01 18:08:57 +03:00
|
|
|
public ProtoId<CP14DemiplaneLocationPrototype>? Location;
|
2024-10-31 19:13:44 +03:00
|
|
|
|
2024-11-01 18:08:57 +03:00
|
|
|
[DataField]
|
2024-12-16 00:38:29 +03:00
|
|
|
public List<ProtoId<CP14DemiplaneModifierPrototype>> SelectedModifiers = new();
|
2024-11-01 18:08:57 +03:00
|
|
|
|
2024-12-16 00:38:29 +03:00
|
|
|
/// <summary>
|
2025-03-19 12:52:37 +03:00
|
|
|
/// Demiplane Difficulty Level. By design, the plan so far is for a framework of 1 to 10, but technically could support more.
|
2024-12-16 00:38:29 +03:00
|
|
|
/// </summary>
|
|
|
|
|
[DataField(required: true)]
|
2025-03-19 12:52:37 +03:00
|
|
|
public int Level = 1;
|
2024-11-01 18:08:57 +03:00
|
|
|
|
2024-12-16 00:38:29 +03:00
|
|
|
[DataField(required: true)]
|
2025-02-02 15:30:34 +03:00
|
|
|
public Dictionary<ProtoId<CP14DemiplaneModifierCategoryPrototype>, float> Limits = new();
|
2025-02-01 17:52:01 +03:00
|
|
|
|
|
|
|
|
[DataField]
|
|
|
|
|
public ProtoId<CP14RoundStatTrackerPrototype> Statistic = "DemiplaneOpen";
|
2025-02-08 01:09:48 +03:00
|
|
|
|
|
|
|
|
[DataField]
|
|
|
|
|
public List<EntProtoId> AutoRifts = new() { "CP14DemiplaneTimedRadiusPassway", "CP14DemiplanRiftCore" };
|
2024-10-31 19:13:44 +03:00
|
|
|
}
|