diff --git a/Content.Server/Kitchen/Components/ReagentGrinderComponent.cs b/Content.Server/Kitchen/Components/ReagentGrinderComponent.cs index 5c5cbf987b1..45fe748272b 100644 --- a/Content.Server/Kitchen/Components/ReagentGrinderComponent.cs +++ b/Content.Server/Kitchen/Components/ReagentGrinderComponent.cs @@ -51,6 +51,12 @@ public sealed partial class ReagentGrinderComponent : Component { public GrinderAutoMode AutoMode = GrinderAutoMode.Off; public EntityUid? AudioStream; + + /// + /// Frontier - Tier 2 reagent grinder + /// + [DataField("advanced")] + public bool Advanced; } [Access(typeof(ReagentGrinderSystem)), RegisterComponent] diff --git a/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs b/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs index aad33fea678..9b492d70e08 100644 --- a/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/ReagentGrinderSystem.cs @@ -89,6 +89,15 @@ public override void Update(float frameTime) foreach (var item in inputContainer.ContainedEntities.ToList()) { + // Frontier code for regent grinder tier 2 - Start + TryComp(item, out var extractable); + if (!reagentGrinder.Advanced && extractable!.Advanced) + { + _popupSystem.PopupEntity(Loc.GetString("advanced-reagent-grinder-component-cannot-grind-entity-message"), uid, PopupType.MediumCaution); + continue; + } + // Frontier code for regent grinder tier 2 - End + var solution = active.Program switch { GrinderProgram.Grind => GetGrindSolution(item), diff --git a/Content.Shared/Kitchen/Components/ExtractableComponent.cs b/Content.Shared/Kitchen/Components/ExtractableComponent.cs index bff21662801..1f91633958d 100644 --- a/Content.Shared/Kitchen/Components/ExtractableComponent.cs +++ b/Content.Shared/Kitchen/Components/ExtractableComponent.cs @@ -1,4 +1,4 @@ -using Content.Shared.Chemistry.Components; +using Content.Shared.Chemistry.Components; using Robust.Shared.GameStates; namespace Content.Shared.Kitchen.Components; @@ -14,4 +14,10 @@ public sealed partial class ExtractableComponent : Component [DataField("grindableSolutionName")] public string? GrindableSolution; + + /// + /// Frontier - Tier 2 reagent grinder required + /// + [DataField("advanced")] + public bool Advanced; }; diff --git a/Resources/Locale/en-US/_NF/research/technologies.ftl b/Resources/Locale/en-US/_NF/research/technologies.ftl index 450e9a9d736..790fe6e24f9 100644 --- a/Resources/Locale/en-US/_NF/research/technologies.ftl +++ b/Resources/Locale/en-US/_NF/research/technologies.ftl @@ -6,4 +6,4 @@ research-technology-hardsuits-advanced = Advanced Hardsuits research-technology-hardsuits-experimental-industrial = Experimental Salvager Hardsuit research-technology-hardsuits-armored = Armored Hardsuits research-technology-hardsuits-armored-advanced = Advanced Armored Hardsuits -research-technology-hardsuits-experimental-rd = Experimental Research Hardsuit \ No newline at end of file +research-technology-hardsuits-experimental-rd = Experimental Research Hardsuit diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml index ad03fda0011..93c8c315246 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoarchaeology/item_artifacts.yml @@ -158,6 +158,7 @@ reagents: - ReagentId: RawArtifexium # Frontier Quantity: 1 # Frontier + advanced: true # Frontier - type: StaticPrice price: 0 - type: Stack diff --git a/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml b/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml index a9efdb10a2d..93b317e3605 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Devices/production.yml @@ -167,4 +167,4 @@ materialRequirements: Glass: 2 - type: StaticPrice - price: 12.5 + price: 12.5 \ No newline at end of file diff --git a/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/juicer0.png b/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/juicer0.png new file mode 100644 index 00000000000..70723dee888 Binary files /dev/null and b/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/juicer0.png differ diff --git a/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/juicer1.png b/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/juicer1.png new file mode 100644 index 00000000000..0edf996832f Binary files /dev/null and b/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/juicer1.png differ diff --git a/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/meta.json b/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/meta.json new file mode 100644 index 00000000000..d865bf97494 --- /dev/null +++ b/Resources/Textures/_NF/Structures/Machines/advancedjuicer.rsi/meta.json @@ -0,0 +1 @@ +{"license": "CC-BY-SA-3.0", "copyright": "https://github.com/tgstation/tgstation/commit/59f2a4e10e5ba36033c9734ddebfbbdc6157472d, edited by GhostPrince on Frontier Discord","version": 1, "size": {"x": 32, "y": 32}, "states": [{"name": "juicer0", "delays": [[1.0]]}, {"name": "juicer1", "delays": [[1.0]]}]}