diff --git a/Content.Server/Nyanotrasen/Mail/Components/MailDisabledComponent.cs b/Content.Server/Nyanotrasen/Mail/Components/MailDisabledComponent.cs new file mode 100644 index 00000000000..eaf69869605 --- /dev/null +++ b/Content.Server/Nyanotrasen/Mail/Components/MailDisabledComponent.cs @@ -0,0 +1,6 @@ +namespace Content.Server.Mail.Components +{ + [RegisterComponent] + public sealed partial class MailDisabledComponent : Component + {} +} diff --git a/Content.Server/Nyanotrasen/Mail/MailSystem.cs b/Content.Server/Nyanotrasen/Mail/MailSystem.cs index 578bfafe5ca..ffb173acdf4 100644 --- a/Content.Server/Nyanotrasen/Mail/MailSystem.cs +++ b/Content.Server/Nyanotrasen/Mail/MailSystem.cs @@ -74,6 +74,7 @@ public sealed class MailSystem : EntitySystem [Dependency] private readonly ItemSystem _itemSystem = default!; [Dependency] private readonly MindSystem _mindSystem = default!; [Dependency] private readonly MetaDataSystem _metaDataSystem = default!; + [Dependency] private readonly IEntityManager _entManager = default!; // Frontier private ISawmill _sawmill = default!; @@ -579,6 +580,12 @@ public bool TryGetMailRecipientForReceiver(MailReceiverComponent receiver, [NotN return false; } + if (_entManager.TryGetComponent(receiver.Owner, out var antag)) + { + recipient = null; + return false; + } + var accessTags = access.Tags; var mayReceivePriorityMail = !(_mindSystem.GetMind(receiver.Owner) == null); diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate.yml b/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate.yml index 6f09b0f145a..e6f04c90ba8 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate.yml @@ -15,6 +15,9 @@ accessGroups: - GeneralAccess special: + - !type:AddComponentSpecial + components: + - type: MailDisabled - !type:AddImplantSpecial implants: [ FreelanceTrackingImplant ] diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_captain.yml b/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_captain.yml index 9336a9d3c04..638f57a5644 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_captain.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_captain.yml @@ -16,6 +16,9 @@ accessGroups: - GeneralAccess special: + - !type:AddComponentSpecial + components: + - type: MailDisabled - !type:AddImplantSpecial implants: [ FreelanceTrackingImplant ] diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_first_mate.yml b/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_first_mate.yml index d5cf14704fd..7eb0d99e9fe 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_first_mate.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Pirates/pirate_first_mate.yml @@ -8,14 +8,17 @@ - !type:OverallPlaytimeRequirement time: 129600 # Frontier - 36 hours startingGear: NFPirateFirstMateGear - canBeAntag: true alwaysUseSpawner: true + canBeAntag: true icon: "JobIconMercenary" supervisors: job-supervisors-hire setPreference: true accessGroups: - GeneralAccess special: + - !type:AddComponentSpecial + components: + - type: MailDisabled - !type:AddImplantSpecial implants: [ FreelanceTrackingImplant ]