public static void checkNPCMovement()
        {
            IEnumerator enumerator;
            IEnumerator enumerator2;
            ArrayList   list = new ArrayList();

            try
            {
                enumerator = Module1.displayNPCs.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    NPCShip current = (NPCShip)enumerator.Current;
                    if (current.getMoving())
                    {
                        if ((DateTime.Now.Millisecond - current.getTime().Millisecond) >= current.getMoveTime())
                        {
                            current.setMoving(false);
                            list.Add(current);
                        }
                    }
                    else
                    {
                        list.Add(current);
                    }
                }
            }
            finally
            {
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            try
            {
                enumerator2 = list.GetEnumerator();
                while (enumerator2.MoveNext())
                {
                    NPCShip ship2 = (NPCShip)enumerator2.Current;
                    int     num2  = (int)Math.Round((double)(ship2.getPosX() + rnd.Next(-100, 100)));
                    int     num3  = (int)Math.Round((double)(ship2.getPosY() + rnd.Next(-100, 100)));
                    int     num   = (int)Math.Round(Math.Sqrt(((num2 - Module1.mainHero.getPosX()) * (num2 - Module1.mainHero.getPosX())) + ((num3 - Module1.mainHero.getPosY()) * (num3 - Module1.mainHero.getPosY()))));
                    int     time  = (int)Math.Round((double)(((double)num) / (((double)ship2.getSpeed()) / 1000.0)));
                    sendNPCMove(ship2.getUserID(), (double)num2, (double)num3, time);
                    ship2.setPosX((double)num2);
                    ship2.setPosY((double)num3);
                    ship2.setMoving(true);
                    ship2.setTime(DateTime.Now);
                    ship2.setMoveTime(time);
                    NPCShip ship3 = mainFunctions.getNPCByID(ship2.getUserID());
                }
            }
            finally
            {
                if (enumerator2 is IDisposable)
                {
                    (enumerator2 as IDisposable).Dispose();
                }
            }
        }