--- /dev/null
+using Content.Shared.Xenoarchaeology.Artifact.Components;
+using Content.Shared.Xenoarchaeology.Artifact;
+using Robust.Shared.Prototypes;
+
+namespace Content.Shared.EntityEffects.Effects;
+
+/// <summary>
+/// Restores durability in active artefact nodes.
+/// </summary>
+public sealed partial class ArtifactDurabilityRestore : EntityEffect
+{
+ /// <summary>
+ /// Amount of durability that will be restored per effect interaction.
+ /// </summary>
+ [DataField]
+ public int RestoredDurability = 1;
+
+ public override void Effect(EntityEffectBaseArgs args)
+ {
+ var entMan = args.EntityManager;
+ var xenoArtifactSys = entMan.System<SharedXenoArtifactSystem>();
+
+ if (!entMan.TryGetComponent<XenoArtifactComponent>(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));
+ }
+}
flavor-complex-sax = like jazz
flavor-complex-bottledlightning = like lightning in a bottle
flavor-complex-punishment = like punishment
+flavor-complex-artifact-glue = like crushed artifacts
flavor-weh = like weh
flavor-hew = like hew
*[other] help
} unlock an alien artifact.
+reagent-effect-guidebook-artifact-durability-restore =
+ Restores {$restored} durability in active alien artifact nodes.
+
reagent-effect-guidebook-plant-attribute =
{ $chance ->
[1] Adjusts
reagent-name-artifexium = artifexium
reagent-desc-artifexium = A lavender mixture of microscopic artifact fragments and a strong acid. It has the ability to activate artifacts.
+reagent-name-artifact-glue = artifact glue
+reagent-desc-artifact-glue = Mixture of glue and artifexium. It can restore durability of nodes in artifact on touch.
+
reagent-name-benzene = benzene
reagent-desc-benzene = An aromatic, slightly carcinogenic, ring of carbon, forming a base for many organic compounds.
reagent-physical-desc-slimy = slimy
reagent-physical-desc-neural = neural
reagent-physical-desc-unidentifiable = unidentifiable
+reagent-physical-desc-non-newtonian = non-newtonian
flavorType: Base
description: flavor-base-trashy
+- type: flavor
+ id: artifactglue
+ flavorType: Complex
+ description: flavor-complex-artifact-glue
- !type:ReagentThreshold
min: 5
+- type: reagent
+ parent: Artifexium
+ id: ArtifactGlue
+ name: reagent-name-artifact-glue
+ desc: reagent-desc-artifact-glue
+ flavor: artifactglue
+ physicalDesc: reagent-physical-desc-non-newtonian
+ color: "#827394"
+ reactiveEffects:
+ Acidic:
+ methods: [ Touch ]
+ effects:
+ - !type:ArtifactDurabilityRestore
+ conditions:
+ - !type:ReagentThreshold
+ min: 5
+
- type: reagent
id: Benzene
name: reagent-name-benzene
amount: 1
products:
Tazinide: 1
+
+- type: reaction
+ id: ArtifactGlue
+ reactants:
+ SpaceGlue:
+ amount: 1
+ Artifexium:
+ amount: 1
+ products:
+ ArtifactGlue: 2