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); }
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); }
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)); } }
public override bool CheckAccessibility(Item item, Mobile from) { return(m_House.CheckAccessibility(item, from)); }