Fix antag shitcurity (#5441)

* fix jobs

* Antagn't the heads and sec

* good to go, time to test my code
This commit is contained in:
Moony
2021-11-21 20:33:50 -06:00
committed by GitHub
parent 46eb7f97f4
commit d171c5e84c
10 changed files with 18 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ using Content.Server.Items;
using Content.Server.Objectives.Interfaces;
using Content.Server.PDA;
using Content.Server.Players;
using Content.Server.Roles;
using Content.Server.Traitor;
using Content.Server.Traitor.Uplink;
using Content.Server.Traitor.Uplink.Account;
@@ -72,7 +73,10 @@ namespace Content.Server.GameTicking.Presets
return false;
}
var list = new List<IPlayerSession>(readyPlayers);
var list = new List<IPlayerSession>(readyPlayers).Where(x =>
x.Data.ContentData()?.Mind?.AllRoles.All(role => role is not Job {CanBeAntag: false}) ?? false
).ToList();
var prefList = new List<IPlayerSession>();
foreach (var player in list)

View File

@@ -14,10 +14,13 @@ namespace Content.Server.Roles
public string? StartingGear => Prototype.StartingGear;
public bool CanBeAntag;
public Job(Mind.Mind mind, JobPrototype jobPrototype) : base(mind)
{
Prototype = jobPrototype;
Name = jobPrototype.Name;
CanBeAntag = jobPrototype.CanBeAntag;
}
public override void Greet()

View File

@@ -33,6 +33,9 @@ namespace Content.Shared.Roles
[DataField("requireAdminNotify")]
public bool RequireAdminNotify { get; } = false;
[DataField("canBeAntag")]
public bool CanBeAntag { get; } = true;
/// <summary>
/// Whether this job is a head.
/// The job system will try to pick heads before other jobs on the same priority level.

View File

@@ -10,6 +10,7 @@
requireAdminNotify: true
joinNotifyCrew: true
supervisors: "Nanotrasen officials"
canBeAntag: false
access:
# All of em.
# Could probably do with some kind of wildcard or whatever to automate this.

View File

@@ -9,6 +9,7 @@
icon: "HeadOfPersonnel"
requireAdminNotify: true
supervisors: "the captain"
canBeAntag: false
access:
- Command
- HeadOfPersonnel

View File

@@ -10,6 +10,7 @@
icon: "ChiefEngineer"
requireAdminNotify: true
supervisors: "the captain"
canBeAntag: false
access:
- Maintenance
- Engineering

View File

@@ -12,6 +12,7 @@
icon: "ChiefMedicalOfficer"
requireAdminNotify: true
supervisors: "the captain"
canBeAntag: false
access:
- Medical
- Command

View File

@@ -10,6 +10,7 @@
icon: "ResearchDirector"
requireAdminNotify: true
supervisors: "the captain"
canBeAntag: false
access:
- Research
- Command

View File

@@ -10,6 +10,7 @@
icon: "HeadOfSecurity"
requireAdminNotify: true
supervisors: "the captain"
canBeAntag: false
access:
- Command
- Brig

View File

@@ -8,6 +8,7 @@
- Security
icon: "SecurityOfficer"
supervisors: "the head of security"
canBeAntag: false
access:
- Security
- Maintenance