Pow3r: stage 1 (#4208)

Co-authored-by: 20kdc <asdd2808@gmail.com>
This commit is contained in:
Pieter-Jan Briers
2021-07-04 18:11:52 +02:00
committed by GitHub
parent ea60a81fdf
commit 103bc19508
212 changed files with 8584 additions and 4426 deletions

View File

@@ -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.