This commit is contained in:
2026-01-24 16:34:15 -05:00
commit c23bf51490
3996 changed files with 657568 additions and 0 deletions

View File

@@ -0,0 +1,124 @@
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <ajcraigaz@gmail.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# OBJECTIVE STYLE
# in comments anything that says final prototype means the objective that isnt abstract.
# you dont need noSpawn because Objectives category is automatically added, which has hideSpawnmenu
# components are listed in this order:
# 1. Objective
# 2. requirement components
# 3. non-condition components
# 4. the condition component
# all objectives should inherit this at some point
# then have its icon etc fields set in the final objective prototypes
- type: entity
abstract: true
id: BaseObjective
components:
- type: Objective
# requires that the player not have a die objective
- type: entity
abstract: true
parent: BaseObjective
id: BaseLivingObjective
components:
- type: ObjectiveBlacklistRequirement
blacklist:
components:
- DieCondition
# objective that targets a player
# final prototype must specify the title locale id in TargetObjective
- type: entity
abstract: true
parent: BaseObjective
id: BaseTargetObjective
components:
- type: TargetObjective
# requires that the player kill someone
# disables social objectives and is disabled by social objectives
- type: entity
abstract: true
parent: BaseTargetObjective
id: BaseKillObjective
components:
- type: Objective
unique: false
icon:
sprite: Objects/Weapons/Guns/Pistols/viper.rsi
state: icon
- type: ObjectiveBlacklistRequirement
blacklist:
components:
- SocialObjective
- type: KillPersonCondition
# requires that the player interact socially with someone
# disables kill objectives and is disabled by kill objectives
- type: entity
abstract: true
parent: BaseTargetObjective
id: BaseSocialObjective
components:
- type: Objective
unique: false
- type: ObjectiveBlacklistRequirement
blacklist:
components:
- KillPersonCondition
- type: SocialObjective
# requires that the target survives the round
- type: entity
abstract: true
parent: BaseSocialObjective
id: BaseKeepAliveObjective
components:
- type: KeepAliveCondition
# requires that the target completes at least 50% of their objectives
- type: entity
abstract: true
parent: BaseSocialObjective
id: BaseHelpProgressObjective
components:
- type: HelpProgressCondition
# requires that the player steal an item specified in the final prototype
- type: entity
abstract: true
parent: BaseLivingObjective
id: BaseStealObjective
components:
- type: StealCondition
objectiveNoOwnerText: objective-condition-steal-title-no-owner
objectiveText: objective-condition-steal-title
descriptionText: objective-condition-steal-description
descriptionMultiplyText: objective-condition-thief-multiply-description
# requires that the player not die, ignores being on emergency shuttle or cuffed
- type: entity
abstract: true
parent: BaseObjective
id: BaseSurviveObjective
components:
- type: SurviveCondition
# objective progress is controlled by a system and not the objective itself
- type: entity
abstract: true
parent: BaseObjective
id: BaseCodeObjective
components:
- type: CodeCondition

View File

@@ -0,0 +1,50 @@
# SPDX-FileCopyrightText: 2023 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
abstract: true
parent: BaseObjective
id: BaseDragonObjective
components:
- type: Objective
# difficulty isn't used at all since objective are fixed
difficulty: 1.5
issuer: objective-issuer-dragon
- type: RoleRequirement
roles:
- DragonRole
- type: entity
parent: BaseDragonObjective
id: CarpRiftsObjective
components:
- type: Objective
icon:
sprite: Structures/Specific/carp_rift.rsi
state: icon_blue
- type: NumberObjective
# dragon can only spawn 3 rifts so keep objective the same
min: 3
max: 3
title: objective-carp-rifts-title
description: objective-carp-rifts-description
- type: CarpRiftsCondition
- type: entity
parent: [BaseDragonObjective, BaseSurviveObjective]
id: DragonSurviveObjective
name: Survive
description: You have to stay alive to maintain control.
components:
- type: Objective
icon:
sprite: Mobs/Aliens/Carps/dragon.rsi
state: alive

View File

@@ -0,0 +1,103 @@
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2024 Vyacheslav Kovalevsky <40753025+Slava0135@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
abstract: true
parent: BaseObjective
id: BaseNinjaObjective
components:
- type: Objective
# difficulty isn't used since all objectives are picked
difficulty: 1.5
issuer: objective-issuer-spiderclan
- type: RoleRequirement
roles:
- NinjaRole
- type: entity
parent: BaseNinjaObjective
id: DoorjackObjective
components:
- type: Objective
icon:
sprite: Objects/Tools/emag.rsi
state: icon
- type: NumberObjective
min: 15
max: 40
title: objective-condition-doorjack-title
description: objective-condition-doorjack-description
- type: DoorjackCondition
- type: entity
parent: BaseNinjaObjective
id: StealResearchObjective
description: Your gloves can be used to hack a research server and steal its precious data. If science has been slacking you'll have to get to work.
components:
- type: Objective
icon:
sprite: Structures/Machines/server.rsi
state: server
- type: NumberObjective
min: 9
max: 13
title: objective-condition-steal-research-title
- type: StealResearchCondition
- type: entity
parent: [BaseNinjaObjective, BaseCodeObjective]
id: SpiderChargeObjective
description: This bomb can be detonated in a specific location. Note that the bomb will not work anywhere else!
components:
- type: Objective
icon:
sprite: Objects/Weapons/Bombs/spidercharge.rsi
state: icon
- type: SpiderChargeCondition
- type: entity
parent: [BaseNinjaObjective, BaseSurviveObjective]
id: NinjaSurviveObjective
name: Survive
description: You wouldn't be a very good ninja if you died, now would you?
components:
- type: Objective
icon:
sprite: Clothing/Mask/ninja.rsi
state: icon
- type: entity
parent: [BaseNinjaObjective, BaseCodeObjective]
id: TerrorObjective
name: Call in a threat
description: Use your gloves on a communication console in order to bring another threat to the station.
components:
- type: Objective
icon:
sprite: Objects/Fun/Instruments/otherinstruments.rsi
state: red_phone
- type: entity
parent: [BaseNinjaObjective, BaseCodeObjective]
id: MassArrestObjective
name: Set everyone to wanted
description: Use your gloves to hack a criminal records console, setting the entire station to be wanted!
components:
- type: Objective
icon:
sprite: Objects/Weapons/Melee/stunbaton.rsi
state: stunbaton_on

