diff --git a/Content.Client/Shuttles/ShuttleConsoleComponent.cs b/Content.Client/Shuttles/ShuttleConsoleComponent.cs new file mode 100644 index 0000000000..e5632721f3 --- /dev/null +++ b/Content.Client/Shuttles/ShuttleConsoleComponent.cs @@ -0,0 +1,12 @@ +using Content.Shared.Shuttles; +using Robust.Shared.GameObjects; + +namespace Content.Client.Shuttles +{ + [RegisterComponent] + [ComponentReference(typeof(SharedShuttleConsoleComponent))] + internal sealed class ShuttleConsoleComponent : SharedShuttleConsoleComponent + { + + } +} diff --git a/Content.Client/Shuttles/ShuttleConsoleSystem.cs b/Content.Client/Shuttles/ShuttleConsoleSystem.cs new file mode 100644 index 0000000000..cb0f6f7b0c --- /dev/null +++ b/Content.Client/Shuttles/ShuttleConsoleSystem.cs @@ -0,0 +1,9 @@ +using Content.Shared.Shuttles; + +namespace Content.Client.Shuttles +{ + internal sealed class ShuttleConsoleSystem : SharedShuttleConsoleSystem + { + + } +} diff --git a/Content.Client/Tools/Components/WelderComponent.cs b/Content.Client/Tools/Components/WelderComponent.cs index 9c9beb6e82..91efcaf270 100644 --- a/Content.Client/Tools/Components/WelderComponent.cs +++ b/Content.Client/Tools/Components/WelderComponent.cs @@ -15,7 +15,6 @@ namespace Content.Client.Tools.Components { [RegisterComponent] [NetworkedComponent()] - public class WelderComponent : SharedToolComponent, IItemStatus { public override string Name => "Welder"; diff --git a/Content.IntegrationTests/Tests/Doors/AirlockTest.cs b/Content.IntegrationTests/Tests/Doors/AirlockTest.cs index 9e8433b6e0..4bbd571e78 100644 --- a/Content.IntegrationTests/Tests/Doors/AirlockTest.cs +++ b/Content.IntegrationTests/Tests/Doors/AirlockTest.cs @@ -126,8 +126,7 @@ namespace Content.IntegrationTests.Tests.Doors server.Assert(() => { - var mapId = new MapId(1); - mapManager.CreateNewMapEntity(mapId); + var mapId = mapManager.CreateMap(); var humanCoordinates = new MapCoordinates((physicsDummyStartingX, 0), mapId); physicsDummy = entityManager.SpawnEntity("PhysicsDummy", humanCoordinates); @@ -159,6 +158,7 @@ namespace Content.IntegrationTests.Tests.Doors // Sanity check // Sloth: Okay I'm sorry but I hate having to rewrite tests for every refactor // If you see this yell at me in discord so I can continue to pretend this didn't happen. + // REMINDER THAT I STILL HAVE TO FIX THIS TEST EVERY OTHER PHYSICS PR // Assert.That(physicsDummy.Transform.MapPosition.X, Is.GreaterThan(physicsDummyStartingX)); // Blocked by the airlock diff --git a/Content.IntegrationTests/Tests/SaveLoadMapTest.cs b/Content.IntegrationTests/Tests/SaveLoadMapTest.cs index 0769aca59c..61cb861f87 100644 --- a/Content.IntegrationTests/Tests/SaveLoadMapTest.cs +++ b/Content.IntegrationTests/Tests/SaveLoadMapTest.cs @@ -27,12 +27,12 @@ namespace Content.IntegrationTests.Tests var mapLoader = server.ResolveDependency(); var mapManager = server.ResolveDependency(); var entityManager = server.ResolveDependency(); + var resManager = server.ResolveDependency(); server.Post(() => { var dir = new ResourcePath(mapPath).Directory; - IoCManager.Resolve() - .UserData.CreateDir(dir); + resManager.UserData.CreateDir(dir); var mapId = mapManager.CreateMap(new MapId(5)); diff --git a/Content.IntegrationTests/Tests/ShuttleTest.cs b/Content.IntegrationTests/Tests/ShuttleTest.cs new file mode 100644 index 0000000000..1696f36bec --- /dev/null +++ b/Content.IntegrationTests/Tests/ShuttleTest.cs @@ -0,0 +1,49 @@ +#nullable enable +using System.Threading.Tasks; +using Content.Server.Shuttles; +using NUnit.Framework; +using Robust.Shared.GameObjects; +using Robust.Shared.Map; +using Robust.Shared.Maths; +using Robust.Shared.Physics; + +namespace Content.IntegrationTests.Tests +{ + [TestFixture] + public class ShuttleTest : ContentIntegrationTest + { + [Test] + public async Task Test() + { + var server = StartServer(); + + await server.WaitIdleAsync(); + + var entMan = server.ResolveDependency(); + var mapMan = server.ResolveDependency(); + IEntity? gridEnt = null; + + await server.WaitAssertion(() => + { + var mapId = mapMan.CreateMap(); + var grid = mapMan.CreateGrid(mapId); + gridEnt = entMan.GetEntity(grid.GridEntityId); + + Assert.That(gridEnt.TryGetComponent(out ShuttleComponent? shuttleComponent)); + Assert.That(gridEnt.TryGetComponent(out PhysicsComponent? physicsComponent)); + Assert.That(physicsComponent!.BodyType, Is.EqualTo(BodyType.Dynamic)); + Assert.That(gridEnt.Transform.LocalPosition, Is.EqualTo(Vector2.Zero)); + physicsComponent.ApplyLinearImpulse(Vector2.One); + }); + + // TODO: Should have tests that collision + rendertree + pointlights work on a moved grid but I'll deal with that + // when we get rotations. + await server.WaitRunTicks(1); + + await server.WaitAssertion(() => + { + Assert.That(gridEnt?.Transform.LocalPosition, Is.Not.EqualTo(Vector2.Zero)); + }); + } + } +} diff --git a/Content.IntegrationTests/Tests/Utility/EntitySystemExtensionsTest.cs b/Content.IntegrationTests/Tests/Utility/EntitySystemExtensionsTest.cs index 8f3b154593..08f8a411f5 100644 --- a/Content.IntegrationTests/Tests/Utility/EntitySystemExtensionsTest.cs +++ b/Content.IntegrationTests/Tests/Utility/EntitySystemExtensionsTest.cs @@ -5,6 +5,7 @@ using Content.Shared.Spawning; using NUnit.Framework; using Robust.Shared.GameObjects; using Robust.Shared.Map; +using Robust.Shared.Physics; using Robust.Shared.Physics.Broadphase; namespace Content.IntegrationTests.Tests.Utility @@ -39,7 +40,7 @@ namespace Content.IntegrationTests.Tests.Utility var sMapManager = server.ResolveDependency(); var sEntityManager = server.ResolveDependency(); - var broady = server.ResolveDependency().GetEntitySystem(); + var broady = server.ResolveDependency().GetEntitySystem(); await server.WaitAssertion(() => { diff --git a/Content.Server/AI/Utils/Visibility.cs b/Content.Server/AI/Utils/Visibility.cs index c374b6534a..ad79951620 100644 --- a/Content.Server/AI/Utils/Visibility.cs +++ b/Content.Server/AI/Utils/Visibility.cs @@ -41,7 +41,7 @@ namespace Content.Server.AI.Utils angle.ToVec(), (int)(CollisionGroup.Opaque | CollisionGroup.Impassable | CollisionGroup.MobImpassable)); - var rayCastResults = EntitySystem.Get().IntersectRay(owner.Transform.MapID, ray, range, owner).ToList(); + var rayCastResults = EntitySystem.Get().IntersectRay(owner.Transform.MapID, ray, range, owner).ToList(); return rayCastResults.Count > 0 && rayCastResults[0].HitEntity == target; } diff --git a/Content.Server/Alert/Click/StopPiloting.cs b/Content.Server/Alert/Click/StopPiloting.cs index 3708bd2a7f..51d5cb17bc 100644 --- a/Content.Server/Alert/Click/StopPiloting.cs +++ b/Content.Server/Alert/Click/StopPiloting.cs @@ -1,6 +1,8 @@ -using Content.Server.Shuttle; +using Content.Server.Shuttles; using Content.Shared.Alert; +using Content.Shared.Shuttles; using JetBrains.Annotations; +using Robust.Shared.GameObjects; using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Server.Alert.Click @@ -14,9 +16,10 @@ namespace Content.Server.Alert.Click { public void AlertClicked(ClickAlertEventArgs args) { - if (args.Player.TryGetComponent(out ShuttleControllerComponent? controller)) + if (args.Player.TryGetComponent(out PilotComponent? pilotComponent) && + pilotComponent.Console != null) { - controller.RemoveController(); + EntitySystem.Get().RemovePilot(pilotComponent); } } } diff --git a/Content.Server/Doors/Components/ServerDoorComponent.cs b/Content.Server/Doors/Components/ServerDoorComponent.cs index 589ead48fd..278e8f8695 100644 --- a/Content.Server/Doors/Components/ServerDoorComponent.cs +++ b/Content.Server/Doors/Components/ServerDoorComponent.cs @@ -19,6 +19,7 @@ using Robust.Shared.Containers; using Robust.Shared.GameObjects; using Robust.Shared.Log; using Robust.Shared.Maths; +using Robust.Shared.Physics; using Robust.Shared.Physics.Broadphase; using Robust.Shared.Physics.Collision; using Robust.Shared.Physics.Dynamics; @@ -387,7 +388,7 @@ namespace Content.Server.Doors.Components if (safety && Owner.TryGetComponent(out PhysicsComponent? physicsComponent)) { - var broadPhaseSystem = EntitySystem.Get(); + var broadPhaseSystem = EntitySystem.Get(); // Use this version so we can ignore the CanCollide being false foreach(var e in broadPhaseSystem.GetCollidingEntities(physicsComponent.Owner.Transform.MapID, physicsComponent.GetWorldAABB())) diff --git a/Content.Server/Physics/Controllers/MoverController.cs b/Content.Server/Physics/Controllers/MoverController.cs index 20b6d97528..cfdcd0a655 100644 --- a/Content.Server/Physics/Controllers/MoverController.cs +++ b/Content.Server/Physics/Controllers/MoverController.cs @@ -1,21 +1,26 @@ +using System; using System.Collections.Generic; using Content.Server.Inventory.Components; using Content.Server.Items; using Content.Server.Movement.Components; -using Content.Server.Shuttle; +using Content.Server.Shuttles; using Content.Shared.Audio; +using Content.Shared.CCVar; using Content.Shared.Inventory; using Content.Shared.Maps; using Content.Shared.Movement; using Content.Shared.Movement.Components; +using Content.Shared.Shuttles; using Content.Shared.Tag; using Robust.Server.GameObjects; using Robust.Shared.Audio; +using Robust.Shared.Configuration; using Robust.Shared.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Log; using Robust.Shared.Map; using Robust.Shared.Maths; +using Robust.Shared.Physics; using Robust.Shared.Physics.Collision.Shapes; using Robust.Shared.Physics.Dynamics; using Robust.Shared.Player; @@ -37,12 +42,17 @@ namespace Content.Server.Physics.Controllers private const float StepSoundMoveDistanceRunning = 2; private const float StepSoundMoveDistanceWalking = 1.5f; + private float _shuttleDockSpeedCap; + private HashSet _excludedMobs = new(); public override void Initialize() { base.Initialize(); _audioSystem = EntitySystem.Get(); + + var configManager = IoCManager.Resolve(); + configManager.OnValueChanged(CCVars.ShuttleDockSpeedCap, value => _shuttleDockSpeedCap = value, true); } public override void UpdateBeforeSolve(bool prediction, float frameTime) @@ -56,8 +66,9 @@ namespace Content.Server.Physics.Controllers HandleMobMovement(mover, physics, mobMover); } - foreach (var mover in ComponentManager.EntityQuery()) + foreach (var (pilot, mover) in ComponentManager.EntityQuery()) { + if (pilot.Console == null) continue; _excludedMobs.Add(mover.Owner.Uid); HandleShuttleMovement(mover); } @@ -76,13 +87,70 @@ namespace Content.Server.Physics.Controllers * The reason for this is that vehicles change direction very slowly compared to players so you don't really have the requirement for quick movement anyway * As such could probably just look at applying a force / impulse to the shuttle server-side only so it controls like the titanic. */ - private void HandleShuttleMovement(ShuttleControllerComponent mover) + private void HandleShuttleMovement(SharedPlayerInputMoverComponent mover) { var gridId = mover.Owner.Transform.GridID; if (!_mapManager.TryGetGrid(gridId, out var grid) || !EntityManager.TryGetEntity(grid.GridEntityId, out var gridEntity)) return; - // This is on shuttle branch trust me + if (!gridEntity.TryGetComponent(out ShuttleComponent? shuttleComponent) || + !gridEntity.TryGetComponent(out PhysicsComponent? physicsComponent)) + { + return; + } + + // Depending whether you have "cruise" mode on (tank controls, higher speed) or "docking" mode on (strafing, lower speed) + // inputs will do different things. + // TODO: Do that + float speedCap; + // This is comically fast for debugging + var angularSpeed = 20000f; + + // ShuttleSystem has already worked out the ratio so we'll just multiply it back by the mass. + var movement = (mover.VelocityDir.walking + mover.VelocityDir.sprinting); + + switch (shuttleComponent.Mode) + { + case ShuttleMode.Docking: + if (movement.Length != 0f) + physicsComponent.ApplyLinearImpulse(physicsComponent.Owner.Transform.WorldRotation.RotateVec(movement) * shuttleComponent.SpeedMultipler * physicsComponent.Mass); + + speedCap = _shuttleDockSpeedCap; + break; + case ShuttleMode.Cruise: + if (movement.Length != 0.0f) + { + // Currently this is slow BUT we'd have a separate multiplier for docking and cruising or whatever. + physicsComponent.ApplyLinearImpulse((physicsComponent.Owner.Transform.WorldRotation + new Angle(MathF.PI / 2)).ToVec() * + shuttleComponent.SpeedMultipler * + physicsComponent.Mass * + movement.Y * + 10); + physicsComponent.ApplyAngularImpulse(movement.X * angularSpeed); + } + + // TODO WHEN THIS ACTUALLY WORKS + speedCap = _shuttleDockSpeedCap * 10; + break; + default: + throw new ArgumentOutOfRangeException(); + } + + // Look don't my ride ass on this stuff most of the PR was just getting the thing working, we can + // ideaguys the shit out of it later. + + var velocity = physicsComponent.LinearVelocity; + + if (velocity.Length < 0.1f && movement.Length == 0f) + { + physicsComponent.LinearVelocity = Vector2.Zero; + return; + } + + if (velocity.Length > speedCap) + { + physicsComponent.LinearVelocity = velocity.Normalized * speedCap; + } } protected override void HandleFootsteps(IMoverComponent mover, IMobMoverComponent mobMover) diff --git a/Content.Server/Physics/TestbedCommand.cs b/Content.Server/Physics/TestbedCommand.cs index d3e52bc0c8..fbc0e37b07 100644 --- a/Content.Server/Physics/TestbedCommand.cs +++ b/Content.Server/Physics/TestbedCommand.cs @@ -50,7 +50,7 @@ namespace Content.Server.Physics public class TestbedCommand : IConsoleCommand { public string Command => "testbed"; - public string Description => "Loads a physics testbed and teleports your player there"; + public string Description => "Loads a physics testbed on the specified map."; public string Help => $"{Command} "; public void Execute(IConsoleShell shell, string argStr, string[] args) { @@ -127,7 +127,10 @@ namespace Content.Server.Physics CollisionMask = (int) CollisionGroup.Impassable, Hard = true }; - ground.AddFixture(horizontalFixture); + + var broadphase = EntitySystem.Get(); + + broadphase.CreateFixture(ground, horizontalFixture); var vertical = new EdgeShape(new Vector2(10, 0), new Vector2(10, 10)); var verticalFixture = new Fixture(ground, vertical) @@ -136,7 +139,8 @@ namespace Content.Server.Physics CollisionMask = (int) CollisionGroup.Impassable, Hard = true }; - ground.AddFixture(verticalFixture); + + broadphase.CreateFixture(ground, verticalFixture); var xs = new[] { @@ -157,7 +161,6 @@ namespace Content.Server.Physics new MapCoordinates(new Vector2(xs[j] + x, 0.55f + 2.1f * i), mapId)).AddComponent(); box.BodyType = BodyType.Dynamic; - box.SleepingAllowed = false; shape = new PolygonShape(); shape.SetAsBox(0.5f, 0.5f); box.FixedRotation = false; @@ -169,7 +172,8 @@ namespace Content.Server.Physics CollisionLayer = (int) CollisionGroup.Impassable, Hard = true, }; - box.AddFixture(fixture); + + broadphase.CreateFixture(box, fixture); } } } @@ -187,7 +191,9 @@ namespace Content.Server.Physics CollisionMask = (int) CollisionGroup.Impassable, Hard = true }; - ground.AddFixture(horizontalFixture); + + var broadphase = EntitySystem.Get(); + broadphase.CreateFixture(ground, horizontalFixture); var vertical = new EdgeShape(new Vector2(10, 0), new Vector2(10, 10)); var verticalFixture = new Fixture(ground, vertical) @@ -196,7 +202,8 @@ namespace Content.Server.Physics CollisionMask = (int) CollisionGroup.Impassable, Hard = true }; - ground.AddFixture(verticalFixture); + + broadphase.CreateFixture(ground, verticalFixture); var xs = new[] { @@ -217,7 +224,6 @@ namespace Content.Server.Physics new MapCoordinates(new Vector2(xs[j] + x, 0.55f + 2.1f * i), mapId)).AddComponent(); box.BodyType = BodyType.Dynamic; - box.SleepingAllowed = false; shape = new PhysShapeCircle {Radius = 0.5f}; box.FixedRotation = false; // TODO: Need to detect shape and work out if we need to use fixedrotation @@ -228,7 +234,8 @@ namespace Content.Server.Physics CollisionLayer = (int) CollisionGroup.Impassable, Hard = true, }; - box.AddFixture(fixture); + + broadphase.CreateFixture(box, fixture); } } } @@ -249,7 +256,8 @@ namespace Content.Server.Physics Hard = true }; - ground.AddFixture(horizontalFixture); + var broadphase = EntitySystem.Get(); + broadphase.CreateFixture(ground, horizontalFixture); // Setup boxes float a = 0.5f; @@ -270,13 +278,13 @@ namespace Content.Server.Physics var box = entityManager.SpawnEntity(null, new MapCoordinates(0, 0, mapId)).AddComponent(); box.BodyType = BodyType.Dynamic; box.Owner.Transform.WorldPosition = y; - box.AddFixture( + broadphase.CreateFixture(box, new Fixture(box, shape) { - CollisionLayer = (int) CollisionGroup.Impassable, - CollisionMask = (int) CollisionGroup.Impassable, - Hard = true, - Mass = 5.0f, - }); + CollisionLayer = (int) CollisionGroup.Impassable, + CollisionMask = (int) CollisionGroup.Impassable, + Hard = true, + Mass = 5.0f, + }); y += deltaY; } diff --git a/Content.Server/Shuttle/ShuttleControllerComponent.cs b/Content.Server/Shuttle/ShuttleControllerComponent.cs deleted file mode 100644 index f3e3bd5a5e..0000000000 --- a/Content.Server/Shuttle/ShuttleControllerComponent.cs +++ /dev/null @@ -1,197 +0,0 @@ -using Content.Server.Alert; -using Content.Server.Buckle.Components; -using Content.Server.Mind.Components; -using Content.Shared.Alert; -using Content.Shared.Buckle.Components; -using Content.Shared.Movement.Components; -using Robust.Shared.GameObjects; -using Robust.Shared.Log; -using Robust.Shared.Maths; -using Robust.Shared.Serialization.Manager.Attributes; -using Robust.Shared.ViewVariables; - -namespace Content.Server.Shuttle -{ - [RegisterComponent] - [ComponentReference(typeof(IMoverComponent))] - internal class ShuttleControllerComponent : Component, IMoverComponent - { - private bool _movingUp; - private bool _movingDown; - private bool _movingLeft; - private bool _movingRight; - - /// - /// ID of the alert to show when piloting - /// - [DataField("pilotingAlertType")] - private AlertType _pilotingAlertType = AlertType.PilotingShuttle; - - /// - /// The entity that's currently controlling this component. - /// Changed from and - /// - private IEntity? _controller; - - public override string Name => "ShuttleController"; - - public bool IgnorePaused => false; - - [ViewVariables(VVAccess.ReadWrite)] - public float CurrentWalkSpeed { get; } = 8; - public float CurrentSprintSpeed => 0; - - public bool Sprinting => false; - - public (Vector2 walking, Vector2 sprinting) VelocityDir { get; set; } = (Vector2.Zero, Vector2.Zero); - - public void SetVelocityDirection(Direction direction, ushort subTick, bool enabled) - { - VelocityDir = (CalcNewVelocity(direction, enabled), Vector2.Zero); - } - - public void SetSprinting(ushort subTick, bool walking) - { - // Shuttles can't sprint. - } - - private Vector2 CalcNewVelocity(Direction direction, bool enabled) - { - switch (direction) - { - case Direction.East: - _movingRight = enabled; - break; - case Direction.North: - _movingUp = enabled; - break; - case Direction.West: - _movingLeft = enabled; - break; - case Direction.South: - _movingDown = enabled; - break; - } - - // key directions are in screen coordinates - // _moveDir is in world coordinates - // if the camera is moved, this needs to be changed - - var x = 0; - x -= _movingLeft ? 1 : 0; - x += _movingRight ? 1 : 0; - - var y = 0; - y -= _movingDown ? 1 : 0; - y += _movingUp ? 1 : 0; - - var result = new Vector2(x, y); - - // can't normalize zero length vector - if (result.LengthSquared > 1.0e-6) - { - result = result.Normalized; - } - - return result; - } - - /// - /// Changes the entity currently controlling this shuttle controller - /// - /// The entity to set - private void SetController(IEntity entity) - { - if (_controller != null || - !entity.TryGetComponent(out MindComponent? mind) || - mind.Mind == null || - !Owner.TryGetComponent(out ServerAlertsComponent? status)) - { - return; - } - - mind.Mind.Visit(Owner); - _controller = entity; - - status.ShowAlert(_pilotingAlertType); - } - - /// - /// Removes the current controller - /// - /// The entity to remove, or null to force the removal of any current controller - public void RemoveController(IEntity? entity = null) - { - if (_controller == null) - { - return; - } - - // If we are not forcing a controller removal and the entity is not the current controller - if (entity != null && entity != _controller) - { - return; - } - - UpdateRemovedEntity(entity ?? _controller); - - _controller = null; - } - - /// - /// Updates the state of an entity that is no longer controlling this shuttle controller. - /// Called from - /// - /// The entity to update - private void UpdateRemovedEntity(IEntity entity) - { - if (Owner.TryGetComponent(out ServerAlertsComponent? status)) - { - status.ClearAlert(_pilotingAlertType); - } - - if (entity.TryGetComponent(out MindComponent? mind)) - { - mind.Mind?.UnVisit(); - } - - if (entity.TryGetComponent(out BuckleComponent? buckle)) - { - buckle.TryUnbuckle(entity, true); - } - } - - private void BuckleChanged(IEntity entity, in bool buckled) - { - Logger.DebugS("shuttle", $"Pilot={entity.Name}, buckled={buckled}"); - - if (buckled) - { - SetController(entity); - } - else - { - RemoveController(entity); - } - } - - protected override void Initialize() - { - base.Initialize(); - Owner.EnsureComponent(); - } - - /// - public override void HandleMessage(ComponentMessage message, IComponent? component) - { - base.HandleMessage(message, component); - - switch (message) - { - case StrapChangeMessage strap: - BuckleChanged(strap.Entity, strap.Buckled); - break; - } - } - } -} diff --git a/Content.Server/Shuttles/ShuttleComponent.cs b/Content.Server/Shuttles/ShuttleComponent.cs new file mode 100644 index 0000000000..5cbf09536d --- /dev/null +++ b/Content.Server/Shuttles/ShuttleComponent.cs @@ -0,0 +1,11 @@ +using Content.Shared.Shuttles; +using Robust.Shared.GameObjects; + +namespace Content.Server.Shuttles +{ + [RegisterComponent] + public class ShuttleComponent : SharedShuttleComponent + { + + } +} diff --git a/Content.Server/Shuttles/ShuttleConsoleComponent.cs b/Content.Server/Shuttles/ShuttleConsoleComponent.cs new file mode 100644 index 0000000000..4a7e1ffc4d --- /dev/null +++ b/Content.Server/Shuttles/ShuttleConsoleComponent.cs @@ -0,0 +1,21 @@ +using System.Collections.Generic; +using Content.Shared.Shuttles; +using Robust.Shared.GameObjects; +using Robust.Shared.ViewVariables; + +namespace Content.Server.Shuttles +{ + [RegisterComponent] + [ComponentReference(typeof(SharedShuttleConsoleComponent))] + internal sealed class ShuttleConsoleComponent : SharedShuttleConsoleComponent + { + [ViewVariables] + public List SubscribedPilots = new(); + + /// + /// Whether the console can be used to pilot. Toggled whenever it gets powered / unpowered. + /// + [ViewVariables] + public bool Enabled { get; set; } = false; + } +} diff --git a/Content.Server/Shuttles/ShuttleConsoleSystem.cs b/Content.Server/Shuttles/ShuttleConsoleSystem.cs new file mode 100644 index 0000000000..d31eaf492a --- /dev/null +++ b/Content.Server/Shuttles/ShuttleConsoleSystem.cs @@ -0,0 +1,169 @@ +using System.Linq; +using Content.Server.Alert; +using Content.Server.Power.Components; +using Content.Shared.ActionBlocker; +using Content.Shared.Alert; +using Content.Shared.Interaction; +using Content.Shared.Notification.Managers; +using Content.Shared.Shuttles; +using Content.Shared.Tag; +using Robust.Shared.GameObjects; +using Robust.Shared.Localization; + +namespace Content.Server.Shuttles +{ + internal sealed class ShuttleConsoleSystem : SharedShuttleConsoleSystem + { + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(HandleConsoleShutdown); + SubscribeLocalEvent(HandlePilotShutdown); + SubscribeLocalEvent(HandleConsoleInteract); + SubscribeLocalEvent(HandlePilotMove); + SubscribeLocalEvent(HandlePowerChange); + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + foreach (var comp in ComponentManager.EntityQuery().ToArray()) + { + if (comp.Console == null) continue; + + if (!Get().CanInteract(comp.Owner)) + { + RemovePilot(comp); + } + } + } + + /// + /// Console requires power to operate. + /// + private void HandlePowerChange(EntityUid uid, ShuttleConsoleComponent component, PowerChangedEvent args) + { + if (!args.Powered) + { + component.Enabled = false; + + ClearPilots(component); + } + else + { + component.Enabled = true; + } + } + + /// + /// If pilot is moved then we'll stop them from piloting. + /// + private void HandlePilotMove(EntityUid uid, PilotComponent component, MoveEvent args) + { + if (component.Console == null) return; + RemovePilot(component); + } + + /// + /// For now pilots just interact with the console and can start piloting with wasd. + /// + private void HandleConsoleInteract(EntityUid uid, ShuttleConsoleComponent component, ActivateInWorldEvent args) + { + if (!args.User.HasTag("CanPilot")) + { + return; + } + + var pilotComponent = args.User.EnsureComponent(); + + if (!component.Enabled) + { + args.User.PopupMessage($"Console is not powered."); + return; + } + + args.Handled = true; + var console = pilotComponent.Console; + + if (console != null) + { + RemovePilot(pilotComponent); + + if (console != component) + { + return; + } + } + + AddPilot(args.User, component); + } + + private void HandlePilotShutdown(EntityUid uid, PilotComponent component, ComponentShutdown args) + { + RemovePilot(component); + } + + private void HandleConsoleShutdown(EntityUid uid, ShuttleConsoleComponent component, ComponentShutdown args) + { + ClearPilots(component); + } + + public void AddPilot(IEntity entity, ShuttleConsoleComponent component) + { + if (!Get().CanInteract(entity) || + !entity.TryGetComponent(out PilotComponent? pilotComponent) || + component.SubscribedPilots.Contains(pilotComponent)) + { + return; + } + + component.SubscribedPilots.Add(pilotComponent); + + if (entity.TryGetComponent(out ServerAlertsComponent? alertsComponent)) + { + alertsComponent.ShowAlert(AlertType.PilotingShuttle); + } + + entity.PopupMessage(Loc.GetString("shuttle-pilot-start")); + pilotComponent.Console = component; + pilotComponent.Dirty(); + } + + public void RemovePilot(PilotComponent pilotComponent) + { + var console = pilotComponent.Console; + + if (console is not ShuttleConsoleComponent helmsman) return; + + pilotComponent.Console = null; + + if (!helmsman.SubscribedPilots.Remove(pilotComponent)) return; + + if (pilotComponent.Owner.TryGetComponent(out ServerAlertsComponent? alertsComponent)) + { + alertsComponent.ClearAlert(AlertType.PilotingShuttle); + } + + pilotComponent.Owner.PopupMessage(Loc.GetString("shuttle-pilot-end")); + // TODO: RemoveComponent is cooked and doesn't sync to client so this fucks up movement prediction. + // ComponentManager.RemoveComponent(pilotComponent.Owner.Uid); + pilotComponent.Console = null; + pilotComponent.Dirty(); + } + + public void RemovePilot(IEntity entity) + { + if (!entity.TryGetComponent(out PilotComponent? pilotComponent)) return; + + RemovePilot(pilotComponent); + } + + public void ClearPilots(ShuttleConsoleComponent component) + { + foreach (var pilot in component.SubscribedPilots) + { + RemovePilot(pilot); + } + } + } +} diff --git a/Content.Server/Shuttles/ShuttleSystem.cs b/Content.Server/Shuttles/ShuttleSystem.cs new file mode 100644 index 0000000000..8479d00148 --- /dev/null +++ b/Content.Server/Shuttles/ShuttleSystem.cs @@ -0,0 +1,147 @@ +using System; +using Content.Shared.Shuttles; +using JetBrains.Annotations; +using Robust.Server.Physics; +using Robust.Shared.Configuration; +using Robust.Shared.GameObjects; +using Robust.Shared.IoC; +using Robust.Shared.Physics; + +namespace Content.Server.Shuttles +{ + [UsedImplicitly] + internal sealed class ShuttleSystem : EntitySystem + { + private const float TileMassMultiplier = 1f; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(HandleShuttleStartup); + SubscribeLocalEvent(HandleShuttleShutdown); + + SubscribeLocalEvent(HandleGridInit); + SubscribeLocalEvent(HandleGridFixtureChange); + } + + private void HandleGridFixtureChange(GridFixtureChangeEvent args) + { + var fixture = args.NewFixture; + + if (fixture == null) return; + + fixture.Mass = fixture.Area * TileMassMultiplier; + + if (fixture.Body.Owner.TryGetComponent(out ShuttleComponent? shuttleComponent)) + { + RecalculateSpeedMultiplier(shuttleComponent, fixture.Body); + } + } + + private void HandleGridInit(GridInitializeEvent ev) + { + EntityManager.GetEntity(ev.EntityUid).EnsureComponent(); + } + + /// + /// Cache the thrust available to this shuttle. + /// + private void RecalculateSpeedMultiplier(SharedShuttleComponent shuttle, PhysicsComponent physics) + { + // TODO: Need per direction speed (Never Eat Soggy Weetbix). + // TODO: This will need hella tweaking. + var thrusters = physics.FixtureCount; + + if (thrusters == 0) + { + shuttle.SpeedMultipler = 0f; + } + + const float ThrustPerThruster = 0.25f; + const float MinimumThrustRequired = 0.005f; + + // Just so someone can't slap a single thruster on a station and call it a day; need to hit a minimum amount. + var thrustRatio = Math.Max(0, thrusters * ThrustPerThruster / physics.Mass); + + if (thrustRatio < MinimumThrustRequired) + shuttle.SpeedMultipler = 0f; + + const float MaxThrust = 10f; + // This doesn't need to align with MinimumThrustRequired; if you set this higher it just means the first few additional + // thrusters won't do anything. + const float MinThrust = MinimumThrustRequired; + + shuttle.SpeedMultipler = MathF.Max(MinThrust, MathF.Min(MaxThrust, thrustRatio)); + } + + private void HandleShuttleStartup(EntityUid uid, ShuttleComponent component, ComponentStartup args) + { + if (!component.Owner.HasComponent()) + { + return; + } + + if (!component.Owner.TryGetComponent(out PhysicsComponent? physicsComponent)) + { + return; + } + + if (component.Enabled) + { + Enable(physicsComponent); + } + + if (component.Owner.TryGetComponent(out ShuttleComponent? shuttleComponent)) + { + RecalculateSpeedMultiplier(shuttleComponent, physicsComponent); + } + } + + public void Toggle(ShuttleComponent component) + { + if (!component.Owner.TryGetComponent(out PhysicsComponent? physicsComponent)) return; + + component.Enabled = !component.Enabled; + + if (component.Enabled) + { + Enable(physicsComponent); + } + else + { + Disable(physicsComponent); + } + } + + private void Enable(PhysicsComponent component) + { + component.BodyType = BodyType.Dynamic; + component.BodyStatus = BodyStatus.InAir; + //component.FixedRotation = false; TODO WHEN ROTATING SHUTTLES FIXED. + component.FixedRotation = true; + component.LinearDamping = 0.05f; + } + + private void Disable(PhysicsComponent component) + { + component.BodyType = BodyType.Static; + component.BodyStatus = BodyStatus.OnGround; + component.FixedRotation = true; + } + + private void HandleShuttleShutdown(EntityUid uid, ShuttleComponent component, ComponentShutdown args) + { + if (!component.Owner.TryGetComponent(out PhysicsComponent? physicsComponent)) + { + return; + } + + Disable(physicsComponent); + + foreach (var fixture in physicsComponent.Fixtures) + { + fixture.Mass = 0f; + } + } + } +} diff --git a/Content.Server/Singularity/Components/ContainmentFieldGeneratorComponent.cs b/Content.Server/Singularity/Components/ContainmentFieldGeneratorComponent.cs index eb6141157b..c0e21f9b5b 100644 --- a/Content.Server/Singularity/Components/ContainmentFieldGeneratorComponent.cs +++ b/Content.Server/Singularity/Components/ContainmentFieldGeneratorComponent.cs @@ -100,7 +100,7 @@ namespace Content.Server.Singularity.Components var dirVec = direction.ToVec(); var ray = new CollisionRay(Owner.Transform.WorldPosition, dirVec, (int) CollisionGroup.MobMask); - var rawRayCastResults = EntitySystem.Get().IntersectRay(Owner.Transform.MapID, ray, 4.5f, Owner, false); + var rawRayCastResults = EntitySystem.Get().IntersectRay(Owner.Transform.MapID, ray, 4.5f, Owner, false); var rayCastResults = rawRayCastResults as RayCastResults[] ?? rawRayCastResults.ToArray(); if(!rayCastResults.Any()) continue; diff --git a/Content.Server/Solar/EntitySystems/PowerSolarSystem.cs b/Content.Server/Solar/EntitySystems/PowerSolarSystem.cs index 06ce6e0527..31a952594d 100644 --- a/Content.Server/Solar/EntitySystems/PowerSolarSystem.cs +++ b/Content.Server/Solar/EntitySystems/PowerSolarSystem.cs @@ -137,7 +137,7 @@ namespace Content.Server.Solar.EntitySystems // Determine if the solar panel is occluded, and zero out coverage if so. // FIXME: The "Opaque" collision group doesn't seem to work right now. var ray = new CollisionRay(entity.Transform.WorldPosition, TowardsSun.ToWorldVec(), (int) CollisionGroup.Opaque); - var rayCastResults = EntitySystem.Get().IntersectRay(entity.Transform.MapID, ray, SunOcclusionCheckDistance, entity); + var rayCastResults = EntitySystem.Get().IntersectRay(entity.Transform.MapID, ray, SunOcclusionCheckDistance, entity); if (rayCastResults.Any()) coverage = 0; } diff --git a/Content.Server/Weapon/Melee/MeleeWeaponSystem.cs b/Content.Server/Weapon/Melee/MeleeWeaponSystem.cs index 0c7a42785c..c369d8f794 100644 --- a/Content.Server/Weapon/Melee/MeleeWeaponSystem.cs +++ b/Content.Server/Weapon/Melee/MeleeWeaponSystem.cs @@ -217,7 +217,7 @@ namespace Content.Server.Weapon.Melee for (var i = 0; i < increments; i++) { var castAngle = new Angle(baseAngle + increment * i); - var res = EntitySystem.Get().IntersectRay(mapId, + var res = EntitySystem.Get().IntersectRay(mapId, new CollisionRay(position, castAngle.ToWorldVec(), (int) (CollisionGroup.Impassable | CollisionGroup.MobImpassable)), range, ignore).ToList(); diff --git a/Content.Server/Weapon/Ranged/Barrels/Components/ServerRangedBarrelComponent.cs b/Content.Server/Weapon/Ranged/Barrels/Components/ServerRangedBarrelComponent.cs index 754757d7e9..fc9b52cf66 100644 --- a/Content.Server/Weapon/Ranged/Barrels/Components/ServerRangedBarrelComponent.cs +++ b/Content.Server/Weapon/Ranged/Barrels/Components/ServerRangedBarrelComponent.cs @@ -366,7 +366,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components // FIXME: Work around issue where inserting and removing an entity from a container, // then setting its linear velocity in the same tick resets velocity back to zero. - // See SharedBroadPhaseSystem.HandleContainerInsert()... It sets Awake to false, which causes this. + // See SharedBroadphaseSystem.HandleContainerInsert()... It sets Awake to false, which causes this. projectile.SpawnTimer(TimeSpan.FromMilliseconds(25), () => { projectile @@ -402,7 +402,7 @@ namespace Content.Server.Weapon.Ranged.Barrels.Components private void FireHitscan(IEntity shooter, HitscanComponent hitscan, Angle angle) { var ray = new CollisionRay(Owner.Transform.Coordinates.ToMapPos(Owner.EntityManager), angle.ToVec(), (int) hitscan.CollisionMask); - var physicsManager = EntitySystem.Get(); + var physicsManager = EntitySystem.Get(); var rayCastResults = physicsManager.IntersectRay(Owner.Transform.MapID, ray, hitscan.MaxLength, shooter, false).ToList(); if (rayCastResults.Count >= 1) diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index d1fc2f7856..54d7c4bd89 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -339,6 +339,14 @@ namespace Content.Shared.CCVar public static readonly CVarDef BanHardwareIds = CVarDef.Create("ban.hardware_ids", false, CVar.SERVERONLY); + + /* + * Shuttles + */ + // Once cruising actually gets implemented I'd likely drop this speed to 3 maybe. + public static readonly CVarDef ShuttleDockSpeedCap = + CVarDef.Create("shuttle.dock_speed_cap", 5f, CVar.SERVERONLY); + /* * VIEWPORT */ diff --git a/Content.Shared/Construction/Conditions/WallmountCondition.cs b/Content.Shared/Construction/Conditions/WallmountCondition.cs index ae5a3ce7a0..f86fa59d8f 100644 --- a/Content.Shared/Construction/Conditions/WallmountCondition.cs +++ b/Content.Shared/Construction/Conditions/WallmountCondition.cs @@ -33,7 +33,7 @@ namespace Content.Shared.Construction.Conditions return false; // now we need to check that user actually tries to build wallmount on a wall - var physics = EntitySystem.Get(); + var physics = EntitySystem.Get(); var rUserToObj = new CollisionRay(userWorldPosition, userToObject.Normalized, (int) CollisionGroup.Impassable); var length = userToObject.Length; var userToObjRaycastResults = physics.IntersectRayWithPredicate(user.Transform.MapID, rUserToObj, maxLength: length, diff --git a/Content.Shared/Examine/ExamineSystemShared.cs b/Content.Shared/Examine/ExamineSystemShared.cs index 4d83f5d694..1785fbc795 100644 --- a/Content.Shared/Examine/ExamineSystemShared.cs +++ b/Content.Shared/Examine/ExamineSystemShared.cs @@ -72,6 +72,9 @@ namespace Content.Shared.Examine public static bool InRangeUnOccluded(MapCoordinates origin, MapCoordinates other, float range, Ignored? predicate, bool ignoreInsideBlocker = true) { + if (origin.MapId == MapId.Nullspace || + other.MapId == MapId.Nullspace) return false; + var occluderSystem = Get(); if (!origin.InRange(other, range)) return false; diff --git a/Content.Shared/Friction/SharedTileFrictionController.cs b/Content.Shared/Friction/SharedTileFrictionController.cs index 606873f435..9140a6d272 100644 --- a/Content.Shared/Friction/SharedTileFrictionController.cs +++ b/Content.Shared/Friction/SharedTileFrictionController.cs @@ -7,7 +7,7 @@ using Robust.Shared.Configuration; using Robust.Shared.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Map; -using Robust.Shared.Physics.Broadphase; +using Robust.Shared.Physics; using Robust.Shared.Physics.Controllers; using Robust.Shared.Physics.Dynamics; @@ -20,7 +20,7 @@ namespace Content.Shared.Friction [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly ITileDefinitionManager _tileDefinitionManager = default!; - private SharedBroadPhaseSystem _broadPhaseSystem = default!; + private SharedBroadphaseSystem _broadPhaseSystem = default!; private float _stopSpeed; @@ -29,7 +29,7 @@ namespace Content.Shared.Friction public override void Initialize() { base.Initialize(); - _broadPhaseSystem = EntitySystem.Get(); + _broadPhaseSystem = EntitySystem.Get(); _frictionModifier = _configManager.GetCVar(CCVars.TileFrictionModifier); _configManager.OnValueChanged(CCVars.TileFrictionModifier, value => _frictionModifier = value); diff --git a/Content.Shared/Interaction/SharedInteractionSystem.cs b/Content.Shared/Interaction/SharedInteractionSystem.cs index d15e0ee256..7f50cf0063 100644 --- a/Content.Shared/Interaction/SharedInteractionSystem.cs +++ b/Content.Shared/Interaction/SharedInteractionSystem.cs @@ -46,7 +46,7 @@ namespace Content.Shared.Interaction predicate ??= _ => false; var ray = new CollisionRay(origin.Position, dir.Normalized, collisionMask); - var rayResults = Get().IntersectRayWithPredicate(origin.MapId, ray, dir.Length, predicate.Invoke, false).ToList(); + var rayResults = Get().IntersectRayWithPredicate(origin.MapId, ray, dir.Length, predicate.Invoke, false).ToList(); if (rayResults.Count == 0) return dir.Length; return (rayResults[0].HitPos - origin.Position).Length; @@ -122,7 +122,7 @@ namespace Content.Shared.Interaction predicate ??= _ => false; var ray = new CollisionRay(origin.Position, dir.Normalized, (int) collisionMask); - var rayResults = Get().IntersectRayWithPredicate(origin.MapId, ray, dir.Length, predicate.Invoke, false).ToList(); + var rayResults = Get().IntersectRayWithPredicate(origin.MapId, ray, dir.Length, predicate.Invoke, false).ToList(); if (rayResults.Count == 0) return true; diff --git a/Content.Shared/Maps/TurfHelpers.cs b/Content.Shared/Maps/TurfHelpers.cs index c04fe25278..6b6613b617 100644 --- a/Content.Shared/Maps/TurfHelpers.cs +++ b/Content.Shared/Maps/TurfHelpers.cs @@ -181,7 +181,7 @@ namespace Content.Shared.Maps /// public static bool IsBlockedTurf(this TileRef turf, bool filterMobs) { - var physics = EntitySystem.Get(); + var physics = EntitySystem.Get(); var worldBox = GetWorldTileBox(turf); diff --git a/Content.Shared/Movement/SharedMoverController.cs b/Content.Shared/Movement/SharedMoverController.cs index 59e2e81774..d48d7ff3b9 100644 --- a/Content.Shared/Movement/SharedMoverController.cs +++ b/Content.Shared/Movement/SharedMoverController.cs @@ -20,12 +20,12 @@ namespace Content.Shared.Movement { [Dependency] private readonly IMapManager _mapManager = default!; - private SharedBroadPhaseSystem _broadPhaseSystem = default!; + private SharedBroadphaseSystem _broadPhaseSystem = default!; public override void Initialize() { base.Initialize(); - _broadPhaseSystem = EntitySystem.Get(); + _broadPhaseSystem = EntitySystem.Get(); } /// @@ -100,7 +100,7 @@ namespace Content.Shared.Movement physicsComponent.LinearVelocity = total; } - public static bool UseMobMovement(SharedBroadPhaseSystem broadPhaseSystem, PhysicsComponent body, IMapManager mapManager) + public static bool UseMobMovement(SharedBroadphaseSystem broadPhaseSystem, PhysicsComponent body, IMapManager mapManager) { return (body.BodyStatus == BodyStatus.OnGround) & body.Owner.HasComponent() && @@ -118,7 +118,7 @@ namespace Content.Shared.Movement /// /// /// - public static bool IsAroundCollider(SharedBroadPhaseSystem broadPhaseSystem, ITransformComponent transform, IMobMoverComponent mover, IPhysBody collider) + public static bool IsAroundCollider(SharedBroadphaseSystem broadPhaseSystem, ITransformComponent transform, IMobMoverComponent mover, IPhysBody collider) { var enlargedAABB = collider.GetWorldAABB().Enlarged(mover.GrabRange); diff --git a/Content.Shared/Shuttles/PilotComponent.cs b/Content.Shared/Shuttles/PilotComponent.cs new file mode 100644 index 0000000000..2303c3a1dc --- /dev/null +++ b/Content.Shared/Shuttles/PilotComponent.cs @@ -0,0 +1,58 @@ +using System; +using Robust.Shared.GameObjects; +using Robust.Shared.GameStates; +using Robust.Shared.Log; +using Robust.Shared.Players; +using Robust.Shared.Serialization; +using Robust.Shared.ViewVariables; + +namespace Content.Shared.Shuttles +{ + /// + /// Stores what shuttle this entity is currently piloting. + /// + [RegisterComponent] + [NetworkedComponent()] + public sealed class PilotComponent : Component + { + public override string Name => "Pilot"; + [ViewVariables] public SharedShuttleConsoleComponent? Console { get; set; } + + public override void HandleComponentState(ComponentState? curState, ComponentState? nextState) + { + base.HandleComponentState(curState, nextState); + if (curState is not PilotComponentState state) return; + + if (state.Console == null) + { + Console = null; + return; + } + + if (!Owner.EntityManager.TryGetEntity(state.Console.Value, out var consoleEnt) || + !consoleEnt.TryGetComponent(out SharedShuttleConsoleComponent? shuttleConsoleComponent)) + { + Logger.Warning($"Unable to set Helmsman console to {state.Console.Value}"); + return; + } + + Console = shuttleConsoleComponent; + } + + public override ComponentState GetComponentState(ICommonSession player) + { + return new PilotComponentState(Console?.Owner.Uid); + } + + [Serializable, NetSerializable] + private sealed class PilotComponentState : ComponentState + { + public EntityUid? Console { get; } + + public PilotComponentState(EntityUid? uid) + { + Console = uid; + } + } + } +} diff --git a/Content.Shared/Shuttles/SharedShuttleComponent.cs b/Content.Shared/Shuttles/SharedShuttleComponent.cs new file mode 100644 index 0000000000..cc7ba7fe65 --- /dev/null +++ b/Content.Shared/Shuttles/SharedShuttleComponent.cs @@ -0,0 +1,28 @@ +using Robust.Shared.GameObjects; +using Robust.Shared.ViewVariables; + +namespace Content.Shared.Shuttles +{ + public abstract class SharedShuttleComponent : Component + { + public override string Name => "Shuttle"; + + [ViewVariables] + public virtual bool Enabled { get; set; } = true; + + /// + /// How much our linear impulse is multiplied by. + /// + [ViewVariables(VVAccess.ReadWrite)] + public float SpeedMultipler { get; set; } = 200.0f; + + [ViewVariables] + public ShuttleMode Mode { get; set; } = ShuttleMode.Docking; + } + + public enum ShuttleMode : byte + { + Docking, + Cruise, + } +} diff --git a/Content.Shared/Shuttles/SharedShuttleConsoleComponent.cs b/Content.Shared/Shuttles/SharedShuttleConsoleComponent.cs new file mode 100644 index 0000000000..13c1c4a211 --- /dev/null +++ b/Content.Shared/Shuttles/SharedShuttleConsoleComponent.cs @@ -0,0 +1,14 @@ +using Robust.Shared.GameObjects; +using Robust.Shared.GameStates; + +namespace Content.Shared.Shuttles +{ + /// + /// Interact with to start piloting a shuttle. + /// + [NetworkedComponent()] + public abstract class SharedShuttleConsoleComponent : Component + { + public override string Name => "ShuttleConsole"; + } +} diff --git a/Content.Shared/Shuttles/SharedShuttleConsoleSystem.cs b/Content.Shared/Shuttles/SharedShuttleConsoleSystem.cs new file mode 100644 index 0000000000..8e9070571c --- /dev/null +++ b/Content.Shared/Shuttles/SharedShuttleConsoleSystem.cs @@ -0,0 +1,20 @@ +using Content.Shared.Movement; +using Robust.Shared.GameObjects; + +namespace Content.Shared.Shuttles +{ + public abstract class SharedShuttleConsoleSystem : EntitySystem + { + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(HandleMovementBlock); + } + + private void HandleMovementBlock(EntityUid uid, PilotComponent component, MovementAttemptEvent args) + { + if (component.Console == null) return; + args.Cancel(); + } + } +} diff --git a/Content.Shared/Spawning/EntitySystemExtensions.cs b/Content.Shared/Spawning/EntitySystemExtensions.cs index a9b98eb8a0..6ec0226358 100644 --- a/Content.Shared/Spawning/EntitySystemExtensions.cs +++ b/Content.Shared/Spawning/EntitySystemExtensions.cs @@ -3,6 +3,7 @@ using Content.Shared.Physics; using Robust.Shared.GameObjects; using Robust.Shared.Map; using Robust.Shared.Maths; +using Robust.Shared.Physics; using Robust.Shared.Physics.Broadphase; namespace Content.Shared.Spawning @@ -15,9 +16,9 @@ namespace Content.Shared.Spawning EntityCoordinates coordinates, CollisionGroup collisionLayer, in Box2? box = null, - SharedBroadPhaseSystem? physicsManager = null) + SharedBroadphaseSystem? physicsManager = null) { - physicsManager ??= EntitySystem.Get(); + physicsManager ??= EntitySystem.Get(); var mapCoordinates = coordinates.ToMap(entityManager); return entityManager.SpawnIfUnobstructed(prototypeName, mapCoordinates, collisionLayer, box, physicsManager); @@ -29,10 +30,10 @@ namespace Content.Shared.Spawning MapCoordinates coordinates, CollisionGroup collisionLayer, in Box2? box = null, - SharedBroadPhaseSystem? collision = null) + SharedBroadphaseSystem? collision = null) { var boxOrDefault = box.GetValueOrDefault(Box2.UnitCentered); - collision ??= EntitySystem.Get(); + collision ??= EntitySystem.Get(); foreach (var body in collision.GetCollidingEntities(coordinates.MapId, in boxOrDefault)) { @@ -60,7 +61,7 @@ namespace Content.Shared.Spawning CollisionGroup collisionLayer, [NotNullWhen(true)] out IEntity? entity, Box2? box = null, - SharedBroadPhaseSystem? physicsManager = null) + SharedBroadphaseSystem? physicsManager = null) { entity = entityManager.SpawnIfUnobstructed(prototypeName, coordinates, collisionLayer, box, physicsManager); @@ -74,7 +75,7 @@ namespace Content.Shared.Spawning CollisionGroup collisionLayer, [NotNullWhen(true)] out IEntity? entity, in Box2? box = null, - SharedBroadPhaseSystem? physicsManager = null) + SharedBroadphaseSystem? physicsManager = null) { entity = entityManager.SpawnIfUnobstructed(prototypeName, coordinates, collisionLayer, box, physicsManager); diff --git a/Content.Shared/Throwing/ThrownItemSystem.cs b/Content.Shared/Throwing/ThrownItemSystem.cs index cabfe81d1c..70cd566203 100644 --- a/Content.Shared/Throwing/ThrownItemSystem.cs +++ b/Content.Shared/Throwing/ThrownItemSystem.cs @@ -39,7 +39,8 @@ namespace Content.Shared.Throwing Logger.Error($"Tried to remove throwing fixture for {component.Owner} but none found?"); return; } - physicsComponent.RemoveFixture(fixture); + + Get().DestroyFixture(physicsComponent, fixture); } private void ThrowItem(EntityUid uid, ThrownItemComponent component, ThrownEvent args) @@ -54,8 +55,7 @@ namespace Content.Shared.Throwing } var shape = physicsComponent.Fixtures[0].Shape; - var fixture = new Fixture(physicsComponent, shape) {CollisionLayer = (int) CollisionGroup.ThrownItem, Hard = false, ID = ThrowingFixture}; - physicsComponent.AddFixture(fixture); + Get().CreateFixture(physicsComponent, new Fixture(physicsComponent, shape) {CollisionLayer = (int) CollisionGroup.ThrownItem, Hard = false, ID = ThrowingFixture}); } private void HandleCollision(EntityUid uid, ThrownItemComponent component, StartCollideEvent args) diff --git a/Resources/Locale/en-US/shuttles/console.ftl b/Resources/Locale/en-US/shuttles/console.ftl new file mode 100644 index 0000000000..dfd8b6734c --- /dev/null +++ b/Resources/Locale/en-US/shuttles/console.ftl @@ -0,0 +1,2 @@ +shuttle-pilot-start = Piloting ship +shuttle-pilot-end = Stopped piloting \ No newline at end of file diff --git a/Resources/Maps/saltern.yml b/Resources/Maps/saltern.yml index cd8bb69256..2c0fd2c5ac 100644 --- a/Resources/Maps/saltern.yml +++ b/Resources/Maps/saltern.yml @@ -1271,8 +1271,6 @@ entities: pos: 58.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 153 type: CableHV components: @@ -1281,8 +1279,6 @@ entities: pos: 58.5,-29.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 154 type: SignDirectionalEvac components: @@ -1997,8 +1993,7 @@ entities: - uid: 218 type: Recycler components: - - anchored: True - pos: -21.5,-13.5 + - pos: -21.5,-13.5 parent: 853 type: Transform - uid: 219 @@ -12342,6 +12337,290 @@ entities: - 0 - 0 type: GridAtmosphere + - linearDamping: 0.05 + fixtures: + - shape: !type:PolygonShape + vertices: + - 0,-16 + - 0,0 + - -16,0 + - -16,-16 + id: grid_chunk--1--1 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 0,0 + - 0,16 + - -16,16 + - -16,0 + id: grid_chunk--1-0 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 16,-16 + - 16,0 + - 0,0 + - 0,-16 + id: grid_chunk-0--1 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 16,0 + - 16,16 + - 0,16 + - 0,0 + id: grid_chunk-0-0 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 32,0 + - 32,16 + - 16,16 + - 16,0 + id: grid_chunk-1-0 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 16,16 + - 16,32 + - 0,32 + - 0,16 + id: grid_chunk-0-1 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - -16,0 + - -16,16 + - -32,16 + - -32,0 + id: grid_chunk--2-0 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 32,-16 + - 32,0 + - 16,0 + - 16,-16 + id: grid_chunk-1--1 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 16,-32 + - 16,-16 + - 0,-16 + - 0,-32 + id: grid_chunk-0--2 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 29,-27 + - 29,-16 + - 16,-16 + - 16,-27 + id: grid_chunk-1--2 + mask: [] + layer: [] + mass: 143 + - shape: !type:PolygonShape + vertices: + - 0,16 + - 0,32 + - -16,32 + - -16,16 + id: grid_chunk--1-1 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - -16,16 + - -16,27 + - -20,27 + - -20,16 + id: grid_chunk--2-1 + mask: [] + layer: [] + mass: 44 + - shape: !type:PolygonShape + vertices: + - 0,32 + - 0,34 + - -3,34 + - -3,32 + id: grid_chunk--1-2 + mask: [] + layer: [] + mass: 6 + - shape: !type:PolygonShape + vertices: + - 18,16 + - 18,17 + - 16,17 + - 16,16 + id: grid_chunk-1-1 + mask: [] + layer: [] + mass: 2 + - shape: !type:PolygonShape + vertices: + - 10,32 + - 10,34 + - 0,34 + - 0,32 + id: grid_chunk-0-2 + mask: [] + layer: [] + mass: 20 + - shape: !type:PolygonShape + vertices: + - 48,0 + - 48,16 + - 32,16 + - 32,0 + id: grid_chunk-2-0 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 52,0 + - 52,15 + - 48,15 + - 48,0 + id: grid_chunk-3-0 + mask: [] + layer: [] + mass: 60 + - shape: !type:PolygonShape + vertices: + - 48,-16 + - 48,0 + - 32,0 + - 32,-16 + id: grid_chunk-2--1 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - 0,-31 + - 0,-16 + - -16,-16 + - -16,-31 + id: grid_chunk--1--2 + mask: [] + layer: [] + mass: 240 + - shape: !type:PolygonShape + vertices: + - -16,-28 + - -16,-16 + - -26,-16 + - -26,-28 + id: grid_chunk--2--2 + mask: [] + layer: [] + mass: 120 + - shape: !type:PolygonShape + vertices: + - -16,-16 + - -16,0 + - -32,0 + - -32,-16 + id: grid_chunk--2--1 + mask: [] + layer: [] + mass: 256 + - shape: !type:PolygonShape + vertices: + - -32,0 + - -32,16 + - -42,16 + - -42,0 + id: grid_chunk--3-0 + mask: [] + layer: [] + mass: 160 + - shape: !type:PolygonShape + vertices: + - -32,-13 + - -32,0 + - -40,0 + - -40,-13 + id: grid_chunk--3--1 + mask: [] + layer: [] + mass: 104 + - shape: !type:PolygonShape + vertices: + - 56,-16 + - 56,0 + - 48,0 + - 48,-16 + id: grid_chunk-3--1 + mask: [] + layer: [] + mass: 128 + - shape: !type:PolygonShape + vertices: + - 48,-32 + - 48,-16 + - 40,-16 + - 40,-32 + id: grid_chunk-2--2 + mask: [] + layer: [] + mass: 128 + - shape: !type:PolygonShape + vertices: + - 59,-32 + - 59,-16 + - 48,-16 + - 48,-32 + id: grid_chunk-3--2 + mask: [] + layer: [] + mass: 176 + - shape: !type:PolygonShape + vertices: + - 59,-34 + - 59,-32 + - 48,-32 + - 48,-34 + id: grid_chunk-3--3 + mask: [] + layer: [] + mass: 22 + - shape: !type:PolygonShape + vertices: + - 48,-34 + - 48,-32 + - 40,-32 + - 40,-34 + id: grid_chunk-2--3 + mask: [] + layer: [] + mass: 16 + bodyType: Dynamic + type: Physics - uid: 854 type: Catwalk components: @@ -12495,8 +12774,7 @@ entities: - uid: 873 type: Autolathe components: - - anchored: True - pos: 29.5,-2.5 + - pos: 29.5,-2.5 parent: 853 type: Transform - containers: @@ -12516,8 +12794,7 @@ entities: - uid: 875 type: Protolathe components: - - anchored: True - pos: 29.5,-1.5 + - pos: 29.5,-1.5 parent: 853 type: Transform - containers: @@ -12624,8 +12901,7 @@ entities: - uid: 889 type: GravityGenerator components: - - anchored: True - rot: 4.371139006309477E-08 rad + - rot: 4.371139006309477E-08 rad pos: 49.5,-4.5 parent: 853 type: Transform @@ -12678,8 +12954,7 @@ entities: - uid: 894 type: KitchenMicrowave components: - - anchored: True - rot: 4.371139006309477E-08 rad + - rot: 4.371139006309477E-08 rad pos: -14.5,-1.5 parent: 853 type: Transform @@ -13394,8 +13669,6 @@ entities: pos: 1.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 995 type: Catwalk components: @@ -13420,8 +13693,6 @@ entities: pos: 0.5,2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 998 type: CableApcExtension components: @@ -13429,8 +13700,6 @@ entities: pos: 1.5,2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 999 type: WallSolid components: @@ -13565,8 +13834,6 @@ entities: pos: 22.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1013 type: DisposalPipe components: @@ -13626,8 +13893,6 @@ entities: pos: -6.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1020 type: Catwalk components: @@ -13806,8 +14071,7 @@ entities: - uid: 1043 type: Autolathe components: - - anchored: True - pos: -5.5,-12.5 + - pos: -5.5,-12.5 parent: 853 type: Transform - containers: @@ -13819,8 +14083,7 @@ entities: - uid: 1044 type: Protolathe components: - - anchored: True - pos: -3.5,-12.5 + - pos: -3.5,-12.5 parent: 853 type: Transform - containers: @@ -14432,8 +14695,6 @@ entities: pos: -6.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1118 type: CableHV components: @@ -14441,8 +14702,6 @@ entities: pos: -4.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1119 type: Catwalk components: @@ -16715,8 +16974,6 @@ entities: pos: -32.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1352 type: WallSolid components: @@ -17793,8 +18050,6 @@ entities: pos: -7.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1484 type: Window components: @@ -18195,8 +18450,6 @@ entities: pos: 58.5,-28.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1540 type: SignArmory components: @@ -18254,8 +18507,6 @@ entities: pos: 58.5,-32.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1547 type: CableHV components: @@ -18264,8 +18515,6 @@ entities: pos: 57.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1548 type: ReinforcedWindow components: @@ -19692,8 +19941,6 @@ entities: pos: 54.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1754 type: LowWall components: @@ -19729,8 +19976,6 @@ entities: pos: 58.5,-30.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1759 type: WallSolid components: @@ -19886,8 +20131,6 @@ entities: pos: 56.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1781 type: CableHV components: @@ -19896,8 +20139,6 @@ entities: pos: 58.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1782 type: SignDirectionalBridge components: @@ -19920,8 +20161,6 @@ entities: pos: 52.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1785 type: WallSolid components: @@ -20202,8 +20441,6 @@ entities: pos: 53.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1826 type: CableHV components: @@ -20212,8 +20449,6 @@ entities: pos: 55.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 1827 type: WallReinforced components: @@ -22041,8 +22276,6 @@ entities: pos: -7.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2086 type: WallSolid components: @@ -22064,8 +22297,6 @@ entities: pos: 1.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2089 type: WallSolid components: @@ -24340,8 +24571,6 @@ entities: pos: -1.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2411 type: ShotgunGladstone components: @@ -24387,8 +24616,6 @@ entities: pos: -3.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2416 type: CableApcExtension components: @@ -24396,8 +24623,6 @@ entities: pos: -2.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2417 type: WallSolid components: @@ -24419,8 +24644,6 @@ entities: pos: -4.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2420 type: WallSolid components: @@ -25279,8 +25502,6 @@ entities: pos: -28.5,12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2529 type: CableApcExtension components: @@ -25361,8 +25582,6 @@ entities: pos: -25.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2536 type: CableApcExtension components: @@ -25383,8 +25602,6 @@ entities: pos: -26.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2538 type: CableApcExtension components: @@ -25525,8 +25742,6 @@ entities: pos: -28.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2550 type: CableApcExtension components: @@ -25535,8 +25750,6 @@ entities: pos: -17.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2551 type: CableApcExtension components: @@ -25569,8 +25782,6 @@ entities: pos: -16.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2554 type: SalternApc components: @@ -25601,8 +25812,6 @@ entities: pos: -17.5,15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2557 type: CableApcExtension components: @@ -25827,8 +26036,6 @@ entities: pos: -7.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2576 type: CableApcExtension components: @@ -25837,8 +26044,6 @@ entities: pos: -12.5,12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2577 type: CableApcExtension components: @@ -26159,8 +26364,6 @@ entities: pos: 0.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2604 type: CableApcExtension components: @@ -26169,8 +26372,6 @@ entities: pos: 0.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2605 type: CableApcExtension components: @@ -26179,8 +26380,6 @@ entities: pos: -0.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2606 type: CableApcExtension components: @@ -26189,8 +26388,6 @@ entities: pos: -3.5,15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2607 type: CableApcExtension components: @@ -26271,8 +26468,6 @@ entities: pos: -3.5,15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2614 type: CableApcExtension components: @@ -26365,8 +26560,6 @@ entities: pos: -10.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2622 type: CableApcExtension components: @@ -26687,8 +26880,6 @@ entities: pos: 1.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2649 type: CableApcExtension components: @@ -26721,8 +26912,6 @@ entities: pos: -39.5,11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2652 type: CableApcExtension components: @@ -27199,8 +27388,6 @@ entities: pos: -18.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2692 type: CableApcExtension components: @@ -27209,8 +27396,6 @@ entities: pos: -17.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2693 type: CableApcExtension components: @@ -27219,8 +27404,6 @@ entities: pos: -18.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2694 type: CableApcExtension components: @@ -27229,8 +27412,6 @@ entities: pos: -30.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2695 type: CableApcExtension components: @@ -27263,8 +27444,6 @@ entities: pos: -30.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2698 type: CableApcExtension components: @@ -27429,8 +27608,6 @@ entities: pos: -30.5,-0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2712 type: CableApcExtension components: @@ -27499,8 +27676,6 @@ entities: pos: -27.5,-0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2718 type: CableApcExtension components: @@ -27540,8 +27715,6 @@ entities: pos: -32.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2722 type: CableApcExtension components: @@ -27622,8 +27795,6 @@ entities: pos: -32.5,0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2729 type: CableApcExtension components: @@ -27632,8 +27803,6 @@ entities: pos: -32.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2730 type: CableApcExtension components: @@ -27642,8 +27811,6 @@ entities: pos: -20.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2731 type: CableApcExtension components: @@ -27788,6 +27955,16 @@ entities: type: Sprite - canCollide: False type: Physics +- uid: 2743 + type: ComputerShuttle + components: + - pos: 2.5,32.5 + parent: 853 + type: Transform + - containers: + board: !type:Container + ents: [] + type: ContainerContainer - uid: 2744 type: CableApcExtension components: @@ -27964,8 +28141,6 @@ entities: pos: -18.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2759 type: CableApcExtension components: @@ -28118,8 +28293,6 @@ entities: pos: -22.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2772 type: CableApcExtension components: @@ -28139,8 +28312,6 @@ entities: pos: -15.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2774 type: CableApcExtension components: @@ -28149,8 +28320,6 @@ entities: pos: -15.5,-5.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2775 type: CableApcExtension components: @@ -28159,8 +28328,6 @@ entities: pos: -15.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2776 type: CableApcExtension components: @@ -28169,8 +28336,6 @@ entities: pos: -11.5,2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2777 type: CableApcExtension components: @@ -28227,8 +28392,6 @@ entities: pos: -11.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2782 type: CableApcExtension components: @@ -28751,8 +28914,6 @@ entities: pos: -5.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2826 type: CableApcExtension components: @@ -28881,8 +29042,6 @@ entities: pos: -5.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2837 type: CableApcExtension components: @@ -28891,8 +29050,6 @@ entities: pos: -4.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2838 type: CableApcExtension components: @@ -28901,8 +29058,6 @@ entities: pos: -4.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2839 type: CableApcExtension components: @@ -28911,8 +29066,6 @@ entities: pos: -3.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2840 type: CableApcExtension components: @@ -28921,8 +29074,6 @@ entities: pos: -2.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2841 type: CableApcExtension components: @@ -28931,8 +29082,6 @@ entities: pos: -1.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2842 type: CableApcExtension components: @@ -28941,8 +29090,6 @@ entities: pos: -0.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2843 type: CableApcExtension components: @@ -28951,8 +29098,6 @@ entities: pos: 0.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2844 type: CableApcExtension components: @@ -28961,8 +29106,6 @@ entities: pos: 0.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2845 type: CableApcExtension components: @@ -28971,8 +29114,6 @@ entities: pos: 0.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2846 type: CableApcExtension components: @@ -28981,8 +29122,6 @@ entities: pos: 0.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2847 type: CableApcExtension components: @@ -28991,8 +29130,6 @@ entities: pos: -0.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2848 type: CableApcExtension components: @@ -29001,8 +29138,6 @@ entities: pos: -1.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2849 type: CableApcExtension components: @@ -29143,8 +29278,6 @@ entities: pos: -9.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2861 type: CableApcExtension components: @@ -29201,8 +29334,6 @@ entities: pos: -7.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2866 type: CableApcExtension components: @@ -29463,8 +29594,6 @@ entities: pos: 0.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2888 type: CableApcExtension components: @@ -29521,8 +29650,6 @@ entities: pos: -6.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2893 type: CableApcExtension components: @@ -29543,8 +29670,6 @@ entities: pos: -14.5,-16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2895 type: CableApcExtension components: @@ -29721,8 +29846,6 @@ entities: pos: -1.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2910 type: CableApcExtension components: @@ -29731,8 +29854,6 @@ entities: pos: -0.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2911 type: CableApcExtension components: @@ -29741,8 +29862,6 @@ entities: pos: 0.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2912 type: CableApcExtension components: @@ -29751,8 +29870,6 @@ entities: pos: 7.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2913 type: CableApcExtension components: @@ -29773,8 +29890,6 @@ entities: pos: 7.5,-19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2915 type: CableApcExtension components: @@ -29867,8 +29982,6 @@ entities: pos: 14.5,-19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2923 type: CableApcExtension components: @@ -29937,8 +30050,6 @@ entities: pos: 6.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2929 type: CableApcExtension components: @@ -29995,8 +30106,6 @@ entities: pos: 11.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2934 type: CableApcExtension components: @@ -30053,8 +30162,6 @@ entities: pos: 25.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2939 type: CableApcExtension components: @@ -30063,8 +30170,6 @@ entities: pos: 22.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2940 type: CableApcExtension components: @@ -30121,8 +30226,6 @@ entities: pos: 21.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2945 type: CableApcExtension components: @@ -30395,8 +30498,6 @@ entities: pos: 18.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2968 type: CableApcExtension components: @@ -30753,8 +30854,6 @@ entities: pos: 16.5,2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 2998 type: CableApcExtension components: @@ -31095,8 +31194,6 @@ entities: pos: 6.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3027 type: CableApcExtension components: @@ -31189,8 +31286,6 @@ entities: pos: 22.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3035 type: CableApcExtension components: @@ -31199,8 +31294,6 @@ entities: pos: 31.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3036 type: CableApcExtension components: @@ -31341,8 +31434,6 @@ entities: pos: 31.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3048 type: CableApcExtension components: @@ -31543,8 +31634,6 @@ entities: pos: 43.5,10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3065 type: CableApcExtension components: @@ -32069,8 +32158,6 @@ entities: pos: 33.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3109 type: CableApcExtension components: @@ -32115,8 +32202,6 @@ entities: pos: 29.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3113 type: CableApcExtension components: @@ -32125,8 +32210,6 @@ entities: pos: 28.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3114 type: CableApcExtension components: @@ -32135,8 +32218,6 @@ entities: pos: 27.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3115 type: CableApcExtension components: @@ -32325,8 +32406,6 @@ entities: pos: 47.5,-1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3131 type: CableApcExtension components: @@ -32335,8 +32414,6 @@ entities: pos: 47.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3132 type: CableApcExtension components: @@ -32345,8 +32422,6 @@ entities: pos: 47.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3133 type: CableApcExtension components: @@ -32355,8 +32430,6 @@ entities: pos: 48.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3134 type: CableApcExtension components: @@ -32365,8 +32438,6 @@ entities: pos: 49.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3135 type: CableApcExtension components: @@ -32375,8 +32446,6 @@ entities: pos: 50.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3136 type: CableApcExtension components: @@ -32385,8 +32454,6 @@ entities: pos: 51.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3137 type: CableApcExtension components: @@ -32395,8 +32462,6 @@ entities: pos: 51.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3138 type: CableApcExtension components: @@ -32405,8 +32470,6 @@ entities: pos: 51.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3139 type: CableApcExtension components: @@ -32463,8 +32526,6 @@ entities: pos: 28.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3144 type: CableApcExtension components: @@ -32473,8 +32534,6 @@ entities: pos: 28.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3145 type: CableApcExtension components: @@ -32531,8 +32590,6 @@ entities: pos: 28.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3150 type: CableApcExtension components: @@ -32553,8 +32610,6 @@ entities: pos: 26.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3152 type: CableApcExtension components: @@ -32599,8 +32654,6 @@ entities: pos: 27.5,8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3156 type: CableApcExtension components: @@ -32753,8 +32806,6 @@ entities: pos: 35.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3169 type: CableApcExtension components: @@ -32811,8 +32862,6 @@ entities: pos: 24.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3174 type: CableApcExtension components: @@ -32857,8 +32906,6 @@ entities: pos: 58.5,-27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3178 type: Window components: @@ -32908,8 +32955,6 @@ entities: pos: 58.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3183 type: CableHV components: @@ -32918,8 +32963,6 @@ entities: pos: 58.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3184 type: CableApcExtension components: @@ -33072,8 +33115,6 @@ entities: pos: 17.5,8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3197 type: CableApcExtension components: @@ -33106,8 +33147,6 @@ entities: pos: 12.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3200 type: CableApcExtension components: @@ -33224,8 +33263,6 @@ entities: pos: 11.5,10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3210 type: CableApcExtension components: @@ -33342,8 +33379,6 @@ entities: pos: 8.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3220 type: CableApcExtension components: @@ -33352,8 +33387,6 @@ entities: pos: 12.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3221 type: CableApcExtension components: @@ -33362,8 +33395,6 @@ entities: pos: 12.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3222 type: CableApcExtension components: @@ -33372,8 +33403,6 @@ entities: pos: 11.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3223 type: CableApcExtension components: @@ -33382,8 +33411,6 @@ entities: pos: 10.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3224 type: CableApcExtension components: @@ -33428,8 +33455,6 @@ entities: pos: 6.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3228 type: CableApcExtension components: @@ -33438,8 +33463,6 @@ entities: pos: 12.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3229 type: CableApcExtension components: @@ -33520,8 +33543,6 @@ entities: pos: 9.5,22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3236 type: CableApcExtension components: @@ -33782,8 +33803,6 @@ entities: pos: 3.5,22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3258 type: CableApcExtension components: @@ -33816,8 +33835,6 @@ entities: pos: 9.5,27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3261 type: CableApcExtension components: @@ -33982,8 +33999,6 @@ entities: pos: -2.5,27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3275 type: CableApcExtension components: @@ -34318,8 +34333,6 @@ entities: pos: 42.5,0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3304 type: CableHV components: @@ -34328,8 +34341,6 @@ entities: pos: 42.5,-0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3305 type: CableHV components: @@ -34338,8 +34349,6 @@ entities: pos: 42.5,-1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3306 type: CableHV components: @@ -34348,8 +34357,6 @@ entities: pos: 42.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3307 type: CableHV components: @@ -34370,8 +34377,6 @@ entities: pos: 42.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3309 type: CableHV components: @@ -34380,8 +34385,6 @@ entities: pos: 42.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3310 type: CableHV components: @@ -34390,8 +34393,6 @@ entities: pos: 41.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3311 type: CableHV components: @@ -34400,8 +34401,6 @@ entities: pos: 40.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3312 type: CableHV components: @@ -34410,8 +34409,6 @@ entities: pos: 39.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3313 type: CableHV components: @@ -34420,8 +34417,6 @@ entities: pos: 38.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3314 type: CableHV components: @@ -34430,8 +34425,6 @@ entities: pos: 38.5,-5.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3315 type: CableHV components: @@ -34440,8 +34433,6 @@ entities: pos: 38.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3316 type: CableHV components: @@ -34450,8 +34441,6 @@ entities: pos: 38.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3317 type: CableHV components: @@ -34460,8 +34449,6 @@ entities: pos: 37.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3318 type: CableHV components: @@ -34470,8 +34457,6 @@ entities: pos: 36.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3319 type: CableHV components: @@ -34480,8 +34465,6 @@ entities: pos: 35.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3320 type: CableHV components: @@ -34490,8 +34473,6 @@ entities: pos: 34.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3321 type: CableHV components: @@ -34500,8 +34481,6 @@ entities: pos: 33.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3322 type: CableHV components: @@ -34510,8 +34489,6 @@ entities: pos: 32.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3323 type: CableHV components: @@ -34520,8 +34497,6 @@ entities: pos: 31.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3324 type: CableHV components: @@ -34530,8 +34505,6 @@ entities: pos: 30.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3325 type: CableHV components: @@ -34540,8 +34513,6 @@ entities: pos: 29.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3326 type: CableHV components: @@ -34550,8 +34521,6 @@ entities: pos: 28.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3327 type: CableHV components: @@ -34572,8 +34541,6 @@ entities: pos: 26.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3329 type: CableHV components: @@ -34582,8 +34549,6 @@ entities: pos: 26.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3330 type: CableHV components: @@ -34592,8 +34557,6 @@ entities: pos: 26.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3331 type: CableHV components: @@ -34602,8 +34565,6 @@ entities: pos: 26.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3332 type: CableHV components: @@ -34612,8 +34573,6 @@ entities: pos: 26.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3333 type: CableHV components: @@ -34622,8 +34581,6 @@ entities: pos: 26.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3334 type: CableHV components: @@ -34632,8 +34589,6 @@ entities: pos: 26.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3335 type: CableHV components: @@ -34642,8 +34597,6 @@ entities: pos: 26.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3336 type: CableHV components: @@ -34652,8 +34605,6 @@ entities: pos: 26.5,-15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3337 type: CableHV components: @@ -34662,8 +34613,6 @@ entities: pos: 26.5,-16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3338 type: CableHV components: @@ -34672,8 +34621,6 @@ entities: pos: 26.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3339 type: CableHV components: @@ -34682,8 +34629,6 @@ entities: pos: 25.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3340 type: CableHV components: @@ -34692,8 +34637,6 @@ entities: pos: 24.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3341 type: CableHV components: @@ -34702,8 +34645,6 @@ entities: pos: 23.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3342 type: CableHV components: @@ -34712,8 +34653,6 @@ entities: pos: 22.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3343 type: CableHV components: @@ -34722,8 +34661,6 @@ entities: pos: 21.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3344 type: CableHV components: @@ -34732,8 +34669,6 @@ entities: pos: 25.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3345 type: CableHV components: @@ -34742,8 +34677,6 @@ entities: pos: 24.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3346 type: CableHV components: @@ -34752,8 +34685,6 @@ entities: pos: 23.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3347 type: CableHV components: @@ -34762,8 +34693,6 @@ entities: pos: 22.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3348 type: CableHV components: @@ -34772,8 +34701,6 @@ entities: pos: 22.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3349 type: CableHV components: @@ -34782,8 +34709,6 @@ entities: pos: 22.5,-19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3350 type: CableHV components: @@ -34792,8 +34717,6 @@ entities: pos: 22.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3351 type: CableHV components: @@ -34802,8 +34725,6 @@ entities: pos: 22.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3352 type: CableHV components: @@ -34812,8 +34733,6 @@ entities: pos: 22.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3353 type: CableHV components: @@ -34822,8 +34741,6 @@ entities: pos: 22.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3354 type: CableHV components: @@ -34832,8 +34749,6 @@ entities: pos: 22.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3355 type: CableHV components: @@ -34842,8 +34757,6 @@ entities: pos: 22.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3356 type: CableHV components: @@ -34852,8 +34765,6 @@ entities: pos: 21.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3357 type: CableHV components: @@ -34862,8 +34773,6 @@ entities: pos: 20.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3358 type: CableHV components: @@ -34872,8 +34781,6 @@ entities: pos: 19.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3359 type: CableHV components: @@ -34882,8 +34789,6 @@ entities: pos: 18.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3360 type: CableHV components: @@ -34892,8 +34797,6 @@ entities: pos: 17.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3361 type: CableHV components: @@ -34902,8 +34805,6 @@ entities: pos: 16.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3362 type: CableHV components: @@ -34912,8 +34813,6 @@ entities: pos: 15.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3363 type: CableHV components: @@ -34922,8 +34821,6 @@ entities: pos: 14.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3364 type: CableHV components: @@ -34932,8 +34829,6 @@ entities: pos: 14.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3365 type: CableHV components: @@ -34942,8 +34837,6 @@ entities: pos: 14.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3366 type: CableHV components: @@ -34952,8 +34845,6 @@ entities: pos: 14.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3367 type: CableHV components: @@ -34962,8 +34853,6 @@ entities: pos: 14.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3368 type: CableHV components: @@ -34972,8 +34861,6 @@ entities: pos: 14.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3369 type: CableHV components: @@ -34982,8 +34869,6 @@ entities: pos: 13.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3370 type: CableHV components: @@ -34992,8 +34877,6 @@ entities: pos: 12.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3371 type: CableHV components: @@ -35002,8 +34885,6 @@ entities: pos: 11.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3372 type: CableHV components: @@ -35012,8 +34893,6 @@ entities: pos: 10.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3373 type: CableHV components: @@ -35022,8 +34901,6 @@ entities: pos: 9.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3374 type: CableHV components: @@ -35032,8 +34909,6 @@ entities: pos: 8.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3375 type: CableHV components: @@ -35042,8 +34917,6 @@ entities: pos: 7.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3376 type: CableHV components: @@ -35052,8 +34925,6 @@ entities: pos: 6.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3377 type: CableHV components: @@ -35102,8 +34973,6 @@ entities: pos: 14.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3382 type: CableMV components: @@ -35111,8 +34980,6 @@ entities: pos: 13.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3383 type: CableHV components: @@ -35145,8 +35012,6 @@ entities: pos: -0.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3386 type: CableHV components: @@ -35155,8 +35020,6 @@ entities: pos: 0.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3387 type: CableHV components: @@ -35165,8 +35028,6 @@ entities: pos: -0.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3388 type: CableHV components: @@ -35175,8 +35036,6 @@ entities: pos: -0.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3389 type: CableHV components: @@ -35185,8 +35044,6 @@ entities: pos: -0.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3390 type: CableHV components: @@ -35195,8 +35052,6 @@ entities: pos: -1.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3391 type: CableHV components: @@ -35205,8 +35060,6 @@ entities: pos: -2.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3392 type: CableHV components: @@ -35215,8 +35068,6 @@ entities: pos: -3.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3393 type: CableApcExtension components: @@ -35236,8 +35087,6 @@ entities: pos: -4.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3395 type: CableApcExtension components: @@ -35257,8 +35106,6 @@ entities: pos: -7.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3397 type: CableHV components: @@ -35267,8 +35114,6 @@ entities: pos: -8.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3398 type: CableHV components: @@ -35277,8 +35122,6 @@ entities: pos: -9.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3399 type: CableHV components: @@ -35287,8 +35130,6 @@ entities: pos: -10.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3400 type: CableHV components: @@ -35297,8 +35138,6 @@ entities: pos: -11.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3401 type: CableHV components: @@ -35307,8 +35146,6 @@ entities: pos: -11.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3402 type: CableHV components: @@ -35317,8 +35154,6 @@ entities: pos: -11.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3403 type: CableHV components: @@ -35327,8 +35162,6 @@ entities: pos: -11.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3404 type: CableHV components: @@ -35337,8 +35170,6 @@ entities: pos: -11.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3405 type: CableHV components: @@ -35347,8 +35178,6 @@ entities: pos: -11.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3406 type: CableHV components: @@ -35417,8 +35246,6 @@ entities: pos: -11.5,-16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3412 type: CableHV components: @@ -35439,8 +35266,6 @@ entities: pos: -11.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3414 type: CableHV components: @@ -35449,8 +35274,6 @@ entities: pos: -10.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3415 type: CableHV components: @@ -35459,8 +35282,6 @@ entities: pos: -9.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3416 type: CableHV components: @@ -35469,8 +35290,6 @@ entities: pos: -9.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3417 type: CableHV components: @@ -35479,8 +35298,6 @@ entities: pos: -9.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3418 type: CableHV components: @@ -35489,8 +35306,6 @@ entities: pos: -9.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3419 type: CableHV components: @@ -35499,8 +35314,6 @@ entities: pos: -9.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3420 type: CableHV components: @@ -35509,8 +35322,6 @@ entities: pos: -8.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3421 type: CableHV components: @@ -35519,8 +35330,6 @@ entities: pos: -7.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3422 type: CableHV components: @@ -35529,8 +35338,6 @@ entities: pos: -6.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3423 type: CableHV components: @@ -35539,8 +35346,6 @@ entities: pos: -5.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3424 type: CableHV components: @@ -35549,8 +35354,6 @@ entities: pos: -4.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3425 type: CableHV components: @@ -35559,8 +35362,6 @@ entities: pos: -3.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3426 type: CableHV components: @@ -35569,8 +35370,6 @@ entities: pos: -2.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3427 type: CableHV components: @@ -35579,8 +35378,6 @@ entities: pos: -1.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3428 type: CableHV components: @@ -35589,8 +35386,6 @@ entities: pos: -0.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3429 type: CableHV components: @@ -35599,8 +35394,6 @@ entities: pos: 0.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3430 type: CableHV components: @@ -35609,8 +35402,6 @@ entities: pos: 0.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3431 type: CableHV components: @@ -35619,8 +35410,6 @@ entities: pos: 0.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3432 type: CableHV components: @@ -35629,8 +35418,6 @@ entities: pos: 0.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3433 type: CableHV components: @@ -35651,8 +35438,6 @@ entities: pos: -12.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3435 type: CableHV components: @@ -35661,8 +35446,6 @@ entities: pos: -13.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3436 type: CableHV components: @@ -35671,8 +35454,6 @@ entities: pos: -14.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3437 type: CableHV components: @@ -35681,8 +35462,6 @@ entities: pos: -15.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3438 type: CableHV components: @@ -35691,8 +35470,6 @@ entities: pos: -16.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3439 type: CableHV components: @@ -35701,8 +35478,6 @@ entities: pos: -17.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3440 type: CableHV components: @@ -35711,8 +35486,6 @@ entities: pos: -18.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3441 type: CableHV components: @@ -35721,8 +35494,6 @@ entities: pos: -18.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3442 type: CableHV components: @@ -35731,8 +35502,6 @@ entities: pos: -18.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3443 type: CableHV components: @@ -35741,8 +35510,6 @@ entities: pos: -18.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3444 type: CableHV components: @@ -35751,8 +35518,6 @@ entities: pos: -18.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3445 type: CableHV components: @@ -35761,8 +35526,6 @@ entities: pos: -19.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3446 type: CableHV components: @@ -35771,8 +35534,6 @@ entities: pos: -20.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3447 type: CableHV components: @@ -35781,8 +35542,6 @@ entities: pos: -21.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3448 type: CableHV components: @@ -35791,8 +35550,6 @@ entities: pos: -22.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3449 type: CableHV components: @@ -35801,8 +35558,6 @@ entities: pos: -23.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3450 type: CableHV components: @@ -35811,8 +35566,6 @@ entities: pos: -24.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3451 type: CableHV components: @@ -35821,8 +35574,6 @@ entities: pos: -25.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3452 type: CableHV components: @@ -35831,8 +35582,6 @@ entities: pos: -26.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3453 type: CableHV components: @@ -35841,8 +35590,6 @@ entities: pos: -27.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3454 type: CableHV components: @@ -35863,8 +35610,6 @@ entities: pos: -28.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3456 type: CableHV components: @@ -35873,8 +35618,6 @@ entities: pos: -29.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3457 type: CableHV components: @@ -35883,8 +35626,6 @@ entities: pos: -30.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3458 type: CableHV components: @@ -35893,8 +35634,6 @@ entities: pos: -31.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3459 type: CableHV components: @@ -35903,8 +35642,6 @@ entities: pos: -32.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3460 type: CableHV components: @@ -35913,8 +35650,6 @@ entities: pos: -33.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3461 type: CableHV components: @@ -35923,8 +35658,6 @@ entities: pos: -33.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3462 type: CableHV components: @@ -35933,8 +35666,6 @@ entities: pos: -33.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3463 type: CableHV components: @@ -35943,8 +35674,6 @@ entities: pos: -33.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3464 type: CableHV components: @@ -35953,8 +35682,6 @@ entities: pos: -33.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3465 type: CableHV components: @@ -35963,8 +35690,6 @@ entities: pos: -33.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3466 type: CableHV components: @@ -35973,8 +35698,6 @@ entities: pos: -33.5,-5.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3467 type: CableHV components: @@ -35983,8 +35706,6 @@ entities: pos: -33.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3468 type: CableHV components: @@ -35993,8 +35714,6 @@ entities: pos: -33.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3469 type: CableHV components: @@ -36003,8 +35722,6 @@ entities: pos: -33.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3470 type: CableHV components: @@ -36013,8 +35730,6 @@ entities: pos: -33.5,-1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3471 type: CableHV components: @@ -36023,8 +35738,6 @@ entities: pos: -33.5,-0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3472 type: CableHV components: @@ -36033,8 +35746,6 @@ entities: pos: -33.5,0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3473 type: CableHV components: @@ -36043,8 +35754,6 @@ entities: pos: -32.5,0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3474 type: CableHV components: @@ -36053,8 +35762,6 @@ entities: pos: -32.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3475 type: CableHV components: @@ -36111,8 +35818,6 @@ entities: pos: -32.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3480 type: CableHV components: @@ -36121,8 +35826,6 @@ entities: pos: -32.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3481 type: CableHV components: @@ -36131,8 +35834,6 @@ entities: pos: -32.5,8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3482 type: CableHV components: @@ -36141,8 +35842,6 @@ entities: pos: -32.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3483 type: CableHV components: @@ -36151,8 +35850,6 @@ entities: pos: -32.5,10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3484 type: CableHV components: @@ -36161,8 +35858,6 @@ entities: pos: -32.5,11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3485 type: CableHV components: @@ -36171,8 +35866,6 @@ entities: pos: -32.5,12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3486 type: CableHV components: @@ -36181,8 +35874,6 @@ entities: pos: -32.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3487 type: CableHV components: @@ -36191,8 +35882,6 @@ entities: pos: -32.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3488 type: CableHV components: @@ -36201,8 +35890,6 @@ entities: pos: -32.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3489 type: CableHV components: @@ -36211,8 +35898,6 @@ entities: pos: -31.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3490 type: CableHV components: @@ -36221,8 +35906,6 @@ entities: pos: -30.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3491 type: CableHV components: @@ -36231,8 +35914,6 @@ entities: pos: -29.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3492 type: CableHV components: @@ -36241,8 +35922,6 @@ entities: pos: -28.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3493 type: CableHV components: @@ -36251,8 +35930,6 @@ entities: pos: -27.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3494 type: CableHV components: @@ -36261,8 +35938,6 @@ entities: pos: -26.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3495 type: CableHV components: @@ -36271,8 +35946,6 @@ entities: pos: -25.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3496 type: CableHV components: @@ -36281,8 +35954,6 @@ entities: pos: -24.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3497 type: CableHV components: @@ -36291,8 +35962,6 @@ entities: pos: -23.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3498 type: CableHV components: @@ -36301,8 +35970,6 @@ entities: pos: -22.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3499 type: CableHV components: @@ -36311,8 +35978,6 @@ entities: pos: -21.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3500 type: CableHV components: @@ -36321,8 +35986,6 @@ entities: pos: -20.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3501 type: CableHV components: @@ -36331,8 +35994,6 @@ entities: pos: -20.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3502 type: CableHV components: @@ -36341,8 +36002,6 @@ entities: pos: -19.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3503 type: CableHV components: @@ -36351,8 +36010,6 @@ entities: pos: -18.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3504 type: CableHV components: @@ -36361,8 +36018,6 @@ entities: pos: -18.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3505 type: CableHV components: @@ -36371,8 +36026,6 @@ entities: pos: -17.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3506 type: CableHV components: @@ -36381,8 +36034,6 @@ entities: pos: -17.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3507 type: CableHV components: @@ -36391,8 +36042,6 @@ entities: pos: -17.5,15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3508 type: CableHV components: @@ -36401,8 +36050,6 @@ entities: pos: -18.5,16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3509 type: CableHV components: @@ -36435,8 +36082,6 @@ entities: pos: -15.5,16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3512 type: CableHV components: @@ -36445,8 +36090,6 @@ entities: pos: -18.5,17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3513 type: CableHV components: @@ -36455,8 +36098,6 @@ entities: pos: -18.5,18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3514 type: CableHV components: @@ -36465,8 +36106,6 @@ entities: pos: -18.5,19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3515 type: CableHV components: @@ -36475,8 +36114,6 @@ entities: pos: -18.5,20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3516 type: CableHV components: @@ -36485,8 +36122,6 @@ entities: pos: -18.5,21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3517 type: CableHV components: @@ -36495,8 +36130,6 @@ entities: pos: -18.5,22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3518 type: CableHV components: @@ -36505,8 +36138,6 @@ entities: pos: -18.5,23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3519 type: CableHV components: @@ -36515,8 +36146,6 @@ entities: pos: -18.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3520 type: CableHV components: @@ -36525,8 +36154,6 @@ entities: pos: -18.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3521 type: CableHV components: @@ -36535,8 +36162,6 @@ entities: pos: -17.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3522 type: CableHV components: @@ -36545,8 +36170,6 @@ entities: pos: -16.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3523 type: CableHV components: @@ -36555,8 +36178,6 @@ entities: pos: -15.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3524 type: CableHV components: @@ -36565,8 +36186,6 @@ entities: pos: -14.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3525 type: CableHV components: @@ -36575,8 +36194,6 @@ entities: pos: -13.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3526 type: CableHV components: @@ -36585,8 +36202,6 @@ entities: pos: -12.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3527 type: CableHV components: @@ -36595,8 +36210,6 @@ entities: pos: -11.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3528 type: CableHV components: @@ -36605,8 +36218,6 @@ entities: pos: -10.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3529 type: CableHV components: @@ -36615,8 +36226,6 @@ entities: pos: -9.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3530 type: CableHV components: @@ -36625,8 +36234,6 @@ entities: pos: -8.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3531 type: CableHV components: @@ -36635,8 +36242,6 @@ entities: pos: -7.5,25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3532 type: CableHV components: @@ -36645,8 +36250,6 @@ entities: pos: -7.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3533 type: CableHV components: @@ -36655,8 +36258,6 @@ entities: pos: -6.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3534 type: CableHV components: @@ -36665,8 +36266,6 @@ entities: pos: -5.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3535 type: CableHV components: @@ -36675,8 +36274,6 @@ entities: pos: -4.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3536 type: CableHV components: @@ -36685,8 +36282,6 @@ entities: pos: -4.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3537 type: CableHV components: @@ -36695,8 +36290,6 @@ entities: pos: -4.5,23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3538 type: CableHV components: @@ -36705,8 +36298,6 @@ entities: pos: -4.5,22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3539 type: CableHV components: @@ -36715,8 +36306,6 @@ entities: pos: -4.5,21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3540 type: CableHV components: @@ -36725,8 +36314,6 @@ entities: pos: -4.5,21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3541 type: CableHV components: @@ -36735,8 +36322,6 @@ entities: pos: -3.5,21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3542 type: CableHV components: @@ -36745,8 +36330,6 @@ entities: pos: -2.5,21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3543 type: CableHV components: @@ -36755,8 +36338,6 @@ entities: pos: -1.5,21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3544 type: CableHV components: @@ -36765,8 +36346,6 @@ entities: pos: -0.5,21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3545 type: CableHV components: @@ -36775,8 +36354,6 @@ entities: pos: -0.5,20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3546 type: CableHV components: @@ -36929,8 +36506,6 @@ entities: pos: 12.5,20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3559 type: CableHV components: @@ -36975,8 +36550,6 @@ entities: pos: 12.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3563 type: CableHV components: @@ -36985,8 +36558,6 @@ entities: pos: 11.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3564 type: CableHV components: @@ -36995,8 +36566,6 @@ entities: pos: 12.5,20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3565 type: CableHV components: @@ -37005,8 +36574,6 @@ entities: pos: 12.5,19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3566 type: CableHV components: @@ -37015,8 +36582,6 @@ entities: pos: 12.5,18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3567 type: CableHV components: @@ -37025,8 +36590,6 @@ entities: pos: 12.5,17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3568 type: CableHV components: @@ -37035,8 +36598,6 @@ entities: pos: 12.5,16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3569 type: CableHV components: @@ -37045,8 +36606,6 @@ entities: pos: 12.5,15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3570 type: CableHV components: @@ -37055,8 +36614,6 @@ entities: pos: 12.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3571 type: CableHV components: @@ -37065,8 +36622,6 @@ entities: pos: 11.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3572 type: CableHV components: @@ -37075,8 +36630,6 @@ entities: pos: 10.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3573 type: CableHV components: @@ -37085,8 +36638,6 @@ entities: pos: 10.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3574 type: CableHV components: @@ -37095,8 +36646,6 @@ entities: pos: 10.5,12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3575 type: CableHV components: @@ -37117,8 +36666,6 @@ entities: pos: 11.5,11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3577 type: CableHV components: @@ -37279,8 +36826,6 @@ entities: pos: 25.5,11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3591 type: CableHV components: @@ -37325,8 +36870,6 @@ entities: pos: 27.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3595 type: CableHV components: @@ -37347,8 +36890,6 @@ entities: pos: 29.5,11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3597 type: CableHV components: @@ -37453,8 +36994,6 @@ entities: pos: 34.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3606 type: CableHV components: @@ -37599,8 +37138,6 @@ entities: pos: -0.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3620 type: SalternSubstation components: @@ -37636,8 +37173,6 @@ entities: pos: 27.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3624 type: CableMV components: @@ -37646,8 +37181,6 @@ entities: pos: 28.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3625 type: CableMV components: @@ -37656,8 +37189,6 @@ entities: pos: 28.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3626 type: CableMV components: @@ -37666,8 +37197,6 @@ entities: pos: 26.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3627 type: CableMV components: @@ -37676,8 +37205,6 @@ entities: pos: 25.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3628 type: CableMV components: @@ -37698,8 +37225,6 @@ entities: pos: 24.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3630 type: CableMV components: @@ -37792,8 +37317,6 @@ entities: pos: 17.5,12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3638 type: CableMV components: @@ -37862,8 +37385,6 @@ entities: pos: 12.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3644 type: CableMV components: @@ -37872,8 +37393,6 @@ entities: pos: 11.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3645 type: CableMV components: @@ -37894,8 +37413,6 @@ entities: pos: 10.5,24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3647 type: CableMV components: @@ -37916,8 +37433,6 @@ entities: pos: 9.5,22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3649 type: CableMV components: @@ -37974,8 +37489,6 @@ entities: pos: 9.5,27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3654 type: CableMV components: @@ -38152,8 +37665,6 @@ entities: pos: -2.5,27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3669 type: CableMV components: @@ -38162,8 +37673,6 @@ entities: pos: 42.5,-0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3670 type: CableMV components: @@ -38292,8 +37801,6 @@ entities: pos: 48.5,-1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3681 type: CableMV components: @@ -38302,8 +37809,6 @@ entities: pos: 48.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3682 type: CableMV components: @@ -38312,8 +37817,6 @@ entities: pos: 47.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3683 type: CableMV components: @@ -38322,8 +37825,6 @@ entities: pos: 47.5,-1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3684 type: CableMV components: @@ -38332,8 +37833,6 @@ entities: pos: 41.5,-0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3685 type: CableMV components: @@ -38390,8 +37889,6 @@ entities: pos: 36.5,-0.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3690 type: CableMV components: @@ -38472,8 +37969,6 @@ entities: pos: 31.5,1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3697 type: CableMV components: @@ -38578,8 +38073,6 @@ entities: pos: 43.5,10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3706 type: CableMV components: @@ -38588,8 +38081,6 @@ entities: pos: 21.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3707 type: CableMV components: @@ -38598,8 +38089,6 @@ entities: pos: 21.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3708 type: CableMV components: @@ -38668,8 +38157,6 @@ entities: pos: 22.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3714 type: CableMV components: @@ -38678,8 +38165,6 @@ entities: pos: 20.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3715 type: CableMV components: @@ -38700,8 +38185,6 @@ entities: pos: 21.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3717 type: CableMV components: @@ -38938,8 +38421,6 @@ entities: pos: 7.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3737 type: CableMV components: @@ -39092,8 +38573,6 @@ entities: pos: 16.5,2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3750 type: CableMV components: @@ -39102,8 +38581,6 @@ entities: pos: -0.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3751 type: CableMV components: @@ -39112,8 +38589,6 @@ entities: pos: -0.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3752 type: CableMV components: @@ -39158,8 +38633,6 @@ entities: pos: -1.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3756 type: CableMV components: @@ -39276,8 +38749,6 @@ entities: pos: -9.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3766 type: CableMV components: @@ -39382,8 +38853,6 @@ entities: pos: -14.5,-16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3775 type: CableMV components: @@ -39404,8 +38873,6 @@ entities: pos: 0.5,-7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3777 type: CableMV components: @@ -39414,8 +38881,6 @@ entities: pos: 0.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3778 type: CableMV components: @@ -39508,8 +38973,6 @@ entities: pos: -5.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3786 type: CableMV components: @@ -39554,8 +39017,6 @@ entities: pos: -9.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3790 type: CableMV components: @@ -39564,8 +39025,6 @@ entities: pos: -9.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3791 type: CableMV components: @@ -39634,8 +39093,6 @@ entities: pos: -12.5,-5.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3797 type: CableMV components: @@ -39740,8 +39197,6 @@ entities: pos: -11.5,2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3806 type: CableMV components: @@ -39762,8 +39217,6 @@ entities: pos: -21.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3808 type: CableMV components: @@ -39784,8 +39237,6 @@ entities: pos: -20.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3810 type: CableMV components: @@ -39842,8 +39293,6 @@ entities: pos: -16.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3815 type: CableMV components: @@ -39900,8 +39349,6 @@ entities: pos: -21.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3820 type: CableMV components: @@ -39910,8 +39357,6 @@ entities: pos: -21.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3821 type: CableMV components: @@ -39920,8 +39365,6 @@ entities: pos: -20.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3822 type: CableMV components: @@ -39966,8 +39409,6 @@ entities: pos: -26.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3826 type: CableMV components: @@ -40024,8 +39465,6 @@ entities: pos: -29.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3831 type: CableMV components: @@ -40070,8 +39509,6 @@ entities: pos: -30.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3835 type: CableMV components: @@ -40080,8 +39517,6 @@ entities: pos: -32.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3836 type: CableMV components: @@ -40090,8 +39525,6 @@ entities: pos: -32.5,8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3837 type: CableMV components: @@ -40100,8 +39533,6 @@ entities: pos: -32.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3838 type: CableMV components: @@ -40110,8 +39541,6 @@ entities: pos: -33.5,9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3839 type: CableMV components: @@ -40204,8 +39633,6 @@ entities: pos: -39.5,11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3847 type: CableMV components: @@ -40214,8 +39641,6 @@ entities: pos: -28.5,12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3848 type: CableMV components: @@ -40320,8 +39745,6 @@ entities: pos: -15.5,16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3857 type: CableMV components: @@ -40402,8 +39825,6 @@ entities: pos: -12.5,12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3864 type: CableMV components: @@ -40424,8 +39845,6 @@ entities: pos: -10.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3866 type: CableMV components: @@ -40530,8 +39949,6 @@ entities: pos: -3.5,15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3875 type: CableMV components: @@ -40540,8 +39957,6 @@ entities: pos: -15.5,16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3876 type: CableMV components: @@ -41227,8 +40642,6 @@ entities: pos: 13.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3946 type: CableMV components: @@ -41236,8 +40649,6 @@ entities: pos: 13.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3947 type: CableApcExtension components: @@ -41521,8 +40932,6 @@ entities: pos: -26.5,7.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3976 type: CableApcExtension components: @@ -41531,8 +40940,6 @@ entities: pos: -26.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3977 type: CableApcExtension components: @@ -41561,8 +40968,6 @@ entities: pos: -26.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 3980 type: CableApcExtension components: @@ -42170,8 +41575,6 @@ entities: pos: -18.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4049 type: CableApcExtension components: @@ -42179,8 +41582,6 @@ entities: pos: -17.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4050 type: CableApcExtension components: @@ -42188,8 +41589,6 @@ entities: pos: -17.5,14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4051 type: CableHV components: @@ -42198,8 +41597,6 @@ entities: pos: -5.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4052 type: FirelockGlass components: @@ -42216,8 +41613,6 @@ entities: pos: -5.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4054 type: FirelockGlass components: @@ -42234,8 +41629,6 @@ entities: pos: -4.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4056 type: FirelockGlass components: @@ -42299,8 +41692,6 @@ entities: pos: -20.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4064 type: Firelock components: @@ -42328,8 +41719,6 @@ entities: pos: -32.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4067 type: Firelock components: @@ -42390,8 +41779,6 @@ entities: pos: -19.5,13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4074 type: CableApcExtension components: @@ -42399,8 +41786,6 @@ entities: pos: 0.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4075 type: CableApcExtension components: @@ -42408,8 +41793,6 @@ entities: pos: -0.5,6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4076 type: WallSolid components: @@ -43309,8 +42692,7 @@ entities: - uid: 4182 type: KitchenReagentGrinder components: - - anchored: True - rot: 4.371139006309477E-08 rad + - rot: 4.371139006309477E-08 rad pos: -14.5,-0.5 parent: 853 type: Transform @@ -43327,8 +42709,6 @@ entities: pos: 26.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4184 type: CableApcExtension components: @@ -43808,8 +43188,7 @@ entities: - uid: 4247 type: KitchenMicrowave components: - - anchored: True - pos: -7.5,-28.5 + - pos: -7.5,-28.5 parent: 853 type: Transform - containers: @@ -45182,8 +44561,6 @@ entities: pos: 44.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4414 type: CableApcExtension components: @@ -45192,8 +44569,6 @@ entities: pos: 44.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4415 type: CableApcExtension components: @@ -45202,8 +44577,6 @@ entities: pos: 44.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4416 type: CableApcExtension components: @@ -45212,8 +44585,6 @@ entities: pos: 44.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4417 type: CableApcExtension components: @@ -45222,8 +44593,6 @@ entities: pos: 45.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4418 type: CableApcExtension components: @@ -45244,8 +44613,6 @@ entities: pos: 54.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4420 type: CableApcExtension components: @@ -45254,8 +44621,6 @@ entities: pos: 54.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4421 type: CableApcExtension components: @@ -45264,8 +44629,6 @@ entities: pos: 54.5,-10.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4422 type: CableApcExtension components: @@ -45274,8 +44637,6 @@ entities: pos: 54.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4423 type: CableApcExtension components: @@ -45284,8 +44645,6 @@ entities: pos: 53.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4424 type: CableApcExtension components: @@ -45306,8 +44665,6 @@ entities: pos: 51.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4426 type: CableApcExtension components: @@ -45316,8 +44673,6 @@ entities: pos: 47.5,-9.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4427 type: CableApcExtension components: @@ -45362,8 +44717,6 @@ entities: pos: 49.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4431 type: CableApcExtension components: @@ -45384,8 +44737,6 @@ entities: pos: 49.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4433 type: CableApcExtension components: @@ -45394,8 +44745,6 @@ entities: pos: 48.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4434 type: CableApcExtension components: @@ -45404,8 +44753,6 @@ entities: pos: 47.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4435 type: CableApcExtension components: @@ -45414,8 +44761,6 @@ entities: pos: 47.5,-5.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4436 type: CableApcExtension components: @@ -45424,8 +44769,6 @@ entities: pos: 47.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4437 type: CableApcExtension components: @@ -45494,8 +44837,6 @@ entities: pos: 45.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4443 type: CableHV components: @@ -45528,8 +44869,6 @@ entities: pos: 46.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4446 type: CableHV components: @@ -45538,8 +44877,6 @@ entities: pos: 47.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4447 type: CableHV components: @@ -45608,8 +44945,6 @@ entities: pos: 51.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4453 type: CableHV components: @@ -45618,8 +44953,6 @@ entities: pos: 52.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4454 type: CableHV components: @@ -45628,8 +44961,6 @@ entities: pos: 53.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4455 type: CableHV components: @@ -45674,8 +45005,6 @@ entities: pos: 49.5,-8.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4459 type: CableHV components: @@ -45696,8 +45025,6 @@ entities: pos: 49.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4461 type: CableHV components: @@ -45706,8 +45033,6 @@ entities: pos: 48.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4462 type: CableHV components: @@ -45716,8 +45041,6 @@ entities: pos: 47.5,-6.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4463 type: CableHV components: @@ -45726,8 +45049,6 @@ entities: pos: 47.5,-5.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4464 type: CableHV components: @@ -45736,8 +45057,6 @@ entities: pos: 47.5,-4.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4465 type: CableHV components: @@ -45746,8 +45065,6 @@ entities: pos: 47.5,-3.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4466 type: CableHV components: @@ -45756,8 +45073,6 @@ entities: pos: 47.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4467 type: CableHV components: @@ -45766,8 +45081,6 @@ entities: pos: 48.5,-2.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4468 type: CableHV components: @@ -45776,8 +45089,6 @@ entities: pos: 48.5,-1.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4469 type: CableHV components: @@ -45997,8 +45308,6 @@ entities: pos: 45.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4489 type: CableMV components: @@ -46019,8 +45328,6 @@ entities: pos: 53.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4491 type: CableMV components: @@ -46029,8 +45336,6 @@ entities: pos: 52.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4492 type: CableMV components: @@ -46039,8 +45344,6 @@ entities: pos: 51.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4493 type: CableMV components: @@ -46049,8 +45352,6 @@ entities: pos: 51.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4494 type: CableMV components: @@ -46059,8 +45360,6 @@ entities: pos: 46.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4495 type: CableMV components: @@ -46069,8 +45368,6 @@ entities: pos: 47.5,-11.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4496 type: CableMV components: @@ -46079,8 +45376,6 @@ entities: pos: 47.5,-12.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4497 type: CableMV components: @@ -46089,8 +45384,6 @@ entities: pos: 47.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4498 type: CableMV components: @@ -46099,8 +45392,6 @@ entities: pos: 49.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4499 type: CableMV components: @@ -46109,8 +45400,6 @@ entities: pos: 48.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4500 type: CableMV components: @@ -46119,8 +45408,6 @@ entities: pos: 50.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4501 type: CableMV components: @@ -46129,8 +45416,6 @@ entities: pos: 51.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4502 type: CableMV components: @@ -46139,8 +45424,6 @@ entities: pos: 49.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4503 type: CableMV components: @@ -46149,8 +45432,6 @@ entities: pos: 49.5,-15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4504 type: CableMV components: @@ -46159,8 +45440,6 @@ entities: pos: 49.5,-16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4505 type: CableMV components: @@ -46169,8 +45448,6 @@ entities: pos: 49.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4506 type: CableMV components: @@ -46179,8 +45456,6 @@ entities: pos: 48.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4507 type: CableMV components: @@ -46189,8 +45464,6 @@ entities: pos: 47.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4508 type: CableMV components: @@ -46199,8 +45472,6 @@ entities: pos: 46.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4509 type: CableMV components: @@ -46209,8 +45480,6 @@ entities: pos: 45.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4510 type: CableMV components: @@ -46219,8 +45488,6 @@ entities: pos: 50.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4511 type: CableMV components: @@ -46229,8 +45496,6 @@ entities: pos: 51.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4512 type: CableMV components: @@ -46239,8 +45504,6 @@ entities: pos: 52.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4513 type: CableMV components: @@ -46249,8 +45512,6 @@ entities: pos: 53.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4514 type: CableMV components: @@ -46259,8 +45520,6 @@ entities: pos: 54.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4515 type: CableMV components: @@ -46269,8 +45528,6 @@ entities: pos: 55.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4516 type: CableMV components: @@ -46279,8 +45536,6 @@ entities: pos: 56.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4517 type: CableMV components: @@ -46289,8 +45544,6 @@ entities: pos: 56.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4518 type: CableMV components: @@ -46299,8 +45552,6 @@ entities: pos: 56.5,-19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4519 type: CableMV components: @@ -46309,8 +45560,6 @@ entities: pos: 56.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4520 type: CableMV components: @@ -46319,8 +45568,6 @@ entities: pos: 56.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4521 type: CableMV components: @@ -46329,8 +45576,6 @@ entities: pos: 56.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4522 type: CableMV components: @@ -46339,8 +45584,6 @@ entities: pos: 56.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4523 type: CableMV components: @@ -46349,8 +45592,6 @@ entities: pos: 56.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4524 type: CableMV components: @@ -46359,8 +45600,6 @@ entities: pos: 56.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4525 type: CableMV components: @@ -46369,8 +45608,6 @@ entities: pos: 56.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4526 type: CableMV components: @@ -46379,8 +45616,6 @@ entities: pos: 56.5,-27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4527 type: CableMV components: @@ -46389,8 +45624,6 @@ entities: pos: 56.5,-28.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4528 type: CableMV components: @@ -46399,8 +45632,6 @@ entities: pos: 56.5,-29.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4529 type: CableMV components: @@ -46409,8 +45640,6 @@ entities: pos: 56.5,-30.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4530 type: CableMV components: @@ -46419,8 +45648,6 @@ entities: pos: 56.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4531 type: CableMV components: @@ -46429,8 +45656,6 @@ entities: pos: 55.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4532 type: CableMV components: @@ -46439,8 +45664,6 @@ entities: pos: 54.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4533 type: CableMV components: @@ -46449,8 +45672,6 @@ entities: pos: 53.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4534 type: CableMV components: @@ -46459,8 +45680,6 @@ entities: pos: 52.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4535 type: CableMV components: @@ -46469,8 +45688,6 @@ entities: pos: 51.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4536 type: CableMV components: @@ -46479,8 +45696,6 @@ entities: pos: 50.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4537 type: CableMV components: @@ -46489,8 +45704,6 @@ entities: pos: 49.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4538 type: CableMV components: @@ -46499,8 +45712,6 @@ entities: pos: 48.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4539 type: CableMV components: @@ -46509,8 +45720,6 @@ entities: pos: 47.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4540 type: CableMV components: @@ -46519,8 +45728,6 @@ entities: pos: 46.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4541 type: CableMV components: @@ -46529,8 +45736,6 @@ entities: pos: 45.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4542 type: CableMV components: @@ -46539,8 +45744,6 @@ entities: pos: 44.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4543 type: CableMV components: @@ -46549,8 +45752,6 @@ entities: pos: 43.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4544 type: CableMV components: @@ -46559,8 +45760,6 @@ entities: pos: 42.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4545 type: CableMV components: @@ -46569,8 +45768,6 @@ entities: pos: 42.5,-30.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4546 type: CableMV components: @@ -46579,8 +45776,6 @@ entities: pos: 42.5,-29.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4547 type: CableMV components: @@ -46589,8 +45784,6 @@ entities: pos: 42.5,-28.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4548 type: CableMV components: @@ -46599,8 +45792,6 @@ entities: pos: 42.5,-27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4549 type: CableMV components: @@ -46609,8 +45800,6 @@ entities: pos: 42.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4550 type: CableMV components: @@ -46619,8 +45808,6 @@ entities: pos: 42.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4551 type: CableMV components: @@ -46629,8 +45816,6 @@ entities: pos: 42.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4552 type: CableMV components: @@ -46639,8 +45824,6 @@ entities: pos: 42.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4553 type: CableMV components: @@ -46649,8 +45832,6 @@ entities: pos: 42.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4554 type: CableMV components: @@ -46659,8 +45840,6 @@ entities: pos: 42.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4555 type: CableMV components: @@ -46669,8 +45848,6 @@ entities: pos: 42.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4556 type: CableMV components: @@ -46679,8 +45856,6 @@ entities: pos: 42.5,-19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4557 type: CableMV components: @@ -46689,8 +45864,6 @@ entities: pos: 42.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4558 type: CableMV components: @@ -46699,8 +45872,6 @@ entities: pos: 42.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4559 type: CableMV components: @@ -46709,8 +45880,6 @@ entities: pos: 43.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4560 type: CableMV components: @@ -46719,8 +45888,6 @@ entities: pos: 44.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4561 type: ContainmentFieldGenerator components: @@ -47265,8 +46432,6 @@ entities: pos: 46.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4628 type: CableHV components: @@ -47275,8 +46440,6 @@ entities: pos: 47.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4629 type: CableHV components: @@ -47285,8 +46448,6 @@ entities: pos: 48.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4630 type: CableHV components: @@ -47295,8 +46456,6 @@ entities: pos: 49.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4631 type: CableHV components: @@ -47305,8 +46464,6 @@ entities: pos: 50.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4632 type: CableHV components: @@ -47315,8 +46472,6 @@ entities: pos: 51.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4633 type: CableHV components: @@ -47325,8 +46480,6 @@ entities: pos: 52.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4634 type: CableHV components: @@ -47335,8 +46488,6 @@ entities: pos: 53.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4635 type: CableHV components: @@ -47345,8 +46496,6 @@ entities: pos: 45.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4636 type: CableHV components: @@ -47355,8 +46504,6 @@ entities: pos: 44.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4637 type: CableHV components: @@ -47365,8 +46512,6 @@ entities: pos: 43.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4638 type: CableHV components: @@ -47375,8 +46520,6 @@ entities: pos: 42.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4639 type: CableHV components: @@ -47385,8 +46528,6 @@ entities: pos: 54.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4640 type: CableHV components: @@ -47395,8 +46536,6 @@ entities: pos: 55.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4641 type: CableHV components: @@ -47405,8 +46544,6 @@ entities: pos: 56.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4642 type: CableHV components: @@ -47415,8 +46552,6 @@ entities: pos: 57.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4643 type: CableHV components: @@ -47425,8 +46560,6 @@ entities: pos: 58.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4644 type: CableHV components: @@ -47435,8 +46568,6 @@ entities: pos: 58.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4645 type: CableHV components: @@ -47445,8 +46576,6 @@ entities: pos: 58.5,-19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4646 type: CableHV components: @@ -47455,8 +46584,6 @@ entities: pos: 58.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4647 type: CableHV components: @@ -47465,8 +46592,6 @@ entities: pos: 58.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4648 type: CableHV components: @@ -47475,8 +46600,6 @@ entities: pos: 58.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4649 type: CableHV components: @@ -47485,8 +46608,6 @@ entities: pos: 57.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4650 type: CableHV components: @@ -47495,8 +46616,6 @@ entities: pos: 58.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4651 type: CableHV components: @@ -47505,8 +46624,6 @@ entities: pos: 58.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4652 type: CableHV components: @@ -47515,8 +46632,6 @@ entities: pos: 41.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4653 type: CableHV components: @@ -47525,8 +46640,6 @@ entities: pos: 40.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4654 type: CableHV components: @@ -47535,8 +46648,6 @@ entities: pos: 40.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4655 type: CableHV components: @@ -47545,8 +46656,6 @@ entities: pos: 40.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4656 type: CableHV components: @@ -47555,8 +46664,6 @@ entities: pos: 40.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4657 type: CableHV components: @@ -47565,8 +46672,6 @@ entities: pos: 40.5,-20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4658 type: CableHV components: @@ -47575,8 +46680,6 @@ entities: pos: 40.5,-19.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4659 type: CableHV components: @@ -47585,8 +46688,6 @@ entities: pos: 40.5,-18.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4660 type: CableHV components: @@ -47595,8 +46696,6 @@ entities: pos: 40.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4661 type: CableHV components: @@ -47605,8 +46704,6 @@ entities: pos: 41.5,-17.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4662 type: CableHV components: @@ -47615,8 +46712,6 @@ entities: pos: 42.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4663 type: CableHV components: @@ -47625,8 +46720,6 @@ entities: pos: 42.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4664 type: CableHV components: @@ -47635,8 +46728,6 @@ entities: pos: 42.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4665 type: CableHV components: @@ -47645,8 +46736,6 @@ entities: pos: 42.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4666 type: CableHV components: @@ -47655,8 +46744,6 @@ entities: pos: 42.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4667 type: CableHV components: @@ -47665,8 +46752,6 @@ entities: pos: 42.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4668 type: CableHV components: @@ -47675,8 +46760,6 @@ entities: pos: 42.5,-27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4669 type: CableHV components: @@ -47685,8 +46768,6 @@ entities: pos: 56.5,-24.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4670 type: CableHV components: @@ -47695,8 +46776,6 @@ entities: pos: 56.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4671 type: CableHV components: @@ -47705,8 +46784,6 @@ entities: pos: 56.5,-22.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4672 type: CableHV components: @@ -47715,8 +46792,6 @@ entities: pos: 56.5,-21.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4673 type: CableHV components: @@ -47725,8 +46800,6 @@ entities: pos: 56.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4674 type: CableHV components: @@ -47735,8 +46808,6 @@ entities: pos: 56.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4675 type: CableHV components: @@ -47745,8 +46816,6 @@ entities: pos: 56.5,-27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4676 type: CableHV components: @@ -47755,8 +46824,6 @@ entities: pos: 49.5,-16.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4677 type: CableHV components: @@ -47765,8 +46832,6 @@ entities: pos: 49.5,-15.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4678 type: CableHV components: @@ -47775,8 +46840,6 @@ entities: pos: 49.5,-14.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4679 type: CableHV components: @@ -47785,8 +46848,6 @@ entities: pos: 49.5,-13.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4680 type: Catwalk components: @@ -47811,8 +46872,6 @@ entities: pos: 49.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4683 type: CableHV components: @@ -47821,8 +46880,6 @@ entities: pos: 48.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4684 type: CableHV components: @@ -47831,8 +46888,6 @@ entities: pos: 47.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4685 type: CableHV components: @@ -47841,8 +46896,6 @@ entities: pos: 46.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4686 type: CableHV components: @@ -47851,8 +46904,6 @@ entities: pos: 50.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4687 type: CableHV components: @@ -47861,8 +46912,6 @@ entities: pos: 51.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4688 type: CableHV components: @@ -47871,8 +46920,6 @@ entities: pos: 52.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4689 type: CableHV components: @@ -47881,8 +46928,6 @@ entities: pos: 49.5,-32.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4690 type: CableHV components: @@ -47891,8 +46936,6 @@ entities: pos: 49.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4691 type: CableHV components: @@ -47901,8 +46944,6 @@ entities: pos: 48.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4692 type: CableHV components: @@ -47911,8 +46952,6 @@ entities: pos: 47.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4693 type: CableHV components: @@ -47921,8 +46960,6 @@ entities: pos: 46.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4694 type: CableHV components: @@ -47931,8 +46968,6 @@ entities: pos: 45.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4695 type: CableHV components: @@ -47941,8 +46976,6 @@ entities: pos: 44.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4696 type: CableHV components: @@ -47951,8 +46984,6 @@ entities: pos: 43.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4697 type: CableHV components: @@ -47961,8 +46992,6 @@ entities: pos: 42.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4698 type: CableHV components: @@ -47971,8 +47000,6 @@ entities: pos: 41.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4699 type: CableHV components: @@ -47981,8 +47008,6 @@ entities: pos: 40.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4700 type: CableHV components: @@ -47991,8 +47016,6 @@ entities: pos: 40.5,-32.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4701 type: CableHV components: @@ -48001,8 +47024,6 @@ entities: pos: 40.5,-31.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4702 type: CableHV components: @@ -48011,8 +47032,6 @@ entities: pos: 40.5,-30.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4703 type: CableHV components: @@ -48021,8 +47040,6 @@ entities: pos: 40.5,-29.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4704 type: CableHV components: @@ -48031,8 +47048,6 @@ entities: pos: 40.5,-28.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4705 type: CableHV components: @@ -48041,8 +47056,6 @@ entities: pos: 40.5,-27.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4706 type: CableHV components: @@ -48051,8 +47064,6 @@ entities: pos: 40.5,-26.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4707 type: CableHV components: @@ -48061,8 +47072,6 @@ entities: pos: 40.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4708 type: CableHV components: @@ -48071,8 +47080,6 @@ entities: pos: 50.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4709 type: CableHV components: @@ -48081,8 +47088,6 @@ entities: pos: 51.5,-33.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4710 type: LowWall components: @@ -48581,8 +47586,6 @@ entities: pos: 5.5,-25.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4772 type: CableApcExtension components: @@ -48668,8 +47671,6 @@ entities: pos: 5.5,-29.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4781 type: CableApcExtension components: @@ -48712,8 +47713,6 @@ entities: pos: 13.5,-23.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4785 type: CableApcExtension components: @@ -48830,8 +47829,6 @@ entities: pos: 12.5,-28.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4795 type: CableApcExtension components: @@ -48864,8 +47861,6 @@ entities: pos: 10.5,-29.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4798 type: CableApcExtension components: @@ -49689,8 +48684,6 @@ entities: pos: 12.5,20.5 parent: 853 type: Transform - - canCollide: False - type: Physics - uid: 4891 type: CableApcExtension components: @@ -49862,8 +48855,7 @@ entities: - uid: 4909 type: KitchenReagentGrinder components: - - anchored: True - pos: 18.5,1.5 + - pos: 18.5,1.5 parent: 853 type: Transform - containers: @@ -50228,4 +49220,11 @@ entities: - containers: light_bulb: !type:ContainerSlot {} type: ContainerContainer +- uid: 4960 + type: ChairPilotSeat + components: + - rot: 3.141592653589793 rad + pos: 2.5,31.5 + parent: 853 + type: Transform ... diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml index 7729cc82a7..a4fbd86d5c 100644 --- a/Resources/Prototypes/Alerts/alerts.yml +++ b/Resources/Prototypes/Alerts/alerts.yml @@ -136,7 +136,7 @@ alertType: PilotingShuttle category: Piloting onClick: !type:StopPiloting { } - icon: /Textures/Interface/Alerts/Buckle/buckled.png + icon: /Textures/Interface/Alerts/piloting.png name: Piloting Shuttle description: You are piloting a shuttle. Click the alert to stop. diff --git a/Resources/Prototypes/Entities/Mobs/Species/human.yml b/Resources/Prototypes/Entities/Mobs/Species/human.yml index 05050eda89..cc7a12f952 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/human.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/human.yml @@ -8,6 +8,7 @@ components: - type: Tag tags: + - CanPilot - FootstepSound - type: Reactive reactions: @@ -253,6 +254,7 @@ - type: Sprite netsync: false drawdepth: Mobs + noRot: true # TODO BODY Turn these into individual body parts? layers: - map: ["enum.HumanoidVisualLayers.Chest"] diff --git a/Resources/Prototypes/Entities/Structures/Furniture/pilot_chair.yml b/Resources/Prototypes/Entities/Structures/Furniture/pilot_chair.yml deleted file mode 100644 index 798d2ae902..0000000000 --- a/Resources/Prototypes/Entities/Structures/Furniture/pilot_chair.yml +++ /dev/null @@ -1,33 +0,0 @@ -- type: entity - id: PilotSeatChair - parent: BaseStructure - name: pilot seat - description: The pilot seat of a prestigious battle cruiser. - components: - - type: Sprite - sprite: Structures/Furniture/furniture.rsi - state: shuttle_chair - - type: Physics - bodyType: Static - fixtures: - - shape: - !type:PhysShapeAabb - bounds: "-0.5,-0.25,0.5,0.25" - mask: - - Impassable - - VaultImpassable - - SmallImpassable - - type: InteractionOutline - - type: Damageable - resistances: metallicResistances - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 100 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - type: ShuttleController - - type: Strap - position: Stand diff --git a/Resources/Prototypes/Entities/Structures/Furniture/seats.yml b/Resources/Prototypes/Entities/Structures/Furniture/seats.yml index defc331e58..4965150328 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/seats.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/seats.yml @@ -199,3 +199,26 @@ MaterialWoodPlank: min: 1 max: 1 + +- type: entity + name: pilot seat + id: ChairPilotSeat + parent: SeatBase + description: The pilot seat of a prestigious ship. + components: + - type: Anchorable + - type: Rotatable + - type: Sprite + sprite: Structures/Furniture/furniture.rsi + state: shuttle_chair + netsync: false + - type: Physics + bodyType: Static + fixtures: + - shape: + !type:PhysShapeAabb + bounds: "-0.45, -0.45, 0.05, 0.45" + mask: + - Impassable + - VaultImpassable + - SmallImpassable diff --git a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml index 135741d319..456b1a2567 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/Computers/computers.yml @@ -12,6 +12,17 @@ - type: entity parent: ComputerBase + id: ComputerShuttleBase + name: shuttle console + description: Used to pilot a shuttle. + abstract: true + components: + - type: ShuttleConsole + - type: ApcPowerReceiver + powerLoad: 200 + +- type: entity + parent: ComputerShuttleBase id: ComputerShuttle name: shuttle console description: Used to pilot a shuttle. @@ -23,7 +34,7 @@ screen: shuttle - type: entity - parent: ComputerBase + parent: ComputerShuttleBase id: ComputerShuttleSyndie name: syndicate shuttle console description: Used to pilot a syndicate shuttle. @@ -79,7 +90,7 @@ - key: enum.ResearchClientUiKey.Key type: ResearchClientBoundUserInterface - type: ApcPowerReceiver - load: 200 + powerLoad: 200 priority: Low - type: Computer board: ResearchComputerCircuitboard diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base.yml index 671ca7cb34..1b33400a9f 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/Lockers/base.yml @@ -8,6 +8,7 @@ - type: Sprite netsync: false sprite: Structures/Storage/closet.rsi + noRot: true layers: - state: generic - state: generic_door diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 2cb5cdc7b3..bf308e9261 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1,6 +1,9 @@ - type: Tag id: BotanySharp +- type: Tag + id: CanPilot + - type: Tag id: ConveyorAssembly diff --git a/Resources/Textures/Interface/Alerts/piloting.png b/Resources/Textures/Interface/Alerts/piloting.png new file mode 100644 index 0000000000..cd3dd9f8b3 Binary files /dev/null and b/Resources/Textures/Interface/Alerts/piloting.png differ