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 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 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(); }