From 7a14c6f3312d8d8a706658dec0397dcfccc04ca3 Mon Sep 17 00:00:00 2001 From: Morber <14136326+Morb0@users.noreply.github.com> Date: Tue, 28 Jun 2022 15:55:05 +0300 Subject: [PATCH] Localize jobs (#8968) * Localize job supervisors * Rename supervisors file * Localize job names * Remove localization for fallback job name * Use LocalizedName for Job * Fix job names case --- Content.Client/LateJoin/LateJoinGui.cs | 4 +- .../Preferences/UI/CharacterSetupGui.xaml.cs | 2 +- .../UI/HumanoidProfileEditor.xaml.cs | 4 +- .../Access/Systems/PresetIdCardSystem.cs | 2 +- .../GameTicking/Commands/JoinGameCommand.cs | 2 +- Content.Server/GameTicking/GameTicker.cs | 2 +- Content.Server/Roles/Job.cs | 4 +- .../Station/Systems/StationSpawningSystem.cs | 2 +- .../GameTicking/SharedGameTicker.cs | 2 +- Content.Shared/Roles/JobPrototype.cs | 3 ++ Resources/Locale/en-US/job/job-names.ftl | 39 +++++++++++++++++++ .../Locale/en-US/job/job-supervisors.ftl | 14 +++++++ .../Roles/Jobs/Cargo/cargo_technician.yml | 4 +- .../Roles/Jobs/Cargo/quartermaster.yml | 4 +- .../Roles/Jobs/Cargo/salvage_specialist.yml | 4 +- .../Roles/Jobs/Civilian/assistant.yml | 4 +- .../Roles/Jobs/Civilian/bartender.yml | 4 +- .../Roles/Jobs/Civilian/botanist.yml | 4 +- .../Roles/Jobs/Civilian/chaplain.yml | 4 +- .../Prototypes/Roles/Jobs/Civilian/chef.yml | 4 +- .../Prototypes/Roles/Jobs/Civilian/clown.yml | 4 +- .../Roles/Jobs/Civilian/janitor.yml | 4 +- .../Prototypes/Roles/Jobs/Civilian/lawyer.yml | 4 +- .../Roles/Jobs/Civilian/librarian.yml | 4 +- .../Prototypes/Roles/Jobs/Civilian/mime.yml | 4 +- .../Roles/Jobs/Civilian/musician.yml | 4 +- .../Roles/Jobs/Civilian/reporter.yml | 4 +- .../Roles/Jobs/Civilian/service_worker.yml | 4 +- .../Prototypes/Roles/Jobs/Command/captain.yml | 4 +- .../Roles/Jobs/Command/centcom_official.yml | 4 +- .../Roles/Jobs/Command/head_of_personnel.yml | 4 +- .../Engineering/atmospheric_technician.yml | 10 ++--- .../Roles/Jobs/Engineering/chief_engineer.yml | 4 +- .../Jobs/Engineering/station_engineer.yml | 4 +- .../Jobs/Engineering/technical_assistant.yml | 4 +- .../Roles/Jobs/Fun/emergencyresponseteam.yml | 34 ++++++++-------- .../Prototypes/Roles/Jobs/Medical/chemist.yml | 4 +- .../Jobs/Medical/chief_medical_officer.yml | 4 +- .../Roles/Jobs/Medical/medical_doctor.yml | 4 +- .../Roles/Jobs/Medical/medical_intern.yml | 4 +- .../Roles/Jobs/Medical/psychologist.yml | 6 +-- .../Roles/Jobs/Science/research_director.yml | 4 +- .../Roles/Jobs/Science/scientist.yml | 4 +- .../Roles/Jobs/Security/head_of_security.yml | 4 +- .../Roles/Jobs/Security/security_cadet.yml | 4 +- .../Roles/Jobs/Security/security_officer.yml | 4 +- .../Prototypes/Roles/Jobs/Security/warden.yml | 4 +- 47 files changed, 157 insertions(+), 101 deletions(-) create mode 100644 Resources/Locale/en-US/job/job-names.ftl create mode 100644 Resources/Locale/en-US/job/job-supervisors.ftl diff --git a/Content.Client/LateJoin/LateJoinGui.cs b/Content.Client/LateJoin/LateJoinGui.cs index dc5f6f65d2..d0ac5560ac 100644 --- a/Content.Client/LateJoin/LateJoinGui.cs +++ b/Content.Client/LateJoin/LateJoinGui.cs @@ -202,8 +202,8 @@ namespace Content.Client.LateJoin var jobLabel = new Label { Text = job.Value != null ? - Loc.GetString("late-join-gui-job-slot-capped", ("jobName", prototype.Name), ("amount", job.Value)) : - Loc.GetString("late-join-gui-job-slot-uncapped", ("jobName", prototype.Name)) + Loc.GetString("late-join-gui-job-slot-capped", ("jobName", prototype.LocalizedName), ("amount", job.Value)) : + Loc.GetString("late-join-gui-job-slot-uncapped", ("jobName", prototype.LocalizedName)) }; jobSelector.AddChild(jobLabel); diff --git a/Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs b/Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs index d9118f6c75..24022e192d 100644 --- a/Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs +++ b/Content.Client/Preferences/UI/CharacterSetupGui.xaml.cs @@ -192,7 +192,7 @@ namespace Content.Client.Preferences.UI var highPriorityJob = humanoid?.JobPriorities.SingleOrDefault(p => p.Value == JobPriority.High).Key; if (highPriorityJob != null) { - var jobName = IoCManager.Resolve().Index(highPriorityJob).Name; + var jobName = IoCManager.Resolve().Index(highPriorityJob).LocalizedName; description = $"{description}\n{jobName}"; } diff --git a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs index 7eebe5e842..a49452fbb9 100644 --- a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs +++ b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs @@ -344,7 +344,7 @@ namespace Content.Client.Preferences.UI var firstCategory = true; - foreach (var job in prototypeManager.EnumeratePrototypes().OrderBy(j => j.Name)) + foreach (var job in prototypeManager.EnumeratePrototypes().OrderBy(j => j.LocalizedName)) { if(!job.SetPreference) { continue; } @@ -1033,7 +1033,7 @@ namespace Content.Client.Preferences.UI Children = { icon, - new Label {Text = job.Name, MinSize = (175, 0)}, + new Label {Text = job.LocalizedName, MinSize = (175, 0)}, _optionButton } }); diff --git a/Content.Server/Access/Systems/PresetIdCardSystem.cs b/Content.Server/Access/Systems/PresetIdCardSystem.cs index c3d699fc08..39c65ace86 100644 --- a/Content.Server/Access/Systems/PresetIdCardSystem.cs +++ b/Content.Server/Access/Systems/PresetIdCardSystem.cs @@ -67,7 +67,7 @@ namespace Content.Server.Access.Systems _accessSystem.SetAccessToJob(uid, job, extended); // and also change job title on a card id - _cardSystem.TryChangeJobTitle(uid, job.Name); + _cardSystem.TryChangeJobTitle(uid, job.LocalizedName); } } } diff --git a/Content.Server/GameTicking/Commands/JoinGameCommand.cs b/Content.Server/GameTicking/Commands/JoinGameCommand.cs index 86f9651fd7..c3e8492f7b 100644 --- a/Content.Server/GameTicking/Commands/JoinGameCommand.cs +++ b/Content.Server/GameTicking/Commands/JoinGameCommand.cs @@ -65,7 +65,7 @@ namespace Content.Server.GameTicking.Commands var jobPrototype = _prototypeManager.Index(id); if(stationJobs.TryGetJobSlot(station, jobPrototype, out var slots) == false || slots == 0) { - shell.WriteLine($"{jobPrototype.Name} has no available slots."); + shell.WriteLine($"{jobPrototype.LocalizedName} has no available slots."); return; } ticker.MakeJoinGame(player, station, id); diff --git a/Content.Server/GameTicking/GameTicker.cs b/Content.Server/GameTicking/GameTicker.cs index bdb4d2e8a1..eb00d11216 100644 --- a/Content.Server/GameTicking/GameTicker.cs +++ b/Content.Server/GameTicking/GameTicker.cs @@ -54,7 +54,7 @@ namespace Content.Server.GameTicking InitializeLobbyMusic(); InitializeLobbyBackground(); InitializeGamePreset(); - DebugTools.Assert(_prototypeManager.Index(FallbackOverflowJob).Name == Loc.GetString(FallbackOverflowJobName), + DebugTools.Assert(_prototypeManager.Index(FallbackOverflowJob).Name == FallbackOverflowJobName, "Overflow role does not have the correct name!"); InitializeGameRules(); diff --git a/Content.Server/Roles/Job.cs b/Content.Server/Roles/Job.cs index e9da153659..3ecc9afb74 100644 --- a/Content.Server/Roles/Job.cs +++ b/Content.Server/Roles/Job.cs @@ -23,7 +23,7 @@ namespace Content.Server.Roles public Job(Mind.Mind mind, JobPrototype jobPrototype) : base(mind) { Prototype = jobPrototype; - Name = jobPrototype.Name; + Name = jobPrototype.LocalizedName; CanBeAntag = jobPrototype.CanBeAntag; } @@ -40,7 +40,7 @@ namespace Content.Server.Roles if(Prototype.RequireAdminNotify) chatMgr.DispatchServerMessage(session, Loc.GetString("job-greet-important-disconnect-admin-notify")); - chatMgr.DispatchServerMessage(session, Loc.GetString("job-greet-supervisors-warning", ("jobName", Name), ("supervisors", Prototype.Supervisors))); + chatMgr.DispatchServerMessage(session, Loc.GetString("job-greet-supervisors-warning", ("jobName", Name), ("supervisors", Loc.GetString(Prototype.Supervisors)))); if(Prototype.JoinNotifyCrew && Mind.CharacterName != null) { diff --git a/Content.Server/Station/Systems/StationSpawningSystem.cs b/Content.Server/Station/Systems/StationSpawningSystem.cs index fe12458ec3..95ea6eb480 100644 --- a/Content.Server/Station/Systems/StationSpawningSystem.cs +++ b/Content.Server/Station/Systems/StationSpawningSystem.cs @@ -173,7 +173,7 @@ public sealed class StationSpawningSystem : EntitySystem var card = pdaComponent.ContainedID; var cardId = card.Owner; _cardSystem.TryChangeFullName(cardId, characterName, card); - _cardSystem.TryChangeJobTitle(cardId, jobPrototype.Name, card); + _cardSystem.TryChangeJobTitle(cardId, jobPrototype.LocalizedName, card); var extendedAccess = false; if (station != null) diff --git a/Content.Shared/GameTicking/SharedGameTicker.cs b/Content.Shared/GameTicking/SharedGameTicker.cs index 5a1aa9508f..02c9f69544 100644 --- a/Content.Shared/GameTicking/SharedGameTicker.cs +++ b/Content.Shared/GameTicking/SharedGameTicker.cs @@ -10,7 +10,7 @@ namespace Content.Shared.GameTicking // But this is easier, and at least it isn't hardcoded. //TODO: Move these, they really belong in StationJobsSystem or a cvar. public const string FallbackOverflowJob = "Passenger"; - public const string FallbackOverflowJobName = "passenger"; + public const string FallbackOverflowJobName = "job-name-passenger"; } [Serializable, NetSerializable] diff --git a/Content.Shared/Roles/JobPrototype.cs b/Content.Shared/Roles/JobPrototype.cs index e3697aff5c..92915c6af1 100644 --- a/Content.Shared/Roles/JobPrototype.cs +++ b/Content.Shared/Roles/JobPrototype.cs @@ -26,6 +26,9 @@ namespace Content.Shared.Roles [DataField("name")] public string Name { get; } = string.Empty; + [ViewVariables(VVAccess.ReadOnly)] + public string LocalizedName => Loc.GetString(Name); + [DataField("joinNotifyCrew")] public bool JoinNotifyCrew { get; } = false; diff --git a/Resources/Locale/en-US/job/job-names.ftl b/Resources/Locale/en-US/job/job-names.ftl new file mode 100644 index 0000000000..b570372b13 --- /dev/null +++ b/Resources/Locale/en-US/job/job-names.ftl @@ -0,0 +1,39 @@ +job-name-warden = warden +job-name-security = security officer +job-name-cadet = security cadet +job-name-hos = head of security +job-name-scientist = scientist +job-name-rd = research director +job-name-psychologist = psychologist +job-name-intern = medical intern +job-name-doctor = medical doctor +job-name-cmo = chief medical officer +job-name-chemist = chemist +job-name-assistant = technical assistant +job-name-engineer = station engineer +job-name-atmostech = atmospheric technician +job-name-hop = head of personnel +job-name-captain = captain +job-name-serviceworker = service worker +job-name-centcomoff = centcom official +job-name-reporter = reporter +job-name-musician = musician +job-name-librarian = librarian +job-name-lawyer = lawyer +job-name-mime = mime +job-name-ce = chief engineer +job-name-janitor = janitor +job-name-chaplain = chaplain +job-name-botanist = botanist +job-name-bartender = bartender +job-name-passenger = passenger +job-name-salvagespec = salvage specialist +job-name-qm = quartermaster +job-name-cargoteh = cargo technician +job-name-chef = chef +job-name-clown = clown +job-name-ertleader = ERT leader +job-name-ertengineer = ERT engineer +job-name-ertsecurity = ERT security +job-name-ertmedic = ERT medic +job-name-ertjanitor = ERT janitor diff --git a/Resources/Locale/en-US/job/job-supervisors.ftl b/Resources/Locale/en-US/job/job-supervisors.ftl new file mode 100644 index 0000000000..ecccebe032 --- /dev/null +++ b/Resources/Locale/en-US/job/job-supervisors.ftl @@ -0,0 +1,14 @@ +job-supervisors-centcom = centcom official +job-supervisors-captain = the captain +job-supervisors-hop = the head of personnel +job-supervisors-hop-qm = the quartermaster and head of personnel +job-supervisors-hos = the head of security +job-supervisors-ce = the chief engineer +job-supervisors-cmo = the chief medical officer +job-supervisors-rd = the research director +job-supervisors-service = chefs, botanists, the bartender, and the head of personnel +job-supervisors-engineering = station engineers, atmospheric technicians, and the chief engineer +job-supervisors-medicine = medical doctors, chemists, and the chief medical officer +job-supervisors-security = security officers, the warden, and the head of security +job-supervisors-hire = whoever hires you +job-supervisors-everyone = absolutely everyone diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml b/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml index 27d2929c47..0dd5de2999 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/cargo_technician.yml @@ -1,11 +1,11 @@ - type: job id: CargoTechnician - name: "cargo technician" + name: job-name-cargoteh startingGear: CargoTechGear departments: - Cargo icon: "CargoTechnician" - supervisors: "the quartermaster and head of personnel" + supervisors: job-supervisors-hop-qm access: - Cargo - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml index 4f157ed74f..f19f5309b5 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml @@ -1,12 +1,12 @@ - type: job id: Quartermaster - name: "quartermaster" + name: job-name-qm weight: 10 startingGear: QuartermasterGear departments: - Cargo icon: "QuarterMaster" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop canBeAntag: false access: - Cargo diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml index df73aa7b3c..2bc4f2a6c1 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml @@ -1,11 +1,11 @@ - type: job id: SalvageSpecialist - name: "salvage specialist" + name: job-name-salvagespec icon: "ShaftMiner" startingGear: SalvageSpecialistGear departments: - Cargo - supervisors: "the quartermaster and head of personnel" + supervisors: job-supervisors-hop-qm access: - Cargo - Salvage diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml b/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml index 72b29ec941..b2cafe8678 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/assistant.yml @@ -1,11 +1,11 @@ - type: job id: Passenger - name: "passenger" + name: job-name-passenger startingGear: PassengerGear departments: - Civilian icon: "Passenger" - supervisors: "absolutely everyone" + supervisors: job-supervisors-everyone access: - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml b/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml index 25122269f9..2a3c19df9b 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/bartender.yml @@ -1,11 +1,11 @@ - type: job id: Bartender - name: "bartender" + name: job-name-bartender startingGear: BartenderGear departments: - Civilian icon: "Bartender" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Service - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml b/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml index 1d0e9c4653..35855b4d26 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/botanist.yml @@ -1,11 +1,11 @@ - type: job id: Botanist - name: "botanist" + name: job-name-botanist startingGear: BotanistGear departments: - Civilian icon: "Botanist" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Service - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml b/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml index e4de92c71b..edb8b12857 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml @@ -1,11 +1,11 @@ - type: job id: Chaplain - name: "chaplain" + name: job-name-chaplain startingGear: ChaplainGear departments: - Civilian icon: "Chaplain" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Chapel - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml index e274ce4c25..310a5d5086 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml @@ -1,11 +1,11 @@ - type: job id: Chef - name: "chef" + name: job-name-chef startingGear: ChefGear departments: - Civilian icon: "Chef" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Service - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml index bcfcbfd0b8..d1a9a534bb 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml @@ -1,11 +1,11 @@ - type: job id: Clown - name: "clown" + name: job-name-clown startingGear: ClownGear departments: - Civilian icon: "Clown" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Theatre - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml b/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml index e557824ab8..14617c18b1 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/janitor.yml @@ -1,11 +1,11 @@ - type: job id: Janitor - name: "janitor" + name: job-name-janitor startingGear: JanitorGear departments: - Civilian icon: "Janitor" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Janitor - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml b/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml index c4710bbdaf..2a181380fe 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/lawyer.yml @@ -1,11 +1,11 @@ - type: job id: Lawyer - name: "lawyer" + name: job-name-lawyer startingGear: LawyerGear departments: - Civilian icon: "Lawyer" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Service - Brig diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml index 495f49cee7..97095033d6 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/librarian.yml @@ -1,11 +1,11 @@ - type: job id: Librarian - name: "librarian" + name: job-name-librarian startingGear: LibrarianGear departments: - Civilian icon: "Librarian" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Service - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml b/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml index 9571cdedaa..d728c5d60f 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/mime.yml @@ -1,11 +1,11 @@ - type: job id: Mime - name: "mime" + name: job-name-mime startingGear: MimeGear departments: - Civilian icon: "Mime" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Theatre - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml b/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml index 016c2d8a40..1718fafaa3 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/musician.yml @@ -1,11 +1,11 @@ - type: job id: Musician - name: "musician" + name: job-name-musician startingGear: MusicianGear departments: - Civilian icon: "Musician" - supervisors: "whoever hires you" + supervisors: job-supervisors-hire access: - Maintenance # TODO Remove maint access for all gimmick jobs once access work is completed - Theatre diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/reporter.yml b/Resources/Prototypes/Roles/Jobs/Civilian/reporter.yml index 4c924a095b..d7fe4df96a 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/reporter.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/reporter.yml @@ -1,11 +1,11 @@ - type: job id: Reporter - name: "reporter" + name: job-name-reporter startingGear: ReporterGear departments: - Civilian icon: "Reporter" - supervisors: "the head of personnel" + supervisors: job-supervisors-hop access: - Service - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml index af40a3f437..ac39a5f281 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml @@ -1,11 +1,11 @@ - type: job id: ServiceWorker - name: "service worker" + name: job-name-serviceworker startingGear: ServiceWorkerGear departments: - Civilian icon: "ServiceWorker" - supervisors: "chefs, botanists, the bartender, and the head of personnel" + supervisors: job-supervisors-service canBeAntag: false access: - Service diff --git a/Resources/Prototypes/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/Roles/Jobs/Command/captain.yml index 84b72788e8..8f1695fad1 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/captain.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/captain.yml @@ -1,6 +1,6 @@ - type: job id: Captain - name: "captain" + name: job-name-captain weight: 20 startingGear: CaptainGear departments: @@ -8,7 +8,7 @@ icon: "Captain" requireAdminNotify: true joinNotifyCrew: true - supervisors: "Nanotrasen officials" + supervisors: job-supervisors-centcom canBeAntag: false accessGroups: - AllAccess diff --git a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml index db0d3419f8..7b1aa25e39 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/centcom_official.yml @@ -1,12 +1,12 @@ - type: job id: CentralCommandOfficial - name: "centcom official" + name: job-name-centcomoff setPreference: false startingGear: CentcomGear departments: - Command icon: "Nanotrasen" - supervisors: "the head of security" + supervisors: job-supervisors-hos canBeAntag: false accessGroups: - AllAccess diff --git a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml index 3ecf59a9aa..ed4e14d354 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml @@ -1,6 +1,6 @@ - type: job id: HeadOfPersonnel - name: "head of personnel" + name: job-name-hop weight: 20 startingGear: HoPGear departments: @@ -8,7 +8,7 @@ - Civilian icon: "HeadOfPersonnel" requireAdminNotify: true - supervisors: "the captain" + supervisors: job-supervisors-captain canBeAntag: false access: - Command diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml index 36eb805074..5a6896efe2 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml @@ -1,12 +1,12 @@ - type: job id: AtmosphericTechnician - name: "atmospheric technician" + name: job-name-atmostech startingGear: AtmosphericTechnicianGear departments: - Engineering icon: "AtmosphericTechnician" - supervisors: "the chief engineer" - canBeAntag: false + supervisors: job-supervisors-ce + canBeAntag: false access: - Maintenance - Engineering @@ -16,11 +16,11 @@ - type: startingGear id: AtmosphericTechnicianGear equipment: - head: + head: jumpsuit: ClothingUniformJumpsuitAtmos back: ClothingBackpackEngineeringFilled shoes: ClothingShoesColorWhite - outerClothing: + outerClothing: id: AtmosPDA belt: ClothingBeltUtilityFilled ears: ClothingHeadsetEngineering diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml index 819cda8816..598a7b7c75 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml @@ -1,6 +1,6 @@ - type: job id: ChiefEngineer - name: "chief engineer" + name: job-name-ce weight: 10 startingGear: ChiefEngineerGear departments: @@ -8,7 +8,7 @@ - Engineering icon: "ChiefEngineer" requireAdminNotify: true - supervisors: "the captain" + supervisors: job-supervisors-captain canBeAntag: false access: - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml index aa01045d6a..e1712dfe1a 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/station_engineer.yml @@ -1,11 +1,11 @@ - type: job id: StationEngineer - name: "station engineer" + name: job-name-engineer startingGear: StationEngineerGear departments: - Engineering icon: "StationEngineer" - supervisors: "the chief engineer" + supervisors: job-supervisors-ce access: - Maintenance - Engineering diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml index 0ab43c5154..81a63fcdac 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml @@ -1,12 +1,12 @@ - type: job id: TechnicalAssistant - name: "technical assistant" + name: job-name-assistant startingGear: TechnicalAssistantGear departments: - Civilian - Engineering icon: "TechnicalAssistant" - supervisors: "station engineers, atmospheric technicians, and the chief engineer" + supervisors: job-supervisors-engineering canBeAntag: false access: - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml index e8231be502..831ce8890e 100644 --- a/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml +++ b/Resources/Prototypes/Roles/Jobs/Fun/emergencyresponseteam.yml @@ -1,13 +1,13 @@ # Leader - type: job id: ERTLeader - name: "ERT leader" + name: job-name-ertleader setPreference: false startingGear: ERTLeaderGearEVA departments: - Command icon: "Nanotrasen" - supervisors: "centcom official" + supervisors: job-supervisors-centcom canBeAntag: false accessGroups: - AllAccess @@ -48,17 +48,17 @@ # Engineer - type: job id: ERTEngineer - name: "ERT engineer" + name: job-name-ertengineer setPreference: false startingGear: ERTEngineerGearEVA departments: - Command icon: "Nanotrasen" - supervisors: "centcom official" + supervisors: job-supervisors-centcom canBeAntag: false accessGroups: - AllAccess - + - type: startingGear id: ERTEngineerGear equipment: @@ -90,21 +90,21 @@ ears: ClothingHeadsetAltCommand belt: ClothingBeltChiefEngineerFilled pocket1: Flare - + # Security - type: job id: ERTSecurity - name: "ERT security" + name: job-name-ertsecurity setPreference: false startingGear: ERTEngineerGearEVA departments: - Command icon: "Nanotrasen" - supervisors: "centcom official" + supervisors: job-supervisors-centcom canBeAntag: false accessGroups: - AllAccess - + - type: startingGear id: ERTSecurityGear equipment: @@ -136,21 +136,21 @@ ears: ClothingHeadsetAltCommand belt: ClothingBeltSecurityWebbing pocket1: Flare - + # Medical - type: job id: ERTMedical - name: "ERT medic" + name: job-name-ertmedic setPreference: false startingGear: ERTMedicalGearEVA departments: - Command icon: "Nanotrasen" - supervisors: "centcom official" + supervisors: job-supervisors-centcom canBeAntag: false accessGroups: - AllAccess - + - type: startingGear id: ERTMedicalGear equipment: @@ -183,21 +183,21 @@ belt: ClothingBeltMedicalFilled pocket1: HandheldHealthAnalyzer pocket2: Flare - + # Janitor - type: job id: ERTJanitor - name: "ERT janitor" + name: job-name-ertjanitor setPreference: false startingGear: ERTJanitorGearEVA departments: - Command icon: "Nanotrasen" - supervisors: "centcom official" + supervisors: job-supervisors-centcom canBeAntag: false accessGroups: - AllAccess - + - type: startingGear id: ERTJanitorGear equipment: diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml index 6e4982771e..feef347e90 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chemist.yml @@ -1,11 +1,11 @@ - type: job id: Chemist - name: "chemist" + name: job-name-chemist startingGear: ChemistGear departments: - Medical icon: "Chemist" - supervisors: "the chief medical officer" + supervisors: job-supervisors-cmo access: - Medical - Chemistry diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml index 4bf57a9546..d5f9dbec79 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml @@ -2,7 +2,7 @@ - type: job id: ChiefMedicalOfficer - name: "chief medical officer" + name: job-name-cmo weight: 10 startingGear: CMOGear departments: @@ -10,7 +10,7 @@ - Medical icon: "ChiefMedicalOfficer" requireAdminNotify: true - supervisors: "the captain" + supervisors: job-supervisors-captain canBeAntag: false access: - Medical diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml index 4e6a7ccf51..8615c489e4 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_doctor.yml @@ -1,11 +1,11 @@ - type: job id: MedicalDoctor - name: "medical doctor" + name: job-name-doctor startingGear: DoctorGear departments: - Medical icon: "MedicalDoctor" - supervisors: "the chief medical officer" + supervisors: job-supervisors-cmo access: - Medical - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml index f83640173a..d438c47f2f 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml @@ -1,12 +1,12 @@ - type: job id: MedicalIntern - name: "medical intern" + name: job-name-intern startingGear: MedicalInternGear departments: - Civilian - Medical icon: "MedicalIntern" - supervisors: "medical doctors, chemists, and the chief medical officer" + supervisors: job-supervisors-medicine canBeAntag: false access: - Medical diff --git a/Resources/Prototypes/Roles/Jobs/Medical/psychologist.yml b/Resources/Prototypes/Roles/Jobs/Medical/psychologist.yml index f44112e487..2e7b8da3bc 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/psychologist.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/psychologist.yml @@ -1,11 +1,11 @@ - type: job id: Psychologist - name: "psychologist" + name: job-name-psychologist startingGear: PsychologistGear departments: - Medical icon: "Psychologist" - supervisors: "the chief medical officer" + supervisors: job-supervisors-cmo access: - Medical - Maintenance @@ -22,4 +22,4 @@ ears: ClothingHeadsetMedical innerclothingskirt: ClothingUniformJumpsuitPsychologist satchel: ClothingBackpackSatchelMedicalFilled - duffelbag: ClothingBackpackDuffelMedicalFilled \ No newline at end of file + duffelbag: ClothingBackpackDuffelMedicalFilled diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml index 9108a88499..ee5788b397 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml @@ -1,6 +1,6 @@ - type: job id: ResearchDirector - name: "research director" + name: job-name-rd weight: 10 startingGear: ResearchDirectorGear departments: @@ -8,7 +8,7 @@ - Science icon: "ResearchDirector" requireAdminNotify: true - supervisors: "the captain" + supervisors: job-supervisors-captain canBeAntag: false access: - Research diff --git a/Resources/Prototypes/Roles/Jobs/Science/scientist.yml b/Resources/Prototypes/Roles/Jobs/Science/scientist.yml index 883914c4d5..47180ebf70 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/scientist.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/scientist.yml @@ -1,11 +1,11 @@ - type: job id: Scientist - name: "scientist" + name: job-name-scientist startingGear: ScientistGear departments: - Science icon: "Scientist" - supervisors: "the research director" + supervisors: job-supervisors-rd access: - Research - Maintenance diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml index 46f93b2e10..4a9d59d7d7 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml @@ -1,6 +1,6 @@ - type: job id: HeadOfSecurity - name: "head of security" + name: job-name-hos weight: 10 startingGear: HoSGear departments: @@ -8,7 +8,7 @@ - Security icon: "HeadOfSecurity" requireAdminNotify: true - supervisors: "the captain" + supervisors: job-supervisors-captain canBeAntag: false access: - HeadOfSecurity diff --git a/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml b/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml index 19b1e7a667..3c11fd67a1 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/security_cadet.yml @@ -1,12 +1,12 @@ - type: job id: SecurityCadet - name: "security cadet" + name: job-name-cadet startingGear: SecurityCadetGear departments: - Civilian - Security icon: "SecurityCadet" - supervisors: "security officers, the warden, and the head of security" + supervisors: job-supervisors-security canBeAntag: false access: - Security diff --git a/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml b/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml index aeace63534..fd1a5f156d 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/security_officer.yml @@ -1,11 +1,11 @@ - type: job id: SecurityOfficer - name: "security officer" + name: job-name-security startingGear: SecurityOfficerGear departments: - Security icon: "SecurityOfficer" - supervisors: "the head of security" + supervisors: job-supervisors-hos canBeAntag: false access: - Security diff --git a/Resources/Prototypes/Roles/Jobs/Security/warden.yml b/Resources/Prototypes/Roles/Jobs/Security/warden.yml index 76058b200c..67864a0d2b 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/warden.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/warden.yml @@ -1,11 +1,11 @@ - type: job id: Warden - name: "warden" + name: job-name-warden startingGear: WardenGear departments: - Security icon: "Warden" - supervisors: "the head of security" + supervisors: job-supervisors-hos canBeAntag: false access: - Security