Esempio n. 1
0
            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);
                }
            }