mirror of
https://github.com/space-syndicate/space-station-14.git
synced 2026-10-09 18:31:17 +03:00
* predict TradeStationComponent * hijack beacon first pass * add Objective uplink category * add HijackTradeStationCondition, objective, and uplink entry * add sprite and cleanups * fix + make cooldown sane * use TimeSpans and update logic accordingly + private state-related fields * remove temporary reward * tiny loc changes * buncha changes * Change success message, beacon physics properties, formatting --------- Co-authored-by: seanpimble <149889301+seanpimble@users.noreply.github.com> Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
35 lines
1 KiB
C#
35 lines
1 KiB
C#
using Content.Server.Objectives.Components;
|
|
using Content.Shared.Cargo.Components;
|
|
using Content.Shared.Mind;
|
|
using Content.Shared.Objectives.Components;
|
|
using NetCord;
|
|
|
|
namespace Content.Server.Objectives.Systems;
|
|
|
|
/// <summary>
|
|
/// Handles the Hijack Trade Station objective.
|
|
/// </summary>
|
|
public sealed class HijackTradeStationConditionSystem : EntitySystem
|
|
{
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<HijackTradeStationConditionComponent, ObjectiveGetProgressEvent>(OnGetProgress);
|
|
}
|
|
|
|
private void OnGetProgress(Entity<HijackTradeStationConditionComponent> ent, ref ObjectiveGetProgressEvent args)
|
|
{
|
|
var enumerator = EntityQueryEnumerator<TradeStationComponent>();
|
|
args.Progress = 0f;
|
|
// If there's any hacked trade station, succeed.
|
|
while (enumerator.MoveNext(out var comp))
|
|
{
|
|
if (!comp.Hacked)
|
|
continue;
|
|
|
|
args.Progress = 1f;
|
|
return;
|
|
}
|
|
}
|
|
}
|