diff --git a/Content.Server/Access/Systems/PresetIdCardSystem.cs b/Content.Server/Access/Systems/PresetIdCardSystem.cs
index 426e523243c..220a5156f48 100644
--- a/Content.Server/Access/Systems/PresetIdCardSystem.cs
+++ b/Content.Server/Access/Systems/PresetIdCardSystem.cs
@@ -2,6 +2,7 @@
 using Content.Server.GameTicking;
 using Content.Server.Station.Components;
 using Content.Server.Station.Systems;
+using Content.Shared.Access.Components; // Emberfall
 using Content.Shared.Access.Systems;
 using Content.Shared.Roles;
 using Content.Shared.StatusIcon;
@@ -79,10 +80,17 @@ private void SetupIdAccess(EntityUid uid, PresetIdCardComponent id, bool extende
 
         _accessSystem.SetAccessToJob(uid, job, extended);
 
-        _cardSystem.TryChangeJobTitle(uid, job.LocalizedName);
+        // Begin Emberfall
+        var card = Comp<IdCardComponent>(uid);
+
+        if (card.JobTitle == null)
+            _cardSystem.TryChangeJobTitle(uid, job.LocalizedName);
+        // End Emberfall
+
         _cardSystem.TryChangeJobDepartment(uid, job);
 
-        if (_prototypeManager.TryIndex(job.Icon, out var jobIcon))
+        if (card.JobIcon == "JobIconUnknown" && // Emberfall - Only set the icon if we're not overwriting it
+            _prototypeManager.TryIndex(job.Icon, out var jobIcon))
             _cardSystem.TryChangeJobIcon(uid, jobIcon);
     }
 }
diff --git a/Content.Server/Station/Systems/StationSpawningSystem.cs b/Content.Server/Station/Systems/StationSpawningSystem.cs
index d27354a25ce..9819ca07dde 100644
--- a/Content.Server/Station/Systems/StationSpawningSystem.cs
+++ b/Content.Server/Station/Systems/StationSpawningSystem.cs
@@ -235,9 +235,11 @@ public void SetPdaAndIdCardData(EntityUid entity, string characterName, JobProto
             return;
 
         _cardSystem.TryChangeFullName(cardId, characterName, card);
-        _cardSystem.TryChangeJobTitle(cardId, jobPrototype.LocalizedName, card);
+        if (card.JobTitle == null) // Emberfall
+            _cardSystem.TryChangeJobTitle(cardId, jobPrototype.LocalizedName, card);
 
-        if (_prototypeManager.TryIndex(jobPrototype.Icon, out var jobIcon))
+        if (card.JobIcon == "JobIconUnknown" && // Emberfall
+            _prototypeManager.TryIndex(jobPrototype.Icon, out var jobIcon))
             _cardSystem.TryChangeJobIcon(cardId, jobIcon, card);
 
         var extendedAccess = false;
diff --git a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs
index 6dbc58f4d38..c5310d7d9b4 100644
--- a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs
+++ b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs
@@ -148,12 +148,18 @@ public void CreateGeneralRecord(
             return;
         }
 
+        // Before creating the record, we'll get the job information either from the ID card or prototype
+        var (jobTitle, jobIcon) = idUid is { } uid && _idCard.TryFindIdCard(uid, out var card)
+            ? (Loc.GetString(card.Comp.JobTitle ?? string.Empty), card.Comp.JobIcon)
+            : (Loc.GetString(jobPrototype.LocalizedName), jobPrototype.Icon);
+
+
         var record = new GeneralStationRecord()
         {
             Name = name,
             Age = age,
-            JobTitle = jobPrototype.LocalizedName,
-            JobIcon = jobPrototype.Icon,
+            JobTitle = jobTitle, // Emberfall
+            JobIcon = jobIcon, // Emberfall
             JobPrototype = jobId,
             Species = species,
             Gender = gender,
diff --git a/Resources/Locale/en-US/_emberfall/atmos/gases.ftl b/Resources/Locale/en-US/_emberfall/atmos/gases.ftl
new file mode 100644
index 00000000000..60c25cfcf34
--- /dev/null
+++ b/Resources/Locale/en-US/_emberfall/atmos/gases.ftl
@@ -0,0 +1 @@
+plasma-smell = Something smells pungent!
diff --git a/Resources/Locale/en-US/_emberfall/job/job-names.ftl b/Resources/Locale/en-US/_emberfall/job/job-names.ftl
new file mode 100644
index 00000000000..4d18f16bf40
--- /dev/null
+++ b/Resources/Locale/en-US/_emberfall/job/job-names.ftl
@@ -0,0 +1,4 @@
+job-name-senior-physician = Senior Physician
+job-name-senior-researcher = Senior Researcher
+job-name-senior-engineer = Senior Engineer
+job-name-senior-officer = Senior Officer
diff --git a/Resources/Locale/en-US/disease/miasma.ftl b/Resources/Locale/en-US/disease/miasma.ftl
index 46e8db33d4c..8be145434c3 100644
--- a/Resources/Locale/en-US/disease/miasma.ftl
+++ b/Resources/Locale/en-US/disease/miasma.ftl
@@ -1,4 +1,4 @@
-ammonia-smell = Something smells pungent!
+ammonia-smell = Something smells foul!
 
 ## Perishable
 
diff --git a/Resources/Prototypes/Atmospherics/gases.yml b/Resources/Prototypes/Atmospherics/gases.yml
index b6c83091c51..fdb0bd14eaf 100644
--- a/Resources/Prototypes/Atmospherics/gases.yml
+++ b/Resources/Prototypes/Atmospherics/gases.yml
@@ -34,8 +34,8 @@
   specificHeat: 200
   heatCapacityRatio: 1.7
   molarMass: 120
-  gasOverlaySprite: /Textures/Effects/atmospherics.rsi
-  gasOverlayState: plasma
+#  gasOverlaySprite: /Textures/Effects/atmospherics.rsi # Emberfall
+#  gasOverlayState: plasma
   color: FF3300
   reagent: Plasma
   pricePerMole: 0
@@ -70,8 +70,8 @@
   specificHeat: 20
   heatCapacityRatio: 1.4
   molarMass: 44
-  gasOverlaySprite: /Textures/Effects/atmospherics.rsi
-  gasOverlayState: miasma
+#  gasOverlaySprite: /Textures/Effects/atmospherics.rsi # Emberfall
+#  gasOverlayState: miasma
   gasMolesVisible: 2
   gasVisbilityFactor: 3.5
   color: 56941E
diff --git a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
index 0d224e371f4..a04a20ec9f5 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
@@ -759,6 +759,11 @@
     layers:
     - state: default
     - state: idseniorengineer
+  - type: IdCard # Emberfall
+    jobTitle: job-name-senior-engineer
+    jobIcon: JobIconSeniorEngineer
+  - type: PresetIdCard # Emberfall
+    job: SeniorEngineer
 
 - type: entity
   parent: ResearchIDCard
@@ -769,6 +774,9 @@
     layers:
     - state: default
     - state: idseniorresearcher
+  - type: IdCard # Emberfall
+    jobTitle: job-name-senior-researcher
+    jobIcon: JobIconSeniorResearcher
 
 - type: entity
   parent: MedicalIDCard
@@ -779,6 +787,9 @@
     layers:
     - state: default
     - state: idseniorphysician
+  - type: IdCard # Emberfall
+    jobTitle: job-name-senior-physician
+    jobIcon: JobIconSeniorPhysician
 
 - type: entity
   parent: SecurityIDCard
@@ -789,6 +800,9 @@
     layers:
     - state: default
     - state: idseniorofficer
+  - type: IdCard # Emberfall
+    jobTitle: job-name-senior-officer
+    jobIcon: JobIconSeniorOfficer
 
 - type: entity
   parent: IDCardStandard
diff --git a/Resources/Prototypes/Maps/amber.yml b/Resources/Prototypes/Maps/amber.yml
index 6d6743123fa..4ab5925c29c 100644
--- a/Resources/Prototypes/Maps/amber.yml
+++ b/Resources/Prototypes/Maps/amber.yml
@@ -30,7 +30,7 @@
             Reporter: [ 1, 1 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 2, 2 ]
+#            AtmosphericTechnician: [ 2, 2 ]
             StationEngineer: [ 2, 4 ]
             TechnicalAssistant: [ 1, 1 ]
             #medical
diff --git a/Resources/Prototypes/Maps/bagel.yml b/Resources/Prototypes/Maps/bagel.yml
index 793dfc5b21c..91cabbc4bac 100644
--- a/Resources/Prototypes/Maps/bagel.yml
+++ b/Resources/Prototypes/Maps/bagel.yml
@@ -30,7 +30,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 4, 4 ]
             TechnicalAssistant: [ 4, 4 ]
             #medical
diff --git a/Resources/Prototypes/Maps/box.yml b/Resources/Prototypes/Maps/box.yml
index 9020d71043e..66aaf751b8e 100644
--- a/Resources/Prototypes/Maps/box.yml
+++ b/Resources/Prototypes/Maps/box.yml
@@ -28,7 +28,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 5, 5 ]
             TechnicalAssistant: [ 4, 4 ]
             #medical
diff --git a/Resources/Prototypes/Maps/cog.yml b/Resources/Prototypes/Maps/cog.yml
index 2f45631bbaf..324572e8a29 100644
--- a/Resources/Prototypes/Maps/cog.yml
+++ b/Resources/Prototypes/Maps/cog.yml
@@ -28,10 +28,10 @@
             Reporter: [ 2, 2 ]
             Librarian: [ 1, 1 ]
             ServiceWorker: [ 3, 3 ]
-            Zookeeper: [ 1, 1 ] 
+            Zookeeper: [ 1, 1 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 4, 4 ]
             TechnicalAssistant: [ 3, 3 ]
             #medical
diff --git a/Resources/Prototypes/Maps/core.yml b/Resources/Prototypes/Maps/core.yml
index e4e280ad667..b823c03a20d 100644
--- a/Resources/Prototypes/Maps/core.yml
+++ b/Resources/Prototypes/Maps/core.yml
@@ -32,7 +32,7 @@
             #engineering
             ChiefEngineer: [ 1, 1 ]
             StationEngineer: [ 4, 4 ]
-            AtmosphericTechnician: [ 2, 2 ]
+#            AtmosphericTechnician: [ 2, 2 ]
             TechnicalAssistant: [ 2, 2 ]
             #medical
             ChiefMedicalOfficer: [ 1, 1 ]
diff --git a/Resources/Prototypes/Maps/elkridge.yml b/Resources/Prototypes/Maps/elkridge.yml
index f0b71e99219..7a412342d71 100644
--- a/Resources/Prototypes/Maps/elkridge.yml
+++ b/Resources/Prototypes/Maps/elkridge.yml
@@ -32,7 +32,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 2, 2 ]
+#            AtmosphericTechnician: [ 2, 2 ]
             StationEngineer: [ 3, 4 ]
             TechnicalAssistant: [ 2, 2 ]
             #medical
diff --git a/Resources/Prototypes/Maps/fland.yml b/Resources/Prototypes/Maps/fland.yml
index b5c6fe9007d..810bb059821 100644
--- a/Resources/Prototypes/Maps/fland.yml
+++ b/Resources/Prototypes/Maps/fland.yml
@@ -30,7 +30,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 5, 5 ]
             TechnicalAssistant: [ 4, 4 ]
             #medical
diff --git a/Resources/Prototypes/Maps/gate.yml b/Resources/Prototypes/Maps/gate.yml
index 246baa95510..b0171ff5aa9 100644
--- a/Resources/Prototypes/Maps/gate.yml
+++ b/Resources/Prototypes/Maps/gate.yml
@@ -30,7 +30,7 @@
             Reporter: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 4, 4 ]
             TechnicalAssistant: [ 4, 4 ]
             #medical
diff --git a/Resources/Prototypes/Maps/loop.yml b/Resources/Prototypes/Maps/loop.yml
index c8a367d17cd..779f3d0eda0 100644
--- a/Resources/Prototypes/Maps/loop.yml
+++ b/Resources/Prototypes/Maps/loop.yml
@@ -30,7 +30,7 @@
             ServiceWorker: [ 3, 3 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 5, 5 ]
             TechnicalAssistant: [ 5, 5 ]
             #medical
diff --git a/Resources/Prototypes/Maps/marathon.yml b/Resources/Prototypes/Maps/marathon.yml
index 40f6b070021..104472d024a 100644
--- a/Resources/Prototypes/Maps/marathon.yml
+++ b/Resources/Prototypes/Maps/marathon.yml
@@ -29,7 +29,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 4, 4 ]
             TechnicalAssistant: [ 3, 3 ]
             #medical
diff --git a/Resources/Prototypes/Maps/meta.yml b/Resources/Prototypes/Maps/meta.yml
index c271bf40ce6..1a801c9dd71 100644
--- a/Resources/Prototypes/Maps/meta.yml
+++ b/Resources/Prototypes/Maps/meta.yml
@@ -29,7 +29,7 @@
             Reporter: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 6, 8 ]
             TechnicalAssistant: [ 6, 8 ]
             #medical
diff --git a/Resources/Prototypes/Maps/oasis.yml b/Resources/Prototypes/Maps/oasis.yml
index f3953eb8d6c..aa5134c293d 100644
--- a/Resources/Prototypes/Maps/oasis.yml
+++ b/Resources/Prototypes/Maps/oasis.yml
@@ -30,7 +30,7 @@
             Reporter: [ 1, 1 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 3, 3 ]
+#            AtmosphericTechnician: [ 3, 3 ]
             StationEngineer: [ 5, 5 ]
             TechnicalAssistant: [ 4, 4 ]
             #medical
diff --git a/Resources/Prototypes/Maps/omega.yml b/Resources/Prototypes/Maps/omega.yml
index 031c831f556..1db44c1d194 100644
--- a/Resources/Prototypes/Maps/omega.yml
+++ b/Resources/Prototypes/Maps/omega.yml
@@ -29,7 +29,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 2, 2 ]
+#            AtmosphericTechnician: [ 2, 2 ]
             StationEngineer: [ 3, 3 ]
             TechnicalAssistant: [ 2, 2 ]
             #medical
diff --git a/Resources/Prototypes/Maps/packed.yml b/Resources/Prototypes/Maps/packed.yml
index f66207c8834..e66a1f40ca3 100644
--- a/Resources/Prototypes/Maps/packed.yml
+++ b/Resources/Prototypes/Maps/packed.yml
@@ -29,7 +29,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 2, 2 ]
+#            AtmosphericTechnician: [ 2, 2 ]
             StationEngineer: [ 4, 4 ]
             TechnicalAssistant: [ 3, 3 ]
             #medical
diff --git a/Resources/Prototypes/Maps/reach.yml b/Resources/Prototypes/Maps/reach.yml
index 376e3366717..ce1c99751e5 100644
--- a/Resources/Prototypes/Maps/reach.yml
+++ b/Resources/Prototypes/Maps/reach.yml
@@ -29,7 +29,7 @@
             Chemist: [ 1, 1 ]
             Janitor: [ 1, 1 ]
             Musician: [ 1, 1 ]
-            AtmosphericTechnician: [ 1, 1 ]
+#            AtmosphericTechnician: [ 1, 1 ]
             StationEngineer: [ 1, 2 ]
             Scientist: [ 1, 1 ]
             Passenger: [ -1, -1 ]
diff --git a/Resources/Prototypes/Maps/saltern.yml b/Resources/Prototypes/Maps/saltern.yml
index d0a539d1821..f63a1f56d9a 100644
--- a/Resources/Prototypes/Maps/saltern.yml
+++ b/Resources/Prototypes/Maps/saltern.yml
@@ -28,7 +28,7 @@
             ServiceWorker: [ 2, 2 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 2, 2 ]
+#            AtmosphericTechnician: [ 2, 2 ]
             StationEngineer: [ 4, 4 ]
             TechnicalAssistant: [ 4, 4 ]
             #medical
diff --git a/Resources/Prototypes/Maps/train.yml b/Resources/Prototypes/Maps/train.yml
index cb37998a8ea..8370d7e800d 100644
--- a/Resources/Prototypes/Maps/train.yml
+++ b/Resources/Prototypes/Maps/train.yml
@@ -32,7 +32,7 @@
             Detective: [ 1, 1 ]
             #engineering
             ChiefEngineer: [ 1, 1 ]
-            AtmosphericTechnician: [ 2, 2 ]
+#            AtmosphericTechnician: [ 2, 2 ]
             StationEngineer: [ 4, 4 ]
             TechnicalAssistant: [ 3, 3 ]
             #medical
diff --git a/Resources/Prototypes/Reagents/gases.yml b/Resources/Prototypes/Reagents/gases.yml
index 9ef508feead..cdcc6356a94 100644
--- a/Resources/Prototypes/Reagents/gases.yml
+++ b/Resources/Prototypes/Reagents/gases.yml
@@ -95,6 +95,15 @@
             min: 1.5
         clear: True
         time: 5
+      - !type:PopupMessage # Emberfall - colorless, smells pungent
+        type: Local
+        visualType: Medium
+        messages: [ "plasma-smell" ]
+        probability: 0.8
+        conditions:
+        - !type:ReagentThreshold
+          reagent: Plasma
+          min: 0.1
   reactiveEffects:
     Flammable:
       methods: [ Touch ]
diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml
index 9810b485713..c9368afd098 100644
--- a/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml
+++ b/Resources/Prototypes/Roles/Jobs/Engineering/atmospheric_technician.yml
@@ -3,6 +3,7 @@
   name: job-name-atmostech
   description: job-description-atmostech
   playTimeTracker: JobAtmosphericTechnician
+  setPreference: false # Emberfall
   requirements:
     - !type:DepartmentTimeRequirement
       department: Engineering
diff --git a/Resources/Prototypes/StatusIcon/job.yml b/Resources/Prototypes/StatusIcon/job.yml
index 0abb86aeab8..6aa29e7d89d 100644
--- a/Resources/Prototypes/StatusIcon/job.yml
+++ b/Resources/Prototypes/StatusIcon/job.yml
@@ -411,7 +411,7 @@
   icon:
     sprite: /Textures/Interface/Misc/job_icons.rsi
     state: SeniorPhysician
-  allowSelection: false
+  allowSelection: true # Emberfall
 
 - type: jobIcon
   parent: JobIcon
@@ -419,7 +419,7 @@
   icon:
     sprite: /Textures/Interface/Misc/job_icons.rsi
     state: SeniorOfficer
-  allowSelection: false
+  allowSelection: true # Emberfall
 
 - type: jobIcon
   parent: JobIcon
@@ -427,7 +427,7 @@
   icon:
     sprite: /Textures/Interface/Misc/job_icons.rsi
     state: SeniorEngineer
-  allowSelection: false
+  allowSelection: true # Emberfall
 
 - type: jobIcon
   parent: JobIcon
@@ -435,7 +435,7 @@
   icon:
     sprite: /Textures/Interface/Misc/job_icons.rsi
     state: SeniorResearcher
-  allowSelection: false
+  allowSelection: true # Emberfall
 
 - type: jobIcon
   parent: JobIcon
diff --git a/Resources/Prototypes/_Emberfall/Roles/Jobs/Engineering/senior_engineer.yml b/Resources/Prototypes/_Emberfall/Roles/Jobs/Engineering/senior_engineer.yml
new file mode 100644
index 00000000000..458194a931d
--- /dev/null
+++ b/Resources/Prototypes/_Emberfall/Roles/Jobs/Engineering/senior_engineer.yml
@@ -0,0 +1,10 @@
+# yes this needs to exist for the preset even if we're not actually using it as a job, its stupid
+- type: job
+  id: SeniorEngineer
+  playTimeTracker: JobSeniorEngineer
+  access:
+  - Maintenance
+  - Engineering
+  - External
+  - Atmospherics
+
diff --git a/Resources/Prototypes/_Emberfall/Roles/play_time_trackers.yml b/Resources/Prototypes/_Emberfall/Roles/play_time_trackers.yml
new file mode 100644
index 00000000000..614130c4541
--- /dev/null
+++ b/Resources/Prototypes/_Emberfall/Roles/play_time_trackers.yml
@@ -0,0 +1,2 @@
+- type: playTimeTracker # no its not ever used, but needs to exist
+  id: JobSeniorEngineer