Allow vending machines to be repaired (#28920)

Vending machines can be repaired
This commit is contained in:
Robert V
2024-06-14 20:13:52 -07:00
committed by GitHub
parent 6132b5e07a
commit 48f90322f2

View File

@@ -50,7 +50,7 @@ namespace Content.Server.VendingMachines
SubscribeLocalEvent<VendingMachineComponent, PowerChangedEvent>(OnPowerChanged); SubscribeLocalEvent<VendingMachineComponent, PowerChangedEvent>(OnPowerChanged);
SubscribeLocalEvent<VendingMachineComponent, BreakageEventArgs>(OnBreak); SubscribeLocalEvent<VendingMachineComponent, BreakageEventArgs>(OnBreak);
SubscribeLocalEvent<VendingMachineComponent, GotEmaggedEvent>(OnEmagged); SubscribeLocalEvent<VendingMachineComponent, GotEmaggedEvent>(OnEmagged);
SubscribeLocalEvent<VendingMachineComponent, DamageChangedEvent>(OnDamage); SubscribeLocalEvent<VendingMachineComponent, DamageChangedEvent>(OnDamageChanged);
SubscribeLocalEvent<VendingMachineComponent, PriceCalculationEvent>(OnVendingPrice); SubscribeLocalEvent<VendingMachineComponent, PriceCalculationEvent>(OnVendingPrice);
SubscribeLocalEvent<VendingMachineComponent, EmpPulseEvent>(OnEmpPulse); SubscribeLocalEvent<VendingMachineComponent, EmpPulseEvent>(OnEmpPulse);
@@ -149,8 +149,15 @@ namespace Content.Server.VendingMachines
args.Handled = component.EmaggedInventory.Count > 0; 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 || if (component.Broken || component.DispenseOnHitCoolingDown ||
component.DispenseOnHitChance == null || args.DamageDelta == null) component.DispenseOnHitChance == null || args.DamageDelta == null)
return; return;