From d6a90ab2edcb1efc236937f1d6dd5807185263b3 Mon Sep 17 00:00:00 2001 From: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com> Date: Fri, 26 Jul 2024 12:50:07 +0100 Subject: [PATCH] Create a Security Borg job proto and spawner; for mapping. (#1529) * job locale * job icon * job proto * job spawner * fix errors * add into department * add the icon into UI --- .../en-US/deltav/job/job-description.ftl | 3 ++- .../Locale/en-US/deltav/job/job-names.ftl | 2 ++ .../en-US/deltav/job/job-supervisors.ftl | 1 - .../DeltaV/Entities/Markers/Spawners/jobs.yml | 15 +++++++++++++ .../DeltaV/Entities/Mobs/Player/silicon.yml | 21 ++++++++++++++++++ .../Roles/Jobs/Security/securityborg.yml | 15 +++++++++++++ .../DeltaV/Roles/play_time_trackers.yml | 3 +++ .../Prototypes/DeltaV/StatusEffects/job.yml | 7 ++++++ .../Prototypes/Roles/Jobs/departments.yml | 1 + .../Misc/job_icons.rsi/SecurityBorg.png | Bin 0 -> 190 bytes .../Interface/Misc/job_icons.rsi/meta.json | 5 ++++- 11 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 Resources/Prototypes/DeltaV/Roles/Jobs/Security/securityborg.yml create mode 100644 Resources/Textures/DeltaV/Interface/Misc/job_icons.rsi/SecurityBorg.png diff --git a/Resources/Locale/en-US/deltav/job/job-description.ftl b/Resources/Locale/en-US/deltav/job/job-description.ftl index 1ddd5f75299..11acc7237a1 100644 --- a/Resources/Locale/en-US/deltav/job/job-description.ftl +++ b/Resources/Locale/en-US/deltav/job/job-description.ftl @@ -1,5 +1,6 @@ job-description-medical-borg = Half-human, Half-machine. Follow your laws, serve the crew, and assist the medical department. job-description-chief-justice = Manage the justice department, act as a judge, and ensure everyone recieves fair and just treatment. job-description-clerk = Organize trials, notarize documents, review charges, and act as a judge if needed. -job-description-prosecutor = Take statements from security and prepare cases against those accused of commiting crimes. +job-description-prosecutor = Take statements from security and prepare cases against those accused of commiting crimes. job-description-courier = Deliver mail and other packages from and to logistics. Avoid dogs. +job-description-security-borg = Purpose-built to ensure the right of every crew member to liberty, justice and freedom, ensure the peace aboard the space station by following your laws and patrolling the halls. diff --git a/Resources/Locale/en-US/deltav/job/job-names.ftl b/Resources/Locale/en-US/deltav/job/job-names.ftl index 332e0e9bce2..622254ff1c1 100644 --- a/Resources/Locale/en-US/deltav/job/job-names.ftl +++ b/Resources/Locale/en-US/deltav/job/job-names.ftl @@ -4,6 +4,7 @@ job-name-clerk = Clerk job-name-prosecutor = Prosecutor job-name-lawyer = Attorney job-name-courier = Courier +job-name-security-borg = Security Cyborg # Role timers JobMedicalBorg = Medical Cyborg @@ -11,3 +12,4 @@ JobCourier = Courier JobChiefJustice = Chief Justice JobClerk = Clerk JobProsecutor = Prosecutor +JobSecurityBorg = Security Cyborg diff --git a/Resources/Locale/en-US/deltav/job/job-supervisors.ftl b/Resources/Locale/en-US/deltav/job/job-supervisors.ftl index f1c0ade32a5..3cf44813098 100644 --- a/Resources/Locale/en-US/deltav/job/job-supervisors.ftl +++ b/Resources/Locale/en-US/deltav/job/job-supervisors.ftl @@ -1,2 +1 @@ job-supervisors-cj = the chief justice - diff --git a/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/jobs.yml b/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/jobs.yml index 512be9814ae..4f671e14b28 100644 --- a/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/jobs.yml +++ b/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/jobs.yml @@ -64,3 +64,18 @@ - state: green - sprite: DeltaV/Markers/jobs.rsi state: courier + +- type: entity + id: SpawnPointSecurityBorg + parent: SpawnPointJobBase + name: security cyborg + components: + - type: SpawnPoint + job_id: SecurityBorg + - type: Sprite + layers: + - state: green + - sprite: DeltaV/Mobs/Silicon/chassis.rsi + state: security + - sprite: DeltaV/Mobs/Silicon/chassis.rsi + state: security_e diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/Player/silicon.yml index d48cb332fe1..d0716a36170 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/Player/silicon.yml @@ -18,3 +18,24 @@ startingItem: PowerCellMedium - type: RandomMetadata nameSegments: [names_borg] + +- type: entity + parent: BorgChassisSecurity + id: PlayerBorgSecurity + suffix: Peacekeeper, Patrol, Bastion + components: + - type: ContainerFill + containers: + borg_brain: + - PositronicBrain + borg_module: + - BorgModuleSecurityPeacekeeper + - BorgModuleSecurityPatrol + - BorgModuleSecurityBastion + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellMedium + - type: RandomMetadata + nameSegments: [names_borg] # TODO: Make good names, this is a stupid list. diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Security/securityborg.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Security/securityborg.yml new file mode 100644 index 00000000000..c5b4d8660f4 --- /dev/null +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Security/securityborg.yml @@ -0,0 +1,15 @@ +- type: job + id: SecurityBorg + name: job-name-security-borg + description: job-description-security-borg + playTimeTracker: JobSecurityBorg + requirements: + - !type:OverallPlaytimeRequirement + time: 216000 #60 hrs + - !type:DepartmentTimeRequirement + department: Security + time: 72000 #20 hrs + canBeAntag: false + icon: JobIconSecurityBorg + supervisors: job-supervisors-everyone + jobEntity: PlayerBorgSecurity diff --git a/Resources/Prototypes/DeltaV/Roles/play_time_trackers.yml b/Resources/Prototypes/DeltaV/Roles/play_time_trackers.yml index 0909c6c4104..daa07419abf 100644 --- a/Resources/Prototypes/DeltaV/Roles/play_time_trackers.yml +++ b/Resources/Prototypes/DeltaV/Roles/play_time_trackers.yml @@ -15,3 +15,6 @@ - type: playTimeTracker id: JobCourier + +- type: playTimeTracker + id: JobSecurityBorg diff --git a/Resources/Prototypes/DeltaV/StatusEffects/job.yml b/Resources/Prototypes/DeltaV/StatusEffects/job.yml index 1b861504843..a7f1105f5bd 100644 --- a/Resources/Prototypes/DeltaV/StatusEffects/job.yml +++ b/Resources/Prototypes/DeltaV/StatusEffects/job.yml @@ -25,3 +25,10 @@ icon: sprite: /Textures/DeltaV/Interface/Misc/job_icons.rsi state: Prosecutor + +- type: statusIcon + parent: JobIcon + id: JobIconSecurityBorg + icon: + sprite: /Textures/DeltaV/Interface/Misc/job_icons.rsi + state: SecurityBorg diff --git a/Resources/Prototypes/Roles/Jobs/departments.yml b/Resources/Prototypes/Roles/Jobs/departments.yml index 5512fb2b330..664687576a5 100644 --- a/Resources/Prototypes/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/Roles/Jobs/departments.yml @@ -90,6 +90,7 @@ - Warden - PrisonGuard # Nyanotrasen - PrisonGuard, see Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml - Brigmedic # DeltaV - Brigmedic, see Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml + - SecurityBorg # Delta-V : Security Borg - type: department id: Epistemics # DeltaV - Epistemics Department replacing Science diff --git a/Resources/Textures/DeltaV/Interface/Misc/job_icons.rsi/SecurityBorg.png b/Resources/Textures/DeltaV/Interface/Misc/job_icons.rsi/SecurityBorg.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a57d23e08b34d42fcad183aea2f09175d32a50 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!C+4p#}JL+