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 removeNPCByID(int userID) { IEnumerator enumerator; int index = -1; try { enumerator = npcShips.GetEnumerator(); while (enumerator.MoveNext()) { NPCShip current = (NPCShip)enumerator.Current; index++; if (current.getUserID() == userID) { npcShips.RemoveAt(index); return; } } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } }
public static NPCShip getNPCByID(int userID) { IEnumerator enumerator; try { enumerator = npcShips.GetEnumerator(); while (enumerator.MoveNext()) { NPCShip current = (NPCShip)enumerator.Current; if (current.getUserID() == userID) { return(current); } } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } return(null); }
public static void checkOutRange(double heroX, double heroY) { if (Module1.displayNPCs.Count != 0) { ArrayList list = new ArrayList(); int num7 = Module1.displayNPCs.Count - 1; for (int i = 0; i <= num7; i++) { NPCShip ship = mainFunctions.getNPCByID(Conversions.ToInteger(Module1.displayNPCs[i])); double num3 = ship.getPosX(); double num4 = ship.getPosY(); double num = heroX - num3; if ((num < -1500.0) | (num > 1500.0)) { list.Add(ship); } else { double num5 = heroY - num4; if ((num5 < -1500.0) | (num5 > 1500.0)) { list.Add(ship); } } } int num8 = list.Count - 1; for (int j = 0; j <= num8; j++) { initConnection.removeNPCClient((NPCShip)list[j]); Module1.displayNPCs.Remove(((NPCShip)list[j]).getUserID()); } } }
public static void createNPCs(int count, int type, int HP, int SHD, string username, int minDMG, int maxDMG, int speed) { int num2 = count; for (int i = 0; i <= num2; i++) { NPCShip ship = new NPCShip(rnd.Next(0xa98ac7, 0x5f5e0ff), type, HP, SHD, HP, SHD, username, (double)rnd.Next(10, 0x5207), (double)rnd.Next(10, 0x32c7), minDMG, maxDMG, speed); mainFunctions.addNPC(ship); } }
public static void NPCAttackHero() { NPCShip ship = mainFunctions.getNPCByID(npcAttackID); double num13 = ship.getPosX(); double num14 = ship.getPosY(); double num6 = Module1.mainHero.getPosX(); double num7 = Module1.mainHero.getPosY(); double num = num6 - num13; double num2 = num7 - num14; if ((!((num > 500.0) | (num < -500.0)) && !((num2 > 500.0) | (num2 < -500.0))) && !initConnection.heroEMP) { double num8; int num9; int num10; if (initConnection.heroInsta) { num10 = 0; num9 = 0; } else { num10 = ship.getMinDMG(); num9 = ship.getMaxDMG(); } if (Module1.mainHero.getShield() <= 0) { Module1.mainHero.setShield(0, Module1.mainHero.getMaxHP()); num8 = 1.0; } else { num8 = 0.1; } double num15 = 1.0 - num8; int dmgDone = rnd.Next(num10, num9); int num4 = (int)Math.Round((double)(dmgDone * num8)); int num5 = (int)Math.Round((double)(dmgDone * num15)); int attackedHP = Module1.mainHero.getHP() - num4; int attackedSHD = Module1.mainHero.getShield() - num5; initConnection.sendHeroAttack(npcAttackID, 0, 1, 0); initConnection.updateHeroAttackLasers(npcAttackID, attackedHP, attackedSHD, dmgDone); Module1.mainHero.setHP(attackedHP, Module1.mainHero.getMaxHP()); Module1.mainHero.setShield(attackedSHD, Module1.mainHero.getMaxShield()); } }
public static void checkNPCInRange(int heroX, int heroY) { ArrayList list = new ArrayList(); int num6 = mainFunctions.getNPCCount() - 1; for (int i = 0; i <= num6; i++) { NPCShip ship = mainFunctions.getNPC(i); double num3 = ship.getPosX(); double num4 = ship.getPosY(); double num = heroX - num3; if ((num > -1500.0) & (num < 1500.0)) { double num5 = heroY - num4; if ((num5 > -1500.0) & (num5 < 1500.0)) { list.Add(ship); } } } if (list.Count != 0) { IEnumerator enumerator; try { enumerator = list.GetEnumerator(); while (enumerator.MoveNext()) { NPCShip current = (NPCShip)enumerator.Current; if (!checkForDoubleNPC(current.getUserID())) { initConnection.createNPC(current.getUserID(), current.getPosX(), current.getPosY(), current.getShipType(), current.getUsername()); Module1.displayNPCs.Add(current.getUserID()); } } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } } }
public static void removeNPCClient(NPCShip npc1) { sendPacket("0|R|" + Conversions.ToString(npc1.getUserID())); mainFunctions.log("Deleted NPC: " + Conversions.ToString(npc1.getUserID())); }
public static void packetHandler(string packet) { string[] strArray = packet.Split(new char[] { '|' }); if (strArray[0] == "LOGIN") { setupClientWindow(); setupHero(Module1.mainDir + "hero.dll"); setupMoreClient(); } if (strArray[0] == "SEL") { mainFunctions.log("Selected ship: " + strArray[1]); DOShip expression = mainFunctions.getShipByID(Conversions.ToInteger(strArray[1])); if (Information.IsNothing(expression)) { NPCShip ship2 = mainFunctions.getNPCByID(Conversions.ToInteger(strArray[1])); sendPacket("0|N|" + Conversions.ToString(ship2.getUserID()) + "|" + Conversions.ToString(ship2.getShipType()) + "|" + Conversions.ToString(ship2.getHP()) + "|" + Conversions.ToString(ship2.getMaxHP()) + "|" + Conversions.ToString(ship2.getSHD()) + "|" + Conversions.ToString(ship2.getMaxSHD()) + "|0"); } else { sendPacket("0|N|" + Conversions.ToString(expression.getUserID()) + "|" + Conversions.ToString(expression.getShipType()) + "|" + Conversions.ToString(expression.getHP()) + "|" + Conversions.ToString(expression.getMaxHP()) + "|" + Conversions.ToString(expression.getSHD()) + "|" + Conversions.ToString(expression.getMaxSHD()) + "|" + Conversions.ToString(expression.getCloaked())); } } if (strArray[0] == "a") { mainFunctions.log("Attacking ship: " + strArray[1]); if (Information.IsNothing(mainFunctions.getShipByID(Conversions.ToInteger(strArray[1])))) { NPCShip ship4 = mainFunctions.getNPCByID(Conversions.ToInteger(strArray[1])); Attack_Module.attackingNPC(Conversions.ToInteger(strArray[1])); } Module1.mainHero.setLaserAttacking(true); } if (strArray[0] == "1") { Module1.mainHero.setPosX(Conversions.ToInteger(strArray[1])); Module1.mainHero.setPosY(Conversions.ToInteger(strArray[2])); } if (strArray[0] == "u") { Module1.mainHero.setAmmoType(Conversions.ToInteger(strArray[1])); mainFunctions.log("Hero's ammo is now: " + Conversions.ToString(Module1.mainHero.getAmmoType())); } if (strArray[0] == "G") { Module1.mainHero.setLaserAttacking(false); } if (strArray[0] == "S") { if (strArray[1] == "SMB") { if (sbombCooldown) { mainFunctions.log("wait... sbmb cooling..."); return; } sendPacket("0|n|SMB|" + Conversions.ToString(Module1.mainHero.getID())); Mine_Module.heroSbombd(Module1.mainHero.getPosX(), Module1.mainHero.getPosY()); mainFunctions.log("Hero set off Sbomb..."); } else if (strArray[1] == "ISH") { if (instaCooldown) { mainFunctions.log("Wait... Insta cooling..."); return; } sendPacket("0|n|ISH|" + Conversions.ToString(Module1.mainHero.getID())); if (heroInsta) { return; } new Thread(new ThreadStart(Mine_Module.heroInstad)).Start(); mainFunctions.log("Hero set off Insta Shield..."); } else if (strArray[1] == "EMP") { if (empCooldown) { mainFunctions.log("Wait... EMP cooling..."); return; } sendPacket("0|n|EMP|" + Conversions.ToString(Module1.mainHero.getID())); if (heroEMP) { return; } new Thread(new ThreadStart(Mine_Module.heroEMPd)).Start(); mainFunctions.log("Hero set off EMP..."); } } if (strArray[0] == "d") { Module1.mainHero.setRocketType(Conversions.ToInteger(strArray[1])); mainFunctions.log("Hero's rocket ammo is now: " + strArray[1]); } if (strArray[0] == "l") { } if (strArray[0] == "j") { Portal portal = Portal_Module.getCurPortal(Module1.mainHero.getPosX(), Module1.mainHero.getPosY()); if (!Information.IsNothing(portal)) { heroJumping = true; sendPacket("0|U|99|" + Conversions.ToString(portal.getID())); mainFunctions.log("Sent jumping thingy..."); Thread.Sleep(0xbb8); mainFunctions.log("Jump should be done now..."); Module1.mainHero.setMapID(Portal_Module.getNewMap(portal.getID())); Vector vector = Portal_Module.getHeroPos(portal.getID()); Module1.mainHero.setPosX((int)Math.Round(vector.x)); Module1.mainHero.setPosY((int)Math.Round(vector.y)); string text = "0|I|" + Conversions.ToString(Module1.mainHero.getID()) + "|" + Module1.mainHero.getUsername() + "|" + Conversions.ToString(Module1.mainHero.getShipID()) + "|" + Conversions.ToString(Module1.mainHero.getSpeed()) + "|" + Conversions.ToString(Module1.mainHero.getShield()) + "|" + Conversions.ToString(Module1.mainHero.getMaxShield()) + "|" + Conversions.ToString(Module1.mainHero.getHP()) + "|" + Conversions.ToString(Module1.mainHero.getMaxHP()) + "|" + Conversions.ToString(Module1.mainHero.getCargo()) + "|" + Conversions.ToString(Module1.mainHero.getMaxCargo()) + "|" + Conversions.ToString(Module1.mainHero.getPosX()) + "|" + Conversions.ToString(Module1.mainHero.getPosY()) + "|" + Conversions.ToString(Module1.mainHero.getMapID()) + "|" + Conversions.ToString(Module1.mainHero.getCompany()) + "|" + Conversions.ToString(Module1.mainHero.getClanID()) + "|" + Conversions.ToString(Module1.mainHero.getMaxLaserAmmo()) + "|" + Conversions.ToString(Module1.mainHero.getMaxRocketAmmo()) + "|" + Conversions.ToString(Module1.mainHero.getExpansionID()) + "|" + Conversions.ToString(Convert.ToInt32(Module1.mainHero.getPremium())) + "|" + Conversions.ToString(Module1.mainHero.getExperience()) + "|" + Conversions.ToString(Module1.mainHero.getHonor()) + "|" + Conversions.ToString(Module1.mainHero.getLevel()) + "|" + Conversions.ToString(Module1.mainHero.getCredits()) + "|" + Conversions.ToString(Module1.mainHero.getUridium()) + "|" + Conversions.ToString(Module1.mainHero.getJackpot()) + "|" + Conversions.ToString(Module1.mainHero.getAdmin()) + "|" + Module1.mainHero.getClan() + "|" + Conversions.ToString(Module1.mainHero.getGalaxyGatesDone()) + "|" + Conversions.ToString(Convert.ToInt32(Module1.mainHero.getCloaked())) + "|0"; MyProject.Computer.FileSystem.WriteAllText(@"C:\DO_Hacks\hero.dll", text, false); string str = Conversions.ToString(Module1.mainHero.getLaserAmmo1()) + "|" + Conversions.ToString(Module1.mainHero.getLaserAmmo2()) + "|" + Conversions.ToString(Module1.mainHero.getLaserAmmo3()) + "|" + Conversions.ToString(Module1.mainHero.getLaserAmmo4()) + "|" + Conversions.ToString(Module1.mainHero.getLaserAmmo5()) + "|" + Conversions.ToString(Module1.mainHero.getLaserAmmo6()); MyProject.Computer.FileSystem.WriteAllText(@"C:\DO_Hacks\hero_laserammo.dll", str, false); string str2 = Conversions.ToString(Module1.mainHero.getRocketAmmo1()) + "|" + Conversions.ToString(Module1.mainHero.getRocketAmmo2()) + "|" + Conversions.ToString(Module1.mainHero.getRocketAmmo3()) + "|" + Conversions.ToString(Module1.mainHero.getRocketAmmo4()) + "|" + Conversions.ToString(Module1.mainHero.getRocketAmmo5()) + "|0|0|" + Conversions.ToString(Module1.mainHero.getRocketAmmo6()) + "|" + Conversions.ToString(Module1.mainHero.getRocketAmmo7()) + "|" + Conversions.ToString(Module1.mainHero.getRocketAmmo8()) + "|" + Conversions.ToString(Module1.mainHero.getRocketAmmo9()) + "|0|0|0"; MyProject.Computer.FileSystem.WriteAllText(@"C:\DO_Hacks\hero_rocketammo.dll", str2, false); mainFunctions.log("Saved Hero..."); setupHero(Module1.mainDir + "hero.dll"); setupMoreClient(); heroJumping = false; } else { mainFunctions.log("not close enough to portal..."); } } }
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(); } } }
public static void addNPC(NPCShip npc1) { npcShips.Add(npc1); }
public static bool attackNPCRocket() { int num; if (rocketCycle == 0) { rocketCycle = 1; return(false); } int ammoType = Module1.mainHero.getRocketType(); NPCShip ship = mainFunctions.getNPCByID(npcAttackID); int num4 = ship.getHP(); int attackedSHD = ship.getSHD(); if (ammoType == Conversions.ToDouble("1")) { if (Module1.mainHero.getRocketAmmo1() <= 0) { mainFunctions.log("Not enough rockets to carry out attack..."); return(false); } num = rnd.Next(750, 0x3e8); } else if (ammoType == Conversions.ToDouble("2")) { if (Module1.mainHero.getRocketAmmo2() <= 0) { mainFunctions.log("Not enough rockets to carry out attack..."); return(false); } num = rnd.Next(0x640, 0x7d0); } else if (ammoType == Conversions.ToDouble("3")) { if (Module1.mainHero.getRocketAmmo3() <= 0) { mainFunctions.log("Not enough rockets to carry out attack..."); return(false); } num = rnd.Next(0xdac, 0xfa0); } else if (ammoType == Conversions.ToDouble("4")) { if (Module1.mainHero.getRocketAmmo4() <= 0) { mainFunctions.log("Not enough rockets to carry out attack..."); return(false); } num = rnd.Next(0x1518, 0x1770); } else { num = 0; } ammoHandler(ammoType, 1, true); if (num >= num4) { initConnection.sendPacket("0|v|" + Conversions.ToString(Module1.mainHero.getID()) + "|" + Conversions.ToString(npcAttackID) + "|H|" + Conversions.ToString(ammoType) + "|1|1"); initConnection.updateAttackRockets(npcAttackID, 0, attackedSHD, num); ship.setHP(0); return(true); } int attackedHP = num4 - num; initConnection.sendPacket("0|v|" + Conversions.ToString(Module1.mainHero.getID()) + "|" + Conversions.ToString(npcAttackID) + "|H|" + Conversions.ToString(ammoType) + "|1|1"); initConnection.updateAttackRockets(npcAttackID, attackedHP, attackedSHD, num); rocketCycle = 0; return(false); }
public static void createNPCs(int count, int type, int HP, int SHD, string username, int minDMG, int maxDMG, int speed) { int num2 = count; for (int i = 0; i <= num2; i++) { NPCShip ship = new NPCShip(rnd.Next(0xa98ac7, 0x5f5e0ff), type, HP, SHD, HP, SHD, username, (double) rnd.Next(10, 0x5207), (double) rnd.Next(10, 0x32c7), minDMG, maxDMG, speed); mainFunctions.addNPC(ship); } }
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 heroSbombd(double heroX, double heroY) { IEnumerator enumerator; try { enumerator = Module1.displayNPCs.GetEnumerator(); while (enumerator.MoveNext()) { int userID = Conversions.ToInteger(enumerator.Current); NPCShip ship = mainFunctions.getNPCByID(userID); double num13 = ship.getPosX(); double num14 = ship.getPosY(); double num11 = heroX - num13; double num12 = heroY - num14; num11 = Math.Abs(num11); num12 = Math.Abs(num12); if ((num11 < 1000.0) && (num12 < 1000.0)) { int num17 = ship.getMaxHP(); int num16 = ship.getHP(); int dmgDone = (int)Math.Round((double)(num17 * 0.2)); if (dmgDone > num16) { initConnection.updateAttackLasers(userID, 0, 0, dmgDone); ship.setHP(0); ship.setSHD(0); if (Module1.accessingNPCs) { while (true) { if (!Module1.accessingNPCs) { Module1.accessingNPCs = true; string str = ""; string str4 = ""; string str2 = ""; string str3 = ""; Attack_Module.getRewards(ship.getShipType(), ref str, ref str4, ref str2, ref str3); initConnection.destroyNPC(userID); mainFunctions.removeNPCByID(userID); Module1.displayNPCs.Remove(userID); Attack_Module.NPCDead(Conversions.ToInteger(str), Conversions.ToInteger(str4), Conversions.ToInteger(str2), Conversions.ToInteger(str3)); mainFunctions.log("NPC dead..."); Module1.accessingNPCs = false; continue; } } } Module1.accessingNPCs = true; string credits = ""; string uridium = ""; string ep = ""; string honor = ""; Attack_Module.getRewards(userID, ref credits, ref uridium, ref ep, ref honor); initConnection.destroyNPC(userID); mainFunctions.removeNPCByID(userID); Module1.displayNPCs.Remove(userID); Attack_Module.NPCDead(Conversions.ToInteger(credits), Conversions.ToInteger(uridium), Conversions.ToInteger(ep), Conversions.ToInteger(honor)); mainFunctions.log("NPC dead..."); Module1.accessingNPCs = false; } else { int attackedHP = num16 - dmgDone; initConnection.updateAttackLasers(userID, attackedHP, ship.getSHD(), dmgDone); ship.setHP(attackedHP); } } } } finally { if (enumerator is IDisposable) { (enumerator as IDisposable).Dispose(); } } int num2 = Module1.mainHero.getRocketAmmo1(); int num3 = Module1.mainHero.getRocketAmmo2(); int num4 = Module1.mainHero.getRocketAmmo3(); int num5 = Module1.mainHero.getRocketAmmo4(); int num6 = Module1.mainHero.getRocketAmmo5(); int num7 = Module1.mainHero.getRocketAmmo6(); int num8 = Module1.mainHero.getRocketAmmo7(); int num9 = Module1.mainHero.getRocketAmmo8(); int num10 = Module1.mainHero.getRocketAmmo9(); num8--; initConnection.sendPacket("0|3|" + Conversions.ToString(num2) + "|" + Conversions.ToString(num3) + "|" + Conversions.ToString(num4) + "|" + Conversions.ToString(num5) + "|" + Conversions.ToString(num6) + "|0|0|" + Conversions.ToString(num7) + "|" + Conversions.ToString(num8) + "|" + Conversions.ToString(num9) + "|" + Conversions.ToString(num10) + "|0|0|0"); Module1.mainHero.setRocketAmmo(num2, num3, num4, num5, num6, num7, num8, num9, num10); new Thread(new ThreadStart(Mine_Module.heroSbombCooldown)).Start(); }
public static bool heroAttackNPC() { NPCShip ship = mainFunctions.getNPCByID(npcAttackID); double num15 = ship.getPosX(); double num16 = ship.getPosY(); double num7 = Module1.mainHero.getPosX(); double num8 = Module1.mainHero.getPosY(); double num2 = num7 - num15; double num3 = num8 - num16; if (!((num2 > 800.0) | (num2 < -800.0))) { double num9; if ((num3 > 800.0) | (num3 < -800.0)) { return(false); } int num17 = Module1.mainHero.getAmmoType(); switch (num17) { case 1: if (Module1.mainHero.getLaserAmmo1() <= 0) { mainFunctions.log("Not enough ammo to carry out attack..."); return(false); } break; case 2: if (Module1.mainHero.getLaserAmmo2() <= 0) { mainFunctions.log("Not enough ammo to carry out attack..."); return(false); } break; case 3: if (Module1.mainHero.getLaserAmmo3() <= 0) { mainFunctions.log("Not enough ammo to carry out attack..."); return(false); } break; case 4: if (Module1.mainHero.getLaserAmmo4() <= 0) { mainFunctions.log("Not enough ammo to carry out attack..."); return(false); } break; case 5: if (Module1.mainHero.getLaserAmmo5() <= 0) { mainFunctions.log("Not enough ammo to carry out attack..."); return(false); } break; default: if ((num17 == 6) && (Module1.mainHero.getLaserAmmo1() <= 0)) { mainFunctions.log("Not enough ammo to carry out attack..."); return(false); } break; } int amount = Module1.mainHero.getLF3s(); int num = Module1.mainHero.getBO2s(); int maxValue = amount * 150; int minValue = amount * 0x7d; if (ship.getSHD() <= 0) { ship.setSHD(0); num9 = 1.0; } else { num9 = 0.4; } double num18 = 1.0 - num9; int dmgDone = rnd.Next(minValue, maxValue); if (Module1.mainHero.getAmmoType() == 2) { dmgDone *= 2; } else if (Module1.mainHero.getAmmoType() == 3) { dmgDone *= 3; } else if (Module1.mainHero.getAmmoType() == 4) { dmgDone *= 4; } int num5 = (int)Math.Round((double)(dmgDone * num9)); int num6 = (int)Math.Round((double)(dmgDone * num18)); int attackedHP = ship.getHP() - num5; int attackedSHD = ship.getSHD() - num6; if (dmgDone > (ship.getHP() + ship.getSHD())) { initConnection.sendAttack(npcAttackID, Module1.mainHero.getAmmoType() - 1, 0, 1); initConnection.updateAttackLasers(npcAttackID, 0, 0, dmgDone); ammoHandler(Module1.mainHero.getAmmoType(), amount, false); ship.setHP(0); ship.setSHD(0); return(true); } initConnection.sendAttack(npcAttackID, Module1.mainHero.getAmmoType() - 1, 0, 1); initConnection.updateAttackLasers(npcAttackID, attackedHP, attackedSHD, dmgDone); ammoHandler(Module1.mainHero.getAmmoType(), amount, false); ship.setHP(attackedHP); ship.setSHD(attackedSHD); } return(false); }
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; } }