From 43ee85a11087f3b4726ef91d412972b8181b8514 Mon Sep 17 00:00:00 2001 From: Slaviaaa2 <206885651+Slaviaaa2@users.noreply.github.com> Date: Thu, 25 Jun 2026 17:50:47 +0900 Subject: [PATCH] fix: add missing base-game SCP-914 processors --- .../Exiled.Events/Handlers/Internal/Round.cs | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/EXILED/Exiled.Events/Handlers/Internal/Round.cs b/EXILED/Exiled.Events/Handlers/Internal/Round.cs index 4ec235db18..2cd82920bd 100644 --- a/EXILED/Exiled.Events/Handlers/Internal/Round.cs +++ b/EXILED/Exiled.Events/Handlers/Internal/Round.cs @@ -23,7 +23,9 @@ namespace Exiled.Events.Handlers.Internal using Exiled.Events.EventArgs.Scp049; using Exiled.Loader; using Exiled.Loader.Features; + using global::Scp914.Processors; using InventorySystem; + using InventorySystem.Items; using InventorySystem.Items.Firearms.Attachments; using InventorySystem.Items.Firearms.Attachments.Components; using InventorySystem.Items.Usables; @@ -48,6 +50,7 @@ internal static class Round public static void OnWaitingForPlayers() { GenerateAttachments(); + AddMissingScp914Processors(); MultiAdminFeatures.CallEvent(MultiAdminFeatures.EventType.WAITING_FOR_PLAYERS); if (Events.Instance.Config.ShouldReloadConfigsAtRoundRestart) @@ -171,5 +174,30 @@ private static void GenerateAttachments() HashSetPool.Pool.Return(attachmentsSlots); } } + + private static void AddMissingScp914Processors() + { + foreach (KeyValuePair entry in InventoryItemLoader.AvailableItems) + { + ItemType itemType = entry.Key; + ItemBase item = entry.Value; + + if (item is null || item.TryGetComponent(out _)) + { + continue; + } + + ItemType[] outputs = new[] { itemType }; + + StandardItemProcessor processor = item.gameObject.AddComponent(); + + processor._roughOutputs = outputs; + processor._coarseOutputs = outputs; + processor._oneToOneOutputs = outputs; + processor._fineOutputs = outputs; + processor._veryFineOutputs = outputs; + processor._fireUpgradeTrigger = false; + } + } } }