From: Deserty0 <86846189+Deserty0@users.noreply.github.com>
Date: Tue, 7 Oct 2025 18:53:25 +0000 (+1000)
Subject: New HTN precondition: has status effect (#39781)
X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=d463aba5875861226000167f991420223a5fa181;p=space-station-14.git
New HTN precondition: has status effect (#39781)
* Create HasStatusEffectPrecondition.cs
* Update HasStatusEffectPrecondition.cs
* ok now it works
* Update HasStatusEffectPrecondition.cs
---
diff --git a/Content.Server/NPC/HTN/Preconditions/HasStatusEffectPrecondition.cs b/Content.Server/NPC/HTN/Preconditions/HasStatusEffectPrecondition.cs
new file mode 100644
index 0000000000..d11a99e2b5
--- /dev/null
+++ b/Content.Server/NPC/HTN/Preconditions/HasStatusEffectPrecondition.cs
@@ -0,0 +1,28 @@
+using Content.Shared.StatusEffectNew;
+using Robust.Shared.Prototypes;
+
+namespace Content.Server.NPC.HTN.Preconditions;
+
+///
+/// Returns true if entity have specified status effect
+///
+public sealed partial class HasStatusEffectPrecondition : HTNPrecondition
+{
+ private StatusEffectsSystem _statusEffects = default!;
+
+ [DataField(required: true)]
+ public EntProtoId StatusEffect;
+
+ public override void Initialize(IEntitySystemManager sysManager)
+ {
+ base.Initialize(sysManager);
+ _statusEffects = sysManager.GetEntitySystem();
+ }
+
+ public override bool IsMet(NPCBlackboard blackboard)
+ {
+ var owner = blackboard.GetValue(NPCBlackboard.Owner);
+
+ return _statusEffects.HasStatusEffect(owner, StatusEffect);
+ }
+}