diff --git a/Content.Client/Clothing/MagbootsComponent.cs b/Content.Client/Clothing/MagbootsComponent.cs index fb03315318..26e26bd908 100644 --- a/Content.Client/Clothing/MagbootsComponent.cs +++ b/Content.Client/Clothing/MagbootsComponent.cs @@ -4,6 +4,7 @@ using Robust.Shared.GameObjects; namespace Content.Client.Clothing { [RegisterComponent] + [ComponentReference(typeof(SharedMagbootsComponent))] public sealed class MagbootsComponent : SharedMagbootsComponent { public override bool On { get; set; } diff --git a/Content.Server/Clothing/Components/MagbootsComponent.cs b/Content.Server/Clothing/Components/MagbootsComponent.cs index a0bea10ebf..6da933b159 100644 --- a/Content.Server/Clothing/Components/MagbootsComponent.cs +++ b/Content.Server/Clothing/Components/MagbootsComponent.cs @@ -17,6 +17,7 @@ namespace Content.Server.Clothing.Components { [RegisterComponent] [ComponentReference(typeof(IActivate))] + [ComponentReference(typeof(SharedMagbootsComponent))] public sealed class MagbootsComponent : SharedMagbootsComponent, IActivate { [ComponentDependency] private SharedItemComponent? _item = null; diff --git a/Content.Shared/Movement/Components/MovementIgnoreGravityComponent.cs b/Content.Shared/Movement/Components/MovementIgnoreGravityComponent.cs index 74f54aeeab..4bd505ee6d 100644 --- a/Content.Shared/Movement/Components/MovementIgnoreGravityComponent.cs +++ b/Content.Shared/Movement/Components/MovementIgnoreGravityComponent.cs @@ -1,4 +1,6 @@ +using Content.Shared.Clothing; using Content.Shared.Gravity; +using Content.Shared.Inventory; using Robust.Shared.GameObjects; using Robust.Shared.IoC; using Robust.Shared.Map; @@ -36,6 +38,13 @@ namespace Content.Shared.Movement.Components mapManager ??= IoCManager.Resolve(); var grid = mapManager.GetGrid(gridId); + var invSys = EntitySystem.Get(); + + if (invSys.TryGetSlotEntity(entity, "shoes", out var ent)) + { + if (entityManager.TryGetComponent(ent, out var boots) && boots.On) + return false; + } if (!entityManager.GetComponent(grid.GridEntityId).Enabled) {