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
This commit is contained in:
Morber
2022-06-28 15:55:05 +03:00
committed by GitHub
parent 5dbb3220dd
commit 7a14c6f331
47 changed files with 157 additions and 101 deletions

View File

@@ -202,8 +202,8 @@ namespace Content.Client.LateJoin
var jobLabel = new Label var jobLabel = new Label
{ {
Text = job.Value != null ? 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-capped", ("jobName", prototype.LocalizedName), ("amount", job.Value)) :
Loc.GetString("late-join-gui-job-slot-uncapped", ("jobName", prototype.Name)) Loc.GetString("late-join-gui-job-slot-uncapped", ("jobName", prototype.LocalizedName))
}; };
jobSelector.AddChild(jobLabel); jobSelector.AddChild(jobLabel);

View File

@@ -192,7 +192,7 @@ namespace Content.Client.Preferences.UI
var highPriorityJob = humanoid?.JobPriorities.SingleOrDefault(p => p.Value == JobPriority.High).Key; var highPriorityJob = humanoid?.JobPriorities.SingleOrDefault(p => p.Value == JobPriority.High).Key;
if (highPriorityJob != null) if (highPriorityJob != null)
{ {
var jobName = IoCManager.Resolve<IPrototypeManager>().Index<JobPrototype>(highPriorityJob).Name; var jobName = IoCManager.Resolve<IPrototypeManager>().Index<JobPrototype>(highPriorityJob).LocalizedName;
description = $"{description}\n{jobName}"; description = $"{description}\n{jobName}";
} }

View File

@@ -344,7 +344,7 @@ namespace Content.Client.Preferences.UI
var firstCategory = true; var firstCategory = true;
foreach (var job in prototypeManager.EnumeratePrototypes<JobPrototype>().OrderBy(j => j.Name)) foreach (var job in prototypeManager.EnumeratePrototypes<JobPrototype>().OrderBy(j => j.LocalizedName))
{ {
if(!job.SetPreference) { continue; } if(!job.SetPreference) { continue; }
@@ -1033,7 +1033,7 @@ namespace Content.Client.Preferences.UI
Children = Children =
{ {
icon, icon,
new Label {Text = job.Name, MinSize = (175, 0)}, new Label {Text = job.LocalizedName, MinSize = (175, 0)},
_optionButton _optionButton
} }
}); });

View File

@@ -67,7 +67,7 @@ namespace Content.Server.Access.Systems
_accessSystem.SetAccessToJob(uid, job, extended); _accessSystem.SetAccessToJob(uid, job, extended);
// and also change job title on a card id // and also change job title on a card id
_cardSystem.TryChangeJobTitle(uid, job.Name); _cardSystem.TryChangeJobTitle(uid, job.LocalizedName);
} }
} }
} }

View File

@@ -65,7 +65,7 @@ namespace Content.Server.GameTicking.Commands
var jobPrototype = _prototypeManager.Index<JobPrototype>(id); var jobPrototype = _prototypeManager.Index<JobPrototype>(id);
if(stationJobs.TryGetJobSlot(station, jobPrototype, out var slots) == false || slots == 0) 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; return;
} }
ticker.MakeJoinGame(player, station, id); ticker.MakeJoinGame(player, station, id);

View File

@@ -54,7 +54,7 @@ namespace Content.Server.GameTicking
InitializeLobbyMusic(); InitializeLobbyMusic();
InitializeLobbyBackground(); InitializeLobbyBackground();
InitializeGamePreset(); InitializeGamePreset();
DebugTools.Assert(_prototypeManager.Index<JobPrototype>(FallbackOverflowJob).Name == Loc.GetString(FallbackOverflowJobName), DebugTools.Assert(_prototypeManager.Index<JobPrototype>(FallbackOverflowJob).Name == FallbackOverflowJobName,
"Overflow role does not have the correct name!"); "Overflow role does not have the correct name!");
InitializeGameRules(); InitializeGameRules();

View File

