diff --git a/Content.Client/IgnoredComponents.cs b/Content.Client/IgnoredComponents.cs index 41c10d6f2d..9833230e94 100644 --- a/Content.Client/IgnoredComponents.cs +++ b/Content.Client/IgnoredComponents.cs @@ -35,7 +35,6 @@ "Smes", "LightBulb", "Healing", - "Catwalk", "RangedMagazine", "Ammo", "HitscanWeaponCapacitor", diff --git a/Content.Server/GameObjects/Components/CatwalkComponent.cs b/Content.Server/GameObjects/Components/CatwalkComponent.cs deleted file mode 100644 index 4027c5045d..0000000000 --- a/Content.Server/GameObjects/Components/CatwalkComponent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Robust.Shared.GameObjects; - -namespace Content.Server.GameObjects.Components -{ - /// - /// Literally just a marker component for footsteps for now. - /// - [RegisterComponent] - public sealed class CatwalkComponent : Component - { - public override string Name => "Catwalk"; - } -} diff --git a/Content.Server/GameObjects/EntitySystems/MoverSystem.cs b/Content.Server/GameObjects/EntitySystems/MoverSystem.cs index 50219e5c07..4801729395 100644 --- a/Content.Server/GameObjects/EntitySystems/MoverSystem.cs +++ b/Content.Server/GameObjects/EntitySystems/MoverSystem.cs @@ -56,7 +56,8 @@ namespace Content.Server.GameObjects.EntitySystems public override void Update(float frameTime) { - foreach (var (moverComponent, collidableComponent) in EntityManager.ComponentManager.EntityQuery()) + foreach (var (moverComponent, collidableComponent) in EntityManager.ComponentManager + .EntityQuery(false)) { var entity = moverComponent.Owner; UpdateKinematics(entity.Transform, moverComponent, collidableComponent); @@ -141,24 +142,19 @@ namespace Content.Server.GameObjects.EntitySystems var grid = _mapManager.GetGrid(coordinates.GetGridId(EntityManager)); var tile = grid.GetTileRef(coordinates); - // If the coordinates have a catwalk, it's always catwalk. - string soundCollectionName; - var catwalk = false; - foreach (var maybeCatwalk in grid.GetSnapGridCell(tile.GridIndices, SnapGridOffset.Center)) + // If the coordinates have a FootstepModifier component + // i.e. component that emit sound on footsteps emit that sound + string? soundCollectionName = null; + foreach (var maybeFootstep in grid.GetSnapGridCell(tile.GridIndices, SnapGridOffset.Center)) { - if (maybeCatwalk.Owner.HasComponent()) + if (maybeFootstep.Owner.TryGetComponent(out FootstepModifierComponent? footstep)) { - catwalk = true; + soundCollectionName = footstep._soundCollectionName; break; } } - - if (catwalk) - { - // Catwalk overrides tile sound.s - soundCollectionName = "footstep_catwalk"; - } - else + // if there is no FootstepModifierComponent, determine sound based on tiles + if (soundCollectionName == null) { // Walking on a tile. var def = (ContentTileDefinition) _tileDefinitionManager[tile.Tile.TypeId]; diff --git a/Resources/Prototypes/Entities/Constructible/Ground/catwalk.yml b/Resources/Prototypes/Entities/Constructible/Ground/catwalk.yml index b37a374bbe..21affcdef7 100644 --- a/Resources/Prototypes/Entities/Constructible/Ground/catwalk.yml +++ b/Resources/Prototypes/Entities/Constructible/Ground/catwalk.yml @@ -22,7 +22,8 @@ - type: IconSmooth key: catwalk base: catwalk_ - - type: Catwalk + - type: FootstepModifier + footstepSoundCollection: footstep_catwalk - type: Construction graph: Catwalk node: Catwalk