public static void DropReq6017( NetState state, PacketReader pvSrc )
{
pvSrc.ReadInt32(); // serial, ignored
int x = pvSrc.ReadInt16();
int y = pvSrc.ReadInt16();
int z = pvSrc.ReadSByte();
pvSrc.ReadByte(); // Grid Location?
Serial dest = pvSrc.ReadInt32();
Point3D loc = new Point3D( x, y, z );
Mobile from = state.Mobile;
if (dest.IsMobile) {
Mobile m = World.FindMobile(dest);
try {
if (m != null)
from.Drop(m, loc);
} catch (Exception e) {
log.Fatal(String.Format("Exception disarmed in drop {0} > {1}",
from, m), e);
}
} else if (dest.IsItem) {
Item i = World.FindItem(dest);
try {
if (i != null)
from.Drop(i, loc);
} catch (Exception e) {
log.Fatal(String.Format("Exception disarmed in drop {0} > {1}",
from, i), e);
}
} else {
from.Drop(loc);
}
}