public virtual void WalkRandom(int iChanceToNotMove, int iChanceToDir, int iSteps)
{
if (m_Mobile.Deleted || m_Mobile.DisallowAllMoves)
return;
for (int i = 0; i < iSteps; i++)
{
if (Utility.Random(8 * iChanceToNotMove) <= 8)
{
int iRndMove = Utility.Random(0, 8 + (9 * iChanceToDir));
switch (iRndMove)
{
case 0:
DoMove(Direction.Up);
break;
case 1:
DoMove(Direction.North);
break;
case 2:
DoMove(Direction.Left);
break;
case 3:
DoMove(Direction.West);
break;
case 5:
DoMove(Direction.Down);
break;
case 6:
DoMove(Direction.South);
break;
case 7:
DoMove(Direction.Right);
break;
case 8:
DoMove(Direction.East);
break;
default:
DoMove(m_Mobile.Direction);
break;
}
}
}
}