@@ -23,7 +23,7 @@ namespace Content.Server.Roles
public Job(Mind.Mind mind, JobPrototype jobPrototype) : base(mind) public Job(Mind.Mind mind, JobPrototype jobPrototype) : base(mind)
{ {
Prototype = jobPrototype; Prototype = jobPrototype;
Name = jobPrototype.Name; Name = jobPrototype.LocalizedName;
CanBeAntag = jobPrototype.CanBeAntag; CanBeAntag = jobPrototype.CanBeAntag;
} }
@@ -40,7 +40,7 @@ namespace Content.Server.Roles
if(Prototype.RequireAdminNotify) if(Prototype.RequireAdminNotify)
chatMgr.DispatchServerMessage(session, Loc.GetString("job-greet-important-disconnect-admin-notify")); 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) if(Prototype.JoinNotifyCrew && Mind.CharacterName != null)
{ {

View File

@@ -173,7 +173,7 @@ public sealed class StationSpawningSystem : EntitySystem
var card = pdaComponent.ContainedID; var card = pdaComponent.ContainedID;
var cardId = card.Owner; var cardId = card.Owner;
_cardSystem.TryChangeFullName(cardId, characterName, card); _cardSystem.TryChangeFullName(cardId, characterName, card);
_cardSystem.TryChangeJobTitle(cardId, jobPrototype.Name, card); _cardSystem.TryChangeJobTitle(cardId, jobPrototype.LocalizedName, card);
var extendedAccess = false; var extendedAccess = false;
if (station != null) if (station != null)

View File

@@ -10,7 +10,7 @@ namespace Content.Shared.GameTicking
// But this is easier, and at least it isn't hardcoded. // But this is easier, and at least it isn't hardcoded.
//TODO: Move these, they really belong in StationJobsSystem or a cvar. //TODO: Move these, they really belong in StationJobsSystem or a cvar.
public const string FallbackOverflowJob = "Passenger"; public const string FallbackOverflowJob = "Passenger";
public const string FallbackOverflowJobName = "passenger"; public const string FallbackOverflowJobName = "job-name-passenger";
} }
[Serializable, NetSerializable] [Serializable, NetSerializable]

View File

@@ -26,6 +26,9 @@ namespace Content.Shared.Roles
[DataField("name")] [DataField("name")]
public string Name { get; } = string.Empty; public string Name { get; } = string.Empty;
[ViewVariables(VVAccess.ReadOnly)]
public string LocalizedName => Loc.GetString(Name);
[DataField("joinNotifyCrew")] [DataField("joinNotifyCrew")]
public bool JoinNotifyCrew { get; } = false; public bool JoinNotifyCrew { get; } = false;

View File

@@ -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

View File

@@ -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

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: CargoTechnician id: CargoTechnician
name: "cargo technician" name: job-name-cargoteh
startingGear: CargoTechGear startingGear: CargoTechGear
departments: departments:
- Cargo - Cargo
icon: "CargoTechnician" icon: "CargoTechnician"
supervisors: "the quartermaster and head of personnel" supervisors: job-supervisors-hop-qm
access: access:
- Cargo - Cargo
- Maintenance - Maintenance

View File

@@ -1,12 +1,12 @@
- type: job - type: job
id: Quartermaster id: Quartermaster
name: "quartermaster" name: job-name-qm
weight: 10 weight: 10
startingGear: QuartermasterGear startingGear: QuartermasterGear
departments: departments:
- Cargo - Cargo
icon: "QuarterMaster" icon: "QuarterMaster"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
canBeAntag: false canBeAntag: false
access: access:
- Cargo - Cargo

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: SalvageSpecialist id: SalvageSpecialist
name: "salvage specialist" name: job-name-salvagespec
icon: "ShaftMiner" icon: "ShaftMiner"
startingGear: SalvageSpecialistGear startingGear: SalvageSpecialistGear
departments: departments:
- Cargo - Cargo
supervisors: "the quartermaster and head of personnel" supervisors: job-supervisors-hop-qm
access: access:
- Cargo - Cargo
- Salvage - Salvage

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Passenger id: Passenger
name: "passenger" name: job-name-passenger
startingGear: PassengerGear startingGear: PassengerGear
departments: departments:
- Civilian - Civilian
icon: "Passenger" icon: "Passenger"
supervisors: "absolutely everyone" supervisors: job-supervisors-everyone
access: access:
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Bartender id: Bartender
name: "bartender" name: job-name-bartender
startingGear: BartenderGear startingGear: BartenderGear
departments: departments:
- Civilian - Civilian
icon: "Bartender" icon: "Bartender"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Service - Service
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Botanist id: Botanist
name: "botanist" name: job-name-botanist
startingGear: BotanistGear startingGear: BotanistGear
departments: departments:
- Civilian - Civilian
icon: "Botanist" icon: "Botanist"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Service - Service
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Chaplain id: Chaplain
name: "chaplain" name: job-name-chaplain
startingGear: ChaplainGear startingGear: ChaplainGear
departments: departments:
- Civilian - Civilian
icon: "Chaplain" icon: "Chaplain"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Chapel - Chapel
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Chef id: Chef
name: "chef" name: job-name-chef
startingGear: ChefGear startingGear: ChefGear
departments: departments:
- Civilian - Civilian
icon: "Chef" icon: "Chef"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Service - Service
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Clown id: Clown
name: "clown" name: job-name-clown
startingGear: ClownGear startingGear: ClownGear
departments: departments:
- Civilian - Civilian
icon: "Clown" icon: "Clown"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Theatre - Theatre
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Janitor id: Janitor
name: "janitor" name: job-name-janitor
startingGear: JanitorGear startingGear: JanitorGear
departments: departments:
- Civilian - Civilian
icon: "Janitor" icon: "Janitor"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Janitor - Janitor
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Lawyer id: Lawyer
name: "lawyer" name: job-name-lawyer
startingGear: LawyerGear startingGear: LawyerGear
departments: departments:
- Civilian - Civilian
icon: "Lawyer" icon: "Lawyer"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Service - Service
- Brig - Brig

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Librarian id: Librarian
name: "librarian" name: job-name-librarian
startingGear: LibrarianGear startingGear: LibrarianGear
departments: departments:
- Civilian - Civilian
icon: "Librarian" icon: "Librarian"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Service - Service
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Mime id: Mime
name: "mime" name: job-name-mime
startingGear: MimeGear startingGear: MimeGear
departments: departments:
- Civilian - Civilian
icon: "Mime" icon: "Mime"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Theatre - Theatre
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Musician id: Musician
name: "musician" name: job-name-musician
startingGear: MusicianGear startingGear: MusicianGear
departments: departments:
- Civilian - Civilian
icon: "Musician" icon: "Musician"
supervisors: "whoever hires you" supervisors: job-supervisors-hire
access: access:
- Maintenance # TODO Remove maint access for all gimmick jobs once access work is completed - Maintenance # TODO Remove maint access for all gimmick jobs once access work is completed
- Theatre - Theatre

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Reporter id: Reporter
name: "reporter" name: job-name-reporter
startingGear: ReporterGear startingGear: ReporterGear
departments: departments:
- Civilian - Civilian
icon: "Reporter" icon: "Reporter"
supervisors: "the head of personnel" supervisors: job-supervisors-hop
access: access:
- Service - Service
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: ServiceWorker id: ServiceWorker
name: "service worker" name: job-name-serviceworker
startingGear: ServiceWorkerGear startingGear: ServiceWorkerGear
departments: departments:
- Civilian - Civilian
icon: "ServiceWorker" icon: "ServiceWorker"
supervisors: "chefs, botanists, the bartender, and the head of personnel" supervisors: job-supervisors-service
canBeAntag: false canBeAntag: false
access: access:
- Service - Service

View File

@@ -1,6 +1,6 @@
- type: job - type: job
id: Captain id: Captain
name: "captain" name: job-name-captain
weight: 20 weight: 20
startingGear: CaptainGear startingGear: CaptainGear
departments: departments:
@@ -8,7 +8,7 @@
icon: "Captain" icon: "Captain"
requireAdminNotify: true requireAdminNotify: true
joinNotifyCrew: true joinNotifyCrew: true
supervisors: "Nanotrasen officials" supervisors: job-supervisors-centcom
canBeAntag: false canBeAntag: false
accessGroups: accessGroups:
- AllAccess - AllAccess

View File

@@ -1,12 +1,12 @@
- type: job - type: job
id: CentralCommandOfficial id: CentralCommandOfficial
name: "centcom official" name: job-name-centcomoff
setPreference: false setPreference: false
startingGear: CentcomGear startingGear: CentcomGear
departments: departments:
- Command - Command
icon: "Nanotrasen" icon: "Nanotrasen"
supervisors: "the head of security" supervisors: job-supervisors-hos
canBeAntag: false canBeAntag: false
accessGroups: accessGroups:
- AllAccess - AllAccess

View File

