using Content.Shared.Actions; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.VendingMachines.Components; [RegisterComponent, NetworkedComponent] public sealed partial class VendingMachineComponent : Component { /// /// PrototypeID for the vending machine's inventory, see /// [DataField("pack", required: true)] public ProtoId PackPrototypeId; [DataField] public Dictionary Inventory = new(); [DataField] public Dictionary EmaggedInventory = new(); [DataField] public Dictionary ContrabandInventory = new(); /// /// If true then unlocks the /// [DataField] public bool Contraband; [DataField] public bool Broken; /// /// The quality of the stock in the vending machine on spawn. /// Represents the percentage chance (0.0f = 0%, 1.0f = 100%) each set of items in the machine is fully-stocked. /// If not fully stocked, the stock will have a random value between 0 (inclusive) and max stock (exclusive). /// [DataField] public float InitialStockQuality = 1.0f; /// /// Audio entity used during restock in case the doafter gets canceled. /// [DataField] public EntityUid? RestockStream; } public sealed partial class VendingMachineSelfDispenseEvent : InstantActionEvent;