View File

@@ -0,0 +1,234 @@
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Darkie <darksaiyanis@gmail.com>
# SPDX-FileCopyrightText: 2023 EnDecc <33369477+Endecc@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 Morb <14136326+Morb0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kira Bridgeton <161087999+Verbalase@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 LankLTE <135308300+LankLTE@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mary <mary@thughunt.ing>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PoTeletubby <ajcraigaz@gmail.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Wrexbe (Josh) <81056464+wrexbe@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 reverie collection <revsys413@gmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2024 Эдуард <36124833+Ertanic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 IrisTheAmped <iristheamped@gmail.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Traitor
- type: weightedRandom
id: TraitorObjectiveGroups
weights:
TraitorObjectiveGroupSteal: 1
TraitorObjectiveGroupKill: 1
TraitorObjectiveGroupState: 1 #As in, something about your character. Alive, dead, arrested, gained an ability...
TraitorObjectiveGroupSocial: 1 #Involves helping/harming others without killing them or stealing their stuff
- type: weightedRandom
id: TraitorObjectiveGroupSteal
weights:
CaptainIDStealObjective: 1
CMOHyposprayStealObjective: 1
# CMOCrewMonitorStealObjective: 1 # Goobstation
CMORapidSyringeGunStealObjective: 1
RDHardsuitStealObjective: 1
NukeDiskStealObjective: 1
MagbootsStealObjective: 1
# CERocketLauncherStealObjective: 1
CorgiMeatStealObjective: 1
ClipboardStealObjective: 1
CaptainGunStealObjective: 0.5
CaptainJetpackStealObjective: 0.5
HandTeleporterStealObjective: 0.5
EnergyShotgunStealObjective: 0.5
StealSupermatterSliverObjective: 0.5 # Goobstation - supermatter
LawbringerStealObjective: 0.5 # Goobstation
GeminiProjectorStealObjective: 0.5 # Goobstation
ExecutiveBriefcaseStealObjective: 0.5 # Goobstation
JusticeStealObjective: 0.5 # Goobstation
- type: weightedRandom
id: TraitorObjectiveGroupKill
weights:
KillRandomPersonObjective: 1
PermaKillRandomPersonObjective: 0.5 # Goobstation - straight up kill someone with no maroons
PermaKillRandomTraitorObjective: 0.3 # Goobstation - target traitor
KillRandomHeadObjective: 0.2
TeachRandomPersonObjective: 1 #Goobstation Teach them a lesson
TeachRandomHeadObjective: 0.25 #Goobstation Teach them a lesson
- type: weightedRandom
id: TraitorObjectiveGroupState
weights:
EscapeShuttleObjective: 1
DieObjective: 0.05
HijackShuttleObjective: 0.02 # Goobstation - reenable hijack
- type: weightedRandom
id: TraitorObjectiveGroupSocial
weights:
# RandomTraitorAliveObjective: 1 - Removed because the objective was boring and didn't progress the round.
RandomTraitorProgressObjective: 1
RandomTraitorTargetAliveObjective: 0.5 # Goobstation - protect a player that is targeted by another traitor
#Thief groups
- type: weightedRandom
id: ThiefObjectiveGroups
weights:
ThiefObjectiveGroupCollection: 1
ThiefObjectiveGroupItem: 1
- type: weightedRandom
id: ThiefBigObjectiveGroups
weights:
ThiefObjectiveGroupStructure: 1
ThiefObjectiveGroupAnimal: 1
- type: weightedRandom
id: ThiefObjectiveGroupCollection
weights:
HeadCloakStealCollectionObjective: 1 #command
HeadBedsheetStealCollectionObjective: 1
StampStealCollectionObjective: 1
DoorRemoteStealCollectionObjective: 1
TechnologyDiskStealCollectionObjective: 1 #rnd
IDCardsStealCollectionObjective: 1
LAMPStealCollectionObjective: 2 #only for moth
BatteryStealCollectionObjective: 2 #Goobedit - only for ipc
- type: weightedRandom
id: ThiefObjectiveGroupItem
weights:
ForensicScannerStealObjective: 1 #sec
FlippoEngravedLighterStealObjective: 0.5
ClothingHeadHatWardenStealObjective: 1
WantedListCartridgeStealObjective: 1
ClothingOuterHardsuitVoidParamedStealObjective: 1 #med
MedicalTechFabCircuitboardStealObjective: 1
ClothingHeadsetAltMedicalStealObjective: 1
FireAxeStealObjective: 1 #eng
AmePartFlatpackStealObjective: 1
#ExpeditionsCircuitboardStealObjective: 1 Goob edit - Removed because lavaland #sup
CargoShuttleCircuitboardStealObjective: 1
ClothingEyesHudBeerStealObjective: 1 #srv
BibleStealObjective: 1
ClothingNeckGoldmedalStealObjective: 1 #other
ClothingNeckClownmedalStealObjective: 0.5
- type: weightedRandom
id: ThiefObjectiveGroupStructure
weights:
NuclearBombStealObjective: 0.5
FaxMachineCaptainStealObjective: 1
ChemDispenserStealObjective: 1
XenoArtifactStealObjective: 1
FreezerHeaterStealObjective: 1
TegStealObjective: 1
BoozeDispenserStealObjective: 1
AltarNanotrasenStealObjective: 1
PlantRDStealObjective: 1
ToiletGoldenStealObjective: 1
- type: weightedRandom
id: ThiefObjectiveGroupAnimal
weights:
IanStealObjective: 1
BingusStealObjective: 1
McGriffStealObjective: 1
WalterStealObjective: 1
MortyStealObjective: 1
RenaultStealObjective: 1
ShivaStealObjective: 1
TropicoStealObjective: 1
- type: weightedRandom
id: ThiefObjectiveGroupEscape
weights:
EscapeThiefShuttleObjective: 1
#Changeling, crew, wizard, when you code it...

