diff --git a/Libraries/SPTarkov.Server.Core/Utils/Reference/StaticReferences.cs b/Libraries/SPTarkov.Server.Core/Utils/Reference/StaticReferences.cs index 3de005e1..630aa349 100644 --- a/Libraries/SPTarkov.Server.Core/Utils/Reference/StaticReferences.cs +++ b/Libraries/SPTarkov.Server.Core/Utils/Reference/StaticReferences.cs @@ -12,5 +12,6 @@ public class StaticReferences public Dictionary Reference { get { return _reference; } + set { _reference = value; } } } diff --git a/Patches/Ceciler.JsonExtensionData/JsonExtensionDataPatch.cs b/Patches/Ceciler.JsonExtensionData/JsonExtensionDataPatch.cs index fc4337e6..936dac39 100644 --- a/Patches/Ceciler.JsonExtensionData/JsonExtensionDataPatch.cs +++ b/Patches/Ceciler.JsonExtensionData/JsonExtensionDataPatch.cs @@ -58,7 +58,22 @@ public class JsonExtensionDataPatch : IPatcher get.Body.Instructions.Add(Instruction.Create(OpCodes.Ldfld, field)); get.Body.Instructions.Add(Instruction.Create(OpCodes.Ret)); + // Add setter + var set = new MethodDefinition( + "set_ExtensionData", + MethodAttributes.Public | MethodAttributes.SpecialName | MethodAttributes.HideBySig, + assembly.MainModule.TypeSystem.Void + ); + + set.Parameters.Add(new ParameterDefinition("value", ParameterAttributes.None, _dictionaryStringObjectReference)); + set.Body.Instructions.Add(Instruction.Create(OpCodes.Ldarg_0)); + set.Body.Instructions.Add(Instruction.Create(OpCodes.Ldarg_1)); + set.Body.Instructions.Add(Instruction.Create(OpCodes.Stfld, field)); + set.Body.Instructions.Add(Instruction.Create(OpCodes.Ret)); + + propertyDefinition.SetMethod = set; propertyDefinition.GetMethod = get; + typeDefinition.Methods.Add(set); typeDefinition.Methods.Add(get); typeDefinition.Properties.Add(propertyDefinition);