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:
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
icon: "HeadOfPersonnel"
|
||||
requireAdminNotify: true
|
||||
supervisors: "the captain"
|
||||
canBeAntag: false
|
||||
access:
|
||||
- Command
|
||||
- HeadOfPersonnel
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
icon: "ChiefEngineer"
|
||||
requireAdminNotify: true
|
||||
supervisors: "the captain"
|
||||
canBeAntag: false
|
||||
access:
|
||||
- Maintenance
|
||||
- Engineering
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
icon: "ChiefMedicalOfficer"
|
||||
requireAdminNotify: true
|
||||
supervisors: "the captain"
|
||||
canBeAntag: false
|
||||
access:
|
||||
- Medical
|
||||
- Command
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
icon: "ResearchDirector"
|
||||
requireAdminNotify: true
|
||||
supervisors: "the captain"
|
||||
canBeAntag: false
|
||||
access:
|
||||
- Research
|
||||
- Command
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
icon: "HeadOfSecurity"
|
||||
requireAdminNotify: true
|
||||
supervisors: "the captain"
|
||||
canBeAntag: false
|
||||
access:
|
||||
- Command
|
||||
- Brig
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
- Security
|
||||
icon: "SecurityOfficer"
|
||||
supervisors: "the head of security"
|
||||
canBeAntag: false
|
||||
access:
|
||||
- Security
|
||||
- Maintenance
|
||||
|
||||
Reference in New Issue
Block a user