using Content.Server.Ame.Components; using Content.Shared.Construction; using JetBrains.Annotations; using Content.Shared.Examine; namespace Content.Server.Construction.Conditions; [UsedImplicitly] [DataDefinition] public sealed partial class AmeShieldIntegrity : IGraphCondition { [DataField] public float IntegrityThreshold = 80; /// /// If true, checks for the integrity being above the threshold. /// if false, checks for it being below. /// [DataField] public bool CheckAbove = true; public bool Condition(EntityUid uid, IEntityManager entityManager) { if (!entityManager.TryGetComponent(uid, out var shield)) return true; if (CheckAbove) { return shield.CoreIntegrity >= IntegrityThreshold; } return shield.CoreIntegrity < IntegrityThreshold; } public bool DoExamine(ExaminedEvent args) { return false; } public IEnumerable GenerateGuideEntry() { yield return new ConstructionGuideEntry(); } }