From: Plykiya <58439124+Plykiya@users.noreply.github.com> Date: Fri, 28 Jun 2024 03:34:24 +0000 (-0700) Subject: Hide doafters if you're in a container (#29487) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=1f6e140eb6c32d99243e36870c26d99065535b8d;p=space-station-14.git Hide doafters if you're in a container (#29487) * Hide doafters if you're in a container * Out of the loop --------- Co-authored-by: plykiya --- diff --git a/Content.Client/DoAfter/DoAfterOverlay.cs b/Content.Client/DoAfter/DoAfterOverlay.cs index dfbbf10891..a4565bb71a 100644 --- a/Content.Client/DoAfter/DoAfterOverlay.cs +++ b/Content.Client/DoAfter/DoAfterOverlay.cs @@ -8,6 +8,7 @@ using Robust.Client.Player; using Robust.Shared.Prototypes; using Robust.Shared.Timing; using Robust.Shared.Utility; +using Robust.Shared.Containers; namespace Content.Client.DoAfter; @@ -19,6 +20,7 @@ public sealed class DoAfterOverlay : Overlay private readonly SharedTransformSystem _transform; private readonly MetaDataSystem _meta; private readonly ProgressColorSystem _progressColor; + private readonly SharedContainerSystem _container; private readonly Texture _barTexture; private readonly ShaderInstance _unshadedShader; @@ -41,6 +43,7 @@ public sealed class DoAfterOverlay : Overlay _player = player; _transform = _entManager.EntitySysManager.GetEntitySystem(); _meta = _entManager.EntitySysManager.GetEntitySystem(); + _container = _entManager.EntitySysManager.GetEntitySystem(); _progressColor = _entManager.System(); var sprite = new SpriteSpecifier.Rsi(new("/Textures/Interface/Misc/progress_bar.rsi"), "icon"); _barTexture = _entManager.EntitySysManager.GetEntitySystem().Frame0(sprite); @@ -98,11 +101,13 @@ public sealed class DoAfterOverlay : Overlay var offset = 0f; + var isInContainer = _container.IsEntityOrParentInContainer(uid, meta, xform); + foreach (var doAfter in comp.DoAfters.Values) { // Hide some DoAfters from other players for stealthy actions (ie: thieving gloves) var alpha = 1f; - if (doAfter.Args.Hidden) + if (doAfter.Args.Hidden || isInContainer) { if (uid != localEnt) continue;