@@ -1,6 +1,6 @@
- type: job - type: job
id: HeadOfPersonnel id: HeadOfPersonnel
name: "head of personnel" name: job-name-hop
weight: 20 weight: 20
startingGear: HoPGear startingGear: HoPGear
departments: departments:
@@ -8,7 +8,7 @@
- Civilian - Civilian
icon: "HeadOfPersonnel" icon: "HeadOfPersonnel"
requireAdminNotify: true requireAdminNotify: true
supervisors: "the captain" supervisors: job-supervisors-captain
canBeAntag: false canBeAntag: false
access: access:
- Command - Command

View File

@@ -1,12 +1,12 @@
- type: job - type: job
id: AtmosphericTechnician id: AtmosphericTechnician
name: "atmospheric technician" name: job-name-atmostech
startingGear: AtmosphericTechnicianGear startingGear: AtmosphericTechnicianGear
departments: departments:
- Engineering - Engineering
icon: "AtmosphericTechnician" icon: "AtmosphericTechnician"
supervisors: "the chief engineer" supervisors: job-supervisors-ce
canBeAntag: false canBeAntag: false
access: access:
- Maintenance - Maintenance
- Engineering - Engineering
@@ -16,11 +16,11 @@
- type: startingGear - type: startingGear
id: AtmosphericTechnicianGear id: AtmosphericTechnicianGear
equipment: equipment:
head: head:
jumpsuit: ClothingUniformJumpsuitAtmos jumpsuit: ClothingUniformJumpsuitAtmos
back: ClothingBackpackEngineeringFilled back: ClothingBackpackEngineeringFilled
shoes: ClothingShoesColorWhite shoes: ClothingShoesColorWhite
outerClothing: outerClothing:
id: AtmosPDA id: AtmosPDA
belt: ClothingBeltUtilityFilled belt: ClothingBeltUtilityFilled
ears: ClothingHeadsetEngineering ears: ClothingHeadsetEngineering

View File

@@ -1,6 +1,6 @@
- type: job - type: job
id: ChiefEngineer id: ChiefEngineer
name: "chief engineer" name: job-name-ce
weight: 10 weight: 10
startingGear: ChiefEngineerGear startingGear: ChiefEngineerGear
departments: departments:
@@ -8,7 +8,7 @@
- Engineering - Engineering
icon: "ChiefEngineer" icon: "ChiefEngineer"
requireAdminNotify: true requireAdminNotify: true
supervisors: "the captain" supervisors: job-supervisors-captain
canBeAntag: false canBeAntag: false
access: access:
- Maintenance - Maintenance

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: StationEngineer id: StationEngineer
name: "station engineer" name: job-name-engineer
startingGear: StationEngineerGear startingGear: StationEngineerGear
departments: departments:
- Engineering - Engineering
icon: "StationEngineer" icon: "StationEngineer"
supervisors: "the chief engineer" supervisors: job-supervisors-ce
access: access:
- Maintenance - Maintenance
- Engineering - Engineering

View File

@@ -1,12 +1,12 @@
- type: job - type: job
id: TechnicalAssistant id: TechnicalAssistant
name: "technical assistant" name: job-name-assistant
startingGear: TechnicalAssistantGear startingGear: TechnicalAssistantGear
departments: departments:
- Civilian - Civilian
- Engineering - Engineering
icon: "TechnicalAssistant" icon: "TechnicalAssistant"
supervisors: "station engineers, atmospheric technicians, and the chief engineer" supervisors: job-supervisors-engineering
canBeAntag: false canBeAntag: false
access: access:
- Maintenance - Maintenance

View File

