mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 13:37:47 +03:00
Remove the ability for command or any antag-safe role from being initial infected in zombie mode #25529 (#25785)
* fix(antags): respects canBeAntag = true * updated more * includeAllJobs = False?????????? * fixed comma placement * removed unused dependencies (cherry picked from commit 511e245de1fe668e0af5d2ae0581c54e44712812)
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user