diff --git a/Content.Server/RCD/Systems/RCDSystem.cs b/Content.Server/RCD/Systems/RCDSystem.cs index 1ba8471ea1..9c19afcc6b 100644 --- a/Content.Server/RCD/Systems/RCDSystem.cs +++ b/Content.Server/RCD/Systems/RCDSystem.cs @@ -161,12 +161,18 @@ namespace Content.Server.RCD.Systems } var coordinates = mapGrid.ToCoordinates(tile.GridIndices); - if (coordinates == EntityCoordinates.Invalid || - !_interactionSystem.InRangeUnobstructed(eventArgs.User, coordinates, popup: true)) + if (coordinates == EntityCoordinates.Invalid) { return false; } + var unobstructed = eventArgs.Target == null + ? _interactionSystem.InRangeUnobstructed(eventArgs.User, coordinates, popup: true) + : _interactionSystem.InRangeUnobstructed(eventArgs.User, eventArgs.Target.Value, popup: true); + + if (!unobstructed) + return false; + switch (rcd.Mode) { //Floor mode just needs the tile to be a space tile (subFloor) diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml index 6dcee6b489..78c430539f 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/air_alarm.yml @@ -77,6 +77,7 @@ name: air alarm assembly description: An air alarm. Doesn't look like it'll be alarming air any time soon. components: + - type: WallMount - type: Clickable - type: InteractionOutline - type: Sprite diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml index 942f3c31be..8145c1cfc0 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/fire_alarm.yml @@ -61,6 +61,7 @@ name: fire alarm assembly description: A fire alarm assembly. Very mild. components: + - type: WallMount - type: Clickable - type: InteractionOutline - type: Sprite