diff --git a/Resources/Locale/en-US/_DV/holopad/holopad.ftl b/Resources/Locale/en-US/_DV/holopad/holopad.ftl index bd304059dd7..327a418010b 100644 --- a/Resources/Locale/en-US/_DV/holopad/holopad.ftl +++ b/Resources/Locale/en-US/_DV/holopad/holopad.ftl @@ -32,12 +32,17 @@ holopad-logistics-lobby = Logistics - Lobby holopad-justice-prosecutor = Justice - Prosecutor holopad-justice-attorney = Justice - Attorney holopad-justice-clerk = Justice - Clerk +holopad-justice-detective = Justice - Detective +holopad-justice-warden = Justice - Warden +holopad-justice-marshal = Justice - Marshal holopad-justice-lobby = Justice - Lobby +holopad-justice-justice-armory = Justice - Armory # Security holopad-security-corpsman = Security - Corpsman holopad-security-evidence = Security - Evidence holopad-security-lobby = Security - Lobby +holopad-security-armorer = Security - Armorer # General holopad-general-park = General - Park diff --git a/Resources/Locale/en-US/_DV/navmap-beacons/station-beacons.ftl b/Resources/Locale/en-US/_DV/navmap-beacons/station-beacons.ftl index 724386ffcde..a6524302eeb 100644 --- a/Resources/Locale/en-US/_DV/navmap-beacons/station-beacons.ftl +++ b/Resources/Locale/en-US/_DV/navmap-beacons/station-beacons.ftl @@ -42,6 +42,7 @@ station-beacon-pool = Pool station-beacon-barbershop = Barbershop station-beacon-zoo = Zoo +station-beacon-armorer = Armorer station-beacon-corpsman = Corpsman station-beacon-security-solitary = Solitary Confinement station-beacon-bomb-training = Bomb Training @@ -52,3 +53,5 @@ station-beacon-chiefjustice = Chief Justice station-beacon-prosecutor = Prosecutor station-beacon-clerk = Clerk station-beacon-attorney = Attorney +station-beacon-marshal = Marshal +station-beacon-justice-armory = Justice Armory diff --git a/Resources/Locale/en-US/_DV/paper/stamp-component.ftl b/Resources/Locale/en-US/_DV/paper/stamp-component.ftl index e69083e735b..ec2eaf9a265 100644 --- a/Resources/Locale/en-US/_DV/paper/stamp-component.ftl +++ b/Resources/Locale/en-US/_DV/paper/stamp-component.ftl @@ -2,6 +2,8 @@ stamp-component-stamped-name-notary = NOTARY stamp-component-stamped-name-carpy = Carpinald F. Grrawson, Esq. stamp-component-stamped-name-chiefjustice = Chief Justice stamp-component-stamped-name-prosec = Prosecutor +stamp-component-stamped-name-attorney = Attorney +stamp-component-stamped-name-armorer = Armorer stamp-component-stamped-name-hate-paperwork = I HATE PAPERWORK! stamp-component-stamped-name-nanotrasen = Nanotrasen stamp-component-stamped-name-NTAgent = INTERNAL AFFAIRS diff --git a/Resources/Locale/en-US/_DV/prototypes/access/accesses.ftl b/Resources/Locale/en-US/_DV/prototypes/access/accesses.ftl index cb77787a1c5..2909c464504 100644 --- a/Resources/Locale/en-US/_DV/prototypes/access/accesses.ftl +++ b/Resources/Locale/en-US/_DV/prototypes/access/accesses.ftl @@ -4,7 +4,10 @@ id-card-access-level-orders = Orders id-card-access-level-mantis = Psionic Mantis id-card-access-level-chief-justice = Chief Justice id-card-access-level-prosecutor = Prosecutor +id-card-access-level-justice-attorney = Attorney id-card-access-level-clerk = Clerk +id-card-access-level-justice-warden = Warden (Justice) +id-card-access-level-marshal = Marshal id-card-access-level-justice = Justice id-card-access-level-corpsman = Corpsman id-card-access-level-robotics = Robotics diff --git a/Resources/Prototypes/Access/security.yml b/Resources/Prototypes/Access/security.yml index 5bf1c68ddbb..367af6b6f42 100644 --- a/Resources/Prototypes/Access/security.yml +++ b/Resources/Prototypes/Access/security.yml @@ -10,10 +10,9 @@ id: Armory name: id-card-access-level-armory -# Delta V: Removes Brig access because redundant -#- type: accessLevel -# id: Brig -# name: id-card-access-level-brig +- type: accessLevel + id: Brig + name: id-card-access-level-brig - type: accessLevel id: Detective diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml index 6cbb5433423..9460134d367 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/door_access.yml @@ -231,18 +231,18 @@ - type: entity parent: DoorElectronics id: DoorElectronicsSecurityLawyer - suffix: Security/Justice, Locked #DV - Allow all justice dept to use + suffix: Security/Justice, Locked # DeltaV - Allow all justice dept to use components: - type: AccessReader - access: [["Security"], ["Justice"]] #DV - Allow all justice dept to use + access: [["Security"], ["Justice"]] # DeltaV - Allow all justice dept to use -#- type: entity -# parent: DoorElectronics -# id: DoorElectronicsBrig -# suffix: Brig, Locked -# components: -# - type: AccessReader -# access: [["Brig"]] +- type: entity + parent: DoorElectronics + id: DoorElectronicsBrig + suffix: Brig, Locked + components: + - type: AccessReader + access: [["Brig"]] # Medical - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml b/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml index 7a7710f6d13..042c6e78e95 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml @@ -22,7 +22,7 @@ - Armory - Atmospherics - Bar - #- Brig # DeltaV - Removed Brig Access + - Brig - Detective - Captain - Cargo @@ -51,15 +51,18 @@ - GenpopEnter - GenpopLeave # Begin DeltaV Additions + - Attorney - Boxer - ChiefJustice - Clerk - Clown - Corpsman - Justice + - JusticeWarden - Library - Mail - Mantis + - Marshal - Mime - Musician - Paramedic @@ -114,6 +117,7 @@ - type: AccessOverrider accessLevels: # Begin DeltaV Additions + - Attorney - Boxer - ChiefJustice - Clerk @@ -122,9 +126,11 @@ - DV-SpareSafe - ERT - Justice + - JusticeWarden - Library - Mail - Mantis + - Marshal - Mime - Musician - Paramedic @@ -143,7 +149,7 @@ - Bar - BasicSilicon - Borg - #- Brig # DeltaV + - Brig - Detective - Captain - Cargo diff --git a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml index a7ded1cc473..b322a3b26f9 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Airlocks/access.yml @@ -402,15 +402,15 @@ containers: board: [ DoorElectronicsDetective ] -#Delta V: Removed Brig Access -#- type: entity -# parent: AirlockSecurity -# id: AirlockBrigLocked -# suffix: Brig, Locked -# components: -# - type: ContainerFill -# containers: -# board: [ DoorElectronicsBrig ] + +- type: entity + parent: AirlockSecurity + id: AirlockBrigLocked + suffix: Brig, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsBrig ] - type: entity parent: AirlockSecurity @@ -818,15 +818,14 @@ containers: board: [ DoorElectronicsDetective ] -#Delta V: Removed Brig Access -#- type: entity -# parent: AirlockSecurityGlass -# id: AirlockBrigGlassLocked -# suffix: Brig, Locked -# components: -# - type: ContainerFill -# containers: -# board: [ DoorElectronicsBrig ] +- type: entity + parent: AirlockSecurityGlass + id: AirlockBrigGlassLocked + suffix: Brig, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsBrig ] - type: entity parent: AirlockSecurityGlass diff --git a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml index 7fbaeb96abc..af437f7a2cc 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/Windoors/windoor.yml @@ -203,15 +203,14 @@ containers: board: [ DoorElectronicsBar ] -#Delta V: Removed Brig Access -#- type: entity -# parent: WindoorSecureSecurityLocked -# id: WindoorSecureBrigLocked -# suffix: Brig, Locked -# components: -# - type: ContainerFill -# containers: -# board: [ DoorElectronicsBrig ] +- type: entity + parent: WindoorSecureSecurityLocked + id: WindoorSecureBrigLocked + suffix: Brig, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsBrig ] - type: entity parent: WindoorSecure diff --git a/Resources/Prototypes/_DV/Access/justice.yml b/Resources/Prototypes/_DV/Access/justice.yml index 820608ecff3..b66b838d92f 100644 --- a/Resources/Prototypes/_DV/Access/justice.yml +++ b/Resources/Prototypes/_DV/Access/justice.yml @@ -11,9 +11,21 @@ name: id-card-access-level-prosecutor - type: accessLevel - id: Clerk + id: Attorney + name: id-card-access-level-justice-attorney + +- type: accessLevel + id: Clerk # TODO - Remove for Justice Rework name: id-card-access-level-clerk +- type: accessLevel + id: JusticeWarden + name: id-card-access-level-justice-warden + +- type: accessLevel + id: Marshal + name: id-card-access-level-marshal + - type: accessGroup id: Justice tags: diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/chiefjustice.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/chiefjustice.yml deleted file mode 100644 index 7c1bf996342..00000000000 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/chiefjustice.yml +++ /dev/null @@ -1,21 +0,0 @@ -- type: entity - parent: LockerChiefJustice - id: LockerChiefJusticeFilled - suffix: Filled - components: - - type: EntityTableContainerFill - containers: - entity_storage: !type:AllSelector - children: - - id: ClothingHeadsetAltJustice - - id: PaperStationWarrant # TODO: Put these in a folder or something - amount: 10 - - id: BoxPDAJustice - - id: BoxEncryptionKeyJustice - - id: ChiefJusticeIDCard - - id: DoorRemoteJustice - - id: Gavel - - id: BoxCJStamps - - id: BoxCJCircuitboards - - id: LunchboxCommandFilledRandom # Delta-V Lunchboxes! - prob: 0.3 diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/clerk.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/clerk.yml deleted file mode 100644 index ecd9379a2f7..00000000000 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/clerk.yml +++ /dev/null @@ -1,18 +0,0 @@ -- type: entity - parent: LockerClerk - id: LockerClerkFilled - suffix: Filled - components: - - type: EntityTableContainerFill - containers: - entity_storage: !type:AllSelector - children: - - id: ClothingOuterClerkVest - - id: PaperStationWarrant - amount: 10 - - id: BoxEncryptionKeyJustice - - id: ClerkIDCard - - id: RubberStampNotary - - id: LunchboxJusticeFilledRandom - - id: RubberStampApproved - - id: RubberStampDenied diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/dressers.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/dressers.yml index 00597bcca4a..29f87316387 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/dressers.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/dressers.yml @@ -10,9 +10,9 @@ - 0,0,8,12 # What kind of dresser is smaller than a duffle bag. Let's fix this. - type: entity + parent: DresserLargeCommand id: DresserCaptainFilledDV suffix: Filled, Captain - parent: DresserLargeCommand components: - type: EntityTableContainerFill containers: @@ -54,8 +54,8 @@ weight: 0.1 - type: entity - id: DresserChiefEngineerFilledDV parent: DresserLargeCommand + id: DresserChiefEngineerFilledDV suffix: Filled, Chief Engineer components: - type: EntityTableContainerFill @@ -83,8 +83,8 @@ - id: ClothingShoesBootsWinterChiefEngineer - type: entity - id: DresserChiefMedicalOfficerFilledDV parent: DresserLargeCommand + id: DresserChiefMedicalOfficerFilledDV suffix: Filled, Chief Medical Officer components: - type: EntityTableContainerFill @@ -124,8 +124,8 @@ - id: ClothingShoesColorWhite - type: entity - id: DresserHeadOfPersonnelFilledDV parent: DresserLargeCommand + id: DresserHeadOfPersonnelFilledDV suffix: Filled, Head Of Personnel components: - type: EntityTableContainerFill @@ -164,8 +164,8 @@ - id: CigarGoldCase - type: entity - id: DresserHeadOfSecurityFilledDV parent: DresserLargeCommand + id: DresserHeadOfSecurityFilledDV suffix: Filled, Head Of Security components: - type: EntityTableContainerFill @@ -204,8 +204,8 @@ - id: CigarGoldCase - type: entity - id: DresserQuarterMasterFilledDV parent: DresserLargeCommand + id: DresserQuarterMasterFilledDV suffix: Filled, Logistics Officer components: - type: EntityTableContainerFill @@ -232,8 +232,8 @@ - id: ClothingShoesBootsWinterLogisticsOfficer - type: entity - id: DresserResearchDirectorFilledDV parent: DresserLargeCommand + id: DresserResearchDirectorFilledDV suffix: Filled, Mystagogue components: - type: EntityTableContainerFill @@ -263,8 +263,8 @@ - id: ClothingShoesBootsWinterMystagogue - type: entity - id: DresserChiefJusticeFilled parent: DresserLargeCommand + id: DresserChiefJusticeFilled suffix: Filled, Chief Justice components: - type: EntityTableContainerFill @@ -288,9 +288,9 @@ - id: BookSpaceLaw - type: entity - id: DresserWardenFilledDV parent: DresserLargeCommand - suffix: Filled, Warden + id: DresserWardenFilledDV + suffix: Filled, Armorer components: - type: EntityTableContainerFill containers: @@ -320,11 +320,31 @@ - id: Binoculars - id: NetworkConfigurator +- type: entity + parent: DresserLargeCommand + id: DresserJusticeWardenFilledDV + suffix: Filled, Justice Warden + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + # Jumpsuits + # Hats + # Eyes + - id: ClothingEyesGlassesSunglasses + # Outerwear + # Shoes + - id: ClothingShoesBootsWinterSec + - id: ClothingShoesBootsJack + # Extras + - id: BookSpaceLaw + #CentComm - type: entity + parent: DresserLargeCommand id: DresserCentCommFilledDV suffix: Filled, CentComm - parent: DresserLargeCommand components: - type: StorageFill contents: diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml index 790bdd896c3..e5420c63f95 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/heads.yml @@ -86,3 +86,31 @@ - id: PersonalAILearnerSecurity #imp - id: LunchboxCommandFilledRandom prob: 0.3 + +- type: entityTable + id: LockerFillChiefJustice + table: !type:AllSelector + children: + - id: ClothingHeadsetAltJustice + - id: BoxFolderStationWarrant + - id: BoxPDAJustice + - id: BoxEncryptionKeyJustice + - id: ChiefJusticeIDCard + - id: DoorRemoteJustice + - id: Gavel + - id: BoxCJStamps + - id: BoxCJCircuitboards + - id: LunchboxCommandFilledRandom + prob: 0.3 + +- type: entity + parent: LockerChiefJustice + id: LockerChiefJusticeFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - !type:NestedSelector + tableId: LockerFillChiefJustice diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/justice.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/justice.yml new file mode 100644 index 00000000000..a5a9ec10811 --- /dev/null +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/justice.yml @@ -0,0 +1,160 @@ +# Clerk +- type: entity + parent: LockerClerk + id: LockerClerkFilled # TODO - Remove for Justice Rework + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - !type:NestedSelector + tableId: LockerFillClerk + +- type: entityTable + id: LockerFillClerk + table: !type:AllSelector + children: + - id: ClothingOuterClerkVest + - id: BoxFolderStationWarrant + - id: BoxEncryptionKeyJustice + - id: ClerkIDCard + - id: RubberStampNotary + - id: RubberStampApproved + - id: RubberStampDenied + - id: LunchboxJusticeFilledRandom + prob: 0.3 + +# Prosecutor +- type: entity + parent: LockerProsecutor + id: LockerProsecutorFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - !type:NestedSelector + tableId: LockerFillProsector + +- type: entityTable + id: LockerFillProsector + table: !type:AllSelector + children: + - id: BoxEncryptionKeyJustice + - id: ProsecutorIDCard + - id: RubberStampApproved + - id: RubberStampDenied + - id: BookSpaceLaw + - id: BriefcaseBrown + - id: LunchboxJusticeFilledRandom + prob: 0.3 + +# Attorney +- type: entity + parent: LockerAttorney + id: LockerAttorneyFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - !type:NestedSelector + tableId: LockerFillAttorney + +- type: entityTable + id: LockerFillAttorney + table: !type:AllSelector + children: + - id: AttorneyIDCard + - id: RubberStampApproved + - id: RubberStampDenied + - id: BookSpaceLaw + - id: BriefcaseBrown + - id: LunchboxJusticeFilledRandom + prob: 0.3 + +# Marshal +- type: entity + parent: LockerMarshal + id: LockerMarshalFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - !type:NestedSelector + tableId: LockerFillMarshal + +- type: entityTable + id: LockerFillMarshal + table: !type:AllSelector + children: + - id: ClothingOuterClerkVest + - id: PaperStationWarrant + amount: 3 + - id: RubberStampApproved + - id: RubberStampDenied + - id: FlashlightSeclite + - id: WeaponDisabler + - id: WeaponTaser + - id: ClothingBeltSecurityFilled + - id: BookSpaceLaw + - id: ClothingOuterArmorBasicSlim + - id: TicketPad + - id: LunchboxJusticeFilledRandom + prob: 0.3 + +# JusticeWarden +- type: entity + parent: LockerJusticeWarden + id: LockerJusticeWardenFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - !type:NestedSelector + tableId: LockerFillJusticeWarden + +- type: entityTable + id: LockerFillJusticeWarden + table: !type:AllSelector + children: + - id: ClothingHeadsetAltJustice + - id: RubberStampJusticeWarden + - id: RubberStampApproved + - id: RubberStampDenied + - id: DoorRemoteJustice + - id: BookSpaceLaw + - id: ClothingBeltSecurityFilled + - id: ClothingBackpackElectropack + amount: 2 + - id: ClothingNeckShockCollar + amount: 2 + - id: RemoteSignaller + amount: 2 + - id: ClothingOuterStraightjacket + - id: TearGasGrenade + amount: 2 + - id: NetworkConfigurator + - id: Binoculars + - id: BoxPDAPrisoner + - id: BoxEncryptionKeyPrisoner + - id: LunchboxJusticeFilledRandom + prob: 0.3 + +# JusticeDetective +- type: entity + parent: LockerJusticeDetective + id: LockerJusticeDetectiveFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:NestedSelector + tableId: FillLockerDetective diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml index f0f529a0935..3302f18693f 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/security.yml @@ -152,9 +152,9 @@ tableId: AdvancedLaserTable - type: entity + parent: LockerBrigmedic id: LockerBrigmedicFilledHardsuit suffix: Corpsman, Filled, Hardsuit - parent: LockerBrigmedic components: - type: EntityTableContainerFill containers: @@ -240,3 +240,58 @@ prob: 0.3 - id: DVBoxEvidenceBags amount: 2 + +# Armorer Lockers - copy of old warden. New warden is in justice.yml +- type: entity + parent: LockerArmorer + id: LockerArmorerFilledHardsuit + suffix: Filled, Hardsuit + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:AllSelector + children: + - !type:NestedSelector + tableId: FillLockerArmorer + - !type:NestedSelector + tableId: FillLockerArmorerHardsuit + +- type: entity + parent: LockerArmorer + id: LockerArmorerFilled + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:NestedSelector + tableId: FillLockerArmorer + +- type: entityTable + id: FillLockerArmorerHardsuit + table: !type:AllSelector + children: + - id: ClothingOuterHardsuitCombatArmorer + - id: ClothingShoesBootsSecurityMagboots + - id: OxygenTankFilled + - id: NitrogenTankFilled + - id: ClothingMaskBreath + +- type: entityTable + id: FillLockerArmorer + table: !type:AllSelector + children: + - id: FlashlightSeclite + - id: WeaponDisabler + - id: WeaponTaser + - id: ClothingBeltSecurityFilled + - id: Flash + - id: ClothingEyesGlassesSecurity + - id: ClothingHandsGlovesCombat + - id: RubberStampArmorer + - id: DoorRemoteArmory + - id: HoloprojectorSecurity + - id: WeaponEnergyShotgun + - id: LunchboxSecurityFilledRandom + prob: 0.3 + - id: ClothingOuterVestPlateCarrierAdv + - id: ClothingHeadsetAltSecurity diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/suit_storage.yml b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/suit_storage.yml index f6747700542..507393cbea8 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Lockers/suit_storage.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Lockers/suit_storage.yml @@ -26,6 +26,17 @@ entity_storage: !type:NestedSelector tableId: FillSuitStorageSecurityDV +# Armorer hardsuit +- type: entity + parent: SuitStorageSec + id: SuitStorageArmorer + suffix: Armorer, DeltaV + components: + - type: EntityTableContainerFill + containers: + entity_storage: !type:NestedSelector + tableId: FillLockerArmorerHardsuit + #Paramedic hardsuit - type: entityTable id: ParamedicSuitStorageFill @@ -49,8 +60,8 @@ access: [["Paramedic"]] - type: entity - id: SuitStorageCorpsman parent: SuitStorageBase + id: SuitStorageCorpsman suffix: Corpsman components: - type: EntityTableContainerFill diff --git a/Resources/Prototypes/_DV/Entities/Clothing/Head/hardsuit-helmets.yml b/Resources/Prototypes/_DV/Entities/Clothing/Head/hardsuit-helmets.yml index cc457db347e..b6b71fa964f 100644 --- a/Resources/Prototypes/_DV/Entities/Clothing/Head/hardsuit-helmets.yml +++ b/Resources/Prototypes/_DV/Entities/Clothing/Head/hardsuit-helmets.yml @@ -103,6 +103,11 @@ - type: PointLight color: "#edecf7" +- type: entity + parent: ClothingHeadHelmetHardsuitCombatWarden + id: ClothingHeadHelmetHardsuitCombatArmorer + name: armorer's riot combat hardsuit helmet + # Advanced Combat Hardsuits - type: entity parent: [ ClothingHeadHardsuitBase, ClothingHeadSuitWithLightBase ] diff --git a/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/hardsuits.yml b/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/hardsuits.yml index a96b9218134..7add1c872a7 100644 --- a/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/hardsuits.yml +++ b/Resources/Prototypes/_DV/Entities/Clothing/OuterClothing/hardsuits.yml @@ -147,6 +147,12 @@ - type: ToggleableClothing clothingPrototype: ClothingHeadHelmetHardsuitCombatWarden +- type: entity + parent: ClothingOuterHardsuitCombatWarden + id: ClothingOuterHardsuitCombatArmorer + name: armorer's riot combat hardsuit + description: A purpose-built combat suit designed for crowd control against armed combatants in low pressure environments. This one has station security and armorer's rank markings. + # Advanced Combat Hardsuits - type: entity parent: ClothingOuterHardsuitCombatStandard diff --git a/Resources/Prototypes/_DV/Entities/Markers/Spawners/jobs.yml b/Resources/Prototypes/_DV/Entities/Markers/Spawners/jobs.yml index 948705ed82c..455a5aaa957 100644 --- a/Resources/Prototypes/_DV/Entities/Markers/Spawners/jobs.yml +++ b/Resources/Prototypes/_DV/Entities/Markers/Spawners/jobs.yml @@ -78,7 +78,7 @@ - type: entity parent: SpawnPointJobBase - id: SpawnPointClerk + id: SpawnPointClerk # TODO - Remove for Justice Rework name: clerk components: - type: SpawnPoint @@ -102,6 +102,57 @@ - sprite: *job-rsi-dv state: prosecutor +- type: entity + parent: SpawnPointJobBase + id: SpawnPointAttorney + name: attorney + components: + - type: SpawnPoint + job_id: Attorney + - type: Sprite + layers: + - state: green + - state: lawyer + +- type: entity + parent: SpawnPointJobBase + id: SpawnPointJusticeWarden + name: warden + suffix: Justice + components: + - type: SpawnPoint + job_id: JusticeWarden + - type: Sprite + layers: + - state: green + - sprite: *job-rsi-dv + state: prisonguard + +- type: entity + parent: SpawnPointJobBase + id: SpawnPointMarshal + name: marshal + components: + - type: SpawnPoint + job_id: Clerk + - type: Sprite + layers: + - state: green + - sprite: *job-rsi-dv + state: clerk + +- type: entity + parent: SpawnPointJobBase + id: SpawnPointArmorer + name: armorer + components: + - type: SpawnPoint + job_id: Armorer + - type: Sprite + layers: + - state: green + - state: warden + - type: entity parent: SpawnPointJobBase id: SpawnPointCourier diff --git a/Resources/Prototypes/_DV/Entities/Markers/warp_point.yml b/Resources/Prototypes/_DV/Entities/Markers/warp_point.yml index a82b1a458e6..c2021e86ec1 100644 --- a/Resources/Prototypes/_DV/Entities/Markers/warp_point.yml +++ b/Resources/Prototypes/_DV/Entities/Markers/warp_point.yml @@ -1,6 +1,6 @@ - type: entity - id: WarpPointNoBomb parent: WarpPoint + id: WarpPointNoBomb suffix: No Bomb Target components: - type: Tag @@ -106,6 +106,14 @@ - type: WarpPoint location: Security Checkpoint +- type: entity + id: WarpPointArmorer + parent: WarpPoint + suffix: Armorer + components: + - type: WarpPoint + location: Armorer + # Justice - type: entity id: WarpPointCourt @@ -131,10 +139,26 @@ - type: WarpPoint location: Attorney +- type: entity + id: WarpPointJusticeWarden + parent: WarpPoint + suffix: JusticeWarden + components: + - type: WarpPoint + location: Warden + +- type: entity + id: WarpPointMarshal + parent: WarpPoint + suffix: Marshal + components: + - type: WarpPoint + location: Marshal + #Medical - type: entity - id: WarpPointMedical parent: WarpPointNoBomb + id: WarpPointMedical suffix: Medical components: - type: WarpPoint @@ -158,56 +182,56 @@ #Epistemics - type: entity - id: WarpPointEpistemics parent: WarpPointNoBomb + id: WarpPointEpistemics suffix: Epistemics components: - type: WarpPoint location: Epistemics - type: entity - id: WarpPointXenoarchaeologyLab parent: WarpPointNoBomb + id: WarpPointXenoarchaeologyLab suffix: Xenoarchaeology Lab components: - type: WarpPoint location: Xenoarchaeology Lab - type: entity - id: WarpPointAnomalyLab parent: WarpPointNoBomb + id: WarpPointAnomalyLab suffix: Anomaly Lab components: - type: WarpPoint location: Anomaly Lab - type: entity - id: WarpPointChapel parent: WarpPoint + id: WarpPointChapel suffix: Chapel components: - type: WarpPoint location: Chapel - type: entity - id: WarpPointLibrary parent: WarpPoint + id: WarpPointLibrary suffix: Library components: - type: WarpPoint location: Library - type: entity - id: WarpPointRobotics parent: WarpPoint + id: WarpPointRobotics suffix: Robotics components: - type: WarpPoint location: Robotics - type: entity - id: WarpPointMantis parent: WarpPoint + id: WarpPointMantis suffix: Psionic Mantis components: - type: WarpPoint @@ -215,32 +239,32 @@ #Logistics - type: entity - id: WarpPointLogistics parent: WarpPoint + id: WarpPointLogistics suffix: Logistics components: - type: WarpPoint location: Logistics - type: entity - id: WarpPointMail parent: WarpPoint + id: WarpPointMail suffix: Mail components: - type: WarpPoint location: Mail - type: entity - id: WarpPointSalvage parent: WarpPoint + id: WarpPointSalvage suffix: Salvage components: - type: WarpPoint location: Salvage - type: entity - id: WarpPointSalvageDock parent: WarpPointNoBomb + id: WarpPointSalvageDock suffix: Salvage Dock components: - type: WarpPoint @@ -248,40 +272,40 @@ #Engineering - type: entity - id: WarpPointEngineering parent: WarpPoint + id: WarpPointEngineering suffix: Engineering components: - type: WarpPoint location: Engineering - type: entity - id: WarpPointSingulo parent: WarpPoint + id: WarpPointSingulo suffix: Singularity components: - type: WarpPoint location: Singularity - type: entity - id: WarpPointAtmos parent: WarpPoint + id: WarpPointAtmos suffix: Atmos components: - type: WarpPoint location: Atmos - type: entity - id: WarpPointAME parent: WarpPoint + id: WarpPointAME suffix: AME components: - type: WarpPoint location: AME - type: entity - id: WarpPointTEG parent: WarpPoint + id: WarpPointTEG suffix: TEG components: - type: WarpPoint @@ -289,56 +313,56 @@ #Service - type: entity - id: WarpPointHOP parent: WarpPoint + id: WarpPointHOP suffix: HoP components: - type: WarpPoint location: HoP - type: entity - id: WarpPointKitchen parent: WarpPoint + id: WarpPointKitchen suffix: Kitchen components: - type: WarpPoint location: Kitchen - type: entity - id: WarpPointBar parent: WarpPoint + id: WarpPointBar suffix: Bar components: - type: WarpPoint location: Bar - type: entity - id: WarpPointBotany parent: WarpPoint + id: WarpPointBotany suffix: Botany components: - type: WarpPoint location: Botany - type: entity - id: WarpPointJanitor parent: WarpPoint + id: WarpPointJanitor suffix: Janitor components: - type: WarpPoint location: Janitor - type: entity - id: WarpPointReporter parent: WarpPoint + id: WarpPointReporter suffix: Reporter components: - type: WarpPoint location: Reporter - type: entity - id: WarpPointBoxing parent: WarpPoint + id: WarpPointBoxing suffix: Boxing Ring components: - type: WarpPoint @@ -346,64 +370,64 @@ #Misc - type: entity - id: WarpPointAI parent: WarpPoint + id: WarpPointAI suffix: AI components: - type: WarpPoint location: AI - type: entity - id: WarpPointArrivals parent: WarpPointNoBomb + id: WarpPointArrivals suffix: Arrivals components: - type: WarpPoint location: Arrivals - type: entity - id: WarpPointEvac parent: WarpPointNoBomb + id: WarpPointEvac suffix: Evac components: - type: WarpPoint location: Evac - type: entity - id: WarpPointCryo parent: WarpPointNoBomb + id: WarpPointCryo suffix: Cryo components: - type: WarpPoint location: Cryo - type: entity - id: WarpPointDorms parent: WarpPoint + id: WarpPointDorms suffix: Dorms components: - type: WarpPoint location: Dorms - type: entity - id: WarpPointDisposals parent: WarpPoint + id: WarpPointDisposals suffix: Disposals components: - type: WarpPoint location: Disposals - type: entity - id: WarpPointPark parent: WarpPoint + id: WarpPointPark suffix: Park components: - type: WarpPoint location: Park - type: entity - id: WarpPointArcade parent: WarpPoint + id: WarpPointArcade suffix: Arcade components: - type: WarpPoint diff --git a/Resources/Prototypes/_DV/Entities/Objects/Devices/Electronics/door_access.yml b/Resources/Prototypes/_DV/Entities/Objects/Devices/Electronics/door_access.yml index 2cecaf5db81..6ce88e2419a 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Devices/Electronics/door_access.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Devices/Electronics/door_access.yml @@ -144,12 +144,36 @@ - type: entity parent: DoorElectronics - id: DoorElectronicsClerk + id: DoorElectronicsAttorney + suffix: Attorney, Locked + components: + - type: AccessReader + access: [["Attorney"]] + +- type: entity + parent: DoorElectronics + id: DoorElectronicsClerk # TODO - Remove for Justice Rework suffix: Clerk, Locked components: - type: AccessReader access: [["Clerk"]] +- type: entity + parent: DoorElectronics + id: DoorElectronicsJusticeWarden + suffix: Justice Warden, Locked + components: + - type: AccessReader + access: [["JusticeWarden"]] + +- type: entity + parent: DoorElectronics + id: DoorElectronicsMarshal + suffix: Marshal, Locked + components: + - type: AccessReader + access: [["Marshal"]] + - type: entity parent: DoorElectronics id: DoorElectronicsRobotics diff --git a/Resources/Prototypes/_DV/Entities/Objects/Devices/pda.yml b/Resources/Prototypes/_DV/Entities/Objects/Devices/pda.yml index e0459ffd5e9..6779a265187 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Devices/pda.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Devices/pda.yml @@ -79,7 +79,7 @@ - type: entity parent: BaseSecurityPDA - id: PrisonGuardPDA + id: PrisonGuardPDA # TODO - Remove for Justice Rework name: prison guard PDA description: Red to hide the stains of prisoner blood. components: @@ -95,6 +95,15 @@ - type: Icon state: pda-prisonguard +- type: entity + parent: WardenPDA + id: ArmorerPDA + name: armorer PDA + description: A top-of-the-line, brand-new PDA. Works exactly the same as all the others, just loads a little faster. + components: + - type: Pda + id: ArmorerIDCard + # Justice - type: entity @@ -143,7 +152,7 @@ - type: entity parent: BaseJusticePDA - id: ClerkPDA + id: ClerkPDA # TODO - Remove for Justice Rework name: clerk PDA description: It has the stamp to prove it's been officially notarized! components: @@ -179,6 +188,74 @@ - type: Pager autoLinkJobs: [Prosecutor] +- type: entity + parent: BaseJusticePDA + id: AttorneyPDA + name: attorney PDA + description: For attorney to poach dubious clients. + components: + - type: Pda + id: AttorneyIDCard + - type: Appearance + appearanceDataInit: + enum.PdaVisuals.PdaType: + !type:String + pda-lawyer + - type: PdaBorderColor + borderColor: "#6f6192" + - type: Icon + state: pda-lawyer + - type: CartridgeLoader + preinstalled: + - CrewManifestCartridge + - NotekeeperCartridge + - NanoTaskCartridge + - NewsReaderCartridge + - NanoChatCartridge + - CrimeAssistCartridge + - LogProbeCartridge + - type: Pager + autoLinkJobs: [Attorney] + +- type: entity + parent: BaseJusticePDA + id: JusticeWardenPDA + name: warden PDA + description: Covered in cracks and dents. Has seen more than its fair share of abuse. + components: + - type: Pda + id: JusticeWardenIDCard + - type: Appearance + appearanceDataInit: + enum.PdaVisuals.PdaType: !type:String + pda-prisonguard + - type: PdaBorderColor + borderColor: "#A32D26" + accentVColor: "#DFDFDF" + - type: Icon + state: pda-prisonguard + - type: Pager + autoLinkJobs: [JusticeWarden] + +- type: entity + parent: BaseJusticePDA + id: MarshalPDA + name: marshal PDA + description: Comes with a copy of SOP pre-installed, but it's already out of date. + components: + - type: Pda + id: MarshalIDCard + - type: Appearance + appearanceDataInit: + enum.PdaVisuals.PdaType: !type:String + pda-clerk + - type: PdaBorderColor + borderColor: "#611528" + - type: Icon + state: pda-clerk + - type: Pager + autoLinkJobs: [Marshal] + # Misc - type: entity diff --git a/Resources/Prototypes/_DV/Entities/Objects/Devices/station_beacon.yml b/Resources/Prototypes/_DV/Entities/Objects/Devices/station_beacon.yml index f16c018fd50..79056c875ab 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Devices/station_beacon.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Devices/station_beacon.yml @@ -292,7 +292,7 @@ - type: entity parent: DefaultStationBeaconJustice - id: DefaultStationBeaconClerk + id: DefaultStationBeaconClerk # TODO - Remove for Justice Rework suffix: Clerk components: - type: NavMapBeacon @@ -305,3 +305,35 @@ components: - type: NavMapBeacon defaultText: station-beacon-attorney + +- type: entity + parent: DefaultStationBeaconSecurity + id: DefaultStationBeaconArmorer + suffix: Armorer + components: + - type: NavMapBeacon + defaultText: station-beacon-armorer + +- type: entity + parent: DefaultStationBeaconJustice + id: DefaultStationBeaconJusticeWarden + suffix: Justice Warden + components: + - type: NavMapBeacon + defaultText: station-beacon-warden + +- type: entity + parent: DefaultStationBeaconJustice + id: DefaultStationBeaconMarshal + suffix: Marshal + components: + - type: NavMapBeacon + defaultText: station-beacon-marshal + +- type: entity + parent: DefaultStationBeaconJustice + id: DefaultStationBeaconJusticeArmory + suffix: Justice Armory + components: + - type: NavMapBeacon + defaultText: station-beacon-justice-armory diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/bedsheets.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/bedsheets.yml index db586fcec78..0c12ba3b107 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Misc/bedsheets.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/bedsheets.yml @@ -10,14 +10,39 @@ - type: Clothing sprite: Clothing/Neck/Bedsheets/grey.rsi +- type: entity + parent: BedsheetWarden + id: BedsheetArmorer + name: armorer's bedsheet + - type: entity parent: BedsheetBase id: BedsheetDetective name: detective's bedsheet description: A soft, slate-coloured quilt, adorned with pale plum trim. Rumpled and a little stained. components: - - type: Sprite + - type: Sprite # TODO: Resprite sprite: _DV/Objects/Misc/bedsheets.rsi state: sheetdet - type: Clothing sprite: Clothing/Neck/Bedsheets/grey.rsi + +- type: entity + parent: BedsheetBase + id: BedsheetChiefJustice + name: chief justice's bedsheet + components: + - type: Sprite # TODO: Resprite + state: random_bedsheet + - type: Clothing + sprite: Clothing/Neck/Bedsheets/grey.rsi + +- type: entity + parent: BedsheetBase + id: BedsheetJusticeWarden + name: warden's bedsheet + components: + - type: Sprite # TODO: Resprite + state: random_bedsheet + - type: Clothing + sprite: Clothing/Neck/Bedsheets/grey.rsi diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/folders.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/folders.yml new file mode 100644 index 00000000000..19073364b66 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/folders.yml @@ -0,0 +1,11 @@ +- type: entity + parent: BoxFolderBlackEmpty + id: BoxFolderStationWarrant + name: paper warrant folder + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:AllSelector + children: + - id: PaperStationWarrant + amount: 10 diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/identification_cards.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/identification_cards.yml index aa5fcf8a815..60079efca19 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Misc/identification_cards.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/identification_cards.yml @@ -85,6 +85,24 @@ - type: PresetIdCard job: RoleK9Officer +- type: entity + parent: IDCardStandard + id: ArmorerIDCard + name: armorer ID card + components: + - type: Sprite + layers: + - state: default + - state: stripe_top + color: *color-security-top + - state: stripe_bottom + color: *color-security-bottom + - sprite: *icon-rsi-dv + offset: *icon-offset + state: Warden + - type: PresetIdCard + job: Armorer + # MARK: Cargo / Logistics - type: entity @@ -186,7 +204,7 @@ - type: entity parent: IDCardStandard - id: ClerkIDCard + id: ClerkIDCard # TODO - Remove for Justice Rework name: clerk ID card components: - type: Sprite @@ -220,6 +238,60 @@ - type: PresetIdCard job: Prosecutor +- type: entity + parent: IDCardStandard + id: AttorneyIDCard + name: attorney ID card + components: + - type: Sprite + layers: + - state: default + - state: stripe_top + color: *color-justice-top + - state: stripe_bottom + color: *color-justice-bottom + - sprite: *icon-rsi-dv + offset: *icon-offset + state: Lawyer + - type: PresetIdCard + job: Attorney + +- type: entity + parent: IDCardStandard + id: JusticeWardenIDCard + name: warden ID card + components: + - type: Sprite + layers: + - state: default + - state: stripe_top + color: *color-justice-top + - state: stripe_bottom + color: *color-justice-bottom + - sprite: *icon-rsi-dv + offset: *icon-offset + state: PrisonGuard + - type: PresetIdCard + job: JusticeWarden + +- type: entity + parent: IDCardStandard + id: MarshalIDCard + name: marshal ID card + components: + - type: Sprite + layers: + - state: default + - state: stripe_top + color: *color-justice-top + - state: stripe_bottom + color: *color-justice-bottom + - sprite: *icon-rsi-dv + offset: *icon-offset + state: Clerk + - type: PresetIdCard + job: Marshal + # MARK: Service - type: entity diff --git a/Resources/Prototypes/_DV/Entities/Objects/Misc/rubber_stamp.yml b/Resources/Prototypes/_DV/Entities/Objects/Misc/rubber_stamp.yml index c8c27b5701f..fc9264e4f30 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Misc/rubber_stamp.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Misc/rubber_stamp.yml @@ -1,7 +1,7 @@ - type: entity - name: notary stamp parent: RubberStampBase id: RubberStampNotary + name: notary stamp suffix: DO NOT MAP description: An old-fashioned seal for marking important documents, made of polished bronze. components: @@ -16,9 +16,9 @@ stealGroup: RubberStampNotary - type: entity - name: chief justice stamp parent: RubberStampBase id: RubberStampChiefJustice + name: chief justice stamp suffix: DO NOT MAP components: - type: Stamp @@ -30,9 +30,9 @@ state: stamp-cj - type: entity - name: prosecutor's rubber stamp parent: RubberStampBase id: RubberStampProsec + name: prosecutor's rubber stamp suffix: DO NOT MAP description: A rubber stamp for stamping important documents. A more legal way to annoy Security. components: @@ -44,6 +44,53 @@ sprite: _DV/Objects/Misc/stamps.rsi state: stamp-prosec +- type: entity + parent: RubberStampBase + id: RubberStampAttorney + name: attorney's rubber stamp + categories: [ DoNotMap ] + suffix: DO NOT MAP + description: A rubber stamp for stamping important documents. A more legal way to annoy Security. + components: + - type: Stamp + stampedName: stamp-component-stamped-name-attorney + stampedColor: "#233D57" + stampState: "paper_stamp-lawyer" + - type: Sprite + state: stamp-lawyer + +- type: entity + parent: [ RubberStampBase, BaseSecurityContraband ] + id: RubberStampJusticeWarden + name: warden's rubber stamp + categories: [ DoNotMap ] + suffix: DO NOT MAP + description: With a simple press of ink to paper, a life is sealed behind bars. Maybe not forever. + components: + - type: Stamp + stampedName: stamp-component-stamped-name-warden + stampedColor: "#0000af" + stampState: "paper_stamp-warden" + - type: Sprite + sprite: _DV/Objects/Misc/stamps.rsi + state: stamp-warden + +- type: entity + parent: [ RubberStampBase, BaseSecurityContraband ] + id: RubberStampArmorer + name: armorer's rubber stamp + categories: [ DoNotMap ] + suffix: DO NOT MAP + description: A rubber stamp for stamping important documents. Or weapons licenses for passengers. + components: + - type: Stamp + stampedName: stamp-component-stamped-name-armorer + stampedColor: "#5b0000" + stampState: "paper_stamp-armorer" + - type: Sprite + sprite: _DV/Objects/Misc/stamps.rsi + state: stamp-warden + - type: entity parent: RubberStampBase id: RubberStampHatePaperwork @@ -67,9 +114,9 @@ color: orange - type: entity - name: IA rubber stamp - parent: RubberStampBase id: RubberStampNTAgent + parent: RubberStampBase + name: IA rubber stamp suffix: DO NOT MAP description: A rubber stamp for stamping important documents. For internal related affairs. components: @@ -81,9 +128,9 @@ state: stamp-cap - type: entity - name: chemist's rubber stamp parent: RubberStampBase id: RubberStampChemist + name: chemist's rubber stamp suffix: DO NOT MAP components: - type: Stamp diff --git a/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml b/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml index 7d4ed161d2f..39a50d8bf57 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Doors/Airlocks/access.yml @@ -41,7 +41,7 @@ - type: GridFill path: /Maps/_DV/Shuttles/Misc/glacier_surface_shuttle.yml -# Delta V specific roles +# DeltaV specific roles - type: entity parent: AirlockScience id: AirlockMantisLocked @@ -51,6 +51,7 @@ containers: board: [ DoorElectronicsMantis ] +# Justice - type: entity parent: AirlockCommand id: AirlockChiefJusticeLocked @@ -107,7 +108,43 @@ - type: entity parent: AirlockJustice - id: AirlockClerkLocked + id: AirlockAttorneyLocked + suffix: Attorney, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsAttorney ] + +- type: entity + parent: AirlockJusticeGlass + id: AirlockAttorneyGlassLocked + suffix: Attorney, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsAttorney ] + +- type: entity + parent: AirlockJustice + id: AirlockJusticeDetectiveLocked + suffix: Detective, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsDetective ] + +- type: entity + parent: AirlockJusticeGlass + id: AirlockJusticeDetectiveGlassLocked + suffix: Detective, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsDetective ] + +- type: entity + parent: AirlockJustice + id: AirlockClerkLocked # TODO - Remove for Justice Rework suffix: Clerk, Locked components: - type: ContainerFill @@ -116,13 +153,49 @@ - type: entity parent: AirlockJusticeGlass - id: AirlockClerkGlassLocked + id: AirlockClerkGlassLocked # TODO - Remove for Justice Rework suffix: Clerk, Locked components: - type: ContainerFill containers: board: [ DoorElectronicsClerk ] +- type: entity + parent: AirlockJustice + id: AirlockJusticeWardenLocked + suffix: Justice Warden, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsJusticeWarden ] + +- type: entity + parent: AirlockJusticeGlass + id: AirlockJusticeWardenGlassLocked + suffix: Justice Warden, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsJusticeWarden ] + +- type: entity + parent: AirlockJustice + id: AirlockMarshalLocked + suffix: Marshal, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMarshal ] + +- type: entity + parent: AirlockJusticeGlass + id: AirlockMarshalGlassLocked + suffix: Marshal, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMarshal ] + # Maintenance - type: entity parent: AirlockMaintCommandLocked @@ -155,13 +228,49 @@ - type: entity parent: AirlockMaintJusticeLocked - id: AirlockMaintClerkLocked + id: AirlockMaintAttorneyLocked + suffix: Attorney, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsAttorney ] + +- type: entity + parent: AirlockMaintJusticeLocked + id: AirlockMaintJusticeDetectiveLocked + suffix: Detective, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsDetective ] + +- type: entity + parent: AirlockMaintJusticeLocked + id: AirlockMaintClerkLocked # TODO - Remove for Justice Rework suffix: Clerk, Locked components: - type: ContainerFill containers: board: [ DoorElectronicsClerk ] +- type: entity + parent: AirlockMaintJusticeLocked + id: AirlockMaintJusticeWardenLocked + suffix: Justice Warden, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsJusticeWarden ] + +- type: entity + parent: AirlockMaintJusticeLocked + id: AirlockMaintMarshalLocked + suffix: Marshal, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMarshal ] + - type: entity parent: AirlockSecurity id: AirlockCorpsmanLocked @@ -569,7 +678,7 @@ - type: entity parent: AirlockMaintSecLocked id: AirlockMaintSecurityLawyerLocked - suffix: Security/Lawyer, Locked + suffix: Security/Justice, Locked components: - type: ContainerFill containers: @@ -622,6 +731,24 @@ containers: board: [ DoorElectronicsEngineering ] +- type: entity + parent: HighSecDoor + id: HighSecJusticeLocked + suffix: Justice, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsJustice ] + +- type: entity + parent: HighSecDoor + id: HighSecChiefJusticeLocked + suffix: Chief Justice, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsChiefJustice ] + #Syndicate high security door - type: entity parent: HighSecDoor diff --git a/Resources/Prototypes/_DV/Entities/Structures/Doors/Windoors/windoor.yml b/Resources/Prototypes/_DV/Entities/Structures/Doors/Windoors/windoor.yml index b97afca22b3..80cb38aa793 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Doors/Windoors/windoor.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Doors/Windoors/windoor.yml @@ -54,6 +54,15 @@ containers: board: [ DoorElectronicsChiefJustice ] +- type: entity + parent: WindoorJusticeLocked + id: WindoorProsecutorLocked + suffix: Prosecutor, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsProsecutor ] + - type: entity parent: WindoorSecureJusticeLocked id: WindoorSecureProsecutorLocked @@ -63,9 +72,27 @@ containers: board: [ DoorElectronicsProsecutor ] +- type: entity + parent: WindoorJusticeLocked + id: WindoorAttorneyLocked + suffix: Attorney, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsAttorney ] + - type: entity parent: WindoorSecureJusticeLocked - id: WindoorSecureClerkLocked + id: WindoorSecureAttorneyLocked + suffix: Attorney, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsAttorney ] + +- type: entity + parent: WindoorSecureJusticeLocked + id: WindoorSecureClerkLocked # TODO - Remove for Justice Rework suffix: Clerk, Locked components: - type: ContainerFill @@ -74,13 +101,58 @@ - type: entity parent: WindoorSecureJusticeLocked - id: WindoorSecureLawyerLocked + id: WindoorSecureLawyerLocked # TODO - Remove for Justice Rework suffix: Lawyer, Locked components: - type: ContainerFill containers: board: [ DoorElectronicsLawyer ] +- type: entity + parent: WindoorJusticeLocked + id: WindoorJusticeWardenLocked + suffix: Justice Warden, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsJusticeWarden ] + +- type: entity + parent: WindoorSecureJusticeLocked + id: WindoorSecureJusticeWardenLocked + suffix: Justice Warden, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsJusticeWarden ] + +- type: entity + parent: WindoorJusticeLocked + id: WindoorMarshalLocked + suffix: Marshal, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMarshal ] + +- type: entity + parent: WindoorSecureJusticeLocked + id: WindoorSecureMarshalLocked + suffix: Marshal, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsMarshal ] + +- type: entity + parent: Windoor + id: WindoorArmoryLocked + suffix: Armory, Locked + components: + - type: ContainerFill + containers: + board: [ DoorElectronicsArmory ] + - type: entity parent: WindoorSecureScienceLocked id: WindoorSecureMantisLocked diff --git a/Resources/Prototypes/_DV/Entities/Structures/Doors/turnstile.yml b/Resources/Prototypes/_DV/Entities/Structures/Doors/turnstile.yml new file mode 100644 index 00000000000..63a27140bad --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Structures/Doors/turnstile.yml @@ -0,0 +1,15 @@ +- type: entity + parent: Turnstile + id: TurnstileGenpopBrigEnter + suffix: Genpop/Brig Enter + components: + - type: AccessReader + access: [["GenpopEnter"], ["Brig"]] + +- type: entity + parent: Turnstile + id: TurnstileGenpopBrigLeave + suffix: Genpop/Brig Leave + components: + - type: AccessReader + access: [["GenpopLeave"], ["Brig"]] diff --git a/Resources/Prototypes/_DV/Entities/Structures/Machines/faxmachines.yml b/Resources/Prototypes/_DV/Entities/Structures/Machines/faxmachines.yml index 1d53d6fe0ef..c1c5c3b8e73 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Machines/faxmachines.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Machines/faxmachines.yml @@ -231,7 +231,7 @@ - type: entity parent: FaxMachineBase - id: FaxMachineClerk + id: FaxMachineClerk # TODO - Remove for Justice Rework suffix: Clerk components: - type: PageSender @@ -239,6 +239,26 @@ - type: FaxMachine name: "Clerk" +- type: entity + parent: FaxMachineBase + id: FaxMachineJusticeWarden + suffix: Justice Warden + components: + - type: PageSender + autoLinkJobs: [JusticeWarden] + - type: FaxMachine + name: "Warden" + +- type: entity + parent: FaxMachineBase + id: FaxMachineMarshal + suffix: Marshal + components: + - type: PageSender + autoLinkJobs: [Marshal] + - type: FaxMachine + name: "Marshal" + - type: entity parent: FaxMachineBase id: FaxMachineClown @@ -379,6 +399,16 @@ - type: FaxMachine name: "Prosecutor" +- type: entity + parent: FaxMachineBase + id: FaxMachineAttorney + suffix: Attorney + components: + - type: PageSender + autoLinkJobs: [Attorney] + - type: FaxMachine + name: "Attorney" + - type: entity parent: FaxMachineBase id: FaxMachinePsychologist @@ -469,6 +499,16 @@ - type: FaxMachine name: "Warden" +- type: entity + parent: FaxMachineBase + id: FaxMachineArmorer + suffix: Armorer + components: + - type: PageSender + autoLinkJobs: [ Armorer ] + - type: FaxMachine + name: "Armorer" + - type: entity parent: FaxMachineBase id: FaxMachineZookeeper diff --git a/Resources/Prototypes/_DV/Entities/Structures/Machines/holopad.yml b/Resources/Prototypes/_DV/Entities/Structures/Machines/holopad.yml index 6cf9d1854e1..157db7b131b 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Machines/holopad.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Machines/holopad.yml @@ -113,7 +113,27 @@ - type: entity parent: Holopad - id: HolopadJusticeClerk + id: HolopadJusticeAttorney + suffix: Attorney + components: + - type: Label + currentLabel: holopad-justice-attorney + - type: PageSender + autoLinkJobs: [Attorney] + +- type: entity + parent: Holopad + id: HolopadJusticeDetective + suffix: Detective + components: + - type: Label + currentLabel: holopad-justice-detective + - type: PageSender + autoLinkJobs: [Detective] + +- type: entity + parent: Holopad + id: HolopadJusticeClerk # TODO - Remove for Justice Rework suffix: Clerk components: - type: Label @@ -121,6 +141,25 @@ - type: PageSender autoLinkJobs: [Clerk] +- type: entity + parent: Holopad + id: HolopadJusticeJusticeWarden + components: + - type: Label + currentLabel: holopad-justice-warden + - type: PageSender + autoLinkJobs: [JusticeWarden] + +- type: entity + parent: Holopad + id: HolopadJusticeMarshal + suffix: Marshal + components: + - type: Label + currentLabel: holopad-justice-marshal + - type: PageSender + autoLinkJobs: [Marshal] + - type: entity parent: HolopadJustice id: HolopadJusticeLobby @@ -204,6 +243,16 @@ - type: Label currentLabel: holopad-security-lobby +- type: entity + parent: Holopad + id: HolopadSecurityArmorer + suffix: Armorer + components: + - type: Label + currentLabel: holopad-security-armorer + - type: PageSender + autoLinkJobs: [Armorer] + #Station Specific - Security - type: entity parent: HolopadPrison diff --git a/Resources/Prototypes/_DV/Entities/Structures/Machines/surveillance_camera_routers.yml b/Resources/Prototypes/_DV/Entities/Structures/Machines/surveillance_camera_routers.yml index b83f385cf5d..0af5bb50c3e 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Machines/surveillance_camera_routers.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Machines/surveillance_camera_routers.yml @@ -6,3 +6,12 @@ components: - type: SurveillanceCameraRouter subnetFrequency: SurveillanceCameraAI + +- type: entity + parent: SurveillanceCameraRouterBase + id: SurveillanceCameraRouterJustice + name: justice camera router + suffix: Justice + components: + - type: SurveillanceCameraRouter + subnetFrequency: SurveillanceCameraJustice diff --git a/Resources/Prototypes/_DV/Entities/Structures/Machines/telecomms.yml b/Resources/Prototypes/_DV/Entities/Structures/Machines/telecomms.yml new file mode 100644 index 00000000000..cb4a42f24a2 --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Structures/Machines/telecomms.yml @@ -0,0 +1,9 @@ +- type: entity + parent: TelecomServer + id: TelecomServerFilledJustice + suffix: Justice + components: + - type: ContainerFill + containers: + key_slots: + - EncryptionKeyJustice diff --git a/Resources/Prototypes/_DV/Entities/Structures/Storage/Closets/Lockers/lockers.yml b/Resources/Prototypes/_DV/Entities/Structures/Storage/Closets/Lockers/lockers.yml index eb16457d821..b0e87d2ff1d 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Storage/Closets/Lockers/lockers.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Storage/Closets/Lockers/lockers.yml @@ -25,6 +25,20 @@ - !type:DoActsBehavior acts: [ "Destruction" ] +# Justice + +- type: entity + parent: LockerBaseSecureDeltaV + id: LockerJustice + name: justice locker + components: + - type: EntityStorageVisuals + stateBaseClosed: clerk + stateDoorOpen: clerk_open + stateDoorClosed: clerk_door + - type: AccessReader + access: [["Justice"]] + - type: entity parent: CommandLockerBaseSecureDeltaV id: LockerChiefJustice @@ -40,10 +54,9 @@ - type: entity parent: LockerBaseSecureDeltaV - id: LockerClerk + id: LockerClerk # TODO - Remove for Justice Rework name: clerk's locker components: - - type: Appearance - type: EntityStorageVisuals stateBaseClosed: clerk stateDoorOpen: clerk_open @@ -51,6 +64,47 @@ - type: AccessReader access: [["Clerk"]] +- type: entity + parent: LockerJustice + id: LockerProsecutor # TODO - Resprite + name: prosecutor's locker + components: + - type: AccessReader + access: [["Prosecutor"]] + +- type: entity + parent: LockerJustice + id: LockerAttorney # TODO - Resprite + name: attorney's locker + components: + - type: AccessReader + access: [["Attorney"]] + +- type: entity + parent: LockerJustice + id: LockerJusticeDetective # TODO - Resprite + name: detective's locker + components: + - type: AccessReader + access: [["Detective"]] + +- type: entity + parent: LockerJustice + id: LockerJusticeWarden # TODO - Resprite + name: warden's locker + components: + - type: AccessReader + access: [["JusticeWarden"]] + +- type: entity + parent: LockerJustice + id: LockerMarshal # TODO - Resprite + name: marshal's locker + components: + - type: AccessReader + access: [["Marshal"]] + +# Medical - type: entity parent: LockerBaseSecureDeltaV id: LockerPsychologist @@ -75,6 +129,7 @@ - type: AccessReader access: [["Medical"], ["Surgery"]] # Added medical until surgeon returns +# Service - type: entity parent: LockerBaseSecureDeltaV id: LockerKitchen @@ -99,6 +154,7 @@ - type: AccessReader access: [["Janitor"]] +# Logistic - type: entity parent: LockerBaseSecure id: LockerLogistics # Wizden has sprites for this but doesn't have an entity that uses them? @@ -111,6 +167,7 @@ - type: AccessReader access: [["Cargo"]] +# Security - type: entity parent: LockerBaseSecureDeltaV id: LockerArmoryStorage @@ -123,6 +180,19 @@ - type: AccessReader access: [["Armory"]] +- type: entity + parent: LockerBaseSecureDeltaV + id: LockerArmorer + name: armorer's locker + components: + - type: EntityStorageVisuals + stateBaseClosed: warden + stateDoorOpen: warden_open + stateDoorClosed: warden_door + - type: AccessReader + access: [ [ "Armory" ] ] + +# Epistemics - type: entity parent: LockerBooze id: LockerForensicMantis @@ -151,6 +221,17 @@ min: 1 max: 2 +- type: entity + parent: LockerForensicMantis + id: LockerArchivist + name: archivist's cabinet + suffix: Empty + description: You'll never know what's inside until you collapse the quantum superposition of all possible mysteries. + components: + - type: AccessReader + access: [ [ "Library" ] ] + +# Gun safe - type: entity id: SalvageGunSafeBaseSecure parent: GunSafe @@ -327,16 +408,6 @@ - type: AccessReader access: [["Armory"]] -- type: entity - parent: LockerForensicMantis - id: LockerArchivist - name: archivist's cabinet - suffix: Empty - description: You'll never know what's inside until you collapse the quantum superposition of all possible mysteries. - components: - - type: AccessReader - access: [["Library"]] - # Evac pod - type: entity parent: LockerBase diff --git a/Resources/Prototypes/_DV/Entities/Structures/Storage/SecureCabinet/secure_cabinets.yml b/Resources/Prototypes/_DV/Entities/Structures/Storage/SecureCabinet/secure_cabinets.yml index ee8f43acc82..f5ce95c1a27 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Storage/SecureCabinet/secure_cabinets.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Storage/SecureCabinet/secure_cabinets.yml @@ -215,7 +215,7 @@ #Clerk - type: entity parent: FilledSecureCabinet - id: SecureCabinetClerk + id: SecureCabinetClerk # TODO - Remove for Justice Rework suffix: Clerk components: - type: AccessReader @@ -239,6 +239,33 @@ - type: AccessReader access: [["Lawyer"]] +#Warden (Justice) +- type: entity + parent: FilledSecureCabinet + id: SecureCabinetJusticeWarden + suffix: Justice Warden + components: + - type: AccessReader + access: [["JusticeWarden"]] + +#Marshal +- type: entity + parent: FilledSecureCabinet + id: SecureCabinetMarshal + suffix: Marshal + components: + - type: AccessReader + access: [["Marshal"]] + +#Armorer +- type: entity + parent: FilledSecureCabinet + id: SecureCabinetArmorer + suffix: Armorer + components: + - type: AccessReader + access: [["Armory"]] + #Psychologist - type: entity parent: FilledSecureCabinet diff --git a/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/reinforced_surveillance_camera.yml b/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/reinforced_surveillance_camera.yml index 26b7a31d1cc..2b0d41bf655 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/reinforced_surveillance_camera.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/reinforced_surveillance_camera.yml @@ -226,6 +226,20 @@ tags: - ReinforcedCameraAI +- type: entity + parent: [ ReinforcedSurveillanceCameraBase, SurveillanceCameraJustice ] + id: ReinforcedSurveillanceCameraJustice + suffix: Justice + components: + - type: Construction + graph: ReinforcedSurveillanceCameraGraph + node: camera_justice + - type: WiresPanelSecurity + securityLevel: medJustice + - type: Tag + tags: + - ReinforcedCameraJustice + - type: entity parent: ReinforcedSurveillanceCameraBase id: ReinforcedSurveillanceCameraConstructed diff --git a/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/surveillance_camera.yml b/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/surveillance_camera.yml index 9d34694926e..ae71f69392f 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/surveillance_camera.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/WallmountMachines/surveillance_camera.yml @@ -10,3 +10,16 @@ transmitFrequencyId: SurveillanceCamera - type: SurveillanceCamera networkSet: true + +- type: entity + parent: SurveillanceCameraBase + id: SurveillanceCameraJustice + name: camera + suffix: Justice + components: + - type: DeviceNetwork + deviceNetId: Wired + receiveFrequencyId: SurveillanceCameraJustice + transmitFrequencyId: SurveillanceCamera + - type: SurveillanceCamera + networkSet: true diff --git a/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/switch.yml b/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/switch.yml index 312e5eb2b9b..36add1ef159 100644 --- a/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/switch.yml +++ b/Resources/Prototypes/_DV/Entities/Structures/Wallmounts/switch.yml @@ -24,7 +24,15 @@ - type: entity parent: LockableButton - id: LockableButtonClerk + id: LockableButtonAttorney + suffix: Attorney + components: + - type: AccessReader + access: [["Attorney"]] + +- type: entity + parent: LockableButton + id: LockableButtonClerk # TODO - Remove for Justice Rework suffix: Clerk components: - type: AccessReader @@ -38,6 +46,22 @@ - type: AccessReader access: [["ChiefJustice"]] +- type: entity + parent: LockableButton + id: LockableButtonJusticeWarden + suffix: JusticeWarden + components: + - type: AccessReader + access: [[JusticeWarden]] + +- type: entity + parent: LockableButton + id: LockableButtonMarshal + suffix: Marshal + components: + - type: AccessReader + access: [["Marshal"]] + - type: entity parent: LockableButton id: LockableButtonSyndicate diff --git a/Resources/Prototypes/_DV/Loadouts/role_loadouts.yml b/Resources/Prototypes/_DV/Loadouts/role_loadouts.yml index d57ac84da79..a4617cbd8f4 100644 --- a/Resources/Prototypes/_DV/Loadouts/role_loadouts.yml +++ b/Resources/Prototypes/_DV/Loadouts/role_loadouts.yml @@ -83,7 +83,7 @@ - GroupSpeciesBreathTool - type: roleLoadout - id: JobClerk + id: JobClerk # TODO: Remove for Justice Rework groups: - GroupTankHarness - ClerkJumpsuit @@ -109,6 +109,19 @@ - Trinkets - GroupSpeciesBreathTool +- type: roleLoadout + id: JobAttorney + groups: + - GroupTankHarness + - LawyerNeck + - LawyerJumpsuit + - CommonBackpack + - Glasses + - Survival + - Trinkets + - LawyerJobTrinkets + - GroupSpeciesBreathTool + # Epistemics - type: roleLoadout id: JobRoboticist diff --git a/Resources/Prototypes/_DV/Recipes/Construction/Graphs/utilities/reinforced_cameras.yml b/Resources/Prototypes/_DV/Recipes/Construction/Graphs/utilities/reinforced_cameras.yml index 3de5103ccf5..5e9a42c5c83 100644 --- a/Resources/Prototypes/_DV/Recipes/Construction/Graphs/utilities/reinforced_cameras.yml +++ b/Resources/Prototypes/_DV/Recipes/Construction/Graphs/utilities/reinforced_cameras.yml @@ -393,6 +393,37 @@ amount: 1 doAfter: 2 + #justice + - node: camera_justice + entity: ReinforcedSurveillanceCameraJustice + actions: + - !type:SetWiresPanelSecurity + wiresAccessible: true + edges: + - to: wired + conditions: + - !type:WirePanel { } + - !type:AllWiresCut { } + steps: + - tool: Prying + doAfter: 3 + + - to: medSecurityUnfinished + conditions: + - !type:WirePanel { } + steps: + - material: Steel + amount: 1 + doAfter: 2 + + - to: highSecurityUnfinished + conditions: + - !type:WirePanel { } + steps: + - material: Plasteel + amount: 1 + doAfter: 2 + #medscurity - node: medSecurityUnfinished actions: @@ -530,6 +561,19 @@ - tool: Prying doAfter: 2 + - to: camera_justice + completed: + - !type:GivePrototype + prototype: SheetSteel1 + amount: 1 + conditions: + - !type:WirePanel { } + - !type:HasTag + tag: ReinforcedCameraAI + steps: + - tool: Prying + doAfter: 2 + - to: medSecurity conditions: - !type:WirePanel {} diff --git a/Resources/Prototypes/_DV/Roles/Jobs/Justice/attorney.yml b/Resources/Prototypes/_DV/Roles/Jobs/Justice/attorney.yml new file mode 100644 index 00000000000..9dcb063bf89 --- /dev/null +++ b/Resources/Prototypes/_DV/Roles/Jobs/Justice/attorney.yml @@ -0,0 +1,42 @@ +- type: job + id: Attorney + name: job-name-attorney + description: job-description-attorney + setPreference: false + playTimeTracker: JobAttorney + canBeAntag: false + requirements: + - !type:OverallPlaytimeRequirement + time: 10h + - !type:DepartmentTimeRequirement + department: Security + time: 6h + #startingGear: AttorneyGear # Bypass ChameleonJobLoadoutTest + icon: "JobIconLawyer" + supervisors: job-supervisors-cj + access: + - Justice + - Attorney + - Lawyer # TODO: Remove after Justice Rework + - Maintenance + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant ] + - !type:AddComponentSpecial + components: + - type: Condemned + soulOwnedNotDevil: true + +#- type: startingGear # Bypass ChameleonJobLoadoutTest +# id: AttorneyGear +# equipment: +# shoes: ClothingShoesBootsLaceup +# id: LawyerPDA +# ears: ClothingHeadsetJustice +# inhand: +# - BriefcaseBrownFilled +# storage: +# back: +# - RubberStampAttorney +# - BookSpaceLaw +# - ForensicScanner diff --git a/Resources/Prototypes/_DV/Roles/Jobs/Justice/justicewarden.yml b/Resources/Prototypes/_DV/Roles/Jobs/Justice/justicewarden.yml new file mode 100644 index 00000000000..8ccb7181132 --- /dev/null +++ b/Resources/Prototypes/_DV/Roles/Jobs/Justice/justicewarden.yml @@ -0,0 +1,51 @@ +- type: job + id: JusticeWarden + name: job-name-warden + description: job-description-justice-warden + playTimeTracker: JobJusticeWarden + setPreference: false + requirements: + - !type:RoleTimeRequirement + role: JobProsecutor + time: 8h + - !type:RoleTimeRequirement + role: JobMarshal + time: 4h + - !type:DepartmentTimeRequirement + department: Justice + time: 12h + - !type:DepartmentTimeRequirement + department: Security + time: 10h + weight: 5 + #startingGear: JusticeWardenGear # Bypass ChameleonJobLoadoutTest + icon: "JobIconPrisonGuard" + requireAdminNotify: true + supervisors: job-supervisors-cj + canBeAntag: false + whitelisted: true + access: + - Justice + - Clerk # TODO: Remove when Clerk is kill + - Prosecutor + - Detective + - Cryogenics + - Corpsman # Warden requires access to the treatment of their prisoners. + - Marshal + - JusticeWarden + - Detective + - GenpopEnter + - GenpopLeave + - Maintenance + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant ] + +#- type: startingGear # Bypass ChameleonJobLoadoutTest +# id: JusticeWardenGear +# equipment: +# id: JusticeWardenPDA +# ears: ClothingHeadsetJustice +# storage: +# back: +# - Flash diff --git a/Resources/Prototypes/_DV/Roles/Jobs/Justice/marshal.yml b/Resources/Prototypes/_DV/Roles/Jobs/Justice/marshal.yml new file mode 100644 index 00000000000..8a40a5f2079 --- /dev/null +++ b/Resources/Prototypes/_DV/Roles/Jobs/Justice/marshal.yml @@ -0,0 +1,38 @@ +- type: job + id: Marshal + name: job-name-marshal + description: job-description-marshal + playTimeTracker: JobMarshal + setPreference: false + requirements: + - !type:OverallPlaytimeRequirement + time: 20h + - !type:DepartmentTimeRequirement + department: Security + time: 5h + - !type:DepartmentTimeRequirement + department: Justice + time: 10h + #startingGear: MarshalGear # Bypass ChameleonJobLoadoutTest + alwaysUseSpawner: true + canBeAntag: false + icon: "JobIconClerk" + supervisors: job-supervisors-warden + whitelisted: true + access: + - Justice + - Marshal + - Maintenance + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant ] + +#- type: startingGear # Bypass ChameleonJobLoadoutTest +# id: MarshalGear +# equipment: +# id: PrisonGuardPDA +# ears: ClothingHeadsetJustice +# belt: ClothingBeltSecurity +# storage: +# back: +# - Flash diff --git a/Resources/Prototypes/_DV/Roles/Jobs/Security/armorer.yml b/Resources/Prototypes/_DV/Roles/Jobs/Security/armorer.yml new file mode 100644 index 00000000000..e09915fb8af --- /dev/null +++ b/Resources/Prototypes/_DV/Roles/Jobs/Security/armorer.yml @@ -0,0 +1,38 @@ +- type: job + id: Armorer + name: job-name-warden + description: job-description-warden + playTimeTracker: JobArmorer + setPreference: false + requirements: + - !type:RoleTimeRequirement + role: JobSecurityOfficer + time: 5h + - !type:DepartmentTimeRequirement + department: Security + time: 10h + weight: 5 + #startingGear: ArmorerGear # Bypass ChameleonJobLoadoutTest + icon: "JobIconWarden" + requireAdminNotify: true + supervisors: job-supervisors-hos + canBeAntag: false + whitelisted: false + access: + - Security + - Armory + - Maintenance + - External + - Cryogenics + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant ] + +#- type: startingGear +# id: ArmorerGear +# equipment: +# id: ArmorerPDA +# ears: ClothingHeadsetSecurity +# storage: +# back: +# - Flash diff --git a/Resources/Prototypes/_DV/Roles/play_time_trackers.yml b/Resources/Prototypes/_DV/Roles/play_time_trackers.yml index 3abddbabada..d10af3c84f7 100644 --- a/Resources/Prototypes/_DV/Roles/play_time_trackers.yml +++ b/Resources/Prototypes/_DV/Roles/play_time_trackers.yml @@ -10,6 +10,18 @@ - type: playTimeTracker id: JobProsecutor +- type: playTimeTracker + id: JobAttorney + +- type: playTimeTracker + id: JobJusticeWarden + +- type: playTimeTracker + id: JobMarshal + +- type: playTimeTracker + id: JobArmorer + - type: playTimeTracker id: JobCourier diff --git a/Resources/Prototypes/_DV/tags.yml b/Resources/Prototypes/_DV/tags.yml index 8d1f3433712..8fc1c01430e 100644 --- a/Resources/Prototypes/_DV/tags.yml +++ b/Resources/Prototypes/_DV/tags.yml @@ -255,6 +255,9 @@ - type: Tag id: ReinforcedCameraGeneral # Reinforced Cameras - General +- type: Tag + id: ReinforcedCameraJustice # Reinforced Cameras - Justice + - type: Tag id: ReinforcedCameraMedical # Reinforced Cameras - Medical