public override bool CheckNonlocalDrop(Mobile from, Item item, Item target)
{
if (!base.CheckNonlocalDrop(from, item, target))
return false;
if (from.AccessLevel >= AccessLevel.GameMaster)
return true;
Container pack = this.Backpack;
if (from == this && this.HasTrade && (target == pack || target.IsChildOf(pack)))
{
BounceInfo bounce = item.GetBounce();
if (bounce != null && bounce.m_Parent is Item)
{
Item parent = (Item)bounce.m_Parent;
if (parent == pack || parent.IsChildOf(pack))
return true;
}
SendLocalizedMessage(1004041); // You can't do that while you have a trade pending.
return false;
}
return true;
}