antag objective issuing refactor (#28216)

* add AntagObjectives from GenericAntag

* add AntagRandomObjectives that traitor and thief can use

* make ObjectivesSystem use initial character name which AntagSelection passes

* make thief and traitor use AntagRandomObjectives

* remove now unused locale

* make sleeper agents rule use baseTraitorRule

* restore dragon rule oop

* bandaid for genericantag

* real

* typo

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
This commit is contained in:
deltanedas
2024-05-25 20:14:48 +00:00
committed by GitHub
parent f1c70d69f2
commit a06ea58249
18 changed files with 231 additions and 153 deletions

View File

@@ -428,9 +428,9 @@
prototype: Nukeops
- type: entity
id: SleeperAgentsRule
parent: BaseGameRule
noSpawn: true
parent: BaseTraitorRule
id: SleeperAgentsRule
components:
- type: StationEvent
earliestStart: 30
@@ -441,7 +441,6 @@
startAudio:
path: /Audio/Announcements/intercept.ogg
- type: AlertLevelInterceptionRule
- type: TraitorRule
- type: AntagSelection
definitions:
- prefRoles: [ Traitor ]

View File

@@ -35,7 +35,19 @@
id: Thief
components:
- type: ThiefRule
- type: AntagObjectives
objectives:
- EscapeThiefShuttleObjective
- type: AntagRandomObjectives
sets:
- groups: ThiefBigObjectiveGroups
prob: 0.7
maxPicks: 1
- groups: ThiefObjectiveGroups
maxPicks: 10
maxDifficulty: 2.5
- type: AntagSelection
agentName: thief-round-end-agent-name
definitions:
- prefRoles: [ Thief ]
maxRange:
@@ -53,14 +65,3 @@
prototype: Thief
briefing:
sound: "/Audio/Misc/thief_greeting.ogg"
#- type: entity
# noSpawn: true
# parent: BaseGameRule
# id: Exterminator
# components:
# - type: GenericAntagRule
# agentName: terminator-round-end-agent-name
# objectives:
# - TerminateObjective
# - ShutDownObjective

View File

@@ -134,16 +134,30 @@
prototype: Nukeops
- type: entity
id: Traitor
abstract: true
parent: BaseGameRule
id: BaseTraitorRule
components:
- type: TraitorRule
# TODO: codewords in yml
# TODO: uplink in yml
- type: AntagRandomObjectives
sets:
- groups: TraitorObjectiveGroups
maxDifficulty: 5
- type: AntagSelection
agentName: traitor-round-end-agent-name
- type: entity
noSpawn: true
parent: BaseTraitorRule
id: Traitor
components:
- type: GameRule
minPlayers: 5
delay:
min: 240
max: 420
- type: TraitorRule
- type: AntagSelection
definitions:
- prefRoles: [ Traitor ]

View File

@@ -55,13 +55,6 @@
ThiefObjectiveGroupStructure: 0 #Temporarily disabled until obvious ways to steal structures are added
ThiefObjectiveGroupAnimal: 2
- type: weightedRandom
id: ThiefEscapeObjectiveGroups
weights:
ThiefObjectiveGroupEscape: 1
- type: weightedRandom
id: ThiefObjectiveGroupCollection
weights: