diff --git a/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl b/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl index 6df29efbe83..c60d4147175 100644 --- a/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl +++ b/Resources/Locale/en-US/_DV/objectives/conditions/steal-target-groups.ftl @@ -3,6 +3,7 @@ steal-target-groups-lucky-bill = logistics officer's lucky bill steal-target-groups-ian-dossier = head of personnel's photobook steal-target-groups-secret-documents = secret documents steal-target-groups-hos-sidearm = energy sidearm +steal-target-groups-medical-docs-documents = sensitive medical documents steal-target-groups-energy-shotgun = energy shotgun steal-target-groups-notary-stamp = notary stamp steal-target-groups-silvia = silvia diff --git a/Resources/Locale/en-US/_DV/store/uplink-catalog.ftl b/Resources/Locale/en-US/_DV/store/uplink-catalog.ftl index b545284696d..a1ced9c8c28 100644 --- a/Resources/Locale/en-US/_DV/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/_DV/store/uplink-catalog.ftl @@ -1 +1,7 @@ -# Dont use this, make/edit a ftl in /Uplink +# Only use this for upstream overrides, if you are adding something new, add it to uplink/.ftl + +ent-CrateSyndicateSurplusBundle = syndicate surplus crate + .desc = Contains 75 telecrystals worth of completely random syndicate items. It can be useless junk or really good. + +ent-CrateSyndicateSuperSurplusBundle = syndicate super surplus crate + .desc = Contains 175 telecrystals worth of completely random syndicate items. It can be useless junk or really good. diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index dc66eac520b..b280fd2666a 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -285,10 +285,12 @@ uplink-zombie-bundle-name = Syndicate Zombie Bundle uplink-zombie-bundle-desc = An all-in-one kit for unleashing the undead upon a station. uplink-surplus-bundle-name = Surplus Crate -uplink-surplus-bundle-desc = Contains 50 telecrystals worth of completely random Syndicate items. It can be useless junk or really good. +# DeltaV - Was 50 +uplink-surplus-bundle-desc = Contains 75 telecrystals worth of completely random Syndicate items. It can be useless junk or really good. uplink-super-surplus-bundle-name = Super Surplus Crate -uplink-super-surplus-bundle-desc = Contains 125 telecrystals worth of completely random Syndicate items. +# DeltaV - Was 125 +uplink-super-surplus-bundle-desc = Contains 175 telecrystals worth of completely random Syndicate items. uplink-starter-kit-name = Basic Operative Bundle uplink-starter-kit-desc = Contains 40 telecrystals of basic operative gear. For those operatives who just don't know what they should buy. diff --git a/Resources/Migrations/deltaMigrations.yml b/Resources/Migrations/deltaMigrations.yml index c7388bea239..e9d7e739203 100644 --- a/Resources/Migrations/deltaMigrations.yml +++ b/Resources/Migrations/deltaMigrations.yml @@ -250,4 +250,7 @@ BoxPerformer: BoxPerformerDV # 2026-07-04 SpawnPointMedicalBorg: SpawnPointBorg -SpawnPointSecurityBorg: SpawnPointBorg \ No newline at end of file +SpawnPointSecurityBorg: SpawnPointBorg + +# 2026-08-10 +BookSecretDocuments: BookMedicalDocuments \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml index 6e4418778ae..781f4cf04b5 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/syndicate.yml @@ -5,7 +5,7 @@ description: Contains 50 telecrystals worth of completely random Syndicate items. It can be useless junk or really good. components: - type: SurplusBundle - totalPrice: 50 + totalPrice: 75 # DeltaV - 50->75 because 30TC - type: MappingCategories # DeltaV categories: - Syndicate @@ -35,7 +35,7 @@ description: Contains 125 telecrystals worth of completely random Syndicate items. components: - type: SurplusBundle - totalPrice: 125 + totalPrice: 175 # DeltaV - 125->175 because 30TC - type: MappingCategories # DeltaV categories: - Syndicate diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml index 08277555644..44becb6c2f2 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/heads.yml @@ -322,7 +322,7 @@ children: - !type:NestedSelector # DeltaV tableId: LockerFillHeadOfSecurityDeltaV - - id: BookSecretDocuments + #- id: BookSecretDocuments # DeltaV - Made into NT medical documents #- id: WeaponEnergyMagnum # DeltaV - Replaced with the HoSBriefcase #- id: BookSpaceLaw # DeltaV - Moved to dresser - id: BoxEncryptionKeySecurity diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 162d9489361..9c406ed75f5 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -1262,7 +1262,7 @@ description: uplink-surplus-bundle-desc productEntity: CrateSyndicateSurplusBundle cost: - Telecrystal: 20 + Telecrystal: 30 # DeltaV - was 20 categories: - UplinkDisruption conditions: @@ -1281,7 +1281,7 @@ description: uplink-super-surplus-bundle-desc productEntity: CrateSyndicateSuperSurplusBundle cost: - Telecrystal: 40 + Telecrystal: 60 # DeltaV - was 40 categories: - UplinkDisruption conditions: diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index 085629169fa..48ff5fb08e5 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -251,7 +251,7 @@ - type: AntagRandomObjectives sets: - groups: TraitorObjectiveGroups - maxDifficulty: 5 + maxDifficulty: 9 # DeltaV - More objectives - type: AntagSelection agentName: traitor-round-end-agent-name - type: DynamicRuleCost @@ -270,8 +270,8 @@ selectionTime: IntraPlayerSpawn definitions: - prefRoles: [ Traitor ] - max: 10 # DeltaV - raised from 8 - playerRatio: 9 # DeltaV - lowered from 10 + max: 8 + playerRatio: 10 blacklist: components: - AntagImmune diff --git a/Resources/Prototypes/Nyanotrasen/Objectives/stealTargetGroups.yml b/Resources/Prototypes/Nyanotrasen/Objectives/stealTargetGroups.yml deleted file mode 100644 index 58e6a1cb6a3..00000000000 --- a/Resources/Prototypes/Nyanotrasen/Objectives/stealTargetGroups.yml +++ /dev/null @@ -1,6 +0,0 @@ -- type: stealTargetGroup - id: AntiPsychicKnife - name: steal-target-groups-anti-psychic-knife - sprite: - sprite: Nyanotrasen/Objects/Weapons/Melee/anti_psychic_knife.rsi - state: icon diff --git a/Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml b/Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml deleted file mode 100644 index fd185e56151..00000000000 --- a/Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml +++ /dev/null @@ -1,52 +0,0 @@ -- type: entity - parent: BaseTraitorStealObjective - id: MantisKnifeStealObjective - components: - - type: NotJobRequirement - jobs: [ ForensicMantis ] - - type: StealCondition - stealGroup: AntiPsychicKnife - owner: job-name-mantis - -# /-- This objective does not encourage antagonism, thus 1984 -#- type: entity -# id: BecomePsionicObjective -# parent: BaseTraitorObjective -# name: Become psionic -# description: We need you to acquire psionics and keep them until your mission is complete. -# components: -# - type: NotJobsRequirement -# jobs: -# - Mime -# - ForensicMantis -# - type: Objective -# difficulty: 2.5 -# #unique: false -# icon: -# sprite: Nyanotrasen/Icons/psi.rsi -# state: psi -# - type: ObjectiveBlacklistRequirement -# blacklist: -# components: -# - BecomeGolemCondition -# - type: BecomePsionicCondition - -#- type: entity -# id: BecomeGolemObjective -# parent: BaseTraitorObjective -# name: objective-condition-become-golem-title -# description: objective-condition-become-golem-description. -# components: -# - type: NotJobRequirement -# jobs: [ Chaplain ] -# - type: Objective -# difficulty: 3.5 -# #unique: false -# icon: -# sprite: Nyanotrasen/Mobs/Species/Golem/cult.rsi -# state: full -# - type: ObjectiveBlacklistRequirement -# blacklist: -# components: -# - BecomePsionicCondition -# - type: BecomeGolemCondition diff --git a/Resources/Prototypes/Objectives/base_objectives.yml b/Resources/Prototypes/Objectives/base_objectives.yml index 1abbe74f3ad..ad5900dbab7 100644 --- a/Resources/Prototypes/Objectives/base_objectives.yml +++ b/Resources/Prototypes/Objectives/base_objectives.yml @@ -87,7 +87,7 @@ # requires that the player steal an item specified in the final prototype - type: entity abstract: true - parent: BaseLivingObjective + parent: BaseObjective # DeltaV - was BaseLivingObjective, but we're gonna allow DAGD to steal id: BaseStealObjective components: - type: StealCondition diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 0016909174b..ce44a8e4756 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -5,8 +5,8 @@ TraitorObjectiveGroupSteal: 1 TraitorObjectiveGroupKill: 1 TraitorObjectiveGroupState: 0.5 #As in, something about your character. Alive, dead, arrested, gained an ability... # DeltaV - was 1 - TraitorObjectiveGroupSocial: 0.5 # DeltaV #Involves helping/harming others without killing them or stealing their stuff - TraitorObjectiveGroupSpecial: .2 # DeltaV + TraitorObjectiveGroupSocial: 0.2 # DeltaV #Involves helping/harming others without killing them or stealing their stuff + TraitorObjectiveGroupSpecial: 0.2 # DeltaV - type: weightedRandom id: TraitorObjectiveGroupSteal @@ -15,34 +15,35 @@ CMOHyposprayStealObjective: 1 #CMOCrewMonitorStealObjective: 1 # DeltaV - You can buy this + paramedics all have them RDHardsuitStealObjective: 1 - NukeDiskStealObjective: 0.25 # DeltaV - was 1 + NukeDiskStealObjective: 1 MagbootsStealObjective: 1 # CorgiMeatStealObjective: 1 # DeltaV - Disable the horrible murder of Ian as an objective - ClipboardStealObjective: 1 - # KnuckleDustersStealObjective: 1 # DeltaV - RIP Knuckledusters. We hardly knew thee. - CaptainGunStealObjective: 0.5 + ClipboardStealObjective: 0.75 # DeltaV - was 1, LO has a lot of objectives + KnuckleDustersStealObjective: 0.75 # DeltaV - was 1, LO has a lot of objectives + CaptainGunStealObjective: 0.75 # DeltaV - was 0.5 CaptainJetpackStealObjective: 0.5 - HandTeleporterStealObjective: 0.5 + HandTeleporterStealObjective: 0.75 # DeltaV - was 0.5 #EnergyShotgunStealObjective: 0.5 # DeltaV - replaced by X-01 objective #EnergyMagnumStealObjective: 0.5 # DeltaV - replaced by X-01 objective # Begin DeltaV Additions ClerkNotaryStealObjective: 0.5 - HoPBookIanDossierStealObjective: 1 - HoSGunStealObjective: 0.5 - BibleMystagogueStealObjective: 0.5 - HardsuitRhinoStealObjective: 0.5 + HoPBookIanDossierStealObjective: 0.5 # DeltaV - Also ninja objective, so make it less likely + HoSGunStealObjective: 1 + BibleMystagogueStealObjective: 0.75 + HardsuitRhinoStealObjective: 0.75 PlutoniumCoreStealObjective: 0.5 MantisKnifeStealObjective: 1 RdClipboardStealObjective: 1 CeClipboardStealObjective: 1 + MedicalFolderStealObjective: 0.75 # End DeltaV Additions - type: weightedRandom id: TraitorObjectiveGroupKill weights: - # KillRandomPersonObjective: 1 # DeltaV Replaced for Teach Lesson + KillRandomPersonObjective: 0.1 # DeltaV, was 1. Very unlikely but possible. TeachLessonRandomPersonObjective: 1 - KillRandomHeadObjective: 0.25 + KillRandomHeadObjective: 0.5 KillRandomTraitorObjective: 0.2 # DeltaV - type: weightedRandom @@ -51,8 +52,6 @@ EscapeShuttleObjective: 1 DieObjective: 0.1 # DeltaV - was 0.05 #HijackShuttleObjective: 0.02 - #BecomePsionicObjective: 1 # Nyanotrasen - Become Psionic objective, see Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml - #BecomeGolemObjective: 0.5 # Nyanotrasen - Become a golem objective, see Resources/Prototypes/Nyanotrasen/Objectives/traitor.yml - type: weightedRandom id: TraitorObjectiveGroupSocial diff --git a/Resources/Prototypes/Objectives/traitor.yml b/Resources/Prototypes/Objectives/traitor.yml index a284ce27da0..f48d0a3fbce 100644 --- a/Resources/Prototypes/Objectives/traitor.yml +++ b/Resources/Prototypes/Objectives/traitor.yml @@ -28,7 +28,7 @@ - type: StealCondition verifyMapExistence: false - type: Objective - difficulty: 2.75 + difficulty: 2.5 # DeltaV - Was 2.75 - type: ObjectiveLimit limit: 2 # there is usually only 1 of each steal objective, have 2 max for drama @@ -54,7 +54,7 @@ description: Die. components: - type: Objective - difficulty: 0.5 + difficulty: 0 # DeltaV - Was 0.5 but its not hard to die when you're trying to, esp with the implants icon: sprite: Mobs/Ghosts/ghost_human.rsi state: icon @@ -62,7 +62,7 @@ blacklist: components: - EscapeShuttleCondition - - StealCondition + #- StealCondition # DeltaV - Remove steal condition so DAGD can have more varied objectives. Its just kill otherwise. - type: DieCondition # BEGIN DelatV # The game turns into a massive suicide pact if enough of the traitors have it. Not fun for traitors or security! @@ -97,7 +97,7 @@ description: Do it however you like, just make sure they don't get off the station. components: - type: Objective - difficulty: 1.75 + difficulty: 2.5 # DeltaV - Was 1.75 unique: false - type: TargetObjective title: objective-condition-maroon-person-title @@ -173,7 +173,7 @@ description: Identify yourself at your own risk. We just need them to succeed. components: - type: Objective - difficulty: 2.5 + difficulty: 2 # DeltaV - Not hard - type: TargetObjective title: objective-condition-other-traitor-progress-title - type: PickRandomPerson diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml index e5420c63f95..0afc11249bf 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml @@ -58,6 +58,7 @@ - id: ClothingBeltMilitaryWebbingCMO # add webbing for CMO. ON THIS STATION, IT'S DRIP OR [die], CAPTAIN! - id: CMOIDCard - id: PersonalAILearnerMedical #imp + - id: BookMedicalDocuments # Traitor objective - id: LunchboxCommandFilledRandom prob: 0.3 diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/medical_documents.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/medical_documents.yml new file mode 100644 index 00000000000..28df88e6e66 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/medical_documents.yml @@ -0,0 +1,15 @@ +- type: entity + parent: [BaseItem, BaseGrandTheftContraband] + id: BookMedicalDocuments + name: sensitive medical documents + description: These documents contain sensitive medical information about various high-ranking CentComm personnel. + components: + - type: Sprite + sprite: _DV/Objects/Misc/folders.rsi + state: folder-medical-docs + - type: Tag + tags: + - Book + - HighRiskItem + - type: StealTarget + stealGroup: BookMedicalDocuments diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/secret_documents.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/secret_documents.yml deleted file mode 100644 index 44342a55d7e..00000000000 --- a/Resources/Prototypes/_DV/Entities/Objects/Misc/secret_documents.yml +++ /dev/null @@ -1,29 +0,0 @@ -# Upstream removed these -- type: entity - parent: [BaseItem, BaseGrandTheftContraband] - id: BookSecretDocuments - name: emergency security orders - description: TOP SECRET. These documents specify the Emergency Orders that the HoS must carry out when ordered by Central Command. - components: - - type: Sprite - sprite: _DV/Objects/Misc/folders.rsi - state: folder-sec-doc - - type: Tag - tags: - - Book - - HighRiskItem - - type: StealTarget - stealGroup: BookSecretDocuments - -- type: entity - parent: BoxFolderBase - id: BoxFolderSecret - name: emergency security orders - description: TOP SECRET. These documents specify the Emergency Orders that the HoS must carry out when ordered by Central Command. - components: - - type: Sprite - sprite: _DV/Objects/Misc/folders.rsi - layers: - - state: folder-sec-doc - - type: MappingCategories - categories: [Debug] diff --git a/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml b/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml index 63783a5186a..0b3aa9d3bc5 100644 --- a/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/_DV/Objectives/stealTargetGroups.yml @@ -1,3 +1,10 @@ +- type: stealTargetGroup + id: AntiPsychicKnife + name: steal-target-groups-anti-psychic-knife + sprite: + sprite: Nyanotrasen/Objects/Weapons/Melee/anti_psychic_knife.rsi + state: icon + - type: stealTargetGroup id: SpaceCashLuckyBill name: steal-target-groups-lucky-bill @@ -13,11 +20,11 @@ state: folder-hop-ian - type: stealTargetGroup - id: BookSecretDocuments - name: steal-target-groups-secret-documents + id: BookMedicalDocuments + name: steal-target-groups-medical-docs-documents sprite: - sprite: Objects/Misc/folders.rsi - state: folder-sec-doc + sprite: _DV/Objects/Misc/folders.rsi + state: folder-medical-docs - type: stealTargetGroup id: HoSSidearm diff --git a/Resources/Prototypes/_DV/Objectives/traitor.yml b/Resources/Prototypes/_DV/Objectives/traitor.yml index cc4239e069d..96fe60982ea 100644 --- a/Resources/Prototypes/_DV/Objectives/traitor.yml +++ b/Resources/Prototypes/_DV/Objectives/traitor.yml @@ -41,17 +41,15 @@ owner: job-name-hos - type: entity - parent: BaseTraitorStealObjective - id: SecretFolderStealObjective + parent: BaseCMOStealObjective + id: MedicalFolderStealObjective components: - type: Objective - # HoS will never have this on them - difficulty: 2 - - type: NotJobRequirement - jobs: [ HeadOfSecurity ] + # CMO may or may not have this on them + difficulty: 2.25 - type: StealCondition - stealGroup: BookSecretDocuments - owner: job-name-hos + stealGroup: BookMedicalDocuments + owner: job-name-cmo ## warden steal objective - type: entity @@ -71,6 +69,8 @@ parent: BaseTraitorStealObjective id: ClerkNotaryStealObjective components: + - type: Objective + difficulty: 1.75 # Not a command item really - type: NotJobRequirement jobs: [ Clerk ] - type: StealCondition @@ -122,6 +122,18 @@ stealGroup: ClothingOuterHardsuitEngineeringWhite owner: job-name-ce +- type: entity + parent: BaseTraitorStealObjective + id: MantisKnifeStealObjective + components: + - type: Objective + difficulty: 1.75 # Pretty easy + - type: NotJobRequirement + jobs: [ ForensicMantis ] + - type: StealCondition + stealGroup: AntiPsychicKnife + owner: job-name-mantis + # teach lesson - type: entity abstract: true @@ -203,7 +215,7 @@ components: - type: Objective # its hard to steal and leaves evidence, but you can get away with it. - difficulty: 3.5 + difficulty: 3 - type: NotCommandRequirement - type: StealCondition stealGroup: PlutoniumCore diff --git a/Resources/ServerInfo/Guidebook/Antagonist/Traitors.xml b/Resources/ServerInfo/Guidebook/Antagonist/Traitors.xml index d139bd383e1..32b4a07e66a 100644 --- a/Resources/ServerInfo/Guidebook/Antagonist/Traitors.xml +++ b/Resources/ServerInfo/Guidebook/Antagonist/Traitors.xml @@ -84,7 +84,8 @@ - Stealing the [color=#5b97bc]Chief Medical Officer[/color]'s [bold]hypospray[/bold] or [bold]handheld crew monitor[/bold]. - + + - Stealing the [color=#c96dbf]Research Director[/color]'s [bold]experimental hardsuit[/bold], [bold]hand teleporter[/bold], or [bold]research digiboard[/bold]. @@ -99,7 +100,6 @@ - - Stealing the [color=#f39f27]Chief Engineer[/color]'s [bold]advanced magboots[/bold], [bold]advanced hardsuit[/bold], or [bold]power monitoring digiboard[/bold]. diff --git a/Resources/Textures/_DV/Objects/Misc/folders.rsi/folder-sec-doc.png b/Resources/Textures/_DV/Objects/Misc/folders.rsi/folder-medical-docs.png similarity index 100% rename from Resources/Textures/_DV/Objects/Misc/folders.rsi/folder-sec-doc.png rename to Resources/Textures/_DV/Objects/Misc/folders.rsi/folder-medical-docs.png diff --git a/Resources/Textures/_DV/Objects/Misc/folders.rsi/meta.json b/Resources/Textures/_DV/Objects/Misc/folders.rsi/meta.json index f9123811bca..db5f1eab6cb 100644 --- a/Resources/Textures/_DV/Objects/Misc/folders.rsi/meta.json +++ b/Resources/Textures/_DV/Objects/Misc/folders.rsi/meta.json @@ -14,7 +14,7 @@ "name": "folder-overlay-paper" }, { - "name": "folder-sec-doc" + "name": "folder-medical-docs" } ] }