using Content.Shared.Actions.ActionTypes; using Content.Shared.Disease; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.RatKing { [RegisterComponent] public sealed class RatKingComponent : Component { /// /// The action for the Raise Army ability /// [DataField("actionRaiseArmy", required: true)] public InstantAction ActionRaiseArmy = new(); /// /// The amount of hunger one use of Raise Army consumes /// [ViewVariables(VVAccess.ReadWrite), DataField("hungerPerArmyUse", required: true)] public float HungerPerArmyUse = 25f; /// /// The entity prototype of the mob that Raise Army summons /// [ViewVariables(VVAccess.ReadWrite), DataField("armyMobSpawnId", customTypeSerializer: typeof(PrototypeIdSerializer))] public string ArmyMobSpawnId = "MobRatServant"; /// /// The action for the Domain ability /// [ViewVariables, DataField("actionDomain", required: true)] public InstantAction ActionDomain = new(); /// /// The amount of hunger one use of Domain consumes /// [ViewVariables(VVAccess.ReadWrite), DataField("hungerPerDomainUse", required: true)] public float HungerPerDomainUse = 50f; /// /// How many moles of Miasma are released after one us of Domain /// [ViewVariables, DataField("molesMiasmaPerDomain")] public float MolesMiasmaPerDomain = 75f; } };