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;
}
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);
}
public virtual bool OnMoveOver( Mobile m )
{
if( m_Map == null || m_Deleted )
return true;
return m.CheckShove(this);
}
We use essential cookies to make this site work, and optional cookies to enhance your experience.