public static void TargetedItemUse(NetState ns, PacketReader pvSrc) { Serial srcItem = pvSrc.ReadInt32(); Serial target = pvSrc.ReadInt32(); if (srcItem.IsItem) { TargetedItemUseEventArgs e = new TargetedItemUseEventArgs(ns, World.FindItem(srcItem), World.FindEntity(target)); EventSink.InvokeTargetedItemUse(e); } }
private static void Targeted_Item(TargetedItemUseEventArgs e) { try { Item from = World.FindItem(e.Source.Serial); Mobile to = World.FindMobile(e.Target.Serial); Item toI = World.FindItem(e.Target.Serial); if (from != null) { if (to != null) { e.NetState.Mobile.TargetLocked = true; e.NetState.Mobile.Use(from); e.NetState.Mobile.Target.Invoke(e.NetState.Mobile, to); } else if (toI != null) { e.NetState.Mobile.TargetLocked = true; e.NetState.Mobile.Use(from); e.NetState.Mobile.Target.Invoke(e.NetState.Mobile, toI); } } } catch { } finally { e.NetState.Mobile.TargetLocked = false; } }