Skip to content

Commit 7d62ef0

Browse files
committed
Moving Item.Get inside the eventargs instead of transpiller
1 parent 62fd4d4 commit 7d62ef0

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

EXILED/Exiled.Events/EventArgs/Item/ChangingAttachmentsEventArgs.cs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,13 @@ public class ChangingAttachmentsEventArgs : IPlayerEvent, IDeniableEvent, IFirea
3838
/// <param name="isAllowed">
3939
/// <inheritdoc cref="IsAllowed" />
4040
/// </param>
41-
public ChangingAttachmentsEventArgs(
42-
Player player,
43-
Firearm firearm,
44-
uint code,
45-
bool isAllowed = true)
41+
public ChangingAttachmentsEventArgs(Player player, InventorySystem.Items.Firearms.Firearm firearm, uint code, bool isAllowed = true)
4642
{
4743
Player = player;
48-
Firearm = firearm;
49-
CurrentAttachmentIdentifiers = firearm.AttachmentIdentifiers;
50-
NewAttachmentIdentifiers = firearm.FirearmType.GetAttachmentIdentifiers(code).ToList();
51-
CurrentCode = firearm.Base.GetCurrentAttachmentsCode();
44+
Firearm = Item.Get<Firearm>(firearm);
45+
CurrentAttachmentIdentifiers = Firearm.AttachmentIdentifiers;
46+
NewAttachmentIdentifiers = Firearm.FirearmType.GetAttachmentIdentifiers(code).ToList();
47+
CurrentCode = firearm.GetCurrentAttachmentsCode();
5248
NewCode = code;
5349
IsAllowed = isAllowed;
5450
}

EXILED/Exiled.Events/Patches/Events/Item/ChangingAttachments.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,8 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
6868
new(OpCodes.Callvirt, PropertyGetter(typeof(NetworkIdentity), nameof(NetworkIdentity.netId))),
6969
new(OpCodes.Call, Method(typeof(Player), nameof(Player.Get), new[] { typeof(uint) })),
7070

71-
// Item::Get(firearm)
71+
// firearm
7272
new(OpCodes.Ldloc_1),
73-
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(InventorySystem.Items.ItemBase))),
74-
new(OpCodes.Castclass, typeof(Firearm)),
7573

7674
// AttachmentsChangeRequest::AttachmentsCode
7775
new(OpCodes.Ldarg_1),
@@ -80,7 +78,7 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
8078
// true
8179
new(OpCodes.Ldc_I4_1),
8280

83-
// ChangingAttachmentsEventArgs ev = new ChangingAttachmentsEventArgs(__ARGS__)
81+
// ChangingAttachmentsEventArgs ev = new ChangingAttachmentsEventArgs(Player, Firearm, uint, bool)
8482
new(OpCodes.Newobj, GetDeclaredConstructors(typeof(ChangingAttachmentsEventArgs))[0]),
8583
new(OpCodes.Dup),
8684
new(OpCodes.Dup),

0 commit comments

Comments
 (0)