AME Deconstruction Changes (#29317)

* AME deconstruction complexity

* review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
This commit is contained in:
Nemanja 2024-06-22 00:15:21 -04:00 committed by null
parent 402af3cf88
commit 6f9fa74f8f
No known key found for this signature in database
GPG Key ID: 212F05528FD678BE
2 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,43 @@
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;
/// <summary>
/// If true, checks for the integrity being above the threshold.
/// if false, checks for it being below.
/// </summary>
[DataField]
public bool CheckAbove = true;
public bool Condition(EntityUid uid, IEntityManager entityManager)
{
if (!entityManager.TryGetComponent<AmeShieldComponent>(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<ConstructionGuideEntry> GenerateGuideEntry()
{
yield return new ConstructionGuideEntry();
}
}

View File

@ -3,11 +3,14 @@
start: start
graph:
- node: start
- node: startBroken
- node: ameShielding
entity: AmeShielding
edges:
- to: start
conditions:
- !type:AmeShieldIntegrity
completed:
- !type:AdminLog # I don't like logging it like this. The log should include the user, AMEShielding EntityID, and AMEPart EntityID, and there should also be a start of attempt log.
message: "An AME shielding was deconstructed"
@ -18,3 +21,16 @@
steps:
- tool: Welding
doAfter: 3
- to: startBroken
conditions:
- !type:AmeShieldIntegrity
checkAbove: false
completed:
- !type:SpawnPrototype
prototype: SheetSteel1
amount: 5
- !type:DeleteEntity
steps:
- tool: Welding
doAfter: 3