From be8d0e69b60a7d438e200a72b833d1eae31867b2 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Mon, 15 Jan 2024 01:54:08 -0500 Subject: [PATCH] fix medhud bounds with 64x64 inhands (#24102) --- Content.Client/Overlays/EntityHealthBarOverlay.cs | 8 +++++--- Resources/Prototypes/Entities/Mobs/Species/base.yml | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Content.Client/Overlays/EntityHealthBarOverlay.cs b/Content.Client/Overlays/EntityHealthBarOverlay.cs index 6bf68fc3b5..11bec13539 100644 --- a/Content.Client/Overlays/EntityHealthBarOverlay.cs +++ b/Content.Client/Overlays/EntityHealthBarOverlay.cs @@ -7,6 +7,7 @@ using Robust.Client.GameObjects; using Robust.Client.Graphics; using Robust.Shared.Enums; using System.Numerics; +using Content.Shared.StatusIcon.Components; using static Robust.Shared.Maths.Color; namespace Content.Client.Overlays; @@ -65,7 +66,8 @@ public sealed class EntityHealthBarOverlay : Overlay continue; } - var bounds = spriteComponent.Bounds; + // we use the status icon component bounds if specified otherwise use sprite + var bounds = _entManager.GetComponentOrNull(uid)?.Bounds ?? spriteComponent.Bounds; var worldPos = _transform.GetWorldPosition(xform, xformQuery); if (!bounds.Translated(worldPos).Intersects(args.WorldAABB)) @@ -81,8 +83,8 @@ public sealed class EntityHealthBarOverlay : Overlay handle.SetTransform(matty); - var yOffset = spriteComponent.Bounds.Height * EyeManager.PixelsPerMeter / 2 - 3f; - var widthOfMob = spriteComponent.Bounds.Width * EyeManager.PixelsPerMeter; + var yOffset = bounds.Height * EyeManager.PixelsPerMeter / 2 - 3f; + var widthOfMob = bounds.Width * EyeManager.PixelsPerMeter; var position = new Vector2(-widthOfMob / EyeManager.PixelsPerMeter / 2, yOffset / EyeManager.PixelsPerMeter); diff --git a/Resources/Prototypes/Entities/Mobs/Species/base.yml b/Resources/Prototypes/Entities/Mobs/Species/base.yml index 1ce48ce140..eb104e05fa 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/base.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/base.yml @@ -80,6 +80,8 @@ clownedon: # Not 'creampied' bc I can already see Skyrat complaining about conflicts. True: {visible: true} False: {visible: false} + - type: StatusIcon + bounds: -0.5,-0.5,0.5,0.5 - type: RotationVisuals defaultRotation: 90 horizontalRotation: 90