* add simple end screen common goals * finish common objectives endscreen * personal objectives endscreen * Update personal_objectives.yml * new empire objectives
26 lines
896 B
C#
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();
|
|
}
|