using Server.Mobiles; using Server.Regions; namespace Server.Factions { public class StrongholdRegion : BaseRegion { public StrongholdRegion(Faction faction) : base(faction.Definition.FriendlyName, Faction.Facet, DefaultPriority, faction.Definition.Stronghold.Area) { Faction = faction; Register(); } public Faction Faction { get; set; } public override bool OnMoveInto(Mobile m, Direction d, Point3D newLocation, Point3D oldLocation) { if (!base.OnMoveInto(m, d, newLocation, oldLocation)) return false; if (m.AccessLevel >= AccessLevel.Counselor || Contains(oldLocation)) return true; if (m is PlayerMobile pm && pm.DuelContext != null) { pm.SendMessage("You may not enter this area while participating in a duel or a tournament."); return false; } return Faction.Find(m, true, true) != null; } public override bool AllowHousing(Mobile from, Point3D p) => false; } }