Greasy Fork 还支持 简体中文。

Macro for oib.io

install the macro is so fun

  1. // ==UserScript==
  2. // @name Macro for oib.io
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description install the macro is so fun
  6. // @author You
  7. // @match http://oib.io/*
  8. // @grant none
  9. // ==/UserScript==
  10. //hotbars//
  11. //H ring//
  12. //Q gun//
  13. //C create oibs//
  14. //F heal oibs//
  15. //F4 make bots//
  16. //F6 change bots mode//
  17. //and more//
  18. // J = Toggle Bot Auto-Attack (Works best on warrior. VERY OP CAN KILL ALMOST EVERYTHING IN ONE HIT XD)
  19. (function() {
  20. // EVENTS
  21. window.addEventListener('keydown', KeyCheck, true);
  22. window.addEventListener('beforeunload', onbeforeunload);
  23. function onbeforeunload(e) {
  24. e.returnValue = "false";
  25. };
  26. window.addEventListener("keydown", CaptureKeyPress);
  27. window.addEventListener("keyup", CaptureKeyPress);
  28. window.addEventListener("mousemove", captureMousePos);
  29. window.addEventListener("click", Click);
  30. // VARIABLES
  31. var bc = new BroadcastChannel('sendtobot');
  32. var abcd = new BroadcastChannel('recievefrombot');
  33. var pp = new BroadcastChannel('ppToBot');
  34. var Internet_StressBot = 75;
  35. var AllOibs = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49];
  36. var OibsAndQueen = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49];
  37. var plsm = 0;
  38. var ghst = 0;
  39. var rush = 0;
  40. var sendoibs = 24;
  41. var ringsize = 3;
  42. var linesize = 10;
  43. var nickname = "";
  44. var color = "";
  45. var chatbottext = "";
  46. var chatbotname = "ChatBot";
  47. var chatbotcolor = 0;
  48. var chatbot = undefined;
  49. var chatbotactive = 0;
  50. var fbot = 0;
  51. var ring = 0;
  52. var line = 0;
  53. var respawn = 0;
  54. var feedbots = 0;
  55. var ringmode = 0;
  56. var ping = 0;
  57. var botplayers = new Array();
  58. var g1 = false;
  59. var g2 = false;
  60. var g3 = false;
  61. var g4 = false;
  62. var g5 = false;
  63. var g6 = false;
  64. var g7 = false;
  65. var g8 = false;
  66. var stopscript = 0;
  67. var spawndown = false;
  68. var isbot = 1;
  69. var seelevels = 0;
  70. var botattack = 0;
  71. var botclass = 2;
  72. var Internet_Stress = 17;
  73. var botlvl = 0;
  74. var NukeLevel = 0;
  75. var reset = 0;
  76. var beforeoibs = 0;
  77. var mousebot = 0;
  78. var FriendThem = 0;
  79. var smartMM = 0;
  80. var BotBotlvl = 0;
  81. var botline = 0;
  82. var avoid = 0;
  83. var botfeed = 0;
  84. var mmsplit = 0;
  85. var botrain = 0;
  86. var avoidsize = 425;
  87. var ringangle = 0;
  88. var friendbots = 1;
  89. var botring = 0;
  90. var spawnoibs = 0;
  91. var bots = new Array();
  92. var loop = undefined;
  93. var playerz = 0;
  94. var botmode = 0;
  95. var superslct = 0;
  96. var TrimOibSizes = 0;
  97. var ringrotatespeed = 0;
  98. var LastCommandSent = new Date().getTime();
  99. var LastCommandSentBot = new Date().getTime();
  100. var MousePos = {
  101. x: 0,
  102. y: 0
  103. };
  104. var feeder = setInterval(atck, 500);
  105. var fast = setInterval(tick, 17);
  106. DRAW.EASE_DELAY = 0.25;
  107. DRAW.GROUND_COLOR_DARKER = "#000022";
  108. DRAW.BORDER_MINIMAP_COLOR = "#261A49";
  109. DRAW.GAUGE_QUEEN_DISPLAY = 0.9999999999999999;
  110. DRAW.GAUGE_WIDTH = 64;
  111. // PP VARS
  112. var PPstage = 1;
  113. var mainoib = new Object();
  114. var otheroib = new Object();
  115. var otherid = 0;
  116. var ppmain = 0;
  117. var PPbot = 0;
  118. var PPchat = 0;
  119. var PPdebug = 0;
  120. var small = new Array();
  121. var isppbot = 0;
  122. var usedstage = 0;
  123. var PPotherstage = 0;
  124. var time = 0;
  125. var perlvl = 0;
  126. var runtime = 0;
  127. // DECODE STUFF
  128. var lapas = new Array();
  129. var split = undefined;
  130. var regroup = undefined;
  131. var feed = undefined;
  132. var OibSizePerLevel = undefined;
  133. var OibStartSize = undefined;
  134. var SendSkill1 = undefined;
  135. var WorldOibs = undefined;
  136. var players = undefined;
  137. var socket = undefined;
  138. var servers = undefined;
  139. var SetChatFunction = undefined;
  140. var MoveUnits = undefined;
  141. var SelectQueen = undefined;
  142. var SelectOibs = undefined;
  143. var RemoveSpawnButton = undefined;
  144. var RemoveGuage = undefined;
  145. var connect = undefined;
  146. var pingme = undefined;
  147. var friend = undefined;
  148. function ScanGame() {
  149. if (Object.entries(game).length == 34) {
  150. RemoveSpawnButton = new Function("game." + Object.entries(game)[11][0] + ".info.translate = [];");
  151. RemoveGuage = new Function("game." + Object.entries(game)[4][0] + ".x = undefined;");
  152. console.log("Vars set! Enjoy using kmccord1's Script! :)");
  153. } else {
  154. setTimeout(ScanGame, 250)
  155. }
  156. }
  157. function setvars() {
  158. split = new Function(lapas[1].name + "." + Object.entries(lapas[1])[28][0] + "()");
  159. regroup = new Function(lapas[1].name + "." + Object.entries(lapas[1])[29][0] + "()");
  160. feed = new Function(lapas[1].name + "." + Object.entries(lapas[1])[30][0] + "()");
  161. OibSizePerLevel = new Function("size", "if (size != undefined) { " + lapas[0].name + "." + Object.entries(lapas[0])[0][0] + " = size; } else { return " + lapas[0].name + "." + Object.entries(lapas[0])[0][0] + " }");
  162. OibStartSize = new Function("size", "if (size != undefined) { " + lapas[0].name + "." + Object.entries(lapas[0])[1][0] + " = size; } else { return " + lapas[0].name + "." + Object.entries(lapas[0])[1][0] + " }");
  163. SendSkill1 = new Function(lapas[1].name + "." + Object.entries(lapas[1])[43][0] + "()");
  164. WorldOibs = new Function("return " + lapas[9].name + "." + Object.entries(lapas[9])[2][0]);
  165. players = new Function("return " + lapas[3].name);
  166. socket = new Function("return " + lapas[1].name + "." + Object.entries(lapas[1])[0][0]);
  167. servers = new Function("return " + lapas[1].name + "." + Object.entries(lapas[1])[2][0]);
  168. SetChatFunction = new Function(lapas[1].name + "." + Object.entries(lapas[1])[27][0] + " = function(x, a) { chat(x); }");
  169. MoveUnits = new Function("data", lapas[1].name + "." + Object.entries(lapas[1])[31][0] + "(data)");
  170. SelectQueen = new Function("player.select." + Object.getOwnPropertyNames(player.select)[4] + "()");
  171. SelectOibs = new Function("player.select." + Object.getOwnPropertyNames(player.select)[3] + "()");
  172. connect = new Function(lapas[1].name + "." + Object.entries(lapas[1])[52][0] + "()");
  173. pingme = new Function(lapas[1].name + "." + Object.entries(lapas[1])[49][0] + "()");
  174. friend = new Function("data", lapas[1].name + "." + Object.entries(lapas[1])[40][0] + "(data)");
  175. ScanGame();
  176. }
  177. function scan() {
  178. lapas = [];
  179. var i = 0;
  180. var a = 0;
  181. for (i = 0; i < 40000; i++) {
  182. var testIt = "lapa" + i + "mauve";
  183. if (typeof(window[testIt]) != "undefined") {
  184. lapas.push(window[testIt]);
  185. lapas[a].name = testIt;
  186. a++;
  187. }
  188. }
  189. if (lapas.length != 13) {
  190. console.error("Scan for 13 lapamauves failed. Retrying...");
  191. setTimeout(scan, 500)
  192. } else {
  193. if (lapas.length == 13) {
  194. console.log("13 lapamauves found!");
  195. setvars();
  196. }
  197. }
  198. }
  199. scan();
  200. // KEYS
  201. function Click(event) {
  202. if (superslct == 1) {
  203. SuperSelect();
  204. }
  205. }
  206. function CaptureKeyPress(a) {
  207. if (game.chat.info.input.info.state == 0 && game.is_run == true) {
  208. if (a.keyCode == 49) {
  209. if (a.type == "keydown" && spawndown == false) {
  210. spawndown = true;
  211. SpawnOibs();
  212. }
  213. if (a.type == "keyup" && spawndown == true) {
  214. spawndown = false;
  215. }
  216. }
  217. if (a.keyCode == 19) {
  218. if (a.type == "keydown" && g1 == false) {
  219. g1 = true;
  220. MoveArmyToPoint();
  221. }
  222. if (a.type == "keyup" && g1 == true) {
  223. g1 = false;
  224. }
  225. }
  226. if (a.keyCode == 69) {
  227. if (a.type == "keydown" && g2 == false) {
  228. g2 = true;
  229. AttackNearby();
  230. }
  231. if (a.type == "keyup" && g2 == true) {
  232. g2 = false;
  233. }
  234. }
  235. if (a.keyCode == 192) {
  236. if (a.type == "keydown" && g3 == false) {
  237. g3 = true;
  238. AutoHeal();
  239. }
  240. if (a.type == "keyup" && g3 == true) {
  241. g3 = false;
  242. }
  243. }
  244. if (a.keyCode == 67 && isppbot == false) {
  245. if (a.type == "keydown" && g5 == false) {
  246. g5 = true;
  247. MakeNuke();
  248. }
  249. if (a.type == "keyup" && g5 == true) {
  250. g5 = false;
  251. }
  252. }
  253. if (a.keyCode == 80) {
  254. if (a.type == "keydown" && g6 == false) {
  255. g6 = true;
  256. MoveHeal();
  257. }
  258. if (a.type == "keyup" && g6 == true) {
  259. g6 = false;
  260. }
  261. }
  262. if (a.keyCode == 70) {
  263. if (a.type == "keydown" && g7 == false) {
  264. g7 = true;
  265. HealNuke();
  266. }
  267. if (a.type == "keyup" && g7 == true) {
  268. g7 = false;
  269. }
  270. }
  271. if (a.keyCode == 79) {
  272. if (a.type == "keydown" && g8 == false) {
  273. g8 = true;
  274. FeedOib();
  275. }
  276. if (a.type == "keyup" && g8 == true) {
  277. g8 = false;
  278. }
  279. }
  280. }
  281. }
  282. function KeyCheck(e) {
  283. if (game.chat.info.input.info.state == 0 && game.is_run == true) {
  284. if (e.keyCode == 54) {
  285. ghst += 1;
  286. if (ghst >= 2) {
  287. ghst = 0;
  288. }
  289. if (ghst == 1) {
  290. for (var i = 0; i < players().length; i++) {
  291. if (players()[i]) players()[i].vuln = 1;
  292. }
  293. }
  294. if (ghst == 0) {
  295. for (var k = 0; k < players().length; k++) {
  296. if (players()[k]) players()[k].vuln = 0;
  297. }
  298. }
  299. }
  300. if (e.keyCode == 36) {
  301. plsm += 1;
  302. if (plsm >= 2) {
  303. plsm = 0;
  304. }
  305. }
  306. if (e.keyCode == 67 && isppbot == 1) {
  307. PPchat += 1;
  308. if (PPchat >= 2) {
  309. PPchat = 0;
  310. }
  311. if (PPchat == 1) {
  312. player.army.v = " PP BOT NOW REPORTING STATS IN CHAT ";
  313. } else {
  314. player.army.v = " PP BOT IS SILENT ";
  315. }
  316. }
  317. if (e.keyCode == 117) {
  318. e.preventDefault();
  319. botmode += 1;
  320. if (botmode >= 5) {
  321. botmode = 0;
  322. }
  323. if (botmode == 0) {
  324. player.army.v = " BOT MODE: GOTO CURSOR ";
  325. }
  326. if (botmode == 1) {
  327. player.army.v = " BOT MODE: LINE UNDER CURSOR ";
  328. }
  329. if (botmode == 2) {
  330. player.army.v = " BOT MODE: STAND STILL ";
  331. }
  332. if (botmode == 3) {
  333. player.army.v = " BOT MODE: MOVE OIB WIDE + GO TO CURSOR ";
  334. }
  335. if (botmode == 4) {
  336. player.army.v = " BOT MODE: RING OF BOTS ";
  337. }
  338. }
  339. if (e.keyCode == 118) {
  340. e.preventDefault();
  341. spawnoibs += 1;
  342. if (spawnoibs >= 2) {
  343. spawnoibs = 0;
  344. }
  345. if (spawnoibs == 1) {
  346. player.army.v = " BOT RAIN: SPAWNING OIBS ";
  347. } else {
  348. player.army.v = " BOT RAIN: NO SPAWN OIBS ";
  349. }
  350. }
  351. if (e.keyCode == 35) {
  352. OibSizePerLevel(0.17857);
  353. OibStartSize(0.5);
  354. reset = 1;
  355. }
  356. if (e.keyCode == 33) {
  357. OibSizePerLevel(OibSizePerLevel() * 1.1);
  358. OibStartSize(OibStartSize() * 1.1);
  359. reset = 1;
  360. }
  361. if (e.keyCode == 34) {
  362. OibSizePerLevel(OibSizePerLevel() * 0.9);
  363. OibStartSize(OibStartSize() * 0.9);
  364. reset = 1;
  365. }
  366. if (e.keyCode == 45) {
  367. rush += 1;
  368. }
  369. if (e.keyCode == 46) {
  370. fbot += 1;
  371. if (fbot >= 2) {
  372. fbot = 0;
  373. }
  374. }
  375. if (e.keyCode == 72) {
  376. ring += 1;
  377. line = 0;
  378. if (ring >= 2) {
  379. ring = 0;
  380. }
  381. }
  382. if (e.keyCode == 220) {
  383. isbot += 1;
  384. if (isbot >= 2) {
  385. isbot = 0;
  386. }
  387. if (isbot == 1) {
  388. player.army.v = " BROADCASTING TO BOTS IS OFF ";
  389. } else {
  390. player.army.v = " BROADCASTING TO BOTS IS ON ";
  391. }
  392. }
  393. if (e.keyCode == 73) {
  394. chatbotconnect();
  395. isppbot += 1;
  396. if (isppbot >= 2) {
  397. isppbot = 0;
  398. }
  399. if (isppbot == 1) {
  400. player.army.v = " USING AS THE PP BOT ";
  401. } else {
  402. player.army.v = " USING AS A NON PP TAB ";
  403. }
  404. }
  405. if (e.keyCode == 189) {
  406. Internet_StressBot -= 1;
  407. player.army.v = Internet_StressBot
  408. if (Internet_StressBot < 17) {
  409. Internet_StressBot = 17;
  410. player.army.v = Internet_StressBot
  411. }
  412. }
  413. if (e.keyCode == 187) {
  414. Internet_StressBot += 1;
  415. player.army.v = Internet_StressBot
  416. }
  417. if (e.keyCode == 219) {
  418. if (ring == 1) {
  419. ringsize -= 0.1;
  420. }
  421. if (line == 1) {
  422. linesize -= 0.25;
  423. }
  424. if (avoid == 1 && line == 0 && ring == 0) {
  425. avoidsize -= 5
  426. player.army.v = " AvoidRadius: " + avoidsize + " ";
  427. }
  428. if (avoid == 0 && line == 0 && ring == 0) {
  429. sendoibs -= 1
  430. player.army.v = " Smart-MM oibs to middle: " + (sendoibs + 1) + " ";
  431. }
  432. }
  433. if (e.keyCode == 190) {
  434. botfeed += 1;
  435. if (botfeed >= 2) {
  436. botfeed = 0;
  437. }
  438. if (botfeed == 1) {
  439. player.army.v = " FEED BOTS ON ";
  440. } else {
  441. player.army.v = " FEED BOTS OFF ";
  442. }
  443. }
  444. if (e.keyCode == 48) {
  445. avoid += 1;
  446. if (avoid >= 2) {
  447. avoid = 0;
  448. }
  449. if (avoid == 1) {
  450. player.army.v = " AVOID MODE ON ";
  451. } else {
  452. player.army.v = " AVOID MODE OFF ";
  453. }
  454. }
  455. if (e.keyCode == 115) {
  456. botrain += 1;
  457. if (botrain >= 2) {
  458. botrain = 0;
  459. }
  460. if (botrain == 1) {
  461. player.army.v = " BOT RAIN ON ";
  462. loop = setInterval(makebots, 333);
  463. } else {
  464. player.army.v = " BOT RAIN OFF ";
  465. clearInterval(loop);
  466. for (var zz = 0; zz < bots.length; zz++)
  467. {
  468. bots[zz].close();
  469. }
  470. bots = new Array();
  471. botplayers = new Array();
  472. }
  473. }
  474. if (e.keyCode == 55) {
  475. mmsplit += 1;
  476. if (mmsplit >= 2) {
  477. mmsplit = 0;
  478. }
  479. if (mmsplit == 1) {
  480. player.army.v = " BOT OIB SPLIT ON ";
  481. } else {
  482. player.army.v = " BOT OIB SPLIT OFF ";
  483. }
  484. }
  485. if (e.keyCode == 221) {
  486. if (ring == 1) {
  487. ringsize += 0.1;
  488. }
  489. if (line == 1) {
  490. linesize += 0.25;
  491. }
  492. if (avoid == 1 && line == 0 && ring == 0) {
  493. avoidsize += 5
  494. player.army.v = " AvoidRadius: " + avoidsize + " ";
  495. }
  496. if (avoid == 0 && line == 0 && ring == 0) {
  497. sendoibs += 1
  498. player.army.v = " Smart-MM oibs to middle: " + (sendoibs + 1) + " ";
  499. }
  500. }
  501. if (e.keyCode == 109) {
  502. stopscript += 1;
  503. if (stopscript >= 3) {
  504. player.army.v = " THE SCRIPT HAS BEEN STOPPED. ";
  505. player.army.m = 50;
  506. DRAW.EASE_DELAY = 1;
  507. window.removeEventListener("keydown", CaptureKeyPress);
  508. window.removeEventListener("keyup", CaptureKeyPress);
  509. window.removeEventListener("mousemove", captureMousePos);
  510. window.removeEventListener("beforeunload", onbeforeunload);
  511. window.removeEventListener('keydown', KeyCheck, true);
  512. window.removeEventListener("click", Click);
  513. window.onbeforeunload = undefined;
  514. clearInterval(feeder);
  515. clearInterval(fast);
  516. bc.close();
  517. abcd.close();
  518. pp.close();
  519. g1 = false;
  520. g2 = false;
  521. g3 = false;
  522. g4 = false;
  523. g5 = false;
  524. g6 = false;
  525. g7 = false;
  526. g8 = false;
  527. spawndown = false;
  528. bc = undefined;
  529. abcd = undefined;
  530. pp = undefined;
  531. }
  532. }
  533. if (e.keyCode == 186) {
  534. if (ring == 1) {
  535. ringrotatespeed -= 0.0025;
  536. }
  537. }
  538. if (e.keyCode == 222) {
  539. if (ring == 1) {
  540. ringrotatespeed += 0.0025;
  541. }
  542. }
  543. if (e.keyCode == 90) {
  544. if (isbot == 0) {
  545. bc.postMessage("SendHealer");
  546. if (player.crown == 3) {
  547. SendSkill1();
  548. }
  549. }
  550. }
  551. if (e.keyCode == 88) {
  552. if (isbot == 0) {
  553. bc.postMessage("SendWitch");
  554. if (player.crown == 4) {
  555. SendSkill1();
  556. }
  557. }
  558. }
  559. if (e.keyCode == 76) {
  560. respawn += 1;
  561. if (respawn >= 2) {
  562. respawn = 0;
  563. }
  564. if (respawn == 1) {
  565. player.army.v = " AUTO RESPAWN IS ON ";
  566. } else {
  567. player.army.v = " AUTO RESPAWN IS OFF ";
  568. }
  569. }
  570. if (e.keyCode == 89) {
  571. superslct += 1;
  572. if (superslct >= 2) {
  573. superslct = 0;
  574. }
  575. if (superslct == 1) {
  576. player.army.v = " SELECT ANY OIB IS ON ";
  577. } else {
  578. player.army.v = " SELECT ANY OIB IS OFF ";
  579. }
  580. }
  581. if (e.keyCode == 56) {
  582. smartMM += 1;
  583. if (smartMM >= 2) {
  584. smartMM = 0;
  585. }
  586. if (smartMM == 1) {
  587. player.army.v = " SMART MM IS ON ";
  588. } else {
  589. player.army.v = " SMART MM IS OFF ";
  590. }
  591. }
  592. if (e.keyCode == 74) {
  593. botattack += 1;
  594. if (botattack >= 2) {
  595. botattack = 0;
  596. }
  597. if (botattack == 1) {
  598. player.army.v = " BOT ATTACK HAS BEEN TURNED ON ";
  599. }
  600. if (botattack == 0) {
  601. player.army.v = " BOT ATTACK HAS BEEN TURNED OFF ";
  602. }
  603. }
  604. if (e.keyCode == 113) {
  605. chatbotactive += 1;
  606. if (chatbotactive >= 2) {
  607. chatbotactive = 0;
  608. }
  609. if (chatbotactive == 1) {
  610. player.army.v = " CHAT BOT HAS BEEN TURNED ON ";
  611. chatbotconnect();
  612. }
  613. if (chatbotactive == 0) {
  614. player.army.v = " CHAT BOT HAS BEEN TURNED OFF ";
  615. clearInterval(window.timer1);
  616. clearInterval(window.timer2);
  617. chatbot.close();
  618. }
  619. }
  620. if (e.keyCode == 78) {
  621. seelevels += 1;
  622. if (seelevels >= 2) {
  623. seelevels = 0;
  624. }
  625. }
  626. if (e.keyCode == 75) {
  627. PPbot += 1;
  628. if (PPbot >= 2) {
  629. PPbot = 0;
  630. }
  631. if (PPbot == 1) {
  632. ppmain = 1;
  633. player.army.v = " PP BOT TURNED ON ";
  634. } else {
  635. ppmain = 0;
  636. player.army.v = " PP BOT TURNED OFF ";
  637. }
  638. }
  639. if (e.keyCode == 191) {
  640. pp.postMessage({
  641. stage: 0
  642. });
  643. PPbot = 0;
  644. PPstage = 1;
  645. PPotherstage = 0;
  646. player.army.v = " PP STAGES RESET ";
  647. }
  648. if (e.keyCode == 77) {
  649. FriendThem += 1;
  650. if (FriendThem >= 2) {
  651. FriendThem = 0;
  652. }
  653. if (FriendThem == 1) {
  654. player.army.v = " FRIEND BOTS TURNED ON ";
  655. } else {
  656. player.army.v = " FRIEND BOTS TURNED OFF ";
  657. }
  658. }
  659. if (e.keyCode == 57) {
  660. nickname = prompt("Name to chat with (Put nothing to reset name):");
  661. color = prompt("Color (black, pink, blue, purple, orange, aqua):");
  662. }
  663. if (e.keyCode == 85) {
  664. TrimOibSizes += 1;
  665. if (TrimOibSizes >= 2) {
  666. TrimOibSizes = 0;
  667. }
  668. if (TrimOibSizes == 1) {
  669. player.army.v = " OIB SIZE TRIMMING ON ";
  670. } else {
  671. player.army.v = " OIB SIZE TRIMMING OFF ";
  672. }
  673. }
  674. if (e.keyCode == 81) {
  675. if (isppbot == 0) {
  676. line += 1;
  677. ring = 0;
  678. if (line >= 2) {
  679. line = 0;
  680. }
  681. } else {
  682. PPdebug += 1;
  683. if (PPdebug >= 2) {
  684. PPdebug = 0;
  685. }
  686. if (PPdebug == 1) {
  687. player.army.v = " PP IS DEBUGGING ";
  688. }
  689. if (PPdebug == 0) {
  690. player.army.v = " PP IS NOT DEBUGGING ";
  691. }
  692. }
  693. }
  694. if (e.keyCode == 112) {
  695. e.preventDefault();
  696. ringmode += 1;
  697. if (ringmode >= 2) {
  698. ringmode = 0;
  699. }
  700. if (ringmode == 1) {
  701. player.army.v = " RING PER LEVEL IS ON ";
  702. }
  703. if (ringmode == 0) {
  704. player.army.v = " RING PER LEVEL IS OFF ";
  705. }
  706. }
  707. if (e.keyCode == 120) {
  708. e.preventDefault();
  709. feedbots += 1;
  710. if (feedbots >= 2) {
  711. feedbots = 0;
  712. }
  713. if (feedbots == 1) {
  714. player.army.v = " FEED BOTS OM ";
  715. }
  716. if (feedbots == 0) {
  717. player.army.v = " FEED BOTS OFF ";
  718. }
  719. }
  720. if (e.keyCode == 119) {
  721. e.preventDefault();
  722. botclass += 1;
  723. if (botclass >= 6) {
  724. botclass = 0;
  725. }
  726. if (botclass == 0) {
  727. player.army.v = " BOT RAIN: QUEEN ";
  728. }
  729. if (botclass == 1) {
  730. player.army.v = " BOT RAIN: NECRO ";
  731. }
  732. if (botclass == 2) {
  733. player.army.v = " BOT RAIN: WARRIOR ";
  734. }
  735. if (botclass == 3) {
  736. player.army.v = " BOT RAIN: ANGEL ";
  737. }
  738. if (botclass == 4) {
  739. player.army.v = " BOT RAIN: WITCH ";
  740. }
  741. if (botclass == 5) {
  742. player.army.v = " BOT RAIN: FLASH ";
  743. }
  744. }
  745. if (e.keyCode == 121) {
  746. e.preventDefault();
  747. friendbots += 1;
  748. if (friendbots >= 2) {
  749. friendbots = 0;
  750. }
  751. if (friendbots == 0) {
  752. player.army.v = " QUEEN IS NOT FRIENDED ";
  753. }
  754. if (friendbots == 1) {
  755. player.army.v = " QUEEN IS FRIENDED ";
  756. }
  757. }
  758. if (e.keyCode == 84) {
  759. mousebot += 1;
  760. if (mousebot >= 2) {
  761. mousebot = 0;
  762. }
  763. if (mousebot == 1) {
  764. player.army.v = " BOT MISSILE HAS BEEN TURNED ON ";
  765. }
  766. if (mousebot == 0) {
  767. player.army.v = " BOT MISSILE HAS BEEN TURNED OFF ";
  768. }
  769. }
  770. }
  771. }
  772. // FUNCTIONS
  773. window.chat = function(texts, name, clr) {
  774. var b = undefined;
  775. if (Object.entries(ui).length == 77) {
  776. b = Object.entries(ui)[49][1].info.choice;
  777. } else {
  778. b = Object.entries(ui)[48][1].info.choice;
  779. }
  780. var fakebot = new WebSocket("ws://" + servers()[b].i + ":" + servers()[b].p);
  781. fakebot.onopen = function() {
  782. if (name != undefined && color != undefined) {
  783. fakebot.send(JSON.stringify([name, clr, 0, 0, 0, 0, Object.entries(lapas[2])[21][1]]));
  784. } else {
  785. fakebot.send(JSON.stringify([nickname, color, 0, 0, 0, 0, Object.entries(lapas[2])[21][1]]));
  786. }
  787. fakebot.send(JSON.stringify([0, texts]));
  788. fakebot.close();
  789. };
  790. }
  791. SetChatFunction();
  792. function chatbotconnect() {
  793. var b = undefined;
  794. var ppl = new Array();
  795. var die = 0;
  796. if (Object.entries(ui).length == 77) {
  797. b = Object.entries(ui)[49][1].info.choice;
  798. } else {
  799. b = Object.entries(ui)[48][1].info.choice;
  800. }
  801. chatbot = new WebSocket("ws://" + servers()[b].i + ":" + servers()[b].p);
  802. chatbot.onmessage =
  803. function(b) {
  804. if (0 == 0)
  805. if ("string" == typeof b.data) switch (b = JSON.parse(b.data), b[0]) {
  806. case 0:
  807. chatbottext = b[2];
  808. if (chatbottext.charAt(0) == ".") {
  809. chatbottext = chatbottext.slice(1);
  810. if (chatbottext == "help") {
  811. chat("Commands: help, whomade, givemacro, countdown <startnum>,", chatbotname, chatbotcolor);
  812. chat("level <lvl>, nou, lapa, clearchat, online", chatbotname, chatbotcolor);
  813. }
  814. if (chatbottext == "whomade") {
  815. chat("ChatBot was made by kmccord1, Also known previously as [Rekt] :D", chatbotname, chatbotcolor);
  816. }
  817. if (chatbottext == "nou") {
  818. chat("no u", chatbotname, chatbotcolor);
  819. }
  820. if (chatbottext == "online") {
  821. chat("Players on this server:", chatbotname, chatbotcolor);
  822. for (var i = 0; i < players().length; i++) {
  823. if (players()[i].bot == false && players()[i].alive == true) {
  824. chat("Name: ( " + players()[i].nickname + " ) Score: ( " + players()[i].score + " )", chatbotname, chatbotcolor);
  825. }
  826. }
  827. }
  828. if (chatbottext == "clearchat") {
  829. chat(" ", " ", 0);
  830. chat(" ", " ", 0);
  831. chat(" ", " ", 0);
  832. chat(" ", " ", 0);
  833. chat(" ", " ", 0);
  834. chat(" ", " ", 0);
  835. chat(" ", " ", 0);
  836. chat(" ", " ", 0);
  837. chat(" ", " ", 0);
  838. }
  839. if (chatbottext == "lapa") {
  840. chat("hi i do updates... sometimes...", "LapaMauve", 3);
  841. }
  842. if (chatbottext == "secret") {
  843. chat("OOOH you found a secret command? :o", chatbotname, chatbotcolor);
  844. }
  845. if (chatbottext == "givemacro") {
  846. var say = Math.round(Math.random() * 5);
  847. if (say == 0) {
  848. chat("no", chatbotname, chatbotcolor);
  849. }
  850. if (say == 1) {
  851. chat("NO", chatbotname, chatbotcolor);
  852. }
  853. if (say == 2) {
  854. chat("no noob", chatbotname, chatbotcolor);
  855. }
  856. if (say == 3) {
  857. chat("hmmmmm NO", chatbotname, chatbotcolor);
  858. }
  859. if (say == 4) {
  860. chat("nope xd", chatbotname, chatbotcolor);
  861. }
  862. if (say == 5) {
  863. chat("n0 :(", chatbotname, chatbotcolor);
  864. }
  865. }
  866. if (chatbottext.slice(0, 9) == "countdown") {
  867. var numba = chatbottext.slice(10);
  868. numba++;
  869. numba--;
  870. clearInterval(window.timer1);
  871. window.timer1 = setInterval(ticktock, 1000);
  872. function ticktock() {
  873. if (numba > 0) {
  874. chat("" + numba, chatbotname, chatbotcolor);
  875. } else {
  876. chat("boom", chatbotname, chatbotcolor);
  877. clearInterval(window.timer1);
  878. }
  879. numba--;
  880. }
  881. }
  882. if (chatbottext.slice(0, 5) == "level") {
  883. var levelspawned = chatbottext.slice(6);
  884. var level = chatbottext.slice(6);
  885. levelspawned = Math.round((level / 4) + 0.499999999999999);
  886. level++;
  887. level--;
  888. if (level - level != 0) {
  889. chat("Thats not a number -.-", chatbotname, chatbotcolor);
  890. } else {
  891. chat("If you were level " + level + ", Youd spawn level " + levelspawned + " oibs.", chatbotname, chatbotcolor);
  892. }
  893. }
  894. }
  895. break;
  896. case 1:
  897. break;
  898. case 2:
  899. break;
  900. case 3:
  901. }
  902. else {
  903. var d = new Uint8Array(b.data);
  904. switch (d[0]) {
  905. case 0:
  906. break;
  907. case 1:
  908. break;
  909. case 2:
  910. break;
  911. case 3:
  912. break;
  913. case 4:
  914. break;
  915. case 5:
  916. break;
  917. case 6:
  918. break;
  919. case 7:
  920. break;
  921. case 8:
  922. break;
  923. case 20:
  924. break;
  925. case 21:
  926. break;
  927. case 22:
  928. break;
  929. case 23:
  930. break;
  931. case 24:
  932. break;
  933. case 25:
  934. break;
  935. case 26:
  936. break;
  937. case 27:
  938. break;
  939. case 28:
  940. }
  941. }
  942. };
  943. chatbot.onopen = function() {
  944. chatbot.send(JSON.stringify(["ChatBot", 0, 0, 0, 0, 0, Object.entries(lapas[2])[21][1]]));
  945. }
  946. chatbot.onclose = function() {
  947. if (chatbotactive == 1) {
  948. chatbotconnect();
  949. } else {
  950. chatbot = undefined;
  951. }
  952. }
  953. }
  954. function SpawnOibs() {
  955. socket().send(new Uint8Array([0]));
  956. if (spawndown == true) {
  957. setTimeout(() => {
  958. SpawnOibs();
  959. }, 17);
  960. }
  961. }
  962. function RunAway() {
  963. small = player.select.units;
  964. var j = 0;
  965. var k = 0;
  966. var MinDistance = 100;
  967. var Enemy_Queens = new Array();
  968. var Enemy_oibs = new Array();
  969. var My_Oibs = new Array();
  970. var My_Queen = new Object();
  971. var AimbotTarget = new Object();
  972. var GameOibs = WorldOibs();
  973. var Oibs = new Array();
  974. for (k = 0; k < GameOibs.length; k++) {
  975. if (GameOibs[k] != undefined) {
  976. if (GameOibs[k].id == player.id) {
  977. if (GameOibs[k].queen == true) {
  978. My_Queen = GameOibs[k];
  979. }
  980. }
  981. if (GameOibs[k].id != player.id) {
  982. if (players()[player.id].nickname != players()[GameOibs[k].id].nickname) {
  983. if (lapas[9].mode == 1) {
  984. if (players()[player.id].color == players()[GameOibs[k].id].color) {} else {
  985. Oibs.push(GameOibs[k]);
  986. }
  987. } else {
  988. Oibs.push(GameOibs[k]);
  989. }
  990. }
  991. }
  992. }
  993. }
  994. var Mpos = My_Queen;
  995. var dist = 0;
  996. for (j = 0; j < Oibs.length; j++) {
  997. if (j == 0) {
  998. AimbotTarget = Oibs[j];
  999. } else {
  1000. if (GetDistance((Oibs[j].x), (Oibs[j].y), Math.abs(Mpos.x), Math.abs(Mpos.y)) < GetDistance((AimbotTarget.x), (AimbotTarget.y), Math.abs(Mpos.x), Math.abs(Mpos.y))) {
  1001. AimbotTarget = Oibs[j];
  1002. }
  1003. }
  1004. }
  1005. var diffX = 0;
  1006. var diffY = 0;
  1007. var angle = 0;
  1008. var radius = 0;
  1009. var nPos = {
  1010. x: 0,
  1011. y: 0
  1012. };
  1013. radius = avoidsize;
  1014. MinDistance = Math.abs(radius);
  1015. if (MinDistance > GetDistance((AimbotTarget.x), (AimbotTarget.y), Math.abs(Mpos.x), Math.abs(Mpos.y))) {
  1016. radius = (radius * -1) - 5;
  1017. if (AimbotTarget != new Object()) {
  1018. diffX = My_Queen.x - AimbotTarget.x;
  1019. diffY = My_Queen.y - AimbotTarget.y;
  1020. angle = Math.atan2(diffY, diffX);
  1021. nPos.x = Math.round(AimbotTarget.x - radius * Math.cos(angle));
  1022. nPos.y = Math.round(AimbotTarget.y - radius * Math.sin(angle));
  1023. player.select.units = [];
  1024. player.select.units.push(My_Queen);
  1025. FCallMoveOib(nPos);
  1026. }
  1027. }
  1028. player.select.units = small;
  1029. }
  1030. function PPBot() {
  1031. if (PPdebug == 1) {
  1032. console.log(PPstage);
  1033. }
  1034. var k = 0;
  1035. var Enemy_Queens = new Array();
  1036. var Enemy_oibs = new Array();
  1037. var My_Oibs = new Array();
  1038. var My_Queen = new Object();
  1039. var My_Oibs2 = new Array();
  1040. var GameOibs = WorldOibs();
  1041. for (k = 0; k < GameOibs.length; k++) {
  1042. if (GameOibs[k] != undefined) {
  1043. if (GameOibs[k].id == player.id) {
  1044. if (GameOibs[k].queen == true) {
  1045. My_Queen = GameOibs[k];
  1046. } else {
  1047. My_Oibs.push(GameOibs[k]);
  1048. }
  1049. } else {
  1050. if (GameOibs[k].queen == true) {
  1051. Enemy_Queens.push(GameOibs[k]);
  1052. } else {
  1053. Enemy_oibs.push(GameOibs[k]);
  1054. }
  1055. }
  1056. }
  1057. }
  1058. if (My_Queen.x != 1 || My_Queen.y != 4999) {
  1059. small = player.select.units;
  1060. player.select.units = [];
  1061. player.select.units.push(My_Queen);
  1062. FCallMovePos(1, 4999);
  1063. player.select.units = [];
  1064. player.select.units = small;
  1065. }
  1066. if (PPstage == 1) {
  1067. if (runtime == 0) {
  1068. time = new Date().getTime();
  1069. runtime++;
  1070. }
  1071. small = player.select.units;
  1072. for (k = 0; k < My_Oibs.length; k++) {
  1073. if (My_Oibs[k].level < mainoib.level - 3) {
  1074. player.select.units = [];
  1075. player.select.units.push(My_Oibs[k]);
  1076. feed();
  1077. player.select.units = [];
  1078. }
  1079. }
  1080. player.select.units = small;
  1081. usedstage = 0;
  1082. player.select.units = [];
  1083. if (player.army.v > 1) {
  1084. for (k = 0; k < My_Oibs.length; k++) {
  1085. if (k == 0) {
  1086. mainoib = My_Oibs[k];
  1087. } else {
  1088. if (My_Oibs[k].level > mainoib.level) {
  1089. mainoib = My_Oibs[k];
  1090. }
  1091. }
  1092. }
  1093. PPstage++;
  1094. }
  1095. }
  1096. if (PPstage == 2) {
  1097. runtime = 0;
  1098. player.select.units = [];
  1099. if (mainoib.life < mainoib.level * (botlvl * 0.95)) {
  1100. socket().send(new Uint8Array([0]));
  1101. for (k = 0; k < My_Oibs.length; k++) {
  1102. if (My_Oibs[k].level <= mainoib.level - 3) {
  1103. player.select.units = [];
  1104. player.select.units.push(mainoib);
  1105. player.select.units.push(My_Oibs[k]);
  1106. regroup();
  1107. }
  1108. }
  1109. } else {
  1110. PPstage++;
  1111. }
  1112. }
  1113. if (PPstage == 3) {
  1114. player.select.units = [];
  1115. for (k = 0; k < My_Oibs.length; k++) {
  1116. if (My_Oibs[k].level <= mainoib.level - 2) {
  1117. player.select.units = [];
  1118. player.select.units.push(mainoib);
  1119. player.select.units.push(My_Oibs[k]);
  1120. regroup();
  1121. }
  1122. }
  1123. var kk = 0;
  1124. for (k = 0; k < players().length; k++) {
  1125. if (players()[k].nickname == "kmccord2" && players()[k].crown == 1) {
  1126. otherid = k;
  1127. k = 99;
  1128. for (kk = 0; kk < GameOibs.length; kk++) {
  1129. if (GameOibs[kk] != undefined) {
  1130. if (GameOibs[kk].id == otherid && GameOibs[kk].queen == false) {
  1131. My_Oibs2.push(GameOibs[kk]);
  1132. }
  1133. }
  1134. }
  1135. for (kk = 0; kk < My_Oibs2.length; kk++) {
  1136. if (kk == 0) {
  1137. otheroib = My_Oibs2[kk];
  1138. } else {
  1139. if (My_Oibs2[kk].level > otheroib.level) {
  1140. otheroib = My_Oibs2[kk];
  1141. }
  1142. }
  1143. }
  1144. if (player.army.v < 3) {
  1145. if (mainoib.x != 251 || mainoib.y != 4749) {
  1146. player.select.units = [];
  1147. player.select.units.push(mainoib);
  1148. FCallMovePos(251, 4749);
  1149. } else {
  1150. player.select.units.push(mainoib);
  1151. split();
  1152. FCallMoveOib(otheroib);
  1153. PPstage++;
  1154. }
  1155. }
  1156. }
  1157. }
  1158. }
  1159. if (PPstage == 4) {
  1160. small = player.select.units;
  1161. for (k = 0; k < My_Oibs.length; k++) {
  1162. if (My_Oibs[k].level < mainoib.level - 3) {
  1163. player.select.units = [];
  1164. player.select.units.push(My_Oibs[k]);
  1165. feed();
  1166. player.select.units = [];
  1167. }
  1168. }
  1169. player.select.units = small;
  1170. if (mainoib.x == otheroib.x && mainoib.y == otheroib.y) {
  1171. player.select.units = [];
  1172. player.select.units.push(mainoib);
  1173. split();
  1174. pp.postMessage({
  1175. stage: 1
  1176. });
  1177. PPstage++;
  1178. } else {
  1179. player.select.units = [];
  1180. player.select.units.push(mainoib);
  1181. FCallMoveOib(otheroib);
  1182. }
  1183. }
  1184. if (PPstage == 5) {
  1185. for (k = 0; k < My_Oibs.length; k++) {
  1186. if (k == 0) {
  1187. mainoib = My_Oibs[k];
  1188. } else {
  1189. if (My_Oibs[k].level > mainoib.level) {
  1190. mainoib = My_Oibs[k];
  1191. }
  1192. }
  1193. }
  1194. if (mainoib.life < mainoib.level * (botlvl * 0.95)) {
  1195. socket().send(new Uint8Array([0]));
  1196. for (k = 0; k < My_Oibs.length; k++) {
  1197. if (My_Oibs[k].level <= mainoib.level - 3) {
  1198. player.select.units = [];
  1199. player.select.units.push(mainoib);
  1200. player.select.units.push(My_Oibs[k]);
  1201. regroup();
  1202. }
  1203. }
  1204. } else {
  1205. player.select.units = [];
  1206. small = player.select.units;
  1207. for (k = 0; k < My_Oibs.length; k++) {
  1208. if (My_Oibs[k].level < mainoib.level - 3) {
  1209. player.select.units = [];
  1210. player.select.units.push(My_Oibs[k]);
  1211. feed();
  1212. player.select.units = [];
  1213. }
  1214. }
  1215. player.select.units = small;
  1216. }
  1217. if (player.army.v == 2) {
  1218. if (mainoib.x != 251 || mainoib.y != 4749) {
  1219. player.select.units = [];
  1220. player.select.units.push(mainoib);
  1221. FCallMovePos(251, 4749);
  1222. } else {
  1223. player.select.units = [];
  1224. PPstage++;
  1225. }
  1226. }
  1227. }
  1228. if (PPstage == 6) {
  1229. for (k = 0; k < My_Oibs.length; k++) {
  1230. if (k == 0) {
  1231. mainoib = My_Oibs[k];
  1232. } else {
  1233. if (My_Oibs[k].level > mainoib.level) {
  1234. mainoib = My_Oibs[k];
  1235. }
  1236. }
  1237. }
  1238. for (k = 0; k < My_Oibs.length; k++) {
  1239. if (My_Oibs[k].level <= mainoib.level - 3) {
  1240. player.select.units.push(My_Oibs[k]);
  1241. }
  1242. }
  1243. regroup();
  1244. player.select.units = [];
  1245. if (player.army.v == 3) {
  1246. PPstage++;
  1247. }
  1248. }
  1249. if (PPstage == 7) {
  1250. if (usedstage == 0) {
  1251. usedstage++;
  1252. pp.postMessage({
  1253. stage: 7
  1254. });
  1255. }
  1256. var aaa = new Object();
  1257. for (k = 0; k < My_Oibs.length; k++) {
  1258. if (k == 0) {
  1259. mainoib = My_Oibs[k];
  1260. } else {
  1261. if (My_Oibs[k].level > mainoib.level) {
  1262. mainoib = My_Oibs[k];
  1263. }
  1264. }
  1265. }
  1266. for (k = 0; k < My_Oibs.length; k++) {
  1267. if (My_Oibs[k].level == mainoib.level - 2) {
  1268. player.select.units = [];
  1269. player.select.units.push(My_Oibs[k]);
  1270. FCallMovePos(mainoib.x, mainoib.y - 230);
  1271. aaa = My_Oibs[k];
  1272. }
  1273. if (mainoib.life < mainoib.level * (botlvl * 0.95)) {
  1274. socket().send(new Uint8Array([0]));
  1275. if (My_Oibs[k].level <= mainoib.level - 3) {
  1276. player.select.units = [];
  1277. player.select.units.push(mainoib);
  1278. player.select.units.push(My_Oibs[k]);
  1279. regroup();
  1280. }
  1281. }
  1282. }
  1283. if (aaa.x == mainoib.x && aaa.y == mainoib.y - 230) {
  1284. if (mainoib.life >= mainoib.level * (botlvl * 0.95)) {
  1285. for (k = 0; k < My_Oibs.length; k++) {
  1286. if (My_Oibs[k].level <= mainoib.level - 3) {
  1287. player.select.units = [];
  1288. player.select.units.push(mainoib);
  1289. player.select.units.push(My_Oibs[k]);
  1290. regroup();
  1291. }
  1292. }
  1293. player.select.units = [];
  1294. usedstage = 0;
  1295. PPstage++;
  1296. }
  1297. }
  1298. }
  1299. if (PPstage == 8) {
  1300. small = player.select.units;
  1301. for (k = 0; k < My_Oibs.length; k++) {
  1302. if (My_Oibs[k].level < mainoib.level - 4) {
  1303. player.select.units = [];
  1304. player.select.units.push(My_Oibs[k]);
  1305. feed();
  1306. player.select.units = [];
  1307. }
  1308. }
  1309. player.select.units = small;
  1310. var x = 0
  1311. for (k = 0; k < My_Oibs.length; k++) {
  1312. if (My_Oibs[k].level == mainoib.level - 1) {
  1313. aaa = My_Oibs[k];
  1314. }
  1315. }
  1316. if (player.army.v >= 5) {
  1317. for (k = 0; k < My_Oibs.length; k++) {
  1318. if (My_Oibs[k].level == mainoib.level - 4) {
  1319. player.select.units.push(My_Oibs[k]);
  1320. x++;
  1321. if (x >= 1) {
  1322. player.select.units.push(mainoib);
  1323. regroup();
  1324. player.select.units = [];
  1325. }
  1326. }
  1327. }
  1328. if (x >= 2) {
  1329. PPstage++;
  1330. }
  1331. }
  1332. }
  1333. if (PPstage == 9) {
  1334. small = player.select.units;
  1335. for (k = 0; k < My_Oibs.length; k++) {
  1336. if (My_Oibs[k].level < mainoib.level - 4) {
  1337. player.select.units = [];
  1338. player.select.units.push(My_Oibs[k]);
  1339. feed();
  1340. player.select.units = [];
  1341. }
  1342. }
  1343. player.select.units = small;
  1344. usedstage = 0;
  1345. for (k = 0; k < My_Oibs.length; k++) {
  1346. if (k == 0) {
  1347. mainoib = My_Oibs[k];
  1348. } else {
  1349. if (My_Oibs[k].level > mainoib.level) {
  1350. mainoib = My_Oibs[k];
  1351. }
  1352. }
  1353. }
  1354. for (k = 0; k < My_Oibs.length; k++) {
  1355. if (My_Oibs[k].level == mainoib.level - 1) {
  1356. aaa = My_Oibs[k];
  1357. }
  1358. }
  1359. for (kk = 0; kk < GameOibs.length; kk++) {
  1360. if (GameOibs[kk] != undefined) {
  1361. if (GameOibs[kk].id == otherid && GameOibs[kk].queen == false) {
  1362. My_Oibs2.push(GameOibs[kk]);
  1363. }
  1364. }
  1365. }
  1366. for (kk = 0; kk < My_Oibs2.length; kk++) {
  1367. if (kk == 0) {
  1368. otheroib = My_Oibs2[kk];
  1369. } else {
  1370. if (My_Oibs2[kk].level > otheroib.level) {
  1371. otheroib = My_Oibs2[kk];
  1372. }
  1373. }
  1374. }
  1375. if (aaa.x == otheroib.x && aaa.y == otheroib.y) {
  1376. player.select.units = [];
  1377. player.select.units.push(aaa);
  1378. split();
  1379. pp.postMessage({
  1380. stage: 11
  1381. });
  1382. var oib1 = new Object();
  1383. var oib2 = new Object();
  1384. PPstage++;
  1385. } else {
  1386. player.select.units = [];
  1387. player.select.units.push(aaa);
  1388. FCallMoveOib(otheroib);
  1389. }
  1390. }
  1391. if (PPstage == 10) {
  1392. small = player.select.units;
  1393. for (k = 0; k < My_Oibs.length; k++) {
  1394. if (My_Oibs[k].level < mainoib.level - 3) {
  1395. player.select.units = [];
  1396. player.select.units.push(My_Oibs[k]);
  1397. feed();
  1398. player.select.units = [];
  1399. }
  1400. }
  1401. player.select.units = small;
  1402. if (player.army.v == 4) {
  1403. for (kk = 0; kk < GameOibs.length; kk++) {
  1404. if (GameOibs[kk] != undefined) {
  1405. if (GameOibs[kk].id == otherid && GameOibs[kk].queen == false) {
  1406. My_Oibs2.push(GameOibs[kk]);
  1407. }
  1408. }
  1409. }
  1410. for (kk = 0; kk < My_Oibs2.length; kk++) {
  1411. if (kk == 0) {
  1412. otheroib = My_Oibs2[kk];
  1413. } else {
  1414. if (My_Oibs2[kk].level > otheroib.level) {
  1415. otheroib = My_Oibs2[kk];
  1416. }
  1417. }
  1418. }
  1419. var number = 0;
  1420. for (k = 0; k < My_Oibs.length; k++) {
  1421. if (My_Oibs[k].level == mainoib.level - 3) {
  1422. number++;
  1423. if (number == 1) {
  1424. oib1 = My_Oibs[k];
  1425. }
  1426. if (number == 2) {
  1427. oib2 = My_Oibs[k];
  1428. }
  1429. }
  1430. }
  1431. if (oib2.x == 450 && oib2.y == otheroib.y && oib1.x == otheroib.x && oib1.y == otheroib.y) {
  1432. player.select.units = [];
  1433. player.select.units.push(oib1);
  1434. split();
  1435. pp.postMessage({
  1436. stage: 14
  1437. });
  1438. PPstage++;
  1439. } else {
  1440. player.select.units = [];
  1441. player.select.units.push(oib2);
  1442. FCallMovePos(450, otheroib.y);
  1443. player.select.units = [];
  1444. player.select.units.push(oib1);
  1445. FCallMoveOib(otheroib);
  1446. player.select.units = [];
  1447. }
  1448. }
  1449. }
  1450. if (PPstage == 11) {
  1451. small = player.select.units;
  1452. for (k = 0; k < My_Oibs.length; k++) {
  1453. if (My_Oibs[k].level < mainoib.level - 3) {
  1454. player.select.units = [];
  1455. player.select.units.push(My_Oibs[k]);
  1456. feed();
  1457. player.select.units = [];
  1458. }
  1459. }
  1460. player.select.units = small;
  1461. for (kk = 0; kk < GameOibs.length; kk++) {
  1462. if (GameOibs[kk] != undefined) {
  1463. if (GameOibs[kk].id == otherid && GameOibs[kk].queen == false) {
  1464. My_Oibs2.push(GameOibs[kk]);
  1465. }
  1466. }
  1467. }
  1468. for (kk = 0; kk < My_Oibs2.length; kk++) {
  1469. if (kk == 0) {
  1470. otheroib = My_Oibs2[kk];
  1471. } else {
  1472. if (My_Oibs2[kk].level > otheroib.level) {
  1473. otheroib = My_Oibs2[kk];
  1474. }
  1475. }
  1476. }
  1477. number = 0;
  1478. for (k = 0; k < My_Oibs.length; k++) {
  1479. if (My_Oibs[k].level == mainoib.level - 3) {
  1480. number++;
  1481. if (number == 1) {
  1482. oib2 = My_Oibs[k];
  1483. }
  1484. }
  1485. if (number == 0) {
  1486. oib2 = "eaten";
  1487. }
  1488. }
  1489. if (oib2 == "eaten") {
  1490. pp.postMessage({
  1491. stage: 18
  1492. });
  1493. player.select.units = [];
  1494. PPstage++;
  1495. } else {
  1496. player.select.units = [];
  1497. player.select.units.push(oib2);
  1498. FCallMoveOib(otheroib);
  1499. player.select.units = [];
  1500. }
  1501. }
  1502. if (PPstage == 12) {
  1503. small = player.select.units;
  1504. for (k = 0; k < My_Oibs.length; k++) {
  1505. if (My_Oibs[k].level < mainoib.level - 3) {
  1506. player.select.units = [];
  1507. player.select.units.push(My_Oibs[k]);
  1508. feed();
  1509. player.select.units = [];
  1510. }
  1511. }
  1512. player.select.units = small;
  1513. if (player.army.v == 2) {
  1514. for (k = 0; k < My_Oibs.length; k++) {
  1515. if (k == 0) {
  1516. mainoib = My_Oibs[k];
  1517. } else {
  1518. if (My_Oibs[k].level > mainoib.level) {
  1519. mainoib = My_Oibs[k];
  1520. }
  1521. }
  1522. }
  1523. PPstage = 1;
  1524. perlvl = new Date().getTime() - time;
  1525. perlvl = perlvl / 1000;
  1526. var sendthis = perlvl + " Seconds For 1 Level. ( Lvl " + mainoib.level + " )";
  1527. if (PPdebug == 1) {
  1528. console.log(sendthis);
  1529. }
  1530. if (PPchat == 1) {
  1531. socket().send(JSON.stringify([0, sendthis]));
  1532. }
  1533. }
  1534. }
  1535. }
  1536. function getplayercount()
  1537. {
  1538. playerz = 0;
  1539. for (var a = 0; a < players().length; a++)
  1540. {
  1541. if (players()[a].bot == false && players()[a].alive == true)
  1542. {
  1543. playerz++;
  1544. }
  1545. }
  1546. if (friendbots == 1)
  1547. {
  1548. for (var l = 0; l < players().length; l++)
  1549. {
  1550. if (players()[l].friend == 0 && players()[l].nickname == "Chemotherapy")
  1551. {
  1552. players()[l].friend = 1;
  1553. socket().send(JSON.stringify([6,l]));
  1554. }
  1555. }
  1556. }
  1557. else
  1558. {
  1559. for (var l2 = 0; l2 < players().length; l2++)
  1560. {
  1561. if (players()[l2].friend == 1 && players()[l2].nickname == "Chemotherapy")
  1562. {
  1563. players()[l2].friend = 0;
  1564. socket().send(JSON.stringify([6,l2]));
  1565. }
  1566. }
  1567. }
  1568. for (var i = 0; i < bots.length; i++)
  1569. {
  1570. if (bots[i].opened == 1 && bots[i].readyState == 1)
  1571. {
  1572. if (typeof(botplayers[i]) == "undefined")
  1573. {
  1574. botplayers.push([]);
  1575. }
  1576. for (var e = 0; e < players().length; e++)
  1577. {
  1578. if (typeof(botplayers[i][e]) == "undefined")
  1579. {
  1580. if (players()[e].bot != true)
  1581. {
  1582. botplayers[i][e] = {
  1583. name: players()[e].nickname,
  1584. bot: players()[e].bot,
  1585. alive: players()[e].alive,
  1586. friended: 0
  1587. }
  1588. }
  1589. else
  1590. {
  1591. botplayers[i][e] = {
  1592. name: players()[e].nickname,
  1593. bot: players()[e].bot,
  1594. alive: undefined,
  1595. friended: 0
  1596. }
  1597. }
  1598. }
  1599. else
  1600. {
  1601. botplayers[i][e].name = players()[e].nickname;
  1602. if (botplayers[i][e].bot == false)
  1603. {
  1604. botplayers[i][e].alive = players()[e].alive;
  1605. }
  1606. if (botplayers[i][e].alive == false)
  1607. {
  1608. botplayers[i][e].friended = 0;
  1609. }
  1610. }
  1611. if (botplayers[i][e].friended == 0 && botplayers[i][e].alive == true)
  1612. {
  1613. if (botplayers[i][e].name == "kmccord1" || botplayers[i][e].name == "Chemotherapy")
  1614. {
  1615. botplayers[i][e].friended = 1;
  1616. bots[i].send(JSON.stringify([6,e]));
  1617. }
  1618. }
  1619. }
  1620. }
  1621. }
  1622. }
  1623. function remove()
  1624. {
  1625. for (var i = 0; i < bots.length; i++)
  1626. {
  1627. if (bots[i].readyState == 3 && bots[i].opened == 1 || bots[i] == null || bots[i] == undefined)
  1628. {
  1629. bots[i].close();
  1630. bots.splice(i, 1);
  1631. botplayers.splice(i, 1);
  1632. }
  1633. }
  1634. }
  1635. function deathbybots()
  1636. {
  1637. console.log(bots);
  1638. console.log(botplayers);
  1639. if (playerz < 30 && bots.length < 30)
  1640. {
  1641. try
  1642. {
  1643. var b = undefined;
  1644. if (Object.entries(ui).length == 77) {
  1645. b = Object.entries(ui)[49][1].info.choice;
  1646. } else {
  1647. b = Object.entries(ui)[48][1].info.choice;
  1648. }
  1649. bots.push( new WebSocket("ws://" + servers()[b].i + ":" + servers()[b].p) )
  1650. bots[bots.length - 1].onopen = function()
  1651. {
  1652. bots[bots.length - 1].send(JSON.stringify(["Chemotherapy", Math.round(Math.random()*5), Math.round(Math.random()*5), botclass, 0, 0, Object.entries(lapas[2])[21][1]]));
  1653. bots[bots.length - 1].opened = 1;
  1654. }
  1655. }
  1656. catch (e)
  1657. {
  1658. }
  1659. }
  1660. if (playerz > 30)
  1661. {
  1662. bots[0].close();
  1663. bots.splice(0, 1);
  1664. botplayers.splice(0, 1);
  1665. }
  1666. }
  1667. function makethemdoshit()
  1668. {
  1669. ping++;
  1670. if (feedbots == 0)
  1671. {
  1672. if (botmode == 0)
  1673. {
  1674. for (var i = 0; i < bots.length; i++)
  1675. {
  1676. if (bots[i].readyState == 1 && bots[i].opened == 1 || bots[i] != null || bots[i] != undefined)
  1677. {
  1678. if (spawnoibs == 1)
  1679. {
  1680. bots[i].send(new Uint8Array([0]));
  1681. }
  1682. for (var xd = 0; xd < 50; xd++)
  1683. {
  1684. bots[i].send(JSON.stringify([3,MousePos.x - player.cam.rx,MousePos.y - player.cam.ry,[xd]]));
  1685. }
  1686. }
  1687. }
  1688. }
  1689. if (botmode == 1)
  1690. {
  1691. for (var ii = 0; ii < bots.length; ii++)
  1692. {
  1693. if (bots[ii].readyState == 1 && bots[ii].opened == 1 || bots[ii] != null || bots[ii] != undefined)
  1694. {
  1695. if (spawnoibs == 1)
  1696. {
  1697. bots[ii].send(new Uint8Array([0]));
  1698. }
  1699. for (var xdd = 1; xdd < 50; xdd++)
  1700. {
  1701. bots[ii].send(JSON.stringify([3,MousePos.x - player.cam.rx,MousePos.y - player.cam.ry,[xdd]]));
  1702. }
  1703. bots[ii].send(JSON.stringify([3,MousePos.x - player.cam.rx + (ii * 150) - (75 * bots.length),Math.round(MousePos.y + 800 - player.cam.ry),[0]]));
  1704. }
  1705. }
  1706. }
  1707. if (botmode == 2)
  1708. {
  1709. for (var ia = 0; ia < bots.length; ia++)
  1710. {
  1711. if (bots[ia].readyState == 1 && bots[ia].opened == 1 || bots[ia] != null || bots[ia] != undefined)
  1712. {
  1713. if (spawnoibs == 1)
  1714. {
  1715. bots[ia].send(new Uint8Array([0]));
  1716. }
  1717. for (var xa = 1; xa < 50; xa++)
  1718. {
  1719. bots[ia].send(JSON.stringify([3,MousePos.x - player.cam.rx,MousePos.y - player.cam.ry,[xa]]));
  1720. }
  1721. }
  1722. }
  1723. }
  1724. if (botmode == 3)
  1725. {
  1726. for (var ib = 0; ib < bots.length; ib++)
  1727. {
  1728. if (bots[ib].readyState == 1 && bots[ib].opened == 1 || bots[ib] != null || bots[ib] != undefined)
  1729. {
  1730. if (spawnoibs == 1)
  1731. {
  1732. bots[ib].send(new Uint8Array([0]));
  1733. }
  1734. bots[ib].send(JSON.stringify([3,MousePos.x - player.cam.rx,MousePos.y - player.cam.ry,[0]]));
  1735. bots[ib].send(JSON.stringify([3,MousePos.x - player.cam.rx,MousePos.y - player.cam.ry,AllOibs]));
  1736. }
  1737. }
  1738. }
  1739. if (botmode == 4)
  1740. {
  1741. for (var i2 = 0; i2 < bots.length; i2++)
  1742. {
  1743. if (bots[i2].readyState == 1 && bots[i2].opened == 1 || bots[i2] != null || bots[i2] != undefined)
  1744. {
  1745. if (spawnoibs == 1)
  1746. {
  1747. bots[i2].send(new Uint8Array([0]));
  1748. }
  1749. bots[i2].send(JSON.stringify([3,MousePos.x - player.cam.rx + Math.cos((i2 / bots.length) * Math.PI * 2) * 500,MousePos.y - player.cam.ry + Math.sin((i2 / bots.length) * Math.PI * 2) * 500,[0]]));
  1750. for (var xd2 = 1; xd2 < 50; xd2++)
  1751. {
  1752. bots[i2].send(JSON.stringify([3,MousePos.x - player.cam.rx,MousePos.y - player.cam.ry,[xd2]]));
  1753. }
  1754. }
  1755. }
  1756. }
  1757. }
  1758. else
  1759. {
  1760. if (spawnoibs == 1)
  1761. {
  1762. for (var iab = 0; iab < bots.length; iab++)
  1763. {
  1764. if (bots[iab].readyState == 1 && bots[iab].opened == 1 || bots[iab] != null || bots[iab] != undefined)
  1765. {
  1766. bots[iab].send(new Uint8Array([0]));
  1767. bots[iab].send(JSON.stringify([2,OibsAndQueen]))
  1768. }
  1769. }
  1770. }
  1771. }
  1772. if (ping >= 100)
  1773. {
  1774. ping = 0;
  1775. for (var kek = 0; kek < bots.length; kek ++)
  1776. {
  1777. if (bots[kek].readyState == 1 && bots[kek].opened == 1 || bots[kek] != null || bots[kek] != undefined)
  1778. {
  1779. bots[kek].send(new Uint8Array([3]));
  1780. }
  1781. }
  1782. }
  1783. }
  1784. function makebots()
  1785. {
  1786. getplayercount();
  1787. remove();
  1788. deathbybots();
  1789. makethemdoshit();
  1790. }
  1791. function SuperSelect() {
  1792. var k = 0;
  1793. var Enemy_Queens = new Array();
  1794. var Enemy_oibs = new Array();
  1795. var My_Oibs = new Array();
  1796. var My_Queen = new Object();
  1797. var GameOibs = WorldOibs();
  1798. for (k = 0; k < GameOibs.length; k++) {
  1799. if (GameOibs[k] != undefined) {
  1800. if (GameOibs[k].id != player.id) {
  1801. if (GameOibs[k].info_delay > 1.5) {
  1802. GameOibs[k].info_delay = 0;
  1803. player.select.units.push(GameOibs[k]);
  1804. }
  1805. }
  1806. }
  1807. }
  1808. }
  1809. function FCallRadiusMove(Mine, Enemy) {
  1810. var diffX = 0;
  1811. var diffY = 0;
  1812. var angle = 0;
  1813. var nPos = {
  1814. x: 0,
  1815. y: 0
  1816. };
  1817. var radius = 100;
  1818. diffX = Mine.x - Enemy.x;
  1819. diffY = Mine.y - Enemy.y;
  1820. angle = Math.atan2(diffY, diffX);
  1821. nPos.x = Math.round(Enemy.x - radius * Math.cos(angle));
  1822. nPos.y = Math.round(Enemy.y - radius * Math.sin(angle));
  1823. player.select.clean();
  1824. player.select.units.push(Mine);
  1825. FCallMoveOib(nPos);
  1826. player.select.clean();
  1827. }
  1828. function GetDistance(x, y, x2, y2) {
  1829. var d = Math.sqrt(Math.pow(x - x2, 2) + Math.pow(y - y2, 2));
  1830. return d;
  1831. }
  1832. function FCallMove() {
  1833. var PosBackUp = {
  1834. x: MousePos.x.toString(),
  1835. y: MousePos.y.toString()
  1836. };
  1837. MoveUnits({
  1838. x: parseInt(PosBackUp.x, 10),
  1839. y: parseInt(PosBackUp.y, 10)
  1840. });
  1841. }
  1842. function MakeRingForEachLevel() {
  1843. socket().send(new Uint8Array([0]));
  1844. if (mmsplit == 1) {
  1845. SelectOibs();
  1846. split();
  1847. }
  1848. ringangle += ringrotatespeed;
  1849. var levels = 0;
  1850. var k = 0;
  1851. var Enemy_Queens = new Array();
  1852. var Enemy_oibs = new Array();
  1853. var My_Oibs = new Array();
  1854. var My_Queen = new Object();
  1855. var GameOibs = WorldOibs();
  1856. var CmdSnt = new Date().getTime();
  1857. SelectQueen();
  1858. for (k = 0; k < GameOibs.length; k++) {
  1859. if (GameOibs[k] != undefined) {
  1860. if (GameOibs[k].id == player.id) {
  1861. if (GameOibs[k].queen == true) {
  1862. My_Queen = GameOibs[k];
  1863. } else {
  1864. My_Oibs.push(GameOibs[k]);
  1865. }
  1866. } else {
  1867. if (GameOibs[k].queen == true) {
  1868. Enemy_Queens = GameOibs[k];
  1869. } else {
  1870. Enemy_oibs.push(GameOibs[k]);
  1871. }
  1872. }
  1873. }
  1874. }
  1875. sortByKey(My_Oibs, "uid");
  1876. sortByKey(My_Oibs, "level");
  1877. var lastlevel = 0;
  1878. var sortedoibs = new Array();
  1879. for (var i = 0; i < My_Oibs.length; i++) {
  1880. if (lastlevel != My_Oibs[i].level) {
  1881. lastlevel = My_Oibs[i].level;
  1882. levels++;
  1883. sortedoibs.push([]);
  1884. sortedoibs[levels - 1].push(My_Oibs[i]);
  1885. } else {
  1886. sortedoibs[levels - 1].push(My_Oibs[i]);
  1887. }
  1888. }
  1889. window.log = sortedoibs;
  1890. if (Internet_Stress < CmdSnt - LastCommandSent) {
  1891. LastCommandSent = new Date().getTime();
  1892. player.select.units = [];
  1893. for (var e = 0; e < levels; e++) {
  1894. for (k = 0; k < sortedoibs[e].length; k++) {
  1895. if (My_Queen.life >= botlvl * My_Queen.level) {
  1896. player.select.units = [];
  1897. player.select.units.push(sortedoibs[e][k]);
  1898. FCallMoveOibRingEachLevel(My_Queen, k, sortedoibs[e].length);
  1899. SelectQueen();
  1900. } else {
  1901. player.select.units.push(sortedoibs[e][k]);
  1902. feed();
  1903. SelectQueen();
  1904. }
  1905. }
  1906. }
  1907. }
  1908. }
  1909. function FCallMoveOibRingEachLevel(r, k, e) {
  1910. var a = {
  1911. x: player.cam.rx,
  1912. y: player.cam.ry
  1913. };
  1914. var b = {
  1915. x: (r.x + a.x) + (Math.cos(((k / e) * 6.43) + ringangle) * (e * ringsize)),
  1916. y: (r.y + a.y) + (Math.sin(((k / e) * 6.43) + ringangle) * (e * ringsize))
  1917. };
  1918. var PosBackUp = {
  1919. x: b.x.toString(),
  1920. y: b.y.toString()
  1921. };
  1922. MoveUnits({
  1923. x: parseInt(PosBackUp.x, 10),
  1924. y: parseInt(PosBackUp.y, 10)
  1925. });
  1926. }
  1927. function FCallMoveOibRing(r, k) {
  1928. var a = {
  1929. x: player.cam.rx,
  1930. y: player.cam.ry
  1931. };
  1932. var b = {
  1933. x: (r.x + a.x) + (Math.cos(((k / player.army.v) * 6.43) + ringangle) * (player.army.v * ringsize)),
  1934. y: (r.y + a.y) + (Math.sin(((k / player.army.v) * 6.43) + ringangle) * (player.army.v * ringsize))
  1935. };
  1936. var PosBackUp = {
  1937. x: b.x.toString(),
  1938. y: b.y.toString()
  1939. };
  1940. MoveUnits({
  1941. x: parseInt(PosBackUp.x, 10),
  1942. y: parseInt(PosBackUp.y, 10)
  1943. });
  1944. }
  1945. function FCallMoveOibLine(r, k) {
  1946. var a = {
  1947. x: player.cam.rx,
  1948. y: player.cam.ry
  1949. };
  1950. var b = {
  1951. x: r.x - (player.army.v * (linesize / 2)) + (k * linesize),
  1952. y: r.y
  1953. };
  1954. var PosBackUp = {
  1955. x: b.x.toString(),
  1956. y: b.y.toString()
  1957. };
  1958. MoveUnits({
  1959. x: parseInt(PosBackUp.x, 10),
  1960. y: parseInt(PosBackUp.y, 10)
  1961. });
  1962. }
  1963. function FCallMoveOib(r) {
  1964. var a = {
  1965. x: player.cam.rx,
  1966. y: player.cam.ry
  1967. };
  1968. var b = {
  1969. x: r.x + a.x,
  1970. y: r.y + a.y
  1971. };
  1972. var PosBackUp = {
  1973. x: b.x.toString(),
  1974. y: b.y.toString()
  1975. };
  1976. MoveUnits({
  1977. x: parseInt(PosBackUp.x, 10),
  1978. y: parseInt(PosBackUp.y, 10)
  1979. });
  1980. }
  1981. function FCallMovePos(x1, y1) {
  1982. var a = {
  1983. x: player.cam.rx,
  1984. y: player.cam.ry
  1985. };
  1986. var b = {
  1987. x: x1 + a.x,
  1988. y: y1 + a.y
  1989. };
  1990. var PosBackUp = {
  1991. x: b.x.toString(),
  1992. y: b.y.toString()
  1993. };
  1994. MoveUnits({
  1995. x: parseInt(PosBackUp.x, 10),
  1996. y: parseInt(PosBackUp.y, 10)
  1997. });
  1998. }
  1999. function FriendBots() {
  2000. if (lapas[9].mode != 1) {
  2001. var k = 0;
  2002. var Enemy_Queens = new Array();
  2003. var Enemy_oibs = new Array();
  2004. var My_Oibs = new Array();
  2005. var My_Queen = new Object();
  2006. var GameOibs = WorldOibs();
  2007. for (k = 0; k < GameOibs.length; k++) {
  2008. if (GameOibs[k] != undefined) {
  2009. if (GameOibs[k].id == player.id) {
  2010. if (GameOibs[k].queen == true) {
  2011. My_Queen = GameOibs[k];
  2012. } else {
  2013. My_Oibs.push(GameOibs[k]);
  2014. }
  2015. } else {
  2016. if (GameOibs[k].queen == true) {
  2017. Enemy_Queens.push(GameOibs[k]);
  2018. } else {
  2019. Enemy_oibs.push(GameOibs[k]);
  2020. }
  2021. }
  2022. }
  2023. }
  2024. for (k = 0; k < Enemy_Queens.length; k++) {
  2025. if (players()[player.id].nickname == players()[Enemy_Queens[k].id].nickname) {
  2026. if (players()[Enemy_Queens[k].id].friend == 0) {
  2027. players()[Enemy_Queens[k].id].friend = 1;
  2028. friend(Enemy_Queens[k].id)
  2029. }
  2030. }
  2031. }
  2032. }
  2033. }
  2034. function AdjustOibs() {
  2035. var k = 0;
  2036. for (k = 0; WorldOibs().length > k; k++) {
  2037. if (WorldOibs()[k] != undefined) {
  2038. if (WorldOibs()[k].scale >= 6.74995) {
  2039. WorldOibs()[k].scale = 6.74995;
  2040. WorldOibs()[k].info_delay = 0.05;
  2041. }
  2042. }
  2043. }
  2044. }
  2045. function captureMousePos(event) {
  2046. MousePos.x = event.clientX;
  2047. MousePos.y = event.clientY;
  2048. }
  2049. function sortByKey(array, key) {
  2050. return array.sort(function(a, b) {
  2051. var x = a[key];
  2052. var y = b[key];
  2053. return ((x < y) ? -1 : ((x > y) ? 1 : 0));
  2054. });
  2055. }
  2056. // ACTIONS
  2057. function HealNuke() {
  2058. socket().send(new Uint8Array([0]));
  2059. var k = 0;
  2060. var My_Oibs = new Array();
  2061. var Enemy_Queens = new Array();
  2062. var Enemy_oibs = new Array();
  2063. var My_Oibs_Nukelevel = new Array();
  2064. var My_Oibs_LowLevel = new Array();
  2065. var My_Queen = new Object();
  2066. var GameOibs = WorldOibs();
  2067. var CmdSnt = new Date().getTime();
  2068. for (k = 0; k < GameOibs.length; k++) {
  2069. if (GameOibs[k] != undefined) {
  2070. if (GameOibs[k].id == player.id) {
  2071. if (GameOibs[k].queen == true) {
  2072. My_Queen = GameOibs[k];
  2073. } else {
  2074. My_Oibs.push(GameOibs[k]);
  2075. if (GameOibs[k].level < NukeLevel) {
  2076. My_Oibs_LowLevel.push(GameOibs[k]);
  2077. } else {
  2078. My_Oibs_Nukelevel.push(GameOibs[k]);
  2079. }
  2080. }
  2081. } else {
  2082. if (GameOibs[k].queen == true) {
  2083. Enemy_Queens = GameOibs[k];
  2084. } else {
  2085. Enemy_oibs.push(GameOibs[k]);
  2086. }
  2087. }
  2088. }
  2089. }
  2090. sortByKey(My_Oibs_Nukelevel, "life");
  2091. sortByKey(My_Oibs_LowLevel, "oid");
  2092. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2093. LastCommandSent = new Date().getTime();
  2094. for (k = 0; k < My_Oibs_LowLevel.length; k++) {
  2095. if (My_Oibs_Nukelevel[k] != undefined) {
  2096. player.select.units = [];
  2097. player.select.units.push(My_Oibs_Nukelevel[k]);
  2098. player.select.units.push(My_Oibs_LowLevel[k]);
  2099. regroup();
  2100. player.select.units = [];
  2101. }
  2102. }
  2103. for (k = 0; k < My_Oibs.length; k++) {
  2104. player.select.units = [];
  2105. player.select.units.push(My_Oibs[k]);
  2106. FCallMoveOib(My_Queen);
  2107. }
  2108. }
  2109. SelectQueen();
  2110. if (g7 == true) {
  2111. setTimeout(() => {
  2112. HealNuke();
  2113. }, 1);
  2114. }
  2115. }
  2116. function MakeRing() {
  2117. socket().send(new Uint8Array([0]));
  2118. if (mmsplit == 1) {
  2119. SelectOibs();
  2120. split();
  2121. }
  2122. ringangle += ringrotatespeed;
  2123. var k = 0;
  2124. var Enemy_Queens = new Array();
  2125. var Enemy_oibs = new Array();
  2126. var My_Oibs = new Array();
  2127. var My_Queen = new Object();
  2128. var GameOibs = WorldOibs();
  2129. var CmdSnt = new Date().getTime();
  2130. SelectQueen();
  2131. for (k = 0; k < GameOibs.length; k++) {
  2132. if (GameOibs[k] != undefined) {
  2133. if (GameOibs[k].id == player.id) {
  2134. if (GameOibs[k].queen == true) {
  2135. My_Queen = GameOibs[k];
  2136. } else {
  2137. My_Oibs.push(GameOibs[k]);
  2138. }
  2139. } else {
  2140. if (GameOibs[k].queen == true) {
  2141. Enemy_Queens = GameOibs[k];
  2142. } else {
  2143. Enemy_oibs.push(GameOibs[k]);
  2144. }
  2145. }
  2146. }
  2147. }
  2148. sortByKey(My_Oibs, "uid");
  2149. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2150. LastCommandSent = new Date().getTime();
  2151. player.select.units = [];
  2152. for (k = 0; k < My_Oibs.length; k++) {
  2153. if (My_Queen.life >= botlvl * My_Queen.level) {
  2154. player.select.units = [];
  2155. player.select.units.push(My_Oibs[k]);
  2156. FCallMoveOibRing(My_Queen, k);
  2157. SelectQueen();
  2158. } else {
  2159. player.select.units.push(My_Oibs[k]);
  2160. feed();
  2161. SelectQueen();
  2162. }
  2163. }
  2164. }
  2165. }
  2166. function MakeRingBot(aa) {
  2167. socket().send(new Uint8Array([0]));
  2168. if (mmsplit == 1) {
  2169. SelectOibs();
  2170. split();
  2171. }
  2172. var k = 0;
  2173. var Enemy_Queens = new Array();
  2174. var Enemy_oibs = new Array();
  2175. var My_Oibs = new Array();
  2176. var My_Queen = new Object();
  2177. var GameOibs = WorldOibs();
  2178. var CmdSnt = new Date().getTime();
  2179. SelectQueen();
  2180. for (k = 0; k < GameOibs.length; k++) {
  2181. if (GameOibs[k] != undefined) {
  2182. if (GameOibs[k].id == player.id) {
  2183. if (GameOibs[k].queen == true) {
  2184. My_Queen = aa;
  2185. } else {
  2186. My_Oibs.push(GameOibs[k]);
  2187. }
  2188. } else {
  2189. if (GameOibs[k].queen == true) {
  2190. Enemy_Queens = GameOibs[k];
  2191. } else {
  2192. Enemy_oibs.push(GameOibs[k]);
  2193. }
  2194. }
  2195. }
  2196. }
  2197. sortByKey(My_Oibs, "uid");
  2198. player.select.units = [];
  2199. for (k = 0; k < My_Oibs.length; k++) {
  2200. if (My_Queen.life >= botlvl * My_Queen.level) {
  2201. player.select.units = [];
  2202. player.select.units.push(My_Oibs[k]);
  2203. FCallMoveOibRing(My_Queen, k);
  2204. SelectQueen();
  2205. } else {
  2206. player.select.units.push(My_Oibs[k]);
  2207. feed();
  2208. SelectQueen();
  2209. }
  2210. }
  2211. }
  2212. function HorizLine() {
  2213. socket().send(new Uint8Array([0]));
  2214. var k = 0;
  2215. var MinDistance = Infinity;
  2216. var Enemy_Queens = new Array();
  2217. var Enemy_oibs = new Array();
  2218. var My_Oibs = new Array();
  2219. var My_Queen = new Object();
  2220. var GameOibs = WorldOibs();
  2221. var CmdSnt = new Date().getTime();
  2222. for (k = 0; k < GameOibs.length; k++) {
  2223. if (GameOibs[k] != undefined) {
  2224. if (GameOibs[k].id == player.id) {
  2225. if (GameOibs[k].queen == true) {
  2226. My_Queen = GameOibs[k];
  2227. } else {
  2228. My_Oibs.push(GameOibs[k]);
  2229. }
  2230. } else {
  2231. if (GameOibs[k].queen == true) {
  2232. Enemy_Queens = GameOibs[k];
  2233. } else {
  2234. Enemy_oibs.push(GameOibs[k]);
  2235. }
  2236. }
  2237. }
  2238. }
  2239. sortByKey(My_Oibs, "level");
  2240. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2241. LastCommandSent = new Date().getTime();
  2242. player.select.units = [];
  2243. for (k = 0; k < My_Oibs.length; k++) {
  2244. player.select.units = [];
  2245. player.select.units.push(My_Oibs[k]);
  2246. FCallMoveOibLine(MousePos, k);
  2247. SelectQueen();
  2248. }
  2249. }
  2250. }
  2251. function BotAttack() {
  2252. if (mmsplit == 1) {
  2253. SelectOibs();
  2254. split();
  2255. player.select.units = [];
  2256. }
  2257. var j = 0;
  2258. var k = 0;
  2259. var attack = false;
  2260. var MinDistance = Infinity;
  2261. var Enemy_Queens = new Array();
  2262. var Enemy_oibs = new Array();
  2263. var My_Oibs = new Array();
  2264. var My_Queen = new Object();
  2265. var GameOibs = WorldOibs();
  2266. var CmdSnt = new Date().getTime();
  2267. for (k = 0; k < GameOibs.length; k++) {
  2268. if (GameOibs[k] != undefined) {
  2269. if (GameOibs[k].id == player.id) {
  2270. if (GameOibs[k].queen == true) {
  2271. My_Queen = GameOibs[k];
  2272. } else {
  2273. My_Oibs.push(GameOibs[k]);
  2274. }
  2275. } else {
  2276. if (GameOibs[k].queen == true) {
  2277. Enemy_Queens.push(GameOibs[k]);
  2278. } else {
  2279. Enemy_oibs.push(GameOibs[k]);
  2280. }
  2281. }
  2282. }
  2283. }
  2284. var NearOibs = new Array();
  2285. var DistanceWary = 500;
  2286. var lowest = DistanceWary;
  2287. var tempdistance = 0;
  2288. for (k = 0; k < Enemy_oibs.length; k++) {
  2289. tempdistance = GetDistance(Enemy_oibs[k].x, Enemy_oibs[k].y, My_Queen.x, My_Queen.y);
  2290. if (tempdistance < DistanceWary) {
  2291. if (lapas[9].mode != 1) {
  2292. if (players()[player.id].nickname == players()[Enemy_oibs[k].id].nickname) {} else {
  2293. if (tempdistance < lowest) {
  2294. attack = true;
  2295. lowest = tempdistance;
  2296. NearOibs = Enemy_oibs[k];
  2297. }
  2298. }
  2299. } else {
  2300. if (players()[player.id].color == players()[Enemy_oibs[k].id].color) {} else {
  2301. if (tempdistance < lowest) {
  2302. attack = true;
  2303. lowest = tempdistance;
  2304. NearOibs = Enemy_oibs[k];
  2305. }
  2306. }
  2307. }
  2308. }
  2309. }
  2310. for (k = 0; k < Enemy_Queens.length; k++) {
  2311. tempdistance = GetDistance(Enemy_Queens[k].x, Enemy_Queens[k].y, My_Queen.x, My_Queen.y);
  2312. if (tempdistance < DistanceWary) {
  2313. if (lapas[9].mode != 1) {
  2314. if (players()[player.id].nickname == players()[Enemy_Queens[k].id].nickname) {} else {
  2315. if (tempdistance < lowest) {
  2316. attack = true;
  2317. lowest = tempdistance;
  2318. NearOibs = Enemy_Queens[k];
  2319. }
  2320. }
  2321. } else {
  2322. {
  2323. if (players()[player.id].color == players()[Enemy_Queens[k].id].color) {} else {
  2324. if (tempdistance < lowest) {
  2325. attack = true;
  2326. lowest = tempdistance;
  2327. NearOibs = Enemy_Queens[k];
  2328. }
  2329. }
  2330. }
  2331. }
  2332. }
  2333. }
  2334. if (Internet_StressBot < CmdSnt - LastCommandSent) {
  2335. LastCommandSent = new Date().getTime();
  2336. if (attack == false) {
  2337. for (k = 0; k < My_Oibs.length; k++) {
  2338. player.select.clean();
  2339. player.select.units.push(My_Oibs[k]);
  2340. FCallMoveOib(My_Queen);
  2341. }
  2342. }
  2343. //------- let the madness begin
  2344. if (attack == true) {
  2345. for (j = 0; j < My_Oibs.length; j++) {
  2346. player.select.clean();
  2347. player.select.units.push(My_Oibs[j]);
  2348. FCallRadiusMove(My_Oibs[j], NearOibs);
  2349. player.select.clean();
  2350. }
  2351. }
  2352. }
  2353. }
  2354. function AttackNearby() {
  2355. var j = 0;
  2356. var k = 0;
  2357. var MinDistance = Infinity;
  2358. var Enemy_Queens = new Array();
  2359. var Enemy_oibs = new Array();
  2360. var My_Oibs = new Array();
  2361. var My_Queen = new Object();
  2362. var GameOibs = WorldOibs();
  2363. var CmdSnt = new Date().getTime();
  2364. for (k = 0; k < GameOibs.length; k++) {
  2365. if (GameOibs[k] != undefined) {
  2366. if (GameOibs[k].id == player.id) {
  2367. if (GameOibs[k].queen == true) {
  2368. My_Queen = GameOibs[k];
  2369. } else {
  2370. My_Oibs.push(GameOibs[k]);
  2371. }
  2372. } else {
  2373. if (GameOibs[k].queen == true) {
  2374. Enemy_Queens = GameOibs[k];
  2375. } else {
  2376. Enemy_oibs.push(GameOibs[k]);
  2377. }
  2378. }
  2379. }
  2380. }
  2381. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2382. LastCommandSent = new Date().getTime();
  2383. player.select.units = [];
  2384. for (k = 0; k < My_Oibs.length; k++) {
  2385. player.select.units = [];
  2386. player.select.units.push(My_Oibs[k]);
  2387. FCallMoveOib(My_Queen);
  2388. }
  2389. player.select.units = [];
  2390. player.select.units.push(My_Queen);
  2391. FCallMove();
  2392. SelectQueen();
  2393. }
  2394. if (g2 == true) {
  2395. setTimeout(() => {
  2396. AttackNearby();
  2397. }, 1);
  2398. }
  2399. }
  2400. function MakeNuke() {
  2401. socket().send(new Uint8Array([0]));
  2402. var My_Oibs = new Array();
  2403. var Low_Oibs = new Array();
  2404. var CmdSnt = new Date().getTime();
  2405. var GameOibs = WorldOibs();
  2406. var Nuke_Oibs = new Array();
  2407. var Big_Oibs = new Array();
  2408. var Queen = new Object();
  2409. var k = 0;
  2410. for (k = 0; k < GameOibs.length; k++) {
  2411. if (GameOibs[k] != undefined && GameOibs[k].id == player.id) {
  2412. if (GameOibs[k].level < NukeLevel && GameOibs[k].queen == false) {
  2413. Low_Oibs.push(GameOibs[k]);
  2414. }
  2415. if (GameOibs[k].level == NukeLevel && GameOibs[k].queen == false) {
  2416. Nuke_Oibs.push(GameOibs[k]);
  2417. }
  2418. if (GameOibs[k].level > NukeLevel && GameOibs[k].queen == false) {
  2419. Big_Oibs.push(GameOibs[k]);
  2420. }
  2421. if (GameOibs[k].queen == true) {
  2422. Queen = GameOibs[k];
  2423. }
  2424. if (GameOibs[k].queen == false) {
  2425. My_Oibs.push(GameOibs[k]);
  2426. }
  2427. }
  2428. }
  2429. sortByKey(Low_Oibs, "oid");
  2430. sortByKey(My_Oibs, "level");
  2431. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2432. LastCommandSent = new Date().getTime();
  2433. for (k = 0; k < My_Oibs.length; k++) {
  2434. player.select.units = [];
  2435. player.select.units.push(My_Oibs[k]);
  2436. FCallMoveOib(Queen);
  2437. }
  2438. for (k = 0; k < Big_Oibs.length; k++) {
  2439. player.select.units = [];
  2440. player.select.units.push(Big_Oibs[k]);
  2441. split();
  2442. }
  2443. var select = 0;
  2444. player.select.units = [];
  2445. for (k = 0; k < Low_Oibs.length; k++) {
  2446. select++;
  2447. player.select.units.push(Low_Oibs[k]);
  2448. if (select > 1) {
  2449. select = 0;
  2450. regroup();
  2451. player.select.units = [];
  2452. }
  2453. }
  2454. for (k = 0; k < My_Oibs.length; k++) {
  2455. player.select.units = [];
  2456. player.select.units.push(My_Oibs[k]);
  2457. FCallMoveOib(Queen);
  2458. }
  2459. }
  2460. SelectQueen();
  2461. if (g5 == true) {
  2462. setTimeout(() => {
  2463. MakeNuke();
  2464. }, 1);
  2465. }
  2466. }
  2467. function MoveArmyToPoint() {
  2468. beforeoibs = player.army.v;
  2469. if (typeof(beforeoibs) != "number") {
  2470. beforeoibs = 99999;
  2471. }
  2472. var distance = 0;
  2473. var j = 0;
  2474. var k = 0;
  2475. var My_Oibs = new Array();
  2476. var EneMy_Oibs = new Array();
  2477. var AimbotTarget = MousePos;
  2478. var CmdSnt = new Date().getTime();
  2479. for (k = 0; WorldOibs().length > k; k++) {
  2480. if (WorldOibs()[k] != undefined) {
  2481. if (WorldOibs()[k].id == player.id && WorldOibs()[k].queen == false) {
  2482. My_Oibs.push(WorldOibs()[k]);
  2483. }
  2484. if (WorldOibs()[k].id != player.id && WorldOibs()[k].queen == false) {
  2485. EneMy_Oibs.push(WorldOibs()[k]);
  2486. }
  2487. }
  2488. }
  2489. sortByKey(My_Oibs, "oid");
  2490. sortByKey(My_Oibs, "level");
  2491. player.select.units = [];
  2492. if (beforeoibs < 50) {
  2493. for (k = My_Oibs.length - 1; k >= 0; k--) {
  2494. My_Oibs[k].reallevel = My_Oibs[k].level;
  2495. if (My_Oibs[k].reallevel > 1) {
  2496. player.select.units = [];
  2497. player.select.units.push(My_Oibs[k]);
  2498. if (beforeoibs < 50) {
  2499. split();
  2500. My_Oibs[k].reallevel--;
  2501. beforeoibs++;
  2502. }
  2503. if (beforeoibs < 50 && My_Oibs[k].reallevel > 1) {
  2504. split();
  2505. My_Oibs[k].reallevel--;
  2506. beforeoibs++;
  2507. }
  2508. if (beforeoibs < 50 && My_Oibs[k].reallevel > 1) {
  2509. split();
  2510. My_Oibs[k].reallevel--;
  2511. beforeoibs++;
  2512. }
  2513. }
  2514. delete My_Oibs[k].reallevel;
  2515. }
  2516. }
  2517. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2518. LastCommandSent = new Date().getTime();
  2519. if (smartMM == 1) {
  2520. for (k = 0; k < My_Oibs.length; k++) {
  2521. var Mpos = My_Oibs[k];
  2522. var dist = 0;
  2523. var diffX = 0;
  2524. var diffY = 0;
  2525. var angle = 0;
  2526. var radius = 0;
  2527. var nPos = {
  2528. x: 0,
  2529. y: 0
  2530. };
  2531. if (k > sendoibs) {
  2532. radius = -120;
  2533. } else {
  2534. radius = 0;
  2535. }
  2536. var MinDistance = Infinity;
  2537. if (AimbotTarget != new Object()) {
  2538. diffX = (Mpos.x - (AimbotTarget.x - player.cam.rx));
  2539. diffY = (Mpos.y - (AimbotTarget.y - player.cam.ry));
  2540. angle = Math.atan2(diffY, diffX);
  2541. nPos.x = Math.round((AimbotTarget.x - player.cam.rx) - radius * Math.cos(angle));
  2542. nPos.y = Math.round((AimbotTarget.y - player.cam.ry) - radius * Math.sin(angle));
  2543. player.select.units = [];
  2544. player.select.units.push(Mpos);
  2545. FCallMoveOib(nPos);
  2546. }
  2547. }
  2548. }
  2549. if (smartMM == 0) {
  2550. player.select.units = [];
  2551. for (k = 0; k < My_Oibs.length; k++) {
  2552. player.select.units = [];
  2553. player.select.units.push(My_Oibs[k]);
  2554. FCallMove();
  2555. }
  2556. }
  2557. }
  2558. SelectQueen();
  2559. if (g1 == true) {
  2560. setTimeout(() => {
  2561. MoveArmyToPoint();
  2562. }, 1);
  2563. }
  2564. }
  2565. function AutoHeal() {
  2566. socket().send(new Uint8Array([0]));
  2567. var k = 0;
  2568. var Enemy_Queens = new Array();
  2569. var Enemy_oibs = new Array();
  2570. var My_Oibs = new Array();
  2571. var My_Queen = new Object();
  2572. var GameOibs = WorldOibs();
  2573. var CmdSnt = new Date().getTime();
  2574. for (k = 0; k < GameOibs.length; k++) {
  2575. if (GameOibs[k] != undefined) {
  2576. if (GameOibs[k].id == player.id) {
  2577. if (GameOibs[k].queen == true) {
  2578. My_Queen = GameOibs[k];
  2579. } else {
  2580. My_Oibs.push(GameOibs[k]);
  2581. }
  2582. } else {
  2583. if (GameOibs[k].queen == true) {
  2584. Enemy_Queens = GameOibs[k];
  2585. } else {
  2586. Enemy_oibs.push(GameOibs[k]);
  2587. }
  2588. }
  2589. }
  2590. }
  2591. beforeoibs = player.army.v;
  2592. if (typeof(beforeoibs) != "number") {
  2593. beforeoibs = 99999;
  2594. }
  2595. sortByKey(My_Oibs, "oid");
  2596. sortByKey(My_Oibs, "level");
  2597. player.select.units = [];
  2598. if (beforeoibs < 50) {
  2599. for (k = My_Oibs.length - 1; k >= 0; k--) {
  2600. My_Oibs[k].reallevel = My_Oibs[k].level;
  2601. if (My_Oibs[k].reallevel > 1) {
  2602. player.select.units = [];
  2603. player.select.units.push(My_Oibs[k]);
  2604. if (beforeoibs < 50) {
  2605. split();
  2606. My_Oibs[k].reallevel--;
  2607. beforeoibs++;
  2608. }
  2609. if (beforeoibs < 50 && My_Oibs[k].reallevel > 1) {
  2610. split();
  2611. My_Oibs[k].reallevel--;
  2612. beforeoibs++;
  2613. }
  2614. if (beforeoibs < 50 && My_Oibs[k].reallevel > 1) {
  2615. split();
  2616. My_Oibs[k].reallevel--;
  2617. beforeoibs++;
  2618. }
  2619. }
  2620. delete My_Oibs[k].reallevel;
  2621. }
  2622. }
  2623. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2624. LastCommandSent = new Date().getTime();
  2625. var HPDIF = (My_Queen.level * botlvl) - My_Queen.life;
  2626. if (HPDIF > 0) {
  2627. for (k = 0; k < My_Oibs.length; k++) {
  2628. if (HPDIF <= 0) {
  2629. player.select.units = [];
  2630. player.select.units.push(My_Oibs[k]);
  2631. FCallMoveOib(My_Queen);
  2632. } else {
  2633. player.select.units = [];
  2634. player.select.units.push(My_Oibs[k]);
  2635. feed();
  2636. if (My_Queen.crown != 1) {
  2637. HPDIF -= My_Oibs[k].life / 2.75;
  2638. } else {
  2639. HPDIF -= My_Oibs[k].life / 2.5;
  2640. }
  2641. }
  2642. }
  2643. } else {
  2644. for (k = 0; k < My_Oibs.length; k++) {
  2645. player.select.units = [];
  2646. player.select.units.push(My_Oibs[k]);
  2647. FCallMoveOib(My_Queen);
  2648. }
  2649. }
  2650. }
  2651. SelectQueen();
  2652. if (g3 == true) {
  2653. setTimeout(() => {
  2654. AutoHeal();
  2655. }, 1);
  2656. }
  2657. }
  2658. function MoveHeal() {
  2659. socket().send(new Uint8Array([0]));
  2660. var k = 0;
  2661. var Enemy_Queens = new Array();
  2662. var Enemy_oibs = new Array();
  2663. var My_Oibs = new Array();
  2664. var My_Queen = new Object();
  2665. var GameOibs = WorldOibs();
  2666. var CmdSnt = new Date().getTime();
  2667. SelectOibs();
  2668. split();
  2669. SelectOibs();
  2670. split();
  2671. SelectOibs();
  2672. split();
  2673. SelectOibs();
  2674. split();
  2675. SelectOibs();
  2676. split();
  2677. SelectOibs();
  2678. split();
  2679. player.select.units = [];
  2680. for (k = 0; k < GameOibs.length; k++) {
  2681. if (GameOibs[k] != undefined) {
  2682. if (GameOibs[k].id == player.id) {
  2683. if (GameOibs[k].queen == true) {
  2684. My_Queen = GameOibs[k];
  2685. } else {
  2686. My_Oibs.push(GameOibs[k]);
  2687. }
  2688. } else {
  2689. if (GameOibs[k].queen == true) {
  2690. Enemy_Queens = GameOibs[k];
  2691. } else {
  2692. Enemy_oibs.push(GameOibs[k]);
  2693. }
  2694. }
  2695. }
  2696. }
  2697. if (Internet_Stress < CmdSnt - LastCommandSent) {
  2698. LastCommandSent = new Date().getTime();
  2699. var HPDIF = (My_Queen.level * botlvl) - My_Queen.life;
  2700. if (HPDIF > 0) {
  2701. for (k = 0; k < My_Oibs.length; k++) {
  2702. if (HPDIF <= 0) {
  2703. player.select.units = [];
  2704. player.select.units.push(My_Oibs[k]);
  2705. FCallMoveOib(My_Queen);
  2706. } else {
  2707. player.select.units = [];
  2708. player.select.units.push(My_Oibs[k]);
  2709. feed();
  2710. HPDIF -= My_Oibs[k].life;
  2711. }
  2712. }
  2713. } else {
  2714. for (k = 0; k < My_Oibs.length; k++) {
  2715. player.select.units = [];
  2716. player.select.units.push(My_Oibs[k]);
  2717. FCallMoveOib(My_Queen);
  2718. }
  2719. }
  2720. }
  2721. SelectQueen();
  2722. FCallMove();
  2723. if (g6 == true) {
  2724. setTimeout(() => {
  2725. MoveHeal();
  2726. }, 1);
  2727. }
  2728. }
  2729. function FeedOib() {
  2730. socket().send(new Uint8Array([0]));
  2731. socket().send(JSON.stringify([2,AllOibs]));
  2732. SelectQueen();
  2733. if (g8 == true) {
  2734. setTimeout(() => {
  2735. FeedOib();
  2736. }, 1);
  2737. }
  2738. }
  2739. // LOOPS
  2740. function tick() {
  2741. if (reset == 1) {
  2742. var units = 0;
  2743. var i = 0;
  2744. for (i = 0; i < WorldOibs().length; i++) {
  2745. if (WorldOibs()[i] != null || undefined) {
  2746. units++;
  2747. }
  2748. }
  2749. socket().send(JSON.stringify([1, Math.floor(undefined), Math.floor(undefined)]));
  2750. if (lapas[9].units.length == 0 || units == 0) {
  2751. socket().send(JSON.stringify([1, Math.floor(-player.cam.x), Math.floor(-player.cam.y)]));
  2752. reset = 0;
  2753. }
  2754. }
  2755. if (nickname == "" && player.id != -1) {
  2756. nickname = players()[player.id].nickname;
  2757. }
  2758. if (color == "" && player.id != -1) {
  2759. color = players()[player.id].color;
  2760. } else {
  2761. if (color == "black") {
  2762. color = 0;
  2763. }
  2764. if (color == "pink") {
  2765. color = 1;
  2766. }
  2767. if (color == "blue") {
  2768. color = 2;
  2769. }
  2770. if (color == "purple") {
  2771. color = 3;
  2772. }
  2773. if (color == "orange") {
  2774. color = 4;
  2775. }
  2776. if (color == "aqua") {
  2777. color = 5;
  2778. }
  2779. }
  2780. if (PPbot == 1) {
  2781. PPBot();
  2782. }
  2783. if (avoid == 1) {
  2784. RunAway();
  2785. }
  2786. if (RemoveSpawnButton != undefined && RemoveGuage != undefined) {
  2787. RemoveSpawnButton();
  2788. RemoveGuage();
  2789. }
  2790. game.regroup.info.translate = [];
  2791. game.split.info.translate = [];
  2792. game.feed.info.translate = [];
  2793. if (PPotherstage > 0 && isppbot == 1) {
  2794. if (PPdebug == 1) {
  2795. console.log(PPotherstage);
  2796. }
  2797. var k = 0;
  2798. var Enemy_Queens = new Array();
  2799. var Enemy_oibs = new Array();
  2800. var My_Oibs = new Array();
  2801. var My_Queen = new Object();
  2802. var My_Oibs2 = new Array();
  2803. var GameOibs = WorldOibs();
  2804. for (k = 0; k < GameOibs.length; k++) {
  2805. if (GameOibs[k] != undefined) {
  2806. if (GameOibs[k].id == player.id) {
  2807. if (GameOibs[k].queen == true) {
  2808. My_Queen = GameOibs[k];
  2809. } else {
  2810. My_Oibs.push(GameOibs[k]);
  2811. }
  2812. } else {
  2813. if (GameOibs[k].queen == true) {
  2814. Enemy_Queens.push(GameOibs[k]);
  2815. } else {
  2816. Enemy_oibs.push(GameOibs[k]);
  2817. }
  2818. }
  2819. }
  2820. }
  2821. if (My_Queen.x != 891 || My_Queen.y != 4999) {
  2822. small = player.select.units;
  2823. player.select.units = [];
  2824. player.select.units.push(My_Queen);
  2825. FCallMovePos(891, 4999);
  2826. player.select.units = [];
  2827. player.select.units = small;
  2828. }
  2829. if (PPotherstage == 1) {
  2830. small = player.select.units;
  2831. for (k = 0; k < My_Oibs.length; k++) {
  2832. if (My_Oibs[k].level < mainoib.level - 3) {
  2833. player.select.units = [];
  2834. player.select.units.push(My_Oibs[k]);
  2835. feed();
  2836. player.select.units = [];
  2837. }
  2838. }
  2839. player.select.units = small;
  2840. var aaaa = new Object();
  2841. var aaaaa = new Object();
  2842. if (player.army.v >= 4) {
  2843. for (k = 0; k < My_Oibs.length; k++) {
  2844. if (k == 0) {
  2845. mainoib = My_Oibs[k];
  2846. } else {
  2847. if (My_Oibs[k].level > mainoib.level) {
  2848. mainoib = My_Oibs[k];
  2849. }
  2850. }
  2851. }
  2852. PPotherstage++;
  2853. }
  2854. }
  2855. if (PPotherstage == 2) {
  2856. player.select.units = [];
  2857. if (player.army.v > 3) {
  2858. for (k = 0; k < My_Oibs.length; k++) {
  2859. if (My_Oibs[k].level < mainoib.level) {
  2860. player.select.units.push(My_Oibs[k]);
  2861. }
  2862. }
  2863. regroup();
  2864. } else {
  2865. for (k = 0; k < My_Oibs.length; k++) {
  2866. if (My_Oibs[k].level < mainoib.level) {
  2867. player.select.units = [];
  2868. player.select.units.push(My_Oibs[k]);
  2869. FCallMovePos(mainoib.x, mainoib.y - 135);
  2870. }
  2871. }
  2872. for (k = 0; k < My_Oibs.length; k++) {
  2873. if (My_Oibs[k].level < mainoib.level - 3) {
  2874. player.select.units = [];
  2875. player.select.units.push(mainoib);
  2876. player.select.units.push(My_Oibs[k]);
  2877. regroup();
  2878. }
  2879. }
  2880. PPotherstage++;
  2881. }
  2882. }
  2883. if (PPotherstage == 3) {
  2884. player.select.units = [];
  2885. if (mainoib.life < mainoib.level * (botlvl * 0.95)) {
  2886. socket().send(new Uint8Array([0]));
  2887. for (k = 0; k < My_Oibs.length; k++) {
  2888. if (My_Oibs[k].level < mainoib.level - 3) {
  2889. player.select.units = [];
  2890. player.select.units.push(mainoib);
  2891. player.select.units.push(My_Oibs[k]);
  2892. regroup();
  2893. }
  2894. }
  2895. } else {
  2896. for (k = 0; k < My_Oibs.length; k++) {
  2897. if (My_Oibs[k].level < mainoib.level - 3) {
  2898. player.select.units = [];
  2899. player.select.units.push(mainoib);
  2900. player.select.units.push(My_Oibs[k]);
  2901. regroup();
  2902. }
  2903. }
  2904. PPotherstage++;
  2905. }
  2906. }
  2907. if (PPotherstage == 4) {
  2908. small = player.select.units;
  2909. for (k = 0; k < My_Oibs.length; k++) {
  2910. if (My_Oibs[k].level < mainoib.level - 3) {
  2911. player.select.units = [];
  2912. player.select.units.push(My_Oibs[k]);
  2913. feed();
  2914. player.select.units = [];
  2915. }
  2916. }
  2917. player.select.units = small;
  2918. player.select.units = [];
  2919. My_Oibs2 = new Array();
  2920. var kk = 0;
  2921. for (k = 0; k < players().length; k++) {
  2922. if (players()[k].nickname == "kmccord1" && players()[k].crown == 1) {
  2923. otherid = k;
  2924. k = 99;
  2925. for (kk = 0; kk < GameOibs.length; kk++) {
  2926. if (GameOibs[kk] != undefined) {
  2927. if (GameOibs[kk].id == otherid && GameOibs[kk].queen == false) {
  2928. My_Oibs2.push(GameOibs[kk]);
  2929. }
  2930. }
  2931. }
  2932. for (kk = 0; kk < My_Oibs2.length; kk++) {
  2933. if (kk == 0) {
  2934. otheroib = My_Oibs2[kk];
  2935. } else {
  2936. if (My_Oibs2[kk].level > otheroib.level) {
  2937. otheroib = My_Oibs2[kk];
  2938. }
  2939. }
  2940. }
  2941. if (otheroib.life >= otheroib.level * (botlvl * 0.95)) {
  2942. player.select.units.push(mainoib);
  2943. split();
  2944. FCallMoveOib(otheroib);
  2945. PPotherstage++;
  2946. }
  2947. }
  2948. }
  2949. }
  2950. if (PPotherstage == 5) {
  2951. small = player.select.units;
  2952. for (k = 0; k < My_Oibs.length; k++) {
  2953. if (My_Oibs[k].level < mainoib.level - 3) {
  2954. player.select.units = [];
  2955. player.select.units.push(My_Oibs[k]);
  2956. feed();
  2957. player.select.units = [];
  2958. }
  2959. }
  2960. player.select.units = small;
  2961. if (mainoib.x == otheroib.x && mainoib.y == otheroib.y) {
  2962. player.select.units = [];
  2963. player.select.units.push(mainoib);
  2964. split();
  2965. PPotherstage++;
  2966. } else {
  2967. player.select.units = [];
  2968. player.select.units.push(mainoib);
  2969. FCallMoveOib(otheroib);
  2970. }
  2971. }
  2972. if (PPotherstage == 7) {
  2973. small = player.select.units;
  2974. for (k = 0; k < My_Oibs.length; k++) {
  2975. if (My_Oibs[k].level < mainoib.level - 3) {
  2976. player.select.units = [];
  2977. player.select.units.push(My_Oibs[k]);
  2978. feed();
  2979. player.select.units = [];
  2980. }
  2981. }
  2982. player.select.units = small;
  2983. for (k = 0; k < My_Oibs.length; k++) {
  2984. if (k == 0) {
  2985. mainoib = My_Oibs[k];
  2986. } else {
  2987. if (My_Oibs[k].level > mainoib.level) {
  2988. mainoib = My_Oibs[k];
  2989. }
  2990. }
  2991. }
  2992. PPotherstage++;
  2993. }
  2994. if (PPotherstage == 8) {
  2995. if (mainoib.life < mainoib.level * (botlvl * 0.95)) {
  2996. socket().send(new Uint8Array([0]));
  2997. for (k = 0; k < My_Oibs.length; k++) {
  2998. if (My_Oibs[k].level < mainoib.level - 1) {
  2999. player.select.units = [];
  3000. player.select.units.push(mainoib);
  3001. player.select.units.push(My_Oibs[k]);
  3002. regroup();
  3003. }
  3004. }
  3005. } else {
  3006. for (k = 0; k < My_Oibs.length; k++) {
  3007. if (My_Oibs[k].level < mainoib.level - 1) {
  3008. player.select.units = [];
  3009. player.select.units.push(mainoib);
  3010. player.select.units.push(My_Oibs[k]);
  3011. regroup();
  3012. }
  3013. }
  3014. if (mainoib.x != 791 || mainoib.y != 4639) {
  3015. player.select.units = [];
  3016. player.select.units.push(mainoib);
  3017. FCallMovePos(791, 4639);
  3018. } else {
  3019. PPotherstage++;
  3020. }
  3021. }
  3022. }
  3023. if (PPotherstage == 9) {
  3024. small = player.select.units;
  3025. for (k = 0; k < My_Oibs.length; k++) {
  3026. if (My_Oibs[k].level < mainoib.level - 3) {
  3027. player.select.units = [];
  3028. player.select.units.push(My_Oibs[k]);
  3029. feed();
  3030. player.select.units = [];
  3031. }
  3032. }
  3033. player.select.units = small;
  3034. for (kk = 0; kk < GameOibs.length; kk++) {
  3035. if (GameOibs[kk] != undefined) {
  3036. if (GameOibs[kk].id == otherid && GameOibs[kk].queen == false) {
  3037. My_Oibs2.push(GameOibs[kk]);
  3038. }
  3039. }
  3040. }
  3041. for (kk = 0; kk < My_Oibs2.length; kk++) {
  3042. if (My_Oibs2[kk].level == mainoib.level - 1) {
  3043. aaaa = My_Oibs2[kk];
  3044. }
  3045. }
  3046. for (kk = 0; kk < My_Oibs.length; kk++) {
  3047. if (My_Oibs[kk].level == mainoib.level - 1) {
  3048. aaaaa = My_Oibs[kk];
  3049. }
  3050. }
  3051. if (aaaaa.x == aaaa.x && aaaaa.y == aaaa.y) {
  3052. player.select.units.push(aaaaa);
  3053. split();
  3054. player.select.units = [];
  3055. PPotherstage++;
  3056. } else {
  3057. player.select.units = [];
  3058. player.select.units.push(aaaaa);
  3059. FCallMoveOib(aaaa);
  3060. player.select.units = [];
  3061. }
  3062. }
  3063. if (PPotherstage == 11) {
  3064. small = player.select.units;
  3065. for (k = 0; k < My_Oibs.length; k++) {
  3066. if (My_Oibs[k].level < mainoib.level - 3) {
  3067. player.select.units = [];
  3068. player.select.units.push(My_Oibs[k]);
  3069. feed();
  3070. player.select.units = [];
  3071. }
  3072. }
  3073. player.select.units = small;
  3074. for (k = 0; k < My_Oibs.length; k++) {
  3075. if (k == 0) {
  3076. mainoib = My_Oibs[k];
  3077. } else {
  3078. if (My_Oibs[k].level > mainoib.level) {
  3079. mainoib = My_Oibs[k];
  3080. }
  3081. }
  3082. }
  3083. player.select.units = [];
  3084. if (player.army.v >= 4) {
  3085. for (kk = 0; kk < My_Oibs.length; kk++) {
  3086. if (My_Oibs[kk].level == mainoib.level - 3) {
  3087. player.select.units.push(My_Oibs[kk]);
  3088. }
  3089. }
  3090. regroup();
  3091. player.select.units = [];
  3092. PPotherstage++;
  3093. }
  3094. }
  3095. if (PPotherstage == 12) {
  3096. small = player.select.units;
  3097. for (k = 0; k < My_Oibs.length; k++) {
  3098. if (My_Oibs[k].level < mainoib.level - 3) {
  3099. player.select.units = [];
  3100. player.select.units.push(My_Oibs[k]);
  3101. feed();
  3102. player.select.units = [];
  3103. }
  3104. }
  3105. player.select.units = small;
  3106. for (k = 0; k < My_Oibs.length; k++) {
  3107. if (k == 0) {
  3108. mainoib = My_Oibs[k];
  3109. } else {
  3110. if (My_Oibs[k].level > mainoib.level) {
  3111. mainoib = My_Oibs[k];
  3112. }
  3113. }
  3114. }
  3115. for (kk = 0; kk < GameOibs.length; kk++) {
  3116. if (GameOibs[kk] != undefined) {
  3117. if (GameOibs[kk].id == otherid && GameOibs[kk].queen == false) {
  3118. My_Oibs2.push(GameOibs[kk]);
  3119. }
  3120. }
  3121. }
  3122. for (kk = 0; kk < My_Oibs2.length; kk++) {
  3123. if (kk == 0) {
  3124. otheroib = My_Oibs2[kk];
  3125. } else {
  3126. if (My_Oibs2[kk].level > otheroib.level) {
  3127. otheroib = My_Oibs2[kk];
  3128. }
  3129. }
  3130. }
  3131. if (mainoib.x == otheroib.x && mainoib.y == otheroib.y) {
  3132. player.select.units = [];
  3133. player.select.units.push(mainoib);
  3134. split();
  3135. PPotherstage++;
  3136. } else {
  3137. player.select.units = [];
  3138. player.select.units.push(mainoib);
  3139. FCallMoveOib(otheroib);
  3140. }
  3141. }
  3142. if (PPotherstage == 14) {
  3143. small = player.select.units;
  3144. for (k = 0; k < My_Oibs.length; k++) {
  3145. if (My_Oibs[k].level < mainoib.level - 3) {
  3146. player.select.units = [];
  3147. player.select.units.push(My_Oibs[k]);
  3148. feed();
  3149. player.select.units = [];
  3150. }
  3151. }
  3152. player.select.units = small;
  3153. if (player.army.v >= 4) {
  3154. PPotherstage++;
  3155. }
  3156. }
  3157. if (PPotherstage == 15) {
  3158. small = player.select.units;
  3159. for (k = 0; k < My_Oibs.length; k++) {
  3160. if (My_Oibs[k].level < mainoib.level - 3) {
  3161. player.select.units = [];
  3162. player.select.units.push(My_Oibs[k]);
  3163. feed();
  3164. player.select.units = [];
  3165. }
  3166. }
  3167. player.select.units = small;
  3168. SelectOibs();
  3169. regroup();
  3170. player.select.units = [];
  3171. if (player.army.v == 2) {
  3172. PPotherstage++;
  3173. }
  3174. }
  3175. if (PPotherstage == 16) {
  3176. small = player.select.units;
  3177. for (k = 0; k < My_Oibs.length; k++) {
  3178. if (My_Oibs[k].level < mainoib.level - 3) {
  3179. player.select.units = [];
  3180. player.select.units.push(My_Oibs[k]);
  3181. feed();
  3182. player.select.units = [];
  3183. }
  3184. }
  3185. player.select.units = small;
  3186. for (k = 0; k < My_Oibs.length; k++) {
  3187. if (k == 0) {
  3188. mainoib = My_Oibs[k];
  3189. } else {
  3190. if (My_Oibs[k].level > mainoib.level) {
  3191. mainoib = My_Oibs[k];
  3192. }
  3193. }
  3194. }
  3195. if (mainoib.x != 791 || mainoib.y != 4639) {
  3196. player.select.units = [];
  3197. player.select.units.push(mainoib);
  3198. FCallMovePos(791, 4639);
  3199. } else {
  3200. PPotherstage++;
  3201. }
  3202. }
  3203. if (PPotherstage == 18) {
  3204. small = player.select.units;
  3205. for (k = 0; k < My_Oibs.length; k++) {
  3206. if (My_Oibs[k].level < mainoib.level - 3) {
  3207. player.select.units = [];
  3208. player.select.units.push(My_Oibs[k]);
  3209. feed();
  3210. player.select.units = [];
  3211. }
  3212. }
  3213. player.select.units = small;
  3214. if (player.army.v >= 3) {
  3215. PPotherstage++;
  3216. }
  3217. }
  3218. if (PPotherstage == 19) {
  3219. small = player.select.units;
  3220. for (k = 0; k < My_Oibs.length; k++) {
  3221. if (My_Oibs[k].level < mainoib.level - 3) {
  3222. player.select.units = [];
  3223. player.select.units.push(My_Oibs[k]);
  3224. feed();
  3225. player.select.units = [];
  3226. }
  3227. }
  3228. player.select.units = small;
  3229. SelectOibs();
  3230. regroup();
  3231. player.select.units = [];
  3232. if (player.army.v == 2) {
  3233. PPotherstage = 0;
  3234. }
  3235. }
  3236. }
  3237. if (respawn == 1) {
  3238. if (ui.is_run == true) {
  3239. ui.is_run = false;
  3240. game.is_run = true;
  3241. connect();
  3242. }
  3243. }
  3244. if (isppbot != 1) {
  3245. if (player.can_skill_1 == true) {
  3246. abcd.postMessage(" ( BOT HEAL - Z ) ( BOT SPELL - X ) ");
  3247. } else {
  3248. abcd.postMessage(50);
  3249. }
  3250. }
  3251. player.select.split = !0;
  3252. player.select.feed = !0;
  3253. player.select.regroup = !0;
  3254. if (ring >= 1) {
  3255. if (ringmode == 0)
  3256. {
  3257. MakeRing();
  3258. }
  3259. else
  3260. {
  3261. MakeRingForEachLevel();
  3262. }
  3263. }
  3264. if (line >= 1) {
  3265. HorizLine();
  3266. }
  3267. if (fbot >= 1) {
  3268. socket().send(new Uint8Array([0]));
  3269. SelectOibs();
  3270. MoveUnits({
  3271. x: -99999,
  3272. y: 99999
  3273. });
  3274. }
  3275. if (plsm == 1) {
  3276. for (var ie = 0; ie < 5; ie++)
  3277. {
  3278. socket().send(JSON.stringify([4,AllOibs]));
  3279. }
  3280. socket().send(JSON.stringify([2,AllOibs]));
  3281. }
  3282. if (TrimOibSizes == 1) {
  3283. AdjustOibs();
  3284. }
  3285. if (seelevels >= 1) {
  3286. var n = 0;
  3287. for (n = 0; n < WorldOibs().length; n++) {
  3288. if (WorldOibs()[n] != undefined) {
  3289. WorldOibs()[n].info_delay = 0.05;
  3290. }
  3291. }
  3292. }
  3293. if (isbot == 0 && isppbot == 0) {
  3294. var k = 0;
  3295. var Enemy_Queens = new Array();
  3296. var Enemy_oibs = new Array();
  3297. var My_Oibs = new Array();
  3298. var My_Queen = new Object();
  3299. var GameOibs = WorldOibs();
  3300. for (k = 0; k < GameOibs.length; k++) {
  3301. if (GameOibs[k] != undefined) {
  3302. if (GameOibs[k].id == player.id) {
  3303. if (GameOibs[k].queen == true) {
  3304. My_Queen = GameOibs[k];
  3305. } else {
  3306. My_Oibs.push(GameOibs[k]);
  3307. }
  3308. } else {
  3309. if (GameOibs[k].queen == true) {
  3310. Enemy_Queens = GameOibs[k];
  3311. } else {
  3312. Enemy_oibs.push(GameOibs[k]);
  3313. }
  3314. }
  3315. }
  3316. }
  3317. bc.postMessage({
  3318. My_Queen1: My_Queen,
  3319. MousePos1: MousePos,
  3320. X1: player.cam.rx,
  3321. Y1: player.cam.ry,
  3322. FollowMouse: mousebot,
  3323. RingSize: ringsize,
  3324. Delay: Internet_StressBot,
  3325. Ring: ring,
  3326. botatck: botattack,
  3327. heallvl: botlvl,
  3328. friend: FriendThem,
  3329. resp: respawn,
  3330. angle: ringangle,
  3331. rspeed: ringrotatespeed,
  3332. linetoggle: line,
  3333. btfeed: botfeed,
  3334. split: mmsplit
  3335. });
  3336. }
  3337. }
  3338. function atck() {
  3339. var k = 0;
  3340. var My_Queen = new Object();
  3341. var GameOibs = WorldOibs();
  3342. for (k = 0; k < GameOibs.length; k++) {
  3343. if (GameOibs[k] != undefined) {
  3344. if (GameOibs[k].id == player.id) {
  3345. if (GameOibs[k].queen == true) {
  3346. My_Queen = GameOibs[k];
  3347. }
  3348. }
  3349. }
  3350. }
  3351. NukeLevel = Math.round((My_Queen.level / 4) + 0.499999999999999 + 2);
  3352. stopscript = 0;
  3353. if (socket() != null && socket().readyState == socket().OPEN) {
  3354. pingme();
  3355. }
  3356. if (FriendThem == 1) {
  3357. FriendBots();
  3358. }
  3359. if (player.crown == 0) {
  3360. botlvl = 60;
  3361. }
  3362. if (player.crown == 1) {
  3363. botlvl = 40;
  3364. }
  3365. if (player.crown == 2) {
  3366. botlvl = 75;
  3367. }
  3368. if (player.crown == 3) {
  3369. botlvl = 40;
  3370. }
  3371. if (player.crown == 4) {
  3372. botlvl = 40;
  3373. }
  3374. if (player.crown == 5) {
  3375. botlvl = 30;
  3376. }
  3377. if (rush >= 4) {
  3378. player.select.screen();
  3379. FCallMovePos(-4999, -4999);
  3380. connect();
  3381. }
  3382. if (rush <= 3) {
  3383. rush = 0;
  3384. }
  3385. if (isbot == 1 && isppbot == 0) {
  3386. bc.onmessage = function(ev) {
  3387. function FCallMoveOibBot() {
  3388. var X = ev.data.MousePos1.x
  3389. var Y = ev.data.MousePos1.y
  3390. var CamDiffX = player.cam.rx - ev.data.X1;
  3391. var CamDiffY = player.cam.ry - ev.data.Y1;
  3392. var PosBackUp = {
  3393. x: (X + CamDiffX).toString(),
  3394. y: (Y + CamDiffY).toString()
  3395. };
  3396. MoveUnits({
  3397. x: parseInt(PosBackUp.x, 10),
  3398. y: parseInt(PosBackUp.y, 10)
  3399. });
  3400. }
  3401. if (ev.data == "SendHealer") {
  3402. if (player.crown == 3) {
  3403. SendSkill1();
  3404. }
  3405. }
  3406. if (ev.data == "SendWitch") {
  3407. if (player.crown == 4) {
  3408. SendSkill1();
  3409. }
  3410. }
  3411. if (ev.data != "SendHealer" && ev.data != "SendWitch") {
  3412. if (ev.data.My_Queen1.life < ev.data.My_Queen1.level * (BotBotlvl / 3.5)) {
  3413. SendSkill1();
  3414. }
  3415. if (mousebot !== ev.data.FollowMouse) {
  3416. mousebot = ev.data.FollowMouse;
  3417. }
  3418. if (ringsize !== ev.data.RingSize) {
  3419. ringsize = ev.data.RingSize;
  3420. }
  3421. if (Internet_StressBot !== ev.data.Delay) {
  3422. Internet_StressBot = ev.data.Delay;
  3423. }
  3424. if (botring !== ev.data.Ring) {
  3425. botring = ev.data.Ring;
  3426. }
  3427. if (botattack !== ev.data.botatck) {
  3428. botattack = ev.data.botatck;
  3429. }
  3430. if (BotBotlvl !== ev.data.heallvl) {
  3431. BotBotlvl = ev.data.heallvl;
  3432. }
  3433. if (FriendThem !== ev.data.friend) {
  3434. FriendThem = ev.data.friend;
  3435. }
  3436. if (respawn !== ev.data.resp) {
  3437. respawn = ev.data.resp;
  3438. }
  3439. if (ringangle !== ev.data.angle) {
  3440. ringangle = ev.data.angle;
  3441. }
  3442. if (ringrotatespeed !== ev.data.rspeed) {
  3443. ringrotatespeed = ev.data.rspeed;
  3444. }
  3445. if (botfeed !== ev.data.btfeed) {
  3446. botfeed = ev.data.btfeed;
  3447. }
  3448. if (mmsplit !== ev.data.split) {
  3449. mmsplit = ev.data.split;
  3450. }
  3451. var k = 0;
  3452. var Enemy_Queens = new Array();
  3453. var Enemy_oibs = new Array();
  3454. var My_Oibs = new Array();
  3455. var My_Queen = new Object();
  3456. var GameOibs = WorldOibs();
  3457. var CmdSntBot = new Date().getTime();
  3458. for (k = 0; k < GameOibs.length; k++) {
  3459. if (GameOibs[k] != undefined) {
  3460. if (GameOibs[k].id == player.id) {
  3461. if (GameOibs[k].queen == true) {
  3462. My_Queen = GameOibs[k];
  3463. } else {
  3464. My_Oibs.push(GameOibs[k]);
  3465. }
  3466. } else {
  3467. if (GameOibs[k].queen == true) {
  3468. Enemy_Queens = GameOibs[k];
  3469. } else {
  3470. Enemy_oibs.push(GameOibs[k]);
  3471. }
  3472. }
  3473. }
  3474. }
  3475. if (Internet_StressBot < CmdSntBot - LastCommandSentBot) {
  3476. LastCommandSentBot = new Date().getTime();
  3477. if (My_Queen.level < 6) {
  3478. socket().send(new Uint8Array([0]));
  3479. SelectOibs();
  3480. feed();
  3481. SelectQueen();
  3482. player.focus_selected();
  3483. FCallMoveOib(ev.data.My_Queen1);
  3484. } else {
  3485. if (My_Queen.life < My_Queen.level * botlvl || botfeed == 1) {
  3486. socket().send(new Uint8Array([0]));
  3487. SelectOibs();
  3488. split();
  3489. SelectOibs();
  3490. feed();
  3491. SelectQueen();
  3492. player.focus_selected();
  3493. FCallMoveOib(ev.data.My_Queen1);
  3494. } else {
  3495. if (mousebot == 1) {
  3496. socket().send(new Uint8Array([0]));
  3497. if (mmsplit == 1) {
  3498. SelectOibs();
  3499. split();
  3500. }
  3501. for (k = 0; k < My_Oibs.length; k++) {
  3502. player.select.units = [];
  3503. player.select.units.push(My_Oibs[k]);
  3504. FCallMoveOibBot(ev.data.MousePos1);
  3505. }
  3506. } else {
  3507. if (botattack == 1) {
  3508. socket().send(new Uint8Array([0]));
  3509. player.select.units = [];
  3510. BotAttack();
  3511. player.select.units = [];
  3512. } else {
  3513. if (botring == 1) {
  3514. MakeRingBot(ev.data.My_Queen1);
  3515. }
  3516. }
  3517. }
  3518. SelectQueen();
  3519. player.focus_selected();
  3520. FCallMoveOib(ev.data.My_Queen1);
  3521. }
  3522. }
  3523. }
  3524. }
  3525. };
  3526. abcd.onmessage = undefined;
  3527. } else {
  3528. if (isppbot == 0) {
  3529. bc.onmessage = undefined;
  3530. abcd.onmessage = function(evv) {
  3531. player.army.m = evv.data
  3532. };
  3533. }
  3534. }
  3535. if (ppmain == 1 || isppbot == 0) {
  3536. pp.onmessage = undefined;
  3537. } else {
  3538. pp.onmessage = function(pp1) {
  3539. if (pp1.data.stage >= 0 && isppbot == 1) {
  3540. PPotherstage = pp1.data.stage;
  3541. }
  3542. }
  3543. }
  3544. }
  3545. })();