View File

@@ -0,0 +1,40 @@
- type: entity
abstract: true
parent: BaseObjective
id: BaseParadoxCloneObjective
components:
- type: Objective
# required but not used
difficulty: 1
issuer: objective-issuer-paradox
- type: RoleRequirement
roles:
- ParadoxCloneRole
- type: Tag
tags:
- ParadoxCloneObjectiveBlacklist # don't copy the objectives from other clones
- type: entity
parent: [BaseParadoxCloneObjective, BaseLivingObjective]
id: ParadoxCloneLivingObjective
name: Escape to centcomm alive and unrestrained.
description: Return to your old life, via the evacuation shuttle. # Goobstation
components:
- type: Objective
icon:
sprite: Structures/Furniture/chairs.rsi
state: shuttle
- type: EscapeShuttleCondition
- type: entity
parent: [BaseParadoxCloneObjective, BaseKillObjective]
id: ParadoxCloneKillObjective
name: Fix the space-time paradox.
description: Replace your original to fix the paradox. Remember, your mission is to blend in, do not kill anyone else unless you have to!
components:
- type: PickSpecificPerson
- type: KillPersonCondition
requireDead: true
- type: TargetObjective
title: objective-condition-kill-head-title # kill <name>, <job>

View File

@@ -0,0 +1,445 @@
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Darkie <darksaiyanis@gmail.com>
# SPDX-FileCopyrightText: 2023 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ChaseFlorom <57235581+ChaseFlorom@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2024 LankLTE <135308300+LankLTE@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Velcroboy <velcroboy333@hotmail.com>
# SPDX-FileCopyrightText: 2024 chavonadelal <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 degradka <69397649+degradka@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 reverie collection <revsys413@gmail.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Эдуард <36124833+Ertanic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 IrisTheAmped <iristheamped@gmail.com>
# SPDX-FileCopyrightText: 2025 PunishedJoe <PunishedJoeseph@proton.me>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Traitor single items
- type: stealTargetGroup
id: Hypospray
name: steal-target-groups-hypospray
sprite:
sprite: Objects/Specific/Medical/hypospray.rsi
state: hypo
#- type: stealTargetGroup # Goobstation - made this public
# id: HandheldCrewMonitor
# name: steal-target-groups-handheld-crew-monitor
# sprite:
# sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi
# state: scanner
- type: stealTargetGroup
id: ClothingOuterHardsuitRd
name: steal-target-groups-clothing-outer-hardsuit-rd
sprite:
sprite: Clothing/OuterClothing/Hardsuits/rd.rsi
state: icon
- type: stealTargetGroup
id: HandTeleporter
name: steal-target-groups-hand-teleporter
sprite:
sprite: Objects/Devices/hand_teleporter.rsi
state: icon
- type: stealTargetGroup
id: ClothingShoesBootsMagAdv
name: steal-target-groups-clothing-shoes-boots-mag-adv
sprite:
sprite: Clothing/Shoes/Boots/magboots-advanced.rsi
state: icon
- type: stealTargetGroup
id: BoxFolderQmClipboard
name: steal-target-groups-box-folder-qm-clipboard
sprite:
sprite: Objects/Misc/qm_clipboard.rsi
state: qm_clipboard
- type: stealTargetGroup
id: ClothingHandsKnuckleDustersQM
name: steal-target-groups-clothing-hands-knuckledusters-qm
sprite:
sprite: _Goobstation/Clothing/Hands/Gloves/knuckleduster.rsi # Goobstation
state: goldenknuckleduster
- type: stealTargetGroup
id: FoodMeatCorgi
name: steal-target-groups-food-meat-corgi
sprite:
sprite: Objects/Consumable/Food/meat.rsi
state: corgi
#
- type: stealTargetGroup
id: CaptainIDCard
name: steal-target-groups-captain-id-card
sprite:
sprite: Objects/Misc/id_cards.rsi
state: ert_commander #no one will know the difference.
- type: stealTargetGroup
id: JetpackCaptainFilled
name: steal-target-groups-jetpack-captain-filled
sprite:
sprite: Objects/Tanks/Jetpacks/captain.rsi
state: icon
- type: stealTargetGroup
id: WeaponAntiqueLaser
name: steal-target-groups-weapon-antique-laser
sprite:
sprite: Objects/Weapons/Guns/Battery/antiquelasergun.rsi
state: base
- type: stealTargetGroup
id: NukeDisk
name: steal-target-groups-nuke-disk
sprite:
sprite: Objects/Misc/nukedisk.rsi
state: icon
- type: stealTargetGroup
id: WeaponEnergyShotgun
name: steal-target-groups-weapon-energy-shot-gun
sprite:
sprite: Objects/Weapons/Guns/Battery/energy_shotgun.rsi
state: base
# Thief Collection
- type: stealTargetGroup
id: HeadCloak
name: steal-target-groups-heads-cloaks
sprite:
sprite: Clothing/Neck/Cloaks/cap.rsi
state: icon
- type: stealTargetGroup
id: HeadBedsheet
name: steal-target-groups-heads-bedsheets
sprite:
sprite: Objects/Misc/bedsheets.rsi
state: sheetNT
- type: stealTargetGroup
id: Stamp
name: steal-target-groups-stamps
sprite:
sprite: Objects/Misc/stamps.rsi
state: stamp-cap
- type: stealTargetGroup
id: DoorRemote
name: steal-target-groups-door-remotes
sprite:
sprite: Objects/Devices/door_remote.rsi
state: door_remotebase
- type: stealTargetGroup
id: EncryptionKey
name: steal-target-groups-encryption-keys
sprite:
sprite: Objects/Devices/encryption_keys.rsi
state: crypt_gray
- type: stealTargetGroup
id: TechnologyDisk
name: steal-target-groups-technology-disks
sprite:
sprite: Objects/Misc/module.rsi
state: datadisk_base
- type: stealTargetGroup
id: IDCard
name: steal-target-groups-id-cards
sprite:
sprite: Objects/Misc/id_cards.rsi
state: default
- type: stealTargetGroup
id: LAMP
name: steal-target-groups-lamps
sprite:
sprite: Objects/Tools/lantern.rsi
state: lantern
- type: stealTargetGroup #Goobstation
id: Battery
name: steal-target-groups-battery
sprite:
sprite: Objects/Power/power_cells.rsi
state: medium
# Thief single item
- type: stealTargetGroup
id: ForensicScanner
name: steal-target-groups-forensic-scanner
sprite:
sprite: Objects/Devices/forensic_scanner.rsi
state: forensicnew
- type: stealTargetGroup
id: FlippoEngravedLighter
name: steal-target-groups-flippo-engraved-lighter
sprite:
sprite: Objects/Tools/Lighters/lighters.rsi
state: zippo_engraved_icon_base
- type: stealTargetGroup
id: AmmoTechFabCircuitboard
name: steal-target-groups-ammo-tech-fab-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: security
- type: stealTargetGroup
id: ClothingHeadHatWarden
name: steal-target-groups-clothing-head-hat-warden
sprite:
sprite: Clothing/Head/Hats/warden.rsi
state: icon
- type: stealTargetGroup
id: ClothingOuterHardsuitVoidParamed
name: steal-target-groups-clothing-outer-hardsuit-void-paramed
sprite:
sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi
state: icon
- type: stealTargetGroup
id: MedicalTechFabCircuitboard
name: steal-target-groups-medical-tech-fab-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: medical
- type: stealTargetGroup
id: ClothingHeadsetAltMedical
name: steal-target-groups-clothing-headset-alt-medical
sprite:
sprite: Clothing/Ears/Headsets/medical.rsi
state: icon_alt
- type: stealTargetGroup
id: ResearchAndDevelopmentServerMachineCircuitboard
name: steal-target-groups-research-and-development-server-machine-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: science
- type: stealTargetGroup
id: FireAxe
name: steal-target-groups-fire-axe
sprite:
sprite: Objects/Weapons/Melee/fireaxe.rsi
state: icon
- type: stealTargetGroup
id: AmePartFlatpack
name: steal-target-groups-ame-part-flatpack
sprite:
sprite: Objects/Devices/flatpack.rsi
state: ame-part
#- type: stealTargetGroup Goob edit - Removed because Lavaland
# id: SalvageExpeditionsComputerCircuitboard
# name: steal-target-groups-salvage-expeditions-computer-circuitboard
# sprite:
# sprite: Objects/Misc/module.rsi
# state: cpu_supply
- type: stealTargetGroup
id: CargoShuttleConsoleCircuitboard
name: steal-target-groups-cargo-shuttle-console-circuitboard
sprite:
sprite: Objects/Misc/module.rsi
state: cpuboard
- type: stealTargetGroup
id: ClothingEyesHudBeer
name: steal-target-groups-clothing-eyes-hud-beer
sprite:
sprite: Clothing/Eyes/Hud/beergoggles.rsi
state: icon
- type: stealTargetGroup
id: Bible
name: steal-target-groups-bible
sprite:
sprite: Objects/Specific/Chapel/bible.rsi
state: icon
- type: stealTargetGroup
id: ClothingNeckGoldmedal
name: steal-target-groups-clothing-neck-goldmedal
sprite:
sprite: Clothing/Neck/Medals/gold.rsi
state: icon
- type: stealTargetGroup
id: ClothingNeckClownmedal
name: steal-target-groups-clothing-neck-clownmedal
sprite:
sprite: Clothing/Neck/Medals/clownmedal.rsi
state: icon
- type: stealTargetGroup
id: WantedListCartridge
name: steal-target-groups-wanted-list-cartridge
sprite:
sprite: Objects/Devices/cartridge.rsi
state: cart-sec
#Thief structures
- type: stealTargetGroup
id: NuclearBomb
name: steal-target-groups-nuclear-bomb
sprite:
sprite: Objects/Devices/nuke.rsi
state: nuclearbomb_base
- type: stealTargetGroup
id: FaxMachineCaptain
name: steal-target-groups-fax-machine-captain
sprite:
sprite: Structures/Machines/fax_machine.rsi
state: icon
- type: stealTargetGroup
id: ChemDispenser
name: steal-target-groups-chem-dispenser
sprite:
sprite: Structures/dispensers.rsi
state: industrial-working
- type: stealTargetGroup
id: XenoArtifact
name: steal-target-groups-xeno-artifact
sprite:
sprite: Objects/Specific/Xenoarchaeology/xeno_artifacts.rsi
state: ano28
- type: stealTargetGroup
id: FreezerHeater
name: steal-target-groups-freezer-heater
sprite:
sprite: Structures/Piping/Atmospherics/thermomachine.rsi
state: heaterOff
- type: stealTargetGroup
id: Teg
name: steal-target-groups-teg
sprite:
sprite: Structures/Power/Generation/teg.rsi
state: teg
- type: stealTargetGroup
id: BoozeDispenser
name: steal-target-groups-booze-dispenser
sprite:
sprite: Structures/smalldispensers.rsi
state: booze
- type: stealTargetGroup
id: AltarNanotrasen
name: steal-target-groups-altar-nanotrasen
sprite:
sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
state: nanotrasen
- type: stealTargetGroup
id: PlantRD
name: steal-target-groups-plant-rd
sprite:
sprite: Structures/Furniture/potted_plants.rsi
state: plant-25
- type: stealTargetGroup
id: ToiletGoldenDirtyWater
name: steal-target-groups-toilet-golden-dirty-water
sprite:
sprite: Structures/Furniture/golden_toilet.rsi
state: condisposal
# Thief Animal
- type: stealTargetGroup
id: AnimalIan
name: steal-target-groups-animal-ian
sprite:
sprite: Mobs/Pets/corgi.rsi
state: ian
- type: stealTargetGroup
id: AnimalNamedCat
name: steal-target-groups-animal-named-cat
sprite:
sprite: Mobs/Pets/bingus.rsi
state: bingus
- type: stealTargetGroup
id: AnimalMcGriff
name: steal-target-groups-animal-mc-griff
sprite:
sprite: Mobs/Pets/mcgriff.rsi
state: mcgriff
- type: stealTargetGroup
id: AnimalWalter
name: steal-target-groups-animal-walter
sprite:
sprite: Mobs/Pets/walter.rsi
state: walter
- type: stealTargetGroup
id: AnimalMorty
name: steal-target-groups-animal-morty
sprite:
sprite: Mobs/Animals/possum.rsi
state: possum
- type: stealTargetGroup
id: AnimalRenault
name: steal-target-groups-animal-renault
sprite:
sprite: Mobs/Animals/fox.rsi
state: fox
- type: stealTargetGroup
id: AnimalShiva
name: steal-target-groups-animal-shiva
sprite:
sprite: Mobs/Pets/shiva.rsi
state: shiva
- type: stealTargetGroup
id: AnimalTropico
name: steal-target-groups-animal-tropico
sprite:
sprite: Mobs/Animals/crab.rsi
state: crab

