From 4a2cbaf83fa5dcdc4de31548102e70a55e382c1c Mon Sep 17 00:00:00 2001 From: Yamato Date: Fri, 2 Aug 2024 01:53:05 +0200 Subject: [PATCH] WeirdFix --- EXILED/Exiled.CustomItems/Patches/PlayerInventorySee.cs | 3 ++- .../Patches/Events/Item/ChangingAttachments.cs | 3 ++- EXILED/Exiled.Events/Patches/Events/Map/Scp244Spawning.cs | 3 ++- EXILED/Exiled.Events/Patches/Events/Player/DroppingItem.cs | 3 ++- .../Patches/Events/Player/FirearmRequestReceived.cs | 3 ++- EXILED/Exiled.Events/Patches/Fixes/GrenadePropertiesFix.cs | 3 ++- EXILED/Exiled.Events/Patches/Generic/PickupControlPatch.cs | 7 ++++--- 7 files changed, 16 insertions(+), 9 deletions(-) diff --git a/EXILED/Exiled.CustomItems/Patches/PlayerInventorySee.cs b/EXILED/Exiled.CustomItems/Patches/PlayerInventorySee.cs index 8f35712fb..1620477ba 100644 --- a/EXILED/Exiled.CustomItems/Patches/PlayerInventorySee.cs +++ b/EXILED/Exiled.CustomItems/Patches/PlayerInventorySee.cs @@ -8,6 +8,7 @@ namespace Exiled.CustomItems.Patches { using System.Collections.Generic; + using System.Linq; using System.Reflection; using System.Reflection.Emit; @@ -52,7 +53,7 @@ private static IEnumerable Transpiler(IEnumerable !x.IsGenericMethod && x.Name is nameof(Item.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(ItemBase))), new(OpCodes.Dup), new(OpCodes.Stloc_S, item.LocalIndex), new(OpCodes.Brfalse_S, continueLabel), diff --git a/EXILED/Exiled.Events/Patches/Events/Item/ChangingAttachments.cs b/EXILED/Exiled.Events/Patches/Events/Item/ChangingAttachments.cs index 3e49274a0..0cd597092 100644 --- a/EXILED/Exiled.Events/Patches/Events/Item/ChangingAttachments.cs +++ b/EXILED/Exiled.Events/Patches/Events/Item/ChangingAttachments.cs @@ -8,6 +8,7 @@ namespace Exiled.Events.Patches.Events.Item { using System.Collections.Generic; + using System.Linq; using System.Reflection.Emit; using API.Features; @@ -69,7 +70,7 @@ private static IEnumerable Transpiler(IEnumerable !x.IsGenericMethod && x.Name is nameof(Item.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(InventorySystem.Items.ItemBase))), new(OpCodes.Castclass, typeof(Firearm)), // AttachmentsChangeRequest::AttachmentsCode diff --git a/EXILED/Exiled.Events/Patches/Events/Map/Scp244Spawning.cs b/EXILED/Exiled.Events/Patches/Events/Map/Scp244Spawning.cs index cc77eea7b..b440b1749 100644 --- a/EXILED/Exiled.Events/Patches/Events/Map/Scp244Spawning.cs +++ b/EXILED/Exiled.Events/Patches/Events/Map/Scp244Spawning.cs @@ -8,6 +8,7 @@ namespace Exiled.Events.Patches.Events.Map { using System.Collections.Generic; + using System.Linq; using System.Reflection.Emit; using Exiled.API.Features.Pickups; @@ -61,7 +62,7 @@ private static IEnumerable Transpiler(IEnumerable), "Item")), new(OpCodes.Ldloc_S, pickup.LocalIndex), - new(OpCodes.Call, Method(typeof(Pickup), nameof(Pickup.Get), new[] { typeof(ItemPickupBase) })), + new(OpCodes.Call, GetDeclaredMethods(typeof(Pickup)).First(x => !x.IsGenericMethod && x.Name is nameof(Pickup.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(ItemPickupBase))), new(OpCodes.Newobj, GetDeclaredConstructors(typeof(Scp244SpawningEventArgs))[0]), new(OpCodes.Dup), diff --git a/EXILED/Exiled.Events/Patches/Events/Player/DroppingItem.cs b/EXILED/Exiled.Events/Patches/Events/Player/DroppingItem.cs index 0e0311532..119f7d1df 100644 --- a/EXILED/Exiled.Events/Patches/Events/Player/DroppingItem.cs +++ b/EXILED/Exiled.Events/Patches/Events/Player/DroppingItem.cs @@ -8,6 +8,7 @@ namespace Exiled.Events.Patches.Events.Player { using System.Collections.Generic; + using System.Linq; using System.Reflection.Emit; using API.Features.Pools; @@ -119,7 +120,7 @@ private static IEnumerable Transpiler(IEnumerable !x.IsGenericMethod && x.Name is nameof(Item.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(InventorySystem.Items.ItemBase))), // ev.IsThrown new(OpCodes.Ldloc_S, ev.LocalIndex), diff --git a/EXILED/Exiled.Events/Patches/Events/Player/FirearmRequestReceived.cs b/EXILED/Exiled.Events/Patches/Events/Player/FirearmRequestReceived.cs index 6ebd931f4..ff0dceace 100644 --- a/EXILED/Exiled.Events/Patches/Events/Player/FirearmRequestReceived.cs +++ b/EXILED/Exiled.Events/Patches/Events/Player/FirearmRequestReceived.cs @@ -8,6 +8,7 @@ namespace Exiled.Events.Patches.Events.Player { using System.Collections.Generic; + using System.Linq; using System.Reflection; using System.Reflection.Emit; @@ -69,7 +70,7 @@ private static IEnumerable Transpiler(IEnumerable !x.IsGenericMethod && x.Name is nameof(API.Features.Items.Item.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(ItemBase))), new(OpCodes.Isinst, typeof(Firearm)), new(OpCodes.Dup), new(OpCodes.Stloc_S, firearm.LocalIndex), diff --git a/EXILED/Exiled.Events/Patches/Fixes/GrenadePropertiesFix.cs b/EXILED/Exiled.Events/Patches/Fixes/GrenadePropertiesFix.cs index 8c37c4f9a..e37fb8993 100644 --- a/EXILED/Exiled.Events/Patches/Fixes/GrenadePropertiesFix.cs +++ b/EXILED/Exiled.Events/Patches/Fixes/GrenadePropertiesFix.cs @@ -8,6 +8,7 @@ namespace Exiled.Events.Patches.Fixes { using System.Collections.Generic; + using System.Linq; using System.Reflection.Emit; using API.Features.Items; @@ -58,7 +59,7 @@ private static IEnumerable Transpiler(IEnumerable !x.IsGenericMethod && x.Name is nameof(Item.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(ItemBase))), new(OpCodes.Isinst, typeof(Throwable)), new(OpCodes.Dup), new(OpCodes.Stloc_S, throwable.LocalIndex), diff --git a/EXILED/Exiled.Events/Patches/Generic/PickupControlPatch.cs b/EXILED/Exiled.Events/Patches/Generic/PickupControlPatch.cs index c76a8f247..fc319c474 100644 --- a/EXILED/Exiled.Events/Patches/Generic/PickupControlPatch.cs +++ b/EXILED/Exiled.Events/Patches/Generic/PickupControlPatch.cs @@ -9,6 +9,7 @@ namespace Exiled.Events.Patches.Generic { using System; using System.Collections.Generic; + using System.Linq; using System.Reflection.Emit; using API.Features.Pickups; @@ -48,11 +49,11 @@ private static IEnumerable Transpiler( { // pickup = Pickup.Get(pickupBase); new(OpCodes.Ldloc_0), - new(OpCodes.Call, Method(typeof(Pickup), nameof(Pickup.Get), new[] { typeof(ItemPickupBase) })), + new(OpCodes.Call, GetDeclaredMethods(typeof(Pickup)).First(x => !x.IsGenericMethod && x.Name is nameof(Pickup.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(ItemPickupBase))), // Item.Get(itemBase); new(OpCodes.Ldarg_0), - new(OpCodes.Call, Method(typeof(Item), nameof(Item.Get), new[] { typeof(ItemBase) })), + new(OpCodes.Call, GetDeclaredMethods(typeof(Item)).First(x => !x.IsGenericMethod && x.Name is nameof(Item.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(ItemBase))), // pickup.ReadItemInfo(item); new(OpCodes.Callvirt, Method(typeof(Pickup), nameof(Pickup.ReadItemInfo))), @@ -79,7 +80,7 @@ private static IEnumerable Transpiler(IEnumerable !x.IsGenericMethod && x.Name is nameof(Pickup.Get) && x.GetParameters().Length is 1 && x.GetParameters()[0].ParameterType == typeof(ItemPickupBase))), new(OpCodes.Pop), });