Files
crystall-punk-14/Content.Server/_CP14/GameTicking/Rules/Components/CP14PersonalObjectivesRuleComponent.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
896 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 individual goals to different roles
/// </summary>
[RegisterComponent, Access(typeof(CP14PersonalObjectivesRule))]
public sealed partial class CP14PersonalObjectivesRuleComponent : Component
{
[DataField]
public Dictionary<ProtoId<JobPrototype>, List<ProtoId<WeightedRandomPrototype>>> RoleObjectives = new();
[DataField]
public Dictionary<ProtoId<DepartmentPrototype>, List<ProtoId<WeightedRandomPrototype>>> DepartmentObjectives = new();
/// <summary>
/// All of the objectives added by this rule. 1 mind -> many objectives
/// </summary>
[DataField]
public Dictionary<Entity<MindComponent>, List<EntityUid>> PersonalObjectives = new();
}