committed by
GitHub
parent
ea60a81fdf
commit
103bc19508
@@ -8,6 +8,7 @@ using Content.Server.NodeContainer.NodeGroups;
|
||||
using Content.Server.NodeContainer.Nodes;
|
||||
using Robust.Shared.IoC;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Random;
|
||||
using Robust.Shared.ViewVariables;
|
||||
|
||||
@@ -36,19 +37,23 @@ namespace Content.Server.AME
|
||||
|
||||
public int CoreCount => _cores.Count;
|
||||
|
||||
protected override void OnAddNode(Node node)
|
||||
public override void LoadNodes(List<Node> groupNodes)
|
||||
{
|
||||
base.OnAddNode(node);
|
||||
if (_masterController == null)
|
||||
base.LoadNodes(groupNodes);
|
||||
|
||||
foreach (var node in groupNodes)
|
||||
{
|
||||
node.Owner.TryGetComponent<AMEControllerComponent>(out var controller);
|
||||
_masterController = controller;
|
||||
if (node.Owner.TryGetComponent(out AMEControllerComponent? controller))
|
||||
{
|
||||
_masterController = controller;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnRemoveNode(Node node)
|
||||
public override void RemoveNode(Node node)
|
||||
{
|
||||
base.OnRemoveNode(node);
|
||||
base.RemoveNode(node);
|
||||
|
||||
RefreshAMENodes(_masterController);
|
||||
if (_masterController != null && _masterController?.Owner == node.Owner) { _masterController = null; }
|
||||
}
|
||||
@@ -119,7 +124,7 @@ namespace Content.Server.AME
|
||||
// fuel > safeFuelLimit: Slow damage. Can safely run at this level for burst periods if the engine is small and someone is keeping an eye on it.
|
||||
if (_random.Prob(0.5f))
|
||||
instability = 1;
|
||||
// overloadVsSizeResult > 5:
|
||||
// overloadVsSizeResult > 5:
|
||||
if (overloadVsSizeResult > 5)
|
||||
instability = 5;
|
||||
// overloadVsSizeResult > 10: This will explode in at most 5 injections.
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Content.Server.AME.Components
|
||||
private AppearanceComponent? _appearance;
|
||||
private PowerSupplierComponent? _powerSupplier;
|
||||
|
||||
private bool Powered => !Owner.TryGetComponent(out PowerReceiverComponent? receiver) || receiver.Powered;
|
||||
private bool Powered => !Owner.TryGetComponent(out ApcPowerReceiverComponent? receiver) || receiver.Powered;
|
||||
|
||||
[ViewVariables]
|
||||
private int _stability = 100;
|
||||
@@ -92,7 +92,7 @@ namespace Content.Server.AME.Components
|
||||
if(fuelJar != null && _powerSupplier != null)
|
||||
{
|
||||
var availableInject = fuelJar.FuelAmount >= InjectionAmount ? InjectionAmount : fuelJar.FuelAmount;
|
||||
_powerSupplier.SupplyRate = group.InjectFuel(availableInject, out var overloading);
|
||||
_powerSupplier.MaxSupply = group.InjectFuel(availableInject, out var overloading);
|
||||
fuelJar.FuelAmount -= availableInject;
|
||||
InjectSound(overloading);
|
||||
UpdateUserInterface();
|
||||
@@ -252,7 +252,7 @@ namespace Content.Server.AME.Components
|
||||
_appearance?.SetData(AMEControllerVisuals.DisplayState, "off");
|
||||
if (_powerSupplier != null)
|
||||
{
|
||||
_powerSupplier.SupplyRate = 0;
|
||||
_powerSupplier.MaxSupply = 0;
|
||||
}
|
||||
}
|
||||
_injecting = !_injecting;
|
||||
|
||||
Reference in New Issue
Block a user