diff --git a/Content.Client/EntryPoint.cs b/Content.Client/EntryPoint.cs index bd4fa31610..f6ae5ddc4c 100644 --- a/Content.Client/EntryPoint.cs +++ b/Content.Client/EntryPoint.cs @@ -119,7 +119,6 @@ namespace Content.Client "Airlock", "MedicalScanner", "WirePlacer", - "Species", "Drink", "Food", "FoodContainer", diff --git a/Content.Client/GameObjects/Components/Mobs/SpeciesComponent.cs b/Content.Client/GameObjects/Components/Mobs/SpeciesComponent.cs new file mode 100644 index 0000000000..92d3c9b422 --- /dev/null +++ b/Content.Client/GameObjects/Components/Mobs/SpeciesComponent.cs @@ -0,0 +1,12 @@ +using Content.Shared.GameObjects.Components.Mobs; +using Robust.Shared.GameObjects; + +namespace Content.Client.GameObjects.Components.Mobs +{ + [RegisterComponent] + [ComponentReference(typeof(SharedSpeciesComponent))] + public class SpeciesComponent : SharedSpeciesComponent + { + + } +} diff --git a/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs b/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs index 46c58cc9b5..380f93d667 100644 --- a/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs +++ b/Content.Server/GameObjects/Components/Mobs/SpeciesComponent.cs @@ -10,16 +10,15 @@ using Content.Shared.GameObjects.Components.Movement; using Content.Shared.GameObjects.EntitySystems; using Robust.Server.GameObjects; using Robust.Server.Interfaces.Player; -using Robust.Shared.ContentPack; using Robust.Shared.GameObjects; using Robust.Shared.Interfaces.GameObjects; -using Robust.Shared.Interfaces.Network; using Robust.Shared.Players; using Robust.Shared.Serialization; namespace Content.Server.GameObjects { [RegisterComponent] + [ComponentReference(typeof(SharedSpeciesComponent))] public class SpeciesComponent : SharedSpeciesComponent, IActionBlocker, IOnDamageBehavior, IExAct, IRelayMoveInput { /// diff --git a/Content.Server/GameObjects/Components/Movement/PlayerInputMoverComponent.cs b/Content.Server/GameObjects/Components/Movement/PlayerInputMoverComponent.cs index ca188f965f..e1e617774e 100644 --- a/Content.Server/GameObjects/Components/Movement/PlayerInputMoverComponent.cs +++ b/Content.Server/GameObjects/Components/Movement/PlayerInputMoverComponent.cs @@ -14,25 +14,10 @@ namespace Content.Server.GameObjects.Components.Movement /// [RegisterComponent] [ComponentReference(typeof(IMoverComponent))] - public class PlayerInputMoverComponent : SharedPlayerInputMoverComponent, IMoverComponent, ICollideSpecial + public class PlayerInputMoverComponent : SharedPlayerInputMoverComponent { public override GridCoordinates LastPosition { get; set; } public override float StepSoundDistance { get; set; } - - /// - /// Special collision override, can be used to give custom behaviors deciding when to collide - /// - /// - /// - bool ICollideSpecial.PreventCollide(IPhysBody collidedwith) - { - // Don't collide with other mobs - if (collidedwith.Owner.TryGetComponent(out var collidedSpeciesComponent)) - { - return true; - } - return false; - } } } diff --git a/Content.Shared/GameObjects/Components/Movement/SharedPlayerInputMoverComponent.cs b/Content.Shared/GameObjects/Components/Movement/SharedPlayerInputMoverComponent.cs index ee0b671c1a..74664e9fa2 100644 --- a/Content.Shared/GameObjects/Components/Movement/SharedPlayerInputMoverComponent.cs +++ b/Content.Shared/GameObjects/Components/Movement/SharedPlayerInputMoverComponent.cs @@ -1,5 +1,7 @@ using System; +using Content.Shared.GameObjects.Components.Mobs; using Robust.Shared.GameObjects; +using Robust.Shared.GameObjects.Components; using Robust.Shared.Interfaces.Configuration; using Robust.Shared.Interfaces.Timing; using Robust.Shared.IoC; @@ -15,7 +17,7 @@ using Robust.Shared.ViewVariables; namespace Content.Shared.GameObjects.Components.Movement { - public abstract class SharedPlayerInputMoverComponent : Component, IMoverComponent + public abstract class SharedPlayerInputMoverComponent : Component, IMoverComponent, ICollideSpecial { // This class has to be able to handle server TPS being lower than client FPS. // While still having perfectly responsive movement client side. @@ -261,6 +263,12 @@ namespace Content.Shared.GameObjects.Components.Movement return vec; } + bool ICollideSpecial.PreventCollide(IPhysBody collidedWith) + { + // Don't collide with other mobs + return collidedWith.Owner.HasComponent(); + } + [Serializable, NetSerializable] private sealed class MoverComponentState : ComponentState {