diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs index e672cb5005..653ed6bac2 100644 --- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs +++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs @@ -294,15 +294,16 @@ public sealed class SiliconLawSystem : SharedSiliconLawSystem protected override void OnUpdaterInsert(Entity ent, ref EntInsertedIntoContainerMessage args) { // TODO: Prediction dump this - if (!TryComp(args.Entity, out SiliconLawProviderComponent? provider)) + if (!TryComp(args.Entity, out var provider)) return; - var lawset = GetLawset(provider.Laws).Laws; + var lawset = provider.Lawset ?? GetLawset(provider.Laws); + var query = EntityManager.CompRegistryQueryEnumerator(ent.Comp.Components); while (query.MoveNext(out var update)) { - SetLaws(lawset, update, provider.LawUploadSound); + SetLaws(lawset.Laws, update, provider.LawUploadSound); } } }