It's in mobile.cs of the core - but I have seen claims that it's client side, and that modifying this won't matter. I personally have never tried.

Code:
 public virtual bool CheckShove( Mobile shoved )
        {
            if( (m_Map.Rules & MapRules.FreeMovement) == 0 )
            {
                if( !shoved.Alive || !Alive || shoved.IsDeadBondedPet || IsDeadBondedPet )
                    return true;
                else if( shoved.m_Hidden && shoved.m_AccessLevel > AccessLevel.Player )
                    return true;

                if( !m_Pushing )
                {
                    m_Pushing = true;

                    int number;

                    if( this.AccessLevel > AccessLevel.Player )
                    {
                        number = shoved.m_Hidden ? 1019041 : 1019040;
                    }
                    else
                    {
                        if( Stam == StamMax )
                        {
                            number = shoved.m_Hidden ? 1019043 : 1019042;
                            Stam -= 10;

                            RevealingAction();

                            if( shoved.m_Hidden )
                                shoved.RevealingAction();
                        }
                        else
                        {
                            return false;
                        }
                    }

                    SendLocalizedMessage(number);
                }
            }
            return true;
        }

If you aren't comfortable with modifying the core, you could could remove the base reference in PlayerMobile.cs

Code:
        public override bool OnMoveOver( Mobile m )
        {
            if( m is BaseCreature && !((BaseCreature)m).Controlled )
                return (!Alive || !m.Alive || IsDeadBondedPet || m.IsDeadBondedPet) || (Hidden && AccessLevel > AccessLevel.Player);

            return base.OnMoveOver(m);
        }

If you do this, you'll need to add the nullcheck contained within the Mobile.cs OnMoveOver.

Code:
        public virtual bool OnMoveOver( Mobile m )
        {
            if( m_Map == null || m_Deleted )
                return true;

            return m.CheckShove(this);
        }
 
Sorry man, I completely misread that - I thought you wanted to turn it off. I do more scanning than I should. All you need to do to turn it on is set the ruleset to fel.
 
Back