Ejemplo n.º 1
0
        public override bool TryDropItem(Mobile from, Item dropped, bool sendFullMessage)
        {
            if (!CheckHold(from, dropped, true, true))
            {
                return(false);
            }

            BaseHouse house = BaseHouse.FindHouseAt(this);

            if (house != null && IsLockedDown)
            {
                if (!house.CheckAccessibility(this, from))
                {
                    PrivateOverheadMessage(MessageType.Regular, 0x21, 1061637, from.NetState); // You are not allowed to access this!
                    from.SendLocalizedMessage(501727);                                         // You cannot lock that down!
                    return(false);
                }
            }

            DropItem(dropped);

            if (house != null && !IsLockedDown)
            {
                OnItemDropped(from, dropped, house);
            }

            return(true);
        }
Ejemplo n.º 2
0
        public override bool OnDragDrop(Mobile m, Item dropped)
        {
            if (m.InRange(GetWorldLocation(), 2))
            {
                BaseHouse house = BaseHouse.FindHouseAt(this);

                if (dropped.GetType() != ScrollType)
                {
                    m.SendLocalizedMessage(BadDropMessage);
                }
                else if (house == null || !IsLockedDown)
                {
                    m.SendLocalizedMessage(1151765); // You must lock this book down in a house to add scrolls to it.
                }
                else if (!house.CheckAccessibility(this, m))
                {
                    m.SendLocalizedMessage(1155693); // This item is impermissible and can not be added to the book.
                }
                else if (Items.Count < Capacity)     // TODO: Message for overfilled?
                {
                    DropItem(dropped);

                    m.SendLocalizedMessage(DropMessage);

                    dropped.Movable = false;

                    m.CloseGump(typeof(SpecialScrollBookGump));

                    return(true);
                }
            }

            return(false);
        }
Ejemplo n.º 3
0
        public override bool CheckAccessibility(Item item, Mobile from)
        {
            if (m_Controller.IsHouseRegion)
            {
                BaseHouse house = BaseHouse.FindHouseAt(from);
                if (house == null)
                {
                    return(base.CheckAccessibility(item, from));
                }

                return(house.CheckAccessibility(item, from));
            }
            else
            {
                return(base.CheckAccessibility(item, from));
            }
        }
Ejemplo n.º 4
0
 public override bool CheckAccessibility(Item item, Mobile from)
 {
     return(m_House.CheckAccessibility(item, from));
 }