Use conditions to store progress for Ninja objectives (#20254)

* TryGetObjectiveComp

* helper function to get objective

* store N of jacked doors in condition

* store called in threat bool in condition

* store techs in steal research condition

* fix access

* remove unused transform system

* use popup from shared system

* fix formatting

* condition => obj everywhere

* i fogror to remove downloaded nodes from role

* change signature

* use query

* View Variables

* spider charge detonated => condition
This commit is contained in:
Slava0135
2023-10-10 09:32:10 +03:00
committed by GitHub
parent c35a018cad
commit 6f8c2b7e52
11 changed files with 76 additions and 88 deletions

View File

@@ -8,33 +8,9 @@ namespace Content.Server.Roles;
[RegisterComponent]
public sealed partial class NinjaRoleComponent : AntagonistRoleComponent
{
/// <summary>
/// Number of doors that have been doorjacked, used for objective
/// </summary>
[DataField("doorsJacked")]
public int DoorsJacked;
/// <summary>
/// Research nodes that have been downloaded, used for objective
/// </summary>
[DataField("downloadedNodes")]
public HashSet<string> DownloadedNodes = new();
/// <summary>
/// Warp point that the spider charge has to target
/// </summary>
[DataField("spiderChargeTarget")]
public EntityUid? SpiderChargeTarget;
/// <summary>
/// Whether the spider charge has been detonated on the target, used for objective
/// </summary>
[DataField("spiderChargeDetonated")]
public bool SpiderChargeDetonated;
/// <summary>
/// Whether the comms console has been hacked, used for objective
/// </summary>
[DataField("calledInThreat")]
public bool CalledInThreat;
}