* Make friendly and hostile factions in NpcFactionMemberComponent datafiels
* :trollface:
* :trollface:
/// </summary>
[ViewVariables]
public readonly HashSet<ProtoId<NpcFactionPrototype>> HostileFactions = new();
+
+ /// <summary>
+ /// Used to add friendly factions in prototypes.
+ /// </summary>
+ [DataField, ViewVariables]
+ public HashSet<ProtoId<NpcFactionPrototype>>? AddFriendlyFactions;
+
+ /// <summary>
+ /// Used to add hostile factions in prototypes.
+ /// </summary>
+ [DataField, ViewVariables]
+ public HashSet<ProtoId<NpcFactionPrototype>>? AddHostileFactions;
}
ent.Comp.FriendlyFactions.UnionWith(factionData.Friendly);
ent.Comp.HostileFactions.UnionWith(factionData.Hostile);
}
+ // Add additional factions if it is written in prototype
+ if (ent.Comp.AddFriendlyFactions != null)
+ {
+ ent.Comp.FriendlyFactions.UnionWith(ent.Comp.AddFriendlyFactions);
+ }
+ if (ent.Comp.AddHostileFactions != null)
+ {
+ ent.Comp.HostileFactions.UnionWith(ent.Comp.AddHostileFactions);
+ }
}
/// <summary>