public override bool ValidateUse( Mobile m, bool message ) { if ( !base.ValidateUse( m, message ) || !ValidPlayer( m ) ) return false; bool player = m.AccessLevel == AccessLevel.Player; if ( player && !Active ) return false; if ( !player && StaffOverride ) return true; PlayerMobile pm = (PlayerMobile)m; if ( RemoveGameRobe || GiveGameRobe ) RemoveRobe( pm ); //Remove the robe before we check nakedness //bool donator = pm.HasDonated; bool naked = !m.HasItemsNoBankBox(); if ( player && StaffOnly ) m.SendMessage("Players are not allowed to enter this gate."); else if ( m.HasTrade ) m.SendMessage("You cannot enter this gate with a trade pending." ); else if ( CannotFleeFromBattle && ( SpellHelper.CheckCombat( m ) || CheckCombat( m ) ) ) m.SendLocalizedMessage( 1005564, "", 0x22 ); // Wouldst thou flee during the heat of battle?? else if ( GetRestFlag( EGRFlags.No_Ghosts ) && !m.Alive ) m.SendMessage( "This moongate does not allow the dead to pass." ); else if ( GetRestFlag( EGRFlags.No_Living ) && m.Alive ) m.SendMessage( "This moongate does not allow the living to pass." ); else if ( GetRestFlag( EGRFlags.No_Mounted ) && m.Mounted ) m.SendMessage( "You must be unmounted to enter this gate.." ); else if ( GetRestFlag( EGRFlags.No_OnFoot ) && !m.Mounted ) m.SendMessage( "You must be mounted to enter this gate." ); else if ( m.Spell != null ) m.SendLocalizedMessage( 1049616 ); else if ( Server.Factions.Sigil.ExistsOn( m ) ) m.SendLocalizedMessage( 1061632 ); //else if ( ( GetRestFlag( EGRFlags.No_Donators ) && donator ) || ( GetRestFlag( EGRFlags.No_NonDonators ) && !donator ) ) // m.SendMessage( "This moongate does not allow your donation status to pass." ); else if ( ( No_Murderer && m.Kills > 5 ) || ( No_BlueKarma && m.Karma > m_KarmaThreshold ) || ( No_GrayKarma && m.Karma <= m_KarmaThreshold ) || ( No_Criminal && m.Criminal ) ) m.SendMessage( "This moongate does not allows your notoriety to pass." ); else if ( ( GetRestFlag( EGRFlags.No_Female ) && m.Female ) || ( GetRestFlag( EGRFlags.No_Male ) && !m.Female ) ) m.SendMessage( "This moongate does not allow your gender to pass." ); else if ( ( GetRestFlag( EGRFlags.No_Young ) && pm.Young ) || ( GetRestFlag( EGRFlags.No_Veteran ) && !(pm.Young || pm.Companion) ) ) m.SendMessage("This moongate does not allow your age status to pass."); else if ( InvalidNPCGuild( pm ) ) { //message in function } else if ( InvalidGuild( m ) ) { //message in function } else if ( InvalidFaction( m ) ) { //message in function } else if ( InvalidSkill( m ) ) { //message in function } else if ( MissingGMSkills( m ) ) m.SendMessage( "You must have a minimum of {0} GM skills to enter this gate.", m_GMsNeeded ); else if ( InvalidStats( m ) ) { //message in function } else if ( ( GetRestFlag( EGRFlags.No_Naked ) && naked ) || ( GetRestFlag( EGRFlags.No_Clothed ) && !naked ) ) m.SendMessage( "You must be {0} to enter this gate.", naked ? "clothed" : "naked" ); else return true; return false; }