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 attackTHD() { goto Label_0264; Label_0007: if (initConnection.heroJumping) { Module1.mainHero.setLaserAttacking(false); npcUpdatePosX = -1.0; npcUpdatePosY = -1.0; rocketCycle = 1; return; } NPCShip ship = mainFunctions.getNPCByID(npcAttackID); if (ship.getHP() <= 0) { if (Module1.accessingNPCs) { while (true) { if (!Module1.accessingNPCs) { Module1.accessingNPCs = true; string str = ""; string str4 = ""; string str2 = ""; string str3 = ""; getRewards(ship.getShipType(), ref str, ref str4, ref str2, ref str3); initConnection.destroyNPC(npcAttackID); mainFunctions.removeNPCByID(npcAttackID); Module1.displayNPCs.Remove(npcAttackID); NPCDead(Conversions.ToInteger(str), Conversions.ToInteger(str4), Conversions.ToInteger(str2), Conversions.ToInteger(str3)); mainFunctions.log("NPC dead..."); Module1.accessingNPCs = false; Module1.mainHero.setLaserAttacking(false); npcUpdatePosX = -1.0; npcUpdatePosY = -1.0; rocketCycle = 1; goto Label_0223; } } } Module1.accessingNPCs = true; string credits = ""; string uridium = ""; string ep = ""; string honor = ""; getRewards(ship.getShipType(), ref credits, ref uridium, ref ep, ref honor); initConnection.destroyNPC(npcAttackID); mainFunctions.removeNPCByID(npcAttackID); Module1.displayNPCs.Remove(npcAttackID); NPCDead(Conversions.ToInteger(credits), Conversions.ToInteger(uridium), Conversions.ToInteger(ep), Conversions.ToInteger(honor)); mainFunctions.log("NPC dead..."); Module1.accessingNPCs = false; Module1.mainHero.setLaserAttacking(false); npcUpdatePosX = -1.0; npcUpdatePosY = -1.0; rocketCycle = 1; return; } Label_0223: if (heroAttackNPC() || attackNPCRocket()) { goto Label_0007; } NPCAttackHero(); NPCMove1(ship.getSpeed()); Thread.Sleep(0x3e8); Label_0264: if (true) { goto Label_0007; } }
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(); } } }