Files
crystall-punk-14/Content.Server/_CP14/GameTicking/Rules/Components/CP14CommonObjectivesRuleComponent.cs
Ed c21dd891f3 Endscreen message + command objectives updadte (#533)
* add simple end screen common goals

* finish common objectives endscreen

* personal objectives endscreen

* Update personal_objectives.yml

* new empire objectives
2024-11-04 13:41:09 +03:00

26 lines
961 B
C#

using Content.Shared.Mind;
using Content.Shared.Random;
using Content.Shared.Roles;
using Robust.Shared.Prototypes;
namespace Content.Server._CP14.GameTicking.Rules.Components;
/// <summary>
/// A rule that assigns common goals to different roles. Common objectives are generated once at the beginning of a round and are shared between players.
/// </summary>
[RegisterComponent, Access(typeof(CP14CommonObjectivesRule))]
public sealed partial class CP14CommonObjectivesRuleComponent : Component
{
[DataField]
public Dictionary<ProtoId<JobPrototype>, List<ProtoId<WeightedRandomPrototype>>> JobObjectives = new();
[DataField]
public Dictionary<ProtoId<DepartmentPrototype>, List<ProtoId<WeightedRandomPrototype>>> DepartmentObjectives = new();
/// <summary>
/// all tasks must have a “mind”. This mind has all the common tasks for compatibility
/// </summary>
[DataField]
public Entity<MindComponent>? StationMind;
}