diff --git a/Content.Server/GameObjects/Components/WiresComponent.cs b/Content.Server/GameObjects/Components/WiresComponent.cs index ca5f73d577..73ac084b78 100644 --- a/Content.Server/GameObjects/Components/WiresComponent.cs +++ b/Content.Server/GameObjects/Components/WiresComponent.cs @@ -286,14 +286,30 @@ namespace Content.Server.GameObjects.Components bool IAttackBy.AttackBy(AttackByEventArgs eventArgs) { - if (!eventArgs.AttackWith.HasComponent()) return false; + if (!eventArgs.AttackWith.HasComponent()) + { + return false; + } + IsPanelOpen = !IsPanelOpen; + IoCManager.Resolve() + .GetEntitySystem() + .Play(IsPanelOpen ? "/Audio/machines/screwdriveropen.ogg" : "/Audio/machines/screwdriverclose.ogg"); return true; } void IExamine.Examine(FormattedMessage message) { - message.AddText($"The maintenance panel is {(IsPanelOpen ? "open" : "closed")}."); + var loc = IoCManager.Resolve(); + message.AddText(loc.GetString("The ")); + message.PushColor(Color.LightGray); + message.AddText(loc.GetString("maintenance panel")); + message.Pop(); + message.AddText(loc.GetString(" is ")); + message.PushColor(IsPanelOpen ? Color.DarkGreen : Color.DarkRed); + message.AddText(loc.GetString(IsPanelOpen ? "open" : "closed")); + message.Pop(); + message.AddText("."); } public void SetStatus(object statusIdentifier, string newMessage) diff --git a/Resources/Audio/machines/screwdriverclose.ogg b/Resources/Audio/machines/screwdriverclose.ogg new file mode 100644 index 0000000000..02972a7961 Binary files /dev/null and b/Resources/Audio/machines/screwdriverclose.ogg differ diff --git a/Resources/Audio/machines/screwdriveropen.ogg b/Resources/Audio/machines/screwdriveropen.ogg new file mode 100644 index 0000000000..4ec276623d Binary files /dev/null and b/Resources/Audio/machines/screwdriveropen.ogg differ