From 78782ebb628f722ecbe300615d2810a7a314f52f Mon Sep 17 00:00:00 2001 From: LeviyNosok <100241277+LeviyNosok@users.noreply.github.com> Date: Wed, 22 Apr 2026 17:12:06 +0300 Subject: [PATCH 1/6] roles --- .../_Forge/Roles/Jobs/USSP/adjutant.yml | 49 +++++++++++++++++ .../_Forge/Roles/Jobs/USSP/agitator.yml | 49 +++++++++++++++++ .../_Forge/Roles/Jobs/USSP/comissar.yml | 55 +++++++++++++++++++ .../_Forge/Roles/Jobs/USSP/commandant.yml | 49 +++++++++++++++++ .../_Forge/Roles/Jobs/USSP/corpsman.yml | 50 +++++++++++++++++ .../_Forge/Roles/Jobs/USSP/guardsman.yml | 46 ++++++++++++++++ .../_Forge/Roles/Jobs/USSP/sapper.yml | 50 +++++++++++++++++ .../_Forge/Roles/Jobs/USSP/squadleader.yml | 50 +++++++++++++++++ .../_Forge/Roles/Jobs/USSP/trainee.yml | 50 +++++++++++++++++ 9 files changed, 448 insertions(+) create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml new file mode 100644 index 00000000000..ee045f011e5 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml @@ -0,0 +1,49 @@ +- type: job + id: USSPAdjutant + name: job-name-ussp-sergeant + description: job-description-ussp-sergeant + playTimeTracker: JobUSSPSergeant + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 54000 # 15 hours + - !type:OverallPlaytimeRequirement + time: 72000 # 20 hrs + startingGear: USSPSergeantGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconSeniorOfficer" # TODO - new USSP icons + supervisors: job-supervisors-ussp-commissars + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 30 + displayWeight: 30 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPHigh + +- type: startingGear + id: USSPSergeantGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml new file mode 100644 index 00000000000..93bb085ec08 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml @@ -0,0 +1,49 @@ +- type: job + id: USSPAgitator + name: job-name-ussp-corporal + description: job-description-ussp-corporal + playTimeTracker: JobUSSPCorporal + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 14400 # 4 hours + - !type:OverallPlaytimeRequirement + time: 14400 # 4 hrs + startingGear: USSPCorporalGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconSecurityOfficer" # TODO - new USSP icons + supervisors: job-supervisors-ussp-sergeant + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 20 + displayWeight: 20 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow + +- type: startingGear + id: USSPCorporalGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml new file mode 100644 index 00000000000..3141dad9795 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml @@ -0,0 +1,55 @@ +- type: job + id: USSPCommissarF #F stands for Forge. TODO: Rename into something better + name: job-name-ussp-commissar + description: job-description-ussp-commissar + playTimeTracker: JobUSSPCommissar + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 72000 # 20 hours + - !type:RoleTimeRequirement + role: JobUSSPSergeant + time: 10800 # 3 hrs + - !type:RoleTimeRequirement + role: JobUSSPMedic + time: 10800 # 3 hrs + - !type:OverallPlaytimeRequirement + time: 144000 # 40 hrs + startingGear: USSPCommissarGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconHeadOfSecurity" # TODO - new USSP icons + supervisors: job-supervisors-ussp-highcomm + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 40 + displayWeight: 40 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPAA + +- type: startingGear + id: USSPCommissarGear + equipment: + pocket1: WeaponRevolverMatebaAP + pocket2: SpeedLoader45_magnumAP + storage: + back: + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml new file mode 100644 index 00000000000..82be93f2a6d --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml @@ -0,0 +1,49 @@ +- type: job + id: USSPCommandant + name: job-name-ussp-sergeant + description: job-description-ussp-sergeant + playTimeTracker: JobUSSPSergeant + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 54000 # 15 hours + - !type:OverallPlaytimeRequirement + time: 72000 # 20 hrs + startingGear: USSPSergeantGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconSeniorOfficer" # TODO - new USSP icons + supervisors: job-supervisors-ussp-commissars + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 30 + displayWeight: 30 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPHigh + +- type: startingGear + id: USSPSergeantGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml new file mode 100644 index 00000000000..307283441c7 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml @@ -0,0 +1,50 @@ +- type: job + id: USSPMedicF #F stands for Forge + name: job-name-ussp-medic + description: job-description-ussp-medic + playTimeTracker: JobUSSPMedic + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 14400 # 4 hours + - !type:OverallPlaytimeRequirement + time: 14400 # 4 hrs + startingGear: USSPMedicGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconBrigmedic" # TODO - new USSP icons + supervisors: job-supervisors-ussp-sergeant + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 15 + displayWeight: 15 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow + +- type: startingGear + id: USSPMedicGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - MedkitCombatFilled + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml new file mode 100644 index 00000000000..4ffe6025b34 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml @@ -0,0 +1,46 @@ +- type: job + id: USSPRiflemanF #F stands for Forge + name: job-name-ussp-rifleman + description: job-description-ussp-rifleman + playTimeTracker: JobUSSPRifleman + requirements: + - !type:OverallPlaytimeRequirement + time: 32400 # 9 hrs + startingGear: USSPRiflemanGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconSecurityCadet" # TODO - new USSP icons + supervisors: job-supervisors-ussp-sergeant + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 10 + displayWeight: 10 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow + +- type: startingGear + id: USSPRiflemanGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml new file mode 100644 index 00000000000..4a7f71bf772 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml @@ -0,0 +1,50 @@ +- type: job + id: USSPSapper + name: job-name-ussp-medic + description: job-description-ussp-medic + playTimeTracker: JobUSSPMedic + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 14400 # 4 hours + - !type:OverallPlaytimeRequirement + time: 14400 # 4 hrs + startingGear: USSPMedicGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconBrigmedic" # TODO - new USSP icons + supervisors: job-supervisors-ussp-sergeant + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 15 + displayWeight: 15 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow + +- type: startingGear + id: USSPMedicGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - MedkitCombatFilled + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml new file mode 100644 index 00000000000..5d91e8a64d9 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml @@ -0,0 +1,50 @@ +- type: job + id: USSPSL + name: job-name-ussp-medic + description: job-description-ussp-medic + playTimeTracker: JobUSSPMedic + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 14400 # 4 hours + - !type:OverallPlaytimeRequirement + time: 14400 # 4 hrs + startingGear: USSPMedicGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconBrigmedic" # TODO - new USSP icons + supervisors: job-supervisors-ussp-sergeant + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 15 + displayWeight: 15 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow + +- type: startingGear + id: USSPMedicGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - MedkitCombatFilled + - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml new file mode 100644 index 00000000000..2e0523bc3dc --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml @@ -0,0 +1,50 @@ +- type: job + id: USSPTrainee + name: job-name-ussp-medic + description: job-description-ussp-medic + playTimeTracker: JobUSSPMedic + requirements: + - !type:DepartmentTimeRequirement + department: UnionOfSovietSocialistPlanets + time: 14400 # 4 hours + - !type:OverallPlaytimeRequirement + time: 14400 # 4 hrs + startingGear: USSPMedicGear + alwaysUseSpawner: true + hideConsoleVisibility: true + icon: "JobIconBrigmedic" # TODO - new USSP icons + supervisors: job-supervisors-ussp-sergeant + canBeAntag: false + # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete + weight: 15 + displayWeight: 15 + assignedCompany: USSP # Forge-Change: added assigned company + special: + - !type:AddImplantSpecial + implants: [ MindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow + +- type: startingGear + id: USSPMedicGear + equipment: + pocket1: WeaponPistolPollock + pocket2: Magazine9x19mmPistolFMJ + storage: + back: + - MedkitCombatFilled + - RadioHandheldNF From 913eb84ff929148afe94175d6b912fde2eb8fc96 Mon Sep 17 00:00:00 2001 From: LeviyNosok <100241277+LeviyNosok@users.noreply.github.com> Date: Wed, 22 Apr 2026 17:13:44 +0300 Subject: [PATCH 2/6] idk --- Resources/Locale/ru-RU/_Forge/job/job-names.ftl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Locale/ru-RU/_Forge/job/job-names.ftl b/Resources/Locale/ru-RU/_Forge/job/job-names.ftl index 68673f78c5d..e1aa7563ca7 100644 --- a/Resources/Locale/ru-RU/_Forge/job/job-names.ftl +++ b/Resources/Locale/ru-RU/_Forge/job/job-names.ftl @@ -73,3 +73,13 @@ job-name-tsf-crew = ТСФ Экипаж «Халкиона» job-name-tsf-crewofficer = ТСФ Офицер «Халкиона» job-name-nt-medic-pilot = Пилот TTI job-name-nt-medic-gunner = Стрелок TTI + +job-name-USSPCommissarF = СССП Комиссар +job-name-USSPAdjutant = СССП Адъютант +job-name-USSPCommandant = СССП Коммандант +job-name-USSPAgitator = СССП Агитатор +job-name-USSPSL = СССП Командир Звена +job-name-USSPMedicF = СССП Санитар +job-name-USSPSapper = СССП Сапёр +job-name-USSPRiflemanF = СССП Красноармеец +job-name-USSPTrainee = СССП Курсант From d76358a205612b0dbad7d80a45528d08fefe75e1 Mon Sep 17 00:00:00 2001 From: LeviyNosok Date: Tue, 23 Jun 2026 17:16:48 +0300 Subject: [PATCH 3/6] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=B8=20=D1=80=D0=BE=D0=BB=D0=B8=20USSP=20=D0=B2=20?= =?UTF-8?q?=D0=A1=D0=A1=D0=A1=D0=9F=20(SPN):=20=D0=B4=D0=BE=D0=BB=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D0=B8,=20=D0=BB=D0=BE=D0=B4=D0=B0?= =?UTF-8?q?=D1=83=D1=82=D1=8B,=20=D1=80=D0=B0=D0=B4=D0=B8=D0=BE=20=D0=B8?= =?UTF-8?q?=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Заменяет старые USSP-джобы на линейку SPN с гарнитурами, ключами шифрования, спавнерами и локализацией. Co-authored-by: Cursor --- .../Lobby/UI/HumanoidProfileEditor.xaml.cs | 3 + .../_Forge/GuardImplant/GuardSystem.cs | 3 +- .../_Forge/Company/FactionCompanyResolver.cs | 1 + .../_Forge/GuardImplant/GuardComponent.cs | 4 +- Resources/Locale/en-US/_Forge/cybernetics.ftl | 4 + .../communications-console-component.ftl | 2 +- .../ru-RU/_Forge/contractors/nationality.ftl | 4 +- Resources/Locale/ru-RU/_Forge/cybernetics.ftl | 4 + .../ru-RU/_Forge/job/job-description.ftl | 12 ++ .../Locale/ru-RU/_Forge/job/job-names.ftl | 18 +- .../devices/circuitboards/computer.ftl | 2 +- Resources/Locale/ru-RU/_Forge/radio.ftl | 2 + .../_Forge/catalog/fills/boxes/emergency.ftl | 6 + .../_Forge/clothing/ears/headsets.ftl | 6 + .../objects/devices/encryption_keys.ftl | 4 + Resources/Maps/_Mono/Test/dev_map.yml | 56 +++++ .../_Forge/Catalog/Fills/Boxes/emergency.yml | 30 +++ .../Entities/Clothing/Ears/headsets.yml | 32 +++ .../_Forge/Entities/Markers/Spawners/jobs.yml | 78 +++++++ .../Objects/Devices/encryption_keys.yml | 39 ++++ .../Entities/Objects/Misc/implanters.yml | 8 + .../Objects/Misc/subdermal_implants.yml | 12 ++ .../Computers/computers_job_preset.yml | 17 +- .../Structures/Machines/telecomms.yml | 13 ++ .../Prototypes/_Forge/Loadouts/SPN/ears.yml | 37 ++++ .../Prototypes/_Forge/Loadouts/SPN/head.yml | 7 + .../_Forge/Loadouts/SPN/loadout_groups.yml | 20 ++ .../_Forge/Loadouts/SPN/role_loadouts_spn.yml | 200 ++++++++++++++++++ .../_Forge/Roles/Jobs/SPN/corpsman.yml | 35 +++ .../_Forge/Roles/Jobs/SPN/council_member.yml | 41 ++++ .../_Forge/Roles/Jobs/SPN/fleet_officer.yml | 40 ++++ .../_Forge/Roles/Jobs/SPN/legacy_disable.yml | 19 ++ .../_Forge/Roles/Jobs/SPN/rifleman.yml | 40 ++++ .../_Forge/Roles/Jobs/SPN/sapper.yml | 35 +++ .../_Forge/Roles/Jobs/SPN/squad_leader.yml | 35 +++ .../_Forge/Roles/Jobs/SPN/starting_gear.yml | 47 ++++ .../_Forge/Roles/Jobs/SPN/survival.yml | 19 ++ .../_Forge/Roles/Jobs/SPN/trainee.yml | 37 ++++ .../_Forge/Roles/Jobs/SPN/union_diplomat.yml | 39 ++++ .../_Forge/Roles/Jobs/USSP/adjutant.yml | 49 ----- .../_Forge/Roles/Jobs/USSP/agitator.yml | 49 ----- .../_Forge/Roles/Jobs/USSP/comissar.yml | 55 ----- .../_Forge/Roles/Jobs/USSP/commandant.yml | 49 ----- .../_Forge/Roles/Jobs/USSP/corpsman.yml | 50 ----- .../_Forge/Roles/Jobs/USSP/guardsman.yml | 46 ---- .../_Forge/Roles/Jobs/USSP/sapper.yml | 50 ----- .../_Forge/Roles/Jobs/USSP/squadleader.yml | 50 ----- .../_Forge/Roles/Jobs/USSP/trainee.yml | 50 ----- .../_Forge/Roles/Jobs/departments.yml | 20 ++ .../_Forge/Roles/play_time_trackers.yml | 24 +++ .../Prototypes/_Forge/StatusIcon/job.yml | 66 ++++++ .../Prototypes/_Forge/StatusIcon/security.yml | 9 + Resources/Prototypes/_Forge/company.yml | 17 ++ .../Prototypes/_Forge/radio_channels.yml | 16 ++ Resources/Prototypes/_Mono/companies.yml | 19 +- Resources/Prototypes/_NF/Maps/debug.yml | 8 + .../Interface/Misc/job_icons.rsi/meta.json | 33 ++- .../Interface/Misc/job_icons.rsi/spn_com.png | Bin 0 -> 206 bytes .../Interface/Misc/job_icons.rsi/spn_curs.png | Bin 0 -> 186 bytes .../Misc/job_icons.rsi/spn_diplom.png | Bin 0 -> 202 bytes .../Interface/Misc/job_icons.rsi/spn_med.png | Bin 0 -> 214 bytes .../Misc/job_icons.rsi/spn_mindshield.png | Bin 0 -> 436 bytes .../Misc/job_icons.rsi/spn_officer.png | Bin 0 -> 256 bytes .../Misc/job_icons.rsi/spn_saper.png | Bin 0 -> 189 bytes .../Misc/job_icons.rsi/spn_soviet.png | Bin 0 -> 253 bytes .../Interface/Misc/job_icons.rsi/spn_walk.png | Bin 0 -> 188 bytes .../MindShield.png" | Bin 0 -> 436 bytes .../\320\241\320\241\320\241\320\237/com.png" | Bin 0 -> 206 bytes .../curs.png" | Bin 0 -> 186 bytes .../diplom.png" | Bin 0 -> 202 bytes .../\320\241\320\241\320\241\320\237/med.png" | Bin 0 -> 214 bytes .../officer.png" | Bin 0 -> 256 bytes .../saper.png" | Bin 0 -> 189 bytes .../soviet.rsi.png" | Bin 0 -> 253 bytes .../walk.png" | Bin 0 -> 188 bytes 75 files changed, 1184 insertions(+), 487 deletions(-) create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/ears.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/head.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/survival.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml create mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml create mode 100644 Resources/Prototypes/_Forge/StatusIcon/security.yml create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_com.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_curs.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_diplom.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_med.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_mindshield.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_officer.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_saper.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_soviet.png create mode 100644 Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_walk.png create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/MindShield.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/com.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/curs.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/diplom.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/med.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/officer.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/saper.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/soviet.rsi.png" create mode 100644 "Resources/Textures/Forge/\320\241\320\241\320\241\320\237/walk.png" diff --git a/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs b/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs index 9a4767bbf21..5ec94794a74 100644 --- a/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs +++ b/Content.Client/Lobby/UI/HumanoidProfileEditor.xaml.cs @@ -1555,6 +1555,9 @@ private void OpenLoadout(JobPrototype? jobProto, RoleLoadout roleLoadout, RoleLo JobOverride = jobProto; var session = _playerManager.LocalSession; + // Forge-Change: role loadouts can gain new groups after a profile was saved. + roleLoadout.EnsureValid(Profile, session, collection); + _loadoutWindow = new LoadoutWindow(Profile, roleLoadout, roleLoadoutProto, _playerManager.LocalSession, collection) { Title = jobProto?.LocalizedName + " loadout", // Mono - replace the "-" with a space in "-loadout", change to LocalizedName from ID diff --git a/Content.Server/_Forge/GuardImplant/GuardSystem.cs b/Content.Server/_Forge/GuardImplant/GuardSystem.cs index e9d83e686c3..8289d67e66b 100644 --- a/Content.Server/_Forge/GuardImplant/GuardSystem.cs +++ b/Content.Server/_Forge/GuardImplant/GuardSystem.cs @@ -12,7 +12,8 @@ namespace Content.Server._Forge.Guard; /// -/// Adds or removes the guard overlay component when the empire guard implant is inserted or removed. +/// Adds or removes the guard overlay component when a guard implant is inserted or removed. +/// Faction-specific guard icons are configured in implant YAML via SubdermalImplant.onAdd. /// public sealed class GuardSystem : EntitySystem { diff --git a/Content.Shared/_Forge/Company/FactionCompanyResolver.cs b/Content.Shared/_Forge/Company/FactionCompanyResolver.cs index ed028f89743..efbb904179a 100644 --- a/Content.Shared/_Forge/Company/FactionCompanyResolver.cs +++ b/Content.Shared/_Forge/Company/FactionCompanyResolver.cs @@ -17,6 +17,7 @@ public static class FactionCompanyResolver "Renegates", "Colonial", "MD", + "SPN", }; public static bool IsFactionCompany(string? companyId) => diff --git a/Content.Shared/_Forge/GuardImplant/GuardComponent.cs b/Content.Shared/_Forge/GuardImplant/GuardComponent.cs index bebd4b1fd97..cf1d667f173 100644 --- a/Content.Shared/_Forge/GuardImplant/GuardComponent.cs +++ b/Content.Shared/_Forge/GuardImplant/GuardComponent.cs @@ -4,9 +4,9 @@ namespace Content.Shared._Forge.Guard.Components; -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class GuardComponent : Component { - [DataField, ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)] public ProtoId GuardStatusIcon = "GuardIcon"; } diff --git a/Resources/Locale/en-US/_Forge/cybernetics.ftl b/Resources/Locale/en-US/_Forge/cybernetics.ftl index 7f150517541..2657394cb35 100644 --- a/Resources/Locale/en-US/_Forge/cybernetics.ftl +++ b/Resources/Locale/en-US/_Forge/cybernetics.ftl @@ -21,8 +21,12 @@ ent-ForgeRiplyRightHand = R.I.P.L.Y right hand .desc = A cybernetic right hand with reinforced fingertip anchors. It helps drag and carry heavy bodies only when paired with the matching hand. ent-ImplantGuard = guard implant .desc = A technological chip that shields loyal minds of the Holy Empire's subjects. +ent-SpnMindShieldImplant = SPN mindshield implant + .desc = A subdermal implant that shields SPN personnel from external influence and mind control devices. ent-GuardImplanter = guard implanter .desc = A disposable syringe preloaded with a guard implant. +ent-SpnMindShieldImplanter = SPN mindshield implanter + .desc = A disposable syringe preloaded with an SPN mindshield implant. ent-ForgeVoiceModuleImplanter = voice module implanter .desc = A disposable syringe preloaded with a configurable voice module implant. ent-ForgeCyberneticLiver = cybernetic liver diff --git a/Resources/Locale/ru-RU/_Forge/communications/communications-console-component.ftl b/Resources/Locale/ru-RU/_Forge/communications/communications-console-component.ftl index 20994d325ba..3a00df55a80 100644 --- a/Resources/Locale/ru-RU/_Forge/communications/communications-console-component.ftl +++ b/Resources/Locale/ru-RU/_Forge/communications/communications-console-component.ftl @@ -2,7 +2,7 @@ comms-console-announcement-title-renegate = ВКР comms-console-announcement-title-tsf = ТСФ comms-console-announcement-title-empire = СИВ -comms-console-announcement-title-ussp = СССП +comms-console-announcement-title-ussp = СПН comms-console-announcement-title-nt = НТ comms-console-announcement-title-tti = TTI comms-console-announcement-title-ads = ADS \ No newline at end of file diff --git a/Resources/Locale/ru-RU/_Forge/contractors/nationality.ftl b/Resources/Locale/ru-RU/_Forge/contractors/nationality.ftl index 5117aa5401d..3dcba896e35 100644 --- a/Resources/Locale/ru-RU/_Forge/contractors/nationality.ftl +++ b/Resources/Locale/ru-RU/_Forge/contractors/nationality.ftl @@ -5,8 +5,8 @@ nationality_description_solfed = Гражданин ТСФ. nationality_name_imperial = Священная Империя Вермиллионов nationality_description_imperial = Гражданин империи. -nationality_name_ussp = Союз Советских Социалистических Планет -nationality_description_ussp = Гражданин СССП. +nationality_name_ussp = Союз Прогрессивных Народов +nationality_description_ussp = Гражданин СПН. nationality_name_freecolonies = Свободные Колонии nationality_description_freecolonies = Гражданин Свободных Колоний. diff --git a/Resources/Locale/ru-RU/_Forge/cybernetics.ftl b/Resources/Locale/ru-RU/_Forge/cybernetics.ftl index 40dd1bcfd05..2d7dba190ea 100644 --- a/Resources/Locale/ru-RU/_Forge/cybernetics.ftl +++ b/Resources/Locale/ru-RU/_Forge/cybernetics.ftl @@ -8,6 +8,8 @@ reagent-effect-guidebook-transmutin-mutate-monkey = Мутирует обезь ent-ImplantGuard = имплант "Страж" .desc = Технологичный чип, защищающий светлые умы подданных Священной Империи +ent-SpnMindShieldImplant = имплант «щит разума» СПН + .desc = Подкожный имплант, защищающий разум бойца СПН от внешнего контроля и устройств влияния на сознание. ent-ForgeVoiceModuleImplant = голосовой модуль .desc = Настраиваемый подкожный TTS-модулятор голоса. Настройте его в руке до имплантации. ent-ForgeSubdermalArmorImplant = подкожная броня @@ -24,6 +26,8 @@ ent-ForgeRiplyRightHand = правая кисть R.I.P.L.Y .desc = Кибернетическая правая кисть с усиленными опорами в кончиках пальцев. Упрощает перетаскивание и перенос тяжёлых тел только в паре со второй кистью. ent-GuardImplanter = имплантер "Страж" .desc = Технологичный чип, защищающий светлые умы подданных Священной Империи +ent-SpnMindShieldImplanter = имплантер «щит разума» СПН + .desc = Одноразовый шприц с имплантом щита разума СПН. ent-ForgeVoiceModuleImplanter = имплантер голосового модуля .desc = Одноразовый шприц с настроенным голосовым модулем. ent-ForgeCyberneticLiver = кибернетическая печень diff --git a/Resources/Locale/ru-RU/_Forge/job/job-description.ftl b/Resources/Locale/ru-RU/_Forge/job/job-description.ftl index 74e10b3e9f3..b98af7407c5 100644 --- a/Resources/Locale/ru-RU/_Forge/job/job-description.ftl +++ b/Resources/Locale/ru-RU/_Forge/job/job-description.ftl @@ -66,3 +66,15 @@ job-description-tsf-Medic = Спасайте жизни своих товари job-description-tsf-sl = Командуйте приставленным в ваш отряд людьми и приведите их к победе. job-description-tsf-Crew = Обслуживайте Халкион, следите за питанием, изучайте РнД, производите снаряжение. job-description-tsf-crewofficer = Руководите экипажем Халкиона и будьте главным стрелком-наводчиком аванпоста. + +department-SPN-description = Военные и дипломатические силы Союза Прогрессивных Народов в секторе. +forge-job-desc-spn-council-member = Высшее командование СПН. Определяйте стратегию, распределяйте ресурсы и руководите флотом Союза. +forge-job-desc-spn-union-diplomat = Представляйте Союз Прогрессивных Народов в переговорах и ведите дипломатию от его имени. +forge-job-desc-spn-fleet-officer = Командуйте подразделениями СПН, поддерживайте дисциплину и исполняйте решения Совета. +forge-job-desc-spn-squad-leader = Командуйте звеном пехотинцев, ведите отряд в бой и выполняйте приказы офицеров. +forge-job-desc-spn-corpsman = Оказывайте медицинскую помощь бойцам СПН в полевых условиях. +forge-job-desc-spn-sapper = Уничтожайте укрепления врага, обезвреживайте мины и прокладывайте путь для наступления. +forge-job-desc-spn-rifleman = Основная боевая сила СПН. Исполняйте приказы командиров и держите линию фронта. +forge-job-desc-spn-trainee = Проходите подготовку, учитесь дисциплине и службе в рядах Союза Прогрессивных Народов. +job-supervisors-spn-council = члены совета СПН +job-supervisors-spn-fleet-officer = офицеры флота СПН diff --git a/Resources/Locale/ru-RU/_Forge/job/job-names.ftl b/Resources/Locale/ru-RU/_Forge/job/job-names.ftl index 53a81f1add9..7594c3ff423 100644 --- a/Resources/Locale/ru-RU/_Forge/job/job-names.ftl +++ b/Resources/Locale/ru-RU/_Forge/job/job-names.ftl @@ -2,6 +2,7 @@ department-Empire = Священная Империя Вермиллионов department-Renegates = Восставшие колонии Ренегатов department-TSF = Транс-Солнечная Федерация +department-SPN = Союз Прогрессивных Народов # Outpost forge-job-name-outpostmedic = Врач АФ @@ -84,12 +85,11 @@ job-name-tsf-crewofficer = ТСФ Офицер «Халкиона» job-name-nt-medic-pilot = Пилот TTI job-name-nt-medic-gunner = Стрелок TTI -job-name-USSPCommissarF = СССП Комиссар -job-name-USSPAdjutant = СССП Адъютант -job-name-USSPCommandant = СССП Коммандант -job-name-USSPAgitator = СССП Агитатор -job-name-USSPSL = СССП Командир Звена -job-name-USSPMedicF = СССП Санитар -job-name-USSPSapper = СССП Сапёр -job-name-USSPRiflemanF = СССП Красноармеец -job-name-USSPTrainee = СССП Курсант +forge-job-name-spn-council-member = СПН Член Совета +forge-job-name-spn-union-diplomat = СПН Дипломат Союза +forge-job-name-spn-fleet-officer = СПН Офицер Флота +forge-job-name-spn-squad-leader = СПН Командир Звена +forge-job-name-spn-corpsman = СПН Санитар +forge-job-name-spn-sapper = СПН Сапёр +forge-job-name-spn-rifleman = СПН Пехотинец +forge-job-name-spn-trainee = СПН Курсант diff --git a/Resources/Locale/ru-RU/_Forge/prototypes/entities/objects/devices/circuitboards/computer.ftl b/Resources/Locale/ru-RU/_Forge/prototypes/entities/objects/devices/circuitboards/computer.ftl index 19e09bf910f..8789894abc6 100644 --- a/Resources/Locale/ru-RU/_Forge/prototypes/entities/objects/devices/circuitboards/computer.ftl +++ b/Resources/Locale/ru-RU/_Forge/prototypes/entities/objects/devices/circuitboards/computer.ftl @@ -8,5 +8,5 @@ ent-TsfRankComputerCircuitboard = плата консоли должностей .desc = Печатная плата компьютера для консоли должностей ТСФ. ent-TtiRankComputerCircuitboard = плата консоли должностей TTI .desc = Печатная плата компьютера для консоли должностей TTI. -ent-UspRankComputerCircuitboard = плата консоли должностей USSP +ent-UspRankComputerCircuitboard = плата консоли должностей СПН .desc = Печатная плата компьютера для консоли должностей USSP. diff --git a/Resources/Locale/ru-RU/_Forge/radio.ftl b/Resources/Locale/ru-RU/_Forge/radio.ftl index 24f7e94c99e..69f1ab861d4 100644 --- a/Resources/Locale/ru-RU/_Forge/radio.ftl +++ b/Resources/Locale/ru-RU/_Forge/radio.ftl @@ -23,3 +23,5 @@ chat-radio-tl = TechnicLogistic chat-radio-harmony = Harmony chat-radio-drake-industries = Drake Industries chat-radio-nexus = Nexus +chat-radio-spn = ТАККОММ СПН +chat-radio-spn-command = СТРАТКОММ СПН diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/catalog/fills/boxes/emergency.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/catalog/fills/boxes/emergency.ftl index 5e9c5c16af8..70f102fa7d4 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/catalog/fills/boxes/emergency.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/catalog/fills/boxes/emergency.ftl @@ -4,3 +4,9 @@ ent-EmpireBoxSurvivalMonoNitrogenExtended = { ent-BoxSurvivalMonoNitrogenExtende ent-EmpireBoxSurvivalMonoOxygenExtended = { ent-BoxSurvivalMonoOxygenExtended } .desc = { ent-BoxSurvivalMonoOxygenExtended.desc } .suffix = Кислород, Империя +ent-SpnBoxSurvivalMonoNitrogenExtended = { ent-BoxSurvivalMonoNitrogenExtended } + .desc = { ent-BoxSurvivalMonoNitrogenExtended.desc } + .suffix = Азот, СПН +ent-SpnBoxSurvivalMonoOxygenExtended = { ent-BoxSurvivalMonoOxygenExtended } + .desc = { ent-BoxSurvivalMonoOxygenExtended.desc } + .suffix = Кислород, СПН diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/ears/headsets.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/ears/headsets.ftl index 330d63e5c1d..2e7710132c1 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/ears/headsets.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/ears/headsets.ftl @@ -22,3 +22,9 @@ ent-ClothingHeadsetRenegade = гарнитура ренегатов ent-ClothingHeadsetMdMedical = медицинская гарнитура TTI .desc = Гарнитура с особым ключом шифрования для сотрудников Травмы Тима. + +ent-ClothingHeadsetSpn = гарнитура СПН + .desc = Модульная гарнитура СПН с тактическим ключом шифрования. + +ent-ClothingHeadsetSpnCommand = командная гарнитура СПН + .desc = Командная гарнитура СПН с тактическим и командным ключами шифрования. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/encryption_keys.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/encryption_keys.ftl index 98977d4f40b..7ed2cc64521 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/encryption_keys.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/encryption_keys.ftl @@ -55,3 +55,7 @@ ent-EncryptionKeyTsfTech = технический ключ шифрования ent-EncryptionKeyTsfCom = командный ключ шифрования ТСФ .desc = { ent-EncryptionKeyNfsd.desc } +ent-EncryptionKeySpn = ключ шифрования СПН + .desc = Ключ шифрования тактического канала Союза Прогрессивных Народов. +ent-EncryptionKeySpnCommand = командный ключ шифрования СПН + .desc = Ключ шифрования командного состава СПН. Открывает тактический и командный каналы. diff --git a/Resources/Maps/_Mono/Test/dev_map.yml b/Resources/Maps/_Mono/Test/dev_map.yml index bb07a8831c5..aaa5b1741f5 100644 --- a/Resources/Maps/_Mono/Test/dev_map.yml +++ b/Resources/Maps/_Mono/Test/dev_map.yml @@ -8007,6 +8007,62 @@ entities: - type: Transform pos: -4.5,2.5 parent: 2 +- proto: ForgeSpawnPointSpnTrainee + entities: + - uid: 100010 + components: + - type: Transform + pos: -5.5,6.5 + parent: 2 +- proto: ForgeSpawnPointSpnRifleman + entities: + - uid: 100011 + components: + - type: Transform + pos: -5.5,5.5 + parent: 2 +- proto: ForgeSpawnPointSpnFleetOfficer + entities: + - uid: 100012 + components: + - type: Transform + pos: -5.5,4.5 + parent: 2 +- proto: ForgeSpawnPointSpnCouncilMember + entities: + - uid: 100013 + components: + - type: Transform + pos: -5.5,3.5 + parent: 2 +- proto: ForgeSpawnPointSpnUnionDiplomat + entities: + - uid: 100014 + components: + - type: Transform + pos: -5.5,2.5 + parent: 2 +- proto: ForgeSpawnPointSpnSquadLeader + entities: + - uid: 100015 + components: + - type: Transform + pos: -5.5,1.5 + parent: 2 +- proto: ForgeSpawnPointSpnCorpsman + entities: + - uid: 100016 + components: + - type: Transform + pos: -5.5,0.5 + parent: 2 +- proto: ForgeSpawnPointSpnSapper + entities: + - uid: 100017 + components: + - type: Transform + pos: -5.5,-0.5 + parent: 2 - proto: SpawnPointSecurityGuard entities: - uid: 1148 diff --git a/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml b/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml index bd7d2bd9b74..c8560101686 100644 --- a/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml +++ b/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml @@ -57,3 +57,33 @@ - id: MonoMRE # Mono - replace PSB and water bottle w/ MRE - id: CrowbarPocket - id: HandHeldMassScanner + +- type: entity + parent: BoxBaseSurvivalMono + id: SpnBoxSurvivalMonoOxygenExtended + suffix: Oxygen, SPN + components: + - type: StorageFill + contents: + - id: DoubleEmergencyOxygenTankFilled + - id: SpaceMedipen + - id: EmergencyMedipen + - id: ClothingMaskGasSecurity + - id: MonoMRE + - id: CrowbarPocket + - id: HandHeldMassScanner + +- type: entity + parent: BoxBaseSurvivalMono + id: SpnBoxSurvivalMonoNitrogenExtended + suffix: Nitrogen, SPN + components: + - type: StorageFill + contents: + - id: DoubleEmergencyNitrogenTankFilled + - id: SpaceMedipen + - id: EmergencyMedipen + - id: ClothingMaskGasSecurity + - id: MonoMRE + - id: CrowbarPocket + - id: HandHeldMassScanner diff --git a/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml b/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml index 7e509a23dd7..7a52a4c18d1 100644 --- a/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml +++ b/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml @@ -214,3 +214,35 @@ - EncryptionKeyNfsd - EncryptionKeyTsfTech - EncryptionKeyTsfCom + +- type: entity + parent: ClothingHeadsetAlt + id: ClothingHeadsetSpn + name: SPN headset + suffix: СПН + components: + - type: Sprite + sprite: Clothing/Ears/Headsets/security.rsi + - type: Clothing + sprite: Clothing/Ears/Headsets/security.rsi + - type: ContainerFill + containers: + key_slots: + - EncryptionKeyCommon + - EncryptionKeySpn + +- type: entity + parent: ClothingHeadsetAlt + id: ClothingHeadsetSpnCommand + name: SPN command headset + suffix: СПН + components: + - type: Sprite + sprite: Clothing/Ears/Headsets/security.rsi + - type: Clothing + sprite: Clothing/Ears/Headsets/security.rsi + - type: ContainerFill + containers: + key_slots: + - EncryptionKeyCommon + - EncryptionKeySpnCommand diff --git a/Resources/Prototypes/_Forge/Entities/Markers/Spawners/jobs.yml b/Resources/Prototypes/_Forge/Entities/Markers/Spawners/jobs.yml index 1a4076aa06e..27b6ebdcf80 100644 --- a/Resources/Prototypes/_Forge/Entities/Markers/Spawners/jobs.yml +++ b/Resources/Prototypes/_Forge/Entities/Markers/Spawners/jobs.yml @@ -201,3 +201,81 @@ components: - type: SpawnPoint job_id: TsfRecruit + +- type: entity + id: ForgeSpawnPointSpnTrainee + parent: SpawnPointJobBase + name: spawn point Spn Trainee + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnTrainee + - type: Sprite + layers: + - sprite: Markers/jobs.rsi + state: green + - sprite: Structures/Decoration/banner.rsi + state: banner-red + +- type: entity + id: ForgeSpawnPointSpnRifleman + parent: ForgeSpawnPointSpnTrainee + name: spawn point Spn Rifleman + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnRifleman + +- type: entity + id: ForgeSpawnPointSpnFleetOfficer + parent: ForgeSpawnPointSpnTrainee + name: spawn point Spn Fleet Officer + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnFleetOfficer + +- type: entity + id: ForgeSpawnPointSpnCouncilMember + parent: ForgeSpawnPointSpnTrainee + name: spawn point Spn Council Member + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnCouncilMember + +- type: entity + id: ForgeSpawnPointSpnUnionDiplomat + parent: ForgeSpawnPointSpnTrainee + name: spawn point Spn Union Diplomat + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnUnionDiplomat + +- type: entity + id: ForgeSpawnPointSpnSquadLeader + parent: ForgeSpawnPointSpnTrainee + name: spawn point Spn Squad Leader + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnSquadLeader + +- type: entity + id: ForgeSpawnPointSpnCorpsman + parent: ForgeSpawnPointSpnTrainee + name: spawn point Spn Corpsman + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnCorpsman + +- type: entity + id: ForgeSpawnPointSpnSapper + parent: ForgeSpawnPointSpnTrainee + name: spawn point Spn Sapper + suffix: СПН + components: + - type: SpawnPoint + job_id: SpnSapper diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Devices/encryption_keys.yml b/Resources/Prototypes/_Forge/Entities/Objects/Devices/encryption_keys.yml index 37cbde71806..8ac8e923315 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Devices/encryption_keys.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Devices/encryption_keys.yml @@ -379,3 +379,42 @@ layers: - state: crypt_nexus - state: nexus_label + +- type: entity + parent: EncryptionKey + id: EncryptionKeySpn + suffix: СПН + name: SPN encryption key + description: An encryption key for SPN tactical communications. + components: + - type: EncryptionKey + channels: + - Spn + defaultChannel: Spn + - type: Item + sprite: Forge/Objects/Devices/encryption_keys.rsi + - type: Sprite + sprite: Forge/Objects/Devices/encryption_keys.rsi + layers: + - state: crypt_rusted + - state: ussp_label + +- type: entity + parent: EncryptionKey + id: EncryptionKeySpnCommand + suffix: СПН + name: SPN command encryption key + description: An encryption key for SPN command staff. Grants tactical and command net access. + components: + - type: EncryptionKey + channels: + - Spn + - SpnCommand + defaultChannel: SpnCommand + - type: Item + sprite: Forge/Objects/Devices/encryption_keys.rsi + - type: Sprite + sprite: Forge/Objects/Devices/encryption_keys.rsi + layers: + - state: crypt_red_alt + - state: ussp_label diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml b/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml index 7a509df14d7..481b16fac7e 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml @@ -21,6 +21,14 @@ components: - type: Implanter implant: ImplantGuard + +- type: entity + id: SpnMindShieldImplanter + parent: BaseImplantOnlyImplanter + suffix: SPN mindshield + components: + - type: Implanter + implant: SpnMindShieldImplant # Factions tracking implanters - type: entity diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml index c92d76b7a05..1aaf6df2c21 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml @@ -81,6 +81,18 @@ permanent: false - type: GuardImplant +- type: entity + parent: ImplantGuard + id: SpnMindShieldImplant + suffix: СПН + categories: [ HideSpawnMenu ] + components: + - type: SubdermalImplant + permanent: false + onAdd: + - type: Guard + guardStatusIcon: SpnMindShieldIcon + # Factions Tracking Implants - type: entity parent: BaseSubdermalImplant diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Machines/Computers/computers_job_preset.yml b/Resources/Prototypes/_Forge/Entities/Structures/Machines/Computers/computers_job_preset.yml index fc7f31c4354..0bc1d986588 100644 --- a/Resources/Prototypes/_Forge/Entities/Structures/Machines/Computers/computers_job_preset.yml +++ b/Resources/Prototypes/_Forge/Entities/Structures/Machines/Computers/computers_job_preset.yml @@ -155,16 +155,19 @@ - type: entity parent: BaseComputerJobPreset id: ComputerUspRank - name: Консоль должностей СССП - description: Терминал для назначения должностей СССП и предустановленных доступов. + name: Консоль должностей СПН + description: Терминал для назначения должностей Союза Прогрессивных Народов и предустановленных доступов. components: - type: JobPresetIdCardConsole + bodyImplants: + - SpnMindShieldImplant rankPresets: - - USSPCommissar - - USSPSergeant - - USSPMedic - - USSPCorporal - - USSPRifleman + - SpnFleetOfficer + - SpnSquadLeader + - SpnCorpsman + - SpnSapper + - SpnRifleman + - SpnTrainee - type: Sprite sprite: Structures/Machines/computers.rsi layers: diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Machines/telecomms.yml b/Resources/Prototypes/_Forge/Entities/Structures/Machines/telecomms.yml index f897569efb7..599c62ba125 100644 --- a/Resources/Prototypes/_Forge/Entities/Structures/Machines/telecomms.yml +++ b/Resources/Prototypes/_Forge/Entities/Structures/Machines/telecomms.yml @@ -23,3 +23,16 @@ key_slots: - EncryptionKeyEmpire - EncryptionKeyEmpireCommand + +- type: entity + parent: TelecomServer + id: TelecomServerSpn + name: SPN telecom server + suffix: СПН + components: + - type: ContainerFill + containers: + key_slots: + - EncryptionKeyCommon + - EncryptionKeySpn + - EncryptionKeySpnCommand diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/ears.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/ears.yml new file mode 100644 index 00000000000..e06dda50e0d --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/ears.yml @@ -0,0 +1,37 @@ +- type: loadout + id: SpnHeadset + effects: + - !type:SpeciesBlacklistLoadoutEffect + blacklist: + - IPC + equipment: + ears: ClothingHeadsetSpn + +- type: loadout + id: SpnHeadsetCommand + effects: + - !type:SpeciesBlacklistLoadoutEffect + blacklist: + - IPC + equipment: + ears: ClothingHeadsetSpnCommand + +- type: loadoutGroup + id: SpnEars + name: loadout-group-contractor-ears + hidden: true + minLimit: 1 + loadouts: + - SpnHeadset + fallbacks: + - SpnHeadset + +- type: loadoutGroup + id: SpnEarsCommand + name: loadout-group-contractor-ears + hidden: true + minLimit: 1 + loadouts: + - SpnHeadsetCommand + fallbacks: + - SpnHeadsetCommand diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/head.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/head.yml new file mode 100644 index 00000000000..9c998455d2c --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/head.yml @@ -0,0 +1,7 @@ +- type: loadoutGroup + id: SpnHeadTrainee + name: loadout-group-contractor-head + minLimit: 0 + loadouts: + - USSPHelmet + - ContractorClothingHeadHatUshanka diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml new file mode 100644 index 00000000000..c29893aeeea --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml @@ -0,0 +1,20 @@ +- type: loadoutGroup + id: USSPJumpsuit + name: loadout-group-contractor-jumpsuit + minLimit: 1 + loadouts: + - USSPClothingJumpsuit + fallbacks: + - USSPClothingJumpsuit + +- type: loadoutGroup + id: SpnBoxSurvival + name: loadout-group-contractor-survival-box + hidden: true + minLimit: 1 + loadouts: + - SpnBoxSurvivalNFOxygenExtended + - SpnBoxSurvivalNFNitrogenExtended + fallbacks: + - SpnBoxSurvivalNFOxygenExtended + - SpnBoxSurvivalNFNitrogenExtended diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml new file mode 100644 index 00000000000..69cf13db3b0 --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml @@ -0,0 +1,200 @@ +- type: roleLoadout + id: JobSpnCouncilMember + groups: + - USSPJumpsuit + - TsfmcGloves + - USSPBackpackSergeant + - USSPOuterClothingOfficer + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - USSPBelt + - SpnBoxSurvival + - USSPCommissarPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - USSPHeadCommissar + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true + +- type: roleLoadout + id: JobSpnUnionDiplomat + groups: + - USSPJumpsuit + - TsfmcGloves + - USSPBackpack + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - USSPBelt + - SpnBoxSurvival + - USSPSergeantPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - USSPOuterClothingOfficer + - USSPHeadOfficer + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true + +- type: roleLoadout + id: JobSpnFleetOfficer + groups: + - USSPJumpsuit + - TsfmcGloves + - USSPBackpack + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - USSPBelt + - SpnBoxSurvival + - USSPSergeantPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - USSPOuterClothingOfficer + - USSPHeadOfficer + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true + +- type: roleLoadout + id: JobSpnSquadLeader + groups: + - USSPHead + - USSPJumpsuit + - TsfmcGloves + - USSPBackpack + - USSPOuterClothing + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - USSPBelt + - SpnBoxSurvival + - USSPCorporalPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true + +- type: roleLoadout + id: JobSpnCorpsman + groups: + - USSPHead + - USSPJumpsuit + - TsfmcBrigmedicGloves + - USSPBackpack + - USSPOuterClothing + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - SpnBoxSurvival + - USSPMedicPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - USSPMedhud + - USSPBeltMedic + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true + +- type: roleLoadout + id: JobSpnSapper + groups: + - USSPHead + - USSPJumpsuit + - TsfmcGloves + - USSPBackpack + - USSPOuterClothing + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - USSPBelt + - SpnBoxSurvival + - USSPCorporalPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true + +- type: roleLoadout + id: JobSpnRifleman + groups: + - USSPHead + - USSPJumpsuit + - TsfmcGloves + - USSPBackpack + - TsfmcOuterClothing + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - USSPBelt + - SpnBoxSurvival + - USSPRiflemanPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true + +- type: roleLoadout + id: JobSpnTrainee + groups: + - SpnHeadTrainee + - USSPJumpsuit + - TsfmcGloves + - USSPBackpack + - TsfmcOuterClothing + - TsfmcShoes + - TsfmcFace + - TsfmcBalaclava + - USSPBelt + - SpnBoxSurvival + - USSPRiflemanPDA + - ContractorWallet + - ContractorCartridge + - ContractorEncryptionKey + - ContractorFun + - ContractorTrinkets + - NfsdSpeciesSpecific + - UsspFirearm + - UsspMag + - FactionArmorPlates + canCustomizeName: true diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml new file mode 100644 index 00000000000..e54726456fa --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml @@ -0,0 +1,35 @@ +- type: job + id: SpnCorpsman + name: forge-job-name-spn-corpsman + description: forge-job-desc-spn-corpsman + playTimeTracker: JobSpnCorpsman + startingGear: SpnCorpsmanGear + alwaysUseSpawner: true + setPreference: false + overrideConsoleVisibility: true + icon: JobIconSpnCorpsman + supervisors: job-supervisors-spn-fleet-officer + canBeAntag: false + weight: 95 + displayWeight: 40 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml new file mode 100644 index 00000000000..5bdd3c0d953 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml @@ -0,0 +1,41 @@ +- type: job + id: SpnCouncilMember + name: forge-job-name-spn-council-member + description: forge-job-desc-spn-council-member + playTimeTracker: JobSpnCouncilMember + requirements: + - !type:OverallPlaytimeRequirement + time: 129600 + - !type:RoleTimeRequirement + role: JobSpnFleetOfficer + time: 64800 + startingGear: SpnCouncilMemberGear + alwaysUseSpawner: true + hideConsoleVisibility: true + setPreference: true + icon: JobIconSpnCouncilMember + supervisors: job-supervisors-spn-council + canBeAntag: false + weight: 180 + displayWeight: 60 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPAA diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml new file mode 100644 index 00000000000..1ee02191ea2 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml @@ -0,0 +1,40 @@ +- type: job + id: SpnFleetOfficer + name: forge-job-name-spn-fleet-officer + description: forge-job-desc-spn-fleet-officer + playTimeTracker: JobSpnFleetOfficer + requirements: + - !type:OverallPlaytimeRequirement + time: 48000 + - !type:DepartmentTimeRequirement + department: SPN + time: 43200 + startingGear: SpnFleetOfficerGear + alwaysUseSpawner: true + setPreference: true + icon: JobIconSpnFleetOfficer + supervisors: job-supervisors-spn-council + canBeAntag: false + weight: 130 + displayWeight: 50 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPHigh diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml new file mode 100644 index 00000000000..9d0846d7243 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml @@ -0,0 +1,19 @@ +- type: job + id: USSPCommissar + setPreference: false + +- type: job + id: USSPSergeant + setPreference: false + +- type: job + id: USSPCorporal + setPreference: false + +- type: job + id: USSPMedic + setPreference: false + +- type: job + id: USSPRifleman + setPreference: false diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml new file mode 100644 index 00000000000..ed85ecfa4d8 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml @@ -0,0 +1,40 @@ +- type: job + id: SpnRifleman + name: forge-job-name-spn-rifleman + description: forge-job-desc-spn-rifleman + playTimeTracker: JobSpnRifleman + requirements: + - !type:OverallPlaytimeRequirement + time: 72000 + - !type:RoleTimeRequirement + role: JobSpnTrainee + time: 18000 + startingGear: SpnRiflemanGear + alwaysUseSpawner: true + setPreference: true + icon: JobIconSpnRifleman + supervisors: job-supervisors-spn-fleet-officer + canBeAntag: false + weight: 70 + displayWeight: 30 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml new file mode 100644 index 00000000000..44575c242b9 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml @@ -0,0 +1,35 @@ +- type: job + id: SpnSapper + name: forge-job-name-spn-sapper + description: forge-job-desc-spn-sapper + playTimeTracker: JobSpnSapper + startingGear: SpnSapperGear + alwaysUseSpawner: true + setPreference: false + overrideConsoleVisibility: true + icon: JobIconSpnSapper + supervisors: job-supervisors-spn-fleet-officer + canBeAntag: false + weight: 85 + displayWeight: 38 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml new file mode 100644 index 00000000000..32fa9644d32 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml @@ -0,0 +1,35 @@ +- type: job + id: SpnSquadLeader + name: forge-job-name-spn-squad-leader + description: forge-job-desc-spn-squad-leader + playTimeTracker: JobSpnSquadLeader + startingGear: SpnSquadLeaderGear + alwaysUseSpawner: true + setPreference: false + overrideConsoleVisibility: true + icon: JobIconSpnSquadLeader + supervisors: job-supervisors-spn-fleet-officer + canBeAntag: false + weight: 110 + displayWeight: 45 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml new file mode 100644 index 00000000000..21fafcf12bc --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml @@ -0,0 +1,47 @@ +- type: startingGear + parent: USSPCommissarGear + id: SpnCouncilMemberGear + equipment: + ears: ClothingHeadsetSpnCommand + +- type: startingGear + parent: USSPSergeantGear + id: SpnFleetOfficerGear + equipment: + ears: ClothingHeadsetSpnCommand + +- type: startingGear + parent: USSPSergeantGear + id: SpnUnionDiplomatGear + equipment: + ears: ClothingHeadsetSpn + +- type: startingGear + parent: USSPCorporalGear + id: SpnSquadLeaderGear + equipment: + ears: ClothingHeadsetSpn + +- type: startingGear + parent: USSPMedicGear + id: SpnCorpsmanGear + equipment: + ears: ClothingHeadsetSpn + +- type: startingGear + parent: USSPCorporalGear + id: SpnSapperGear + equipment: + ears: ClothingHeadsetSpn + +- type: startingGear + parent: USSPRiflemanGear + id: SpnRiflemanGear + equipment: + ears: ClothingHeadsetSpn + +- type: startingGear + parent: USSPRiflemanGear + id: SpnTraineeGear + equipment: + ears: ClothingHeadsetSpn diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/survival.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/survival.yml new file mode 100644 index 00000000000..b6776123e0b --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/survival.yml @@ -0,0 +1,19 @@ +- type: loadout + id: SpnBoxSurvivalNFOxygenExtended + name: extended-oxygen survival box + hideEffects: + - !type:GroupLoadoutEffect + proto: OxygenBreatherNF + storage: + back: + - SpnBoxSurvivalMonoOxygenExtended + +- type: loadout + id: SpnBoxSurvivalNFNitrogenExtended + name: extended-nitrogen survival box + hideEffects: + - !type:GroupLoadoutEffect + proto: NitrogenBreatherNF + storage: + back: + - SpnBoxSurvivalMonoNitrogenExtended diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml new file mode 100644 index 00000000000..ed7c7f275a7 --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml @@ -0,0 +1,37 @@ +- type: job + id: SpnTrainee + name: forge-job-name-spn-trainee + description: forge-job-desc-spn-trainee + playTimeTracker: JobSpnTrainee + requirements: + - !type:OverallPlaytimeRequirement + time: 21600 + startingGear: SpnTraineeGear + alwaysUseSpawner: true + setPreference: true + icon: JobIconSpnTrainee + supervisors: job-supervisors-spn-fleet-officer + canBeAntag: false + weight: 50 + displayWeight: 25 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPLow diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml new file mode 100644 index 00000000000..ad56ef41e9a --- /dev/null +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml @@ -0,0 +1,39 @@ +- type: job + id: SpnUnionDiplomat + name: forge-job-name-spn-union-diplomat + description: forge-job-desc-spn-union-diplomat + playTimeTracker: JobSpnUnionDiplomat + requirements: + - !type:OverallPlaytimeRequirement + time: 43200 + whitelisted: true + startingGear: SpnUnionDiplomatGear + alwaysUseSpawner: true + hideConsoleVisibility: true + setPreference: true + icon: JobIconSpnUnionDiplomat + supervisors: job-supervisors-spn-council + canBeAntag: false + weight: 160 + displayWeight: 55 + assignedCompany: SPN + assignedNationality: USSP + special: + - !type:AddImplantSpecial + implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + - !type:AddComponentSpecial + components: + - type: MailDisabled + - type: SpecialSectorStationRecord + recordGeneration: FalseRecord + - type: NpcFactionMember + factions: + - USSP + - !type:AddLanguageSpecial + languagesSpoken: + - NovaCygniBasic + languagesUnderstood: + - NovaCygniBasic + accessGroups: + - GeneralAccess + - USSPHigh diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml deleted file mode 100644 index ee045f011e5..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/adjutant.yml +++ /dev/null @@ -1,49 +0,0 @@ -- type: job - id: USSPAdjutant - name: job-name-ussp-sergeant - description: job-description-ussp-sergeant - playTimeTracker: JobUSSPSergeant - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 54000 # 15 hours - - !type:OverallPlaytimeRequirement - time: 72000 # 20 hrs - startingGear: USSPSergeantGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconSeniorOfficer" # TODO - new USSP icons - supervisors: job-supervisors-ussp-commissars - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 30 - displayWeight: 30 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPHigh - -- type: startingGear - id: USSPSergeantGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml deleted file mode 100644 index 93bb085ec08..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/agitator.yml +++ /dev/null @@ -1,49 +0,0 @@ -- type: job - id: USSPAgitator - name: job-name-ussp-corporal - description: job-description-ussp-corporal - playTimeTracker: JobUSSPCorporal - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 14400 # 4 hours - - !type:OverallPlaytimeRequirement - time: 14400 # 4 hrs - startingGear: USSPCorporalGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconSecurityOfficer" # TODO - new USSP icons - supervisors: job-supervisors-ussp-sergeant - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 20 - displayWeight: 20 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPLow - -- type: startingGear - id: USSPCorporalGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml deleted file mode 100644 index 3141dad9795..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/comissar.yml +++ /dev/null @@ -1,55 +0,0 @@ -- type: job - id: USSPCommissarF #F stands for Forge. TODO: Rename into something better - name: job-name-ussp-commissar - description: job-description-ussp-commissar - playTimeTracker: JobUSSPCommissar - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 72000 # 20 hours - - !type:RoleTimeRequirement - role: JobUSSPSergeant - time: 10800 # 3 hrs - - !type:RoleTimeRequirement - role: JobUSSPMedic - time: 10800 # 3 hrs - - !type:OverallPlaytimeRequirement - time: 144000 # 40 hrs - startingGear: USSPCommissarGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconHeadOfSecurity" # TODO - new USSP icons - supervisors: job-supervisors-ussp-highcomm - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 40 - displayWeight: 40 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPAA - -- type: startingGear - id: USSPCommissarGear - equipment: - pocket1: WeaponRevolverMatebaAP - pocket2: SpeedLoader45_magnumAP - storage: - back: - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml deleted file mode 100644 index 82be93f2a6d..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/commandant.yml +++ /dev/null @@ -1,49 +0,0 @@ -- type: job - id: USSPCommandant - name: job-name-ussp-sergeant - description: job-description-ussp-sergeant - playTimeTracker: JobUSSPSergeant - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 54000 # 15 hours - - !type:OverallPlaytimeRequirement - time: 72000 # 20 hrs - startingGear: USSPSergeantGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconSeniorOfficer" # TODO - new USSP icons - supervisors: job-supervisors-ussp-commissars - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 30 - displayWeight: 30 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPHigh - -- type: startingGear - id: USSPSergeantGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml deleted file mode 100644 index 307283441c7..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/corpsman.yml +++ /dev/null @@ -1,50 +0,0 @@ -- type: job - id: USSPMedicF #F stands for Forge - name: job-name-ussp-medic - description: job-description-ussp-medic - playTimeTracker: JobUSSPMedic - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 14400 # 4 hours - - !type:OverallPlaytimeRequirement - time: 14400 # 4 hrs - startingGear: USSPMedicGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconBrigmedic" # TODO - new USSP icons - supervisors: job-supervisors-ussp-sergeant - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 15 - displayWeight: 15 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPLow - -- type: startingGear - id: USSPMedicGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - MedkitCombatFilled - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml deleted file mode 100644 index 4ffe6025b34..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/guardsman.yml +++ /dev/null @@ -1,46 +0,0 @@ -- type: job - id: USSPRiflemanF #F stands for Forge - name: job-name-ussp-rifleman - description: job-description-ussp-rifleman - playTimeTracker: JobUSSPRifleman - requirements: - - !type:OverallPlaytimeRequirement - time: 32400 # 9 hrs - startingGear: USSPRiflemanGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconSecurityCadet" # TODO - new USSP icons - supervisors: job-supervisors-ussp-sergeant - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 10 - displayWeight: 10 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPLow - -- type: startingGear - id: USSPRiflemanGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml deleted file mode 100644 index 4a7f71bf772..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/sapper.yml +++ /dev/null @@ -1,50 +0,0 @@ -- type: job - id: USSPSapper - name: job-name-ussp-medic - description: job-description-ussp-medic - playTimeTracker: JobUSSPMedic - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 14400 # 4 hours - - !type:OverallPlaytimeRequirement - time: 14400 # 4 hrs - startingGear: USSPMedicGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconBrigmedic" # TODO - new USSP icons - supervisors: job-supervisors-ussp-sergeant - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 15 - displayWeight: 15 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPLow - -- type: startingGear - id: USSPMedicGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - MedkitCombatFilled - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml deleted file mode 100644 index 5d91e8a64d9..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/squadleader.yml +++ /dev/null @@ -1,50 +0,0 @@ -- type: job - id: USSPSL - name: job-name-ussp-medic - description: job-description-ussp-medic - playTimeTracker: JobUSSPMedic - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 14400 # 4 hours - - !type:OverallPlaytimeRequirement - time: 14400 # 4 hrs - startingGear: USSPMedicGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconBrigmedic" # TODO - new USSP icons - supervisors: job-supervisors-ussp-sergeant - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 15 - displayWeight: 15 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPLow - -- type: startingGear - id: USSPMedicGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - MedkitCombatFilled - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml b/Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml deleted file mode 100644 index 2e0523bc3dc..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/USSP/trainee.yml +++ /dev/null @@ -1,50 +0,0 @@ -- type: job - id: USSPTrainee - name: job-name-ussp-medic - description: job-description-ussp-medic - playTimeTracker: JobUSSPMedic - requirements: - - !type:DepartmentTimeRequirement - department: UnionOfSovietSocialistPlanets - time: 14400 # 4 hours - - !type:OverallPlaytimeRequirement - time: 14400 # 4 hrs - startingGear: USSPMedicGear - alwaysUseSpawner: true - hideConsoleVisibility: true - icon: "JobIconBrigmedic" # TODO - new USSP icons - supervisors: job-supervisors-ussp-sergeant - canBeAntag: false - # guides: [ BasicLore, UnitedSovietSocialistPlanets ] # Forge-Change-delete - weight: 15 - displayWeight: 15 - assignedCompany: USSP # Forge-Change: added assigned company - special: - - !type:AddImplantSpecial - implants: [ MindShieldImplant, UsspTrackingImplant ] - - !type:AddComponentSpecial - components: - - type: MailDisabled - - type: SpecialSectorStationRecord - recordGeneration: FalseRecord - - type: NpcFactionMember - factions: - - USSP - - !type:AddLanguageSpecial - languagesSpoken: - - NovaCygniBasic - languagesUnderstood: - - NovaCygniBasic - accessGroups: - - GeneralAccess - - USSPLow - -- type: startingGear - id: USSPMedicGear - equipment: - pocket1: WeaponPistolPollock - pocket2: Magazine9x19mmPistolFMJ - storage: - back: - - MedkitCombatFilled - - RadioHandheldNF diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml b/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml index 966deef34e4..7a890a728d4 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml @@ -54,3 +54,23 @@ - TsfSl - TsfCrew - TsfCrewOfficer + +- type: department + id: SPN + name: department-SPN + description: department-SPN-description + color: "#B01340" + weight: 45 + roles: + - SpnCouncilMember + - SpnUnionDiplomat + - SpnFleetOfficer + - SpnSquadLeader + - SpnCorpsman + - SpnSapper + - SpnRifleman + - SpnTrainee + +- type: department + id: UnionOfSovietSocialistPlanets + roles: [] diff --git a/Resources/Prototypes/_Forge/Roles/play_time_trackers.yml b/Resources/Prototypes/_Forge/Roles/play_time_trackers.yml index 1512499fc6b..21f214c8aaf 100644 --- a/Resources/Prototypes/_Forge/Roles/play_time_trackers.yml +++ b/Resources/Prototypes/_Forge/Roles/play_time_trackers.yml @@ -116,3 +116,27 @@ - type: playTimeTracker id: JobNtCook + +- type: playTimeTracker + id: JobSpnCouncilMember + +- type: playTimeTracker + id: JobSpnUnionDiplomat + +- type: playTimeTracker + id: JobSpnFleetOfficer + +- type: playTimeTracker + id: JobSpnSquadLeader + +- type: playTimeTracker + id: JobSpnCorpsman + +- type: playTimeTracker + id: JobSpnSapper + +- type: playTimeTracker + id: JobSpnRifleman + +- type: playTimeTracker + id: JobSpnTrainee diff --git a/Resources/Prototypes/_Forge/StatusIcon/job.yml b/Resources/Prototypes/_Forge/StatusIcon/job.yml index dc120e8c831..88c6cf1fbb5 100644 --- a/Resources/Prototypes/_Forge/StatusIcon/job.yml +++ b/Resources/Prototypes/_Forge/StatusIcon/job.yml @@ -300,3 +300,69 @@ sprite: /Textures/Forge/Interface/Misc/job_icons.rsi state: nt_medgunner jobName: job-name-nt-medic-gunner + +# region SPN + +- type: jobIcon + parent: JobIcon + id: JobIconSpnCouncilMember + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_soviet + jobName: forge-job-name-spn-council-member + +- type: jobIcon + parent: JobIcon + id: JobIconSpnUnionDiplomat + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_diplom + jobName: forge-job-name-spn-union-diplomat + +- type: jobIcon + parent: JobIcon + id: JobIconSpnFleetOfficer + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_officer + jobName: forge-job-name-spn-fleet-officer + +- type: jobIcon + parent: JobIcon + id: JobIconSpnSquadLeader + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_com + jobName: forge-job-name-spn-squad-leader + +- type: jobIcon + parent: JobIcon + id: JobIconSpnCorpsman + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_med + jobName: forge-job-name-spn-corpsman + +- type: jobIcon + parent: JobIcon + id: JobIconSpnSapper + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_saper + jobName: forge-job-name-spn-sapper + +- type: jobIcon + parent: JobIcon + id: JobIconSpnRifleman + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_walk + jobName: forge-job-name-spn-rifleman + +- type: jobIcon + parent: JobIcon + id: JobIconSpnTrainee + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_curs + jobName: forge-job-name-spn-trainee diff --git a/Resources/Prototypes/_Forge/StatusIcon/security.yml b/Resources/Prototypes/_Forge/StatusIcon/security.yml new file mode 100644 index 00000000000..6d2b30f4847 --- /dev/null +++ b/Resources/Prototypes/_Forge/StatusIcon/security.yml @@ -0,0 +1,9 @@ +- type: securityIcon + id: SpnMindShieldIcon + priority: 2 + locationPreference: Right + layer: Mod + isShaded: true + icon: + sprite: /Textures/Forge/Interface/Misc/job_icons.rsi + state: spn_mindshield diff --git a/Resources/Prototypes/_Forge/company.yml b/Resources/Prototypes/_Forge/company.yml index ee06a51ddc7..a986bccbb5c 100644 --- a/Resources/Prototypes/_Forge/company.yml +++ b/Resources/Prototypes/_Forge/company.yml @@ -41,3 +41,20 @@ description: renegate-resistance-description color: "#6B2D2D" whitelisted: true + +# Forge-Change: SPN faction company (not USSP / СССП(К) contractor). +- type: company + id: SPN + form: Antagonist + name: Союз Прогрессивных Народов + color: "#B01340" + whitelisted: true + hidden: true + special: + - !type:PlaySpawnSoundSpecial + sound: + path: /Audio/Ambience/Antag/headrev_start.ogg + params: + volume: -5 + variation: 0.2 + image: /Textures/_Mono/Companies/USSP.png diff --git a/Resources/Prototypes/_Forge/radio_channels.yml b/Resources/Prototypes/_Forge/radio_channels.yml index 19c50ea9290..c9b16a1f21c 100644 --- a/Resources/Prototypes/_Forge/radio_channels.yml +++ b/Resources/Prototypes/_Forge/radio_channels.yml @@ -126,3 +126,19 @@ keycode: 'n' frequency: 7011 color: "#1a5f9b" + +- type: radioChannel + id: Spn + name: chat-radio-spn + keycode: 's' + frequency: 1726 + color: "#b2224b" + longRange: true + +- type: radioChannel + id: SpnCommand + name: chat-radio-spn-command + keycode: 'q' + frequency: 1727 + color: "#ff0026" + longRange: true diff --git a/Resources/Prototypes/_Mono/companies.yml b/Resources/Prototypes/_Mono/companies.yml index a387c18ea10..83aeb01bae1 100644 --- a/Resources/Prototypes/_Mono/companies.yml +++ b/Resources/Prototypes/_Mono/companies.yml @@ -128,24 +128,13 @@ - type: company id: USSP - form: Antagonist - name: СССП(К) # Forge-change: locale and small rename: К = Кораблей + form: Protagonist + name: СССП(К) # Forge-Change: contractor company, not SPN faction color: "#B01340" - whitelisted: false # Mercs are now USSP-pilled. + whitelisted: true + hidden: true description: ussp-description - # Forge-change: add icon, note & special's note: ussp-company-note - icon: USSP - special: - - !type:GiveItemSpecial - prototype: - - EncryptionKeyUssp - - !type:PlaySpawnSoundSpecial - sound: - path: /Audio/Ambience/Antag/headrev_start.ogg - params: - volume: -5 - variation: 0.2 image: /Textures/_Mono/Companies/USSP.png # Major companies diff --git a/Resources/Prototypes/_NF/Maps/debug.yml b/Resources/Prototypes/_NF/Maps/debug.yml index 1d14e7234c9..73b63a3abfe 100644 --- a/Resources/Prototypes/_NF/Maps/debug.yml +++ b/Resources/Prototypes/_NF/Maps/debug.yml @@ -88,6 +88,14 @@ TsfAmbassador: [ -1, -1] TsfRanger: [ -1, -1] TsfRecruit: [ -1, -1] + SpnCouncilMember: [ -1, -1 ] + SpnUnionDiplomat: [ -1, -1 ] + SpnFleetOfficer: [ -1, -1 ] + SpnSquadLeader: [ -1, -1 ] + SpnCorpsman: [ -1, -1 ] + SpnSapper: [ -1, -1 ] + SpnRifleman: [ -1, -1 ] + SpnTrainee: [ -1, -1 ] # Forge-change-end - type: StationDeadDrop maxDeadDrops: 20 # Testing diff --git a/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/meta.json b/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/meta.json index 7706712f446..cd00d0a13d7 100644 --- a/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/meta.json +++ b/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Create by autsaider_m, StRep Eifall, overlord by v6st, emp_ icons by v6st, ren_, tsf_, nt_, doc, paramed by sodakent (discord) for Forge", + "copyright": "Create by autsaider_m, StRep Eifall, overlord by v6st, emp_ icons by v6st, ren_, tsf_, nt_, doc, paramed by sodakent (discord) for Forge, spn_ icons and spn_mindshield by ifi07 (discord) for Forge", "size": { "x": 8, @@ -149,6 +149,37 @@ }, { "name": "nt_medgunner" + }, + { + "name": "spn_com" + }, + { + "name": "spn_officer" + }, + { + "name": "spn_diplom" + }, + { + "name": "spn_med" + }, + { + "name": "spn_saper" + }, + { + "name": "spn_walk" + }, + { + "name": "spn_curs" + }, + { + "name": "spn_soviet" + }, + { + "name": "spn_mindshield", + "delays": + [ + [0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1] + ] } ] } diff --git a/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_com.png b/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_com.png new file mode 100644 index 0000000000000000000000000000000000000000..c9c558879607190a56dfa97e14493d1021bcf166 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|Iy_w*LnNlw z_U`3uc93YBFMQkKKtYnY=R~bM1r5DNY<>^?@*c2c`pgPZUt;mjLqWPGj7#Zb#hApEIfZz_906yHdVZ=1vcBQKmH|HuF^y+AVx<@LD8uKHFd4Vs-gKKSN32 zMx*R`EuRnl{eABm{{n_}PkrZXJd)XDT=ud4vAgf91A44IM^4@Zx{1Nl)z4*}Q$iB} DlFUuh literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_curs.png b/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_curs.png new file mode 100644 index 0000000000000000000000000000000000000000..e1a46cc78d74807009cf2348beaa8dcbf875d215 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|N<3X0LnNlQ z_HN`oWFX=)-@k_tyb&zfTsh0)otoJUrW;M8* z&bVS@Qq#g?TnC4B# j*OX70V*VpG>?bP0l+XkKD#Sze literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_diplom.png b/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_diplom.png new file mode 100644 index 0000000000000000000000000000000000000000..098e84a5b0e2fcb515dad796377f1e4dcce4aaf1 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|T0C7GLnNk_ z_HN`ohsU9&R>y;0`4gOqSk@=Z7tVMpxu=2sr0lg*T4mmLiV=C=*KW#K z==Z(C*nmwzpPN-cUF9}QA=81qyJp5|E%Zs{+e|>DraIn1R zjfvQ;*PRP36m@p@r+&!)^WFLXk7%9)RogEv`?h4}(v`JS&bw#F?U-!amwih20?=&? Mp00i_>zopr01P)%`Tzg` literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_mindshield.png b/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_mindshield.png new file mode 100644 index 0000000000000000000000000000000000000000..705e98e3a1442e63084694b5be3ec16fa4936558 GIT binary patch literal 436 zcmV;l0ZaagP)Px$Zb?KzR7i=%moaj}Fc3w*Jh*kE+7xgCMzv>r5$?bRxI>QOJ5c))aZTYg6e^s; z5wplEtrFScH6G?KjQ?u&CDc%zrt@Qjqp=DUqiYyDB2;5^JwKV6TR8y$F4dl`aX39x zLv_EVvFiB_Y)z-zX`%jb#c_JKe#J4Ux8*_9i;xI_?abQr_u)mkQ%TCStHt5wdo4@DeIH61w?~62G*E>7%5vog;L1HG8g-)aqjPx#x=BPqR2Y?2jxh>?U>rxEo**z3(V%dsrIr>K!4S{k5jsIrc#rQ0-k_n`#iqb8 za1cKd8r}X)3jNmKgZB)8=$r_Et~B<+Mpqhu=j~w-ofD~*Cx8G_Sg`<7D^C{drI-MI zm;!JiV45GMI2#ueAm807tav^PD<6;EySDH+XltatWT2T%y<mdKI;Vst00~cJ AjsO4v literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_walk.png b/Resources/Textures/Forge/Interface/Misc/job_icons.rsi/spn_walk.png new file mode 100644 index 0000000000000000000000000000000000000000..f7cad6fd7cee0e1fb3365731dd1b1449be02ca58 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|$~;{hLnNlQ z_HN{DHV|={Z|kU{q+Gs0WaS~YX+o6>{s;VW4)6smEwVZ-=4$q1<$~_YyD#Ux6KUX% zV>lIL(7aHGwc-07t(Xr+rv8#UITa2})V~{QB6{mykZ6(5i@)#XZ}BYCo1?4I@cXr* krP{4~laj4Yy-yFe&q>!*ImA|319Sm{r>mdKI;Vst04wxDQUCw| literal 0 HcmV?d00001 diff --git "a/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/MindShield.png" "b/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/MindShield.png" new file mode 100644 index 0000000000000000000000000000000000000000..705e98e3a1442e63084694b5be3ec16fa4936558 GIT binary patch literal 436 zcmV;l0ZaagP)Px$Zb?KzR7i=%moaj}Fc3w*Jh*kE+7xgCMzv>r5$?bRxI>QOJ5c))aZTYg6e^s; z5wplEtrFScH6G?KjQ?u&CDc%zrt@Qjqp=DUqiYyDB2;5^JwKV6TR8y$F4dl`aX39x zLv_EVvFiB_Y)z-zX`%jb#c_JKe#J4Ux8*_9i;xI_?abQr_u)mkQ%TCStHt5wdo4@DeIH61w?~62G*E>7%5vog;L1HG8g-)aqj^?@*c2c`pgPZUt;mjLqWPGj7#Zb#hApEIfZz_906yHdVZ=1vcBQKmH|HuF^y+AVx<@LD8uKHFd4Vs-gKKSN32 zMx*R`EuRnl{eABm{{n_}PkrZXJd)XDT=ud4vAgf91A44IM^4@Zx{1Nl)z4*}Q$iB} DlFUuh literal 0 HcmV?d00001 diff --git "a/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/curs.png" "b/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/curs.png" new file mode 100644 index 0000000000000000000000000000000000000000..e1a46cc78d74807009cf2348beaa8dcbf875d215 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|N<3X0LnNlQ z_HN`oWFX=)-@k_tyb&zfTsh0)otoJUrW;M8* z&bVS@Qq#g?TnC4B# j*OX70V*VpG>?bP0l+XkKD#Sze literal 0 HcmV?d00001 diff --git "a/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/diplom.png" "b/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/diplom.png" new file mode 100644 index 0000000000000000000000000000000000000000..098e84a5b0e2fcb515dad796377f1e4dcce4aaf1 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|T0C7GLnNk_ z_HN`ohsU9&R>y;0`4gOqSk@=Z7tVMpxu=2sr0lg*T4mmLiV=C=*KW#K z==Z(C*nmwzpPN-cUF9}QA=81qyJp5|E%Zs{+e|>DraIn1R zjfvQ;*PRP36m@p@r+&!)^WFLXk7%9)RogEv`?h4}(v`JS&bw#F?U-!amwih20?=&? Mp00i_>zopr01P)%`Tzg` literal 0 HcmV?d00001 diff --git "a/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/officer.png" "b/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/officer.png" new file mode 100644 index 0000000000000000000000000000000000000000..39159287212f8f278a6b0a2572da8d7c0b7649f1 GIT binary patch literal 256 zcmV+b0ssDqP)Px#x=BPqR2Y?2jxh>?U>rxEo**z3(V%dsrIr>K!4S{k5jsIrc#rQ0-k_n`#iqb8 za1cKd8r}X)3jNmKgZB)8=$r_Et~B<+Mpqhu=j~w-ofD~*Cx8G_Sg`<7D^C{drI-MI zm;!JiV45GMI2#ueAm807tav^PD<6;EySDH+XltatWT2T%y<mdKI;Vst00~cJ AjsO4v literal 0 HcmV?d00001 diff --git "a/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/walk.png" "b/Resources/Textures/Forge/\320\241\320\241\320\241\320\237/walk.png" new file mode 100644 index 0000000000000000000000000000000000000000..f7cad6fd7cee0e1fb3365731dd1b1449be02ca58 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqjKx9jP7LeL$-D$|$~;{hLnNlQ z_HN{DHV|={Z|kU{q+Gs0WaS~YX+o6>{s;VW4)6smEwVZ-=4$q1<$~_YyD#Ux6KUX% zV>lIL(7aHGwc-07t(Xr+rv8#UITa2})V~{QB6{mykZ6(5i@)#XZ}BYCo1?4I@cXr* krP{4~laj4Yy-yFe&q>!*ImA|319Sm{r>mdKI;Vst04wxDQUCw| literal 0 HcmV?d00001 From a1bc453de02ce5a1927703957e2856784cfe72f9 Mon Sep 17 00:00:00 2001 From: LeviyNosok Date: Fri, 26 Jun 2026 15:14:49 +0300 Subject: [PATCH 4/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20=D1=84=D1=80=D0=B0=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=BD?= =?UTF-8?q?=D1=83=D1=8E=20=D1=8D=D0=BA=D0=B8=D0=BF=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D1=83=20=D0=A1=D0=9F=D0=9D:=20=D0=BE=D0=B4=D0=B5=D0=B6?= =?UTF-8?q?=D0=B4=D0=B0=20RMC,=20=D0=BB=D0=BE=D0=B0=D0=B4=D0=B0=D1=83?= =?UTF-8?q?=D1=82=D1=8B,=20=D0=B8=D0=BC=D0=BF=D0=BB=D0=B0=D0=BD=D1=82=20?= =?UTF-8?q?=D1=81=D0=BB=D0=B5=D0=B6=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B8=20?= =?UTF-8?q?=D0=B3=D0=B0=D1=80=D0=BD=D0=B8=D1=82=D1=83=D1=80=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Cursor --- Resources/Locale/ru-RU/_Forge/loadout.ftl | 2 + .../prototypes/_Forge/clothing/mask/masks.ftl | 2 + .../_Forge/entities/clothing/belt/spn.ftl | 4 + .../_Forge/entities/clothing/head/spn.ftl | 10 ++ .../entities/clothing/outerclothing/spn.ftl | 14 ++ .../_Forge/entities/clothing/shoes/spn.ftl | 11 ++ .../entities/clothing/uniforms/jumpsuits.ftl | 11 +- .../Weapons/melee/spn_ceremonial_sabre.ftl | 2 + .../entities/objects/misc/implanters.ftl | 5 +- .../objects/misc/subdermal_implants.ftl | 2 + .../_Forge/Catalog/Fills/Boxes/emergency.yml | 4 +- .../Entities/Clothing/Ears/headsets.yml | 8 +- .../_Forge/Entities/Clothing/Eyes/glasses.yml | 13 ++ .../_Forge/Entities/Clothing/Mask/gasmask.yml | 15 ++ .../_Forge/Entities/Clothing/Shoes/spn.yml | 37 ++++ .../_Forge/Entities/Clothing/Uniforms/spn.yml | 60 +++++++ .../Entities/Objects/Misc/implanters.yml | 10 +- .../Objects/Misc/subdermal_implants.yml | 15 ++ .../Weapons/Melee/spn_ceremonial_sabre.yml | 32 ++++ .../Prototypes/_Forge/Loadouts/SPN/bags.yml | 4 + .../Prototypes/_Forge/Loadouts/SPN/belt.yml | 9 + .../Prototypes/_Forge/Loadouts/SPN/eyes.yml | 4 + .../Prototypes/_Forge/Loadouts/SPN/head.yml | 31 +++- .../_Forge/Loadouts/SPN/jumpsuit.yml | 19 ++ .../_Forge/Loadouts/SPN/loadout_groups.yml | 166 +++++++++++++++++- .../_Forge/Loadouts/SPN/outerclothing.yml | 24 +++ .../_Forge/Loadouts/SPN/role_loadouts_spn.yml | 81 ++++----- .../Prototypes/_Forge/Loadouts/SPN/shoes.yml | 11 ++ .../_Forge/Roles/Jobs/SPN/corpsman.yml | 2 +- .../_Forge/Roles/Jobs/SPN/council_member.yml | 2 +- .../_Forge/Roles/Jobs/SPN/fleet_officer.yml | 2 +- .../_Forge/Roles/Jobs/SPN/rifleman.yml | 2 +- .../_Forge/Roles/Jobs/SPN/sapper.yml | 2 +- .../_Forge/Roles/Jobs/SPN/squad_leader.yml | 2 +- .../_Forge/Roles/Jobs/SPN/starting_gear.yml | 8 +- .../_Forge/Roles/Jobs/SPN/trainee.yml | 2 +- .../_Forge/Roles/Jobs/SPN/union_diplomat.yml | 4 +- .../_RMC14/Entities/Clothing/Belt/spp.yml | 46 +++++ .../_RMC14/Entities/Clothing/Head/spp.yml | 66 +++++++ .../Entities/Clothing/OuterClothing/spp.yml | 105 +++++++++++ .../co_sabre_sheath.rsi/equipped-BELT.png | Bin 0 -> 675 bytes .../Belt/co_sabre_sheath.rsi/full.png | Bin 0 -> 585 bytes .../Belt/co_sabre_sheath.rsi/half.png | Bin 0 -> 423 bytes .../Belt/co_sabre_sheath.rsi/icon.png | Bin 0 -> 585 bytes .../Belt/co_sabre_sheath.rsi/inhand-left.png | Bin 0 -> 687 bytes .../Belt/co_sabre_sheath.rsi/inhand-right.png | Bin 0 -> 678 bytes .../Belt/co_sabre_sheath.rsi/meta.json | 36 ++++ .../Belt/co_sabre_sheath.rsi/sheath_on.png | Bin 0 -> 561 bytes .../Belt/spp_brown.rsi/equipped-BELT.png | Bin 0 -> 452 bytes .../Clothing/Belt/spp_brown.rsi/full.png | Bin 0 -> 317 bytes .../Clothing/Belt/spp_brown.rsi/half.png | Bin 0 -> 290 bytes .../Clothing/Belt/spp_brown.rsi/icon.png | Bin 0 -> 409 bytes .../Belt/spp_brown.rsi/inhand-left.png | Bin 0 -> 564 bytes .../Belt/spp_brown.rsi/inhand-right.png | Bin 0 -> 572 bytes .../Clothing/Belt/spp_brown.rsi/meta.json | 32 ++++ .../Headsets/SPP/spp.rsi/equipped-EARS.png | Bin 0 -> 503 bytes .../Ears/Headsets/SPP/spp.rsi/icon.png | Bin 0 -> 423 bytes .../Ears/Headsets/SPP/spp.rsi/meta.json | 1 + .../security_glasses.rsi/equipped-EYES.png | Bin 0 -> 406 bytes .../Glasses/security_glasses.rsi/icon.png | Bin 0 -> 281 bytes .../security_glasses.rsi/inhand-left.png | Bin 0 -> 216 bytes .../security_glasses.rsi/inhand-right.png | Bin 0 -> 214 bytes .../Glasses/security_glasses.rsi/meta.json | 26 +++ .../Head/SPP/beret.rsi/equipped-HELMET.png | Bin 0 -> 212 bytes .../Clothing/Head/SPP/beret.rsi/icon.png | Bin 0 -> 249 bytes .../Clothing/Head/SPP/beret.rsi/meta.json | 17 ++ .../Head/SPP/cap.rsi/equipped-HELMET.png | Bin 0 -> 196 bytes .../Clothing/Head/SPP/cap.rsi/icon.png | Bin 0 -> 263 bytes .../Clothing/Head/SPP/cap.rsi/meta.json | 17 ++ .../equipped-HELMET.png | Bin 0 -> 249 bytes .../Head/SPP/kommisar_cap_white.rsi/icon.png | Bin 0 -> 282 bytes .../Head/SPP/kommisar_cap_white.rsi/meta.json | 17 ++ .../Head/SPP/peaked.rsi/equipped-HELMET.png | Bin 0 -> 235 bytes .../Clothing/Head/SPP/peaked.rsi/icon.png | Bin 0 -> 297 bytes .../Clothing/Head/SPP/peaked.rsi/meta.json | 17 ++ .../peaked_diplomat.rsi/equipped-HELMET.png | Bin 0 -> 685 bytes .../Head/SPP/peaked_diplomat.rsi/icon.png | Bin 0 -> 302 bytes .../Head/SPP/peaked_diplomat.rsi/meta.json | 17 ++ .../spp_commando_coif.rsi/equipped-MASK.png | Bin 0 -> 876 bytes .../Mask/spp_commando_coif.rsi/icon.png | Bin 0 -> 450 bytes .../Mask/spp_commando_coif.rsi/meta.json | 18 ++ .../SPP/army.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 764 bytes .../OuterClothing/SPP/army.rsi/icon.png | Bin 0 -> 340 bytes .../OuterClothing/SPP/army.rsi/meta.json | 18 ++ .../equipped-OUTERCLOTHING.png | Bin 0 -> 1188 bytes .../SPP/kommisarwhitecoat.rsi/icon.png | Bin 0 -> 469 bytes .../SPP/kommisarwhitecoat.rsi/meta.json | 18 ++ .../SPP/mp.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1275 bytes .../OuterClothing/SPP/mp.rsi/icon.png | Bin 0 -> 562 bytes .../OuterClothing/SPP/mp.rsi/meta.json | 18 ++ .../officer.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1185 bytes .../OuterClothing/SPP/officer.rsi/icon.png | Bin 0 -> 526 bytes .../OuterClothing/SPP/officer.rsi/meta.json | 18 ++ .../SPP/pap.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1016 bytes .../OuterClothing/SPP/pap.rsi/icon.png | Bin 0 -> 464 bytes .../OuterClothing/SPP/pap.rsi/meta.json | 18 ++ .../SPP/senior.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1228 bytes .../OuterClothing/SPP/senior.rsi/icon.png | Bin 0 -> 612 bytes .../OuterClothing/SPP/senior.rsi/meta.json | 18 ++ .../sof_plated.rsi/equipped-OUTERCLOTHING.png | Bin 0 -> 1734 bytes .../OuterClothing/SPP/sof_plated.rsi/icon.png | Bin 0 -> 873 bytes .../SPP/sof_plated.rsi/meta.json | 18 ++ .../Shoes/Boots/black.rsi/equipped-FEET.png | Bin 0 -> 342 bytes .../Clothing/Shoes/Boots/black.rsi/filled.png | Bin 0 -> 489 bytes .../Clothing/Shoes/Boots/black.rsi/icon.png | Bin 0 -> 472 bytes .../Clothing/Shoes/Boots/black.rsi/meta.json | 21 +++ .../Shoes/Boots/jungle.rsi/equipped-FEET.png | Bin 0 -> 475 bytes .../Shoes/Boots/jungle.rsi/filled.png | Bin 0 -> 691 bytes .../Clothing/Shoes/Boots/jungle.rsi/icon.png | Bin 0 -> 664 bytes .../Clothing/Shoes/Boots/jungle.rsi/meta.json | 21 +++ .../equipped-INNERCLOTHING.png | Bin 0 -> 1260 bytes .../Command/CO/formal_white.rsi/icon.png | Bin 0 -> 561 bytes .../Command/CO/formal_white.rsi/meta.json | 18 ++ .../SPP/army.rsi/equipped-INNERCLOTHING.png | Bin 0 -> 1410 bytes .../Clothing/Uniforms/SPP/army.rsi/icon.png | Bin 0 -> 513 bytes .../Clothing/Uniforms/SPP/army.rsi/meta.json | 18 ++ .../SPP/medic.rsi/equipped-INNERCLOTHING.png | Bin 0 -> 1425 bytes .../Clothing/Uniforms/SPP/medic.rsi/icon.png | Bin 0 -> 585 bytes .../Clothing/Uniforms/SPP/medic.rsi/meta.json | 18 ++ .../officer.rsi/equipped-INNERCLOTHING.png | Bin 0 -> 1333 bytes .../Uniforms/SPP/officer.rsi/icon.png | Bin 0 -> 532 bytes .../Uniforms/SPP/officer.rsi/meta.json | 18 ++ .../SPP/pap.rsi/equipped-INNERCLOTHING.png | Bin 0 -> 1091 bytes .../Clothing/Uniforms/SPP/pap.rsi/icon.png | Bin 0 -> 514 bytes .../Clothing/Uniforms/SPP/pap.rsi/meta.json | 18 ++ .../Weapons/Melee/co_sabre.rsi/icon.png | Bin 0 -> 570 bytes .../Melee/co_sabre.rsi/inhand-left.png | Bin 0 -> 825 bytes .../Melee/co_sabre.rsi/inhand-right.png | Bin 0 -> 804 bytes .../Weapons/Melee/co_sabre.rsi/meta.json | 22 +++ 129 files changed, 1256 insertions(+), 71 deletions(-) create mode 100644 Resources/Locale/ru-RU/_Forge/loadout.ftl create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/belt/spn.ftl create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/head/spn.ftl create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/outerclothing/spn.ftl create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/shoes/spn.ftl create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/melee/spn_ceremonial_sabre.ftl create mode 100644 Resources/Prototypes/_Forge/Entities/Clothing/Shoes/spn.yml create mode 100644 Resources/Prototypes/_Forge/Entities/Clothing/Uniforms/spn.yml create mode 100644 Resources/Prototypes/_Forge/Entities/Objects/Weapons/Melee/spn_ceremonial_sabre.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/bags.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/belt.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/eyes.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/jumpsuit.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/outerclothing.yml create mode 100644 Resources/Prototypes/_Forge/Loadouts/SPN/shoes.yml create mode 100644 Resources/Prototypes/_RMC14/Entities/Clothing/Belt/spp.yml create mode 100644 Resources/Prototypes/_RMC14/Entities/Clothing/Head/spp.yml create mode 100644 Resources/Prototypes/_RMC14/Entities/Clothing/OuterClothing/spp.yml create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/equipped-BELT.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/full.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/half.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/inhand-left.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/inhand-right.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/sheath_on.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/equipped-BELT.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/full.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/half.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/inhand-left.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/inhand-right.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi/equipped-EARS.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/equipped-EYES.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/inhand-left.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/inhand-right.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/equipped-HELMET.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Mask/spp_commando_coif.rsi/equipped-MASK.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Mask/spp_commando_coif.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Mask/spp_commando_coif.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/army.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/army.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/army.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/officer.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/officer.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/officer.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/pap.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/pap.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/pap.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/senior.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/senior.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/senior.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi/equipped-OUTERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/equipped-FEET.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/filled.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi/equipped-FEET.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi/filled.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/medic.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/medic.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/medic.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/officer.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/officer.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/officer.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi/meta.json create mode 100644 Resources/Textures/_RMC14/Objects/Weapons/Melee/co_sabre.rsi/icon.png create mode 100644 Resources/Textures/_RMC14/Objects/Weapons/Melee/co_sabre.rsi/inhand-left.png create mode 100644 Resources/Textures/_RMC14/Objects/Weapons/Melee/co_sabre.rsi/inhand-right.png create mode 100644 Resources/Textures/_RMC14/Objects/Weapons/Melee/co_sabre.rsi/meta.json diff --git a/Resources/Locale/ru-RU/_Forge/loadout.ftl b/Resources/Locale/ru-RU/_Forge/loadout.ftl new file mode 100644 index 00000000000..0fc0eaae4f6 --- /dev/null +++ b/Resources/Locale/ru-RU/_Forge/loadout.ftl @@ -0,0 +1,2 @@ +loadout-spn-boots-black = чёрные ботинки СПН +loadout-spn-boots-jungle = камуфляжные ботинки СПН diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/mask/masks.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/mask/masks.ftl index f5d9c0891af..6012a8c8c23 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/mask/masks.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/clothing/mask/masks.ftl @@ -2,5 +2,7 @@ ent-ClothingMaskGasContractor = противогаз DCN™ .desc = Плотно прилегающая тактическая маска, которую можно подключить к дыхательному баллону. ent-ClothingMaskGasRenegate = противогаз ренегатов .desc = Базовый военный противогаз с оранжевыми линзами. +ent-ClothingMaskGasSpn = противогаз СПН + .desc = Стандартный противогаз Союза Прогрессивных Народов. ent-ClothingMaskGasNexus = противогаз VSS .desc = Базовый военный противогаз компании Vanguard Security Systems. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/belt/spn.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/belt/spn.ftl new file mode 100644 index 00000000000..4a4c6261eaa --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/belt/spn.ftl @@ -0,0 +1,4 @@ +ent-ClothingBeltSpnBrown = тактический пояс СПН + .desc = Устаревший, но надёжный тактический пояс армии СПН. +ent-ClothingBeltSpnCoSabreSheath = кобура шпаги CO СПН + .desc = Парадная кобура для офицерской шпаги. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/head/spn.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/head/spn.ftl new file mode 100644 index 00000000000..bee5de42980 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/head/spn.ftl @@ -0,0 +1,10 @@ +ent-ClothingHeadHatSpnCap = кепка курсанта СПН + .desc = Полевая кепка UL2 для курсантов Союза Прогрессивных Народов. +ent-ClothingHeadHatSpnBeret = берет пехотинца СПН + .desc = Берет UL3 стандартной пехоты СПН. +ent-ClothingHeadHatSpnPeaked = фуражка UL3 СПН + .desc = Офицерская фуражка UL3 для командного состава СПН. +ent-ClothingHeadHatSpnPeakedDiplomat = фуражка UL3 PaP СПН + .desc = Фуражка UL3 дипломатического корпуса СПН. +ent-ClothingHeadHatSpnKomWhite = фуражка UL5 СПН + .desc = Белая фуражка UL5 C-1 для членов совета СПН. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/outerclothing/spn.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/outerclothing/spn.ftl new file mode 100644 index 00000000000..85b2feb79aa --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/outerclothing/spn.ftl @@ -0,0 +1,14 @@ +ent-ClothingOuterCoatSpnOfficer = куртка UL4 офицера СПН + .desc = Лёгкая куртка командного состава СПН. +ent-ClothingOuterCoatSpnSenior = куртка UL4 старшего офицера СПН + .desc = Куртка старшего офицерского состава СПН. +ent-ClothingOuterCoatSpnMp = камуфляжная куртка UL4 СПН + .desc = Лёгкая камуфляжная куртка для низкоугроженных постов. +ent-ClothingOuterCoatSpnPap = куртка PaP СПН + .desc = Верхняя одежда дипломатического корпуса СПН. +ent-ClothingOuterCoatSpnKomWhite = куртка UL5-W СПН + .desc = Белая бронированная куртка командования. +ent-ClothingOuterArmorSpnArmy = броня 6B80 СПН + .desc = Устаревший бронежилет тыловых подразделений. +ent-ClothingOuterArmorSpnSofPlated = усиленный жилет CCC5-L СПН + .desc = Вариант CCC5-L с дополнительными пластинами. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/shoes/spn.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/shoes/spn.ftl new file mode 100644 index 00000000000..1998ae0f2d5 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/shoes/spn.ftl @@ -0,0 +1,11 @@ +ent-ClothingShoesBootsSpnBlack = чёрные ботинки СПН + .desc = Стандартные чёрные армейские ботинки Союза Прогрессивных Народов. +ent-ClothingShoesBootsSpnJungle = камуфляжные ботинки СПН + .desc = Ботинки в джунглевом камуфляже для полевых подразделений СПН. + +ent-ClothingShoesBootsSpnBlackFilled = { ent-ClothingShoesBootsSpnBlack } + .suffix = { ent-ClothingShoesBootsSpnBlack.suffix }, Заполненный, Боевой нож + .desc = { ent-ClothingShoesBootsSpnBlack.desc } +ent-ClothingShoesBootsSpnJungleFilled = { ent-ClothingShoesBootsSpnJungle } + .suffix = { ent-ClothingShoesBootsSpnJungle.suffix }, Заполненный, Боевой нож + .desc = { ent-ClothingShoesBootsSpnJungle.desc } diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/uniforms/jumpsuits.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/uniforms/jumpsuits.ftl index 9695a476320..75ca6b56f25 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/uniforms/jumpsuits.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/clothing/uniforms/jumpsuits.ftl @@ -65,4 +65,13 @@ ent-ClothingUniformJumpsuitEmpireInq = униформа эклезиарха ent-ClothingUniformJumpsuitEmpireConsul = униформа консула .desc = Форма дипломатического корпуса Империи, предназначенная для церемоний и официальных приёмов. ent-ClothingUniformJumpsuitEmpireInqAlt = униформа эклезиарха - .desc = Тёмный комбинезон в расцветке карательного отряда. Вы не можете не вспоминать все ваши убийства, жутко... \ No newline at end of file + .desc = Тёмный комбинезон в расцветке карательного отряда. Вы не можете не вспоминать все ваши убийства, жутко... + +ent-ClothingUniformSpnArmy = полевая униформа СПН + .desc = Стандартная боевая форма пехоты Союза Прогрессивных Народов. +ent-ClothingUniformSpnOfficer = офицерская униформа СПН + .desc = Форма командного состава СПН. +ent-ClothingUniformSpnCouncilFormal = парадная белая униформа члена совета СПН + .desc = Торжественная белая форма высшего командования СПН. +ent-ClothingUniformSpnPap = дипломатическая униформа СПН + .desc = Повседневная рабочая форма дипломатического корпуса СПН. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/melee/spn_ceremonial_sabre.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/melee/spn_ceremonial_sabre.ftl new file mode 100644 index 00000000000..c872afac17c --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/melee/spn_ceremonial_sabre.ftl @@ -0,0 +1,2 @@ +ent-SpnCeremonialSabre = парадная шпага СПН + .desc = Церемониальная шпага высшего командования СПН, бережно сохранённая в отличном состоянии. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/implanters.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/implanters.ftl index bbdd17c6050..3dec4c9ff29 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/implanters.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/implanters.ftl @@ -12,4 +12,7 @@ ent-TTITrackingImplanter = имплантер "Трекер TTI" .suffix = Трекер TTI ent-EmpireTrackingImplanter = имплантер "Трекер СИВ" .desc = Одноразовый шприц, специально предназначенный для введения подкожных имплантов. - .suffix = Трекер СИВ \ No newline at end of file + .suffix = Трекер СИВ +ent-SpnTrackingImplanter = имплантер "Слежение СПН" + .desc = Одноразовый шприц, специально предназначенный для введения подкожных имплантов. + .suffix = Слежение СПН \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/subdermal_implants.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/subdermal_implants.ftl index 6cb6be8203f..9847304b4f0 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/subdermal_implants.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/misc/subdermal_implants.ftl @@ -10,3 +10,5 @@ ent-TTITrackingImplant = имплант трекер TTI .desc = Этот имплант показывает местоположения пользователя для сервера мониторинга НТ и оповещает о смерти в канал Траума Тим. ent-EmpireTrackingImplant = имплант трекер СИВ .desc = Этот имплант показывает местоположения пользователя для сервера мониторинга СИВ и оповещает о смерти в канал Империи. +ent-SpnTrackingImplant = имплант слежения СПН + .desc = Этот имплант показывает местоположение носителя для сервера мониторинга СПН и оповещает о смерти в канал Союза Прогрессивных Народов. diff --git a/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml b/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml index c8560101686..7ffdcbe65d8 100644 --- a/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml +++ b/Resources/Prototypes/_Forge/Catalog/Fills/Boxes/emergency.yml @@ -68,7 +68,7 @@ - id: DoubleEmergencyOxygenTankFilled - id: SpaceMedipen - id: EmergencyMedipen - - id: ClothingMaskGasSecurity + - id: ClothingMaskGasSpn - id: MonoMRE - id: CrowbarPocket - id: HandHeldMassScanner @@ -83,7 +83,7 @@ - id: DoubleEmergencyNitrogenTankFilled - id: SpaceMedipen - id: EmergencyMedipen - - id: ClothingMaskGasSecurity + - id: ClothingMaskGasSpn - id: MonoMRE - id: CrowbarPocket - id: HandHeldMassScanner diff --git a/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml b/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml index 7a52a4c18d1..60c3527eb22 100644 --- a/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml +++ b/Resources/Prototypes/_Forge/Entities/Clothing/Ears/headsets.yml @@ -216,7 +216,7 @@ - EncryptionKeyTsfCom - type: entity - parent: ClothingHeadsetAlt + parent: ClothingHeadset id: ClothingHeadsetSpn name: SPN headset suffix: СПН @@ -224,7 +224,7 @@ - type: Sprite sprite: Clothing/Ears/Headsets/security.rsi - type: Clothing - sprite: Clothing/Ears/Headsets/security.rsi + sprite: _RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi - type: ContainerFill containers: key_slots: @@ -232,15 +232,17 @@ - EncryptionKeySpn - type: entity - parent: ClothingHeadsetAlt + parent: ClothingHeadset id: ClothingHeadsetSpnCommand name: SPN command headset suffix: СПН components: - type: Sprite sprite: Clothing/Ears/Headsets/security.rsi + state: icon_alt - type: Clothing sprite: Clothing/Ears/Headsets/security.rsi + equippedPrefix: alt - type: ContainerFill containers: key_slots: diff --git a/Resources/Prototypes/_Forge/Entities/Clothing/Eyes/glasses.yml b/Resources/Prototypes/_Forge/Entities/Clothing/Eyes/glasses.yml index a5630a2dd01..c96c789489b 100644 --- a/Resources/Prototypes/_Forge/Entities/Clothing/Eyes/glasses.yml +++ b/Resources/Prototypes/_Forge/Entities/Clothing/Eyes/glasses.yml @@ -102,3 +102,16 @@ - type: NightVision flashDurationMultiplier: 2.75 isEquipment: true + +#region SPN +- type: entity + parent: ClothingEyesGlassesSecurity + id: ClothingEyesGlassesSpn + name: SPN security visor + suffix: СПН + description: Upgraded sunglasses that provide flash immunity and a security HUD. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi diff --git a/Resources/Prototypes/_Forge/Entities/Clothing/Mask/gasmask.yml b/Resources/Prototypes/_Forge/Entities/Clothing/Mask/gasmask.yml index 1d64b3171f5..f28626ebdd4 100644 --- a/Resources/Prototypes/_Forge/Entities/Clothing/Mask/gasmask.yml +++ b/Resources/Prototypes/_Forge/Entities/Clothing/Mask/gasmask.yml @@ -42,6 +42,21 @@ - type: Clothing sprite: Forge/Clothing/Mask/nexus_mask.rsi +#region SPN +- type: entity + parent: ClothingMaskGasSecurity + id: ClothingMaskGasSpn + name: SPN gas mask + suffix: СПН + description: A standard issue SPN gas mask. + components: + - type: Item + size: Tiny + - type: Sprite + sprite: _RMC14/Objects/Clothing/Mask/spp_commando_coif.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Mask/spp_commando_coif.rsi + - type: entity parent: [ClothingMaskGas, BaseFactionGearOtherFactionT0] id: ClothingMaskGasTL diff --git a/Resources/Prototypes/_Forge/Entities/Clothing/Shoes/spn.yml b/Resources/Prototypes/_Forge/Entities/Clothing/Shoes/spn.yml new file mode 100644 index 00000000000..47b66deadad --- /dev/null +++ b/Resources/Prototypes/_Forge/Entities/Clothing/Shoes/spn.yml @@ -0,0 +1,37 @@ +- type: entity + parent: ClothingShoesMilitaryBase + id: ClothingShoesBootsSpnBlack + name: SPN black boots + suffix: СПН + description: Standard-issue black combat boots of the Union of Progressive Peoples. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Shoes/Boots/black.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Shoes/Boots/black.rsi + +- type: entity + parent: ClothingShoesMilitaryBase + id: ClothingShoesBootsSpnJungle + name: SPN jungle boots + suffix: СПН + description: Jungle-pattern combat boots issued to SPN field units. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi + +- type: entity + id: ClothingShoesBootsSpnBlackFilled + suffix: Filled, Combat Knife + parent: + - ClothingShoesBootsSpnBlack + - ClothingShoesBootsSecFilled + +- type: entity + id: ClothingShoesBootsSpnJungleFilled + suffix: Filled, Combat Knife + parent: + - ClothingShoesBootsSpnJungle + - ClothingShoesBootsSecFilled diff --git a/Resources/Prototypes/_Forge/Entities/Clothing/Uniforms/spn.yml b/Resources/Prototypes/_Forge/Entities/Clothing/Uniforms/spn.yml new file mode 100644 index 00000000000..4037f3b25f1 --- /dev/null +++ b/Resources/Prototypes/_Forge/Entities/Clothing/Uniforms/spn.yml @@ -0,0 +1,60 @@ +- type: entity + abstract: true + parent: ClothingUniformBase + id: ClothingUniformSpnBase + components: + - type: Item + inhandVisuals: + left: [] + right: [] + - type: SuitSensor + randomMode: false + mode: SensorOff + +- type: entity + parent: ClothingUniformSpnBase + id: ClothingUniformSpnArmy + name: SPN army uniform + suffix: СПН + description: Standard field uniform of SPN infantry. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Uniforms/SPP/army.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Uniforms/SPP/army.rsi + +- type: entity + parent: ClothingUniformSpnBase + id: ClothingUniformSpnOfficer + name: SPN officer uniform + suffix: СПН + description: Dress uniform issued to SPN command staff. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Uniforms/SPP/officer.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Uniforms/SPP/officer.rsi + +- type: entity + parent: ClothingUniformSpnBase + id: ClothingUniformSpnCouncilFormal + name: SPN council formal uniform + suffix: СПН + description: White formal dress uniform worn by SPN council members. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi + +- type: entity + parent: ClothingUniformSpnBase + id: ClothingUniformSpnPap + name: SPN diplomatic work uniform + suffix: СПН + description: Everyday working uniform of the SPN diplomatic corps. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml b/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml index 481b16fac7e..6c05dfa913e 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Misc/implanters.yml @@ -69,4 +69,12 @@ parent: BaseImplantOnlyImplanter components: - type: Implanter - implant: EmpireTrackingImplant \ No newline at end of file + implant: EmpireTrackingImplant + +- type: entity + id: SpnTrackingImplanter + suffix: SPN tracking + parent: BaseImplantOnlyImplanter + components: + - type: Implanter + implant: SpnTrackingImplant \ No newline at end of file diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml b/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml index 1aaf6df2c21..8677d3aa3f0 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Misc/subdermal_implants.yml @@ -215,3 +215,18 @@ - type: Rattle radioChannel: "Empire" language: "Freespeak" + +- type: entity + parent: BaseSubdermalImplant + id: SpnTrackingImplant + name: SPN tracking implant + description: This implant has a tracking device monitor for the SPN radio channel. + categories: [ HideSpawnMenu ] + components: + - type: SubdermalImplant + - type: TriggerOnMobstateChange + mobState: + - Critical + - Dead + - type: Rattle + radioChannel: "Spn" diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Weapons/Melee/spn_ceremonial_sabre.yml b/Resources/Prototypes/_Forge/Entities/Objects/Weapons/Melee/spn_ceremonial_sabre.yml new file mode 100644 index 00000000000..1e75536e19a --- /dev/null +++ b/Resources/Prototypes/_Forge/Entities/Objects/Weapons/Melee/spn_ceremonial_sabre.yml @@ -0,0 +1,32 @@ +# Forge-Change: SPN ceremonial sabre (RMC-14 co_sabre texture). + +- type: entity + name: SPN ceremonial sabre + parent: BaseSword + id: SpnCeremonialSabre + suffix: СПН + description: A ceremonial sabre of the SPN high command. Well cared for and kept in top condition. + components: + - type: Sprite + sprite: _RMC14/Objects/Weapons/Melee/co_sabre.rsi + - type: MeleeWeapon + attackRate: 1.5 + damage: + types: + Slash: 25 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Reflect + reflectProb: 0.3 + spread: 90 + - type: Item + sprite: _RMC14/Objects/Weapons/Melee/co_sabre.rsi + - type: Tag + tags: + - CaptainSabre + - type: DisarmMalus + - type: Clothing + quickEquip: false + slots: + - back + - suitStorage diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/bags.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/bags.yml new file mode 100644 index 00000000000..ddd0a3bebb3 --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/bags.yml @@ -0,0 +1,4 @@ +- type: loadout + id: SpnClothingBackpackSatchelLeather + equipment: + back: ClothingBackpackSatchelLeather diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/belt.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/belt.yml new file mode 100644 index 00000000000..4e5b9a24e86 --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/belt.yml @@ -0,0 +1,9 @@ +- type: loadout + id: SpnClothingBeltBrown + equipment: + belt: ClothingBeltSpnBrown + +- type: loadout + id: SpnClothingBeltCoSabreSheath + equipment: + belt: ClothingBeltSpnCoSabreSheath diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/eyes.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/eyes.yml new file mode 100644 index 00000000000..d90198c2563 --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/eyes.yml @@ -0,0 +1,4 @@ +- type: loadout + id: SpnClothingEyesGlasses + equipment: + eyes: ClothingEyesGlassesSpn diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/head.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/head.yml index 9c998455d2c..67a91bdcc39 100644 --- a/Resources/Prototypes/_Forge/Loadouts/SPN/head.yml +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/head.yml @@ -1,7 +1,24 @@ -- type: loadoutGroup - id: SpnHeadTrainee - name: loadout-group-contractor-head - minLimit: 0 - loadouts: - - USSPHelmet - - ContractorClothingHeadHatUshanka +- type: loadout + id: SpnClothingHeadCap + equipment: + head: ClothingHeadHatSpnCap + +- type: loadout + id: SpnClothingHeadBeret + equipment: + head: ClothingHeadHatSpnBeret + +- type: loadout + id: SpnClothingHeadPeaked + equipment: + head: ClothingHeadHatSpnPeaked + +- type: loadout + id: SpnClothingHeadPeakedDiplomat + equipment: + head: ClothingHeadHatSpnPeakedDiplomat + +- type: loadout + id: SpnClothingHeadKomWhite + equipment: + head: ClothingHeadHatSpnKomWhite diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/jumpsuit.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/jumpsuit.yml new file mode 100644 index 00000000000..4e51017c0d2 --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/jumpsuit.yml @@ -0,0 +1,19 @@ +- type: loadout + id: SpnClothingJumpsuitArmy + equipment: + jumpsuit: ClothingUniformSpnArmy + +- type: loadout + id: SpnClothingJumpsuitOfficer + equipment: + jumpsuit: ClothingUniformSpnOfficer + +- type: loadout + id: SpnClothingJumpsuitCouncil + equipment: + jumpsuit: ClothingUniformSpnCouncilFormal + +- type: loadout + id: SpnClothingJumpsuitPap + equipment: + jumpsuit: ClothingUniformSpnPap diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml index c29893aeeea..ee50039b011 100644 --- a/Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/loadout_groups.yml @@ -1,11 +1,171 @@ - type: loadoutGroup - id: USSPJumpsuit + id: SpnShoes + name: loadout-group-contractor-shoes + minLimit: 1 + maxLimit: 1 + loadouts: + - SpnClothingShoesBootsBlack + - SpnClothingShoesBootsJungle + fallbacks: + - SpnClothingShoesBootsBlack + +- type: loadoutGroup + id: SpnEyes + name: loadout-group-contractor-glasses + minLimit: 1 + loadouts: + - SpnClothingEyesGlasses + fallbacks: + - SpnClothingEyesGlasses + +- type: loadoutGroup + id: SpnHeadTrainee + name: loadout-group-contractor-head + minLimit: 1 + loadouts: + - SpnClothingHeadCap + fallbacks: + - SpnClothingHeadCap + +- type: loadoutGroup + id: SpnHeadRifleman + name: loadout-group-contractor-head + minLimit: 1 + loadouts: + - SpnClothingHeadBeret + fallbacks: + - SpnClothingHeadBeret + +- type: loadoutGroup + id: SpnHeadFleetOfficer + name: loadout-group-contractor-head + minLimit: 1 + loadouts: + - SpnClothingHeadPeaked + fallbacks: + - SpnClothingHeadPeaked + +- type: loadoutGroup + id: SpnHeadDiplomat + name: loadout-group-contractor-head + minLimit: 1 + loadouts: + - SpnClothingHeadPeakedDiplomat + fallbacks: + - SpnClothingHeadPeakedDiplomat + +- type: loadoutGroup + id: SpnHeadCouncil + name: loadout-group-contractor-head + minLimit: 1 + loadouts: + - SpnClothingHeadKomWhite + fallbacks: + - SpnClothingHeadKomWhite + +- type: loadoutGroup + id: SpnJumpsuitArmy + name: loadout-group-contractor-jumpsuit + minLimit: 1 + loadouts: + - SpnClothingJumpsuitArmy + fallbacks: + - SpnClothingJumpsuitArmy + +- type: loadoutGroup + id: SpnJumpsuitOfficer + name: loadout-group-contractor-jumpsuit + minLimit: 1 + loadouts: + - SpnClothingJumpsuitOfficer + fallbacks: + - SpnClothingJumpsuitOfficer + +- type: loadoutGroup + id: SpnJumpsuitCouncil name: loadout-group-contractor-jumpsuit minLimit: 1 loadouts: - - USSPClothingJumpsuit + - SpnClothingJumpsuitCouncil + fallbacks: + - SpnClothingJumpsuitCouncil + +- type: loadoutGroup + id: SpnJumpsuitPap + name: loadout-group-contractor-jumpsuit + minLimit: 1 + loadouts: + - SpnClothingJumpsuitPap + fallbacks: + - SpnClothingJumpsuitPap + +- type: loadoutGroup + id: SpnBelt + name: loadout-group-contractor-belt + minLimit: 1 + maxLimit: 1 + loadouts: + - SpnClothingBeltBrown + fallbacks: + - SpnClothingBeltBrown + +- type: loadoutGroup + id: SpnBeltCouncil + name: loadout-group-contractor-belt + minLimit: 1 + maxLimit: 1 + loadouts: + - SpnClothingBeltCoSabreSheath + fallbacks: + - SpnClothingBeltCoSabreSheath + +- type: loadoutGroup + id: SpnBackpackDiplomat + name: loadout-group-contractor-backpack + minLimit: 1 + loadouts: + - SpnClothingBackpackSatchelLeather + fallbacks: + - SpnClothingBackpackSatchelLeather + +- type: loadoutGroup + id: SpnOuterClothingCouncil + name: loadout-group-contractor-outerclothing + minLimit: 1 + loadouts: + - SpnClothingOuterKomWhite + - SpnClothingOuterSofPlated + fallbacks: + - SpnClothingOuterKomWhite + +- type: loadoutGroup + id: SpnOuterClothingFleetOfficer + name: loadout-group-contractor-outerclothing + minLimit: 1 + loadouts: + - SpnClothingOuterSenior + - SpnClothingOuterArmy + fallbacks: + - SpnClothingOuterSenior + +- type: loadoutGroup + id: SpnOuterClothingDiplomat + name: loadout-group-contractor-outerclothing + minLimit: 1 + loadouts: + - SpnClothingOuterPap + - SpnClothingOuterArmy + fallbacks: + - SpnClothingOuterPap + +- type: loadoutGroup + id: SpnOuterClothingArmy + name: loadout-group-contractor-outerclothing + minLimit: 1 + loadouts: + - SpnClothingOuterArmy fallbacks: - - USSPClothingJumpsuit + - SpnClothingOuterArmy - type: loadoutGroup id: SpnBoxSurvival diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/outerclothing.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/outerclothing.yml new file mode 100644 index 00000000000..9cf7fb6c7c0 --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/outerclothing.yml @@ -0,0 +1,24 @@ +- type: loadout + id: SpnClothingOuterKomWhite + equipment: + outerClothing: ClothingOuterCoatSpnKomWhite + +- type: loadout + id: SpnClothingOuterSofPlated + equipment: + outerClothing: ClothingOuterArmorSpnSofPlated + +- type: loadout + id: SpnClothingOuterSenior + equipment: + outerClothing: ClothingOuterCoatSpnSenior + +- type: loadout + id: SpnClothingOuterPap + equipment: + outerClothing: ClothingOuterCoatSpnPap + +- type: loadout + id: SpnClothingOuterArmy + equipment: + outerClothing: ClothingOuterArmorSpnArmy diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml index 69cf13db3b0..b8221380ce8 100644 --- a/Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/role_loadouts_spn.yml @@ -1,14 +1,15 @@ - type: roleLoadout id: JobSpnCouncilMember groups: - - USSPJumpsuit + - SpnHeadCouncil + - SpnJumpsuitCouncil - TsfmcGloves - USSPBackpackSergeant - - USSPOuterClothingOfficer - - TsfmcShoes - - TsfmcFace + - SpnOuterClothingCouncil + - SpnShoes - TsfmcBalaclava - - USSPBelt + - SpnEyes + - SpnBeltCouncil - SpnBoxSurvival - USSPCommissarPDA - ContractorWallet @@ -17,7 +18,6 @@ - ContractorFun - ContractorTrinkets - NfsdSpeciesSpecific - - USSPHeadCommissar - UsspFirearm - UsspMag - FactionArmorPlates @@ -26,13 +26,15 @@ - type: roleLoadout id: JobSpnUnionDiplomat groups: - - USSPJumpsuit + - SpnHeadDiplomat + - SpnJumpsuitPap - TsfmcGloves - - USSPBackpack - - TsfmcShoes - - TsfmcFace + - SpnBackpackDiplomat + - SpnOuterClothingDiplomat + - SpnShoes - TsfmcBalaclava - - USSPBelt + - SpnEyes + - SpnBelt - SpnBoxSurvival - USSPSergeantPDA - ContractorWallet @@ -41,23 +43,21 @@ - ContractorFun - ContractorTrinkets - NfsdSpeciesSpecific - - USSPOuterClothingOfficer - - USSPHeadOfficer - - UsspFirearm - - UsspMag - FactionArmorPlates canCustomizeName: true - type: roleLoadout id: JobSpnFleetOfficer groups: - - USSPJumpsuit + - SpnHeadFleetOfficer + - SpnJumpsuitOfficer - TsfmcGloves - USSPBackpack - - TsfmcShoes - - TsfmcFace + - SpnOuterClothingFleetOfficer + - SpnShoes - TsfmcBalaclava - - USSPBelt + - SpnEyes + - SpnBelt - SpnBoxSurvival - USSPSergeantPDA - ContractorWallet @@ -66,8 +66,6 @@ - ContractorFun - ContractorTrinkets - NfsdSpeciesSpecific - - USSPOuterClothingOfficer - - USSPHeadOfficer - UsspFirearm - UsspMag - FactionArmorPlates @@ -81,10 +79,10 @@ - TsfmcGloves - USSPBackpack - USSPOuterClothing - - TsfmcShoes - - TsfmcFace + - SpnShoes - TsfmcBalaclava - - USSPBelt + - SpnEyes + - SpnBelt - SpnBoxSurvival - USSPCorporalPDA - ContractorWallet @@ -106,9 +104,10 @@ - TsfmcBrigmedicGloves - USSPBackpack - USSPOuterClothing - - TsfmcShoes - - TsfmcFace + - SpnShoes - TsfmcBalaclava + - SpnEyes + - SpnBelt - SpnBoxSurvival - USSPMedicPDA - ContractorWallet @@ -117,8 +116,6 @@ - ContractorFun - ContractorTrinkets - NfsdSpeciesSpecific - - USSPMedhud - - USSPBeltMedic - UsspFirearm - UsspMag - FactionArmorPlates @@ -132,10 +129,10 @@ - TsfmcGloves - USSPBackpack - USSPOuterClothing - - TsfmcShoes - - TsfmcFace + - SpnShoes - TsfmcBalaclava - - USSPBelt + - SpnEyes + - SpnBelt - SpnBoxSurvival - USSPCorporalPDA - ContractorWallet @@ -152,15 +149,15 @@ - type: roleLoadout id: JobSpnRifleman groups: - - USSPHead - - USSPJumpsuit + - SpnHeadRifleman + - SpnJumpsuitArmy - TsfmcGloves - USSPBackpack - - TsfmcOuterClothing - - TsfmcShoes - - TsfmcFace + - SpnOuterClothingArmy + - SpnShoes - TsfmcBalaclava - - USSPBelt + - SpnEyes + - SpnBelt - SpnBoxSurvival - USSPRiflemanPDA - ContractorWallet @@ -178,14 +175,14 @@ id: JobSpnTrainee groups: - SpnHeadTrainee - - USSPJumpsuit + - SpnJumpsuitArmy - TsfmcGloves - USSPBackpack - - TsfmcOuterClothing - - TsfmcShoes - - TsfmcFace + - SpnOuterClothingArmy + - SpnShoes - TsfmcBalaclava - - USSPBelt + - SpnEyes + - SpnBelt - SpnBoxSurvival - USSPRiflemanPDA - ContractorWallet diff --git a/Resources/Prototypes/_Forge/Loadouts/SPN/shoes.yml b/Resources/Prototypes/_Forge/Loadouts/SPN/shoes.yml new file mode 100644 index 00000000000..b3a295918b6 --- /dev/null +++ b/Resources/Prototypes/_Forge/Loadouts/SPN/shoes.yml @@ -0,0 +1,11 @@ +- type: loadout + id: SpnClothingShoesBootsBlack + name: loadout-spn-boots-black + equipment: + shoes: ClothingShoesBootsSpnBlackFilled + +- type: loadout + id: SpnClothingShoesBootsJungle + name: loadout-spn-boots-jungle + equipment: + shoes: ClothingShoesBootsSpnJungleFilled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml index e54726456fa..f126f3902c3 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml @@ -16,7 +16,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml index 5bdd3c0d953..b26a81b321e 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml @@ -22,7 +22,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml index 1ee02191ea2..67ab8aa559d 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml @@ -21,7 +21,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml index ed85ecfa4d8..620cdf275ff 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml @@ -21,7 +21,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml index 44575c242b9..ac8d49135d7 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml @@ -16,7 +16,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml index 32fa9644d32..3583558a6c8 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml @@ -16,7 +16,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml index 21fafcf12bc..84d8e9dcfe7 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml @@ -11,10 +11,14 @@ ears: ClothingHeadsetSpnCommand - type: startingGear - parent: USSPSergeantGear id: SpnUnionDiplomatGear equipment: - ears: ClothingHeadsetSpn + ears: ClothingHeadsetSpnCommand + pocket1: WeaponRevolverFitz + pocket2: SpeedLoader45_magnumFMJ + storage: + back: + - RadioHandheldNF - type: startingGear parent: USSPCorporalGear diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml index ed7c7f275a7..2cb19669ac0 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml @@ -18,7 +18,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml index ad56ef41e9a..cb5af8b76ba 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml @@ -12,7 +12,7 @@ hideConsoleVisibility: true setPreference: true icon: JobIconSpnUnionDiplomat - supervisors: job-supervisors-spn-council + supervisors: job-supervisors-nobody canBeAntag: false weight: 160 displayWeight: 55 @@ -20,7 +20,7 @@ assignedNationality: USSP special: - !type:AddImplantSpecial - implants: [ SpnMindShieldImplant, UsspTrackingImplant ] + implants: [ SpnMindShieldImplant, SpnTrackingImplant ] - !type:AddComponentSpecial components: - type: MailDisabled diff --git a/Resources/Prototypes/_RMC14/Entities/Clothing/Belt/spp.yml b/Resources/Prototypes/_RMC14/Entities/Clothing/Belt/spp.yml new file mode 100644 index 00000000000..e7c3f4cae1f --- /dev/null +++ b/Resources/Prototypes/_RMC14/Entities/Clothing/Belt/spp.yml @@ -0,0 +1,46 @@ +# Forge-Change: SPN belts (RMC-14 textures, simple SS14 parents). + +- type: entity + parent: ClothingBeltWebbingsBigBase + id: ClothingBeltSpnBrown + name: SPN tactical belt + suffix: СПН + description: A tactical belt formerly standard for the SPN Army. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Belt/spp_brown.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Belt/spp_brown.rsi + - type: Storage + grid: + - 0,0,1,2 + - 3,0,4,2 + - 6,0,7,2 + - 9,0,10,2 + - type: Item + inhandVisuals: + left: [] + right: [] + +- type: entity + parent: ClothingBeltSheath + id: ClothingBeltSpnCoSabreSheath + name: SPP CO sabre sheath + suffix: СПН + description: An ornate sheath designed to hold a commanding officer's blade. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi + state: half + - type: Clothing + sprite: _RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi + - type: ItemMapper + mapLayers: + full: + whitelist: + tags: + - CaptainSabre + - type: ContainerFill + containers: + item: + - SpnCeremonialSabre diff --git a/Resources/Prototypes/_RMC14/Entities/Clothing/Head/spp.yml b/Resources/Prototypes/_RMC14/Entities/Clothing/Head/spp.yml new file mode 100644 index 00000000000..e7675d1a6e4 --- /dev/null +++ b/Resources/Prototypes/_RMC14/Entities/Clothing/Head/spp.yml @@ -0,0 +1,66 @@ +# Forge-Change: SPN headwear (RMC-14 textures, simple SS14 parents). + +- type: entity + abstract: true + parent: ClothingHeadBase + id: ClothingHeadSpnHatBase + components: + - type: Item + inhandVisuals: + left: [] + right: [] + +- type: entity + parent: ClothingHeadSpnHatBase + id: ClothingHeadHatSpnCap + name: SPP UL2 cap + suffix: СПН + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Head/SPP/cap.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Head/SPP/cap.rsi + +- type: entity + parent: ClothingHeadSpnHatBase + id: ClothingHeadHatSpnBeret + name: SPP UL3 beret + suffix: СПН + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Head/SPP/beret.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Head/SPP/beret.rsi + +- type: entity + parent: ClothingHeadSpnHatBase + id: ClothingHeadHatSpnPeaked + name: SPP UL3 peaked cap + suffix: СПН + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Head/SPP/peaked.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Head/SPP/peaked.rsi + +- type: entity + parent: ClothingHeadSpnHatBase + id: ClothingHeadHatSpnPeakedDiplomat + name: SPP UL3 PaP peaked cap + suffix: СПН + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi + +- type: entity + parent: ClothingHeadSpnHatBase + id: ClothingHeadHatSpnKomWhite + name: SPP UL5 C-1 peaked cap + suffix: СПН + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi diff --git a/Resources/Prototypes/_RMC14/Entities/Clothing/OuterClothing/spp.yml b/Resources/Prototypes/_RMC14/Entities/Clothing/OuterClothing/spp.yml new file mode 100644 index 00000000000..f185c1e0a27 --- /dev/null +++ b/Resources/Prototypes/_RMC14/Entities/Clothing/OuterClothing/spp.yml @@ -0,0 +1,105 @@ +# Forge-Change: SPN outer clothing (RMC-14 textures, simple SS14 parents). + +- type: entity + abstract: true + parent: ClothingOuterStorageBase + id: ClothingOuterSpnCoatBase + components: + - type: Item + inhandVisuals: + left: [] + right: [] + +- type: entity + abstract: true + parent: ClothingOuterArmorBasic + id: ClothingOuterSpnArmorBase + components: + - type: Item + inhandVisuals: + left: [] + right: [] + +- type: entity + parent: ClothingOuterSpnCoatBase + id: ClothingOuterCoatSpnOfficer + name: SPP UL4 officer jacket + suffix: СПН + description: A lightweight jacket issued to officers of the SPP military. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/officer.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/officer.rsi + +- type: entity + parent: ClothingOuterSpnCoatBase + id: ClothingOuterCoatSpnSenior + name: SPP UL4 senior officer jacket + suffix: СПН + description: A lightweight jacket issued to senior officers of the SPP military. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/senior.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/senior.rsi + +- type: entity + parent: ClothingOuterSpnCoatBase + id: ClothingOuterCoatSpnMp + name: SPP UL4 camouflaged jacket + suffix: СПН + description: A lightweight camouflaged jacket issued to SPP troops in low-threat postings. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi + +- type: entity + parent: ClothingOuterSpnCoatBase + id: ClothingOuterCoatSpnPap + name: SPP PaP jacket + suffix: СПН + description: Outer jacket of the SPP diplomatic corps. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/pap.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/pap.rsi + +- type: entity + parent: ClothingOuterSpnCoatBase + id: ClothingOuterCoatSpnKomWhite + name: SPP UL5-W + suffix: СПН + description: A somewhat armored jacket primarily utilised by naval or marine infantry COs. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi + +- type: entity + parent: ClothingOuterSpnArmorBase + id: ClothingOuterArmorSpnArmy + name: SPP 6B80 personal body armor + suffix: СПН + description: An older SPP personal armor system still used by rear-echelon army units. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/army.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/army.rsi + +- type: entity + parent: ClothingOuterSpnArmorBase + id: ClothingOuterArmorSpnSofPlated + name: SPP CCC5-L plated tactical vest + suffix: СПН + description: A plated variant of the CCC5-L tactical vest. + components: + - type: Sprite + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi + - type: Clothing + sprite: _RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/equipped-BELT.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/equipped-BELT.png new file mode 100644 index 0000000000000000000000000000000000000000..6d8c11e477a7fc5ff56e803ed5968defed9e3ffc GIT binary patch literal 675 zcmV;U0$lxxP)g&4#_J26cp+J%HD z3MR2o3uAvW;>sa`%--JZ&AD?;itOIZy!o@c+-yu({=_VgUoZexfaL_Z1S}T-FM?bG zTmqI8;1aN00K5xu32+JgGXh6@J8YNi4F#&RW6*N$D0b=ZKro&*ohCOM6*&7&(&L$uc$$g`OHKdEvqns2bH65;H9#&d48T?eSicKUJ^;Db8}RdBcSbC( zpZb3g3Tt6gwF?knj_)TyRY#&Sp7ge60wM!2L7B1*RsiMfnDC7iV1hDb8>|4z*)ic8 zE5HP0$~IU5l(S>PH&%cN%9L%e0(7$j4b$3V3*C*?wdePIZ3RF-9(r+GD_!JUXYJr= z1AwM!>$UOSh@jp+4+H@8dFsi5&!}I!Gq}#cLX4}ykviZ zbnpt<807*qo JM6N<$f&hCcArb%p literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/full.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..9858a087bf6bf8c91e74b1400155a37105d6b451 GIT binary patch literal 585 zcmV-P0=E5$P)18OHrdJ z4h@wJ)sXHl&V^4tpYeS6b=9G}_;}uT&$;J2-?`TieI7=i@x}imkldd#p?ay>5ZUXh z(NhIR#-`0&IwHcMfXLt6i+rJ`uLOy;u-q92c4qZfbZ*7;3=NCM=ex)xy`ofp)kgrb z#$)3WlNRPAIC%ZzO)N~*MKtV@WzbRrsw)V92qyvAN9WhYSGgzv{!)1|pjLd@uTKFk zH^}U5Es4|fJ8_vagg-JPWhZdVeY{PW$LR;XCL|9)dOTm8tV$BuVz31q1TtrfCJd;x z3%IP1xB6U{<)EFCN__Wtr^N%bIFX1(f=wSBY|plk;JepKfO_282}BBt@BkvxS`+}d z*B6j$9&LO}ck?#1%LrElxZwz#LWaBD$wB9u0QE6yyqOwoYc(g}fARoS0669PVX7fR z#wqZhJb-9Lp7TTHxBPcPMwv0?Iu_rJRoV>a1eDKFBEZ3|@u~`}Tmk|g@P%3q7Pr7k z1iA(8s0+FYZcBj9cpNA@SCd+0w>2RLMw?;a{^qvNJ9$KQf%Qhifh7S;ws%@o<$rm3 zphTk&v10pOuT X+7(({|LQ>S00000NkvXXu0mjf=otqV literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/half.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/half.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6963fc766c987a41914757e1b669afeadfcbb7 GIT binary patch literal 423 zcmV;Y0a*TtP)Mi3iB6H~?zrHB}VK$iNtNHT2R^PB-j z6XOV~IRNBHm?JdRr5Uc@dleo#UoT4ZI zIRa$4ijow==Iy5$$|rpx$>$VBfu@!B|D}z*aLb8F?YOcs$x#5Z92DOmP~d)xqy&e} z5hOVP*>Z9c97PU*S1*P literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..9858a087bf6bf8c91e74b1400155a37105d6b451 GIT binary patch literal 585 zcmV-P0=E5$P)18OHrdJ z4h@wJ)sXHl&V^4tpYeS6b=9G}_;}uT&$;J2-?`TieI7=i@x}imkldd#p?ay>5ZUXh z(NhIR#-`0&IwHcMfXLt6i+rJ`uLOy;u-q92c4qZfbZ*7;3=NCM=ex)xy`ofp)kgrb z#$)3WlNRPAIC%ZzO)N~*MKtV@WzbRrsw)V92qyvAN9WhYSGgzv{!)1|pjLd@uTKFk zH^}U5Es4|fJ8_vagg-JPWhZdVeY{PW$LR;XCL|9)dOTm8tV$BuVz31q1TtrfCJd;x z3%IP1xB6U{<)EFCN__Wtr^N%bIFX1(f=wSBY|plk;JepKfO_282}BBt@BkvxS`+}d z*B6j$9&LO}ck?#1%LrElxZwz#LWaBD$wB9u0QE6yyqOwoYc(g}fARoS0669PVX7fR z#wqZhJb-9Lp7TTHxBPcPMwv0?Iu_rJRoV>a1eDKFBEZ3|@u~`}Tmk|g@P%3q7Pr7k z1iA(8s0+FYZcBj9cpNA@SCd+0w>2RLMw?;a{^qvNJ9$KQf%Qhifh7S;ws%@o<$rm3 zphTk&v10pOuT X+7(({|LQ>S00000NkvXXu0mjf=otqV literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/inhand-left.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..74e0073f082bae9cbe5f9d5257e896ee12ed700e GIT binary patch literal 687 zcmV;g0#N;lP)8!NQhOMFc1=h4j84u{=3Xt~@W#dwpN`o#dW3_2b=p{`Y@==icGm5R?1~NxptY1`q*~J3u8MIRLZ? zQVCEANbUfYfaCzsDL^G4x&)G=F$H4g_wP}dFH8hq_(H0Ot!A&}F`&7vOBv{RXWQ!u z6}IWQg5lyb^PNh*6lJ+gL^bIAF2WwGH@+vx^8k=(E#AE&lgd{5Q(cr9`nkLvX4RaPxo(;zXNnilX&mS-L6UPQX&F&O_h8MDN z-|LnW0I^~%O{V*aos-S60T4uwtrg~Wg#Gs}$KI=>)Rh6;g!Xt8)zN0hXx9eV35M}q zG5}*%L~0@eM7oVJ77>6kDfwNm=%$lhyampV~j-vV9bh0O+d z0x)Jpq$VOjq}v!{5dj#pB2p6(AkuA&v7{ittc&c60lZbtFGlo@S6H~Ak> zo7z9ItbDybFu0UaOBdOZ7^}=_2>|!Ihw>rbNwykm_P^03idqOT>stF_fOZjZ;{&p# zy*1+21fU8`bu$ki>&YZu2nlKqG9W1DvBV_;uw)`A9YjD-&SQy71YpTTP&%Y1;2VlY V3{Wni^>qLM002ovPDHLkV1gwfEGPf~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/inhand-right.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..1e95f217d99e1b7c10caf8dc64f09641ba21dd10 GIT binary patch literal 678 zcmV;X0$KfuP)HW0kl|Or@cc;#5C<5}fRupY29PEwB_JhW zI0I4wh8sYh0#X7ffoOlNh0oaDopFTN34?&?v1VFaKetAE57zE;37U;x^s0=!(El%Vs%yHI-8NPgnjmK z#LB3tLJ^>vx9VGW4^O0Ga?`t95uiUYoa|J{zR;zA=KyD;6e-%4_Ikdp7+a6)Z;NSU~V%V!SZbU~R@f zA>!*n!VD6G#k^l|#Q}a%f-4Sj02lLq!4(JiMG3ArjCa5X1jGJ8mSD$@00000 MNkvXXu0mjf0Q{phv;Y7A literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/meta.json new file mode 100644 index 00000000000..28457b3f6cf --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/meta.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Aleksh", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "half" + }, + { + "name": "full" + }, + { + "name": "equipped-BELT", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "sheath_on", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/sheath_on.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/co_sabre_sheath.rsi/sheath_on.png new file mode 100644 index 0000000000000000000000000000000000000000..cdae539bbef285e506f8c0cff72a4d03454547be GIT binary patch literal 561 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEVEp0f;uum9_jcAsFBU_AwqpK- z^x}4f6AL4>!n)?p)esYF+S^-p$hIY6d2fPdL_|mTjT@cU=VVl_xxw)&az*bqZDzJN zWkxqQ>^!r-RPAKVXMeRfOA@El^FIA2&CtL!Mc9E$L!5!naS20^gC*mVh9brVTnelc zm`-sjuukDtSgW;R<25~v1KM#T+`KIiqt|GrbLu8}=( zOf9|Z*_AbtPrg5U`mu3q_%#Kk-J7nM%(gaP^Rd*zKbtL>VWO;LuH;rOhKBujUZoxn zT+YCnRg-wv=Kj3UYPK7PSsAuyIn;_OFz9VxZFTy=#eb`A-rBq3pHj&5;B~Ke#kDWC zyBa%pdJj7T=hi7X3mT>@()`HEH6g(JBpa89<}9K31q37*?q}@!*YYKHeO7fo>l_&! zv728T{z~u4Vy}7rnaLraZJ+(U8?_eq&$ew4XWUTxqwZf;o8>Q-5S9aG-t~6(d%aja z<}GTOkS|(nrG4PrgZ-cKN-i$nTX>%>vLcB=uU}wQhe&$g1BRqNJH|;Ns?(U>q_#($ zzZt53Yx4YeDlAP}!nJdz)oC(Bf4U{ScEw!v_P5S_v-Rc(on`u9|KB3S@~2c*Pw48o l`*Zd$WpK(hnO0fPc((hqBPY}TEMQV#@O1TaS?83{1OQsX@819b literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/equipped-BELT.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/equipped-BELT.png new file mode 100644 index 0000000000000000000000000000000000000000..ee71e89694b0a06db0ac0914020b1050c30790ee GIT binary patch literal 452 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R53 zr;B4q#hkaZyuA-Qh_w1Et`k`}OQ?I1l3q&_E9=B}f1bW`VQJ-J6;}$Y36RoVyUR<# zs&Qg~l5av<>ACHaJ2)**PQU)>9>Wt4h7%JRCMYv1xHCEQu{6kVGFS>R6sdqER_Z3y zms{_yugMBoyZcyaT`J>p_q#ft!AIT;%gC2)x;i!0Wv#&C!k(MgzsJ{VauifvF4sF0 z4pf%E*l^ceW}o!=JNC&=xz~8Mm*ek2*_sF1`!_X|T{(4K#nXHH?OiwXe|+M){^Qho zorH_YU!`w-D15l@^H*^s`*Au9BC&iL!|mzz`*)m@o|?XQ@|iXKhtpeL`_8ym^T)7p zy(8ykCjRTQHWV{eTSr&!t*}cATd=0~pZr#qGx9gs#H&9q^XB%K*yuSat<3Mhv-9)) zW#{Z++LzAUr87%-MYk{`h`B><|3!BJL=Zh^zbbVw`B&YHW58%(@O1TaS?83{1OPk} Bv*!Q+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/full.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/full.png new file mode 100644 index 0000000000000000000000000000000000000000..4bb577e1e1db3afb922aaf8c516a6e0cafc90b15 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEQvf z#WAE}&f6)z+)WMwZRQg$P0C{x^0;8nvFq#S-JFgkd`=n*JC+#OTZvdNSkQOog6qPW z&4+B>>+xIdZp+%~;=lq$2O`eg!qA2fA9Zw>SeUne%$vhxJM(8rk}FtJ y;OJTR?!!QHq_1jkjS_kOY*vMNngh$fs0ZAILA$0pSL=WRh{4m<&t;ucLK6T*>=Yh`~7`UOx!C?l?vhz9E%5LJs_$vhN2T-&NaskCH%Yw`E zGUjx+2Wjh|z~^WLuW#=NGMV3<9F>aLw;h+{7nL)(s#bA)U8_N(b)TvZw&7&5INI+B z`=I|K=P2HBIdmV}a-6mf3Y?xCLvDX>wqO9wy9Zbf9Z#A^aTMUaKpu^_8xbGFA@<^~ zDbD?8xVf#%u_{kjM?T%%o$VFiaBt=HQrww6K3!fMmjZJ$Rp@xyI_v+4L?f)?%ym3z z9>q~$9EP!lbv$Vv#o7F;RE3Tw%~SEe@dk{*zZUobH*OHOhr9p)00000NkvXXu0mjf DM`W(o literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/inhand-left.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..49c61a81ab57a4ab889dcef93e8a18c5fa1e2ad7 GIT binary patch literal 564 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnT zPZ!6KiaBp*`FkC95IMHLiQCaToGXv1G<>0LBl`!AbyYn44-I1~S@<7tDqWfDWZo1j zDthN=U88uCMut)Tr}po4vpHMO&Hj`2EcL-z#-7Ja2{Pggk9ROg9A`aXp~rBnkkO!z zyP+_K0W4L@*!@Js`}*v__}{A+X*D$OozXKf>GJ7+-xjJhG^g&qRrlwYZppVvCkyZ0 zi_zP3`*=vL>WXy@tDo>JcW>Xp{As54>5NlVzh`!*NHd2r^1t5xXr}RUMTcJ(Uu4T? zG3~gLdj6jM-kxcjGe7)$`hVx58|K>&tZOw3ENZaH{$|^u8}OvzdHA0CT6X>DfANzN z-fw4^DB~a~WqfSu{@ZLbzlc9BUNMXLM$yhLj$US-&z;|M6{UKI2)?fy+w> z-!_X2L^Zzq%i6g=DfD%J>EqS$6EciCCPX}qN(r3k_2K=GSK1D*;~eHjoW5zY-u=_l z*VCRZz9-Pxd*spS=cPw}S|k^46r$?yyzF(}J+c>AD`jr3x literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/inhand-right.png b/Resources/Textures/_RMC14/Objects/Clothing/Belt/spp_brown.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2943e7b9e762fa38df81507ca5d052fc0eae61 GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vnb zPZ!6KiaBp*`FkC95IMHLiQ93hc55EfuHX&oFBq#>!sj{Jv>bnNO1Xl;e?rqckxhbc zR;_rT_l?_*GiuVzvQOzX@3(VKF){vmcJ_76_ir66)fi40G6wWx$>| zO?vq6{G8P*dK*MP0Hi>_kne#JFM`*p?6)u6vn~$d-X;@P=f#ZRl z)vepC&T&eLZ!7s`s3{k4uTe64{wG*R>wURb6VJ+sqJ|vC>%X;GKP;8>Qkf>Bz;`XkX3Y71?Rmo^#?|+O3}>eOwP!9^XSZ{e8Pg@5d6(rs&Rzdk9J_~* z{krYvCyPz<8cQoUfBZd^`<=%`@y=@J7JZw!Jw=-RTO;+SRK>s8xJSvs%dcgt)3nnX zN0+jRH>n-_By=EX=aoBY4jYwn_tsRdnGm?4P-x242VcwnU8&&H_^z?z%HPYqhGSCS9!r{nFAZwZq+Il zrg??2;g)^IvyT_vsrnnnq)~bP^ECdIcB%oNw#3=a`kbk~a4JL88o9Io_DEeh_Rv!8 zdivZ>37P(o((;e1A62byn16wDLd(}zT)Tf)Pxt@MzubW5=-oAs{dvM?ZERQYl#r2K zv3Bm;L~$mKyvS+G4$l&H5DoB&{}5W+bCGfV`O6=l-~N4}Bqo<}^O4u)j>YoNUbIw( zO0L(*Wwhd7@V}vkqtQ}{;fx?7*xfD+GnAPQ$Otk#>tHZ&XK6r^S|h&TbM~AKK?fGu zH$1zte8ZpB|JFxnHcX0-`FZ^60!dXOTe_&YrI7xm~5 zDIR+Epr}YG5-Ek!Ln*~S5PgAJwzhwAmaUJy0ysga0K`0w z4ouFDT_DsIpxMds5pH{3lgsx4V5$-nfaV-QF{Kz&=`_V}r3MglF{LDa7>&aN(Cl+I z-vVIlDm4JNAN#<51dzg^zDqVr~tA{fBPVdiXq>E4`rlSdWh-HQ)P z^*;`Oce%gvZtd-b_7W~EDt(W2JSV-_|9Q2Bs>1&rllL~~%-JVi`uyR`@Voz4ah@qL z(lp)Qb!q>ByQho4*y^o!{(PNl^{!8Q*cJL%i9~BYf2dqN_37gc*Jr1*=;gIL_Mgx{ z|LUgB^niS`?wza4b{CyL#q?>zku@Ka+!RcH9>4E%`O&Xm%j^H?N!!cC=j=GypR1djd;;S@eiEa-)2U)Dk+-+1De6p)z4*}Q$iB}vgEF0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5c46dc540b8fdf686f3fc790b5dc094d6dbe7df2 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5D0te_ z#WAE}&f6>dxegf!uze7|Q&Ny2zOY!{@k48kOnSUW!Aorok(gTxn{F9a9cq1jbIT8Q zolmKmll0I2o#k-+%VUrQAaI!d%;Y04KN_BQUwG!3JoAnNYQECN+DgY=ZyC+4XFZS` zF0yZbNAj*~Uzv~j&(7X4mwTZVW01?Os`?MJ&n`OgvBGk$&0h7&&}qG|vz))oJMgXM zQ+ U#UdtJY12Uhp00i_>zopr0N%26mjD0& literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/inhand-left.png b/Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..9410b0476fbbd8581d6545920d3643d07ccc5108 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=^F3W0Ln`LHy|t0|umeYH;uKMd z2F`-RZ|y~v&YrGRH2IX}T-~F;_Rn&bSyYn-R1X4aC%tB_)UHZjma=uv_w3Zoy5+C) zq(iNy8D{0Z2wd7RVU5YED|fd&-B)xcJ9XKe*tGfQ|9twkqP*Poh^lz$?# literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/inhand-right.png b/Resources/Textures/_RMC14/Objects/Clothing/Eyes/Glasses/security_glasses.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..7a79cc8d93678b9299de06df623f48a92aceb6e3 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=b3I)gLn`LHy|t5<*^tL2@R05b zhR_4PEBWwB9gTaDKbeNmPV9F}Q7^&s%Bu>7Rc{&kOgbe_EPzgqFqb_>VV zC{^yQ9I4B4_wA2+%AUI~IxVXEf?!lvI6;>1s;*b3=DjSL74G){)!Z!V5X;wV@QO1a)LycL$vQNdn>naXJdvpyPHdwKePAaKH^{DTAl0pUXO@geCwNs7EpY literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..19e1a58ae0ac14d005febdc61fc4cb93899f1111 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5D7f0w z#WAE}&fAL{xtkm$+CG|}V$=3sIF04t!lnP~v+|2d3k8~@dM5Ztb**^q(53d?x%inx0rI~=yzzuf(5%P%vZ<1bi0E#`VGI_=+XiGsaz sLifzvV7TDq3XTic1RNL`SwIB8`~s^9KY~7<13H_*)78&qol`;+09O!T`v3p{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json new file mode 100644 index 00000000000..89f132dcddf --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/obj/items/clothing/cm_hats.dmi, https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/mob/humans/onmob/head_1.dmi", + "size": { + "y": 32, + "x": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/equipped-HELMET.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..3a8571ccbdb980505da58582b53648a1dfa69e56 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!V5FyuV@QO1a)LzH0SEW5^%J%m$~6CYk(I%g zFipLE_Cdo~S;kE#E=Dn{vN+W2vUG^{mCBJk5hTI((ecrXtV||08y2^N8WOCF6GVEN g0u8vJoEwY`CuW=dd#bp(5@-p7r>mdKI;Vst02fX>ng9R* literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ede78676ead69097076f3bcad2c35e50b48f9293 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5D7e$p z#WAE}&f812+=mPV*d9!dVz=*-6*;)m>cxZq@pJCTinydd-;yLN(pjsVR`AIypym65 zB|8-@Vu`>^}m6{bvgB9_$L zRu*c%+#=NwJmdK II;Vst0NkT$TL1t6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json new file mode 100644 index 00000000000..89f132dcddf --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/obj/items/clothing/cm_hats.dmi, https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/mob/humans/onmob/head_1.dmi", + "size": { + "y": 32, + "x": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/equipped-HELMET.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..af84393785bcc8d2c2df6fb2401325c0fd4dde95 GIT binary patch literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!V4tUpV@QO1a)JVL#m-xQ?r+F4lWG3(A}fO_ z?96-CXtqsX?rmLMz*EfPAs5SkmEi=Fz`rlw>}~`J@E$g>^WohUw~ArLQ-%1ZjQGNj z|0i~JB}hfiN#kQ+3{3s}|Iemh|5JJP9FRz{?BNw+Ke_nzLQaOrmcENudzu0bxZDnE jNU$zW5P@+N#26T!KdWH*nZ9QO&}9ssu6{1-oD!ML)QvA=)&)Pd7@%B6Al$l4Jx*mysuKuqdwQZiFuIW5S ze|K&@zS1-QcdT$|>o}4$NyceQl79H?|2#mT9j233@%fWvbH@&m7`|iu9UZ9&2?+|; zCLC4|F5mwBKm5%5zyDvp{ri94qeuUhMMeMr?&@CLaahJnN8#ksMW>$qumAh&-~nx& zvj>16;m04H!=d-hdNG7D^YCs1M-q$>w;dY}Q9+d&Np69$Is X%06=foL=Ms{m0gTe~DWM4f5%PBR literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/meta.json new file mode 100644 index 00000000000..870438fdc7d --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Based off of https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/obj/items/clothing/cm_hats.dmi, https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/mob/humans/onmob/head_1.dmi, Altered by KompaniLinge on Github", + "size": { + "y": 32, + "x": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/equipped-HELMET.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..542a6ea2f82f458ed75d2d04efc3424984825f6c GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!V1uWNV@QO1a)N@e#ETXG+7nAGXEEiPW^P#8 zcTK8*=TY;Ki&uk08*~^RJ}EHXuvB4}$yupZ{@~_y)3q2<49;v7W2sxp`o9D92%UhQcLG~jYOs3F0+I6(x)Q4nKbcxvFa U+MCznKhP}zopr0FCWWT>t<8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..96cc5eec4a86a542d9146e6c4c5c5878e815c48f GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5D0th` z#WAE}&fCj|+)WN5>>ui9@HKS?>RPdGjR@HBrSq4YZta|9Vu~8mnU+Us331B^8O?k6 z;F;{C)79P2?-qXF{r%mo3=4?^3~UAtQU{q4_W zv3Jk>W9zq1KQZYlV~JMi@1?i+8RWU9d2F~Bq^T58FY@|Os=z6S!kb-1Ys^v=RGeOk pp2!Q6UT`jfff?+W2F70IeUD4rwuSHog#x|F;OXk;vd$@?2>_qUZw3GW literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json new file mode 100644 index 00000000000..89f132dcddf --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/obj/items/clothing/cm_hats.dmi, https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/mob/humans/onmob/head_1.dmi", + "size": { + "y": 32, + "x": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/equipped-HELMET.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/equipped-HELMET.png new file mode 100644 index 0000000000000000000000000000000000000000..5cc4dd1f8f0bacf5ce01a5cd06e123d54f20123e GIT binary patch literal 685 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|QgM zr;B4q#hkaZE_z8jinP@?iw8}V*ea!A=(SP0>qTpv=Y6O7huKfO?ug5r@3bdNKgcD< z)n^fR;N?{;%}I&7(>G0CzCi(cf}@lx$BNcTh9vb-B|gzk#)k=7ags}2MukuT(Gij z+P|;y+PyrJzIn`!4cb%Y*m6Jm-L}QE$*$1XtdPm)we(zuUv;62uSZ!6uj*X;{$jsR zdgJ-}_5j-!?=3BEd-M1Gd$db1te*8!&7Id(qO5?a7K_Z zp^t;1*o9$+GKy5bn8U=p;7>-`};#JFJwefFdfTPr!HM*-K<}qEY*}a+X z_K7nQ4fl5Rt>ToO`u=T>^?9C`!ur$Aon=p_7pu+{iS9Ib&EH{mfBr>(xi{sDKW$lX z_I1R+@3+jiipfrFzLYG^EA)4^z4gkKKTj(-=!ORbTGrZMu3*bKzOm-xHzxm&R(AE8 z$KD70WoGs^$eQ3V=j`v3m9MyW*oE)c_UwyF`SN!%ZzS)m)$DT@&ws&Fcunc^e(Bxs rq$}S3%U`ScpB=9U5q`hH{e!*hx9n%#OGkQv>5swF)z4*}Q$iB}5kfB= literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..da2c1c7139b64df66df6080f2121c1b2ce866625 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEPqB z#WAE}&fCj@+y?_h7#=LP>DZ#S<Uy=&Uo2_<=J-}Omst$=s`lP-TD#DB z{biT?Fm`HDE%!I=vM|$S3j3^P6K$Wmg{(4zIE=^v-mSL8`{sP{jU9e`~Ml8nTcMSXEy1) zVz_eZMa@h@Hii{ptF-p;JT6PW=lFZY*>~o*=9kXipXX{kSKi=Qz}k?jcNXvLEdKlY zUx>n=v+?2$Vd4_1^Jktu!p_h#U2)aatX0fjQvaf2754BvJY%gP!gV5Tb78fJ>x=mB zhEdZpHF)cF85ja$bds{Ovlm^lJs-R_U-vD8=O2IT6Nkyo%W{+@I{6y`sFb@g;U42=`?pFQyMkx4<$u0Dmvzf= z28M(mjm>53>~H=4RL^r$ zDj7Pju`)Ci+kO0Byxn^4(TTsm_-)ZUU>V-`xMyznB95R_R}>4*P0hWXy!tSMK%3&O zyX(IFV|dFYac>V$?CrK(WuD8ia`M0aaLF^s9G47hyT zQtM3Hys~JgOw9G8hYm5tTyK57YlBYqqsBk0x9nzk9`p3`&mV2|+rtxPeX{ZYT4l?_ z#?0c_;J18o9_y4YRS!)=37!kDzdopp^9kTsDD~AXOZ37D^D8gzwOpJ%J!nygPG-Du zptuBI#cJ);AN%+fTZEieY`s-9>2zl1+HEqwf9~tQI@M^&l#WFj7rzRfW%Bm+=3|iag0lbs literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Mask/spp_commando_coif.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Mask/spp_commando_coif.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..62c7f498dc7149dee4fb1542ff9ddfff78ef7383 GIT binary patch literal 450 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 LNkvXXu0mjf@88fZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi/meta.json new file mode 100644 index 00000000000..98d086de9ed --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/kommisarwhitecoat.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Made by KompaniLinge on Github", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..1cbfcb6eaf066d68348cd54531e499456a2820e9 GIT binary patch literal 1275 zcmVo@)KsF72q;L1$EIS_ zWdI4W011SI1it{-u|Zw1fJIm!5RheeY-m?aTNKJeM3j^m(j;nQL;Q%-)^WpS&ctKi zTwKR05BX@02mG{01Sr}0EWW~pwsx7Cm(cD>2x4TZf<^M&qd(iqmix(e{wlrsZ;!{XFDAc8WP~Oi3!I^?8EsVR;2pp z(a% z{6r*zQwv!+$oN5_{vwbV-jCldUlZw|$XCll3;%%ap%Fx*{A-EQ_8@bm@}Re&@=SI4 zcNHL+$>Kt(gk)g@rIs5|%9D(OFje4kNZxQN?e_w1{z##>Qtswe`AlI8*-TE0zpemW zPvc|#nE7@U@n{52N2{Fn(cTtG#sOyvVVP$+H=%g38#5y4@#lu%#9Ey@*%ZC}vx_;& z#kI~EsIahd6PfG=GPx~Gh;};syUqYAD>}l|+1U^`!tK%?M8#Som*u@Lx5-3(t>5{@ZTS!Mt!a@Qk3)Z+Kn>-MSr zG8FV6o6T?E24Og?05BX@02mG{01Sr}0EWW~0K;JgfZ?zLz;IXrU^uJ*x<7E=(JSz4 zY_q==^5dvChCuxRgc>}r#Cavg&(Zuw&-+0UjN>*<1PK~4cpL4Ffw$Fx_yZI;_@S-4 zaCrF^uC;}b%CA?x$5RwwG;k5r;5k@j&`1=!akz8~SrOZ+=5?Hw037@i-CcO$laCM` zjN#qMm#{YE?C=W&4LM+!C!ue(7w=DhiA+jxzws7k3c#F3f4(-suLaR#0|PjhzluXc zFg3-Vw?eTrr(XU)AbQdkMJj-Z}W{9bLF-GeBL) zdSme8N6-?028D}P(v`b+rYDZZ9k*fP$g!soB&I+6YKJM~RQbqLF+FncfTPo&mH@@F z0l^KgVIpWuzVhNuQ$_z`^Fq|#c%c9Q002ovPDHLkV1f;2TND5Q literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f87416d44bdde2da2df39e4ec3d7f6b9f9593d1a GIT binary patch literal 562 zcmV-20?qx2P)_r#Q6iYLIdjh3>-Y1X?~Vx`{|jJha#+L@&uFweq2;rsezERocVYh^VyO#2V9+Q0JqkZlK03*kgo6PO z)H^Hp<8oa%8Z!)G2w-7sOo;vlDH>zZqeKit16@#W(wz1E@lhWply0#R3K@bZ3qay? zZa22CpIF4-r$}L--`9kT%X^tSWc}5*Tz`PpL+&#IQ5HZ=KH*r?pk`j6Szl$RFowsJ z#z2&dLE}(gMQOc}_!WRm7YwxFaQ6Xzj~l{a<74-4fOAiE^eadjj+isU7P>BYTCDs;S?V!NJOS)SBNhVJpG?&NbmjEf@s>xg z*9E-fF*`kvrNt4PpPgcBeGQ7!f!oLDANN%aK-Vc8{i<_Kc3fq1eAGL8n^<05Vb`ad z?FBLU{-=Fa1AGrM9nG8WySKHGYsy7qCR6XIG%5mM)1{nHk!De3Axti?Wv!Lk^lez07*qoM6N<$f{}mw As{jB1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/meta.json new file mode 100644 index 00000000000..af99a367e68 --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/mp.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/mob/humans/onmob/suit_1.dmi, https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/obj/items/clothing/cm_suits.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "icon" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/officer.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/officer.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..a5dae725321128c33aa8682e105a16d97ed8d86e GIT binary patch literal 1185 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi/meta.json new file mode 100644 index 00000000000..b745c623db5 --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/OuterClothing/SPP/sof_plated.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/Zenith00000/cmss13/blob/4392fc4ecb1fba8e8bec166bcbf0cac4c0b2ef64/icons/obj/items/clothing/suits/suits_by_faction/UPP.dmi and https://github.com/cmss13-devs/cmss13/blob/48f0eac6daac63cac0c4284b8434ca67d464baee/icons/mob/humans/onmob/clothing/suits/suits_by_faction/UPP.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/equipped-FEET.png b/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/equipped-FEET.png new file mode 100644 index 0000000000000000000000000000000000000000..7e24006bf30650fcd061b5090e5334a856baadfc GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|O(6 zr;B4q#hkad47r;EB-|bfn{>QT;p6-FfBw@48hJ{2*F?Lxly&n@|F#o&TKeOWg5Q0~ zLcRtIc85943g;LFo-=e5GaRvGcqGGsDV)m}aQ&;yzRfz(>)I0+r?;U2Gi`_Oph%tegFIJr@bxX#_vqm jYHo?%c)gqf&Sbh@-y?Hl<%B9=Krwi_`njxgN@xNA9c_#R literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/filled.png b/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/filled.png new file mode 100644 index 0000000000000000000000000000000000000000..87b8b87a89712853e23bc6f8ebb4f3614d68f2a9 GIT binary patch literal 489 zcmVV8OPIr@n_PuFBvJaRe2#mc&!442|U%8sBrMPKIvhAApe8LI9;`W{rEGnHb z!m{|J1Fki^0N&Bt6%UZycmAMAg4R6>;GUK9LmH7QE9NBhv+unDp2aI?LPSRcj1`#- f;6Gvp_&UHZ7B46QQyzy@00000NkvXXu0mjf{94U~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/black.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d44e274e9935ebd081967e0739e61d152af39747 GIT binary patch literal 472 zcmV;}0Vn>6P)NXVEUzi*z$^CP|-H^2>W16Tu8Rdpmu@;jgBS+s5Y_!oe>u8*$k z#57HBP_7VG0LXUV_qXS8#MK!q0A!x$xga5k;2tC1sm{Q$rfDuAtN@U`Dl`m(h~rr6 z48T5x6+jRKA`C+jMUhz7RV>RQpJCKFgL?4_FplFR%d(>=3OV1lO#&fw&H&CUz*TT( z0A?EA03c3V005KhtpQ*^GVS|b&Z+R!0@M|x7XX`u;eg5a#sDvS4=h@irL1!7H5b4f zmu(mUkT}_oJx7Ji|6dE9KIe*2m(gkB5MZ_d|xqA)?A#L5^uZook?f`u(+<7U{UT23G?FP4wy6~Ex;#wwc-K9 z_nq1>TDKFxD=Y1fXhgcK@Qg#B{cj9#7FW*Lh<fig*L~i?{*44)6qokR#}?i90+1 O0000@4S?k+7y;Yi&gfzJ- zIaCvi+cpRsjxF7@=RNajBjeql_4s$cdH8#qV;@U{3@3x75JQm)!xImN6B8LGC^IU! zGdW;LG+2l)H@cnpQKkRl#mApR!SS$%TqHH!Q>XUn|*fY6$wMVDfyy z)7yoY-Y>SxNVrBV?vH#$B-TUm8>W)+WDhFERr}71!U@!Y~@8zSl*XOTG zFS6Vn_AhewhA>XO&&r%0HNAn=m0ORCy#Idf=2n(#-KYO}FlD{{w%;sv&%4=YuE!H_ zE5Z{x#g}t@|NZ&GbKQLVx$KtuoxApMyq9}tcw1kfeEw3FC3|%yy)|iC*uNmgVe79H z?;EohLQCA6yJCwpqW^P5h;bU>ny_vb+@0^)? z1~2YdYk)Pt8h{%hlgVg{Yt?Gi^i^FT_CUj3`vrNTrP)3qv2>jE&#Xh!gRe{ zE>pHFuGi}`09s!ufO359`u1h0-H(ZE-jT-$NBk^4RNu0(+YKX~PNPz(INEb1FQHeM z%;ILVi9(^Uw7wF6V8o|AdAfNykpZd%y#pu1GrW8A11~aL@QEs7k1w~CTMppyml8u> zoSsf^tjVpB4iR#6KNmnC;KAYd5&Zh-abKUVz=j8}UhiJbezQt+W&84T0SJPii2(`s zVk(;}$6oZ>6GTGWfNQXH{dP>i$5Bu$Mk!^Ui^S z&!75uwDVk_**7Co05T^-qt(v0U5X8nIf=U8;H!jwzmM<(15 zG;c;Rm0nfV8|K+;mW|0|l6Aok``209nOg!-Mr5`qGABbaBaz{JY$%aP%woH5f++x% z(o9Cy^JWw;UhninWC@^WZ+dJ}sg!00w`iz8F2{dPxEhg@%y`VX0eClGIl#Zr8sN?W Z{s6Zv@WvRL2RHx#002ovPDHLkV1oFnH^u+} literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Shoes/Boots/jungle.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..97043c1190d087c1ea3832725f401877418679c9 GIT binary patch literal 664 zcmV;J0%!e+P)%WT}%hFD38EZ#R?F#l#}7o+%l9B9T|dj|3mMkIr4eqn$_GHTts zzxr#S0aOY422T1TynMckM};-^s9rln`mQq9o_}2dS&88EbiD9-E`V4}!2Z_(MB5AD z%i9%;3wZi$^I~+!DiQcMAW4!X$5h-%n{2EfN6={*NGj_$~pR z3+4hK@e2>LC&4fbh{_pK8xnqe>*DrS9JN;(lvNQ?F+5qT~%Jslt3b#Z6op*?E)Cg%!3;w0#_+Ud4Sv124orm8A> zpH+0bU98;F@!+wFx7$s~vVBX2Lw*3qro||x(wnCFn|QHUWS+Vob-~x$ms$IXdje2K zBsOa#PJ&LWoo>4nJC@C6Cvmg+=VNdMpi;V-ll8P1#k24GiTVQA*}Gnwd_Hfv!OaTV y$2Iq#6Rt)yPi8#g+yK0r2M+KrYzc7f06zfZyJ&1?fUaHdgUOiv zI#1Ons;vIKySMCdqB-&#%)ecdrP-ljYtjt((a?T{e%IDX^Lr8iE8I|5PlqcjE#)y; zv~WV~V;tvEHyL7t>=hz^qsutP8qLY8@b4-Blee5bM{5fU^l>U{Paev%2(ZIBoM*u& z5k&s?Z{JvLi#bs@@VE@WrwG7BvC42Hlby6|9QJ5I%=XM+;TGY(9}xMm2*toYdF3xE z0MzFY$7%ySaR4@+JlkR8Tf)SiqQH%xL){4o13zT>iweLYjy9c6<3a`|3}972$Sv&R zdHlP*z>S}8H78(K;V&w{rBkcsqh*t_rCa8O3pQSDC=LR&VpRO^cPdc5j?C|h3gGrU z<@*p}h({n=^kHYk{dx~jy^fam00wU^2t$qlgrA?Ao)>>-dZoocJY}^m%;Fl6$JO9fj!7;bki11~bF6iKw65!j$_m~%(F6iKo_5cbw zA^|Amhy8?{|hPgHGw@>X6z+6O5CKzyOSZAXF<$8h9Me?Rhg zzSae}K}?u(O#=IY1Pw`wASD1+UYxvJy?}1G)g-_lE}lS!C@qmlRNe%gDKSovruUK! z^#Cr(5o;1y1QkdL0QFgQp1iYOKsVfK5&-r|)(7cZ;N{S;U5EfU>ji>{0B21CzU&jm zwcP?B5OeQ%^f>DUbi=JCVW&@W*OQKb-qhb6HjyYdob>`hM1Zp25Z(Mt}%B zZcK*^95)gL8UefqIUjji_kh`%FaOw3D=;$hj&7bmWYr6t(Hj6J$EH=2aQoE;?Jq6y z`-|`WgdCN%WDJqRiBgu5Oea}4;p^?pd>($H37PPi1q*qIsO1n WHMKZd7sc)X0000kd-^}!s%(A!W+W@q?bowKqg7})8ex;1AX#sG+ie5^EyiwSd zFxFQ;?Pb8^IJ{yI9R=W2^DQuP`3hB~?6*=zoqJ1u=q+H-_IAIuEUH!msTAOz=V#}a zSc&T=F9?9vP+yDw-l$B@%9R3gCWHcnh{xlFgwzM9stj0MIsF|1fMy>$o~wJ;H(BRf z;PaJZe{TKL3!XxZDW{Lz>^SR0gn-un@N_r6-&u^lP1N=iit za&&xRzvn!FJ$SyyCvd|4&i8-|-~zY+{}$j4BP-$Li#!)700000NkvXXu0mjfKEnE( literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi/meta.json new file mode 100644 index 00000000000..9dfc1dbfd98 --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/Command/CO/formal_white.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/05eaa3484b1a35aa759300bcfc8f0119f009daae/icons/obj/items/clothing/uniforms.dmi, https://github.com/cmss13-devs/cmss13/blob/05eaa3484b1a35aa759300bcfc8f0119f009daae/icons/mob/humans/onmob/uniform_0.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "equipped-INNERCLOTHING", + "directions": 4 + }, + { + "name": "icon" + } + ] +} diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..fcbfd8a9e3bb8acdec50011a5bc2b1d42873ce55 GIT binary patch literal 1410 zcmV-|1%3L7P)c-fZlB>m6Tq zKgpV%S$n@XpJ(5`o%bdv=O_fAoTCtca*jd($~g)FDCZ~ykbL?5_ZB;Q{tJD)zVWNW z<8NG@@1Q+f8K>KKesRbWOnz`N%rPl{VgW!tQ*+f(o5FU!^ZeO9otiAsn^(_LqZy9l zdp1PCb<5?F;uzOlj~=zV=c-j#bNlTVV*W$|@Z>AyQ;MXd4fx>QDt&kB58bZS{~;KM z^F-N;VDf_t$Jdt5chCF5b8QpGe0N;LKTrUZ+-p9iii@RJ(uTbK*5#LzSK~N8TRTHp ziV)?;B*BS4f)ND!dOQt(q7}f(W7+YNhX_C3`-`qzxuhrm^TrPafl5gY@^->XeB;h~vjnhtmTe!)vs) z1H^eL|G*Uh#{z8LZ#oOF*E(2UCjlz}-y^DNhh;jdw21QW`6WGB2+xieeTc&R)#_r0 ze>Vty1@K#kbmsJwYX9wyvDzR2q2CS-z&K-aY>NJSI;GoT5XTQLcDV2Z+!F08!B76( zN$4xU+UBOCK0RYFpzD+xCGB*4?HJo#1LA&{2K}ysdmhd&y*riaD7$bCL<3oLLDkQRagUtpe>Ah7^=;epqOqhlgW z7{O5Vd*+K$R^S&d=H|EnHZjnb@{3jgqCR+igq(Qn@yif`5_8-ZLY``-{2~GPvBOIa zK?f9%j@yC_{=@=6ZA4*s-gDH|Z#-+*;!i99)V{W`(3ziEBJcDrJ^VX--XPk$ctPD7 z7hk2jt@Wc&ID6RQ7u^E8%KhHGx86NATNuR0wqS!_B*6Cewxd1+$85m{f3Yb_IY%J? z2{n*0G>Q2M3EIz=!{wn zbJC_Q*qXPxCukD#b~yTBdU_7sj%^Vz`Hw!FJ4(wRw*?|dAl?>dLf#IK)(a>B$R?sS z3A`oGB1pI9hjM~YJ6bPb8*w!W5G5_d0yu3^{@!98J^wcCIv9TY-^#RfRJM#6&)1zMC*7x6#ZQQv2 zsdj>>Nr+2@Noy2Rg~A+Z@p9wX07Xl-fl1HS&L15gx5ugzrfJKPrVMgjucvLk3wrxlyKwM5f?2iV$oWs>6q!Pf)$#bqA0TPV}Sn8-1h}w__sRS_d z@G#*1gWqY?2%bElcQE;fyF=9`q!NI0@>!I_riJHu&R3o{^mU3&QOY^~2ZVzAtNG0_ QjsO4v07*qoM6N<$f|+BWZvX%Q literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6968ad4a88539beb06660d5cbf367af9a8a71cc0 GIT binary patch literal 513 zcmV+c0{;DpP)L){b+6$Ejo=o7f{VfqYx z12?+&83aMxDT-pG^a3VS5CYmXP>^1T`6s3=f-sQ=5pp(@Gjo{#%ef?J{IMkf2|xmn z0Q@h2wN>5AWEJsT$fuCYDd_e3=sIJuHyrd)Z*&%70igKKb_rI;MOjyI|Ja3Xzk)zp zn}x6a5<|Tx5YhmZ$};k~3>;SxVh6h#&M%(D`e3|?Z19|MK7j1CasYh$yqbd9`2bfy z5u(hQv&Vb{N(P~XoPKcY^mmo8~C`-Z~pdZDg0oZI5UnvLmCj|XaocpE~ z#LXQbNT==vp88`PGho|5EKSHuSzFU`#R#$_6m(ow_}rhu%3I_Q5yd!$?0D1iOQJ8q z5sm4Jw~uPl0Q-CEUbFpG~7>0pbt%hQ;=x1Xj;x4bA=3fHacKwD+ zV>EF5@zZg4eTLJMW6_NCIUzh}TojWA&@@$C&Xt|d641hR_PpMR0f3i>{{c2&Xijf9 z@p&Fw2Er*|qlF?A;xqR*baaaP703-mP1f|VLSW6v300000NkvXXu0mjf DHrL^3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/meta.json new file mode 100644 index 00000000000..822a10b7a81 --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/army.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/master/icons/mob/humans/onmob/uniforms/uniforms_by_faction/UPP.dmi, https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/obj/items/clothing/uniforms/uniforms_by_faction/UPP.dmi", + "states": [ + { + "directions": 4, + "name": "equipped-INNERCLOTHING" + }, + { + "name": "icon" + } + ], + "version": 1, + "size": { + "y": 32, + "x": 32 + } +} \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/medic.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/medic.rsi/equipped-INNERCLOTHING.png new file mode 100644 index 0000000000000000000000000000000000000000..aefbb0e606f95a41323c25fb903b0d2d2db8c326 GIT binary patch literal 1425 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/officer.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/officer.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d83522078e1ef7a41842f1ac0a6756218afda1a1 GIT binary patch literal 532 zcmV+v0_**WP)a0RfxyKZ*614O2yNF~Ea&BdU-yh798F&+)EmS4nqu^jRRU~?mH=CTR#&9QW^ zeih!{%0OvZK=H81t5h3~Ashqbmh7TDJ+cs|RhoSkHQxda?`?U#^g6o&ma(6 zAm=gM z7&CBke1yy51=>bjk4}RzQ0`S-7Zlv}Ez>f$30)PNu;s77t WbMq?!mgG$U0000P}{ z+3rlY-FTKm~`1r&< zAIJWIL3;aUK0}63^}Y2%b38XROuG7s4S@KKn`6QIEBPS=;Pc$AiM#ZzxK53E--HRQ z4{d0vVBr|=?&%ThCo+J=S3Z9tK2AP)MhmZB(!FmrEi4u<6*fhx zf2skhIJO^zd9f@UHBW6aA!_lBJADit6B6wJ77vRoe_SLrICZ|A@b~lYKZ?`lPa@U; zxX-^ieEIg)p#U$GcS3j`*WvnBc0rte7+w8X1K3d!-&bASmXIUp$_ z1NL?+RL%S)Z*_&T*(^;@Pt)Ao9Mx*I;CyelMkWdCGp*>03>e5=r)>8HI=}Ois^u!Z zn14n4`{(N8mzv|HQi)6f{j1k0!^7-1TC)O7kfJFlYu@*ko#d+Qo`2KR; z=vv)qyt0k=;rJwo4Cw0ZYTf~ettmmV8B`==K%eitS2*~+Lq9h>7>oyI2=zq6lbRqhKwZ3A8dLiPOw-YE_DD}cRE$PT zW4w5^Ua$5Gq=DL#5bha}7G$-PV7MO7{Q_yAE}mmJscGUgT6zjZ^$VmyxE{%gPzSLA zyikabj@>@;lSpd^s67e13!<8*k{~uf?YQ7a5zyU&I;c5_AAj}Nv6zzJ{s^^lvD%Kp z{Q{d_flLzaNoe&Cn5;0ex)M27{ZR~R^fNOv#9Pr6Q;#16I_L+0W|A1=5E;%<_=0UQ7|0^nYOG!`F@0euOr-TfE72Ug{A2 z1$F7q*gv3yhYnGPh&puX6e$H7EObakbd^Fx%!Jf~G3^_iWt9#yuuB;GE^lY%G2hSo zzTNf0ABPLz0=NL91+cZVPu|}u^f{fpli2=RY?EM~4Ta(QA|Zi5a08&o^2#cGo|}(? zUd$7AwjSGna;XS-ZU7Q1oNWLY+H;1AV2txW^R90BOIzv$(W#V}0IC{Qr=7M3DruKTAz&sS)jBLFy8oNrcp1-%ba z$mt*(!kLt23X9BN2w?c~Qt1Wkh|&2BT>uxr1^BlBKP*z(c#tkUng9R*07*qoM6N<$ Ef`^FQnE(I) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi/meta.json new file mode 100644 index 00000000000..822a10b7a81 --- /dev/null +++ b/Resources/Textures/_RMC14/Objects/Clothing/Uniforms/SPP/pap.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/master/icons/mob/humans/onmob/uniforms/uniforms_by_faction/UPP.dmi, https://github.com/cmss13-devs/cmss13/blob/06d35efb20e830eacc57d3c77fea047dadbcdee3/icons/obj/items/clothing/uniforms/uniforms_by_faction/UPP.dmi", + "states": [ + { + "directions": 4, + "name": "equipped-INNERCLOTHING" + }, + { + "name": "icon" + } + ], + "version": 1, + "size": { + "y": 32, + "x": 32 + } +} \ No newline at end of file diff --git a/Resources/Textures/_RMC14/Objects/Weapons/Melee/co_sabre.rsi/icon.png b/Resources/Textures/_RMC14/Objects/Weapons/Melee/co_sabre.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..70cb811f88b2d8c35711d2213c9633d128160917 GIT binary patch literal 570 zcmV-A0>%A_P)XL2_krTKjHc3CsO*@z^6#6{(Js&qd7|TlV*D(!v#{>>`=Zp`C?9rp8Pt5RWGz#T%*>cVH`fXv`gyL#Q-`iS%{NlmU$IOK=z%_TTKy@Alw2;{Hd;p|*?6?nl2> zlQVF5az_>3H35VN*?DMwsxUiVGs-|)!ZFHlT+m0^IDFM^LHnq~+w+5u^aaf_*a{%r zKQ>{UoWM!la6wh&Cbd#n1kACw!%@Oh0sM1pwzaHgIr;sSs8?%>w^M)uICAn!-Doy^ zu<-~O-)WAZWeP}>;Schw)|z`Sz>XiKC}Ca{v`^fAOa1`n5MD5K;n1T100009i3QXji~u@ugD9-yaV{QxLQQ;Kk?j`F{>RQxLQPsMTt0 zKA%ISQdxTHBcNWd2f18M+c;6;w3eape1NYPoK{){DR+d$-ufgs5z>kf^PbL#6 zm&>8W^Vf2|W;h%k=J({`CHDB)C*}Dn4~PIB-Mb7=Uw!}t@#57VAxR?y9q$Ip0bmz7 zgwET~P`$AU+a;G|9~B>Rq>26h`hcCe@SJoHSqRFLJ9{zD);6|bx6@8>C5S5Eb*squ zS+aHQCfj?zqdZ@w0eQjM^Xt&*?)uHy+QN?3htU=0uF$du=z^qu1h^?024EFPD%5+T0SpF%mAwQ}7+L}R&lp{n zI4U4k0FF~ULO}qo>p~`zAyt7E1q8XmLDJO$fgHdpu5b_pd>Y^t8Y(4_0yvH<90q~v z0tFcW5mz_}0*=vWG*W(*MmYd(kBhp(VGxd9pg{Mi^X?~znlZ`&eC#`n(iP^)x_|c+ zVBy?~KQREXgVe6@B4oUWAX+@;s$2owAH>dxy27ix)gk1ocRV=wwGThOjD_nEUKo@l z&ZUei90mXtAlrGq2MK_%0%ZS30DIod4^ypNf$6t>|4NR?C`1y#QGod55h;L`p^Gv#SOv(?i^JN)E8s5_?}<ygyX zcy#{)dHCe>w8m^UOJ;SrAN`k#q2%t~J_acK!JSL+`1vR40k{RCj#cBlvYWddi!|SU zfzq|}|D|{@fApAk{{8J9xqNE~hrjmW=hr@Sy_X-AX${i>)b=~2GC3ITN)KWC%5}2$ z{*9vxuUj`O-IW@d0QQDsr(vby4vfC?EZK>2FtRT4u~qH76yPI6{^KmeFhvyxsvW9JJ1 z6`VY?3C-3==XbZa5+DkIA7Ng<;|l<8u1Zwy8-Q2Bvad4$WbcsZ`iuia6PA5{;{e$^ iB)UH10MUeH-~TU4!kSPYT=>8M0000 Date: Fri, 26 Jun 2026 17:25:29 +0300 Subject: [PATCH 5/6] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=8C=20=D1=84=D1=80=D0=B0=D0=BA=D1=86=D0=B8=D1=8E?= =?UTF-8?q?=20=D0=A1=D0=9F=D0=9D:=20=D1=82=D1=83=D1=80=D0=B5=D0=BB=D1=8C,?= =?UTF-8?q?=20=D0=BF=D0=BB=D0=B0=D0=BD=D1=88=D0=B5=D1=82,=20=D1=80=D0=BE?= =?UTF-8?q?=D0=BB=D0=B8=20=D0=B8=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20CI.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавить баллистическую турель СПН и NPC-фракции Spn/SpnTurret, планшет контроля персонала для Члена Совета, убрать дубликаты YAML-прототипов и скрыть консольные роли из roundstart на NFDev. Co-authored-by: Cursor --- .../SecApartment/SecApartmentWindow.xaml.cs | 12 ++++----- .../_Wega/Security/SecApartmentSystem.cs | 4 +-- .../ss14-ru/prototypes/_Forge/accesses.ftl | 1 + .../Weapons/guns/Turrets/turrets_spn.ftl | 3 +++ .../entities/objects/devices/secapartment.ftl | 12 ++++----- Resources/Prototypes/_Forge/Access/spn.yml | 3 +++ .../Entities/Objects/Devices/secapartment.yml | 20 +++++++++------ .../Weapons/Guns/Turrets/turrets_spn.yml | 10 ++++++++ .../_Forge/Roles/Jobs/SPN/corpsman.yml | 2 +- .../_Forge/Roles/Jobs/SPN/council_member.yml | 7 ++++- .../_Forge/Roles/Jobs/SPN/fleet_officer.yml | 2 +- .../_Forge/Roles/Jobs/SPN/legacy_disable.yml | 19 -------------- .../_Forge/Roles/Jobs/SPN/rifleman.yml | 2 +- .../_Forge/Roles/Jobs/SPN/sapper.yml | 2 +- .../_Forge/Roles/Jobs/SPN/squad_leader.yml | 2 +- .../_Forge/Roles/Jobs/SPN/starting_gear.yml | 6 +++++ .../_Forge/Roles/Jobs/SPN/trainee.yml | 2 +- .../_Forge/Roles/Jobs/SPN/union_diplomat.yml | 2 +- .../_Forge/Roles/Jobs/departments.yml | 4 --- Resources/Prototypes/_Forge/ai_factions.yml | 24 ++++++++++++++++++ .../commissar.yml | 1 + .../corporal.yml | 1 + .../UnionOfSovietSocialistPlanets/medic.yml | 1 + .../rifleman.yml | 1 + .../sergeant.yml | 1 + .../_Mono/Roles/Jobs/departments.yml | 7 +---- Resources/Prototypes/_NF/Maps/debug.yml | 6 ++--- .../_Wega/secapartment_ui_themes.yml | 4 +-- .../Head/SPP/beret.rsi/equipped-HELMET.png | Bin 212 -> 535 bytes .../Clothing/Head/SPP/beret.rsi/meta.json | 1 + .../Head/SPP/cap.rsi/equipped-HELMET.png | Bin 196 -> 530 bytes .../Clothing/Head/SPP/cap.rsi/meta.json | 1 + .../equipped-HELMET.png | Bin 249 -> 634 bytes .../Head/SPP/kommisar_cap_white.rsi/meta.json | 1 + .../Head/SPP/peaked.rsi/equipped-HELMET.png | Bin 235 -> 646 bytes .../Clothing/Head/SPP/peaked.rsi/meta.json | 1 + .../Head/SPP/peaked_diplomat.rsi/meta.json | 7 ++--- 37 files changed, 105 insertions(+), 67 deletions(-) create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/guns/Turrets/turrets_spn.ftl create mode 100644 Resources/Prototypes/_Forge/Access/spn.yml create mode 100644 Resources/Prototypes/_Forge/Entities/Objects/Weapons/Guns/Turrets/turrets_spn.yml delete mode 100644 Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml diff --git a/Content.Client/_Wega/Security/SecApartment/SecApartmentWindow.xaml.cs b/Content.Client/_Wega/Security/SecApartment/SecApartmentWindow.xaml.cs index e8f9650eda0..70dc50f4db7 100644 --- a/Content.Client/_Wega/Security/SecApartment/SecApartmentWindow.xaml.cs +++ b/Content.Client/_Wega/Security/SecApartment/SecApartmentWindow.xaml.cs @@ -31,7 +31,7 @@ private static readonly (string Title, string Department)[] DebugSquadDepartment ("ТСФ", "TSF"), ("НаноТразен", "NanoTrasen"), ("СИВ", "Empire"), - ("СССП", "UnionOfSovietSocialistPlanets"), + ("СПН", "SPN"), ("Ренегаты", "Renegates") }; @@ -53,7 +53,7 @@ private static readonly (string Title, string Department)[] DebugSquadDepartment ["TSF"] = false, ["NanoTrasen"] = false, ["CIV"] = false, - ["USSP"] = false, + ["SPN"] = false, ["Renegates"] = false }; private List _lastUnassignedCrew = new(); @@ -329,7 +329,7 @@ private void SetThemedPanel(PanelContainer panel, Color background, Color border }; // AngleRect stylesheet modulates panels to #292929 — washes out light palettes. - if (_styles.Theme.ID == "SecApUiThemeUSSP") + if (_styles.Theme.ID == "SecApUiThemeSPN") panel.ModulateSelfOverride = Color.White; } @@ -482,7 +482,7 @@ private void UpdateSquadsList(List squads, bool debug) AddSquadCategory("TSF", "ТСФ", squads.Where(squad => squad.Department == "TSF").ToList(), debug); AddSquadCategory("NanoTrasen", "НаноТразен", squads.Where(IsNanoTrasenSquad).ToList(), debug); AddSquadCategory("CIV", "СИВ", squads.Where(IsCivilianSquad).ToList(), debug); - AddSquadCategory("USSP", "СССП", squads.Where(IsUsspSquad).ToList(), debug); + AddSquadCategory("SPN", "СПН", squads.Where(IsSpnSquad).ToList(), debug); AddSquadCategory("Renegates", "Ренегаты", squads.Where(squad => squad.Department == "Renegates").ToList(), debug); return; } @@ -575,9 +575,9 @@ private static bool IsCivilianSquad(Squad squad) return squad.Department is "CIV" or "Empire"; } - private static bool IsUsspSquad(Squad squad) + private static bool IsSpnSquad(Squad squad) { - return squad.Department is "USSP" or "СССП" or "UnionOfSovietSocialistPlanets"; + return squad.Department is "SPN" or "СПН"; } private void UpdateTimersList(List timers) diff --git a/Content.Server/_Wega/Security/SecApartmentSystem.cs b/Content.Server/_Wega/Security/SecApartmentSystem.cs index 8b16a4f3691..24626f4ff03 100644 --- a/Content.Server/_Wega/Security/SecApartmentSystem.cs +++ b/Content.Server/_Wega/Security/SecApartmentSystem.cs @@ -54,7 +54,7 @@ public sealed partial class SecApartmentSystem : EntitySystem "TSF", "NanoTrasen", "Empire", - "UnionOfSovietSocialistPlanets", + "SPN", "Renegates" }; @@ -193,7 +193,7 @@ private static string GetSquadIconPrefix(string department, string fallback) { "TSF" => "TSFSquadIcon", "Empire" => "EmpireSquadIcon", - "UnionOfSovietSocialistPlanets" => "USSPSquadIcon", + "SPN" => "USSPSquadIcon", "Renegates" => "RenegateSquadIcon", _ => fallback }; diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/accesses.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/accesses.ftl index e44be1ec358..6948d354da5 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/accesses.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/accesses.ftl @@ -10,5 +10,6 @@ id-card-access-level-tsf-diplomacy = Дипломатия Федерации id-card-access-level-tsf-sec-apartment = Командование ТСФ id-card-access-level-renegate-sec-apartment = Командование Ренегатов id-card-access-level-empire-sec-apartment = Командование Империи +id-card-access-level-spn-sec-apartment = Командование СПН id-card-access-level-basic-remnant = Предтеч diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/guns/Turrets/turrets_spn.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/guns/Turrets/turrets_spn.ftl new file mode 100644 index 00000000000..176a8f506d3 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/Weapons/guns/Turrets/turrets_spn.ftl @@ -0,0 +1,3 @@ +ent-WeaponTurretSpn = { ent-BaseWeaponTurret } + .desc = Автоматическая баллистическая турель с СПН IFF: открывает огонь по всем целям, кроме зарегистрированного персонала СПН. + .suffix = СПН diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/secapartment.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/secapartment.ftl index 7fbe3c8c682..4fbfe582222 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/secapartment.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/devices/secapartment.ftl @@ -26,9 +26,9 @@ ent-EmpireSecApartmentTabletEmpty = { ent-EmpireSecApartmentTablet } .desc = { ent-EmpireSecApartmentTablet.desc } .suffix = НЕ СПАВНИТЬ -ent-USSPSecApartmentTablet = портативный контроль персонала - .desc = Портативное устройство для контроля персонала, организации отрядов и координации действий. - .suffix = НЕ СПАВНИТЬ -ent-USSPSecApartmentTabletEmpty = { ent-USSPSecApartmentTablet } - .desc = { ent-USSPSecApartmentTablet.desc } - .suffix = НЕ СПАВНИТЬ +ent-SpnSecApartmentTablet = портативный контроль персонала СПН + .desc = Портативное устройство Союза Прогрессивных Народов для контроля персонала, организации отрядов и координации действий. + .suffix = Заряженный +ent-SpnSecApartmentTabletEmpty = { ent-SpnSecApartmentTablet } + .desc = { ent-SpnSecApartmentTablet.desc } + .suffix = Пустой diff --git a/Resources/Prototypes/_Forge/Access/spn.yml b/Resources/Prototypes/_Forge/Access/spn.yml new file mode 100644 index 00000000000..4bd600fafd5 --- /dev/null +++ b/Resources/Prototypes/_Forge/Access/spn.yml @@ -0,0 +1,3 @@ +- type: accessLevel + id: SpnSecApartment + name: id-card-access-level-spn-sec-apartment diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Devices/secapartment.yml b/Resources/Prototypes/_Forge/Entities/Objects/Devices/secapartment.yml index 0527ebbb1ce..71dd6b5bd34 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Devices/secapartment.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Devices/secapartment.yml @@ -281,10 +281,10 @@ - type: entity parent: [ BaseItem, PowerCellSlotHighItem ] - id: USSPSecApartmentTablet + id: SpnSecApartmentTablet name: portable personnel monitor description: "A portable device for monitoring personnel, organizing squads, and coordinating actions." - suffix: НЕ СПАВНИТЬ + suffix: Powered components: - type: Sprite sprite: Forge/Objects/Devices/secapartments/USSP.rsi @@ -309,10 +309,14 @@ - type: ToggleCellDraw - type: ActivatableUIRequiresPowerCell - type: SecApartment - department: UnionOfSovietSocialistPlanets - requireUserDepartment: false + department: SPN + requireUserDepartment: true squadIconPrefix: USSPSquadIcon - uiTheme: SecApUiThemeUSSP + uiTheme: SecApUiThemeSPN + - type: AccessReader + requiredCompany: SPN + access: [["SpnSecApartment"]] + - type: ActivatableUIRequiresAccess - type: CrewMonitoringConsole - type: DeviceNetwork deviceNetId: Wireless @@ -329,9 +333,9 @@ False: { visible: false } - type: entity - id: USSPSecApartmentTabletEmpty - parent: USSPSecApartmentTablet - suffix: НЕ СПАВНИТЬ + id: SpnSecApartmentTabletEmpty + parent: SpnSecApartmentTablet + suffix: Empty components: - type: Sprite layers: diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Weapons/Guns/Turrets/turrets_spn.yml b/Resources/Prototypes/_Forge/Entities/Objects/Weapons/Guns/Turrets/turrets_spn.yml new file mode 100644 index 00000000000..692c71f4d5b --- /dev/null +++ b/Resources/Prototypes/_Forge/Entities/Objects/Weapons/Guns/Turrets/turrets_spn.yml @@ -0,0 +1,10 @@ +- type: entity + parent: BaseWeaponBallisticTurret + id: WeaponTurretSpn + name: ballistic turret + suffix: SPN + description: A sentry programmed to fire on anyone not registered as SPN personnel. + components: + - type: NpcFactionMember + factions: + - SpnTurret diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml index f126f3902c3..c1d44b105b1 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/corpsman.yml @@ -24,7 +24,7 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml index b26a81b321e..ceb5d179bd4 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/council_member.yml @@ -4,6 +4,9 @@ description: forge-job-desc-spn-council-member playTimeTracker: JobSpnCouncilMember requirements: + - !type:DepartmentTimeRequirement + department: SPN + time: 108000 # 30 hours - !type:OverallPlaytimeRequirement time: 129600 - !type:RoleTimeRequirement @@ -30,12 +33,14 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic languagesUnderstood: - NovaCygniBasic + access: + - SpnSecApartment accessGroups: - GeneralAccess - USSPAA diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml index 67ab8aa559d..b00e23a2033 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/fleet_officer.yml @@ -29,7 +29,7 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml deleted file mode 100644 index 9d0846d7243..00000000000 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/legacy_disable.yml +++ /dev/null @@ -1,19 +0,0 @@ -- type: job - id: USSPCommissar - setPreference: false - -- type: job - id: USSPSergeant - setPreference: false - -- type: job - id: USSPCorporal - setPreference: false - -- type: job - id: USSPMedic - setPreference: false - -- type: job - id: USSPRifleman - setPreference: false diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml index 620cdf275ff..32c76e8e739 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/rifleman.yml @@ -29,7 +29,7 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml index ac8d49135d7..825627101e3 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/sapper.yml @@ -24,7 +24,7 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml index 3583558a6c8..b4ba7df518d 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/squad_leader.yml @@ -24,7 +24,7 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml index 84d8e9dcfe7..7b62907b82b 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/starting_gear.yml @@ -3,6 +3,12 @@ id: SpnCouncilMemberGear equipment: ears: ClothingHeadsetSpnCommand + pocket1: WeaponRevolverMateba + pocket2: SpeedLoader45_magnumFMJ + storage: + back: + - RadioHandheldNF + - SpnSecApartmentTablet - type: startingGear parent: USSPSergeantGear diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml index 2cb19669ac0..b538a87ec50 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/trainee.yml @@ -26,7 +26,7 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml index cb5af8b76ba..ecfc76ff60e 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/SPN/union_diplomat.yml @@ -28,7 +28,7 @@ recordGeneration: FalseRecord - type: NpcFactionMember factions: - - USSP + - Spn - !type:AddLanguageSpecial languagesSpoken: - NovaCygniBasic diff --git a/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml b/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml index 7a890a728d4..39b93378d4e 100644 --- a/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/_Forge/Roles/Jobs/departments.yml @@ -70,7 +70,3 @@ - SpnSapper - SpnRifleman - SpnTrainee - -- type: department - id: UnionOfSovietSocialistPlanets - roles: [] diff --git a/Resources/Prototypes/_Forge/ai_factions.yml b/Resources/Prototypes/_Forge/ai_factions.yml index 0a3f74e258c..7a90e7390ad 100644 --- a/Resources/Prototypes/_Forge/ai_factions.yml +++ b/Resources/Prototypes/_Forge/ai_factions.yml @@ -19,3 +19,27 @@ - MD - ContrabandDetection defaultHostile: true + +# SPN — NPC faction relations (see USSP / USSPTurret pattern) + +- type: npcFaction + id: Spn + neutral: + - CC + - NanoTrasen + - SimpleNeutral + - Mouse + defaultHostile: true + +- type: npcFaction + id: SpnTurret + friendly: + - Spn + neutral: + - NanoTrasen + - Cat + - PetsNT + - SimpleNeutral + - MD + - Mouse + defaultHostile: true diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml index f2c07279edb..29c8d3ef3d6 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/commissar.yml @@ -17,6 +17,7 @@ time: 144000 # 40 hrs startingGear: USSPCommissarGear alwaysUseSpawner: true + setPreference: false # Forge-Change: replaced by SPN roles hideConsoleVisibility: true icon: "JobIconHeadOfSecurity" # TODO - new USSP icons supervisors: job-supervisors-ussp-highcomm diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/corporal.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/corporal.yml index 6fcf31f3f8d..0d01c143ae0 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/corporal.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/corporal.yml @@ -11,6 +11,7 @@ time: 14400 # 4 hrs startingGear: USSPCorporalGear alwaysUseSpawner: true + setPreference: false # Forge-Change: replaced by SPN roles hideConsoleVisibility: true icon: "JobIconSecurityOfficer" # TODO - new USSP icons supervisors: job-supervisors-ussp-sergeant diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/medic.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/medic.yml index 4a66d8ec731..bba67091c64 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/medic.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/medic.yml @@ -11,6 +11,7 @@ time: 14400 # 4 hrs startingGear: USSPMedicGear alwaysUseSpawner: true + setPreference: false # Forge-Change: replaced by SPN roles hideConsoleVisibility: true icon: "JobIconBrigmedic" # TODO - new USSP icons supervisors: job-supervisors-ussp-sergeant diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml index 0c67641b83c..1d8a0bb68c2 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/rifleman.yml @@ -8,6 +8,7 @@ time: 32400 # 9 hrs startingGear: USSPRiflemanGear alwaysUseSpawner: true + setPreference: false # Forge-Change: replaced by SPN roles hideConsoleVisibility: true icon: "JobIconSecurityCadet" # TODO - new USSP icons supervisors: job-supervisors-ussp-sergeant diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml index c8e5efdb7f4..74a9c2d5da8 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/UnionOfSovietSocialistPlanets/sergeant.yml @@ -11,6 +11,7 @@ time: 72000 # 20 hrs startingGear: USSPSergeantGear alwaysUseSpawner: true + setPreference: false # Forge-Change: replaced by SPN roles hideConsoleVisibility: true icon: "JobIconSeniorOfficer" # TODO - new USSP icons supervisors: job-supervisors-ussp-commissars diff --git a/Resources/Prototypes/_Mono/Roles/Jobs/departments.yml b/Resources/Prototypes/_Mono/Roles/Jobs/departments.yml index cf86f66af46..c8fb996cd01 100644 --- a/Resources/Prototypes/_Mono/Roles/Jobs/departments.yml +++ b/Resources/Prototypes/_Mono/Roles/Jobs/departments.yml @@ -15,11 +15,6 @@ description: department-UnionOfSovietSocialistPlanets-description color: "#b2224b" weight: 117 # Master Chief! - roles: - - USSPCommissar - - USSPSergeant - - USSPCorporal - - USSPMedic - - USSPRifleman + roles: [] # Forge-Change: replaced by SPN department primary: false editorHidden: true diff --git a/Resources/Prototypes/_NF/Maps/debug.yml b/Resources/Prototypes/_NF/Maps/debug.yml index 73b63a3abfe..c73ca637a6b 100644 --- a/Resources/Prototypes/_NF/Maps/debug.yml +++ b/Resources/Prototypes/_NF/Maps/debug.yml @@ -91,9 +91,9 @@ SpnCouncilMember: [ -1, -1 ] SpnUnionDiplomat: [ -1, -1 ] SpnFleetOfficer: [ -1, -1 ] - SpnSquadLeader: [ -1, -1 ] - SpnCorpsman: [ -1, -1 ] - SpnSapper: [ -1, -1 ] + # SpnSquadLeader: [ -1, -1 ] # Forge-Change: console-only (`setPreference: false`) + # SpnCorpsman: [ -1, -1 ] # Forge-Change: console-only (`setPreference: false`) + # SpnSapper: [ -1, -1 ] # Forge-Change: console-only (`setPreference: false`) SpnRifleman: [ -1, -1 ] SpnTrainee: [ -1, -1 ] # Forge-change-end diff --git a/Resources/Prototypes/_Wega/secapartment_ui_themes.yml b/Resources/Prototypes/_Wega/secapartment_ui_themes.yml index 089294e228c..9b54062a2c2 100644 --- a/Resources/Prototypes/_Wega/secapartment_ui_themes.yml +++ b/Resources/Prototypes/_Wega/secapartment_ui_themes.yml @@ -440,11 +440,11 @@ -# СССП — тёмный бордо, приглушённое золото (корпус USSP.rsi, без кислотного пергамента) +# СПН — тёмный бордо, приглушённое золото (корпус USSP.rsi, без кислотного пергамента) - type: secApUiTheme - id: SecApUiThemeUSSP + id: SecApUiThemeSPN showLogo: false diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/equipped-HELMET.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/equipped-HELMET.png index 46ae306b659115f7185132b1598990c687d16135..0a102a0759224e1076f7796ddd800cb624620c00 100644 GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vnp zPZ!6KiaBp*+4>&}5NV5VmQdyjQ}*`tF(^zdE&3k5+uG3Lh9jr1PlD#eAkichw(6+$ zCLTWd_Um3)o@ZF-`)l6kJ7OO1Zn6{`ac0cF`T1$`xxWd_Z5l@L(G0ET{ofMaUQc)% zR&Zg(qgS`O`({sYu)MlfHYU!*kSpy&{Jn?$>JMk;{ET7>`MmaV)s>3ll`Xf~qtr`x z@N2|2WzGAfG20?vK1oE+rKhegi}B>Mle=!$H<{P;om*M1wa(|oug%*v-|f1*K3SIi z;$4r@qc1!!>|*|-kR#K5%-8Pwk+ZqwuJde{S7j8gu#4ToGNCp*30)0#KGIrU8S+?)mC`=Tz^IK2Jr(|P+b7nhHj|L$XI@{Fez z9sR&O%YDJr{^g;6HvZeXg>{7_!lvI6;>1s;*b3=DjSL74G){)!Z!V5X;wV@QO1a)LycL$vQNdn>naXJdvpyPHdwKePAaKH^{DTAl0pUXO@geCwNs7EpY diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json index 89f132dcddf..91539469d79 100644 --- a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/beret.rsi/meta.json @@ -11,6 +11,7 @@ "name": "icon" }, { + "directions": 4, "name": "equipped-HELMET" } ] diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/equipped-HELMET.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/equipped-HELMET.png index 3a8571ccbdb980505da58582b53648a1dfa69e56..f3bf45ea30aadcf0d387777ea390c5c10be8327a 100644 GIT binary patch literal 530 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vm` zPZ!6KiaBp*ZS+3uAacxprPY?G$&Q*O0xhc+H1D2VzjN~L<|YjeK0PaymA%bENpX)< zeK}v)>ajoFdq1Ga{K@X$cVnX~wsSt*z!Ed({HMi-3-8v|&3ydrT_*Fq1%C?i1GX<# zNq!#9Z7`X?d=_JfQQA&^&e)%U6E=R1v{vZ4{HS=#rEl%0YqA;d$Im}HOpDL?=`{d5srgZngg7oX5DWBt3ap|X!lvI6;>1s;*b3=DjSL74G){)!Z!V5FyuV@QO1a)LzH0SEW5^%J%m$~6CYk(I%g zFipLE_Cdo~S;kE#E=Dn{vN+W2vUG^{mCBJk5hTI((ecrXtV||08y2^N8WOCF6GVEN g0u8vJoEwY`CuW=dd#bp(5@-p7r>mdKI;Vst02fX>ng9R* diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json index 89f132dcddf..91539469d79 100644 --- a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/cap.rsi/meta.json @@ -11,6 +11,7 @@ "name": "icon" }, { + "directions": 4, "name": "equipped-HELMET" } ] diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/equipped-HELMET.png b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/kommisar_cap_white.rsi/equipped-HELMET.png index af84393785bcc8d2c2df6fb2401325c0fd4dde95..c5e531e74bd88153bf88562a0e39e93e13e93b0c 100644 GIT binary patch literal 634 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-HD>U^4M^aSW-L z^Y)f~hH#(^`-gm2rxo>L!hFfoC%xrZ=xQjLx5~DKUH8VzEmxE-aV@g2*kQ4&|)!LUSv`0@9*jFdw*|d>w|m2tN&~^JGj~SvWD25 zj6W5IA^NQ|o-iMHbSTDTU*!FU54NlStkW0Ux17P@losE&?-L4(E?U;gumm$qIFWbZ zXVu5spSPEnZ48MtJ!hXB)G{UX%C+l2H8V<1R}|#3OwN;(RBylaOKQoQSw87&E}vy~ zICgSjM1f$v?(WntOE&$Sl(n_5;Nc}vh65kgzrV4oMwH>h@{htRL!|cCUlFcm{jz;| zM8U?$`yI#DPd{~$&){xt*wM7ls#oo%J?TCEGJN6W$$tcd1rgw4=H+5-&vj@1Uti_5 z$#$O0yufk`zaR62_ANj1gXPk5J*OW3FG1~*Wjevv6RoFzeD!j}(N@cx_ivaOrpenM z|M{Ramw%cmV)?c|q%<+Cr&A+@XC1k+#k1?_T)eWJ& Sk{rOq#Ng@b=d#Wzp$P!RtR*P` literal 249 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!V4tUpV@QO1a)JVL#m-xQ?r+F4lWG3(A}fO_ z?96-CXtqsX?rmLMz*EfPAs5SkmEi=Fz`rlw>}~`J@E$g>^WohUw~ArLQ-%1ZjQGNj z|0i~JB}hfiN#kQ+3{3s}|Iemh|5JJP9FRz{?BNw+Ke_nzLQaOrmcENudzu0bxZDnE jNU$zW5P@+N#26T!KdWH*nZ9QO&}9ssu6{1-oD!MJ%_g?7S7DnyN%zD4My$flVW^G}-Guh}ux`n6JI-)Gbr5RKI!yz#!cKP@B z@^J~>AD(1hn&sdYHFx&0_t6ZIzADX2!^#?s+%|H`{}xZV#~l0pm1g#B1&QlFZ+*|) z%C(ziedecSAA7?Z{%yK=y72uPbI08+suf?qpDVr96sYF!@=LTMdDH%*W!i_O^*^0| zQ18gnV5!7#MvyU~kAtDug<*y=(*YSlhG!iN2JR?QY+?fIE(>p~W^I$z-^36rzrl%#vm5 zqYR}UmJ3g+rA1z>3*NbBuE?X5-!HcQ{j(~}S#NUw`i^xR+Pp%0C+{zrf2H&mQ^>4) zR$s3E>v?RQ@cKgV^C|u3l6TH%&zod0G2x1WBlGvNgcjzBDpfbM=3l!lvI6;>1s;*b3=DjSL74G){)!Z!V1uWNV@QO1a)N@e#ETXG+7nAGXEEiPW^P#8 zcTK8*=TY;Ki&uk08*~^RJ}EHXuvB4}$yupZ{@~_y)3q2<49;v7W2sxp`o9D92%UhQcLG~jYOs3F0+I6(x)Q4nKbcxvFa U+MCznKhP}zopr0FCWWT>t<8 diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json index 89f132dcddf..91539469d79 100644 --- a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked.rsi/meta.json @@ -11,6 +11,7 @@ "name": "icon" }, { + "directions": 4, "name": "equipped-HELMET" } ] diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/meta.json index 7d2d4645af2..0a1ff0f068b 100644 --- a/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/meta.json +++ b/Resources/Textures/_RMC14/Objects/Clothing/Head/SPP/peaked_diplomat.rsi/meta.json @@ -10,8 +10,9 @@ { "name": "icon" }, - { - "name": "equipped-HELMET" - } + { + "directions": 4, + "name": "equipped-HELMET" + } ] } \ No newline at end of file From d13126e647502b82ae1b43ce40d8038d3bb864fe Mon Sep 17 00:00:00 2001 From: LeviyNosok Date: Fri, 26 Jun 2026 17:33:27 +0300 Subject: [PATCH 6/6] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20meta.json=20=D0=B3=D0=B0=D1=80=D0=BD=D0=B8=D1=82?= =?UTF-8?q?=D1=83=D1=80=D1=8B=20=D0=A1=D0=9F=D0=9D=20(spp.rsi)=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20Validate=20RSIs.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Файл содержал ошибочный текст «404: Not Found» вместо валидного JSON. Co-authored-by: Cursor --- .../Ears/Headsets/SPP/spp.rsi/meta.json | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Resources/Textures/_RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi/meta.json b/Resources/Textures/_RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi/meta.json index 1becba2bb0a..ccb8a589ec7 100644 --- a/Resources/Textures/_RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi/meta.json +++ b/Resources/Textures/_RMC14/Objects/Clothing/Ears/Headsets/SPP/spp.rsi/meta.json @@ -1 +1,18 @@ -404: Not Found \ No newline at end of file +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-EARS", + "directions": 4 + } + ] +}