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(); } } }
public static void NPCMove1(int speed) { NPCShip ship = mainFunctions.getNPCByID(npcAttackID); if (!(npcUpdatePosX == -1.0)) { ship.setPosX(npcUpdatePosX); ship.setPosY(npcUpdatePosY); } double num = ship.getPosX(); double num2 = ship.getPosY(); double num5 = Module1.mainHero.getPosX(); double num6 = Module1.mainHero.getPosY(); double num7 = num; double num8 = num2; bool flag = false; double num3 = num5 - num; if (num3 < 0.0) { if (num3 < -100.0) { flag = true; } else { flag = false; num3 = 0.0; } } else if (num3 > 100.0) { flag = true; } else { flag = false; num3 = 0.0; } double num4 = num6 - num2; if (num4 < 0.0) { if (num4 < -100.0) { flag = true; } else { flag = false; num4 = 0.0; } } else if (num4 > 100.0) { flag = true; } else { flag = false; num4 = 0.0; } if (flag) { double num9 = Math.Abs(num3); double num10 = Math.Abs(num4); if (num9 > num10) { if (num3 < 0.0) { num7 = num - speed; num8 = num2; initConnection.sendPacket("0|1|" + Conversions.ToString(npcAttackID) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } else { num7 = num + speed; num8 = num2; initConnection.sendPacket("0|1|" + Conversions.ToString(npcAttackID) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } } else if (num4 < 0.0) { num7 = num; num8 = num2 - speed; initConnection.sendPacket("0|1|" + Conversions.ToString(npcAttackID) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } else { num7 = num; num8 = num2 + speed; initConnection.sendPacket("0|1|" + Conversions.ToString(npcAttackID) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } } npcUpdatePosX = num7; npcUpdatePosY = num8; }
public static void NPCMove1() { IEnumerator enumerator; try { enumerator = Module1.displayNPCs.GetEnumerator(); while (enumerator.MoveNext()) { NPCShip ship = mainFunctions.getNPCByID(Conversions.ToInteger(enumerator.Current)); double num = ship.getPosX(); double num2 = ship.getPosY(); double num5 = Module1.mainHero.getPosX(); double num6 = Module1.mainHero.getPosY(); double num7 = num; double num8 = num2; bool flag = false; double num3 = num5 - num; if (num3 < 0.0) { if (num3 < -100.0) { flag = true; } else { flag = false; num3 = 0.0; } } else if (num3 > 100.0) { flag = true; } else { flag = false; num3 = 0.0; } double num4 = num6 - num2; if (num4 < 0.0) { if (num4 < -100.0) { flag = true; } else { flag = false; num4 = 0.0; } } else if (num4 > 100.0) { flag = true; } else { flag = false; num4 = 0.0; } if (flag) { double num10 = Math.Abs(num3); double num11 = Math.Abs(num4); if (num10 > num11) { if (num3 < 0.0) { num7 = num - ship.getSpeed(); num8 = num2; initConnection.sendPacket("0|1|" + Conversions.ToString(ship.getUserID()) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } else { num7 = num + ship.getSpeed(); num8 = num2; initConnection.sendPacket("0|1|" + Conversions.ToString(ship.getUserID()) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } } else if (num4 < 0.0) { num7 = num; num8 = num2 - ship.getSpeed(); initConnection.sendPacket("0|1|" + Conversions.ToString(ship.getUserID()) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } else { num7 = num; num8 = num2 + ship.getSpeed(); initConnection.sendPacket("0|1|" + Conversions.ToString(ship.getUserID()) + "|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|1000"); } } ship.setPosX(num7); ship.setPosY(num8); } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } }