private static bool CheckHouse(Mobile mob, Item item) { BaseHouse house = BaseHouse.FindHouseAt(item); if (house == null) { return(false); } if (!mob.InRange(item.Location, 3)) { return(false); } SecureAccessResult res = house.CheckSecureAccess(mob, item); switch (res) { case SecureAccessResult.Insecure: break; case SecureAccessResult.Accessible: return(true); case SecureAccessResult.Inaccessible: return(false); } if (house.IsLockedDown(item)) { return(house.IsCoOwner(mob) && (item is Container)); } return(true); }
public override bool OnDoubleClick(Mobile from, object o) { try { //check if there is a DRDT region below the houses, and if so use its rules RegionControl regstone = null; CustomRegion inHouse = null; if (from != null) { inHouse = CustomRegion.FindDRDTRegion(from); } if (inHouse != null) { regstone = inHouse.GetRegionControler(); } if (regstone != null) { return(inHouse.OnDoubleClick(from, o)); } } catch (NullReferenceException e) { LogHelper.LogException(e); Console.WriteLine("{0} Caught exception.", e); } catch (Exception ex) { LogHelper.LogException(ex); } if (o is Container) { Container c = (Container)o; SecureAccessResult res = m_House.CheckSecureAccess(from, c); switch (res) { case SecureAccessResult.Insecure: break; case SecureAccessResult.Accessible: return(true); case SecureAccessResult.Inaccessible: c.SendLocalizedMessageTo(from, 1010563); return(false); } } return(true); }
public override bool OnDoubleClick(Mobile m, object o) { if (o is BasePotion && !m_Controller.CanUsePotions) { m.SendMessage("You cannot drink potions here."); return(false); } if (m_Controller.RestrictedTypes != null) { Type t = o.GetType(); if (m_Controller.RestrictedTypes.Contains(t.Name)) { m.SendMessage("You cannot use that."); return(false); } } if (m_Controller.IsHouseRegion == true) { BaseHouse house = BaseHouse.FindHouseAt(m); if (house != null) { if (o is Container) { Container c = (Container)o; SecureAccessResult res = house.CheckSecureAccess(m, c); switch (res) { case SecureAccessResult.Insecure: break; case SecureAccessResult.Accessible: return(true); case SecureAccessResult.Inaccessible: c.SendLocalizedMessageTo(m, 1010563); return(false); } } } } return(base.OnDoubleClick(m, o)); }
public override bool OnDoubleClick(Mobile from, object o) { if (o is Container) { Container c = (Container)o; SecureAccessResult res = m_House.CheckSecureAccess(from, c); switch (res) { case SecureAccessResult.Insecure: break; case SecureAccessResult.Accessible: return(true); case SecureAccessResult.Inaccessible: c.SendLocalizedMessageTo(from, 1010563); return(false); } } return(base.OnDoubleClick(from, o)); }
public override bool OnDoubleClick(Mobile from, object o) { if (o is Container) { Container c = (Container)o; SecureAccessResult res = m_House.CheckSecureAccess(from, c); switch (res) { case SecureAccessResult.Insecure: break; case SecureAccessResult.Accessible: return(true); case SecureAccessResult.Inaccessible: c.SendAsciiMessageTo(from, "This container is secure."); return(false); } } return(true); }