using Content.Server.Objectives.Components; using Content.Shared.Humanoid; using Content.Shared.Objectives.Components; namespace Content.Server.Objectives.Systems; /// /// Handles species requirement for objectives that require a certain species. /// public sealed class SpeciesRequirementSystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnCheck); } private void OnCheck(Entity requirement, ref RequirementCheckEvent args) { if (args.Cancelled) return; if (!TryComp(args.Mind.OwnedEntity, out var appearance)) { args.Cancelled = true; return; } if (!requirement.Comp.AllowedSpecies.Contains(appearance.Species)) { args.Cancelled = true; return; } } }