Metagame improvements to antag-before-job selection system (#35830)

* Initial commit

* Update the selection to only count for people who have one of the preferences assigned; latejoin on delay no longer applies pre-selection.
This commit is contained in:
SlamBamActionman
2025-03-19 18:28:25 +01:00
committed by GitHub
parent 398d92a064
commit 1d4ff1b0d1
6 changed files with 109 additions and 37 deletions

View File

@@ -34,6 +34,15 @@
- id: Thief
prob: 0.5
- type: entity
parent: BaseGameRule
id: DummyNonAntagChance
components:
- type: SubGamemodes
rules:
- id: DummyNonAntag
prob: 0.3
- type: entity
id: DeathMatch31
parent: BaseGameRule
@@ -333,6 +342,22 @@
mindRoles:
- MindRoleInitialInfected
# This rule makes the chosen players unable to get other antag rules, as a way to prevent metagaming job rolls.
# Put this before antags assigned to station jobs, but after non-job antags (NukeOps/Wiz).
- type: entity
id: DummyNonAntag
parent: BaseGameRule
components:
- type: GameRule
minPlayers: 5
- type: AntagSelection
selectionTime: IntraPlayerSpawn # Pre-selection before jobs; assignment doesn't really matter though, we only care about the pre-selection to block other antags.
removeUponFailedSpawn: false
definitions:
- prefRoles: [ InitialInfected, Traitor, Thief, HeadRev ]
max: 2
playerRatio: 30
# event schedulers
- type: entityTable