@@ -1,13 +1,13 @@
# Leader # Leader
- type: job - type: job
id: ERTLeader id: ERTLeader
name: "ERT leader" name: job-name-ertleader
setPreference: false setPreference: false
startingGear: ERTLeaderGearEVA startingGear: ERTLeaderGearEVA
departments: departments:
- Command - Command
icon: "Nanotrasen" icon: "Nanotrasen"
supervisors: "centcom official" supervisors: job-supervisors-centcom
canBeAntag: false canBeAntag: false
accessGroups: accessGroups:
- AllAccess - AllAccess
@@ -48,17 +48,17 @@
# Engineer # Engineer
- type: job - type: job
id: ERTEngineer id: ERTEngineer
name: "ERT engineer" name: job-name-ertengineer
setPreference: false setPreference: false
startingGear: ERTEngineerGearEVA startingGear: ERTEngineerGearEVA
departments: departments:
- Command - Command
icon: "Nanotrasen" icon: "Nanotrasen"
supervisors: "centcom official" supervisors: job-supervisors-centcom
canBeAntag: false canBeAntag: false
accessGroups: accessGroups:
- AllAccess - AllAccess
- type: startingGear - type: startingGear
id: ERTEngineerGear id: ERTEngineerGear
equipment: equipment:
@@ -90,21 +90,21 @@
ears: ClothingHeadsetAltCommand ears: ClothingHeadsetAltCommand
belt: ClothingBeltChiefEngineerFilled belt: ClothingBeltChiefEngineerFilled
pocket1: Flare pocket1: Flare
# Security # Security
- type: job - type: job
id: ERTSecurity id: ERTSecurity
name: "ERT security" name: job-name-ertsecurity
setPreference: false setPreference: false
startingGear: ERTEngineerGearEVA startingGear: ERTEngineerGearEVA
departments: departments:
- Command - Command
icon: "Nanotrasen" icon: "Nanotrasen"
supervisors: "centcom official" supervisors: job-supervisors-centcom
canBeAntag: false canBeAntag: false
accessGroups: accessGroups:
- AllAccess - AllAccess
- type: startingGear - type: startingGear
id: ERTSecurityGear id: ERTSecurityGear
equipment: equipment:
@@ -136,21 +136,21 @@
ears: ClothingHeadsetAltCommand ears: ClothingHeadsetAltCommand
belt: ClothingBeltSecurityWebbing belt: ClothingBeltSecurityWebbing
pocket1: Flare pocket1: Flare
# Medical # Medical
- type: job - type: job
id: ERTMedical id: ERTMedical
name: "ERT medic" name: job-name-ertmedic
setPreference: false setPreference: false
startingGear: ERTMedicalGearEVA startingGear: ERTMedicalGearEVA
departments: departments:
- Command - Command
icon: "Nanotrasen" icon: "Nanotrasen"
supervisors: "centcom official" supervisors: job-supervisors-centcom
canBeAntag: false canBeAntag: false
accessGroups: accessGroups:
- AllAccess - AllAccess
- type: startingGear - type: startingGear
id: ERTMedicalGear id: ERTMedicalGear
equipment: equipment:
@@ -183,21 +183,21 @@
belt: ClothingBeltMedicalFilled belt: ClothingBeltMedicalFilled
pocket1: HandheldHealthAnalyzer pocket1: HandheldHealthAnalyzer
pocket2: Flare pocket2: Flare
# Janitor # Janitor
- type: job - type: job
id: ERTJanitor id: ERTJanitor
name: "ERT janitor" name: job-name-ertjanitor
setPreference: false setPreference: false
startingGear: ERTJanitorGearEVA startingGear: ERTJanitorGearEVA
departments: departments:
- Command - Command
icon: "Nanotrasen" icon: "Nanotrasen"
supervisors: "centcom official" supervisors: job-supervisors-centcom
canBeAntag: false canBeAntag: false
accessGroups: accessGroups:
- AllAccess - AllAccess
- type: startingGear - type: startingGear
id: ERTJanitorGear id: ERTJanitorGear
equipment: equipment:

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Chemist id: Chemist
name: "chemist" name: job-name-chemist
startingGear: ChemistGear startingGear: ChemistGear
departments: departments:
- Medical - Medical
icon: "Chemist" icon: "Chemist"
supervisors: "the chief medical officer" supervisors: job-supervisors-cmo
access: access:
- Medical - Medical
- Chemistry - Chemistry

View File

@@ -2,7 +2,7 @@
- type: job - type: job
id: ChiefMedicalOfficer id: ChiefMedicalOfficer
name: "chief medical officer" name: job-name-cmo
weight: 10 weight: 10
startingGear: CMOGear startingGear: CMOGear
departments: departments:
@@ -10,7 +10,7 @@
- Medical - Medical
icon: "ChiefMedicalOfficer" icon: "ChiefMedicalOfficer"
requireAdminNotify: true requireAdminNotify: true
supervisors: "the captain" supervisors: job-supervisors-captain
canBeAntag: false canBeAntag: false
access: access:
- Medical - Medical

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: MedicalDoctor id: MedicalDoctor
name: "medical doctor" name: job-name-doctor
startingGear: DoctorGear startingGear: DoctorGear
departments: departments:
- Medical - Medical
icon: "MedicalDoctor" icon: "MedicalDoctor"
supervisors: "the chief medical officer" supervisors: job-supervisors-cmo
access: access:
- Medical - Medical
- Maintenance - Maintenance

