Skip to content

Commit

Permalink
Add surgeon access & role (#2645)
Browse files Browse the repository at this point in the history
* Add surgeon PDA and ID

* Add surgeon access

* Add surgeon job

* Add Surgery door prototypes

* Add Surgeon locker prototypes
  • Loading branch information
sowelipililimute authored Jan 9, 2025
1 parent d6b7f74 commit 9a0abc3
Show file tree
Hide file tree
Showing 35 changed files with 399 additions and 5 deletions.
1 change: 1 addition & 0 deletions Content.Shared/Access/Components/IdCardConsoleComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ public WriteToTargetIdMessage(string fullName, string jobTitle, List<ProtoId<Acc
"Prosecutor", // Delta V - Add Prosecutor access
"Robotics", // DeltaV
"Clerk", // Delta V - Add Clerk access
"Surgery", // Delta V - Add Surgery access
};

[Serializable, NetSerializable]
Expand Down
1 change: 1 addition & 0 deletions Resources/Locale/en-US/_DV/job/job-names.ftl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
job-name-medical-borg = Medical Cyborg
job-name-surgeon = Surgeon
job-name-chief-justice = Chief Justice
job-name-clerk = Clerk
job-name-prosecutor = Prosecutor
Expand Down
6 changes: 6 additions & 0 deletions Resources/Locale/en-US/_DV/preferences/loadout-groups.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,12 @@ loadout-group-psychologist-outerclothing = Psychologist outer clothing
loadout-group-psychologist-shoes = Psychologist shoes
loadout-group-psychologist-id-delta = Psychologist PDA
loadout-group-surgeon-head = Surgeon head
loadout-group-surgeon-mask = Surgeon mask
loadout-group-surgeon-scrubs = Surgeon scrubs
loadout-group-surgeon-gloves = Surgeon gloves
loadout-group-surgeon-id = Surgeon PDA
# Miscellaneous
loadout-group-scarfs = Scarf
Expand Down
1 change: 1 addition & 0 deletions Resources/Locale/en-US/_DV/prototypes/access/accesses.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ id-card-access-level-clerk = Clerk
id-card-access-level-justice = Justice
id-card-access-level-corpsman = Corpsman
id-card-access-level-robotics = Robotics
id-card-access-level-surgery = Surgery
1 change: 1 addition & 0 deletions Resources/Prototypes/Access/medical.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@
- Chemistry
- Paramedic # DeltaV - Add Paramedic access
- Psychologist # DeltaV - Add Psychologist access
- Surgery # DeltaV - Add Surgery access
1 change: 1 addition & 0 deletions Resources/Prototypes/Access/misc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,4 @@
- Clerk # DeltaV - Add Clerk access
- Corpsman # DeltaV - Add Corpsman access
- Robotics # DeltaV: Robotics access
- Surgery # DeltaV: Surgery access
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
- Salvage
- Security
- Service
- Surgery # Delta V: Add Surgery access
- Theatre
- Zookeeper #Delta V: Add Zookeeper Access
- ChiefJustice #Delta V: Add Chief Justice Access
Expand Down Expand Up @@ -132,6 +133,7 @@
- Salvage
- Security
- Service
- Surgery # DeltaV: Add surgery
- Theatre
- CentralCommand
- NuclearOperative
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
- External # DeltaV - Paramedics need this access
- Psychologist # DeltaV - Add Psychologist access
- Cryogenics
- Surgery # DeltaV - Add surgery access
special:
- !type:AddImplantSpecial
implants: [ MindShieldImplant ]
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
extendedAccess:
- Chemistry
- Paramedic # DeltaV - Add Paramedic access
- Surgery # DeltaV - Add Surgery access
special: # Shitmed change
- !type:AddComponentSpecial
components:
Expand Down
1 change: 1 addition & 0 deletions Resources/Prototypes/Roles/Jobs/departments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@
- Psychologist
- Paramedic
- MedicalBorg # Delta V - Medical Borg, see Resources/Prototypes/_DV/Roles/Jobs/Medical/medicalborg.yml
- Surgeon # Delta V - Surgeon, see Resources/Prototypes/_DV/Roles/Jobs/Medical/surgeon.yml

- type: department
id: Security
Expand Down
4 changes: 4 additions & 0 deletions Resources/Prototypes/_DV/Access/medical.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
- type: accessLevel
id: Psychologist
name: id-card-access-level-psychologist

- type: accessLevel
id: Surgery
name: id-card-access-level-surgery
15 changes: 15 additions & 0 deletions Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,18 @@
- id: BoxFolderBlack
- id: BoxFolderClipboard
- id: DrinkVacuumFlask

- type: entity
parent: ClothingBeltMedical
id: ClothingBeltSurgeonFilled
suffix: Filled, Surgical
components:
- type: StorageFill
contents:
- id: Cautery
- id: Scalpel
- id: Retractor
- id: Hemostat
- id: Bonesetter
- id: BoneGel
- id: SawElectric
97 changes: 97 additions & 0 deletions Resources/Prototypes/_DV/Catalog/Fills/Lockers/medical.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,100 @@
containers:
entity_storage: !type:NestedSelector
tableId: PsychologistLockerFill

- type: entityTable
id: SurgeonOutfit
table: !type:GroupSelector
children:
- !type:AllSelector
weight: 10
children:
- id: ClothingHeadHatSurgcapPurple
- id: UniformScrubsColorPurple
- !type:AllSelector
weight: 10
children:
- id: ClothingHeadHatSurgcapGreen
- id: UniformScrubsColorGreen
- !type:AllSelector
weight: 10
children:
- id: ClothingHeadHatSurgcapBlue
- id: UniformScrubsColorBlue
- !type:AllSelector
weight: 10
children:
- id: ClothingHeadHatSurgcapCyan
- id: UniformScrubsColorCyan
- !type:AllSelector
weight: 5
children:
- id: ClothingHeadHatSurgcapBlack
- id: UniformScrubsColorBlack
- !type:AllSelector
weight: 5
children:
- id: ClothingHeadHatSurgcapPink
- id: UniformScrubsColorPink
- !type:AllSelector
weight: 5
children:
- id: ClothingHeadHatSurgcapRainbow
- id: UniformScrubsColorRainbow
- !type:AllSelector
weight: 10
children:
- id: ClothingHeadHatSurgcapWhite
- id: UniformScrubsColorWhite
- !type:AllSelector
weight: 1
children:
- id: ClothingHeadHatSurgcapCybersun
- id: UniformScrubsColorCybersun

- type: entityTable
id: SurgeonSanitzation
table: !type:GroupSelector
children:
- id: BoxNitrileGloves
- id: BoxSterileMask

- type: entityTable
id: SurgeonGloves
table: !type:GroupSelector
children:
- id: ClothingHandsGlovesNitrile
- id: ClothingHandsGlovesLatex

- type: entityTable
id: SurgeonLockerFill
table: !type:AllSelector
children:
- !type:NestedSelector
tableId: SurgeonOutfit
- !type:NestedSelector
tableId: SurgeonSanitzation
- !type:NestedSelector
tableId: SurgeonGloves
- id: ClothingHeadsetMedical
- id: ClothingEyesHudMedical
- id: ClothingBackpackDuffelSurgeryFilled
- id: ClothingOuterVestTank
- id: LunchboxMedicalFilledRandom
prob: 0.3
- id: BoxSyringe
prob: 0.3
- id: HandheldHealthAnalyzer
prob: 0.6
- id: ClothingHeadMirror
prob: 0.4

- type: entity
parent: LockerSurgeon
id: LockerSurgeonFilled
suffix: Filled
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: SurgeonLockerFill
13 changes: 13 additions & 0 deletions Resources/Prototypes/_DV/Entities/Markers/Spawners/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,3 +118,16 @@
- state: green
- sprite: _DV/Markers/jobs.rsi
state: adminassistant

- type: entity
parent: SpawnPointJobBase
id: SpawnPointSurgeon
name: surgeon
components:
- type: SpawnPoint
job_id: Surgeon
- type: Sprite
layers:
- state: green
- sprite: _DV/Markers/jobs.rsi
state: surgeon
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,30 @@
- type: AccessReader
access: [["Psychologist"]]

- type: entity
parent: DoorElectronics
id: DoorElectronicsSurgery
suffix: Surgery, Locked
components:
- type: AccessReader
access: [["Surgery"]]

- type: entity
parent: DoorElectronics
id: DoorElectronicsSurgeryResearch
suffix: Surgery/Epistemics, Locked
components:
- type: AccessReader
access: [["Research"], ["Surgery"]]

- type: entity
parent: DoorElectronics
id: DoorElectronicsSurgeryRobotics
suffix: Surgery/Robotics, Locked
components:
- type: AccessReader
access: [["Robotics"], ["Surgery"]]

- type: entity
parent: DoorElectronics
id: DoorElectronicsMail
Expand Down
30 changes: 30 additions & 0 deletions Resources/Prototypes/_DV/Entities/Objects/Devices/pda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -383,6 +383,36 @@
id: SocialWorkerIDCard
state: pda-socialworker

# Surgeon

- type: entity
parent: BaseMedicalPDA
id: SurgeonPDA
name: surgeon PDA
description: Smells faintly like burnt flesh and anesthesia.
components:
- type: Sprite
sprite: _DV/Objects/Devices/pda.rsi
layers:
- map: [ "enum.PdaVisualLayers.Base" ]
- state: "light_overlay"
map: [ "enum.PdaVisualLayers.Flashlight" ]
shader: "unshaded"
visible: false
- state: "id_overlay"
map: [ "enum.PdaVisualLayers.IdLight" ]
shader: "unshaded"
visible: false
- type: Pda
id: SurgeonIDCard
state: pda-surgeon
- type: PdaBorderColor
borderColor: "#5b97bc"
accentHColor: "#ffffff"
accentVColor: "#ffffff"
- type: Icon
state: pda-surgeon

# Atmospherics Technician

- type: entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,22 @@
- type: IdCard
jobTitle: job-alt-title-social-worker

# Surgeon

- type: entity
parent: MedicalIDCard
id: SurgeonIDCard
name: Surgeon ID card
components:
- type: Sprite
layers:
- state: default
- sprite: _DV/Objects/Misc/id_cards.rsi
state: idsurgeon
- type: IdCard
jobTitle: job-name-surgeon
jobIcon: JobIconSurgeon

# Atmospheric Technician

- type: entity
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,52 @@
containers:
board: [ DoorElectronicsPsychologist ]

- type: entity
parent: AirlockMaintRnDLocked
id: AirlockMaintRnDSurgeryLocked
suffix: Surgery/Epistemics, Locked
components:
- type: ContainerFill
containers:
board: [ DoorElectronicsSurgeryResearch ]

- type: entity
parent: AirlockMedical
id: AirlockSurgeryLocked
suffix: Surgery, Locked
components:
- type: ContainerFill
containers:
board: [ DoorElectronicsSurgery ]

- type: entity
parent: AirlockMedicalGlass
id: AirlockSurgeryGlassLocked
suffix: Surgery, Locked
components:
- type: ContainerFill
containers:
board: [ DoorElectronicsSurgery ]

- type: entity
parent: AirlockScienceGlass
id: AirlockSurgeryScienceGlassLocked
suffix: Surgery/Epistemics, Locked
components:
- type: ContainerFill
containers:
board: [ DoorElectronicsSurgeryResearch ]


- type: entity
parent: AirlockMaintMedLocked
id: AirlockMaintSurgeryLocked
suffix: Surgery, Locked
components:
- type: ContainerFill
containers:
board: [ DoorElectronicsSurgery ]

- type: entity
parent: AirlockFreezer
id: AirlockFreezerServiceLocked
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,18 @@
- type: AccessReader
access: [["Psychologist"]]

- type: entity
parent: LockerBaseSecureDeltaV
id: LockerSurgeon
name: surgeon's locker
components:
- type: EntityStorageVisuals
stateBaseClosed: surgeon
stateDoorOpen: surgeon_open
stateDoorClosed: surgeon_door
- type: AccessReader
access: [ [ "Surgery" ] ]

- type: entity
parent: LockerBaseSecureDeltaV
id: LockerAdministrativeAssistant
Expand Down
Loading

0 comments on commit 9a0abc3

Please sign in to comment.