Skip to content

Commit f956cff

Browse files
authored
Duty Officer Rebirth (ss14Starlight#2850)
<!-- IT'S NOT WIZDENS REPO, IF YOU WANT TO ADD YOUR CHANGES ON ALL SERVERS, CREATE PR TO WIZDENS REPO --> ## Short description Adds Duty Officer, a long requested Security role to assist with managing genpop/processing prisoners. Wardens have long requested some assistance, as they have a high stress job on alpha's higher pop shifts. This role is already included in both Warden's SoP, and on the [wiki itself](https://wiki.starlight.network/Security_SOP#Duty_Officer). ## Why we need to add this Warden is a very high stress job on alpha, which has only gotten harder as alpha's population continues to rise higher and higher. Armory, Genpop, Prisoners, Crew Monitor, and Security's front desk... it's a very tiring and stressful job, to the point SoP itself explicitly allows them to hire a Duty Officer, and some maps even have 2 Wardens to account for this difficulty, so this is a known issue... (There are multiple suggestions requesting this role/an assistant for Warden...) This PR is a remake/completion of BORT's [original PR](ss14Starlight#1541) from before they vanished. They have been credited on the assets they have provided. Clothing sprites by conf and I. Duty Officer makes 70 credits, more than Security Officer, but less than Brigmedic. Only 1 should be mapped on most non-alpha sized stations, ideally in the Genpop processing room. On maps that have 2 Wardens, I think the second Warden can be replaced with 2 Duty Officers instead. They have the same accesses as a normal Security Officer. Notably, as per their SoP, they do not spawn with a lethal. Currently, they require 5 Hours of Security Officer to be played. After they have been fully implemented for a month, I would like to request that Warden role require a few hours, 1-2, of Duty Officer. I have not made this change yet, as this would mean that everybody would lose access to Warden once this is added. Also adds the Blue Skirt and Tie to match the Blue Shirt and Tie. ## Media (Video/Screenshots) <img width="457" height="584" alt="image" src="https://github.com/user-attachments/assets/d08da0c5-c33c-4939-9704-1639b5a99c66" /> <img width="779" height="272" alt="image" src="https://github.com/user-attachments/assets/068cafdb-d42e-4e41-a69f-d311e316169c" /> <img width="781" height="332" alt="image" src="https://github.com/user-attachments/assets/c18fd5e1-86e1-4840-934b-bec377a1e9ed" /> <img width="784" height="681" alt="image" src="https://github.com/user-attachments/assets/6b523f51-73f1-4f19-8622-9990e28829bc" /> As per their SoP, they're allowed to spawn with a riot suit, and can wear it on green. The rest of security does not get this privilege. <img width="782" height="196" alt="image" src="https://github.com/user-attachments/assets/bf542118-d085-4b11-b79b-768fbb6473db" /> <img width="556" height="1007" alt="image" src="https://github.com/user-attachments/assets/034e50e0-05f8-4479-9b05-0320345f1ec9" /> <img width="785" height="162" alt="image" src="https://github.com/user-attachments/assets/fe867d81-381e-4aea-acec-85daecec418b" /> They're allowed to have 4 non-lethal grenades as per their SoP, so they've been given 2 tear gas grenades, and 2 flash bangs. <img width="372" height="141" alt="image" src="https://github.com/user-attachments/assets/8ed52285-b803-4abd-9705-6b2a7273d559" /> Obligatory standard security survival kit. <img width="155" height="117" alt="image" src="https://github.com/user-attachments/assets/46ddc0d1-8973-4227-8c97-f94fa3ff21c6" /> <img width="463" height="314" alt="image" src="https://github.com/user-attachments/assets/72517ba3-240b-49ba-84c6-943c09256a22" /> <img width="1454" height="36" alt="image" src="https://github.com/user-attachments/assets/bb6d6c37-4659-43ee-8bd9-7e10e5afe3e3" /> <img width="783" height="617" alt="image" src="https://github.com/user-attachments/assets/6af8e17d-1a6c-4f3a-a4e9-0b4388d3ec9c" /> ## Checks - [X] I do not require assistance to complete the PR. - [X] Before posting/requesting review of a PR, I have verified that the changes work. - [X] I have added screenshots/videos of the changes, or this PR does not change in-game mechanics. - [X] I affirm that my changes are licensed under the [Starlight Fork License](https://github.com/ss14Starlight/space-station-14/blob/Starlight/LICENSE-Starlight.TXT) and grant permission for use in this repository under its conditions. **Changelog** :cl: wonderfulnewworld, Conflee, and BORT - add: Added Duty Officer, a new Security role whose sole purpose is helping Warden manage sentencing/GenPop better, as Wardens have long complained about being overworked due to having so many responsibilities. This role already has SoP on the wiki, so this is just formalizing it. (Needs to be mapped.) - add: Added Duty Officer's clothes to the uniform printer - add: Added Blue Skirt and Tie to match the Blue Shirt and Tie that already exists as a security officer loadout - fix: Brigmedic can now correctly spawn with their Security Star
2 parents 83784b8 + cc4ca98 commit f956cff

59 files changed

Lines changed: 657 additions & 32 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Resources/Locale/en-US/_Starlight/guidebook/guides.ftl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ guide-entry-sl-money-accounts-and-space-credits = Money Accounts and Space Credi
6767
guide-entry-sl-security-sop-intro = Security
6868
guide-entry-sl-security-sop-cadet = Cadet
6969
guide-entry-sl-security-sop-securityofficer = Security Officer
70+
guide-entry-sl-security-sop-dutyofficer = Duty Officer
7071
guide-entry-sl-security-sop-detective = Detective
7172
guide-entry-sl-security-sop-brigmedic = Brigmedic
7273
guide-entry-sl-security-sop-warden = Warden

Resources/Locale/en-US/_Starlight/job/job-desc.ftl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
job-description-blueshield = Your primary job is to protect the heads. Remember, you are not a security officer.
22
job-description-boxer = Fight your way to the top! Challenge the head of personnel and get brigged when you win.
33
job-description-decimus = You are a Decimus Operative. Enact Code Epsilon. Recovery of NanoTrasen Personnel may or may not be an objective, seek directives from your superiors.
4+
job-description-dutyofficer = Guard Genpop, process prisoners, fight with the non-compliant. Your job is to make sure that people who were caught, stay caught, and to act as an extension of the warden.
45
job-description-iaa = You are a servant of the people, defend, condemn the citizens of your station!
56
job-description-magistrate = You are the very justice of the station, your job is to try all major troublemakers.
67
job-description-mailtech = Deliver letters and packages to the crew of the station to make cargo money.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
job-supervisors-magistrate = Magistrate
22
job-supervisors-nanotrasen = NanoTrasen
3+
job-supervisors-warden = the Warden
34
job-supervisors-none = Nobody

Resources/Locale/en-US/_Starlight/job/job.ftl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ job-name-decimus = Decimus Operative
1313
job-name-nct = Nanotrasen Career Trainer
1414
1515
job-name-salvagelead = Salvage Lead
16+
job-name-dutyofficer = Duty Officer
1617
job-name-abductor = Abductor
1718
job-title-borgi = Borgi
1819

Resources/Locale/en-US/_Starlight/preferences/loadout-groups.ftl

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ loadout-group-brigmedic-beaker = Brigmedic beaker
4444
loadout-group-brigmedic-mask = Brigmedic mask
4545
loadout-group-brigmedic-tie = Brigmedic tie
4646
47+
loadout-group-dutyofficer-head = Duty officer head
48+
loadout-group-dutyofficer-jumpsuit = Duty officer jumpsuit
49+
loadout-group-dutyofficer-outerclothing = Duty officer outer clothing
50+
loadout-group-dutyofficer-belt = Duty officer belt
51+
52+
4753
# Law
4854
loadout-group-magistrate-jumpsuit = Magistrate jumpsuit
4955
loadout-group-magistrate-eyewear = Magistrate eyewear

Resources/Prototypes/Loadouts/loadout_groups.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1525,6 +1525,7 @@
15251525
- SeniorOfficerJumpskirt
15261526
- TrooperUniform
15271527
- SecurityJumpsuitBlue
1528+
- SecurityJumpskirtBlue # Starlight
15281529
- SecurityTshirt #Starlight
15291530

15301531
- type: loadoutGroup

Resources/Prototypes/Recipes/Lathes/Packs/clothing.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,10 @@
143143
- ClothingHeadHatBeretBrigmedic
144144
- ClothingUniformJumpsuitBrigmedic
145145
- ClothingUniformJumpskirtBrigmedic
146+
- ClothingHeadHatBeretDutyOfficer # Starlight
147+
- ClothingHeadHatDutyOfficer # Starlight
148+
- ClothingUniformJumpsuitDutyOfficer # Starlight
149+
- ClothingUniformJumpskirtDutyOfficer # Starlight
146150
- ClothingHeadHatBeretWarden
147151
- ClothingHeadHatWarden
148152
- ClothingUniformJumpsuitWarden

Resources/Prototypes/Roles/Jobs/departments.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@
122122
- Brigmedic
123123
- Detective
124124
- Warden
125+
- DutyOfficer # Starlight
125126

126127
- type: department
127128
id: Science

Resources/Prototypes/Roles/requirement_overrides.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,10 @@
141141
- !type:RoleTimeRequirement
142142
role: JobDetective
143143
time: 1h
144+
DutyOfficer:
145+
- !type:RoleTimeRequirement
146+
role: JobSecurityOfficer
147+
time: 5h
144148
SecurityCadet:
145149
- !type:OverallPlaytimeRequirement
146150
time: 30h

Resources/Prototypes/_StarLight/Catalog/Fills/Items/belt.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,43 @@
7575
- id: TearGasGrenade
7676
- id: MedkitCombatFilled
7777

78+
79+
# Duty Officer
80+
- type: entityTable
81+
id: BeltDutyOfficerEntityTable
82+
table: !type:AllSelector
83+
children:
84+
- id: Stunbaton
85+
- id: Handcuffs
86+
- id: Handcuffs
87+
- id: HoloprojectorSecurity
88+
- id: RadioHandheldSecurity
89+
- id: TearGasGrenade
90+
- id: TearGasGrenade
91+
- id: GrenadeFlashBang
92+
- id: GrenadeFlashBang
93+
- id: Zipties
94+
95+
- type: entity
96+
id: ClothingBeltDutyOfficerFilled
97+
parent: ClothingBeltSecurity
98+
suffix: Filled
99+
components:
100+
- type: EntityTableContainerFill
101+
containers:
102+
storagebase: !type:NestedSelector
103+
tableId: BeltDutyOfficerEntityTable
104+
105+
- type: entity
106+
id: ClothingBeltDutyOfficerWebbingFilled
107+
parent: ClothingBeltSecurityWebbing
108+
suffix: Filled
109+
components:
110+
- type: EntityTableContainerFill
111+
containers:
112+
storagebase: !type:NestedSelector
113+
tableId: BeltDutyOfficerEntityTable
114+
78115
- type: entity
79116
id: ClothingBeltNTNCRigFilled
80117
parent: ClothingBeltNTNCRig

0 commit comments

Comments
 (0)