View File

@@ -1,12 +1,12 @@
- type: job - type: job
id: MedicalIntern id: MedicalIntern
name: "medical intern" name: job-name-intern
startingGear: MedicalInternGear startingGear: MedicalInternGear
departments: departments:
- Civilian - Civilian
- Medical - Medical
icon: "MedicalIntern" icon: "MedicalIntern"
supervisors: "medical doctors, chemists, and the chief medical officer" supervisors: job-supervisors-medicine
canBeAntag: false canBeAntag: false
access: access:
- Medical - Medical

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Psychologist id: Psychologist
name: "psychologist" name: job-name-psychologist
startingGear: PsychologistGear startingGear: PsychologistGear
departments: departments:
- Medical - Medical
icon: "Psychologist" icon: "Psychologist"
supervisors: "the chief medical officer" supervisors: job-supervisors-cmo
access: access:
- Medical - Medical
- Maintenance - Maintenance
@@ -22,4 +22,4 @@
ears: ClothingHeadsetMedical ears: ClothingHeadsetMedical
innerclothingskirt: ClothingUniformJumpsuitPsychologist innerclothingskirt: ClothingUniformJumpsuitPsychologist
satchel: ClothingBackpackSatchelMedicalFilled satchel: ClothingBackpackSatchelMedicalFilled
duffelbag: ClothingBackpackDuffelMedicalFilled duffelbag: ClothingBackpackDuffelMedicalFilled

View File

@@ -1,6 +1,6 @@
- type: job - type: job
id: ResearchDirector id: ResearchDirector
name: "research director" name: job-name-rd
weight: 10 weight: 10
startingGear: ResearchDirectorGear startingGear: ResearchDirectorGear
departments: departments:
@@ -8,7 +8,7 @@
- Science - Science
icon: "ResearchDirector" icon: "ResearchDirector"
requireAdminNotify: true requireAdminNotify: true
supervisors: "the captain" supervisors: job-supervisors-captain
canBeAntag: false canBeAntag: false
access: access:
- Research - Research

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Scientist id: Scientist
name: "scientist" name: job-name-scientist
startingGear: ScientistGear startingGear: ScientistGear
departments: departments:
- Science - Science
icon: "Scientist" icon: "Scientist"
supervisors: "the research director" supervisors: job-supervisors-rd
access: access:
- Research - Research
- Maintenance - Maintenance

View File

@@ -1,6 +1,6 @@
- type: job - type: job
id: HeadOfSecurity id: HeadOfSecurity
name: "head of security" name: job-name-hos
weight: 10 weight: 10
startingGear: HoSGear startingGear: HoSGear
departments: departments:
@@ -8,7 +8,7 @@
- Security - Security
icon: "HeadOfSecurity" icon: "HeadOfSecurity"
requireAdminNotify: true requireAdminNotify: true
supervisors: "the captain" supervisors: job-supervisors-captain
canBeAntag: false canBeAntag: false
access: access:
- HeadOfSecurity - HeadOfSecurity

View File

@@ -1,12 +1,12 @@
- type: job - type: job
id: SecurityCadet id: SecurityCadet
name: "security cadet" name: job-name-cadet
startingGear: SecurityCadetGear startingGear: SecurityCadetGear
departments: departments:
- Civilian - Civilian
- Security - Security
icon: "SecurityCadet" icon: "SecurityCadet"
supervisors: "security officers, the warden, and the head of security" supervisors: job-supervisors-security
canBeAntag: false canBeAntag: false
access: access:
- Security - Security

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: SecurityOfficer id: SecurityOfficer
name: "security officer" name: job-name-security
startingGear: SecurityOfficerGear startingGear: SecurityOfficerGear
departments: departments:
- Security - Security
icon: "SecurityOfficer" icon: "SecurityOfficer"
supervisors: "the head of security" supervisors: job-supervisors-hos
canBeAntag: false canBeAntag: false
access: access:
- Security - Security

View File

@@ -1,11 +1,11 @@
- type: job - type: job
id: Warden id: Warden
name: "warden" name: job-name-warden
startingGear: WardenGear startingGear: WardenGear
departments: departments:
- Security - Security
icon: "Warden" icon: "Warden"
supervisors: "the head of security" supervisors: job-supervisors-hos
canBeAntag: false canBeAntag: false
access: access:
- Security - Security