2024-11-04 13:41:09 +03:00
|
|
|
using Content.Shared.Mind;
|
2024-07-24 20:52:05 +03:00
|
|
|
using Content.Shared.Random;
|
|
|
|
|
using Content.Shared.Roles;
|
2024-07-09 08:31:24 +03:00
|
|
|
using Robust.Shared.Prototypes;
|
|
|
|
|
|
|
|
|
|
namespace Content.Server._CP14.GameTicking.Rules.Components;
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2024-10-20 21:20:16 +03:00
|
|
|
/// a rule that assigns individual goals to different roles
|
2024-07-09 08:31:24 +03:00
|
|
|
/// </summary>
|
2024-10-20 21:20:16 +03:00
|
|
|
[RegisterComponent, Access(typeof(CP14PersonalObjectivesRule))]
|
|
|
|
|
public sealed partial class CP14PersonalObjectivesRuleComponent : Component
|
2024-07-09 08:31:24 +03:00
|
|
|
{
|
|
|
|
|
[DataField]
|
2024-07-24 20:52:05 +03:00
|
|
|
public Dictionary<ProtoId<JobPrototype>, List<ProtoId<WeightedRandomPrototype>>> RoleObjectives = new();
|
|
|
|
|
|
|
|
|
|
[DataField]
|
|
|
|
|
public Dictionary<ProtoId<DepartmentPrototype>, List<ProtoId<WeightedRandomPrototype>>> DepartmentObjectives = new();
|
2024-11-04 13:41:09 +03:00
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// All of the objectives added by this rule. 1 mind -> many objectives
|
|
|
|
|
/// </summary>
|
|
|
|
|
[DataField]
|
|
|
|
|
public Dictionary<Entity<MindComponent>, List<EntityUid>> PersonalObjectives = new();
|
2024-07-09 08:31:24 +03:00
|
|
|
}
|