using Content.Server.StationEvents.Events; using Content.Shared.Cargo.Prototypes; using Robust.Shared.Prototypes; namespace Content.Server.StationEvents.Components; /// /// Used an event that gifts the station with certian cargo /// [RegisterComponent, Access(typeof(CargoGiftsRule))] public sealed partial class CargoGiftsRuleComponent : Component { /// /// The base announcement string (which then incorporates the strings below) /// [DataField, ViewVariables(VVAccess.ReadWrite)] public LocId Announce = "cargo-gifts-event-announcement"; /// /// What is being sent /// [DataField, ViewVariables(VVAccess.ReadWrite)] public LocId Description = "cargo-gift-default-description"; /// /// Sender of the gifts /// [DataField, ViewVariables(VVAccess.ReadWrite)] public LocId Sender = "cargo-gift-default-sender"; /// /// Destination of the gifts (who they get sent to on the station) /// [DataField, ViewVariables(VVAccess.ReadWrite)] public LocId Dest = "cargo-gift-default-dest"; /// /// Cargo that you would like gifted to the station, with the quantity for each /// Use Ids from cargoProduct Prototypes /// [DataField(required: true), ViewVariables(VVAccess.ReadWrite)] public Dictionary, int> Gifts = new(); /// /// How much space (minimum) you want to leave in the order database for supply to actually do their work /// [DataField, ViewVariables(VVAccess.ReadWrite)] public int OrderSpaceToLeave = 5; /// /// Time until we consider next lot of gifts (if supply is overflowing with orders) /// [DataField, ViewVariables(VVAccess.ReadWrite)] public float TimeUntilNextGifts = 10.0f; }