Changeling Random Objectives (#44212)

* changeling random objectives

* addressed slarti's comments (i think :godo:)

* Apply suggestion from @slarticodefast

---------

Co-authored-by: nomdéraisonnablementlong <you@example.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
This commit is contained in:
KeTuFaisPiKiNut
2026-06-03 18:36:54 -04:00
committed by GitHub
parent 45b77c2c25
commit c588cad971
3 changed files with 66 additions and 6 deletions
@@ -225,11 +225,15 @@
range:
min: 1
max: 3
- type: AntagObjectives
objectives:
# - ChangelingSurviveObjective TODO: make a random selection of objectives when there are more of them
- ChangelingUniqueIdentityObjective
- ChangelingEscapeIdentityObjective
- type: AntagRandomObjectives
sets:
- groups: ChangelingObjectiveGroupDevourDummy
maxPicks: 1
- groups: ChangelingObjectiveGroupEscapeDummy
maxPicks: 1
- groups: ChangelingObjectiveGroupKillDummy
maxPicks: 1
maxDifficulty: 8
- type: entity
id: Revolutionary
@@ -57,3 +57,24 @@
blacklist:
components:
- ChangelingRole
- type: entity
parent: [BaseChangelingObjective, BaseKillObjective]
id: ChangelingKillRandomPersonObjective
description: This person is our prey. We must ensure they stay dead on the station.
components:
- type: Objective
difficulty: 2.0
unique: false
- type: TargetObjective
title: objective-condition-kill-maroon-title
- type: PickRandomPerson
filters:
# Can't have multiple objectives to kill the same person.
- !type:TargetObjectiveMindFilter
blacklist:
components:
- KillPersonCondition
- type: KillPersonCondition
requireDead: true
requireMaroon: true
@@ -135,4 +135,39 @@
id: ThiefObjectiveGroupEscape
weights:
EscapeThiefShuttleObjective: 1
#Changeling, crew, wizard, when you code it...
# Changeling
- type: weightedRandom # we need these dummy groups since its shitty code that won't stand having less than two groups before the objectives themselves
id: ChangelingObjectiveGroupDevourDummy
weights:
ChangelingObjectiveGroupDevour: 1
- type: weightedRandom
id: ChangelingObjectiveGroupDevour
weights:
ChangelingUniqueIdentityObjective: 1
# eventually: devour most
- type: weightedRandom
id: ChangelingObjectiveGroupEscapeDummy
weights:
ChangelingObjectiveGroupEscape: 1
- type: weightedRandom
id: ChangelingObjectiveGroupEscape
weights:
ChangelingSurviveObjective: 0.5
ChangelingEscapeIdentityObjective: 1
# eventually: escape as a job/dept
- type: weightedRandom
id: ChangelingObjectiveGroupKillDummy
weights:
ChangelingObjectiveGroupKill: 1
- type: weightedRandom
id: ChangelingObjectiveGroupKill
weights:
ChangelingKillRandomPersonObjective: 1
# Crew, wizard, when you code it...