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

@@ -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