mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-30 08:07:28 +00:00
* add SignAttemptEvent and minor signature refactor * add recruiter pen * add the recruiter ship * add recruiter antag and event * fixes * real * bad popup spam * more fix * fix blood visual maybe * fix greentext * more fixy * fix fill state not being coloured * give btamp instead of paper in pocket 2 * f * brighter filled state * fix greentext * fix error on spawn * pro * prevent using a syringe to inject anything into the pen * update stuff after upstream merge --------- Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com> Co-authored-by: deltanedas <@deltanedas:kde.org>
31 lines
870 B
C#
31 lines
870 B
C#
using Content.Server.Objectives.Components;
|
|
using Content.Shared.Objectives.Components;
|
|
|
|
namespace Content.Server.Objectives.Systems;
|
|
|
|
public sealed class RecruitingConditionSystem : EntitySystem
|
|
{
|
|
[Dependency] private readonly NumberObjectiveSystem _number = default!;
|
|
|
|
public override void Initialize()
|
|
{
|
|
base.Initialize();
|
|
|
|
SubscribeLocalEvent<RecruitingConditionComponent, ObjectiveGetProgressEvent>(OnGetProgress);
|
|
}
|
|
|
|
private void OnGetProgress(Entity<RecruitingConditionComponent> ent, ref ObjectiveGetProgressEvent args)
|
|
{
|
|
args.Progress = Progress(ent.Comp.Recruited, _number.GetTarget(ent.Owner));
|
|
}
|
|
|
|
private float Progress(int recruited, int target)
|
|
{
|
|
// prevent divide-by-zero
|
|
if (target == 0)
|
|
return 1f;
|
|
|
|
return MathF.Min(recruited / (float) target, 1f);
|
|
}
|
|
}
|