View File

@@ -0,0 +1,622 @@
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Darkie <darksaiyanis@gmail.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ChaseFlorom <57235581+ChaseFlorom@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 LankLTE <135308300+LankLTE@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spessmann <156740760+Spessmann@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Velcroboy <velcroboy333@hotmail.com>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 kosticia <kosticia46@gmail.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 reverie collection <revsys413@gmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2024 Эдуард <36124833+Ertanic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 IrisTheAmped <iristheamped@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
abstract: true
parent: BaseObjective
id: BaseThiefObjective
components:
- type: Objective
issuer: objective-issuer-thief
- type: RoleRequirement
roles:
- ThiefRole
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseStealObjective]
id: BaseThiefStealObjective
components:
- type: StealCondition
verifyMapExistence: false
descriptionText: objective-condition-thief-description
checkStealAreas: true
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseThiefStealObjective]
id: BaseThiefStealCollectionObjective
components:
- type: StealCondition
verifyMapExistence: true
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseThiefStealObjective]
id: BaseThiefStealStructureObjective
components:
- type: StealCondition
verifyMapExistence: true
- type: Objective
difficulty: 2 # it's hard to hide
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseThiefStealObjective]
id: BaseThiefStealAnimalObjective
components:
- type: StealCondition
verifyMapExistence: true
checkAlive: true
objectiveNoOwnerText: objective-condition-steal-title-alive-no-owner
descriptionText: objective-condition-thief-animal-description
- type: Objective
difficulty: 2 # it's hard to hide
# Collections
- type: entity
parent: BaseThiefStealCollectionObjective
id: HeadCloakStealCollectionObjective
components:
- type: StealCondition
stealGroup: HeadCloak
minCollectionSize: 3
maxCollectionSize: 6
- type: Objective
difficulty: 1.5
- type: entity
parent: BaseThiefStealCollectionObjective
id: HeadBedsheetStealCollectionObjective
components:
- type: StealCondition
stealGroup: HeadBedsheet
minCollectionSize: 3
maxCollectionSize: 6
- type: Objective
difficulty: 1.0
- type: entity
parent: BaseThiefStealCollectionObjective
id: StampStealCollectionObjective
components:
- type: StealCondition
stealGroup: Stamp
minCollectionSize: 5
maxCollectionSize: 8
- type: Objective
difficulty: 1.0
- type: entity
parent: BaseThiefStealCollectionObjective
id: DoorRemoteStealCollectionObjective
components:
- type: StealCondition
stealGroup: DoorRemote
minCollectionSize: 2
maxCollectionSize: 5
- type: Objective
difficulty: 1.5
- type: entity
parent: BaseThiefStealCollectionObjective
id: TechnologyDiskStealCollectionObjective
components:
- type: NotJobRequirement
job: Scientist
- type: StealCondition
stealGroup: TechnologyDisk
minCollectionSize: 5
maxCollectionSize: 15
verifyMapExistence: false
- type: Objective
difficulty: 0.8
- type: entity
parent: BaseThiefStealCollectionObjective
id: IDCardsStealCollectionObjective
components:
- type: StealCondition
stealGroup: IDCard
minCollectionSize: 5
maxCollectionSize: 10
verifyMapExistence: false
- type: Objective
difficulty: 0.7
- type: entity
parent: BaseThiefStealCollectionObjective
id: LAMPStealCollectionObjective
components:
- type: SpeciesRequirement
allowedSpecies:
- Moth
- type: StealCondition
stealGroup: LAMP
minCollectionSize: 1
maxCollectionSize: 10
verifyMapExistence: true
- type: Objective
difficulty: 0.5 # just for fun, collectings LAMP on Moth
- type: entity # Goobstation
parent: BaseThiefStealCollectionObjective
id: BatteryStealCollectionObjective
components:
- type: SpeciesRequirement
allowedSpecies:
- IPC
- type: StealCondition
stealGroup: Battery
minCollectionSize: 5
maxCollectionSize: 30
- type: Objective
difficulty: 0.5 # just for fun, collectings Battery for ipc
# steal item
- type: entity #Security subgroup
parent: BaseThiefStealObjective
id: ForensicScannerStealObjective
components:
- type: NotJobRequirement
job: Detective
- type: StealCondition
stealGroup: ForensicScanner
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealObjective
id: FlippoEngravedLighterStealObjective
components:
- type: NotJobRequirement
job: Detective
- type: StealCondition
stealGroup: FlippoEngravedLighter
- type: Objective
difficulty: 0.8
- type: entity
parent: BaseThiefStealObjective
id: ClothingHeadHatWardenStealObjective
components:
- type: StealCondition
stealGroup: ClothingHeadHatWarden
- type: Objective
difficulty: 1.2
- type: entity
parent: BaseThiefStealObjective
id: WantedListCartridgeStealObjective
components:
- type: StealCondition
stealGroup: WantedListCartridge
- type: Objective
difficulty: 1
- type: entity #Medical subgroup
parent: BaseThiefStealObjective
id: ClothingOuterHardsuitVoidParamedStealObjective
components:
- type: NotJobRequirement
job: Paramedic
- type: StealCondition
stealGroup: ClothingOuterHardsuitVoidParamed
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealObjective
id: MedicalTechFabCircuitboardStealObjective
components:
- type: NotJobRequirement
job: MedicalDoctor
- type: StealCondition
stealGroup: MedicalTechFabCircuitboard
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealObjective
id: ClothingHeadsetAltMedicalStealObjective
components:
- type: NotJobRequirement
job: ChiefMedicalOfficer
- type: StealCondition
stealGroup: ClothingHeadsetAltMedical
- type: Objective
difficulty: 1
- type: entity #Engineering subgroup
parent: BaseThiefStealObjective
id: FireAxeStealObjective
components:
- type: NotJobRequirement
job: AtmosphericTechnician
- type: StealCondition
stealGroup: FireAxe
- type: Objective
difficulty: 0.8
- type: entity
parent: BaseThiefStealObjective
id: AmePartFlatpackStealObjective
components:
- type: NotJobRequirement
job: StationEngineer
- type: StealCondition
stealGroup: AmePartFlatpack
- type: Objective
difficulty: 1
#- type: entity #Cargo subgroup
# parent: BaseThiefStealObjective
# id: ExpeditionsCircuitboardStealObjective
# components:
# - type: NotJobRequirement Goob edit - Removed due to Lavaland
# job: SalvageSpecialist
# - type: StealCondition
# stealGroup: SalvageExpeditionsComputerCircuitboard
# - type: Objective
# difficulty: 0.7
- type: entity
parent: BaseThiefStealObjective
id: CargoShuttleCircuitboardStealObjective
components:
- type: NotJobRequirement
job: CargoTechnician
- type: StealCondition
stealGroup: CargoShuttleConsoleCircuitboard
- type: Objective
difficulty: 0.7
- type: entity #Service subgroup
parent: BaseThiefStealObjective
id: ClothingEyesHudBeerStealObjective
components:
- type: NotJobRequirement
job: Bartender
- type: StealCondition
stealGroup: ClothingEyesHudBeer
- type: Objective
difficulty: 0.3
- type: entity
parent: BaseThiefStealObjective
id: BibleStealObjective
components:
- type: NotJobRequirement
job: Chaplain
- type: StealCondition
stealGroup: Bible
- type: Objective
difficulty: 0.4
- type: entity #Other subgroup
parent: BaseThiefStealObjective
id: ClothingNeckGoldmedalStealObjective
components:
- type: NotJobRequirement
job: HeadOfPersonnel
- type: StealCondition
stealGroup: ClothingNeckGoldmedal
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealObjective
id: ClothingNeckClownmedalStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: ClothingNeckClownmedal
- type: Objective
difficulty: 1
# Structures
- type: entity
parent: BaseThiefStealStructureObjective
id: NuclearBombStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: NuclearBomb
- type: Objective
difficulty: 2.5 #Good luck
- type: entity
parent: BaseThiefStealStructureObjective
id: FaxMachineCaptainStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: FaxMachineCaptain
- type: Objective
difficulty: 2
- type: entity
parent: BaseThiefStealStructureObjective
id: ChemDispenserStealObjective
components:
- type: NotJobRequirement
job: Chemist
- type: StealCondition
stealGroup: ChemDispenser
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealStructureObjective
id: XenoArtifactStealObjective
components:
- type: NotJobRequirement
job: Scientist
- type: StealCondition
stealGroup: XenoArtifact
- type: Objective
difficulty: 0.5
- type: entity
parent: BaseThiefStealStructureObjective
id: FreezerHeaterStealObjective
components:
- type: NotJobRequirement
job: AtmosphericTechnician
- type: StealCondition
stealGroup: FreezerHeater
- type: Objective
difficulty: 0.5
- type: entity
parent: BaseThiefStealStructureObjective
id: TegStealObjective
components:
- type: NotJobRequirement
job: AtmosphericTechnician
- type: StealCondition
stealGroup: Teg
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealStructureObjective
id: BoozeDispenserStealObjective
components:
- type: NotJobRequirement
job: Bartender
- type: StealCondition
stealGroup: BoozeDispenser
- type: Objective
difficulty: 0.5
- type: entity
parent: BaseThiefStealStructureObjective
id: AltarNanotrasenStealObjective
components:
- type: NotJobRequirement
job: Chaplain
- type: StealCondition
stealGroup: AltarNanotrasen
- type: Objective
difficulty: 0.5
- type: entity
parent: BaseThiefStealStructureObjective
id: PlantRDStealObjective
components:
- type: NotJobRequirement
job: Scientist
- type: StealCondition
stealGroup: PlantRD
- type: Objective
difficulty: 0.8
- type: entity
parent: BaseThiefStealStructureObjective
id: ToiletGoldenStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: ToiletGoldenDirtyWater
- type: Objective
difficulty: 2
# Animal
- type: entity
parent: BaseThiefStealAnimalObjective
id: IanStealObjective
components:
- type: NotJobRequirement
job: HeadOfPersonnel
- type: StealCondition
stealGroup: AnimalIan
- type: Objective
difficulty: 2.5
- type: entity
parent: BaseThiefStealAnimalObjective
id: BingusStealObjective
components:
- type: StealCondition
stealGroup: AnimalNamedCat
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealAnimalObjective
id: McGriffStealObjective
components:
- type: NotJobRequirement
job: Detective
- type: StealCondition
stealGroup: AnimalMcGriff
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealAnimalObjective
id: WalterStealObjective
components:
- type: NotJobRequirement
job: Chemist
- type: StealCondition
stealGroup: AnimalWalter
- type: Objective
difficulty: 1
- type: entity
parent: BaseThiefStealAnimalObjective
id: MortyStealObjective
components:
- type: StealCondition
stealGroup: AnimalMorty
- type: Objective
difficulty: 0.5
- type: entity
parent: BaseThiefStealAnimalObjective
id: RenaultStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: AnimalRenault
- type: Objective
difficulty: 2
- type: entity
parent: BaseThiefStealAnimalObjective
id: ShivaStealObjective
components:
- type: NotJobRequirement
job: SecurityOfficer
- type: StealCondition
stealGroup: AnimalShiva
- type: Objective
difficulty: 2
- type: entity
parent: BaseThiefStealAnimalObjective
id: TropicoStealObjective
components:
- type: NotJobRequirement
job: AtmosphericTechnician
- type: StealCondition
stealGroup: AnimalTropico
- type: Objective
difficulty: 1
# Escape
- type: entity
parent: [BaseThiefObjective, BaseLivingObjective]
id: EscapeThiefShuttleObjective
name: Escape to centcomm alive and unrestrained.
description: You don't want your illegal activities to be discovered by anyone, do you? Get out on the evacuation shuttle. # Goobstation
components:
- type: Objective
difficulty: 1.3
icon:
sprite: Structures/Furniture/chairs.rsi
state: shuttle
- type: EscapeShuttleCondition

View File

@@ -0,0 +1,406 @@
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 EnDecc <33369477+Endecc@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Morb <14136326+Morb0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Jackson Langley <tripwiregamer@gmail.com>
# SPDX-FileCopyrightText: 2025 ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2025 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 loltart <lo1tartyt@gmail.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
- type: entity
abstract: true
parent: BaseObjective
id: BaseTraitorObjective
components:
- type: Objective
issuer: objective-issuer-syndicate
- type: RoleRequirement
roles:
- TraitorRole
- type: entity
abstract: true
parent: [BaseTraitorObjective, BaseSocialObjective]
id: BaseTraitorSocialObjective
components:
- type: Objective
icon:
sprite: Objects/Misc/folders.rsi
state: folder-white
- type: MultipleTraitorsRequirement
- type: entity
abstract: true
parent: [BaseTraitorObjective, BaseStealObjective]
id: BaseTraitorStealObjective
components:
- type: StealCondition
verifyMapExistence: false
- type: Objective
difficulty: 2.75
- type: ObjectiveLimit
limit: 2 # there is usually only 1 of each steal objective, have 2 max for drama
# state
- type: entity
parent: [BaseTraitorObjective, BaseLivingObjective]
id: EscapeShuttleObjective
name: Escape to centcomm alive and unrestrained.
description: One of our undercover agents will debrief you when you arrive on the evacuation shuttle. Don't show up in cuffs. # Goobstation
components:
- type: Objective
difficulty: 1.3
icon:
sprite: Structures/Furniture/chairs.rsi
state: shuttle
- type: EscapeShuttleCondition
- type: entity
parent: BaseTraitorObjective
id: DieObjective
name: Die a glorious death
description: Die.
components:
- type: Objective
difficulty: 0.5
icon:
sprite: Mobs/Ghosts/ghost_human.rsi
state: icon
- type: ObjectiveBlacklistRequirement
blacklist:
components:
- EscapeShuttleCondition
- StealCondition
- type: DieCondition
- type: entity
parent: [BaseTraitorObjective, BaseLivingObjective]
id: HijackShuttleObjective
name: Hijack emergency shuttle
description: Leave on the shuttle free and clear of the loyal Nanotrasen crew on board. Use ANY methods available to you. Syndicate agents, Nanotrasen enemies, and handcuffed hostages may remain alive on the shuttle. Ignore assistance from anyone other than a support agent.
components:
- type: Objective
difficulty: 5 # insane, default config max difficulty
icon:
sprite: Objects/Tools/emag.rsi
state: icon
- type: HijackShuttleCondition
# kill
- type: entity
parent: [BaseTraitorObjective, BaseKillObjective]
id: KillRandomPersonObjective
description: Do it however you like, just make sure they don't get off the station.
components:
- type: Objective
difficulty: 1.75
unique: false
- type: TargetObjective
title: objective-condition-maroon-person-title
- type: PickRandomPerson
- type: KillPersonCondition
requireMaroon: true
- type: entity
parent: [BaseTraitorObjective, BaseKillObjective]
id: KillRandomHeadObjective
description: We need this head gone and you probably know why. Make sure they don't make it to CentComm, even if they're dead. Good luck, agent.
components:
- type: Objective
# technically its still possible for KillRandomPersonObjective to roll a head but this is guaranteed, so higher difficulty
difficulty: 3.0
# killing 1 head is enough
unique: true
- type: TargetObjective
title: objective-condition-kill-maroon-title
- type: PickRandomHead
- type: KillPersonCondition
# don't count missing evac as killing as heads are higher profile, so you really need to do the dirty work
# if ce flies a shittle to centcom you better find a way onto it
requireDead: true
requireMaroon: true
# social
- type: entity
parent: [BaseTraitorSocialObjective, BaseKeepAliveObjective]
id: RandomTraitorAliveObjective
description: Identify yourself at your own risk. We just need them alive.
components:
- type: Objective
difficulty: 1.75
- type: TargetObjective
title: objective-condition-other-traitor-alive-title
- type: RandomTraitorAlive
- type: entity
parent: [BaseTraitorSocialObjective, BaseHelpProgressObjective]
id: RandomTraitorProgressObjective
description: Identify yourself at your own risk. We just need them to succeed.
components:
- type: Objective
difficulty: 2.5
- type: TargetObjective
title: objective-condition-other-traitor-progress-title
- type: RandomTraitorProgress
# steal
## cmo
- type: entity
abstract: true
parent: BaseTraitorStealObjective
id: BaseCMOStealObjective
components:
- type: NotJobRequirement
job: ChiefMedicalOfficer
- type: StealCondition
owner: job-name-cmo
- type: entity
parent: BaseCMOStealObjective
id: CMOHyposprayStealObjective
components:
- type: StealCondition
stealGroup: Hypospray
#- type: entity # Goobstation - made this public
# parent: BaseCMOStealObjective
# id: CMOCrewMonitorStealObjective
# components:
# - type: StealCondition
# stealGroup: HandheldCrewMonitor
## rd
- type: entity
abstract: true
parent: BaseTraitorStealObjective
id: BaseRDStealObjective
components:
- type: NotJobRequirement
job: ResearchDirector
- type: StealCondition
owner: job-name-rd
- type: entity
parent: BaseRDStealObjective
id: RDHardsuitStealObjective
components:
- type: StealCondition
stealGroup: ClothingOuterHardsuitRd
- type: Objective
# This item must be worn or stored in a slowing duffelbag, very hard to hide.
difficulty: 3
- type: entity
parent: BaseRDStealObjective
id: HandTeleporterStealObjective
components:
- type: StealCondition
stealGroup: HandTeleporter
## warden
- type: entity
parent: BaseTraitorStealObjective
id: EnergyShotgunStealObjective
components:
- type: Objective
# Warden will have this on them a lot of the time so..
difficulty: 3
- type: NotJobRequirement
job: Warden # Goob edit
- type: StealCondition
stealGroup: WeaponEnergyShotgun
owner: job-name-warden # Goob edit
## ce
- type: entity
abstract: true
parent: BaseTraitorStealObjective
id: BaseCEStealObjective
components:
- type: NotJobRequirement
job: ChiefEngineer
- type: StealCondition
owner: job-name-ce
- type: entity
parent: BaseCEStealObjective
id: MagbootsStealObjective
components:
- type: StealCondition
stealGroup: ClothingShoesBootsMagAdv
## qm
- type: entity
parent: BaseTraitorStealObjective
id: ClipboardStealObjective
components:
- type: NotJobRequirement
job: Quartermaster
- type: StealCondition
stealGroup: BoxFolderQmClipboard
owner: job-name-qm
- type: entity
parent: BaseTraitorStealObjective
id: KnuckleDustersStealObjective
components:
- type: NotJobRequirement
job: Quartermaster
- type: StealCondition
stealGroup: ClothingHandsKnuckleDustersQM
owner: job-name-qm
## hop
- type: entity
parent: BaseTraitorStealObjective
id: CorgiMeatStealObjective
components:
- type: NotJobRequirement
job: HeadOfPersonnel
- type: ObjectiveLimit
limit: 3 # ian only has 2 slices, 3 obj for drama
- type: StealCondition
stealGroup: FoodMeatCorgi
owner: objective-condition-steal-Ian
## cap
- type: entity
abstract: true
parent: BaseTraitorStealObjective
id: BaseCaptainObjective
components:
- type: Objective
# sorry ce but your jordans are not as high security as the caps gear
difficulty: 3.5
- type: NotJobRequirement
job: Captain
- type: entity
parent: BaseCaptainObjective
id: CaptainIDStealObjective
components:
- type: StealCondition
stealGroup: CaptainIDCard
- type: entity
parent: BaseCaptainObjective
id: CaptainJetpackStealObjective
components:
- type: StealCondition
stealGroup: JetpackCaptainFilled
- type: entity
parent: BaseCaptainObjective
id: CaptainGunStealObjective
components:
- type: StealCondition
stealGroup: WeaponAntiqueLaser
owner: job-name-captain
- type: entity
parent: BaseCaptainObjective
id: NukeDiskStealObjective
components:
- type: Objective
# high difficulty since the hardest item both to steal, and to not get caught down the road,
# since anyone with a pinpointer can track you down and kill you
# it's close to being a stealth loneop
difficulty: 4
- type: NotCommandRequirement
- type: StealCondition
stealGroup: NukeDisk
owner: objective-condition-steal-station