]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Allow vending machines to be repaired (#28920)
authorRobert V <keywogger@gmail.com>
Sat, 15 Jun 2024 03:13:52 +0000 (20:13 -0700)
committerGitHub <noreply@github.com>
Sat, 15 Jun 2024 03:13:52 +0000 (23:13 -0400)
Vending machines can be repaired

Content.Server/VendingMachines/VendingMachineSystem.cs

index 63ec8f2c24bb015303df9884a2542e68ae212326..2866b14a835193a6d1281909013cfb59b98b8c56 100644 (file)
@@ -50,7 +50,7 @@ namespace Content.Server.VendingMachines
             SubscribeLocalEvent<VendingMachineComponent, PowerChangedEvent>(OnPowerChanged);
             SubscribeLocalEvent<VendingMachineComponent, BreakageEventArgs>(OnBreak);
             SubscribeLocalEvent<VendingMachineComponent, GotEmaggedEvent>(OnEmagged);
-            SubscribeLocalEvent<VendingMachineComponent, DamageChangedEvent>(OnDamage);
+            SubscribeLocalEvent<VendingMachineComponent, DamageChangedEvent>(OnDamageChanged);
             SubscribeLocalEvent<VendingMachineComponent, PriceCalculationEvent>(OnVendingPrice);
             SubscribeLocalEvent<VendingMachineComponent, EmpPulseEvent>(OnEmpPulse);
 
@@ -149,8 +149,15 @@ namespace Content.Server.VendingMachines
             args.Handled = component.EmaggedInventory.Count > 0;
         }
 
-        private void OnDamage(EntityUid uid, VendingMachineComponent component, DamageChangedEvent args)
+        private void OnDamageChanged(EntityUid uid, VendingMachineComponent component, DamageChangedEvent args)
         {
+            if (!args.DamageIncreased && component.Broken)
+            {
+                component.Broken = false;
+                TryUpdateVisualState(uid, component);
+                return;
+            }
+
             if (component.Broken || component.DispenseOnHitCoolingDown ||
                 component.DispenseOnHitChance == null || args.DamageDelta == null)
                 return;