using System; using Content.Shared.Clothing.Components; using Robust.Shared.GameObjects; using Robust.Shared.GameStates; using Robust.Shared.Serialization; using Robust.Shared.Serialization.Manager.Attributes; using System.Collections.Generic; // Required for List namespace Content.Shared.Civ14.CivFactions; // Changed from Component to a DataDefinition for use in lists. [DataDefinition, Serializable, NetSerializable] public sealed partial class FactionData { /// /// The name of the faction. /// [DataField("factionName")] public string FactionName { get; set; } = "Unnamed Faction"; /// /// The list of members, using the ckeys. /// [DataField("factionMembers")] public List FactionMembers { get; set; } = new List(); /// /// The current research level of the faction. /// [DataField("factionResearch")] public float FactionResearch { get; set; } = 0f; /// /// The score of the faction. /// [DataField("factionPoints")] public int FactionPoints { get; set; } = 0; /// /// The ammount of money in the faction's treasury. /// [DataField("factionTreasury")] public float FactionTreasury { get; set; } = 0f; /// /// People registered as leaders of the faction (can invite others) /// [DataField("factionLeaders")] public List FactionLeaders { get; set; } = new List(); }