]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Remove the ability for command or any antag-safe role from being initial infected...
authorBrandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
Tue, 5 Mar 2024 04:34:18 +0000 (04:34 +0000)
committerGitHub <noreply@github.com>
Tue, 5 Mar 2024 04:34:18 +0000 (23:34 -0500)
* fix(antags): respects canBeAntag = true

* updated more

* includeAllJobs = False??????????

* fixed comma placement

* removed unused dependencies

Content.Server/GameTicking/Rules/ZombieRuleSystem.cs

index aa8ada95a78ceed2cb27b7d3fcff3ba4117a9ebe..0b7cb9cf8f7aefad78ee3b352e8d212662155891 100644 (file)
@@ -244,10 +244,23 @@ public sealed class ZombieRuleSystem : GameRuleSystem<ZombieRuleComponent>
     /// </remarks>
     private void InfectInitialPlayers(ZombieRuleComponent component)
     {
-        //Get all players with initial infected enabled, and exclude those with the ZombieImmuneComponent
-        var eligiblePlayers = _antagSelection.GetEligiblePlayers(_playerManager.Sessions, component.PatientZeroPrototypeId, includeAllJobs: true, customExcludeCondition: x => HasComp<ZombieImmuneComponent>(x) || HasComp<InitialInfectedExemptComponent>(x));
-        //And get all players, excluding ZombieImmune - to fill any leftover initial infected slots
-        var allPlayers = _antagSelection.GetEligiblePlayers(_playerManager.Sessions, component.PatientZeroPrototypeId, acceptableAntags: Shared.Antag.AntagAcceptability.All, includeAllJobs: true, ignorePreferences: true, customExcludeCondition: HasComp<ZombieImmuneComponent>);
+        //Get all players with initial infected enabled, and exclude those with the ZombieImmuneComponent and roles with CanBeAntag = False
+        var eligiblePlayers = _antagSelection.GetEligiblePlayers(
+            _playerManager.Sessions,
+            component.PatientZeroPrototypeId,
+            includeAllJobs: false,
+            customExcludeCondition: player => HasComp<ZombieImmuneComponent>(player) || HasComp<InitialInfectedExemptComponent>(player) 
+            );
+
+        //And get all players, excluding ZombieImmune and roles with CanBeAntag = False - to fill any leftover initial infected slots
+        var allPlayers = _antagSelection.GetEligiblePlayers(
+            _playerManager.Sessions,
+            component.PatientZeroPrototypeId,
+            acceptableAntags: Shared.Antag.AntagAcceptability.All,
+            includeAllJobs: false ,
+            ignorePreferences: true,
+            customExcludeCondition: HasComp<ZombieImmuneComponent> 
+            );
 
         //If there are no players to choose, abort
         if (allPlayers.Count == 0)