]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Better thief objectives (#39867)
author2DSiggy <siggymaxwell@gmail.com>
Thu, 18 Sep 2025 20:09:44 +0000 (16:09 -0400)
committerGitHub <noreply@github.com>
Thu, 18 Sep 2025 20:09:44 +0000 (13:09 -0700)
* finally some good objectives

* oopsie

* guh fuck

* more steal objectives that are actually good

* i want to die

* fucking upload to github please

* adding it to the objectiveGroups.yml

* higher weights for testing

* upload

* just need to do text shit. coding done waow

* OBJECTIVES WORK AND HAVE TEXT. FIX VIS

* I THINK ITS DONE AAAAAAAAAAAAAAA

* grammatical fix

* more formatting fixes

* i might be stupid

* forgot to fix a weight issue

* more grammar grrrrrrrrrrrrr

* made the double barrel obj have higher difficulty since it's cared about more than beer goggles

* Requested Changes

* forgot a thing oopsie

Resources/Locale/en-US/objectives/conditions/steal-target-groups.ftl
Resources/Prototypes/Entities/Clothing/Belt/belts.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Revolvers/revolvers.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
Resources/Prototypes/Objectives/objectiveGroups.yml
Resources/Prototypes/Objectives/stealTargetGroups.yml
Resources/Prototypes/Objectives/thief.yml

index a84549ec95e32437d2b99075ed237cde606f3250..f800aa2c8d046a018cb60991dd4b21d5bf664092 100644 (file)
@@ -23,6 +23,7 @@ steal-target-groups-encryption-keys = encryption key
 steal-target-groups-technology-disks = technology disk
 steal-target-groups-mail = mail
 steal-target-groups-id-cards = ID Card
+steal-target-groups-officer-handguns = security officer's handgun
 steal-target-groups-lamps = LAMP
 
 # Thief single item
@@ -43,6 +44,8 @@ steal-target-groups-bible = bible
 steal-target-groups-clothing-neck-goldmedal = gold medal of crewmanship
 steal-target-groups-clothing-neck-clownmedal = clown medal
 steal-target-groups-wanted-list-cartridge = wanted list cartridge
+steal-target-groups-belt-ce = chief engineer's toolbelt
+steal-target-groups-captain-sword = captain's sabre
 
 # Thief structures
 steal-target-groups-teg = teg generator part
index ffb403534f0a98fbc034a726fd5ea75e28e79aa1..06c38cc694546fdeaa8d775cdddbc0cc0a5751a5 100644 (file)
           - Wrench
     sprite: Clothing/Belt/belt_overlay.rsi
   - type: Appearance
+  - type: StealTarget
+    stealGroup: ChiefEngineerToolBelt
 
 - type: entity
   parent: ClothingBeltStorageBase
index eaa58562f1653420dba574629aec90e688bef628..ec3fa31297307173b40fe578ee0bde827859de3e 100644 (file)
     - SemiAuto
     soundGunshot:
       path: /Audio/Weapons/Guns/Gunshots/mk58.ogg
+  - type: StealTarget
+    stealGroup: OfficerHandgun
 
 - type: entity
   name: N1984
index f860830dc7836928474816c42eb1fc22b567491a..1f24828428f1a788650b0486a4c38dc08080b2d7 100644 (file)
@@ -95,6 +95,8 @@
     capacity: 6
     chambers: [ True, True, True, True, True, True ]
     ammoSlots: [ null, null, null, null, null, null ]
+  - type: StealTarget
+    stealGroup: OfficerHandgun
 
 - type: entity
   name: Mateba
index a1fea197ab82d35fcda95616c0cf67bada3ac682..a468760035f0bb74caacfacec8bf1e6c29182a38 100644 (file)
     weight: 0.0002 # 5,000 times less likely than 1 regular animal
   - type: PirateAccent
     # not putting a BlockMovement component here cause that's funny.
+  - type: StealTarget
+    stealGroup: CaptainSword
 
 - type: entity
   name: katana
index b3f4587ffadac39bb9d9ef001dc16fe1bb28e6df..e53310b13275f3f7dd91a9f8117dd872c05c8e1b 100644 (file)
     HeadBedsheetStealCollectionObjective: 1
     StampStealCollectionObjective: 1
     DoorRemoteStealCollectionObjective: 1
+    OfficerHandgunsStealCollectionObjective: 1         #sec
     TechnologyDiskStealCollectionObjective: 1           #sci
     MailStealCollectionObjective: 1                     #cargo
     IDCardsStealCollectionObjective: 1
-    LAMPStealCollectionObjective: 2                     #only for moth
+    LAMPStealCollectionObjective: 0.1                   #only for moth, weight decreased cause boring and insanely easy
 
 - type: weightedRandom
   id: ThiefObjectiveGroupItem
   weights:
+    ChiefEngineerToolbeltStealObjective: .5             #command
+    CaptainSwordStealObjective: .5
+    ClothingHeadsetAltMedicalStealObjective: 1
     ForensicScannerStealObjective: 1                    #sec
     FlippoEngravedLighterStealObjective: 0.5
     ClothingHeadHatWardenStealObjective: 1
     WantedListCartridgeStealObjective: 1
     ClothingOuterHardsuitVoidParamedStealObjective: 1   #med
     MedicalTechFabCircuitboardStealObjective: 1
-    ClothingHeadsetAltMedicalStealObjective: 1
     FireAxeStealObjective: 1                            #eng
     AmePartFlatpackStealObjective: 1
     ExpeditionsCircuitboardStealObjective: 1            #sup
     CargoShuttleCircuitboardStealObjective: 1
-    ClothingEyesHudBeerStealObjective: 1                #srv
+    ClothingEyesHudBeerStealObjective: 0.5              #srv, beer goggles less common cause its so easy
     BibleStealObjective: 1
     ClothingNeckGoldmedalStealObjective: 1              #other
     ClothingNeckClownmedalStealObjective: 0.5
index c687c52a46554bb09537233f60973d414b5ca742..d25908d154fd03cc5e21ef9a6a605f038239457b 100644 (file)
     sprite: Objects/Devices/door_remote.rsi
     state: door_remotebase
 
+- type: stealTargetGroup
+  id: OfficerHandgun
+  name: steal-target-groups-officer-handguns
+  sprite:
+    sprite: Objects/Weapons/Guns/Pistols/mk58.rsi
+    state: base
+
 - type: stealTargetGroup
   id: EncryptionKey
   name: steal-target-groups-encryption-keys
     sprite: Objects/Devices/flatpack.rsi
     state: ame-part
 
+- type: stealTargetGroup
+  id: ChiefEngineerToolBelt
+  name: steal-target-groups-belt-ce
+  sprite:
+    sprite: Clothing/Belt/ce.rsi
+    state: icon
+
 - type: stealTargetGroup
   id: SalvageExpeditionsComputerCircuitboard
   name: steal-target-groups-salvage-expeditions-computer-circuitboard
     sprite: Objects/Devices/cartridge.rsi
     state: cart-sec
 
+- type: stealTargetGroup
+  id: CaptainSword
+  name: steal-target-groups-captain-sword
+  sprite:
+    sprite: Objects/Weapons/Melee/captain_sabre.rsi
+    state: icon
+
 #Thief structures
 
 - type: stealTargetGroup
index 9f2caf5220015b0a68198ae1227ebe29bcefd664..80879aae99e64d1330422b9b4013e5d35dfcfbc3 100644 (file)
   parent: BaseThiefStealCollectionObjective
   id: IDCardsStealCollectionObjective
   components:
+  - type: NotJobRequirement #Here cause you can buy a personnel crate from cargo which is 8 ID cards. Meaning the ID you start with is number nine and you only need to steal one.
+    job: CargoTechnician #TODO: add salvage specialist
   - type: StealCondition
     stealGroup: IDCard
     minCollectionSize: 5
   - type: Objective
     difficulty: 0.7
 
+- type: entity
+  parent: BaseThiefStealCollectionObjective
+  id: OfficerHandgunsStealCollectionObjective
+  components:
+  - type: NotJobRequirement
+    job: SecurityOfficer #TODO: Add HoS, Detective, and Warden
+  - type: StealCondition
+    stealGroup: OfficerHandgun
+    minCollectionSize: 2
+    maxCollectionSize: 5
+    verifyMapExistence: false
+    checkStealAreas: false
+  - type: Objective
+    difficulty: 1.2
+
 - type: entity
   parent: BaseThiefStealCollectionObjective
   id: LAMPStealCollectionObjective
     maxCollectionSize: 10
     verifyMapExistence: true
   - type: Objective
-    difficulty: 0.5 # just for fun, collectings LAMP on Moth
+    difficulty: 0.1 # just for fun, collecting LAMP on Moth
 
 # steal item
 
   id: ClothingOuterHardsuitVoidParamedStealObjective
   components:
   - type: NotJobRequirement
-    job: Paramedic
+    job: Paramedic #TODO: make it so this also includes Medical Doctor, Chemist and Psychologist
   - type: StealCondition
     stealGroup: ClothingOuterHardsuitVoidParamed
   - type: Objective
   id: MedicalTechFabCircuitboardStealObjective
   components:
   - type: NotJobRequirement
-    job: MedicalDoctor
+    job: MedicalDoctor #TODO: make it so this also includes Chemist, Paramedic and Psychologist
   - type: StealCondition
     stealGroup: MedicalTechFabCircuitboard
   - type: Objective
   id: AmePartFlatpackStealObjective
   components:
   - type: NotJobRequirement
-    job: StationEngineer
+    job: StationEngineer #TODO: make it so this also includes Atmos technician
   - type: StealCondition
     stealGroup: AmePartFlatpack
   - type: Objective
     difficulty: 1
 
+- type: entity
+  parent: BaseThiefStealObjective
+  id: ChiefEngineerToolbeltStealObjective
+  components:
+  #- type: NotJobRequirement                      Is this really necessary? it's a pickpocket objective. Only thing is that it would be easier to get to CE
+  #  Job: StationEngineer, AtmosphericTechnician
+  - type: StealCondition
+    stealGroup: ChiefEngineerToolBelt
+  - type: Objective
+    difficulty: .7
+
 - type: entity                                      #Cargo subgroup
   parent: BaseThiefStealObjective
   id: ExpeditionsCircuitboardStealObjective
   id: CargoShuttleCircuitboardStealObjective
   components:
   - type: NotJobRequirement
-    job: CargoTechnician
+    job: CargoTechnician #TODO: make it so this also includes Salvage Specialist
   - type: StealCondition
     stealGroup: CargoShuttleConsoleCircuitboard
   - type: Objective
   id: ClothingEyesHudBeerStealObjective
   components:
   - type: NotJobRequirement
-    job: Bartender
+    job: Bartender #TODO: make it so this also includes Service worker
   - type: StealCondition
     stealGroup: ClothingEyesHudBeer
   - type: Objective
   - type: Objective
     difficulty: 1
 
+- type: entity
+  parent: BaseThiefStealObjective
+  id: CaptainSwordStealObjective
+  components:
+  - type: NotJobRequirement
+    job: Captain
+  - type: StealCondition
+    stealGroup: CaptainSword
+  - type: Objective
+    difficulty: 1.5
+
 # Structures
 
 - type: entity
   id: ChemDispenserStealObjective
   components:
   - type: NotJobRequirement
-    job: Chemist
+    job: Chemist #TODO: make it so this also includes Scientist. It's a roundstart circuit they can construct.
   - type: StealCondition
     stealGroup: ChemDispenser
   - type: Objective
   id: FreezerHeaterStealObjective
   components:
   - type: NotJobRequirement
-    job: AtmosphericTechnician
+    job: AtmosphericTechnician #TODO: make it so this also includes Engineer, Medical doctor, chemist and maybe also scientist. Medical doc and chemist cause cryogenics, scientist cause it can be built and is sometimes mapped in artisci
   - type: StealCondition
     stealGroup: FreezerHeater
   - type: Objective
   id: TegStealObjective
   components:
   - type: NotJobRequirement
-    job: AtmosphericTechnician
+    job: AtmosphericTechnician #TODO: make it so this also includes Engineer, Several TEG only maps have TEG accessible by standard Engineers
   - type: StealCondition
     stealGroup: Teg
   - type: Objective
   id: BoozeDispenserStealObjective
   components:
   - type: NotJobRequirement
-    job: Bartender
+    job: Bartender #TODO: make it so this also includes Service worker
   - type: StealCondition
     stealGroup: BoozeDispenser
   - type: Objective