From 81be800071ba6c8b999e89d3ccbf29eab8e43641 Mon Sep 17 00:00:00 2001 From: Remuchi Date: Wed, 10 Apr 2024 14:55:25 +0700 Subject: [PATCH] Revert "SS14-12462 Nerf food and drink vending machines (#25999)" This reverts commit 41093ab03cc6a643ee7721de3567963b34fe8e54. # Conflicts: # Content.Shared/VendingMachines/SharedVendingMachineSystem.cs # Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml --- .../SharedVendingMachineSystem.cs | 33 +++++-------------- .../VendingMachineComponent.cs | 8 ----- .../Structures/Machines/vending_machines.yml | 11 ------- 3 files changed, 9 insertions(+), 43 deletions(-) diff --git a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs index 7f8593e43d..c6ef2bd917 100644 --- a/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs +++ b/Content.Shared/VendingMachines/SharedVendingMachineSystem.cs @@ -6,7 +6,6 @@ using Content.Shared.Interaction; using Content.Shared.Popups; using Robust.Shared.Audio.Systems; using Robust.Shared.Network; -using Robust.Shared.Random; namespace Content.Shared.VendingMachines; @@ -17,7 +16,6 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem [Dependency] protected readonly SharedAudioSystem Audio = default!; [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; [Dependency] protected readonly SharedPopupSystem Popup = default!; - [Dependency] protected readonly IRobustRandom Randomizer = default!; public override void Initialize() { @@ -28,13 +26,10 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem protected virtual void OnComponentInit(EntityUid uid, VendingMachineComponent component, ComponentInit args) { - RestockInventoryFromPrototype(uid, component, component.InitialStockQuality); + RestockInventoryFromPrototype(uid, component); } - public void RestockInventoryFromPrototype( - EntityUid uid, - VendingMachineComponent? component = null, - float restockQuality = 1f) + public void RestockInventoryFromPrototype(EntityUid uid, VendingMachineComponent? component = null) { if (!Resolve(uid, ref component)) { @@ -44,9 +39,9 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem if (!PrototypeManager.TryIndex(component.PackPrototypeId, out VendingMachineInventoryPrototype? packPrototype)) return; - AddInventoryFromPrototype(uid, packPrototype.StartingInventory, InventoryType.Regular, component, restockQuality); - AddInventoryFromPrototype(uid, packPrototype.EmaggedInventory, InventoryType.Emagged, component, restockQuality); - AddInventoryFromPrototype(uid, packPrototype.ContrabandInventory, InventoryType.Contraband, component, restockQuality); + AddInventoryFromPrototype(uid, packPrototype.StartingInventory, InventoryType.Regular, component); + AddInventoryFromPrototype(uid, packPrototype.EmaggedInventory, InventoryType.Emagged, component); + AddInventoryFromPrototype(uid, packPrototype.ContrabandInventory, InventoryType.Contraband, component); } /// @@ -76,7 +71,7 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem public List GetAvailableInventory(EntityUid uid, VendingMachineComponent? component = null) { if (!Resolve(uid, ref component)) - return []; + return new(); return GetAllInventory(uid, component).Where(inventoryEntry => inventoryEntry.Amount > 0).ToList(); } @@ -85,8 +80,7 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem EntityUid uid, Dictionary? entries, InventoryType type, - VendingMachineComponent? component = null, - float restockQuality = 1.0f) + VendingMachineComponent? component = null) { if (!Resolve(uid, ref component) || entries == null) { @@ -113,15 +107,6 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem { if (PrototypeManager.TryIndex(id, out var proto)) // WD EDIT { - var restock = amount; - var chanceOfMissingStock = 1 - restockQuality; - - var result = Randomizer.NextFloat(0, 1); - if (result < chanceOfMissingStock) - { - restock = (uint) Math.Floor(amount * result / chanceOfMissingStock); - } - if (inventory.TryGetValue(id, out var entry)) // Prevent a machine's stock from going over three times // the prototype's normal amount. This is an arbitrary @@ -129,11 +114,11 @@ public abstract partial class SharedVendingMachineSystem : EntitySystem // restocking a machine who doesn't want to force vend out // all the items just to restock one empty slot without // losing the rest of the restock. - entry.Amount = Math.Min(entry.Amount + amount, 3 * restock); + entry.Amount = Math.Min(entry.Amount + amount, 3 * amount); else // WD EDIT START { var price = GetEntryPrice(proto); - inventory.Add(id, new VendingMachineInventoryEntry(type, id, restock, price)); + inventory.Add(id, new VendingMachineInventoryEntry(type, id, amount, price)); } // WD EDIT END } } diff --git a/Content.Shared/VendingMachines/VendingMachineComponent.cs b/Content.Shared/VendingMachines/VendingMachineComponent.cs index ec3218779a..61ca05b573 100644 --- a/Content.Shared/VendingMachines/VendingMachineComponent.cs +++ b/Content.Shared/VendingMachines/VendingMachineComponent.cs @@ -123,14 +123,6 @@ namespace Content.Shared.VendingMachines public float DenyAccumulator = 0f; public float DispenseOnHitAccumulator = 0f; - /// - /// 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; - /// /// While disabled by EMP it randomly ejects items /// diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index d238326ba2..0685b9d7ab 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -384,7 +384,6 @@ ejectDelay: 5 soundVend: /Audio/Machines/machine_vend_hot_drink.ogg priceMultiplier: 1.0 - initialStockQuality: 0.33 - type: Advertise pack: HotDrinksMachineAds - type: SpeakOnUIClosed @@ -425,7 +424,6 @@ denyState: deny-unshaded ejectDelay: 1.9 priceMultiplier: 1.0 - initialStockQuality: 0.33 - type: Advertise pack: RobustSoftdrinksAds - type: SpeakOnUIClosed @@ -575,7 +573,6 @@ denyState: deny-unshaded ejectDelay: 1.9 priceMultiplier: 1.0 - initialStockQuality: 0.33 - type: Advertise pack: RobustSoftdrinksAds - type: Speech @@ -611,7 +608,6 @@ denyState: deny-unshaded ejectDelay: 1.9 priceMultiplier: 1.0 - initialStockQuality: 0.33 - type: Advertise pack: RobustSoftdrinksAds - type: SpeakOnUIClosed @@ -648,7 +644,6 @@ ejectState: eject-unshaded denyState: deny-unshaded ejectDelay: 1.9 - initialStockQuality: 0.33 - type: Advertise pack: RobustSoftdrinksAds - type: SpeakOnUIClosed @@ -745,7 +740,6 @@ offState: off brokenState: broken normalState: normal-unshaded - initialStockQuality: 0.33 priceMultiplier: 1.0 - type: Advertise pack: DiscountDansAds @@ -962,7 +956,6 @@ normalState: normal-unshaded ejectState: eject-unshaded denyState: deny-unshaded - initialStockQuality: 0.33 priceMultiplier: 1.0 - type: Advertise pack: GetmoreChocolateCorpAds @@ -1111,7 +1104,6 @@ ejectState: eject-unshaded denyState: deny-unshaded priceMultiplier: 1.0 - initialStockQuality: 0.33 - type: Advertise pack: BodaAds - type: SpeakOnUIClosed @@ -1320,7 +1312,6 @@ offState: off brokenState: broken normalState: normal-unshaded - initialStockQuality: 0.33 priceMultiplier: 1.0 - type: Advertise pack: ChangAds @@ -1387,7 +1378,6 @@ offState: off brokenState: broken normalState: normal-unshaded - initialStockQuality: 0.33 priceMultiplier: 1.0 - type: Advertise pack: DonutAds @@ -2058,7 +2048,6 @@ ejectDelay: 1.9 soundVend: /Audio/Items/bikehorn.ogg priceMultiplier: 1.0 - initialStockQuality: 1.0 # Nobody knows how Honk does it, but their vending machines always seem well-stocked... - type: Sprite sprite: Structures/Machines/VendingMachines/happyhonk.rsi layers: