Skip to content

Commit 62fd4d4

Browse files
committed
DroppingItem light modifiication
1 parent 2f12399 commit 62fd4d4

File tree

2 files changed

+5
-8
lines changed

2 files changed

+5
-8
lines changed

EXILED/Exiled.Events/EventArgs/Player/DroppedItemEventArgs.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ namespace Exiled.Events.EventArgs.Player
1010
using API.Features;
1111
using Exiled.API.Features.Pickups;
1212
using Interfaces;
13+
using InventorySystem.Items.Pickups;
1314

1415
/// <summary>
1516
/// Contains all information after a player drops an item.
@@ -28,10 +29,10 @@ public class DroppedItemEventArgs : IPlayerEvent, IPickupEvent
2829
/// <param name="wasThrown">
2930
/// <inheritdoc cref="WasThrown" />
3031
/// </param>
31-
public DroppedItemEventArgs(Player player, Pickup pickup, bool wasThrown)
32+
public DroppedItemEventArgs(Player player, ItemPickupBase pickup, bool wasThrown)
3233
{
3334
Player = player;
34-
Pickup = pickup;
35+
Pickup = Pickup.Get(pickup);
3536
WasThrown = wasThrown;
3637
}
3738

EXILED/Exiled.Events/Patches/Events/Player/DroppingItem.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,15 @@
88
namespace Exiled.Events.Patches.Events.Player
99
{
1010
using System.Collections.Generic;
11-
using System.Linq;
1211
using System.Reflection.Emit;
1312

1413
using API.Features.Pools;
15-
using Exiled.API.Features.Pickups;
1614
using Exiled.Events.Attributes;
1715
using Exiled.Events.EventArgs.Player;
1816

1917
using HarmonyLib;
2018

2119
using InventorySystem;
22-
using InventorySystem.Items.Pickups;
2320

2421
using static HarmonyLib.AccessTools;
2522

@@ -118,15 +115,14 @@ private static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstructi
118115
new(OpCodes.Ldloc_S, ev.LocalIndex),
119116
new(OpCodes.Callvirt, PropertyGetter(typeof(DroppingItemEventArgs), nameof(DroppingItemEventArgs.Player))),
120117

121-
// Pickup::Get(ItemPickupBase)
118+
// ItemPickupBase
122119
new(OpCodes.Ldloc_1),
123-
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))),
124120

125121
// ev.IsThrown
126122
new(OpCodes.Ldloc_S, ev.LocalIndex),
127123
new(OpCodes.Callvirt, PropertyGetter(typeof(DroppingItemEventArgs), nameof(DroppingItemEventArgs.IsThrown))),
128124

129-
// Player::OnDroppedItem(new DroppedItemEventArgs(ev.Player, Player::Get(ItemPickupBase), ev.IsThrown))
125+
// Player::OnDroppedItem(new DroppedItemEventArgs(ev.Player, ItemPickupBase, ev.IsThrown))
130126
new(OpCodes.Newobj, GetDeclaredConstructors(typeof(DroppedItemEventArgs))[0]),
131127
new(OpCodes.Call, Method(typeof(Player), nameof(Player.OnDroppedItem))),
132128
});

0 commit comments

Comments
 (0)