using Content.Shared.Xenoarchaeology.Artifact.Components;
using Content.Shared.Xenoarchaeology.Artifact;
using Robust.Shared.Prototypes;
namespace Content.Shared.EntityEffects.Effects;
///
/// Restores durability in active artefact nodes.
///
public sealed partial class ArtifactDurabilityRestore : EntityEffect
{
///
/// Amount of durability that will be restored per effect interaction.
///
[DataField]
public int RestoredDurability = 1;
public override void Effect(EntityEffectBaseArgs args)
{
var entMan = args.EntityManager;
var xenoArtifactSys = entMan.System();
if (!entMan.TryGetComponent(args.TargetEntity, out var xenoArtifact))
return;
foreach (var node in xenoArtifactSys.GetActiveNodes((args.TargetEntity, xenoArtifact)))
{
xenoArtifactSys.AdjustNodeDurability(node.Owner, RestoredDurability);
}
}
protected override string ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
{
return Loc.GetString("reagent-effect-guidebook-artifact-durability-restore", ("restored", RestoredDurability));
}
}