Allow vending machines to be repaired (#28920)
Vending machines can be repaired
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user