Rejig Device networks (#7380)

This commit is contained in:
Leon Friedrich
2022-04-09 00:27:10 +12:00
committed by GitHub
parent 44649e7fed
commit a4d55235cc
33 changed files with 671 additions and 247 deletions

View File

@@ -18,11 +18,12 @@ namespace Content.Server.DeviceNetwork.Systems
/// </summary>
private void OnBeforePacketSent(EntityUid uid, WirelessNetworkComponent component, BeforePacketSentEvent args)
{
var ownPosition = EntityManager.GetComponent<TransformComponent>(component.Owner).WorldPosition;
var position = EntityManager.GetComponent<TransformComponent>(args.Sender).WorldPosition;
var distance = (ownPosition - position).Length;
var ownPosition = args.SenderPosition;
var xform = Transform(uid);
if (EntityManager.TryGetComponent<WirelessNetworkComponent?>(args.Sender, out var sendingComponent) && distance > sendingComponent.Range)
if (xform.MapID != args.SenderTransform.MapID
|| !TryComp<WirelessNetworkComponent?>(args.Sender, out var sendingComponent)
|| (ownPosition - xform.WorldPosition).Length > sendingComponent.Range)
{
args.Cancel();
}