using Server.Mobiles; using Server.Regions; namespace Server.Factions { public class StrongholdRegion : BaseRegion { private Faction m_Faction; public Faction Faction { get => m_Faction; set => m_Faction = value; } public StrongholdRegion( Faction faction ) : base( faction.Definition.FriendlyName, Faction.Facet, DefaultPriority, faction.Definition.Stronghold.Area ) { m_Faction = faction; Register(); } 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 ) { return false; } } }