New HTN precondition: has status effect (#39781)
* Create HasStatusEffectPrecondition.cs * Update HasStatusEffectPrecondition.cs * ok now it works * Update HasStatusEffectPrecondition.cs
This commit is contained in:
parent
73b01bd0d3
commit
97ddf11135
|
|
@ -0,0 +1,28 @@
|
|||
using Content.Shared.StatusEffectNew;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server.NPC.HTN.Preconditions;
|
||||
|
||||
/// <summary>
|
||||
/// Returns true if entity have specified status effect
|
||||
/// </summary>
|
||||
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<StatusEffectsSystem>();
|
||||
}
|
||||
|
||||
public override bool IsMet(NPCBlackboard blackboard)
|
||||
{
|
||||
var owner = blackboard.GetValue<EntityUid>(NPCBlackboard.Owner);
|
||||
|
||||
return _statusEffects.HasStatusEffect(owner, StatusEffect);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue