New Thief minor antagonist (#21520)

* start working

* add right-click thief antagins
some architecture restruct

* add meh thief greeting audio

* add thief subgamemode to Traitors gamemode

* add late join thief (not tested yet)
add briefing

* add pacifism

* add Steal tasks to thief

* fix crash thief+traitor on person

* add new condition: collection steal

* add tracking of succes collection objective

* add stamp collection target
remove some boring steal target
add check pulling entity to collection target

* finalize first 2 group objective

* start merging stealing objective systems

* merging

* finish merging. Now traitor steal objective work better

* we don't check the items of pullable sentient entity

* clear naming, enable thief signle item objective start

* objective pack add

* finish with steal item objectives

* convert string to ProtoId<>

* some clean up

* add thieves to revolution game mode

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* update pacifism: fix crashing, monkey-thief without pacified

* adaptive animal briefing, cleaning locales

* add structure steal objectives

* remove RCD target

* add thiefs to manifest, but bug with traitor duplications

* add escape objective

* add chat briefing

* setup animal objective group system

* add animal steal objectives

* add animal objectives notroleconditions

* add morty

* now thief mode has a chance of not launching Now there are a random number of thieves per round from 1 to 3

* 6 hours of trying to fix duplicate tasks. Failure

* added thief pinpointer (buggy)

* start thief backpack UI work

* revert pinpointer for scope reason

* UI continue work

* add thief starter kits content

* remove ERP kit :trollface:

* finally! giving starting items to thief. Now it playable, but still need more work

* clean up

* fix

* fox

* add merged items into thief
new Starting Kit (buggy)

* fix YES antag menu

* objection tweaks

* remove hearts objective, working on spawning things from toolbox

* smug

* fixes

* add race specifier objective condition LAMPS

* meh

* fix fix fix

* the alive

* Adding stamps

* Update backpack.ftl

* Revert1

* Revert ftl

* add voice mask to communicator kit

* Update Resources/Locale/en-US/administration/antag.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/objectives/conditions/steal.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/prototypes/roles/antags.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* update

* fix

* more reusable function, add documentation

* fix doc

* faint fixes

---------

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
This commit is contained in:
Ed
2023-12-24 12:58:28 +03:00
committed by GitHub
parent 82349d46ae
commit 144af233c4
94 changed files with 2545 additions and 129 deletions

View File

@@ -0,0 +1,107 @@
- type: thiefBackpackSet
id: ChameleonSet
name: thief-backpack-category-chameleon-name
description: thief-backpack-category-chameleon-description
sprite:
sprite: /Textures/Clothing/OuterClothing/Misc/black_hoodie.rsi
state: icon
content:
- ClothingUniformJumpsuitChameleon
- ClothingOuterChameleon
- ClothingNeckChameleon
- ClothingMaskGasChameleon
- ClothingHeadHatChameleon
- ClothingEyesChameleon
- ClothingHeadsetChameleon
- ClothingShoesChameleon
- type: thiefBackpackSet
id: ToolsSet
name: thief-backpack-category-tools-name
description: thief-backpack-category-tools-description
sprite:
sprite: Objects/Tools/jaws_of_life.rsi
state: jaws_pry
content:
- WelderIndustrialAdvanced
- ClothingEyesGlassesMeson
- ClothingHandsGlovesColorYellow
- JawsOfLife
- Multitool
- C4
- C4
- ClothingMaskClown
- type: thiefBackpackSet
id: ChemistrySet
name: thief-backpack-category-chemistry-name
description: thief-backpack-category-chemistry-description
sprite:
sprite: Objects/Specific/Medical/implanter.rsi
state: implanter0
content:
- StorageImplanter
- DnaScramblerImplanter
- EphedrineChemistryBottle
- OmnizineChemistryBottle
- Syringe
- DrinkVodkaBottleFull
- type: thiefBackpackSet
id: SyndieSet
name: thief-backpack-category-syndie-name
description: thief-backpack-category-syndie-description
sprite:
sprite: Objects/Specific/Syndicate/telecrystal.rsi
state: telecrystal
content:
- AgentIDCard
- SyndicatePersonalAI
- ClothingHeadHatSyndieMAA
- CigPackSyndicate
- Telecrystal10 #The thief cannot use them, but it may induce communication with traitors
- type: thiefBackpackSet
id: SleeperSet
name: thief-backpack-category-sleeper-name
description: thief-backpack-category-sleeper-description
sprite:
sprite: Objects/Tanks/anesthetic.rsi
state: icon
content:
- ClothingHeadPyjamaSyndicateBlack
- ClothingUniformJumpsuitPyjamaSyndicateBlack
- NocturineChemistryBottle
- NocturineChemistryBottle
- NocturineChemistryBottle
- HypopenBox
- NitrousOxideTankFilled
- BedsheetSyndie
- type: thiefBackpackSet
id: CommunicatorSet
name: thief-backpack-category-communicator-name
description: thief-backpack-category-communicator-description
sprite:
sprite: Objects/Tools/spy_device.rsi
state: icon
content:
- EncryptionKeyStationMaster
- RadioJammer
- SpyCrewMonitor
- BriefcaseSyndieLobbyingBundleFilled
- ClothingMaskGasVoiceChameleon
#- todo Chameleon Stamp
- type: thiefBackpackSet
id: SmugglerSet
name: thief-backpack-category-smuggler-name
description: thief-backpack-category-smuggler-description
sprite:
sprite: Clothing/Neck/Cloaks/void.rsi
state: icon
content:
- InvisibleCrate
- ClothingNeckCloakVoid
- FultonBeacon
- Fulton

View File

@@ -96,6 +96,8 @@
sprite: Clothing/Ears/Headsets/medical.rsi
- type: Clothing
sprite: Clothing/Ears/Headsets/medical.rsi
- type: StealTarget
stealGroup: ClothingHeadsetAltMedical
- type: entity
parent: ClothingHeadsetAlt

View File

@@ -43,6 +43,8 @@
- type: Clothing
sprite: Clothing/Eyes/Hud/beergoggles.rsi
- type: ShowThirstIcons
- type: StealTarget
stealGroup: ClothingEyesHudBeer
- type: SolutionScanner
- type: entity

View File

@@ -471,6 +471,8 @@
sprite: Clothing/Head/Hats/warden.rsi
- type: Clothing
sprite: Clothing/Head/Hats/warden.rsi
- type: StealTarget
stealGroup: ClothingHeadHatWarden
- type: entity
parent: ClothingHeadBase

View File

@@ -6,6 +6,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/cap.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -15,6 +17,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/hos.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -24,6 +28,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/ce.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -33,6 +39,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/cmo.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -42,6 +50,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/rd.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -51,6 +61,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/qm.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -60,6 +72,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/hop.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -87,6 +101,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/capcloakformal.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase
@@ -96,6 +112,8 @@
components:
- type: Sprite
sprite: Clothing/Neck/Cloaks/admin.rsi
- type: StealTarget
stealGroup: HeadCloak
- type: entity
parent: ClothingNeckBase

View File

@@ -20,6 +20,8 @@
sprite: Clothing/Neck/Medals/gold.rsi
- type: Clothing
sprite: Clothing/Neck/Medals/gold.rsi
- type: StealTarget
stealGroup: ClothingNeckGoldmedal
- type: entity
parent: ClothingNeckBase
@@ -86,3 +88,5 @@
sprite: Clothing/Neck/Medals/clownmedal.rsi
- type: Clothing
sprite: Clothing/Neck/Medals/clownmedal.rsi
- type: StealTarget
stealGroup: ClothingNeckClownmedal

View File

@@ -371,6 +371,8 @@
clothingPrototype: ClothingHeadHelmetHardsuitRd
- type: StaticPrice
price: 750
- type: StealTarget
stealGroup: ClothingOuterHardsuitRd
#Head of Security's Hardsuit
- type: entity

View File

@@ -115,3 +115,5 @@
Radiation: 0.75
Caustic: 0.5
- type: GroupExamine
- type: StealTarget
stealGroup: ClothingOuterHardsuitVoidParamed

View File

@@ -53,6 +53,8 @@
- HighRiskItem
- type: StaticPrice
price: 750
- type: StealTarget
stealGroup: ClothingShoesBootsMagAdv
- type: entity
parent: ClothingShoesBootsMag

View File

@@ -34,6 +34,8 @@
tags:
- CannotSuicide
- VimPilot
- type: StealTarget
stealGroup: AnimalIan
- type: entity
name: Old Ian
@@ -238,6 +240,8 @@
tags:
- CannotSuicide
- VimPilot
- type: StealTarget
stealGroup: AnimalBingus
- type: entity
name: McGriff
@@ -301,6 +305,8 @@
tags:
- CannotSuicide
- VimPilot
- type: StealTarget
stealGroup: AnimalMcGriff
- type: entity
name: Paperwork
@@ -398,6 +404,8 @@
tags:
- CannotSuicide
- VimPilot
- type: StealTarget
stealGroup: AnimalWalter
- type: entity
name: Morty
@@ -420,6 +428,8 @@
tags:
- CannotSuicide
- VimPilot
- type: StealTarget
stealGroup: AnimalMorty
- type: entity
name: Morty
@@ -534,6 +544,8 @@
tags:
- CannotSuicide
- VimPilot
- type: StealTarget
stealGroup: AnimalRenault
- type: entity
name: Hamlet
@@ -574,6 +586,8 @@
- CannotSuicide
- Hamster
- VimPilot
- type: StealTarget
stealGroup: AnimalHamlet
- type: entity
name: Shiva
@@ -649,6 +663,8 @@
tags:
- CannotSuicide
- VimPilot
- type: StealTarget
stealGroup: AnimalShiva
- type: entity
name: Willow
@@ -747,6 +763,8 @@
attributes:
proper: true
gender: female
- type: StealTarget
stealGroup: AnimalSmile
- type: entity
name: Pun Pun
@@ -781,3 +799,5 @@
attributes:
proper: true
gender: male
- type: StealTarget
stealGroup: AnimalPunPun

View File

@@ -307,6 +307,8 @@
Quantity: 20
- type: StaticPrice
price: 750
- type: StealTarget
stealGroup: FoodMeatCorgi
- type: entity
name: raw crab meat

View File

@@ -27,6 +27,8 @@
color: "#cc6600"
radius: 2.0
energy: 4.0
- type: StealTarget
stealGroup: LAMP
- type: entity
parent: CarvedPumpkin

View File

@@ -61,6 +61,8 @@
requirements:
MatterBin: 1
Manipulator: 1
- type: StealTarget
stealGroup: AmmoTechFabCircuitboard
- type: entity
id: MedicalTechFabCircuitboard
@@ -80,6 +82,8 @@
Amount: 2
DefaultPrototype: Beaker
ExamineName: Glass Beaker
- type: StealTarget
stealGroup: MedicalTechFabCircuitboard
- type: entity
id: CircuitImprinterMachineCircuitboard

View File

@@ -124,6 +124,8 @@
state: cpu_supply
- type: ComputerBoard
prototype: ComputerSalvageExpedition
- type: StealTarget
stealGroup: SalvageExpeditionsComputerCircuitboard
- type: entity
parent: BaseComputerCircuitboard
@@ -133,6 +135,8 @@
components:
- type: ComputerBoard
prototype: ComputerShuttleCargo
- type: StealTarget
stealGroup: CargoShuttleConsoleCircuitboard
- type: entity
parent: BaseComputerCircuitboard
@@ -142,6 +146,8 @@
components:
- type: ComputerBoard
prototype: ComputerShuttleSalvage
- type: StealTarget
stealGroup: SalvageShuttleConsoleCircuitboard
- type: entity
parent: BaseComputerCircuitboard

View File

@@ -9,6 +9,8 @@
sprite: Objects/Devices/door_remote.rsi
- type: Access
- type: DoorRemote
- type: StealTarget
stealGroup: DoorRemote
- type: entity
parent: DoorRemoteDefault

View File

@@ -10,6 +10,8 @@
sprite: Objects/Devices/encryption_keys.rsi
- type: Sprite
sprite: Objects/Devices/encryption_keys.rsi
- type: StealTarget
stealGroup: EncryptionKey
- type: entity
parent: EncryptionKey

View File

@@ -26,6 +26,8 @@
- type: GuideHelp
guides:
- DNA
- type: StealTarget
stealGroup: ForensicScanner
- type: entity
name: forensic scanner report

View File

@@ -12,3 +12,5 @@
- type: Tag
tags:
- HighRiskItem
- type: StealTarget
stealGroup: HandTeleporter

View File

@@ -67,6 +67,8 @@
- type: ContainerContainer
containers:
Nuke: !type:ContainerSlot
- type: StealTarget
stealGroup: NuclearBomb
- type: entity
parent: NuclearBomb

View File

@@ -83,4 +83,4 @@
state: pinpointer-station
- type: Pinpointer
component: BecomesStation
targetName: the station
targetName: the station

View File

@@ -17,6 +17,8 @@
- type: Tag
tags:
- Figurine
- type: StealTarget
stealGroup: Figurines
- type: entity
parent: BaseFigurine

View File

@@ -61,6 +61,8 @@
state: sheetcaptain
- type: Clothing
sprite: Clothing/Neck/Bedsheets/captain.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetCE
@@ -72,6 +74,8 @@
state: sheetce
- type: Clothing
sprite: Clothing/Neck/Bedsheets/ce.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetCentcom
@@ -83,6 +87,8 @@
state: sheetcentcom
- type: Clothing
sprite: Clothing/Neck/Bedsheets/centcom.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetClown
@@ -105,6 +111,8 @@
state: sheetcmo
- type: Clothing
sprite: Clothing/Neck/Bedsheets/cmo.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetCosmos
@@ -158,6 +166,8 @@
state: sheethop
- type: Clothing
sprite: Clothing/Neck/Bedsheets/hop.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetHOS
@@ -169,6 +179,8 @@
state: sheethos
- type: Clothing
sprite: Clothing/Neck/Bedsheets/hos.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetIan
@@ -242,6 +254,8 @@
state: sheetqm
- type: Clothing
sprite: Clothing/Neck/Bedsheets/qm.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetRainbow
@@ -263,6 +277,8 @@
state: sheetrd
- type: Clothing
sprite: Clothing/Neck/Bedsheets/rd.rsi
- type: StealTarget
stealGroup: HeadBedsheet
- type: entity
id: BedsheetBrigmedic

View File

@@ -20,6 +20,8 @@
- type: Tag
tags:
- HighRiskItem
- type: StealTarget
stealGroup: NukeDisk
- type: entity
name: nuclear authentication disk

View File

@@ -49,6 +49,8 @@
- type: Appearance
- type: Physics
canCollide: false
- type: StealTarget
stealGroup: LAMP
- type: entity
name: lamp

View File

@@ -22,6 +22,8 @@
tags:
- DoorBumpOpener
- WhitelistChameleon
- type: StealTarget
stealGroup: IDCard
#IDs with layers
@@ -115,6 +117,8 @@
- DoorBumpOpener
- WhitelistChameleon
- HighRiskItem
- type: StealTarget
stealGroup: CaptainIDCard
- type: entity
parent: IDCardStandard

View File

@@ -646,6 +646,8 @@
damage:
types:
Blunt: 10
- type: StealTarget
stealGroup: BoxFolderQmClipboard
# Stamps
- type: entity
@@ -669,6 +671,8 @@
state: stamp-mime
- type: Item
size: Tiny
- type: StealTarget
stealGroup: Stamp
- type: entity
name: alternate rubber stamp

View File

@@ -12,3 +12,5 @@
tags:
- Book
- HighRiskItem
- type: StealTarget
stealGroup: BookSecretDocuments

View File

@@ -18,3 +18,5 @@
- type: Tag
tags:
- DroneUsable
- type: StealTarget
stealGroup: AmePart

View File

@@ -46,6 +46,8 @@
- type: Tag
tags:
- Book
- type: StealTarget
stealGroup: Bible
- type: entity
parent: Bible

View File

@@ -17,6 +17,8 @@
reagents:
- ReagentId: THC
Quantity: 15
- type: StealTarget
stealGroup: Cannabis
- type: entity
name: dried cannabis leaves
@@ -36,6 +38,8 @@
- type: Sprite
sprite: Objects/Specific/Hydroponics/tobacco.rsi
state: dried
- type: StealTarget
stealGroup: Cannabis
- type: entity
name: ground cannabis
@@ -64,6 +68,8 @@
- Smokable
- type: Item
size: Tiny
- type: StealTarget
stealGroup: Cannabis
- type: entity
name: tobacco leaves

View File

@@ -52,7 +52,9 @@
- type: Item
sprite: Objects/Tools/spy_device.rsi
- type: PowerCellDraw
useRate: 40 #Should be weaker than the original
useRate: 10
- type: StaticPrice
price: 750
- type: entity
id: SpyCrewMonitorEmpty

View File

@@ -26,6 +26,8 @@
- type: Tag
tags:
- HighRiskItem
- type: StealTarget
stealGroup: Hypospray
- type: entity
name: gorlex hypospray

View File

@@ -59,6 +59,8 @@
- type: TechnologyDisk
- type: StaticPrice
price: 100
- type: StealTarget
stealGroup: TechnologyDisk
- type: entity
parent: TechnologyDisk

View File

@@ -58,6 +58,8 @@
- type: GuideHelp
guides:
- Xenoarchaeology
- type: StealTarget
stealGroup: XenoArtifact
- type: entity
parent: BaseXenoArtifact

View File

@@ -66,6 +66,8 @@
- type: Appearance
- type: StaticPrice
price: 40
- type: StealTarget
stealGroup: LAMP
- type: entity
name: seclite

View File

@@ -158,6 +158,8 @@
- type: Tag
tags:
- HighRiskItem
- type: StealTarget
stealGroup: JetpackCaptainFilled
# Filled captain
- type: entity

View File

@@ -53,6 +53,8 @@
- type: ContainerContainer
containers:
cell_slot: !type:ContainerSlot {}
- type: StealTarget
stealGroup: LAMP
- type: entity
parent: Lantern

View File

@@ -135,3 +135,30 @@
state: icon
- type: Item
sprite: Objects/Tools/Toolboxes/toolbox_gold.rsi
- type: entity
id: ToolboxThief
name: thief undetermined toolbox
description: This is where your favorite thief's supplies lie. Try to remember which ones.
parent: BaseItem
components:
- type: Sprite
sprite: Objects/Tools/Toolboxes/toolbox_thief.rsi
state: icon
- type: ThiefUndeterminedBackpack
transformAfterSelect: AlwaysPoweredWallLight
possibleSets:
# - TO DO Thief pinpointer needed
- ChemistrySet
- ToolsSet
- ChameleonSet # - TO DO Chameleon stump PR needed
- SyndieSet
- SleeperSet
- CommunicatorSet
- SmugglerSet
- type: ActivatableUI
key: enum.ThiefBackpackUIKey.Key
- type: UserInterface
interfaces:
- key: enum.ThiefBackpackUIKey.Key
type: ThiefBackpackBoundUserInterface

View File

@@ -215,6 +215,8 @@
path: /Audio/Effects/Vehicle/vehiclestartup.ogg
params:
volume: -3
- type: StealTarget
stealGroup: VehicleSecway
- type: entity
parent: BaseVehicleRideable

View File

@@ -472,6 +472,8 @@
- Sidearm
- type: StaticPrice
price: 750
- type: StealTarget
stealGroup: WeaponAntiqueLaser
- type: entity
name: advanced laser pistol

View File

@@ -42,6 +42,8 @@
- type: Prying
- type: UseDelay
delay: 1
- type: StealTarget
stealGroup: FireAxe
- type: IgniteOnMeleeHit
fireStacks: -4

View File

@@ -22,3 +22,5 @@
- type: GuideHelp
guides:
- Bartender
- type: StealTarget
stealGroup: BoozeDispenser

View File

@@ -35,3 +35,5 @@
guides:
- Chemicals
- Chemist
- type: StealTarget
stealGroup: ChemDispenser

View File

@@ -64,6 +64,8 @@
max: 3
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: StealTarget
stealGroup: AltarNanotrasen
- type: entity
id: AltarChaos

View File

@@ -234,6 +234,8 @@
components:
- type: Sprite
state: plant-25
- type: StealTarget
stealGroup: PlantRD
- type: entity
id: PottedPlant26

View File

@@ -105,3 +105,5 @@
- type: FaxMachine
name: "Captain's Office"
receiveNukeCodes: true
- type: StealTarget
stealGroup: FaxMachineCaptain

View File

@@ -298,6 +298,8 @@
board: ThermomachineFreezerMachineCircuitBoard
- type: DeviceNetwork
prefix: device-address-prefix-freezer
- type: StealTarget
stealGroup: FreezerHeater
- type: entity
parent: GasThermoMachineFreezer
@@ -341,6 +343,8 @@
board: ThermomachineHeaterMachineCircuitBoard
- type: DeviceNetwork
prefix: device-address-prefix-heater
- type: StealTarget
stealGroup: FreezerHeater
- type: entity
parent: GasThermoMachineHeater

View File

@@ -98,6 +98,8 @@
path: /Audio/Ambience/Objects/vending_machine_hum.ogg
- type: GuideHelp
guides: [ TEG, Power ]
- type: StealTarget
stealGroup: Teg
- type: entity
id: TegCirculator
@@ -175,6 +177,8 @@
- type: AtmosUnsafeUnanchor
- type: TegCirculator
- type: StealTarget
stealGroup: Teg
- # Spawned by the client-side circulator examine code to indicate the inlet/outlet direction.
type: entity

View File

@@ -27,3 +27,11 @@
objectives:
- CarpRiftsObjective
- DragonSurviveObjective
# need for admin panel antag create (because the rule doesn't have a roundstart entity like TraitorRule)
- type: entity
id: Thief
parent: BaseGameRule
noSpawn: true
components:
- type: ThiefRule

View File

@@ -74,6 +74,8 @@
noSpawn: true
components:
- type: TraitorRule
- type: ThiefRule #the thieves come as an extension of another gamemode
ruleChance: 0.5
- type: entity
id: Revolutionary
@@ -81,6 +83,8 @@
noSpawn: true
components:
- type: RevolutionaryRule
- type: ThiefRule #the thieves come as an extension of another gamemode
ruleChance: 0.5
- type: entity
id: Sandbox

View File

@@ -91,6 +91,10 @@
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

View File

@@ -41,4 +41,89 @@
RandomTraitorAliveObjective: 1
RandomTraitorProgressObjective: 1
#Thief groups
- type: weightedRandom
id: ThiefObjectiveGroups
weights:
ThiefObjectiveGroupCollection: 1
ThiefObjectiveGroupItem: 1
- type: weightedRandom
id: ThiefBigObjectiveGroups
weights:
ThiefObjectiveGroupStructure: 1
ThiefObjectiveGroupAnimal: 2
- type: weightedRandom
id: ThiefEscapeObjectiveGroups
weights:
ThiefObjectiveGroupEscape: 1
- type: weightedRandom
id: ThiefObjectiveGroupCollection
weights:
HeadCloakStealCollectionObjective: 1 #command
HeadBedsheetStealCollectionObjective: 1
StampStealCollectionObjective: 1
DoorRemoteStealCollectionObjective: 1
TechnologyDiskStealCollectionObjective: 1 #rnd
FigurineStealCollectionObjective: 0.3 #service
IDCardsStealCollectionObjective: 1
EncryptionKeyStealCollectionObjective: 1
CannabisStealCollectionObjective: 1
LAMPStealCollectionObjective: 2 #only for moth
- type: weightedRandom
id: ThiefObjectiveGroupItem
weights:
ForensicScannerStealObjective: 1 #sec
AmmoTechFabCircuitboardStealObjective: 1
ClothingHeadHatWardenStealObjective: 1
ClothingOuterHardsuitVoidParamedStealObjective: 1 #med
MedicalTechFabCircuitboardStealObjective: 1
ClothingHeadsetAltMedicalStealObjective: 1
FireAxeStealObjective: 1 #eng
AmePartStealObjective: 1
ExpeditionsCircuitboardStealObjective: 1 #sup
CargoShuttleCircuitboardStealObjective: 1
SalvageShuttleCircuitboardStealObjective: 1
ClothingEyesHudBeerStealObjective: 1 #srv
BibleStealObjective: 1
ClothingNeckGoldmedalStealObjective: 1 #other
ClothingNeckClownmedalStealObjective: 0.5
- type: weightedRandom
id: ThiefObjectiveGroupStructure
weights:
NuclearBombStealObjective: 0.5
FaxMachineCaptainStealObjective: 1
VehicleSecwayStealObjective: 1
ChemDispenserStealObjective: 1
XenoArtifactStealObjective: 1
FreezerHeaterStealObjective: 1
TegStealObjective: 1
BoozeDispenserStealObjective: 1
AltarNanotrasenStealObjective: 1
PlantRDStealObjective: 1
- type: weightedRandom
id: ThiefObjectiveGroupAnimal
weights:
IanStealObjective: 1
BingusStealObjective: 1
McGriffStealObjective: 1
WalterStealObjective: 1
MortyStealObjective: 1
RenaultStealObjective: 1
HamletStealObjective: 1
ShivaStealObjective: 1
SmileStealObjective: 1
PunPunStealObjective: 1
- type: weightedRandom
id: ThiefObjectiveGroupEscape
weights:
EscapeThiefShuttleObjective: 1
#Changeling, crew, wizard, when you code it...

View File

@@ -0,0 +1,408 @@
# Traitor single items
- type: stealTargetGroup
id: Hypospray
name: hypospray
sprite:
sprite: Objects/Specific/Medical/hypospray.rsi
state: hypo
- type: stealTargetGroup
id: ClothingOuterHardsuitRd
name: experimental research hardsuit
sprite:
sprite: Clothing/OuterClothing/Hardsuits/rd.rsi
state: icon
- type: stealTargetGroup
id: HandTeleporter
name: hand teleporter
sprite:
sprite: Objects/Devices/hand_teleporter.rsi
state: icon
- type: stealTargetGroup
id: BookSecretDocuments
name: "emergency security orders"
sprite:
sprite: Objects/Misc/bureaucracy.rsi
state: folder-sec-doc
- type: stealTargetGroup
id: ClothingShoesBootsMagAdv
name: advanced magboots
sprite:
sprite: Clothing/Shoes/Boots/magboots-advanced.rsi
state: icon
- type: stealTargetGroup
id: BoxFolderQmClipboard
name: requisition digi-board
sprite:
sprite: Objects/Misc/qm_clipboard.rsi
state: qm_clipboard
- type: stealTargetGroup
id: FoodMeatCorgi
name: prime-cut corgi meat
sprite:
sprite: Objects/Consumable/Food/meat.rsi
state: corgi
#
- type: stealTargetGroup
id: CaptainIDCard
name: captain ID card
sprite:
sprite: Objects/Misc/id_cards.rsi
state: ert_commander #no one will know the difference.
- type: stealTargetGroup
id: JetpackCaptainFilled
name: captain's jetpack
sprite:
sprite: Objects/Tanks/Jetpacks/captain.rsi
state: icon
- type: stealTargetGroup
id: WeaponAntiqueLaser
name: antique laser pistol
sprite:
sprite: Objects/Weapons/Guns/Battery/antiquelasergun.rsi
state: base
- type: stealTargetGroup
id: NukeDisk
name: nuclear authentication disk
sprite:
sprite: Objects/Misc/nukedisk.rsi
state: icon
# Thief Collection
- type: stealTargetGroup
id: Figurines
name: figurines (any)
sprite:
sprite: Objects/Fun/figurines.rsi
state: figurine_spawner
- type: stealTargetGroup
id: HeadCloak
name: head's cloaks (any)
sprite:
sprite: Clothing/Neck/Cloaks/cap.rsi
state: icon
- type: stealTargetGroup
id: HeadBedsheet
name: head's bedsheets (any)
sprite:
sprite: Objects/Misc/bedsheets.rsi
state: sheetNT
- type: stealTargetGroup
id: Stamp
name: stamps (any)
sprite:
sprite: Objects/Misc/bureaucracy.rsi
state: stamp-cap
- type: stealTargetGroup
id: DoorRemote
name: door remotes (any)
sprite:
sprite: Objects/Devices/door_remote.rsi
state: door_remotebase
- type: stealTargetGroup
id: EncryptionKey
name: encryption keys (any)
sprite:
sprite: Objects/Devices/encryption_keys.rsi
state: crypt_gray
- type: stealTargetGroup
id: TechnologyDisk
name: technology disks
sprite:
sprite: Objects/Misc/module.rsi
state: datadisk_base
- type: stealTargetGroup
id: IDCard
name: ID Cards (any)
sprite:
sprite: Objects/Misc/id_cards.rsi
state: default
- type: stealTargetGroup
id: Cannabis
name: cannabis
sprite:
sprite: Objects/Specific/Hydroponics/cannabis.rsi
state: produce
- type: stealTargetGroup
id: LAMP
name: LAMPS
sprite:
sprite: Objects/Tools/lantern.rsi
state: lantern
# Thief single item
- type: stealTargetGroup
id: ForensicScanner
name: forensic scanner
sprite:
sprite: Objects/Devices/forensic_scanner.rsi
state: forensicnew
- type: stealTargetGroup
id: AmmoTechFabCircuitboard
name: ammo techfab circuit board
sprite:
sprite: Objects/Misc/module.rsi
state: security
- type: stealTargetGroup
id: ClothingHeadHatWarden
name: warden's cap
sprite:
sprite: Clothing/Head/Hats/warden.rsi
state: icon
- type: stealTargetGroup
id: ClothingOuterHardsuitVoidParamed
name: paramedic Void Suit
sprite:
sprite: Clothing/OuterClothing/Hardsuits/paramed.rsi
state: icon
- type: stealTargetGroup
id: MedicalTechFabCircuitboard
name: medical techfab machine board
sprite:
sprite: Objects/Misc/module.rsi
state: medical
- type: stealTargetGroup
id: ClothingHeadsetAltMedical
name: chief medical officer's over-ear headset
sprite:
sprite: Clothing/Ears/Headsets/medical.rsi
state: icon_alt
- type: stealTargetGroup
id: ResearchAndDevelopmentServerMachineCircuitboard
name: R&D server machine board
sprite:
sprite: Objects/Misc/module.rsi
state: science
- type: stealTargetGroup
id: FireAxe
name: fireaxe
sprite:
sprite: Objects/Weapons/Melee/fireaxe.rsi
state: icon
- type: stealTargetGroup
id: AmePart
name: AME part
sprite:
sprite: Objects/Power/AME/ame_part.rsi
state: box
- type: stealTargetGroup
id: SalvageExpeditionsComputerCircuitboard
name: salvage expeditions computer board
sprite:
sprite: Objects/Misc/module.rsi
state: cpu_supply
- type: stealTargetGroup
id: CargoShuttleConsoleCircuitboard
name: cargo shuttle console board
sprite:
sprite: Objects/Misc/module.rsi
state: cpuboard
- type: stealTargetGroup
id: SalvageShuttleConsoleCircuitboard
name: salvage shuttle console board
sprite:
sprite: Objects/Misc/module.rsi
state: cpuboard
- type: stealTargetGroup
id: ClothingEyesHudBeer
name: beer goggles
sprite:
sprite: Clothing/Eyes/Hud/beergoggles.rsi
state: icon
- type: stealTargetGroup
id: Bible
name: bible
sprite:
sprite: Objects/Specific/Chapel/bible.rsi
state: icon
- type: stealTargetGroup
id: ClothingNeckGoldmedal
name: gold medal of crewmanship
sprite:
sprite: Clothing/Neck/Medals/gold.rsi
state: icon
- type: stealTargetGroup
id: ClothingNeckClownmedal
name: clown medal
sprite:
sprite: Clothing/Neck/Medals/clownmedal.rsi
state: icon
#Thief structures
- type: stealTargetGroup
id: NuclearBomb
name: nuclear fission explosive
sprite:
sprite: Objects/Devices/nuke.rsi
state: nuclearbomb_base
- type: stealTargetGroup
id: FaxMachineCaptain
name: captain long range fax machine
sprite:
sprite: Structures/Machines/fax_machine.rsi
state: icon
- type: stealTargetGroup
id: VehicleSecway
name: secway
sprite:
sprite: Objects/Vehicles/secway.rsi
state: icon
- type: stealTargetGroup
id: ChemDispenser
name: chemical dispenser
sprite:
sprite: Structures/dispensers.rsi
state: industrial-working
- type: stealTargetGroup
id: XenoArtifact
name: big alien artifact
sprite:
sprite: Objects/Specific/Xenoarchaeology/xeno_artifacts.rsi
state: ano28
- type: stealTargetGroup
id: FreezerHeater
name: freezer or heater
sprite:
sprite: Structures/Piping/Atmospherics/thermomachine.rsi
state: heaterOff
- type: stealTargetGroup
id: Teg
name: teg generator part
sprite:
sprite: Structures/Power/Generation/teg.rsi
state: teg
- type: stealTargetGroup
id: BoozeDispenser
name: booze dispenser
sprite:
sprite: Structures/smalldispensers.rsi
state: booze
- type: stealTargetGroup
id: AltarNanotrasen
name: nanotrasen altar (any)
sprite:
sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
state: nanotrasen
- type: stealTargetGroup
id: PlantRD
name: RD's potted plant
sprite:
sprite: Structures/Furniture/potted_plants.rsi
state: plant-25
# Thief Animal
- type: stealTargetGroup
id: AnimalIan
name: Ian
sprite:
sprite: Mobs/Pets/corgi.rsi
state: ian
- type: stealTargetGroup
id: AnimalBingus
name: Bingus
sprite:
sprite: Mobs/Pets/bingus.rsi
state: bingus
- type: stealTargetGroup
id: AnimalMcGriff
name: McGriff
sprite:
sprite: Mobs/Pets/mcgriff.rsi
state: mcgriff
- type: stealTargetGroup
id: AnimalWalter
name: Walter
sprite:
sprite: Mobs/Pets/walter.rsi
state: walter
- type: stealTargetGroup
id: AnimalMorty
name: Morty
sprite:
sprite: Mobs/Animals/possum.rsi
state: possum
- type: stealTargetGroup
id: AnimalRenault
name: Renault
sprite:
sprite: Mobs/Animals/fox.rsi
state: fox
- type: stealTargetGroup
id: AnimalHamlet
name: Hamlet
sprite:
sprite: Mobs/Pets/hamlet.rsi
state: hamster-0
- type: stealTargetGroup
id: AnimalShiva
name: Shiva
sprite:
sprite: Mobs/Pets/shiva.rsi
state: shiva
- type: stealTargetGroup
id: AnimalSmile
name: Smile
sprite:
sprite: Mobs/Aliens/slimes.rsi
state: rainbow_baby_slime
- type: stealTargetGroup
id: AnimalPunPun
name: Pun Pun
sprite:
sprite: Mobs/Animals/monkey.rsi
state: monkey

View File

@@ -0,0 +1,620 @@
- type: entity
abstract: true
parent: BaseObjective
id: BaseThiefObjective
components:
- type: Objective
issuer: thief
- type: RoleRequirement
roles:
components:
- ThiefRole
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseStealObjective]
id: BaseThiefStealObjective
components:
- type: StealCondition
verifyMapExistance: false
descriptionText: objective-condition-thief-description
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseStealObjective]
id: BaseThiefStealCollectionObjective
components:
- type: StealCondition
verifyMapExistance: true
descriptionText: objective-condition-thief-description
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseStealObjective]
id: BaseThiefStealStructureObjective
components:
- type: StealCondition
verifyMapExistance: true
descriptionText: objective-condition-thief-description
- type: Objective
difficulty: 2 # it's hard to hide
- type: entity
abstract: true
parent: [BaseThiefObjective, BaseStealObjective]
id: BaseThiefStealAnimalObjective
components:
- type: StealCondition
verifyMapExistance: false
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
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: FigurineStealCollectionObjective
components:
- type: StealCondition
stealGroup: Figurines
minCollectionSize: 10
maxCollectionSize: 50 #will be limited to the number of figures on the station anyway.
- type: Objective
difficulty: 0.25
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: HeadCloakStealCollectionObjective
components:
- type: StealCondition
stealGroup: HeadCloak
minCollectionSize: 3
maxCollectionSize: 6
- type: Objective
difficulty: 1.5
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: HeadBedsheetStealCollectionObjective
components:
- type: StealCondition
stealGroup: HeadBedsheet
minCollectionSize: 3
maxCollectionSize: 6
- type: Objective
difficulty: 1.0
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: StampStealCollectionObjective
components:
- type: StealCondition
stealGroup: Stamp
minCollectionSize: 5
maxCollectionSize: 15
- type: Objective
difficulty: 1.0
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: DoorRemoteStealCollectionObjective
components:
- type: StealCondition
stealGroup: DoorRemote
minCollectionSize: 2
maxCollectionSize: 5
- type: Objective
difficulty: 1.5
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: TechnologyDiskStealCollectionObjective
components:
- type: NotJobRequirement
job: Scientist
- type: StealCondition
stealGroup: TechnologyDisk
minCollectionSize: 10
maxCollectionSize: 20
verifyMapExistance: false
- type: Objective
difficulty: 0.8
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: IDCardsStealCollectionObjective
components:
- type: StealCondition
stealGroup: IDCard
minCollectionSize: 10
maxCollectionSize: 20
verifyMapExistance: false
- type: Objective
difficulty: 0.7
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: EncryptionKeyStealCollectionObjective
components:
- type: StealCondition
stealGroup: EncryptionKey
minCollectionSize: 5
maxCollectionSize: 25
- type: Objective
difficulty: 0.7
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: CannabisStealCollectionObjective
components:
- type: NotJobRequirement
job: Botanist
- type: StealCondition
stealGroup: Cannabis
minCollectionSize: 20
maxCollectionSize: 30
verifyMapExistance: false
- type: Objective
difficulty: 0.5
- type: entity
noSpawn: true
parent: BaseThiefStealCollectionObjective
id: LAMPStealCollectionObjective
components:
- type: SpeciesRequirement
allowedSpecies:
- Moth
- type: StealCondition
stealGroup: LAMP
minCollectionSize: 1
maxCollectionSize: 30
verifyMapExistance: true
- type: Objective
difficulty: 0.5 # just for fun, collectings LAMP on Moth
# steal item
- type: entity #Security subgroup
noSpawn: true
parent: BaseThiefStealObjective
id: ForensicScannerStealObjective
components:
- type: NotJobRequirement
job: Detective
- type: StealCondition
stealGroup: ForensicScanner
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: AmmoTechFabCircuitboardStealObjective
components:
- type: StealCondition
stealGroup: AmmoTechFabCircuitboard
- type: Objective
difficulty: 1.5
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: ClothingHeadHatWardenStealObjective
components:
- type: StealCondition
stealGroup: ClothingHeadHatWarden
- type: Objective
difficulty: 1.2
- type: entity #Medical subgroup
noSpawn: true
parent: BaseThiefStealObjective
id: ClothingOuterHardsuitVoidParamedStealObjective
components:
- type: NotJobRequirement
job: Paramedic
- type: StealCondition
stealGroup: ClothingOuterHardsuitVoidParamed
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: MedicalTechFabCircuitboardStealObjective
components:
- type: NotJobRequirement
job: MedicalDoctor
- type: StealCondition
stealGroup: MedicalTechFabCircuitboard
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: ClothingHeadsetAltMedicalStealObjective
components:
- type: NotJobRequirement
job: ChiefMedicalOfficer
- type: StealCondition
stealGroup: ClothingHeadsetAltMedical
- type: Objective
difficulty: 1
- type: entity #Engineering subgroup
noSpawn: true
parent: BaseThiefStealObjective
id: FireAxeStealObjective
components:
- type: NotJobRequirement
job: AtmosphericTechnician
- type: StealCondition
stealGroup: FireAxe
- type: Objective
difficulty: 0.8
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: AmePartStealObjective
components:
- type: NotJobRequirement
job: StationEngineer
- type: StealCondition
stealGroup: AmePart
- type: Objective
difficulty: 1
- type: entity #Cargo subgroup
noSpawn: true
parent: BaseThiefStealObjective
id: ExpeditionsCircuitboardStealObjective
components:
- type: NotJobRequirement
job: SalvageSpecialist
- type: StealCondition
stealGroup: SalvageExpeditionsComputerCircuitboard
- type: Objective
difficulty: 0.7
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: CargoShuttleCircuitboardStealObjective
components:
- type: NotJobRequirement
job: CargoTechnician
- type: StealCondition
stealGroup: CargoShuttleConsoleCircuitboard
- type: Objective
difficulty: 0.7
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: SalvageShuttleCircuitboardStealObjective
components:
- type: NotJobRequirement
job: SalvageSpecialist
- type: StealCondition
stealGroup: SalvageShuttleConsoleCircuitboard
- type: Objective
difficulty: 0.7
- type: entity #Service subgroup
noSpawn: true
parent: BaseThiefStealObjective
id: ClothingEyesHudBeerStealObjective
components:
- type: NotJobRequirement
job: Bartender
- type: StealCondition
stealGroup: ClothingEyesHudBeer
- type: Objective
difficulty: 0.3
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: BibleStealObjective
components:
- type: NotJobRequirement
job: Chaplain
- type: StealCondition
stealGroup: Bible
- type: Objective
difficulty: 0.4
- type: entity #Other subgroup
noSpawn: true
parent: BaseThiefStealObjective
id: ClothingNeckGoldmedalStealObjective
components:
- type: NotJobRequirement
job: HeadOfPersonnel
- type: StealCondition
stealGroup: ClothingNeckGoldmedal
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealObjective
id: ClothingNeckClownmedalStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: ClothingNeckClownmedal
- type: Objective
difficulty: 1
# Structures
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: NuclearBombStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: NuclearBomb
- type: Objective
difficulty: 2.5 #Good luck
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: FaxMachineCaptainStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: FaxMachineCaptain
- type: Objective
difficulty: 2
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: VehicleSecwayStealObjective
components:
- type: NotJobRequirement
job: SecurityOfficer
- type: StealCondition
stealGroup: VehicleSecway
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: ChemDispenserStealObjective
components:
- type: NotJobRequirement
job: Chemist
- type: StealCondition
stealGroup: ChemDispenser
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: XenoArtifactStealObjective
components:
- type: NotJobRequirement
job: Scientist
- type: StealCondition
stealGroup: XenoArtifact
- type: Objective
difficulty: 0.5
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: FreezerHeaterStealObjective
components:
- type: NotJobRequirement
job: AtmosphericTechnician
- type: StealCondition
stealGroup: FreezerHeater
- type: Objective
difficulty: 0.5
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: TegStealObjective
components:
- type: NotJobRequirement
job: AtmosphericTechnician
- type: StealCondition
stealGroup: Teg
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: BoozeDispenserStealObjective
components:
- type: NotJobRequirement
job: Bartender
- type: StealCondition
stealGroup: BoozeDispenser
- type: Objective
difficulty: 0.5
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: AltarNanotrasenStealObjective
components:
- type: NotJobRequirement
job: Chaplain
- type: StealCondition
stealGroup: AltarNanotrasen
- type: Objective
difficulty: 0.5
- type: entity
noSpawn: true
parent: BaseThiefStealStructureObjective
id: PlantRDStealObjective
components:
- type: NotJobRequirement
job: Scientist
- type: StealCondition
stealGroup: PlantRD
- type: Objective
difficulty: 0.8
# Animal
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: IanStealObjective
components:
- type: NotJobRequirement
job: HeadOfPersonnel
- type: StealCondition
stealGroup: AnimalIan
- type: Objective
difficulty: 2.5
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: BingusStealObjective
components:
- type: StealCondition
stealGroup: AnimalBingus
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: McGriffStealObjective
components:
- type: NotJobRequirement
job: Detective
- type: StealCondition
stealGroup: AnimalMcGriff
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: WalterStealObjective
components:
- type: NotJobRequirement
job: Chemist
- type: StealCondition
stealGroup: AnimalWalter
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: MortyStealObjective
components:
- type: StealCondition
stealGroup: AnimalMorty
- type: Objective
difficulty: 0.5
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: RenaultStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: AnimalRenault
- type: Objective
difficulty: 2
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: HamletStealObjective
components:
- type: NotJobRequirement
job: Captain
- type: StealCondition
stealGroup: AnimalHamlet
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: ShivaStealObjective
components:
- type: NotJobRequirement
job: SecurityOfficer
- type: StealCondition
stealGroup: AnimalShiva
- type: Objective
difficulty: 2
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: SmileStealObjective
components:
- type: NotJobRequirement
job: Scientist
- type: StealCondition
stealGroup: AnimalSmile
- type: Objective
difficulty: 1
- type: entity
noSpawn: true
parent: BaseThiefStealAnimalObjective
id: PunPunStealObjective
components:
- type: NotJobRequirement
job: Bartender
- type: StealCondition
stealGroup: AnimalPunPun
- type: Objective
difficulty: 2
# Escape
- type: entity
noSpawn: true
parent: [BaseThiefObjective, BaseLivingObjective]
id: EscapeThiefShuttleObjective
name: Escape to centcom alive and unrestrained.
description: You don't want your illegal activities to be discovered by anyone, do you?
components:
- type: Objective
difficulty: 1.3
icon:
sprite: Structures/Furniture/chairs.rsi
state: shuttle
- type: EscapeShuttleCondition

View File

@@ -26,6 +26,8 @@
parent: [BaseTraitorObjective, BaseStealObjective]
id: BaseTraitorStealObjective
components:
- type: StealCondition
verifyMapExistance: false
- type: Objective
difficulty: 2.75
@@ -150,36 +152,28 @@
- type: NotJobRequirement
job: ChiefMedicalOfficer
- type: StealCondition
prototype: Hypospray
stealGroup: Hypospray
owner: job-name-cmo
## rd
- type: entity
abstract: true
noSpawn: true
parent: BaseTraitorStealObjective
id: BaseRDObjective
id: RDHardsuitStealObjective
components:
- type: NotJobRequirement
job: ResearchDirector
- type: StealCondition
stealGroup: ClothingOuterHardsuitRd
owner: job-name-rd
- type: entity
noSpawn: true
parent: BaseRDObjective
id: RDHardsuitStealObjective
components:
- type: StealCondition
prototype: ClothingOuterHardsuitRd
- type: entity
noSpawn: true
parent: BaseRDObjective
parent: BaseTraitorStealObjective
id: HandTeleporterStealObjective
components:
- type: StealCondition
prototype: HandTeleporter
stealGroup: HandTeleporter
owner: job-name-rd
## hos
@@ -194,7 +188,7 @@
- type: NotJobRequirement
job: HeadOfSecurity
- type: StealCondition
prototype: BookSecretDocuments
stealGroup: BookSecretDocuments
owner: job-name-hos
## ce
@@ -207,7 +201,7 @@
- type: NotJobRequirement
job: ChiefEngineer
- type: StealCondition
prototype: ClothingShoesBootsMagAdv
stealGroup: ClothingShoesBootsMagAdv
owner: job-name-ce
## qm
@@ -220,7 +214,7 @@
- type: NotJobRequirement
job: Quartermaster
- type: StealCondition
prototype: BoxFolderQmClipboard
stealGroup: BoxFolderQmClipboard
owner: job-name-qm
## hop
@@ -233,7 +227,7 @@
- type: NotJobRequirement
job: HeadOfPersonnel
- type: StealCondition
prototype: FoodMeatCorgi
stealGroup: FoodMeatCorgi
owner: objective-condition-steal-Ian
## cap
@@ -255,7 +249,7 @@
id: CaptainIDStealObjective
components:
- type: StealCondition
prototype: CaptainIDCard
stealGroup: CaptainIDCard
- type: entity
noSpawn: true
@@ -263,7 +257,7 @@
id: CaptainJetpackStealObjective
components:
- type: StealCondition
prototype: JetpackCaptainFilled
stealGroup: JetpackCaptainFilled
- type: entity
noSpawn: true
@@ -271,7 +265,7 @@
id: CaptainGunStealObjective
components:
- type: StealCondition
prototype: WeaponAntiqueLaser
stealGroup: WeaponAntiqueLaser
owner: job-name-captain
- type: entity
@@ -286,5 +280,5 @@
difficulty: 4
- type: NotCommandRequirement
- type: StealCondition
prototype: NukeDisk
stealGroup: NukeDisk
owner: objective-condition-steal-station

View File

@@ -0,0 +1,6 @@
- type: antag
id: Thief
name: roles-antag-thief-name
antagonist: true
setPreference: true
objective: roles-antag-space-ninja-objective