protected override void OnTarget(Mobile from, object targeted) { if (m_Key.Deleted || !m_Key.IsChildOf(from.Backpack)) { from.SendLocalizedMessage(501661); // That key is unreachable. return; } int number; if (targeted is ILockable) { ILockable t = (ILockable)targeted; bool locked = t.Locked; if (m_Key.UseOn(from, (ILockable)targeted)) { number = -1; //it should be the transfer chest since it was unlocked, but check anyways if (targeted is TransferChest) { TransferChest target = (TransferChest)targeted; if (!locked)//if it wasnt locked before the key was used, then send the contents { target.TransferContents(from); target.Delta(ItemDelta.Update);//closes the chest if its still open } } } else { number = 501668; // This key doesn't seem to unlock that. } } else { number = 501666; // You can't unlock that! } if (number != -1) { from.SendLocalizedMessage(number); } }